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

From Emulation General Wiki
(Difference between pages)
Jump to navigation Jump to search
(Filled the floss column)
 
m (From latest Wayback Machine snapshot)
 
Line 1: Line 1:
{{Infobox console
+
[[File:Libretro.png|thumb|250px]]{{lowercase title}}
|title = Nintendo Game Boy Advance
+
'''libretro''' (formerly '''libsnes''') is an API designed mainly for games and emulators. It allows games and emulators to be compiled as dynamically linked libraries known as "libretro cores", which can be used in a frontend that implements libretro, such as [[RetroArch]].
|logo = gbagba.png
 
|developer = [[:Nintendo]]
 
|type = [[:Category:Handheld consoles|Handheld game console]]
 
|generation = [[:Category:Sixth-generation video game consoles|Sixth generation]]
 
|release = 2001
 
|discontinued = 2010
 
|predecessor = [[Virtual Boy emulators|Virtual Boy]]
 
|successor = [[Nintendo DS emulators|Nintendo DS]]
 
|emulated = {{✓}}
 
}}
 
The '''[[wikipedia:Game_Boy_Advance|Game Boy Advance]]''' (often shortened to GBA) is a 32-bit handheld video game console developed by Nintendo. It is the successor to the Game Boy Color. It was released in Japan on March 21, 2001; in North America on June 11, 2001; in Australia and Europe on June 22, 2001. It has a ARM7TDMI CPU at 16.78 MHz and a Zilog Z80 CPU at 8 MHz and 4 MHz. It has 32KB of RAM and 96KB of VRAM.  
 
  
==Emulators==
+
==libretro Frontends==
{| class="wikitable" style="text-align:center;"
+
[[RetroArch]] is the flagship project for libretro, however there are plenty of other available frontends.
 +
 
 +
{{Main|Frontends#Libretro}}
 +
 
 +
==Cores==
 +
===Emulation===
 +
{| class="wikitable sortable"
 +
! scope="col"|System
 +
! scope="col"|Core
 +
! scope="col"|Version
 +
! scope="col"|Notes
 +
|-
 +
|[[Super Nintendo emulators|SNES]]
 +
|[[higan]]
 +
|{{higanVer}}
 +
|Separate cores for each profile.
 +
C++98 version is bsnes v085 Performance profile.
 +
|-
 +
|[[Super Nintendo emulators|SNES]]
 +
|[[higan|bsnes-mercury]]
 +
|v094
 +
|Fork of [[higan|bsnes]] with modifications for speed. Separate cores for each profile
 +
|-
 +
|[[Super Nintendo emulators|SNES]]
 +
|[[Mednafen]] bsnes
 +
|0.9.26
 +
|Fork of [[higan|bsnes]] v059 with a few modifications.
 +
|-
 +
|[[Super Nintendo emulators|SNES]]
 +
|[[higan|nSide Balanced]]
 +
|v106
 +
|[https://www.patreon.com/posts/lakka-2-1-1-with-20727887 Fork] of [[higan]] v106 with additional hardware support. Good for slower computers that cannot run the Accuracy core-only releases from higan v098 onwards with full speed.
 +
|-
 +
|[[Super Nintendo emulators|SNES]]
 +
|[[Snes9x]]
 +
|{{Snes9xVer}}
 +
|Supports libretro in upstream.
 +
|-
 +
|[[Super Nintendo emulators|SNES]]
 +
|[[Snes9x|Snes9x 2002]] (previously PocketSNES)
 +
|1.39
 +
|Snapshot of Snes9x for use on very slow platforms
 +
|-
 +
|[[Super Nintendo emulators|SNES]]
 +
|[[Snes9x|Snes9x 2005]]
 +
|1.43
 +
|Snapshot of Snes9x useful for Mario World hacks that have broken custom music.
 +
|-
 +
|[[Super Nintendo emulators|SNES]]
 +
|[[Snes9x|Snes9x 2005 Plus]]
 +
|1.43
 +
|Snapshot of [https://www.patreon.com/posts/lakka-2-1-1-with-20727887 Snes9x 1.43 plus BLARRG APU].
 +
|-
 +
|[[Super Nintendo emulators|SNES]]
 +
|[[Snes9x|Snes9x 2010]]
 +
|[https://github.com/libretro/snes9x-next 1.52.4]
 +
|Fork of [[Snes9x]] 1.52 WIP focused on speed.
 +
|-
 +
|[[WonderSwan emulators|WonderSwan]]
 +
|[[Mednafen]] [[Cygne]]
 +
|?
 +
|Modified fork of [[Cygne]].
 +
|-
 +
|[[PlayStation emulators|PlayStation]]
 +
|[[DuckStation]]
 +
|?
 +
|
 +
|-
 +
|[[PlayStation emulators|PlayStation]]
 +
|[[Mednafen]] PSX
 +
|0.9.39.2
 +
|Fork has [https://www.libretro.com/index.php/retroarchlibretro-project-status-update/#more-44789 significant modifications] for [https://www.libretro.com/index.php/mednafenbeetle-psx-pgxp-arrives/ enhancements] as well as [https://www.libretro.com/index.php/introducing-vulkan-psx-renderer-for-beetlemednafen-psx/ Vulkan renderer] support. Sometimes referred to as "Beetle PSX."
 +
|-
 +
|[[PlayStation emulators|PlayStation]]
 +
|[[Mednafen]] PSX HW
 +
|Alpha
 +
|Adds an [https://www.libretro.com/index.php/retroarchlibretro-project-status-update/#more-44789 OpenGL renderer] to Mednafen PSX based on the [https://www.libretro.com/index.php/mednafenbeetle-psx-hw-alpha-version/ GPU renderer from Rustation]. Sometimes referred to as "Beetle PSX HW." Still contains the software rendering mode as an option, so this core can effectively replace the "Mednafen PSX" core listed above.
 +
|-
 +
|[[PlayStation emulators|PlayStation]]
 +
|PCSX-ReARMed
 +
|[https://github.com/libretro/pcsx_rearmed r22]
 +
|ARM optimized fork of [[PCSX-Reloaded]]. Supports libretro in upstream.
 +
|-
 +
|[[PlayStation emulators|PlayStation]]
 +
|[[Rustation]]
 +
|Git
 +
|
 +
|-
 +
|[[PocketStation emulators|PocketStation]]
 +
|pockystation
 +
|Git
 +
|
 +
|-
 +
|[[PC Engine (TurboGrafx-16) emulators|PC Engine]] & PCE-CD
 +
|[[Mednafen]] PCE-Fast
 +
|?
 +
|
 +
|-
 +
|[[PC Engine (TurboGrafx-16) emulators|PC Engine]] SuperGrafx
 +
|[[Mednafen]] SuperGrafx
 +
|?
 +
|
 +
|-
 +
|[[PC-FX emulators|PC-FX]]
 +
|[[Mednafen]] PC-FX
 +
|?
 +
|
 +
|-
 +
|[[Neo Geo Pocket emulators|Neo-Geo Pocket]]
 +
|[[Mednafen]] [[NeoPop]]
 +
|?
 +
|Modified fork of [[NeoPop]].
 +
|-
 +
|[[Virtual Boy emulators|Virtual Boy]]
 +
|[[Mednafen]] VB
 +
|?
 +
|
 +
|-
 +
|[[Atari 2600 emulators|Atari 2600]]
 +
|[[Stella]]
 +
|3.9.3
 +
|
 +
|-
 +
|[[Atari 5200 emulators|Atari 5200]]
 +
|Atari800
 +
|3.1.0
 +
|
 +
|-
 +
|[[Atari 7800 emulators|Atari 7800]]
 +
|[[ProSystem]]
 +
|1.3e
 +
|
 +
|-
 +
|[[Atari Lynx emulators|Atari Lynx]]
 +
|[[Handy]]
 +
|[https://github.com/libretro/libretro-handy 0.95]
 +
|
 +
|-
 +
|[[Atari Lynx emulators|Atari Lynx]]
 +
|[[Mednafen]] [[Handy]]
 +
|?
 +
|Modified fork of [[Handy]].
 +
|-
 +
|[[Atari Jaguar emulators|Atari Jaguar]]
 +
|Virtual Jaguar
 +
|[https://github.com/libretro/virtualjaguar-libretro 2.1.0]
 +
|Very low FPS.
 +
|-
 +
|[[Nintendo Entertainment System emulators|NES]]
 +
|[[higan|bnes]]
 +
|v083
 +
|
 +
|-
 +
|[[Nintendo Entertainment System emulators|NES]]
 +
|FCEUmm
 +
|98.13mm (SVN)
 +
|
 +
|-
 +
|[[Nintendo Entertainment System emulators|NES]]
 +
|[[QuickNES]]
 +
|1.0
 +
|
 +
|-
 +
|[[Nintendo Entertainment System emulators|NES]]
 +
|[[Mesen]]
 +
|Git
 +
|Supports libretro in upstream.
 
|-
 
|-
! scope="col"|Name
+
|[[Nintendo Entertainment System emulators|NES]]
! scope="col"|Platform(s)
+
|[[Nestopia]]
! scope="col"|Latest Version
+
|[https://github.com/libretro/nestopia 1.46-WIP]
! scope="col"|GB/GBC
+
|Supports libretro in upstream.
! scope="col"|NDS
 
! scope="col"|Game Link Support
 
! scope="col"|e-Reader
 
! scope="col"|[[libretro|Libretro Core]]
 
! scope="col"|<abbr title="Free/Libre and Open-Source Software">FLOSS</abbr>
 
! scope="col"|Active
 
! scope="col"|[[Recommended Emulators|Recommended]]
 
 
|-
 
|-
!colspan="12"|PC /x86
+
|[[Game_Boy/Game_Boy_Color emulators|Game Boy/Color]]
 +
|[[Gambatte]]
 +
|0.5.0
 +
|Has an option to disable color correction.
 
|-
 
|-
 +
|[[Game_Boy/Game_Boy_Color emulators|Game Boy/Color]]
 +
|[[Gearboy]]
 +
|Git
 +
|[https://docs.libretro.com/library/gearboy/ Open source, multi-platform, GB (DMG) / GBC (CGB) emulator written in C++].
 +
|-
 +
|[[Game_Boy/Game_Boy_Color emulators|Game Boy/Color]]
 +
|[[TGB Dual]]
 +
|0.8.3
 +
|Has a split-screen mode for game linking.
 +
|-
 +
|[[Game_Boy/Game_Boy_Color emulators|Game Boy/Color]]
 +
|[[SameBoy]]
 +
|Git
 +
|[https://docs.libretro.com/library/sameboy/ Extremely accurate GB (DMG) & GBC (CGB) emulator written in portable C]. [https://www.patreon.com/posts/lakka-2-1-1-with-20727887 Latest core update in 2018].
 +
|-
 +
|[[Game Boy Advance emulators|Game Boy Advance]]
 +
|[[VisualBoy Advance|VBA-Next]]
 +
|1.0.2
 +
|Fork of [[VisualBoy Advance#VBA-M|VBA-M]] focused on speed.
 +
|-
 +
|[[Game Boy Advance emulators|Game Boy Advance]]
 +
|[[VisualBoy Advance#VBA-M|VBA-M]]
 +
|SVN
 +
|Supports libretro in upstream.
 +
|-
 +
|[[Game Boy Advance emulators|Game Boy Advance]]
 +
|Meteor
 +
|1.4
 +
|Supports libretro in upstream.
 +
|-
 +
|[[Game Boy Advance emulators|Game Boy Advance]]
 +
|[[Mednafen]] [[VisualBoy Advance|VBA]]
 +
|0.9.33.3
 +
|Fork of an old version of [[VisualBoy Advance|VBA]].
 +
|-
 +
|[[Game Boy Advance emulators|Game Boy Advance]]
 +
|[[gpSP#TempGBA|TempGBA]]
 +
|Git
 +
|PSP-only fork of [[gpSP]].
 +
|-
 +
|[[Game Boy Advance emulators|Game Boy Advance]]
 +
|[[gpSP]]
 +
|0.91
 +
|Dynarec available for ARM.
 +
|-
 +
|[[Game Boy Advance emulators|Game Boy Advance]]
 +
|[[Mednafen]] [[VisualBoy Advance|VBA]]
 +
|0.9.33.3
 +
|Fork of an old version of [[VisualBoy Advance|VBA]].
 +
|-
 +
|[[Game Boy Advance emulators|Game Boy Advance]], [[Game_Boy/Game_Boy_Color emulators|Game Boy/Color]]
 
|[[mGBA]]
 
|[[mGBA]]
|align=left|{{Icon|Windows|Linux|macOS|FreeBSD}}
+
|[https://github.com/libretro/mgba 0.8.3]
|[https://mgba.io/downloads.html {{MGBAVer}}]
+
|
|{{✓}} ||{{✓}}<ref group=N name=medusa>Experimental separate build under the name of [[mGBA#medusa|medusa]].</ref> ||{{✓}} ||{{✓}} ||{{✓}} ||{{✓}} ||{{✓}} ||{{✓}}
+
|-
 +
|[[Nintendo 64 emulators|Nintendo 64]]
 +
|[[Mupen64Plus]]
 +
|2.0-rc2
 +
|Fork, has significant modifications.
 
|-
 
|-
|[[higan]]
+
|[[Nintendo 64 emulators|Nintendo 64]]
|align=left|{{Icon|Windows|Linux|macOS}}
+
|paraLLEl
|[http://byuu.org/emulation/higan {{higanVer}}]
+
|pre-alpha
|{{}} ||{{✗}} ||{{✗}} ||{{✗}} ||{{✓}} ||{{✓}} ||{{✓}} ||{{✓}}
+
|New fork/rewrite of the Mupen64Plus core with a [https://www.libretro.com/index.php/nintendo-64-vulkan-low-level-emulator-parallel-pre-alpha-release/ port] of the Angrylion video plugin ([https://www.libretro.com/index.php/parallel-n64-with-multithreaded-angrylion-released/ Multi-threaded version] also exists) to Vulkan for [https://www.libretro.com/index.php/tag/parallel-n64/ massive speed improvements]. Highly accurate on compatible games, extremely broken on incompatible games.
 +
|-
 +
|Sega Systems ([[SG-1000 emulators|SG-1000]], [[Master System emulators|Master System]], [[Sega Genesis emulators|Genesis]], [[Sega Genesis emulators|Sega CD]], [[Master System emulators|Game Gear]])
 +
|[[Genesis Plus GX]]
 +
|[https://github.com/libretro/Genesis-Plus-GX {{GenPlusGXVerLibretro}}]
 +
|Exclusive to libretro on non-GC/Wii platforms. Supports libretro in upstream.
 +
|-
 +
|Sega Systems ([[Master System emulators|Master System]], [[Sega Genesis emulators|Genesis]], [[Sega Genesis emulators|Sega CD]], 32X, [[Master System emulators|Game Gear]], Pico)
 +
|[[PicoDrive]]
 +
|1.81
 +
|Exclusive to libretro on PC platforms. Supports libretro in upstream.
 +
|-
 +
|[[Sega Genesis emulators|Sega Genesis]]
 +
|[[BlastEm]]
 +
|?
 +
|
 +
|-
 +
|[[Sega Saturn emulators|Sega Saturn]]
 +
|[[Mednafen]] Saturn
 +
|?
 +
|Sometimes referred to as "Beetle Saturn"
 +
|-
 +
|[[Sega Saturn emulators|Sega Saturn]]
 +
|[[Yabause]]
 +
|0.9.13
 +
|Lacks dynarec and GL renderer. Heavily outdated.
 +
|-
 +
|[[Sega Saturn emulators|Sega Saturn]]
 +
|[[Yabause|Kronos]]
 +
|{{KronosVer}}
 +
|2nd-degree Yabause fork. Has [https://www.patreon.com/posts/new-sega-saturn-22300379 OpenGL ES 3.0 (for mobile) / 3.1 rendering & cached interpreter CPU core (Faster than Yabause's core). Supports STV arcade.]
 +
|-
 +
|[[Arcade emulators|Arcade]]
 +
|[[FinalBurn Alpha]]
 +
|0.2.97.24
 +
|Older version for use on slower platforms.
 +
|-
 +
|[[Arcade emulators|Arcade]]
 +
|[[FinalBurn Alpha]]
 +
|0.2.97.38
 +
|
 +
|-
 +
|[[Arcade emulators|Arcade]]
 +
|[[MAME]] 2000
 +
|0.37b5
 +
|Old version for use on very slow platforms.
 +
|-
 +
|[[Arcade emulators|Arcade]]
 +
|[[MAME]] 2003
 +
|0.78
 +
|Old version for use on slow platforms. [https://www.patreon.com/posts/lakka-2-1-1-with-20727887 Core updated in 2018].
 +
|-
 +
|[[Arcade emulators|Arcade]]
 +
|[[MAME]] 2003 Plus
 +
|0.78
 +
|[https://www.patreon.com/posts/lakka-2-1-1-with-20727887 Updated 2018 version of MAME (0.78)] for libretro, with added game support and improvements.
 
|-
 
|-
|[[VisualBoy Advance#VBA-M|VBA-M]]
+
|[[Arcade emulators|Arcade]]
|align=left|{{Icon|Windows|Linux|macOS|FreeBSD}}
+
|[[MAME]] 2010
|[https://github.com/visualboyadvance-m/visualboyadvance-m/releases {{VBAMVer}}]
+
|0.139
|{{✓}} ||{{✗}} ||{{✓}} ||{{✓}} ||{{✓}} ||{{✓}} ||{{✓}} ||{{✓}}
+
|Old but more recent version for mobile devices.
 
|-
 
|-
|iDeaS
+
|[[Arcade emulators|Arcade]]
|align=left|{{Icon|Windows|Linux}}
+
|[[MAME]] 2014
|[https://web.archive.org/web/20150311100053/http://ciacin.site90.com/ideas.php 1.0.4.0]
+
|0.159
|{{✗}} ||{{✓}} ||{{✗}} ||{{✗}} ||{{✗}} ||{{✗}} ||{{✗}} ||{{✗}}
+
|Very recent version for PC and other fast devices.
 
|-
 
|-
|[[GBE+]]
+
|[[Arcade LaserDisc emulators|Arcade (LaserDisc)]]
|align=left|{{Icon|Windows|Linux|macOS}}
+
|[[DAPHNE]]
|[https://github.com/shonumi/gbe-plus {{GBEVer}}]
+
|Git
|{{✓}} ||{{✓}} ||{{✗}} ||{{✗}} ||{{✗}} ||{{✓}} ||{{✓}} ||{{✗}}
+
|WIP. [[Arcade LaserDisc emulators|Arcade LaserDisc emulator]] [https://www.patreon.com/posts/libretro-status-20471393 adapted to a libretro core].
 
|-
 
|-
|[https://fms.komkon.org/VGBA VGBA]
+
|[[Sega Model 3|Arcade (Sega Model 3)]]
|align=left|{{Icon|Windows|Linux|macOS|FreeBSD}}
+
|[[Supermodel]]
|[https://fms.komkon.org/VGBA {{VGBAVer}}]
+
|Git
|{{✗}} ||{{✗}} ||{{✗}} ||{{✗}} ||{{✗}} ||{{✗}} ||{{✓}} ||{{✗}}
+
|WIP. Sega Model 3 arcade emulator. [https://www.patreon.com/posts/libretro-status-20471393 OpenGL-only core] for now.
 
|-
 
|-
 +
|Everything
 
|[[MAME]]
 
|[[MAME]]
|align=left|{{Icon|Windows|Linux|macOS|FreeBSD}}
+
|{{MAMEVerLibretro}} (Git)
|[http://www.mamedev.org/release.html {{MAMEVer}}]
+
|Based on bleeding edge Git. Official merge of MESS into MAME codebase.
|{{✓}} ||{{✗}} ||? ||{{✗}} ||{{✓}} ||{{✓}} ||{{✓}} ||{{✗}}
+
|-
 +
|[[Nintendo DS emulators|Nintendo DS]]
 +
|[[DeSmuME]] 2015
 +
|SVN
 +
|[https://docs.libretro.com/library/desmume_2015/ Based on DeSmuME 2015 SVN]. Has options for single-screen fullscreen with swapping.
 +
|-
 +
|[[Nintendo DS emulators|Nintendo DS]]
 +
|[[DeSmuME]] (New)
 +
|Git
 +
|Has options for single-screen fullscreen with swapping. [https://docs.libretro.com/library/desmume/ Latest core] [https://www.patreon.com/posts/lakka-2-1-1-with-20727887 update in 2018].
 +
|-
 +
|[[Nintendo DS emulators|Nintendo DS]]
 +
|[[melonDS]]
 +
|Git
 +
|[https://docs.libretro.com/library/melonds/ WIP]. Different emulator that aims to be more accurate than DeSmuME.
 +
|-
 +
|[[Nintendo 3DS emulators|Nintendo 3DS]]
 +
|[[Citra]]
 +
|Git
 +
|Has an [https://www.patreon.com/posts/lakka-2-1-1-with-20727887 updated 2018 core].
 +
|-
 +
|[[PlayStation Portable emulators|PSP]]
 +
|[[PPSSPP]]
 +
|Git
 +
|2018: Now has working [https://www.youtube.com/watch?v=9zCeqRyT_P8 Vulkan, OpenGL] & [https://www.libretro.com/index.php/libretro-api-now-supports-experimental-direct3d11-hardware-rendering/ Direct3D 11] renderers. 1st core to use D3D 11.
 
|-
 
|-
|Meteor
+
|[[Intel CPUs|286 and 386]]
|align=left|{{Icon|Linux}}
+
|[[DOSBox]]
|[https://github.com/blastrock/meteor 1.4.2]
+
|SVN
|{{✗}} ||{{✗}} ||{{✗}} ||{{✗}} ||{{✓}} ||{{✓}} ||{{✗}} ||{{✗}}
+
|
 
|-
 
|-
|NanoboyAdvance
+
|[[Commodore 64 emulators|Commodore 64]]
|align=left|{{Icon|Windows|Linux}}
+
|vice-libretro
|[https://github.com/fleroviux/NanoboyAdvance Git]
+
|3.0
|{{✗}} ||{{✗}} ||{{✗}} ||{{✗}} ||{{✓}} ||{{✓}} ||{{✓}} ||{{✗}}
+
|[https://github.com/libretro/vice-libretro WIP].
 
|-
 
|-
|[[No$|No$GBA]]
+
|[[Amiga emulators|Amiga]]
|align=left|{{Icon|Windows|DOS}}
+
|PUAE
|[http://problemkaputt.de/gba.htm {{No$GBAVer}}]
+
|2.8.0
|{{✗}} ||{{✓}} ||{{✓}} ||{{✓}} ||{{✗}} ||{{✗}} ||{{✓}} ||{{✗}}
+
|[https://github.com/libretro/PUAE Very old, shallow fork]; based on [[WinUAE]].
 
|-
 
|-
|BoyCottAdvance
+
|[[Amiga emulators|Amiga]]
|align=left|{{Icon|Windows|Linux|macOS}}
+
|libretro-fsuae
|[http://boycottadvance.emuunlim.org/Downloads.htm 0.2.8]
+
|Git
|{{✗}} ||{{✗}} ||{{✗}} ||{{✗}} ||{{✗}} ||{{✗}} ||{{✗}} ||{{✗}}
+
|[https://github.com/libretro/libretro-fsuae Cross-platform Amiga emulator]; newer than old PUAE core. Based on FS-UAE 2.8.1u5.
 
|-
 
|-
|PlayBoy Advance
+
|[[Atari ST emulators|Atari ST/STE/TT/Falcon]]
|align=left|{{Icon|macOS}}
+
|[[Hatari]]
|[https://www.zophar.net/macintosh/gba/playboy-advance.html 1.0]
+
|1.7
|{{✗}} ||{{✗}} ||{{✗}} ||{{✗}} ||{{✗}} ||{{✗}} ||{{✗}} ||{{✗}}
+
|
 
|-
 
|-
!colspan="12"|Mobile / ARM
+
|[[MSX emulators|MSX]]/SVI/[[ColecoVision emulators|ColecoVision]]/[[SG-1000 emulators|SG-1000]]
 +
|[[blueMSX]]
 +
|2.8.2 (SVN)
 +
|
 
|-
 
|-
|[[mGBA]]
+
|[[MSX emulators|MSX]]
|align=left|{{Icon|Android|iOS|Linux|Pandora}}
+
|[[fMSX]]
|[https://mgba.io/downloads.html {{MGBAVer}}]
+
|3.9
|{{✓}} ||{{✓}}<ref group=N name=medusa /> ||{{✓}} ||{{✗}} ||{{✓}} ||{{✓}} ||{{✓}} ||{{✓}}
+
|
 
|-
 
|-
|[http://www.explusalpha.com/ GBA.emu]<br/><small>(VBA-M r1097 based)</small>
+
|[[3DO emulators|3DO]]
|align=left|{{Icon|Android}}
+
|[[4DO]]
|[https://play.google.com/store/apps/details?id=com.explusalpha.GbaEmu 1.5.49]
+
|1.3.2.4
|{{✗}} ||{{✗}} ||? ||{{✗}} ||{{✗}} ||{{✓}} ||{{✓}} ||{{✓}}
+
|Also [https://www.libretro.com/index.php/4do-3do-libretro-emulator-now-supports-arcade-games/ runs 3DO Arcade games].
 
|-
 
|-
|[http://allaboutwindowsphone.com/software/content/VBA8_1.php VBA8]
+
|[[Vectrex_emulators|Vectrex]]
|align=left|{{Icon|W8P}}
+
|[[vecx]]
|[https://www.appx4fun.com/xap/15223/ 2.27]
+
|SVN
|{{✓}} ||{{✗}} ||{{✓}} ||{{✗}} ||? ||{{✓}} ||{{✗}} ||{{✓}}
+
|
 
|-
 
|-
|[https://forums.windowscentral.com/app-spotlight/252987-trio-nintendo-emulators-vba8-vgbc8-snes8x.html VBA10]
+
|[[Magnavox Odyssey² emulators|Magnavox Odyssey²]]/Videopac
|align=left|{{Icon|W10P}}
+
|[[O2EM]]
|[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]
+
|1.18
|{{✓}} ||{{✗}} ||{{✓}} ||{{✗}} ||? ||{{✓}} ||{{✗}} ||{{✓}}
+
|
 
|-
 
|-
|[[gpSP]]
+
|[[ZX Spectrum emulators|ZX Spectrum]]
|align=left|{{Icon|Pandora}}
+
|[[FUSE]]
|[http://repo.openpandora.org/?page=detail&app=package.gpsp.notaz 0.9.2.8]
+
|1.11
|{{✗}} ||{{✗}} ||{{✗}} ||{{✗}} ||{{✗}} ||{{✓}} ||{{✗}} ||{{✓}}
+
|
 
|-
 
|-
|[[VisualBoy Advance#VBA-M|VBA-M]]
+
|[[GameCube emulators|Nintendo GameCube]] and [[Wii emulators|Wii]]
|align=left|{{Icon|Android|iOS|Linux|Pandora}}
+
|[[Dolphin]]
|[https://github.com/visualboyadvance-m/visualboyadvance-m 2.1.4]
+
|Git
|{{✓}} ||{{✗}} ||{{✓}} ||? ||{{✓}} ||{{✓}} ||{{✓}} ||{{✗}}
+
|2018: Now has working [https://www.libretro.com/index.php/libretro-status-updates/ Direct3D 11, OpenGL & Vulkan renderers]. 2nd core to use D3D 11 after PPSSPP's core.
 
|-
 
|-
|[https://sites.google.com/site/fastemulator/ My Boy!]
+
|[[GameCube emulators|Nintendo GameCube]] and [[Wii emulators|Wii]]
|align=left|{{Icon|Android}}
+
|[[Dolphin]] (Ishiiruka builds)
|[https://play.google.com/store/apps/details?id=com.fastemulator.gba 1.8.0]
+
|Git
|{{✓}}<ref group=N name=myoldboy>Separate paid app called My OldBoy!.</ref> ||{{✗}} ||{{✓}} ||{{✗}} ||{{✗}} ||{{✗}} ||{{✓}} ||{{✗}}
+
|WIP. Based on a custom build version of Dolphin. [https://www.patreon.com/posts/libretro-status-20471393 OpenGL] renderer works, Direct3D 11 & Vulkan renderers coming soon. Can have better frame pacing/performance than the Dolphin libretro core.
 
|-
 
|-
|GBA4iOS
+
|[[Game & Watch]]
|align=left|{{Icon|iOS}}
+
|gw-libretro
|[https://iemulators.com/gba4ios 2.1]
+
|Git
|{{✓}} ||{{✗}} ||{{~}} ||{{✗}} ||{{✗}} ||{{✓}} ||{{✗}} ||{{✗}}
+
|This emulator is actually a simulator of Game & Watch systems. This core has code from MADrigal.
 
|-
 
|-
!colspan="12"|Consoles
+
|[[Amstrad CPC emulators|Amstrad CPC]]
 +
|[https://github.com/libretro/libretro-cap32 Cap32]
 +
|Git
 +
|WIP
 
|-
 
|-
|[[mGBA]]
+
|[[Sega Dreamcast emulators|Sega Dreamcast]]
|align=left|{{Icon|Wii|Switch}}<br>{{Icon|3DS|PSV}}
+
|[[reicast#Libretro_core|Flycast]]
|[https://mgba.io/downloads.html {{MGBAVer}}]
+
|Git
|{{✓}} ||{{✗}} ||{{✗}} ||{{✗}} ||{{✓}} ||{{✓}} ||{{✓}} ||{{✓}}
+
|Greatly enhanced core based on reicast. Also runs [[Sega_NAOMI_and_variants|Naomi]] and Atomiswave games.
 
|-
 
|-
|[https://www.gc-forever.com/wiki/index.php?title=Enhanced_mGBA emGBA]
+
|[[Sega Dreamcast emulators|Sega Dreamcast]]
|align=left|{{Icon|GCN|Wii}}
+
|[[redream]]
|[https://files.extremscorner.org/gamecube/apps/mgba/latest Git]
+
|?
|{{✓}} ||{{✗}} ||{{✗}} ||{{✗}} ||{{✓}} ||{{✓}} ||{{✓}} ||{{✗}}
+
|
 
|-
 
|-
|[[gpSP#PSP_version|TempGBA4PSP]]
+
|[[Sinclair ZX81 emulators|Sinclair ZX81]] (for now)
|align=left|{{Icon|PSP}}
+
|[[EightyOne]]
|[http://www.mediafire.com/download/41ny5xrwxizalx4/TempGBA4PSP-26750221.zip 26750221]
+
|Git
|{{✗}} ||{{✗}} ||{{✗}} ||{{✗}} ||{{✓}} ||{{✓}} ||{{✗}} ||{{✓}}
+
|WIP
 
|-
 
|-
|[[VisualBoy Advance#VBA-GX|VBA GX]]
+
|[[Intellivision emulators|Mattel Intellivision]]
|align=left|{{Icon|GCN|Wii}}
+
|[[FreeIntv]]
|[https://github.com/dborth/vbagx/releases Git]
+
|Git
|{{✓}} ||{{✗}} ||{{✗}} ||{{✗}} ||{{✓}}<ref group=N>As VBA-Next.</ref> ||{{✓}} ||{{✓}} ||{{✗}}
+
|[https://docs.libretro.com/library/freeintv/ WIP]. [https://www.patreon.com/posts/lakka-2-1-1-with-20727887 Mattel Intellivision emulator]. Designed for SNES era and later joypads.
 
|-
 
|-
|[[gpSP]]
+
|[[Sharp X68000 emulators|Sharp X68000]]
|align=left|{{Icon|PSP}}
+
|px68k-libretro
|0.91
+
|Git
|{{✗}} ||{{✗}} ||{{✗}} ||{{✗}} ||{{✓}} ||{{✓}} ||{{✗}} ||{{✗}}
+
|[https://docs.libretro.com/library/px68k/ Portable Sharp X68000 Emulator for PSP, Android and other platforms].
 
|-
 
|-
|[[Virtual Console]]
+
|[[List of computers|Thomson TO8/TO8D]]
|align=left|{{Icon|3DS|WiiU}}
+
|Theodore
|8.10
+
|Git
|{{✓}} <small>(Nintendo 3DS only)<small> ||{{✓}} <small>(Wii U only)<small> ||{{✓}} <small>(Pokemon only)</small> ||{{✗}} ||{{✗}} ||{{✗}} ||{{✓}} ||{{✓}}
+
|[https://docs.libretro.com/library/theodore/ Libretro core for Thomson TO8/TO8D emulation], based on Daniel Coulom's DCTO8D emulator.
 
|}
 
|}
<references group=N />
 
  
===Comparisons===
+
===Game Engine===
;[[mGBA]]:Aims for accuracy, speed, and features. For its accuracy, it's gradually becoming the best at that. It's actively developed and has features VBA-M lacks such as a Tilt Sensor, and more recently Game Boy Camera support.
+
{| class="wikitable"
;[[VisualBoy Advance|Visual Boy Advance (VBA)]]:The original GBA emulator. Discovered to have an <abbr title="Arbitrary Code Execution">ACE</abbr> vulnerability detailed below.
+
! scope="col"|Game
:;[[VisualBoy Advance#VBA-M|Visual Boy Advance-M (VBA-M)]]:A fork with additional improvements. It is behind in terms of accuracy and performance compared to mGBA.
+
! scope="col"|Core
::;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.
+
! scope="col"|Version
;[[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.
+
! scope="col"|Notes
;[[higan]]:Its GBA core is cycle-accurate as of v095, but it is behind in terms of performance compared to mGBA and VBA-M.
+
|-
;[[MAME]]:Has a <code>gba</code> driver markup as working but both graphics and sound are "imperfect".
+
|Cave Story
 
+
|NXEngine
'''NOTE:''' There's a ''huge'' <abbr title="Arbitrary Code Execution">ACE</abbr> vulnerability affecting VBA and most of its forks, except for VBA-M. The function for adding GameShark codes ("Import > Gameshark code file") doesn't check if the file's size is within 1024 kilobits, meaning cheat code files from dubious sources can be engineered with malware in mind. There is good news; VBA-M still doesn't do a sanity check for those files, but it just crashes instead of letting the code wreak havoc. So, depending on your use case, avoid using:
+
|1.0.0.4
# Cheat code files bigger than 1024Kb that you got online from untrustworthy sources.
+
|
# The import code files feature.
+
|-
# The old emulator altogether, and settle for other options like mGBA or VBA-M. All of them support the same SRAM save data the cartridge uses.
+
|ChaiLove
 
+
|libretro-chailove
'''List of recommended GBA emulators for Android:'''
+
|0.20.0
* [https://www.androidauthority.com/best-game-boy-emulators-for-android-368530/ 10 best Game Boy Advanced, Game Boy Color, and Game Boy emulators for Android] (SEPTEMBER 2, 2018. Includes some emulators not found in above charts. Reviews may be subjective.)
+
|Open-source [https://docs.libretro.com/library/chailove/ framework for making 2D games in C++ with ChaiScript] (eg. Floppy Bird).
 
+
|-
==Emulation issues==
+
|Doom
 
+
|PrBoom
===Oversaturation===
+
|2.5.0
[[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:
+
|-
 
+
|Flashback
====Emulator Options====
+
|REminiscence
'''No$GBA:''' Under "Emulation Options", select "GBA Mode". There are four modes.
+
|[https://github.com/libretro/REminiscence Git]
 
+
|[https://www.patreon.com/posts/reminiscence-new-18712357 Port] of the game engine recreation of the spiritual successor to ''Another World/Out of this World''.
* '''GBA (no backlight):''' Strong desaturation
+
|-
* '''GBA SP (backlight):''' Strong desaturation
+
|Lua Engine (Lutro)
* '''Nintendo DS in GBA mode:''' Some desaturation
+
|libretro-lutro
* '''VGA Mode (poppy bright):''' No desaturation
+
|v1
 
+
|WIP. [https://docs.libretro.com/library/lutro/ Experimental lua game framework that follows the LÖVE API]. Sample games include Snake, Tetris and Pong.
'''mGBA:''' Under Tools > Settings > Shaders, you will find three customizable '''Desaturation''' parameters.
+
|-
 
+
|LucasArt Game Engines
'''VBA-M:''' (nightly only): Under Options > Game Boy Advance, you will find the option, '''LCD Filter'''.
+
|[[ScummVM]]
 
+
|[https://github.com/libretro/scummvm 1.6.0]
'''higan:''' Under Settings > Video Filter, you will find the "Color Emulation" checkbox.
+
|Requires loading games inside its own GUI, does not load games from RetroArch's Load Content option.
 
+
|-
* '''Color Emulation off:''' No desaturation
+
|OutRun
* '''Color Emulation on:''' Gamma correction and adjusted color range.
+
|CannonBall
 
+
|0.3
====Shaders====
+
|[http://docs.libretro.com/library/cannonball/ Complete rewrite] of the Outrun arcade game into portable C++ written in 2014 by Chris White. Has [https://github.com/djyt/cannonball/wiki many enhancements]. The libretro version has [https://www.libretro.com/index.php/libretroretroarch-progress-reportupdate-november-2018/ analog axis and triggers support alongside a new 120Hz mode].
Cg [[Shaders and Filters|shaders]] can be used in [[OpenEmu]] or [[RetroArch]] that adjust the colors to those of a real GBA screen, as well as other screen types. These are available in GLSL<ref name="GLSL">https://github.com/libretro/glsl-shaders/tree/master/handheld/shaders/color</ref> for OpenGL, and Slang<ref name="Slang">https://github.com/libretro/slang-shaders/tree/master/handheld/shaders/color</ref> for Vulkan.
 
 
 
For GBA, there is <code>gba-color.cg</code><ref>https://github.com/libretro/common-shaders/blob/master/handheld/shaders/color/gba-color.cg</ref>, which simulates the color profile of a GBA screen under an external light source more accurately than VBA-M or No$GBA color options. If you prefer the darker color options that those emulators have, then use <code>vba-color.cg</code><ref>https://github.com/libretro/common-shaders/blob/master/handheld/shaders/color/vba-color.cg</ref> instead.
 
 
 
There is also <code>nds-color.cg</code><ref>https://github.com/libretro/common-shaders/blob/master/handheld/shaders/color/nds-color.cg</ref> and <code>psp-color.cg</code><ref>https://github.com/libretro/common-shaders/blob/master/handheld/shaders/color/psp-color.cg</ref>, which simulates the color profiles of the original Nintendo DS frontlit screen and the PSP-1000/PSP-2000 backlit screen, respectively.
 
 
 
===Horrible Sound Quality===
 
As a handheld rushed to the market (because of the WonderSwan Color competition), the Game Boy Advance had some cut corners. The sound hardware was affected the hardest: while it could play Game Boy Color sound in addition to samples and sequenced music like what would be heard on the SNES, the actual sound playback quality is awful compared to the actual higher quality sound samples stored internally in the ROM.
 
 
 
There were [https://www.romhacking.net/utilities/881/ tools] made to extract the internal high quality music (as midi files plus a sound font, to be played on foobar2000), however interest remains limited in implementing its playback in real time on emulators. It's worth noting it exists as a very experimental feature on [[mGBA]] (nightly versions) under Enhancements as "XQ GBA Audio", but very buggy and still limited to games using the standard sound engine, the so-called "Sappy" engine, which is still a big part of the GBA's software library.
 
 
 
===High Resolution Affine Transformation Graphical Effects===
 
Similar to the scaling effects used on the Super NES known commonly as "Mode 7" graphics, the Game Boy Advance has affine transformation effects for some backgrounds and individual sprites that can be done in hardware. Due to the GBA's lower resolution, some detail may be lost.
 
 
 
The [[mGBA]] emulator added an Enhancements menu where you can change the resolution of those graphical effects, for a smoother effect. The graphical render engine will need to be OpenGL for those to take effect. It won't work on games where those effects are done in software instead of the hardware scaling features (like the 3D environment in Asterix & Obelix XXL)
 
 
 
===Save formats===
 
Originally, when saves were implemented, nobody settled on a format, so the Visual Boy Advance devs made its own. Because other emulators often went with raw data, having to exchange different saves caused problems. The original Visual Boy Advance tries to figure out which format a given save is but often fails at it. By explicitly telling the emulator to read it as a specific type using a file called <code>vba-over.ini</code>, VBA complies. VBA-M includes this config file by default, but older revisions like VBA 1.7.2 and VBALink do not.
 
 
 
The VBA-Next and VBA-M cores in Libretro have the file baked into the binary so that it can load raw .sav files, but converts the format to its own derivative at exactly 136 KB every time, with save type info contained within the file. This completely avoids the previous issues at the cost of incompatibility with standalone VBA and most others.
 
 
 
To solve this incompatibility, Libretro devs created a
 
[https://github.com/libretro/vbam-libretro/blob/master/src/libretro/gbaconv/gbaconv.c command-line tool] to convert .srm save files made from these cores to raw .sav save data for other emulators. It takes standard input (i.e. just drag and drop the .srm onto the executable) and outputs accordingly. It can also be done in reverse. A 64-bit binary of this tool for Windows can be found
 
[https://www.mediafire.com/?6bg8ag0bjs1b7ng here].
 
 
 
==Connectivity==
 
There are five different kinds of connectivity, support varying by game:
 
*Single Pak
 
*Multi Pak
 
*Wireless
 
*GameCube
 
*Nintendo DS
 
Purple end in GBA means player 1, while a grey end in GBA means P2, P3, or P4. Daisy chaining up to three cables will set up the additional P3 and P4 by connecting the purple end to a purple mid section.<ref>https://www.nintendo.com/consumer/downloads/agblink.pdf</ref>
 
{| class="wikitable" style="text-align:center;"
 
 
|-
 
|-
! scope="col"|Name
+
|Quake
! scope="col"|Platform(s)
+
|TyrQuake
! scope="col"|Supported Version
+
|0.61
! scope="col"|Single Pak
+
|
! scope="col"|Multi Pak
 
! scope="col"|Wireless
 
! scope="col"|GameCube
 
! scope="col"|Nintendo DS
 
 
|-
 
|-
!colspan="8"|PC / x86
+
|Quake II
 +
|vitaQuakeII
 +
|2.2
 +
|
 
|-
 
|-
|[[mGBA]]
+
|Rick Dangerous
|align=left|{{Icon|Windows|Linux|macOS|FreeBSD}}
+
|xrick-libretro
|[https://mgba.io/downloads.html {{MGBAVer}}]
+
|1.0.0.6
|{{✗}} ||{{✓}} ||{{✗}} ||{{✓}} ||{{✗}}
+
|[https://docs.libretro.com/library/xrick/ Open-source implementation of the game '''Rick Dangerous''']. Core based on BigOrno's work.
 
|-
 
|-
|[[VisualBoy Advance#VBA-M|VBA-M]]
+
|RPG Maker 2000/2003
|align=left|{{Icon|Windows|Linux|macOS|FreeBSD}}
+
|[[EasyRPG]]
||[https://github.com/visualboyadvance-m/visualboyadvance-m/releases {{VBAMVer}}]
+
|[https://github.com/libretro/easyrpg-libretro/releases 0.4.1]
|{{✗}} ||{{✓}} ||{{✗}} ||{{✓}} ||{{✗}}
+
|
 
|-
 
|-
|[[No$|No$GBA]]
 
|align=left|{{Icon|Windows|DOS}}
 
||[http://problemkaputt.de/gba.htm {{No$GBAVer}}]
 
|{{✓}} ||{{✓}} ||{{✗}} ||{{✗}} ||{{✗}}
 
 
|-
 
|-
|[[DeSmuME]]
+
|Tomb Raider #1-5
|align=left|{{Icon|Windows|Linux|macOS}}
+
|OpenLara
|[https://ci.appveyor.com/project/zeromus/desmume {{DeSmuMEVer}}]
+
|[https://github.com/libretro/OpenLara 2017-04-24]
|{{✗}} ||{{✗}} ||{{✗}} ||{{✗}} ||{{✓}}
+
|WIP. Available for [https://www.libretro.com/index.php/new-core-openlara-windowslinux/ 32bit/64bit Windows & Linux]. Has [https://www.youtube.com/watch?v=ohH6EI4jtk8 many enhancements] over the original games.
 
|}
 
|}
===GBA Mutli Pak Link Multiplayer (1~4GBA)===
 
;VBA-M: This doesn't work with old VBA versions.
 
:Just disable "Pause when Inactive", configure all four Joypads each with their own button layout, enable "Link, Enable GBA Link". Now open VBA-M again as many times needed for each player, and have them each use their separate Joypad configuration. Each player will have a separate SRAM save file.
 
;VBA Link + e-Reader:Useful if you want to use the Pokémon Battle-eCards. Downloads and instructions reside [http://projectpokemon.org/forums/showthread.php?42433-RELEASE-VBA-LINK-E-READER here].
 
;mGBA:Select "New multiplayer window" from the menu. As you load your ROMs into each window, "Player [X] of [Y]" will appear across the title bar. This can be done for up to four players. However, multiple instances of the same ROM will share a save file.
 
;No$GBA:Set the number of Emulated Gameboys in the Emulation setting to be 2 or more, and the Link Gamepaks Options to Gamepak in all GBAs.
 
  
===GBA Wireless Multiplayer===
+
===Standalone Game===
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''.
+
{| class="wikitable"
 +
|-
 +
! scope="col"|Game
 +
! scope="col"|Genre
 +
|-
 +
|Dinothawr
 +
|Puzzle
 +
|}
  
No emulator has currently implemented this add-on. The only project whose developers put this on its roadmap is [[mGBA]].
+
===Other===
 
+
{| class="wikitable"
===GameCube Connectivity===
+
|-
The Game Boy Advance can also connect to the GameCube.<ref>https://www.nintendo.com/consumer/downloads/agbgcncable.pdf</ref> e-Reader functionality with GC games has now been emulated thanks to mGBA. [[Dolphin]] supports connectivity through rudimentary joybus emulation made in parallel with VBA-M. Because this emulator has fallen behind, the feature was recently added to [[mGBA]], a more accurate emulator. They showcased early higan support in a video, but nothing has been released as of yet.
+
! scope="col"|Core
 
+
! scope="col"|Description
====Dolphin/VBA-M====
+
|-
:''Requires VBA-M r947 or newer.''
+
|FFmpeg
 
+
|Media Player
# Reduce your volume. You won't want it to be high, especially with headphones.
+
|-
# Open Dolphin and VBA-M. Make sure neither are blocked by your firmware.
+
|Modelviewer
# 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.
+
|3D Tech Demo
# In VBA-M, uncheck Pause When Inactive in Options > Emulator. Then, under Options > Link > Joybus Options, Make sure to "Enable Joybus Connection" is on and set "IP/Hostname" to use default settings, that is <code>127.0.0.1</code> or <code>localhost</code>.
+
|-
# Dolphin will freeze.
+
|SceneWalker
# Open the GBA BIOS in VBA-M as if it were a regular GBA ROM. The regular splash screen will stutter a bit.
+
|3D Tech Demo
# Dolphin should recognize the Joybus Link by then and the GC game will detect that a GBA was connected.
+
|-
# To connect other units, open another VBA-M instance and repeat its process.
+
|Imageviewer
 
+
|Image Viewer
Notable games that work:
+
|}
*[https://wiki.dolphin-emu.org/index.php?title=The_Legend_of_Zelda:_Four_Swords_Adventures The Legend of Zelda Four Swords Adventures]: Both two modes available for the US/PAL version work. The third Japan-only Navi Trackers mode works as well, but the game crashes after the naming screen due to a bug in the GC/GBA connectivity.
 
*[https://wiki.dolphin-emu.org/index.php?title=Final_Fantasy_Crystal_Chronicles Final Fantasy Crystal Chronicles]
 
*[https://wiki.dolphin-emu.org/index.php?title=Billy_Hatcher_and_the_Giant_Egg Billy Hatcher and the Giant Egg]: You can download games to your GBA. Amusingly, a RAM dump from VBA-M can be opened as a functional GBA ROM.
 
*[https://wiki.dolphin-emu.org/index.php?title=Kururin_Squash! Kururin Squash!]
 
*[https://wiki.dolphin-emu.org/index.php?title=Sonic_Adventure_2:_Battle Sonic Adventure 2: Battle] (buggy)
 
 
 
Notable games that don't:
 
*[https://wiki.dolphin-emu.org/index.php?title=Mr_Driller:_Drill_Land Mr. Driller: Drill Land]
 
*lots more
 
 
 
===GBA/DS Connectivity===
 
:''Main section: [[Nintendo_DS_emulators#GBA.2FDS_Connectivity|Nintendo DS § GBA/DS Connectivity]]''
 
 
 
===e-Reader===
 
:''Main page: [[GBA e-Reader emulators]]''
 
This device can read content off e-Card paper stripes either as standalone content, or additional content to GBA/GC games. Can be thought of as DLC.
 
 
 
==Special Hardware==
 
Most of these have not been emulated as of yet. There used to be patches that could be applied to GBA ROMs with a utility like Lunar IPS (mostly from [http://bubbz.pocketheaven.com/?system=gba&section=patch No Frills]), but they're for the most part lost to time nowadays. Your best bet is to use Action Replay to emulate those.
 
 
 
===Solar Sensor===
 
====Emulation====
 
This feature has been emulated in mGBA, VBA-M, No$GBA 2.6 onwards, and My Boy!:
 
* mGBA: In the shortcuts editor, shortcuts can be configured to raise/lower the solar level incrementally or to set any particular brightness level.
 
* VBA-M: This emulator uses the keys of the lateral motion controls to change the Solar Sensor levels. You can find those keys and modify them in Options -> Input -> Configure... -> "Special" tab.
 
* No$GBA: Under '''Options/Emulation Setup''', you can find the Solar Sensor Level option. You are given the choice between only three brightness levels though: Darkness, 100 Watts, and Bright Sunlight.
 
* My Boy! This emulator uses a button combination or the devices light sensor to check the brightness level. You can change this under Settings -> Input -> Cartridge Features -> "Solar Emulation By" menu.
 
 
 
====ROM Patches====
 
Fixes applied directly to the ROM by various scene release groups to make it compatible with any emulator/flashcard, making the in-game brightness level controllable with L+Left/Right. It's argued this makes for a better experience actually, but sadly not all releases are covered.
 
* '''Boktai 1:''' [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 3:''' [http://www.advanscene.com/html/Releases/dbreleases.php?id=2048 JP Fix].
 
* Combinations of Boktai 4 JP with earlier solar sensors to get solar sensor bonuses aren't emulated yet in any DS emulator.
 
 
 
===Motion Control===
 
VBA-M has an option for Motion controls "Input, Set, Motion". It currently works with all versions of the GBC title Kirby Tilt'n Tumble, which also was a special cartridge with a motion sensor built-in to control movement in-game. But VBA-M does not support motion controls for GBA games yet.
 
====Emulation====
 
* VBA '''doesn't''' emulate this feature, and its "Motion Control" option (with keys mapped to each tilt direction) covers the GBC title Kirby Tilt'n Tumble.
 
* mGBA supposedly includes this feature but key remapping for tilt sensors is not present in the latest builds.
 
* My Boy! uses the device's accelerometer to emulate this feature. You can change the sensitivity under Settings -> Input -> Cartridge Features -> "Motion sensitivity" menu.
 
 
 
====ROM Patches====
 
Fixes applied directly to the ROM (with the Lunar IPS utility, or at runtime using mGBA or VBA-M and naming them the same as the ROM in the same directory) by various scene release groups to make it compatible with any emulator/flashcard. D-Pad controls substituting motion controls don't work as well here as they tilt it "too much" at times to be very playable.
 
* Yoshi Topsy Turvy/Universal Gravitation: [http://www.advanscene.com/html/Releases/dbreleases.php?id=1799 JP], [http://www.advanscene.com/html/Releases/dbreleases.php?id=1947 EU], [http://www.advanscene.com/html/Releases/dbreleases.php?id=2001 US]
 
* WarioWare Twisted! (Patch: [http://www.advanscene.com/html/Releases/dbreleases.php?id=1682 JP], [http://www.advanscene.com/html/Releases/dbreleases.php?id=1979 US])
 
 
 
===Rumble Feature===
 
There are various rumble features found in GBA/GBC cards:
 
* '''GBC Rumble:''' GBC games which came on special cartridges with additional hardware for the rumble feature. It was actually used by dozens of releases, and some games like Tarzan 2 GBC were programmed to have rumble support but shipped on regular cartridges. Emulated by VBA-M GX (Wii-only), which also cover the dummied-out rumble games. Not emulated anywhere else.
 
* '''GBA Gyro Rumble:''' WarioWare Twisted was shipped on a cart with rumble support. It would rumble when you tilt to one "extreme". Emulated by VBA-M GX (Wii-only, functional), mGBA has this feature but it's not enabled in current builds,
 
* '''GBA Variable Rumble:''' Drill Dozer has rumble support, with variable force and speed depending on the rock type you drill through in-game. Partially emulated by VBA-M GX (Wii-only, functional), mGBA has this feature but it's not enabled in current builds.
 
* '''Game Boy Player Rumble:''' Many regular GBA games, shipped on regular cartridges, enable rumble during gameplay when played on GB Player hardware (which is essentially GBA hardware). These include Super Mario Advance 4, Summon Night Hajimari no Ishi, Mario & Luigi 1, Shikakui Atama wo Marukusuru Advance (both releases), Pokémon Pinball, as well as Drill Dozer which disables its original cartridge rumble scheme and enables this one instead. None of the emulators support this, though it's being under development for the mGBA emulator.
 
 
 
===Figurine Readers===
 
* '''Figurine Add-on:''' Legendz: Isle Of Trials, Legendz: Sign Of Necromu, Plaston Gate ([http://www.advanscene.com/html/Releases/dbreleases.php?id=1020 Fix]), Plaston Gate DX ([http://www.advanscene.com/html/Releases/dbreleases.php?id=2006 Fix]). The add-on is essentially Skylanders before it became popular.
 
 
 
[[mGBA]] (dev channel only) and [[GBE+]] partially support the add-on used for the Legendz series.
 
 
 
===BattleChip Gate===
 
An peripheral device by Capcom and Takara compatible with ''Mega Man Battle Network 4'' (Japanese edition). It can be connected to the Game Boy Advance and allow the player to transmit real-life toy Battle Chips to the NetNavis in the game. It's also compatible with toy Advanced PETs and ''Rockman.EXE 4.5 Real Operation''. It can also unlock minigames in ''Mega Man Zero 3''.
 
 
 
[[mGBA]] and [[GBE+]] partially support this add-on.
 
 
 
===Glucoboy===
 
* '''Glucoboy:''' An obscure medical peripheral designed to monitor a child's blood glucose levels and reward them for keeping tabs on their condition. No known emulator supports this so far, especially given the niche nature of this accessory. Not to mention that [https://assemblergames.com/threads/glucoboy-for-gameboy-is-this-the-rarest-game-accessory-for-gameboy-advance.41853/page-2 Bayer Healthcare destroyed all unsold stock] making it hard to find.
 
 
 
==References==
 
{{reflist|2}}
 
  
{{Nintendo}}
+
==External Links==
 +
* [http://www.libretro.com/ libretro.com] - Main website of the libretro project.
 +
* [https://github.com/libretro/ libretro GitHub organization] - Source code for RetroArch and the various cores maintained by the libretro project.
 +
* [https://db.libretro.com/ Online libretro database] (RetroArch uses the [https://www.libretro.com/index.php/a-website-to-browse-the-libretro-database-db-libretro-com/ same database] for scanning your game collection)
 +
* [https://www.youtube.com/user/Libretro Official Youtube channel]
 +
* [http://retroarch.com/index.php?page=donate Various donation sources] (Not just Patreon only)
  
[[Category:Consoles]]
+
[[Category:RetroArch]]
[[Category:Handheld consoles]]
 
[[Category:Nintendo consoles]]
 
[[Category:Sixth-generation video game consoles]]
 
[[Category:Game Boy Advance emulators|*]]
 

Revision as of 22:01, 7 July 2021

Libretro.png

libretro (formerly libsnes) is an API designed mainly for games and emulators. It allows games and emulators to be compiled as dynamically linked libraries known as "libretro cores", which can be used in a frontend that implements libretro, such as RetroArch.

libretro Frontends

RetroArch is the flagship project for libretro, however there are plenty of other available frontends.

Main article: Frontends#Libretro

Cores

Emulation

System Core Version Notes
SNES higan v110 Separate cores for each profile.

C++98 version is bsnes v085 Performance profile.

SNES bsnes-mercury v094 Fork of bsnes with modifications for speed. Separate cores for each profile
SNES Mednafen bsnes 0.9.26 Fork of bsnes v059 with a few modifications.
SNES nSide Balanced v106 Fork of higan v106 with additional hardware support. Good for slower computers that cannot run the Accuracy core-only releases from higan v098 onwards with full speed.
SNES Snes9x 1.62.3 Supports libretro in upstream.
SNES Snes9x 2002 (previously PocketSNES) 1.39 Snapshot of Snes9x for use on very slow platforms
SNES Snes9x 2005 1.43 Snapshot of Snes9x useful for Mario World hacks that have broken custom music.
SNES Snes9x 2005 Plus 1.43 Snapshot of Snes9x 1.43 plus BLARRG APU.
SNES Snes9x 2010 1.52.4 Fork of Snes9x 1.52 WIP focused on speed.
WonderSwan Mednafen Cygne ? Modified fork of Cygne.
PlayStation DuckStation ?
PlayStation Mednafen PSX 0.9.39.2 Fork has significant modifications for enhancements as well as Vulkan renderer support. Sometimes referred to as "Beetle PSX."
PlayStation Mednafen PSX HW Alpha Adds an OpenGL renderer to Mednafen PSX based on the GPU renderer from Rustation. Sometimes referred to as "Beetle PSX HW." Still contains the software rendering mode as an option, so this core can effectively replace the "Mednafen PSX" core listed above.
PlayStation PCSX-ReARMed r22 ARM optimized fork of PCSX-Reloaded. Supports libretro in upstream.
PlayStation Rustation Git
PocketStation pockystation Git
PC Engine & PCE-CD Mednafen PCE-Fast ?
PC Engine SuperGrafx Mednafen SuperGrafx ?
PC-FX Mednafen PC-FX ?
Neo-Geo Pocket Mednafen NeoPop ? Modified fork of NeoPop.
Virtual Boy Mednafen VB ?
Atari 2600 Stella 3.9.3
Atari 5200 Atari800 3.1.0
Atari 7800 ProSystem 1.3e
Atari Lynx Handy 0.95
Atari Lynx Mednafen Handy ? Modified fork of Handy.
Atari Jaguar Virtual Jaguar 2.1.0 Very low FPS.
NES bnes v083
NES FCEUmm 98.13mm (SVN)
NES QuickNES 1.0
NES Mesen Git Supports libretro in upstream.
NES Nestopia 1.46-WIP Supports libretro in upstream.
Game Boy/Color Gambatte 0.5.0 Has an option to disable color correction.
Game Boy/Color Gearboy Git Open source, multi-platform, GB (DMG) / GBC (CGB) emulator written in C++.
Game Boy/Color TGB Dual 0.8.3 Has a split-screen mode for game linking.
Game Boy/Color SameBoy Git Extremely accurate GB (DMG) & GBC (CGB) emulator written in portable C. Latest core update in 2018.
Game Boy Advance VBA-Next 1.0.2 Fork of VBA-M focused on speed.
Game Boy Advance VBA-M SVN Supports libretro in upstream.
Game Boy Advance Meteor 1.4 Supports libretro in upstream.
Game Boy Advance Mednafen VBA 0.9.33.3 Fork of an old version of VBA.
Game Boy Advance TempGBA Git PSP-only fork of gpSP.
Game Boy Advance gpSP 0.91 Dynarec available for ARM.
Game Boy Advance Mednafen VBA 0.9.33.3 Fork of an old version of VBA.
Game Boy Advance, Game Boy/Color mGBA 0.8.3
Nintendo 64 Mupen64Plus 2.0-rc2 Fork, has significant modifications.
Nintendo 64 paraLLEl pre-alpha New fork/rewrite of the Mupen64Plus core with a port of the Angrylion video plugin (Multi-threaded version also exists) to Vulkan for massive speed improvements. Highly accurate on compatible games, extremely broken on incompatible games.
Sega Systems (SG-1000, Master System, Genesis, Sega CD, Game Gear) Genesis Plus GX 1.7.4 Exclusive to libretro on non-GC/Wii platforms. Supports libretro in upstream.
Sega Systems (Master System, Genesis, Sega CD, 32X, Game Gear, Pico) PicoDrive 1.81 Exclusive to libretro on PC platforms. Supports libretro in upstream.
Sega Genesis BlastEm ?
Sega Saturn Mednafen Saturn ? Sometimes referred to as "Beetle Saturn"
Sega Saturn Yabause 0.9.13 Lacks dynarec and GL renderer. Heavily outdated.
Sega Saturn Kronos 2.6.1 2nd-degree Yabause fork. Has OpenGL ES 3.0 (for mobile) / 3.1 rendering & cached interpreter CPU core (Faster than Yabause's core). Supports STV arcade.
Arcade FinalBurn Alpha 0.2.97.24 Older version for use on slower platforms.
Arcade FinalBurn Alpha 0.2.97.38
Arcade MAME 2000 0.37b5 Old version for use on very slow platforms.
Arcade MAME 2003 0.78 Old version for use on slow platforms. Core updated in 2018.
Arcade MAME 2003 Plus 0.78 Updated 2018 version of MAME (0.78) for libretro, with added game support and improvements.
Arcade MAME 2010 0.139 Old but more recent version for mobile devices.
Arcade MAME 2014 0.159 Very recent version for PC and other fast devices.
Arcade (LaserDisc) DAPHNE Git WIP. Arcade LaserDisc emulator adapted to a libretro core.
Arcade (Sega Model 3) Supermodel Git WIP. Sega Model 3 arcade emulator. OpenGL-only core for now.
Everything MAME 0.188 (Git) Based on bleeding edge Git. Official merge of MESS into MAME codebase.
Nintendo DS DeSmuME 2015 SVN Based on DeSmuME 2015 SVN. Has options for single-screen fullscreen with swapping.
Nintendo DS DeSmuME (New) Git Has options for single-screen fullscreen with swapping. Latest core update in 2018.
Nintendo DS melonDS Git WIP. Different emulator that aims to be more accurate than DeSmuME.
Nintendo 3DS Citra Git Has an updated 2018 core.
PSP PPSSPP Git 2018: Now has working Vulkan, OpenGL & Direct3D 11 renderers. 1st core to use D3D 11.
286 and 386 DOSBox SVN
Commodore 64 vice-libretro 3.0 WIP.
Amiga PUAE 2.8.0 Very old, shallow fork; based on WinUAE.
Amiga libretro-fsuae Git Cross-platform Amiga emulator; newer than old PUAE core. Based on FS-UAE 2.8.1u5.
Atari ST/STE/TT/Falcon Hatari 1.7
MSX/SVI/ColecoVision/SG-1000 blueMSX 2.8.2 (SVN)
MSX fMSX 3.9
3DO 4DO 1.3.2.4 Also runs 3DO Arcade games.
Vectrex vecx SVN
Magnavox Odyssey²/Videopac O2EM 1.18
ZX Spectrum FUSE 1.11
Nintendo GameCube and Wii Dolphin Git 2018: Now has working Direct3D 11, OpenGL & Vulkan renderers. 2nd core to use D3D 11 after PPSSPP's core.
Nintendo GameCube and Wii Dolphin (Ishiiruka builds) Git WIP. Based on a custom build version of Dolphin. OpenGL renderer works, Direct3D 11 & Vulkan renderers coming soon. Can have better frame pacing/performance than the Dolphin libretro core.
Game & Watch gw-libretro Git This emulator is actually a simulator of Game & Watch systems. This core has code from MADrigal.
Amstrad CPC Cap32 Git WIP
Sega Dreamcast Flycast Git Greatly enhanced core based on reicast. Also runs Naomi and Atomiswave games.
Sega Dreamcast redream ?
Sinclair ZX81 (for now) EightyOne Git WIP
Mattel Intellivision FreeIntv Git WIP. Mattel Intellivision emulator. Designed for SNES era and later joypads.
Sharp X68000 px68k-libretro Git Portable Sharp X68000 Emulator for PSP, Android and other platforms.
Thomson TO8/TO8D Theodore Git Libretro core for Thomson TO8/TO8D emulation, based on Daniel Coulom's DCTO8D emulator.

Game Engine

Game Core Version Notes
Cave Story NXEngine 1.0.0.4
ChaiLove libretro-chailove 0.20.0 Open-source framework for making 2D games in C++ with ChaiScript (eg. Floppy Bird).
Doom PrBoom 2.5.0
Flashback REminiscence Git Port of the game engine recreation of the spiritual successor to Another World/Out of this World.
Lua Engine (Lutro) libretro-lutro v1 WIP. Experimental lua game framework that follows the LÖVE API. Sample games include Snake, Tetris and Pong.
LucasArt Game Engines ScummVM 1.6.0 Requires loading games inside its own GUI, does not load games from RetroArch's Load Content option.
OutRun CannonBall 0.3 Complete rewrite of the Outrun arcade game into portable C++ written in 2014 by Chris White. Has many enhancements. The libretro version has analog axis and triggers support alongside a new 120Hz mode.
Quake TyrQuake 0.61
Quake II vitaQuakeII 2.2
Rick Dangerous xrick-libretro 1.0.0.6 Open-source implementation of the game Rick Dangerous. Core based on BigOrno's work.
RPG Maker 2000/2003 EasyRPG 0.4.1
Tomb Raider #1-5 OpenLara 2017-04-24 WIP. Available for 32bit/64bit Windows & Linux. Has many enhancements over the original games.

Standalone Game

Game Genre
Dinothawr Puzzle

Other

Core Description
FFmpeg Media Player
Modelviewer 3D Tech Demo
SceneWalker 3D Tech Demo
Imageviewer Image Viewer

External Links