Whizz-80 computer

The Whizz-80 is a z80 based computer built from scratch running a Forth like operating system.

Similar projects worth following
The Whizz80 is a z80 based computer built from scratch running a Forth like operating system. The goal is to have a complete stand alone computer (with its own input/output devices, not relying on a tether from another computer like a serial connection).

This is quite an ambitious project, and I suspect it will take me some time to do (and I may not even complete it).

Right now I'm just playing with the hardware working out and trying different ideas.

These are very rough notes, as I'm building and experimenting with it as I go.

  • Based off a z-80 CPU.
  • To keep it simple with the logic on the selection of memory chips, I am using 32Kb of ROM (overkill) and 32Kb of RAM
  • Needs to be self-contained (its own keyboard and screen, not relying on an external computer).

Rather than building a 'single board' computer, I'm planning on it being very modular, allowing me to swap different components out as I see fit when I come up with an improved design.

  • 1 × MCO-1510A Crystal (1 Mhz)
  • 1 × Stripboard and Protoboard Different shapes and cut to size. The important sizing is the system board, which is 35 strips wide for the buses
  • 1 × Pin Headers Male and Female headers are used to connect the different boards together

  • 32Kb ROM Module

    Phil Howlett04/10/2016 at 03:16 0 comments

    I've created the ROM module. This one is very simple, mapping the data lines and the address lines to their corresponding locations on the bus.

    I wired A15 to the /OE on the ROM (this enables the chip for address 0x0000-0x7FFF).

    I've also have a 74LS32 for an OR gate for the /RD and /MREQ signals. It is a bit of a waste using an entire IC for a single gate, but I'm not building the Whizz-80 for optimisation :)

    To test that it works, I programmed a simple 0x76 at location 0x0000 on the EEPROM, which is a simple HALT instruction. As you can see from the above photo, the HALT LED lights up when you first power up the computer. Changing the entire EEPROM to 0x00 causes it to fire off NOP instructions and the address bus counts up as before (until 0x7FFF then it goes crazy - as expected as there is no device at that memory location)

  • Whizz-80 CPU board done.

    Phil Howlett04/03/2016 at 10:24 0 comments

    Today's efforts was to complete the CPU module.

    This module connects the CPU to the system bus. I have an LED to display a HALT signal (planning on using this for debugging), as well as some extra headers (/M1 and /WAIT) so I can expand out to a single instruction stepper (to be done at a later date, still finalising the design on that one).

    This is a simple board. Pins /RESET, /INT and /WAIT high with 10k pull-ups. REFRESH and BUSACK are n/c, the rest are simply connected to the main bus pins.

    There are currently no formal schematics done yet. It is easier for me to just scribble out a design on an A4 sheet of paper. Its quicker then spending hours trying to make it look pretty in a CAD program

    The Whizz-80 now consists of the "CPU module" and the "Clock module". I think the next step is a simple 'test' card which ties all the data pins low (00 NOP instruction) and some LEDs on the address bus to see that it is counting up correctly... but that is for another day...

  • 1Mhz Clock module

    Phil Howlett03/27/2016 at 11:01 0 comments

    Today I've been working on the clock module. It isn't anything special, just a MCO-1510A crystal (1 MHz).

    While this is such a simple module, it shows the flexibility of swapping it out with a faster or slower clock without having to do any re-wiring.

View all 3 project logs

Enjoy this project?



Hacker404 wrote 04/23/2016 at 21:48 point

Love it!!!

Want some memory mapped video out (VGA / Composite) ? Text / Graphics ? 

Have a look at some of my projects that are related. 

If you're interested then I can make the video and post it to you (based on cheep CPLD). I would suggest VGA. You can get small 7" VGA screens now. 

Of course the other good alternative is a LCD screen. 

Another video option is a GameDuino. I want to convert it to parallel instead of SPI but the code is on Verilog and I only do VHDL so far.

This would be so easy and fun to duplicate - I can buy Vero at a local store and I have plenty of connectors buy I don't have small 32kB SRAM/FLASH - smallest I have is 128kB.

I will do some updates on my projects today.

  Are you sure? yes | no

matseng wrote 03/27/2016 at 13:14 point

That is a kinda good idea. And it looks cool at the same time. But are you using a double sided plates holes veroboard? It looks like you have painted the copper strips...

  Are you sure? yes | no

Phil Howlett wrote 03/28/2016 at 00:12 point

It is a single sided 'stripboard' (with a silk screen on the top side matching the copper).

  Are you sure? yes | no

matseng wrote 03/27/2016 at 11:27 point

Did you paint the veroboard yourself or did it come colorful like that? ;-)

  Are you sure? yes | no

Phil Howlett wrote 03/27/2016 at 11:47 point

I coloured it in with some textas and highlighters. I needed a quick reference as to what was an address line, and what was a data line, etc. I've even kept the wire colour scheme with the other wiring.

  Are you sure? yes | no

Similar Projects

Does this project spark your interest?

Become a member to follow this project and never miss any updates