Changes

Jump to navigation Jump to search

Game Boy Advance emulators

1,821 bytes added, 05:06, 1 September 2022
m
Emulators: added name for GBA.emu
|emulated = {{✓}}
}}
 
{{for|other emulators that run on GBA hardware|Emulators on GBA}}
 
 
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 288KB of RAM and 96KB of VRAM.
==Emulators==
<div style="max-width:100%; overflow:auto;">
{| class="wikitable" style="text-align:center;"
|-
! 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>
|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> ||{{✓}} ||{{✓}} ||{{✓}} ||Mid-High ||{{✓}} ||{{✓}} ||{{✓}}|-|[[NanoBoyAdvance]]|align=left|{{Icon|Windows|Linux|macOS}}|[https://github.com/nba-emu/NanoBoyAdvance/releases 1.6]|{{✗}} ||{{✗}} ||{{✗}} ||{{✗}} ||{{✗}} ||[https://old.reddit.com/r/emulation/comments/wnn3pk/nanoboyadvance_16_is_released/ik8vrea/ High-Cycle] ||{{✓}} ||{{✓}} ||{{✓}}|-|[[ares]]|align=left|{{Icon|Windows|Linux|macOS}}|[https://github.com/ares-emulator/ares/releases {{aresVer}}]|{{✓}} ||{{✗}} ||{{✗}} ||{{✗}} ||{{✗}} ||High ||{{✓}} ||{{✓}} ||{{~}}
|-
|[[higan]]
|align=left|{{Icon|Windows|Linux|macOS}}
|[httphttps://byuugithub.orgcom/emulationhigan-emu/higan /releases/tag/v110 {{higanVer}}]|{{✓}} ||{{✗}} ||{{✗}} ||{{✗}} ||{{✓}} ||Cycle High ||{{✓}} ||{{✓}} ||{{~}}
|-
|[[VisualBoy Advance#VBA-M|VBA-M]]
|align=left|{{Icon|Windows|Linux|macOS|FreeBSD}}
|[https://github.com/visualboyadvance-m/visualboyadvance-m/releases {{VBAMVer}}]
|{{✓}} ||{{✗}} ||{{✓}} ||{{✓}} ||{{✓}} ||Mid ||{{✓}} ||{{✓}} ||{{~}}[https://old.reddit.com/r/emulation/comments/vve0em/release_of_skyemu_10/ifnhj8y/ *]
|-
|[[aresGBE+]]|align=left|{{Icon|Windows|Linux|macOS}}|[https://github.com/shonumi/gbe-plus/releases {{GBEVer}}]|{{✓}} ||{{✓}} ||{{✗}} ||{{✗}} ||{{✗}} ||? ||{{✓}} ||{{✓}} ||{{~}}|-|SkyEmu
|align=left|{{Icon|Windows|Linux|macOS}}
|[https://github.com/ares-emulatorskylersaleh/SkyEmu git]|{{✓}} ||{{~}} ||{{~}} ||{{~}} ||{{✗}} ||[https://github.com/aresskylersaleh/releases SkyEmu#accuracycompatibility High-Cycle] ||{{✓}} ||{{✓}} ||{{aresVer~}}|-|[[MAME]]|align=left|{{Icon|Windows|Linux|macOS|FreeBSD}} |[http://www.mamedev.org/release.html {{MAMEVer}}]|{{}} ||{{✗}} ||? ||{{✗}} ||{{}} ||? High-Cycle ||{{✓}} ||{{✓}} ||{{✗}}
|-
|iDeaS
|[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 /#Downloads {{VGBAVer}}]
|{{✗}} ||{{✗}} ||{{✗}} ||{{✗}} ||{{✗}} ||? ||{{✗}} ||{{✓}} ||{{✗}}
|-
|[[MAME]]
|align=left|{{Icon|Windows|Linux|macOS|FreeBSD}}
|[http://www.mamedev.org/release.html {{MAMEVer}}]
|{{✓}} ||{{✗}} ||? ||{{✗}} ||{{✓}} ||Cycle ||{{✓}} ||{{✓}} ||{{✗}}
|-
|Meteor
|[https://github.com/blastrock/meteor 1.4.2]
|{{✗}} ||{{✗}} ||{{✗}} ||{{✗}} ||{{✓}} ||Low-Mid ||{{✓}} ||{{✗}} ||{{✗}}
|-
|[[NanoboyAdvance]]
|align=left|{{Icon|Windows|Linux|macOS}}
|[https://github.com/fleroviux/NanoboyAdvance git]
|{{✗}} ||{{✗}} ||{{✗}} ||{{✗}} ||{{✓}} ||High ||{{✓}} ||{{✓}} ||{{✗}}
|-
|[[No$|No$GBA]]
|Pizza Boy GBA
|align=left|{{Icon|Android}}
|[https://play.google.com/store/apps/details?id=it.dbtecno.pizzaboygbapro 12.310.05]
|{{✓}}<ref group=N name=pizzaboygbc>Separate app called Pizza Boy GBC.</ref> ||{{✗}} ||{{✓}} ||{{✗}} ||{{✗}} ||Mid ||{{✗}} ||{{✓}} ||{{✓}}
|-
|[httphttps://www.explusalpha.com/ contents/gba-emu GBA.emu]<br/><small>(VBA-M 2.1.4 based)</small>
|align=left|{{Icon|Android|Pyra}}
|[https://play.google.com/store/apps/details?id=com.explusalpha.GbaEmu {{.emuVer}}][https://github.com/Rakashazi/emu-ex-plus-alpha git]</br>[https://pyra-handheld.com/repo/apps/75 1.5.46.02 Pyra]
|[[VisualBoy Advance#VBA-M|VBA-M]]<ref group=N name=libretro />
|align=left|{{Icon|Android|iOS|Linux|Pandora}}
|[https://github.com/visualboyadvance-m/visualboyadvance-m /releases 2.1.4]
|{{✓}} ||{{✗}} ||{{✓}} ||? ||{{✓}} ||? ||{{✓}} ||{{✓}} ||{{✗}}
|-
|align=left|{{Icon|3DS|WiiU}}
|8.10
|{{✓}} <small>(3DS only)<small> ||{{✓}} <small>(Wii U only)<small> ||{{✓}} <small>(Pokemon only)</small> ||{{✗}} ||{{✗}} ||? Native (3DS only)||{{✗}} ||{{✓}} ||{{✓}}
|-
|[https://www.gc-forever.com/wiki/index.php?title=Enhanced_mGBA emGBA]
|-
|[[GBARunner2]]
|align=left|{{Icon|NDS|3DS|DC}}
|[https://github.com/Gericom/GBARunner2/releases/tag/v20200812-131430_6e4ce45 2020/08/12]
|{{✗}} ||{{✗}} ||{{~}} ||{{✗}} ||{{✗}} ||Low-High ||{{✓}} ||{{✗}} ||{{✗}}
|? ||? ||? ||? ||{{✗}} ||? ||{{✓}} ||{{✗}} ||{{✗}}
|}
</div>
<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.
;[[NanoBoyAdvance]]:[https://github.com/nba-emu/NanoBoyAdvance/blob/master/docs/ACCURACY.md Highly accurate] Game Boy Advance emulator. It aims for cycle-accurate emulation when possible, while also offering enhancements such as improved audio quality. Cycle-accurate emulation of the CPU, DMA, timers and Game Pak prefetch buffer but [https://github.com/nba-emu/NanoBoyAdvance/pull/258 Cycle-accurate PPU emulation is an active topic of research and will be implemented, once the timing has been understood and documented well enough.]
;[[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.
;[[SkyEmu]]:Low level Game Boy, Game Boy Color and Game Boy Advance emulator. Its primary focus is to provide a good user experience through a good mixture of tradeoffs of [https://github.com/skylersaleh/SkyEmu/blob/dev/docs/Accuracy.md accuracy], performance, features and usability. [https://github.com/skylersaleh/SkyEmu#accuracycompatibility Per Pixel PPU Implementation capable of both scan line and mid scan line effects] and Full instruction pipeline and prefetch emulation
;[[higan]] / [[ares]]: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 [http://adb.arcadeitalia.net/dettaglio_mame.php?game_name=gba "imperfect"] as of version 0.246.
;[[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:
* '''Color Emulation off:''' No desaturation
* '''Color Emulation on:''' Gamma correction and adjusted color range.
'''NanoBoyAdvance''': Enabled by default. Under Config > Video > Color Correction > GBA
====Shaders====
===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.
*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 midsection.<ref>https://www.nintendo.com/consumer/downloads/agblink.pdf</ref>
<div style="max-width:100%; overflow:auto;">
{| class="wikitable" style="text-align:center;"
|-
|[[DeSmuME]]
|align=left|{{Icon|Windows|Linux|macOS}}
|[https://ci.appveyor.com/project/zeromus/desmume /build/artifacts {{DeSmuMEVer}}]
|{{✗}} ||{{✗}} ||{{✗}} ||{{✗}} ||{{✓}}
|}
</div>
===GBA Multi Pak Link Multiplayer (1~4GBA)===
;VBA-M: This doesn't work with old VBA versions.
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 are 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.
===GBA/DS Connectivity===
:''Main section: [[Nintendo_DS_emulators#GBA.2FDS_Connectivity2FDS_connectivity|Nintendo DS § GBA/DS Connectivity]]''
===e-Reader===
! GBE+
! mGBA
! NanoBoyAdvance
! VBA-M
! No$GBA
! My Boy!
! Pizza Boy GBA
 
|-
| Solar Sensor
| {{✓}}
| {{✓}}
| {{✓}}
| {{✗}}
| {{✓}}
| {{✗}}
| {{✓}}<ref group=N name=RetroArch>Motion Control support present on RetroArch VBA-M core.</ref>
| {{✗}}
| {{✓}}
| {{✓}}
| {{✗}}
| {{✗}}
| {{✗}}
| {{✓}}
| {{✓}}
| {{✗}}
| {{✗}}
| {{✗}}
| Multi Plust On System
| {{✓}}
| {{✗}}
| {{✗}}
| {{✗}}
| Turbo File Advance
| {{✓}}
| {{✗}}
| {{✗}}
| {{✗}}
| Power Antenna & Bug Sensor
| {{✓}}
| {{✗}}
| {{✗}}
| {{✗}}
| Official Nintendo Infrared Adapter
| {{✓}}
| {{✗}}
| {{✗}}
| {{✗}}
1,019
edits

Navigation menu