mirror of
https://github.com/Abdess/retroarch_system.git
synced 2026-11-01 15:43:45 -06:00
One run of profile_sync --all --rebase-refs --fresh. Every guard held: no ref to review, no prose left under an older pin, no file name or hash literal gained in a cited file since the pin, no built_by pin and no pin keyed by build mode. The site's record of cited source paths is rebuilt with them.
383 lines
14 KiB
YAML
383 lines
14 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: "e88b0ced2243de137bcccac0072f0c1dd00d41bd"
|
|
core_version: "Git"
|
|
display_name: "Sega - Dreamcast/Naomi (Flycast)"
|
|
cores:
|
|
- flycast
|
|
- flycast_dev
|
|
- flycastvl
|
|
- "flycast-next"
|
|
- "flycastsa"
|
|
- "flycast_32b"
|
|
- "flycast-sa"
|
|
- "flycast-dev"
|
|
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"
|
|
|
|
data_root:
|
|
android:
|
|
path: "Android/data/com.flycast.emulator/files/data"
|
|
source_ref: "shell/android-studio/flycast/src/main/java/com/flycast/emulator/BaseGLActivity.java:92-97,442-447, shell/android-studio/flycast/src/main/jni/src/Android.cpp:143-159, shell/android-studio/flycast/build.gradle.kts:21"
|
|
note: "data/ under the home directory set in the app settings, getFilesDir() when no external storage is mounted"
|
|
ios:
|
|
path: "Documents"
|
|
source_ref: "shell/apple/emulator-ios/emulator/FlycastViewController.mm:198-201"
|
|
note: "the app's sandbox Documents folder, with no data/ subfolder"
|
|
windows:
|
|
path: "<folder of flycast.exe>/data"
|
|
source_ref: "core/windows/winmain.cpp:59-78"
|
|
note: "the UWP build uses data/ under the app's LocalFolder (core/windows/winmain.cpp:80-89)"
|
|
macos:
|
|
path: "~/Library/Application Support/Flycast/data"
|
|
source_ref: "shell/apple/emulator-osx/emulator-osx/osx-main.mm:78-102"
|
|
note: "~/.flycast/data when ~/.flycast exists. A second running instance appends its number to the folder"
|
|
linux:
|
|
path: "$XDG_DATA_HOME/flycast, else ~/.local/share/flycast"
|
|
source_ref: "core/linux-dist/main.cpp:74-99,247"
|
|
|
|
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:2252-2253). 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, given per system in
|
|
data_root, is the data/ folder of the configuration directory except on
|
|
Linux and iOS. standalone_path is relative to it. 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"
|