Warning: This site is under construction, most links will be broken.

Electronics -> The Z80 project

Last modified on Wed, 16th Apr 2008 at 14:41 BST by zipplet

bbcode image
Click to enlarge

Latest updates


Wednesday, 16th April 2008 - I've been very busy with work and life hence the lack of progress. Anyway, I've found out that I can use the Parallel Slave Port in the 16F877A to easily interface the supervisor to the Z80 I/O bus. This greatly simplifies design, improves speed and frees up 8255A pins.
Monday, 7th April 2008 - Swapping chips to test a single opcode change in the BIOS is beginning to get on my nerves so I am looking into making a simple EPROM emulator I can leave plugged into the Z80 board. This way I can upload and test a code change pretty much instantly, without almost snapping a pin on a £10 part! Update: I've decided to instead for now build a small bus interface card that will plug into one of the expansion sockets and allow a PC to read and write to the address bus on demand. I've tidied up the BIOS code and gotten it to partially complete POST - tomorrows task is to start work on the supervisor PIC.
Saturday, 5th April 2008 - I've been busy but tonight I am going to get that second SRAM socket working. Also I found a nicer assembler which I am now using.
Wednesday, 2nd April 2008 - Motherboard working! I've soldered down enough for the LCD display to work again. I need to solder up the second RAM socket and then look at some way of adding input.
Monday, 31st March 2008 - I've laid out the motherboard, soldered down the connectors and IC sockets, and prepared it for populating. Soon I should have a working motherboard for this system with expansion card sockets! Also, today my Z80 CTCs arrived, another crucial component of my system which will generate interrupts on a timer for multitasking. The current motherboard design has 2 expansion card ports, adding more is impractical right now. I've left an empty space so I can incorporate the supervisor PIC + Z80 CTC directly onto the motherboard later.
Saturday, 29th March 2008 - On the picture above you can see a nice 20x4 HD77480 LCD being driven by the hardware. Nice isn't it?
Friday, 28th March 2008 late night update - I got the 8255A PIO chip working successfully!
Friday, 28th March 2008 - Today I got a basic system working on breadboard, with a simple 8-bit parallel port connected to LEDs. Video -> http://uk.youtube.com/watch?v=wntSq63LX48 - in this video I give a brief overview of the core of the system.

Documentation


I aim to eventually provide enough documentation for someone else to be able to build a compatible clone of my system for fun or to learn how such a system works. Later on I'll have fancy circuit schematics and firmware downloads.

What is it?


The Z80 project is something I've wanted to do for a long time - build a complete microcomputer system from parts.

At the moment the specs will be:

Addon cards I intend to make:

I've ordered some variable frequency oscillator modules so I can use a rotary switch to set a range of CPU clock speeds. There will be a row of LEDs used to show bus status on the front panel, like those old Altair computers.

The Zipplet80 OS


A small OS called Zipplet80 will run on this machine. It will provide very primitive semi-preemptive multitasking. Multiple programs may be loaded into memory at once and interrupts will be used to switch between them.

A few things I need to implement:

More pictures in roughly chronical order


bbcode image
Click to enlarge
This is the first breadboard version you can see in my first youtube video.

bbcode image
Click to enlarge
LCD display working! Still on breadboard.

bbcode image
Click to enlarge
Initial prototyping of the first motherboard layout.

bbcode image
Click to enlarge
Yay, it lives! At this point I still need to wire up the second SRAM socket. This is a lot more stable than the breadboard version and of a much better design with pullup resistors in the right places and more capacitors added for filtering.