Skip to content

Nintendo - Game Boy / Color (Gearboy)

Background

Gearboy is an open source, cross-platform, Nintendo Game Boy (DMG) / Game Boy Color (GBC) emulator written in C++.

  • Accurate CPU emulation, passes cpu_instrs.gb from blargg's tests.
  • Accurate instruction and memory timing, passes instr_timing.gb and mem_timing.gb from blargg's tests.
  • Supported cartridges: ROM, ROM + RAM, MBC1, MBC2, MBC3 + RTC, MBC5, HuC-1 and MBC1M (multicart).
  • Accurate LCD controller emulation with correct timings and priorities including mid-scanline effects.
  • Sound emulation using SDL Audio and Gb_Snd_Emu library.
  • Battery powered RAM save support.
  • Save states.
  • Game Genie and GameShark cheat support.
  • Bootrom (BIOS) support.
  • Supported platforms (libretro): Windows, Linux, macOS, Raspberry Pi, Android, iOS, tvOS, PlayStation Vita, PlayStation 3, Nintendo 3DS, Nintendo GameCube, Nintendo Wii, Nintendo WiiU, Nintendo Switch, Emscripten, Classic Mini systems (NES, SNES, C64, ...) and QNX.

The Gearboy core has been authored by:

The Gearboy core is licensed under:

A summary of the licenses behind RetroArch and its cores can be found here.

BIOS

Gearboy does not require bootrom (BIOS) files to work but they can be used optionally.

When the bootrom is enabled it will execute as in original hardware, causing invalid roms to lock or forcing hardware like GB Pocket or GBA, depending on the bootrom file.

Required or optional firmware files go in the frontend's system directory.

Attention

If you’d like to use any bootrom, you can place the following files in RetroArch's system directory. Then, you need to enable DMG Bootrom and/or Game Boy Color Bootrom core options for these bootrom files to be used.

Filename Description md5sum
dmg_boot.bin Game Boy boot ROM - Optional 32fbbd84168d3482956eb3c5051637f5
cgb_boot.bin Game Boy Color boot ROM - Optional dbfce9db9deaa2567f6a84fde55f9680

Extensions

Content that can be loaded by the Gearboy core have the following file extensions:

  • .gb
  • .dmg
  • .gbc
  • .cgb
  • .sgb

RetroArch database(s) that are associated with the Gearboy core:

Features

Frontend-level settings or features that the Gearboy core respects.

Feature Supported
Restart
Screenshots
Saves
States
Rewind
Netplay
Core Options
RetroAchievements
RetroArch Cheats - Game Genie
RetroArch Cheats - GameShark
Native Cheats
Controls
Remapping
Multi-Mouse
Rumble
Sensors
Camera
Location
Subsystem
Softpatching
Disk Control
Username
Language
Crop Overscan
LEDs

Directories

The Gearboy core's library name is 'Gearboy'

The Gearboy core saves/loads to/from these directories.

Frontend's Save directory

File Description
*.srm Cartridge battery save
*.rtc Real time clock save

Frontend's State directory

File Description
*.state# State

Geometry and timing

  • The Gearboy core's core provided FPS is 59.7275005696
  • The Gearboy core's core provided sample rate is 44100 Hz
  • The Gearboy core's base width is 160
  • The Gearboy core's base height is 144
  • The Gearboy core's max width is 160
  • The Gearboy core's max height is 144
  • The Gearboy core's core provided aspect ratio is 10/9

Core options

The Gearboy core has the following options that can be tweaked from the core options menu. The default setting is bolded.

Settings with (Restart) means that core has to be closed for the new setting to be applied on next launch.

  • Game Boy Model (restart) [gearboy_model] (Auto|Game Boy DMG|Game Boy Advance)

    Select which hardware/model is emulated.

    • Auto selects the best hardware based in the rom.
    • Game Boy DMG forces original Game Boy hardware.
    • Game Boy Advance enables Game Boy Advance hardware.
  • Mapper (restart) [gearboy_mapper] (Auto|ROM Only|MBC 1|MBC 2|MBC 3|MBC 5|MBC 1 Multicart)

    Select which Memory Bank Controller (MBC or mapper) is emulated.

    • Auto selects the best MBC based in the rom.
    • ROM Only forces no MBC.
    • MBC 1 forces MBC 1.
    • MBC 2 forces MBC 2.
    • MBC 3 forces MBC 3 + RTC.
    • MBC 5 forces MBC 5.
    • MBC 1 Multicart forces MBC 1 Multicart.
  • DMG Palette [gearboy_palette] (Original|Sharp|B/W|Autumn|Soft|Slime)

    Select a color palette for Game Boy DMG games.

  • DMG Bootrom [gearboy_bootrom_dmg] (Disabled|Enabled)

    This option will enable/disable bootrom for Game Boy DMG model. For this to work, the dmg_boot.bin file must exist in the Retro Arch's system directory.

  • Game Boy Color Bootrom [gearboy_bootrom_gbc] (Disabled|Enabled)

    This option will enable/disable bootrom for Game Boy Color model. For this to work, the cgb_boot.bin file must exist in the Retro Arch's system directory.

  • Allow Up+Down / Left+Right [gearboy_up_down_allowed] (Disabled|Enabled)

    Enabling this will allow pressing / quickly alternating / holding both left and right (or up and down in some games) directions at the same time.

    This may cause movement based glitches to occur in certain games.

    It's best to keep this core option disabled.

Joypad

User 1 input descriptors RetroPad Inputs
B
Select
Start
Up
Down
Left
Right
A

Compatibility

See also

Nintendo - Game Boy (+ Color)