I bought a bunch of Z80 parts on ebay for cheap ($10 plus shipping). The parts came on a PCB which had not yet been flow soldered. From the date codes of the parts it looks like it was stuffed sometime around 1999. All I had to do was straighten some pins which were bent over to hold the parts in.
Here's the parts pulled from the card.
The parts included:
- (1) Z80 CPU @ 6 MHz
- (2) 32KB SRAMs
- (2) Z8420 Parallel I/O (PIO)
- (1) Z8430 Counter Timer Chip (CTS)
- (1) Z8470 Dual UART (DART)
The parts are all 6 MHz rated.
The only thing that is missing is an EPROM and glue logic. I will use an EEPROM so that it can be updated easily.
I want to build a retro Z80 CPU using these parts. I've already done a bunch of retro CPUs using the venerable Multicomp project by Grant Searle inside an FPGA. But I'm itching to build the "real thing" with these discrete parts.
Searching for 5V Glue Logic
I need glue logic to hook the parts up together. There are few options available nowadays for 5V glue logic. Nearly everything "out there" runs off 3.3V. Sure I could throw down a bunch of 74LSXX gates and that would work just fine. But I've gotten used to the flexibility that comes with programmable logic and I don't want a bunch of configuration jumpers. And I'm not yet sure what software I want to run so figuring out the details of the Peripheral Memory map would be a pain at the start. Plus, the ability to switch out the EPROM and run out of SRAM will introduce another bit of logic.
Picking the Glue Logic
I've done a few projects before using the Cypress Semiconductor PSoC5LP. It's a handy 32-bit ARM CPU that is not too expensive (under $10 in qty 1 pricing). It comes in a 100 pin TQFP which isn't too hard to solder (I have to use a microscope). And it runs at 5V with plenty of I/O.
But, why use a PSoC as "glue" logic?
Because the PSoC is an odd beast. It combines an ARM CPU and a programmable logic area. Sure there's FPGAs out there with ARM cores. But this is different. It's more of an ARM CPU with programmable logic than a big and expensive FPGA which also has an ARM core.
The logic area on the part isn't too big. But it isn't too small either. It should be big enough to hold the glue logic for a Z80 microcomputer. Having an ARM core inside the part is just a nice bonus. Never mind the fact that the ARM core is much more powerful than the Z80. This is about retrocomputing but there's no reason the glue logic can't be re-imagined for the 21st century.
Programming the PSoC
The programmer for the PSoC is really cheap in the form of a $15 development board which has the USB - SWD programmer and a sample target design. The programmer/dev board is part number CY8CKIT-059 and is available on Mouser. Here's the programmer itself. It only requires a 4 pin header to program the PSOC. Unless you are right next to your USB hub you'll also need a USB A:A male-female cable to get to it.
Pretty simple to use. It requires installation of the PSOC Creator but the programming is all in C/C++ so it's pretty standard stuff. Plus, there's a nice schematic editor for the glue logic part....Read more »