Difference between revisions of "Game Boy/Game Boy Color emulators"
(made pricing an abbreviation and also some minor grammar fixes) |
(→Mobile / ARM: why it's best) (Tags: Mobile edit, Mobile web edit) |
||
(451 intermediate revisions by more than 100 users not shown) | |||
Line 1: | Line 1: | ||
{{Infobox console | {{Infobox console | ||
− | |title = | + | |title = Game Boy (Color) |
|logo = Game_Boy.png | |logo = Game_Boy.png | ||
+ | |image = Game-boy-color.png | ||
+ | |imagecaption = '''Top:''' Original Game Boy<br>'''Bottom:''' Game Boy Color | ||
|developer = [[:Nintendo]] | |developer = [[:Nintendo]] | ||
− | |type = [[:Category: | + | |type = [[:Category:Handheld consoles|Handheld game console]] |
|generation = [[:Category:Fourth-generation video game consoles|Fourth generation]] | |generation = [[:Category:Fourth-generation video game consoles|Fourth generation]] | ||
− | |release = 1989 | + | |release=1989 (Game Boy)<br/>1998 (Game Boy Color) |
|discontinued = 2003 | |discontinued = 2003 | ||
|predecessor = [[Game & Watch]] | |predecessor = [[Game & Watch]] | ||
− | |successor = [[ | + | |successor= [[Game Boy Advance emulators|Game Boy Advance]] |
|emulated = {{✓}} | |emulated = {{✓}} | ||
}} | }} | ||
− | The '''[[wikipedia:Game Boy|Game Boy]]''' (GB) and '''[[wikipedia:Game Boy Color|Game Boy Color]]''' (GBC) are 8-bit, fourth-generation handheld consoles released by Nintendo on July 31, 1989 and November 18, 1998 respectively and retailed for | + | {{for|emulators that run on the Game Boy (Color)|Emulators on GB/GBC}} |
+ | |||
+ | The '''[[wikipedia:Game Boy|Game Boy]]''' (GB) and '''[[wikipedia:Game Boy Color|Game Boy Color]]''' (GBC) are 8-bit, fourth-generation handheld consoles released by Nintendo on July 31, 1989 and November 18, 1998 respectively and retailed for {{Inflation|USD|89.95|1998}}. The Game Boy has a Sharp LR35902 core CPU at 4.19 MHz. It had a monochrome display that could only show four shades of grey, albeit with a olive green tinge on the original. The Game Boy Color uses the same LR35902 core as the original; while it is clocked at 8.38 MHz, it can be underclocked to 4.19 MHz for backwards-compatibility purposes. It was named such from its color screen, but it also had a larger memory size and a faster CPU. The hardware similarities allow cross-compatibility between the two platforms and they are often treated as one. They would both be succeeded by the backward-compatible [[Game Boy Advance emulators|Game Boy Advance]]. | ||
Nintendo re-released the console as the '''Game Boy Pocket''' in 1996, with a more compact body and a better screen. A front light was added to a special edition of the Pocket in Japan called the '''Game Boy Light''', a feature that wouldn't be seen outside of Japan until the Game Boy Advance SP. | Nintendo re-released the console as the '''Game Boy Pocket''' in 1996, with a more compact body and a better screen. A front light was added to a special edition of the Pocket in Japan called the '''Game Boy Light''', a feature that wouldn't be seen outside of Japan until the Game Boy Advance SP. | ||
Line 18: | Line 22: | ||
==Emulators== | ==Emulators== | ||
− | Because of how relatively easy popular 8-bit consoles are to emulate, tons of Game Boy emulators exist. For a list of open-source projects, see [https://github.com/search?o=desc&q=gameboy+emulator&s=updated&type=Repositories&utf8=%E2%9C%93 this GitHub query]. For a list of accuracy tests, see [ | + | Because of how relatively easy popular 8-bit consoles are to emulate, tons of Game Boy emulators exist. For a list of open-source projects, see [https://github.com/search?o=desc&q=gameboy+emulator&s=updated&type=Repositories&utf8=%E2%9C%93 this GitHub query]. For a list of accuracy tests, see [https://daid.github.io/GBEmulatorShootout/ daid.github.io/GBEmulatorShootout]. |
− | {| class="wikitable" style="text-align:center;" | + | |
− | ! | + | ===PC / x86=== |
− | + | <div style="overflow-x:auto;width:100%"> | |
− | + | {| class="wikitable sortable" style="text-align:center;width:100%" | |
− | + | ! Name | |
− | + | ! Platform(s) | |
− | + | ! Latest version | |
− | + | ! [[#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 | ||
+ | ! [[Recommended emulators|Recommended]] | ||
+ | |- | ||
+ | | [[SameBoy]] | ||
+ | | 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]]<br/><small>(Gambatte_Speedrun)</small> | ||
+ | | 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> ||{{~}} ||? ||{{✓}} ||{{~}}<ref group=N name=active>[https://github.com/libretro/gambatte-libretro/tree/master Libretro core] is still active.</ref> ||{{~}} | ||
+ | |- | ||
+ | | [[Mesen|Mesen]] | ||
+ | | align=left|{{Icon|Windows|Linux|macOS}} | ||
+ | | [https://github.com/SourMesen/Mesen2#development-builds {{MesenVer}}] | ||
+ | |{{?}} ||{{?}} ||? ||{{✓}} ||{{✓}} ||{{~}} | ||
+ | |- | ||
+ | | [[GBE+]] | ||
+ | | align=left|{{Icon|Windows|Linux|macOS}} | ||
+ | | [https://github.com/shonumi/gbe-plus/releases {{GBEVer}}] | ||
+ | |{{~}} ||{{~}} ||? ||{{✓}} ||{{✓}} ||{{~}} | ||
+ | |- | ||
+ | | [[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] | ||
+ | |{{~}} ||{{?}} ||[http://hhug.me/dump/ Unlicensed] ||{{✓}} ||{{✓}} ||{{~}} | ||
+ | |- | ||
+ | | [[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 {{GameRoyVer}}] | ||
+ | |{{?}} ||{{?}} ||? ||{{✓}} ||{{✓}} ||{{~}} | ||
+ | |- | ||
+ | | [[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}}] | ||
+ | |{{~}} ||{{~}} ||[https://github.com/mgba-emu/mgba/blob/master/README.md#game-boy-mappers Unlicensed] ||{{✓}} ||{{✓}} ||{{~}} | ||
+ | |- | ||
+ | | [[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}}] | ||
+ | |{{?}} ||{{?}} ||[http://hhug.me/dump/ Unlicensed] ||{{✓}} ||{{✓}} ||{{~}} | ||
|- | |- | ||
− | + | |[[SkyEmu]] | |
+ | |align=left|{{Icon|Windows|Linux|macOS|Web}} | ||
+ | |[https://github.com/skylersaleh/SkyEmu/pull/143#issue-1456816849 {{SkyEmuVer}}] | ||
+ | |{{?}} ||{{?}} ||? ||{{✓}} ||{{✓}} ||{{~}} | ||
|- | |- | ||
− | |[ | + | |[http://binji.github.io/binjgb/ binjgb] |
− | | | + | | align=left|{{Icon|Web}} |
− | |[https:// | + | | [https://github.com/binji/binjgb/releases {{binjgbVer}}] |
− | |{{ | + | |{{?}} ||{{?}} ||? ||{{✓}} ||{{✓}} ||{{~}} |
|- | |- | ||
− | | | + | |Ironboy |
− | |Windows | + | |align=left|{{Icon|Windows|Linux|macOS|Web}} |
− | |[ | + | |[https://github.com/chiplis/ironboy/ Web] |
− | |{{ | + | |{{?}} ||{{?}} ||? ||{{✓}} ||{{✓}} ||{{~}} |
|- | |- | ||
− | | | + | |PyBoy |
− | |Windows | + | |align=left|{{Icon|Windows|Linux|macOS}} |
− | |[https:// | + | |[https://github.com/Baekalfen/PyBoy/releases {{PyBoyVer}}] |
− | |{{ | + | |{{?}} ||{{?}} ||? ||{{✓}} ||{{✓}} ||{{~}} |
|- | |- | ||
− | | | + | |KevBoy |
− | | | + | |align=left|{{Icon|Windows|macOS|Web}} |
− | |[https://github.com/ | + | |[https://github.com/xkevio/kevboy/releases {{KevBoyVer}}] |
− | |{{ | + | |{{?}} ||{{?}} ||? ||{{✓}} ||{{✓}} ||{{~}} |
|- | |- | ||
− | | | + | |jgb |
− | | | + | |align=left|{{Icon|Windows|Linux}} |
− | |[ | + | |[https://github.com/jsgroth/jgb git] |
− | | | + | | || || ||{{✓}} ||{{✓}} ||{{?}} |
|- | |- | ||
− | | | + | |jgenesis |
− | |Windows | + | |align=left|{{Icon|Windows|Linux}} |
− | |[ | + | |[https://github.com/jsgroth/jgenesis {{jgenesisVer}}] |
− | | | + | | || || ||{{✓}} ||{{✓}} ||{{?}} |
|- | |- | ||
− | | | + | |DoubleCherryGB |
− | |Windows | + | |align=left|{{Icon|Windows|Linux}} |
− | |[https://github.com/ | + | |[https://github.com/TimOelrichs/doublecherryGB-libretro git] |
− | | | + | | || || ||{{✓}} ||{{✓}} ||{{?}} |
|- | |- | ||
− | |[[higan]] | + | |[[higan]] (火眼)<br/>byuu (謬/view) |
− | |Windows | + | | align=left|{{Icon|Windows|Linux|macOS|FreeBSD}} |
− | |[http://byuu.org/emulation/higan | + | | [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:// | + | | [https://fms.komkon.org/VGB {{VGBVer}}] |
− | |? ||{{ | + | |{{?}} ||{{?}} ||? ||{{✗}} ||{{✓}} ||{{✗}} |
|- | |- | ||
− | | | + | |Gamebert |
− | | | + | | align=left|{{Icon|Windows}} |
− | |[https://github.com/ | + | | [https://github.com/robert/gamebert Git] |
− | |{{ | + | |{{?}} ||{{?}} ||? ||{{✓}} ||{{✓}} ||{{✗}} |
|- | |- | ||
|[[Pantheon]] | |[[Pantheon]] | ||
− | |Windows | + | | align=left|{{Icon|Windows}} |
− | |[http://bostjan-grandovec.si/Content/News.htm {{PantheonVer}}] | + | | [http://bostjan-grandovec.si/Content/News.htm {{PantheonVer}}] |
− | |{{ | + | |{{?}} ||{{?}} ||? ||{{✗}} ||{{✓}} ||{{✗}} |
|- | |- | ||
− | | | + | |UGE |
− | |Windows | + | | align=left|{{Icon|Windows}} |
− | |[https://github.com/ | + | | [https://github.com/SuperDisk/hUGETracker/releases {{UGEVer}}] |
− | |{{ | + | |{{?}} ||{{?}} ||? ||{{✓}} ||{{✓}} ||{{✗}} |
|- | |- | ||
|[[KiGB]] | |[[KiGB]] | ||
− | |Windows | + | | align=left|{{Icon|Windows|Linux|macOS|DOS}} |
− | |[http://kigb.emuunlim.com/downloads.htm | + | | [http://kigb.emuunlim.com/downloads.htm {{KiGBVer}}] |
− | |{{ | + | |{{?}} ||{{?}} ||? ||{{✗}} ||{{✗}} ||{{✗}} |
|- | |- | ||
|[[TGB Dual]] | |[[TGB Dual]] | ||
− | |Windows | + | | 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 | + | | [https://github.com/libertyernie/tgbdual_L/releases {{TGBDualVer}}] |
− | |{{ | + | |{{?}} ||{{?}} ||? ||{{✓}} ||{{✗}} ||{{✗}} |
|- | |- | ||
|GiiBiiAdvance | |GiiBiiAdvance | ||
− | |Windows | + | | align=left|{{Icon|Windows|Linux}} |
− | |[https://github.com/AntonioND/giibiiadvance/releases | + | | [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] | ||
+ | |{{?}} ||{{?}} ||? ||{{✓}} ||{{✓}} ||{{✗}} | ||
+ | |} | ||
+ | </div> | ||
+ | |||
+ | ===Mobile / ARM=== | ||
+ | <div style="overflow-x:auto;width:100%"> | ||
+ | {| class="wikitable sortable" style="text-align:center;width:100%" | ||
+ | ! Name | ||
+ | ! Platform(s) | ||
+ | ! Latest version | ||
+ | ! [[#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 | ||
+ | ! [[Recommended emulators|Recommended]] | ||
+ | |- | ||
+ | |[https://gbcc.dev GBCC] | ||
+ | | 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>] | ||
+ | |{{~}} ||{{~}} ||? ||{{✓}} ||{{✓}} ||{{✓}} [https://play-lh.googleusercontent.com/_5D9uMlRlL-DJ_anXEyJHtI3IriwCFVPgg2zgwhkaG-uYwkjYeTqmiuUZwpomTYKsuo=w1024-h768-rw Printer] [https://youtu.be/ESYolQ761Dw?si=2c-yAHAAcWQSei1a Kirby Camera] | ||
|- | |- | ||
− | + | |[[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:// | + | | [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]] | |[[mGBA]] | ||
− | | | + | |align=left|{{Icon|Android|iOS}} |
− | |[https:// | + | |[https://buildbot.libretro.com/nightly/ libretro core]<br/>[https://github.com/huhao1987/mGBA_Android 0.3] |
− | |? ||{{✓}} ||{{✓}} ||{{ | + | |{{~}} ||{{~}} ||[https://github.com/mgba-emu/mgba/blob/master/README.md#game-boy-mappers Unlicensed] ||{{✓}} ||{{✓}} ||{{~}} |
+ | |- | ||
+ | |[[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:// | + | | [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!] | |[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 | + | | [https://play.google.com/store/apps/details?id=com.fastemulator.gbc 2.0.0] |
− | |? ||{{✗}} ||{{✓}} ||{{ | + | |{{?}} ||{{?}} ||? ||{{✗}} ||{{✓}} ||{{~}} |
|- | |- | ||
|John GBC | |John GBC | ||
− | | | + | | align=left|{{Icon|Android}} |
− | |[https://play.google.com/store/apps/details?id=com.johnemulators.johngbc 3. | + | | [https://play.google.com/store/apps/details?id=com.johnemulators.johngbc 3.93] |
− | |? ||{{✗}} ||{{✓}} ||{{✗}} | + | |{{?}} ||{{?}} ||? ||{{✗}} ||{{✓}} ||{{✗}} |
+ | |} | ||
+ | </div> | ||
+ | |||
+ | ===Consoles=== | ||
+ | <div style="overflow-x:auto;width:100%"> | ||
+ | {| class="wikitable sortable" style="text-align:center;width:100%" | ||
+ | ! Name | ||
+ | ! Platform(s) | ||
+ | ! Latest version | ||
+ | ! [[#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 | ||
+ | ! [[Recommended emulators|Recommended]] | ||
+ | |- | ||
+ | |[[Nintendo Switch Online]] <small>(Hiyoko)</small> | ||
+ | | 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|WiiU}} |
− | |[ | + | | [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/ | + | | [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]] | |[[Virtual Console]] | ||
− | | | + | | align=left|{{Icon|3DS}} |
− | |8.10 | + | | 8.10 |
− | |{{ | + | |{{?}} ||{{?}} ||? ||{{✗}} ||{{✗}} ||{{✓}} |
|- | |- | ||
|[[mGBA]] | |[[mGBA]] | ||
− | | | + | | align=left|{{Icon|Wii|WiiU|NX}}<br>{{Icon|PSV|3DS}} |
− | |[https:// | + | | [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] |
− | |? ||{{ | + | |{{~}} ||{{~}} ||[https://github.com/mgba-emu/mgba/blob/master/README.md#game-boy-mappers Unlicensed] ||{{✓}} ||{{✓}} ||{{✓}} |
+ | |- | ||
+ | |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}} | ||
+ | |} | ||
+ | </div> | ||
+ | |||
+ | ===Firmware=== | ||
+ | <div style="overflow-x:auto;width:100%"> | ||
+ | {| class="wikitable sortable" style="text-align:center;width:100%" | ||
+ | ! Name | ||
+ | ! Platform(s) | ||
+ | ! Latest version | ||
+ | ! [[#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 | ||
+ | ! [[Recommended emulators|Recommended]] | ||
|- | |- | ||
− | |[ | + | |PlutoBoy |
− | | | + | | align=left|{{Icon|UEFI}} |
− | + | | [https://github.com/RossMeikleham/PlutoBoy git] | |
− | |{{ | + | |{{?}} ||{{?}} ||? ||{{✓}} ||{{✓}} ||{{✓}} |
|- | |- | ||
− | |||
− | |||
− | |||
− | |||
|} | |} | ||
+ | </div> | ||
<references group=N /> | <references group=N /> | ||
===Comparison=== | ===Comparison=== | ||
− | |||
====Game Boy-only emulators==== | ====Game Boy-only emulators==== | ||
− | ;[[SameBoy]]: | + | ;[[SameBoy]]:One of the most [[Emulation_accuracy|accurate]] Game Boy emulator currently. The UI is simple and easy to use. It includes open source bootroms, although these can be replaced with real ones. Has debugging features and also emulates Game Boy Camera and Game Boy Printer. |
− | ;[[BGB]]:A closed-source emulator for Windows (and [[Wine]]) with | + | ;[[BGB]]:A closed-source emulator for Windows (and [[Wine]]) with solid Game Boy and Game Boy Color accuracy, as well as near flawless link support. It has a wealth of options for color palettes. Most used for its advanced debugger. |
− | ;[[Gambatte]]: | + | ;[[Gambatte]]:Pretty [[Emulation_accuracy|accurate]] open-source Game Boy/Color emulator. It has a good range of options and features, though not quite as much as some other emulators. The main fork is not in active development, but the libretro core is still active. |
+ | ;[http://hhug.me/?tags=hhugboy hhugboy]:A Windows-only Game Boy/Color emulator based on GEST with a focus on bootleg and unlicensed games. It is capable of detecting and correctly emulating the mapper on a number of games that are otherwise broken on other emulators, but some ROMs require manually selecting the mapper on the Unlicensed Compatibility Mode menu. Besides the usual raw dumps, it also supports the footered [http://hhug.me/gbx GBX] ROM format, which correctly informs the emulator which mapper to run regardless of what the internal headers say. | ||
+ | ;GameRoy:A Game Boy emulator, dissasembler and debugger written in Rust. It has high [[Emulation_accuracy|accuracy]] and accurate clock frequency. It is more suited for debugging uses for now. | ||
;[[TGB Dual]]:An ancient emulator that supports link cable emulation. It also supports [[netplay]], but it requires a VPN. The libretro port supports local multiplayer using player 2's controls. | ;[[TGB Dual]]:An ancient emulator that supports link cable emulation. It also supports [[netplay]], but it requires a VPN. The libretro port supports local multiplayer using player 2's controls. | ||
;[[KiGB]]:An old and obsolete emulator which boasted its accuracy but was proven to be full of game-specific hacks.<ref>https://github.com/mgba-emu/mgba/issues/238</ref><ref>http://gbdev.gg8.se/wiki/articles/Test_ROMs#Emulators_running_on_desktop_computers</ref><ref>http://gbdev.gg8.se/wiki/articles/KiGB</ref> It has a wide selection of features, but other emulators have caught up and are already doing much better. | ;[[KiGB]]:An old and obsolete emulator which boasted its accuracy but was proven to be full of game-specific hacks.<ref>https://github.com/mgba-emu/mgba/issues/238</ref><ref>http://gbdev.gg8.se/wiki/articles/Test_ROMs#Emulators_running_on_desktop_computers</ref><ref>http://gbdev.gg8.se/wiki/articles/KiGB</ref> It has a wide selection of features, but other emulators have caught up and are already doing much better. | ||
− | ;[https://github.com/AntonioND/giibiiadvance GiiBiiAdvance]:Pioneered full GB Camera emulation, including webcam support. Aside from that, it's an unfinished emulator with the basics set up, but its promising future currently on hiatus. It has very accurate timing. | + | ;[https://github.com/AntonioND/giibiiadvance GiiBiiAdvance]:Pioneered full GB Camera emulation, including webcam support. Aside from that, it's an unfinished emulator with the basics set up, but its promising future currently on hiatus. It has very [[Emulation_accuracy|accurate]] timing. |
+ | ;[https://github.com/aappleby/MetroBoy MetroBoy]:Extremely [[Emulation_accuracy|accurate]] Game Boy simulator which being written in a subset of C++ that's designed to to be mechanically translated into Verilog HDL. | ||
+ | ;Ironboy:A very recent and promising emulator written in Rust for WebAssembly which is focus only on the original Game Boy (DMG) to [https://github.com/Chiplis/IronBoy#ironboy achieve the highest degree of accuracy]. Unfortunately, it only supports monochrome Game Boy games. | ||
+ | ;binjgb:A GB + GBC emulator for both desktop and WebAssembly, developed by Ben "binji" Smith since 2016. Most famously used by McDonald's in 2023 to publish ''Grimace's Birthday'' [https://grimacesbirthday.com/ as a browser game]. | ||
+ | ;[[Nintendo Switch Online]] (Hiyoko): | ||
+ | * GB support was added to Nintendo Switch Online in February 2023, alongside GBA games exclusive to the Expansion Pack tier; | ||
+ | * Users are limited to the selection of games Nintendo chooses to make available on the service; | ||
+ | * Supports online and Local Play (up to 2 players, Local Play must be with individual Switch systems); | ||
+ | * Supports tilt controls through gyroscope or normal controllers (e.g.: ''Kirby's Tilt 'n' Tumble''); | ||
+ | * Supports infrared emulation (e.g.: ''Pokémon Trading Card Game''); | ||
+ | * Palette styles can be applied (original GB, Pocket, and GBC); | ||
+ | * No Super Game Boy features supported (it always runs games in GBC mode); | ||
+ | * Allows exchange of regional variants in the International version of the app (USA and/or European versions); | ||
+ | * Different games between regions (Japan and International) | ||
'''List of recommended GB/GBC emulators for Android:''' | '''List of recommended GB/GBC emulators for Android:''' | ||
* [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.) | * [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.) | ||
− | ==== | + | ====GB/C emulation on GBA emulators==== |
− | ;[[mGBA]]:Primarily emulates the [[Game Boy Advance emulators|Game Boy Advance]] but it also includes GB/C support much like the original system. It's | + | ''This shouldn't be confused with [[Game_Boy_Advance_emulators#Hardware_features_and_accessories|actual backwards compatibility on GBA emulation]].'' |
− | ;[[GBE+]]: | + | ;[[mGBA]]:Primarily emulates the [[Game Boy Advance emulators|Game Boy Advance]] but it also includes GB/C support much like the original system. It's a solid implementation, with most of the library working perfectly. |
+ | ;[[GBE+]]:An emulator that has a large effort in preserving the functions of a multitude of [[#Game Boy Features|obscure accessories]] that other emulators don't focus on. It can also load custom tiles in games, including colorized tiles for original Game Boy titles. | ||
;[[VisualBoy Advance#VBA-M|VisualBoy Advance-M <small>(VBA-M)</small>]]:Used to be the go-to for Game Boy Advance emulation and even included solid GB/C emulation. It's now behind [[mGBA]] on both fronts. | ;[[VisualBoy Advance#VBA-M|VisualBoy Advance-M <small>(VBA-M)</small>]]:Used to be the go-to for Game Boy Advance emulation and even included solid GB/C emulation. It's now behind [[mGBA]] on both fronts. | ||
====[[Multi-system emulators]]==== | ====[[Multi-system emulators]]==== | ||
− | ;[[higan]]:Because it started out as a [[Super Nintendo emulators|SNES emulator]] (its original name was bsnes), it was the first | + | ;[[higan]]/[[ares]]:Because it started out as a [[Super Nintendo emulators|SNES emulator]] (its original name was bsnes), it was the first one that properly emulated all of the [[Super_Nintendo_emulators#Super_Game_Boy|Super Game Boy]]'s features, such as SPC sound chip utilization, which requires the SNES and GameBoy to be emulated simultaneously so it's demanding.<ref>https://old.reddit.com/r/emulation/comments/zwq9fu/ares_crossplatform_open_source_multisystem/j1ys10k/</ref> |
;[[BizHawk]]:Uses a modified Gambatte core. It provides speedrunning tools. | ;[[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_. | ;[[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== | |
+ | <div style="overflow-x:auto;width:100%"> | ||
+ | {|class="wikitable" style="text-align:center; vertical-align:middle;width:100%" | ||
+ | |- style="font-weight:bold;" | ||
+ | ! colspan=2 | Name | ||
+ | ! GBE+ | ||
+ | ! mGBA | ||
+ | ! VBA-M | ||
+ | ! SameBoy | ||
+ | ! BGB | ||
+ | ! GBCC | ||
+ | ! SkyEmu | ||
+ | ! Mesen | ||
+ | ! BizHawk | ||
+ | ! Nintendo Switch Online (Hiyoko) | ||
+ | |- | ||
+ | | rowspan=3 | Graphics | ||
+ | | [[Resolution|Resizable Internal Resolution]] | ||
+ | | colspan=10 | For emulation of 2D systems, the resolution can only be upscaled, making the pixels more apparent. | ||
+ | |- | ||
+ | | [[Widescreen_hacks#Game_Boy|Widescreen hack]]<br/><small>Possible with technique called [[Widescreen_hacks#Emulators_.282D.29|WideGB]] which uses a similar technique as [[Widescreen_hacks#Emulators_.282D.29|WideNES]].</small> | ||
+ | | colspan=10 | Exclusive to [https://kemenaran.winosx.com/posts/widegb-now-available-on-windows/ SameBoy WideGB fork] at the moment. | ||
+ | |- | ||
+ | | [[Texture_packs#Game_Boy|Sprite Replacement]] | ||
+ | | colspan=10 | Exclusive to [[GBE+]] emulator at the moment. | ||
+ | |- | ||
+ | |- | ||
+ | | rowspan=1 | Performance | ||
+ | | [[Overclocking|Overclock]] | ||
+ | | | ||
+ | | | ||
+ | | | ||
+ | | | ||
+ | | | ||
+ | | | ||
+ | | | ||
+ | | | ||
+ | | | ||
+ | | {{N}} | ||
+ | |- | ||
+ | | rowspan=5 | [https://tasvideos.org/Emulatorresources/Features TAS features] | ||
+ | | [[Wikipedia:Macro_(computer_science)|Macros/Scripts]]/[https://tasvideos.org/LuaScripting Lua] | ||
+ | | | ||
+ | | | ||
+ | | | ||
+ | | | ||
+ | | | ||
+ | | | ||
+ | | | ||
+ | | | ||
+ | | {{Y}} | ||
+ | | {{N}} | ||
+ | |- | ||
+ | | Rewind | ||
+ | | | ||
+ | | | ||
+ | | | ||
+ | | {{Y}} | ||
+ | | | ||
+ | | | ||
+ | | | ||
+ | | | ||
+ | | {{Y}} | ||
+ | | | ||
+ | |- | ||
+ | | Fast-Forward/Turbo Speed | ||
+ | | | ||
+ | | | ||
+ | | | ||
+ | | {{Y}} | ||
+ | | | ||
+ | | | ||
+ | | | ||
+ | | | ||
+ | | {{Y}} | ||
+ | | | ||
+ | |- | ||
+ | | Savestates | ||
+ | | | ||
+ | | | ||
+ | | | ||
+ | | {{Y}} | ||
+ | | | ||
+ | | {{Y}} | ||
+ | | | ||
+ | | | ||
+ | | {{Y}} | ||
+ | | | ||
+ | |- | ||
+ | | [https://tasvideos.org/Movies Movie recording/playback] | ||
+ | | | ||
+ | | | ||
+ | | | ||
+ | | | ||
+ | | | ||
+ | | | ||
+ | | | ||
+ | | | ||
+ | | {{Y}} | ||
+ | | | ||
+ | |- | ||
+ | | rowspan=4 | Post-Processing | ||
+ | | [[Shaders_and_filters|Filters]] | ||
+ | | | ||
+ | | | ||
+ | | | ||
+ | | {{Y}} | ||
+ | | | ||
+ | | {{Y}} | ||
+ | | | ||
+ | | | ||
+ | | {{Y}} | ||
+ | | {{Y}} | ||
+ | |- | ||
+ | |[[Shaders_and_filters#AI-powered filters|AI-powered filter compatible]]<br/><small>([https://www.nvidia.com/en-us/geforce/news/gfecnt/nvidia-freestyle-ansel-enhancements-geforce-experience-article/ Freestyle])</small> | ||
+ | | {{?}} | ||
+ | | {{?}} | ||
+ | | {{?}} | ||
+ | | {{?}} | ||
+ | | {{?}} | ||
+ | | {{?}} | ||
+ | | {{?}} | ||
+ | | {{?}} | ||
+ | | {{?}} | ||
+ | | {{N}} | ||
+ | |- | ||
+ | | [[Shader_Presets|Shader Chain]] | ||
+ | | | ||
+ | | | ||
+ | | | ||
+ | | | ||
+ | | | ||
+ | | | ||
+ | | | ||
+ | | | ||
+ | | | ||
+ | | {{N}} | ||
+ | |- | ||
+ | |[[High_dynamic_range#Inverse_tone_mapping|Inverse tone mapping compatible]] | ||
+ | | {{?}} | ||
+ | | {{?}} | ||
+ | | {{?}} | ||
+ | | {{?}} | ||
+ | | {{?}} | ||
+ | | {{?}} | ||
+ | | {{?}} | ||
+ | | {{?}} | ||
+ | | {{?}} | ||
+ | | {{N}} | ||
+ | |- | ||
+ | | rowspan=7 | Quality of life | ||
+ | | Built-in [http://forum.arcadecontrols.com/index.php/topic,106405 Custom resolution/CRTSwitchRes]<br/><small>For using this on Windows OS you need [http://geedorah.com/eiusdemmodi/forum/viewtopic.php?pid=1009#p1009 CRT Emudriver].<br/>Another option is using EDID editor tool such as "Custom Resolution Utility".</small> | ||
+ | | colspan=10 | Exclusive to [https://docs.libretro.com/guides/crtswitchres/ libretro cores] and [[GroovyMAME]] at the moment.<br/>Also there is a [https://github.com/psakhis/Groovy_MiSTer project] for achieving software emulators like libretro cores and GroovyMAME send the raw RGB data over a network to a core running on MiSTer, it basically turns the MiSTer into a GPU for the emulator allowing for easy setup and use with CRT TVs/Arcade monitors. | ||
+ | |- | ||
+ | | Built-in [[Cheats_and_patches|Cheat Manager]] | ||
+ | | | ||
+ | | | ||
+ | | | ||
+ | | {{~}}<ref group=N3 name=SameBoyCOCO>For MacOS only.</ref> | ||
+ | | | ||
+ | | | ||
+ | | | ||
+ | | | ||
+ | | | ||
+ | | {{N}} | ||
+ | |- | ||
+ | | [[Save_disk_space_for_ISOs|Streamable compression format]] | ||
+ | | | ||
+ | | | ||
+ | | | ||
+ | | {{Y}} | ||
+ | | | ||
+ | | | ||
+ | | | ||
+ | | | ||
+ | | | ||
+ | | {{N}} | ||
+ | |- | ||
+ | | Built-in Game Boy sound player | ||
+ | | | ||
+ | | | ||
+ | | | ||
+ | | {{~}}<ref group=N3 name=SameBoyCOCO></ref> | ||
+ | | | ||
+ | | | ||
+ | | | ||
+ | | | ||
+ | | | ||
+ | | {{N}} | ||
+ | |- | ||
+ | | Per-Game Profiles | ||
+ | | | ||
+ | | | ||
+ | | | ||
+ | | | ||
+ | | | ||
+ | | | ||
+ | | | ||
+ | | | ||
+ | | | ||
+ | | | ||
+ | |- | ||
+ | | Command Line Options | ||
+ | | | ||
+ | | | ||
+ | | | ||
+ | | | ||
+ | | | ||
+ | | | ||
+ | | | ||
+ | | | ||
+ | | | ||
+ | | | ||
+ | |- | ||
+ | | [[Frontends#Graphical_User_Interfaces_.28GUIs.29|Big Picture Mode]] | ||
+ | | | ||
+ | | | ||
+ | | | ||
+ | | | ||
+ | | | ||
+ | | | ||
+ | | | ||
+ | | | ||
+ | | | ||
+ | | | ||
+ | |- | ||
+ | | rowspan=1 | Controls | ||
+ | | [[Input_lag|Input lag-mitigating technique]] | ||
+ | | | ||
+ | | | ||
+ | | | ||
+ | | {{~}}<ref group=N3 name=LibretroExclusive></ref> | ||
+ | | | ||
+ | | | ||
+ | | | ||
+ | | | ||
+ | | | ||
+ | | {{N}} | ||
+ | |- | ||
+ | | rowspan=4 | Misc | ||
+ | | [[Netplay#Game_Boy|<abbr title="Should not be confused with GB/GBC Online features or Link cable emulation, see #Hardware features and peripherals section for that.">Netplay</abbr>]] | ||
+ | | | ||
+ | | | ||
+ | | | ||
+ | | {{~}}<ref group=N3 name=LibretroExclusive>Input lag mitigation technique and [https://docs.libretro.com/guides/retroachievements/#game-boy-game-boy-color RetroAchievements exclusive to libretro cores]. Also [https://docs.libretro.com/library/sameboy/#features netplay enhancement] exclusive to SameBoy libretro core.</ref> | ||
+ | | | ||
+ | | | ||
+ | | | ||
+ | | | ||
+ | | {{N}}[https://github.com/TASEmulators/BizHawk/issues/2450 *] | ||
+ | | {{Y}} | ||
+ | |- | ||
+ | | [[Virtual_reality#VR_game_room_simulations|EmuVR support]] | ||
+ | | colspan=11 | Exclusive to [https://www.emuvr.net/wiki/Installation_Guide#Downloads libretro cores] at the moment. | ||
+ | |- | ||
+ | | RetroAchievements<br/>[https://retroachievements.org/gameList.php?c=4 Game Boy], [https://retroachievements.org/gameList.php?c=6 Game Boy Color] | ||
+ | | | ||
+ | | {{~}}<ref group=N3 name=LibretroExclusive></ref> | ||
+ | | {{~}}<ref group=N3 name=LibretroExclusive></ref> | ||
+ | | {{~}}<ref group=N3 name=LibretroExclusive></ref> | ||
+ | | | ||
+ | | | ||
+ | | | ||
+ | | | ||
+ | | {{Y}} | ||
+ | | {{N}} | ||
+ | |- | ||
+ | | [[Wikipedia:Category:Debugging|Debug features]] | ||
+ | | | ||
+ | | | ||
+ | | | ||
+ | | {{Y}}[https://sameboy.github.io/features/#debugging *] | ||
+ | | {{Y}}[https://bgb.bircd.org/manual.html#debugkeys *] | ||
+ | | | ||
+ | | | ||
+ | | | ||
+ | | | ||
+ | | {{N}} | ||
+ | |} | ||
+ | </div> | ||
+ | <references group=N3/> | ||
− | === | + | ==Hardware features and accessories== |
− | + | :''[https://shonumi.github.io/articles/art34.html Shonumi: The State of Emulation - 2024]'' | |
− | + | <div style="overflow-x:auto;width:100%"> | |
− | + | {|class="wikitable" style="text-align:center;vertical-align:middle;width:100%" | |
− | + | |- style="font-weight:bold;" | |
− | = | + | ! colspan=2 | Name |
− | + | ! GBE+ | |
− | + | ! mGBA | |
− | + | ! VBA-M | |
− | = | + | ! SameBoy |
− | {| | + | ! BGB |
− | + | ! GBCC | |
− | + | ! SkyEmu | |
− | + | ! Mesen | |
− | + | ! BizHawk | |
+ | ! Nintendo Switch Online (Hiyoko) | ||
+ | |- | ||
+ | | rowspan=5 | Inputs | ||
+ | | [[#Motion Control (Tilt Sensor)|Motion Control (Tilt Sensor)]] | ||
+ | | {{✓}} | ||
+ | | {{~}}<ref group=N name=Libretro>Not available on Libretro core.</ref> | ||
+ | | {{~}}<ref group=N name=no-controllers>Motion Control does not support controller's gyro. Supports only remapping to mouse/keyboard/gamepad.</ref> | ||
+ | | {{✓}} | ||
+ | | {{~}}<ref group=N name=no-controllers /> | ||
+ | | {{✓}}<ref group=N>GBCC uses Android real Accelerometer hardware</ref> | ||
+ | | {{?}} | ||
+ | | {{?}} | ||
+ | | {{?}} | ||
+ | | {{?}} | ||
+ | |- | ||
+ | | [[#Rumble|Rumble]] | ||
+ | | {{✓}} | ||
+ | | {{✓}} | ||
+ | | {{✓}} | ||
+ | | {{✓}} | ||
+ | | {{✗}} | ||
+ | | {{✓}} | ||
+ | | {{?}} | ||
+ | | {{?}} | ||
+ | | {{?}} | ||
+ | | {{?}} | ||
+ | |- | ||
+ | | [[#Game Boy Camera|Game Boy Camera]] | ||
+ | | {{✗}} | ||
+ | | {{~}} <ref group=N name=Libretro /> | ||
+ | | {{~}} | ||
+ | | {{~}}<ref group=N name=SameBoyCOCO></ref> | ||
+ | | {{✓}} | ||
+ | | {{~}}<ref group=N>Only on Android, uses real front/back Camera hardware permission required.</ref> | ||
+ | | {{?}} | ||
+ | | {{?}} | ||
+ | | {{?}} | ||
+ | | {{?}} | ||
+ | |- | ||
+ | | [[#Accessories|Barcode Boy]] | ||
+ | | {{✓}} | ||
+ | | {{✗}} | ||
+ | | {{✗}} | ||
+ | | {{✗}} | ||
+ | | {{✗}} | ||
+ | | {{✗}} | ||
+ | | {{?}} | ||
+ | | {{?}} | ||
+ | | {{?}} | ||
+ | | {{N}} | ||
+ | |- | ||
+ | | [[#Accessories|Barcode Taisen Bardigun]] | ||
+ | | {{✓}} | ||
+ | | {{✗}} | ||
+ | | {{✗}} | ||
+ | | {{✗}} | ||
+ | | {{✗}} | ||
+ | | {{✗}} | ||
+ | | {{?}} | ||
+ | | {{?}} | ||
+ | | {{?}} | ||
+ | | {{?}} | ||
+ | |- | ||
+ | | rowspan=4 | <abbr title="There are four different kinds of connectivity, support varying by game.">Connectivity</abbr> | ||
+ | | [[#Multiplayer|<abbr title="The Nintendo Game Link Cable is an accessory for the Game Boy line of handheld video game systems, allowing players to connect Game Boys of all types for multiplayer gaming. Depending on the games, a Game Link Cable can be used to link two games of the same title, like Tetris, or two compatible games like Pokémon Red and Blue. Games can be linked for head-to-head competition, cooperative play, trading items, unlocking hidden features, etc.">Link Cable</abbr>]]<ref group=N>Super Game Boy for SNES supports only on the Japan-exclusive Super Game Boy 2.<br/>gameyob for DS emulator supports it through NiFi.<br/>Virtual Console for Switch only supports for Pokemon only.</ref> | ||
+ | | {{✗}} | ||
+ | | {{~}}<ref group=N>[[mGBA]] pretty buggy [https://github.com/mgba-emu/mgba/issues?q=is%3Aissue+is%3Aopen+Link but sometimes works].</ref> | ||
+ | | {{✓}} | ||
+ | | {{~}}<ref group=N>[[SameBoy]]'s libretro core supports Link Cable, standalone does not.</ref> | ||
+ | | {{✓}} | ||
+ | | {{~}}<ref group=N>GBCC only supports a [https://gbcc.dev/ fake "link" with itself].</ref> | ||
+ | | {{✗}}[https://github.com/skylersaleh/SkyEmu/issues/44 *] | ||
+ | | {{?}} | ||
+ | | {{?}} | ||
+ | | {{?}} | ||
+ | |- | ||
+ | | [[#IR Transmitter|IR Transmitter]] | ||
+ | | {{✓}} | ||
+ | | {{✗}} | ||
+ | | {{✗}} | ||
+ | | {{✗}} | ||
+ | | {{✗}} | ||
+ | | <abbr title="Work in Progress">WIP</abbr> | ||
+ | | {{?}} | ||
+ | | {{?}} | ||
+ | | {{?}} | ||
+ | | {{?}} | ||
+ | |- | ||
+ | | [[#Online features|Online features]] | ||
+ | | {{~}} | ||
+ | | {{✗}} | ||
+ | | {{✗}} | ||
+ | | {{✗}} | ||
+ | | {{✓}} | ||
+ | | {{✗}} | ||
+ | | {{?}} | ||
+ | | {{?}} | ||
+ | | {{N}} | ||
+ | | {{N}} | ||
+ | |- | ||
+ | | [[#Multiplayer|4-Player Adapter]] | ||
+ | | {{✓}} | ||
+ | | {{✗}} | ||
+ | | {{✗}} | ||
+ | | {{✗}} | ||
+ | | {{✗}} | ||
+ | | {{✗}} | ||
+ | | {{?}} | ||
+ | | {{?}} | ||
+ | | {{?}} | ||
+ | | {{N}} | ||
+ | |- | ||
+ | | rowspan=4 | Special hardware | ||
+ | | [[#Game Boy Printer|Game Boy Printer]] | ||
+ | | {{✓}} | ||
+ | | {{~}}<ref group=N name=Libretro /> | ||
+ | | {{✓}} | ||
+ | | {{~}}<ref group=N name=SameBoyCOCO>For MacOS only.</ref> | ||
+ | | {{✗}} | ||
+ | | {{✓}}<ref group=N>GBCC uses Android real Printer hardware</ref> | ||
+ | | {{?}} | ||
+ | | {{?}} | ||
+ | | {{?}} | ||
+ | | {{?}} | ||
|- | |- | ||
− | |[[ | + | | [[#Accessories|GB Pocket Sonar]] |
− | | | + | | {{✓}} |
− | | | + | | {{✗}} |
− | |{{ | + | | {{✗}} |
+ | | {{✗}} | ||
+ | | {{✗}} | ||
+ | | {{✗}} | ||
+ | | {{?}} | ||
+ | | {{?}} | ||
+ | | {{?}} | ||
+ | | {{?}} | ||
|- | |- | ||
− | |[[ | + | | [[#Accessories|Singer Sewing Machine]] |
− | | | + | | {{✓}} |
− | | | + | | {{✗}} |
− | |{{ | + | | {{✗}} |
+ | | {{✗}} | ||
+ | | {{✗}} | ||
+ | | {{✗}} | ||
+ | | {{?}} | ||
+ | | {{?}} | ||
+ | | {{?}} | ||
+ | | {{?}} | ||
|- | |- | ||
− | | | + | | [[#Accessories|WorkBoy]] |
− | | | + | | {{N}}[https://github.com/shonumi/gbe-plus/issues/125 *] |
− | |? | + | | {{?}} |
− | |{{ | + | | {{?}} |
+ | | {{~}}<ref group=N name=SameBoyCOCO></ref> | ||
+ | | {{?}} | ||
+ | | {{?}} | ||
+ | | {{?}} | ||
+ | | {{?}} | ||
+ | | {{?}} | ||
+ | | {{?}} | ||
|- | |- | ||
− | |[ | + | | rowspan=2 | [https://bulbapedia.bulbagarden.net/wiki/Pok%C3%A9mon_Pikachu_2_GS#Interactions_with_Generation_II Pokémon Pikachu 2 GS] |
− | | | + | | Communication |
− | |? | + | | {{✗}} |
− | |{{ | + | | {{✗}} |
+ | | {{✗}} | ||
+ | | {{✗}} | ||
+ | | {{✗}} | ||
+ | | {{✗}} | ||
+ | | {{✗}} | ||
+ | | {{✗}} | ||
+ | | {{?}} | ||
+ | | {{?}} | ||
|- | |- | ||
− | | | + | | Emulation |
− | | | + | | {{✗}} |
− | | | + | | {{✗}} |
− | |{{✗}} | + | | {{✗}} |
+ | | {{✗}} | ||
+ | | {{✗}} | ||
+ | | {{✗}} | ||
+ | | {{✗}} | ||
+ | | {{✗}} | ||
+ | | {{?}} | ||
+ | | {{?}} | ||
|} | |} | ||
+ | </div> | ||
+ | <references group=N /> | ||
+ | |||
+ | ===IR Transmitter=== | ||
+ | The Game Boy Color had an infrared transmitter and receiver. Generation II Pokémon games made use of this feature through Mystery Gift. Super Mario Bros. Deluxe could send high scores to another cartridge. GBE+ had [https://shonumi.github.io/articles/art4.html basic IR emulation] back in July 2016 but it then only worked with Pokémon games. Now, as of [https://shonumi.github.io/articles/art11.html April 2018], it has full IR emulation for most IR-enabled games (Hudson Soft's HuC-1's IR capabilities need to be emulated for Japanese ''Pokémon TCG''). | ||
+ | |||
+ | ===Game Boy Camera=== | ||
The Game Boy Camera is an official Nintendo accessory for the Game Boy and was released in 1998. Users can take pictures and modify them with stickers and frames, as well as play several included minigames. In addition to the original model, there was a US-exclusive Legend of Zelda: Ocarina of Time edition that included different stamps. | The Game Boy Camera is an official Nintendo accessory for the Game Boy and was released in 1998. Users can take pictures and modify them with stickers and frames, as well as play several included minigames. In addition to the original model, there was a US-exclusive Legend of Zelda: Ocarina of Time edition that included different stamps. | ||
The first emulator to have some capability of emulating the Game Boy Camera was a modified version of an old emulator called Hash. This version, named Hashcam, can still be found on the author's website. While there were some efforts to run the Game Boy Camera ROM in BGB unofficially, the author didn't show much interest in it. However, it is fully emulated with webcam support in a lesser-known emulator called GiiBiiAdvance. | The first emulator to have some capability of emulating the Game Boy Camera was a modified version of an old emulator called Hash. This version, named Hashcam, can still be found on the author's website. While there were some efforts to run the Game Boy Camera ROM in BGB unofficially, the author didn't show much interest in it. However, it is fully emulated with webcam support in a lesser-known emulator called GiiBiiAdvance. | ||
− | + | As of version 0.7.0, or any dev builds post 0.6.0, mGBA can emulate this accessory by either using the PC's webcam or sending a BMP, GIF, JPEG, PNG, or other image format to the game, as if it was coming from the camera itself.<ref name="mGBA_Cam">{{cite web|url=https://twitter.com/mGBA_emu/status/890954205472501762|title=Game Boy Camera in mGBA dev builds|publisher=Twitter|accessdate=2018-08-10|date=2017-07-28}}</ref> The camera is also functional on the 3DS port. To enable the PC webcam, go to <code>Game Boy</code> under <code>settings</code> and switch the <code>camera driver</code> to <code>Qt Multimedia</code>, or by editing <code>qt.ini</code> and setting <code>cameraDriver=1</code> under <code>[General]</code>. | |
− | + | ===Game Boy Printer=== | |
− | [[VisualBoy Advance | + | Game Boy Printer is a thermal printer accessory released by Nintendo in 1998 used in conjunction with the Game Boy Camera and also used to prints images from compatible GB games such as ''Pokémon Gold and Silver'', ''Pokémon Crystal'', ''Super Mario Bros. Deluxe'', ''Donkey Kong Country'' and ''The Legend of Zelda: Link's Awakening DX''. |
+ | |||
+ | [[VisualBoy Advance]] (including its forks), [[GBE+]] and [[mGBA]] have Game Boy Printer support that turn the signals into a bitmap form of the image. | ||
===Motion Control (Tilt Sensor)=== | ===Motion Control (Tilt Sensor)=== | ||
− | Two Game Boy Color games featured a built-in tilt sensor: Kirby Tilt 'n' Tumble and Command Master. These games cannot be played without support for this feature. [[VisualBoy Advance|VBA]] and [[KiGB]] have a "Motion Sensor" option to map four directional keys to emulate the cartridge tilting, but the controls aren't analog. [[BGB]] can emulate the tilting features with the use of the mouse. | + | Two Game Boy Color games featured a built-in tilt sensor: Kirby Tilt 'n' Tumble and Command Master. These games cannot be played without support for this feature. [[VisualBoy Advance|VBA]] and [[KiGB]] have a "Motion Sensor" option to map four directional keys to emulate the cartridge tilting, but the controls aren't analog. [[BGB]] can emulate the tilting features with the use of the mouse. [[SameBoy]] allows to use the mouse, as well as a joystick, and on the Cocoa frontend, is supporting controller's motion controls. [[mGBA]] supports controller's motion controls and allows to assign stic's X an Y axes. Hiyoko, the official GBC emulator for [[Nintendo Switch Online]], emulates motion controls for Kirby Tilt 'n' Tumble by translating gyroscope input either from the console itself (when playing in portable mode) or from a detached Joy-Con or Switch Pro Controller (when playing in docked mode). |
+ | |||
+ | *[[List of games that support tracked motion controllers#GameBoy Color Emulation]] | ||
===Rumble=== | ===Rumble=== | ||
− | A good number of cartridges came with a built-in rumble that required an AAA battery to power, such as ''Pokémon Pinball'', but the feature is optional. | + | A good number of cartridges came with a built-in rumble that required an AAA battery to power, such as ''Pokémon Pinball'', but the feature is optional. So far, only [[VisualBoy Advance#VBA-GX|VBA-GX]] emulates rumble in these games, including games that have their rumble feature dummied out (one being ''Tarzan''). |
===Multiplayer=== | ===Multiplayer=== | ||
− | * '''Link Cable:''' [[BGB]], [[KiGB]], some versions of [[VisualBoy Advance#VBA-M|VBA-M]] and [[TGB Dual|TGB-Dual]] supports link cable. It can also be used for Netplay on the corresponding [[RetroArch]] core. | + | * '''Link Cable:''' [[BGB]], [[KiGB]], some versions of [[VisualBoy Advance#VBA-M|VBA-M]] and [[TGB Dual|TGB-Dual]] supports link cable. It can also be used for Netplay on the corresponding [[RetroArch]] core. [https://en.wikipedia.org/wiki/List_of_multiplayer_Game_Boy_games#Two-player_games_via_the_Game_Link_Cable Two-player games via the Game Link Cable list]. |
− | * '''4-Player Adapter:''' Currently only [[GBE+]] supports it. There is a 16-Player adapter as well, but it went unreleased outside of unused code in some games, and | + | * '''4-Player Adapter:''' Currently only [[GBE+]] and DoubleCherryGB supports it. |
+ | * '''Faceball 2000 16-Player Link Cable:''' There is a 16-Player adapter as well, but it went unreleased outside of unused code in some games, but it is emulated by ''DoubleCherryGB'' emulator and allows to play Faceball 2000 in local splitscreen and via netplay. | ||
+ | * '''Multiplayer Hacks:''' DoubleCherryGB emulates virtual link-cable devices that allow Tetris Battle Royal and Kwirk Multiplayer up to 16 players on local splitscreen and via netplay. | ||
− | ===Online | + | ===Online features=== |
====Mobile Game Boy Adapter==== | ====Mobile Game Boy Adapter==== | ||
There is a Japan-only accessory that communicates with Mobile Golf and Japanese Pokémon Crystal. It was bundled with Mobile Trainer cartridge which allowed the player to use e-mail as well as browse Nintendo's website. It saw use on some Game Boy Color and Game Boy Advance games, but support was limited to Japan, and the servers went offline by 2002. | There is a Japan-only accessory that communicates with Mobile Golf and Japanese Pokémon Crystal. It was bundled with Mobile Trainer cartridge which allowed the player to use e-mail as well as browse Nintendo's website. It saw use on some Game Boy Color and Game Boy Advance games, but support was limited to Japan, and the servers went offline by 2002. | ||
− | It is possible to partially emulate its feature for Pokémon Crystal by [http://forums.glitchcity.info/index.php?topic=7509.0 using BGB's scripting capability], and GBE+ can at least reach the title screen of Mobile Trainer and made [https://www.reddit.com/r/EmuDev/comments/9141oy/making_progress_with_gb_mobile_adapter_emulation/ some progress in July 2018], but otherwise, no emulators properly support this accessory. | + | It is possible to partially emulate its feature for Pokémon Crystal by [http://forums.glitchcity.info/index.php?topic=7509.0 using BGB's scripting capability], and GBE+ can at least reach the title screen of Mobile Trainer and made [https://www.reddit.com/r/EmuDev/comments/9141oy/making_progress_with_gb_mobile_adapter_emulation/ some progress in July 2018], but otherwise, no emulators (except for a recently leaked at time of writing internal emulator) properly support this accessory. |
====Hudsonsoft KISS Link==== | ====Hudsonsoft KISS Link==== | ||
− | This accessory allowed users to download exclusive content by them from Hudsonsoft's website. No emulator supports this. | + | This accessory both allowed IR communications between 2 gameboys before the Game Boy Color existed with it’s IR port and with a modem, it allowed users to download exclusive content by them from Hudsonsoft's website. No emulator supports this. Resources about this super obscure accessory include http://nectaris.tg-16.com/GB-KISS-LINK-FAQ-hudson-gameboy-nectaris.html and https://www.youtube.com/watch?v=uOuJ0EcA8IQ |
===Accessories=== | ===Accessories=== | ||
Line 296: | Line 962: | ||
* '''Game Boy Pocket Sonar:''' Japan only cartridge released by Bandai. It is a sonar-enabled device used for fishing with a fishing game included. Only GBE+ [https://shonumi.github.io/articles/art13.html supports] this feature. A similar cartridge was released for the WonderSwan (still unemulated). | * '''Game Boy Pocket Sonar:''' Japan only cartridge released by Bandai. It is a sonar-enabled device used for fishing with a fishing game included. Only GBE+ [https://shonumi.github.io/articles/art13.html supports] this feature. A similar cartridge was released for the WonderSwan (still unemulated). | ||
− | * '''Barcode Boy:''' An obscure Japan-only barcode-scanning device released by Namcot (then-Namco's consumer division) in 1992. A total of 4 games were released to utilize this accessory. KiGB and GEST claim support for this device, but they only feed random data to Game Boy until the game accepts it as a valid barcode. GBE+ has [https://shonumi.github.io/articles/art7.html proper emulation] with the ability to read barcodes from binary files. | + | * '''Barcode Boy:''' An obscure Japan-only barcode-scanning device released by Namcot (then-Namco's consumer division) in 1992. A total of 4 games were released to utilize this accessory. KiGB and GEST claim support for this device, but they only feed random data to Game Boy until the game accepts it as a valid barcode. GBE+ has [https://shonumi.github.io/articles/art7.html proper emulation] with the ability to read barcodes from binary files. DoubleCherryGB also has full support. All barcodes are hardcode. After each scan the next barcode is loaded. |
* '''Barcode Taisen Bardigun:''' Another Japan only barcode-scanning device with the dedicated game. GBE+ [https://shonumi.github.io/articles/art6.html supports this accessory]. | * '''Barcode Taisen Bardigun:''' Another Japan only barcode-scanning device with the dedicated game. GBE+ [https://shonumi.github.io/articles/art6.html supports this accessory]. | ||
− | * '''Singer Sewing Machine:''' There is link cable support for the Singer IZEK Digital Sewing Machine. The IZEK was unique in that it came bundled with a specially coloured Game Boy and a cartridge for interfacing with the machine.<ref name="IZEK_1">{{cite web|url=https://www.youtube.com/watch?v=AlhJKMXU7tg&t=5m25s|title=Game Boy Part 2 - Did You Know Gaming? Feat. Jake of Vsauce3|publisher=Youtube|accessdate=2018-08-10|date=2014-05-24}}</ref><ref name="IZEK_2">{{cite web|url=https://www.youtube.com/watch?v=K-Epj2_eJdA|title=Singer IZEK Digital Sewing Machine - Gameboy Color Controller (Game Boy Color) Review|publisher=Youtube|accessdate=2018-08-10|date=2014-06-24}}</ref> | + | * '''Singer Sewing Machine:''' There is link cable support for the Singer IZEK Digital Sewing Machine. The IZEK was unique in that it came bundled with a specially coloured Game Boy and a cartridge for interfacing with the machine.<ref name="IZEK_1">{{cite web|url=https://www.youtube.com/watch?v=AlhJKMXU7tg&t=5m25s|title=Game Boy Part 2 - Did You Know Gaming? Feat. Jake of Vsauce3|publisher=Youtube|accessdate=2018-08-10|date=2014-05-24}}</ref><ref name="IZEK_2">{{cite web|url=https://www.youtube.com/watch?v=K-Epj2_eJdA|title=Singer IZEK Digital Sewing Machine - Gameboy Color Controller (Game Boy Color) Review|publisher=Youtube|accessdate=2018-08-10|date=2014-06-24}}</ref> Despite the IZEK's rarity, support for it has been added in a recent GBE+ release.<ref>[https://shonumi.github.io/articles/art22.html Edge of Emulation: Game Boy Sewing Machines]</ref> |
+ | * '''Suzuki Pocket Dash Diagnostic System''' and '''Aprilia DITECH Interface''': A series of diagnostic cartridges used for Suzuki and Aprilia scooters respectively, developed by Orbital Technologies in the early 2000s. Both were used to interface with a supported motorcycle's engine control unit (ECU) in a similar manner to OBD tools for automobiles. The diagnostic cartridges were only made available for use by motorcycle dealerships and were not licensed by Nintendo. No dump of either cartridge exists as of {{CURRENTYEAR}}. | ||
+ | |||
+ | ==Emulation issues== | ||
+ | ===Oversaturation=== | ||
+ | [[File:Gbc over saturation2.png|thumb|right|350px|Comparison of saturation levels in [[VisualBoy Advance#VBA-M|VBA-M]] and [[Gambatte]].]] | ||
+ | The Game Boy Color's screen is under-saturated. Game developers often work around this by using brighter colors knowing it'll be compensated for on hardware. This does not translate well in emulation, because standard LCD screens don't account for this sort of issue. Many emulators attempt to combat this issue with options that adjust accordingly; if not directly, then [[Shaders_and_Filters#Image_Adjustment|shader functionality]] may be implemented. | ||
+ | |||
+ | This issue also affects [[Game Boy Advance emulators#Oversaturation|Game Boy Advance emulation]]. | ||
+ | |||
+ | ====Emulator options==== | ||
+ | '''mGBA:''' Under Tools > Settings > Shaders, you will find three customizable '''Desaturation''' parameters. | ||
+ | |||
+ | '''VBA-M:''' Under Options > Game Boy, you will find the '''GB color option'''. The recent nightly builds also include the '''LCD Filter''' option. | ||
+ | |||
+ | For more information about Game Boy hardware and reverse engineering; <br/> | ||
+ | * meganesu: [https://meganesu.github.io/generate-gb-opcodes/ Game Boy CPU Instructions] | ||
+ | * Rodrigo Copetti: [https://www.copetti.org/writings/consoles/game-boy/ Game Boy Architecture Practical Analysis] | ||
+ | * MVG: [https://www.youtube.com/watch?v=zQE1K074v3s How Graphics worked on the Nintendo Game Boy], [https://www.youtube.com/watch?v=FzPTK91EJY8 Learn to code and write games on the Nintendo Game Boy], [https://www.youtube.com/watch?v=I1cUIGHZLGA Secrets of the Nintendo Game Boy Boot Logo], [https://www.youtube.com/watch?v=gYQMdox5gzI How Cartridges worked on the Nintendo Game Boy] | ||
+ | * kOOPa and nocash: [https://problemkaputt.de/pandocs.htm Pan Docs] | ||
+ | * [https://gbdev.gg8.se/wiki/articles/Main_Page Gameboy Development Wiki] | ||
==References== | ==References== | ||
Line 304: | Line 990: | ||
==External links== | ==External links== | ||
− | * [http://gbdev.gg8.se/wiki/articles/Main_Page | + | * [http://gbdev.gg8.se/wiki/articles/Main_Page Gameboy Development Wiki] – Information about the Game Boy |
− | * [ | + | |
+ | ==See also== | ||
+ | * [[Emulators on GB/GBC]] | ||
{{Nintendo}} | {{Nintendo}} | ||
[[Category:Consoles]] | [[Category:Consoles]] | ||
+ | [[Category:Handheld consoles]] | ||
+ | [[Category:Fourth-generation video game consoles]] | ||
[[Category:Nintendo consoles]] | [[Category:Nintendo consoles]] | ||
[[Category:Game Boy/Game Boy Color emulators|*]] | [[Category:Game Boy/Game Boy Color emulators|*]] | ||
− |
Revision as of 11:45, 17 May 2024
![]() | |
![]() | |
Top: Original Game Boy Bottom: Game Boy Color | |
Developer | Nintendo |
---|---|
Type | Handheld game console |
Generation | Fourth generation |
Release date | 1989 (Game Boy) 1998 (Game Boy Color) |
Discontinued | 2003 |
Predecessor | Game & Watch |
Successor | Game Boy Advance |
Emulated | ✓ |
- For emulators that run on the Game Boy (Color), see Emulators on GB/GBC.
The Game Boy (GB) and Game Boy Color (GBC) are 8-bit, fourth-generation handheld consoles released by Nintendo on July 31, 1989 and November 18, 1998 respectively and retailed for $89.95. The Game Boy has a Sharp LR35902 core CPU at 4.19 MHz. It had a monochrome display that could only show four shades of grey, albeit with a olive green tinge on the original. The Game Boy Color uses the same LR35902 core as the original; while it is clocked at 8.38 MHz, it can be underclocked to 4.19 MHz for backwards-compatibility purposes. It was named such from its color screen, but it also had a larger memory size and a faster CPU. The hardware similarities allow cross-compatibility between the two platforms and they are often treated as one. They would both be succeeded by the backward-compatible Game Boy Advance.
Nintendo re-released the console as the Game Boy Pocket in 1996, with a more compact body and a better screen. A front light was added to a special edition of the Pocket in Japan called the Game Boy Light, a feature that wouldn't be seen outside of Japan until the Game Boy Advance SP.
Nintendo released a peripheral for the Super Nintendo Entertainment System called Super Game Boy in June 1994, which was modeled like a cartridge but included its own cartridge slot for Game Boy/Color games, as well as the hardware needed to translate the games. Many Game Boy/Color emulators offer at least some of the special features it included, such as added borders, colorization, custom button mappings, and other features. It was possible to link, but without the external port, as well as errors in the CPU, it would not be feasible to the end user. These issues would later be corrected in the Japan-exclusive Super Game Boy 2.
Contents
Emulators
Because of how relatively easy popular 8-bit consoles are to emulate, tons of Game Boy emulators exist. For a list of open-source projects, see this GitHub query. For a list of accuracy tests, see daid.github.io/GBEmulatorShootout.
PC / x86
Name | Platform(s) | Latest version | Enhancements | Hardware features and accessories |
Mappers support level |
FLOSS | Active | Recommended |
---|---|---|---|---|---|---|---|---|
SameBoy | ![]() ![]() ![]() ![]() |
0.16.5 libretro core |
~ | ~ | ? | ✓ | ✓ | ✓ |
BGB | ![]() |
1.6.3 | ~ | ~ | ? | ✗ | ✓ | ✓ |
BizHawk (Gambatte_Speedrun) |
![]() ![]() |
Dev builds 2.9.1 |
~ | ~ | ? | ✓ | ✓ | ✓ |
Emulicious | ![]() ![]() ![]() ![]() |
2024-05-31 | ? | ? | ? | ✗ | ✓ | ✓ |
Gambatte Gambatte_libretro |
![]() ![]() ![]() ![]() |
libretro core r571 |
~* | ~ | ? | ✓ | ~[N 1] | ~ |
Mesen | ![]() ![]() ![]() |
2.0.0 (preview) | ? | ? | ? | ✓ | ✓ | ~ |
GBE+ | ![]() ![]() ![]() |
1.8 | ~ | ~ | ? | ✓ | ✓ | ~ |
MAME | ![]() ![]() ![]() ![]() |
git artifacts[N 2] 0.266 libretro core |
~ | ? | Unlicensed | ✓ | ✓ | ~ |
Gearboy | ![]() ![]() ![]() ![]() ![]() |
libretro core 3.5.0 |
~* | ~ | ? | ✓ | ✓ | ~ |
GBCC | ![]() ![]() ![]() |
git | ~ | ? | ? | ✓ | ✓ | ~ |
GameRoy | ![]() ![]() ![]() |
0.3.1 | ? | ? | ? | ✓ | ✓ | ~ |
ares | ![]() ![]() ![]() |
v138 | ~ | ? | ? | ✓ | ✓ | ~ |
mGBA | ![]() ![]() ![]() ![]() |
Dev builds libretro core[N 3] 0.10.3 |
~ | ~ | Unlicensed | ✓ | ✓ | ~ |
VBA-M | ![]() ![]() ![]() ![]() |
Nightly builds libretro core 2.1.9 |
~ | ~ | ? | ✓ | ✓ | ~ |
hhugboy | ![]() |
1.4.0 | ? | ? | Unlicensed | ✓ | ✓ | ~ |
SkyEmu | ![]() ![]() ![]() ![]() |
v3 | ? | ? | ? | ✓ | ✓ | ~ |
binjgb | ![]() |
v0.1.11 | ? | ? | ? | ✓ | ✓ | ~ |
Ironboy | ![]() ![]() ![]() ![]() |
Web | ? | ? | ? | ✓ | ✓ | ~ |
PyBoy | ![]() ![]() ![]() |
2.1.0 | ? | ? | ? | ✓ | ✓ | ~ |
KevBoy | ![]() ![]() ![]() |
0.3.1 | ? | ? | ? | ✓ | ✓ | ~ |
jgb | ![]() ![]() |
git | ✓ | ✓ | ? | |||
jgenesis | ![]() ![]() |
0.7.2 | ✓ | ✓ | ? | |||
DoubleCherryGB | ![]() ![]() |
git | ✓ | ✓ | ? | |||
higan (火眼) byuu (謬/view) |
![]() ![]() ![]() ![]() |
v110 libretro core |
~ | ? | ? | ✓ | ✓ | ✗[N 4] |
BDM | ![]() ![]() ![]() |
Demo | ? | ? | ? | ✗ | ~ | ✗ |
VGB | ![]() ![]() ![]() ![]() |
6.0 | ? | ? | ? | ✗ | ✓ | ✗ |
Gamebert | ![]() |
Git | ? | ? | ? | ✓ | ✓ | ✗ |
Pantheon | ![]() |
14.062 | ? | ? | ? | ✗ | ✓ | ✗ |
UGE | ![]() |
1.0 beta 9 | ? | ? | ? | ✓ | ✓ | ✗ |
KiGB | ![]() ![]() ![]() ![]() |
2.05 | ? | ? | ? | ✗ | ✗ | ✗ |
TGB Dual | ![]() ![]() |
1.2 | ? | ? | ? | ✓ | ✗ | ✗ |
GiiBiiAdvance | ![]() ![]() |
git | ? | ? | ? | ✓ | ✗ | ✗ |
MetroBoy | ![]() |
1.02 | ? | ? | ? | ✓ | ~ | ✗ |
hdmg | ![]() ![]() ![]() ![]() |
git | ? | ? | ? | ✓ | ✓ | ✗ |
Mobile / ARM
Name | Platform(s) | Latest version | Enhancements | Hardware features and accessories |
Mappers support level |
FLOSS | Active | Recommended |
---|---|---|---|---|---|---|---|---|
GBCC | ![]() |
beta41 git Artifacts |
~ | ~ | ? | ✓ | ✓ | ✓ Printer Kirby Camera |
Game Play Color | ![]() |
2.4.2 | ? | ? | ? | ✓ | ✓ | ✓ |
GBC.emu | ![]() ![]() |
1.5.77git 1.5.46.02 Pyra |
? | ? | ? | ✓ | ✓ | ✓ |
mGBA | ![]() ![]() |
libretro core 0.3 |
~ | ~ | Unlicensed | ✓ | ✓ | ~ |
SkyEmu | ![]() ![]() |
v3.2 (Play)v3.2 (Amazon)git | ~ | ? | ? | ✓ | ✓ | ~ |
GBA4iOS | ![]() |
2.1 git (new fork) |
? | ? | ? | ✓ | ✗ | ~ |
GameRoy | ![]() |
0.2.0 | ? | ? | ? | ✓ | ✓ | ~ |
8-Bit Wonders | ![]() |
0.8 (F-Droid) 0.8 (Play) 0.8 (Amazon) git |
✗ | ✗ | ? | ✓ | ✓ | roadmap |
MeBoy | ![]() |
1.6git | ? | ? | ? | ~ | ✗ | ~ |
My OldBoy! | ![]() |
2.0.0 | ? | ? | ? | ✗ | ✓ | ~ |
John GBC | ![]() |
3.93 | ? | ? | ? | ✗ | ✓ | ✗ |
Consoles
Name | Platform(s) | Latest version | Enhancements | Hardware features and accessories |
Mappers support level |
FLOSS | Active | Recommended |
---|---|---|---|---|---|---|---|---|
Nintendo Switch Online (Hiyoko) | ![]() |
N/A | ~ | ? | ? | ✗ | ✓ | ✓ |
Super Game Boy | ![]() |
N/A | ✗ | ? | ? | ✗ | ✗ | ✓ |
GameYob DS | ![]() |
git | ? | ? | ? | ✓ | ✗ | ✓ |
GameYob 3DS | ![]() |
1.0.8git | ? | ? | ? | ✓ | ✗ | ✓ |
VBA GX | ![]() ![]() ![]() |
nightly-builds | ? | ? | ? | ? | ✓ | ✓ |
PlutoBoy | ![]() ![]() ![]() ![]() ![]() ![]() ![]() |
git | ? | ? | ? | ✓ | ✓ | ✓ |
Gambatte_libretro | ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() |
libretro core | ~ | ~ | ? | ✓ | ~ | ✓ |
RIN | ![]() |
git RX 1.32n1.2 |
? | ? | ? | ✓ | ✗ | ✓ |
Virtual Console | ![]() |
8.10 | ? | ? | ? | ✗ | ✗ | ✓ |
mGBA | ![]() ![]() ![]() ![]() ![]() |
0.10.3 libretro core git |
~ | ~ | Unlicensed | ✓ | ✓ | ✓ |
GBEmu | ![]() |
0.1 | ? | ? | ? | ? | ✗ | ✓ |
RealBoy Vita | ![]() |
1.2git | ? | ? | ? | ✓ | ✗ | ~ |
ShuBoy | ![]() |
1.0 | ? | ? | ? | ✓ | ✗ | ~ |
aGBe | ![]() |
SF | ? | ? | ? | ✓ | ✗ | ✗ |
Hu-Boy | SuperGrafx TurboGrafx-CD TurboDuo |
V 0.30621 | ? | ? | ? | ✗ | ✓ | ✗ |
Firmware
Name | Platform(s) | Latest version | Enhancements | Hardware features and accessories |
Mappers support level |
FLOSS | Active | Recommended |
---|---|---|---|---|---|---|---|---|
PlutoBoy | ![]() |
git | ? | ? | ? | ✓ | ✓ | ✓ |
- ↑ Libretro core is still active.
- ↑ CI-Windows CI-Linux CI-Macos
- ↑ endrift's comment about libretro core
- ↑ Superseded by ares.
- ↑ On Linux as an SDL port (and the libretro core is based on this version).
Comparison
Game Boy-only emulators
- SameBoy
- One of the most accurate Game Boy emulator currently. The UI is simple and easy to use. It includes open source bootroms, although these can be replaced with real ones. Has debugging features and also emulates Game Boy Camera and Game Boy Printer.
- BGB
- A closed-source emulator for Windows (and Wine) with solid Game Boy and Game Boy Color accuracy, as well as near flawless link support. It has a wealth of options for color palettes. Most used for its advanced debugger.
- Gambatte
- Pretty accurate open-source Game Boy/Color emulator. It has a good range of options and features, though not quite as much as some other emulators. The main fork is not in active development, but the libretro core is still active.
- hhugboy
- A Windows-only Game Boy/Color emulator based on GEST with a focus on bootleg and unlicensed games. It is capable of detecting and correctly emulating the mapper on a number of games that are otherwise broken on other emulators, but some ROMs require manually selecting the mapper on the Unlicensed Compatibility Mode menu. Besides the usual raw dumps, it also supports the footered GBX ROM format, which correctly informs the emulator which mapper to run regardless of what the internal headers say.
- GameRoy
- A Game Boy emulator, dissasembler and debugger written in Rust. It has high accuracy and accurate clock frequency. It is more suited for debugging uses for now.
- TGB Dual
- An ancient emulator that supports link cable emulation. It also supports netplay, but it requires a VPN. The libretro port supports local multiplayer using player 2's controls.
- KiGB
- An old and obsolete emulator which boasted its accuracy but was proven to be full of game-specific hacks.[1][2][3] It has a wide selection of features, but other emulators have caught up and are already doing much better.
- GiiBiiAdvance
- Pioneered full GB Camera emulation, including webcam support. Aside from that, it's an unfinished emulator with the basics set up, but its promising future currently on hiatus. It has very accurate timing.
- MetroBoy
- Extremely accurate Game Boy simulator which being written in a subset of C++ that's designed to to be mechanically translated into Verilog HDL.
- Ironboy
- A very recent and promising emulator written in Rust for WebAssembly which is focus only on the original Game Boy (DMG) to achieve the highest degree of accuracy. Unfortunately, it only supports monochrome Game Boy games.
- binjgb
- A GB + GBC emulator for both desktop and WebAssembly, developed by Ben "binji" Smith since 2016. Most famously used by McDonald's in 2023 to publish Grimace's Birthday as a browser game.
- Nintendo Switch Online (Hiyoko)
- GB support was added to Nintendo Switch Online in February 2023, alongside GBA games exclusive to the Expansion Pack tier;
- Users are limited to the selection of games Nintendo chooses to make available on the service;
- Supports online and Local Play (up to 2 players, Local Play must be with individual Switch systems);
- Supports tilt controls through gyroscope or normal controllers (e.g.: Kirby's Tilt 'n' Tumble);
- Supports infrared emulation (e.g.: Pokémon Trading Card Game);
- Palette styles can be applied (original GB, Pocket, and GBC);
- No Super Game Boy features supported (it always runs games in GBC mode);
- Allows exchange of regional variants in the International version of the app (USA and/or European versions);
- Different games between regions (Japan and International)
List of recommended GB/GBC emulators for Android:
- 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.)
GB/C emulation on GBA emulators
This shouldn't be confused with actual backwards compatibility on GBA emulation.
- mGBA
- Primarily emulates the Game Boy Advance but it also includes GB/C support much like the original system. It's a solid implementation, with most of the library working perfectly.
- GBE+
- An emulator that has a large effort in preserving the functions of a multitude of obscure accessories that other emulators don't focus on. It can also load custom tiles in games, including colorized tiles for original Game Boy titles.
- VisualBoy Advance-M (VBA-M)
- Used to be the go-to for Game Boy Advance emulation and even included solid GB/C emulation. It's now behind mGBA on both fronts.
Multi-system emulators
- higan/ares
- Because it started out as a SNES emulator (its original name was bsnes), it was the first one that properly emulated all of the Super Game Boy's features, such as SPC sound chip utilization, which requires the SNES and GameBoy to be emulated simultaneously so it's demanding.[4]
- BizHawk
- Uses a modified Gambatte core. It provides speedrunning tools.
- MAME
- Has solid Game Boy emulation through its
gameboy
driver despite the sound being imperfect, as well as slightly worse Game Boy Color compatibility through itsgbcolor
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 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 hhugboy try to emulate that behavior with various degrees of success (Compatibility List). The hhugboy project also proposed a similar solution to iNES for this mapper problem, as the 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 mGBA support.
Enhancements
Name | GBE+ | mGBA | VBA-M | SameBoy | BGB | GBCC | SkyEmu | Mesen | BizHawk | Nintendo Switch Online (Hiyoko) | |
---|---|---|---|---|---|---|---|---|---|---|---|
Graphics | Resizable Internal Resolution | For emulation of 2D systems, the resolution can only be upscaled, making the pixels more apparent. | |||||||||
Widescreen hack Possible with technique called WideGB which uses a similar technique as WideNES. |
Exclusive to SameBoy WideGB fork at the moment. | ||||||||||
Sprite Replacement | Exclusive to GBE+ emulator at the moment. | ||||||||||
Performance | Overclock | ✗ | |||||||||
TAS features | Macros/Scripts/Lua | ✓ | ✗ | ||||||||
Rewind | ✓ | ✓ | |||||||||
Fast-Forward/Turbo Speed | ✓ | ✓ | |||||||||
Savestates | ✓ | ✓ | ✓ | ||||||||
Movie recording/playback | ✓ | ||||||||||
Post-Processing | Filters | ✓ | ✓ | ✓ | ✓ | ||||||
AI-powered filter compatible (Freestyle) |
? | ? | ? | ? | ? | ? | ? | ? | ? | ✗ | |
Shader Chain | ✗ | ||||||||||
Inverse tone mapping compatible | ? | ? | ? | ? | ? | ? | ? | ? | ? | ✗ | |
Quality of life | Built-in Custom resolution/CRTSwitchRes For using this on Windows OS you need CRT Emudriver. Another option is using EDID editor tool such as "Custom Resolution Utility". |
Exclusive to libretro cores and GroovyMAME at the moment. Also there is a project for achieving software emulators like libretro cores and GroovyMAME send the raw RGB data over a network to a core running on MiSTer, it basically turns the MiSTer into a GPU for the emulator allowing for easy setup and use with CRT TVs/Arcade monitors. | |||||||||
Built-in Cheat Manager | ~[N3 1] | ✗ | |||||||||
Streamable compression format | ✓ | ✗ | |||||||||
Built-in Game Boy sound player | ~[N3 1] | ✗ | |||||||||
Per-Game Profiles | |||||||||||
Command Line Options | |||||||||||
Big Picture Mode | |||||||||||
Controls | Input lag-mitigating technique | ~[N3 2] | ✗ | ||||||||
Misc | Netplay | ~[N3 2] | ✗* | ✓ | |||||||
EmuVR support | Exclusive to libretro cores at the moment. | ||||||||||
RetroAchievements Game Boy, Game Boy Color |
~[N3 2] | ~[N3 2] | ~[N3 2] | ✓ | ✗ | ||||||
Debug features | ✓* | ✓* | ✗ |
- ↑ 1.0 1.1 For MacOS only.
- ↑ 2.0 2.1 2.2 2.3 2.4 Input lag mitigation technique and RetroAchievements exclusive to libretro cores. Also netplay enhancement exclusive to SameBoy libretro core.
Hardware features and accessories
Name | GBE+ | mGBA | VBA-M | SameBoy | BGB | GBCC | SkyEmu | Mesen | BizHawk | Nintendo Switch Online (Hiyoko) | |
---|---|---|---|---|---|---|---|---|---|---|---|
Inputs | Motion Control (Tilt Sensor) | ✓ | ~[N 1] | ~[N 2] | ✓ | ~[N 2] | ✓[N 3] | ? | ? | ? | ? |
Rumble | ✓ | ✓ | ✓ | ✓ | ✗ | ✓ | ? | ? | ? | ? | |
Game Boy Camera | ✗ | ~ [N 1] | ~ | ~[N 4] | ✓ | ~[N 5] | ? | ? | ? | ? | |
Barcode Boy | ✓ | ✗ | ✗ | ✗ | ✗ | ✗ | ? | ? | ? | ✗ | |
Barcode Taisen Bardigun | ✓ | ✗ | ✗ | ✗ | ✗ | ✗ | ? | ? | ? | ? | |
Connectivity | Link Cable[N 6] | ✗ | ~[N 7] | ✓ | ~[N 8] | ✓ | ~[N 9] | ✗* | ? | ? | ? |
IR Transmitter | ✓ | ✗ | ✗ | ✗ | ✗ | WIP | ? | ? | ? | ? | |
Online features | ~ | ✗ | ✗ | ✗ | ✓ | ✗ | ? | ? | ✗ | ✗ | |
4-Player Adapter | ✓ | ✗ | ✗ | ✗ | ✗ | ✗ | ? | ? | ? | ✗ | |
Special hardware | Game Boy Printer | ✓ | ~[N 1] | ✓ | ~[N 4] | ✗ | ✓[N 10] | ? | ? | ? | ? |
GB Pocket Sonar | ✓ | ✗ | ✗ | ✗ | ✗ | ✗ | ? | ? | ? | ? | |
Singer Sewing Machine | ✓ | ✗ | ✗ | ✗ | ✗ | ✗ | ? | ? | ? | ? | |
WorkBoy | ✗* | ? | ? | ~[N 4] | ? | ? | ? | ? | ? | ? | |
Pokémon Pikachu 2 GS | Communication | ✗ | ✗ | ✗ | ✗ | ✗ | ✗ | ✗ | ✗ | ? | ? |
Emulation | ✗ | ✗ | ✗ | ✗ | ✗ | ✗ | ✗ | ✗ | ? | ? |
- ↑ 1.0 1.1 1.2 Not available on Libretro core.
- ↑ 2.0 2.1 Motion Control does not support controller's gyro. Supports only remapping to mouse/keyboard/gamepad.
- ↑ GBCC uses Android real Accelerometer hardware
- ↑ 4.0 4.1 4.2 For MacOS only.
- ↑ Only on Android, uses real front/back Camera hardware permission required.
- ↑ Super Game Boy for SNES supports only on the Japan-exclusive Super Game Boy 2.
gameyob for DS emulator supports it through NiFi.
Virtual Console for Switch only supports for Pokemon only. - ↑ mGBA pretty buggy but sometimes works.
- ↑ SameBoy's libretro core supports Link Cable, standalone does not.
- ↑ GBCC only supports a fake "link" with itself.
- ↑ GBCC uses Android real Printer hardware
IR Transmitter
The Game Boy Color had an infrared transmitter and receiver. Generation II Pokémon games made use of this feature through Mystery Gift. Super Mario Bros. Deluxe could send high scores to another cartridge. GBE+ had basic IR emulation back in July 2016 but it then only worked with Pokémon games. Now, as of April 2018, it has full IR emulation for most IR-enabled games (Hudson Soft's HuC-1's IR capabilities need to be emulated for Japanese Pokémon TCG).
Game Boy Camera
The Game Boy Camera is an official Nintendo accessory for the Game Boy and was released in 1998. Users can take pictures and modify them with stickers and frames, as well as play several included minigames. In addition to the original model, there was a US-exclusive Legend of Zelda: Ocarina of Time edition that included different stamps.
The first emulator to have some capability of emulating the Game Boy Camera was a modified version of an old emulator called Hash. This version, named Hashcam, can still be found on the author's website. While there were some efforts to run the Game Boy Camera ROM in BGB unofficially, the author didn't show much interest in it. However, it is fully emulated with webcam support in a lesser-known emulator called GiiBiiAdvance.
As of version 0.7.0, or any dev builds post 0.6.0, mGBA can emulate this accessory by either using the PC's webcam or sending a BMP, GIF, JPEG, PNG, or other image format to the game, as if it was coming from the camera itself.[5] The camera is also functional on the 3DS port. To enable the PC webcam, go to Game Boy
under settings
and switch the camera driver
to Qt Multimedia
, or by editing qt.ini
and setting cameraDriver=1
under [General]
.
Game Boy Printer
Game Boy Printer is a thermal printer accessory released by Nintendo in 1998 used in conjunction with the Game Boy Camera and also used to prints images from compatible GB games such as Pokémon Gold and Silver, Pokémon Crystal, Super Mario Bros. Deluxe, Donkey Kong Country and The Legend of Zelda: Link's Awakening DX.
VisualBoy Advance (including its forks), GBE+ and mGBA have Game Boy Printer support that turn the signals into a bitmap form of the image.
Motion Control (Tilt Sensor)
Two Game Boy Color games featured a built-in tilt sensor: Kirby Tilt 'n' Tumble and Command Master. These games cannot be played without support for this feature. VBA and KiGB have a "Motion Sensor" option to map four directional keys to emulate the cartridge tilting, but the controls aren't analog. BGB can emulate the tilting features with the use of the mouse. SameBoy allows to use the mouse, as well as a joystick, and on the Cocoa frontend, is supporting controller's motion controls. mGBA supports controller's motion controls and allows to assign stic's X an Y axes. Hiyoko, the official GBC emulator for Nintendo Switch Online, emulates motion controls for Kirby Tilt 'n' Tumble by translating gyroscope input either from the console itself (when playing in portable mode) or from a detached Joy-Con or Switch Pro Controller (when playing in docked mode).
Rumble
A good number of cartridges came with a built-in rumble that required an AAA battery to power, such as Pokémon Pinball, but the feature is optional. So far, only VBA-GX emulates rumble in these games, including games that have their rumble feature dummied out (one being Tarzan).
Multiplayer
- Link Cable: BGB, KiGB, some versions of VBA-M and TGB-Dual supports link cable. It can also be used for Netplay on the corresponding RetroArch core. Two-player games via the Game Link Cable list.
- 4-Player Adapter: Currently only GBE+ and DoubleCherryGB supports it.
- Faceball 2000 16-Player Link Cable: There is a 16-Player adapter as well, but it went unreleased outside of unused code in some games, but it is emulated by DoubleCherryGB emulator and allows to play Faceball 2000 in local splitscreen and via netplay.
- Multiplayer Hacks: DoubleCherryGB emulates virtual link-cable devices that allow Tetris Battle Royal and Kwirk Multiplayer up to 16 players on local splitscreen and via netplay.
Online features
Mobile Game Boy Adapter
There is a Japan-only accessory that communicates with Mobile Golf and Japanese Pokémon Crystal. It was bundled with Mobile Trainer cartridge which allowed the player to use e-mail as well as browse Nintendo's website. It saw use on some Game Boy Color and Game Boy Advance games, but support was limited to Japan, and the servers went offline by 2002.
It is possible to partially emulate its feature for Pokémon Crystal by using BGB's scripting capability, and GBE+ can at least reach the title screen of Mobile Trainer and made some progress in July 2018, but otherwise, no emulators (except for a recently leaked at time of writing internal emulator) properly support this accessory.
Hudsonsoft KISS Link
This accessory both allowed IR communications between 2 gameboys before the Game Boy Color existed with it’s IR port and with a modem, it allowed users to download exclusive content by them from Hudsonsoft's website. No emulator supports this. Resources about this super obscure accessory include http://nectaris.tg-16.com/GB-KISS-LINK-FAQ-hudson-gameboy-nectaris.html and https://www.youtube.com/watch?v=uOuJ0EcA8IQ
Accessories
There are a few accessories that the Game Boy and Game Boy Color had. Due to their very small and game-specific use, most emulators don't bother with them at all, save for GBE+.
- Game Boy Pocket Sonar: Japan only cartridge released by Bandai. It is a sonar-enabled device used for fishing with a fishing game included. Only GBE+ supports this feature. A similar cartridge was released for the WonderSwan (still unemulated).
- Barcode Boy: An obscure Japan-only barcode-scanning device released by Namcot (then-Namco's consumer division) in 1992. A total of 4 games were released to utilize this accessory. KiGB and GEST claim support for this device, but they only feed random data to Game Boy until the game accepts it as a valid barcode. GBE+ has proper emulation with the ability to read barcodes from binary files. DoubleCherryGB also has full support. All barcodes are hardcode. After each scan the next barcode is loaded.
- Barcode Taisen Bardigun: Another Japan only barcode-scanning device with the dedicated game. GBE+ supports this accessory.
- Singer Sewing Machine: There is link cable support for the Singer IZEK Digital Sewing Machine. The IZEK was unique in that it came bundled with a specially coloured Game Boy and a cartridge for interfacing with the machine.[6][7] Despite the IZEK's rarity, support for it has been added in a recent GBE+ release.[8]
- Suzuki Pocket Dash Diagnostic System and Aprilia DITECH Interface: A series of diagnostic cartridges used for Suzuki and Aprilia scooters respectively, developed by Orbital Technologies in the early 2000s. Both were used to interface with a supported motorcycle's engine control unit (ECU) in a similar manner to OBD tools for automobiles. The diagnostic cartridges were only made available for use by motorcycle dealerships and were not licensed by Nintendo. No dump of either cartridge exists as of 2024.
Emulation issues
Oversaturation
The Game Boy Color's screen is under-saturated. Game developers often work around this by using brighter colors knowing it'll be compensated for on hardware. This does not translate well in emulation, because standard LCD screens don't account for this sort of issue. Many emulators attempt to combat this issue with options that adjust accordingly; if not directly, then shader functionality may be implemented.
This issue also affects Game Boy Advance emulation.
Emulator options
mGBA: Under Tools > Settings > Shaders, you will find three customizable Desaturation parameters.
VBA-M: Under Options > Game Boy, you will find the GB color option. The recent nightly builds also include the LCD Filter option.
For more information about Game Boy hardware and reverse engineering;
- meganesu: Game Boy CPU Instructions
- Rodrigo Copetti: Game Boy Architecture Practical Analysis
- MVG: How Graphics worked on the Nintendo Game Boy, Learn to code and write games on the Nintendo Game Boy, Secrets of the Nintendo Game Boy Boot Logo, How Cartridges worked on the Nintendo Game Boy
- kOOPa and nocash: Pan Docs
- Gameboy Development Wiki
References
- ↑ https://github.com/mgba-emu/mgba/issues/238
- ↑ http://gbdev.gg8.se/wiki/articles/Test_ROMs#Emulators_running_on_desktop_computers
- ↑ http://gbdev.gg8.se/wiki/articles/KiGB
- ↑ https://old.reddit.com/r/emulation/comments/zwq9fu/ares_crossplatform_open_source_multisystem/j1ys10k/
- ↑ Game Boy Camera in mGBA dev builds. Twitter (2017-07-28)
- ↑ Game Boy Part 2 - Did You Know Gaming? Feat. Jake of Vsauce3. Youtube (2014-05-24)
- ↑ Singer IZEK Digital Sewing Machine - Gameboy Color Controller (Game Boy Color) Review. Youtube (2014-06-24)
- ↑ Edge of Emulation: Game Boy Sewing Machines
External links
- Gameboy Development Wiki – Information about the Game Boy
See also
Consoles: Color TV-Game • Nintendo Entertainment System (Family Computer) • Super Nintendo Entertainment System (Super Family Computer) • Nintendo 64 • GameCube • Wii • Wii U • Nintendo Switch Handhelds: Game & Watch • Game Boy/Color • Virtual Boy • Game Boy Advance • Nintendo DS • Nintendo DSi • Nintendo 3DS Related: Family Computer Disk System • Satellaview • 64DD • Super Game Boy • e-Reader • Amiibo • Triforce (Arcade) • Namco ES3 (Arcade) |