Game Boy Advance emulators: Difference between revisions
mNo edit summary |
mesen should be recommended due to its very good results in accuracy tests, easy to use gui and great multi-system emulation |
||
| Line 25: | Line 25: | ||
|[https://wiki.gbatemp.net/wiki/MGBA ?] ||{{Green}} {{License|MPL2}} ({{License|Copyleft}}) ||{{Ya}} ||{{Ya}} | |[https://wiki.gbatemp.net/wiki/MGBA ?] ||{{Green}} {{License|MPL2}} ({{License|Copyleft}}) ||{{Ya}} ||{{Ya}} | ||
|- | |- | ||
|[[ | |[[Mesen]] | ||
|align=left|{{Icon|Windows|Linux|macOS}} | |align=left|{{Icon|Windows|Linux|macOS}} | ||
|[https://github.com/SourMesen/Mesen2#development-builds {{MesenVer}}] | |[https://github.com/SourMesen/Mesen2#development-builds {{MesenVer}}] | ||
|{{Dunno}} ||{{Green}} {{License|GPLv3}} ({{License|Copyleft}}) ||{{Ya}} ||{{ | |{{Dunno}} ||{{Green}} {{License|GPLv3}} ({{License|Copyleft}}) ||{{Ya}} ||{{Ya}} | ||
|- | |- | ||
|[[NanoBoyAdvance]] | |[[NanoBoyAdvance]] | ||
Revision as of 14:42, 18 February 2026
| Developer | Nintendo R&D |
|---|---|
| Manufacturer | Nintendo |
| Type | Handheld video game console |
| Generation | Sixth |
| Release date | JP: March 21, 2001 NA: June 11, 2001 PAL: June 22, 2001 |
| Discontinued | WW: 2010 |
| Predecessor | Game Boy Color |
| Successor | Nintendo DS |
| Emulated | ✓ |
- For emulators that run on the Game Boy Advance, see Emulators on Game Boy Advance.
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 the 21st of March 2001, in North America on the 11th of June and in Australia and Europe on the 22nd of June and retailed for $99.99 ($182 in 2026). It has a ARM7TDMI CPU at 16.78 MHz and a Zilog Z80 CPU at 8 MHz and 4 MHz. It has 288 KB of RAM and 96 KB of VRAM.
The GBA is one of the few cases of emulation being available prior to the release of the console due to the existence of tech demos. Due to the console's relative simplicity and the low system requirements for emulation, several emulation options capable of running commercial games were available early in the console's lifespan. Emulation has only continued to advance since then, with modern offerings being highly accurate and playable on many devices.
Emulators
- ↑ endrift confirming the libretro core is tracking the master branch, However, even though it's updated frequently, some hardware features are exclusive to the standalone version. Therefore, using the standalone version is recommended.
- ↑ CI-Windows CI-Linux CI-Macos
- ↑ Superseded by ares.
- ↑ Libretro core is active; unofficial standalone port for Android is not.
- ↑ 5.0 5.1 libretro core-only.
- ↑ Superseded by Linkboy.
- ↑ Multiple versions available. Pick the version that fits best with your specific setup.
- ↑ Game Boy Interface is recommended instead
- ↑ Recommended on DS
Comparisons
- For accuracy tests comparison of these emulators, see Emulation accuracy#Further reading.
- mGBA
- Free and open-source Game Boy/Color and Game Boy Advance emulator developed by endrift. Written from scratch, it aims for speed, accuracy, and portability. Yet, it is the most complete GBA emulation effort with enhancements and feature support, passing the older project VBA and its forks. It is also available as a libretro core for RetroArch. As of 0.9.0, mGBA with a stripped-down GUI has been integrated into Dolphin for games supporting connectivity features.
- NanoBoyAdvance
- Highly accurate[1] Game Boy Advance emulator. It aims for cycle-accurate emulation when possible (CPU, DMA, timers, PPU and Game Pak prefetch), while also offering enhancements such as improved audio quality. Very high compatibility, including games that require emulation of peculiar hardware edge-cases. Unfortunately, following the release of the next major update, the developer "fleroviux" will step down from actively developing the project.[1]
- GBAHawk
- A fork of the BizHawk emulator focusing on console verification of Gameboy Advance TASes and hardware research.[2]
- Visual Boy Advance (VBA)
- The original GBA emulator. Discovered to have an ACE vulnerability detailed below.
- Visual Boy Advance-M (VBA-M)
- A fork with additional minor improvements. It is behind in terms of accuracy compared to mGBA or other recommended GBA emulators, but is still useful for its robust debugging features and sound interpolation that reduces hissing.
- VBA-Next
- A RetroArch fork from an older revision of VBA-M with added speedhacks and tweaks, making it useful for lower-end devices. A bit less accurate in some respects, but fixes a few games such as Advance Wars 2.
- SkyEmu
- Low-level Game Boy/Color and Game Boy Advance emulator. Its primary focus is to provide a good user experience through a good tradeoffs mixture accuracy[2], performance, features, and usability. Capable of full instruction pipeline, prefetch emulation, and per pixel PPU Implementation capable of both scan line and mid-scan line effects.
- higan / ares
- Accuracy wise, it is behind compared to NanoBoyAdvance and SkyEmu (and maybe mGBA), but it has dot-based instead of scanline-based renderer and does a better job compared to VBA-M. It is also behind in terms of compatibility compared to mGBA, NanoBoyAdvance, and SkyEmu, but Ares stands out being a multi-system emulator and supports some useful enhancements, like shaders/filters and simple debug features.
- Mesen
- It has potential to be the best GBA debugger in the future. placeholder text
- MAME
- Has a
gbadriver markup as working, but both graphics and sound are "imperfect" as of version 0.280.
- gpSP
- Originally made for the PSP, its last official version was 0.91. There are, however, two forks of interest: 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. TempGBA is another good fork. For other platforms, there is a libretro port of gpSP with fast x86 and ARM dynarecs. While it is behind the best GBA emulators in terms of accuracy, its great performance makes it a viable option for old/underpowered machines or for using extreme fast-forward in games.
- Pizza Boy A
- Likely due to the yuzu situation, the project was pulled from the Play Store by its developer after seven years of development and was presumed dead in 2024[3][4][5]. However, in April, the project was renamed and development has resumed[6][7][8].
- GBA support was added to Nintendo Switch Online Expansion Pack in February 2023, alongside GB games exclusive to the normal tier;
- Users are limited to the selection of games Nintendo chooses to make available on the service;
- Can support Online and Local Play with other Switch Online Expansion Pack users (up to 4 players, Local Play must be with individual Switch systems);
- Accurate enough at the point of being able to pass any of the AGB Test Cartridge (v10) tests without a single failure;
- Video filters can be applied;
- Allows exchange of regional variants in the International version of the app (USA and/or European versions);
- Allows rumble support for games that had such a function back when played in a Game Boy Player (Super Mario Advance 4: Super Mario Bros. 3, Mario & Luigi: Superstar Saga)
- With version 3.0.0, it adopted the Nintendo Classics brand; adds the GBA BIOS as an easter egg, individual remaps and proper 1080p upscaling in handheld mode.
- Different games between regions (Japan and International)
NOTE: There's a huge ACE vulnerability affecting VBA and most of its forks, except for VBA-M. The function for adding GameShark codes ("Import > GameShark code file") doesn't check if the file's size is within 1024 kilobits, meaning cheat code files from dubious sources can be engineered with malware in mind. There is good news; VBA-M still doesn't do a sanity check for those files, but it just crashes instead of letting the code wreak havoc. So, depending on your use case, avoid using:
- Cheat code files bigger than 1024 KB that you got online from untrustworthy sources.
- The import code files feature.
- The old emulator altogether, and settle for other options like mGBA or VBA-M. All of them support the same SRAM save data the cartridge uses.
List of recommended GBA emulators for Android:
- 10 best Game Boy Advance, Game Boy Color, and Game Boy emulators for Android (SEPTEMBER 2, 2018. Includes some emulators not found in the above charts. Reviews may be subjective.)
Enhancements
| Name | mGBA | Mesen | NanoBoyAdvance | SkyEmu | ares | GBE+ | VBA-M | GBAHawk | BizHawk | No$GBA | |
|---|---|---|---|---|---|---|---|---|---|---|---|
| Controls | Input lag-mitigating technique | ~[lower-alpha 1] | ✓ | ? | ? | ? | ? | ? | ? | ? | ? |
| Turbo button | ✓ | ✓ | ? | ? | ? | ? | ? | ? | ? | ? | |
| Graphics | Remove sprite limit The GBA has hardware support for up to 128 sprites.[9] – this limitation is indirectly responsible for some flickering seen in games at times, and different strategies must be used to achieve certain game design elements. When this option is enabled, the limit is disabled, allowing more sprites to be drawn on the same line. |
?* | ? | ? | ? | ? | ? | ?* | ? | ? | ? |
| Resizable internal resolution | For emulation of 2D systems, the resolution can only be upscaled, making the pixels more visible. | ||||||||||
| Sprite replacement | ✗ | ✗ | ✗ | ✗ | ✗ | ? | ✗ | ? | ✗ | ✗ | |
| Widescreen hack | ? | ? | ✗ | ? | ✗ | ? | ? | ? | ? | ? | |
| Performance | Internal frame rate hack | ? | ? | ✗ | ? | ✗ | ? | ? | ? | ? | ? |
| Overclock | ✗* | ✓ | ✗ | ✗ | ✗ | ?[10][11] | ✗ | ? | ✗ | ✗ | |
| Post-processing | AI-powered filter compatible (Freestyle) |
? | ? | ? | ? | ? | ? | ? | ? | ? | ? |
| Filters | ✓ | ✓ | ✓ | ? | ✓ | ? | ✓ | ? | ? | ? | |
| Inverse tone mapping compatible | ? | ? | ? | ? | ? | ? | ? | ? | ? | ? | |
| Post-rendering anti-aliasing (FXAA, TXAA and MLAA/SMAA) |
✓ | ? | ✗ | ? | ? | ? | ? | ? | ? | ? | |
| Post-rendering scaling (Sharp bilinear, Lanczos and FSR 1) |
✓ | ? | ✗ | ? | ? | ? | ? | ? | ? | ? | |
| Shader chain | ~[lower-alpha 1] | ✗ | ✗ | ✗ | ✓* | ✗ | ~[lower-alpha 1] | ? | ✗ | ✗ | |
| Quality of life | Automatic updater | ? | ✓ | ? | ? | ? | ? | ? | ? | ? | ? |
| Big Picture Mode | ? | ? | ? | ? | ? | ? | ? | ? | ? | ? | |
| Built-in cheat manager | ✓ | ? | ? | ? | ? | ? | ? | ? | ? | ? | |
| Built-in custom resolution/CRTSwitchRes For using this on Windows OS you need CRT Emudriver. Another option is using EDID editor tool such as "Custom Resolution Utility". |
Exclusive to libretro cores and GroovyMAME at the moment. Also there is a project for achieving software emulators like libretro cores and GroovyMAME send the raw RGB data over a network to a core running on MiSTer, it basically turns the MiSTer into a GPU for the emulator allowing for easy setup and use with CRT TVs/Arcade monitors. | ||||||||||
| Built-in mod editor and manager | ? | ? | ? | ? | ? | ? | ? | ? | ? | ? | |
| Built-in patch manager | ? | ? | ? | ? | ? | ? | ? | ? | ? | ? | |
| Command-line options | ? | ✓ | ? | ? | ? | ? | ? | ? | ? | ? | |
| Pause/Resume emulation | ✓ | ✓ | ✓ | ✓ | ? | ? | ✓ | ? | ? | ✓ | |
| Per-game profiles | ? | ? | ? | ? | ? | ? | ? | ? | ? | ? | |
| Portable and stealth Useful enhancement feature for non-personal computer use or plug-and-play scenarios. However, the software may still require the necessary prerequisites and dependencies for your operating system if it is not statically linked. |
✓ | ? | ? | ? | ? | ? | ? | ? | ? | ? | |
| Streamable compression format | ✓ | ? | ✓ | ? | ? | ? | ? | ? | ✓ | ? | |
| TAS features | Fast forward/Turbo speed | ✓ | ✓ | ? | ? | ? | ? | ? | ? | ✓ | ? |
| Frame step (forwards and backwards) |
? | ? | ? | ? | ? | ? | ? | ? | ? | ? | |
| Macros/Scripts/Lua | ✓[lower-alpha 2] | ? | ✗ | ? | ✗ | ✓ | ? | ? | ✓ | ? | |
| Movie recording/playback | ?[12] | ? | ? | ? | ? | ? | ? | ? | ✓ | ? | |
| Rewind | ✓ | ✓ | ? | ✓ | ? | ? | ? | ? | ✓ | ? | |
| Save states | ✓ | ✓ | ✓ | ✓ | ? | ? | ? | ? | ✓ | ? | |
| Misc. | Audio filters and presets Simulation of characteristic playback limitations and coloration of vintage consumer audio hardware, such as CRT television speakers, arcade cabinets, handheld consoles, early PC sound outputs, and low-fidelity integrated speakers. These filters are not intended to be perfectly accurate recreations, but rather to evoke the tonal qualities, distortion, bandwidth limits, resonance, and compression associated with 8-bit and 16-bit era devices. Examples include mono or narrow stereo output, reduced frequency response, speaker cone distortion, mild saturation, aliasing, and preset lo-fi profiles inspired by classic TVs, portable game systems, radios, and retro multimedia hardware. |
Exclusive to libretro cores at the moment. | |||||||||
| Debug features | ✓* | ✓ | ✓ | ? | ✓ | ? | ✓ | ? | ? | ✓ | |
| EmuVR support | Exclusive to libretro cores at the moment. | ||||||||||
| High quality audio mixer HQ audio mixer for games which use Nintendo's MusicPlayer2000 sound engine |
~ | ? | ✓ | ? | ✗ | ? | ? | ? | ? | ? | |
| Netplay You can use either yuzu/Ryujinx for playing GBA games online via netplay. This enhancement shouldn't be confused with GBA connectivity features emulation. |
WIP | ✗ | ✓ | ✗ | ✗ | ✗ | ✗ | ? | ✗ | ✗ | |
| RetroAchievements | ~[lower-alpha 1] | ✓ | ✗ | ~ WIP | roadmap | ? | ~[lower-alpha 1] | ? | ✓* | ✗ | |
| Rich Presence (RPC) Allows the emulator to share real-time game session details (e.g., current game title, level, boss, playtime, or custom status) with external applications. This enables features such as displaying what you're playing on your profile, inviting friends to spectate, or triggering join-in-progress functionality where supported. |
? | ? | ? | ? | ? | ? | ? | ? | ? | ? | |
| Screen translator Using optical character recognition (OCR) and other techniques, this feature can provide live translation of in-game text, text-to-speech for visually impaired users, and more — either on demand or automatically. |
You can use RetroArch's AI Service or the standalone offline bquenin's Interpreter. | ||||||||||
- ↑ 1.0 1.1 1.2 1.3 1.4 Exclusive to libretro core. There is also a modified version of VBA-M for RetroAchievement support. Feature request: RetroAchievements integration in mGBA standalone.
- ↑ Exclusive to standalone version.
Hardware features and peripherals
| Name | mGBA | Mesen | NanoBoyAdvance | SkyEmu | ares | GBE+ | VBA-M | GBAHawk | BizHawk | No$GBA | |||
|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
| Cartridge features | Real-time clock | ✓ | ✓* | ✓ | ✓ | ~*[lower-alpha 1] | ✓* | ✓ | ? | ✓* | ✓* | ||
| Rumble | ✓ | ? | ? | ? | ? | ✓* | ? | ? | ? | ? | |||
| Solar sensor | ~[lower-alpha 2] | ? | ~[lower-alpha 3] | ~[lower-alpha 3] | ✗ | ~[lower-alpha 3] | ~[lower-alpha 3] | ? | ? | ~[lower-alpha 3] | |||
| Tilt sensor Koro Koro Puzzle - Happy Panechu and Yoshi's Universal Gravitation use standard accelerometer, and WarioWare: Twisted! uses a different, much larger version but with a more accurate motion sensor. |
✓ | ? | ✗ | ? | ? | ✓* | ✓[lower-alpha 4] | ? | ? | ✗ | |||
| Hardware features | Game Boy (Color) backwards compatibility emulation/Enhanced Mode | ✓ | ? | ✗ | ? | ? | ? | ?* | ? | ? | ✗ | ||
| Game Boy Player Rumble Different from cartridge rumble. Very few games utilize this feature such as Super Mario Advance 4: Super Mario Bros. 3, Mario & Luigi: Superstar Saga, and Drill Dozer. |
✓ | ? | ? | ? | ? | ? | ? | ? | ? | ? | |||
| System BIOS | ✓ | ? | ? | ✓ | ? | ? | ✓ | ? | ? | ✓ | |||
| Peripherals | Connectivity | Link Cable | GameCube connectivity | ✓[lower-alpha 5] | ? | ✗ | ✗* | ? | ✗ | ~[lower-alpha 5] | ? | ✗ | ✗ |
| Multi-Pak | ✓[lower-alpha 5] | ? | ✗ | WIP | ? | ✗ | ✓ | ? | ✓ | ✓ | |||
| Single-Pak | ✓[lower-alpha 5] | ? | ✗ | WIP | ? | ✗ | ✗* | ? | ✓ | ✓ | |||
| Mobile Adapter GB | ? | ? | ? | ? | ? | ? | ? | ? | ? | ? | |||
| Wireless Adapter | ✗ * | ? | ✗ | ✗ | ? | ~ | ~ | ? | ✗ | ✗ | |||
| e-Reader | e-Reader + GBA Game | ~[lower-alpha 5] | ? | ✗ | ? | ? | ? | ~[lower-alpha 6] | ? | ? | ~[lower-alpha 6] | ||
| e-Reader + NGC Game | ~[lower-alpha 5] | ? | ✗ | ✗ | ? | ✗ | ✗ | ? | ✗ | ✗ | |||
| Standalone | ~[lower-alpha 5] | ? | ✗ | ? | ? | ? | ~ | ? | ? | ✓ | |||
| Game Boy Advance Video | ✓ | ✓ | ? | ✗ | ? | ? | ✓ | ? | ? | ? | |||
| Special hardware | Agatsuma's TV Tuner | ✗ | ✗ | ✗ | ✗ | ✗ | ✓[13][14] | ✗ | ? | ✗ | ✗ | ||
| AGS-006 family Play-Yan Play-Yan Micro Nintendo MP3 Player |
✗ | ✗ | ✗ | ✗ | ✗ | ✓[15][16] | ✗ | ? | ✗ | ✗ | |||
| Battle Chip Gate | ✓ | ✗ | ✗ | ✗ | ✗ | ✓ | ✗ | ? | ✗ | ✗ | |||
| Campho Advance | ✗ | ✗ | ✗ | ✗ | ✗ | ✓[17][18] | ✗ | ? | ✗ | ✗ | |||
| Glucoboy | ✗ | ✗ | ✗ | ✗ | ✗ | ✓* | ✗ | ? | ✗ | ✗ | |||
| Jukebox | ✗ | ✗ | ✗ | ✗ | ✗ | ✓* | ✗ | ? | ✗ | ✗ | |||
| Magical Watch | ? | ? | ? | ? | ? | ? | ? | ? | ? | ? | |||
| Official Nintendo Infrared Adapter | ✗ | ✗ | ✗ | ✗ | ✗ | ✓ | ✗ | ? | ✗ | ✗ | |||
| Power Antenna & Bug Sensor | ✗ | ✗ | ✗ | ✗ | ✗ | ✓ | ✗ | ? | ✗ | ✗ | |||
| Toys-to-life | Multi Plust On System | ✗ | ✗ | ✗ | ✗ | ✗ | ✓ | ✗ | ? | ✗ | ✗ | ||
| Soul Doll Adapter | ✓ | ✗ | ✗ | ✗ | ✗ | ✓ | ✗ | ? | ✗ | ✗ | |||
| Turbo File Advance | ✗ | ✗ | ✗ | ✗ | ✗ | ✓ | ✗ | ? | ✗ | ✗ | |||
| Virtureal Racing System | ✗ | ✗ | ✗ | ✗ | ✗ | ✓* | ✗ | ? | ✗ | ✗ | |||
| Misc. | Cartridge hot swapping It was sometimes possible to apply cheats (such as a player having infinite lives) and other temporary software alterations to games by hot swapping cartridges, even though the cartridges were not designed to be hot swappable. |
? | ? | ? | ? | ? | ? | ? | ? | ? | ? | ||
| Cartridge tilting Cartridge tilting is an action performed on cartridge-based systems to create otherwise impossible glitches. Cartridge tilting is not a glitch, but rather the process which creates glitches.[lower-alpha 7] |
There is no emulator currently includes built-in cartridge tilting simulation. As a workaround, you can try the external Real-Time Corruptor (RTCV) tool. It is a real-time memory/data corruption tool for inducing glitches during emulation, which might mimic some effects of cartridge tilting (e.g., visual/audio artifacts or crashes). However, it is not a true "cartridge tilting" simulator, as it works on live memory rather than simulating cartridge read errors. | ||||||||||||
| Joy Carry Cartridge GameCube connectivity | ? | ? | ? | ? | ? | ? | ? | ? | ? | ? | |||
- ↑ Though there is code that shows RTC support, ares currently does not emulating the Pokémon and Boktai games correctly.
- ↑ Only the Nintendo Switch port allows use of the Switch's light sensor.
- ↑ 3.0 3.1 3.2 3.3 3.4 Only manual configuration. No automatic detection via light sensor/camera input/weather forecast/GPS location/other.
- ↑ Motion Control support present on RetroArch VBA-M core.
- ↑ 5.0 5.1 5.2 5.3 5.4 5.5 5.6 Does not work on libretro core. Feature Requests: GBA Game Link Support, e-Reader support for for VBA-M libretro core.
- ↑ 6.0 6.1 Incomplete: this emulator will not recognize the games they're connected to. Normally, after choosing "Connection/to Game Boy Advance", the e-Reader should have "(Game Name) Game Data" preloaded in its internal EEPROM memory and appearing in a tiny black box on-screen, but this can't happen in either No$GBA, VBA-M, or VBA e-Reader mods. Without this step done, scanning e-Cards will just yield an error message. e-Reader/GBA game pack emulation in this emulator can be still reached by ripping a save game from real e-Reader hardware, with this step already done. Using this save with the e-Reader BIOS, it's possible to connect to the GBA game pack, and scan e-Cards… though it's a very less-than-ideal solution and there are only pre-baked e-Reader save files for Super Mario Advance 4 (U), Pokémon Emerald (J), LeafGreen (J) and FireRed (J)."
- ↑
Cart Tilt Showcase Playlist
GB/GBC backward compatibility emulation/Enhanced Mode
Game Boy Advance is backwards compatible with GB/GBC, resulting in some GB/GBC games enhanced if you play on GBA. Having said that, this shouldn't be confused with Game Boy/Game Boy Color emulation or Super Game Boy 1/2. Some of the multicore emulators support both GB/GBC and GBA emulation; however, they don't have support for "backwards compatibility/GBA mode" emulation.
Real-time clock
A few cartridges use a battery-backed real-time clock that keeps track of time even when the cartridge is separate from the GBA, permitting in-game events that activate on certain times of day. Paradoxially, while almost no games support this feature, three of the few that do are the extremely popular Pokémon games, making this feature highly requested.
Games that use the real-time clock include:
- Pokémon Ruby/Sapphire/Emerald
- Manages the growth of berries
- Resets NPCs that give berries daily
- Resets the daily Lottery
- Permits evolution of Eevee into Espeon or Umbreon
- Changes the tide of Shoal Cave, which changes its item and Pokémon selection based on tide
- Re-rolls the possibility of whether Mirage Island appears
- Boktai 1/2/3
- Manages the growth of solar fruit
- Activates sunrise, which grants Morning Dew and the Astro Battery when looking at the top of the Solar Tree
- Changes the lighting of the outside environment, including shadows, which are necessary in successfully passing the Forest of Delusion
- Activates sunset, which reactivates the Gun Del Sol after an Overheat
- Rockman EXE 4.5 Real Operation
- Sennen Kazoku
- Makes the game bootable, since the game prevents progress if the clock cannot run
- Tracks time passing while generations of families develops (the main gameplay)
Game Boy Advance Video
- See also: Game Boy Advance Video on Wikipedia
GBA Videos were officially released cartridges with movies/shows on them for viewing on GBA hardware. Most recommended GBA emulators should be able to play this type of cartridge if its 32MB, although
not all of it supports 64MB ones.
- Game Boy Player is not compatible with this feature
- mGBA support both 32MB and 64MB video cartridges.
- Mesen and Mednafen can play this type of ROM, too. Tested on 4Kids and Nickelodeon cartridges.
- See this dedicated page for more information about home media playback support for emulation pieces of software.
- See Dumping/ripping.
Connectivity
- Main article: Netplay#Playing Local Multiplayer over Internet
GBA Multi Pak Link Multiplayer (1~4GBA)
- VBA-M
- This doesn't work with old VBA versions.
- Disable "Pause when Inactive," configure all four Joypads each with their own button layout, enable "Link, Enable GBA Link." Now open VBA-M again as many times needed for each player, and have them each use their separate Joypad configuration. Each player will have a separate SRAM save file.
- VBA Link + e-Reader
- Useful if you want to use the Pokémon Battle-eCards. Downloads and instructions reside here.
- mGBA
- Select "New multiplayer window" from the menu. As you load your ROMs into each window, "Player [X] of [Y]" will appear across the title bar. This can be done for up to four players. However, multiple instances of the same ROM will share a save file.
- No$GBA
- Set the number of emulated Game Boys in the emulation setting to be 2 or more, and the Link Game Paks Options to Game Pak in all GBAs.
Note: A purple end in GBA means player 1, while a gray end in GBA means P2, P3, or P4. Daisy-chaining up to three cables will set up the additional P3 and P4 by connecting the purple end to a purple midsection.[3]
GBA Wireless Multiplayer
The wireless adapter has the ability to connect five players[4] to each other and includes its own software to download a subset of another player's game that runs when no cartridge is inserted. Pokémon Fire Red and Leaf Green came bundled with this accessory, but it can also work with Pokémon Emerald and the Classic NES Series.
The libretro core of gpSP has successfully emulated the wireless adapter[5]. GBE+(in v1.6) and VBA-M partially implemented the support of this add-on, though it's still a work-in-progress, and can only access menus. Support of this add-on is currently on mGBA's roadmap.
GameCube Connectivity
The Game Boy Advance can also connect to the GameCube.[6] e-Reader functionality with GC games has now been emulated thanks to mGBA. Dolphin supports connectivity through rudimentary joybus emulation made in parallel with VBA-M. Because this emulator has fallen behind, the feature was recently added to mGBA, a more accurate emulator. They showcased early higan support in a video, but nothing has been released as yet.
Dolphin/mGBA or VBA-M
- Requires mGBA 0.9.0 or newer or VBA-M r947 or newer.
- Reduce your volume. You won't want it to be high, especially with headphones.
- Open Dolphin and mGBA/VBA-M. Make sure neither is blocked by your firmware.
- In Dolphin, launch the game and navigate to the area where you're asked to connect the GBA. Then, under the controller options, assign the GameCube controllers as "GBA" for whichever you need.
- If you're using mGBA, open the File menu, and click Connect to Dolphin.
- In the dialog box that appears, press Connect. mGBA will boot up the GBA BIOS if no rom has been selected.
- If you're using VBA-M, uncheck Pause When Inactive in Options > Emulator. Then, under Options > Link > Joybus Options, make sure the "Enable Joybus Connection" is on and set "IP/Hostname" to use default settings, that is
127.0.0.1orlocalhost. - Dolphin will freeze.
- Open the GBA BIOS in VBA-M as if it were a regular GBA ROM. The regular splash screen will stutter a bit.
- In either emulator, Dolphin should recognize the Joybus Link by then, and the GC game will detect that a GBA was connected.
- To connect other units, open another emulator instance and repeat its process.
Notable games that work:
- The Legend of Zelda Four Swords Adventures: Both two modes are available for the US/PAL version work. The third Japan-only Navi Trackers mode works as well.
- Final Fantasy Crystal Chronicles
- Billy Hatcher and the Giant Egg: You can download games to your GBA. Amusingly, a RAM dump from VBA-M can be opened as a functional GBA ROM.
- Kururin Squash!
- Sonic Adventure 2: Battle (buggy)
Notable games that don't:
- Mr. Driller: Drill Land
- lots more
See all games with GC-GBA connectivity
e-Reader
- Main page: GBA e-Reader emulators
This device can read content off e-Card paper stripes either as standalone content, or additional content to GBA/GC games. Can be thought of as DLC.
Inputs
- Solar Sensor
1. Emulation: This feature has been emulated in mGBA, VBA-M, No$GBA 2.6 onwards, and My Boy!:
- mGBA: In the shortcut editor, shortcuts can be configured to raise/lower the solar level incrementally or to set any particular brightness level. The Nintendo Switch port of mGBA also allows use of the Switch's light sensor.
- VBA-M: This emulator uses the keys of the lateral motion controls to change the Solar Sensor levels. You can find those keys and modify them in Options → Input → Configure… → "Special" tab.
- No$GBA: Under Options/Emulation Setup, you can find the Solar Sensor Level option. You're given the choice between only three brightness levels though: Darkness, 100 Watts, and Bright Sunlight.
- My Boy!: This emulator uses a button combination or the device's light sensor to check the brightness level. You can change this under Settings → Input → Cartridge Features → "Solar Emulation By" menu.
- Pizza Boy GBA: Uses the device's light sensor to check the brightness level.
2. ROM Patches: In abscence of more robust emulation, the normal solution was implementing patches that adjust the level of sunlight through a key sequence. These still retain their use when involving flashcards or official solutions, say, if you are using Virtual Console injections in the 3DS.
Currently, Prof9 developed patches that cover every version of every GBA game, including prototypes and fan-translations. The key sequences were designed in a way that minimizes interference with other controls, mainly camera controls. Prof9 also included "cleaner" patches that undo the effects of more antiquated patches, though those "cleaner" patches will not be necessary if you downloaded a fresh ROM.
However, combinations of Boktai 4 JP with earlier solar sensors to get solar sensor bonuses aren't emulated yet in any DS emulator.
- Motion Control
1. Emulation: This feature has been emulated in mGBA, VBA-M, My Boy! and Pizza Boy:
- mGBA includes full motion control support using the motion sensor present in controllers like DualShock 4, DualSense and Switch Pro Controller.
- VBA doesn't emulate this feature, and its "Motion Control" option (with keys mapped to each tilt direction) covers the GBC title Kirby Tilt'n Tumble.
- VBA-M core on RetroArch includes motion control support by using a controller stick (left or right)
- My Boy! uses the device's accelerometer to emulate this feature. You can change the sensitivity under Settings → Input → Cartridge Features → "Motion sensitivity" menu.
- Pizza Boy GBA also used the device's accelerometer to emulate this feature for games like WarioWare: Twisted and Yoshi's Universal Gravitation.
2. ROM Patches: Fixes applied directly to the ROM (with the Lunar IPS utility, or at runtime using mGBA or VBA-M and naming them the same as the ROM in the same directory) by various scene release groups to make it compatible with any emulator/flashcard. D-Pad controls substituting motion controls don't work as well here as they tilt it "too much" at times to be very playable.
- Rumble Feature
There are various rumble features found in GBA/GBC cards:
- GBC Rumble: GBC games which came on special cartridges with additional hardware for the rumble feature. It was actually used by dozens of releases, and some games like Tarzan 2 GBC were programmed to have rumble support but shipped on regular cartridges. Emulated by VBA-M GX (Wii-only), which also covers the dummied-out rumble games. Not emulated anywhere else.
- GBA Gyro Rumble: WarioWare Twisted was shipped on a cart with rumble support. It would rumble when you tilt to one "extreme." Emulated by VBA-M GX (Wii-only, functional), mGBA has this feature, but it is not enabled in current builds,
- GBA Variable Rumble: Drill Dozer has rumble support, with variable force and speed depending on the rock type you drill through in-game. Partially emulated by VBA-M GX (Wii-only, functional), mGBA has this feature, but it is not enabled in current builds.
- Game Boy Player Rumble: Many regular GBA games, shipped on regular cartridges, enable rumble during gameplay when played on GB Player hardware (which is essentially GBA hardware). These include Super Mario Advance 4, Summon Night Hajimari no Ishi, Mario & Luigi: Superstar Saga, Shikakui Atama wo Marukusuru Advance (both releases), Pokémon Pinball, and Drill Dozer which disables its original cartridge rumble scheme and enables this one instead. None of the emulators support this, though it is being under development for the mGBA emulator.
Special hardware
Emulation of these is spotty, apart from GBE+, which supports almost all GBA peripherals.
- Turbo File Advance
The Turbo File Advance was a peripheral for the GBA which allowed certain games to write data to it, acting as an external memory card. Developed by Sammy Corporation, it was compatible with only 2 games, RPG Tsukuru Advance and Derby Stallion Advance.
GBE+ supports this add-on.
- Power Antenna & Bug Sensor
The Power Antenna & Bug Sensor were small plastic peripherals that interfaced with the GBA's serial port and contained LEDs that flashed in response to certain events within Keitai Denjuu Telefang 2, the only supported GBA game.
GBE+ supports this add-on.
- Official Nintendo Infrared Adapter
As the GBA didn't have native infrared connectivity, Nintendo released an official IR adapter called the AGB-006 to restore this functionality. However, it only saw use in Cyber Drive Zoids: Kiju no Senshi Hyuu to control specific Zoid toy models.
GBE+ supports this add-on.
- Figurine Readers
Some GBA games/series had figurine reader add-ons, essentially precursors to the likes of Skylanders and Amiibo.
- Soul Doll Adapter (Legendz: Island of Ordeal/Sign of Nekuromu)
- Multi Plust On System (Bouken Yuuki Pluster World: Plust Gate/EX/Pluston GP)
GBE+ has support for both the Soul Doll Adapter and Multi Plust On System, while mGBA supports the Soul Doll Adapter.
- Battle Chip Gate
A peripheral device by Capcom and Takara compatible with Mega Man Battle Network 4 (Japanese edition). It can be connected to the Game Boy Advance and allow the player to transmit real-life toy Battle Chips to the NetNavis in the game. It is also compatible with toy Advanced PETs and Rockman.EXE 4.5 Real Operation. It can also unlock minigames in Mega Man Zero 3.
mGBA and GBE+ support this add-on.
- Glucoboy
An obscure medical peripheral designed to monitor a child's blood glucose levels and reward them for keeping tabs on their condition. Bayer Healthcare destroyed all unsold stock making it hard to find. It is emulated in GBE+ since version 1.8.
Emulation issues
Oversaturation

Right: The "Game Boy Colors" mode on VBA-M.
The screen on the original Game Boy Advance is not backlit and can be hard to see in some conditions. To compensate, game developers often used oversaturated colors by default so that the result would look normal on hardware. On standard computer screens, saturation is not an issue, so this can look jarring and undesirable for gameplay. Some games made after 2003 may have also taken the Game Boy Advance SP model (AGS-001) into account, since its screen was actually frontlit; a newer model, AGS-101, was released in 2005 that was actually backlit. For everything else though, emudevs have given some solutions:
Emulator Options
No$GBA: Under "Emulation Options," select "GBA Mode". There are four modes.
- GBA (no backlight): Strong desaturation
- GBA SP (backlight): Strong desaturation
- Nintendo DS in GBA mode: Some desaturation
- VGA Mode (poppy bright): No desaturation
mGBA: Under Tools > Settings > Shaders > Load New Shader, select "gba-color.shader"
VBA-M: (nightly only): Under Options > Game Boy Advance, you will find the option, LCD Filter.
higan: Under Settings > Video Filter, you will find the "Color Emulation" checkbox.
- Color Emulation off: No desaturation
- Color Emulation on: Gamma correction and adjusted color range.
NanoBoyAdvance: Enabled by default. Under Config > Video > Color Correction > GBA
SkyEmu: Color Correction is set by default to 1.00 force in this emulator, and there are 2 types of desaturation methods. The first one is named SkyEmu and is selected by default, and the other one is named Higan and, as its name suggests, is based on higan's color correction. Change the desaturation type by pressing the ≡ button, then select GBA Color Correction Type. You can also change the intensity of the desaturation: slide the slider to 0.00 to brighten the screen a tad bit.
Shaders
Cg shaders can be used in OpenEmu or RetroArch that adjust the colors to those of a real GBA screen, as well as other screen types. These are available in GLSL[7] for OpenGL, and Slang[8] for Vulkan.
For GBA, there is gba-color.cg[9], which simulates the color profile of a GBA screen under an external light source more accurately than VBA-M or No$GBA color options. If you prefer the darker color options that those emulators have, then use vba-color.cg[10] instead.
There is also nds-color.cg[11] and psp-color.cg[12], which simulates the color profiles of the original Nintendo DS frontlit screen and the PSP-1000/PSP-2000 backlit screen, respectively.
For Game Boy Advance shader presets, see the "Shader Presets" page;
- Main article: Shader_Presets
Horrible Sound Quality
As a handheld rushed to the market (because of the WonderSwan Color competition), the Game Boy Advance had some cut corners. The sound hardware was affected the hardest: while it could play Game Boy Color sound in addition to samples and sequenced music like what would be heard on the SNES, the actual playback quality is awful compared to the sound samples stored internally in the ROM.
There were tools made to extract the internal high-quality music (as midi files plus a sound font, to be played on foobar2000); however, interest remains limited in implementing its playback in real-time on emulators. It's worth noting that NanoBoyAdvance includes an high quality audio mixer and there's a very experimental feature exists on mGBA (nightly versions) under Enhancements as "XQ GBA Audio", but it's very buggy and still limited to games using the standard sound engine, the so-called "Sappy" engine, which is still a big part of the GBA's software library.
High Resolution Affine Transformation Graphical Effects
Similarly to the scaling effects used on the Super NES known commonly as "Mode 7" graphics, the Game Boy Advance has affine transformation effects for some backgrounds and individual sprites that can be done in hardware. Due to the GBA's lower resolution, some detail may be lost.
The mGBA emulator added an Enhancements menu where you can change the resolution of those graphical effects, for a smoother effect. The graphical render engine will need to be OpenGL for those to take effect. It won't work on games where those effects are done in software instead of the hardware scaling features (like the 3D environment in Asterix & Obelix XXL)
Save formats
Originally, when saves were implemented, nobody settled on a format, so the Visual Boy Advance devs made their own. Because other emulators often went with raw data, having to exchange different saves caused problems. The original Visual Boy Advance tries to figure out which format a given save is but often fails at it. By explicitly telling the emulator to read it as a specific type using a file called vba-over.ini, VBA complies. VBA-M includes this config file by default, but older revisions like VBA 1.7.2 and VBALink don't.
The VBA-Next and VBA-M cores in Libretro have the file baked into the binary so that it can load raw .sav files. However, they convert the format to its own derivative at exactly 136 KB every time, with save type info contained within the file. This completely avoids the previous issues at the cost of incompatibility with standalone VBA and most others.
To solve this incompatibility, Libretro devs created a command-line tool to convert .srm save files made from these cores to raw .sav save data for other emulators. It takes standard input (i.e., drag and drop the .srm onto the executable) and outputs accordingly. It can also be done in reverse. A website version of this tool can be found here.
For more information about Game Boy Advance hardware and its reverse engineering;
- Rodrigo Copetti: Game Boy Advance Architecture Practical Analysis
- MVG:
The Story of Quake on the Game Boy Advance,
How the Game Boy Advance knew it was running a Game Boy Game,
Tomb Raider on the Nintendo Game Boy Advance is incredible,
How Graphics worked on the Nintendo Game Boy Advance - martin korth: gbatek
- akkera102.sakura gbadev (Japanese)
- gbadev - gbadoc
- WikiBooks - GBA Development Resources
Notes
- ↑ VBA Next is a Game Boy Advance emulator based on VBA-M 2011 with backported patches for performance and compatibility improvements.
References
- ↑ mGBA suite comparison
- ↑ SkyEmu: Accuracy and Compatibility, SkyEmu: Accuracy on Difficult to Emulate Games.
- ↑ https://www.nintendo.com/consumer/downloads/agblink.pdf
- ↑ https://www.nintendo.com/consumer/downloads/agbwireless_trilingual.pdf
- ↑ https://www.davidgf.net/2024/01/13/gba-wireless-adapter/
- ↑ https://www.nintendo.com/consumer/downloads/agbgcncable.pdf
- ↑ https://github.com/libretro/glsl-shaders/tree/master/handheld/shaders/color
- ↑ https://github.com/libretro/slang-shaders/tree/master/handheld/shaders/color
- ↑ https://github.com/libretro/common-shaders/blob/master/handheld/shaders/color/gba-color.cg
- ↑ https://github.com/libretro/common-shaders/blob/master/handheld/shaders/color/vba-color.cg
- ↑ https://github.com/libretro/common-shaders/blob/master/handheld/shaders/color/nds-color.cg
- ↑ https://github.com/libretro/common-shaders/blob/master/handheld/shaders/color/psp-color.cg
