mirror of
https://github.com/Abdess/retroarch_system.git
synced 2026-10-24 12:49:03 -05:00
nullDC.cpp:182-188 loads both from get_readonly_data_path("/data/"); dc/ was the Recalbox patch.
72 lines
3.2 KiB
YAML
72 lines
3.2 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: "Git"
|
|
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."
|