Game Boy Advance emulators

From Emulation General Wiki
Revision as of 19:02, 1 August 2014 by DoubleNigger (talk | contribs) (Oversaturation)
Jump to navigation Jump to search
The Gameboy Advance handheld console

The Game Boy Advance (often shortened to GBA) is a 32-bit handheld video game console developed by Nintendo. It is the successor to the Game Boy Color. It was released in Japan on March 21, 2001; in North America on June 11, 2001; in Australia and Europe on June 22, 2001.


Name Operating System(s) Latest Version GB/GBC GBA NDS Game Link Support Libretro Core Recommended
higan Windows, OS X, Linux 0.93
iDeaS Windows, Linux
MESS Multi-platform 0.154 ?
Meteor Linux 1.4
No$GBA Windows, MS-DOS 2.7b
Visual Boy Advance-M (VBA-M) Multi-platform r1231
Name Operating System(s) Latest Version GB/GBC GBA NDS Game Link Support Libretro Core Recommended
gpSP PlayStation Portable 0.9
TempGBA4PSP PlayStation Portable 26731013
Visual Boy Advance-M (VBA-M) Wii, Gamecube r1229 ✓ (as VBA-Next)


  • gpSP last official version was 0.9 by Exophase. There are, however, two superior forks: gpSPmod and gpSP-J. gpSP-J has superior compatibility, while gpSPmod has more options for customization (full screen, cheats, etc). Both are superior to Kai.
  • Visual Boy Advance-M (VBA-M) is the best emulator for the GBA. RetroArch's VBA-Next is based off an older revision of VBA-M with added speedhacks and tweaks, making it a bit less accurate in some respects, though it fixes a few games such as Advance Wars 2. Higan's GBA core is cycle-accurate, but is otherwise very much a WIP and not as compatible as either version of VBA.

Emulation issues


Left showing the default game, and right showing No$GBA in GBA (no backlight) mode

The original GBA screen was not backlit, which would render the screen rather dark. To compensate for this, games would be overly saturated. The bright overly saturated colors would appear rather normal on the GBA. In emulation however, this over saturation is not needed. There are several ways to deal with this:


Under "Emulation Options", select "GBA Mode. There are four modes.

- GBA (no backlight) = strong desaturization

- GBA SP (backlight) = strong desaturization

- Nintendo DS in GBA mode = some desaturization

- VGA Mode (poppy bright): zero desaturization




A .cg shader can be loaded in OpenEMU or RetroArch. The settings can be modified by opening up the file in something like Notepad++.

saturation = 0.5;

gamma = 0.9;

luminance = 0.9;

Save file issues

There are a number of different save formats for GBA games. With raw save data, it's very hard to detect what save type it is just by looking at it. Visual Boy Advance tries to autodetect save type but often is incorrect and this causes issues. A fix to this issue is to use a file called "vba-over.ini" to tell VBA what each game's proper save type is, which eliminates most issues regarding save type. Current VBA-M versions come with vba-over.ini by default, but older versions of VBA like VBA 1.7.2 and VBALink did not.

The libretro versions of VBA, libretro-VBA-Next and libretro-VBA-M, come with vba-over.ini baked into the binary so it is able to load raw .sav files, but also changes the save file output to be a 136KB .srm file for every save type, with save type info contained within the file. This completely avoids any save type issues, but makes its save files incompatible with standalone VBA and most other emulators.

Libretro devs created a command line tool to convert libretro-VBA .srm save files to raw .sav save data for other emulators. You can just drag and drop a .srm onto the executable and it will output raw .sav. The same can be done in reverse. A precompiled Windows 64-bit binary of this tool can be found here.