GBCartRead – Gameboy Cart Reader
Mar 19th, 2011 by Alex
GBCartRead is an Arduino based Gameboy Cartridge Reader which uses a C program or python script to interface with the Arduino. GBCartRead allows you to dump your ROM, save the RAM and write to the RAM.
How to use
Note: It is important to insert your Gameboy Cartridge before you plug in your Arduino as you may experience RAM data loss if you insert when the Arduino is on.
In brief:
– Upload GBCartRead to the Arduino, take note of the COM port
– Edit the COM port of the Python or C interface program and run the program
We recommended verifying your Gameboy ROM using “xgbfix.exe -v -d <your_rom.rom>” found in the project called “ASMotor” (we’ve included it). We also recommend verifying your save files too.
Download
For Gameboy Cart Shield v1.3 only
v1.8 Rev 1 (28 May 2016) – GBCartRead_v1.8_Rev1
– Re-add checking for non-printable ASCII characters code that was removed when cleaning up code, changed to not print underscores but just leave those characters out
– Added custom cartridge files for Wisdom Tree games (thanks Benjamin E)
v1.8 (21 March 2016) – GBCartRead_v1.8
– Added Nintendo Logo check and compare so you can tell if the cartridge is being read correctly (sometimes the title was read ok but the ROM dump wasn’t correct)
– Added missing cartridge RAM support
– Cleaned up code
v1.7 Rev 2 (10 February 2016) – GBCartRead_v1.7_Rev2
– Added checking for non-printable ASCII characters in Gameboy header and replaced them with underscores
v1.7 Rev 1 (17 February 2015) – GBCartRead_v1.7_Rev1
– Fixed clockPin to change correct port – PB5 (thanks Anna)
Normal version – for GBCartShield v1.2 or without GBCartShield
v1.5 (15 November 2014) – GBCartRead_v1.5
– Speed increases by using direct PORT writing/reading and sending 64bytes at a time (thanks Frode vdM. fvdm1992@yahoo.no)
– Compacting functions (thanks Frode vdM. fvdm1992@yahoo.no)
– Delays when pulsing WR/RD/MREQ pins reduced to a few NOP cycles
Build your own
Option 1 – Build the Gameboy Cart Shield
Option 2 – Parts Required:
- Arduino
- Gameboy Cart Adapter e.g: https://www.insidegadgets.com/projects/gameboy-cart-adapter/
- 2 x 74HC595 Shift Registers
- 470 Ohm Resistors – optional, the resistors would be for safety purposes only to prevent accidental shorts.
Schematic
This work is licensed under a Creative Commons Attribution-NonCommercial 3.0 Unported License.