Description
I developed One ROM to be the most flexible ROM replacement for my retro systems, and want to share them with other retro enthusiasts. I sell these at close to cost price, with a slight premium to cover selling fees, returns, etc.
You are welcome (in fact encouraged!) to have your own One ROMs manufactured – all of the hardware files are open source, and available on the github project page. You can even modify the designs and sell them for profit if you wish.
Features:
- Supports PETs, VIC-20s, C64s, 1541s, IEEE drives, TI-99, Coco2, etc.
- Same footprint as original ROMs – doesn’t overhang the socket like other solutions.
- Quick programming- just connect 3 wires and `make run`. Takes 5-10s to build and flash. No programming jigs necessary.
- Use a $5 programmer (e.g. Raspberry Pi Pico) – no expensive EEPROM programmer required.
- Reflash in situ – no need to remove the ROM from the host when reprogramming.
- Software configurable chip select behaviour – no hardware jumpers required.
- Stores up to 8 (Fire) or 16 (Ice) ROM images of different sizes and chip select configurations. Image selectable via jumpers.
- Replace multiple ROMs with one ROM – a single One ROM can replace up to 3 original ROMs at the same time e.g. all of C64 kernel, BASIC, character set.
- Dynamic bank switching – switch between ROM images on the fly, e.g. different char ROMs.
- Hackable at runtime – change the ROM images being served and access telemetry from the ROM at runtime using Airfrog or other SWD probes.
- Images combined automatically – no need to manually build up your own larger PROM image containing multiple retro ROMs.
- Open source software and hardware – make and flash your own One ROMs and modify the firmware.
The Fire and Ice variants are very similar, with the following key differences:
- Ice has tolerance for voltages up to 7V in case your retro system has a dodgy voltage regulator. Fire only supports voltages up to 5.5V.
- While Fire has more flash storage, it only has 3 image select jumpers, allowing for up to 8 images to be selected at boot time. Ice can store and select between up to 16 images.
- Fire is based on a faster microcontroller, so may support additional systems or features in future – however, this is not guaranteed.
I use both in my retro systems.
I am currently shipping hardware revisions:
- F – Ice
- A2 – Fire
All One ROMs are shipped with a set of C64 KERNAL, BASIC, character and dead test ROMs installed, but can be reprogrammed to serve any 2364/2332/2316 ROM image, including the original ROM’s specific mask programmed chip select behaviour, using a SWD programmer. You can use a Raspberry Pi Pico, Raspberry Pi Debug Probe, ST-Link or many other SWD programmers to program One ROM.
These One ROMs have the pins to insert into the retro system’s ROM socket pre-soldered. The programming and image select jumper pins are not soldered – extra pins are supplied with each One ROM for you to solder yourself. This keeps shipping prices lower and you only install the pins you need – it is possible to program One ROM without installing the programming pins, by inserting the programmer’s pins in the hole.
All One ROMs are shipped inside a robust 3d printed case to avoid damage to One ROM and the pins during shipping.
See the github project page for more details.