emulator: "Flycast 2021" type: libretro core_classification: frozen_snapshot source: "https://github.com/metallic77/flycast" upstream: "https://github.com/libretro/flycast" profiled_date: "2026-10-17" source_commit: "603814c9f73b773c455d9a497f389d2f93a257fd" upstream_commit: "4c293f306bc16a265c2d768af5d0cea138426054" pin_frozen: "ROCKNIX 20261001 builds this revision. No branch of metallic77/flycast holds it any more: master was put back on the libretro merge base 4c293f30, so HEAD is the code before the fork's own commits." core_version: "0.1" display_name: "Sega - Dreamcast/Naomi (Flycast 2021)" cores: - "flycast2021" systems: - sega-dreamcast - sega-naomi - sega-atomiswave notes: | The libretro/flycast tree as of April 2022 (merge base 4c293f30), from before the libretro fork was rebased on flyinghead's Flycast, with 22 commits by metallic77 on top that tune defaults and build flags for low-end handhelds. ROCKNIX renames the core option prefix from reicast to flycast2021 and installs the library as flycast2021_libretro.so. ref: core/libretro/libretro.cpp:2296-2300 Every system file lives in /dc/. ref: core/libretro/libretro.cpp:1893-1896 Dreamcast: the boot ROM is looked for as dc_boot.bin, dc_boot.bin.bin, dc_bios.bin, dc_bios.bin.bin, the first that yields a full 2 MB read wins. The HLE BIOS core option (hle_bios) defaults to enabled, and when it is on, or when no boot ROM loads, reios boots the disc instead. Booting to the BIOS menu, or starting without a disc, needs the real boot ROM and fails with -3 without it. ref: core/hw/holly/sb_mem.cpp:32-65, core/hw/holly/sb_mem.cpp:215-233, core/hw/flashrom/flashrom.h:54-67, core/hw/flashrom/flashrom.h:84-118, core/nullDC.cpp:420-431, core/nullDC.cpp:455-463, core/libretro/libretro_core_options.h:133-145, core/libretro/libretro.cpp:726-731 NAOMI and Atomiswave: a BIOS archive is opened as /dc/ with .7z then .zip appended. Each member is looked for in the game archive, its parent, then the BIOS archive, by CRC32 and then by name; the BIOS table carries no CRC32, so only the name matches. The member for the configured region is tried first, then the first member listed. A game whose table entry names a BIOS refuses to start without it; the others default to naomi. Five archive names are reachable from the game table: naomi, awbios, f355bios, f355dlx, hod2bios. airlbios and naomigd have table entries but no game names them. ref: core/hw/naomi/naomi_cart.cpp:76-176, core/hw/naomi/naomi_cart.cpp:227-247, core/archive/archive.cpp:26-42, core/hw/naomi/naomi_roms.h:76-217 LoadRomFiles also reads naomi_boot.bin, naomi_boot.bin.bin, naomi_bios.bin, naomi_bios.bin.bin and epr-21576d.bin for NAOMI, but naomi_cart_Close clears bios_loaded before the cartridge loads, so that file never stands in for naomi.zip. ref: core/hw/holly/sb_mem.cpp:59, core/hw/naomi/naomi_cart.cpp:427-444, core/hw/naomi/naomi_cart.cpp:472-484 files: - name: "dc_boot.bin" path: "dc/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" note: "Read as 2 MB into the system ROM; a shorter file is rejected. Needed only to boot to the BIOS menu or when the HLE BIOS option is disabled." source_ref: "core/hw/holly/sb_mem.cpp:50-65, core/hw/holly/sb_mem.cpp:215-229, core/hw/flashrom/flashrom.h:54-67, core/nullDC.cpp:420-431" - name: "dc_nvmem.bin" path: "dc/dc_nvmem.bin" aliases: ["dc_flash_wb.bin", "dc_flash.bin", "dc_flash.bin.bin"] system: sega-dreamcast required: false min_size: 131072 validation: [size] description: "Dreamcast flash ROM" note: "Loaded with the boot ROM and by the HLE path; a missing file leaves the flash blank and the core runs. Written back as dc_nvmem.bin." source_ref: "core/hw/holly/sb_mem.cpp:196-213, core/hw/holly/sb_mem.cpp:231, core/hw/holly/sb_mem.cpp:236-243, core/hw/holly/sb_mem.cpp:271-278" - name: "font.bin" path: "dc/font.bin" system: sega-dreamcast required: false description: "Dreamcast system font for the HLE BIOS" note: "Read whole into the font table of the reios ROM image. Absent, a built-in font is copied there." source_ref: "core/reios/reios.cpp:736-755" - name: "naomi.zip" path: "dc/naomi.zip" category: bios_zip system: sega-naomi required: true description: "NAOMI BIOS archive" note: "Default BIOS of every NAOMI game whose table entry names none, cartridge, .lst, .bin and .dat images alike. One member is loaded: the one for the configured region, else epr-21576h.ic27." source_ref: "core/hw/naomi/naomi_roms.h:132-189, core/hw/naomi/naomi_cart.cpp:227-247, core/hw/naomi/naomi_cart.cpp:472-484" contents: - name: "epr-21576h.ic27" size: 2097152 description: "Japan" - name: "epr-21578h.ic27" size: 2097152 description: "Export" - name: "epr-21577h.ic27" size: 2097152 description: "USA" - name: "epr-21579d.ic27" size: 2097152 description: "Korea" - name: "awbios.zip" path: "dc/awbios.zip" category: bios_zip system: sega-atomiswave required: true description: "Atomiswave BIOS archive" note: "Named by all 34 Atomiswave games. Loaded into the flash chip, whose writable part is then reloaded from the save directory." source_ref: "core/hw/naomi/naomi_roms.h:86-94, core/hw/naomi/naomi_cart.cpp:89-92, core/hw/naomi/naomi_cart.cpp:171-173" contents: - name: "bios0.ic23" size: 131072 - name: "f355bios.zip" path: "dc/f355bios.zip" category: bios_zip system: sega-naomi required: true description: "Ferrari F355 Challenge BIOS archive" note: "Named by three Ferrari F355 Challenge entries, which refuse to start without it." source_ref: "core/hw/naomi/naomi_roms.h:95-103, core/hw/naomi/naomi_cart.cpp:238-243" contents: - name: "epr-22851.ic27" size: 2097152 description: "Export" - name: "epr-22850.ic27" size: 2097152 description: "USA" - name: "epr-22849.ic27" size: 2097152 description: "Japan" - name: "f355dlx.zip" path: "dc/f355dlx.zip" category: bios_zip system: sega-naomi required: true description: "Ferrari F355 Challenge Deluxe BIOS archive" note: "Named by the f355 entry, which refuses to start without it." source_ref: "core/hw/naomi/naomi_roms.h:104-119, core/hw/naomi/naomi_roms.h:1701, core/hw/naomi/naomi_cart.cpp:238-243" contents: - name: "epr-21864.ic27" size: 2097152 description: "Export" - name: "epr-21863.ic27" size: 2097152 description: "USA" - name: "epr-21862.ic27" size: 2097152 description: "Japan" - name: "hod2bios.zip" path: "dc/hod2bios.zip" category: bios_zip system: sega-naomi required: true description: "The House of the Dead 2 BIOS archive" note: "Named by four House of the Dead 2 entries, which refuse to start without it." source_ref: "core/hw/naomi/naomi_roms.h:120-131, core/hw/naomi/naomi_cart.cpp:238-243" contents: - name: "epr-21331.ic27" size: 2097152 description: "Export" - name: "epr-21330.ic27" size: 2097152 description: "USA" - name: "epr-21329.ic27" size: 2097152 description: "Japan"