Homebrew 8-bit micro-computer project

Z80 micro-computer

Contents

About

This is a rudimentary 8-bit micro-computer, based on the Zilog Z80 processor. It has a single 16kb EEPROM chip, and an extremely simple output device which latches and shows the contents of the data bus, when the CPU executes an OUT instruction to any I/O address.

The nice thing about such a simple computer, is that it can demonstrate the way a computer operates very clearly. You can step the clock manually with the big button, to watch step-by-step as each instruction is fetched and executed.

In fact you can watch a video where I'm manually stepping the clock, while explaining step-by-step the execution of this very simple program:

org $0
        ld a, 1
loop:   out (255), a
        rlca
        jr loop

There's also a followup video, where I added a proper running clock, and a slightly more interesting program:

org $0
        ld a, 1
left:   out (255), a
        rlca
        cp 128
        jr z, right
        jr left
right:  out (255), a
        rrca
        cp 1
        jr z, left
        jr right

More photographs of the PCB construction process. This was the first time I used the UV-sensitive board method, and also the first time I tried applying solder-mask (also UV-curable). The result is not perfect, but I think it looks cool.

License

Copyright (C) 2016 John Tsiombikas.
Feel free to use anything from this project, under the terms of the Creative Commons Attribution-ShareAlike license.

Schematic and Source files

schematic diagram

Eagle source files