News:

The Savage///Circuits website has been upgraded to a more efficient theme.

Main Menu

Z80 Emulation Using the RP2040

Started by Chris Savage, Dec 31, 2025, 09:05 AM

Previous topic - Next topic

Chris Savage

I'm considering building something like this as a quick / cheap way to get people familiar with Z80 programming.

Z80 Emulator for Raspberry Pi Pico and other RP2040 based MCU boards

It could run on this $4.00 Raspberry Pi Pico RP2040 from Adafruit.

                     Bringing concepts to life through engineering.

granz

#1
That sounds pretty good. I am using RUNCPM (https://github.com/guidol70/RunCPM_RPi_Pico) on my PicoCalc (https://forum.clockworkpi.com/t/runcpm-for-picocalc/20459.) On the PicoCalc, it takes the normally 40-column screen and displays 80 columns on it - takes a bit of practice to get used to the squished characters, but that would not be any trouble with using a terminal emulator (minicom - https://en.wikipedia.org/wiki/Minicom, or TeraTerm - https://en.wikipedia.org/wiki/Tera_Term) on just a plain Pico.

I was amazed at the amount of software included with RUNCPM. I have just started going over the drives (yes, on the SD card image - https://obsolescence.wixsite.com/obsolescence/multicomp-fpga-cpm-demo-disk there are five hard disk images (with may USER areas each,) with a huge number of programs. I mentioned to Marilyn that this would have been the collection of an extremely rich professional programmer back in the '70s.

You need to add an SD card socket (https://www.amazon.com/DIYables-Adapter-Arduino-ESP8266-Raspberry/dp/B0BXKLNN2L, but that, with a breadboard and some hookup wires, would provide an entire usable Z-80 CP/M system. Looks like your suggestion; it would be about the cheapest you can get.

granz

#2
I've been taking a closer look at the version that you posted. I really like the V. 2.2 version implementing the telnet server over WiFi. That would be really cool, plus it implies that a WiFi network connection could be added to allow CP-Net (http://cpmarchives.classiccmp.org/cpm/Miscellany/cpnet.html) network access to other servers, and simple web pages.

I do like the N8VEM collection of disks for RUNCPM - that is a serious collection. I'm thinking that some/all of those programs may be able to be installed for that David Bottrill Z-80 emulator that you mentioned. I noticed that the A: drive on David's Git page is a hard drive (8 Megabytes,) but I could not see what all was on that image. Also, I have not seen how to add other drives, but you may be able to take some of the stuff from the N8VEM disks and copy them over.

Also, the newest version of RUNCPM for the PicoCalc (https://github.com/theflynn49/picocalc_runCPM/releases/tag/v1.5) allows a Pico 2(W) to run CP/M at 200MHz on the Pico - that translates to a 32Mhz(!) Z-80 clone. :o I'm almost afraid to try Ladders on the PicoCalc. ;D


** Edited to fix link to the newest version of RunCPM.

Chris Savage

I was thinking this would provide an easier path to messing around with the Z80 using modern hardware. While I don't have the time to explore it at the moment, I would be happy to fund such an endeavor, should someone want to pursue it. It could then be duplicated to open the door to others as well.

                     Bringing concepts to life through engineering.

JKnightandKARR

Quote from: Chris Savage on Dec 31, 2025, 09:05 AMI'm considering building something like this as a quick / cheap way to get people familiar with Z80 programming.

Z80 Emulator for Raspberry Pi Pico and other RP2040 based MCU boards

It could run on this $4.00 Raspberry Pi Pico RP2040 from Adafruit.
If the ZX80/81 are Z80 based, in theory this could be modicied to work on the ZX80/81.

granz

Quote from: JKnightandKARR on Jan 01, 2026, 08:14 PMIf the ZX80/81 are Z80 based, in theory this could be modicied to work on the ZX80/81.
Yes, and there are several projects that do this. @ikjordan has a GitHub page (https://github.com/ikjordan/picozx81?tab=readme-ov-file) with one. His (hers?) works on several platforms, one of which is less than $25 from Pimoroni (https://www.pishop.us/product/pimoroni-pico-vga-demo-base.)

But, if you let go of the ZX-81 format, and just use a serial terminal on your PC, you can get full Z-80 experience from just the Pico, a breadboard, a micro-USB cable and some hook-up wires (and optionally an SD card socket.) Of course, you won't get the single-key BASIC, the low-rez graphics nor the ZX gaming experiences with these projects. You also won't have a true Z-80 hardware system - but if that is not so important, these projects will be cheaper.

MicroNut

I found another GitHub project that emulates the Z80 on the Pico https://github.com/udo-munk/RP2xxx-GEEK-80 It uses a WaveshareRP2040-GEEK such as https://www.waveshare.com/rp2040-geek.htm. It runs for $9.00 but it looks easier to do since the SD card reader and a (very small) LCD are included and it plugs into an USB port.
Always looking to the stars.

Chris Savage

You guys are coming up with some great ideas. I have a lot of data to go over to decide what to build for this. While I personally, am interested in my hardware system, I am looking to get others interested, and therefore would like to build / support an emulator-based system that is inexpensive.

                     Bringing concepts to life through engineering.

granz

Quote from: MicroNut on Jan 20, 2026, 09:38 AMI found another GitHub project that emulates the Z80 on the Pico https://github.com/udo-munk/RP2xxx-GEEK-80 It uses a WaveshareRP2040-GEEK such as https://www.waveshare.com/rp2040-geek.htm. It runs for $9.00 but it looks easier to do since the SD card reader and a (very small) LCD are included and it plugs into an USB port.
Have you ordered/received one of those RP2040GEEK devices, yet?

I checked, and the LCD has a ST7789 controller, for which PicoMite BASIC already has drivers built-in. In addition, the schematic shows the pins for the SD card (https://files.waveshare.com/wiki/RP2040-GEEK/RP2040-GEEK-Schematic.pdf bottom of page,) and so it looks like it will work for RunCPM. Add a cheapie SD card with the files from Grant Searle's Multicomp CP/M machine (https://obsolescence.wixsite.com/obsolescence/multicomp-fpga-cpm-demo-disk, click on the "Download Tool Set" button on the left) and you have a $9 (plus ~$15 shipping) pocket super CP/M computer - use your regular PC/notebook/tablet as the terminal.

I have added three of these to my Waveshare cart, and tomorrow when I get my allowance they will be ordered. The only bad part is that the shipping to the U.S. can take 20-30 days. Also, that $15 shipping price is supposed to cover up to 2 kilograms - and at 0.045 kg per device we can order over 44 before the shipping goes up!  ;D

Also, if you only want one, Amazon has them for $15.35 (two-day free delivery with Prime https://www.amazon.com/waveshare-Development-Board-Microcontroller-Downloader/dp/B0CGLBLQ43) This is only 35 cents higher than the shipping alone from Waveshare. Maybe I'll order one from Amazon, just to get it quicker.

granz

Quote from: MicroNut on Jan 20, 2026, 09:38 AMI found another GitHub project that emulates the Z80 on the Pico https://github.com/udo-munk/RP2xxx-GEEK-80 It uses a WaveshareRP2040-GEEK such as https://www.waveshare.com/rp2040-geek.htm. It runs for $9.00 but it looks easier to do since the SD card reader and a (very small) LCD are included and it plugs into an USB port.
I took another look at that project of putting Udo Munk's Z-80 emulator onto the RP2040-GEEK device. Wow! With switching to the RP2350-GEEK you can get multi-user MP/M running with two users. Also, you can set up the onboard LCD simulating the Cromemco Dazzler

 I remember, almost salivating over the Dazzler at the Computer Land store near my house. It was in a Polymorphic Poly 88 (https://oldcomputers.net/poly-88.html,) and was one of the coolest things that I had seen. The display was running the KSCOPE demo:
and I loved it.

I now have one of the RP2350-GEEK devices, from Amazon, on its way - should be here Friday. I also added two more of them to my WaveShare cart. I'm going to have to trim back some of the RP2040-GEEKs from the cart (unless I get rich by tomorrow.  ;) ) Although, maybe I'll hold off on the WaveShare order until I after Friday, when I get the RP2350-GEEK. That way I can test them out and make sure that they will do what I want.

granz

This thread was marked as a "breadcrumb" in case you, or I or anyone else needs to find this again.

MicroNut

No I don't have one. I had a quick break at work and decided to look up Z80 emulation on a pico using ChatGPT and the Waveshare link came up. It looked cool so I posted it. Let me know how it works and I'll probably order one from Amazon.
Always looking to the stars.

granz

Quote from: MicroNut on Jan 20, 2026, 06:46 PMNo I don't have one. I had a quick break at work and decided to look up Z80 emulation on a pico using ChatGPT and the Waveshare link came up. It looked cool so I posted it. Let me know how it works and I'll probably order one from Amazon.
Yeah, twenty to thirty days is a pretty long time to wait. If I have one to play with, I can wait that long for additional units that are much lower cost.

JKnightandKARR

Isn't the Rasp Pi Pico the RP2040? If so I got an extra when I was starting the PicoMite. I gots too many projects need to start kne n get done...

granz

Quote from: JKnightandKARR on Jan 21, 2026, 05:54 PMIsn't the Rasp Pi Pico the RP2040? If so I got an extra when I was starting the PicoMite. I gots too many projects need to start kne n get done...
Yes, the Raspberry Pi RP2040 is a microcontroller chip from the Raspberry Pi Foundation (https://www.raspberrypi.com/products/rp2040/.)


It is the brains behind the RP2040-GEEK, and the Raspberry Pi Pico, the PicoCalc and many other devices. The RP2040-GEEK takes that controller, adds the LCD, RAM, Flash Memory and a case and makes a pretty cool device for playing working.

SMF spam blocked by CleanTalk