From 5a6e11bb8bed9674b6e49861110370ae0c1e54e5 Mon Sep 17 00:00:00 2001 From: Abdessamad Derraz <3028866+Abdess@users.noreply.github.com> Date: Thu, 22 Oct 2026 08:14:21 +0200 Subject: [PATCH] feat: add flycast2021le emulator profile AmberELEC builds navy1978/flycast2022-lowend bf93aece and installs it as flycast2021le. --- emulators/flycast2021le.yml | 180 ++++++++++++++++++++++++++++++++++++ 1 file changed, 180 insertions(+) create mode 100644 emulators/flycast2021le.yml diff --git a/emulators/flycast2021le.yml b/emulators/flycast2021le.yml new file mode 100644 index 00000000..f1515530 --- /dev/null +++ b/emulators/flycast2021le.yml @@ -0,0 +1,180 @@ +emulator: "Flycast 2022 Low-End" +type: libretro +core_classification: enhanced_fork +source: "https://github.com/navy1978/flycast2022-lowend" +upstream: "https://github.com/libretro/parallel-dc" +profiled_date: "2026-10-22" +source_commit: "bf93aece5db7050667075a1107ab380856b44a23" +upstream_commit: "4c293f306bc16a265c2d768af5d0cea138426054" +core_version: "0.1" +display_name: "Sega - Dreamcast/Naomi (Flycast 2021 LE)" +cores: + - "flycast2021le" +built_by: [amberelec] +systems: + - sega-dreamcast + - sega-naomi + - sega-atomiswave + +notes: | + The libretro/flycast tree of 6 April 2022 (4c293f30, the repository now + answers as libretro/parallel-dc) with 21 commits by navy1978 on top that add + optional CPU, renderer and audio paths for RK3326/RK3566 handhelds. None of + them touches the code that opens system files. + AmberELEC builds this revision, renames the core option prefix from reicast + to flycast2021le and installs the library as flycast2021le_libretro.so. + ref: AmberELEC packages/games/libretro/flycast2021le/package.mk:5,19,50 + + Every system file lives in /dc/. + ref: core/libretro/libretro.cpp:2189-2193 + + 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 defaults to disabled. 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:51-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:226-239, core/libretro/libretro.cpp:885-890 + + 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, and 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:77-180, core/hw/naomi/naomi_cart.cpp:227-247, + core/archive/archive.cpp:26-42, core/hw/naomi/naomi_roms.h:76-213 + + 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_LoadRom calls + naomi_cart_Close, which 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/nullDC.cpp:432-435, core/nullDC.cpp:77-81, + core/hw/naomi/naomi_cart.cpp:427-450, core/hw/naomi/naomi_cart.cpp:473-485 + +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, and a shorter file is rejected. Needed only to boot to the BIOS menu or to start without a disc." + source_ref: "source core/hw/holly/sb_mem.cpp:51-65, source core/hw/holly/sb_mem.cpp:215-229, source core/hw/flashrom/flashrom.h:54-67, source 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: "source core/hw/holly/sb_mem.cpp:196-213, source core/hw/holly/sb_mem.cpp:231, source core/hw/holly/sb_mem.cpp:236-243, source 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: "source 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: "source core/hw/naomi/naomi_roms.h:132-189, source core/hw/naomi/naomi_cart.cpp:227-247, source core/hw/naomi/naomi_cart.cpp:473-485" + 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: "source core/hw/naomi/naomi_roms.h:86-94, source core/hw/naomi/naomi_cart.cpp:89-93, source 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: "source core/hw/naomi/naomi_roms.h:95-103, source 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: "source core/hw/naomi/naomi_roms.h:104-119, source core/hw/naomi/naomi_roms.h:1701, source 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: "source core/hw/naomi/naomi_roms.h:120-131, source 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"