Universal Mega Dumper

Wikis > Projects > Universal Mega Dumper

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.


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. Moving forward, all cartridge adapters will be released open source using KiCad. All newer adapters also feature an 8 bit ID readable by the UMD via the SPI bus. This allows the UMD to identify the type of adapter currently connected to its port.

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 UMD also has a serial flash on board to store ROMs for on-the-go cartridge flashing.



Cartridge Adapters


How it Works

Example Usage

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

Demo Video


Electronics engineer and retrogaming fanatic!