A shield for the Arduino Mega that can back up video game cartridges.
Go to file
Vincent Pelletier e7ef7fd4bd All: Make flashid an integer
flashid (almost) always contains the hexadecimal representation of two
bytes, which then means it gets compares with strcmp, which in turn need
another string argument. Instead, make it an integer, removing the need to
call strcmp.
Add a separate string representation for printing purposes (maybe this can be
avoided by having the print function format it when needed ?).
The only apparent case where flashid is not an hexadecimal representation
of a pair of bytes is when N64 clears it to "CONF". Set flashid to zero
this case.
This saves about 500 bytes of program space and 200 bytes of ram.
2022-10-28 05:29:20 +00:00
.github/workflows Use a matrix instead of defining each job manually 2022-09-24 21:42:20 +02:00
Cart_Reader All: Make flashid an integer 2022-10-28 05:29:20 +00:00
hardware Change N64 controller connector pitch to 2.54mm 2022-10-17 14:29:40 +02:00
sd Fix Brain Lord checksum and header CRC32 2022-10-27 23:38:20 +02:00
3dmodel.stl Add files via upload 2022-07-28 14:32:24 +02:00
LICENSE Create LICENSE 2019-02-06 15:55:22 +01:00
pinout.ods Add files via upload 2022-07-15 10:17:20 +02:00
README.md Update README.md 2022-07-30 18:10:53 +02:00

image

Open Source Cartridge Reader

This project represents a community-driven effort to provide an easy to build and easy to modify cartridge dumper.
Happy making. 🔧🔨😊

For any questions you can use the Discussions and/or Issues section here on Github or visit the accompanying thread in the Arduino Forum.
And be sure to check the guides in the Wiki too.

image

Features:

  • 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
  • Portable thanks to a battery/power bank
  • Modular design using mostly off-the-shelf components

image

Supported Systems:

  • 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 Adafruit Clockgen by default, Proto carts are not supported yet
  • 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)

image

Open Source Licenses:

  • Software(everything in Cart_Reader folder) = GPL v3
  • Hardware(everything in hardware folder) = CC-BY-4.0