If you’ve been following along so far, then you’ve built yourself a Zilog Z8000 Modular Computer that you can access from a serial connection… or maybe you can even access it over Wifi. But, what if you want a fully standalone computer? One with its own monitor and keyboard? Just like a C64 or a Coco? Well, then you want a video and keyboard board.
It does three things:
- Using a TMS9918 IC, provides composite video with 40 columns and 24 rows. Doesn’t sound like much? Well a lot of your old vintage computers used to do exactly that. You’d program your computer on your TV set. Don’t scoff at 40 columns, and don’t fret, I’ll be adding an 80-column board soon enough. The display is monochrome, though you can choose the foreground and background colors.
- Using the Zilog Z8536 CIO, interfaces to a matrix keyboard. A matrix keyboard is typically one that has IO pins connected to rows and columns. The computer pulls down one of the rows, and then sees which columns get pulled down because your finger is holding down a keyswitch. This is not a PS2 keyboard. I didn’t want it to be a PS2 keyboard. PS2 keyboards are for newer vintage computers than this one. Compatible keyboards include the RC2104 mini keyboard and Sergey Kiselev’s MSX “Omega” keyboard.
- Timekeeping using the very same Z8536 CIO. The CIO is both parallel IO and a counter/timer. The timer is necessary to trigger an interrupt to poll the keyboard, but we can also count those ticks and use it to do rudimentary timekeeping. It’s about as accurate as an old IBM 5150 without a realtime clock board. The timekeeping can be used to measure uptime, or to run benchmarks.
You know the drill, schematic is below:
- JP1: Set to pins 1-2. This will use the onboard crystal.
- JP2: Set to pins 2-3. This uses the chip select from the CPU board. This is necessary because interrupt acknowledgements are cooked into this CS as the CIO expects a read cycle to occur during intack.
Bill of Materials (BOM)
It’s not a joke. I really do intend to go back some day and fill these BOMs out.
- Github link to the PLD
- The gerbers aren’t up yet