mirror of
https://github.com/Abdess/retroarch_system.git
synced 2026-10-11 14:03:23 -05:00
66 lines
2.9 KiB
YAML
66 lines
2.9 KiB
YAML
emulator: IroGB
|
|
type: libretro
|
|
core_classification: official_port
|
|
source: "https://github.com/AlexSutila/IroGB"
|
|
upstream: "https://github.com/AlexSutila/IroGB"
|
|
profiled_date: "2026-09-03"
|
|
source_commit: "7b6bb9b1f9cbf04e49eea0dc89c54635c2b54056"
|
|
core_version: "1.0.0"
|
|
display_name: "Nintendo - Game Boy / Color (IroGB)"
|
|
cores:
|
|
- irogb
|
|
systems:
|
|
- nintendo-gb
|
|
- nintendo-gbc
|
|
|
|
notes: |
|
|
IroGB is a Game Boy and Game Boy Color emulator by Alex Sutila. The
|
|
libretro frontend lives in src/frontend/libretro of the same repository
|
|
as the SDL3, raylib and Python frontends. The buildbot builds the
|
|
repository default branch, release, with cmake -DBUILD_LIBRETRO=ON
|
|
-DNO_CORE_FILESYSTEM=ON (.gitlab-ci.yml:10-14).
|
|
|
|
Boot ROMs are read from the root of the system directory
|
|
(src/frontend/libretro/libretro_host.cpp:61-84). The irogb_bios core
|
|
option picks the file: dmg opens dmg_boot.bin, cgb opens cgb_boot.bin,
|
|
auto (the default) tries cgb_boot.bin then dmg_boot.bin, none opens
|
|
nothing (src/frontend/libretro/libretro_host.cpp:86-113). Under auto a
|
|
DMG cartridge boots through the CGB boot ROM whenever cgb_boot.bin is
|
|
present and gets the CGB colouring of monochrome games; the
|
|
irogb_monochrome_dmg option turns that off.
|
|
|
|
BootROM accepts a file of exactly 256 or 2304 bytes and rejects any
|
|
other size (src/memory/boot.cpp:10-24). The size also picks the machine:
|
|
a 2304-byte image starts in CGB mode (src/gbc.cpp:330-340). 256 bytes
|
|
covers DMG, DMG0, MGB and SGB dumps, 2304 bytes CGB, CGB0, AGB0 and AGB
|
|
dumps (includes/memory/boot.hpp:9-30); only the two names above are
|
|
ever opened. No hash is checked.
|
|
|
|
Without a boot ROM, or when the file fails to open or has another size,
|
|
the core continues with skip_bios(), which loads post-boot CPU and MMIO
|
|
values, unmaps the boot ROM and sets CGB mode from the cartridge header
|
|
(src/gbc.cpp:342-349, src/gbc.cpp:387-405, src/gbc.cpp:489-490).
|
|
|
|
The .info declares cgb_bios.bin; the code opens cgb_boot.bin.
|
|
|
|
files:
|
|
- name: "dmg_boot.bin"
|
|
system: nintendo-gb
|
|
description: "Game Boy (DMG) boot ROM"
|
|
required: false
|
|
hle_fallback: true
|
|
size: 256
|
|
validation: [size]
|
|
source_ref: "src/frontend/libretro/libretro_host.cpp:91, src/frontend/libretro/libretro_host.cpp:106, src/frontend/libretro/libretro_host.cpp:61-84, src/memory/boot.cpp:10-24"
|
|
note: "Opened with irogb_bios set to dmg, or to auto when cgb_boot.bin is absent."
|
|
|
|
- name: "cgb_boot.bin"
|
|
system: nintendo-gbc
|
|
description: "Game Boy Color (CGB) boot ROM"
|
|
required: false
|
|
hle_fallback: true
|
|
size: 2304
|
|
validation: [size]
|
|
source_ref: "src/frontend/libretro/libretro_host.cpp:97, src/frontend/libretro/libretro_host.cpp:104, src/frontend/libretro/libretro_host.cpp:61-84, src/memory/boot.cpp:10-24, src/gbc.cpp:330-340"
|
|
note: "Opened with irogb_bios set to cgb or auto. Under auto it also boots DMG cartridges in CGB mode."
|