whatisgithub

What is mgba?

mgba-emu/mgba — explained in plain English

Analysis updated 2026-06-22

7,030CAudience · generalComplexity · 4/5Setup · moderate

In one sentence

An accurate and fast emulator for playing Game Boy Advance, Game Boy Color, and original Game Boy games on modern computers, with extras like save states, gameplay rewind, cheat codes, and a debugger for developers.

Mindmap

mindmap
  root((mgba))
    What It Does
      GBA emulator
      GB and GBC support
      Accurate hardware
    Features
      Save states
      Rewind gameplay
      Cheat codes
      Video recording
    Platforms
      Windows Mac Linux
      Nintendo Switch
      PS Vita
      Nintendo 3DS
    Tech Stack
      C
      CMake
      SDL2
      Docker builds
Click or tap to explore — scroll the page freely

Code map

Detail Auto

An interactive map of this repo's files and how they connect — its source is parsed live in your browser. Click Visualize to build it.

filefunction / class

What do people build with it?

USE CASE 1

Play Game Boy Advance games on a Windows, Mac, or Linux computer without original hardware.

USE CASE 2

Record video or animated GIFs of gameplay sessions for sharing online.

USE CASE 3

Use the debugger interface with Ghidra or IDA Pro to analyze and reverse-engineer GBA game code.

USE CASE 4

Run GBA games on a Nintendo Switch or PlayStation Vita using the available console ports.

What is it built with?

CCMakeSDL2Docker

How does it compare?

mgba-emu/mgbaturanszkij/wickedenginevysheng/tg
Stars7,0307,0357,019
LanguageCCC
Setup difficultymoderatehardhard
Complexity4/55/53/5
Audiencegeneraldeveloperdeveloper

Figures from each repo's GitHub metadata at analysis time.

How do you get it running?

Difficulty · moderate Time to first run · 30min

Pre-built downloads are available at mgba.io, building from source requires CMake and a C compiler.

So what is it?

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.

Copy-paste prompts

Prompt 1
How do I build mGBA from source on Linux using CMake and which dependencies do I need to install first?
Prompt 2
How do I configure a game controller in mGBA and remap buttons to match my preferences?
Prompt 3
How do I apply a ROM patch to a Game Boy Advance game file in mGBA?
Prompt 4
What debugging tools does mGBA provide for reverse-engineering GBA games alongside Ghidra?
Prompt 5
How do I record an animated GIF of my mGBA gameplay session?

Frequently asked questions

What is mgba?

An accurate and fast emulator for playing Game Boy Advance, Game Boy Color, and original Game Boy games on modern computers, with extras like save states, gameplay rewind, cheat codes, and a debugger for developers.

What language is mgba written in?

Mainly C. The stack also includes C, CMake, SDL2.

How hard is mgba to set up?

Setup difficulty is rated moderate, with roughly 30min to a first successful run.

Who is mgba for?

Mainly general.

Open on GitHub → Ask about another repo

This repo across BitVibe Labs

Verify against the repo before relying on details.