On Sun, 29 Dec 2002, Tony Duell wrote:
If oyu designed/built it, then it almost certainly
used standard chips.
In which case it would be possible to reverse-engineer it in a couple of
hours at most. Probably less time than it would take to find the notes.
It's actually two chips: the 6522 and an 7473 that is either used to map
the addressing of the timers and registers into the Apple's memory bus or
to invert one of the Apple's clock signals to be compatible with the 6522
(I can't remember for sure...maybe it does both).
My experience is that if you designed something you
never really forget
what you did. So you'll find all the tricks come back to you as you start
looking at the circuitry.
I didn't design it. I just built it from plans :(
If you've got 2 16 bit ports + a 4 bit port you
must have 2 6522s (for
the 32 data lines). The 4 bits could be some combination of the CA and CB
lines of the VIAs (4 lines per chip).
No, two 16-bit timers/registers and two 8-bit ports, plus the CA and CB
lines (2 bits each).
It sounds like you really need a 6522 data sheet
and/or the Beeb Advanced
User Guide (which has a fair amount of 6522 programming info in it.
I have a data sheet. I just haven't had a chance to study it yet.
A single 6522 takes up 16 bytes. If it's wired
conventionally, the
registers are :
0 : Port B (Write : output register, Read : Input register)
1 : Port A
2 : Direction Register B
3 : Direction Register A
4 : T1 low counter byte (timer)
5 : T1 high counter byte
6 : T1 latch low byte
7 : T1 latch high byte
8 : T2 low byte
9 : T2 high byte
10 : Shift register
11 : Aux control register
12 : Peripehral control register
13 : Interrupt flag register
14 : Interrupt enable register
15 : Port A (but with no handshake)
That looks very close to what I know I have, and being that the board was
designed by a student of the same class a few years before I took it, I
would imagine it is probably wired "conventionally".
Thanks for that!
Most likely you had interrupts enabled, the 6522
generated an interrupt,
and the Apple wwnt off to never-never land because the interrupt vector
didn't point anywhere sane.
At the time I was probing a ground pin in Slot 1 but I don't think I did
anything to reset the machine. I could swear a RESET was generated
because it spontaneously reset. Whatever.
Err, some of those keyboard lines (I forget if
it's the X or Y signals)
are _outputs_. The keyboard encoder chip scans them -- asserts them one
at a time -- and looks for a signal on the other set of lines. If it
finds one, then it knows that a key has been pressed, connecting one X
line to one Y line.
Oh.
(Shucks.)
The keyboard also can't sent more than 128
different characters to the
Apple (it's read in on a 7 bit port -- the 8th bit is the keyboard strobe
line, indicating that a key has been pressed). If you really want to use
the keyboard port for a reader input, then you're better off attacking it
at this interface -- the cable between the keyboard assembly and the CPU
board.
Oh, well that's what I was considering doing. At that point it's a TTL
parallel input, correct?
It's true for 'normal' characters. It
breaks for many punctuation and
special symbols, and it breaks bigtime for binary cards (where any
combination of holes -- including all holes -- is possible).
Yes, but for run of the mill cards it would work pretty well. The problem
with the 6522 is the kludge connector I've made up. I have to come up
with something more elegant (and permanent).
Sellam Ismail Vintage Computer Festival
------------------------------------------------------------------------------
International Man of Intrigue and Danger
http://www.vintage.org
* Old computing resources for business and academia at
www.VintageTech.com *