On Windows, mGBA runs on Windows 7 or later; it is also available for macOS and Linux. Homebrew ports cover Switch, Wii, 3DS, and PS Vita. The program is open source under the Mozilla Public License 2.0, and its built-in BIOS implementation lets you start playing without supplying a BIOS file. You may load your own dumped BIOS if you prefer.
mGBA does not include games. To use it, you need dumps of cartridges you own. Once installed, open a game dump with File → Load ROM, then configure your controller under Tools → Settings → Controllers. This provides a straightforward setup path from selecting a game to choosing the controls you will use.
After setup, mGBA plays Game Boy Advance games as well as Game Boy and Game Boy Color titles. Its save-state system offers nine slots, with screenshots that make it easier to identify a saved point; where to read about mGBA includes details on features such as local link-cable play, which connects several instances running on the same computer.
Playing and saving games
Save states let you preserve a point in a game independently of its usual save process and return to it later. Because each slot can be viewed as a screenshot, you can distinguish saved moments without relying only on a slot number. The nine slots provide a set of separate points for different stages or experiments.
The link-cable feature is intended for local multiplayer on one computer: it links multiple running instances of mGBA. It does not provide online link play over the internet, so multiplayer use depends on having the instances available on the same machine.
Tools for cheats and development
For gameplay adjustments, mGBA supports cheat codes. Lua scripting extends this to scripts that can read game memory, which can be useful for examining or automating interactions with a running game. These tools are separate from the basic process of loading a game and configuring a controller.
Homebrew developers and researchers can use the command-line debugger or GDB remote support to inspect software. The debugging support is compatible with Ghidra and IDA Pro, allowing mGBA to fit into workflows that examine game behavior rather than simply play it. The emulator also supports the e-Reader.
Project and practical considerations
mGBA is developed by Vicki Pfau (endrift) and contributors, with most of the work carried out by a single developer. Releases are infrequent, a useful consideration when planning around updates. The project’s focus is on emulating games and supporting development tasks; it is not a source of downloadable games, and the user must provide their own game dumps.
In day-to-day use, the combination of multiple Game Boy generations, controller configuration, save states, and debugging options covers both playing existing cartridge dumps and investigating homebrew. The built-in BIOS implementation removes the need to locate a BIOS file for basic use, while the option to load a personally dumped BIOS remains available for users who need it.