Changes

Jump to navigation Jump to search

Game Boy/Game Boy Color emulators

379 bytes added, 17:23, 19 December 2023
just like NES page, mapper column added.
! [[#Enhancements|Enhancements]]
! [[#Hardware_features_and_accessories|Hardware features<br/>and accessories]]
! [[#Mappers|Mappers support<br/>level]]
! <abbr title="Free/Libre and Open-Source Software">FLOSS</abbr>
! Active
| align=left|{{Icon|Windows|Linux|macOS|FreeBSD}}
| [https://sameboy.github.io/downloads {{SameBoyVer}}]<br />[https://buildbot.libretro.com/nightly/ libretro core]
|{{~}} ||{{~}} ||? ||{{✓}} ||{{✓}} ||{{✓}}
|-
| [[BGB]]
| align=left|{{Icon|Windows}}
| [http://bgb.bircd.org/#downloads {{BGBVer}}]
|{{~}} ||{{~}} ||? ||{{✗}} ||{{✓}} ||{{✓}}
|-
| [[BizHawk]]
| align=left|{{Icon|Windows|Linux}}
| [https://gitlab.com/TASVideos/BizHawk/-/pipelines Dev builds]<br/>[http://tasvideos.org/BizHawk/ReleaseHistory.html {{BizHawkVer}}]
|{{~}} ||{{~}} ||? ||{{✓}} ||{{✓}} ||{{✓}}
|-
| [http://emulicious.net Emulicious]
| align=left|{{Icon|Windows|Linux|macOS|FreeBSD}}
| [https://emulicious.net/downloads {{EmuliciousVer}}]
|{{?}} ||{{?}} ||? ||{{✗}} ||{{✓}} ||{{✓}}
|-
| [[Gambatte]]<br/><small>[https://docs.libretro.com/library/gambatte/ Gambatte_libretro]</small>
| align=left|{{Icon|Windows|Linux|macOS|Web}}
| [https://buildbot.libretro.com/nightly/ libretro core]<br/>[https://sourceforge.net/projects/gambatte/files/gambatte {{GambatteVer}}]
|{{~}}<abbr title="Libretro core supports RetroAchievements">*</abbr> ||{{~}} ||? ||{{✓}} ||{{✗}} ||{{~}}
|-
|[[Mesen|Mesen]]
|align=left|{{Icon|Windows|Linux}}
|[https://github.com/SourMesen/Mesen2/tags 2.0.0-preview1]
|{{?}} ||{{?}} ||? ||{{✓}} ||{{✓}} ||{{~}}
|-
| [[GBE+]]
| align=left|{{Icon|Windows|Linux|macOS}}
| [https://github.com/shonumi/gbe-plus/releases {{GBEVer}}]
|{{~}} ||{{~}} ||? ||{{✓}} ||{{✓}} ||{{~}}[[#Hardware_features|*]]
|-
| [[MAME]]
| 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}}]<br/>[https://buildbot.libretro.com/nightly/ libretro core]
|{{~}} ||{{?}} ||Unlicensed ||{{✓}} ||{{✓}} ||{{~}}[[#Unlicensed_mappers|*]]
|-
| [[Gearboy]]
| align=left|{{Icon|Windows|Linux|macOS|FreeBSD|Web}}
| [https://buildbot.libretro.com/nightly/ libretro core]<br/>[https://github.com/drhelius/Gearboy/releases {{GearboyVer}}]
|{{~}}<abbr title="Libretro core supports RetroAchievements">*</abbr> ||{{~}} ||? ||{{✓}} ||{{~}} ||{{~}}
|-
| [https://gbcc.dev GBCC]
| align=left|{{Icon|Windows|Linux|macOS}}
| [https://github.com/philj56/gbcc git]
|{{~}} ||{{?}} ||? ||{{✓}} ||{{✓}} ||{{~}}
|-
| GameRoy
|align=left|{{Icon|Windows|Linux|Web}}
|[https://github.com/Rodrigodd/gameroy 0.3.1]
|{{?}} ||{{?}} ||? ||{{✓}} ||{{✓}} ||{{~}}
|-
| [[ares]]
| align=left|{{Icon|Windows|Linux|macOS}}
| [https://github.com/ares-emulator/ares/releases {{aresVer}}]
|{{~}} ||{{?}} ||? ||{{✓}} ||{{✓}} ||{{~}}
|-
| [[mGBA]]
| align=left|{{Icon|Windows|Linux|macOS|FreeBSD}}
| [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}}]
|{{~}} ||{{~}} ||? ||{{✓}} ||{{✓}} ||{{~}}
|-
| [[VisualBoy Advance#VBA-M|VBA-M]]
| align=left|{{Icon|Windows|Linux|macOS|FreeBSD}}
| [https://nightly.vba-m.com/ Nightly builds]<br/> [http://buildbot.libretro.com/nightly/ libretro core] <br/> [https://github.com/visualboyadvance-m/visualboyadvance-m/releases {{VBAMVer}}]
|{{~}} ||{{~}}||? ||{{✓}} ||{{✓}} ||{{~}}
|-
| [http://hhug.me/ hhugboy]
| align=left|{{Icon|Windows}}
| [https://github.com/tzlion/hhugboy/releases {{hhugboyVer}}]
|{{?}} ||{{?}} ||Unlicensed ||{{✓}} ||{{✓}} ||{{~}}[[#Unlicensed_mappers|*]]
|-
|[[SkyEmu]]
|align=left|{{Icon|Windows|Linux|macOS|Web}}
|[https://github.com/skylersaleh/SkyEmu/pull/143#issue-1456816849 v3]
|{{?}} ||{{?}} ||? ||{{✓}} ||{{✓}} ||{{~}}
|-
|[http://binji.github.io/binjgb/ binjgb]
| align=left|{{Icon|Web}}
| [https://github.com/binji/binjgb/releases {{binjgbVer}}]
|{{?}} ||{{?}} ||? ||{{✓}} ||{{✓}} ||{{~}}
|-
|Ironboy
|align=left|{{Icon|Windows|Linux|macOS|Web}}
|[https://github.com/chiplis/ironboy/ Web]
|{{?}} ||{{?}} ||? ||{{✓}} ||{{✓}} ||{{~}}
|-
|PyBoy
|align=left|{{Icon|Windows|Linux|macOS}}
|[https://github.com/Baekalfen/PyBoy/releases 1.6.10]
|{{?}} ||{{?}} ||? ||{{✓}} ||{{✓}} ||{{~}}
|-
|[[higan]]
| align=left|{{Icon|Windows|Linux|macOS|FreeBSD}}
| [http://byuu.org/emulation/higan {{higanVer}}]<br />[https://github.com/libretro/higan libretro core]
|{{~}} ||{{?}} ||? ||{{✓}} ||{{✓}} ||{{✗}}<ref group=N>Superseded by [[ares]].</ref>
|-
|[https://mattcurrie.com/bdm/ BDM]
| align=left|{{Icon|Windows|macOS|Web}}
| [https://mattcurrie.com/bdm-demo/ Demo]
|{{?}} ||{{?}} ||? ||{{✗}} ||{{~}} ||{{✗}}
|-
|[https://fms.komkon.org/VGB VGB]
| align=left|{{Icon|Windows|Linux|macOS|FreeBSD}}
| [https://fms.komkon.org/VGB {{VGBVer}}]
|{{?}} ||{{?}} ||? ||{{✗}} ||{{✓}} ||{{✗}}
|-
|Gamebert
| align=left|{{Icon|Windows}}
| [https://github.com/robert/gamebert Git]
|{{?}} ||{{?}} ||? ||{{✓}} ||{{✓}} ||{{✗}}
|-
|[[Pantheon]]
| align=left|{{Icon|Windows}}
| [http://bostjan-grandovec.si/Content/News.htm {{PantheonVer}}]
|{{?}} ||{{?}} ||? ||{{✗}} ||{{✓}} ||{{✗}}
|-
|UGE
| align=left|{{Icon|Windows}}
| [https://github.com/SuperDisk/hUGETracker/releases {{UGEVer}}]
|{{?}} ||{{?}} ||? ||{{✓}} ||{{✓}} ||{{✗}}
|-
|[[KiGB]]
| align=left|{{Icon|Windows|Linux|macOS|DOS}}
| [http://kigb.emuunlim.com/downloads.htm 2.05]
|{{?}} ||{{?}} ||? ||{{✗}} ||{{✗}} ||{{✗}}
|-
|[[TGB Dual]]
| align=left|{{Icon|Windows|Linux}}<ref group=N name=two>On Linux as an SDL port (and the [[libretro]] core is based on this version).</ref>
| [https://github.com/libertyernie/tgbdual_L/releases git]
|{{?}} ||{{?}} ||? ||{{✓}} ||{{✗}} ||{{✗}}
|-
|GiiBiiAdvance
| align=left|{{Icon|Windows|Linux}}
| [https://github.com/AntonioND/giibiiadvance/releases git]
|{{?}} ||{{?}} ||? ||{{✓}} ||{{✗}} ||{{✗}}
|-
|MetroBoy
| align=left|{{Icon|Windows}}
| [https://github.com/aappleby/MetroBoy/releases {{MetroBoyVer}}]
|{{?}} ||{{?}} ||? ||{{✓}} ||{{✓}} ||{{✗}}
|-
|hdmg
| align=left|{{Icon|Windows|Linux|macOS|FreeBSD}}
| [https://git.sr.ht/~sircmpwn/hdmg git]
|{{?}} ||{{?}} ||? ||{{✓}} ||{{✓}} ||{{✗}}
|}
! [[#Enhancements|Enhancements]]
! [[#Hardware_features_and_accessories|Hardware features<br/>and accessories]]
! [[#Mappers|Mappers support<br/>level]]
! <abbr title="Free/Libre and Open-Source Software">FLOSS</abbr>
! Active
| align=left|{{Icon|Android}}
| [https://play.google.com/store/apps/details?id=com.philj56.gbcc beta41]<br/>[https://github.com/philj56/gbcc-android/actions/workflows/build-apk.yml <abbr title="Latest development version">git Artifacts</abbr>]
|{{~}} ||{{~}} ||? ||{{✓}} ||{{✓}} ||{{✓}}
|-
|[[Game Play Color]]
| align=left|{{Icon|iOS}}
| [https://github.com/gameplaycolor/gameplaycolor/releases {{GamePlayColorVer}}]
|{{?}} ||{{?}} ||? ||{{✓}} ||{{✓}} ||{{✓}}
|-
|[http://www.explusalpha.com/home/gbc-emu GBC.emu]
| align=left|{{Icon|Android|Pyra}}
| [https://play.google.com/store/apps/details?id=com.explusalpha.GbcEmu {{.emuVer}}][https://github.com/Rakashazi/emu-ex-plus-alpha git]</br>[https://pyra-handheld.com/repo/apps/76 1.5.46.02 Pyra]
|{{?}} ||{{?}} ||? ||{{✓}} ||{{✓}} ||{{✓}}
|-
|[[mGBA]]
|align=left|{{Icon|Android|iOS}}
|[https://buildbot.libretro.com/nightly/ libretro core]<br/>[https://github.com/huhao1987/mGBA_Android 0.3]
|{{~}} ||{{~}} ||? ||{{✓}} ||{{✓}} ||{{~}}
|-
|[[SkyEmu]]
|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]
|{{~}} ||{{?}} ||? ||{{✓}} ||{{✓}} ||{{~}}
|-
|GBA4iOS
| align=left|{{Icon|iOS}}
| [https://iemulators.com/gba4ios 2.1]<br/>[https://github.com/CocoaBob/GBA4iOS git] <small>(new fork)</small>
|{{?}} ||{{?}} ||? ||{{✓}} ||{{✗}} ||{{~}}
|-
|GameRoy
|align=left|{{Icon|Android}}
|[https://github.com/Rodrigodd/gameroy 0.2.0]
|{{?}} ||{{?}} ||? ||{{✓}} ||{{✓}} ||{{~}}
|-
|[https://eightbitwonders.gitlab.io/app 8-Bit Wonders]
|align=left|{{Icon|Android}}
|[https://f-droid.org/packages/de.rainerhock.eightbitwonders 0.8] (F-Droid)</br>0.8 (Play)</br>0.8 (Amazon)</br>[https://gitlab.com/eightbitwonders/app git]
|{{✗}} ||{{✗}} ||? ||{{✓}} ||{{✓}} ||roadmap
|-
|MeBoy
| align=left|{{Icon|Java}}
| [http://www.arktos.se/meboy/download.php 1.6][https://github.com/chijure/meboy git]
|{{?}} ||{{?}} ||? ||{{~}} ||{{✗}} ||{{~}}
|-
|[https://my-oldboy-free-gbc-emulator.en.uptodown.com/android My OldBoy!]
| align=left|{{Icon|Android}}
| [https://play.google.com/store/apps/details?id=com.fastemulator.gbc 2.0.0]
|{{?}} ||{{?}} ||? ||{{✗}} ||{{✓}} ||{{~}}
|-
|John GBC
| align=left|{{Icon|Android}}
| [https://play.google.com/store/apps/details?id=com.johnemulators.johngbc 3.93]
|{{?}} ||{{?}} ||? ||{{✗}} ||{{✓}} ||{{✗}}
|}
! [[#Enhancements|Enhancements]]
! [[#Hardware_features_and_accessories|Hardware features<br/>and accessories]]
! [[#Mappers|Mappers support<br/>level]]
! <abbr title="Free/Libre and Open-Source Software">FLOSS</abbr>
! Active
| align=left|{{Icon|Switch}}
| N/A
|{{~}} ||{{?}} ||? ||{{✗}} ||{{✓}} ||{{✓}}
|-
|Super Game Boy
| align=left|{{Icon|SNES}}
| N/A
|{{✗}} ||{{?}} ||? ||{{✗}} ||{{✗}} ||{{✓}}
|-
|[http://gbatemp.net/threads/gameyob-a-gameboy-emulator-for-ds.343407 GameYob DS]
| align=left|{{Icon|NDS}}
| [https://github.com/Drenn1/GameYob git]
|{{?}} ||{{?}} ||? ||{{✓}} ||{{✗}} ||{{✓}}
|-
|[https://gbatemp.net/threads/gameyob-3ds-gb-c-emu.372523/ GameYob 3DS]
| align=left|{{Icon|3DS}}
| [https://www.gamebrew.org/wiki/GameYob_3DS 1.0.8][https://github.com/Drenn1/GameYob git]
|{{?}} ||{{?}} ||? ||{{✓}} ||{{✗}} ||{{✓}}
|-
|[[VisualBoy_Advance#VBA-M|<abbr title="Modified port of VBA-M. With it you can play GBA/Game Boy Color/Game Boy games on your Wii/GameCube.">VBA GX</abbr>]]
| align=left|{{Icon|GCN|Wii}}
| [https://github.com/dborth/vbagx#nightly-builds nightly-builds]
|{{?}} ||{{?}} ||? ||? ||{{✓}} ||{{✓}}
|-
|PlutoBoy
| align=left|{{Icon|PSP}}<br/>{{Icon|3DS|NX}}<br/>{{Icon|Vita|DC}}<br/>{{Icon|PSX}}<br/>{{Icon|PS2}}
| [https://github.com/RossMeikleham/PlutoBoy git]
|{{?}} ||{{?}} ||? ||{{✓}} ||{{✓}} ||{{✓}}
|-
|[https://docs.libretro.com/library/gambatte/ Gambatte_libretro]
| align=left|{{Icon|Xbox|NGC}}<br/>{{Icon|Wii|WiiU|NX}}<br/>{{Icon|PS3}}<br/>{{Icon|PSP}}<br/>{{Icon|Vita|3DS}}
| [https://www.retroarch.com/?page=platforms libretro core]
|{{~}} ||{{~}} ||? ||{{✓}} ||{{~}} ||{{✓}}
|-
|RIN
| align=left|{{Icon|PSP}}
| [https://github.com/mbarczak/psp_rin git]<br/>[https://archive.org/details/rin-rx.-7z RX]<br/>[https://archive.org/details/rin_v1.32n1.2.7z 1.32n1.2]
|{{?}} ||{{?}} ||? ||{{✓}} ||{{✗}} ||{{✓}}
|-
|[[Virtual Console]]
| align=left|{{Icon|3DS}}
| 8.10
|{{?}} ||{{?}} ||? ||{{✗}} ||{{✗}} ||{{✓}}
|-
|[[mGBA]]
| align=left|{{Icon|Wii|WiiU|NX}}<br>{{Icon|PSV|3DS}}
| [https://endrift.com/mgba/downloads.html {{MGBAVer}}]<br/>[https://www.retroarch.com/?page=platforms libretro core]<br/>[https://github.com/mgba-emu/mgba/releases git]
|{{~}} ||{{~}} ||? ||{{✓}} ||{{✓}} ||{{✓}}
|-
|GBEmu
| align=left|{{Icon|VB}}
| [https://www.virtual-boy.com/forums/t/entry-game-boy-emulator/ 0.1]
|{{?}} ||{{?}} ||? ||? ||{{✗}} ||{{✓}}
|-
|RealBoy Vita
| align=left|{{Icon|PSV}}
| [https://vitadb.rinnegatamante.it/#/info/167 1.2][https://github.com/xerpi/realboy-vita/releases git]
|{{?}} ||{{?}} ||? ||{{✓}} ||{{✗}} ||{{~}}
|-
|ShuBoy
| align=left|{{Icon|MD}}
| [http://jiggawatt.org/badc0de/shuboy.htm 1.0]
|{{?}} ||{{?}} ||? ||{{✓}} ||{{✗}} ||{{~}}
|-
|aGBe
| align=left|{{Icon|PSX}}
| [https://sourceforge.net/projects/agbe/files/agbe SF]
|{{?}} ||{{?}} ||? ||{{✓}} ||{{✗}} ||{{✗}}
|-
|Hu-Boy
| align=left|SuperGrafx<br>TurboGrafx-CD<br>TurboDuo
| [https://www.chrismcovell.com/huboy.html V 0.30621]
|{{?}} ||{{?}} ||? ||{{X}} ||{{✓}} ||{{X}}
|}
===Firmware===
! [[#Enhancements|Enhancements]]
! [[#Hardware_features_and_accessories|Hardware features<br/>and accessories]]
! [[#Mappers|Mappers support<br/>level]]
! <abbr title="Free/Libre and Open-Source Software">FLOSS</abbr>
! Active
| align=left|{{Icon|UEFI}}
| [https://github.com/RossMeikleham/PlutoBoy git]
|{{?}} ||{{?}} ||? ||{{✓}} ||{{✓}} ||{{✓}}
|-
|}
;[[BizHawk]]:Uses a modified Gambatte core. It provides speedrunning tools.
;[[MAME]]:Has solid Game Boy emulation through its <code>gameboy</code> driver despite the sound being imperfect, as well as slightly worse Game Boy Color compatibility through its <code>gbcolor</code> driver (where both the graphics and sound are imperfect). Despite its setbacks, it aims to feature compatibility with obscure mappers that other emulators usually ignore, like Wisdom Tree games or MMM01 multicarts. Accuracy was improved upon with contributions by Judge_.
 
==Mappers==
Much like the NES, the Game Boy (and by extension, the Game Boy Color) used '''Memory Bank Controllers''' (MBC) (called MMCs on the NES) and also known informally as '''mappers''', to go beyond the restrictive initial hardware specifications. Nevertheless, Nintendo was much more careful to standardize their specifications to [https://niwanetwork.org/wiki/Category:Licensed_chips just a small number of possible mappers]. Moreover, Game Boy ROMs now included an official internal header mandated by Nintendo that included the correct MMC type. This meant that for the officially licensed games, these mappers proved to be rarely a problem... with some notable unimplemented exceptions: Net de Get's MBC6 that offered downloadable content off the internet, and the MMM01 footer used for some official multi-cart games, among others.
 
However, it doesn't get better when it comes to '''unlicensed games''', since they didn't necessarily respect Nintendo's specifications about how a given mapper type should handle its memory and behave in general, and internal headers were often filled with erroneous data to hinder dumping and emulation efforts. Some emulators like MESS/[[MAME]] and [http://hhug.me/?tags=hhugboy hhugboy] try to emulate that behavior with various degrees of success ([http://hhug.me/dump/ Compatibility List]). The hhugboy project also proposed a similar solution to iNES for this mapper problem, as the [http://hhug.me/gbx/1.0 gbx ROM format] that appends a footer with extra information needed for some unlicensed games. However, this format, much less unlicensed hardware quirks, isn't widely adopted aside from tentative [https://github.com/mgba-emu/mgba/blob/master/README.md#game-boy-mappers mGBA support].
==Enhancements==
'''VBA-M:''' Under Options > Game Boy, you will find the '''GB color option'''. The recent nightly builds also include the '''LCD Filter''' option.
 
===Unlicensed mappers===
Much like the NES, the Game Boy (and by extension, the Game Boy Color) used '''Memory Bank Controllers''' (MBC) (called MMCs on the NES) and also known informally as '''mappers''', to go beyond the restrictive initial hardware specifications. Nevertheless, Nintendo was much more careful to standardize their specifications to just a small number of possible mappers. Moreover, Game Boy ROMs now included an official internal header mandated by Nintendo that included the correct MMC type. This meant that for the officially licensed games, these mappers proved to be rarely a problem... with some notable unimplemented exceptions: Net de Get's MBC6 that offered downloadable content off the internet, and the MMM01 footer used for some official multi-cart games, among others.
 
However, it doesn't get better when it comes to '''unlicensed games''', since they didn't necessarily respect Nintendo's specifications about how a given mapper type should handle its memory and behave in general, and internal headers were often filled with erroneous data to hinder dumping and emulation efforts. Some emulators like MESS/[[MAME]] and [http://hhug.me/?tags=hhugboy hhugboy] try to emulate that behavior with various degrees of success ([http://hhug.me/dump/ Compatibility List]). The hhugboy project also proposed a similar solution to iNES for this mapper problem, as the [http://hhug.me/gbx/1.0 gbx ROM format] that appends a footer with extra information needed for some unlicensed games. However, this format, much less unlicensed hardware quirks, isn't widely adopted aside from tentative [https://github.com/mgba-emu/mgba/blob/master/README.md#game-boy-mappers mGBA support].
For more information about Game Boy hardware and reverse engineering; <br/>
10,938
edits

Navigation menu