Here is the first Z80 circuit I have ever built.
Plugged to the breadboard is the Z80 module with oscillator and reset
button. This module has all the pins of the Z80. I arranged all the
pins in a way that it will ease breadboarding. For example all the data
and address pins are side by side and in order.
The big board in the middle of the photo is the memory board. The 8
switches at the bottom of the board are used to program the RAM in binary,
but are not used since I added the keyboard. The keyboard is also obsolete
now because I am using the EPROM programmer (the board beside the computer
case) to program the RAM.
When I built this circuit I did not have a
computer and did not have access to an assembler. When I wrote I program,
I would first look up the hex equivalent of the Z80 opcodes to generate
the binary listing of the program. Then I would program the RAM byte
by byte in binary using 8 data switches. Debugging and changing the
code was difficult because it usually required that I rewrite the hex
listing from scratch.
Today I own a PC, and still use this circuit.
Loading my code to the RAM of the Z80 is a matter of seconds...
Actually, my school project
was the same circuit. The main difference is that it is built on a PCB
and the obsolete parts (12 bit programmable counter, keyboard and a
bunch of switches) of this circuit are omitted.