3DS:GBA games

The Nintendo 3DS can play GBA games through several different methods, native and emulation.

Comparison of methods
In order of most to least recommended.

open_agb_firm

 * Runs natively, not via emulation (100% compatibility, but no cheats, fast forward, etc)
 * Must be booted by holding START on boot, like godmode9
 * Has a file manager that allows you to select a rom
 * Streaming, 3DS HOME Menu, etc are inaccessible while a game is running
 * Saves are much easier to move
 * Lacks a user interface for configuring settings such as brightness (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, abandoned by dev)
 * Each game has it's own separate icon on the HOME Menu
 * Streaming, 3DS HOME Menu, etc are inaccessible while a game is running
 * Saves are a pain 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
 * Has a rom picker and easy to manage save files
 * Can access 3DS motion sensors, for GBA games with tilt controls

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
 * Runs in DS mode, so streaming etc are inaccessible
 * Saves are easy to manage