Files
libretro/emulators/flycast-dojo.yml
T
Abdessamad Derraz 864c986c8a feat: reprofile flycast-dojo on the dojo 7.8 line
The pin sat on master, the Dojo 6 line, while the releases are tagged
on the dojo branch (flyinghead f13d7ad plus the Dojo commits). At
dojo-7.8 (745815c): UseReios defaults to on, the boot ROM and flash
logic lives in hw/flashrom/nvmem.cpp, dc_nvmem.bin.net and the netplay
reios override are gone, font.bin is a compiled-in resource, BIOS ROMs
are matched by CRC32 then name, airlbios.zip is read by the two Airline
Pilots sets, and System SP (segasp.zip) is a platform. naomi.zip and
naomi2.zip gain the g, b, Korea and multi-region members.
2026-10-23 15:52:35 +02:00

375 lines
14 KiB
YAML

emulator: Flycast Dojo
type: standalone
core_classification: enhanced_fork
source: "https://github.com/blueminder/flycast-dojo"
upstream: "https://github.com/flyinghead/flycast"
source_branch: "dojo"
source_commit: "745815c929fca4a893be28c99351b44d984b6642"
upstream_commit: "f13d7ad2dcf141f59a999090dbc0f78be196e665"
logo: "https://raw.githubusercontent.com/blueminder/flycast-dojo/master/shell/linux/flycast-dojo.png"
profiled_date: "2026-10-23"
core_version: "dojo-7.8"
display_name: "Sega - Dreamcast/Naomi (Flycast Dojo)"
cores:
- flycast-dojo
- "flycast_dojo"
systems:
- sega-dreamcast
- sega-naomi
- sega-naomi2
- sega-atomiswave
- sega-systemsp
mode: standalone
verification: existence
notes: |
Fork of Flycast adding rollback and delay netplay, a lobby, spectating,
replay recording and a training mode. The Dojo 7 releases are tagged on the
dojo branch, which carries flyinghead/flycast up to f13d7ad of 2024-05-11
with the Dojo commits on top. The master branch is the older Dojo 6 line.
The build names itself with git describe, so the version string is the tag.
ref: .github/workflows/build-and-release.yml:4-6, .github/workflows/build-and-release.yml:27
Every file below is read from the data directory, flat, with no subfolder.
The user data directory is <exe>/data on Windows,
$XDG_DATA_HOME/flycast-dojo or $HOME/.local/share/flycast-dojo on Linux,
the data/ folder of $HOME/.flycast or ~/Library/Application Support/Flycast
on macOS, and /flycast-dojo/data on Switch. A missing file is then looked up
in the system data directories (on Linux $XDG_DATA_DIRS or /usr/local/share
and /usr/share, each with flycast-dojo appended, every $FLYCAST_BIOS_PATH
entry, ./ and data/), then in the directory of the loaded game. Boot ROMs,
flash and arcade BIOS archives are also searched in every ContentPath entry.
ref: core/linux-dist/main.cpp:148-178, 255-296, 337-344,
core/windows/winmain.cpp:77-97,
shell/apple/emulator-osx/emulator-osx/osx-main.mm:108-137,
core/stdclass.cpp:83-105, core/oslib/oslib.cpp:52-81, 88-103
The boot ROM prefix follows the platform (core/hw/flashrom/nvmem.cpp:35-50):
Dreamcast -> dc_
NAOMI -> naomi_
NAOMI 2 -> naomi2_
Atomiswave -> aw_
System SP -> no prefix
Boot ROM search pattern (core/hw/flashrom/nvmem.cpp:256-272):
{prefix}boot.bin, {prefix}boot.bin.bin, {prefix}bios.bin, {prefix}bios.bin.bin
Flash search takes a single name, {prefix}nvmem.bin, on Dreamcast only. The
arcade platforms keep their flash under the per-game save path, and when it
is absent the NAOMI and Atomiswave defaults compiled into the binary are
used for the games that have one (core/hw/flashrom/nvmem.cpp:214-254).
The aw_ prefix never reaches a filename: the boot ROM search is skipped on
Atomiswave, whose BIOS comes from awbios.zip.
Arcade BIOS archives are opened as <name>.zip, then <name>.7z
(core/hw/naomi/naomi_cart.cpp:57-75). Each ROM is looked up by CRC32 in
the game archive, its parent and the BIOS archive, then by file name in
the same order, and the blob of the configured region is taken, else the
first one listed. awbios declares no CRC32, so its member is found by name.
No hash is checked on an archive. A game with no bios field reads naomi.zip
and runs from the flat naomi_boot.bin when the archive is missing. A game
that names a BIOS aborts without it (core/hw/naomi/naomi_cart.cpp:190-206).
NAOMI 2 and System SP are platforms of their own: naomi_cart_GetPlatform
returns DC_PLATFORM_NAOMI2 for a game whose bios field is naomi2 and
DC_PLATFORM_SYSTEMSP for segasp (core/hw/naomi/naomi_cart.cpp:785-806).
UseReios defaults to on, so the Dreamcast boots through reios and reads
dc_boot.bin only when HLE BIOS is turned off, to start the BIOS menu
without a disc, or for the product ids that force the real BIOS
(core/cfg/option.cpp:127, core/emulator.cpp:262-279, 502-526).
The release archives hold the binary and its libraries alone. The default
arcade flash images, the on-screen button sheet and the reios font are
compiled in as resources.
ref: CMakeLists.txt:966-1001, .github/workflows/build-and-release.yml:56,
.github/workflows/build-and-release.yml:71-72
Also read but never user supplied: buttons.png overrides the compiled in
button sheet (core/rend/osd.cpp:155-174), mappings/*.cfg are written by the
input configuration screen (core/input/mapping.cpp:401, 461-463),
flycast.lua is a user script (core/lua/lua.cpp:750-760), and the training
mode runs training/cvs2.lua or training/mvsc2.lua from the config directory
for those two games, otherwise training/<game>.lua from the data directory
(core/dojo/dojo.cpp:287-319).
files:
# -------------------------------------------------------
# Sega Dreamcast
# -------------------------------------------------------
- name: 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]
note: "Boot ROM. reios runs by default and when it is absent. Read when HLE BIOS is off, for the product ids that force the real BIOS, and to boot the BIOS menu without a disc, which fails without it. Read fails below 2 MB."
source_ref: "source core/hw/flashrom/nvmem.cpp:256-272, source core/emulator.cpp:502-526, source core/hw/flashrom/flashrom.cpp:21-33"
- name: dc_nvmem.bin
system: sega-dreamcast
required: false
min_size: 131072
validation: [size]
note: "Flash memory. Created and filled with factory settings when absent, and written back under this name."
source_ref: "source core/hw/flashrom/nvmem.cpp:214-222, source core/hw/flashrom/nvmem.cpp:120-197, source core/hw/flashrom/nvmem.cpp:274-284"
# -------------------------------------------------------
# Sega NAOMI
# -------------------------------------------------------
- name: naomi_boot.bin
aliases: ["naomi_boot.bin.bin", "naomi_bios.bin", "naomi_bios.bin.bin"]
system: sega-naomi
required: false
min_size: 2097152
validation: [size]
note: "Flat boot ROM. Games whose bios field is null run from it when naomi.zip is missing."
source_ref: "source core/hw/flashrom/nvmem.cpp:256-272, source core/hw/naomi/naomi_cart.cpp:190-206"
- name: naomi.zip
system: sega-naomi
required: true
category: bios_zip
note: "System BIOS archive. 102 game entries name it and abort without it, and the 131 entries with no bios field read it too."
source_ref: "source core/hw/naomi/naomi_roms.cpp:83-141, source core/hw/naomi/naomi_cart.cpp:190-206"
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, listed for the Korea region"
size: 2097152
crc32: "cce01f1f"
- name: airlbios.zip
system: sega-naomi
required: false
category: bios_zip
note: "Airline Pilots Deluxe. Required by alpilot and alpilotj."
source_ref: "source core/hw/naomi/naomi_roms.cpp:29-37, source core/hw/naomi/naomi_roms.cpp:932, 964"
contents:
- name: epr-21802.ic27
description: Export
size: 2097152
crc32: "a77c6b1c"
- name: epr-21801.ic27
description: USA
size: 2097152
crc32: "a21bef24"
- name: f355bios.zip
system: sega-naomi
required: false
category: bios_zip
note: "Ferrari F355 Challenge twin. Required by f355twin, f355twinp and f355twn2."
source_ref: "source core/hw/naomi/naomi_roms.cpp:46-56, source core/hw/naomi/naomi_roms.cpp:1843, 1883, 1923"
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
system: sega-naomi
required: false
category: bios_zip
note: "Ferrari F355 Challenge deluxe. Required by f355."
source_ref: "source core/hw/naomi/naomi_roms.cpp:57-71, source core/hw/naomi/naomi_roms.cpp:1797"
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
system: sega-naomi
required: false
category: bios_zip
note: "House of the Dead 2. Required by hotd2, hotd2o, hotd2e and hotd2p."
source_ref: "source core/hw/naomi/naomi_roms.cpp:72-82, source core/hw/naomi/naomi_roms.cpp:2170, 2209, 2248, 2287"
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_boot.bin
aliases: ["naomi2_boot.bin.bin", "naomi2_bios.bin", "naomi2_bios.bin.bin"]
system: sega-naomi2
required: false
min_size: 2097152
validation: [size]
note: "Flat boot ROM for the NAOMI 2 platform. Every NAOMI 2 game names naomi2 in its bios field, so naomi2.zip is still required and replaces it."
source_ref: "source core/hw/flashrom/nvmem.cpp:43-44, 256-272"
- name: naomi2.zip
system: sega-naomi2
required: true
category: bios_zip
note: "System BIOS archive. All 45 NAOMI 2 game entries name it and abort without it."
source_ref: "source core/hw/naomi/naomi_roms.cpp:142-162, source core/hw/naomi/naomi_cart.cpp:785-806"
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, listed for the Korea region"
size: 2097152
crc32: "353fdbcd"
# -------------------------------------------------------
# Sammy Atomiswave
# -------------------------------------------------------
- name: awbios.zip
system: sega-atomiswave
required: true
category: bios_zip
note: "System BIOS archive. All 34 Atomiswave game entries name it and abort without it."
source_ref: "source core/hw/naomi/naomi_roms.cpp:38-45, source core/hw/naomi/naomi_cart.cpp:190-206"
contents:
- name: bios0.ic23
size: 131072
# -------------------------------------------------------
# Sega System SP
# -------------------------------------------------------
- name: segasp.zip
system: sega-systemsp
required: true
category: bios_zip
note: "System BIOS archive. All 26 System SP game entries name it and abort without it. The USA and Export regions also take their default motherboard EEPROM from it."
source_ref: "source core/hw/naomi/naomi_roms.cpp:163-178, source core/hw/naomi/naomi_cart.cpp:124-137, source core/hw/naomi/naomi_cart.cpp:785-806"
contents:
- name: epr-24328a.ic50
description: "Boot ROM 2.01, all regions"
size: 2097152
crc32: "03ec3805"
- name: mb_eeprom_us.ic54s
description: USA
crc32: "4186d7ab"
- name: mb_eeprom_exp.ic54s
description: Export
crc32: "947ddfad"
# -------------------------------------------------------
# Input
# -------------------------------------------------------
- name: gamecontrollerdb.txt
required: false
category: game_data
note: "SDL controller mapping database, read from the data directory then the config directory. Not part of the release archive. SDL built-in mappings are used when absent."
source_ref: "source core/sdl/sdl.cpp:185-191"
platform_details:
dreamcast:
bios_size: 2097152
flash_size: 131072
ram_size: 16777216
hle_available: true
source_ref: "core/emulator.cpp:368-374"
naomi:
bios_size: 2097152
sram_size: 32768
ram_size: 33554432
hle_available: false
source_ref: "core/emulator.cpp:375-381"
naomi2:
bios_size: 2097152
sram_size: 32768
ram_size: 33554432
eram_size: 33554432
hle_available: false
source_ref: "core/emulator.cpp:382-389"
atomiswave:
bios_size: 131072
sram_size: 131072
ram_size: 16777216
hle_available: false
source_ref: "core/emulator.cpp:390-396"
systemsp:
bios_size: 2097152
sram_size: 131072
ram_size: 33554432
hle_available: false
source_ref: "core/emulator.cpp:397-403"