Nintendo - Game Boy / Color (SameBoy)

Background

SameBoy is an extremely accurate open source Gameboy (DMG) and Gameboy Color (CGB) emulator, written in portable C.

Author/License

The SameBoy core has been authored by

The SameBoy core is licensed under

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

Extensions

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

Databases

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

BIOS

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

Attention

The SameBoy core has reverse engineered Game Boy/Game Boy Color boot ROMs baked into the core itself so real BIOS files aren't required. If you’d like to override this, you can place the following BIOS files in RetroArch's system directory.

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

Features

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

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

Directories

The SameBoy core's internal core name is 'SameBoy'

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

Frontend's Save directory

Frontend's State directory

Geometry and timing

Link cable emulation is supported in single-cart mode and in dual-cart mode.
To use it in single-cart mode enable the Single cart dual mode option under options and reload the content

Note

The savefile for the second slot in this mode will be named 'gamename.srm.2'

To use it in dual-cart mode you have to load content via the Subsystem API which you can achieve via the GUI or via CLI

Load content via Subsystem API from GUI

First, we load the first GameBoy ROM through '2 Player Game Boy Link' in RetroArch's Main Menu.

Next, we load our Super GameBoy ROM through 'Load Super GameBoy' in RetroArch's Menu Menu.

Then, we start the content by selecting 'Start GameBoy' In RetroArch's Menu Menu.

Warning

You have to load any game in the core for the '2 Player Game Boy Link' entries to show up, this is a RetroArch limitation, not a core limitation

!!! warning While loading the same game in this mode should work some users reported issues while linking them, you should use single cart mode for that scenario

Load Content via Subsystem API from CLI

1
retroarch -L {path to sameboy core} {path to first GameBoy ROM} --subsystem gb_link_2p {path to second GameBoy ROM}

Core options

The SameBoy core has the following option(s) 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.

Regular Options

??? note "Color Correction - off"

??? note "Color Correction - correct curves"

??? note "Color Correction - emulate hardware"

??? note "Color Correction - preserve brightness"

Dual Mode Options

Controllers

The SameBoy core supports the following device type(s) in the controls menu, bolded device types are the default for the specified user(s):

User 1 - 2 device types

Rumble support

Rumble only works in the SameBoy core when

Controller tables

Joypad

User 1 - 2 Remap descriptors RetroPad Inputs
B
Select
Start
Up
Down
Left
Right
A

Compatibility

SameBoy automation results

See also

Nintendo - Game Boy (+ Color)