6800/6820 Address decoding help...
derschjo at mail.msu.edu
Fri Mar 6 21:57:05 CST 2009
So I've given myself yet another project to fill my ever-lessening free
time with: to write a Tek 4051 emulator. I have the ROMs (thanks again,
Axel) and I've coded up a nice quick 'n dirty 6800 emulation. Now I'm
working on figuring out how the CPU talks to the hardware... I have at
my disposal the service manuals and a disassembly of the aforementioned
ROMs. I also have a physical Tek 4051, but I'm loathe to start poking
the PIAs without knowing what I'm doing, given that the screen's
electron beam is directly controlled by the software, it's more than
possible to burn a nice hole in the phosphor if I screw up :).
The CPU talks to a set of 6820 PIAs, and from there it's fairly easy to
figure out what bits hook up to what devices, given the schematics (and
only slightly harder to work out how they need to be manipulated, by
reverse-engineering the disassembly) but I'm having a heck of a time
working out what addresses the PIAs' inputs & outputs are mapped to in
the CPU's address space.
The Service Manual gives a tantalizingly small amount of information
about this in Vol. 1 -- it actually has a table of addresses but is very
vague -- for example, I now know that addresses $878C-$878F are "Y-AXIS
DA/TAPE" but I don't know which ones are for which, nor do I know
whether they're input/output/both, etc... looking at where these
addresses show up in the disassembly makes a few things clearer, but is
So it seems obvious that the actual schematics would come to my rescue
here... but I'm unable to decipher them to the point where I can
determine how the PIAs are actually addressed by the CPU. I chalk this
up to my lack of experience in digital logic & schematic reading.
I guess what I'm asking: can someone out there help me work this out
(or give me some pointers on how to attack this?). I want to learn how
to do this and I need a bit of assistance... The 4051 schematics are on
bitsavers (yay) at:
For now, I want to concentrate on working out the display controls...
the related schematic pages for these are:
4_02-03 (cpu), 4_02-10 (x d/a) and 4_02-11 (y d/a).
Thanks for any advice...
More information about the cctalk