Files
libretro/emulators/gambatte.yml
T
Abdessamad Derraz fd6c0451e0 fix: document gambatte's custom palette lookup
With colorization set to custom, a DMG game reads palettes/<rom>.pal, then <header title>.pal, then default.pal under the system directory (libretro.cpp:2012-2091). A user-made file, so the entry is unsourceable.
2026-10-20 10:37:30 +02:00

71 lines
3.1 KiB
YAML

emulator: Gambatte
type: libretro
core_classification: community_fork
source: "https://github.com/libretro/gambatte-libretro"
upstream: "https://github.com/sinamas/gambatte"
profiled_date: "2026-03-23"
source_commit: "d9d6cd06382d1ced30de34d56d3609452323dab1"
core_version: "v0.5.0"
display_name: "Nintendo - Game Boy / Color (Gambatte)"
cores:
- gambatte
systems: [nintendo-gb, nintendo-gbc]
notes: |
Accuracy-focused GB/GBC emulator. No BIOS required for normal operation:
the built-in HLE boot sequence skips the Nintendo logo animation.
Core option gambatte_gb_bootloader (default: enabled) enables loading
official boot ROMs from the system directory for the real startup animation.
If missing, emulation works without them.
Boot ROM selection by hardware mode:
- DMG: gb_bios.bin (256 bytes)
- CGB or GBA: gbc_bios.bin (2304 bytes)
In GBA mode the core patches the CGB boot ROM at 0xF2 to fake GBA
detection (ld b,0x01), enabling GBA-enhanced features in compatible
GBC games.
The upstream standalone supports SGB boot ROM loading, but the libretro
port does not implement this.
With GB Colorization set to "custom", a DMG game reads the first of
palettes/<rom name>.pal, palettes/<header title>.pal and
palettes/default.pal under the system directory. Each line sets one of
the twelve background and sprite colours as Background0= to Sprite%2023=
with a 24-bit RGB value. Colours the file leaves out keep their previous
value (libgambatte/libretro/libretro.cpp:2012-2191,
libgambatte/libretro/libretro.cpp:2521-2522,
libgambatte/libretro/libretro.cpp:2582-2583).
files:
- name: "gb_bios.bin"
system: nintendo-gb
description: "Original Game Boy (DMG-01) boot ROM"
required: false
hle_fallback: true
min_size: 256
validation: [size]
source_ref: "source libgambatte/libretro/libretro.cpp:1426-1486 (get_bootloader_from_file), source libgambatte/libretro/libretro.cpp:1734-1742, source libgambatte/src/bootloader.cpp:30-65 (load)"
note: "Mapped at 0x0000-0x00FF, swapped out when register 0xFF50 is written."
- name: "gbc_bios.bin"
system: nintendo-gbc
description: "Game Boy Color (CGB-001) boot ROM"
required: false
hle_fallback: true
min_size: 2304
validation: [size]
source_ref: "source libgambatte/libretro/libretro.cpp:1426-1486 (get_bootloader_from_file), source libgambatte/libretro/libretro.cpp:1734-1742, source libgambatte/src/bootloader.cpp:30-65 (load)"
note: "Mapped at 0x0000-0x08FF with cartridge data preserved at 0x0100-0x01FF. Also used for GBA mode with a patch at 0xF2. Presence required for FORCE_CGB flag when hw mode is GBC or GBA."
- name: "default.pal"
path: "palettes/default.pal"
system: nintendo-gb
description: "Custom DMG colour palette"
required: false
unsourceable: "user-created palette, the core and its repository distribute none"
source_ref: "source libgambatte/libretro/libretro.cpp:2012-2091, source libgambatte/libretro/libretro.cpp:2521-2522, source libgambatte/libretro/libretro.cpp:2582-2583"
note: "Read only when GB Colorization is custom and no palette named after the ROM file or the header title exists."