Every piece of dumping hardware I own came with its own software. Some of it is Windows-only. Some of it requires Python 2. One of them needed me to compile a C program with a Makefile that didn't work on my machine without edits. Another had a GUI that looked like it was designed in 2004, because it was.
I just wanted to back up my games.
nabu is a browser-based cartridge dumper. Plug in your hardware, open the page, and dump your cartridges. No installs, no drivers, no build toolchains. It runs entirely in the browser using Web Serial and WebHID, so it works on any desktop OS with a modern browser.
The name comes from the Mesopotamian god of writing and wisdom -- keeper of knowledge. Seemed fitting for a preservation tool.
| Device | Connection | Systems |
|---|---|---|
| GBxCart RW v1.4 Pro | Web Serial | Game Boy, Game Boy Color, Game Boy Advance |
| PowerSaves for Amiibo | WebHID | Amiibo (NTAG215) |
| Disney Infinity Base | WebHID | Disney Infinity Figures |
| PS3 Memory Card Adaptor | WebUSB | PS1 Memory Card |
This is still early. More hardware and more systems are in the works.
Linux blocks browser access to USB devices by default — they won't appear in
Chrome's device picker until a udev rule grants the desktop user access. Each
device's info button on the connect screen shows the rule it needs, or you can
drop in linux/99-nabu.rules which covers every
supported device:
sudo cp linux/99-nabu.rules /etc/udev/rules.d/
sudo udevadm control --reload-rules && sudo udevadm triggerThen unplug and replug the device. macOS and Windows don't need this.
- Dumps ROMs from Game Boy, Game Boy Color, and Game Boy Advance cartridges
- Backs up save data (SRAM, Flash, EEPROM)
- Reads Amiibo tags (and generic NTAG215 tags, best-effort)
- Verifies dumps against the No-Intro database using CRC32, SHA-1, and SHA-256
- Auto-detects the inserted cartridge -- title, mapper, ROM size, save type
The interface is a step-by-step wizard: connect your device, configure the dump, watch it run, save the files. There's an event log in the sidebar if something goes sideways.
npm install
npm run devThis will start a local Vite dev server. You'll need a Chromium-based browser for Web Serial and WebHID support (sorry, Firefox).
npm run build
npm run lintSee THIRD-PARTY-LICENSES for attribution of code derived from FlashGBX, amiigo, and AmiiboAPI.