Difference between pages "EPSXe" and "Game Boy Advance emulators"

From Emulation General Wiki
(Difference between pages)
Jump to navigation Jump to search
(2 official team's pages.)
 
(added the Power Antenna & Bug Sensor peripherials)
 
Line 1: Line 1:
{{lowercase title}}
+
{{Infobox console
{{Infobox emulator
+
|title = Nintendo Game Boy Advance
|title = ePSXe
+
|logo = gbagba.png
|logo = ePSXe.png
+
|developer = [[:Nintendo]]
|logowidth = 100
+
|type = [[:Category:Handheld consoles|Handheld game console]]
|version = 2.0.5 <small>(Desktop)</small><br />2.0.8 <small>([[Android emulators|Android]])</small>
+
|generation = [[:Category:Sixth-generation video game consoles|Sixth generation]]
|active = Yes
+
|release = 2001
|platform = Windows<br/>Linux<br/>[[Android emulators|Android]]
+
|discontinued = 2010
|target = [[PlayStation emulators|PlayStation]]
+
|predecessor = [[Virtual Boy emulators|Virtual Boy]]
|developer = Calb, Galtor, and _Demo_
+
|successor = [[Nintendo DS emulators|Nintendo DS]]
|website = [http://www.epsxe.com/ ePSXe.com]
+
|emulated = {{✓}}
 
}}
 
}}
 +
The '''[[wikipedia:Game_Boy_Advance|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. It has a ARM7TDMI CPU at 16.78 MHz and a Zilog Z80 CPU at 8 MHz and 4 MHz. It has 32KB of RAM and 96KB of VRAM.
  
'''ePSXe''' (an acronym for '''enhanced PSX emulator''') is a closed-source, plugin-based [[PlayStation emulators|PlayStation emulator]].
+
==Emulators==
 +
{| class="wikitable" style="text-align:center;"
 +
|-
 +
! scope="col"|Name
 +
! scope="col"|Platform(s)
 +
! scope="col"|Latest Version
 +
! scope="col"|GB/GBC
 +
! scope="col"|NDS
 +
! scope="col"|Game Link Support
 +
! scope="col"|e-Reader
 +
! scope="col"|[[libretro|Libretro Core]]
 +
! scope="col"|[[Emulation Accuracy|Accuracy]]
 +
! scope="col"|<abbr title="Free/Libre and Open-Source Software">FLOSS</abbr>
 +
! scope="col"|Active
 +
! scope="col"|[[Recommended Emulators|Recommended]]
 +
|-
 +
!colspan="13"|PC /x86
 +
|-
 +
|[[mGBA]]
 +
|align=left|{{Icon|Windows|Linux|macOS|FreeBSD}}
 +
|[https://mgba.io/downloads.html {{MGBAVer}}]
 +
|{{✓}} ||{{✓}}<ref group=N name=medusa>Experimental separate build under the name of [[mGBA#medusa|medusa]].</ref> ||{{✓}} ||{{✓}} ||{{✓}} ||? ||{{✓}} ||{{✓}} ||{{✓}}
 +
|-
 +
|[[higan]]
 +
|align=left|{{Icon|Windows|Linux|macOS}}
 +
|[http://byuu.org/emulation/higan {{higanVer}}]
 +
|{{✓}} ||{{✗}} ||{{✗}} ||{{✗}} ||{{✓}} ||? ||{{✓}} ||{{✓}} ||{{✓}}
 +
|-
 +
|[[VisualBoy Advance#VBA-M|VBA-M]]
 +
|align=left|{{Icon|Windows|Linux|macOS|FreeBSD}}
 +
|[https://github.com/visualboyadvance-m/visualboyadvance-m/releases {{VBAMVer}}]
 +
|{{✓}} ||{{✗}} ||{{✓}} ||{{✓}} ||{{✓}} ||? ||{{✓}} ||{{✓}} ||{{✓}}
 +
|-
 +
|iDeaS
 +
|align=left|{{Icon|Windows|Linux}}
 +
|[https://web.archive.org/web/20150311100053/http://ciacin.site90.com/ideas.php 1.0.4.0]
 +
|{{✗}} ||{{✓}} ||{{✗}} ||{{✗}} ||{{✗}} ||? ||{{✗}} ||{{✗}} ||{{✗}}
 +
|-
 +
|[[GBE+]]
 +
|align=left|{{Icon|Windows|Linux|macOS}}
 +
|[https://github.com/shonumi/gbe-plus {{GBEVer}}]
 +
|{{✓}} ||{{✓}} ||{{✗}} ||{{✗}} ||{{✗}} ||? ||{{✓}} ||{{✓}} ||{{✗}}
 +
|-
 +
|[https://fms.komkon.org/VGBA VGBA]
 +
|align=left|{{Icon|Windows|Linux|macOS|FreeBSD}}
 +
|[https://fms.komkon.org/VGBA {{VGBAVer}}]
 +
|{{✗}} ||{{✗}} ||{{✗}} ||{{✗}} ||{{✗}} ||? ||{{✗}} ||{{✓}} ||{{✗}}
 +
|-
 +
|[[MAME]]
 +
|align=left|{{Icon|Windows|Linux|macOS|FreeBSD}}
 +
|[http://www.mamedev.org/release.html {{MAMEVer}}]
 +
|{{✓}} ||{{✗}} ||? ||{{✗}} ||{{✓}} ||? ||{{✓}} ||{{✓}} ||{{✗}}
 +
|-
 +
|Meteor
 +
|align=left|{{Icon|Linux}}
 +
|[https://github.com/blastrock/meteor 1.4.2]
 +
|{{✗}} ||{{✗}} ||{{✗}} ||{{✗}} ||{{✓}} ||? ||{{✓}} ||{{✗}} ||{{✗}}
 +
|-
 +
|NanoboyAdvance
 +
|align=left|{{Icon|Windows|Linux}}
 +
|[https://github.com/fleroviux/NanoboyAdvance git]
 +
|{{✗}} ||{{✗}} ||{{✗}} ||{{✗}} ||{{✓}} ||? ||{{✓}} ||{{✓}} ||{{✗}}
 +
|-
 +
|[[No$|No$GBA]]
 +
|align=left|{{Icon|Windows|DOS}}
 +
|[http://problemkaputt.de/gba.htm {{No$GBAVer}}]
 +
|{{✗}} ||{{✓}} ||{{✓}} ||{{✓}} ||{{✗}} ||? ||{{✗}} ||{{✓}} ||{{✗}}
 +
|-
 +
|BoyCottAdvance
 +
|align=left|{{Icon|Windows|Linux|macOS}}
 +
|[http://boycottadvance.emuunlim.org/Downloads.htm 0.2.8]
 +
|{{✗}} ||{{✗}} ||{{✗}} ||{{✗}} ||{{✗}} ||? ||{{✗}} ||{{✗}} ||{{✗}}
 +
|-
 +
|PlayBoy Advance
 +
|align=left|{{Icon|macOS}}
 +
|[https://www.zophar.net/macintosh/gba/playboy-advance.html 1.0]
 +
|{{✗}} ||{{✗}} ||{{✗}} ||{{✗}} ||{{✗}} ||? ||{{✗}} ||{{✗}} ||{{✗}}
 +
|-
 +
!colspan="13"|Mobile / ARM
 +
|-
 +
|[[mGBA]]
 +
|align=left|{{Icon|iOS|Linux|Pandora}}
 +
|[https://mgba.io/downloads.html {{MGBAVer}}]
 +
|{{✓}} ||{{✓}}<ref group=N name=medusa /> ||{{✓}} ||{{✗}} ||{{✓}} ||? ||{{✓}} ||{{✓}} ||{{✓}}
 +
|-
 +
|[http://www.explusalpha.com/ GBA.emu]<br/><small>(VBA-M r1097 based)</small>
 +
|align=left|{{Icon|Android}}
 +
|[https://play.google.com/store/apps/details?id=com.explusalpha.GbaEmu 1.5.54]
 +
|{{✗}} ||{{✗}} ||? ||{{✗}} ||{{✗}} ||? ||{{✓}} ||{{✓}} ||{{✓}}
 +
|-
 +
|[http://allaboutwindowsphone.com/software/content/VBA8_1.php VBA8]
 +
|align=left|{{Icon|W8P}}
 +
|[https://www.appx4fun.com/xap/15223/ 2.27]
 +
|{{✓}} ||{{✗}} ||{{✓}} ||{{✗}} ||? ||? ||{{✓}} ||{{✗}} ||{{✓}}
 +
|-
 +
|[https://forums.windowscentral.com/app-spotlight/252987-trio-nintendo-emulators-vba8-vgbc8-snes8x.html VBA10]
 +
|align=left|{{Icon|W10P}}
 +
|[https://forum.xda-developers.com/windows-10-mobile/windows-10-mobile-apps-and-games/app-vba10-emulator-t3588704 1.22]<br/>[https://emulator.games/emulators/gameboy-advance/vba10/ Alt]
 +
|{{✓}} ||{{✗}} ||{{✓}} ||{{✗}} ||? ||? ||{{✓}} ||{{✗}} ||{{✓}}
 +
|-
 +
|[[gpSP]]
 +
|align=left|{{Icon|Pandora}}
 +
|[http://repo.openpandora.org/?page=detail&app=package.gpsp.notaz 0.9.2.8]
 +
|{{✗}} ||{{✗}} ||{{✗}} ||{{✗}} ||{{✗}} ||? ||{{✓}} ||{{✗}} ||{{✓}}
 +
|-
 +
|[[VisualBoy Advance#VBA-M|VBA-M]]
 +
|align=left|{{Icon|Android|iOS|Linux|Pandora}}
 +
|[https://github.com/visualboyadvance-m/visualboyadvance-m 2.1.4]
 +
|{{✓}} ||{{✗}} ||{{✓}} ||? ||{{✓}} ||? ||{{✓}} ||{{✓}} ||{{✗}}
 +
|-
 +
|[https://sites.google.com/site/fastemulator/ My Boy!]
 +
|align=left|{{Icon|Android}}
 +
|[https://play.google.com/store/apps/details?id=com.fastemulator.gba 1.8.0]
 +
|{{✓}}<ref group=N name=myoldboy>Separate paid app called My OldBoy!.</ref> ||{{✗}} ||{{✓}} ||{{✗}} ||{{✗}} ||? ||{{✗}} ||{{✓}} ||{{✗}}
 +
|-
 +
|GBA4iOS
 +
|align=left|{{Icon|iOS}}
 +
|[https://iemulators.com/gba4ios 2.1]
 +
|{{✓}} ||{{✗}} ||{{~}} ||{{✗}} ||{{✗}} ||? ||{{✓}} ||{{✗}} ||{{✗}}
 +
|-
 +
!colspan="13"|Consoles
 +
|-
 +
|[[mGBA]]
 +
|align=left|{{Icon|Wii|Switch}}<br>{{Icon|3DS|PSV}}
 +
|[https://mgba.io/downloads.html {{MGBAVer}}]
 +
|{{✓}} ||{{✗}} ||{{✗}} ||{{✗}} ||{{✓}} ||? ||{{✓}} ||{{✓}} ||{{✓}}
 +
|-
 +
|[https://www.gc-forever.com/wiki/index.php?title=Enhanced_mGBA emGBA]
 +
|align=left|{{Icon|GCN|Wii}}
 +
|[https://files.extremscorner.org/gamecube/apps/mgba/latest git]
 +
|{{✓}} ||{{✗}} ||{{✗}} ||{{✗}} ||{{✓}} ||? ||{{✓}} ||{{✓}} ||{{✗}}
 +
|-
 +
|[[gpSP#PSP_version|TempGBA4PSP]]
 +
|align=left|{{Icon|PSP}}
 +
|[http://www.mediafire.com/download/41ny5xrwxizalx4/TempGBA4PSP-26750221.zip 26750221]
 +
|{{✗}} ||{{✗}} ||{{✗}} ||{{✗}} ||{{✓}} ||? ||{{✓}} ||{{✗}} ||{{✓}}
 +
|-
 +
|[[VisualBoy Advance#VBA-GX|VBA GX]]
 +
|align=left|{{Icon|GCN|Wii}}
 +
|[https://github.com/dborth/vbagx/releases git]
 +
|{{✓}} ||{{✗}} ||{{✗}} ||{{✗}} ||{{✓}}<ref group=N>As VBA-Next.</ref> ||? ||{{✓}} ||{{✓}} ||{{✗}}
 +
|-
 +
|[[gpSP]]
 +
|align=left|{{Icon|PSP}}
 +
|0.91
 +
|{{✗}} ||{{✗}} ||{{✗}} ||{{✗}} ||{{✓}} ||? ||{{✓}} ||{{✗}} ||{{✗}}
 +
|-
 +
|[[GBARunner2]]
 +
|align=left|{{Icon|NDS|3DS}}
 +
|?
 +
|? ||? ||? ||? ||? ||? ||? ||? ||?
 +
|-
 +
|[[Virtual Console]]
 +
|align=left|{{Icon|3DS|WiiU}}
 +
|8.10
 +
|{{✓}} <small>(Nintendo 3DS only)<small> ||{{✓}} <small>(Wii U only)<small> ||{{✓}} <small>(Pokemon only)</small> ||{{✗}} ||{{✗}} ||? ||{{✗}} ||{{✓}} ||{{✓}}
 +
|}
 +
<references group=N />
 +
 
 +
===Comparisons===
 +
;[[mGBA]]:Aims for accuracy, speed, and features. For its accuracy, it's gradually becoming the best at that. It's actively developed and has features VBA-M lacks such as a Tilt Sensor, and more recently Game Boy Camera support. It currently does not have an official Android build.
 +
;[[VisualBoy Advance|Visual Boy Advance (VBA)]]:The original GBA emulator. Discovered to have an <abbr title="Arbitrary Code Execution">ACE</abbr> vulnerability detailed below.
 +
:;[[VisualBoy Advance#VBA-M|Visual Boy Advance-M (VBA-M)]]:A fork with additional improvements. It is behind in terms of accuracy and performance compared to mGBA.
 +
::;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.
 +
;[[gpSP]]:Its last official version was 0.91. There are, however, two forks of interest: [http://dl.qj.net/psp/emulators/gpsp-mod-20090720.html gpSPmod], and [http://filetrip.net/psp-downloads/homebrew/download-gpsp-j-12-06-16-f29570.htmlgpSP-J gpSP-J]. gpSP-J has superior compatibility, while gpSPmod has more options for customization (full screen, cheats, etc). Both are superior to Kai.
 +
;[[higan]]:Its GBA core is cycle-accurate as of v095, but it is behind in terms of performance compared to mGBA and VBA-M.
 +
;[[MAME]]:Has a <code>gba</code> driver markup as working but both graphics and sound are "imperfect".
 +
 
 +
'''NOTE:''' There's a ''huge'' <abbr title="Arbitrary Code Execution">ACE</abbr> 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 1024Kb 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:'''
 +
* [https://www.androidauthority.com/best-game-boy-emulators-for-android-368530/ 10 best Game Boy Advanced, Game Boy Color, and Game Boy emulators for Android] (SEPTEMBER 2, 2018. Includes some emulators not found in above charts. Reviews may be subjective.)
 +
 
 +
==Emulation issues==
 +
 
 +
===Oversaturation===
 +
[[File:1406913527173-1-.png|400px|thumb|right|'''Left:''' The default game.<br/>'''Right:''' The "Gameboy Colors" mode on [[VisualBoy Advance#VBA-M|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 <abbr title="AGS-001">model</abbr> into account since its screen was actually <abbr title="A newer model, AGS-101, was released in 2005 that was actually backlit">frontlit</abbr>. For everything else though, emudevs have given some solutions:
  
==Downloads==
+
====Emulator Options====
* [http://www.epsxe.com/download.php '''ePSXe''']
+
'''No$GBA:''' Under "Emulation Options", select "GBA Mode". There are four modes.
* [https://www.google.com/search?q=epsxe+site:forum.mobilism.org&tbs=qdr:0,sbd:1 Android version]
 
* [https://play.google.com/store/apps/details?id=com.epsxe.ePSXe Play Store link] ($3.75/€3)
 
* [http://ngemu.com/threads/epsxe-shark-enhanced-by-tapeq.154634/ ePSXe Shark] (adds additional features to ePSXe, e.g. pad plugin support)
 
  
==Review==
+
* '''GBA (no backlight):''' Strong desaturation
ePSXe is a plugin-based PlayStation emulator, though it comes with internal plugins for everything in addition to being able to use the same plugins as other emulators. It supports multiple CD-ROM formats (.bin/.cue, multi-bin/cue, .mdf/.mds, .ccd/.bin/.sub, .pbp, etc), including sub-channel support and PPF patching on the fly. Multi-tap up to 8 players are supported.
+
* '''GBA SP (backlight):''' Strong desaturation
 +
* '''Nintendo DS in GBA mode:''' Some desaturation
 +
* '''VGA Mode (poppy bright):''' No desaturation
  
There are versions for Windows, Linux, and Android.
+
'''mGBA:''' Under Tools > Settings > Shaders, you will find three customizable '''Desaturation''' parameters.
  
A real PlayStation BIOS is recommended but not required. ePSXe can run games without an official PS1 BIOS via [[High/Low level emulation|HLE]], but compatibility will be lower and memory card support limited.
+
'''VBA-M:''' (nightly only): Under Options > Game Boy Advance, you will find the option, '''LCD Filter'''.
  
VERY IMPORTANT: Save states done with official PS1 bioses are NOT compatible with save states done with ePSXe HLE bios (Besides it uses a different namespace).
+
'''higan:''' Under Settings > Video Filter, you will find the "Color Emulation" checkbox.
  
==Netplay==
+
* '''Color Emulation off:''' No desaturation
ePSXe uses [http://www.mediafire.com/?o15hhi2stnnnijc Kaillera] clients.
+
* '''Color Emulation on:''' Gamma correction and adjusted color range.
  
===Downloads:===
+
====Shaders====
* [http://www.epsxe.com/download.php ePSXe 2.0.5]
+
Cg [[Shaders and Filters|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<ref name="GLSL">https://github.com/libretro/glsl-shaders/tree/master/handheld/shaders/color</ref> for OpenGL, and Slang<ref name="Slang">https://github.com/libretro/slang-shaders/tree/master/handheld/shaders/color</ref> for Vulkan.
* [http://cyberpad.duttke.de/files/cpka-v14.zip Cyberpad 1.4]
 
* [http://www.emulator-zone.com/download.php/emulators/psx/plugins/sound/eternal/spuEternal150beta2.zip Eternal SPU 1.50b2]
 
  
{| class="mw-collapsible mw-collapsed wikitable" style="width: 100%;"
+
For GBA, there is <code>gba-color.cg</code><ref>https://github.com/libretro/common-shaders/blob/master/handheld/shaders/color/gba-color.cg</ref>, 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 <code>vba-color.cg</code><ref>https://github.com/libretro/common-shaders/blob/master/handheld/shaders/color/vba-color.cg</ref> instead.
! colspan=2|Review
+
 
 +
There is also <code>nds-color.cg</code><ref>https://github.com/libretro/common-shaders/blob/master/handheld/shaders/color/nds-color.cg</ref> and <code>psp-color.cg</code><ref>https://github.com/libretro/common-shaders/blob/master/handheld/shaders/color/psp-color.cg</ref>, which simulates the color profiles of the original Nintendo DS frontlit screen and the PSP-1000/PSP-2000 backlit screen, respectively.
 +
 
 +
===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 sound playback quality is awful compared to the actual higher quality sound samples stored internally in the ROM.
 +
 
 +
There were [https://www.romhacking.net/utilities/881/ 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 it exists as a very experimental feature on [[mGBA]] (nightly versions) under Enhancements as "XQ GBA Audio", but 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===
 +
Similar 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 its 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 <code>vba-over.ini</code>, VBA complies. VBA-M includes this config file by default, but older revisions like VBA 1.7.2 and VBALink do not.
 +
 
 +
The VBA-Next and VBA-M cores in Libretro have the file baked into the binary so that it can load raw .sav files, but converts 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
 +
[https://github.com/libretro/vbam-libretro/blob/master/src/libretro/gbaconv/gbaconv.c 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. just drag and drop the .srm onto the executable) and outputs accordingly. It can also be done in reverse. A 64-bit binary of this tool for Windows can be found
 +
[https://www.mediafire.com/?6bg8ag0bjs1b7ng here].
 +
 
 +
==Connectivity==
 +
There are five different kinds of connectivity, support varying by game:
 +
*Single Pak
 +
*Multi Pak
 +
*Wireless
 +
*GameCube
 +
*Nintendo DS
 +
Purple end in GBA means player 1, while a grey 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 mid section.<ref>https://www.nintendo.com/consumer/downloads/agblink.pdf</ref>
 +
{| class="wikitable" style="text-align:center;"
 +
|-
 +
! scope="col"|Name
 +
! scope="col"|Platform(s)
 +
! scope="col"|Supported Version
 +
! scope="col"|Single Pak
 +
! scope="col"|Multi Pak
 +
! scope="col"|Wireless
 +
! scope="col"|GameCube
 +
! scope="col"|Nintendo DS
 
|-
 
|-
| '''PROS''' ||
+
!colspan="8"|PC / x86
* Support for up to 8 simultaneous people playing
 
* No fiddling with router settings and port forwarding
 
* Netplay traffic is handled by a central dedicated server that helps keep things synced
 
* Private game chat support and public chat to speak people outside your game room
 
* Being able to drop out of a game at any time without disrupting (much) your teammate(s)
 
* Kicking/banning/muting people from your room
 
* It's a matchmaking service where you can join other people's rooms, too
 
 
|-
 
|-
| '''CONS''' ||
+
|[[mGBA]]
* It's slightly (significantly still) prone to freezing/crashing/BSOD (in that order)
+
|align=left|{{Icon|Windows|Linux|macOS|FreeBSD}}
* Random, inconsistent FPS drops due to the server trying to keep everyone synced, sometimes stuttering. It's annoying, but rarely does it make it unplayable
+
|[https://mgba.io/downloads.html {{MGBAVer}}]
* The emulator is based upon (ePSXe 1.60, a 10-year-old version) lacks a lot of options, and emulation accuracy is low
+
|{{✗}} ||{{✓}} ||{{✗}} ||{{✓}} ||{{✗}}
* Everyone needs to have the exact same ROM version or netplay won't work (if it somehow does, it'll desync rather quickly)
+
|-
* Everyone needs to have the exact same save file or no save file at all, or else it desyncs
+
|[[VisualBoy Advance#VBA-M|VBA-M]]
* You need to constantly switch focus back and forth between chat and emulator window in order to chat
+
|align=left|{{Icon|Windows|Linux|macOS|FreeBSD}}
* You will hear no sound while the window is unfocused
+
||[https://github.com/visualboyadvance-m/visualboyadvance-m/releases {{VBAMVer}}]
* The emulator is extremely sensitive and desyncs if you focus on another window, move the window around or minimize it
+
|{{✗}} ||{{✓}} ||{{✗}} ||{{✓}} ||{{✗}}
* Not long after the game desync, the entire emulator will freeze
+
|-
* Dropping from a game or trying to exit Kaillera will freeze or crash the game
+
|[[No$|No$GBA]]
 +
|align=left|{{Icon|Windows|DOS}}
 +
||[http://problemkaputt.de/gba.htm {{No$GBAVer}}]
 +
|{{✓}} ||{{✓}} ||{{✗}} ||{{✗}} ||{{✗}}
 +
|-
 +
|[[DeSmuME]]
 +
|align=left|{{Icon|Windows|Linux|macOS}}
 +
|[https://ci.appveyor.com/project/zeromus/desmume {{DeSmuMEVer}}]
 +
|{{✗}} ||{{✗}} ||{{✗}} ||{{✗}} ||{{✓}}
 
|}
 
|}
 +
===GBA Multi Pak Link Multiplayer (1~4GBA)===
 +
;VBA-M: This doesn't work with old VBA versions.
 +
:Just 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 [http://projectpokemon.org/forums/showthread.php?42433-RELEASE-VBA-LINK-E-READER 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 Gameboys in the Emulation setting to be 2 or more, and the Link Gamepaks Options to Gamepak in all GBAs.
 +
 +
===GBA Wireless Multiplayer===
 +
The [[Wikipedia:Game Boy Advance Wireless Adapter|wireless adapter]] has the ability to connect five players<ref>https://www.nintendo.com/consumer/downloads/agbwireless_trilingual.pdf</ref> 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''.
 +
 +
No emulator has currently implemented this add-on. The only project whose developers put this on its roadmap is [[mGBA]].
 +
 +
===GameCube Connectivity===
 +
The Game Boy Advance can also connect to the GameCube.<ref>https://www.nintendo.com/consumer/downloads/agbgcncable.pdf</ref> 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 of 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 are 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.
 +
# In mGBA, open up 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.
 +
# In VBA-M, uncheck Pause When Inactive in Options > Emulator. Then, under Options > Link > Joybus Options, Make sure to "Enable Joybus Connection" is on and set "IP/Hostname" to use default settings, that is <code>127.0.0.1</code> or <code>localhost</code>.
 +
# 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.
 +
# 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 VBA-M instance and repeat its process.
 +
 +
Notable games that work:
 +
*[https://wiki.dolphin-emu.org/index.php?title=The_Legend_of_Zelda:_Four_Swords_Adventures The Legend of Zelda Four Swords Adventures]: Both two modes available for the US/PAL version work. The third Japan-only Navi Trackers mode works as well, but the game crashes after the naming screen due to a bug in the GC/GBA connectivity.
 +
*[https://wiki.dolphin-emu.org/index.php?title=Final_Fantasy_Crystal_Chronicles Final Fantasy Crystal Chronicles]
 +
*[https://wiki.dolphin-emu.org/index.php?title=Billy_Hatcher_and_the_Giant_Egg 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.
 +
*[https://wiki.dolphin-emu.org/index.php?title=Kururin_Squash! Kururin Squash!]
 +
*[https://wiki.dolphin-emu.org/index.php?title=Sonic_Adventure_2:_Battle Sonic Adventure 2: Battle] (buggy)
 +
 +
Notable games that don't:
 +
*[https://wiki.dolphin-emu.org/index.php?title=Mr_Driller:_Drill_Land Mr. Driller: Drill Land]
 +
*lots more
  
{| class="mw-collapsible mw-collapsed wikitable" style="width: 100%;"
+
===GBA/DS Connectivity===
! colspan=1 |How to
+
:''Main section: [[Nintendo_DS_emulators#GBA.2FDS_Connectivity|Nintendo DS § GBA/DS 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.
 +
 
 +
==Special Hardware==
 +
Emulation of these is spotty, apart from GBE+, which supports almost all GBA peripherals.
 +
 
 +
{| class="wikitable" style="text-align:center; vertical-align:middle;"
 +
|- style="font-weight:bold;"
 +
! Name
 +
! GBE+
 +
! mGBA
 +
! VBA-M
 +
! No$GBA
 +
! My Boy!
 +
|-
 +
| Solar Sensor
 +
| {{✓}}
 +
| {{✓}}
 +
| {{✓}}
 +
| {{✓}}
 +
| {{✓}}
 +
|-
 +
| Motion Control
 +
| {{✗}}
 +
| {{~}}
 +
| {{~}}
 +
| {{✗}}
 +
| {{✓}}
 +
|-
 +
| Battle Chip Gate
 +
| {{✓}}
 +
| {{✓}}
 +
| {{✗}}
 +
| {{✗}}
 +
| {{✗}}
 +
|-
 +
| Soul Doll Adapter
 +
| {{✓}}
 +
| {{✓}}
 +
| {{✗}}
 +
| {{✗}}
 +
| {{✗}}
 +
|-
 +
| Multi Plust On System
 +
| {{✓}}
 +
| {{✗}}
 +
| {{✗}}
 +
| {{✗}}
 +
| {{✗}}
 +
|-
 +
| Turbo File Advance
 +
| {{✓}}
 +
| {{✗}}
 +
| {{✗}}
 +
| {{✗}}
 +
| {{✗}}
 
|-
 
|-
|
+
| Power Antenna & Bug Sensor
# Unpack the emulator wherever you want.
+
| {{✓}}
# Replace the stock kailleraclient.dll inside the emulator folder with the multiplayer version (Jul-2011) IF you want to play with more than 2 players, OR you have horrible ping while using the P2P version.
+
| {{✗}}
# Replace the stock kailleraclient.dll with the P2P version (v0r7) IF you just want to play with 2 players AND you have a >100ms (>150ms tops).
+
| {{✗}}
# Place SCPH7502 (unzipped) inside the "BIOS" folder inside your emulator folder
+
| {{✗}}
# Place your video plugin, Eternal SPU, and Cyberpad in the "plugins" inside your emulator folder
+
| {{✗}}
# Configure your emulator: map buttons (physical controller preferred!), change resolutions (no fullscreen supported), apply filters (if you want them). Make sure you ONLY pick Digital or Analog, no rumble on, Multi-tap disabled and a blank profile for Controller 2
 
# Go to Config, then click Sound
 
# Click Configure
 
# Make the following configuration changes:
 
#* Audio device - Wave Mapper; Buffer size: 64
 
#* Audio Out Method - SPUasync; Async mode: Simple
 
#* Misc - Show realtime config window: blank; Cache VAG decode: blank
 
#* Fine tune: 0; Reverb: Off
 
#* Special game fix - Update before accessing register: checked
 
# Click OK to close this window and again to close Config Sound
 
# Go to Config, click Netplay. A window will popup
 
# In Select Netplay Plugin, choose CyberPad 1.4, then click OK
 
# Load a game
 
 
|}
 
|}
  
{| class="mw-collapsible mw-collapsed wikitable" style="width: 100%;"
+
===Solar Sensor===
! colspan=1 |Helpful tips, solutions & common stuff you should know
+
====Emulation====
|-
+
This feature has been emulated in mGBA, VBA-M, No$GBA 2.6 onwards, and My Boy!:
|
+
* mGBA: In the shortcuts editor, shortcuts can be configured to raise/lower the solar level incrementally or to set any particular brightness level.
*Useful Hotkeys
+
* 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.
** F1 - Save a state.
+
* No$GBA: Under '''Options/Emulation Setup''', you can find the Solar Sensor Level option. You are given the choice between only three brightness levels though: Darkness, 100 Watts, and Bright Sunlight.
** F2 - Change slot (5 slots are available).
+
* My Boy! This emulator uses a button combination or the devices light sensor to check the brightness level. You can change this under Settings -> Input -> Cartridge Features -> "Solar Emulation By" menu.
** F3 - Load a state.
+
 
** F4 - Toggles between limited and unlimited FPS.
+
====ROM Patches====
** F5 - Toggles analog on/off.
+
Fixes applied directly to the ROM by various scene release groups to make it compatible with any emulator/flashcard, making the in-game brightness level controllable with L+Left/Right. It's argued this makes for a better experience actually, but sadly not all releases are covered.
** F6 - Select what pad will be affected by key F5.
+
* '''Boktai 1:''' [http://www.advanscene.com/html/Releases/dbreleases.php?id=1567 JP], [http://www.advanscene.com/html/Releases/dbreleases.php?id=1145 US], <s>EU</s>.
** F7 - Toggles between primary and secondary GPU plugin while playing a game.
+
* '''Boktai 2:''' [http://www.advanscene.com/html/Releases/dbreleases.php?id=1567 JP], <s>US</s>, [http://www.advanscene.com/html/Releases/dbreleases.php?id=1992 EU].
* To make your life easier and to save game-specific configurations use the front-end [http://www.pbernert.com/epsxecutor1063-prerelease.zip ePSXeCutor].
+
* '''Boktai 3:''' [http://www.advanscene.com/html/Releases/dbreleases.php?id=2048 JP Fix].
* GameFAQs saves are in the dexdrive format (.gme), ePSXe can read those files, just select it as a memory card. If you plan to use the files in some other emulator use MemcardRex to convert it to .mcr or any filetype that is required by that emulator.
+
* Combinations of Boktai 4 JP with earlier solar sensors to get solar sensor bonuses aren't emulated yet in any DS emulator.
* To delete settings
+
 
*# If you ever need to delete ePSXe's settings go to Start -> Run -> Type: "regedit", find and delete this key: <code>HKEY_CURRENT_USER\Software\epsxe</code>
+
===Motion Control===
*# If you need to delete the settings of plugins then delete this key: <code>HKEY_CURRENT_USER\Software\Vision Thing\PSEmu Pro</code>
+
VBA-M has an option for Motion controls "Input, Set, Motion". It currently works with all versions of the GBC title Kirby Tilt'n Tumble, which also was a special cartridge with a motion sensor built-in to control movement in-game. But VBA-M does not support motion controls for GBA games yet.
*# If you are using Blade's plugins delete .ini files in the "configs" directory.
+
====Emulation====
|}
+
* 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.
 +
* mGBA supposedly includes this feature but key remapping for tilt sensors is not present in the latest builds.
 +
* My Boy! uses the device's accelerometer to emulate this feature. You can change the sensitivity under Settings -> Input -> Cartridge Features -> "Motion sensitivity" menu.
 +
 
 +
====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.
 +
* Yoshi Topsy Turvy/Universal Gravitation: [http://www.advanscene.com/html/Releases/dbreleases.php?id=1799 JP], [http://www.advanscene.com/html/Releases/dbreleases.php?id=1947 EU], [http://www.advanscene.com/html/Releases/dbreleases.php?id=2001 US]
 +
* WarioWare Twisted! (Patch: [http://www.advanscene.com/html/Releases/dbreleases.php?id=1682 JP], [http://www.advanscene.com/html/Releases/dbreleases.php?id=1979 US])
 +
 
 +
===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 cover 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's 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's 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 1, Shikakui Atama wo Marukusuru Advance (both releases), Pokémon Pinball, as well as Drill Dozer which disables its original cartridge rumble scheme and enables this one instead. None of the emulators support this, though it's being under development for the mGBA emulator.
 +
 
 +
===Turbo File Advance===
 +
The Turbo File Advance was an peripherial for the GBA which allowed certain games to write data to it, acting like 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 LED's that flashed in response to certain events within Keitai Denjuu Telefang 2, the only supported GBA game.
 +
 
 +
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===
 +
An 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's 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===
 +
* '''Glucoboy:''' An obscure medical peripheral designed to monitor a child's blood glucose levels and reward them for keeping tabs on their condition. No known emulator supports this so far, especially given the niche nature of this accessory. Not to mention that [https://assemblergames.com/threads/glucoboy-for-gameboy-is-this-the-rarest-game-accessory-for-gameboy-advance.41853/page-2 Bayer Healthcare destroyed all unsold stock] making it hard to find.
 +
 
 +
==References==
 +
{{reflist|2}}
  
==External Links==
+
{{Nintendo}}
* [http://epsxe.com/android/ epsxe.com's Android page]
 
* [https://twitter.com/epsxeteam Twitter] (epsxeteam)
 
* [https://www.youtube.com/watch?v=oOnuV63cyKQ 200 GAMES EPSXE 2.0.5 TEST] (EMURETRO. Jan 20, 2018.)
 
  
[[Category:Emulators]]
+
[[Category:Consoles]]
[[Category:Netplay]]
+
[[Category:Handheld consoles]]
[[Category:Windows emulation software]]
+
[[Category:Nintendo consoles]]
[[Category:Linux emulation software]]
+
[[Category:Sixth-generation video game consoles]]
[[Category:macOS emulation software]]
+
[[Category:Game Boy Advance emulators|*]]
[[Category:PlayStation emulators‎]]
 

Revision as of 06:27, 9 August 2021

Nintendo Game Boy Advance
Gbagba.png
Developer Nintendo
Type Handheld game console
Generation Sixth generation
Release date 2001
Discontinued 2010
Predecessor Virtual Boy
Successor Nintendo DS
Emulated

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. It has a ARM7TDMI CPU at 16.78 MHz and a Zilog Z80 CPU at 8 MHz and 4 MHz. It has 32KB of RAM and 96KB of VRAM.

Emulators

Name Platform(s) Latest Version GB/GBC NDS Game Link Support e-Reader Libretro Core Accuracy FLOSS Active Recommended
PC /x86
mGBA Windows Linux macOS FreeBSD 0.10.3 [N 1] ?
higan Windows Linux macOS v110 ?
VBA-M Windows Linux macOS FreeBSD 2.1.9 ?
iDeaS Windows Linux 1.0.4.0 ?
GBE+ Windows Linux macOS 1.7 ?
VGBA Windows Linux macOS FreeBSD 6.4 ?
MAME Windows Linux macOS FreeBSD 0.264 ? ?
Meteor Linux 1.4.2 ?
NanoboyAdvance Windows Linux git ?
No$GBA Windows MS-DOS 3.05 ?
BoyCottAdvance Windows Linux macOS 0.2.8 ?
PlayBoy Advance macOS 1.0 ?
Mobile / ARM
mGBA iOS Linux Pandora 0.10.3 [N 1] ?
GBA.emu
(VBA-M r1097 based)
Android 1.5.54 ? ?
VBA8 Windows 8 Phone 2.27 ? ?
VBA10 Windows 10 Phone 1.22
Alt
? ?
gpSP Pandora 0.9.2.8 ?
VBA-M Android iOS Linux Pandora 2.1.4 ? ?
My Boy! Android 1.8.0 [N 2] ?
GBA4iOS iOS 2.1 ~ ?
Consoles
mGBA Wii Switch
Nintendo 3DS Vita
0.10.3 ?
emGBA GameCube Wii git ?
TempGBA4PSP PSP 26750221 ?
VBA GX GameCube Wii git [N 3] ?
gpSP PSP 0.91 ?
GBARunner2 Nintendo DS Nintendo 3DS ? ? ? ? ? ? ? ? ? ?
Virtual Console Nintendo 3DS Wii U 8.10 (Nintendo 3DS only) (Wii U only) (Pokemon only) ?
  1. 1.0 1.1 Experimental separate build under the name of medusa.
  2. Separate paid app called My OldBoy!.
  3. As VBA-Next.

Comparisons

mGBA
Aims for accuracy, speed, and features. For its accuracy, it's gradually becoming the best at that. It's actively developed and has features VBA-M lacks such as a Tilt Sensor, and more recently Game Boy Camera support. It currently does not have an official Android build.
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 improvements. It is behind in terms of accuracy and performance compared to mGBA.
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.
gpSP
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.
higan
Its GBA core is cycle-accurate as of v095, but it is behind in terms of performance compared to mGBA and VBA-M.
MAME
Has a gba driver markup as working but both graphics and sound are "imperfect".

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:

  1. Cheat code files bigger than 1024Kb that you got online from untrustworthy sources.
  2. The import code files feature.
  3. 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:

Emulation issues

Oversaturation

Left: The default game.
Right: The "Gameboy 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 into account since its screen was actually frontlit. 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, you will find three customizable Desaturation parameters.

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.

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[1] for OpenGL, and Slang[2] for Vulkan.

For GBA, there is gba-color.cg[3], 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[4] instead.

There is also nds-color.cg[5] and psp-color.cg[6], which simulates the color profiles of the original Nintendo DS frontlit screen and the PSP-1000/PSP-2000 backlit screen, respectively.

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 sound playback quality is awful compared to the actual higher quality 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 it exists as a very experimental feature on mGBA (nightly versions) under Enhancements as "XQ GBA Audio", but 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

Similar 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 its 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 do not.

The VBA-Next and VBA-M cores in Libretro have the file baked into the binary so that it can load raw .sav files, but converts 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. just drag and drop the .srm onto the executable) and outputs accordingly. It can also be done in reverse. A 64-bit binary of this tool for Windows can be found here.

Connectivity

There are five different kinds of connectivity, support varying by game:

  • Single Pak
  • Multi Pak
  • Wireless
  • GameCube
  • Nintendo DS

Purple end in GBA means player 1, while a grey 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 mid section.[7]

Name Platform(s) Supported Version Single Pak Multi Pak Wireless GameCube Nintendo DS
PC / x86
mGBA Windows Linux macOS FreeBSD 0.10.3
VBA-M Windows Linux macOS FreeBSD 2.1.9
No$GBA Windows MS-DOS 3.05
DeSmuME Windows Linux macOS 0.9.13

GBA Multi Pak Link Multiplayer (1~4GBA)

VBA-M
This doesn't work with old VBA versions.
Just 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 Gameboys in the Emulation setting to be 2 or more, and the Link Gamepaks Options to Gamepak in all GBAs.

GBA Wireless Multiplayer

The wireless adapter has the ability to connect five players[8] 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.

No emulator has currently implemented this add-on. The only project whose developers put this on its roadmap is mGBA.

GameCube Connectivity

The Game Boy Advance can also connect to the GameCube.[9] 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 of yet.

Dolphin/mGBA or VBA-M

Requires mGBA 0.9.0 or newer or VBA-M r947 or newer.
  1. Reduce your volume. You won't want it to be high, especially with headphones.
  2. Open Dolphin and mGBA/VBA-M. Make sure neither are blocked by your firmware.
  3. 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.
  4. In mGBA, open up 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.
  5. In VBA-M, uncheck Pause When Inactive in Options > Emulator. Then, under Options > Link > Joybus Options, Make sure to "Enable Joybus Connection" is on and set "IP/Hostname" to use default settings, that is 127.0.0.1 or localhost.
  6. Dolphin will freeze.
  7. Open the GBA BIOS in VBA-M as if it were a regular GBA ROM. The regular splash screen will stutter a bit.
  8. Dolphin should recognize the Joybus Link by then and the GC game will detect that a GBA was connected.
  9. To connect other units, open another VBA-M instance and repeat its process.

Notable games that work:

Notable games that don't:

GBA/DS Connectivity

Main section: Nintendo DS § GBA/DS 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.

Special Hardware

Emulation of these is spotty, apart from GBE+, which supports almost all GBA peripherals.

Name GBE+ mGBA VBA-M No$GBA My Boy!
Solar Sensor
Motion Control ~ ~
Battle Chip Gate
Soul Doll Adapter
Multi Plust On System
Turbo File Advance
Power Antenna & Bug Sensor

Solar Sensor

Emulation

This feature has been emulated in mGBA, VBA-M, No$GBA 2.6 onwards, and My Boy!:

  • mGBA: In the shortcuts editor, shortcuts can be configured to raise/lower the solar level incrementally or to set any particular brightness level.
  • 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 are 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 devices light sensor to check the brightness level. You can change this under Settings -> Input -> Cartridge Features -> "Solar Emulation By" menu.

ROM Patches

Fixes applied directly to the ROM by various scene release groups to make it compatible with any emulator/flashcard, making the in-game brightness level controllable with L+Left/Right. It's argued this makes for a better experience actually, but sadly not all releases are covered.

  • Boktai 1: JP, US, EU.
  • Boktai 2: JP, US, EU.
  • Boktai 3: JP Fix.
  • Combinations of Boktai 4 JP with earlier solar sensors to get solar sensor bonuses aren't emulated yet in any DS emulator.

Motion Control

VBA-M has an option for Motion controls "Input, Set, Motion". It currently works with all versions of the GBC title Kirby Tilt'n Tumble, which also was a special cartridge with a motion sensor built-in to control movement in-game. But VBA-M does not support motion controls for GBA games yet.

Emulation

  • 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.
  • mGBA supposedly includes this feature but key remapping for tilt sensors is not present in the latest builds.
  • My Boy! uses the device's accelerometer to emulate this feature. You can change the sensitivity under Settings -> Input -> Cartridge Features -> "Motion sensitivity" menu.

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.

  • Yoshi Topsy Turvy/Universal Gravitation: JP, EU, US
  • WarioWare Twisted! (Patch: JP, US)

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 cover 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's 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's 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 1, Shikakui Atama wo Marukusuru Advance (both releases), Pokémon Pinball, as well as Drill Dozer which disables its original cartridge rumble scheme and enables this one instead. None of the emulators support this, though it's being under development for the mGBA emulator.

Turbo File Advance

The Turbo File Advance was an peripherial for the GBA which allowed certain games to write data to it, acting like 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 LED's that flashed in response to certain events within Keitai Denjuu Telefang 2, the only supported GBA game.

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

An 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's 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

  • Glucoboy: An obscure medical peripheral designed to monitor a child's blood glucose levels and reward them for keeping tabs on their condition. No known emulator supports this so far, especially given the niche nature of this accessory. Not to mention that Bayer Healthcare destroyed all unsold stock making it hard to find.

References