Files
libretro/emulators/sameboy.yml
T
Abdessamad Derraz ceaca2bf1d chore: record what each platform installs
Each platform's own packages were read at the revision our data pins, for every emulator and core it ships: Batocera, Recalbox, RetroPie, ROCKNIX, Lakka, RetroDECK, RetroBat and EmuDeck. Files a package installs where the emulator reads them are recorded with installed_on, and files a release bundles but a package leaves out with not_bundled_on, so each platform's pack brings what its users lack and nothing they already have. The standalone profiles never checked before were held against their releases the same way. Batocera's imame4all is the mame2000 core. The primary neogeo.zip was a 7.7 KB placeholder no platform pins and no pack served: removed, the real dumps stay in .variants.
2026-10-20 07:17:05 +02:00

130 lines
4.9 KiB
YAML

emulator: SameBoy
type: libretro
core_classification: official_port
source: "https://github.com/libretro/SameBoy"
upstream: "https://github.com/LIJI32/SameBoy"
profiled_date: "2026-03-25"
source_commit: "aa158a889a48b538a0302873704a34577c8eb67d"
core_version: "0.15.4"
display_name: "Nintendo - Game Boy / Color (SameBoy)"
cores:
- sameboy
systems:
- nintendo-gb
- nintendo-gbc
- nintendo-sgb
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/libretro.c:513-589) 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.
files:
- name: "dmg_boot.bin"
installed_on: [recalbox]
system: nintendo-gb
description: "Game Boy (DMG) boot ROM"
required: false
hle_fallback: true
size: 256
source_ref: "libretro/libretro.c:519, libretro/libretro.c:530, libretro/libretro.c:556 (boot_rom_load), Core/gb.c:1594 (request_boot_rom)"
- name: "sgb_boot.bin"
installed_on: [recalbox]
system: nintendo-sgb
description: "Super Game Boy (SGB) boot ROM"
required: false
hle_fallback: true
size: 256
source_ref: "libretro/libretro.c:521, libretro/libretro.c:532, libretro/libretro.c:556, Core/gb.c:1600-1604"
note: "Used for SGB_NTSC, SGB_PAL models. Also loaded when borrowing SGB border (Core/gb.c:264)."
- name: "sgb2_boot.bin"
installed_on: [recalbox]
system: nintendo-sgb
description: "Super Game Boy 2 (SGB2) boot ROM"
required: false
hle_fallback: true
size: 256
source_ref: "libretro/libretro.c:522, libretro/libretro.c:533, libretro/libretro.c:556, Core/gb.c:1607"
- name: "cgb_boot.bin"
installed_on: [recalbox]
system: nintendo-gbc
description: "Game Boy Color (CGB) boot ROM"
required: false
hle_fallback: true
size: 2304
source_ref: "libretro/libretro.c:524, libretro/libretro.c:535, libretro/libretro.c:556, Core/gb.c:1613-1618"
note: "Used for CGB revisions A through E in the libretro port."
- name: "agb_boot.bin"
installed_on: [recalbox]
system: nintendo-gbc
description: "Game Boy Advance in GBC mode (AGB) boot ROM"
required: false
hle_fallback: true
size: 2304
source_ref: "libretro/libretro.c:525, libretro/libretro.c:536, libretro/libretro.c:556, Core/gb.c:1621"
note: "Enables GBA-enhanced palettes in compatible GBC games."
builtin_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"