Wednesday, February 4, 2015

Z80 Computer - Bus Buffering Rev 1

The original draft (and parts order) of my Z80 machine had a buffering scheme largely borrowed from the ZAP machine, described in Build Your Own Z80 Computer by Steve Ciarcia.  It consisted of three 74367 6-Bit Non-Inverting Drivers, and two Intel 8212 8-Bit Input/Output Ports*.

The 74367 chips acted as the address bus buffer, leaving 1/3 of one of the chips unused.  The 8212 ports were wired back to back, using BUSAK to disable the address bus drivers, and RD to switch between the Input configured 8212 and the output configured 8212.

Once I got to building the circuit on the breadboard in anticipation of my initial LED test, I started to realize that my chip count was going to be very high, and there was a LOT of wiring involved in the buffering alone.

I took a step back from the project for a bit, and browsed around Digikey and Jameco, read a few datasheets, and I'm thinking that using a pair of 74LS541 Octal Tri-State Line Drivers for the address bus and a 74LS245 Octal Tri-State Transceiver for the data bus might be the way to go.  It certainly simplifies the wiring and lowers the chip count.




* The 74412 appears to be pin compatible with the 8212.  I have not evaluated the datasheets of both parts to know whether the 74412 can be a direct replacement or not, but I did use it rather than create a new library footprint in Eagle.  Check the datasheet before using the 74412.