Go Down

Topic: ROM-Reader for Super Nintendo / Super Famicom Game Cartridges (Read 16814 times) previous topic - next topic


I wrote an alternative SNES SA-1 rom dumper, based on my N64 and flashrom sketches.
I dumped my SA-1 cart(PAL PGA Tour '96 1L3B-01 PCB) 50 times in a row while the CH340 Arduino was just powered over the USB cable from my PC and it verified every single time.

That being said it doesn't work with my Super Mario RPG SA-1 cart(which is a repro/translation/conversion with a MX29L3211 flashrom on a NTSC 1L5B-20 PCB) on neither of my Arduinos.


sanni, do you use 'slow' functions for writeByteA1/writeByteA2/writeByteB or are you using optimized writes to the port registers? could poor SA-1 detection be due to too many rapid changes on the addressing ports?


Here is just a quick summary of my current status:

Nintendo Cart Reader Shield for Arduino Mega (fits both the official and the CH340 version)
Download Nintendo Cart Reader and Flashrom Writer Arduino Sketch
- Reads SNES roms from standard Hi- and LoRom cartridges (for games with enhancement chips please use skamans enhanced code)
- Reads and writes save games from and to the SNES cartridge(again just for the standard Lo- and HiRom)
- Reads N64 roms and save games(4K/16K Eeprom + Sram + Flashram), and also writes save games back to the cartridge
- Reads and writes N64 controller paks
- Reads Game Boy Roms and their save game and also writes the save game back to the cartridge (although I just tested it with MBC5)
- Programs Flashroms like 29F032, 29F1610 and 29L3211(needs 3.3V).

Shield with optional 3.3V power supply installed:

Shield with attachments:

Operation Mode Menu:


Addon pinouts:
Download Excel Sheet

Eagle Files
All Eagle files are untested and only for reference. Use with caution and fix any errors before ordering.

Cart Reader Shield


Flash Adapter


N64 Adapter


SNES Cart Slots: http://www.aliexpress.com/store/product/Replacement-62Pins-Slot-for-SNES-Clone-Console/1902006_32605683635.html

If you want to use an OLED Display change the code like so:
Code: [Select]
   Choose Output
#define enable_OLED 1
#define enable_Serial 0

For Serial Monitor like so:
Code: [Select]
   Choose Output
#define enable_OLED 0
#define enable_Serial 1

N64 Cart Addon:

The Arduino needs to be run at 3.3V for both the N64 stuff and the flashroms that are only 3.3V tolerant.

Flashrom Addon:

Game Boy Addon:

For this addon it's best to start with a Super Game Boy and a random HiRom SNES game, then just connect A0...A15 from the Game Boy Slot to A0...A15 of the SNES game, same applies to D0...D7, wr, rd, reset and cs.

I also have adapted skamans enhanced code to the new pinout and for use with the Serial Monitor: Download

Go Up

Please enter a valid email to subscribe

Confirm your email address

We need to confirm your email address.
To complete the subscription, please click the link in the email we just sent you.

Thank you for subscribing!

via Egeo 16
Torino, 10131