8-bit retro goodness implemented with CMOS on a mixture of breadboard and prototype PCB.

This project is designed to implement a fully functioning 8-bit computer using specs relatively close to what the minicomputers of the 1970s home computing revolution used. Static RAM is used instead of dynamically refreshed RAM, which would have been more historically accurate. The EEPROM used is much more advanced than what would have been available at the time. In addition, Arduinos and other modern devices are used to support the homebrew computer, provide clock signals, monitor address and data bus activity, monitor CPU activity, and to flash the EEPROM with the bootloader, ASM code, or any other data that needs to be given to the Z80.

The memory-mapped UART module may not be included in the final build, as the 6850/68B50 ACIA is extremely hard to find online.

Given the lack of a proper UART, I will probably not be running Grant Searle's full Microsoft Basic, as that requires a fully functioning serial terminal connection. The primary use case for this computer will probably be running simple assembly programs, and showing the bus activity and CPU activity.

Specs:

  • Zilog Z80 with variable clock, either powered from a discrete 555 timer circuit or from the Arduino helper unit
  • 32K Static RAM
  • 8K EEPROM
  • 8-bit omnidirectional data bus, full 16-bit memory address space
  • Full data and address bus monitoring, either with basic LEDs or monitored by the helper Arduino

Challenges:

  • Never designed PCBs before
  • Breadboards introduce signal noise, dirty rise/fall transitions, etc
  • Monitoring circuit: too many lines, need demultiplexer/encoder for Arduino
    • Perhaps use Raspberry Pi for more GPIO?

Custom EEPROM flasher powered by Arduino Nano, with a custom PCB.


            

References:

http://searle.hostei.com/grant/z80/SimpleZ80.html - Schematic for Z80-powered system. His site includes full ROM files for an interrupt-powered bootloader and BASIC, but I probably won't use these files as I will probably not use a full serial terminal interface.



Flasher schematic:

Flasher trace layout:

Z80 breadboard layout, no serial connection

Attachments:

flasherSchematic.PNG (image/png)
flasherTraces.PNG (image/png)
IMG_20170929_173328.jpg (image/jpeg)
Untitled Diagram.jpg (image/jpeg)