mirror of
https://github.com/Abdess/retroarch_system.git
synced 2026-10-21 11:19:11 -05:00
Profiles that read two repositories, a libretro port and its upstream, now prefix each citation with source or upstream, decided by which tree carries the cited value at its pin. The emulator pages use the word to tell libretro glue, emulator code as the port carries it, and the upstream emulator apart.
130 lines
5.1 KiB
YAML
130 lines
5.1 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: "source libretro/libretro.c:519, source libretro/libretro.c:530, source libretro/libretro.c:556 (boot_rom_load), source 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: "source libretro/libretro.c:521, source libretro/libretro.c:532, source libretro/libretro.c:556, source 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: "source libretro/libretro.c:522, source libretro/libretro.c:533, source libretro/libretro.c:556, source 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: "source libretro/libretro.c:524, source libretro/libretro.c:535, source libretro/libretro.c:556, source 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: "source libretro/libretro.c:525, source libretro/libretro.c:536, source libretro/libretro.c:556, source 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"
|