Kevin Smith

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

GBxCart RW next to Game Boy cartridge

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

FlashGBX interface

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.

Comments

comments powered by Disqus