The Universal Mega Dumper (UMD) is a game catridge read/writer project designed around a Teensy++ microcontroller. The universality comes from the UMD’s ability to support many different types of catridge connectors by having general purpose 16 bit data and 24 bit address paths along with a dozen control signals – all of which can be customized for each game cartridge mode.
As of January 11th 2018 this project will be imminently released. The Teensy firmware and PC-side software are GPLv3. If you are interested in assisting in the development of this project, please contact me and I will provide you with hardware and add you as a contributor to the project.
All installation instructions for Teensyduino, Arduino IDE and Pyserial can found on the UMD’s Github page.
Several cartridge adapters are available for the UMD.
- Master System
- Sega Genesis
- Colecovision (only compatible with my custom Colecovision carts)
If you follow the pin sequence on the UMD’s output port, you could design your own board to interface to any data / address up to 16 bits data and 24 bits address.
The Teensy outputs a general purpose 16 bit DA bus which is used to trigger three HC373 latches to generate 24 bits of data. The board also has a serial flash on board to store ROMs for on-the-go cartridge flashing but this feature has not been implemented yet.
How it Works
Read 1MB of data from Genesis cartridge starting at address 0, dump to rom.bin
python3 umd.py --mode gen --rd rom --size 1MB --file rom.bin