mGBA is a Game Boy Advance emulator written in C. The project started in April 2013 with the goal of being fast enough to run on lower end hardware than other emulators support, without sacrificing accuracy or portability. Even in the initial version, games generally play without problems. It is loosely based on the previous GBA.js emulator, although very little of GBA.js can still be seen in mGBA.



– GB, GBA: Fix crashes when attempting to identify null VFiles
– GB, GBA: Fix sync to video with frameskip
– GB, GBA Savedata: Fix savestate-related save overwriting (fixes
– GB Audio: Fix NRx2 writes while active (fixes
– GB Core: Fix palette loading when loading a foreign config
– GB MBC: Pocket Cam memory should be accessible without enabling
– GB MBC: Fix SRAM sizes 4 and 5
– GB MBC: Fix RTC initialization (fixes
– GB MBC: Fix RTC loading when file size is off
– GB Memory: Initialize peripheral pointers
– GB Memory: Prevent accessing empty SRAM (fixes
– GB Memory: Fix HDMA count starting in mode 0 (fixes
– GB Memory: Actually load latch time from savestate
– GB Serialize: Fix deserializing video STAT
– GB Video: Fix 16-bit screenshots (fixes
– GB Video: Fix potential hang when ending mode 0
– GB Video: Fix read mode when enabling LCD
– GBA: Reset active region as needed when loading a ROM
– GBA: Fix keypad IRQs not firing when extra buttons are pressed
– GBA BIOS: Use core’s VRAM variable instead of renderer’s
– GBA Cheats: Fix PARv3 multiline blocks (fixes
– GBA I/O: Fix reading from a few invalid I/O registers (fixes
– GBA Savedata: Fix 512 byte EEPROM saving as 8kB (fixes
– GBA Savedata: Fix size of SRAM saves (fixes
– GBA Video: Fix broken sprite blending hack (fixes
– Python: Fix importing .gb or .gba before .core
– Qt: Fix command line debugger closing second game
– Qt: Fix LOG argument order
– Qt: Fix timezone issues with time overrides
– Qt: Fix sprite export pausing game indefinitely (fixes
– SDL: Fix potential race condition when pressing keys (fixes

– CMake: Fix CPack dependencies for libpng 1.6
– GBA: Detect hardware for Pokémon FireRed ROM hacks
– GBA Cheats: Improve detection of raw cheats
– Qt: Don’t rebuild library view if style hasn’t changed
– Qt: Allow overrides to be saved before a game is loaded
– Qt: Hide mouse immediately when loading
– SDL: Fix 2.0.5 build on macOS under some circumstances
– VFS: Make VFile.truncate work growing files on PSV (fixes