Chris Garrett post that “Your DIY Z80 computer needs memory to do actual computing so in this project we create an emulated ROM and RAM using a Raspberry Pi Pico”
Important: Get a CMOS Z80
A CMOS Z80 can run from zero to its advertised data sheet speed, you can tell you have one of these guys because it has the letter “C” in the beginning of the part number, eg. Z84C0020PEC. The NMOS Z80 will still be useful, and will likely be cheaper if you find a reliable e-waste supplier or specialist, but we can’t run it slowly or stall it for single-stepping, it can only run at its intended speed, e.g. 4MHz.
Emulating Z80 ROM/RAM
Emulating ROM and RAM memory is a simple case of setting up an array large enough to cover all the addresses that might be read from or written to.
Here is where we hit a snag going with the Pico as our microcontroller.
As well as wiring up the address and data pins, we also need those control signals. Unfortunately, the Pico just does not have enough pins to do everything so sacrifices had to be made.
While the Z80 can address 64KB of memory in total, we only have enough pins spare for 16KB, or 8KB if we need that one extra pin (eg. to hold the WAIT line).
Have an amazing project to share? The Electronics Show and Tell is every Wednesday at 7:30pm ET! To join, head over to YouTube and check out the show’s live chat and our Discord!
Python for Microcontrollers – Adafruit Daily — Python on Microcontrollers Newsletter: A New Arduino MicroPython Package Manager, How-Tos and Much More! #CircuitPython #Python #micropython @ThePSF @Raspberry_Pi
EYE on NPI – Adafruit Daily — EYE on NPI Maxim’s Himalaya uSLIC Step-Down Power Module #EyeOnNPI @maximintegrated @digikey