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

- System: nintendo-gb
- Size: 256 B
- Source: `libretro.c:519,530,556 (boot_rom_load); Core/gb.c:1594 (request_boot_rom)`
- Platforms: lakka, recalbox, retroarch, retropie

`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

- System: nintendo-sgb
- Size: 256 B
- Source: `libretro.c:522,533,556; Core/gb.c:1607`
- Platforms: batocera, recalbox, retrobat, retrodeck

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

- System: nintendo-gbc
- Size: 2.2 KB
- Source: `libretro.c:524,535,556; Core/gb.c:1613-1618`
- Platforms: lakka, recalbox, retroarch, retropie
- Used for CGB revisions A through E in the libretro port.

`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