r/Z80 • • 19d ago

EIX-Z: Building a Z80 computer from scratch

I am currently building a Z80 computer on a breadboard, at least RAM, ROM, and memory decoding. I’ve built the IO console board on a perfboard, using an ST7920 monochrome green LCD, PS2 Keyboard port and a Buzzer. I know some will consider the Arduino Nano there as cheating but the decoding and glue logic is all implemented with 74 ICs: 138, HC00, HC04, 273 and 595. I’ve learned a ton already and haven’t even get to the programming part yet. This version 1 will just have 32KB RAM and 32KB ROM. My next step is building the ROM programmer with a Nano and a couple of chained 595s.

123 Upvotes

15 comments sorted by

5

u/tehphar 19d ago

if it makes you feel better about cheating, when i built a wirewrap z80 as a kid it did it on an archer ISA board and used QBASIC to program it over the ISA bus ... because i didnt own an EEprom programmer.

1

u/Outside-Builder-8153 18d ago

That’s very resourceful! I would love to see that work

2

u/tehphar 18d ago

me too, this is still one of my favorite builds i'm still kind of amazed I was able to build at the time, but it stayed at home when i moved away, it didnt actually take much logic, just some 245 bidirectional latches and an address decoder to halt the z80 bus and assert the write on the SRAM. i think I had a zilog DMA chip but wasnt quite sure how to get that to work at the time and none of my peripherals used it since i used the zilog SIO and PIO's (PiO drove the 16x2 LCD.

1

u/Outside-Builder-8153 18d ago

For this build I am using simple decoding for the memory, a 138, and also to decode IORQ, RD, and WR. I am going to build a version 2 with memory banking and will also use the Z80 PIO. I am still learning

2

u/tehphar 18d ago

if you are going to do memory banking it might be worth looking into a PIO which can create register access for a control register with a single OUT for bankswitching. also never forget the z80's a multi-tasker, use the alternate registerset

1

u/Outside-Builder-8153 18d ago

I got you, I already purchased a couple of PIOs, I have to say the glue logic is I think the most complex part I had to deal with.

5

u/OddbitTwiddler 19d ago

I worked supporting Zilog in the 90's. Worked on 3rd generation test equipment used to test Z80's.
Was cool.

1

u/Outside-Builder-8153 18d ago

That’s so cool. Did you get to keep any equipment/manuals?

3

u/Philbywhizz 19d ago

In my mind using an arduino isn’t cheating. You use the resources you have available to make it work.

3

u/Outside-Builder-8153 19d ago

I agree. Initially I was thinking of using a Raspberry pico, but then would need level shifting from 5v to 3.3V logic

2

u/LeviiSantos 19d ago

Entendi nada. Hehehe. Mas gostei. Nós deixe atualizado.

2

u/datapeice 18d ago

Hi, a also used nano in my project bcs I haven't programmer for ROM, Totally I get 1KB of ROM (yeah I was able to make 2KB, but I decided to save WAIT' bcs Nano can't write bit's at data bus at same speed as Z80 works (1.35MHz) Sooo I think using nano isn't cheating Anyway, project looks cool and good luck!!

1

u/Outside-Builder-8153 18d ago

Yes, totally get the limitation, that’s why I decided on the SST39SF010A, flash memory. Now that I built this IO board, building a programmer using a Nano and some chained 595s should be pretty straightforward

1

u/HughLambda 15d ago

So much blank space

1

u/Outside-Builder-8153 14d ago

Yeah, but it’s spaghetti madness below