mirror of
https://github.com/Abdess/retroarch_system.git
synced 2026-10-24 04:39:06 -05:00
standalone_path is relative to the directories a standalone build resolves it against, now declared per profile (standalone_directories). A launcher record that links or passes a whole folder of the BIOS tree under one of them gives that folder, and platform_layouts rebases the standalone view once for the builder, the manifest, verify and slots (launchers.standalone_root, common.standalone_destination). Flycast on RetroPie and ROCKNIX reads bios/dc, on EmuDeck bios/flycast/bios, on Batocera (FLYCAST_BIOS_PATH) and RetroBat (Dreamcast.BiosPath) bios/dc. The ROCKNIX, Batocera and RetroBat scrapers now record the patched data directory, the environment variable and the setting that say so.
362 lines
13 KiB
YAML
362 lines
13 KiB
YAML
emulator: Flycast
|
|
type: standalone + libretro
|
|
core_classification: official_port
|
|
source: "https://github.com/flyinghead/flycast"
|
|
logo: "https://raw.githubusercontent.com/flyinghead/flycast/master/shell/linux/flycast.png"
|
|
profiled_date: "2026-10-21"
|
|
source_commit: "34ad8c8262c82db237a8b9cee0d8046d9cdd6f78"
|
|
core_version: "Git"
|
|
display_name: "Sega - Dreamcast/Naomi (Flycast)"
|
|
cores:
|
|
- flycast
|
|
- flycast_dev
|
|
- flycastvl
|
|
- "flycast-next"
|
|
systems:
|
|
- sega-dreamcast
|
|
- sega-naomi
|
|
- sega-naomi2
|
|
- sega-atomiswave
|
|
- sega-systemsp
|
|
standalone_directories:
|
|
- "Dreamcast.BiosPath"
|
|
- "find_user_data_dir"
|
|
- "$XDG_DATA_HOME/flycast"
|
|
- "$HOME/.local/share/flycast"
|
|
- "FLYCAST_BIOS_PATH"
|
|
|
|
notes: |
|
|
The libretro core is built from flyinghead/flycast, the same tree as the
|
|
standalone emulator: the wrapper lives in shell/libretro and is compiled
|
|
with -DLIBRETRO=ON.
|
|
|
|
Flycast has a built-in HLE BIOS (reios) for Dreamcast that boots most
|
|
games without a real boot ROM. A short list of product ids forces the
|
|
real BIOS (core/emulator.cpp:277-278) and is told "This game requires a
|
|
real BIOS" when it is absent (core/emulator.cpp:616-621). Without content,
|
|
the core boots the BIOS and fails when none is found
|
|
(core/emulator.cpp:601-605). Arcade systems (NAOMI, NAOMI 2, Atomiswave,
|
|
System SP) load MAME-format BIOS archives.
|
|
|
|
The libretro port appends "dc/" to the system directory
|
|
(shell/libretro/libretro.cpp:2249-2250). All files below are relative to
|
|
system_dir/dc/.
|
|
|
|
The standalone emulator looks for each file in the BIOS paths the user
|
|
configures, then in its data directory, then in the system data
|
|
directories, then in the content directories, and writes the flash back to
|
|
the data directory (core/oslib/oslib.cpp:118-196,
|
|
core/stdclass.cpp:95-125). The data directory is $XDG_DATA_HOME/flycast/,
|
|
else ~/.local/share/flycast/, on Linux (core/linux-dist/main.cpp:74-99), and
|
|
the data/ folder of the configuration directory on Windows, Android and
|
|
macOS (core/windows/winmain.cpp:73-78, core/windows/winmain.cpp:86-89,
|
|
shell/android-studio/flycast/src/main/jni/src/Android.cpp:149-159,
|
|
shell/apple/emulator-osx/emulator-osx/osx-main.mm:97-101).
|
|
standalone_path is relative to the data directory. The BIOS paths are the
|
|
Dreamcast.BiosPath setting (core/cfg/option.cpp:144), the system data
|
|
directories take $FLYCAST_BIOS_PATH (core/linux-dist/main.cpp:198-202), and
|
|
find_user_data_dir() returns the data directory
|
|
(core/linux-dist/main.cpp:74, core/linux-dist/main.cpp:247).
|
|
|
|
Only the Dreamcast reads flat files. The prefix is dc_ for Dreamcast
|
|
(core/hw/flashrom/nvmem.cpp:35-50), and the boot ROM is searched as
|
|
{prefix}boot.bin then {prefix}bios.bin (core/hw/flashrom/nvmem.cpp:304).
|
|
Flash is {prefix}nvmem.bin and is created when absent
|
|
(core/hw/flashrom/nvmem.cpp:252-256). Arcade platforms return before the
|
|
boot ROM search (core/hw/flashrom/nvmem.cpp:300-302), and their flash is a
|
|
per-game save file. The system font is a resource compiled into the
|
|
binary (core/reios/reios.cpp:761-764).
|
|
|
|
Arcade BIOS archives are opened as <name>.zip, then <name>.7z
|
|
(core/hw/naomi/naomi_cart.cpp:75-78), first in system_dir/dc, then in
|
|
the content directory (shell/libretro/oslib.cpp:118-130). Each ROM inside
|
|
is looked up by CRC, then by file name, in the game archive, its parent,
|
|
then the BIOS archive (core/hw/naomi/naomi_cart.cpp:89-106). The blob of
|
|
the configured region is mapped first, any region otherwise, and a game
|
|
whose BIOS cannot be loaded aborts (core/hw/naomi/naomi_cart.cpp:196-207).
|
|
Games whose bios field is naomi2 run as NAOMI 2 and those whose bios
|
|
field is segasp as System SP (core/hw/naomi/naomi_cart.cpp:810-821).
|
|
|
|
BIOS[] also declares naomidev and naomigd. No entry of Games[] carries
|
|
either name in its bios field, so neither archive is opened. naomi-jp-d
|
|
and naomi-ko-h read naomi.zip (core/hw/naomi/naomi_roms.cpp:219-242).
|
|
|
|
files:
|
|
# -------------------------------------------------------
|
|
# Sega Dreamcast
|
|
# -------------------------------------------------------
|
|
- name: "dc_boot.bin"
|
|
path: "dc/dc_boot.bin"
|
|
standalone_path: "dc_boot.bin"
|
|
aliases: ["dc_bios.bin"]
|
|
system: sega-dreamcast
|
|
required: false
|
|
hle_fallback: true
|
|
size: 2097152
|
|
note: "Dreamcast boot ROM. reios is used when it is absent, except for the product ids that force the real BIOS. Searched as dc_boot.bin then dc_bios.bin."
|
|
source_ref: "core/hw/flashrom/nvmem.cpp:298-316, core/emulator.cpp:613-622"
|
|
|
|
- name: "dc_nvmem.bin"
|
|
path: "dc/dc_nvmem.bin"
|
|
standalone_path: "dc_nvmem.bin"
|
|
system: sega-dreamcast
|
|
required: false
|
|
hle_fallback: true
|
|
size: 131072
|
|
note: "Dreamcast flash memory. Created with factory settings when absent, written back on exit."
|
|
source_ref: "core/hw/flashrom/nvmem.cpp:252-256, core/hw/flashrom/nvmem.cpp:321-322"
|
|
|
|
# -------------------------------------------------------
|
|
# Sega NAOMI
|
|
# -------------------------------------------------------
|
|
- name: "naomi.zip"
|
|
path: "dc/naomi.zip"
|
|
standalone_path: "naomi.zip"
|
|
system: sega-naomi
|
|
required: true
|
|
category: bios_zip
|
|
note: "NAOMI system BIOS archive. Games with no bios field or with naomi, naomi-jp-d or naomi-ko-h read it and abort without it."
|
|
source_ref: "core/hw/naomi/naomi_roms.cpp:86-144, core/hw/naomi/naomi_roms.cpp:219-242, core/hw/naomi/naomi_cart.cpp:196-207"
|
|
contents:
|
|
- name: "epr-21576h.ic27"
|
|
description: Japan
|
|
size: 2097152
|
|
crc32: "d4895685"
|
|
- name: "epr-21576g.ic27"
|
|
description: Japan
|
|
size: 2097152
|
|
crc32: "d2a1c6bf"
|
|
- name: "epr-21578h.ic27"
|
|
description: Export
|
|
size: 2097152
|
|
crc32: "7b452946"
|
|
- name: "epr-21578g.ic27"
|
|
description: Export
|
|
size: 2097152
|
|
crc32: "55413214"
|
|
- name: "epr-21577h.ic27"
|
|
description: USA
|
|
size: 2097152
|
|
crc32: "fdf17452"
|
|
- name: "epr-21577g.ic27"
|
|
description: USA
|
|
size: 2097152
|
|
crc32: "25f64af7"
|
|
- name: "epr-21579d.ic27"
|
|
description: Korea
|
|
size: 2097152
|
|
crc32: "33513691"
|
|
- name: "epr-21576h_multi.ic27"
|
|
description: "Multi-region, the BIOS of naomi-ko-h"
|
|
size: 2097152
|
|
crc32: "cce01f1f"
|
|
- name: "epr-21576d.ic27"
|
|
description: "Japan, the BIOS of naomi-jp-d"
|
|
size: 2097152
|
|
crc32: "3b2afa7b"
|
|
|
|
- name: "airlbios.zip"
|
|
path: "dc/airlbios.zip"
|
|
standalone_path: "airlbios.zip"
|
|
system: sega-naomi
|
|
required: false
|
|
category: bios_zip
|
|
note: "Airline Pilots Deluxe BIOS. Required by the two Airline Pilots entries."
|
|
source_ref: "core/hw/naomi/naomi_roms.cpp:29-37, core/hw/naomi/naomi_roms.cpp:1000, core/hw/naomi/naomi_roms.cpp:1032"
|
|
contents:
|
|
- name: "epr-21802.ic27"
|
|
description: Export
|
|
size: 2097152
|
|
crc32: "a77c6b1c"
|
|
- name: "epr-21801.ic27"
|
|
description: USA
|
|
size: 2097152
|
|
crc32: "a21bef24"
|
|
|
|
- name: "f355bios.zip"
|
|
path: "dc/f355bios.zip"
|
|
standalone_path: "f355bios.zip"
|
|
system: sega-naomi
|
|
required: false
|
|
category: bios_zip
|
|
note: "Ferrari F355 Challenge twin BIOS. Required by the three twin entries."
|
|
source_ref: "core/hw/naomi/naomi_roms.cpp:49-59, core/hw/naomi/naomi_roms.cpp:1887, core/hw/naomi/naomi_roms.cpp:1926, core/hw/naomi/naomi_roms.cpp:1965"
|
|
contents:
|
|
- name: "epr-22851.ic27"
|
|
description: Export
|
|
size: 2097152
|
|
crc32: "62483677"
|
|
- name: "epr-22850.ic27"
|
|
description: USA
|
|
size: 2097152
|
|
crc32: "28aa539d"
|
|
- name: "epr-22849.ic27"
|
|
description: Japan
|
|
size: 2097152
|
|
crc32: "121e009c"
|
|
|
|
- name: "f355dlx.zip"
|
|
path: "dc/f355dlx.zip"
|
|
standalone_path: "f355dlx.zip"
|
|
system: sega-naomi
|
|
required: false
|
|
category: bios_zip
|
|
note: "Ferrari F355 Challenge deluxe BIOS. Required by f355."
|
|
source_ref: "core/hw/naomi/naomi_roms.cpp:60-74, core/hw/naomi/naomi_roms.cpp:1843"
|
|
contents:
|
|
- name: "epr-21864.ic27"
|
|
description: Export
|
|
size: 2097152
|
|
crc32: "12ed7c66"
|
|
- name: "epr-21863.ic27"
|
|
description: USA
|
|
size: 2097152
|
|
crc32: "0615a4d1"
|
|
- name: "epr-21862.ic27"
|
|
description: Japan
|
|
size: 2097152
|
|
crc32: "1f630716"
|
|
|
|
- name: "hod2bios.zip"
|
|
path: "dc/hod2bios.zip"
|
|
standalone_path: "hod2bios.zip"
|
|
system: sega-naomi
|
|
required: false
|
|
category: bios_zip
|
|
note: "The House of the Dead 2 BIOS. Required by the four hotd2 entries."
|
|
source_ref: "core/hw/naomi/naomi_roms.cpp:75-85, core/hw/naomi/naomi_roms.cpp:2203, core/hw/naomi/naomi_roms.cpp:2241, core/hw/naomi/naomi_roms.cpp:2279, core/hw/naomi/naomi_roms.cpp:2317"
|
|
contents:
|
|
- name: "epr-21331.ic27"
|
|
description: Export
|
|
size: 2097152
|
|
crc32: "065f8500"
|
|
- name: "epr-21330.ic27"
|
|
description: USA
|
|
size: 2097152
|
|
crc32: "9e3bfa1b"
|
|
- name: "epr-21329.ic27"
|
|
description: Japan
|
|
size: 2097152
|
|
crc32: "d99e5b9b"
|
|
|
|
# -------------------------------------------------------
|
|
# Sega NAOMI 2
|
|
# -------------------------------------------------------
|
|
- name: "naomi2.zip"
|
|
path: "dc/naomi2.zip"
|
|
standalone_path: "naomi2.zip"
|
|
system: sega-naomi2
|
|
required: true
|
|
category: bios_zip
|
|
note: "NAOMI 2 system BIOS archive. Every game whose bios field is naomi2 aborts without it."
|
|
source_ref: "core/hw/naomi/naomi_roms.cpp:182-202, core/hw/naomi/naomi_cart.cpp:818-819, core/hw/naomi/naomi_cart.cpp:196-207"
|
|
contents:
|
|
- name: "epr-23605c.ic27"
|
|
description: Japan
|
|
size: 2097152
|
|
crc32: "297ea6ed"
|
|
- name: "epr-23605b.ic27"
|
|
description: Japan
|
|
size: 2097152
|
|
crc32: "3a3242d4"
|
|
- name: "epr-23607c.ic27"
|
|
description: USA
|
|
size: 2097152
|
|
crc32: "750e254b"
|
|
- name: "epr-23607b.ic27"
|
|
description: USA
|
|
size: 2097152
|
|
crc32: "f308c5e9"
|
|
- name: "epr-23608c.ic27"
|
|
description: Export
|
|
size: 2097152
|
|
crc32: "6ef1dd8e"
|
|
- name: "epr-23608b.ic27"
|
|
description: Export
|
|
size: 2097152
|
|
crc32: "a554b1e3"
|
|
- name: "epr-23609b.ic27"
|
|
description: Korea
|
|
size: 2097152
|
|
crc32: "99e3751f"
|
|
- name: "epr-23605c_multi.ic27"
|
|
description: Multi-region
|
|
size: 2097152
|
|
crc32: "353fdbcd"
|
|
|
|
# -------------------------------------------------------
|
|
# Sega Atomiswave
|
|
# -------------------------------------------------------
|
|
- name: "awbios.zip"
|
|
path: "dc/awbios.zip"
|
|
standalone_path: "awbios.zip"
|
|
system: sega-atomiswave
|
|
required: true
|
|
category: bios_zip
|
|
note: "Atomiswave system BIOS archive. The first 64 KB of bios0.ic23 are mapped. Every Atomiswave game aborts without it."
|
|
source_ref: "core/hw/naomi/naomi_roms.cpp:38-48, core/hw/naomi/naomi_cart.cpp:196-207"
|
|
contents:
|
|
- name: "bios0.ic23"
|
|
size: 131072
|
|
crc32: "719b2b0b"
|
|
|
|
# -------------------------------------------------------
|
|
# Sega System SP
|
|
# -------------------------------------------------------
|
|
- name: "segasp.zip"
|
|
path: "dc/segasp.zip"
|
|
standalone_path: "segasp.zip"
|
|
system: sega-systemsp
|
|
required: true
|
|
category: bios_zip
|
|
note: "System SP BIOS archive. The USA and Export regions also load a default motherboard EEPROM from it. Every game whose bios field is segasp aborts without it."
|
|
source_ref: "core/hw/naomi/naomi_roms.cpp:203-218, core/hw/naomi/naomi_cart.cpp:820-821, core/hw/naomi/naomi_cart.cpp:126-139"
|
|
contents:
|
|
- name: "epr-24328a.ic50"
|
|
size: 2097152
|
|
crc32: "03ec3805"
|
|
- name: "mb_eeprom_us.ic54s"
|
|
description: USA
|
|
size: 128
|
|
crc32: "4186d7ab"
|
|
- name: "mb_eeprom_exp.ic54s"
|
|
description: Export
|
|
size: 128
|
|
crc32: "947ddfad"
|
|
|
|
platform_details:
|
|
dreamcast:
|
|
bios_size: 2097152
|
|
flash_size: 131072
|
|
ram_size: 16777216
|
|
hle_available: true
|
|
source_ref: "core/emulator.cpp:456-462"
|
|
|
|
naomi:
|
|
bios_size: 2097152
|
|
sram_size: 32768
|
|
ram_size: 33554432
|
|
hle_available: false
|
|
source_ref: "core/emulator.cpp:463-469"
|
|
|
|
naomi2:
|
|
bios_size: 2097152
|
|
sram_size: 32768
|
|
ram_size: 33554432
|
|
hle_available: false
|
|
source_ref: "core/emulator.cpp:470-477"
|
|
|
|
atomiswave:
|
|
bios_size: 131072
|
|
sram_size: 131072
|
|
ram_size: 16777216
|
|
hle_available: false
|
|
source_ref: "core/emulator.cpp:478-484"
|
|
|
|
systemsp:
|
|
bios_size: 2097152
|
|
sram_size: 131072
|
|
ram_size: 33554432
|
|
hle_available: false
|
|
source_ref: "core/emulator.cpp:485-491"
|