Difference between revisions of "Game Boy/Game Boy Color emulators"

From Emulation General Wiki
Jump to navigation Jump to search
(Emulators)
(Accessories: Added the OBD cartridges for Suzuki and Aprilia mopeds)
(219 intermediate revisions by 80 users not shown)
Line 1: Line 1:
[[File:942953-database_hardware_gameboy01.jpg|thumb|The Game Boy handheld console]]
+
{{Infobox console
The [[wikipedia:Game Boy|Game Boy]] is an 8-bit, fourth-generation handheld console released by Nintendo in 1989. The original model has a monochrome display. A revision called the Game Boy Pocket was released in 1996, offering a more compact body and a better screen. In Japan, a special edition of Game Boy Pocket, called the Game Boy Light, added a front light to the screen. This feature would not be seen in Nintendo handhelds outside Japan until the Game Boy Advance SP.
+
|title = Nintendo Game Boy/Color
 +
|logo = Game_Boy.png
 +
|developer = [[:Nintendo]]
 +
|type = [[:Category:Consoles|Handheld game console]]
 +
|generation = [[:Category:Fourth-generation video game consoles|Fourth generation]]
 +
|release = 1989
 +
|discontinued = 2003
 +
|predecessor = [[Game & Watch]]
 +
|successor = [[Virtual Boy emulators|Virtual Boy]]
 +
|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 {{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]].
  
Many Game Boy emulators offer at least some of the special features of the [[wikipedia:Super Game Boy|Super Game Boy]], a special cartridge for the SNES released in 1994. It allows playback of original Game Boy games with added borders, colorization and custom button mappings.  A Japan-exclusive revision called the Super Game Boy 2 would add link cable support, new borders and more accurate CPU timing.
+
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.
  
The Game Boy's successor, the [[wikipedia:Game Boy Color|Game Boy Color]] (GBC), was released in 1998. It features a color screen and a CPU clocked at double the speed of the original. Otherwise, the hardware similarities allow cross-compatibility between the two platforms.
+
Nintendo released a peripheral for the [[Super Nintendo emulators|Super Nintendo Entertainment System]] called [[wikipedia:Super Game Boy|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.
  
 
==Emulators==
 
==Emulators==
There is tons of Game Boy emulators. See for example on [https://github.com/search?o=desc&q=gameboy+emulator&s=updated&type=Repositories&utf8=%E2%9C%93 GitHub].
+
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 [[GB/C Tests]].
{| class="wikitable"
+
{| class="wikitable" style="text-align:center;"
 
! scope="col"|Name
 
! scope="col"|Name
! scope="col"|Operating System(s)
+
! scope="col"|Platform(s)
 
! scope="col"|Latest Version
 
! scope="col"|Latest Version
 
! scope="col"|Game Link Support
 
! scope="col"|Game Link Support
 
! scope="col"|[[libretro|Libretro Core]]
 
! scope="col"|[[libretro|Libretro Core]]
! scope="col"|[[Recommended emulators|Recommended]]
+
! scope="col"|Active
 +
! scope="col"|[[Recommended Emulators|Recommended]]
 
|-
 
|-
!colspan="7"|PC
+
!colspan="7"|PC / x86
 
|-
 
|-
|style="text-align:center;"|BGB
+
|[[SameBoy]]
|style="text-align:center;"|Windows
+
|align=left|{{Icon|Windows|Linux|macOS|FreeBSD}}
|style="text-align:center;"|[http://bgb.bircd.org/#downloads 1.5.4]
+
|[https://sameboy.github.io/downloads/ {{SameBoyVer}}]
|style="text-align:center;"|✓
+
|{{✓}}<ref group=N name=sameboylink>SameBoy's libretro core supports Link Cable, standalone does not.</ref> ||{{}} ||{{✓}} ||{{}}
|style="text-align:center;"|
 
|style="text-align:center;"|✓
 
 
|-
 
|-
|style="text-align:center;"|[[Gambatte]]
+
|[[BGB]]
|style="text-align:center;"|Multi-platform
+
|align=left|{{Icon|Windows}}
|style="text-align:center;"|[https://sourceforge.net/projects/gambatte/files/gambatte/r571/ r571]
+
|[http://bgb.bircd.org/#downloads {{BGBVer}}]
|style="text-align:center;"|✗
+
|{{✓}} ||{{}} ||{{}} ||{{}}
|style="text-align:center;"|✓
 
|style="text-align:center;"|✓
 
 
|-
 
|-
|style="text-align:center;"|[https://github.com/drhelius/Gearboy Gearboy]
+
|[[Gambatte]]
|style="text-align:center;"|Multi-platform
+
|align=left|{{Icon|Windows|Linux|macOS}}
|style="text-align:center;"|[https://github.com/drhelius/Gearboy/releases 2.3.1]
+
|[https://sourceforge.net/projects/gambatte/files/gambatte/ {{GambatteVer}}]
|style="text-align:center;"|
+
|{{✗}} ||{{✓}} ||{{✓}} ||{{✓}}
|style="text-align:center;"|
 
|style="text-align:center;"|
 
 
|-
 
|-
|style="text-align:center;"|[[BizHawk]]
+
|[[Gearboy]]
|style="text-align:center;"|Windows
+
|align=left|{{Icon|Windows|Linux|macOS|FreeBSD}}
|style="text-align:center;"|[http://tasvideos.org/BizHawk/ReleaseHistory.html {{BizHawkVer}}]
+
|[https://github.com/drhelius/Gearboy/releases {{GearboyVer}}]
|style="text-align:center;"|
+
|{{✗}} ||{{✓}} ||{{✓}} ||{{✓}}
|style="text-align:center;"|
 
|style="text-align:center;"|
 
 
|-
 
|-
|style="text-align:center;"|[https://github.com/davideberra/emu-pizza Emu-pizza]
+
|[[BizHawk]]
|style="text-align:center;"|Linux
+
|align=left|{{Icon|Windows}}
|style="text-align:center;"|
+
|[http://tasvideos.org/BizHawk/ReleaseHistory.html {{BizHawkVer}}]
|style="text-align:center;"|✗
+
|{{✓}} ||{{}} ||{{✓}} ||{{✓}}
|style="text-align:center;"|
 
|style="text-align:center;"|
 
 
|-
 
|-
|style="text-align:center;"|[[GBE+]]
+
|[http://binji.github.io/binjgb/ binjgb]
|style="text-align:center;"|Windows, Linux, OS X (untested)
+
|align=left|{{Icon|Web}}
|style="text-align:center;"|[https://drive.google.com/file/d/0B5aZT1MLfWJsdXAzZXV0dURiNUE/view SVN 30.5.2016]
+
|[https://github.com/binji/binjgb/releases {{binjgbVer}}]
|style="text-align:center;"|✗
+
|{{✗}} ||{{}} ||{{✓}} ||{{~}}
|style="text-align:center;"|
 
|style="text-align:center;"|
 
 
|-
 
|-
|style="text-align:center;"|[[higan]]
+
|[[MAME]]
|style="text-align:center;"|Windows, Linux, OS X
+
|align=left|{{Icon|Windows|Linux|macOS|FreeBSD}}
|style="text-align:center;"|[http://byuu.org/emulation/higan/ {{higanVer}}]
+
|[http://www.mamedev.org/release.html {{MAMEVer}}]
|style="text-align:center;"|
+
|{{✗}} ||{{✓}} ||{{✓}} ||{{~}}
|style="text-align:center;"|
 
|style="text-align:center;"|
 
 
|-
 
|-
|style="text-align:center;"|KiGB
+
|[http://emulicious.net Emulicious]
|style="text-align:center;"|Windows, Linux, OS X
+
|align=left|{{Icon|Windows|Linux|macOS|FreeBSD}}
|style="text-align:center;"|[http://kigb.emuunlim.com/kigb_win.zip 2.05]
+
|[https://emulicious.net/downloads/ {{EmuliciousVer}}]
|style="text-align:center;"|
+
|{{✗}} ||{{✗}} ||{{✓}} ||{{~}}
|style="text-align:center;"|
 
|style="text-align:center;"|
 
 
|-
 
|-
|style="text-align:center;"|[[MAME]]
+
|[[higan]]
|style="text-align:center;"|Multi-platform
+
|align=left|{{Icon|Windows|Linux|macOS|FreeBSD}}
|style="text-align:center;"|[http://www.mamedev.org/release.html {{MAMEVer}}]
+
|[http://byuu.org/emulation/higan/ {{higanVer}}]
|style="text-align:center;"|?
+
|{{✗}} ||{{✓}} ||{{}} ||{{}}
|style="text-align:center;"|✓
 
|style="text-align:center;"|✗
 
 
|-
 
|-
|style="text-align:center;"|[[mGBA]]
+
|[[mGBA]]
|style="text-align:center;"|Multi-platform
+
|align=left|{{Icon|Windows|Linux|macOS|FreeBSD}}
|style="text-align:center;"|[https://endrift.com/mgba/downloads.html {{MGBAVer}}]
+
|[https://mgba.io/downloads.html {{MGBAVer}}]
|style="text-align:center;"|?
+
|{{✓}}<ref group=N name=mgbalink>Pretty buggy but sometimes works.</ref> ||{{✓}} ||{{}} ||{{}}
|style="text-align:center;"|✓
 
|style="text-align:center;"|✗
 
 
|-
 
|-
|style="text-align:center;"|[https://github.com/LIJI32/SameBoy SameBoy]
+
|[[VisualBoy Advance|VisualBoy Advance-M (VBA-M)]]
|style="text-align:center;"|Multi-platform
+
|align=left|{{Icon|Windows|Linux|macOS|FreeBSD}}
|style="text-align:center;"|[https://github.com/LIJI32/SameBoy/releases 0.8]
+
|[https://github.com/visualboyadvance-m/visualboyadvance-m/releases {{VBAMVer}}]
|style="text-align:center;"|
+
|{{✓}} ||{{✓}}<ref group=N name=one>Full GBC, GBA and GB support since version 2.1.3.</ref>||{{}} ||{{}}
|style="text-align:center;"|✓
 
|style="text-align:center;"|✗
 
 
|-
 
|-
|style="text-align:center;"|[[VisualBoy Advance|Visual Boy Advance-M (VBA-M)]]
+
|[[GBE+]]
|style="text-align:center;"|Multi-platform
+
|align=left|{{Icon|Windows|Linux|macOS}}
|style="text-align:center;"|[http://www.emucr.com/search/label/VisualBoyAdvance-M/ SVN]
+
|[https://github.com/shonumi/gbe-plus/releases {{GBEVer}}]
|style="text-align:center;"|
+
|{{✗}} ||{{✗}} ||{{✓}} ||{{}}
|style="text-align:center;"|✗*
 
|style="text-align:center;"|✗
 
 
|-
 
|-
|style="text-align:center;"|GiiBiiAdvance
+
|[https://fms.komkon.org/VGB/ VGB]
|style="text-align:center;"|Windows, Linux
+
|align=left|{{Icon|Windows|Linux|macOS|FreeBSD}}
|style="text-align:center;"|[https://github.com/AntonioND/giibiiadvance/releases 0.2.0]
+
|[https://fms.komkon.org/VGB/ {{VGBVer}}]
|style="text-align:center;"|✗
+
|{{✗}} ||{{}} ||{{✓}} ||{{}}
|style="text-align:center;"|
 
|style="text-align:center;"|✗
 
 
|-
 
|-
|style="text-align:center;"|[[TGB Dual]]
+
|[[Pantheon]]
|style="text-align:center;"|Windows, Linux**
+
|align=left|{{Icon|Windows}}
|style="text-align:center;"|[https://github.com/libertyernie/tgbdual_L/releases "L" v1.2]
+
|[http://bostjan-grandovec.si/Content/News.htm {{PantheonVer}}]
|style="text-align:center;"|
+
|{{✗}} ||{{✗}} ||{{}} ||{{}}
|style="text-align:center;"|✓**
 
|style="text-align:center;"|✗
 
 
|-
 
|-
!colspan="7"|Mobile
+
|[http://hhug.me/ hhugboy]
 +
|align=left|{{Icon|Windows}}
 +
|[https://github.com/tzlion/hhugboy/releases/tag/v1.2.7 {{hhugboyVer}}]
 +
|{{✓}} ||{{✗}} ||{{✗}} ||{{✗}}
 
|-
 
|-
|style="text-align:center;"|[[Gambatte]]
+
|UGE
|style="text-align:center;"|Multi-platform
+
|align=left|{{Icon|Windows}}
|style="text-align:center;"|[https://sourceforge.net/projects/gambatte/files/gambatte/r571/ r571]
+
|[https://github.com/SuperDisk/hUGETracker/releases {{UGEVer}}]
|style="text-align:center;"|✗
+
|{{✗}} ||{{}} ||{{}} ||{{✗}}
|style="text-align:center;"|✓
 
|style="text-align:center;"|
 
 
|-
 
|-
|style="text-align:center;"|[[mGBA]]
+
|[[KiGB]]
|style="text-align:center;"|Multi-platform
+
|align=left|{{Icon|Windows|Linux|macOS}}
|style="text-align:center;"|[https://endrift.com/mgba/downloads.html {{MGBAVer}}]
+
|[http://kigb.emuunlim.com/downloads.htm 2.05]
|style="text-align:center;"|?
+
|{{}} ||{{✗}} ||{{✗}} ||{{}}
|style="text-align:center;"|
 
|style="text-align:center;"|✗
 
 
|-
 
|-
|style="text-align:center;"|[[TGB Dual]]
+
|[[TGB Dual]]
|style="text-align:center;"|Windows, Linux**
+
|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>
|style="text-align:center;"|[https://github.com/libertyernie/tgbdual_L/releases "L" v1.2]
+
|[https://github.com/libertyernie/tgbdual_L/releases "L" v1.2]
|style="text-align:center;"|✓
+
|{{✓}} ||{{}}<ref group=N name=two /> ||{{✗}} ||{{}}
|style="text-align:center;"|✓**
 
|style="text-align:center;"|✗
 
 
|-
 
|-
|style="text-align:center;"|GBC.emu
+
|GiiBiiAdvance
|style="text-align:center;"|Android
+
|align=left|{{Icon|Windows|Linux}}
|style="text-align:center;"|1.5.19
+
|[https://github.com/AntonioND/giibiiadvance/releases 0.2.0]
|style="text-align:center;"|?
+
|{{✗}} ||{{✗}} ||{{}} ||{{}}
|style="text-align:center;"|✗
 
|style="text-align:center;"|✗
 
 
|-
 
|-
|style="text-align:center;"|My OldBoy!
+
|MetroBoy
|style="text-align:center;"|Android
+
|align=left|{{Icon|Windows}}
|style="text-align:center;"|1.0.3
+
|[https://github.com/aappleby/MetroBoy/releases {{MetroBoyVer}}]
|style="text-align:center;"|?
+
|{{✗}} ||{{✗}} ||{{✓}} ||{{}}
|style="text-align:center;"|
 
|style="text-align:center;"|✗
 
 
|-
 
|-
|style="text-align:center;"|John GBC
+
!colspan="7"|Mobile / ARM
|style="text-align:center;"|Android
 
|style="text-align:center;"|3.50
 
|style="text-align:center;"|?
 
|style="text-align:center;"|✗
 
|style="text-align:center;"|
 
 
|-
 
|-
|style="text-align:center;"|GambatteDroid
+
|[[mGBA]]
|style="text-align:center;"|Android
+
|align=left|{{Icon|Android|iOS|Linux|Pandora}}
|style="text-align:center;"|?
+
|[https://endrift.com/mgba/downloads.html {{MGBAVer}}]
|style="text-align:center;"|?
+
|? ||{{✓}} ||{{✓}} ||{{✓}}
|style="text-align:center;"|
 
|style="text-align:center;"|
 
 
|-
 
|-
|style="text-align:center;"|GBA.emu
+
|GBA4iOS
|style="text-align:center;"|Android
+
|align=left|{{Icon|iOS}}
|style="text-align:center;"|1.5.19
+
|[https://iemulators.com/gba4ios 2.1]
|style="text-align:center;"|?
+
|{{✓}} ||{{✗}} ||{{✓}} ||{{✓}}
|style="text-align:center;"|✗
+
|-
|style="text-align:center;"|✗
+
|[[Game Play Color]]
 +
|align=left|{{Icon|iOS}}
 +
|[https://github.com/gameplaycolor/gameplaycolor/releases {{GamePlayColorVer}}]
 +
|{{✗}}||{{?}} ||{{✗}} ||{{✓}}
 +
|-
 +
|[http://www.explusalpha.com/home/gbc-emu GBC.emu]<br/><small>(Gambatte 0.5-wip based)</small>
 +
|align=left|{{Icon|Android}}
 +
|[https://play.google.com/store/apps/details?id=com.explusalpha.GbcEmu 1.5.43]
 +
|? ||{{✗}} ||{{✓}} ||{{✗}}
 +
|-
 +
|[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 1.5.2]
 +
|{{✓}} ||{{✗}} ||{{✓}} ||{{✗}}
 +
|-
 +
|John GBC
 +
|align=left|{{Icon|Android}}
 +
|[https://play.google.com/store/apps/details?id=com.johnemulators.johngbc 3.80]
 +
|? ||{{✗}} ||{{✓}} ||{{✗}}
 +
|-
 +
|[http://www.explusalpha.com/ GBA.emu]<br/><small>(VBA-M r1097 based)</small>
 +
|align=left|{{Icon|Android}}
 +
|[https://play.google.com/store/apps/details?id=com.explusalpha.GbaEmu 1.5.43]
 +
|? ||{{✗}} ||{{✓}} ||{{}}
 +
|-
 +
|[https://github.com/afjcjsbx/gambatte-droid GambatteDroid]
 +
|align=left|{{Icon|Android}}
 +
|1.2
 +
|? ||{{✗}} ||{{✗}} ||{{✗}}
 +
|-
 +
|[http://arktos.se/meboy/ MeBoy]
 +
|align=left|{{Icon|Java}}
 +
|2.2
 +
|{{✗}} ||{{✗}} ||{{✗}} ||{{}}
 
|-
 
|-
 
!colspan="7"|Consoles
 
!colspan="7"|Consoles
 
|-
 
|-
|style="text-align:center;"|[http://gbatemp.net/threads/gameyob-a-gameboy-emulator-for-ds.343407/ GameYob DS]
+
|[http://gbatemp.net/threads/gameyob-a-gameboy-emulator-for-ds.343407/ GameYob DS]
|style="text-align:center;"|[[Nintendo DS]]
+
|align=left|{{Icon|NDS}}
|style="text-align:center;"|[http://www.emucr.com/search/label/GameYob Git]
+
|[http://www.emucr.com/search/label/GameYob Git]
|style="text-align:center;"|✓ (NiFi)
+
|{{}} <small>(NiFi)</small> ||{{✗}} ||{{}} ||{{}}
|style="text-align:center;"|✗
 
|style="text-align:center;"|✓
 
 
|-
 
|-
|style="text-align:center;"|[https://gbatemp.net/threads/gameyob-3ds-gb-c-emu.372523/ GameYob 3DS]
+
|[https://gbatemp.net/threads/gameyob-3ds-gb-c-emu.372523/ GameYob 3DS]
|style="text-align:center;"|[[Nintendo 3DS]]
+
|align=left|{{Icon|3DS}}
|style="text-align:center;"|[https://github.com/Steveice10/GameYob/releases v1.0.8]
+
|[https://github.com/Steveice10/GameYob/releases v1.0.8]
|style="text-align:center;"|?
+
|? ||{{✗}} ||{{}} ||{{}}
|style="text-align:center;"|✗
 
|style="text-align:center;"|✓
 
 
|-
 
|-
|style="text-align:center;"|[[Visual_Boy_Advance_-M|Visual Boy Advance-M (VBA-M)]]
+
|[[VisualBoy_Advance#VBA-M|Visual Boy Advance-M (VBA-M)]]
|style="text-align:center;"|[[Wii]], [[Gamecube]]
+
|align=left|{{Icon|GCN|Wii}}
|style="text-align:center;"|r1231
+
|r1231
|style="text-align:center;"|
+
|{{}} ||{{}} <small>(as VBA-Next)</small> ||{{✓}} ||{{}}
|style="text-align:center;"|✓ (as VBA-Next)
 
|style="text-align:center;"|✓
 
 
|-
 
|-
|style="text-align:center;"|[http://filetrip.net/psp-downloads/homebrew/download-masterboy-210-f28308.html MasterBoy]
+
|[http://filetrip.net/psp-downloads/homebrew/download-masterboy-210-f28308.html MasterBoy]
|style="text-align:center;"|[[PlayStation Portable]]
+
|align=left|{{Icon|PSP}}
|style="text-align:center;"|2.10
+
|2.10
|style="text-align:center;"|✗
+
|{{✗}} ||{{}} ||{{}} ||{{}}
|style="text-align:center;"|✗
 
|style="text-align:center;"|✓
 
 
|-
 
|-
|style="text-align:center;"|[http://filetrip.net/psp-downloads/homebrew/download-gemp-homers-rin-33-final-f27565.html GeMP]
+
|[[Virtual Console]]
|style="text-align:center;"|[[PlayStation Portable]]
+
|align=left|{{Icon|3DS}}
|style="text-align:center;"|3.3 Final
+
|8.10
|style="text-align:center;"|✗
+
|{{✓}} <small>(Pokemon only)</small> ||{{}} ||{{✓}} ||{{✓}}
|style="text-align:center;"|
 
|style="text-align:center;"|
 
 
|-
 
|-
|style="text-align:center;"|[http://dl.qj.net/psp/emulators/rin-v132-gameboy-emulator/gameboy-color-emulator.html RIN]
+
|[[mGBA]]
|style="text-align:center;"|[[PlayStation Portable]]
+
|align=left|{{Icon|Wii|3DS}}<br>{{Icon|PSV}}
|style="text-align:center;"|1.32
+
|[https://endrift.com/mgba/downloads.html {{MGBAVer}}]
|style="text-align:center;"|
+
|? ||{{✓}} ||{{✓}} ||{{}}
|style="text-align:center;"|
 
|style="text-align:center;"|✗
 
 
|-
 
|-
|style="text-align:center;"|Virtual Console
+
|[http://filetrip.net/psp-downloads/homebrew/download-gemp-homers-rin-33-final-f27565.html GeMP]
|style="text-align:center;"|Nintendo 3DS
+
|align=left|{{Icon|PSP}}
|style="text-align:center;"|8.10
+
|3.3 Final
|style="text-align:center;"|✗
+
|{{✗}} ||{{✗}} ||{{✗}} ||{{✗}}
|style="text-align:center;"|✗
+
|-
|style="text-align:center;"|
+
|[http://dl.qj.net/psp/emulators/rin-v132-gameboy-emulator/gameboy-color-emulator.html RIN]
 +
|align=left|{{Icon|PSP}}
 +
|1.32
 +
|{{✗}} ||{{}} ||{{}} ||{{✗}}
 
|}
 
|}
<nowiki>*</nowiki> '' A VBA-M libretro core does exist, but it only emulates GBA.''<br />
+
<references group=N />
<nowiki>**</nowiki> ''As an SDL port (libretro core is based on this version)''
+
 
 +
===Comparison===
  
==Comparison==
 
 
====Game Boy-only emulators====
 
====Game Boy-only emulators====
* [http://bgb.bircd.org/ BGB] has excellent Game Boy and Game Boy Color accuracy, as well as near flawless link support. It has a wealth of options for color palettes and even enabling Super Gameboy colors and borders, though it doesn't emulate all of its functions. It also has an advanced debugger.
+
;[[SameBoy]]:A relatively new emulator, probably 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. Also emulates Game Boy Camera and Game Boy Printer.
* [[Gambatte]] is probably the most accurate Game Boy Color emulator. It has a good range of options and features, though not quite as much as some other emulators. It's open source, but there is no activity lately.
+
;[[BGB]]:A closed-source emulator for Windows (and [[Wine]]) with excellent Game Boy and Game Boy Color accuracy, as well as near flawless link support. It has a wealth of options for color palettes and even enabling Super Game Boy colors and borders, though it doesn't emulate all of its functions. It also has an advanced debugger.
* [[Visual_Boy_Advance_-M|Visual Boy Advance-M (VBA-M)]] has solid GB/C emulation as well as GBA.
+
;[[Gambatte]]:Extremely 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. It has not been as active lately.
* [[mGBA]] recently added GB/C support. It's still in development, but it's already on the level of many other emulators.
+
;[[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.
* [[GB Enhanced|GBE+]] is a recently rewritten emulator that can load custom tiles in games, including colorized tiles for Game Boy games. It also supports [[#Game Boy Features|obscure accessories]] that other emulators don't emulate.
+
;[[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] has full GB Camera emulation, including webcam support. Otherwise, it's an unfinished emulator with the basics set up, but it's promising future currently on hiatus.
+
;[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.
* [[TGB Dual]] is an ancient emulator that supports link cable emulation. It supports [[Netplay]], though it requires a VPN. The libretro port supports local multiplayer using player 2's controls.
+
 
* [http://kigb.emuunlim.com/ KiGB] is an old and obsolete emulator which boasted of 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 there are emulators which do much better now.
+
;[https://github.com/aappleby/MetroBoy 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.
 +
 
 +
'''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.)
  
====Multi-system emulators====
+
====Backwards-compatible GBA emulators====
* [[higan]] is the only emulator that properly emulates all of the Super Game Boy's features, such as utilizing the SPC sound chip, due to having a separate SNES core. Older version of bsnes used the Gambatte core for its Super Game Boy functionality, but later Byuu made his own Game Boy core, which has quite average accuracy. The last version of bsnes to use Gambatte as its SGB core is version 0.73.
+
;[[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 still in development, but it's already on the level of many other emulators.
* [[BizHawk]] uses a modified Gambatte core. It provides speedrunning tools.
+
;[[GBE+]]:A recently rewritten emulator that has a large effort in preserving the functions 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.
* [[MAME]] has solid Game Boy emulation, albeit with worse GBC compatibility. However, it features compatibility with obscure mappers, which other emulators usually ignore, like Wisdom Tree games or MMM01 multicarts.
+
;[[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.
* [[Mednafen]] uses cores originally forked from an old version of [[VisualBoy Advance]] for the GB and GBC, as well as for the GBA.
+
 
 +
====[[Multi-system emulators]]====
 +
;[[higan]]:Because it started out as a [[Super Nintendo emulators|SNES emulator]] (its original name was bsnes), it was the first and only one that properly emulated all of the Super Game Boy's features, such as SPC sound chip utilization. Versions of bsnes at and before v073 used the Gambatte core for its Super Game Boy functionality, but byuu eventually made his own Game Boy core, which ended up having pretty good accuracy.
 +
;[[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_.
 +
;[[Mednafen]]:Its Game Boy Advance core is forked from an old version of [[VisualBoy Advance]].
 +
 
 +
==Emulation issues==
  
==Issues==
 
[[File:Gbc over saturation2.png|thumb|right|350px|Comparison of saturation levels in VBA-M and Gambatte.]]
 
 
===Oversaturation===
 
===Oversaturation===
Emulators tend to oversaturate the colors that would have been seen on the GBC's screen. This can often be fixed with emulator-specific options or [[Shaders_and_Filters#Image_Adjustment|shaders]].
+
[[File:Gbc over saturation2.png|thumb|right|350px|Comparison of saturation levels in [[VisualBoy Advance#VBA-M|VBA-M]] and [[Gambatte]].]]
<br clear=all>
+
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.
==Game Boy Features==
 
===Hardware===
 
====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. While VBA and KiGB have a "Motion Sensor" option to map four directional keys to emulate the cartridge tilting, BGB can emulate the tilting features with the use of the mouse.
 
  
====IR Transmitter====
+
This issue also affects [[Game Boy Advance emulators#Oversaturation|Game Boy Advance emulation]].
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+ has [https://shonumi.github.io/articles/art4.html basic IR emulation] but currently it only works with Pokémon games.
 
  
===Accessories===
+
====Emulator options====
There are [[Wikipedia:Game Boy accessories#Game Boy|a few accessories that the Game Boy and Game Boy Color]] had.
+
 
 +
'''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.
 +
 
 +
===Unlicensed Mappers===
 +
Much like the NES, the Game Boy (and by extension, the Game Boy Color) used '''Memory Bank Controllers''' (MBC) (called MMCs on the NES) and also known informally as '''mappers''', to go beyond the restrictive initial hardware specifications. Nevertheless, Nintendo was much more careful to standardize their specifications to just a small number of possible mappers. Moreover, Game Boy ROMs now included an official internal header mandated by Nintendo that included the correct MMC type. This meant that for the officially licensed games, these mappers proved to be rarely a problem... with some notable unimplemented exceptions: Net de Get's MBC6 that offered downloadable content off the internet, and the MMM01 footer used for some official multi-cart games, among others.
 +
 
 +
However, shit hits the fan 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 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 mGBA support.
  
====Link Cable====
+
==Hardware Features==
BGB, KiGB, some versions of VBA-M and TGB-Dual supports link cable. It is unknown if the 4-way adaptor is emulated for games that support the feature.
+
===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====
+
===Game Boy Camera===
{| class="wikitable"
+
{| class="wikitable" style="text-align:center;"
 
! scope="col"|Name
 
! scope="col"|Name
! scope="col"|Operating System(s)
+
! scope="col"|Platform(s)
! scope="col"|Latest Version
+
! scope="col"|Build to Use
! scope="col"|[[Recommended emulators|Recommended]]
+
! scope="col"|[[Recommended Emulators|Recommended]]
 +
|-
 +
! colspan="4"|PC / x86
 +
|-
 +
|[[mGBA]]
 +
|align=left|{{Icon|Windows|Linux|macOS|FreeBSD}}
 +
|0.7
 +
|{{✓}}
 
|-
 
|-
|style="text-align:center;"|[[mGBA]]
+
|[[VisualBoy Advance#VBA-M|VBA-M]]
|style="text-align:center;"|Multi-platform
+
|align=left|{{Icon|Windows|Linux|macOS|FreeBSD}}
|style="text-align:center;"|Dev builds post 0.6.0
+
|Latest
|style="text-align:center;"|✓
+
|{{}}
 
|-
 
|-
|style="text-align:center;"|GiiBiiAdvance
+
|GiiBiiAdvance
|style="text-align:center;"|Windows
+
|align=left|{{Icon|Windows}}
|style="text-align:center;"|?
+
|?
|style="text-align:center;"|
+
|{{}}
 
|-
 
|-
|style="text-align:center;"|BGB
+
|[[BGB]]
|style="text-align:center;"|Windows
+
|align=left|{{Icon|Windows}}
|style="text-align:center;"|?
+
|?
|style="text-align:center;"|
+
|{{}}
 
|-
 
|-
|style="text-align:center;"|Hashcam
+
|Hashcam
|style="text-align:center;"|Windows
+
|align=left|{{Icon|Windows}}
|style="text-align:center;"|[http://www.darkfader.net/gbc]
+
|[http://www.darkfader.net/gbc Source]
|style="text-align:center;"|
+
|{{}}
 
|}
 
|}
 
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>.
  
The latest dev builds of mGBA post 0.6.0 release can emulate the accessory by either using the PC's webcam or send a BMP, GIF, JPEG, PNG, or other image format to the game, as if it was coming from the camera itself.<ref>[https://twitter.com/mGBA_emu/status/890954205472501762]</ref> 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===
 +
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''.
  
====Game Boy Printer====
+
[[VisualBoy Advance]] (including its forks), [[GBE+]] and [[mGBA]] have Game Boy Printer support that turn the signals into a bitmap form of the image.
[[VisualBoy Advance|VisualBoy Advance 1.8.0-beta 3]] and GBE+ had Game Boy Printer support that turned the signals into a bitmap form of the image. Some notable games and accessories to make use of this feature are the RPG Pokémon games, Super Mario Bros. Deluxe, and Game Boy Camera. mGBA plans to support this feature but it is unknown if other emulators support or have plans to support it.
 
  
====Mobile Game Boy Adapter====
+
===Motion Control (Tilt Sensor)===
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 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, but otherwise no emulators properly supports this accessory.
+
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.
  
====Hudsonsoft KISS Link====
+
===Rumble===
This accessory allowed users to download exclusive content by them from Hudsonsoft's website. No emulator supports this.
+
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. It is unknown if any emulator supports this feature.
  
====Game Boy Pocket Sonar====
+
===Multiplayer===
Another Japan only accessory exists released by Bandai. It is a sonar-enabled device used for fishing. No emulator supports this feature.
+
* '''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.
 +
* '''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 as such isn't emulated.
  
====Singer Sewing Machine====
+
===Online Features===
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>https://www.youtube.com/watch?v=AlhJKMXU7tg&t=5m25s</ref><ref>https://www.youtube.com/watch?v=K-Epj2_eJdA</ref> No emulator supports this, mostly due to the IZEK being a rare item, along with the complexity of implementing a [https://hackaday.com/2015/01/07/arduino-controlled-sewing-machine-increases-stitch-options/ similarly automated sewing machine].
+
====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.
  
====Barcode Boy====
+
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.
An obscure Japan only barcode-scanning device released by Namcot (then-Namco's consumer division) in 1992. 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 accept it as a valid barcode. GBE+ has [https://shonumi.github.io/articles/art7.html proper emulation] with the ability to read barcode from binary files.
 
  
====Barcode Taisen Bardigun====
+
====Hudsonsoft KISS Link====
Another Japan only barcode-scanning device with the dedicated game. GBE+ [https://shonumi.github.io/articles/art6.html supports this accessory].
+
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
  
====FM Radio====
+
===Accessories===
There is an FM radio cartridge by BEESHU to allow the Game Boy to become a portable radio. No emulator supports this.
+
There are [[wikipedia:Game Boy accessories#Game Boy|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+.
  
====Workboy====
+
* '''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).
Using the link cable port, this accessory can add a keyboard to transform the Game Boy into a primitive PC. No games utilize this accessory, except for one cartridge that came with the keyboard. No emulator supports this.
+
* '''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 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> 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. Both were only made available for use by motorcycle dealerships and were not licensed by Nintendo. No dump of either cartridge exists as of {{CURRENTYEAR}}.
  
 
==References==
 
==References==
Line 329: Line 348:
 
==External links==
 
==External links==
 
* [http://gbdev.gg8.se/wiki/articles/Main_Page Game Boy Development Wiki] – Information about the Game Boy
 
* [http://gbdev.gg8.se/wiki/articles/Main_Page Game Boy Development Wiki] – Information about the Game Boy
* [http://www.youtube.com/watch?v=h_j0w7r6xSk Emulating Game Boy Camera and Game Boy Printer in BGB (work in progress)] – Game Boy Camera ROM running in bgb unofficially by exploiting linking capabilities  
+
* [http://www.youtube.com/watch?v=h_j0w7r6xSk Emulating Game Boy Camera and Game Boy Printer in BGB (work in progress)] – Game Boy Camera ROM running in BGB unofficially by exploiting linking capabilities  
===Accuracy tests===
+
 
* [http://gbdev.gg8.se/wiki/articles/Test_ROMs GBDev Wiki]
+
 
* [http://tasvideos.org/EmulatorResources/GBAccuracyTests.html TASVideos]
+
{{Nintendo}}
  
 
[[Category:Consoles]]
 
[[Category:Consoles]]
 
[[Category:Nintendo consoles]]
 
[[Category:Nintendo consoles]]
[[Category:Game Boy emulators|*]]
+
[[Category:Game Boy/Game Boy Color emulators|*]]
 +
[[Category:Fourth-generation video game consoles]]

Revision as of 07:57, 3 December 2020

Nintendo Game Boy/Color
Game Boy.png
Developer Nintendo
Type Handheld game console
Generation Fourth generation
Release date 1989
Discontinued 2003
Predecessor Game & Watch
Successor Virtual Boy
Emulated

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.

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 GB/C Tests.

Name Platform(s) Latest Version Game Link Support Libretro Core Active Recommended
PC / x86
SameBoy Windows Linux macOS FreeBSD 0.16.2 [N 1]
BGB Windows 1.6.2
Gambatte Windows Linux macOS r571
Gearboy Windows Linux macOS FreeBSD 3.5.0
BizHawk Windows 2.9.1
binjgb Web v0.1.11 ~
MAME Windows Linux macOS FreeBSD 0.264 ~
Emulicious Windows Linux macOS FreeBSD 2024-02-29 ~
higan Windows Linux macOS FreeBSD v110
mGBA Windows Linux macOS FreeBSD 0.10.3 [N 2]
VisualBoy Advance-M (VBA-M) Windows Linux macOS FreeBSD 2.1.9 [N 3]
GBE+ Windows Linux macOS 1.7
VGB Windows Linux macOS FreeBSD 6.0
Pantheon Windows 13.640
hhugboy Windows 1.4.0
UGE Windows 1.0 beta 9
KiGB Windows Linux macOS 2.05
TGB Dual Windows Linux [N 4] "L" v1.2 [N 4]
GiiBiiAdvance Windows Linux 0.2.0
MetroBoy Windows 1.02
Mobile / ARM
mGBA Android iOS Linux Pandora 0.10.3 ?
GBA4iOS iOS 2.1
Game Play Color iOS 2.4.2 ?
GBC.emu
(Gambatte 0.5-wip based)
Android 1.5.43 ?
My OldBoy! Android 1.5.2
John GBC Android 3.80 ?
GBA.emu
(VBA-M r1097 based)
Android 1.5.43 ?
GambatteDroid Android 1.2 ?
MeBoy Java 2.2
Consoles
GameYob DS Nintendo DS Git (NiFi)
GameYob 3DS Nintendo 3DS v1.0.8 ?
Visual Boy Advance-M (VBA-M) GameCube Wii r1231 (as VBA-Next)
MasterBoy PSP 2.10
Virtual Console Nintendo 3DS 8.10 (Pokemon only)
mGBA Wii Nintendo 3DS
Vita
0.10.3 ?
GeMP PSP 3.3 Final
RIN PSP 1.32
  1. Full GBC, GBA and GB support since version 2.1.3.
  2. 4.0 4.1 On Linux as an SDL port (and the libretro core is based on this version).

Comparison

Game Boy-only emulators

SameBoy
A relatively new emulator, probably 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. Also emulates Game Boy Camera and Game Boy Printer.
BGB
A closed-source emulator for Windows (and Wine) with excellent Game Boy and Game Boy Color accuracy, as well as near flawless link support. It has a wealth of options for color palettes and even enabling Super Game Boy colors and borders, though it doesn't emulate all of its functions. It also has an advanced debugger.
Gambatte
Extremely 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. It has not been as active lately.
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.

List of recommended GB/GBC emulators for Android:

Backwards-compatible GBA emulators

mGBA
Primarily emulates the Game Boy Advance but it also includes GB/C support much like the original system. It's still in development, but it's already on the level of many other emulators.
GBE+
A recently rewritten emulator that has a large effort in preserving the functions 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
Because it started out as a SNES emulator (its original name was bsnes), it was the first and only one that properly emulated all of the Super Game Boy's features, such as SPC sound chip utilization. Versions of bsnes at and before v073 used the Gambatte core for its Super Game Boy functionality, but byuu eventually made his own Game Boy core, which ended up having pretty good accuracy.
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 its gbcolor 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_.
Mednafen
Its Game Boy Advance core is forked from an old version of VisualBoy Advance.

Emulation issues

Oversaturation

Comparison of saturation levels in 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 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.

Unlicensed Mappers

Much like the NES, the Game Boy (and by extension, the Game Boy Color) used Memory Bank Controllers (MBC) (called MMCs on the NES) and also known informally as mappers, to go beyond the restrictive initial hardware specifications. Nevertheless, Nintendo was much more careful to standardize their specifications to just a small number of possible mappers. Moreover, Game Boy ROMs now included an official internal header mandated by Nintendo that included the correct MMC type. This meant that for the officially licensed games, these mappers proved to be rarely a problem... with some notable unimplemented exceptions: Net de Get's MBC6 that offered downloadable content off the internet, and the MMM01 footer used for some official multi-cart games, among others.

However, shit hits the fan 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 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.

Hardware Features

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

Name Platform(s) Build to Use Recommended
PC / x86
mGBA Windows Linux macOS FreeBSD 0.7
VBA-M Windows Linux macOS FreeBSD Latest
GiiBiiAdvance Windows ?
BGB Windows ?
Hashcam Windows Source

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.[4] 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.

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. It is unknown if any emulator supports this feature.

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.
  • 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 as such isn't emulated.

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.
  • 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.[5][6] Despite the IZEK's rarity, support for it has been added in a recent GBE+ release.[7]
  • 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. Both were only made available for use by motorcycle dealerships and were not licensed by Nintendo. No dump of either cartridge exists as of 2024.

References

External links