Skip to content

SameBoy - RetroBIOS

Type libretro
Classification official_port
Source https://github.com/libretro/SameBoy
Upstream https://github.com/LIJI32/SameBoy
Version 0.15.4
Profiled 2026-03-25
Cores sameboy
Systems nintendo-gb, nintendo-gbc, nintendo-sgb
Built-in boot ROMs
  • description: Open-source boot ROM replacements compiled from BootROMs/ assembly.

Not Nintendo originals.

**sources:**

- BootROMs/dmg_boot.asm -> dmg_boot (256 bytes)
- BootROMs/sgb_boot.asm -> sgb_boot (256 bytes)
- BootROMs/sgb2_boot.asm -> sgb2_boot (256 bytes)
- BootROMs/cgb_boot.asm -> cgb_boot (2304 bytes)
- BootROMs/agb_boot.asm -> agb_boot (2304 bytes)

**prebuilt_hashes:**

    **dmg_boot.bin:**

        - **md5:** 60f1d849a435e9053b8ac0fd5776804a
        - **sha1:** da853c8102acfff6b8e5a973ce0cd181f3dbb709
    **sgb_boot.bin:**

        - **md5:** be77bbd03f8675478f6e3d2176f3cb56
        - **sha1:** 27267e45c8408857267231ba6c18bfbd052536e2
    **sgb2_boot.bin:**

        - **md5:** b4331a9e612b4738867a30af9c96df52
        - **sha1:** 576678d0fc3892b80471d7067ce6014e6af77ed5
    **cgb_boot.bin:**

        - **md5:** 6b68be48dab6a7298a8c07e00c136b4e
        - **sha1:** 9884b972110a63c9e86fb3bd241bd2e39ca82bb9
    **agb_boot.bin:**

        - **md5:** 7e095aa30941da3086fa0e9221335370
        - **sha1:** 3b6231bdf840fb889f402d0ae89f21adb077323a
Technical notes

SameBoy is a high-accuracy Game Boy, Game Boy Color and Super Game Boy emulator by LIJI32 (official_port: same author maintains upstream and libretro fork).

All boot ROMs are optional. SameBoy compiles open-source boot ROM replacements from BootROMs/*.asm and embeds them into the libretro binary (extern arrays dmg_boot, cgb_boot, agb_boot, sgb_boot, sgb2_boot in libretro.c:129-130). These are SameBoy-authored replacements, not Nintendo originals.

The libretro port (boot_rom_load, libretro.c:512-588) tries to load an external boot ROM from the system directory first. Filename is constructed as "{model}_boot.bin". If missing, the embedded boot ROM is used as fallback.

Boot ROM selection depends on the sameboy_model core option (request_boot_rom in Core/gb.c:1587-1625): DMG_B -> GB_BOOT_ROM_DMG -> dmg_boot.bin SGB_NTSC/PAL -> GB_BOOT_ROM_SGB -> sgb_boot.bin SGB2 -> GB_BOOT_ROM_SGB2 -> sgb2_boot.bin CGB_A..E -> GB_BOOT_ROM_CGB -> cgb_boot.bin AGB_A/GBP_A -> GB_BOOT_ROM_AGB -> agb_boot.bin

.info declares firmware_count=2 (dmg, cgb only). Actual reachable files in the libretro port are 5 (adds sgb, sgb2, agb).

Unreachable boot ROMs in the libretro port (array entries exist in boot_rom_load but no model option triggers them): - dmg0_boot.bin: GB_MODEL_DMG_0 commented out (Core/gb.h:100) - mgb_boot.bin: GB_MODEL_MGB active but not exposed by core options - cgb0_boot.bin: GB_MODEL_CGB_0 active but not exposed by core options Upstream standalone (v1.0.3) supports these plus cgbE_boot.bin and agb0_boot.bin (10 boot ROM types total).

No validation performed on loaded boot ROMs. GB_load_boot_rom_from_buffer (Core/gb.c:266-273) does a plain memcpy capped at 0x900 bytes.

5 files | 0 required, 5 optional | 5 in repo, 0 missing | 5 with HLE fallback

dmg_boot.bin -optional, HLE available : Game Boy (DMG) boot ROM

sgb_boot.bin -optional, HLE available : Super Game Boy (SGB) boot ROM

  • System: nintendo-sgb
  • Size: 256 B
  • Source: libretro.c:521,532,556; Core/gb.c:1600-1604
  • Platforms: batocera, recalbox, retrobat
  • Used for SGB_NTSC, SGB_PAL models. Also loaded when borrowing SGB border (Core/gb.c:264).

sgb2_boot.bin -optional, HLE available : Super Game Boy 2 (SGB2) boot ROM

cgb_boot.bin -optional, HLE available : Game Boy Color (CGB) boot ROM

agb_boot.bin -optional, HLE available : Game Boy Advance in GBC mode (AGB) boot ROM

  • System: nintendo-gbc
  • Size: 2.2 KB
  • Source: libretro.c:525,536,556; Core/gb.c:1621
  • Platforms: recalbox
  • Enables GBA-enhanced palettes in compatible GBC games.

Generated on 2026-03-25T14:56:43Z