*** WARNING ***
The Pico IO pads are not rated for 5V, and this circuit contains no level shifters. However I've seen comments saying that the inputs are probably 5V tolerant (but they are not certified to be), so I thought I would try it. So far, I've had no issues.
Use at you own risk.
</WARNING>
The project uses a Pi Pico and a handful of passive components. All of the Pico GPIO pins are used; 15 for address bus (A14 not connected), 8 for the data bus, and 3 control lines.
Multiple upper and lower ROMs can be stored in the Pico's 2MB onboard flash. 1 lower and 8 upper ROMS are supported. A control ROM is included which allows the selection of which ROMs (from the flash) are loaded into the available slots.
The Pico is overclocked to 225 MHZ, with one core providing ROM emulation whilst the other handles ROM switching and processing commands from the CPC (with the help of a PIO state machine)
More details are in the readme file on github
Interesting!
I had this
https://github.com/nickbild/picoROM
on my to-do list for the CPC for quite some time, but never got to it.
Great to see you got it done! And much more feature complete as well. Nice!