Output Devices

Sanni Cart Reader V5

Aka “Open Source Cartridge Reader.” The OSCR is open source code and build instructions for assembling the actual physical reader from open source parts; once they’re all together you have a device that can read from and write to cartridges and devices from various game consoles; you can read and write cartridge game saves, and you can dump game ROMs from cartridges in order to back them up, play them in an emulator, or whatever.

From GitHub - sanni/cartreader: A shield for the Arduino Mega that can back up video game cartridges. :

Supported Systems:

  • NES/Famicom/Family Basic
  • SNES/Super Famicom (including SF Memory and Satellaview)
  • N64 (including Controller Pak and Gameshark)
  • Game Boy Color (including GB Memory)
  • Game Boy Advance
  • Sega Mega Drive/Genesis
  • Sega Master System

Supported with adapters:

  • Virtual Boy
  • Sega Game Gear
  • Sega Mark III
  • Sega SG-1000
  • Sega Cards
  • PC engine/TG16
  • WonderSwan
  • NeoGeo Pocket
  • Intellivision
  • ColecoVision
  • Benesse Pocket Challenge W
  • Watara Supervision
  • Atari 2600
  • Emerson Arcadia 2001
  • Fairchild Channel F
  • Magnavox Odyssey 2
  • Super A’Can

(Don’t do this though:)

Technical stuff

Note that those “Supported with adapters” are adapters defined by users in software ( User-contributed PCBs and adapters · sanni/cartreader · Discussion #354 · GitHub ); it sounds like most of them are designed to make use of the SNES slot on the reader “because it has the most pins mapped to it.” But it also sounds like most or all of them will require that someone builds an actual physical adapter defined by that software, to bridge from one of the OSCR’s slots to the “supported with adapter” cartridge type, and I don’t know that anyone’s actively selling any such adapters, at least not for the V5 reader. So don’t get one planning to dump your NGP collection or whatever just yet, unless you have the means of making a PCB from the available software definitions.

For those of us not into building our own hardware, there are plenty of folks building OSCR V5s and selling them as fully assembled readers on eBay, ready to handle the seven supported systems. I got mine from eBay seller fullcircleembedded, and it https://www.ebay.com/itm/394407205776 even came with a USB power cable and 16 GB SD card (micro w/ adapter), and the card was completely ready to go, with the database text files of cartridge ROM definitions already on it. This build also has the I guess optional Clock Generator daughterboard which the site says is needed for certain SNES and N64 carts.

The OSCR has cart slots on top for the main supported systems, except the GB/GBC/GBA slot, which is on the back. Although the eBay seller showed a silly photo of all the top cart slots occupied at once, you’re actually only supposed to have one cart plugged in at a time when you power the system on ( Overview · sanni/cartreader Wiki · GitHub )–so yeah don’t do like that auction photo. : P

The OSCR is designed so that it doesn’t require a PC for operation, just a USB power source of some kind.

I didn’t clean the cart pins because I’m lazy and anyway I don’t have any isopropyl alcohol on hand. So all I had to do was:

  • Plug the USB power cable into the OSCR
  • Slot the prepped SD card into the OSCR’s card slot on the left-hand side of the unit’s screen
  • Plug the other end of the rather short USB power cable the seller had supplied (USB micro on the OSCR to USB A) into the nearest handy USB port (it was one on my laptop)
  • Plug in one of my game carts from eBay
  • Set the “3V/5V” switch on the side of the OSCR to the correct voltage position per the per-system cart reading pages on the wiki (3V for N64 and GBA carts, 5V for the others)
  • Switch the power switch to On
  • Use the light-up control knob/button to navigate the LCD screen menu, which usually just involves selecting the console type, and from there the OSCR is able to identify the game
  • Press the knob to confirm and dump the game’s ROM to the SD card


Then you pop the SD card into whatever device has the emulator you want to use, and load the dumped ROM into it just like you would with one from the internet. For most emulators, you can optionally zip the ROM to save a little space or whatever. I’m using Mesen (GB/NES/SNES) and Project64 (N64)–and VisualBoyAdvance-M once my one GBA cart arrives.

I dumped my current tiny cart library: 1 N64 cart, 1 GB cart, 1 NES cart, and six SNES/SFC carts. Each one dumped either instantly (GB Tetris and NES WWF Wrestlemania Challenge) or within seconds (the SNES/SFC games, including a JP Super Game Boy), except for the N64 cart (WCW/nWo Revenge), which took maybe a minute. That ROM is 16 MB.

The N64 cart was the first I tried and the only one that reported an error at the initial identification stage. I dumped it anyway–you can punch in the needed information manually–but then powered off, resocketed the cart–really tight, that N64 socket–powered back up, and then the OSCR ID’d it successfully. With carts the reader is able to ID, it automatically names the dumped ROM with the detected game name, region, and system extension.

The other photos are from the eBay auction; this one is mine:

NES carts for whatever technical reason don’t necessarily ID automatically, so for WWF Wrestlemania Challenge it had me scroll through the alphabetical list of NES/FC games (you can hold the knob in for a few seconds until it flashes to switch to 30x scroll speed) to select it by name and region.

The others all ID’d completely automatically. All the dumped ROMs worked perfectly.

This thing is sick. : DD

10 Likes