Files
libretro/emulators/reicast.yml
T
Abdessamad Derraz 99d9ac12c2 fix: hold reicast on the commit Recalbox builds
reicast documents the revision Recalbox's reicast.mk pins, far
behind master. Compared to HEAD it reported refs nobody could act
on; pin_frozen now says why the pin is held.
2026-10-18 02:43:50 +02:00

65 lines
2.7 KiB
YAML

emulator: Reicast
type: standalone
core_classification: community_fork
source: "https://github.com/reicast/reicast-emulator"
upstream: "https://github.com/reicast/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."
core_version: "Git"
display_name: "Sega - Dreamcast (Reicast)"
cores:
- "reicast"
systems:
- "sega-dreamcast"
notes: |
Dreamcast emulator descended from nullDC. The Linux build is compiled
for one platform; 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 $XDG_DATA_HOME/reicast or ~/.local/share/reicast, then each
$XDG_DATA_DIRS entry plus /reicast (ref: core/stdclass.cpp:83-100,
core/linux-dist/main.cpp:287-326, 355-379). Recalbox patches
nullDC.cpp to read and write both files in /recalbox/share/bios/dc/,
which is the path given below.
files:
- name: "dc_boot.bin"
path: "dc/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: "dc/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: "Written back as dc_nvmem.bin on exit. Missing, LoadRomFiles() fails even with a boot ROM present and the HLE BIOS runs."