Game cartridges are generally seen as a read-only medium with the contents as immutable as text chiseled into a granite slab, and with accompanying save files on the cartridge surviving for generations. The unfortunate truth is that as with any media storage, cartridges can and do fail, and save files are often just ethereal bits in battery-backed SRAM. This makes being able to copy not only the game data but also the save files off these cartridges essential. Projects like the Open Source Cartridge Reader by [sanni] make this something that everyone can do.
Intended to be a kind of Swiss Army knife of game cartridges, many game systems are supported directly, and many others via (user-created) adapters. A how-to-build tutorial is provided on the project wiki, though anyone interested in building such a system would do well to look at the expected price tag on the BOM page, which comes in at $134. A recent video by [Kytor Industries] (also included below) demonstrates how to assemble one of these systems, including some modding of the preassembled components.
The main components are the Arduino Mega 2560 Pro MCU module, a Makerbase assembly with LCD, control knob, and SD card slot, an SI5351-based clock generator, a PIC12F629 MCU (for snesCIC and handling SNES DRM) and a lot of pin headers and card edge connectors for specific cartridge types. The assembly is rounded off with a surface-mounted GBA card reader and an enclosure.
One important gotcha is that some of these cartridges run on 5V, while others use 3.3V. N64 cartridges require the dedicated voltage switch to be set to 3.3V, lest 5V gets sent into the unsuspecting cartridge. Once everything is configured properly, the firmware is flashed onto the Mega 2560 Pro module. The Sanni reader is then ready to run. You can use it to dump ROMs onto SD cards, along with dumping and restoring save files and loading ROMs onto new cartridges.
(Thanks to [Roman] for the tip)
6 thoughts on “Building The Sanni Cartridge Reader To Back Up And Restore Games And Saves”
I don’t need one. I have no use for one. But I want one.
The presentation/tutorial in the video was well done! Clear speech, no hassle, no hard cuts, everything step-by-step! Kudos!
It reminded me a bit of the times I was watching Curiosity Show. ^^
There’s a project on hackaday.io called GameBoy Console (https://hackaday.io/project/171018-gameboy-console) that has this functionality for Game Boy, Game Boy Color, and Game Boy Advance cartridges. I built one a few years back (the developer very kindly sent me a kit at the start of the pandemic), and it’s worked great. More limited in scope than the Open Source Cartridge Reader in the article (which I now also want to build), but perfect for its use case.
This is very interesting ! I love it 🥰
OK, I haven’t read the link or watched the video yet because I was excited at the future possibility of seeing this working with the MiSTer!
How cool would that be?!
I need me one of these. A Sanni cart reader has been at the top of my project list for a few months now.
Back in December I started down the utterly fraught path of reclaiming the game collection I lost some 25 years ago to a series of profound misfortunes. Somehow, despite having no console all these years, I’ve managed to hold on to four random cartridges which escaped that fate, one of which was my release day copy of The Legend of Zelda: A Link to the Past, which by some miracle STILL HAD ITS SAVE DATA INTACT. Thankfully, as part of this midlife crisis I’m experiencing, I secured a new console and a Super Wild Card DX (An old floppy-based game copier or ‘magicom’, to use the generic term) with which to dump the SRAM contents. With the help of a clever redditor, I sussed out how to get the SRAM dump into an emulator (Strip the first 512 bytes) and then I dumped the ROM itself, and was playing my old save, with the actual cart’s ROM, in an emulator! (Though this wasn’t the true purpose of my experiments; Indeed it is to be able to get the save data back INTO cartridges…which turns out to be just as easy!)
Would’ve been even easier with one of these! And it has so many other uses… Not the least of which is the dumping and even the writing of Satellaview 8M memory packs (The contents of which are still a major preservation concern!), and the “Nintendo Power” SF Memory cartridges. (Japanese-exclusive official Nintendo flash carts you could buy and take to a retail kiosk to burn one or more games to. My collection currently has two such carts.)
It’s so cool that this is where we are now; Open source cartridge dumpers… A bajillion ways to mod old consoles for better video, and then half a bajillion ways to upscale that video to modern displays… Dozens of people out there making generic cartridge PCBs and mod supplies so you can repair damaged carts, make physical carts of romhacks or translations, even straight up publish your own homebrew…
Even with emulation approaching a pinnacle of sorts with the MiSTer, we seem to be entering into quite the renaissance for people who still wish to adhere strictly to The Old Ways and express their love for this old hardware. (People like me, who won’t even put an arcade cabinet into Freeplay, because removing the ritual of feeding it quarters diminishes the experience.)
Please be kind and respectful to help make the comments section excellent. (Comment Policy)