New Project: ZX PicoZXCx

Show us what you're working on, (preferably with screenshots).
Post Reply
User avatar
TomD
Manic Miner
Posts: 379
Joined: Tue Nov 13, 2018 9:47 am
Location: Leeds UK
Contact:

New Project: ZX PicoZXCx

Post by TomD »

Idea was to build an interface that recreates Paul Farrow's ZXC cartridges but using a Pico set-up instead of EPROMs. The interface can also behave as a standalone Interface 2 and includes a single joystick port mapped to Sinclair 1 (67890). I've finally got it all working and was fun testing out some of Paul's ROMs including the Spectrum 128k emulator running nicely on my 48k rubber keys :-) If you are interested you can read all about it on my GiyHub page (https://github.com/TomDDG/ZXPicoZXCx)

Image

It currently emulates standard ROMs and Paul's ZXC2 cartridge http://www.fruitcake.plus.com/Sinclair/ ... C_ZXC2.htm. I'll be looking to expand to cover ZXC3 and possibly ZXC4. ZXC3 has some interesting features including a Microdrive emulator.

TomD
Retro enthusiast and author of Flynn's Adventure in Bombland, The Order of Mazes & Maze Death Rally-X. Check them out at http://tomdalby.com
Waldroid
Microbot
Posts: 118
Joined: Tue May 30, 2023 6:52 pm

Re: New Project: ZX PicoZXCx

Post by Waldroid »

Nice work! 8-)

I think you may be able to do away with some or all of the bus transceivers, since it turns out that the RP2040 is 5V tolerant, but isn't advertised as such because it can't cope with 5.5V. (Not a problem if you're running from a regulated supply.)

Check out this video: https://www.youtube.com/watch?v=rD_nQ9pwTb4

Also this comment by Eben Upton himself: https://hackaday.com/2022/09/25/pi-pico ... nt-6516402

Not sure if the reset line needs the extra drive of the transceiver, though, because it's got the R-C pair sitting on it.
User avatar
TomD
Manic Miner
Posts: 379
Joined: Tue Nov 13, 2018 9:47 am
Location: Leeds UK
Contact:

Re: New Project: ZX PicoZXCx

Post by TomD »

The address ones could probably be removed, although never totally comfortable with feeding 5v in :-) As you say I do use it to drive the RESET line low so they are useful.

Not sure about the data ones as I use the high impedance mode to ensure no noise of the data line when not required. It is also useful to control direction without needing another GPIO which are in short supply.

Overall the cost and complexity isn't really increased a lot by these chips and do protect the Pico just in case.

TomD
Retro enthusiast and author of Flynn's Adventure in Bombland, The Order of Mazes & Maze Death Rally-X. Check them out at http://tomdalby.com
dfzx
Manic Miner
Posts: 683
Joined: Mon Nov 13, 2017 6:55 pm
Location: New Forest, UK
Contact:

Re: New Project: ZX PicoZXCx

Post by dfzx »

Did you consider adding a through port for the edge connector?
Derek Fountain, author of the ZX Spectrum C Programmer's Getting Started Guide and various open source games, hardware and other projects, including an IF1 and ZX Microdrive emulator.
User avatar
TomD
Manic Miner
Posts: 379
Joined: Tue Nov 13, 2018 9:47 am
Location: Leeds UK
Contact:

Re: New Project: ZX PicoZXCx

Post by TomD »

dfzx wrote: Fri Jun 16, 2023 12:18 pm Did you consider adding a through port for the edge connector?
Good question, I didn’t initially but am looking at creating a flat design vs. the upright one currently used. This would have a straight through connector.

I’ve put the ROMCS line behind a diode so in theory as long as the GPIO is low (unit is off) this should work fine with a device that needs to control that. If an alternate ROM is needed and the other device doesn’t provide it, I guess it will be ok as it only enables data output on ROM memory access.

All the other GPIOs are behind bus transceivers so should not interfere. When ROMCS is off I also switch the direction of the data bus chip so it acts as an input so again should be ok and the unit can snoop :-)

So am hoping it will work fine, although unsure how it will play with other devices till tested.

TomD
Retro enthusiast and author of Flynn's Adventure in Bombland, The Order of Mazes & Maze Death Rally-X. Check them out at http://tomdalby.com
User avatar
TomD
Manic Miner
Posts: 379
Joined: Tue Nov 13, 2018 9:47 am
Location: Leeds UK
Contact:

Re: New Project: ZX PicoZXCx

Post by TomD »

I've renamed the project to ZX PicoIF2Lite to better represent what it is. New link is https://github.com/TomDDG/ZXPicoIF2Lite

TomD
Last edited by TomD on Sat Jun 17, 2023 11:21 am, edited 1 time in total.
Retro enthusiast and author of Flynn's Adventure in Bombland, The Order of Mazes & Maze Death Rally-X. Check them out at http://tomdalby.com
Old-User
Dizzy
Posts: 57
Joined: Fri Jan 20, 2023 7:48 pm

Re: New Project: ZX PicoZXCx

Post by Old-User »

I wouldn't be surprised if someday, someone, manages to fully emulate 128k machines by simply running an add-on at the back of their 48k rubber keys...! :mrgreen:
User avatar
TomD
Manic Miner
Posts: 379
Joined: Tue Nov 13, 2018 9:47 am
Location: Leeds UK
Contact:

Re: New Project: ZX PicoZXCx

Post by TomD »

Old-User wrote: Sat Jun 17, 2023 11:01 am I wouldn't be surprised if someday, someone, manages to fully emulate 128k machines by simply running an add-on at the back of their 48k rubber keys...! :mrgreen:
Now that you mention it I was thinking this the other day. I reckon this could be done with the Pico so it basically intercepts all memory requests and also bank change requests. Won't have the AY chip or slightly faster clocked Z80 but would be interesting to get Where Time Stood Still working on a humble 48k :-)
Retro enthusiast and author of Flynn's Adventure in Bombland, The Order of Mazes & Maze Death Rally-X. Check them out at http://tomdalby.com
dfzx
Manic Miner
Posts: 683
Joined: Mon Nov 13, 2017 6:55 pm
Location: New Forest, UK
Contact:

Re: New Project: ZX PicoZXCx

Post by dfzx »

Tom, what thickness did you 3D print the case at? I assume you used PLA? Did it come out strong enough?

(I need to print a case myself, might as well utilise your experience. :) )
Derek Fountain, author of the ZX Spectrum C Programmer's Getting Started Guide and various open source games, hardware and other projects, including an IF1 and ZX Microdrive emulator.
User avatar
TomD
Manic Miner
Posts: 379
Joined: Tue Nov 13, 2018 9:47 am
Location: Leeds UK
Contact:

Re: New Project: ZX PicoZXCx

Post by TomD »

dfzx wrote: Sat Jun 17, 2023 7:30 pm Tom, what thickness did you 3D print the case at? I assume you used PLA? Did it come out strong enough?

(I need to print a case myself, might as well utilise your experience. :) )
My side walls are 2mm thick and I find this strong enough for most use cases. The case does have a little flex but that is preferred to something totally rigid. Also need to be careful on the part closest to the Spectrum as too thick will mean the connector cannot go in far enough. I made the top and bottom 1mm thick to give as much room as possible. Overall the case isn't IF2 sturdy, which is probably 3mm thickness, but easily good enough.

PLA is my go to material as it is cheap, non toxic and made from a renewable biomass, but you can print it in anything. Recommend PLA.

TomD
Retro enthusiast and author of Flynn's Adventure in Bombland, The Order of Mazes & Maze Death Rally-X. Check them out at http://tomdalby.com
Post Reply