Known issues - dkidd928/cartreader GitHub Wiki

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

Old single-button version of Cart Reader

  • If updating to the newest code you need to comment out #define enable_Button2 in Cart_Reader.ino

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

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.

Battery Module

  • 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

  • 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 submenus.
  • Sometimes the legs of the SMD pushbuttons 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.

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 multimeter, 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 multimeter to check for a short between the outer and inner pins.

Eeprom 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.

Filebrowser

  • 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

  • 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

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.

NES

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

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.

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.

SD Card

  • The SD card needs to be formatted to FAT32 with 16k allocation size, exFAT will not work. Use guiformat.exe.
  • 128GB black Kingston mSD card: always gets stuck at the beginning of writing a flashrom
  • 64GB white/grey Sandisk Ultra mSD: shows only SD error but works fine after changing allocation size to 16k
  • 32GB white/grey Sandisk Ultra mSD: works perfectly
  • 8GB black Sandisk mSD: awkward pause before every operation
  • 4GB blue Sandisk SD: works perfectly
  • 4GB black Sandisk Ultra SD: works perfectly

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 filesize 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.
  • For dumping SA1 carts sometimes it is helpful to set the CLK1 switch to off.