Z80 Project


Last updated: June 26, 2007, 10:07 p.m.

After many weeks developing ideas about this project without any materials to practically build it with (while I was at Uni). I dreamed up all manner of insane and complicated schemes. Now that I look at the practicalities of actually producing something, it has become clear that many of my ideas were impractical.

With some practical experimentation and a bit of real basic design, the system has been simplified significantly. I have dropped the idea of a 20bit address space for now, and decided that trying to make the whole system suitable for processor upgrade is a waste of time and resources. I also had been intending to make the system with separate I/O expansion bus, mother board, memory slots etc. which, again, I have decided is a waste of time and resources.The system which is now a considerable way through construction is based on some sheets of tripad board I got from Maplin at a very reasonable price. These are ideal for building systems like this with many DIP ICs with mainly only one connection per leg. I also got hold of some SIL strip that they were chucking out at my Dad's work, these are long turned pin Single In Line sockets, I'm using them cut down as IC holders for all the chips on the boards, as well as not cut down for the main system bus which runs from board to board carrying address, data and control buses.

The core system consists of a CPU board with the CPU, bus buffering ICs, clock generation circuit and two 4 to 16 line decoders which provide 16 individual port select signals from the I/O bus signals, and a further 15 port group select signals. Next is the memory board, this has a total of 64K of non-volatile FRAM for main memory as well as a write protected 8K FRAM switch able in or out which serves as a BIOS and boat-loader chip. There is also provision for an automatic external stack system on this board, but that's more detail than I want to go into now. The final board in the core system has an IDE interface and a PIC based PS/2 keyboard controller that's intended to both buffer key-strokes, convert scan codes to ascii and drive CPU interrupts if required.For testing, I'm planning on attaching my USBMOD2 to one of the I/O ports of the system. As this runs as a virtual com-port I can run a simple ascii terminal to emulate a character based display system. I plan to later replace this arrangement with a graphics card.

Z80 Project


Posting comments is not currently possible. If you want to discuss this article you can reach me on twitter or via email.


Email: nathan@nathandumont.com

Twitter: @hairymnstr