Open Source Cartridge Reader V3-ALTER Build service [Group C]
Notes & Known issues before purchasing
- 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. 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.
- Please purchase only after thoroughly researching how to use it.
- Please refer to the Wiki on the project page for details.
This is a list of issues sanni have encountered so far.
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.
- 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.
- 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)
- 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.
- 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.
- 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
- 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.
- 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
- 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.
- there have been reports of OLED screens with an 0x78 or 0x7B ID printed on the back while their real ID is still 0x3C.
- 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.
- 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.
- 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
Open Source Cartridge Reader V3-ALTER Build service
Save both the roms *and* the saved games from your NES, SNES, N64, GBA, GB/GBC, and Genesis cartridges directly onto a Micro SD card.
New N64 controller pak save data write/read and N64 controller test functions added as standard from the original PCB design
LEDs are moved to the surface, enhancing the design.
All PCB board wiring has been rearranged by hand, and the GBA slots have been slightly relocated for the special acrylic case.
Size: 110×110×39(woob base40)mm
Created by modifying "Open Source Cartridge Reader" (sanni Github (Licensed under CC BY 4.0))
Read Notes & Known issues before purchasing.
Group B order is scheduled for August.
please stay tuned.
Additional Option Fees
- Rading SNES SA1 cartridge and N64 EepromSave [PIC12F629 microcontroller with the SNESCIC and Clock generator] $28
- White color $3
- SAKURA[Pink]color $5
- Black spacer $5
- Gold spacer $9
- Wood base [White Oak, American cherry and Walnut] $19
- Completely stand-alone, does not need a PC to operate (unless for updating firmware)
- Easy to modify open-source code, write your own extensions and share them with others
- Modular design using mostly off-the-shelf components
- Reads official NES, Famicom and Family Basic cartridges including save
- Supports Mapper 30/NESmaker and flashes INL NM30 boards
- Reads SNES roms and reads/writes save games from and to the SNES cartridge
Supported cartridge types so far: LoRom, HiRom, ExHiRom, DSP, SuperFX, SuperFX2, SDD1, CX4, SPC7110, SA1 (last two chips need Adafruit Clock Generator)
- Reads and writes SNES Satellaview 8M Memory packs (BS-X cartridge and Adafruit Clock Generator needed)
- Reads and writes Nintendo Power Super Famicom Memory Flash Cartridges (needs Adafruit Clock Generator for best result)
- Reflashes some Chinese or custom-made SNES repros with AM29F032, MBM29F033, MX29LV320 or MX29LV640 flashroms
- Reads N64 roms and reads/writes save games(4K/16K Eeprom + Sram + all 3 types of Flashram), Eeprom needs Clock Generator by default, Proto carts are not supported yet *Clock generator is used by: SNES SA1, SNES SF Memory, SNES Satellaview, SNES SPC7110(not sure), N64 eeprom save
- Reads and writes N64 controller paks and also can test a N64 controller's buttons and thumbstick
- Reflashes some Chinese N64 repros with S29GL type flashroms
- Reflashes N64 Gamesharks with SST 29LE010(and similar) eeproms
- Reads Game Boy (Color) roms and reads/writes save games
- Reads and writes Nintendo Power Game Boy Memory Flash Cartridges
- Programs custom-made Game Boy (Color) flashcarts with AM29F016, AM29F032, MBM29F033 flashrom
- Programs EMS GB Smart 32M flash carts
- Programs Gameboy Camera Flashcart
- Reads Game Boy Advance roms and reads/writes the save games(4K Eeprom, 64K Eeprom, Sram/Fram, 512K flash, 1M flash)
- Reflashes some Chinese GBA repros with i4000L0YBQ0, i4400L0ZDQ0, MX29GL128E, MSP55LV128, PC28F256M29 or M29W128GH flashroms
- Reads Sega Mega Drive roms and reads/writes save games(Sram/Fram, Eeprom)
- Reads Sega Master System roms and saves
- Reads Sega Game Gear roms and saves (using Retrode adapter)
- Reads some Sega Mark III cartridges (using Raphnet adapter)
- Reads some Sega SG-1000 cartridges (using Raphnet adapter)
- Reads some Sega Cards (using Card Catcher and Raphnet Mark III Adapter)
- Reads PC engine/TG16 cartridges (using Retrode or custom adapter)
- Reads WonderSwan cartridges (using custom adapter)
- Reads NeoGeo Pocket cartridges (using custom adapter)
- Programs flashrom chips like AM29F016B/D, AM29F032B, MBM29F033C, MX29F1601, MX29F1610, MX29L3211, MX29LV160, MX29LV320, S29GL032M, MX26L6420, MBM29F800BA, AM29F800BB, LH28F016SUT, AM29F400AB, E28FXXXJ3A and AM29LV033C (using custom adapter)
- Programs M27C322 eproms (using custom adapter)
Please prepare a smartphone charging adapter (5V/1A, e.g. iphone adapter) and a micro-USB cable. The micro USD 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. If the micro USB terminal of the main unit is damaged without using the magnet cable, we can repair the product for a fee.
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.
Please purchase only after thoroughly researching how to use it.
*Remote areas may be subject to an out-of-area delivery fee.
Pls check your zip code (except for Europe)
⚠Customers in remote delivery areas will be charged an additional shipping fee at the time of sending.
⚠⚠For applicable areas, an additional fee will be charged prior to shipment.
Open Source Licenses:
- Software(everything in Cart_Reader folder) = GPL v3
- Hardware(everything in hardware folder) = CC-BY-4.0