Play Game Boy Advance games on a Windows, Mac, or Linux computer without original hardware.
Record video or animated GIFs of gameplay sessions for sharing online.
Use the debugger interface with Ghidra or IDA Pro to analyze and reverse-engineer GBA game code.
Run GBA games on a Nintendo Switch or PlayStation Vita using the available console ports.
Pre-built downloads are available at mgba.io, building from source requires CMake and a C compiler.
mGBA is an emulator for playing Game Boy Advance games on a modern computer. An emulator is software that mimics old hardware so you can run programs designed for that hardware without owning the original device. mGBA also supports the original Game Boy and Game Boy Color, making it a single program for three generations of Nintendo's handheld consoles. The project focuses on accuracy and speed. It is designed to run games at full speed even on lower-end computers, and it aims to replicate the original hardware behavior precisely enough that games run as they would on a real device. This includes handling the many different cartridge types that were manufactured over the years, which each stored and accessed game data in different ways. Beyond basic emulation, mGBA includes a range of convenience features. You can save your progress at any point using save states, rewind gameplay by holding a key, record video or animated GIFs of your session, use cheat codes, and apply patches to modify game files. It supports game controllers with automatic button mapping and also allows full keyboard remapping. For developers, it includes a debugging interface that works with tools like Ghidra and IDA Pro. The emulator runs on Windows, macOS, Linux, and FreeBSD. It also has ports for Nintendo 3DS, Nintendo Switch, Wii, and PlayStation Vita, so it can run on those devices as well. Building from source requires CMake and a C compiler. Docker images are provided for cross-platform builds. Pre-built downloads for end users are available on the project's official website at mgba.io.
← mgba-emu on gitmyhub — every repo by this author, as a profile.
Verify against the repo before relying on details.