6800/6820 Address decoding help...

Josh Dersch 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 
not enough.

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:

http://www.bitsavers.org/pdf/tektronix/405x/070-2286-00_4051_Service_Vol2_May77.pdf

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...
Josh





More information about the cctalk mailing list