Changes

Jump to navigation Jump to search

Game Boy Advance emulators

4,924 bytes removed, 11:29, 3 November 2017
copyedits and reworking
[[File:Gameboy-glacier.jpg|thumb|The Game Boy Advance handheld console]]The '''[https[wikipedia://en.wikipedia.org/wiki/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.
==Emulators==
{| class="wikitable" style="text-align:center;"|+PC-
! scope="col"|Name
! scope="col"|Operating System(s)
! scope="col"|[[Recommended emulators|Recommended]]
|-
|style="text-align:center;"|[[mGBA]]|style="text-align:center;"|Multi-platform|style="text-align:center;"|[https://mgba.io/downloads.html {{MGBAVer}}]|style="text-align:center;"|✓|style="text-align:center;"|✓|style="text-align:center;"|✓*|style="text-align:center;"|✓|style="text-align:center;"|✓|style!colspan="text-align:center;9"|PC
|-
|style="text-align:center;"|[[Visual Boy Advance -M|Visual Boy Advance-M (VBA-M)mGBA]]|style="text-align:center;"|Multi-platform|style="text-align:center;"|[https://githubmgba.com/visualboyadvance-m/visualboyadvance-mio/releases v2.0downloads.1 GitHub] [http://www.emucr.com/search/label/VisualBoyAdvance-M/ SVNhtml {{MGBAVer}}]|style="text-align:center;"✓ ||✓|style="text-align:center;"|✓|style<ref group=N name="text-align:center;"|✗medusa>Experimental separate build under the name of Medusa.</ref> |style="text-align:center;"|✓|style="text-align:center;"|✓|style="text-align:center;"|
|-
|style="text[[VisualBoy Advance#VBA-align:center;"M|[[higanVBA-M]]|style="textMulti-align:center;"|Windows, OS X, Linuxplatform|style="text[https://github.com/visualboyadvance-m/visualboyadvance-align:center;"|m/releases v2.0.1]/[http://byuuwww.emucr.orgcom/search/emulationlabel/higanVisualBoyAdvance-M/ {{higanVer}}SVN]|style="text-align:center;"|✓|style="text-align:center;"|✓|style="text-align:center;"|✗|style="text-align:center;"||style="text-align:center;"||style="text-align:center;"|✗
|-
|style="text-align:center;"|iDeaS[[higan]]|style="text-align:center;"|Windows, macOS, Linux|style="text-align:center;"|[http://ciacinbyuu.site90.comorg/emulation/higan/ideas.php 1.0.4.0{{higanVer}}]|style="text-align:center;"||style="text-align:center;"|✓|style="text-align:center;"||style="text-align:center;"|✗|style="text-align:center;"|✗|style="text-align:center;"|✗
|-
|style="text-align:center;"|[[GBE+]]iDeaS|style="text-align:center;"|Multi-platformWindows, Linux|style="text-align:center;"|[httpshttp://githubciacin.site90.com/shonumi/gbe-plus GitHubideas.php 1.0.4.0]|style="text-align:center;"|✓|style="text-align:center;"|✓|style="text-align:center;"|✓|style="text-align:center;"|✗|style="text-align:center;"|✗|style="text-align:center;"|✗
|-
|style="text-align:center;"|[[MAMEGBE+]]|style="text-align:center;"|Multi-platform|style="text-align:center;"|[httphttps://wwwgithub.mamedev.orgcom/shonumi/release.html {{MAMEVer}}gbe-plus GitHub]|style="text-align:center;"✓ ||✓|style="text-align:center;"|✓|style="text-align:center;"|✗|style="text-align:center;"|?|style="text-align:center;"|✓|style="text-align:center;"|✗
|-
|style="text-align:center;"|Meteor[[MAME]]|style="textMulti-align:center;"|Linuxplatform|style="text-align:center;"|[httpshttp://githubwww.commamedev.org/blastrock/meteor 1release.4html {{MAMEVer}}]|style="text-align:center;"||style="text-align:center;"|✓|style="text-align:center;"|✗|style="text-align:center;"|? |style="text-align:center;"|✓|style="text-align:center;"|✗
|-
|style="textMeteor|Linux|[https://github.com/blastrock/meteor 1.4]|✗ ||✓ ||✗ ||✗ ||✓ ||✗|-align:center;"|[[No$GBA]]|style="text-align:center;"|Windows, MS-DOS|style="text-align:center;"|[http://problemkaputt.de/gba.htm 2.8e]|style="text-align:center;"|✗|style="text-align:center;"|✓|style="text-align:center;"|✓|style="text-align:center;"|✓|style="text-align:center;"|✗|style="text-align:center;"|✗
|-
!colspan="9"|Mobile
|-
|style="text-align:center;"|[[mGBA]]|style="text-align:center;"|Multi-platform|style="text-align:center;"|[https://mgba.io/downloads.html {{MGBAVer}}]|style="text-align:center;"|✓|style="text-align:center;"|✓|style="text-align:center;"|✓*<ref group=N name=medusa /> |style="text-align:center;"|✓|style="text-align:center;"|✓|style="text-align:center;"|✓
|-
|style="text-align:center;"|[[Visual Boy VisualBoy Advance #VBA-M|Visual Boy Advance-M (VBA-M)]]|style="text-align:center;"|Multi-platform|style="text-align:center;"|[https://github.com/visualboyadvance-m/visualboyadvance-m GitHubv2.0.1] /[http://www.emucr.com/search/label/VisualBoyAdvance-M/ SVN]|style="text-align:center;"|✓|style="text-align:center;"|✓|style="text-align:center;"|✗|style="text-align:center;"|✓|style="text-align:center;"|✓|style="text-align:center;"|✗
|-
|style="text-align:center;"|VBA8|style="text-align:center;"|Windows Phone 8/8.1|style="text-align:center;"|2.27|style="text-align:center;"|✓|style="text-align:center;"|✓|style="text-align:center;"|✗|style="text-align:center;"|✓|style="text-align:center;"|?|style="text-align:center;"|✓
|-
|style="text-align:center;"|VBA10|style="text-align:center;"|Windows 10/Mobile|style="text-align:center;"|1.22|style="text-align:center;"|✓|style="text-align:center;"|✓|style="text-align:center;"|✗|style="text-align:center;"|✓|style="text-align:center;"|?|style="text-align:center;"|✓
|-
!colspan="9"|Consoles
|-
|style="text-align:center;"|[[mGBA]]|style="text-align:center;"|[[Wii]]|style="text-align:center;"|[https://s3.amazonaws.com/mgba/mGBA-nightly-latest-wii.7z SVN]|style="text-align:center;"|✓|style="text-align:center;"|✓|style="text-align:center;"|✗|style="text-align:center;"|✗|style="text-align:center;"|✓|style="text-align:center;"|✓
|-
|style="text-align:center;"|[[Visual Boy VisualBoy Advance #VBA-MGX|VBA GX]]|style="text-align:center;"|[[Wii]], [[Gamecube]]|style="text-align:center;"|[https://gbatemp.net/threads/new-vba-gx-fork-2-3-0.371284/ 2.3.2]|style="text-align:center;"|✓|style="text-align:center;"|✓|style="text-align:center;"|✗|style="text-align:center;"|✓|style="text-align:center;"|✓ (as <ref group=N>As VBA-Next).</ref> |style="text-align:center;"|✗
|-
|style="text-align:center;"|TempGBA4PSP|style="text-align:center;"|[[PlayStation Portable]]|style="text-align:center;"|[http://www.mediafire.com/download/41ny5xrwxizalx4/TempGBA4PSP-26750221.zip 26750221]|style="text-align:center;"|✗|style="text-align:center;"|✓|style="text-align:center;"|✗|style="text-align:center;"|✗|style="text-align:center;"|✓|style="text-align:center;"|✓
|-
|style="text-align:center;"|[[gpSP]]|style="text-align:center;"|[[PlayStation Portable]]|style="text-align:center;"|0.9|style="text-align:center;"|✗|style="text-align:center;"|✓|style="text-align:center;"|✗|style="text-align:center;"|✗|style="text-align:center;"|✓|style="text-align:center;"|✗
|}
<small>*Experimental separate build under the name of Medusa.<references group=N /small>
===Comparisons===* ;[[mGBA]] aims to be accurate while maintaining :Aims for accuracy, speed, and features. For its accuracy, it's gradually becoming the best at that. It's actively developed and has features that VBA-M lacks such as a Solar and Tilt Sensor, and more recently Game Boy Camera support.* ;[[VisualBoy Advance|Visual Boy Advance ]]:The original GBA emulator. Discovered to have an ACE vulnerability detailed below.:;[[VisualBoy Advance#VBA-M|Visual Boy Advance-M (VBA-M)]] forks VBA :A fork with additional improvements. It is not updated as often these days and is falling behind in terms of accuracy and performance compared to mGBA.** RetroArch's ::;VBA-Next is based off :A RetroArch fork from an older revision of VBA-M with added speedhacks and tweaks, making it useful for lower-end devices. It is a A bit less accurate in some respects, though it but fixes a few games such as Advance Wars 2.* ;[[gpSP]]'s :Its last official version was 0.9. There are, however, two forks of interest: [http://dl.qj.net/psp/emulators/gpsp-mod-20090720.html gpSPmod], and [http://filetrip.net/psp-downloads/homebrew/download-gpsp-j-12-06-16-f29570.htmlgpSP-J gpSP-J]. gpSP-J has superior compatibility, while gpSPmod has more options for customization (full screen, cheats, etc). Both are superior to Kai.* ;[[higan]]'s :Its GBA core is cycle-accurate as of v095.;[[MAME]]:Has a <code>gba</code> driver markup as working but both graphics and sound are "imperfect".
'''NOTE:''' There's a ''huge'' <abbr title="Arbitrary Code Execution">ACE</abbr> vulnerability affecting the original version of VBA and most of its forks, except for VBA-M. The function for adding GameShark codes ("Import > Gameshark code file") doesn't check if the file's size is within 1024 kilobits, meaning cheat code files from dubious sources can be engineered with malware in mind. There is good news; VBA-M still doesn't do a sanity check for those files, but it just crashes instead of letting the code wreak havoc. So, depending on your use case, avoid using:
# Cheat code files bigger than 1024Kb that you got online from untrustworthy sources.
# The import code files feature.
===Oversaturation===
[[File:1406913527173-1-.png|400px|thumb|right|'''Left:''' The default game.<br/>'''Right:''' The "Gameboy Colors" mode on [[VBA-M]].]]
Game developers often programmed a game's colors to be oversaturated by default. This is because the 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. In emulation, howeverOn standard computer screens, saturation is not an issue so this appearance can be blinding look jarring and undesirablefor gameplay. Some games made after 2003 may have also taken the Advance SP model in mind into account since that one its screen is actually is backlit. For everything elsethough, there are several ways to deal with thisemudevs have given some solutions'''No$GBA'''
====No$GBA====
Under "Emulation Options", select "GBA Mode". There are four modes.
- ;GBA (no backlight) = strong :Strong desaturation - ;GBA SP (backlight) = strong :Strong desaturation - ;Nintendo DS in GBA mode = some :Some desaturation - ;VGA Mode (poppy bright): no desaturation '''VBA-M''' (VBA-M for Windows only) Under "Options->Gameboy" you will find the options: - "Real Colors": no desaturation - "Gameboy Colors": strong No desaturation
====VBA-M====:'''higan'<small>Only applies to Windows.</small>''
Under Settings-Options >Video FilterGameboy, you will find the "Color Emulation" checkbox.options:
- Color Emulation off;"Real Colors": no No desaturation;"Gameboy Colors":Strong desaturation
- ====higan====Under Settings > Video Filter, you will find the "Color Emulation on: gamma correction and adjusted color range" checkbox.
'''Shaders''';Color Emulation off:No desaturation;Color Emulation on:Gamma correction and adjusted color range.
There are ====Shaders====Cg [[shaders]] which 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.
===Save file issuesformats===There are Originally, when saves were implemented, nobody settled on a number of different save formats for GBA gamesformat, so the Visual Boy Advance devs made its own. With Because other emulators often went with raw save data, it's very hard having to detect what save type it is just by looking at itexchange different saves caused problems. The original Visual Boy Advance tries to autodetect figure out which format a given save type is but often is incorrect and this causes issuesfails at it. A fix By explicitly telling the emulator to this issue is to use read it as a specific type using a file called "<code>vba-over.ini" to tell </code>, VBA what each game's proper save type is, which eliminates most issues regarding save typecomplies. Current VBA-M versions come with vba-over.ini includes this config file by default, but older versions of VBA revisions like VBA 1.7.2 and VBALink did do not.
The libretro versions of VBA, libretro-VBA-Next and libretro-VBA-M, come with vba-over.ini cores in Libretro have the file baked into the binary so that it is able to can load raw .sav files, but also changes converts the save file output format to be a 136KB .srm file for its own derivative at exactly 136 KB every save typetime, with save type info contained within the file. This completely avoids any save type the previous issues, but makes its save files incompatible at the cost of incompatibility with standalone VBA and most other emulatorsothers.
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 libretro-VBA .srm save files made from these cores to raw .sav save data for other emulators. You can It takes standard input (i.e. just drag and drop a the .srm onto the executable ) and it will output raw .savoutputs accordingly. The same It can also be done in reverse. A precompiled Windows 64-bit binary of this tool for Windows can be found
[https://www.mediafire.com/?6bg8ag0bjs1b7ng here].
==Connectivity==
===GBA 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 much 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-e Cards. 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:No information about how to get it working at this time, but the functionality also works with DS emulation, and that's how users can check out the incomplete multiplayer Wi-Fi implementation.
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 much times needed for each player, and have them each use their separate Joypad configuration. Each player will have a separate SRAM save file.Wireless Multiplayer=== * VBA Link + e-ReaderA combined version of VBA Link and VBA e-Reader is useful if you want to use the Pokémon Battle-e Cards. Downloads and instructions reside The [[httpWikipedia://projectpokemon.org/forums/showthread.php?42433-RELEASE-VBA-LINK-E-READER hereGame Boy Advance Wireless Adapter|wireless adapter]]. * mGBAWhile running mGBA, select "New multiplayer window" from has the menu. As you load your ROMs into ability to connect five players to each windowother, "Player [X] and includes its own software to download a subset of [Y]" will appear across the title baranother player's game that runs when no cartridge is inserted. This ''Pokémon Fire Red'' and ''Leaf Green'' came bundled with this accessory but it can be done for up to four players. However, multiple instances of also work with ''Pokémon Emerald'' and the same ROM will share a save file''Classic NES Series''.
* No$GBA: This method also works with DS ROMs, and that's the actual way to see the incomplete non-functional local Wi-Fi DS multiplayer implementation. (todo) ===GBA Wireless Multiplayer===There is a [[Wikipedia:Game Boy Advance Wireless Adapter|wireless adaptor]] that can replace using a traditional wired link, but only if the game supports the hardware. It has the ability to have 5 connected players at once. ''Pokémon Fire Red'' and ''Leaf Green'' came bundled with the accessory but the accessory also work with ''Pokémon Emerald'' and the ''Classic NES Series'' games. If no game is inserted into the slot, it emulator has it's own software that it can run, which behaves as a method to do a single pack download play. Unfortunately, no emulator is capable of currently implemented this featureadd-on. The only emulator with plans for such a feature project whose developers put this on its roadmap is [[mGBA]].
===GameCube Connectivity===
The GBA unit Game Boy Advance can also connect to a the GameCube. ====e-Reader functionality with GC games isn't emulated as of yet, but [[Dolphin and VBA-M==== Game Boy connection support can be supported via ]] supports connectivity through rudimentary joybus emulation. Such requires made in parallel with VBA-M (r947 or newer) and . Because this emulator has fallen behind, the Dolphin team is currently rewriting the feature from scratch to better interface with more accurate emulators. They showcased early higan support in a dump video, but nothing has been released as of a GBA BIOSyet'''Connect 1~4 GBA Unit Without Game to GC Game'''
First Part!* Open ====Dolphin and /VBA-M. Make sure neither are blocked by your firmware.====* '''Dolphin:''' Start your game and play until you get to the in-game menu where you're asked to connect a GBA. Under the GC controller options (earlier "Config, Gamecube", now it's with the GC/Wii controller options). You have 4 GC controller ports: change how much you need to "GBA". Leave the game and its music running :)* '''Requires VBA-M:''' You'll need to uncheck "Options, Emulator, Pause When Inactive". Then, under "Options, Link, Joybus Options", Make sure to enable "Enable Joybus Connection" and set "IP/Hostname" to use default settings, that is (127.0.0.1) r947 or (localhost) - without the bracketsnewer. * THEN, Dolphin will freeze. You'll want to not have the system sound too high if you're using headphones.
Second Part!# 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.# In Dolphin, launch the game and navigate to the area where you're asked to connect the GBA. Then, under the controller options, assign the GameCube controllers as "GBA" for whichever you need.# In 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. There will be that The regular splash screen but it will stutter a bit. * # Dolphin should recognize the Joybus Link by then and the GC game will detect that a GBA unit was connected.* # To connect other GBA units, open another VBA-M instance and repeat what you did with VBA-Mits process.
Notable games that work:
* [https://wiki.dolphin-emu.org/index.php?title=The_Legend_of_Zelda:_Four_Swords_Adventures The Legend of Zelda Four Swords Adventures]: Both two modes available for the US/PAL version work. The third Japan-only Navi Trackers mode works as well, but the game crashes after the naming screen due to a bug in the GC/GBA connectivity.* [https://wiki.dolphin-emu.org/index.php?title=Final_Fantasy_Crystal_Chronicles Final Fantasy Crystal Chronicles]* [https://wiki.dolphin-emu.org/index.php?title=Billy_Hatcher_and_the_Giant_Egg Billy Hatcherand the Giant Egg]: You can download games to your GBA. Amusingly, a RAM dump from VBA-M can be opened as a functional GBA ROM.* Kururin Squash* Sonic Adventure 2 (buggy) Don't work:* The Legend of Zelda Wind Waker[https: Tingle Trainer connection always fails, though some messages do display on VBA//wiki.dolphin-Memu.org/index.php?title=Kururin_Squash! Kururin Squash!]* Drill Land* Any Pokémon game* lots more '''Connect GBA Game to GC Game''' * '''VBA-M'''[https: Under "Emulator, Bios Files" set the GBA BIOS file directory, and have the emulator use it//wiki. This will cause each regular GBA ROM you load in VBAdolphin-M to show the BIOS splash screen then proceed to the gameemu. It has higher compatibility tooorg/index.* You do the all the steps above in the '''first part''' of the previous section php?title=Sonic_Adventure_2:_Battle Sonic Adventure 2: Battle] (connecting a GBA unit without Game to a GC gamebuggy) until the line with Dolphin freezing when you enable Joylink in VBA-M. Then:* '''VBA-M''': Open the regular GBA ROM to be connected with the GC game in VBA-M as if it were a regular GBA ROM. * There will be that splash screen, but if you do nothing the GBA game starts as usual and the connection doesn't actually happen. What you must do is to hold '''Select+Start''' while the BIOS is loading. This will cause the BIOS animation to stop and wait for connections, and the regular GBA ROM game won't boot immediately. If it goes as intended, VBA-M will stutter a bit and the connection will be initiated.* Dolphin should recognize the Joybus Link by then and the GC game will detect that a GBA unit was connected.* To connect other GBA units, open another VBA-M instance and repeat what you did with VBA-M.
Please note e-Reader functionality with GC Notable games isnthat don't emulated as :*[https://wiki.dolphin-emu.org/index.php?title=The_Legend_of_Zelda:_The_Wind_Waker The Legend of yetZelda: The Wind Waker]: Tingle Trainer connection always fails, though some messages do display on VBA-M.*[https://wiki.dolphin-emu.org/index.php?title=Mr_Driller:_Drill_Land Mr. Driller: Drill Land]====Dolphin and other emulators====*Any Pokémon titleDolphin devs are working at rewriting the entire GBA connectivity code in a far better way from scratch with *lots more accurate emulators. They did a video using the higan emulator. Nothing of the sort is published at the moment.
===GBA/DS Connectivity===
Inserting a GBA card in Slot-2 in a Nintendo DS unit (that:''s not a DSi) while a DS game is running could unlock various gameplay features in some DS games. DeSmuME can emulate thisMain section: while playing the DS ROM, go to "Config, Slot 2 ([[Nintendo_DS_emulators#GBA Slot)" and select "GBA Cartridge". Now select the 2FDS_Connectivity|Nintendo DS § GBA ROM file, and make sure its sav file is in the same folder. You may need to reset the game sometimes to see the effect in-game./DS Connectivity]]''
===e-Reader===
A :''Main page: [[GBA e-Reader emulators]]''This device that connects to the GBA, which can read content off e-Card paper stripes either as standalone content, or additional content to GBA /GC games (or even GC ones). Also known Can be thought of as the GBA's DLC. ''Main Page: [[GBA e-Reader emulators]]''
==Special Hardware==
927
edits

Navigation menu