Sign in to follow this  

socz80: A Z80 retro microcomputer for the Papilio Pro


Will Sowerbutts
  • I built a small FPGA microcomputer for the Papilio Pro board. I've ported a few operating systems to run on it. These 8-bit machines have very minimal features but (somewhat unexpectedly) I found they can run a multi-user, multi-tasking UNIX operating system.

    The hardware specification is:

    • Z80 compatible T80 CPU core at 128MHz
    • 4KB paged MMU (64KB virtual, 64MB physical address space)
    • 8MB SDRAM (at 128MHz), with 16KB direct-mapped cache
    • 4KB ROM with monitor program
    • 4KB SRAM
    • UART with deep receive FIFO
    • Optional second UART with FIFO and hardware flow control
    • 1MHz Timer
    • SPI master connected to SPI flash ROM
    • SPI master connected to optional SD card socket
    • GPIO

    I've ported the following operating systems:

    • CP/M-2.2
    • MP/M-II
    • UZI

    The project is open source and distributed under the GNU General Public License version 3.

The original forum post is here.

The project page is here.

Hi everyone.

Last year I wrote a Z80-based retro microcomputer which runs in the Papilio Pro. It started out small but I added a few interesting features, in particular a memory management unit and a 16KB cache to hide the SDRAM latency. I've ported several operating systems to it. Both the hardware and software aspects of the project have been good fun with lots of new opportunities to learn.

I've just made my first public release, you can download it at http://sowerbutts.com/socz80/ and try it out. That page also describes the project in a bit more detail.

RAM disk images are included to boot CP/M-2.2, MP/M-II and UZI (a UNIX system). I've included Zork and the Hitchhiker's Guide game which will play under all three operating systems; they are native CP/M application but MP/M-II implements the CP/M system calls, and UZI includes a CP/M emulator.

The release also includes the full VHDL source code for the machine and the source code to all the software I've written, with the exception of the UZI port which I plan to release shortly after I extend it to support the N8VEM Mark IV SBC.

Please let me know if you get it to work!


Download Source Code
  Report Article
Sign in to follow this  


User Feedback


There are no comments to display.



Create an account or sign in to comment

You need to be a member in order to leave a comment

Create an account

Sign up for a new account in our community. It's easy!

Register a new account

Sign in

Already have an account? Sign in here.

Sign In Now