Skip to content

Resources

Glossary

Multiboot: Nintendo's official protocol that lets you send a ROM directly to the GBA's RAM via the Link port, without a cartridge.

SPI: synchronous serial communication protocol used between the dongle and the GBA. CanoFlash runs at 4 MHz in SPI Mode 3 with 32-bit words.

JEDEC: flash chip identification standard. Each chip has a unique ID (Manufacturer + Device).

EWRAM: External Work RAM of the GBA (256 KB, accessible with 2 wait cycles by default).

BPS / IPS: binary patch formats. CanoFlash applies them server-side before sending the ROM to the dongle.

FNV-1a: fast (non-cryptographic) hash used to verify SPI chunk integrity. We picked it over CRC-32 because it's ~30× faster.

OTA: Over The Air — firmware updates without needing a cable.

Repository: ROM collection managed from the web. Can be shared via a token.

Share Token: 12-character identifier that lets another person subscribe to your repository.

Tech specs at a glance

  • MCU: Seeed Studio XIAO ESP32-S3
  • GBA communication: SPI 4 MHz Mode 3, 32-bit words
  • Supported cartridges: AMD/Spansion S29GL256 (32 MB)
  • ROM download chunk: 8 KB
  • Save chunk: 4 KB
  • Wi-Fi: 2.4 GHz (no 5 GHz support)
  • GBA menu languages: Spanish, English, French, German

Community and contact

Got a problem, suggestion or just want to say hi? Use the contact form on the web.

Changelog

Firmware version history is available to administrators in the Backoffice. Users can check and accept OTA updates from Settings → Information → Firmwares → Check for updates on the GBA.

Download this guide