Files
libretro/emulators/reicast.yml
T
Abdessamad Derraz 3199bc2a55 fix: state standalone versions from their code
Each standalone profile records where its version is read: the source
at its pin (clk 2026-07-23-136-g9020107, shadps4 0.20.1 WIP, eden
v0.2.0-401-g26a03d2), the APK, binary or archive read (kind package),
or, where no reading can be made, kind unverified with the reason: a
host the tools cannot read, a forge gone or not answering, no build
recorded as read, a pin on another branch. Those keep their value,
unconfirmed.
2026-10-27 19:21:40 +01:00

76 lines
3.3 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."
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."