From 3761d17f0c84e3194818b621d655fe7c02e9ad48 Mon Sep 17 00:00:00 2001 From: Abdessamad Derraz <3028866+Abdess@users.noreply.github.com> Date: Mon, 9 Nov 2026 16:38:28 +0100 Subject: [PATCH 1/9] docs: drop archive hashes from wolf4sdl data --- emulators/wolf4sdl.yml | 97 ++++++++++-------------------------------- 1 file changed, 23 insertions(+), 74 deletions(-) diff --git a/emulators/wolf4sdl.yml b/emulators/wolf4sdl.yml index 6737502d1..50359b148 100644 --- a/emulators/wolf4sdl.yml +++ b/emulators/wolf4sdl.yml @@ -42,20 +42,18 @@ notes: | version.h defines ARTSEXTERN and DEMOSEXTERN (wl_text.c:762-766, wl_game.c:1139-1146). - The only content check is the length of vgahead: it must hold - NUMCHUNKS + 1 three byte offsets or the engine quits with "Wolf4SDL was - not compiled for these data files" (id_ca.c:473-480). NUMCHUNKS is 156 - for the shareware build, 161 for Apogee, 149 for GT (gfxv_wl6.h:187), - 169 for Spear and 133 for the Spear demo, so each binary accepts only - the release it was built for. + The only content check is the length of vgahead: its size divided by + three must equal NUMCHUNKS + 1 or the engine quits with "Wolf4SDL was + not compiled for these data files" (id_ca.c:473-480), unless + --ignorenumchunks is given (wl_main.c:1754-1755). NUMCHUNKS is 156 for + the shareware build, 161 for Apogee, 149 for GT (gfxv_wl6.h:187), 169 + for Spear and 133 for the Spear demo, so each binary accepts only the + release it was built for. Spear of Destiny mission 1 reads the original game under the sd1 extension, hence the sd1 aliases on the sod set. - 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 of its binaries to start. + The engine checks no hash on any data file. Written by the engine, not read as data: config. and savegames in ~/.wolf4sdl (wl_menu.c:3745-3760), and screenshots. @@ -69,11 +67,7 @@ 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.c:36-41, wl_menu.c:3805-3809" - 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" installed_on: [retropie] @@ -81,11 +75,7 @@ files: system: wolfenstein3d description: "Wolfenstein 3D shareware Huffman dictionary of the graphics file" required: false - size: 1024 - sha1: "10ae325f5ce124d2536a63805023c56a4e438ea1" - md5: "76a6128f3c0dd9b77939ce8313992746" source_ref: "id_ca.c:449-454, wl_menu.c:3805-3809" - 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" installed_on: [retropie] @@ -93,11 +83,10 @@ files: 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.c:462-480, wl_menu.c:3805-3809" - note: "Hashes of the v1.4 shareware file in wolf3d14.zip, the archive RetroPie downloads from maniacsvault.net. The engine checks no hash." - name: "vgagraph.wl1" installed_on: [retropie] @@ -105,11 +94,7 @@ files: 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.c:498-503, wl_menu.c:3805-3809" - 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" installed_on: [retropie] @@ -117,11 +102,7 @@ files: system: wolfenstein3d description: "Wolfenstein 3D shareware map offsets and tile info" required: false - size: 402 - sha1: "b3942ddb4f6bb671b026a3f85611bf314acefce7" - md5: "7b6dd4e55c33c33a41d1600be5df3228" source_ref: "id_ca.c:541-546, wl_menu.c:3805-3809" - 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" installed_on: [retropie] @@ -129,11 +110,7 @@ files: system: wolfenstein3d description: "Wolfenstein 3D shareware level maps" required: false - size: 27425 - sha1: "d49fc8a7887d7e73be7c813177307b68206f8147" - md5: "30fecd7cce6bc70402651ec922d2da3d" source_ref: "id_ca.c:81-82, 556-561, wl_menu.c:3805-3809" - 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" installed_on: [retropie] @@ -141,11 +118,7 @@ files: system: wolfenstein3d description: "Wolfenstein 3D shareware audio chunk offsets" required: false - size: 1156 - sha1: "732460795d77cab19c8018d879f5c27a3cbd5f84" - md5: "58aa1b9892d5adfa725fab343d9446f8" source_ref: "id_ca.c:606-608, wl_menu.c:3805-3809" - 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" installed_on: [retropie] @@ -153,11 +126,7 @@ files: system: wolfenstein3d description: "Wolfenstein 3D shareware AdLib sound effects and music" required: false - size: 132613 - sha1: "0254cc09b7a8ab0b884766b5dcd0e8555c424937" - md5: "4b6109e957b584e4ad7f376961f3887e" source_ref: "id_ca.c:613-618, wl_menu.c:3805-3809" - 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" @@ -296,6 +265,9 @@ files: system: wolfenstein3d description: "Spear of Destiny graphics chunk offsets" required: false + min_size: 510 + max_size: 512 + validation: [size] source_ref: "id_ca.c:462-480, wl_menu.c:3850-3863" - name: "vgagraph.sod" @@ -358,6 +330,9 @@ files: system: wolfenstein3d description: "Spear of Destiny mission pack 2 graphics chunk offsets" required: false + min_size: 510 + max_size: 512 + validation: [size] source_ref: "id_ca.c:462-480, wl_menu.c:3864-3870" - name: "vgagraph.sd2" @@ -415,6 +390,9 @@ files: system: wolfenstein3d description: "Spear of Destiny mission pack 3 graphics chunk offsets" required: false + min_size: 510 + max_size: 512 + validation: [size] source_ref: "id_ca.c:462-480, wl_menu.c:3871-3876" - name: "vgagraph.sd3" @@ -459,11 +437,7 @@ 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.c:36-41, wl_menu.c:3880-3885" - note: "Hashes of the file in soddemo.zip, the archive RetroPie downloads from maniacsvault.net. The engine checks no hash." - name: "vgadict.sdm" installed_on: [retropie] @@ -471,11 +445,7 @@ files: 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.c:449-454, wl_menu.c:3880-3885" - note: "Hashes of the file in soddemo.zip, the archive RetroPie downloads from maniacsvault.net. The engine checks no hash." - name: "vgahead.sdm" installed_on: [retropie] @@ -483,11 +453,10 @@ files: 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.c:462-480, wl_menu.c:3880-3885" - note: "Hashes of the file in soddemo.zip, the archive RetroPie downloads from maniacsvault.net. The engine checks no hash." - name: "vgagraph.sdm" installed_on: [retropie] @@ -495,11 +464,7 @@ files: 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.c:498-503, wl_menu.c:3880-3885" - note: "Hashes of the file in soddemo.zip, the archive RetroPie downloads from maniacsvault.net. The engine checks no hash." - name: "maphead.sdm" installed_on: [retropie] @@ -507,11 +472,7 @@ files: system: wolfenstein3d description: "Spear of Destiny demo map offsets and tile info" required: false - size: 402 - sha1: "f6271baf01c3fb88b4979fd0e124a8b2c66d4e34" - md5: "40fa03caf7a1a4dbd22da4321c6e10d4" source_ref: "id_ca.c:541-546, wl_menu.c:3880-3885" - note: "Hashes of the file in soddemo.zip, the archive RetroPie downloads from maniacsvault.net. The engine checks no hash." - name: "gamemaps.sdm" installed_on: [retropie] @@ -519,11 +480,7 @@ files: system: wolfenstein3d description: "Spear of Destiny demo level maps" required: false - size: 5534 - sha1: "66a3e2c12dfc374c414543885a213073c72772bb" - md5: "4eb2f538aab6e4061dadbc3b73837762" source_ref: "id_ca.c:81-82, 556-561, wl_menu.c:3880-3885" - note: "Hashes of the file in soddemo.zip, the archive RetroPie downloads from maniacsvault.net. The engine checks no hash." - name: "audiohed.sdm" installed_on: [retropie] @@ -531,11 +488,7 @@ files: system: wolfenstein3d description: "Spear of Destiny demo audio chunk offsets" required: false - size: 1072 - sha1: "a6519b58bcaac5e8a866cebaf268e74afe2f1778" - md5: "f0022742f86c214872bd72f03aaf1529" source_ref: "id_ca.c:606-608, wl_menu.c:3880-3885" - note: "Hashes of the file in soddemo.zip, the archive RetroPie downloads from maniacsvault.net. The engine checks no hash." - name: "audiot.sdm" installed_on: [retropie] @@ -543,8 +496,4 @@ files: system: wolfenstein3d description: "Spear of Destiny demo AdLib sound effects and music" required: false - size: 93412 - sha1: "0ce47169695698cd41580b4e3f9dfec393b4886b" - md5: "fcde1333c941229f4dd6ca099fcfe616" source_ref: "id_ca.c:613-618, wl_menu.c:3880-3885" - note: "Hashes of the file in soddemo.zip, the archive RetroPie downloads from maniacsvault.net. The engine checks no hash." From 1dd40e1c66a16bfbdad8a92fd4b27d2ad5ca27b1 Mon Sep 17 00:00:00 2001 From: Abdessamad Derraz <3028866+Abdess@users.noreply.github.com> Date: Mon, 9 Nov 2026 16:40:20 +0100 Subject: [PATCH 2/9] docs: source oricutron hashes to its archives --- emulators/oricutron.yml | 26 +++++++++++++++----------- 1 file changed, 15 insertions(+), 11 deletions(-) diff --git a/emulators/oricutron.yml b/emulators/oricutron.yml index 28cf5119e..128ee17b2 100644 --- a/emulators/oricutron.yml +++ b/emulators/oricutron.yml @@ -74,8 +74,8 @@ files: Atmos is the machine oricutron.cfg selects, so this is the ROM a stock configuration needs. Also named by twilbankrom06 in the Twilighte board config (plugins/twilighte_board/twilighte.cfg:3). - Shipped in roms/ of the 1.2 Windows and macOS archives and of - RetroBat's oricutron.7z. + Hashes of the copy in roms/ of the 1.2 Windows and macOS archives + from petergordon.org.uk, also shipped in RetroBat's oricutron.7z. - name: basic10.rom description: "Oric-1 BASIC 1.0 ROM" @@ -87,7 +87,7 @@ files: sha1: "333116e6884d85aaa4dfc7578a91cceeea66d016" md5: "ebe418ec8a6c85d5ac32956c9a96c179" source_ref: "gui.c:2284 (default roms/basic10), main.c:554 (oric1rom), machine.c:1932-1933 (MACH_ORIC1_16K), machine.c:1969-1970 (MACH_ORIC1)" - note: "Serves both the 48K Oric-1 and the 16K Oric-1, selected with -m oric1 or -m o16k. Shipped in roms/ of the 1.2 Windows and macOS archives and of RetroBat's oricutron.7z." + note: "Serves both the 48K Oric-1 and the 16K Oric-1, selected with -m oric1 or -m o16k. Hashes of the copy in roms/ of the 1.2 Windows and macOS archives from petergordon.org.uk, also shipped in RetroBat's oricutron.7z." - name: pravetzt.rom description: "Pravetz 8D BASIC ROM" @@ -95,8 +95,10 @@ files: max_size: 16384 validation: [size] installed_on: [retropie, retrobat] + sha1: "7afc276cb118adff72e4f16698f94bf3b2c64146" + md5: "8712a22e7e078de3343667d9fc1f2390" source_ref: "gui.c:2288 (default roms/pravetzt), main.c:558 (pravetzrom), machine.c:2082-2083 (MACH_PRAVETZ)" - note: "Selected with -m pravetz. roms/pravetzt-1.0.pch and .sym ship for an earlier revision of this ROM. The 1.2 Windows archive ships it and the 1.2 macOS archive does not." + note: "Selected with -m pravetz. roms/pravetzt-1.0.pch and .sym ship for an earlier revision of this ROM. Hashes of the copy in roms/ of the 1.2 Windows archive from petergordon.org.uk. The 1.2 macOS archive does not ship it." - name: teleass.rom description: "Telestrat TELEASS ROM, bank 5" @@ -108,7 +110,7 @@ files: sha1: "9e9af51dae3199cccf49ab3f0d47e2b9be4ba97d" md5: "2324c9cc227c1327a72a667c97ed2990" source_ref: "gui.c:2295 (default roms/teleass), main.c:588-589 (telebank5), machine.c:2029-2033 (MACH_TELESTRAT)" - note: "Shipped in roms/ of the 1.2 Windows and macOS archives and of RetroBat's oricutron.7z." + note: "Hashes of the copy in roms/ of the 1.2 Windows and macOS archives from petergordon.org.uk, also shipped in RetroBat's oricutron.7z." - name: hyperbas.rom description: "Telestrat HYPER BASIC ROM, bank 6" @@ -120,7 +122,7 @@ files: sha1: "f5f70a0eb59f8cd6c261e179ae78ef906f68ed63" md5: "364bf095e0dc4222d75354d50b8cddfc" source_ref: "gui.c:2296 (default roms/hyperbas), main.c:588-589 (telebank6), machine.c:2029-2033 (MACH_TELESTRAT)" - note: "Shipped in roms/ of the 1.2 Windows and macOS archives and of RetroBat's oricutron.7z." + note: "Hashes of the copy in roms/ of the 1.2 Windows and macOS archives from petergordon.org.uk, also shipped in RetroBat's oricutron.7z." - name: telmon24.rom description: "Telestrat TELEMON 2.4 ROM, bank 7" @@ -132,7 +134,7 @@ files: sha1: "86fc8dc0932f983efa199e31ae05a4424772f959" md5: "9a432244d9ee4a49e8ddcde64af94e05" source_ref: "gui.c:2297 (default roms/telmon24), main.c:588-589 (telebank7), machine.c:2029-2033 (MACH_TELESTRAT)" - note: "Bank 7 is the bank mapped at reset (machine.c:2041-2043). Shipped in roms/ of the 1.2 Windows and macOS archives and of RetroBat's oricutron.7z." + note: "Bank 7 is the bank mapped at reset (machine.c:2041-2043). Hashes of the copy in roms/ of the 1.2 Windows and macOS archives from petergordon.org.uk, also shipped in RetroBat's oricutron.7z." - name: microdis.rom description: "Microdisc disk controller ROM" @@ -150,8 +152,10 @@ files: 1488-1489). Loaded whatever the machine and not fatal, and setup_for_microdisc raises romdis, so an absent file leaves the $E000 overlay reading zeroes. - Shipped in roms/ of the 1.2 Windows and macOS archives, there as - MICRODIS.ROM, and of RetroBat's oricutron.7z. + Hashes of the copy in roms/ of the 1.2 Windows and macOS archives + from petergordon.org.uk, there as MICRODIS.ROM, which a case + sensitive filesystem does not match. Also shipped in RetroBat's + oricutron.7z. - name: bd500.rom description: "ByteDrive BD-500 disk controller ROM" @@ -180,8 +184,8 @@ files: Conditional: needed for the Jasmin controller, selected with -k jasmin or by autodetecting a Jasmin image (main.c:1468-1471). setup_for_jasmin leaves romdis clear, so the machine still boots from its BASIC ROM. - Shipped in roms/ of the 1.2 Windows and macOS archives and of - RetroBat's oricutron.7z. + Hashes of the copy in roms/ of the 1.2 Windows and macOS archives + from petergordon.org.uk, also shipped in RetroBat's oricutron.7z. - name: 8dos2.rom description: "Pravetz 8D floppy controller boot PROM" From af014d50c9616d7a8f6e1b747554d0e6aa654574 Mon Sep 17 00:00:00 2001 From: Abdessamad Derraz <3028866+Abdess@users.noreply.github.com> Date: Mon, 9 Nov 2026 16:41:54 +0100 Subject: [PATCH 3/9] docs: cite the eduke32 rts loader --- emulators/eduke32.yml | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/emulators/eduke32.yml b/emulators/eduke32.yml index a54010c5f..14e8317ad 100644 --- a/emulators/eduke32.yml +++ b/emulators/eduke32.yml @@ -110,8 +110,8 @@ files: system: duke3d required: false installed_on: [retropie] - source_ref: "source/duke3d/src/grpscan.cpp:39-76 (rtsname field)" - note: "Remote Ridicule speech. Not loaded if absent. The RetroPie package extracts the shareware copy beside the shareware GRP." + source_ref: "source/duke3d/src/game.cpp:96 (defaultrtsfilename), source/duke3d/src/game.cpp:126-130 (G_DefaultRtsFile), source/duke3d/src/game.cpp:6873-6874 (RTS_Init), source/duke3d/src/rts.cpp:52-55, 62-68, 105-113" + note: "Remote Ridicule speech. RTS_Init returns without error when the file cannot be opened, and a file without the IWAD header is skipped with a warning. The RetroPie package extracts the shareware copy beside the shareware GRP." # ---- Duke 3D addons ---- From ad66fa6ed1f0b2a9ac709f643cf9d2a829b97ab3 Mon Sep 17 00:00:00 2001 From: Abdessamad Derraz <3028866+Abdess@users.noreply.github.com> Date: Mon, 9 Nov 2026 16:43:03 +0100 Subject: [PATCH 4/9] docs: say where lzdoom looks for fm banks --- emulators/lzdoom.yml | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/emulators/lzdoom.yml b/emulators/lzdoom.yml index 0aa911f89..5be55755b 100644 --- a/emulators/lzdoom.yml +++ b/emulators/lzdoom.yml @@ -185,7 +185,7 @@ files: size: 118767 sha1: "538d220d87b86b997f539265eb12a6c319e17a1c" source_ref: "src/CMakeLists.txt:1225, src/gameconfigfile.cpp:175-202, src/sound/music/i_soundfont.cpp:352-356" - note: "OPL3 bank copied next to the executable, read only with adl_use_custom_bank. The RetroPie package leaves it out." + note: "OPL3 bank of the tree, copied to fm_banks/ beside the executable. The Windows and macOS builds search $PROGDIR/fm_banks, the Linux build searches $HOME/.config/lzdoom/fm_banks and the share directories but not the program directory (src/gameconfigfile.cpp:178-200). Played only when adl_use_custom_bank is on and adl_custom_bank names it (src/sound/music/music_config.cpp:92-99). The RetroPie package leaves it out." - name: "gs-by-papiezak-and-sneakernets.wopn" category: game_data @@ -196,7 +196,7 @@ files: size: 274864 sha1: "12e77c61ae107b7dbcebb230fe45ec7791a07877" source_ref: "src/CMakeLists.txt:1227, src/gameconfigfile.cpp:175-202, src/sound/music/i_soundfont.cpp:357-361" - note: "OPN2 bank copied next to the executable, read only with opn_use_custom_bank. The RetroPie package leaves it out." + note: "OPN2 bank of the tree, copied to fm_banks/ beside the executable. The Windows and macOS builds search $PROGDIR/fm_banks, the Linux build searches $HOME/.config/lzdoom/fm_banks and the share directories but not the program directory (src/gameconfigfile.cpp:178-200). Played only when opn_use_custom_bank is on and opn_custom_bank names it (src/sound/music/music_config.cpp:253-260). The RetroPie package leaves it out." # ================================================================ # IWADs (user-supplied). One is needed to start a game. From f25247d7d5b82704eb9c8b769b7cd93879fd2047 Mon Sep 17 00:00:00 2001 From: Abdessamad Derraz <3028866+Abdess@users.noreply.github.com> Date: Mon, 9 Nov 2026 16:46:48 +0100 Subject: [PATCH 5/9] docs: take groovymame hiscore.dat from its tree --- emulators/groovymame.yml | 5 +++-- 1 file changed, 3 insertions(+), 2 deletions(-) diff --git a/emulators/groovymame.yml b/emulators/groovymame.yml index 1b849ea4b..814e07a91 100644 --- a/emulators/groovymame.yml +++ b/emulators/groovymame.yml @@ -4753,10 +4753,11 @@ files: path: "hiscore.dat" required: false bundled: true - sha1: "6f730abe0d76161336f09229f54e9f9ac7619d63" + size: 314161 + sha1: "579e39c51dc8e72a9389db683802e3dc7de44ab4" category: game_data source_ref: "upstream plugins/hiscore/init.lua:105, 152-155" - note: "high score definitions, read from the working directory then from the plugin directory. The 0288.222d Windows 7z and the RetroBat groovymame package both ship this copy in plugins/hiscore." + note: "high score definitions, read from the working directory then from the plugin directory. The hash is that of plugins/hiscore/hiscore.dat at the pinned revision, the same file as in mamedev/mame at upstream_commit. The code checks no hash." - name: cheat.7z aliases: [cheat.zip] From 334b1e4b7b9eb9091b0df0c30dbeb5278ec3b73e Mon Sep 17 00:00:00 2001 From: Abdessamad Derraz <3028866+Abdess@users.noreply.github.com> Date: Mon, 9 Nov 2026 16:47:54 +0100 Subject: [PATCH 6/9] docs: tie iortcw mp_bin0 to its pak checksum --- emulators/iortcw.yml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/emulators/iortcw.yml b/emulators/iortcw.yml index 7116d0f85..cecbb2c47 100644 --- a/emulators/iortcw.yml +++ b/emulators/iortcw.yml @@ -171,7 +171,7 @@ files: sha1: "e03e68b2929e543a3fac91addb6a57d63825a38b" bundled: true not_bundled_on: [batocera] - note: "VM/binary pak, 1.51c variant. Shipped in main/ of every iortcw 1.51c release zip. The Batocera package installs the binaries and libraries only." + note: "VM/binary pak, 1.51c variant. Not opened by name: the client extracts the game dlls from any pak whose checksum binpak_checksums lists, 2925068652 for this one. The sha1 is that of main/mp_bin0.pk3 in the iortcw 1.51c release zips, whose pak checksum is that value. The Batocera package installs the binaries and libraries only." # ================================================================ # demomain/ - demo paks, one per build From 7013af615b3b96678e0f931ece6ed9b637eec9ca Mon Sep 17 00:00:00 2001 From: Abdessamad Derraz <3028866+Abdess@users.noreply.github.com> Date: Mon, 9 Nov 2026 16:49:38 +0100 Subject: [PATCH 7/9] docs: name the pcsx bios entry as a label --- emulators/pcsx_rearmed_standalone.yml | 12 +++++++----- 1 file changed, 7 insertions(+), 5 deletions(-) diff --git a/emulators/pcsx_rearmed_standalone.yml b/emulators/pcsx_rearmed_standalone.yml index 65f5107c6..e7d76830e 100644 --- a/emulators/pcsx_rearmed_standalone.yml +++ b/emulators/pcsx_rearmed_standalone.yml @@ -47,14 +47,16 @@ notes: | files: - name: "SCPH1001.BIN" system: sony-playstation - description: "PlayStation BIOS, any 512 KiB image, named as RetroPie links it" + description: "PlayStation BIOS, any 512 KiB image of the bios folder" size: 524288 validation: [size] required: false hle_fallback: true note: >- - The code accepts any file name. SCPH1001.BIN is the one name RetroPie - links into the bios folder, so it is the only image this install can - list. A 4 MiB file is also listed, and only its first 512 KiB are - loaded. + The code opens no file by name. scan_bios_plugins lists every regular + file or link of the bios folder whose size is 512 KiB or 4 MiB, in + directory order and unsorted, and the name of the one selected in the + menu is stored in Config.Bios. The entry name is a label: SCPH1001.BIN + is the file RetroPie links into that folder. Of a 4 MiB file only the + first 512 KiB are loaded. source_ref: "frontend/menu.c:2619-2628, libpcsxcore/psxmem.c:314-327" From 76314e0521be3c391c4fb6a4c3cdcebca292338c Mon Sep 17 00:00:00 2001 From: Abdessamad Derraz <3028866+Abdess@users.noreply.github.com> Date: Mon, 9 Nov 2026 16:52:58 +0100 Subject: [PATCH 8/9] docs: read chihiro files beside their bios --- emulators/xemu-chihiro.yml | 10 ++-------- 1 file changed, 2 insertions(+), 8 deletions(-) diff --git a/emulators/xemu-chihiro.yml b/emulators/xemu-chihiro.yml index a7709ddd6..1c4f81db5 100644 --- a/emulators/xemu-chihiro.yml +++ b/emulators/xemu-chihiro.yml @@ -65,18 +65,16 @@ notes: | files: - name: chihiro_xbox_bios.bin - path: "chihiro/chihiro_xbox_bios.bin" system: sega-chihiro required: true size: 524288 sha1: "b700b0041af8f84835e45d1d1250247bf7077188" validation: [size, sha1] description: "Chihiro BIOS" - note: "RetroBat also looks for it at the root of the bios folder. The other Chihiro files are then read from the same folder." - source_ref: "source hw/xbox/chihiro/chihiro.c:2280-2292, source system/vl.c:3169-3190" + note: "Opened from chihiro.roms.bios_path, empty by default, and accepted under any name when it has this size and SHA-1. chihiro_xbox_bios.bin is the MAME name the code comment gives. The media board flash and the EEPROMs are then read from the folder that holds it. RetroBat sets the path to bios/chihiro/chihiro_xbox_bios.bin, else bios/chihiro_xbox_bios.bin." + source_ref: "source hw/xbox/chihiro/chihiro.c:2280-2292, source system/vl.c:3169-3190, source config_spec.yml:893-895" - name: fpr21042_m29w160et.bin - path: "chihiro/fpr21042_m29w160et.bin" system: sega-chihiro required: true max_size: 4194304 @@ -86,7 +84,6 @@ files: source_ref: "source hw/xbox/chihiro/chihiro.c:2259-2333, 485-489, source system/vl.c:3201-3214" - name: fpr-23887_29lv160te.ic4 - path: "chihiro/fpr-23887_29lv160te.ic4" system: sega-chihiro required: false max_size: 4194304 @@ -97,7 +94,6 @@ files: source_ref: "source hw/xbox/chihiro/chihiro.c:2320-2332" - name: ic10_g24lc64.bin - path: "chihiro/ic10_g24lc64.bin" system: sega-chihiro required: true size: 8192 @@ -106,7 +102,6 @@ files: source_ref: "source hw/xbox/chihiro/chihiro.c:2336-2401, source system/vl.c:3215-3217" - name: pc20_g24lc64.bin - path: "chihiro/pc20_g24lc64.bin" system: sega-chihiro required: true size: 8192 @@ -115,7 +110,6 @@ files: source_ref: "source hw/xbox/chihiro/chihiro.c:2336-2401, source system/vl.c:3218-3220" - name: ic11_24lc024.bin - path: "chihiro/ic11_24lc024.bin" system: sega-chihiro required: true size: 128 From 4303c52012b84ee10da490dff2556f7058019371 Mon Sep 17 00:00:00 2001 From: Abdessamad Derraz <3028866+Abdess@users.noreply.github.com> Date: Mon, 9 Nov 2026 16:57:52 +0100 Subject: [PATCH 9/9] docs: cite mame4droid files.zip for hiscore.dat --- emulators/mame4droid-2024.yml | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/emulators/mame4droid-2024.yml b/emulators/mame4droid-2024.yml index 8400e2993..4f61c0629 100644 --- a/emulators/mame4droid-2024.yml +++ b/emulators/mame4droid-2024.yml @@ -201,8 +201,8 @@ files: sha1: "6f730abe0d76161336f09229f54e9f9ac7619d63" category: game_data description: "high score memory ranges per game" - note: "read_hiscore_dat opens hiscore.dat from the installation root first, then the copy in the plugin's own directory, once per session when the hiscore plugin runs. Same content as MAME 0.289's plugins/hiscore/hiscore.dat, with CRLF line endings. Definitions are keyed to driver names, so another MAME generation's file is a different one." - source_ref: "upstream plugins/hiscore/init.lua:105, 151-155, source src/osd/myosd/droid/myosd_droid.cpp:1640-1652" + note: "read_hiscore_dat opens hiscore.dat from the installation root first, then the copy in the plugin's own directory, once per session when the hiscore plugin runs. The hash is that of plugins/hiscore/hiscore.dat in android-MAME4droid/app/src/main/res/raw/files.zip at the pinned revision, which copyFiles unpacks into the installation directory on first start. Same content as MAME 0.289's plugins/hiscore/hiscore.dat, with CRLF line endings. Definitions are keyed to driver names, so another MAME generation's file is a different one." + source_ref: "upstream plugins/hiscore/init.lua:105, 151-155, source src/osd/myosd/droid/myosd_droid.cpp:1640-1652, source android-MAME4droid/app/src/main/java/com/seleuco/mame4droid/helpers/MainHelper.java:307-345" - name: history.db path: data/history.db