System Design Overview

There are many designs of small 8-bit computers on the web that are based around a single pcb or compact design. While a single self contained board looks really cool and trendy, I don't think it gives you the flexibility to upgrade or change if you decide to try a new idea or add extra functionality.

The goal of the Whizz80 is to allow the design to grow and expand as you develop it. It should be an iterative process as you learn. I am deciding to use a modular approach and have divided up the computer into 2 distinct modules. The System Core and the I/O core.

graph LR; SYSCORE(System
Core) --- BRIDGE((I/O
Bridge)) BRIDGE --- IOCORE(I/O
Core) style SYSCORE stroke:#333; style BRIDGE fill:#fff,stroke-dasharray: 5, 5;; style IOCORE stroke:#333;

The 2 cores are connected to each other via an I/O Bridge. You can run the Whizz80 without the I/O Core, but it wouldn't be a very exciting computer. The only way to interface with it without an I/O Core would be probing it with an external tool such as a logic probe, multimeter or oscilloscope).

System Specifications

Clock Speed

There will be 3 different settings for setting the clock speed of the Whizz80. The different clock speeds are to aid in debugging and learning how the computer works as it steps though the programs in memory.

  1. Manual
  2. 2 Hz
  3. 1 Mhz


In order to keep the memory interfacing circuits simple, the memory of the computer is split into 2 even sizes.

  • 32 Kb ROM
  • 32 Kb RAM

Input/Output devices

There are many possible devices that can be interfaces with the Whizz80. Here are some examples

  • Keyboard input
  • LCD (16x2) screen output
  • Digital I/O
  • Parallel port
  • Serial port
  • Storage (SD card? or Compact Flash adapter)
  • IDE Hard disk