diff --git a/emulators/aethersx2.yml b/emulators/aethersx2.yml index 87e28cb3b..7466b06bb 100644 --- a/emulators/aethersx2.yml +++ b/emulators/aethersx2.yml @@ -46,7 +46,8 @@ notes: | asset set. Every name, path and size below was read from the three builds that were distributed: v1.5-3939 for Apple Silicon macOS, v1.5-3668 for Android, and v1.5-3606 for AArch64 Linux, which ROCKNIX - repackages as aethersx2-sa. The three agree throughout. + packaged as aethersx2-sa up to its 20261001 release and dropped in + 20261101. The three agree throughout. ref: aethersx2/pcsx2/CMakeLists.txt:1585, aethersx2/pcsx2/Mdec.cpp:1 A BIOS image is required and boot stops without one. It belongs in the bios @@ -180,15 +181,13 @@ files: - name: cheats_ws.zip path: resources/cheats_ws.zip required: false - installed_on: [rocknix] description: "Widescreen patch archive" - note: "Per-game pnach entries matched on the disc CRC, loaded when widescreen patches are enabled. The cheats_ws folder takes precedence and the archive is skipped when it holds a match. Shipped by the Linux and Android builds, while the macOS build looks for it without carrying one. ROCKNIX installs the Linux build's resources folder beside the binary." + note: "Per-game pnach entries matched on the disc CRC, loaded when widescreen patches are enabled. The cheats_ws folder takes precedence and the archive is skipped when it holds a match. Shipped by the Linux and Android builds, while the macOS build looks for it without carrying one." source_ref: "source aethersx2/pcsx2/Patch.cpp:202-231, AetherSX2-release MacOS/AetherSX2" - name: cheats_ni.zip path: resources/cheats_ni.zip required: false - installed_on: [rocknix] description: "No-interlacing patch archive" note: "Same form as cheats_ws.zip, loaded when no-interlacing patches are enabled, with the cheats_ni folder taking precedence. Shipped by the Linux and Android builds, while the macOS build looks for it without carrying one." source_ref: "source aethersx2/pcsx2/Patch.cpp:202-231, AetherSX2-release MacOS/AetherSX2" diff --git a/emulators/amiberry.yml b/emulators/amiberry.yml index 365706e75..069828868 100644 --- a/emulators/amiberry.yml +++ b/emulators/amiberry.yml @@ -3442,7 +3442,7 @@ files: AROS extended ROM replacement, used when no Kickstart ROM is found. Looked up in the configured ROM directories, and only in a directory that also holds aros-rom.bin. The core zip carries the library alone. - source_ref: "source src/memory.cpp:1964 (paired existence check), source src/memory.cpp:1964 (load)" + source_ref: "source src/memory.cpp:1934-1956 (paired existence check), source src/memory.cpp:1958-2013 (load)" - name: aros-ext.bin mode: standalone @@ -3457,9 +3457,10 @@ files: note: > AROS extended ROM replacement, used when no Kickstart ROM is found. Looked up in the configured ROM directories, and only in a directory that also - holds aros-rom.bin. Shipped in roms/ of the 8.4.2 installs. The Recalbox - and ROCKNIX packages leave it out. - source_ref: "source src/memory.cpp:1964 (paired existence check), source src/memory.cpp:1964 (load)" + holds aros-rom.bin. The tree ships it in roms/, installed beside the + binary (cmake/linux/install.cmake:193). The Recalbox and ROCKNIX + packages leave it out. + source_ref: "source src/memory.cpp:1934-1956 (paired existence check), source src/memory.cpp:1958-2013 (load)" - name: aros-rom.bin mode: libretro @@ -3470,7 +3471,7 @@ files: AROS main ROM replacement, used with aros-ext.bin as Kickstart fallback. Looked up in the configured ROM directories, and only in a directory that also holds aros-ext.bin. The core zip carries the library alone. - source_ref: "source src/memory.cpp:1964 (paired existence check), source src/memory.cpp:1964 (load)" + source_ref: "source src/memory.cpp:1934-1956 (paired existence check), source src/memory.cpp:1958-2013 (load)" - name: aros-rom.bin mode: standalone @@ -3485,9 +3486,10 @@ files: note: > AROS main ROM replacement, used with aros-ext.bin as Kickstart fallback. Looked up in the configured ROM directories, and only in a directory that - also holds aros-ext.bin. Shipped in roms/ of the 8.4.2 installs. The - Recalbox and ROCKNIX packages leave it out. - source_ref: "source src/memory.cpp:1964 (paired existence check), source src/memory.cpp:1964 (load)" + also holds aros-ext.bin. The tree ships it in roms/, installed beside + the binary (cmake/linux/install.cmake:193). The Recalbox and ROCKNIX + packages leave it out. + source_ref: "source src/memory.cpp:1934-1956 (paired existence check), source src/memory.cpp:1958-2013 (load)" # --- Cloanto key --- diff --git a/emulators/blastem.yml b/emulators/blastem.yml index 7c6c7e59a..6aca2afbe 100644 --- a/emulators/blastem.yml +++ b/emulators/blastem.yml @@ -116,7 +116,6 @@ files: required: true mode: standalone unread_on: [retrobat] - aliases: ["bios_CD_U.bin"] note: "Default name of all three regional Sega CD BIOS keys when the config sets none. Read beside the executable, whatever the disc region, with no hash or size check. Discs with no region, or one that allows it, take the default region U (default.cfg:425-427, segacd.c:1580-1592), the key the libretro core fills with bios_CD_U.bin (libblastem.c:501). Without it a CD image stops with a fatal error (segacd.c:1644-1647). RetroBat writes absolute paths to bios_CD_U/E/J.bin into the config (emulatorlauncher Blastem.Generator.cs:256-269), so this name is never opened there." source_ref: "source segacd.c:1580-1594, source segacd.c:1595-1615, source default.cfg:425-427, source libblastem.c:501" @@ -159,7 +158,6 @@ files: mode: standalone unread_on: [retrobat] size: 8192 - aliases: ["colecovision.rom"] note: "Default name of the ColecoVision BIOS key when the config sets none. Read beside the executable, truncated to 8 KiB, with no hash check (coleco.c:496-505). The libretro core fills the same key with colecovision.rom (libblastem.c:504). RetroBat points it there too (emulatorlauncher Blastem.Generator.cs:256-269)." source_ref: "source coleco.c:485, source coleco.c:496-505, source libblastem.c:504" diff --git a/emulators/dolphin.yml b/emulators/dolphin.yml index 03b060aa2..64d47251f 100644 --- a/emulators/dolphin.yml +++ b/emulators/dolphin.yml @@ -239,8 +239,8 @@ files: sha1: "e6c0050b3c67ee26198488fbbe4a5d019c15b628" md5: "1f118b8735fcf40c20b38c3184eebfd9" hle_fallback: true - note: "Gecko/Ocarina cheat code handler. Shipped in Sys/ of the standalone release (dolphin-2512-x64.7z)" - source_ref: "upstream Source/Core/Common/CommonPaths.h:155, source Source/Core/Core/GeckoCode.cpp:120" + note: "Gecko/Ocarina cheat code handler, read from the Sys root. Cheats are refused when it is missing or larger than the installer window. Hashes of Data/Sys/codehandler.bin in the tree, which the releases ship in Sys/." + source_ref: "upstream Source/Core/Common/CommonPaths.h:155, source Source/Core/Core/GeckoCode.cpp:118-130" - name: "codehandler.bin" path: null @@ -248,8 +248,8 @@ files: required: false installed_on: [batocera, lakka, retrobat, retrodeck] hle_fallback: true - note: "Gecko/Ocarina cheat code handler, read from the Sys data directory the core zip does not contain. The Batocera and Lakka packages copy Data/Sys beside the core, and RetroBat installs it as bios/dolphin-emu/Sys" - source_ref: "upstream Source/Core/Common/CommonPaths.h:155, source Source/Core/Core/GeckoCode.cpp:120" + note: "Gecko/Ocarina cheat code handler, read from the Sys data directory the core zip does not contain. Cheats are refused when it is missing or larger than the installer window. The Batocera and Lakka packages copy Data/Sys beside the core, and RetroBat installs it as bios/dolphin-emu/Sys." + source_ref: "upstream Source/Core/Common/CommonPaths.h:155, source Source/Core/Core/GeckoCode.cpp:118-130" # -- Wii System Menu (WAD) -- - name: "Wii System Menu" diff --git a/emulators/ines.yml b/emulators/ines.yml index fe94bcf5d..5cb20bb97 100644 --- a/emulators/ines.yml +++ b/emulators/ines.yml @@ -134,7 +134,7 @@ files: sha1: 486eede1bb748d95efc8a2a3d46ef1a530100559 crc32: "2e03cb7f" description: "sample ROM image started when no game is given" - note: "The only entry in assets/memfs.mp3, which MainActivity reads whole and jniStart mounts as an in-memory filesystem. A 16 byte header plus one 16 KB PRG bank and one 8 KB CHR bank. Application passes this name to StartNES when it is invoked without a ROM, so launching through ES-DE never reaches it." + note: "The only entry in assets/memfs.mp3, which MainActivity reads whole and jniStart mounts as an in-memory filesystem. A 16 byte header plus one 16 KB PRG bank and one 8 KB CHR bank. Application passes this name to StartNES only when it is invoked without a ROM." source_ref: "MainActivity.java:1092-1105, libmain.so jniStart 0x17684-0x176a2, libmain.so Application 0x38278-0x38286" - name: names.dat diff --git a/emulators/linapple.yml b/emulators/linapple.yml index 49aa879d5..4b7b47008 100644 --- a/emulators/linapple.yml +++ b/emulators/linapple.yml @@ -77,7 +77,7 @@ files: from ~/.linapple when the file exists there, otherwise from the working directory. A missing file leaves the drive empty. No hash is checked. The hashes are those of the copy in the repository, which - RetroPie installs. + make install copies beside the binary (src/Makefile:24, 54). - name: "icon.bmp" required: false @@ -91,5 +91,6 @@ files: note: > Loaded with SDL_LoadBMP from the working directory. A missing file costs the window its icon and nothing else. The hashes are those of - the copy in the repository. The RetroPie scriptmodule does not - install it. + the copy at the root of the repository, where the build copies the + binary (src/Makefile:37). make install leaves it out + (src/Makefile:24, 54), and so does the RetroPie scriptmodule. diff --git a/emulators/ppsspp.yml b/emulators/ppsspp.yml index cbefffe70..a88a2558c 100644 --- a/emulators/ppsspp.yml +++ b/emulators/ppsspp.yml @@ -105,7 +105,7 @@ files: sha1: "30a33f3651f8e1b0967a5dfe6ff714baebcce41a" bundled: true source_ref: "Core/Util/PPGeDraw.cpp:249-252" - note: "Shipped in assets/ of the PPSSPP 1.20.4 Windows zip, which the standalone reads it from." + note: "Hashes of assets/ppge_atlas.zim in the tree at the pin, the copy the releases ship in assets/." - name: "ppge_atlas.meta" mode: standalone @@ -116,4 +116,4 @@ files: sha1: "ab398f667d6fd778859307c105fe16388b8fdf63" bundled: true source_ref: "Core/Util/PPGeDraw.cpp:254-260" - note: "Shipped in assets/ of the PPSSPP 1.20.4 Windows zip, beside ppge_atlas.zim." + note: "Hashes of assets/ppge_atlas.meta in the tree at the pin, shipped beside ppge_atlas.zim." diff --git a/emulators/splitwolf.yml b/emulators/splitwolf.yml index 4defdb895..dac17cfa2 100644 --- a/emulators/splitwolf.yml +++ b/emulators/splitwolf.yml @@ -46,13 +46,9 @@ notes: | (id_lwmp.cpp:1831-1868, 2086-2105, id_sd.cpp:556-572). When a file is missing the engine falls back to the sprite or picture of the game data (id_lwmp.cpp:3301-3313, 3412-3445), so the directory is optional. The - project publishes it as lwmp.zip in its downloads, which RetroPie - extracts beside the binaries. + project publishes it as lwmp.zip in its downloads. - The shareware Wolfenstein 3D v1.4 and Spear of Destiny demo files carry - hashes of the archives RetroPie downloads. The retail files carry none: - the engine checks no hash, and the md5 table in RetroPie's launcher - script only picks which binary to start. + The engine checks no hash, so no game data entry carries one. Written by the engine, not read as data: config. and savegames in ~/.splitwolf. @@ -64,14 +60,15 @@ files: category: game_data description: "Split screen sprites, pictures and sounds" required: false - bundled: true + installed_on: [retropie] source_ref: "id_lwmp.cpp:21, 1831-1868, 2064-2149, id_sd.cpp:556-572, wl_main.cpp:2127-2137" note: > - lwmp.zip (sha1 1145464c5adf84ffd692b46a97cafaddc2153734) from + Read relative to the working directory. lwmp.zip (sha1 + 1145464c5adf84ffd692b46a97cafaddc2153734) from bitbucket.org/linuxwolf6/splitwolf/downloads holds sprites/ with one - dir1 to dir8 folder per rotation, pics/ and sounds/. - RetroPie downloads and extracts it into the install directory during - installation, with no user action. + dir1 to dir8 folder per rotation, pics/ and sounds/. The Makefile + install target copies only the binary (Makefile:248-251). + RetroPie extracts the archive beside the binaries. - name: "gamecontrollerdb.txt" category: game_data @@ -93,88 +90,60 @@ files: system: wolfenstein3d description: "Wolfenstein 3D shareware page file: wall textures, sprites and digitized sounds" required: false - size: 742912 - sha1: "63134a2e3165b5291ece7b8a4145d2bd67d4f787" - md5: "6efa079414b817c97db779cecfb081c9" source_ref: "id_pm.cpp:20-25, wl_menu.cpp:5260-5267, 5354-5355" - note: "Hashes of the v1.4 shareware file in wolf3d14.zip, the archive RetroPie downloads from maniacsvault.net. The engine checks no hash." - name: "vgadict.wl1" category: game_data system: wolfenstein3d description: "Wolfenstein 3D shareware Huffman dictionary of the graphics file" required: false - size: 1024 - sha1: "10ae325f5ce124d2536a63805023c56a4e438ea1" - md5: "76a6128f3c0dd9b77939ce8313992746" source_ref: "id_ca.cpp:464-468, wl_menu.cpp:5260-5267, 5354-5355" - note: "Hashes of the v1.4 shareware file in wolf3d14.zip, the archive RetroPie downloads from maniacsvault.net. The engine checks no hash." - name: "vgahead.wl1" category: game_data system: wolfenstein3d description: "Wolfenstein 3D shareware graphics chunk offsets" required: false - size: 471 - sha1: "a9ba5551f54f88d810b9aa82a15caae623509a4c" - md5: "61bf1616e78367853c91f2c04e2c1cb7" + min_size: 471 + max_size: 473 + validation: [size] source_ref: "id_ca.cpp:475-497, wl_menu.cpp:5260-5267, 5354-5355" - note: "Hashes of the v1.4 shareware file in wolf3d14.zip, the archive RetroPie downloads from maniacsvault.net. The engine checks no hash." + note: "Must hold 157 three byte offsets, the NUMCHUNKS + 1 = 162 of gfxv_apo.h (id_ca.cpp:97) less five missing episodes, or the engine quits. The shareware and Apogee builds expect that count, the VERSION_WOLF3D build expects 145. --ignorenumchunks skips the check." - name: "vgagraph.wl1" category: game_data system: wolfenstein3d description: "Wolfenstein 3D shareware graphics chunks: pictures, fonts and text articles" required: false - size: 326568 - sha1: "3ad077aca0e775bd6a241515c8b2874d4fa4099a" - md5: "74decb641b1a4faed173e10ab744bff0" source_ref: "id_ca.cpp:514-518, wl_menu.cpp:5260-5267, 5354-5355" - note: "Hashes of the v1.4 shareware file in wolf3d14.zip, the archive RetroPie downloads from maniacsvault.net. The engine checks no hash." - name: "maphead.wl1" category: game_data system: wolfenstein3d description: "Wolfenstein 3D shareware map offsets and tile info" required: false - size: 402 - sha1: "b3942ddb4f6bb671b026a3f85611bf314acefce7" - md5: "7b6dd4e55c33c33a41d1600be5df3228" source_ref: "id_ca.cpp:556-560, wl_menu.cpp:5260-5267, 5354-5355" - note: "Hashes of the v1.4 shareware file in wolf3d14.zip, the archive RetroPie downloads from maniacsvault.net. The engine checks no hash." - name: "gamemaps.wl1" category: game_data system: wolfenstein3d description: "Wolfenstein 3D shareware level maps" required: false - size: 27425 - sha1: "d49fc8a7887d7e73be7c813177307b68206f8147" - md5: "30fecd7cce6bc70402651ec922d2da3d" source_ref: "id_ca.cpp:575-580, wl_menu.cpp:5260-5267, 5354-5355" - note: "Hashes of the v1.4 shareware file in wolf3d14.zip, the archive RetroPie downloads from maniacsvault.net. The engine checks no hash." - name: "audiohed.wl1" category: game_data system: wolfenstein3d description: "Wolfenstein 3D shareware audio chunk offsets" required: false - size: 1156 - sha1: "732460795d77cab19c8018d879f5c27a3cbd5f84" - md5: "58aa1b9892d5adfa725fab343d9446f8" source_ref: "id_ca.cpp:636-641, wl_menu.cpp:5260-5267, 5354-5355" - note: "Hashes of the v1.4 shareware file in wolf3d14.zip, the archive RetroPie downloads from maniacsvault.net. The engine checks no hash." - name: "audiot.wl1" category: game_data system: wolfenstein3d description: "Wolfenstein 3D shareware AdLib sound effects and music" required: false - size: 132613 - sha1: "0254cc09b7a8ab0b884766b5dcd0e8555c424937" - md5: "4b6109e957b584e4ad7f376961f3887e" source_ref: "id_ca.cpp:647-651, wl_menu.cpp:5260-5267, 5354-5355" - note: "Hashes of the v1.4 shareware file in wolf3d14.zip, the archive RetroPie downloads from maniacsvault.net. The engine checks no hash." # Wolfenstein 3D, three episode release (.wl3) - name: "vswap.wl3" @@ -400,85 +369,57 @@ files: system: wolfenstein3d description: "Spear of Destiny demo page file: wall textures, sprites and digitized sounds" required: false - size: 730624 - sha1: "90158daca3d629b388b96f688e6084c11762f680" - md5: "35afda760bea840b547d686a930322dc" source_ref: "id_pm.cpp:20-25, wl_menu.cpp:5344-5351" - note: "Hashes of the file in soddemo.zip, the archive RetroPie downloads from maniacsvault.net. The engine checks no hash." - name: "vgadict.sdm" category: game_data system: wolfenstein3d description: "Spear of Destiny demo Huffman dictionary of the graphics file" required: false - size: 1024 - sha1: "c28f04668180386f42009eb3a3910437c893c8c0" - md5: "2f85b6763a582df19e6a35dd9634c736" source_ref: "id_ca.cpp:464-468, wl_menu.cpp:5344-5351" - note: "Hashes of the file in soddemo.zip, the archive RetroPie downloads from maniacsvault.net. The engine checks no hash." - name: "vgahead.sdm" category: game_data system: wolfenstein3d description: "Spear of Destiny demo graphics chunk offsets" required: false - size: 402 - sha1: "5765612af995804854d34696d152a7ee6f20dd18" - md5: "18c03cb401ed274bc0b659e951140e64" + min_size: 402 + max_size: 404 + validation: [size] source_ref: "id_ca.cpp:475-497, wl_menu.cpp:5344-5351" - note: "Hashes of the file in soddemo.zip, the archive RetroPie downloads from maniacsvault.net. The engine checks no hash." + note: "Must hold 134 three byte offsets, NUMCHUNKS + 1 of gfxv_sod.h built with SPEARDEMO (id_ca.cpp:97), or the engine quits. --ignorenumchunks skips the check." - name: "vgagraph.sdm" category: game_data system: wolfenstein3d description: "Spear of Destiny demo graphics chunks: pictures, fonts and text articles" required: false - size: 305891 - sha1: "9da7d00d1d68c0b24bf120f9927df53ff663a64f" - md5: "1cc5ceb8e43c0c0030cf552fc8ae9d0d" source_ref: "id_ca.cpp:514-518, wl_menu.cpp:5344-5351" - note: "Hashes of the file in soddemo.zip, the archive RetroPie downloads from maniacsvault.net. The engine checks no hash." - name: "maphead.sdm" category: game_data system: wolfenstein3d description: "Spear of Destiny demo map offsets and tile info" required: false - size: 402 - sha1: "f6271baf01c3fb88b4979fd0e124a8b2c66d4e34" - md5: "40fa03caf7a1a4dbd22da4321c6e10d4" source_ref: "id_ca.cpp:556-560, wl_menu.cpp:5344-5351" - note: "Hashes of the file in soddemo.zip, the archive RetroPie downloads from maniacsvault.net. The engine checks no hash." - name: "gamemaps.sdm" category: game_data system: wolfenstein3d description: "Spear of Destiny demo level maps" required: false - size: 5534 - sha1: "66a3e2c12dfc374c414543885a213073c72772bb" - md5: "4eb2f538aab6e4061dadbc3b73837762" source_ref: "id_ca.cpp:575-580, wl_menu.cpp:5344-5351" - note: "Hashes of the file in soddemo.zip, the archive RetroPie downloads from maniacsvault.net. The engine checks no hash." - name: "audiohed.sdm" category: game_data system: wolfenstein3d description: "Spear of Destiny demo audio chunk offsets" required: false - size: 1072 - sha1: "a6519b58bcaac5e8a866cebaf268e74afe2f1778" - md5: "f0022742f86c214872bd72f03aaf1529" source_ref: "id_ca.cpp:636-641, wl_menu.cpp:5344-5351" - note: "Hashes of the file in soddemo.zip, the archive RetroPie downloads from maniacsvault.net. The engine checks no hash." - name: "audiot.sdm" category: game_data system: wolfenstein3d description: "Spear of Destiny demo AdLib sound effects and music" required: false - size: 93412 - sha1: "0ce47169695698cd41580b4e3f9dfec393b4886b" - md5: "fcde1333c941229f4dd6ca099fcfe616" source_ref: "id_ca.cpp:647-651, wl_menu.cpp:5344-5351" - note: "Hashes of the file in soddemo.zip, the archive RetroPie downloads from maniacsvault.net. The engine checks no hash." diff --git a/emulators/triforce.yml b/emulators/triforce.yml index f5545d352..a1c90f9e7 100644 --- a/emulators/triforce.yml +++ b/emulators/triforce.yml @@ -103,16 +103,22 @@ files: system: sega-triforce size: 2097152 sha1: "87918619c632ac9de270d4fdf396a57eb57fc620" - required: true + required: false bundled: true not_bundled_on: [retrobat] - source_ref: "source Source/Core/Core/HW/DVD/AMMediaboard.cpp:215-233, source Source/Core/Core/HW/DVD/DVDInterface.cpp:289-294" + source_ref: "source Source/Core/Core/HW/DVD/AMMediaboard.cpp:215-233, source Source/Core/Core/HW/DVD/AMMediaboard.cpp:464-476, source Source/Core/Core/HW/DVD/DVDInterface.cpp:289-294, source Source/Core/Core/Boot/Boot_BS2Emu.cpp:336-347, source Source/Core/Core/Boot/Boot.cpp:482-489" note: > Read on every Triforce launch, Sys/Triforce only with no User fallback. Nothing is validated, min(file size, 2 MiB) is copied into the firmware - buffer. The hash is the copy the fork's own Data/Sys tree carries, SegaBoot - v3.11. A build installs it with the rest of Data/Sys (CMakeLists.txt:1039). - The older build RetroBat ships as dolphin-triforce has no Sys/Triforce. + buffer. A missing file raises "required for test menus" and emulation + goes on. The default SkipIPL boot (Source/Core/Core/Config/MainSettings.cpp:37) + copies the disc into DIMM memory with the firmware unmapped, so games run + without it. Lost without it: the test menus, mapped when a reset requests + test mode, and booting through a real IPL_TRI.bin, which maps SegaBoot + to chain into it. The hash is the copy the fork's own Data/Sys tree + carries, SegaBoot v3.11. A build installs it with the rest of Data/Sys + (CMakeLists.txt:1039). The older build RetroBat ships as + dolphin-triforce has no Sys/Triforce. # -- Triforce GameCube boot ROM -- # Region-specific directory, User/GC// then Sys/GC//. diff --git a/emulators/uzdoom.yml b/emulators/uzdoom.yml index 05ee783ff..efb0a7e40 100644 --- a/emulators/uzdoom.yml +++ b/emulators/uzdoom.yml @@ -105,7 +105,7 @@ files: md5: "fee855c33d28648ea5e54f224decb7d2" sha1: "6eb2c1775651752944a6782d08d129b1d37d2fdf" source_ref: "src/version.h:85, src/d_main.cpp:4148-4151, wadsrc/CMakeLists.txt:1" - note: "Fonts, menus, zscript, textures. Fatal if absent. Shipped with the engine resources below in the Windows zip, the AppImage and RetroBat's uzdoom.7z." + note: "Fonts, menus, zscript, textures. Fatal if absent. Built from wadsrc/ and shipped beside the binary with the engine resources below." - name: "game_support.pk3" category: game_data diff --git a/emulators/zesarux.yml b/emulators/zesarux.yml index 49891b57c..577731803 100644 --- a/emulators/zesarux.yml +++ b/emulators/zesarux.yml @@ -74,10 +74,14 @@ notes: | `--kartusho-rom`), and each falls back to the bundled default named here. ES-DE drives ZEsarUX for its `zxnext` system with `--machine tbblue - --tbblue-fast-boot-mode --enable-esxdos-handler`. Fast boot swaps - `tbblue_loader.rom` for `48.rom` (src/cpu.c:3593-3594), and the esxdos handler needs - the divMMC firmware `esxmmc085.rom`, so that path loads `48.rom`, `esxmmc085.rom` - and the `tbblue.mmc` card image rather than a dedicated Next ROM. + --tbblue-fast-boot-mode --enable-esxdos-handler`. Fast boot reads `48.rom` + in place of `tbblue_loader.rom` and mirrors it four times + (src/cpu.c:3593-3594, 3939-3943). The esxdos handler answers esxdos calls + from a host directory (src/storage/esxdos_handler.c:2723-2747), and divMMC + on TBBlue pages Next memory instead of reading a firmware file + (src/storage/diviface.c:840-846). That path opens neither `esxmmc085.rom` nor + `tbblue.mmc`, which is mounted only from the menu or with `--mmc-file` + (src/menu/menu_items_storage.c:12448-12466, src/start.c:5848-5853). ZEsarUX also loads UI and bundled-software resources through the same `find_sharedfile` path: `keyboards/*.bmp` on-screen keyboard art @@ -744,7 +748,7 @@ files: bundled: true system: sinclair-zx-spectrum source_ref: "src/storage/divmmc.c:45, src/storage/divmmc.c:95-103, src/storage/diviface.h:27, src/storage/diviface.c:778-800" - note: "divMMC esxdos firmware, the default when --divmmc-rom is unset. Needed by --enable-esxdos-handler, which the ES-DE zxnext command line sets." + note: "divMMC esxdos firmware, the default when --divmmc-rom is unset. Read when divMMC is enabled on a machine other than ZX-Uno, TBBlue and Chloe. The esxdos handler does not read it." - name: "esxide085.rom" sha1: "178bae9e9209c43282e12c09884562e4ddf07e68"