
The TRS-20 - a homebrew Z80 machine
My first computer was a TRS-80 Model I, a device that was first sold before I was born. Some time after I was born, I got my hands on one, starting my 30-odd year journey in computing.
For the sake of nostalgia, I’m embarking on a journey to build a homebrew Z80-based machine, loosely based on the TRS-80 Model I. The build will take place in 2020, and so the machine will be called the TRS-20.
The Model I is not a particularly high bar to reach, these days. It had 4KB of memory, a cassette drive for storage, and a monochrome video display capable of 64 characters over 16 rows - selected to fill exactly 1024 bytes of video memory. In graphics mode, each character cell becomes a 2x3 grid of addressable pixels. My Model I was a low-end model, with no expansions of note. Wikipedia can provide a thorough background on the original compter.

The basics of my computer are set by my inspiration: I’ll be using a processor from the Z80 family, it will have RAM and ROM occupying the same 64K space, and peripherals will mostly also steal a bit of memory space instead of using the Z80’s (originally absurdly limited) I/O space.
I will use a Z180 processor, most likely the Z8S180. This is not perfectly compatible with the original Z80, though I anticipate being able to manage the incompatibilities in the glue logic for the sake of running original TRS-80 software.
I will need to design a series of boards, roughly broken down along these lines:
- A motherboard or CPU board.
- A ROM and RAM board.
- An I/O board for USB keyboard input.
- A video display board for VGA or HDMI output.
- Development and debugging
- External storage
The constraints on the system are a total budget target of AUD400, the use of the free edition of Eagle PCB software, and only parts I can solder with a reasonable extrapolation of my current abilities. These constraints limit me to a maximum board size of 100x100mm, to through-hole and the larger SMD parts where all solder surfaces are accessible to an iron, and to avoiding the need for costly new tools.
The first round of spending will largely be experimental - DIP adapter boards to try my hand at soldering TSSOP logic chips and TSOP SRAM chips, an STM32F401 to try as a USB Host for keyboard input, and a now quite aged Altera EPM7128S CPLD chip for video signal generation. Adding in a 20x4 character LED board for debug output takes me up to around $50, an eighth of my budget spent without any actual board progress, so I’ll round the spend up to $50 with a cheap Z8018010VSC processor, a 10MHz Z180 in a PLCC68 package, because mounting my CPU in a socket feels like a good plan.
Item | Price | Purpose |
---|---|---|
Z8018010SVC | $2.46 | Low-cost PLCC68 Z180 processor for initial prototyping |
USB Blaster | $4.29 | Altera CPLD/FPGA programmer |
PLCC sockets | $5.51 | 5 each of PLCC68 and PLCC84 through-hole sockets |
PLCC IC tool | $1.17 | Tool for yanking PLCC chips out of sockets |
STM32F401 | $5.00 | STM32F401CCU6 development board, for USB host trials |
20x4 LCD, I²C adapter, acrylic case | $9.02 | Display for debug output |
TSSOP and TSOP adapters | $10.38 | 10xTSSOP-24 and 5xTSOP56 adapters for soldering trials |
Pin headers | $11.19 | Pin headers, whose purpose is the subject of the next post |
STM32F03, EPM7128S | $3.61 | TSSOP MCU for soldering, PLCC84 CPLD for trials |
There was a discount of $4.44 applied this order, bringing the total down to under $50. This order alone doesn’t give me any single workable item: I will see if I can make my cheap STM32F03 (50c!) function as a driver for the debug LCD display, and begin putting together what I’ll need to drive the processor with data lines tied to run a NOP through the address space. With 30 to 50 days delivery on most of the above, I’ve now got plenty of lead time to prepare.
Below is my project status update table. Each component gains a bar of progress meter for having a rough design, a proof of concept, a completed design, all parts ready, and a working board. Components may backslide if the produced board has enough flaws to send me back to the design or experimental stage. I am using box drawing characters in preparation for my return the glory that is a TRS-80’s graphics system.
Budget | CPU | Power | Keyboard | Video | Memory | Debug |
---|---|---|---|---|---|---|
$48.19 of $400 | █─── | ──── | ──── | ──── | ──── | █─── |