Z80 Project Homepage

Photo of the Z80 system

After several years' worth of interruptions and procrastination, the homebrew computer project has finally become a reality. Now on the forth revision of the design, the system actually works! As this page seems to be getting its fair share of traffic lately, I'm trying to keep it reasonably up-to-date. I've also published all of the Z80 project's source code in my online source code repisitory. However, don't be shy to drop me a line if you have specific questions or would like to discuss your own project.

Project Status/Progress

With the basic system operational, including the serial and ATA interfaces, I'm currently working on the following subprojects:

Filesystem (for use with the hard disk drive)

Having a hard disk isn't much use without some kind of filesystem to organise the data. I've designed a simple filesystem, details of which I'll publish when I get it working properly. Just now I'm hacking up the disk formatting routines. This can be quite a job on the Z80 as there's a lot of long-word (16 or 32-bit) maths involved when calculating sector addresses and such.

TCP/IP Networking over SLIP

The latest idea is to implement a rudimentary TCP/IP stack using the serial port as a SLIP (Serial Line Internet Protocol) interface. I plan to use a Linux box as a gateway to the Internet at large. So far I've coded up a simple SLIP driver (as per RFC 1055 External link) and have started work on the IP layer (building and interpreting packets as per RFC 791 External link). The latest news is that I've succesfully sent a valid ICMP echo request to a Linux host on the other end of the serial cable, who even deemed it worthy of a reply (see screenshot). When ICMP is fully operational, the next step will be getting UDP working before moving onto the somewhat daunting TCP layer.

Design Goals

  • To actually have a design for a change.
  • To have a means to connect to a PC (no need to implement keyboard/CRT right away).
  • To be able to run my Focus OS (in development).
  • To be reasonably easy to expand.

Specifications

  • Zilog External link Z80 processor, running at a blistering 20Mhz
  • Huge 16Kb Flash-based ROM
  • Enormous 48Kb block of SRAM
  • Serial interface via 16C550 UART/MAX232
  • ATA (IDE) hard disk/CD-ROM interface
  • Built-in bogon-resistant hardware*
  • Unobtainium alloy chassis*

Schematics

You can download the schematics in PDF format PDF Icon.

Hardware Details

Construction

Software

Some information on programming the system's ROM can be found here.

Links

* Don't believe everything you read in a specs list :-)