Editing Game Boy Advance emulators

Jump to navigation Jump to search

Warning: You are not logged in. Your IP address will be publicly visible if you make any edits. If you log in or create an account, your edits will be attributed to your username, along with other benefits.

The edit can be undone. Please check the comparison below to verify that this is what you want to do, and then save the changes below to finish undoing the edit.
Latest revision Your text
Line 7: Line 7:
 
|release = 2001
 
|release = 2001
 
|discontinued = 2010
 
|discontinued = 2010
|predecessor=[[Game Boy/Game Boy Color emulators|Game Boy (Color)]], [[Virtual Boy emulators|Virtual Boy]]
+
|predecessor = [[Game Boy/Game Boy Color emulators|Game Boy Color]]
|successor=[[Pokémon mini emulators|Pokémon mini]], [[Nintendo DS emulators|DS(i)]]
+
|successor = [[Nintendo DS emulators|Nintendo DS]]
 
|emulated = {{✓}}
 
|emulated = {{✓}}
 
}}
 
}}
  
{{for|emulators that run on the Game Boy Advance|Emulators on GBA}}  
+
{{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 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 {{Inflation|USD|99.99|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.  
 
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 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 {{Inflation|USD|99.99|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==
 
==Emulators==
===PC / x86===
+
<div style="max-width:100%; overflow:auto;">
<div style="overflow-x:auto;width:100%">
+
{| class="wikitable" style="text-align:center;"
{| class="wikitable" style="text-align:center;width:100%"
 
 
|-
 
|-
 
! scope="col"|Name
 
! scope="col"|Name
 
! scope="col"|Platform(s)
 
! scope="col"|Platform(s)
 
! scope="col"|Latest Version
 
! scope="col"|Latest Version
! scope="col"|[[#Hardware_features_and_accessories|Hardware features<br/>and accessories]]
+
! scope="col"|<abbr title="Game Boy and Game Boy Color emulation OR backwards compatibility emulation for Game Boy Advance">GB/GBC</abbr>
 +
! scope="col"|[[#Connectivity|Connectivity]]
 +
! scope="col"|[[#Special_Hardware|Special hardware]]
 
! scope="col"|[[#Enhancements|Enhancements]]
 
! scope="col"|[[#Enhancements|Enhancements]]
! scope="col"|Compatibility
 
 
! scope="col"|<abbr title="Free/Libre and Open-Source Software">FLOSS</abbr>
 
! scope="col"|<abbr title="Free/Libre and Open-Source Software">FLOSS</abbr>
 
! scope="col"|Active
 
! scope="col"|Active
! scope="col"|[[Recommended Emulators|Recommended]]
+
! scope="col"|[[Recommended Emulators|Recommended]]<abbr title="compatibility, connectivity, enhancements and special hardware support.">*</abbr>
 +
|-
 +
!colspan="12"|PC /x86
 
|-
 
|-
 
|[[mGBA]]<br/><small>[https://docs.libretro.com/library/mgba/ mGBA_libretro]</small>
 
|[[mGBA]]<br/><small>[https://docs.libretro.com/library/mgba/ mGBA_libretro]</small>
 
|align=left|{{Icon|Windows|Linux|macOS|FreeBSD|Web}}
 
|align=left|{{Icon|Windows|Linux|macOS|FreeBSD|Web}}
|[https://mgba.io/builds/1/ Dev builds]<br/>[https://buildbot.libretro.com/nightly/ libretro core]<ref group=N>[https://old.reddit.com/r/emulation/comments/12x3fsm/mgba_0102_released/jhigow4/ endrift confirming the libretro core is tracking the master branch]</ref><br/>[https://mgba.io/downloads.html {{MGBAVer}}]
+
|[https://mgba.io/builds/1/ Dev builds]<br/>[https://buildbot.libretro.com/nightly/ libretro core]<ref group=N>[https://old.reddit.com/r/emulation/comments/12x3fsm/mgba_0102_released/jhigow4/ endrift's comment about libretro core]</ref><br/>[https://mgba.io/downloads.html {{MGBAVer}}]
|{{~}} ||{{~}} || ||{{✓}} ||{{✓}} ||{{✓}}
+
|{{✓}} ||{{✓}}<abbr title="Exclusive to standalone version.">*</abbr> ||{{~}} ||{{~}} ||{{✓}} ||{{✓}} ||{{✓}}
 
|-
 
|-
 
|[[VisualBoy Advance#VBA-M|VBA-M]]<br/><small>[https://docs.libretro.com/library/vba_m/ vbam_libretro]</small><br/><small><abbr title="VBA Next is a Game Boy Advance emulator based on VBA-M 2011 with backported patches for performance and compatibility improvements.">[https://docs.libretro.com/library/vba_next/ vba_next_libretro]</abbr></small>
 
|[[VisualBoy Advance#VBA-M|VBA-M]]<br/><small>[https://docs.libretro.com/library/vba_m/ vbam_libretro]</small><br/><small><abbr title="VBA Next is a Game Boy Advance emulator based on VBA-M 2011 with backported patches for performance and compatibility improvements.">[https://docs.libretro.com/library/vba_next/ vba_next_libretro]</abbr></small>
 
|align=left|{{Icon|Windows|Linux|macOS|FreeBSD}}
 
|align=left|{{Icon|Windows|Linux|macOS|FreeBSD}}
 
|[https://nightly.vba-m.com/ Nightly builds]<br/> [http://buildbot.libretro.com/nightly/ libretro core'''s'''] <br/> [https://github.com/visualboyadvance-m/visualboyadvance-m/releases {{VBAMVer}}]
 
|[https://nightly.vba-m.com/ Nightly builds]<br/> [http://buildbot.libretro.com/nightly/ libretro core'''s'''] <br/> [https://github.com/visualboyadvance-m/visualboyadvance-m/releases {{VBAMVer}}]
|{{~}} ||{{~}} || ||{{✓}} ||{{✓}} ||{{~}}
+
|{{✓}} ||{{✓}}<abbr title="Exclusive to standalone version.">*</abbr> ||{{~}} ||{{~}} ||{{✓}} ||{{✓}} ||{{~}}
 
|-
 
|-
 
|[[NanoBoyAdvance]]
 
|[[NanoBoyAdvance]]
 
|align=left|{{Icon|Windows|Linux|macOS}}
 
|align=left|{{Icon|Windows|Linux|macOS}}
|[https://nightly.link/nba-emu/NanoBoyAdvance/workflows/build/master Dev builds]<br/> [https://github.com/nba-emu/NanoBoyAdvance/releases {{NanoBoyAdvanceVer}}]
+
|[https://nightly.link/nba-emu/NanoBoyAdvance/workflows/build/master Dev builds]<br/> [https://github.com/nba-emu/NanoBoyAdvance/releases 1.7.1]
|{{✗}} ||{{~}} || ||{{✓}} ||{{✓}} ||{{~}}
+
|{{}} ||{{✗}} ||{{~}} ||{{~}} ||{{✓}} ||{{✓}} ||{{~}}
 
|-
 
|-
 
|[[SkyEmu]]
 
|[[SkyEmu]]
 
|align=left|{{Icon|Windows|Linux|macOS|Web}}
 
|align=left|{{Icon|Windows|Linux|macOS|Web}}
|[https://github.com/skylersaleh/SkyEmu/pull/321 Dev Builds]<br/>[https://github.com/skylersaleh/SkyEmu/releases/ {{SkyEmuVer}}]
+
|[https://github.com/skylersaleh/SkyEmu/pull/321 Dev Builds]<br/>[https://github.com/skylersaleh/SkyEmu/releases/ v3]
|{{✗}} ||{{~}} || ||{{✓}} ||{{✓}} ||{{~}}
+
|{{}} ||{{✗}} ||{{~}} ||{{~}} ||{{✓}} ||{{✓}} ||{{~}}
 
|-
 
|-
 
|[[ares]]
 
|[[ares]]
 
|align=left|{{Icon|Windows|Linux|macOS}}
 
|align=left|{{Icon|Windows|Linux|macOS}}
 
|[https://nightly.link/ares-emulator/ares/workflows/build/master <abbr title="Latest development build version">git Artifacts</abbr>]<br/>[https://github.com/ares-emulator/ares/releases {{aresVer}}]
 
|[https://nightly.link/ares-emulator/ares/workflows/build/master <abbr title="Latest development build version">git Artifacts</abbr>]<br/>[https://github.com/ares-emulator/ares/releases {{aresVer}}]
|{{?}} ||{{~}} || ||{{✓}} ||{{✓}} ||{{~}}
+
|{{}} ||{{✗}} ||{{✗}} ||{{~}} ||{{✓}} ||{{✓}} ||{{~}}
 
|-
 
|-
 
|[[GBE+]]
 
|[[GBE+]]
 
|align=left|{{Icon|Windows|Linux|macOS}}
 
|align=left|{{Icon|Windows|Linux|macOS}}
 
|[https://github.com/shonumi/gbe-plus/releases {{GBEVer}}]
 
|[https://github.com/shonumi/gbe-plus/releases {{GBEVer}}]
|{{~}} ||{{?}} || ||{{✓}} ||{{✓}} ||{{~}}
+
|{{✓}} ||{{~}} ||{{}} ||{{?}} ||{{✓}} ||{{✓}} ||{{~}}
 
|-
 
|-
 
|[[No$|No$GBA]]
 
|[[No$|No$GBA]]
 
|align=left|{{Icon|Windows|DOS}}
 
|align=left|{{Icon|Windows|DOS}}
 
|[http://problemkaputt.de/gba.htm {{No$GBAVer}}]
 
|[http://problemkaputt.de/gba.htm {{No$GBAVer}}]
|{{~}} ||{{~}} || ||{{✗}} ||{{}}[https://problemkaputt.de/gbanew.htm *] ||{{~}}
+
|{{✗}} ||{{~}} ||{{~}} ||{{~}} ||{{✗}} ||{{~}}[https://problemkaputt.de/gbanew.htm *] ||{{~}}
 
|-
 
|-
 
|[[BizHawk]]<br/><small>(mGBA 0.10.0)</small>
 
|[[BizHawk]]<br/><small>(mGBA 0.10.0)</small>
 
|align=left|{{Icon|Windows|Linux}}
 
|align=left|{{Icon|Windows|Linux}}
 
|[https://gitlab.com/TASVideos/BizHawk/-/pipelines Dev builds]<br/>[http://tasvideos.org/BizHawk/ReleaseHistory.html {{BizHawkVer}}]
 
|[https://gitlab.com/TASVideos/BizHawk/-/pipelines Dev builds]<br/>[http://tasvideos.org/BizHawk/ReleaseHistory.html {{BizHawkVer}}]
|{{~}} ||{{~}} || ||{{✓}} ||{{✓}} ||{{~}}
+
|{{✓}} ||{{~}} ||{{?}} ||{{~}} ||{{}} ||{{✓}} ||{{~}}
|-
 
|[[Mesen|Mesen]]
 
|align=left|{{Icon|Windows|Linux|macOS}}
 
|[https://github.com/SourMesen/Mesen2#development-builds {{MesenVer}}]
 
|{{~}} ||{{~}} ||? ||{{✓}} ||{{}} ||WIP
 
 
|-
 
|-
 
|[[MAME]]
 
|[[MAME]]
 
|align=left|{{Icon|Windows|Linux|macOS|FreeBSD}}
 
|align=left|{{Icon|Windows|Linux|macOS|FreeBSD}}
 
|<abbr title="Latest development version">git artifacts</abbr><ref group=N>[https://nightly.link/mamedev/mame/workflows/ci-windows/master CI-Windows] [https://nightly.link/mamedev/mame/workflows/ci-linux/master CI-Linux] [https://nightly.link/mamedev/mame/workflows/ci-macos/master CI-Macos]</ref><br/>[http://www.mamedev.org/release.html {{MAMEVer}}]
 
|<abbr title="Latest development version">git artifacts</abbr><ref group=N>[https://nightly.link/mamedev/mame/workflows/ci-windows/master CI-Windows] [https://nightly.link/mamedev/mame/workflows/ci-linux/master CI-Linux] [https://nightly.link/mamedev/mame/workflows/ci-macos/master CI-Macos]</ref><br/>[http://www.mamedev.org/release.html {{MAMEVer}}]
|{{?}} ||{{~}} ||[http://adb.arcadeitalia.net/lista_mess.php?software_list_name=gba&compatibility= ?] ||{{✓}} ||{{✓}} ||{{✗}}
+
|{{✓}} ||{{?}} ||{{?}} ||{{~}} ||{{✓}} ||{{✓}} ||{{✗}}
 
|-
 
|-
 
|[https://docs.libretro.com/library/gpsp/ gpSP_libretro]
 
|[https://docs.libretro.com/library/gpsp/ gpSP_libretro]
 
|align=left|{{Icon|Windows|Linux|macOS}}
 
|align=left|{{Icon|Windows|Linux|macOS}}
 
|[https://buildbot.libretro.com/nightly/ libretro core]
 
|[https://buildbot.libretro.com/nightly/ libretro core]
|{{~}} ||{{~}} ||[https://docs.libretro.com/library/gpsp/#compatibility ?] ||{{✓}} ||{{✓}} ||{{✗}}
+
|{{✗}} ||{{?}} ||{{?}} ||{{~}}<abbr title="Libretro features">*</abbr> ||{{✓}} ||{{✓}} ||{{✗}}
 
|-
 
|-
 
|[[Mednafen]]<br/><small>[https://docs.libretro.com/library/beetle_gba/ mednafen_gba_libretro]</small>
 
|[[Mednafen]]<br/><small>[https://docs.libretro.com/library/beetle_gba/ mednafen_gba_libretro]</small>
 
|align=left|{{Icon|Windows|Linux|macOS|FreeBSD}}
 
|align=left|{{Icon|Windows|Linux|macOS|FreeBSD}}
 
|[{{MednafenURL|releases/}} {{MednafenVer}}]<br/>[https://buildbot.libretro.com/nightly/ libretro core]
 
|[{{MednafenURL|releases/}} {{MednafenVer}}]<br/>[https://buildbot.libretro.com/nightly/ libretro core]
|{{?}} || || ||{{✓}} ||{{✓}} ||{{✗}}
+
|? ||{{?}} ||{{?}} || ||{{✓}} ||{{✓}} ||{{✗}}
|-
 
|[https://hades-emu.org Hades]
 
|align=left|{{Icon|Windows|Linux|macOS}}
 
|[https://github.com/hades-emu/Hades/releases/tag/v1.0.0 {{HadesVer}}]<br/> [https://nightly.link/hades-emu/Hades/workflows/build/master Nightly builds]<br/> [https://github.com/hades-emu/hades Git]
 
|{{?}} || || ||{{✓}} ||{{✓}} ||{{✗}}
 
 
|-
 
|-
|[[higan]] (火眼)<br/>byuu (謬/view)
+
|[[higan]]
 
|align=left|{{Icon|Windows|Linux|macOS}}
 
|align=left|{{Icon|Windows|Linux|macOS}}
 
|[https://github.com/higan-emu/higan/releases/tag/v110 {{higanVer}}]
 
|[https://github.com/higan-emu/higan/releases/tag/v110 {{higanVer}}]
|{{?}} || || ||{{✓}} ||{{✗}} ||{{✗}}<ref group=N>Superseded by [[ares]].</ref>
+
|{{✓}} ||{{✗}} ||{{?}} || ||{{✓}} ||{{✗}} ||{{✗}}<ref group=N>Superseded by [[ares]].</ref>
 
|-
 
|-
 
|iDeaS
 
|iDeaS
 
|align=left|{{Icon|Windows|Linux}}
 
|align=left|{{Icon|Windows|Linux}}
|[https://web.archive.org/web/20150311100053/http://ciacin.site90.com/ideas.php {{iDeaSVer}}]
+
|[https://web.archive.org/web/20150311100053/http://ciacin.site90.com/ideas.php 1.0.4.0]
|{{?}} || || ||{{✗}} ||{{✗}} ||{{✗}}
+
|{{}} ||{{}} ||{{✗}} || ||{{✗}} ||{{✗}} ||{{✗}}
 
|-
 
|-
 
|[https://fms.komkon.org/VGBA VGBA]
 
|[https://fms.komkon.org/VGBA VGBA]
 
|align=left|{{Icon|Windows|Linux|macOS|FreeBSD}}
 
|align=left|{{Icon|Windows|Linux|macOS|FreeBSD}}
 
|[https://fms.komkon.org/VGBA/#Downloads {{VGBAVer}}]
 
|[https://fms.komkon.org/VGBA/#Downloads {{VGBAVer}}]
|{{?}} || || ||{{✗}} ||{{✓}} ||{{✗}}
+
|{{}} ||{{✗}} ||{{✗}} || ||{{✗}} ||{{✓}} ||{{✗}}
 
|-
 
|-
 
|Meteor
 
|Meteor
 
|align=left|{{Icon|Linux}}
 
|align=left|{{Icon|Linux}}
|[https://github.com/blastrock/meteor {{MeteorVer}}]
+
|[https://github.com/blastrock/meteor 1.4.2]
|{{?}} || || ||{{✓}} ||{{✗}} ||{{✗}}
+
|{{}} ||{{}} ||{{✗}} || ||{{✓}} ||{{✗}} ||{{✗}}
 
|-
 
|-
 
|BoyCottAdvance
 
|BoyCottAdvance
 
|align=left|{{Icon|Windows|Linux|macOS}}
 
|align=left|{{Icon|Windows|Linux|macOS}}
|[http://boycottadvance.emuunlim.org/Downloads.htm {{BoyCottAdvanceVer}}]
+
|[http://boycottadvance.emuunlim.org/Downloads.htm 0.2.8]
|{{?}} || || ||{{✗}} ||{{✗}} ||{{✗}}
+
|{{}} ||{{}} ||{{✗}} || ||{{✗}} ||{{✗}} ||{{✗}}
 
|-
 
|-
 
|PlayBoy Advance
 
|PlayBoy Advance
 
|align=left|{{Icon|macOS}}
 
|align=left|{{Icon|macOS}}
|[https://www.zophar.net/macintosh/gba/playboy-advance.html {{PlayBoyAdvanceVer}}]
+
|[https://www.zophar.net/macintosh/gba/playboy-advance.html 1.0]
|{{?}} || || ||{{}} ||{{}} ||{{✗}}
+
|{{✗}} ||{{✗}} ||{{✗}} || ||{{✗}} ||{{✗}} ||{{✗}}
 +
|-
 +
|Hades
 +
|align=left|{{Icon|Windows}}
 +
|[https://github.com/Arignir/Hades Git]
 +
|{{}} ||{{✗}} ||{{✗}} || ||{{}} ||{{}} ||{{✗}}
 
|-
 
|-
 
|GameBeanAdvance
 
|GameBeanAdvance
 
|align=left|{{Icon|Windows}}
 
|align=left|{{Icon|Windows}}
 
|[https://github.com/bmchtech/GameBeanAdvance Git]
 
|[https://github.com/bmchtech/GameBeanAdvance Git]
|{{?}} || || ||{{✓}} ||{{~}} ||{{✗}}
+
|{{}} ||{{✗}} ||{{✗}} || ||{{✓}} ||{{~}} ||{{✗}}
 
|-
 
|-
 
|[[NooDS]]
 
|[[NooDS]]
 
|align=left|{{Icon|Windows|Linux|macOS}}
 
|align=left|{{Icon|Windows|Linux|macOS}}
 
|[https://github.com/Hydr8gon/NooDS/releases git]
 
|[https://github.com/Hydr8gon/NooDS/releases git]
|{{?}} || || ||{{✓}} ||{{✓}} ||{{✗}}
+
|{{}} ||{{✗}} ||{{✗}} || ||{{✓}} ||{{✓}} ||{{✗}}
|}
 
</div>
 
 
 
===Mobile / ARM===
 
<div style="overflow-x:auto;width:100%">
 
{| class="wikitable" style="text-align:center;width:100%"
 
 
|-
 
|-
! scope="col"|Name
+
!colspan="12"|Mobile / ARM
! scope="col"|Platform(s)
 
! scope="col"|Latest Version
 
! scope="col"|[[#Hardware_features_and_accessories|Hardware features<br/>and accessories]]
 
! scope="col"|[[#Enhancements|Enhancements]]
 
! scope="col"|Compatibility
 
! scope="col"|<abbr title="Free/Libre and Open-Source Software">FLOSS</abbr>
 
! scope="col"|Active
 
! scope="col"|[[Recommended Emulators|Recommended]]
 
 
|-
 
|-
 
|[[mGBA]]
 
|[[mGBA]]
 
|align=left|{{Icon|Android|iOS|Linux|Pandora}}
 
|align=left|{{Icon|Android|iOS|Linux|Pandora}}
 
|[https://github.com/huhao1987/mGBA_Android unofficial android version]<br/>[https://buildbot.libretro.com/nightly/ libretro core]
 
|[https://github.com/huhao1987/mGBA_Android unofficial android version]<br/>[https://buildbot.libretro.com/nightly/ libretro core]
|{{~}} ||{{~}} || ||{{✓}} ||{{✓}} ||{{✓}}
+
|{{}} ||{{✓}}<abbr title="Exclusive to standalone version.">*</abbr> ||{{~}} || ||{{✓}} ||{{✓}} ||{{✓}}
 
|-
 
|-
 
|[[VisualBoy Advance#VBA-M|VBA-M]]
 
|[[VisualBoy Advance#VBA-M|VBA-M]]
 
|align=left|{{Icon|Android|iOS|Linux|Pandora}}
 
|align=left|{{Icon|Android|iOS|Linux|Pandora}}
 
|[https://buildbot.libretro.com/nightly/ libretro core]
 
|[https://buildbot.libretro.com/nightly/ libretro core]
|{{~}} ||{{~}} || ||{{✓}} ||{{✓}} ||{{~}}
+
|{{}} ||{{✗}}<abbr title="Exclusive to standalone version.">*</abbr> ||{{~}} || ||{{✓}} ||{{✓}} ||{{~}}
 
|-
 
|-
 
|[[SkyEmu]]
 
|[[SkyEmu]]
 
|align=left|{{Icon|Android|iOS}}
 
|align=left|{{Icon|Android|iOS}}
 
|[https://play.google.com/store/apps/details?id=com.sky.SkyEmu v3.2] (Play)[https://www.amazon.com/SkyEmu-GBC-GBA-NDS-Emulator/dp/B0CGHK8QP5 v3.2] (Amazon)[https://github.com/skylersaleh/SkyEmu git]
 
|[https://play.google.com/store/apps/details?id=com.sky.SkyEmu v3.2] (Play)[https://www.amazon.com/SkyEmu-GBC-GBA-NDS-Emulator/dp/B0CGHK8QP5 v3.2] (Amazon)[https://github.com/skylersaleh/SkyEmu git]
|{{✗}} ||{{~}} || ||{{✓}} ||{{✓}} ||{{~}}
+
|{{✓}} ||{{✗}} ||{{~}} || ||{{✓}} ||{{✓}} ||{{~}}
 
|-
 
|-
 
|[[gpSP]]
 
|[[gpSP]]
 
|align=left|{{Icon|Android|iOS|Pandora}}<br/>{{Icon|Didj|Symbian}}
 
|align=left|{{Icon|Android|iOS|Pandora}}<br/>{{Icon|Didj|Symbian}}
 
|[https://buildbot.libretro.com/nightly/ libretro core]<br/>[http://repo.openpandora.org/?page=detail&app=package.gpsp.notaz 0.9.2.8 Pandora]<br/>[https://github.com/Summeli/gpSP4Cute Symbian]
 
|[https://buildbot.libretro.com/nightly/ libretro core]<br/>[http://repo.openpandora.org/?page=detail&app=package.gpsp.notaz 0.9.2.8 Pandora]<br/>[https://github.com/Summeli/gpSP4Cute Symbian]
|{{~}} ||{{~}} ||[https://docs.libretro.com/library/gpsp/#compatibility ?] ||{{✓}} ||{{~}}<ref group=N name=gpsp>Libretro Core Only.</ref> ||{{~}}
+
|{{}} ||{{?}} ||{{?}} || ||{{✓}} ||{{~}}<ref group=N name=gpsp>Libretro Core Only.</ref> ||{{~}}
 
|-
 
|-
|Pizza Boy A Basic
+
|Pizza Boy GBA
 
|align=left|{{Icon|Android}}
 
|align=left|{{Icon|Android}}
|[https://play.google.com/store/apps/details?id=it.dbtecno.pizzaboygba 1.12.1]
+
|[https://play.google.com/store/apps/details?id=it.dbtecno.pizzaboygbapro 2.6.8]
|{{~}} ||{{~}} || ||{{✗}} ||{{✓}}||{{~}}
+
|{{✗}}<abbr title="Separate app called Pizza Boy GBC.">*</abbr> ||{{✗}} ||{{~}} || ||{{✗}} ||{{✓}} ||{{~}}
 
|-
 
|-
 
|[https://www.explusalpha.com/contents/gba-emu GBA.emu]<br/><small>(VBA-M 2.1.4 based)</small>
 
|[https://www.explusalpha.com/contents/gba-emu GBA.emu]<br/><small>(VBA-M 2.1.4 based)</small>
 
|align=left|{{Icon|Android|Pyra}}
 
|align=left|{{Icon|Android|Pyra}}
 
|[https://github.com/Rakashazi/emu-ex-plus-alpha/releases/tag/Pre-release Pre-release]<br/>[https://play.google.com/store/apps/details?id=com.explusalpha.GbaEmu {{.emuVer}}]</br>[https://pyra-handheld.com/repo/apps/75 1.5.46.02 Pyra]
 
|[https://github.com/Rakashazi/emu-ex-plus-alpha/releases/tag/Pre-release Pre-release]<br/>[https://play.google.com/store/apps/details?id=com.explusalpha.GbaEmu {{.emuVer}}]</br>[https://pyra-handheld.com/repo/apps/75 1.5.46.02 Pyra]
|{{?}} || || ||{{~}} ||{{✓}} ||{{~}}
+
|{{✗}}<abbr title="Separate app called GBC.emu.">*</abbr> ||{{✗}} ||{{?}} || ||{{}} ||{{✓}} ||{{~}}
 
|-
 
|-
 
|[https://sites.google.com/site/fastemulator/ My Boy!]
 
|[https://sites.google.com/site/fastemulator/ My Boy!]
 
|align=left|{{Icon|Android}}
 
|align=left|{{Icon|Android}}
 
|[https://play.google.com/store/apps/details?id=com.fastemulator.gba 2.0.6]
 
|[https://play.google.com/store/apps/details?id=com.fastemulator.gba 2.0.6]
|{{?}} || || ||{{✗}} ||{{✓}} ||{{~}}
+
|{{}}<abbr title="Separate paid app called My OldBoy!.">*</abbr> ||{{✗}} ||{{~}} || ||{{✗}} ||{{✓}} ||{{~}}
 
|-
 
|-
 
|[https://forums.windowscentral.com/app-spotlight/252987-trio-nintendo-emulators-vba8-vgbc8-snes8x.html VBA10]
 
|[https://forums.windowscentral.com/app-spotlight/252987-trio-nintendo-emulators-vba8-vgbc8-snes8x.html VBA10]
 
|align=left|{{Icon|W10P}}
 
|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]
 
|[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]
|{{?}} || || ||{{✓}} ||{{✗}} ||{{~}}
+
|{{}} ||{{✗}} ||{{✗}} || ||{{✓}} ||{{✗}} ||{{~}}
 
|-
 
|-
 
|GBA_J2ME
 
|GBA_J2ME
 
|align=left|{{Icon|Java}}
 
|align=left|{{Icon|Java}}
 
|[http://oldfag.top/downloads/?act=view&id=168 1.0]
 
|[http://oldfag.top/downloads/?act=view&id=168 1.0]
|{{?}} || || ||? ||{{✗}} ||{{~}}
+
|{{}} ||{{✗}} ||{{✗}} || ||? ||{{✗}} ||{{~}}
 
|-
 
|-
 
|VGBAnext
 
|VGBAnext
 
|align=left|{{Icon|Android}}
 
|align=left|{{Icon|Android}}
 
|[https://play.google.com/store/apps/details?id=com.fms.emu {{VGBANextVer}}]
 
|[https://play.google.com/store/apps/details?id=com.fms.emu {{VGBANextVer}}]
|{{?}} || || ||{{✗}} ||{{✓}} ||{{✗}}
+
|{{}} ||{{✗}} ||{{✗}} || ||{{✗}} ||{{✓}} ||{{✗}}
 
|-
 
|-
 
|[[NooDS]]
 
|[[NooDS]]
 
|align=left|{{Icon|Android}}
 
|align=left|{{Icon|Android}}
 
|[https://play.google.com/store/apps/details?id=com.hydra.noods 0.1]<br/>[https://github.com/Hydr8gon/NooDS/releases git]
 
|[https://play.google.com/store/apps/details?id=com.hydra.noods 0.1]<br/>[https://github.com/Hydr8gon/NooDS/releases git]
|{{?}} || || ||{{✓}} ||{{✓}} ||{{✗}}
+
|{{}} ||{{✗}} ||{{✗}} || ||{{✓}} ||{{✓}} ||{{✗}}
 
|-
 
|-
 
|GBA4iOS
 
|GBA4iOS
 
|align=left|{{Icon|iOS}}
 
|align=left|{{Icon|iOS}}
 
|[https://iemulators.com/gba4ios 2.1]
 
|[https://iemulators.com/gba4ios 2.1]
|{{?}} || || ||{{✓}} ||{{✗}} ||{{✗}}
+
|{{}} ||{{✗}} ||{{✗}} || ||{{✓}} ||{{✗}} ||{{✗}}
 
|-
 
|-
 
|[http://web.archive.org/web/20190801135245/http://allaboutwindowsphone.com/software/content/VBA8_1.php VBA8]
 
|[http://web.archive.org/web/20190801135245/http://allaboutwindowsphone.com/software/content/VBA8_1.php VBA8]
 
|align=left|{{Icon|W8P}}
 
|align=left|{{Icon|W8P}}
 
|[https://www.appx4fun.com/xap/15223/ 2.27]
 
|[https://www.appx4fun.com/xap/15223/ 2.27]
|{{?}} || || ||{{✓}} ||{{✗}} ||{{✗}}
+
|{{}} ||{{✗}} ||{{✗}} || ||{{✓}} ||{{✗}} ||{{✗}}
|}
 
</div>
 
 
 
===Consoles===
 
<div style="overflow-x:auto;width:100%">
 
{| class="wikitable" style="text-align:center;width:100%"
 
 
|-
 
|-
! scope="col"|Name
+
!colspan="12"|Consoles
! scope="col"|Platform(s)
 
! scope="col"|Latest Version
 
! scope="col"|[[#Hardware_features_and_accessories|Hardware features<br/>and accessories]]
 
! scope="col"|[[#Enhancements|Enhancements]]
 
! scope="col"|Compatibility
 
! scope="col"|<abbr title="Free/Libre and Open-Source Software">FLOSS</abbr>
 
! scope="col"|Active
 
! scope="col"|[[Recommended Emulators|Recommended]]
 
 
|-
 
|-
 
|[[mGBA]]
 
|[[mGBA]]
 
|align=left|{{Icon|Wii|WiiU|Switch}}<br>{{Icon|3DS|PSV}}
 
|align=left|{{Icon|Wii|WiiU|Switch}}<br>{{Icon|3DS|PSV}}
 
|[https://mgba.io/builds/1/ Dev builds]<br/> [https://mgba.io/downloads.html#homebrew {{MGBAVer}}]<br/>[https://www.retroarch.com/?page=platforms libretro core]
 
|[https://mgba.io/builds/1/ Dev builds]<br/> [https://mgba.io/downloads.html#homebrew {{MGBAVer}}]<br/>[https://www.retroarch.com/?page=platforms libretro core]
|{{~}} ||{{~}} || ||{{✓}} ||{{✓}} ||{{✓}}  
+
|{{}} ||{{✓}}<abbr title="Exclusive to standalone version.">*</abbr> ||{{~}} || ||{{✓}} ||{{✓}} ||{{✓}}  
 
|-
 
|-
|[[Nintendo Switch Online]] <small>(Sloop)</small>
+
| [[Nintendo Switch Online]]<br/><small>(Sloop)</small>
|align=left|{{Icon|Switch}}
+
| align=left|{{Icon|Switch}}
|N/A
+
| N/A
|{{~}} ||{{~}} ||[[Wikipedia:List_of_Nintendo_Switch_Online_games#Game_Boy_Advance|Only for selected titles]] ||{{✗}} ||{{✓}} ||{{✓}}  
+
|{{}} ||{{~}} ||{{?}} || ||{{✗}} ||{{✓}} ||{{✓}}  
 
|-
 
|-
 
|[https://docs.libretro.com/library/vba_next/ VBA Next]
 
|[https://docs.libretro.com/library/vba_next/ VBA Next]
 
|align=left|{{Icon|NGC|Wii|NX}}<br/>{{Icon|PS3}}<br/>{{Icon|PS4}}<br/>{{Icon|Vita}}<br/>{{Icon|Xbox|Xbox360}}
 
|align=left|{{Icon|NGC|Wii|NX}}<br/>{{Icon|PS3}}<br/>{{Icon|PS4}}<br/>{{Icon|Vita}}<br/>{{Icon|Xbox|Xbox360}}
 
|[https://www.retroarch.com/?page=platforms libretro core]
 
|[https://www.retroarch.com/?page=platforms libretro core]
|{{?}} ||{{~}} || ||{{✓}} ||{{✓}} ||{{✓}}
+
|{{✗}} ||{{✗}}<abbr title="Exclusive to standalone version.">*</abbr> ||{{?}} || ||{{✓}} ||{{✓}} ||{{✓}}
 
|-
 
|-
 
|[[gpSP]]
 
|[[gpSP]]
 
|align=left|{{Icon|DC|PSP}}<br/>{{Icon|PS2|NGC|Wii}}<br/>{{Icon|3DS|Vita}}
 
|align=left|{{Icon|DC|PSP}}<br/>{{Icon|PS2|NGC|Wii}}<br/>{{Icon|3DS|Vita}}
 
|[https://www.retroarch.com/?page=platforms libretro core]<br/>[[GpSP#PSP_Version|TempGBA4PSP]]
 
|[https://www.retroarch.com/?page=platforms libretro core]<br/>[[GpSP#PSP_Version|TempGBA4PSP]]
|{{~}} ||{{~}} ||[https://docs.libretro.com/library/gpsp/#compatibility ?] ||{{✓}} ||{{~}}<ref group=N name=gpsp></ref>  ||{{✓}}
+
|{{}} ||{{?}} ||{{?}} || ||{{✓}} ||{{~}}<ref group=N name=gpsp></ref>  ||{{✓}}
 
|-
 
|-
 
|[[Virtual Console]]
 
|[[Virtual Console]]
 
|align=left|{{Icon|3DS|WiiU}}
 
|align=left|{{Icon|3DS|WiiU}}
 
|8.10
 
|8.10
|{{~}} ||{{}} ||[[Wikipedia:Virtual_Console#Titles_2|Only for selected titles (3DS)]]<br/>[[Wikipedia:Virtual_Console#Titles_3|Only for selected titles (Wii U)]] ||{{✗}} ||{{✗}} ||{{✓}}
+
|{{}}<abbr title="3DS only">*</abbr> ||{{~}} ||{{?}} || ||{{✗}} ||{{✗}} ||{{✓}}
 
|-
 
|-
 
|Game Boy Player
 
|Game Boy Player
 
|align=left|{{Icon|GCN}}
 
|align=left|{{Icon|GCN}}
 
|
 
|
|{{~}} ||{{}} || ||{{✗}} ||{{✗}} ||{{✓}}
+
|{{}} ||{{✓}} ||{{?}} || ||{{✗}} ||{{✗}} ||{{✓}}
 
|-
 
|-
 
|ReGBA
 
|ReGBA
 
|Align=left|{{Icon|PS2}}
 
|Align=left|{{Icon|PS2}}
 
|[https://www.ps2-home.com/forum/viewtopic.php?t=1332 v1.45.5 revision 3]
 
|[https://www.ps2-home.com/forum/viewtopic.php?t=1332 v1.45.5 revision 3]
|{{?}} || || ||{{✓}} ||{{✗}} ||{{~}}
+
|{{}} ||{{✗}} ||{{✗}} || ||{{✓}} ||{{✗}} ||{{~}}
 
|-
 
|-
 
|[https://www.gc-forever.com/wiki/index.php?title=Enhanced_mGBA emGBA]
 
|[https://www.gc-forever.com/wiki/index.php?title=Enhanced_mGBA emGBA]
|align=left|{{Icon|GCN|Wii|WiiU}}
+
|align=left|{{Icon|GCN|Wii}}
 
|[https://files.extremscorner.org/gamecube/apps/mgba/latest git]
 
|[https://files.extremscorner.org/gamecube/apps/mgba/latest git]
|{{?}} || || ||{{✓}} ||{{✓}} ||{{~}}
+
|{{✓}} ||{{?}} ||{{?}} || ||{{✓}} ||{{✓}} ||{{~}}
 
|-
 
|-
 
|[[VisualBoy Advance#VBA-GX|VBA GX]]
 
|[[VisualBoy Advance#VBA-GX|VBA GX]]
|align=left|{{Icon|GCN|Wii|WiiU}}
+
|align=left|{{Icon|GCN|Wii}}
 
|[https://github.com/dborth/vbagx/releases git]
 
|[https://github.com/dborth/vbagx/releases git]
|{{?}} || || ||{{✓}} ||{{✓}} ||{{~}}
+
|{{✓}} ||{{✗}} ||{{?}} || ||{{✓}} ||{{✓}} ||{{~}}
 
|-
 
|-
 
|Gbaemu4DS
 
|Gbaemu4DS
 
|align=left|{{Icon|NDS}}
 
|align=left|{{Icon|NDS}}
 
|[https://ichfly.github.io/gbaemu4DS Alpha 2 fix 4][https://github.com/ichfly/gbaemu4DS git]
 
|[https://ichfly.github.io/gbaemu4DS Alpha 2 fix 4][https://github.com/ichfly/gbaemu4DS git]
|{{?}} || || ||{{✓}} ||{{✗}} ||{{✗}}
+
|{{}} ||{{✗}} ||{{✗}} || ||{{✓}} ||{{✗}} ||{{✗}}
 
|-
 
|-
 
|[[GBARunner2]]
 
|[[GBARunner2]]
 
|align=left|{{Icon|NDS|3DS}}
 
|align=left|{{Icon|NDS|3DS}}
 
|[https://github.com/Gericom/GBARunner2/releases/tag/v20200812-131430_6e4ce45 2020/08/12]  
 
|[https://github.com/Gericom/GBARunner2/releases/tag/v20200812-131430_6e4ce45 2020/08/12]  
|{{?}} || || ||{{✓}} ||{{✗}} ||{{✗}}
+
|{{}} ||{{✗}} ||{{✗}} || ||{{✓}} ||{{✗}} ||{{✗}}
 
|-
 
|-
|[[gpSP|UO gpSP Kai]] (UO gpSP改)
+
|[[gpSP|UO gpSP Kai]]
 
|align=left|{{Icon|PSP}}
 
|align=left|{{Icon|PSP}}
 
|3.4 test 4 build 230
 
|3.4 test 4 build 230
|{{?}} || || ||{{✓}} ||{{✗}} ||{{✗}}
+
|? ||{{✗}} ||{{✗}} || ||{{}} ||{{✗}} ||{{✗}}
|-
 
|[[NooDS]]
 
|align=left|{{Icon|Switch|Vita|WiiU}}<br/>{{Icon|PSP}}
 
|[https://github.com/Hydr8gon/NooDS git]<small> (Switch/Vita/WiiU)</small><br/>[https://github.com/Xiro28/NooDS_PSP git] <small>(PSP port)</small>
 
|{{?}} ||{{✗}} ||? ||{{✓}} ||{{✓}} ||{{✗}}
 
 
|}
 
|}
 
</div>
 
</div>
 
<references group=N />
 
<references group=N />
  
==Native==
+
===Comparisons===
<div style="overflow-x:auto;width:100%">
+
;[[mGBA]]:Aims for [[Emulation Accuracy|accuracy]], speed, and features. 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.
{| class="wikitable" style="text-align:center;width:100%"
+
;[[NanoBoyAdvance]]<small class="plainlinks" style="font-weight:normal;"> ([https://github.com/nba-emu/NanoBoyAdvance/blob/master/docs/ACCURACY.md#game-compatibility Compatibility])</small>:Highly [[Emulation_accuracy|accurate]]<ref>[https://github.com/nba-emu/NanoBoyAdvance/blob/master/docs/ACCURACY.md mGBA suite comparison]</ref> Game Boy Advance emulator. It aims for [[Emulation Accuracy|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 [https://github.com/nba-emu/NanoBoyAdvance/blob/master/docs/ACCURACY.md#Game-compatibility peculiar hardware edge-cases].
! scope="col"|Name
 
! scope="col"|Platform(s)
 
! scope="col"|Latest Version
 
! scope="col"|[[#Enhancements|Enhancements]]
 
! scope="col"|[[#Hardware_features_and_accessories|Hardware features<br/>and accessories]]
 
! scope="col"|<small>Compatibility</small>
 
! scope="col"|<abbr title="Free/Libre and Open-Source Software">FLOSS</abbr>
 
! scope="col"|Active
 
! scope="col"|[[Recommended emulators|Recommended]]
 
|-
 
|Nintendo 3DS (AGB_FIRM)
 
|align=left|{{Icon|3DS}}
 
|?
 
| || {{✗}} ||No documented issues, but games that use special cart hardware are not supported ||{{✗}} ||{{✗}} ||{{✓}}
 
|}
 
</div>
 
 
 
==Comparisons==
 
;[[mGBA]]:Free and open-source Game Boy/Color and Game Boy Advance emulator developed by endrift. Being written from scratch, it aims for speed, [[Emulation Accuracy|accuracy]], and portability. As of yet, it's the most complete GBA emulation effort with [[#Enhancements|enhancements]] and [[#Hardware_features_and_accessories|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 recently for games supporting [[#Hardware_features_and_accessories|connectivity features]].
 
 
 
;[[NanoBoyAdvance]]:Highly [[Emulation_accuracy|accurate]]<ref>[https://github.com/nba-emu/NanoBoyAdvance/blob/master/docs/ACCURACY.md mGBA suite comparison]</ref> Game Boy Advance emulator. It aims for [[Emulation Accuracy|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 [https://github.com/nba-emu/NanoBoyAdvance/blob/master/docs/ACCURACY.md#Game-compatibility peculiar hardware edge-cases]. Unfortunately, following the release of the next major update, developer "[https://github.com/fleroviux fleroviux]" will step down from actively developing the project.[https://old.reddit.com/r/emulation/comments/1auz9c9/nanoboyadvance_180_is_released_plus_announcement/]
 
 
 
 
;[[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|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 [[Emulation Accuracy|accuracy]] and performance compared to mGBA.
:;[[VisualBoy Advance#VBA-M|Visual Boy Advance-M (VBA-M)]]:A fork with additional minor improvements. It is behind in terms of [[Emulation Accuracy|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.
 
::;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 [https://old.reddit.com/r/emulation/comments/ybejxv/skyemu_v2_release/itutt2h/ good user experience] through a good mixture of tradeoffs of [[Emulation_accuracy|accuracy]]<ref>[https://github.com/skylersaleh/SkyEmu#accuracycompatibility SkyEmu: Accuracy and Compatibility], [https://github.com/skylersaleh/SkyEmu/blob/dev/docs/Accuracy.md SkyEmu: Accuracy on Difficult to Emulate Games].</ref>, 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.
;[[SkyEmu]]:Low level Game Boy, Game Boy Color and Game Boy Advance emulator. Its primary focus is to provide a [https://old.reddit.com/r/emulation/comments/ybejxv/skyemu_v2_release/itutt2h/ good user experience] through a good mixture of tradeoffs of [[Emulation_accuracy|accuracy]]<ref>[https://github.com/skylersaleh/SkyEmu#accuracycompatibility SkyEmu: Accuracy and Compatibility], [https://github.com/skylersaleh/SkyEmu/blob/dev/docs/Accuracy.md SkyEmu: Accuracy on Difficult to Emulate Games].</ref>, 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]]:It is behind in terms of performance and compatibility compared to mGBA, NanoBoyAdvance and SkyEmu but [[Emulation Accuracy|accuracy]] wise it has dot-based instead of scanline-based renderer for the Game Boy Advance.
 
+
;[[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.249.
;[[higan]] / [[ares]]:[[Emulation Accuracy|Accuracy]] wise it is behind compared to NanoBoyAdvance, SkyEmu (and maybe mGBA) but it has dot-based instead of scanline-based renderer and doing better job compared to VBA-M. Also it is behind in terms of compatibility compared to mGBA, NanoBoyAdvance and SkyEmu, but Ares stands out being [[Multi-system_emulators|multi-system emulator]] and supports some useful [[#Enhancements|enhancements]] like shaders/filters and simple debug features.
+
;[[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.
 
 
;[[Mesen]]: It has potential to being the best GBA debugger in the future. placeholder text
 
 
 
;[[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.261.
 
 
 
;[[gpSP]]:Originally made for the PSP, 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. TempGBA is another good fork. For other platforms, there's a libretro port of gpSP with fast x86 and ARM dynarecs. While it's 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#Lawsuit|yuzu situation]], the project was pulled from the Play Store by its developer after seven years of development and was presumed dead in 2024[https://old.reddit.com/r/emulation/comments/1b97uus/emulator_pizza_boy_for_gba_and_gbc_removed_from/][https://old.reddit.com/r/EmulationOnAndroid/comments/1ba5h5g/pizzaboy_emulator_is_gone/][https://www.theverge.com/2024/3/7/24093867/another-emulator-is-shutting-down]. However, in April, the project was renamed and development has resumed[https://www.theverge.com/2024/4/23/24138403/speaking-of-turning-your-phone-into-a-nintendo-emulator][https://gbatemp.net/threads/pizza-boy-a-basic-emulator-back-into-google-play-store-free-and-without-ads.654652/][https://old.reddit.com/r/emulation/comments/1cbp2fx/pizza_boy_is_back/].
 
 
 
 
; [[Nintendo Switch Online]] (Sloop)
 
; [[Nintendo Switch Online]] (Sloop)
 
* GBA support was added to Nintendo Switch Online Expansion Pack in February 2023, alongside GB games exclusive to the normal tier;
 
* GBA support was added to Nintendo Switch Online Expansion Pack in February 2023, alongside GB games exclusive to the normal tier;
* Users are [[Wikipedia:List_of_Nintendo_Switch_Online_games#Game_Boy_Advance|limited to the selection of games]] Nintendo chooses to make available on the service;
+
* Users are limited to the selection of games Nintendo chooses to make available on the service;
 
* Can support Local Play with other Switch Online users (up to 4 players, Local Play must be with individual Switch systems);
 
* Can support Local Play with other Switch Online users (up to 4 players, Local Play must be with individual Switch systems);
 
* [https://twitter.com/LuigiBlood/status/1624005571815899136 Accurate enough] at the point of being able to pass any of the ''AGB Test Cartridge'' (v10) tests without a single failure;
 
* [https://twitter.com/LuigiBlood/status/1624005571815899136 Accurate enough] at the point of being able to pass any of the ''AGB Test Cartridge'' (v10) tests without a single failure;
Line 363: Line 294:
  
 
==Enhancements==
 
==Enhancements==
<div style="overflow-x:auto;width:100%">
+
{|class="wikitable" style="text-align:center; vertical-align:middle;"
{|class="wikitable" style="text-align:center;vertical-align:middle;width:100%"
 
 
|- style="font-weight:bold;"
 
|- style="font-weight:bold;"
 
! colspan=2 | Name
 
! colspan=2 | Name
Line 372: Line 302:
 
! SkyEmu
 
! SkyEmu
 
! NanoBoyAdvance
 
! NanoBoyAdvance
! Mesen
 
 
! Game Boy Player
 
! Game Boy Player
 
! Virtual Console
 
! Virtual Console
Line 378: Line 307:
 
! ares
 
! ares
 
! GBE+
 
! GBE+
! gpSP
 
! Pizza Boy GBA (Pro)
 
 
! MAME
 
! MAME
! Nintendo Switch Online (Sloop)
+
! Nintendo Switch Online
 
|-
 
|-
| rowspan=3 | Graphics
+
| colspan=2 | [[Resolution|Resizable Internal Resolution]]
| [[Resolution|Resizable Internal Resolution]]
+
| colspan=12 | For emulation of 2D systems, the resolution can only be upscaled, making the pixels more apparent.
| colspan=14 | For emulation of 2D systems, the resolution can only be upscaled, making the pixels more apparent.
 
 
|-
 
|-
| [[Texture_packs#Sprite_Replacement_.282D.29|Sprite Replacement]]
+
| colspan=2 | [[Netplay|Netplay]]<br/><small>You can use either Yuzu/Ryujinx for playing GBA games online via netplay.</small>
|{{}}
+
|[https://mgba.io/faq.html#glossary WIP]
|{{}}
+
|{{N}}
|{{}}
+
|{{N}}
|{{}}
+
|{{N}}
|{{}}
+
|{{N}}
|{{}}
+
|{{N}}
|{{}}
+
|{{N}}
|{{}}
+
|{{N}}
|{{}}
+
|{{N}}
|{{}}
+
|{{N}}
|{{?}}
+
|{{N}}
|{{?}}
+
|{{N}}
|{{?}}
+
|-
|{{}}
+
| colspan=2 | [[Overclocking|Overclock]]
|{{}}
+
|{{N}}[https://github.com/mgba-emu/mgba/issues/2833 *]
 +
|{{N}}
 +
|{{N}}
 +
|{{N}}
 +
|{{N}}
 +
|{{N}}
 +
|{{N}}
 +
|{{N}}
 +
|{{N}}
 +
|{{?}}[https://old.reddit.com/r/emulation/comments/65j3c3/can_a_emulated_game_run_better_then_the_actual/dgau7ck/ *]
 +
|{{Y}}[https://old.reddit.com/r/emulation/comments/8nw23h/gba_emulator_w_overclock_support/e02nnn6/ *]
 +
|{{N}}
 
|-
 
|-
| [[Widescreen_hacks#Emulators_.282D.29|Widescreen Hack]]
+
| colspan=2 | [[30/60_FPS_cheat_codes|Internal Framerate Hack]]
|
 
|
 
|
 
 
|
 
|
 
|
 
|
Line 413: Line 347:
 
|
 
|
 
|
 
|
 +
|{{N}}
 +
|{{N}}
 
|
 
|
|{{}}
+
|{{N}}
|
 
|
 
|
 
 
|
 
|
 
|
 
|
 +
|{{N}}
 
|-
 
|-
| rowspan=2 | Performance
+
| colspan=2 | [[Texture_packs#Sprite_Replacement_.282D.29|Sprite Replacement]]
| [[Overclocking|Overclock]]
+
|{{N}}
|{{}}[https://github.com/mgba-emu/mgba/issues/2833 *]
+
|{{N}}
|{{}}
+
|{{N}}
|{{}}
+
|{{N}}
|{{}}
+
|{{N}}
|{{}}
+
|{{N}}
|{{}}
+
|{{N}}
|{{}}
+
|{{N}}
|{{}}
+
|{{N}}
|{{✗}}
 
|{{✗}}
 
|{{?}}[https://old.reddit.com/r/emulation/comments/65j3c3/can_a_emulated_game_run_better_then_the_actual/dgau7ck/ *]
 
|{{?}}
 
 
|{{?}}
 
|{{?}}
|{{}}[https://old.reddit.com/r/emulation/comments/8nw23h/gba_emulator_w_overclock_support/e02nnn6/ *]
+
|{{N}}
|{{}}
+
|{{N}}
 
|-
 
|-
| [[30/60_FPS_cheat_codes|Internal Framerate Hack]]
+
| colspan=2 | [https://retroachievements.org/gameList.php?c=5 RetroAchievements]
 +
|{{~}}<ref group=N3 name=lrExclusive>Exclusive to libretro core. There is also a [https://github.com/RetroAchievements/RAVBA modified version of VBA-M] for RetroAchievement support. [https://github.com/mgba-emu/mgba/issues/2232 Feature request: RetroAchievements integration in mGBA standalone].</ref>
 +
|{{~}}<ref group=N3 name=lrExclusive></ref>
 +
|{{N}}
 +
|{{N}}[https://github.com/skylersaleh/SkyEmu/issues/36 *]
 +
|{{N}}
 +
|{{N}}
 +
|{{N}}
 +
|{{Y}}[https://retroachievements.org/download.php#bizhawk *]
 +
|{{N}}
 
|
 
|
|
+
|{{N}}
|
+
|{{N}}
|
 
|
 
|
 
|{{✗}}
 
|{{✗}}
 
|
 
|{{}}
 
|
 
|
 
|
 
|
 
|{{}}
 
 
|-
 
|-
| rowspan=6 | Post-Processing
+
| colspan=2 | [https://github.com/ipatix/gba-hq-mixer High Quality Audio Mixer]<br/><small>HQ audio mixer for games which use Nintendo's MusicPlayer2000 sound engine</small>
| [[Wikipedia:Category:Anti-aliasing_algorithms|Post-rendering AA]]<br/><small>(FXAA, TXAA and MLAA/SMAA)</small>
+
|{{~}}
| {{}}
 
|
 
|
 
|
 
|
 
|
 
 
|
 
|
 
|
 
|
 
|
 
|
 +
|{{Y}}
 
|
 
|
 
|
 
|
|{{✓}}
 
 
|
 
|
 +
|{{N}}
 
|
 
|
 
|
 
|
 +
|{{N}}
 
|-
 
|-
| [[Wikipedia:Comparison_gallery_of_image_scaling_algorithms|Post-rendering scaling]]<br/><small>(Sharp bilinear, Lanczos and [[Wikipedia:GPUOpen#FidelityFX_Super_Resolution|FSR 1]])</small>
+
| colspan=2 | Built-in [http://forum.arcadecontrols.com/index.php/topic,106405 Custom resolution/CRTSwitchRes]<br/><small>For using this on Windows OS you need [http://geedorah.com/eiusdemmodi/forum/viewtopic.php?pid=1009#p1009 CRT Emudriver].<br/>Another option is using EDID editor tool such as "Custom Resolution Utility".</small>
|{{✓}}
+
| colspan=12 | Exclusive to [https://docs.libretro.com/guides/crtswitchres/ libretro cores] and [[GroovyMAME]] at the moment.
|
 
|
 
|
 
|
 
|
 
|
 
|
 
|
 
|
 
|
 
|{{✓}}
 
|
 
|{{✓}}
 
|
 
 
|-
 
|-
 +
| rowspan=2 | Post-Processing
 
| [[Shaders_and_filters|Filters]]
 
| [[Shaders_and_filters|Filters]]
|{{}}
+
|{{Y}}
|{{}}
+
|{{Y}}
 +
|
 
|
 
|
 
|
 
|
|{{✓}}
 
|{{✓}}
 
 
|
 
|
 
|
 
|
 
|
 
|
|{{}}
+
|{{Y}}
 
|
 
|
|{{}}
+
|{{Y}}
|{{✓}}
+
|{{Y}}
|{{✓}}
 
|{{✓}}
 
|-
 
|[[Shaders_and_filters#AI-powered filters|AI-powered filter compatible]]<br/><small>([https://www.nvidia.com/en-us/geforce/news/gfecnt/nvidia-freestyle-ansel-enhancements-geforce-experience-article/ Freestyle])</small>
 
| {{?}}
 
| {{?}}
 
| {{?}}
 
| {{?}}
 
| {{?}}
 
| {{?}}
 
| {{✗}}
 
| {{✗}}
 
| {{?}}
 
| {{?}}
 
| {{?}}
 
| {{?}}
 
| {{?}}
 
| {{?}}
 
| {{✗}}
 
 
|-
 
|-
 
| [[Shader_Presets|Shader Chain]]
 
| [[Shader_Presets|Shader Chain]]
 
|{{~}}<ref group=N3 name=lrExclusive></ref>
 
|{{~}}<ref group=N3 name=lrExclusive></ref>
 
|{{~}}<ref group=N3 name=lrExclusive></ref>
 
|{{~}}<ref group=N3 name=lrExclusive></ref>
|{{}}
+
|{{N}}
|{{}}
+
|{{N}}
|{{}}
+
|{{N}}
|{{}}
+
|{{N}}
|{{}}
+
|{{N}}
|{{}}
+
|{{N}}
|{{}}
+
|{{N}}
|{{}}[https://github.com/ares-emulator/ares/pull/1397 *]
+
|{{N}}
|{{}}
+
|{{Y}}
|{{✓}}
+
|{{N}}
|{{✗}}
 
|{{✓}}
 
|{{✗}}
 
|-
 
|[[High_dynamic_range#Inverse_tone_mapping|Inverse tone mapping compatible]]
 
| {{?}}
 
| {{?}}
 
| {{?}}
 
| {{?}}
 
| {{?}}
 
| {{?}}
 
| {{✗}}
 
| {{✗}}
 
| {{?}}
 
| {{?}}
 
| {{?}}
 
| {{?}}
 
| {{?}}
 
| {{?}}
 
| {{✗}}
 
 
|-
 
|-
| rowspan=5 | [https://tasvideos.org/Emulatorresources/Features TAS features]
+
| rowspan=4 | [https://tasvideos.org/Emulatorresources/Features TAS features]
 
| [[Wikipedia:Macro_(computer_science)|Macros/Scripts]]/[https://tasvideos.org/LuaScripting Lua]
 
| [[Wikipedia:Macro_(computer_science)|Macros/Scripts]]/[https://tasvideos.org/LuaScripting Lua]
|{{}}<ref group=N3 name=ExStandalone>Exclusive to standalone version.</ref>
+
|{{Y}}<ref group=N3 name=ExStandalone>Exclusive to standalone version.</ref>
 
|
 
|
 
|
 
|
 
|
 
|
|{{}}
+
|{{N}}
|{{?}}
+
|{{N}}
|{{}}
+
|{{N}}
|{{?}}
+
|{{Y}}
|{{}}
+
|{{N}}
|{{✗}}
 
|{{✓}}
 
|
 
 
|
 
|
|{{}}[https://docs.mamedev.org/plugins/inputmacro.html *]
+
|{{Y}}[https://docs.mamedev.org/plugins/inputmacro.html *]
|{{}}
+
|{{N}}
 
|-
 
|-
 
| Rewind
 
| Rewind
|{{}}
+
|{{Y}}
 +
|
 
|
 
|
 +
|{{Y}}
 
|
 
|
|{{✓}}
 
 
|
 
|
 
|
 
|
 
|
 
|
 
|
 
|
|{{✓}}
 
 
|
 
|
 
|
 
|
|{{✓}}
 
|{{✓}}
 
 
|
 
|
|{{✓}}
 
 
|-
 
|-
 
| Fast-Forward/Turbo Speed
 
| Fast-Forward/Turbo Speed
|{{}}
+
|{{Y}}
 
|
 
|
 
|
 
|
Line 603: Line 467:
 
|
 
|
 
|
 
|
|{{✓}}
 
 
|
 
|
 
|
 
|
|{{?}}
 
|{{✓}}
 
 
|
 
|
 
|
 
|
 
|-
 
|-
 
| Savestates
 
| Savestates
|{{}}
+
|{{Y}}
 +
|
 
|
 
|
 +
|{{Y}}
 
|
 
|
|{{✓}}
 
|{{✓}}
 
 
|
 
|
 
|
 
|
 
|
 
|
|{{✓}}
 
 
|
 
|
 
|
 
|
|{{✓}}
 
|{{✓}}
 
 
|
 
|
 
|
 
|
 
|-
 
|-
| [https://tasvideos.org/Movies Movie recording/playback]
+
| colspan=2 | [[Widescreen_hacks#Emulators_.282D.29|Widescreen Hack]]
| {{?}}[https://forums.mgba.io/archive/index.php?thread-4910.html]
 
|
 
 
|
 
|
 
|
 
|
Line 637: Line 493:
 
|
 
|
 
|
 
|
|{{✓}}
 
 
|
 
|
 
|
 
|
|{{?}}
+
|{{N}}
 
|
 
|
 
|
 
|
 
|
 
|
 
|-
 
|-
| rowspan=1 | Controls
+
| colspan=2 | [[Input_lag|Input lag-mitigating technique]]
| [[Input_lag|Input lag-mitigating technique]]
 
 
|{{~}}<ref group=N3 name=lrExclusive></ref>
 
|{{~}}<ref group=N3 name=lrExclusive></ref>
 
|
 
|
Line 658: Line 512:
 
|
 
|
 
|
 
|
|{{?}}
+
|{{N}}
|
 
|
 
|{{✗}}
 
|-
 
| rowspan=6 | Quality of life
 
| Built-in [http://forum.arcadecontrols.com/index.php/topic,106405 Custom resolution/CRTSwitchRes]<br/><small>For using this on Windows OS you need [http://geedorah.com/eiusdemmodi/forum/viewtopic.php?pid=1009#p1009 CRT Emudriver].<br/>Another option is using EDID editor tool such as "Custom Resolution Utility".</small>
 
| colspan=14 | <small>Exclusive to [https://docs.libretro.com/guides/crtswitchres/ libretro cores] and [[GroovyMAME]] at the moment.<br/>Also there is a [https://github.com/psakhis/Groovy_MiSTer 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.</small>
 
| {{✗}}
 
|-
 
| Built-in [[Cheats_and_patches|Cheat Manager]]
 
|{{✓}}
 
|
 
|
 
|
 
|
 
|
 
|
 
|
 
|
 
|
 
|
 
|{{?}}
 
|{{✓}}
 
|{{✓}}
 
|
 
|-
 
| [[Save_disk_space_for_ISOs#Game_Boy_Advance_.2F_Nintendo_DS_.2F_Nintendo_3DS|Streamable compression format]]
 
|{{✓}}
 
|
 
|
 
|
 
|{{✓}}
 
|
 
|{{✗}}
 
|{{✗}}
 
|{{✓}}
 
|
 
|
 
|{{?}}
 
|{{✓}}
 
|{{✓}}
 
|{{✗}}
 
|-
 
| Per-Game Profiles
 
|
 
|
 
|
 
|
 
|
 
|
 
|
 
|
 
|
 
|
 
|
 
|{{✓}}
 
|
 
|{{✓}}
 
|
 
|-
 
| Command Line Options
 
|
 
|
 
|
 
|
 
|
 
|{{✓}}
 
|
 
|
 
|
 
|
 
|
 
|{{✓}}
 
|
 
|{{✓}}
 
|{{✗}}
 
 
|-
 
|-
| [[Frontends#Graphical_User_Interfaces_.28GUIs.29|Big Picture Mode]]
+
| colspan=2 | [[Save_disk_space_for_ISOs#Game_Boy_Advance_.2F_Nintendo_DS_.2F_Nintendo_3DS|Streamable compression format]]
 +
|{{Y}}
 
|
 
|
 
|
 
|
 
|
 
|
 
|
 
|
 +
|{{N}}
 +
|{{N}}
 +
|{{Y}}
 
|
 
|
 
|
 
|
|
+
|{{Y}}
|
+
|{{N}}
|
 
|
 
|
 
|
 
|
 
|
 
|{{✓}}
 
|-
 
| rowspan=6 | Misc
 
| [[Netplay|Netplay]]<br/><small>You can use either yuzu/Ryujinx for playing GBA games online via netplay.<br/>This enhancement shouldn't be confused with GBA connectivity features emulation.</small>
 
|[https://mgba.io/faq.html#glossary WIP]
 
|{{✗}}
 
|{{✗}}
 
|{{✗}}
 
|{{✗}}
 
|{{✗}}
 
|{{?}}
 
|{{✗}}
 
|{{✗}}
 
|{{✗}}
 
|{{✗}}
 
|{{✗}}
 
|{{✗}}
 
|{{}}
 
|{{}}[https://www.nintendo.com/us/store/products/game-boy-advance-nintendo-switch-online-switch/ *]
 
 
|-
 
|-
| [https://github.com/ipatix/gba-hq-mixer High Quality Audio Mixer]<br/><small>HQ audio mixer for games which use Nintendo's MusicPlayer2000 sound engine</small>
+
| colspan=2 | [[Wikipedia:Debugger|Debug Features]]
|{{~}}
+
|{{Y}}[https://mgba.io/2021/03/28/mgba-0.9.0/#more-debugging-improvements *]
 +
|{{Y}}
 +
|{{Y}}
 
|
 
|
 
|
 
|
 
|
 
|
|{{✓}}
 
 
|
 
|
 
|
 
|
 
|
 
|
 
|
 
|
|{{✗}}
 
 
|
 
|
|{{?}}
+
|{{N}}
|
 
|
 
|{{✗}}
 
|-
 
| [[Virtual_reality#VR_game_room_simulations|EmuVR support]]
 
| colspan=15 |  Exclusive to [https://www.emuvr.net/wiki/Installation_Guide#Downloads libretro cores] at the moment.
 
|-
 
| AI Service<br/><small>With the help of <abbr title="optical character recognition">OCR</abbr> and other techniques, the AI service can provide a live translation of a game, or text-to-speech capabilities for the visually impaired among other things, either on demand or automatically.</small>
 
| colspan=15 | Exclusive to [https://docs.libretro.com/guides/ai-service/ libretro cores] at the moment.
 
|-
 
| [https://retroachievements.org/gameList.php?c=5 RetroAchievements]
 
|{{~}}<ref group=N3 name=lrExclusive>Exclusive to libretro core. There is also a [https://github.com/RetroAchievements/RAVBA modified version of VBA-M] for RetroAchievement support. [https://github.com/mgba-emu/mgba/issues/2232 Feature request: RetroAchievements integration in mGBA standalone].</ref>
 
|{{~}}<ref group=N3 name=lrExclusive></ref>
 
|{{✗}}
 
|{{✗}}[https://github.com/skylersaleh/SkyEmu/issues/36 *]
 
|{{✗}}
 
|{{✗}}
 
|{{✗}}
 
|{{✗}}
 
|{{✓}}[https://retroachievements.org/download.php#bizhawk *]
 
|[https://old.reddit.com/r/emulation/comments/1djp8ro/ares_v139_release/l9ckjp2/ roadmap]
 
|
 
|{{✓}}
 
|{{✓}}
 
|{{✗}}
 
|{{✗}}
 
|-
 
| [[Wikipedia:Category:Debugging|Debug Features]]
 
|{{✓}}[https://mgba.io/2021/03/28/mgba-0.9.0/#more-debugging-improvements *]
 
|{{✓}}
 
|{{✓}}
 
|
 
|{{✓}}
 
|{{✓}}
 
|
 
|
 
|
 
|{{✓}}
 
|
 
|
 
|
 
|
 
|{{✗}}
 
 
|}
 
|}
</div>
 
 
<references group=N3/>
 
<references group=N3/>
  
==Hardware features and accessories==
+
==Connectivity==
:''[https://shonumi.github.io/articles/art34.html Shonumi: The State of Emulation - 2024]''
+
There are five different kinds of connectivity, support varying by game:
<div style="overflow-x:auto;width:100%">
+
 
Where should Multiboot be added? Mini-games transferred from GC to GBA. Only mGBA can run them directly. All other Libretro cores do not support Multiboot. The extension is .gba. Billy Hatcher's mini-game is exclusive to GBA
+
{| class="wikitable" style="text-align:center; vertical-align:middle;"
:+If it's possible to use with real hardware add hardware features and accesories section, if not then add it to enhancements section.
 
{|class="wikitable" style="text-align:center;vertical-align:middle;width:100%"
 
 
|- style="font-weight:bold;"
 
|- style="font-weight:bold;"
 
! colspan=2 | Name
 
! colspan=2 | Name
Line 844: Line 555:
 
! SkyEmu
 
! SkyEmu
 
! NanoBoyAdvance
 
! NanoBoyAdvance
! Mesen
 
 
! Game Boy Player
 
! Game Boy Player
 
! Virtual Console
 
! Virtual Console
 
! BizHawk
 
! BizHawk
! ares
 
 
! GBE+
 
! GBE+
! gpSP
+
! Nintendo Switch Online
! Pizza Boy GBA
 
! MAME
 
! Nintendo Switch Online (Sloop)
 
 
|-
 
|-
|colspan=2 | [https://www.copetti.org/writings/consoles/game-boy-advance/#operating-system GBA BIOS]
+
|colspan=2 | [https://squallsnake.com/blog-gba-single-pak-multiplayer-game-list/ Single Pak]
|{{✓}}
 
|{{✓}}
 
|{{✓}}
 
|{{✓}}
 
|{{?}}
 
|{{?}}
 
|{{?}}
 
|{{✓}}
 
|{{?}}
 
|{{?}}
 
|{{?}}
 
|{{?}}
 
|{{✓}}
 
|{{?}}
 
|{{✓}}
 
|-
 
|colspan=2 | [[#GB.2FGBC_backwards_compatibility_emulation.2FEnhanced_Mode|GB/GBC backwards compatibility emulation/Enhanced Mode]]
 
|{{?}}
 
|{{?}}[https://www.romhacking.net/forum/index.php?topic=21831.0 *]
 
|{{✗}}
 
|{{?}}
 
|{{✗}}
 
|{{?}}
 
|{{?}}
 
|{{?}}<abbr title="3DS only">*</abbr>
 
|{{?}}
 
|{{?}}
 
|{{?}}
 
|{{?}}
 
|{{?}}
 
|{{?}}
 
|{{X}}<abbr title="Plays GB/GBC games through a separate app">*</abbr>
 
|-
 
| colspan=2 | [[#Game_Boy_Advance_Video|Game Boy Advance Video]]
 
|{{✓}}
 
|{{✓}}
 
|{{?}}
 
|{{✗}}
 
|{{?}}
 
|{{?}}
 
|{{✗}}
 
|{{?}}
 
|{{?}}
 
|{{?}}
 
|{{?}}
 
|{{?}}
 
|{{?}}
 
|{{?}}
 
|{{?}}
 
|-
 
|rowspan=5 | [[#Connectivity|<abbr title="There are five different kinds of connectivity, support varying by game.">Connectivity</abbr>]]
 
|[https://squallsnake.com/blog-gba-single-pak-multiplayer-game-list/ Single Pak]
 
 
|{{✓}}<ref group=N2 name=libretro>Does not work on Libretro core. Feature Requests: [https://github.com/libretro/vbam-libretro/issues/114 GBA Game Link Support], [https://github.com/libretro/vbam-libretro/issues/87 e-Reader support] for  for VBA-M libretro core.</ref>
 
|{{✓}}<ref group=N2 name=libretro>Does not work on Libretro core. Feature Requests: [https://github.com/libretro/vbam-libretro/issues/114 GBA Game Link Support], [https://github.com/libretro/vbam-libretro/issues/87 e-Reader support] for  for VBA-M libretro core.</ref>
 
|{{✗}}[https://github.com/visualboyadvance-m/visualboyadvance-m/issues/831 *]
 
|{{✗}}[https://github.com/visualboyadvance-m/visualboyadvance-m/issues/831 *]
Line 913: Line 567:
 
|{{✗}}[https://github.com/skylersaleh/SkyEmu/issues/44 *]
 
|{{✗}}[https://github.com/skylersaleh/SkyEmu/issues/44 *]
 
|{{✗}}
 
|{{✗}}
|{{?}}
+
|{{y}}
|{{✓}}
 
 
|{{~}}<abbr title="Pokemon only">*</abbr>
 
|{{~}}<abbr title="Pokemon only">*</abbr>
 
|{{✓}}
 
|{{✓}}
|{{?}}
 
 
|{{✗}}
 
|{{✗}}
|{{?}}
 
|{{?}}
 
|{{?}}
 
 
|{{✗}}
 
|{{✗}}
 
|-
 
|-
|[[#GBA_Multi_Pak_Link_Multiplayer_.281.7E4GBA.29|Multi Pak]]
+
|colspan=2 | [[#GBA_Multi_Pak_Link_Multiplayer_.281.7E4GBA.29|Multi Pak]]
 
|{{✓}}<ref group=N2 name=libretro />
 
|{{✓}}<ref group=N2 name=libretro />
 
|{{✓}}
 
|{{✓}}
Line 930: Line 579:
 
|{{✗}}[https://github.com/skylersaleh/SkyEmu/issues/44 *]
 
|{{✗}}[https://github.com/skylersaleh/SkyEmu/issues/44 *]
 
|{{✗}}
 
|{{✗}}
|{{?}}
+
|{{y}}
|{{✓}}
 
 
|{{~}}<abbr title="Pokemon only">*</abbr>
 
|{{~}}<abbr title="Pokemon only">*</abbr>
 
|{{✓}}
 
|{{✓}}
|{{?}}
 
|{{✗}}
 
|{{?}}
 
|{{?}}
 
|{{?}}
 
 
|{{✗}}
 
|{{✗}}
 +
|{{tbd}}
 
|-
 
|-
|[[#Connectivity|Wireless]]
+
|colspan=2 | [[#Connectivity|Wireless]]
 
|{{✗}} [https://mgba.io/timeline.html#IN+THE+FUTURE *]
 
|{{✗}} [https://mgba.io/timeline.html#IN+THE+FUTURE *]
 
|{{~}}
 
|{{~}}
Line 947: Line 591:
 
|{{✗}}
 
|{{✗}}
 
|{{✗}}
 
|{{✗}}
|{{?}}
+
|{{y}}
|{{✓}}
 
 
|{{✗}}
 
|{{✗}}
 
|{{✗}}
 
|{{✗}}
|{{?}}
 
 
|{{~}}
 
|{{~}}
|{{✓}}[https://www.davidgf.net/2024/01/13/gba-wireless-adapter/ *]
+
|{{tbd}}
|{{✓}}
 
|{{?}}
 
|{{✗}}
 
 
|-
 
|-
|[[#GameCube Connectivity|<abbr title="The Nintendo GameCube – Game Boy Advance link cable (model DOL-011) is a link cable that links the GameCube to the Game Boy Advance, the Game Boy Advance SP, the e-Reader, or even a second GameCube via the Game Boy Player. The Game Boy Micro is not compatible due to its different connector. The Wii, however, is compatible with the cable due to the Wii's backwards compatibility with GameCube games and controllers.">GameCube communication</abbr>]]
+
|colspan=2 | [[#GameCube Connectivity|<abbr title="The Nintendo GameCube – Game Boy Advance link cable (model DOL-011) is a link cable that links the GameCube to the Game Boy Advance, the Game Boy Advance SP, the e-Reader, or even a second GameCube via the Game Boy Player. The Game Boy Micro is not compatible due to its different connector. The Wii, however, is compatible with the cable due to the Wii's backwards compatibility with GameCube games and controllers.">GameCube communication</abbr>]]
 
|{{✓}}<ref group=N2 name=libretro />
 
|{{✓}}<ref group=N2 name=libretro />
 
|{{✓}}<ref group=N2 name=libretro />
 
|{{✓}}<ref group=N2 name=libretro />
Line 964: Line 603:
 
|{{✗}}[https://old.reddit.com/r/EmuDev/comments/vvdqyk/release_of_skyemu_10/ifjfj7a/ *]
 
|{{✗}}[https://old.reddit.com/r/EmuDev/comments/vvdqyk/release_of_skyemu_10/ifjfj7a/ *]
 
|{{✗}}
 
|{{✗}}
|{{?}}
+
|{{y}}
|{{✓}}
 
 
|{{✗}}
 
|{{✗}}
 
|{{✗}}
 
|{{✗}}
|{{?}}
 
|{{✗}}
 
|{{?}}
 
|{{?}}
 
|{{?}}
 
|{{✗}}
 
|-
 
|[[Wikipedia:Game_Link_Cable#Third_generation|<abbr title="The third generation started with the release of the Game Boy Advance which was released alongside its own link cable called the Game Boy Advance Game Link Cable (model AGB-005). It features yet another new type of link cable port which is used on the Game Boy Advance, Game Boy Advance SP and Game Boy Player. The e-Reader also uses the third generation link cable port, but since it is incompatible with Game Boy and Game Boy Color games, it is not backwards compatible with the second generation Game Link Cable. Another option is Game Boy Advance Wireless Adapter (model AGB-015) for Game Boy Advance, Game Boy Advance SP, and Game Boy Player.">Link Cable</abbr>]]
 
|{{✓}}<ref group=N2 name=libretro />
 
|{{✓}}<ref group=N2 name=libretro />
 
|{{✓}}
 
|[https://old.reddit.com/r/emulation/comments/15pvssg/the_skyemu_v3_gbgba_and_newly_nds_emulator_is_now/jw1785m/ WIP]
 
|{{✗}}
 
|{{?}}
 
|{{✓}}
 
|{{✗}}
 
|{{✓}}
 
|{{?}}
 
|{{✓}}
 
|{{?}}
 
|{{?}}
 
|{{?}}
 
 
|{{✗}}
 
|{{✗}}
 +
|{{tbd}}
 
|-
 
|-
 
| rowspan=3 | [[GBA_e-Reader_emulators|e-Reader]]
 
| rowspan=3 | [[GBA_e-Reader_emulators|e-Reader]]
Line 999: Line 616:
 
|{{TBD}}
 
|{{TBD}}
 
|{{✗}}
 
|{{✗}}
|{{?}}
+
|{{y}}
|{{✓}}
 
 
|{{~}}<abbr title="Wii U only">*</abbr>
 
|{{~}}<abbr title="Wii U only">*</abbr>
 
|{{TBD}}
 
|{{TBD}}
|{{?}}
 
 
|{{TBD}}
 
|{{TBD}}
|{{?}}
 
|{{?}}
 
|{{?}}
 
 
|{{✗}}
 
|{{✗}}
 
|-
 
|-
Line 1,016: Line 628:
 
|{{TBD}}
 
|{{TBD}}
 
|{{✗}}
 
|{{✗}}
|{{?}}
+
|{{y}}
|{{✓}}
 
 
|{{✓}}
 
|{{✓}}
 
|{{TBD}}
 
|{{TBD}}
|{{?}}
 
 
|{{TBD}}
 
|{{TBD}}
|{{?}}
 
|{{?}}
 
|{{?}}
 
 
|{{~}}<abbr title="SMA4 only">*</abbr>
 
|{{~}}<abbr title="SMA4 only">*</abbr>
 
|-
 
|-
Line 1,033: Line 640:
 
|{{✗}}
 
|{{✗}}
 
|{{✗}}
 
|{{✗}}
|{{?}}
+
|{{y}}
|{{✓}}
 
 
|{{✗}}
 
|{{✗}}
 
|{{✗}}
 
|{{✗}}
|{{?}}
 
 
|{{✗}}
 
|{{✗}}
|{{?}}
 
|{{?}}
 
|{{?}}
 
 
|{{✗}}
 
|{{✗}}
 
|-
 
|-
|rowspan=3 | Inputs
+
|colspan=2 | [[Wikipedia:Game_Link_Cable#Third_generation|<abbr title="The third generation started with the release of the Game Boy Advance which was released alongside its own link cable called the Game Boy Advance Game Link Cable (model AGB-005). It features yet another new type of link cable port which is used on the Game Boy Advance, Game Boy Advance SP and Game Boy Player. The e-Reader also uses the third generation link cable port, but since it is incompatible with Game Boy and Game Boy Color games, it is not backwards compatible with the second generation Game Link Cable. Another option is Game Boy Advance Wireless Adapter (model AGB-015) for Game Boy Advance, Game Boy Advance SP, and Game Boy Player.">Link Cable</abbr>]]
|Rumble Feature
+
|{{✓}}<ref group=N2 name=libretro />
 +
|{{✓}}<ref group=N2 name=libretro />
 +
|{{✓}}
 +
|[https://old.reddit.com/r/emulation/comments/15pvssg/the_skyemu_v3_gbgba_and_newly_nds_emulator_is_now/jw1785m/ WIP]
 +
|{{✗}}
 +
|{{y}}
 +
|{{✗}}
 +
|{{✓}}
 +
|{{✓}}
 +
|{{✓}}
 +
|}
 +
<references group=N2/>
 +
 
 +
===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.
 +
 
 +
'''Note''': 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>
 +
 
 +
===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''.
 +
 
 +
[[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===
 +
[https://nintendo.fandom.com/wiki/Game_Boy_Advance_to_Nintendo_GameCube_Link_Cable#List_of_Supported_Games 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.
 +
* If you are using 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.
 +
* If you are using 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.
 +
* 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:
 +
*[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.
 +
*[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
 +
 
 +
===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
 +
! NanoBoyAdvance
 +
! SkyEmu
 +
! VBA-M
 +
! No$GBA
 +
! My Boy!
 +
! Pizza Boy GBA
 +
|-
 +
| [[#Rumble Feature|Rumble Feature]]
 +
| {{tbd}}
 +
| {{y}}
 +
| {{tbd}}
 +
| {{tbd}}
 +
| {{tbd}}
 +
| {{tbd}}
 +
| {{tbd}}
 +
| {{tbd}}
 +
|-
 +
| [[#Solar Sensor|Solar Sensor]]
 +
| {{✓}}
 +
| {{✓}}
 +
| {{✓}}
 +
| {{✓}}
 +
| {{✓}}
 +
| {{✓}}
 
| {{✓}}
 
| {{✓}}
| {{?}}
 
| {{?}}
 
| {{?}}
 
|
 
| {{?}}
 
| {{?}}
 
|
 
|
 
|
 
| {{✓}}[https://github.com/shonumi/gbe-plus#read-the-manual *]
 
|
 
 
| {{✓}}
 
| {{✓}}
|
 
| {{~}}<abbr title="Allows rumble support for games that had such function back when played in a Game Boy Player (Super Mario Advance 4: Super Mario Bros. 3, Mario & Luigi: Superstar Saga)">*</abbr>
 
 
|-
 
|-
|[[#Inputs|Solar Sensor]]
+
| [[#Motion Control|Motion Control]]
| {{~}}<ref name=manual-switch group=N2>Only the Nintendo Switch port allows use of the Switch's light sensor.</ref>
 
| {{~}}<ref name=manual group=N2>Only manual configuration. No automatic detection via light sensor/camera input/weather forecast/GPS location/other.</ref>
 
| {{~}}<ref name=manual group=N2 />
 
| {{~}}<ref name=manual group=N2 />
 
| {{~}}<ref name=manual group=N2 />
 
| {{?}}
 
|
 
|
 
|
 
|
 
| {{~}}<ref name=manual group=N2 />
 
|
 
 
| {{✓}}
 
| {{✓}}
|
 
|
 
|-
 
|[[List_of_games_that_support_tracked_motion_controllers#Game_Boy_Advance_Emulation|Motion Control]]
 
 
| {{✓}}
 
| {{✓}}
| {{✓}}<ref group=N2 name=RetroArch>Motion Control support present on RetroArch VBA-M core.</ref>
 
 
| {{✗}}
 
| {{✗}}
|  
+
| {{TBD}}
 +
| {{✓}}<ref group=N name=RetroArch>Motion Control support present on RetroArch VBA-M core.</ref>
 
| {{✗}}
 
| {{✗}}
| {{?}}
 
|
 
|
 
|
 
|
 
| {{✓}}[https://github.com/shonumi/gbe-plus#read-the-manual *]
 
|
 
 
| {{✓}}
 
| {{✓}}
|
+
| {{✓}}
|
 
 
|-
 
|-
|rowspan=11 | [[#Special_hardware|Special hardware]]
+
| [[#Battle Chip Gate|Battle Chip Gate]]
|Battle Chip Gate
+
| {{✓}}
 
| {{✓}}
 
| {{✓}}
 
| {{✗}}
 
| {{✗}}
 +
| {{TBD}}
 
| {{✗}}
 
| {{✗}}
 
| {{✗}}
 
| {{✗}}
 
| {{✗}}
 
| {{✗}}
 
| {{✗}}
 
| {{✗}}
 +
|-
 +
| [[#Figurine Readers|Soul Doll Adapter]]
 +
| {{✓}}
 +
| {{✓}}
 
| {{✗}}
 
| {{✗}}
 +
| {{TBD}}
 
| {{✗}}
 
| {{✗}}
 
| {{✗}}
 
| {{✗}}
| {{✗}}
 
| {{✓}}
 
| {{?}}
 
| {{?}}
 
 
| {{✗}}
 
| {{✗}}
 
| {{✗}}
 
| {{✗}}
 
|-
 
|-
|Soul Doll Adapter
+
| [[#Figurine Readers|Multi Plust On System]]
 
| {{✓}}
 
| {{✓}}
 
| {{✗}}
 
| {{✗}}
 
| {{✗}}
 
| {{✗}}
 +
| {{TBD}}
 
| {{✗}}
 
| {{✗}}
 
| {{✗}}
 
| {{✗}}
 
| {{✗}}
 
| {{✗}}
 
| {{✗}}
 
| {{✗}}
| {{✗}}
+
|-
| {{✗}}
+
| [[#Turbo File Advance|Turbo File Advance]]
| {{✗}}
 
 
| {{✓}}
 
| {{✓}}
| {{?}}
 
| {{?}}
 
| {{✗}}
 
| {{✗}}
 
|-
 
|Multi Plust On System
 
| {{✗}}
 
| {{✗}}
 
| {{✗}}
 
| {{✗}}
 
 
| {{✗}}
 
| {{✗}}
 
| {{✗}}
 
| {{✗}}
 +
| {{TBD}}
 
| {{✗}}
 
| {{✗}}
 
| {{✗}}
 
| {{✗}}
 
| {{✗}}
 
| {{✗}}
 
| {{✗}}
 
| {{✗}}
 +
|-
 +
| [[#Power Antenna & Bug Sensor|Power Antenna & Bug Sensor]]
 
| {{✓}}
 
| {{✓}}
 
| {{✗}}
 
| {{✗}}
 
| {{✗}}
 
| {{✗}}
| {{✗}}
+
| {{TBD}}
| {{✗}}
 
|-
 
|Turbo File Advance
 
| {{✗}}
 
| {{✗}}
 
| {{✗}}
 
| {{✗}}
 
| {{✗}}
 
| {{✗}}
 
| {{✗}}
 
| {{✗}}
 
| {{✗}}
 
| {{✗}}
 
| {{✓}}
 
 
| {{✗}}
 
| {{✗}}
 
| {{✗}}
 
| {{✗}}
Line 1,165: Line 801:
 
| {{✗}}
 
| {{✗}}
 
|-
 
|-
|Power Antenna & Bug Sensor
+
| [[#Official Nintendo Infrared Adapter|Official Nintendo Infrared Adapter]]
| {{✗}}
 
| {{✗}}
 
| {{✗}}
 
| {{✗}}
 
| {{✗}}
 
| {{✗}}
 
| {{✗}}
 
| {{✗}}
 
| {{✗}}
 
| {{✗}}
 
 
| {{✓}}
 
| {{✓}}
 
| {{✗}}
 
| {{✗}}
 
| {{✗}}
 
| {{✗}}
| {{✗}}
+
| {{TBD}}
| {{✗}}
 
|-
 
|Official Nintendo Infrared Adapter
 
| {{✗}}
 
| {{✗}}
 
| {{✗}}
 
| {{✗}}
 
| {{✗}}
 
| {{✗}}
 
| {{✗}}
 
| {{✗}}
 
| {{✗}}
 
| {{✗}}
 
| {{✓}}
 
 
| {{✗}}
 
| {{✗}}
 
| {{✗}}
 
| {{✗}}
Line 1,199: Line 811:
 
| {{✗}}
 
| {{✗}}
 
|-
 
|-
|Jukebox
+
| Jukebox
| {{✗}}
+
| {{}}[https://shonumi.github.io/articles/art31.html *]
| {{✗}}
 
| {{✗}}
 
| {{✗}}
 
| {{✗}}
 
| {{✗}}
 
| {{✗}}
 
 
| {{✗}}
 
| {{✗}}
 
| {{✗}}
 
| {{✗}}
 
| {{✗}}
 
| {{✗}}
| {{✓}}[https://shonumi.github.io/articles/art31.html *]
 
 
| {{✗}}
 
| {{✗}}
 
| {{✗}}
 
| {{✗}}
Line 1,216: Line 821:
 
| {{✗}}
 
| {{✗}}
 
|-
 
|-
|Virtureal Racing System
+
| Virtureal Racing System
 +
| {{✓}}[https://shonumi.github.io/articles/art24.html *]
 
| {{✗}}
 
| {{✗}}
 
| {{✗}}
 
| {{✗}}
 
| {{✗}}
 
| {{✗}}
| {{✗}}
 
| {{✗}}
 
| {{✗}}
 
| {{✗}}
 
| {{✗}}
 
| {{✗}}
 
| {{✗}}
 
| {{✓}}[https://shonumi.github.io/articles/art24.html *]
 
 
| {{✗}}
 
| {{✗}}
 
| {{✗}}
 
| {{✗}}
Line 1,233: Line 831:
 
| {{✗}}
 
| {{✗}}
 
|-
 
|-
|Play-Yan
+
| Play-Yan
| {{✗}}
 
| {{✗}}
 
| {{✗}}
 
| {{✗}}
 
| {{✗}}
 
| {{✗}}
 
| {{✗}}
 
| {{✗}}
 
| {{✗}}
 
| {{✗}}
 
 
| {{~}}[https://shonumi.github.io/articles/art32.html *]
 
| {{~}}[https://shonumi.github.io/articles/art32.html *]
 
| {{✗}}
 
| {{✗}}
 
| {{✗}}
 
| {{✗}}
 
| {{✗}}
 
| {{✗}}
| {{✗}}
 
|-
 
|Campho Advance
 
| {{✗}}
 
| {{✗}}
 
| {{✗}}
 
| {{✗}}
 
| {{✗}}
 
| {{✗}}
 
| {{✗}}
 
| {{✗}}
 
| {{✗}}
 
| {{✗}}
 
| [https://old.reddit.com/r/emulation/comments/141mm66/glucoboy_found_and_dumped/jn0p5jr/ (WIP)]
 
 
| {{✗}}
 
| {{✗}}
 
| {{✗}}
 
| {{✗}}
Line 1,267: Line 841:
 
| {{✗}}
 
| {{✗}}
 
|-
 
|-
|Glucoboy
+
| Campho Advance
| {{✗}}
+
| {{✗}}[https://old.reddit.com/r/emulation/comments/141mm66/glucoboy_found_and_dumped/jn0p5jr/ (WIP)]
| {{✗}}
 
| {{✗}}
 
| {{✗}}
 
 
| {{✗}}
 
| {{✗}}
 
| {{✗}}
 
| {{✗}}
 
| {{✗}}
 
| {{✗}}
| {{✗}}
 
| {{✗}}
 
| {{✗}}
 
| {{✓}}[https://shonumi.github.io/articles/art33.html *]
 
 
| {{✗}}
 
| {{✗}}
 
| {{✗}}
 
| {{✗}}
Line 1,284: Line 851:
 
| {{✗}}
 
| {{✗}}
 
|}
 
|}
</div>
+
<references group=N />
<references group=N2/>
 
 
 
===GB/GBC backwards compatibility emulation/Enhanced Mode===
 
Game Boy Advance is backwards compatible with GB/GBC, resulting in some of the [https://cheapergamer.co.uk/gba-enhanced-gbc-games/ GB/GBC games enhanced if you play on GBA]. Having said that, this shouldn't be confused with [[Game Boy/Game Boy Color emulators|Game Boy/Game Boy Color emulation]] or [[Super_Nintendo_emulators#Hardware_features_and_accessories|Super Game Boy 1/2]]. Some of the multicore emulators supports both GB/GBC and GBA emulation, however they do not have support for "backwards compatibility/GBA mode" emulation.
 
 
 
===Game Boy Advance Video===
 
:''See also: [[Wikipedia:Game Boy Advance Video|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 [https://youtu.be/o9XmB43bN5w?t=540 not all of it supports 64MB ones].
 
*[https://old.reddit.com/r/Gameboy/comments/byos8r/watching_gameboy_advance_video_on_a_gamecube/ Game Boy Player is not compatible with this feature]
 
*mGBA support both 32MB and 64MB video cartridges.
 
:See [[Home_Media_Player#Emulators|this dedicated page]] for more information about home media playback support for emulation softwares.
 
:See [[Ripping_games|Dumping/ripping]].
 
 
 
===Connectivity===
 
====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.
 
  
'''Note''': 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>
+
===Solar Sensor===
 
+
====Emulation====
====GBA Wireless Multiplayer====
+
This feature has been emulated in mGBA, VBA-M, No$GBA 2.6 onwards, and My Boy!:
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''.
+
* mGBA: In the shortcuts editor, shortcuts can be configured to raise/lower the solar level incrementally or to set any particular brightness level.  
 
 
The libretro core of [[gpSP]] has successfully emulated the wireless adapter<ref>https://www.davidgf.net/2024/01/13/gba-wireless-adapter/</ref>. [[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====
 
[https://nintendo.fandom.com/wiki/Game_Boy_Advance_to_Nintendo_GameCube_Link_Cable#List_of_Supported_Games 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 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.
 
* If you are using 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.
 
* If you are 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 <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.
 
* 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:
 
*[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.
 
*[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
 
 
 
===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 shortcuts 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.
 
* 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.
 
* 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.
Line 1,354: Line 862:
 
* Pizza Boy GBA: Uses the device's light sensor to check the brightness level.
 
* Pizza Boy GBA: Uses the device's light sensor to check the brightness level.
  
2. 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.
+
====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:''' [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>.
 
* '''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>.
 
* '''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].  
 
* '''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].  
Line 1,360: Line 869:
 
* Combinations of Boktai 4 JP with earlier solar sensors to get solar sensor bonuses aren't emulated yet in any DS emulator.
 
* Combinations of Boktai 4 JP with earlier solar sensors to get solar sensor bonuses aren't emulated yet in any DS emulator.
  
;Motion Control
+
===Motion Control===
1. Emulation: This feature has been emulated in mGBA, VBA-M, My Boy! and Pizza Boy:
+
 
 +
====Emulation====
 
* mGBA includes full motion control support using the motion sensor present in controllers like DualShock 4, DualSense and Switch Pro Controller.
 
* 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 '''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.
Line 1,368: Line 878:
 
* Pizza Boy GBA also used the device's accelerometer to emulate this feature for games like WarioWare: Twisted and Yoshi's Universal Gravitation.
 
* 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.
+
====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]
 
* 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])
 
* 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
+
===Rumble Feature===
 
There are various rumble features found in GBA/GBC cards:
 
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.
 
* '''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.
Line 1,379: Line 890:
 
* '''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, 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.
 
* '''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, 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.
  
===Special hardware===
+
===Turbo File Advance===
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.
 
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.
 
GBE+ supports this add-on.
  
;Power Antenna & Bug Sensor
+
===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.
 
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.  
 
GBE+ supports this add-on.  
  
;Official Nintendo Infrared Adapter
+
===Official Nintendo Infrared Adapter===
 
As the GBA did not 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.
 
As the GBA did not 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.
 
GBE+ supports this add-on.
  
;Figurine Readers
+
===Figurine Readers===
 
Some GBA games/series had figurine reader add-ons, essentially precursors to the likes of Skylanders and Amiibo.
 
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)
 
* '''Soul Doll Adapter''' (Legendz: Island of Ordeal/Sign of Nekuromu)
Line 1,403: Line 911:
 
GBE+ has support for both the Soul Doll Adapter and Multi Plust On System, while mGBA supports the Soul Doll Adapter.
 
GBE+ has support for both the Soul Doll Adapter and Multi Plust On System, while mGBA supports the Soul Doll Adapter.
  
;Battle Chip Gate
+
===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's also compatible with toy Advanced PETs and ''Rockman.EXE 4.5 Real Operation''. It can also unlock minigames in ''Mega Man Zero 3''.
 
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'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.
 
[[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. [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. It's emulated in GBE+ since version 1.8.
+
* '''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.
  
 
==Emulation issues==
 
==Emulation issues==
 +
 
===Oversaturation===
 
===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]].]]
 
[[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:
+
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:
  
 
====Emulator Options====
 
====Emulator Options====
Line 1,443: Line 952:
 
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.
 
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.
  
For Game Boy Advance shader presets, see the "Shader Presets" page;
+
For Game Boy Advance shader presets see the "Shader Presets" page;
 
{{Main|Shader_Presets}}
 
{{Main|Shader_Presets}}
  
 
===Horrible Sound Quality===
 
===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.
+
As a handheld rushed to the market (because of the WonderSwan Colour competition), the Game Boy Advance had some cut corners. The sound hardware was affected the hardest: while it could play Game Boy Colour 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 [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 that NanoBoyAdvance includes [https://github.com/ipatix/gba-hq-mixer 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.
+
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 that NanoBoyAdvance includes [https://github.com/ipatix/gba-hq-mixer High Quality Audio Mixer] and 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===
 
===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.
 
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)
+
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===
 
===Save formats===
Line 1,463: Line 972:
 
To solve this incompatibility, Libretro devs created a  
 
To solve this incompatibility, Libretro devs created a  
 
[https://github.com/libretro/vba-next/blob/master/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 [https://thysbelon.github.io/gbaconv-web/ website version of this tool can be found here].
 
[https://github.com/libretro/vba-next/blob/master/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 [https://thysbelon.github.io/gbaconv-web/ website version of this tool can be found here].
 
For more information about Game Boy Advance hardware and reverse engineering; <br/>
 
* Rodrigo Copetti: [https://www.copetti.org/writings/consoles/game-boy-advance/ Game Boy Advance Architecture Practical Analysis]
 
* MVG: [https://www.youtube.com/watch?v=R43k-p9XdIk The Story of Quake on the Game Boy Advance], [https://www.youtube.com/watch?v=_Qqg4VCZ0k8 How the Game Boy Advance knew it was running a Game Boy Game], [https://www.youtube.com/watch?v=_GVSLcqGP7g Tomb Raider on the Nintendo Game Boy Advance is incredible], [https://www.youtube.com/watch?v=mpNWEbZdXNw How Graphics worked on the Nintendo Game Boy Advance]
 
* martin korth: [https://problemkaputt.de/gbatek-contents.htm gbatek]
 
* [https://akkera102.sakura.ne.jp/gbadev/ akkera102.sakura gbadev (Japanese)]
 
* [https://gbadev.net/gbadoc/ gbadev - gbadoc]
 
* [https://en.wikibooks.org/wiki/GBA_Development/Resources WikiBooks - GBA Development Resources]
 
  
 
==References==
 
==References==

Please note that all contributions to Emulation General Wiki may be edited, altered, or removed by other contributors. If you do not want your writing to be edited mercilessly, then do not submit it here.
You are also promising us that you wrote this yourself, or copied it from a public domain or similar free resource (see Emulation General Wiki:Copyrights for details). Do not submit copyrighted work without permission!

To edit this page, please answer the question that appears below (more info):

Cancel Editing help (opens in new window)