Dump Game Boy ROM using a GBxCart RW
This guide will walk you through dumping Game Boy cartridges on Linux using an insideGadget’s GBxCart RW. It’s a pleasantly simple process and you’ll have backups of all your old games in no time.
Note: this guide was written with Debian-based distros in mind (Ubuntu, etc.). Your mileage may vary with other distros.
Check out my Pokemon ROM Hack project, if that’s also your thing.
Resource | Link | Description |
---|---|---|
GBxCart RW v1.3 or v1.4 | link | Hardware |
FlashGBX | link | Software |
DAT-o-MATIC | link | Database of ROM Checksums |
Prepare GBxCart RW
GBxCart RW is a small hardware device that Game Boy cartridges can be connected to and enables you to read ROM data.
The GBxCart RW will appear as a serial device and your user will need to be in the
dialout
group to access it.
Use the groups
command to see which groups you are in.
$ groups
kevin adm cdrom sudo dip plugdev dialout
If you don’t see dialout
, add your user to it with adduser
.
sudo adduser $USER dialout
You’ll need to log out before the group changes will take affect.
Alternatively, you can use newgrp
to temporarily login to the new group.
However, only that one terminal will be logged in.
newgrp dialout
Install FlashGBX
FlashGBX is a software interface to the GBxCart RW hardware. It’s a Python tool
that can be installed from PyPI using pip3
.
We’ll create a Python virtual environment here so we don’t pollute the machine
with random Python packages. Uninstalling FlashGBX will be as simple as
removing the flashgbx-venv
directory.
# Ensure the venv module is installed.
sudo apt install python3-venv
# Create the virtural environment.
python3 -m venv flashgbx-venv
Now activate the virtural environment and install FlashGBX inside it.
source ./flashgbx-venv/bin/activate
pip3 install -U FlashGBX
Dump ROM
Plug in the GBxCart RW and insert a Game Boy cartridge. Then, run the FlashGBX software.
python3 -m FlashGBX
Select either the “Game Boy” or “Game Boy Advance” mode. Finally, click the “Backup ROM” button.
Verify ROM
Lastly, it’s a good idea to verify the integrity of your ROM data before you declare victory.
There are many online databases which have lists of known good hashes for each game. One such database is DAT-o-MATIC (link).
Lookup the game you backed up and compare the hashes or checksums to your file. MD5 or SHA-1 will do just fine.
md5sum <your-rom-file>
50927e843568814f7ed45ec4f944bd8b <your-rom-file>
sha1sum <your-rom-file>
d7037c83e1ae5b39bde3c30787637ba1d4c48ce2 <your-rom-file>
Troubleshooting
Always be sure to activate your virtual environment before running FlashGBX.
source ./flashgbx-venv/bin/activate
python3 -m FlashGBX
Check out the FlashGBX GitHub repository (link) for more troubleshooting tips.