Files
libretro/emulators/reicast.yml
T
Abdessamad Derraz 3011ee498e feat: record the build file behind a held pin
pin_frozen was prose, and no tool read the build file it cites, so a platform building another revision left the profile holding one nobody ships. pin_build records the platform, its repository, the revision read, the file, the variable and its value. check_freshness reads the file again where the platform's YAML now stands and reports STALE when the value moved. 36 of the 46 held profiles carry it, each value read from the build file at the platform's scraped revision. The other ten name no build file and are counted on one row: six RetroBat binary packages and four holds not tied to a platform build.
2026-11-05 19:54:48 +01:00

83 lines
3.5 KiB
YAML

emulator: Reicast
type: standalone
core_classification: community_fork
source: "https://github.com/skmp/reicast-emulator"
upstream: "https://github.com/skmp/reicast-emulator"
profiled_date: "2026-10-17"
source_commit: "ad61f95dd6b4c6218846a25de6194550311a5d28"
pin_frozen: "Recalbox 10.1.1 builds this revision (package/reicast/reicast.mk REICAST_VERSION). Later commits on reicast-emulator are not part of that build."
pin_build:
- platform: recalbox
repo: "https://gitlab.com/recalbox/recalbox"
revision: "10.1.1"
path: "package/reicast/reicast.mk"
variable: REICAST_VERSION
value: "ad61f95dd6b4c6218846a25de6194550311a5d28"
core_version: "r8.1-243-gad61f95"
version_basis:
kind: tag
tag: "r8.1"
distance: 243
display_name: "Sega - Dreamcast (Reicast)"
cores:
- "reicast"
systems:
- "sega-dreamcast"
data_root:
linux:
path: "$XDG_DATA_HOME/reicast, else ~/.local/share/reicast"
source_ref: "core/linux-dist/main.cpp:287-326,396, shell/linux/Makefile:254"
note: "~/.reicast when that folder exists. The boot ROM and flash are read from its data/ subfolder, which Recalbox replaces with /recalbox/share/bios/dc"
notes: |
Dreamcast emulator descended from nullDC. The Linux build is compiled
for one platform, and the default is dreamcast, which sets the ROM prefix
dc_, a 2 MB boot ROM, a 128 KB flash and NVR_OPTIONAL 0
(ref: core/types.h:209-217).
LoadRomFiles() tries dc_boot.bin, dc_boot.bin.bin, dc_bios.bin and
dc_bios.bin.bin for the boot ROM, then dc_nvmem.bin, dc_flash_wb.bin,
dc_flash.bin and dc_flash.bin.bin for the flash
(ref: core/hw/holly/sb_mem.cpp:30-51). Each candidate is accepted
when a full chip's worth of bytes can be read from it
(ref: core/hw/flashrom/flashrom.h:39-49, 61-99). No hash is checked.
With NVR_OPTIONAL 0 a missing flash fails LoadRomFiles() the same way
a missing boot ROM does.
When LoadRomFiles() fails, or the reios setting is on, the core starts
its HLE BIOS instead and loads only the flash, if present
(ref: core/nullDC.cpp:183-200, core/hw/holly/sb_mem.cpp:58-64).
Upstream resolves the directory as <data dir>/data/, the data dir
being ~/.reicast when it exists, else $XDG_DATA_HOME/reicast or
~/.local/share/reicast, then each $XDG_DATA_DIRS entry plus /reicast
(ref: core/nullDC.cpp:182-188, core/stdclass.cpp:83-100,
core/linux-dist/main.cpp:287-326, 355-379). The paths below are
relative to that data dir. Recalbox patches nullDC.cpp to read and
write both files in /recalbox/share/bios/dc/ instead.
files:
- name: "dc_boot.bin"
path: "data/dc_boot.bin"
aliases: ["dc_boot.bin.bin", "dc_bios.bin", "dc_bios.bin.bin"]
system: "sega-dreamcast"
required: false
hle_fallback: true
min_size: 2097152
validation: [size]
description: "Dreamcast boot ROM"
source_ref: "core/hw/holly/sb_mem.cpp:20, 30-36, core/types.h:211, 215"
note: "First of the four names that reads 2097152 bytes wins. Missing, the HLE BIOS runs."
- name: "dc_nvmem.bin"
path: "data/dc_nvmem.bin"
aliases: ["dc_flash_wb.bin", "dc_flash.bin", "dc_flash.bin.bin"]
system: "sega-dreamcast"
required: false
hle_fallback: true
min_size: 131072
validation: [size]
description: "Dreamcast flash memory"
source_ref: "core/hw/holly/sb_mem.cpp:22-23, 37-48, 58-64, core/types.h:212, 217"
note: "Tried as dc_nvmem.bin, dc_flash_wb.bin, dc_flash.bin, then dc_flash.bin.bin. Written back as dc_nvmem.bin on exit. Missing, LoadRomFiles() fails even with a boot ROM present and the HLE BIOS runs."