This is the approved revision of this page, as well as being the most recent.
The Nintendo 3DS can play GBA games through several methods, both natively and through emulation.
Comparison of methods
In order of most to least recommended.
open_agb_firm
- Runs natively, not via emulation (high compatibility, but no cheats, fast-forward, etc)
- Supports real-time clock for Pokemon, but no camera or accelerometer
- Must be booted from chainloader (by holding START on boot), like GodMode9
- This does allow faster launching than injects if your system is powered off.
- Has a file manager that allows you to select a ROM
- Supports button remapping (including circle pad and touchscreen, but not New 3DS L2/R2)
- Brightness can be adjusted in-game
- Automatic ROM patching is supported
- Streaming, 3DS HOME Menu, etc. are inaccessible while a game is running
- Saves are stored on SD card and easy to manage
- Lacks a user interface for configuring settings (a text editor must be used to change the config file)
- Still under active development
Virtual Console (VC) injects
- Run natively, not via emulation (same caveats as above)
- Must manually be created using a PC program (Windows-only, closed-source and abandoned by dev)
- Each game has its own separate icon on the HOME Menu
- No button remapping
- No adjustable brightness
- No automatic ROM patching
- Streaming, 3DS HOME Menu, etc. are inaccessible while a game is running
- Saves are stored in NAND and are difficult to backup and restore (requires GodMode9 and multiple reboots for each save)
mGBA
- A full emulator, which means that it has fast-forward, cheats, save states
- Performance isn't perfect, especially on old 3DS
- Not compatible with all games, but may have higher compatibility with ROM hacks that are not designed to run on actual GBA hardware
- Runs in 3DS mode, so you can stream it or use the HOME Menu while it's running
- Supports button remapping
- Has a ROM picker
- Saves are stored on SD card and easy to manage
- Supports additional hardware features, such as accelerometer (for WarioWare: Twisted!) and camera (for Game Boy Camera)
GBARunner2
- A middle-ground between emulation and native
- it's basically the worst of both worlds, still no emulator features, but some games are incompatible or have issues
- Included with TWiLightMenu++
- Has a ROM picker
- Streaming, 3DS HOME Menu, etc. are inaccessible while a game is running
- Saves are stored on SD card and easy to manage
Overview table
Feature | open_agb_firm | VC Injects | mGBA | GBARunner2 |
---|---|---|---|---|
Games run natively | ✓ | ✓ | ✗ | △ |
Runs full speed on Old3DS | ✓ | ✓ | ✗ | ✓ |
Retail game compatibility | ✓ | ✓ | △ | △ |
Homebrew/ROM hack compatibility
(For things not intended to run on official hardware) |
△ | △ | ✓ | △ |
Runs from HOME Menu | ✗ | ✓ | ✓ | ✓ |
Drag-and-drop / ROM picker | ✓ | ✗ | ✓ | ✓ |
Cheats, fast-forwarding,
save states |
✗ | ✗ | ✓ | ✗ |
Motion sensor support | ✗ | ✗ | ✓ | ✗ |
Easy save file access from SD | ✓ | ✗ | ✓ | ✓ |
Wireless streaming via NTR
(New3DS only) |
✗ | ✗ | ✓ | ✗ |
Under active development | ✓ | ✗ | ✓ | ? |