Notes & Known issues / Open Source Cartridge Reader

Open Source Cartridge Reader 

Notes:

  • Please prepare an adapter. (5V/1A, e.g. iphone adapter) and a micro USB cable.
  • Please prepare a smartphone charging adapter (5V/1A, e.g. iphone adapter) and a micro-USB cable. The micro USB connector of the arduino used in this product is very fragile and easily broken, so we strongly recommend using a magnetic cable.
  • We strongly recommend using a magnetic cable.
  • This product is a handmade kit for an open-source project. Unlike industrial line products, the quality of this product may vary slightly due to the fact that it is hand-mounted in a factory. Flux remains on the soldered parts because machine cleaning is not possible. Flux may look dirty, but it protects the solder from oxidation and is a functional flag. Please consider it as a handmade product.
  • Please note that there may be cases where the cartridge cannot be read due to various factors such as condition, type, and compatibility. Please understand that this is a product based on an open source project, so please purchase with the understanding that it is not perfect.
  • Please note that we cannot provide any support for programming or operating instructions.
  • This warranty does not cover accidents caused by rewriting the firmware of the Arduino.
  • Please use it only with the game that you own because the backup becomes a premise. It is illegal to transfer or sell the original cartridge after the game is downloaded.

This is a list of issues sanni have encountered so far.

Known issues:

Arduino Mega 2560

  • If the Arduino resets in 3.3V mode replace the 22uF tantalum on the Cart Reader PCB with a 47uF electrolytic capacitor.
  • The Arduino resets if it receives certain signals over USB. For example, if you unplug a USB stick the Arduino might reset.
  • Some Arduinos need the brownout detection disabled to function with the switch set to 3.3V. To do this flash the Arduino using something like an USBASP, the libusbK driver and this avrdude command: "C:\Program Files (x86)\Arduino\hardware\tools\avr\bin\avrdude.exe" -C "C:\Program Files (x86)\Arduino\hardware\tools\avr\etc\avrdude.conf" -c usbasp -p atmega2560 -U efuse:w:0xFF:m

Battery Module (when you put in on)

  • After plugging in the battery into the battery module you first need to plug in a USB power source at least once or it won't turn on.
  • Sometimes the battery module might not supply enough current for more power-hungry applications and you will have to plug in a USB power source.

Buttons

  • If the buttons are not working properly, check the 10K resistors on the opposite site of the board and re-solder them.
  • It's very easy to bridge the pins of the SMD push buttons with their metal case resulting in the Cart Reader automatically entering various sub-menus.
  • Sometimes the legs of the SMD push buttons don't get soldered properly to the PCB and therefore you can't select anything.
  • If you have a very old Cart Reader with just one button you can disable the second button in the config at the beginning of the code in Cart_Reader.ino.

Bus timings

  • I don't have a logic analyzer nor an oscilloscope so all the bus timings are just guesses based on trial and error and far from correct which results in some odd behavior now and then. Usually, you can just give it a second try and it will work though.

Cart Reader Shield

  • check that no solder connection has a higher resistance than ~0.6 Ohm. If it does you most likely have a cold joint and need to rework your soldering.

Clock Generator Module

  • there have been multiple reports of non-working clock generator modules (tested)

Config switches

  • the inner contacts of the through-hole slide switches like On/Off and 3V/5V can corrode if they're not used for some time. You can measure this with a multi-meter, the resistance will be above 1 Ohm. In this case, you need to move the slide switch back and forth a couple of times to get rid of the corrosion or else it might have an influence on the Cart Reader's behavior.
  • If the Cart Reader does not turn on, use a multi-meter to check for a short between the outer and inner pins.

EPROM adapter and write function

  • The 27C322 programming has not been fully tested, it does work but both the hardware and the software for it are still in a beta phase so use with caution.

File-browser

  • If after compiling the "Low memory available, stability problems may occur." warning is displayed the file explorer might crash during launch
  • To conserve memory you can only have a certain amount of files and folders, so if the file browser crashes maybe you have too many files/folders on the SD card.
  • Filenames should not be longer than 8+3 characters, again this is currently implemented to save memory.
  • Special characters should be removed from a filename.
  • Sometimes the file browser just displays a black screen, simply try again.
  • If there are files on the SD card not created by the Cart Reader the file browser might crash and only display garbage on the OLED instead of the file list.

Game Boy

  • The Game Boy code was only tested with MBC1, MBC3 and MBC5.

Game Boy Advance

  • Currently GBA cartridges only read ok if the contacts are clean, use a cotton swab and some rubbing alcohol to clean them
  • Sometimes games with EEPROM save don't dump correctly, the EEPROM shares pins with the maskROM so it could be a timing issue that needs to be resolved.
  • The database for GBA ROM size and save type might have some errors, you can also use http://www.advanscene.com/ to find out the needed information.
  • Some Chinese GBA repros can only be rewritten if the Cart Reader is switched to 5V
  • Writing 1024k flash might only work if the Cart Reader was just switched on and no other read/write operation has been done yet

Game Cartridges

  • make sure the edge connectors are clean and not corroded. A very light polish with Nevr-Dull and a cleaning with IPA can work wonders as even a little bit of dirt can have a negative influence on dumping.

N64

  • Most N64 slots on Aliexpress are 2.54mm instead of 2.5mm, make sure you use the 3d printed part to help align the cartridge
  • Dezaemon 3D sram is currently not supported.
  • If you read-out a flashram save game you need to power cycle the cartridge reader before you can do a write operation.
  • Sometimes reading/writing eeprom saves needs two tries before it succeeds.
  • I was not able to get an N64 dev cart for a reasonable price so there is no support dumping them.
  • Flashing of Chinese N64 repros with MSP55LV512 and MSP55LV100S chips seems to be broken.
  • If you get a CRC error when dumping a ROM enable slowcrc in options.h, the fast crc calculation seems to only work on some Cart Readers

NES

  • so far only official mappers are supported, if you add another mapper by yourself please share the code with the rest of us.
  • the iNES header will not be added to all dumped ROMs, in this case the ROM will not play in an emulator unless you manually add a iNES header on your PC

Nintendo Power SF Memory

  • Sometimes the cart reader fails to switch the NP cart into "hirom all" or game menu mode, simply power cycle and try again.

OLED Module

  • there have been reports of OLED screens with an 0x78 or 0x7B ID printed on the back while their real ID is still 0x3C.

Power Supply

  • Using some cheap Chinese build USB chargers will result in various errors.
  • Some PC USB ports might not provide enough current for more power-hungry tasks like SA1 cartridges.
  • Soldering a 470uF capacitor to the two wires coming from the Arduino can solve a lot of power-related issues.

Serial Monitor

  • If you use the serial monitor it will still say "Press Button" but what you need to do is send a single random character through the serial monitor.

Super Nintendo

  • ROMs with odd sizes like Final Fantasy 6(JAP) or Tales of Symphonia report a wrong file size in their header and will be over-dumped if the correct size is not listed in the snes.txt file.
  • Some cartridges like SA1 only dump correctly if you're using a high quality 5V/1A mobile phone charger instead of the USB port of a PC, they also need a 470uF capacitor soldered to the two wires coming from the Arduino.(already put in on) *SA1 is Option
  • Most of the time unlocking SA1 needs multiple tries, if not unlocked only the first part of the ROM will be dumped.
  • For dumping SA1 carts sometimes it is helpful to set the CLK1 switch to off. *SA1 is Option
Back to blog