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!



  Report Article



User Feedback


There are no comments to display.



Join the conversation

You can post now and register later. If you have an account, sign in now to post with your account.

Guest
Add a comment...

×   Pasted as rich text.   Paste as plain text instead

  Only 75 emoji are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   Your previous content has been restored.   Clear editor

×   You cannot paste images directly. Upload or insert images from URL.