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" 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; 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; the libretro port does not implement this. Custom palette files (palettes/*.pal) are user-created colorization configs loaded when GB Colorization is set to "custom". These are user-generated content, not distributable files. files: - name: "gb_bios.bin" system: nintendo-gb description: "Original Game Boy (DMG-01) boot ROM" required: false hle_fallback: true size: 256 validation: {core: [size], upstream: [size, crc32]} source_ref: "libretro.cpp:1303-1363 (get_bootloader_from_file), bootloader.cpp:20-55 (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 size: 2304 validation: {core: [size], upstream: [size, crc32]} source_ref: "libretro.cpp:1303-1363 (get_bootloader_from_file), bootloader.cpp:20-55 (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."