From 9f674dd849a3abc0cc2cd637f16cce7b63b3864e Mon Sep 17 00:00:00 2001 From: Abdessamad Derraz <3028866+Abdess@users.noreply.github.com> Date: Tue, 10 Nov 2026 13:20:42 +0100 Subject: [PATCH 01/22] docs: cite the IWADINFO reader in Doom profiles Each IWAD entry named only its iwadinfo.txt lines. It now also cites the add_pk3 rule that packs the file into game_support.pk3, the FIWadManager constructor that reads the IWADINFO lump, the Names parser and the directory scan. Load files cite the Load parser and the loader beside the IWAD, and square.pk3 the -iwad branch. --- emulators/gzdoom.yml | 78 ++++++++++++++++++++++---------------------- emulators/lzdoom.yml | 74 ++++++++++++++++++++--------------------- emulators/uzdoom.yml | 78 ++++++++++++++++++++++---------------------- 3 files changed, 115 insertions(+), 115 deletions(-) diff --git a/emulators/gzdoom.yml b/emulators/gzdoom.yml index 212441074..ee25a5c18 100644 --- a/emulators/gzdoom.yml +++ b/emulators/gzdoom.yml @@ -156,7 +156,7 @@ files: # ================================================================ # IWADs (user-supplied). At least one is needed to launch a game. - # All source refs point to wadsrc_extra/static/iwadinfo.txt entries. + # Each ref gives the iwadinfo.txt entry, then the code that reads it. # ================================================================ # ---- Doom ---- @@ -166,7 +166,7 @@ files: system: doom path: "doom.wad" required: false - source_ref: "wadsrc_extra/static/iwadinfo.txt:420, 437, 659" + source_ref: "wadsrc_extra/static/iwadinfo.txt:420, 437, 659, wadsrc_extra/CMakeLists.txt:1, src/d_main.cpp:3796, src/d_iwad.cpp:286-296, 320-341, 351-396, 502-531" note: "The Ultimate DOOM and DOOM Registered both use this name and are told apart by their lumps." - name: "doom2.wad" @@ -174,119 +174,119 @@ files: system: doom path: "doom2.wad" required: false - source_ref: "wadsrc_extra/static/iwadinfo.txt:640, 653" + source_ref: "wadsrc_extra/static/iwadinfo.txt:640, 653, wadsrc_extra/CMakeLists.txt:1, src/d_main.cpp:3796, src/d_iwad.cpp:286-296, 320-341, 351-396, 502-531" - name: "doom2f.wad" category: game_data system: doom path: "doom2f.wad" required: false - source_ref: "wadsrc_extra/static/iwadinfo.txt:625, 657" + source_ref: "wadsrc_extra/static/iwadinfo.txt:625, 657, wadsrc_extra/CMakeLists.txt:1, src/d_main.cpp:3796, src/d_iwad.cpp:286-296, 320-341, 351-396, 502-531" - name: "doombfg.wad" category: game_data system: doom path: "doombfg.wad" required: false - source_ref: "wadsrc_extra/static/iwadinfo.txt:332, 666" + source_ref: "wadsrc_extra/static/iwadinfo.txt:332, 666, wadsrc_extra/CMakeLists.txt:1, src/d_main.cpp:3796, src/d_iwad.cpp:286-296, 320-341, 351-396, 502-531" - name: "doom2bfg.wad" category: game_data system: doom path: "doom2bfg.wad" required: false - source_ref: "wadsrc_extra/static/iwadinfo.txt:560, 667" + source_ref: "wadsrc_extra/static/iwadinfo.txt:560, 667, wadsrc_extra/CMakeLists.txt:1, src/d_main.cpp:3796, src/d_iwad.cpp:286-296, 320-341, 351-396, 502-531" - name: "doomunity.wad" category: game_data system: doom path: "doomunity.wad" required: false - source_ref: "wadsrc_extra/static/iwadinfo.txt:369, 661" + source_ref: "wadsrc_extra/static/iwadinfo.txt:369, 661, wadsrc_extra/CMakeLists.txt:1, src/d_main.cpp:3796, src/d_iwad.cpp:286-296, 320-341, 351-396, 502-531" - name: "doom2unity.wad" category: game_data system: doom path: "doom2unity.wad" required: false - source_ref: "wadsrc_extra/static/iwadinfo.txt:592, 655" + source_ref: "wadsrc_extra/static/iwadinfo.txt:592, 655, wadsrc_extra/CMakeLists.txt:1, src/d_main.cpp:3796, src/d_iwad.cpp:286-296, 320-341, 351-396, 502-531" - name: "doomkex.wad" category: game_data system: doom path: "doomkex.wad" required: false - source_ref: "wadsrc_extra/static/iwadinfo.txt:350, 662" + source_ref: "wadsrc_extra/static/iwadinfo.txt:350, 662, wadsrc_extra/CMakeLists.txt:1, src/d_main.cpp:3796, src/d_iwad.cpp:286-296, 320-341, 351-396, 502-531" - name: "doom2kex.wad" category: game_data system: doom path: "doom2kex.wad" required: false - source_ref: "wadsrc_extra/static/iwadinfo.txt:576, 656" + source_ref: "wadsrc_extra/static/iwadinfo.txt:576, 656, wadsrc_extra/CMakeLists.txt:1, src/d_main.cpp:3796, src/d_iwad.cpp:286-296, 320-341, 351-396, 502-531" - name: "doomxbox.wad" category: game_data system: doom path: "doomxbox.wad" required: false - source_ref: "wadsrc_extra/static/iwadinfo.txt:403, 660" + source_ref: "wadsrc_extra/static/iwadinfo.txt:403, 660, wadsrc_extra/CMakeLists.txt:1, src/d_main.cpp:3796, src/d_iwad.cpp:286-296, 320-341, 351-396, 502-531" - name: "doom2xbox.wad" category: game_data system: doom path: "doom2xbox.wad" required: false - source_ref: "wadsrc_extra/static/iwadinfo.txt:608, 654" + source_ref: "wadsrc_extra/static/iwadinfo.txt:608, 654, wadsrc_extra/CMakeLists.txt:1, src/d_main.cpp:3796, src/d_iwad.cpp:286-296, 320-341, 351-396, 502-531" - name: "doom_complete.pk3" category: game_data system: doom path: "doom_complete.pk3" required: false - source_ref: "wadsrc_extra/static/iwadinfo.txt:389, 652" + source_ref: "wadsrc_extra/static/iwadinfo.txt:389, 652, wadsrc_extra/CMakeLists.txt:1, src/d_main.cpp:3796, src/d_iwad.cpp:286-296, 320-341, 351-396, 502-531" - name: "plutonia.wad" category: game_data system: doom path: "plutonia.wad" required: false - source_ref: "wadsrc_extra/static/iwadinfo.txt:545, 670" + source_ref: "wadsrc_extra/static/iwadinfo.txt:545, 670, wadsrc_extra/CMakeLists.txt:1, src/d_main.cpp:3796, src/d_iwad.cpp:286-296, 320-341, 351-396, 502-531" - name: "plutoniaunity.wad" category: game_data system: doom path: "plutoniaunity.wad" required: false - source_ref: "wadsrc_extra/static/iwadinfo.txt:514, 671" + source_ref: "wadsrc_extra/static/iwadinfo.txt:514, 671, wadsrc_extra/CMakeLists.txt:1, src/d_main.cpp:3796, src/d_iwad.cpp:286-296, 320-341, 351-396, 502-531" - name: "plutoniakex.wad" category: game_data system: doom path: "plutoniakex.wad" required: false - source_ref: "wadsrc_extra/static/iwadinfo.txt:529, 672" + source_ref: "wadsrc_extra/static/iwadinfo.txt:529, 672, wadsrc_extra/CMakeLists.txt:1, src/d_main.cpp:3796, src/d_iwad.cpp:286-296, 320-341, 351-396, 502-531" - name: "tnt.wad" category: game_data system: doom path: "tnt.wad" required: false - source_ref: "wadsrc_extra/static/iwadinfo.txt:499, 673" + source_ref: "wadsrc_extra/static/iwadinfo.txt:499, 673, wadsrc_extra/CMakeLists.txt:1, src/d_main.cpp:3796, src/d_iwad.cpp:286-296, 320-341, 351-396, 502-531" - name: "tntunity.wad" category: game_data system: doom path: "tntunity.wad" required: false - source_ref: "wadsrc_extra/static/iwadinfo.txt:468, 674" + source_ref: "wadsrc_extra/static/iwadinfo.txt:468, 674, wadsrc_extra/CMakeLists.txt:1, src/d_main.cpp:3796, src/d_iwad.cpp:286-296, 320-341, 351-396, 502-531" - name: "tntkex.wad" category: game_data system: doom path: "tntkex.wad" required: false - source_ref: "wadsrc_extra/static/iwadinfo.txt:483, 675" + source_ref: "wadsrc_extra/static/iwadinfo.txt:483, 675, wadsrc_extra/CMakeLists.txt:1, src/d_main.cpp:3796, src/d_iwad.cpp:286-296, 320-341, 351-396, 502-531" - name: "nerve.wad" category: game_data @@ -309,7 +309,7 @@ files: system: doom path: "extras.wad" required: false - source_ref: "wadsrc_extra/static/iwadinfo.txt:357, 376, 488, 534, 582, 598" + source_ref: "wadsrc_extra/static/iwadinfo.txt:357, 376, 488, 534, 582, 598, wadsrc_extra/CMakeLists.txt:1, src/d_main.cpp:3796, src/d_iwad.cpp:208-215, 320-341, 877-901" note: "Loaded from the IWAD directory by the KEX and Unity editions." - name: "soundtrack" @@ -336,7 +336,7 @@ files: path: "freedoom1.wad" required: false installed_on: [retropie] - source_ref: "wadsrc_extra/static/iwadinfo.txt:307, 676" + source_ref: "wadsrc_extra/static/iwadinfo.txt:307, 676, wadsrc_extra/CMakeLists.txt:1, src/d_main.cpp:3796, src/d_iwad.cpp:286-296, 320-341, 351-396, 502-531" - name: "freedoom2.wad" category: game_data @@ -344,14 +344,14 @@ files: path: "freedoom2.wad" required: false installed_on: [retropie] - source_ref: "wadsrc_extra/static/iwadinfo.txt:294, 677" + source_ref: "wadsrc_extra/static/iwadinfo.txt:294, 677, wadsrc_extra/CMakeLists.txt:1, src/d_main.cpp:3796, src/d_iwad.cpp:286-296, 320-341, 351-396, 502-531" - name: "freedm.wad" category: game_data system: doom path: "freedm.wad" required: false - source_ref: "wadsrc_extra/static/iwadinfo.txt:281, 680" + source_ref: "wadsrc_extra/static/iwadinfo.txt:281, 680, wadsrc_extra/CMakeLists.txt:1, src/d_main.cpp:3796, src/d_iwad.cpp:286-296, 320-341, 351-396, 502-531" # ---- Heretic ---- @@ -360,7 +360,7 @@ files: system: heretic path: "heretic.wad" required: false - source_ref: "wadsrc_extra/static/iwadinfo.txt:241, 244, 254, 257, 681" + source_ref: "wadsrc_extra/static/iwadinfo.txt:241, 244, 254, 257, 681, wadsrc_extra/CMakeLists.txt:1, src/d_main.cpp:3796, src/d_iwad.cpp:286-296, 320-341, 351-396, 502-531" note: "Both Heretic and Shadow of the Serpent Riders use this name and are told apart by the EXTENDED lump." - name: "blasphem.wad" @@ -369,7 +369,7 @@ files: system: heretic path: "blasphem.wad" required: false - source_ref: "wadsrc_extra/static/iwadinfo.txt:228, 692-693" + source_ref: "wadsrc_extra/static/iwadinfo.txt:228, 692-693, wadsrc_extra/CMakeLists.txt:1, src/d_main.cpp:3796, src/d_iwad.cpp:286-296, 320-341, 351-396, 502-531" # ---- Hexen ---- @@ -378,14 +378,14 @@ files: system: hexen path: "hexen.wad" required: false - source_ref: "wadsrc_extra/static/iwadinfo.txt:188, 684" + source_ref: "wadsrc_extra/static/iwadinfo.txt:188, 684, wadsrc_extra/CMakeLists.txt:1, src/d_main.cpp:3796, src/d_iwad.cpp:286-296, 320-341, 351-396, 502-531" - name: "hexdd.wad" category: game_data system: hexen path: "hexdd.wad" required: false - source_ref: "wadsrc_extra/static/iwadinfo.txt:196-207, 685" + source_ref: "wadsrc_extra/static/iwadinfo.txt:196-207, 685, wadsrc_extra/CMakeLists.txt:1, src/d_main.cpp:3796, src/d_iwad.cpp:286-296, 320-341, 351-396, 502-531" note: "Deathkings expansion. Requires hexen.wad (Required = Hexen: Beyond Heretic)." # ---- Strife ---- @@ -395,14 +395,14 @@ files: system: strife path: "strife1.wad" required: false - source_ref: "wadsrc_extra/static/iwadinfo.txt:151, 688" + source_ref: "wadsrc_extra/static/iwadinfo.txt:151, 688, wadsrc_extra/CMakeLists.txt:1, src/d_main.cpp:3796, src/d_iwad.cpp:286-296, 320-341, 351-396, 502-531" - name: "sve.wad" category: game_data system: strife path: "sve.wad" required: false - source_ref: "wadsrc_extra/static/iwadinfo.txt:136, 140, 689" + source_ref: "wadsrc_extra/static/iwadinfo.txt:136, 140, 689, wadsrc_extra/CMakeLists.txt:1, src/d_main.cpp:3796, src/d_iwad.cpp:286-296, 320-341, 351-396, 502-531" note: "Veteran Edition. Required = Strife: Quest for the Sigil (loads voices.wad)." - name: "voices.wad" @@ -410,7 +410,7 @@ files: system: strife path: "voices.wad" required: false - source_ref: "wadsrc_extra/static/iwadinfo.txt:142, 155" + source_ref: "wadsrc_extra/static/iwadinfo.txt:142, 155, wadsrc_extra/CMakeLists.txt:1, src/d_main.cpp:3796, src/d_iwad.cpp:208-215, 320-341, 877-901" # ---- Chex Quest ---- @@ -419,14 +419,14 @@ files: system: chex path: "chex.wad" required: false - source_ref: "wadsrc_extra/static/iwadinfo.txt:123, 694" + source_ref: "wadsrc_extra/static/iwadinfo.txt:123, 694, wadsrc_extra/CMakeLists.txt:1, src/d_main.cpp:3796, src/d_iwad.cpp:286-296, 320-341, 351-396, 502-531" - name: "chex3.wad" category: game_data system: chex path: "chex3.wad" required: false - source_ref: "wadsrc_extra/static/iwadinfo.txt:109, 695" + source_ref: "wadsrc_extra/static/iwadinfo.txt:109, 695, wadsrc_extra/CMakeLists.txt:1, src/d_main.cpp:3796, src/d_iwad.cpp:286-296, 320-341, 351-396, 502-531" # ---- Standalone commercial / community IWADs ---- @@ -435,7 +435,7 @@ files: system: doom path: "hacx.wad" required: false - source_ref: "wadsrc_extra/static/iwadinfo.txt:83, 698" + source_ref: "wadsrc_extra/static/iwadinfo.txt:83, 698, wadsrc_extra/CMakeLists.txt:1, src/d_main.cpp:3796, src/d_iwad.cpp:286-296, 320-341, 351-396, 502-531" - name: "hacx2.wad" category: game_data @@ -450,21 +450,21 @@ files: system: doom path: "action2.wad" required: false - source_ref: "wadsrc_extra/static/iwadinfo.txt:97, 696" + source_ref: "wadsrc_extra/static/iwadinfo.txt:97, 696, wadsrc_extra/CMakeLists.txt:1, src/d_main.cpp:3796, src/d_iwad.cpp:286-296, 320-341, 351-396, 502-531" - name: "harm1.wad" category: game_data system: doom path: "harm1.wad" required: false - source_ref: "wadsrc_extra/static/iwadinfo.txt:57, 697" + source_ref: "wadsrc_extra/static/iwadinfo.txt:57, 697, wadsrc_extra/CMakeLists.txt:1, src/d_main.cpp:3796, src/d_iwad.cpp:286-296, 320-341, 351-396, 502-531" - name: "square.pk3" category: game_data system: doom path: "square.pk3" required: false - source_ref: "wadsrc_extra/static/iwadinfo.txt:33" + source_ref: "wadsrc_extra/static/iwadinfo.txt:33, wadsrc_extra/CMakeLists.txt:1, src/d_main.cpp:3796, src/d_iwad.cpp:320-341, 351-396, 626-670" note: "Absent from the Names block: picked up only when named with -iwad." - name: "square1.pk3" @@ -472,18 +472,18 @@ files: system: doom path: "square1.pk3" required: false - source_ref: "wadsrc_extra/static/iwadinfo.txt:45, 700" + source_ref: "wadsrc_extra/static/iwadinfo.txt:45, 700, wadsrc_extra/CMakeLists.txt:1, src/d_main.cpp:3796, src/d_iwad.cpp:286-296, 320-341, 351-396, 502-531" - name: "delaweare.wad" category: game_data system: doom path: "delaweare.wad" required: false - source_ref: "wadsrc_extra/static/iwadinfo.txt:22, 701" + source_ref: "wadsrc_extra/static/iwadinfo.txt:22, 701, wadsrc_extra/CMakeLists.txt:1, src/d_main.cpp:3796, src/d_iwad.cpp:286-296, 320-341, 351-396, 502-531" - name: "rotwb.wad" category: game_data system: doom path: "rotwb.wad" required: false - source_ref: "wadsrc_extra/static/iwadinfo.txt:9, 702" + source_ref: "wadsrc_extra/static/iwadinfo.txt:9, 702, wadsrc_extra/CMakeLists.txt:1, src/d_main.cpp:3796, src/d_iwad.cpp:286-296, 320-341, 351-396, 502-531" diff --git a/emulators/lzdoom.yml b/emulators/lzdoom.yml index 5be55755b..0f0c79515 100644 --- a/emulators/lzdoom.yml +++ b/emulators/lzdoom.yml @@ -200,7 +200,7 @@ files: # ================================================================ # IWADs (user-supplied). One is needed to start a game. - # All source refs point to wadsrc_extra/static/iwadinfo.txt. + # Each ref gives the iwadinfo.txt entry, then the code that reads it. # ================================================================ # ---- Doom ---- @@ -209,7 +209,7 @@ files: category: game_data system: doom required: false - source_ref: "wadsrc_extra/static/iwadinfo.txt:315, 363, 378, 393, 576" + source_ref: "wadsrc_extra/static/iwadinfo.txt:315, 363, 378, 393, 576, wadsrc_extra/CMakeLists.txt:3, src/d_main.cpp:2539, src/d_iwad.cpp:253-263, 286-309, 319-367, 466-499" note: "The Ultimate DOOM, DOOM Registered, the BFG and XBox editions all use this name and are told apart by their lumps." - name: "doom1.wad" @@ -217,92 +217,92 @@ files: system: doom required: false installed_on: [retropie] - source_ref: "wadsrc_extra/static/iwadinfo.txt:402-412, 577" + source_ref: "wadsrc_extra/static/iwadinfo.txt:402-412, 577, wadsrc_extra/CMakeLists.txt:3, src/d_main.cpp:2539, src/d_iwad.cpp:253-263, 286-309, 319-367, 466-499" note: "DOOM Shareware." - name: "doom2.wad" category: game_data system: doom required: false - source_ref: "wadsrc_extra/static/iwadinfo.txt:489, 518, 545, 571" + source_ref: "wadsrc_extra/static/iwadinfo.txt:489, 518, 545, 571, wadsrc_extra/CMakeLists.txt:3, src/d_main.cpp:2539, src/d_iwad.cpp:253-263, 286-309, 319-367, 466-499" - name: "doom2f.wad" category: game_data system: doom required: false - source_ref: "wadsrc_extra/static/iwadinfo.txt:532, 572" + source_ref: "wadsrc_extra/static/iwadinfo.txt:532, 572, wadsrc_extra/CMakeLists.txt:3, src/d_main.cpp:2539, src/d_iwad.cpp:253-263, 286-309, 319-367, 466-499" - name: "nerve.wad" category: game_data system: doom required: false - source_ref: "wadsrc_extra/static/iwadinfo.txt:494, 523, 558, 562, 617" + source_ref: "wadsrc_extra/static/iwadinfo.txt:494, 523, 558, 562, 617, wadsrc_extra/CMakeLists.txt:3, src/d_main.cpp:2539, src/d_iwad.cpp:187-195, 253-263, 286-309, 319-367, 466-499, 772-789" note: "No Rest for the Living, which requires DOOM 2. Also loaded from the IWAD directory by the BFG and XBox editions of DOOM 2." - name: "doomunity.wad" category: game_data system: doom required: false - source_ref: "wadsrc_extra/static/iwadinfo.txt:331, 584" + source_ref: "wadsrc_extra/static/iwadinfo.txt:331, 584, wadsrc_extra/CMakeLists.txt:3, src/d_main.cpp:2539, src/d_iwad.cpp:253-263, 286-309, 319-367, 466-499" - name: "doom2unity.wad" category: game_data system: doom required: false - source_ref: "wadsrc_extra/static/iwadinfo.txt:503, 585" + source_ref: "wadsrc_extra/static/iwadinfo.txt:503, 585, wadsrc_extra/CMakeLists.txt:3, src/d_main.cpp:2539, src/d_iwad.cpp:253-263, 286-309, 319-367, 466-499" - name: "nerveunity.wad" category: game_data system: doom required: false - source_ref: "wadsrc_extra/static/iwadinfo.txt:508" + source_ref: "wadsrc_extra/static/iwadinfo.txt:508, wadsrc_extra/CMakeLists.txt:3, src/d_main.cpp:2539, src/d_iwad.cpp:187-195, 286-309, 772-789" note: "Loaded from the IWAD directory by DOOM 2: Unity Edition." - name: "extras.wad" category: game_data system: doom required: false - source_ref: "wadsrc_extra/static/iwadinfo.txt:338, 508" + source_ref: "wadsrc_extra/static/iwadinfo.txt:338, 508, wadsrc_extra/CMakeLists.txt:3, src/d_main.cpp:2539, src/d_iwad.cpp:187-195, 286-309, 772-789" note: "Loaded from the IWAD directory by the Unity editions." - name: "soundtrack" category: game_data system: doom required: false - source_ref: "wadsrc_extra/static/iwadinfo.txt:338, 508" + source_ref: "wadsrc_extra/static/iwadinfo.txt:338, 508, wadsrc_extra/CMakeLists.txt:3, src/d_main.cpp:2539, src/d_iwad.cpp:187-195, 286-309, 772-789" note: "Loaded from the IWAD directory by the Unity editions." - name: "doom_complete.pk3" category: game_data system: doom required: false - source_ref: "wadsrc_extra/static/iwadinfo.txt:350, 570" + source_ref: "wadsrc_extra/static/iwadinfo.txt:350, 570, wadsrc_extra/CMakeLists.txt:3, src/d_main.cpp:2539, src/d_iwad.cpp:253-263, 286-309, 319-367, 466-499" note: "WadSmoosh merge of the Doom IWADs." - name: "plutonia.wad" category: game_data system: doom required: false - source_ref: "wadsrc_extra/static/iwadinfo.txt:447, 461, 573" + source_ref: "wadsrc_extra/static/iwadinfo.txt:447, 461, 573, wadsrc_extra/CMakeLists.txt:3, src/d_main.cpp:2539, src/d_iwad.cpp:253-263, 286-309, 319-367, 466-499" - name: "tnt.wad" category: game_data system: doom required: false - source_ref: "wadsrc_extra/static/iwadinfo.txt:420, 434, 574" + source_ref: "wadsrc_extra/static/iwadinfo.txt:420, 434, 574, wadsrc_extra/CMakeLists.txt:3, src/d_main.cpp:2539, src/d_iwad.cpp:253-263, 286-309, 319-367, 466-499" - name: "sigil_v1_21.wad" category: game_data system: doom required: false - source_ref: "wadsrc_extra/static/iwadinfo.txt:468-478, 616" + source_ref: "wadsrc_extra/static/iwadinfo.txt:468-478, 616, wadsrc_extra/CMakeLists.txt:3, src/d_main.cpp:2539, src/d_iwad.cpp:253-263, 286-309, 319-367, 466-499" note: "Sigil, which requires The Ultimate DOOM." - name: "sigil_shreds.wad" category: game_data system: doom required: false - source_ref: "wadsrc_extra/static/iwadinfo.txt:473" + source_ref: "wadsrc_extra/static/iwadinfo.txt:473, wadsrc_extra/CMakeLists.txt:3, src/d_main.cpp:2539, src/d_iwad.cpp:187-195, 286-309, 772-789" note: "Loaded from the IWAD directory by Sigil." # ---- Freedoom (free) ---- @@ -312,20 +312,20 @@ files: system: doom required: false installed_on: [retropie] - source_ref: "wadsrc_extra/static/iwadinfo.txt:292, 589" + source_ref: "wadsrc_extra/static/iwadinfo.txt:292, 589, wadsrc_extra/CMakeLists.txt:3, src/d_main.cpp:2539, src/d_iwad.cpp:253-263, 286-309, 319-367, 466-499" - name: "freedoom2.wad" category: game_data system: doom required: false installed_on: [retropie] - source_ref: "wadsrc_extra/static/iwadinfo.txt:280, 590" + source_ref: "wadsrc_extra/static/iwadinfo.txt:280, 590, wadsrc_extra/CMakeLists.txt:3, src/d_main.cpp:2539, src/d_iwad.cpp:253-263, 286-309, 319-367, 466-499" - name: "freedm.wad" category: game_data system: doom required: false - source_ref: "wadsrc_extra/static/iwadinfo.txt:268, 593" + source_ref: "wadsrc_extra/static/iwadinfo.txt:268, 593, wadsrc_extra/CMakeLists.txt:3, src/d_main.cpp:2539, src/d_iwad.cpp:253-263, 286-309, 319-367, 466-499" # ---- Heretic ---- @@ -333,14 +333,14 @@ files: category: game_data system: heretic required: false - source_ref: "wadsrc_extra/static/iwadinfo.txt:231, 243, 594" + source_ref: "wadsrc_extra/static/iwadinfo.txt:231, 243, 594, wadsrc_extra/CMakeLists.txt:3, src/d_main.cpp:2539, src/d_iwad.cpp:253-263, 286-309, 319-367, 466-499" note: "Heretic and Shadow of the Serpent Riders share the name and are told apart by their lumps." - name: "heretic1.wad" category: game_data system: heretic required: false - source_ref: "wadsrc_extra/static/iwadinfo.txt:250-260, 596" + source_ref: "wadsrc_extra/static/iwadinfo.txt:250-260, 596, wadsrc_extra/CMakeLists.txt:3, src/d_main.cpp:2539, src/d_iwad.cpp:253-263, 286-309, 319-367, 466-499" note: "Heretic Shareware." - name: "blasphemer.wad" @@ -348,7 +348,7 @@ files: category: game_data system: heretic required: false - source_ref: "wadsrc_extra/static/iwadinfo.txt:219, 605-606" + source_ref: "wadsrc_extra/static/iwadinfo.txt:219, 605-606, wadsrc_extra/CMakeLists.txt:3, src/d_main.cpp:2539, src/d_iwad.cpp:253-263, 286-309, 319-367, 466-499" # ---- Hexen ---- @@ -356,13 +356,13 @@ files: category: game_data system: hexen required: false - source_ref: "wadsrc_extra/static/iwadinfo.txt:181, 597" + source_ref: "wadsrc_extra/static/iwadinfo.txt:181, 597, wadsrc_extra/CMakeLists.txt:3, src/d_main.cpp:2539, src/d_iwad.cpp:253-263, 286-309, 319-367, 466-499" - name: "hexdd.wad" category: game_data system: hexen required: false - source_ref: "wadsrc_extra/static/iwadinfo.txt:188-199, 598" + source_ref: "wadsrc_extra/static/iwadinfo.txt:188-199, 598, wadsrc_extra/CMakeLists.txt:3, src/d_main.cpp:2539, src/d_iwad.cpp:253-263, 286-309, 319-367, 466-499" note: "Deathkings expansion, which requires hexen.wad." # ---- Strife ---- @@ -371,20 +371,20 @@ files: category: game_data system: strife required: false - source_ref: "wadsrc_extra/static/iwadinfo.txt:144, 601" + source_ref: "wadsrc_extra/static/iwadinfo.txt:144, 601, wadsrc_extra/CMakeLists.txt:3, src/d_main.cpp:2539, src/d_iwad.cpp:253-263, 286-309, 319-367, 466-499" - name: "sve.wad" category: game_data system: strife required: false - source_ref: "wadsrc_extra/static/iwadinfo.txt:130, 134, 602" + source_ref: "wadsrc_extra/static/iwadinfo.txt:130, 134, 602, wadsrc_extra/CMakeLists.txt:3, src/d_main.cpp:2539, src/d_iwad.cpp:253-263, 286-309, 319-367, 466-499" note: "Veteran Edition, which requires Strife: Quest for the Sigil." - name: "voices.wad" category: game_data system: strife required: false - source_ref: "wadsrc_extra/static/iwadinfo.txt:135, 148" + source_ref: "wadsrc_extra/static/iwadinfo.txt:135, 148, wadsrc_extra/CMakeLists.txt:3, src/d_main.cpp:2539, src/d_iwad.cpp:187-195, 286-309, 772-789" note: "Loaded from the IWAD directory by Strife." # ---- Chex Quest ---- @@ -393,13 +393,13 @@ files: category: game_data system: chex required: false - source_ref: "wadsrc_extra/static/iwadinfo.txt:118, 607" + source_ref: "wadsrc_extra/static/iwadinfo.txt:118, 607, wadsrc_extra/CMakeLists.txt:3, src/d_main.cpp:2539, src/d_iwad.cpp:253-263, 286-309, 319-367, 466-499" - name: "chex3.wad" category: game_data system: chex required: false - source_ref: "wadsrc_extra/static/iwadinfo.txt:105, 608" + source_ref: "wadsrc_extra/static/iwadinfo.txt:105, 608, wadsrc_extra/CMakeLists.txt:3, src/d_main.cpp:2539, src/d_iwad.cpp:253-263, 286-309, 319-367, 466-499" # ---- Standalone commercial and community IWADs ---- @@ -407,47 +407,47 @@ files: category: game_data system: doom required: false - source_ref: "wadsrc_extra/static/iwadinfo.txt:81, 611" + source_ref: "wadsrc_extra/static/iwadinfo.txt:81, 611, wadsrc_extra/CMakeLists.txt:3, src/d_main.cpp:2539, src/d_iwad.cpp:253-263, 286-309, 319-367, 466-499" - name: "hacx2.wad" category: game_data system: doom required: false - source_ref: "wadsrc_extra/static/iwadinfo.txt:69, 612" + source_ref: "wadsrc_extra/static/iwadinfo.txt:69, 612, wadsrc_extra/CMakeLists.txt:3, src/d_main.cpp:2539, src/d_iwad.cpp:253-263, 286-309, 319-367, 466-499" - name: "action2.wad" category: game_data system: doom required: false - source_ref: "wadsrc_extra/static/iwadinfo.txt:93, 609" + source_ref: "wadsrc_extra/static/iwadinfo.txt:93, 609, wadsrc_extra/CMakeLists.txt:3, src/d_main.cpp:2539, src/d_iwad.cpp:253-263, 286-309, 319-367, 466-499" - name: "harm1.wad" category: game_data system: doom required: false - source_ref: "wadsrc_extra/static/iwadinfo.txt:57, 610" + source_ref: "wadsrc_extra/static/iwadinfo.txt:57, 610, wadsrc_extra/CMakeLists.txt:3, src/d_main.cpp:2539, src/d_iwad.cpp:253-263, 286-309, 319-367, 466-499" - name: "square.pk3" category: game_data system: doom required: false - source_ref: "wadsrc_extra/static/iwadinfo.txt:33" + source_ref: "wadsrc_extra/static/iwadinfo.txt:33, wadsrc_extra/CMakeLists.txt:3, src/d_main.cpp:2539, src/d_iwad.cpp:286-309, 319-367, 566-604" note: "Absent from the Names block: picked up only when named with -iwad." - name: "square1.pk3" category: game_data system: doom required: false - source_ref: "wadsrc_extra/static/iwadinfo.txt:45, 613" + source_ref: "wadsrc_extra/static/iwadinfo.txt:45, 613, wadsrc_extra/CMakeLists.txt:3, src/d_main.cpp:2539, src/d_iwad.cpp:253-263, 286-309, 319-367, 466-499" - name: "delaweare.wad" category: game_data system: doom required: false - source_ref: "wadsrc_extra/static/iwadinfo.txt:22, 614" + source_ref: "wadsrc_extra/static/iwadinfo.txt:22, 614, wadsrc_extra/CMakeLists.txt:3, src/d_main.cpp:2539, src/d_iwad.cpp:253-263, 286-309, 319-367, 466-499" - name: "rotwb.wad" category: game_data system: doom required: false - source_ref: "wadsrc_extra/static/iwadinfo.txt:9, 615" + source_ref: "wadsrc_extra/static/iwadinfo.txt:9, 615, wadsrc_extra/CMakeLists.txt:3, src/d_main.cpp:2539, src/d_iwad.cpp:253-263, 286-309, 319-367, 466-499" diff --git a/emulators/uzdoom.yml b/emulators/uzdoom.yml index efb0a7e40..c36827309 100644 --- a/emulators/uzdoom.yml +++ b/emulators/uzdoom.yml @@ -228,7 +228,7 @@ files: # ================================================================ # IWADs (user-supplied). At least one is needed to launch a game. - # All source refs point to wadsrc_extra/static/iwadinfo.txt entries. + # Each ref gives the iwadinfo.txt entry, then the code that reads it. # ================================================================ # ---- Doom ---- @@ -246,110 +246,110 @@ files: category: game_data system: doom required: false - source_ref: "wadsrc_extra/static/iwadinfo.txt:420, 437, 659" + source_ref: "wadsrc_extra/static/iwadinfo.txt:420, 437, 659, wadsrc_extra/CMakeLists.txt:1, src/d_main.cpp:4207, src/d_iwad.cpp:292-302, 326-352, 362-407, 518-547" note: "The Ultimate DOOM and DOOM Registered both use this name and are told apart by their lumps." - name: "doom2.wad" category: game_data system: doom required: false - source_ref: "wadsrc_extra/static/iwadinfo.txt:640, 653" + source_ref: "wadsrc_extra/static/iwadinfo.txt:640, 653, wadsrc_extra/CMakeLists.txt:1, src/d_main.cpp:4207, src/d_iwad.cpp:292-302, 326-352, 362-407, 518-547" - name: "doom2f.wad" category: game_data system: doom required: false - source_ref: "wadsrc_extra/static/iwadinfo.txt:625, 657" + source_ref: "wadsrc_extra/static/iwadinfo.txt:625, 657, wadsrc_extra/CMakeLists.txt:1, src/d_main.cpp:4207, src/d_iwad.cpp:292-302, 326-352, 362-407, 518-547" - name: "doombfg.wad" category: game_data system: doom required: false - source_ref: "wadsrc_extra/static/iwadinfo.txt:332, 666" + source_ref: "wadsrc_extra/static/iwadinfo.txt:332, 666, wadsrc_extra/CMakeLists.txt:1, src/d_main.cpp:4207, src/d_iwad.cpp:292-302, 326-352, 362-407, 518-547" - name: "doom2bfg.wad" category: game_data system: doom required: false - source_ref: "wadsrc_extra/static/iwadinfo.txt:560, 667" + source_ref: "wadsrc_extra/static/iwadinfo.txt:560, 667, wadsrc_extra/CMakeLists.txt:1, src/d_main.cpp:4207, src/d_iwad.cpp:292-302, 326-352, 362-407, 518-547" - name: "doomunity.wad" category: game_data system: doom required: false - source_ref: "wadsrc_extra/static/iwadinfo.txt:369, 661" + source_ref: "wadsrc_extra/static/iwadinfo.txt:369, 661, wadsrc_extra/CMakeLists.txt:1, src/d_main.cpp:4207, src/d_iwad.cpp:292-302, 326-352, 362-407, 518-547" - name: "doom2unity.wad" category: game_data system: doom required: false - source_ref: "wadsrc_extra/static/iwadinfo.txt:592, 655" + source_ref: "wadsrc_extra/static/iwadinfo.txt:592, 655, wadsrc_extra/CMakeLists.txt:1, src/d_main.cpp:4207, src/d_iwad.cpp:292-302, 326-352, 362-407, 518-547" - name: "doomkex.wad" category: game_data system: doom required: false - source_ref: "wadsrc_extra/static/iwadinfo.txt:350, 662" + source_ref: "wadsrc_extra/static/iwadinfo.txt:350, 662, wadsrc_extra/CMakeLists.txt:1, src/d_main.cpp:4207, src/d_iwad.cpp:292-302, 326-352, 362-407, 518-547" - name: "doom2kex.wad" category: game_data system: doom required: false - source_ref: "wadsrc_extra/static/iwadinfo.txt:576, 656" + source_ref: "wadsrc_extra/static/iwadinfo.txt:576, 656, wadsrc_extra/CMakeLists.txt:1, src/d_main.cpp:4207, src/d_iwad.cpp:292-302, 326-352, 362-407, 518-547" - name: "doomxbox.wad" category: game_data system: doom required: false - source_ref: "wadsrc_extra/static/iwadinfo.txt:403, 660" + source_ref: "wadsrc_extra/static/iwadinfo.txt:403, 660, wadsrc_extra/CMakeLists.txt:1, src/d_main.cpp:4207, src/d_iwad.cpp:292-302, 326-352, 362-407, 518-547" - name: "doom2xbox.wad" category: game_data system: doom required: false - source_ref: "wadsrc_extra/static/iwadinfo.txt:608, 654" + source_ref: "wadsrc_extra/static/iwadinfo.txt:608, 654, wadsrc_extra/CMakeLists.txt:1, src/d_main.cpp:4207, src/d_iwad.cpp:292-302, 326-352, 362-407, 518-547" - name: "doom_complete.pk3" category: game_data system: doom required: false - source_ref: "wadsrc_extra/static/iwadinfo.txt:389, 652" + source_ref: "wadsrc_extra/static/iwadinfo.txt:389, 652, wadsrc_extra/CMakeLists.txt:1, src/d_main.cpp:4207, src/d_iwad.cpp:292-302, 326-352, 362-407, 518-547" - name: "plutonia.wad" category: game_data system: doom required: false - source_ref: "wadsrc_extra/static/iwadinfo.txt:545, 670" + source_ref: "wadsrc_extra/static/iwadinfo.txt:545, 670, wadsrc_extra/CMakeLists.txt:1, src/d_main.cpp:4207, src/d_iwad.cpp:292-302, 326-352, 362-407, 518-547" - name: "plutoniaunity.wad" category: game_data system: doom required: false - source_ref: "wadsrc_extra/static/iwadinfo.txt:514, 671" + source_ref: "wadsrc_extra/static/iwadinfo.txt:514, 671, wadsrc_extra/CMakeLists.txt:1, src/d_main.cpp:4207, src/d_iwad.cpp:292-302, 326-352, 362-407, 518-547" - name: "plutoniakex.wad" category: game_data system: doom required: false - source_ref: "wadsrc_extra/static/iwadinfo.txt:529, 672" + source_ref: "wadsrc_extra/static/iwadinfo.txt:529, 672, wadsrc_extra/CMakeLists.txt:1, src/d_main.cpp:4207, src/d_iwad.cpp:292-302, 326-352, 362-407, 518-547" - name: "tnt.wad" category: game_data system: doom required: false - source_ref: "wadsrc_extra/static/iwadinfo.txt:499, 673" + source_ref: "wadsrc_extra/static/iwadinfo.txt:499, 673, wadsrc_extra/CMakeLists.txt:1, src/d_main.cpp:4207, src/d_iwad.cpp:292-302, 326-352, 362-407, 518-547" - name: "tntunity.wad" category: game_data system: doom required: false - source_ref: "wadsrc_extra/static/iwadinfo.txt:468, 674" + source_ref: "wadsrc_extra/static/iwadinfo.txt:468, 674, wadsrc_extra/CMakeLists.txt:1, src/d_main.cpp:4207, src/d_iwad.cpp:292-302, 326-352, 362-407, 518-547" - name: "tntkex.wad" category: game_data system: doom required: false - source_ref: "wadsrc_extra/static/iwadinfo.txt:483, 675" + source_ref: "wadsrc_extra/static/iwadinfo.txt:483, 675, wadsrc_extra/CMakeLists.txt:1, src/d_main.cpp:4207, src/d_iwad.cpp:292-302, 326-352, 362-407, 518-547" - name: "nerve.wad" category: game_data @@ -369,7 +369,7 @@ files: category: game_data system: doom required: false - source_ref: "wadsrc_extra/static/iwadinfo.txt:357, 376, 488, 534, 582, 598" + source_ref: "wadsrc_extra/static/iwadinfo.txt:357, 376, 488, 534, 582, 598, wadsrc_extra/CMakeLists.txt:1, src/d_main.cpp:4207, src/d_iwad.cpp:214-221, 326-352, 924-947" note: "Loaded from the IWAD directory by the KEX and Unity editions." - name: "soundtrack" @@ -392,19 +392,19 @@ files: category: game_data system: doom required: false - source_ref: "wadsrc_extra/static/iwadinfo.txt:307, 676" + source_ref: "wadsrc_extra/static/iwadinfo.txt:307, 676, wadsrc_extra/CMakeLists.txt:1, src/d_main.cpp:4207, src/d_iwad.cpp:292-302, 326-352, 362-407, 518-547" - name: "freedoom2.wad" category: game_data system: doom required: false - source_ref: "wadsrc_extra/static/iwadinfo.txt:294, 677" + source_ref: "wadsrc_extra/static/iwadinfo.txt:294, 677, wadsrc_extra/CMakeLists.txt:1, src/d_main.cpp:4207, src/d_iwad.cpp:292-302, 326-352, 362-407, 518-547" - name: "freedm.wad" category: game_data system: doom required: false - source_ref: "wadsrc_extra/static/iwadinfo.txt:281, 680" + source_ref: "wadsrc_extra/static/iwadinfo.txt:281, 680, wadsrc_extra/CMakeLists.txt:1, src/d_main.cpp:4207, src/d_iwad.cpp:292-302, 326-352, 362-407, 518-547" # ---- Heretic ---- @@ -412,7 +412,7 @@ files: category: game_data system: heretic required: false - source_ref: "wadsrc_extra/static/iwadinfo.txt:241, 244, 254, 257, 681" + source_ref: "wadsrc_extra/static/iwadinfo.txt:241, 244, 254, 257, 681, wadsrc_extra/CMakeLists.txt:1, src/d_main.cpp:4207, src/d_iwad.cpp:292-302, 326-352, 362-407, 518-547" note: "Both Heretic and Shadow of the Serpent Riders use this name and are told apart by the EXTENDED lump." - name: "blasphem.wad" @@ -420,7 +420,7 @@ files: category: game_data system: heretic required: false - source_ref: "wadsrc_extra/static/iwadinfo.txt:228, 692-693" + source_ref: "wadsrc_extra/static/iwadinfo.txt:228, 692-693, wadsrc_extra/CMakeLists.txt:1, src/d_main.cpp:4207, src/d_iwad.cpp:292-302, 326-352, 362-407, 518-547" # ---- Hexen ---- @@ -428,13 +428,13 @@ files: category: game_data system: hexen required: false - source_ref: "wadsrc_extra/static/iwadinfo.txt:188, 684" + source_ref: "wadsrc_extra/static/iwadinfo.txt:188, 684, wadsrc_extra/CMakeLists.txt:1, src/d_main.cpp:4207, src/d_iwad.cpp:292-302, 326-352, 362-407, 518-547" - name: "hexdd.wad" category: game_data system: hexen required: false - source_ref: "wadsrc_extra/static/iwadinfo.txt:196-207, 685" + source_ref: "wadsrc_extra/static/iwadinfo.txt:196-207, 685, wadsrc_extra/CMakeLists.txt:1, src/d_main.cpp:4207, src/d_iwad.cpp:292-302, 326-352, 362-407, 518-547" note: "Deathkings expansion. Requires hexen.wad (Required = Hexen: Beyond Heretic)." # ---- Strife ---- @@ -443,20 +443,20 @@ files: category: game_data system: strife required: false - source_ref: "wadsrc_extra/static/iwadinfo.txt:151, 688" + source_ref: "wadsrc_extra/static/iwadinfo.txt:151, 688, wadsrc_extra/CMakeLists.txt:1, src/d_main.cpp:4207, src/d_iwad.cpp:292-302, 326-352, 362-407, 518-547" - name: "sve.wad" category: game_data system: strife required: false - source_ref: "wadsrc_extra/static/iwadinfo.txt:136, 140, 689" + source_ref: "wadsrc_extra/static/iwadinfo.txt:136, 140, 689, wadsrc_extra/CMakeLists.txt:1, src/d_main.cpp:4207, src/d_iwad.cpp:292-302, 326-352, 362-407, 518-547" note: "Veteran Edition. Required = Strife: Quest for the Sigil (loads voices.wad)." - name: "voices.wad" category: game_data system: strife required: false - source_ref: "wadsrc_extra/static/iwadinfo.txt:142, 155" + source_ref: "wadsrc_extra/static/iwadinfo.txt:142, 155, wadsrc_extra/CMakeLists.txt:1, src/d_main.cpp:4207, src/d_iwad.cpp:214-221, 326-352, 924-947" # ---- Chex Quest ---- @@ -464,13 +464,13 @@ files: category: game_data system: chex required: false - source_ref: "wadsrc_extra/static/iwadinfo.txt:123, 694" + source_ref: "wadsrc_extra/static/iwadinfo.txt:123, 694, wadsrc_extra/CMakeLists.txt:1, src/d_main.cpp:4207, src/d_iwad.cpp:292-302, 326-352, 362-407, 518-547" - name: "chex3.wad" category: game_data system: chex required: false - source_ref: "wadsrc_extra/static/iwadinfo.txt:109, 695" + source_ref: "wadsrc_extra/static/iwadinfo.txt:109, 695, wadsrc_extra/CMakeLists.txt:1, src/d_main.cpp:4207, src/d_iwad.cpp:292-302, 326-352, 362-407, 518-547" # ---- Standalone commercial / community IWADs ---- @@ -478,7 +478,7 @@ files: category: game_data system: doom required: false - source_ref: "wadsrc_extra/static/iwadinfo.txt:83, 698" + source_ref: "wadsrc_extra/static/iwadinfo.txt:83, 698, wadsrc_extra/CMakeLists.txt:1, src/d_main.cpp:4207, src/d_iwad.cpp:292-302, 326-352, 362-407, 518-547" - name: "hacx2.wad" category: game_data @@ -491,35 +491,35 @@ files: category: game_data system: doom required: false - source_ref: "wadsrc_extra/static/iwadinfo.txt:97, 696" + source_ref: "wadsrc_extra/static/iwadinfo.txt:97, 696, wadsrc_extra/CMakeLists.txt:1, src/d_main.cpp:4207, src/d_iwad.cpp:292-302, 326-352, 362-407, 518-547" - name: "harm1.wad" category: game_data system: doom required: false - source_ref: "wadsrc_extra/static/iwadinfo.txt:57, 697" + source_ref: "wadsrc_extra/static/iwadinfo.txt:57, 697, wadsrc_extra/CMakeLists.txt:1, src/d_main.cpp:4207, src/d_iwad.cpp:292-302, 326-352, 362-407, 518-547" - name: "square.pk3" category: game_data system: doom required: false - source_ref: "wadsrc_extra/static/iwadinfo.txt:33" + source_ref: "wadsrc_extra/static/iwadinfo.txt:33, wadsrc_extra/CMakeLists.txt:1, src/d_main.cpp:4207, src/d_iwad.cpp:326-352, 362-407, 643-692" note: "Absent from the Names block: picked up only when named with -iwad." - name: "square1.pk3" category: game_data system: doom required: false - source_ref: "wadsrc_extra/static/iwadinfo.txt:45, 700" + source_ref: "wadsrc_extra/static/iwadinfo.txt:45, 700, wadsrc_extra/CMakeLists.txt:1, src/d_main.cpp:4207, src/d_iwad.cpp:292-302, 326-352, 362-407, 518-547" - name: "delaweare.wad" category: game_data system: doom required: false - source_ref: "wadsrc_extra/static/iwadinfo.txt:22, 701" + source_ref: "wadsrc_extra/static/iwadinfo.txt:22, 701, wadsrc_extra/CMakeLists.txt:1, src/d_main.cpp:4207, src/d_iwad.cpp:292-302, 326-352, 362-407, 518-547" - name: "rotwb.wad" category: game_data system: doom required: false - source_ref: "wadsrc_extra/static/iwadinfo.txt:9, 702" + source_ref: "wadsrc_extra/static/iwadinfo.txt:9, 702, wadsrc_extra/CMakeLists.txt:1, src/d_main.cpp:4207, src/d_iwad.cpp:292-302, 326-352, 362-407, 518-547" From e19308b68dc61aec8b2579595eea88b43edd3b1c Mon Sep 17 00:00:00 2001 From: Abdessamad Derraz <3028866+Abdess@users.noreply.github.com> Date: Tue, 10 Nov 2026 13:21:48 +0100 Subject: [PATCH 02/22] docs: cite the grpinfo reader in the Raze profile The GRP entries named only their grpinfo.txt blocks. They now cite the add_pk3 rule that packs engine/grpinfo.txt into raze.pk3, ParseAllGrpInfos that reads it from ENGINERES_FILE, ParseGrpInfo, and the size and CRC match of GrpScan (the mustcontain pass for blocks without a CRC). --- emulators/raze.yml | 104 ++++++++++++++++++++++----------------------- 1 file changed, 52 insertions(+), 52 deletions(-) diff --git a/emulators/raze.yml b/emulators/raze.yml index 3684d53cd..c16b1be3d 100644 --- a/emulators/raze.yml +++ b/emulators/raze.yml @@ -95,7 +95,7 @@ files: size: 26524524 crc32: "bbc9ce44" validation: [size, crc32] - source_ref: "wadsrc/static/engine/grpinfo.txt:3, 48-59" + source_ref: "wadsrc/static/engine/grpinfo.txt:3, 48-59, wadsrc/CMakeLists.txt:2, source/core/version.h:66, source/core/searchpaths.cpp:393-613, 621-660, 696-704, 830-875" - name: "DUKE3D.GRP" description: "Duke Nukem 3D (South Korean Censored)" @@ -106,7 +106,7 @@ files: size: 26385383 crc32: "aa4f6a40" validation: [size, crc32] - source_ref: "wadsrc/static/engine/grpinfo.txt:4, 61-72" + source_ref: "wadsrc/static/engine/grpinfo.txt:4, 61-72, wadsrc/CMakeLists.txt:2, source/core/version.h:66, source/core/searchpaths.cpp:393-613, 621-660, 696-704, 830-875" - name: "DUKE3D.GRP" description: "Duke Nukem 3D: Atomic Edition" @@ -117,7 +117,7 @@ files: size: 44356548 crc32: "fd3dcff1" validation: [size, crc32] - source_ref: "wadsrc/static/engine/grpinfo.txt:5, 74-85" + source_ref: "wadsrc/static/engine/grpinfo.txt:5, 74-85, wadsrc/CMakeLists.txt:2, source/core/version.h:66, source/core/searchpaths.cpp:393-613, 621-660, 696-704, 830-875" - name: "DUKE3D.GRP" description: "Duke Nukem 3D: Plutonium Pak" @@ -128,7 +128,7 @@ files: size: 44348015 crc32: "f514a6ac" validation: [size, crc32] - source_ref: "wadsrc/static/engine/grpinfo.txt:6, 113-124" + source_ref: "wadsrc/static/engine/grpinfo.txt:6, 113-124, wadsrc/CMakeLists.txt:2, source/core/version.h:66, source/core/searchpaths.cpp:393-613, 621-660, 696-704, 830-875" - name: "DUKE3D.GRP" description: "Duke Nukem 3D: Atomic Edition (WT)" @@ -139,7 +139,7 @@ files: size: 44356548 crc32: "982afe4a" validation: [size, crc32] - source_ref: "wadsrc/static/engine/grpinfo.txt:7, 87-98" + source_ref: "wadsrc/static/engine/grpinfo.txt:7, 87-98, wadsrc/CMakeLists.txt:2, source/core/version.h:66, source/core/searchpaths.cpp:393-613, 621-660, 696-704, 830-875" note: "World Tour release." - name: "DUKE3D.GRP" @@ -151,7 +151,7 @@ files: size: 44486702 crc32: "89792e05" validation: [size, crc32] - source_ref: "wadsrc/static/engine/grpinfo.txt:100-111" + source_ref: "wadsrc/static/engine/grpinfo.txt:100-111, wadsrc/CMakeLists.txt:2, source/core/version.h:66, source/core/searchpaths.cpp:393-613, 621-660, 696-704, 830-875" note: "World Tour release, second known build." - name: "DUKE3D.GRP" @@ -163,7 +163,7 @@ files: size: 9690241 crc32: "02f18900" validation: [size, crc32] - source_ref: "wadsrc/static/engine/grpinfo.txt:8, 126-136" + source_ref: "wadsrc/static/engine/grpinfo.txt:8, 126-136, wadsrc/CMakeLists.txt:2, source/core/version.h:66, source/core/searchpaths.cpp:393-613, 621-660, 696-704, 830-875" - name: "DUKE3D.GRP" description: "Duke Nukem 3D Shareware 1.0" @@ -174,7 +174,7 @@ files: size: 10429258 crc32: "a28aa589" validation: [size, crc32] - source_ref: "wadsrc/static/engine/grpinfo.txt:9, 138-148" + source_ref: "wadsrc/static/engine/grpinfo.txt:9, 138-148, wadsrc/CMakeLists.txt:2, source/core/version.h:66, source/core/searchpaths.cpp:393-613, 621-660, 696-704, 830-875" - name: "DUKE3D.GRP" description: "Duke Nukem 3D Shareware 1.1" @@ -185,7 +185,7 @@ files: size: 10442980 crc32: "912e1e8d" validation: [size, crc32] - source_ref: "wadsrc/static/engine/grpinfo.txt:10, 150-160" + source_ref: "wadsrc/static/engine/grpinfo.txt:10, 150-160, wadsrc/CMakeLists.txt:2, source/core/version.h:66, source/core/searchpaths.cpp:393-613, 621-660, 696-704, 830-875" - name: "DUKE3D.GRP" description: "Duke Nukem 3D Shareware 1.3D" @@ -196,7 +196,7 @@ files: size: 11035779 crc32: "983ad923" validation: [size, crc32] - source_ref: "wadsrc/static/engine/grpinfo.txt:11, 162-172" + source_ref: "wadsrc/static/engine/grpinfo.txt:11, 162-172, wadsrc/CMakeLists.txt:2, source/core/version.h:66, source/core/searchpaths.cpp:393-613, 621-660, 696-704, 830-875" - name: "DUKEDC.GRP" description: "Duke it out in D.C. (1.3D)" @@ -207,7 +207,7 @@ files: size: 7926624 crc32: "a9242158" validation: [size, crc32] - source_ref: "wadsrc/static/engine/grpinfo.txt:14, 198-208" + source_ref: "wadsrc/static/engine/grpinfo.txt:14, 198-208, wadsrc/CMakeLists.txt:2, source/core/version.h:66, source/core/searchpaths.cpp:393-613, 621-660, 696-704, 830-875" note: "Addon of the 1.3D release (dependency DUKE13_CRC)." - name: "DUKEDC.GRP" @@ -219,7 +219,7 @@ files: size: 8225517 crc32: "b79d997f" validation: [size, crc32] - source_ref: "wadsrc/static/engine/grpinfo.txt:15, 210-220" + source_ref: "wadsrc/static/engine/grpinfo.txt:15, 210-220, wadsrc/CMakeLists.txt:2, source/core/version.h:66, source/core/searchpaths.cpp:393-613, 621-660, 696-704, 830-875" note: "Addon of the Atomic Edition (dependency DUKE15_CRC)." - name: "DUKEDC.GRP" @@ -231,7 +231,7 @@ files: size: 8410183 crc32: "a8cf80da" validation: [size, crc32] - source_ref: "wadsrc/static/engine/grpinfo.txt:16, 222-232" + source_ref: "wadsrc/static/engine/grpinfo.txt:16, 222-232, wadsrc/CMakeLists.txt:2, source/core/version.h:66, source/core/searchpaths.cpp:393-613, 621-660, 696-704, 830-875" - name: "DUKEDC.GRP" description: "Duke it out in D.C." @@ -242,7 +242,7 @@ files: size: 8410187 crc32: "39a692bf" validation: [size, crc32] - source_ref: "wadsrc/static/engine/grpinfo.txt:234-245" + source_ref: "wadsrc/static/engine/grpinfo.txt:234-245, wadsrc/CMakeLists.txt:2, source/core/version.h:66, source/core/searchpaths.cpp:393-613, 621-660, 696-704, 830-875" - name: "DUKEDC.GRP" description: "Duke it out in D.C." @@ -253,7 +253,7 @@ files: size: 8410183 crc32: "777c77b1" validation: [size, crc32] - source_ref: "wadsrc/static/engine/grpinfo.txt:247-258" + source_ref: "wadsrc/static/engine/grpinfo.txt:247-258, wadsrc/CMakeLists.txt:2, source/core/version.h:66, source/core/searchpaths.cpp:393-613, 621-660, 696-704, 830-875" - name: "DUKEDC.GRP" description: "Duke it out in D.C." @@ -264,7 +264,7 @@ files: size: 8410149 crc32: "c63b6a8b" validation: [size, crc32] - source_ref: "wadsrc/static/engine/grpinfo.txt:260-271" + source_ref: "wadsrc/static/engine/grpinfo.txt:260-271, wadsrc/CMakeLists.txt:2, source/core/version.h:66, source/core/searchpaths.cpp:393-613, 621-660, 696-704, 830-875" - name: "VACATION.GRP" description: "Duke Caribbean: Life's a Beach (1.3)" @@ -275,7 +275,7 @@ files: size: 23559381 crc32: "4a2dbb62" validation: [size, crc32] - source_ref: "wadsrc/static/engine/grpinfo.txt:17, 273-285" + source_ref: "wadsrc/static/engine/grpinfo.txt:17, 273-285, wadsrc/CMakeLists.txt:2, source/core/version.h:66, source/core/searchpaths.cpp:393-613, 621-660, 696-704, 830-875" note: "Addon of the 1.3D release (dependency DUKE13_CRC)." - name: "VACATION.GRP" @@ -287,7 +287,7 @@ files: size: 22551333 crc32: "2f4fccee" validation: [size, crc32] - source_ref: "wadsrc/static/engine/grpinfo.txt:18, 287-299" + source_ref: "wadsrc/static/engine/grpinfo.txt:18, 287-299, wadsrc/CMakeLists.txt:2, source/core/version.h:66, source/core/searchpaths.cpp:393-613, 621-660, 696-704, 830-875" note: "Addon of the Atomic Edition (dependency DUKE15_CRC)." - name: "VACATION.GRP" @@ -299,7 +299,7 @@ files: size: 22521880 crc32: "b62b42fd" validation: [size, crc32] - source_ref: "wadsrc/static/engine/grpinfo.txt:19, 301-313" + source_ref: "wadsrc/static/engine/grpinfo.txt:19, 301-313, wadsrc/CMakeLists.txt:2, source/core/version.h:66, source/core/searchpaths.cpp:393-613, 621-660, 696-704, 830-875" - name: "VACATION.GRP" description: "Duke Caribbean: Life's a Beach" @@ -310,7 +310,7 @@ files: size: 22213819 crc32: "18f01c5b" validation: [size, crc32] - source_ref: "wadsrc/static/engine/grpinfo.txt:20, 316-328" + source_ref: "wadsrc/static/engine/grpinfo.txt:20, 316-328, wadsrc/CMakeLists.txt:2, source/core/version.h:66, source/core/searchpaths.cpp:393-613, 621-660, 696-704, 830-875" - name: "VACATION.GRP" description: "Duke Caribbean: Life's a Beach" @@ -321,7 +321,7 @@ files: size: 22397273 crc32: "65b5f690" validation: [size, crc32] - source_ref: "wadsrc/static/engine/grpinfo.txt:330-343" + source_ref: "wadsrc/static/engine/grpinfo.txt:330-343, wadsrc/CMakeLists.txt:2, source/core/version.h:66, source/core/searchpaths.cpp:393-613, 621-660, 696-704, 830-875" - name: "VACATION.GRP" description: "Duke Caribbean: Life's a Beach" @@ -332,7 +332,7 @@ files: size: 22201375 crc32: "b28e883c" validation: [size, crc32] - source_ref: "wadsrc/static/engine/grpinfo.txt:345-358" + source_ref: "wadsrc/static/engine/grpinfo.txt:345-358, wadsrc/CMakeLists.txt:2, source/core/version.h:66, source/core/searchpaths.cpp:393-613, 621-660, 696-704, 830-875" - name: "VACATION.GRP" description: "Duke Caribbean: Life's a Beach" @@ -343,7 +343,7 @@ files: size: 22213795 crc32: "64cf2351" validation: [size, crc32] - source_ref: "wadsrc/static/engine/grpinfo.txt:360-373" + source_ref: "wadsrc/static/engine/grpinfo.txt:360-373, wadsrc/CMakeLists.txt:2, source/core/version.h:66, source/core/searchpaths.cpp:393-613, 621-660, 696-704, 830-875" - name: "NWINTER.GRP" description: "Duke: Nuclear Winter" @@ -354,7 +354,7 @@ files: size: 16169365 crc32: "f1cae8e4" validation: [size, crc32] - source_ref: "wadsrc/static/engine/grpinfo.txt:21, 375-388" + source_ref: "wadsrc/static/engine/grpinfo.txt:21, 375-388, wadsrc/CMakeLists.txt:2, source/core/version.h:66, source/core/searchpaths.cpp:393-613, 621-660, 696-704, 830-875" note: "Addon of the Atomic Edition (dependency DUKE15_CRC)." - name: "NWINTER.GRP" @@ -366,7 +366,7 @@ files: size: 10965909 crc32: "c7efbfa9" validation: [size, crc32] - source_ref: "wadsrc/static/engine/grpinfo.txt:390-402" + source_ref: "wadsrc/static/engine/grpinfo.txt:390-402, wadsrc/CMakeLists.txt:2, source/core/version.h:66, source/core/searchpaths.cpp:393-613, 621-660, 696-704, 830-875" note: "Addon of the Atomic Edition (dependency DUKE15_CRC)." - name: "penthous.zip" @@ -378,7 +378,7 @@ files: size: 2112419 crc32: "7cd82a3b" validation: [size, crc32] - source_ref: "wadsrc/static/engine/grpinfo.txt:459-470" + source_ref: "wadsrc/static/engine/grpinfo.txt:459-470, wadsrc/CMakeLists.txt:2, source/core/version.h:66, source/core/searchpaths.cpp:393-613, 621-660, 696-704, 830-875" note: "The original ZIP release, identified as a whole file. Addon of the Atomic Edition (dependency DUKE15_CRC)." # ================================================================ @@ -394,7 +394,7 @@ files: size: 8200353 crc32: "b291418f" validation: [size, crc32] - source_ref: "wadsrc/static/engine/grpinfo.txt:32, 485-499" + source_ref: "wadsrc/static/engine/grpinfo.txt:32, 485-499, wadsrc/CMakeLists.txt:2, source/core/version.h:66, source/core/searchpaths.cpp:393-613, 621-660, 696-704, 830-875" - name: "BLOOD.RFF" description: "BLOOD: 1.1" @@ -405,7 +405,7 @@ files: size: 8231173 crc32: "c3a99936" validation: [size, crc32] - source_ref: "wadsrc/static/engine/grpinfo.txt:33, 501-515" + source_ref: "wadsrc/static/engine/grpinfo.txt:33, 501-515, wadsrc/CMakeLists.txt:2, source/core/version.h:66, source/core/searchpaths.cpp:393-613, 621-660, 696-704, 830-875" - name: "BLOOD.RFF" description: "BLOOD: One Unit Whole Blood" @@ -416,7 +416,7 @@ files: size: 9570681 crc32: "a8fdda84" validation: [size, crc32] - source_ref: "wadsrc/static/engine/grpinfo.txt:34, 517-531" + source_ref: "wadsrc/static/engine/grpinfo.txt:34, 517-531, wadsrc/CMakeLists.txt:2, source/core/version.h:66, source/core/searchpaths.cpp:393-613, 621-660, 696-704, 830-875" - name: "BLOOD.RFF" description: "BLOOD: Unknown Version" @@ -432,7 +432,7 @@ files: system: blood path: "SOUNDS.RFF" required: false - source_ref: "wadsrc/static/engine/grpinfo.txt:494, 510, 526, 542" + source_ref: "wadsrc/static/engine/grpinfo.txt:494, 510, 526, 542, wadsrc/CMakeLists.txt:2, source/core/version.h:66, source/core/searchpaths.cpp:393-613, 621-660, 772-828, 696-704, 830-875" note: "Named by loadgrp in every Blood block and loaded with the main resource." - name: "GUI.RFF" @@ -440,7 +440,7 @@ files: system: blood path: "GUI.RFF" required: false - source_ref: "wadsrc/static/engine/grpinfo.txt:494, 510, 526, 542" + source_ref: "wadsrc/static/engine/grpinfo.txt:494, 510, 526, 542, wadsrc/CMakeLists.txt:2, source/core/version.h:66, source/core/searchpaths.cpp:393-613, 621-660, 772-828, 696-704, 830-875" note: "Named by loadgrp in every Blood block and loaded with the main resource." - name: "BLOOD.GRP" @@ -448,7 +448,7 @@ files: system: blood path: "BLOOD.GRP" required: false - source_ref: "wadsrc/static/engine/grpinfo.txt:494, 510, 526, 542" + source_ref: "wadsrc/static/engine/grpinfo.txt:494, 510, 526, 542, wadsrc/CMakeLists.txt:2, source/core/version.h:66, source/core/searchpaths.cpp:393-613, 621-660, 772-828, 696-704, 830-875" note: "Named by loadgrp in every Blood block and loaded with the main resource." - name: "SURFACE.DAT" @@ -496,7 +496,7 @@ files: size: 47536148 crc32: "7545319f" validation: [size, crc32] - source_ref: "wadsrc/static/engine/grpinfo.txt:36, 614-625" + source_ref: "wadsrc/static/engine/grpinfo.txt:36, 614-625, wadsrc/CMakeLists.txt:2, source/core/version.h:66, source/core/searchpaths.cpp:393-613, 621-660, 696-704, 830-875" - name: "SW.GRP" description: "Shadow Warrior (Europe)" @@ -507,7 +507,7 @@ files: size: 47536148 crc32: "d4a1e153" validation: [size, crc32] - source_ref: "wadsrc/static/engine/grpinfo.txt:627-638" + source_ref: "wadsrc/static/engine/grpinfo.txt:627-638, wadsrc/CMakeLists.txt:2, source/core/version.h:66, source/core/searchpaths.cpp:393-613, 621-660, 696-704, 830-875" - name: "SW.GRP" description: "Shadow Warrior (UK)" @@ -518,7 +518,7 @@ files: size: 47536148 crc32: "3ee68767" validation: [size, crc32] - source_ref: "wadsrc/static/engine/grpinfo.txt:640-651" + source_ref: "wadsrc/static/engine/grpinfo.txt:640-651, wadsrc/CMakeLists.txt:2, source/core/version.h:66, source/core/searchpaths.cpp:393-613, 621-660, 696-704, 830-875" - name: "SW.GRP" description: "Shadow Warrior (Censored)" @@ -529,7 +529,7 @@ files: size: 47537951 crc32: "1a8776d2" validation: [size, crc32] - source_ref: "wadsrc/static/engine/grpinfo.txt:653-664" + source_ref: "wadsrc/static/engine/grpinfo.txt:653-664, wadsrc/CMakeLists.txt:2, source/core/version.h:66, source/core/searchpaths.cpp:393-613, 621-660, 696-704, 830-875" - name: "SW.GRP" description: "Shadow Warrior Shareware 1.0" @@ -540,7 +540,7 @@ files: size: 25702245 crc32: "daa6bece" validation: [size, crc32] - source_ref: "wadsrc/static/engine/grpinfo.txt:666-676" + source_ref: "wadsrc/static/engine/grpinfo.txt:666-676, wadsrc/CMakeLists.txt:2, source/core/version.h:66, source/core/searchpaths.cpp:393-613, 621-660, 696-704, 830-875" - name: "SW.GRP" description: "Shadow Warrior Shareware 1.1" @@ -551,7 +551,7 @@ files: size: 25833456 crc32: "f21a6b35" validation: [size, crc32] - source_ref: "wadsrc/static/engine/grpinfo.txt:678-688" + source_ref: "wadsrc/static/engine/grpinfo.txt:678-688, wadsrc/CMakeLists.txt:2, source/core/version.h:66, source/core/searchpaths.cpp:393-613, 621-660, 696-704, 830-875" - name: "SW.GRP" description: "Shadow Warrior Shareware 1.2" @@ -562,7 +562,7 @@ files: size: 26056769 crc32: "08a7fa1f" validation: [size, crc32] - source_ref: "wadsrc/static/engine/grpinfo.txt:690-700" + source_ref: "wadsrc/static/engine/grpinfo.txt:690-700, wadsrc/CMakeLists.txt:2, source/core/version.h:66, source/core/searchpaths.cpp:393-613, 621-660, 696-704, 830-875" - name: "WT.GRP" description: "Shadow Warrior: Wanton Destruction" @@ -573,7 +573,7 @@ files: size: 48698128 crc32: "a9aaa7b7" validation: [size, crc32] - source_ref: "wadsrc/static/engine/grpinfo.txt:37, 714-724" + source_ref: "wadsrc/static/engine/grpinfo.txt:37, 714-724, wadsrc/CMakeLists.txt:2, source/core/version.h:66, source/core/searchpaths.cpp:393-613, 621-660, 696-704, 830-875" note: "Addon of the registered game (dependency SWREG12_CRC)." - name: "WT.GRP" @@ -585,7 +585,7 @@ files: size: 48698128 crc32: "8b6e8011" validation: [size, crc32] - source_ref: "wadsrc/static/engine/grpinfo.txt:726-736" + source_ref: "wadsrc/static/engine/grpinfo.txt:726-736, wadsrc/CMakeLists.txt:2, source/core/version.h:66, source/core/searchpaths.cpp:393-613, 621-660, 696-704, 830-875" - name: "TD.GRP" description: "Shadow Warrior: Twin Dragon" @@ -596,7 +596,7 @@ files: size: 12499012 crc32: "a1a65be8" validation: [size, crc32] - source_ref: "wadsrc/static/engine/grpinfo.txt:38, 751-762" + source_ref: "wadsrc/static/engine/grpinfo.txt:38, 751-762, wadsrc/CMakeLists.txt:2, source/core/version.h:66, source/core/searchpaths.cpp:393-613, 621-660, 696-704, 830-875" note: "Addon of the registered game (dependency SWREG12_CRC)." - name: "TD.GRP" @@ -608,7 +608,7 @@ files: size: 6236287 crc32: "b5b71277" validation: [size, crc32] - source_ref: "wadsrc/static/engine/grpinfo.txt:764-774" + source_ref: "wadsrc/static/engine/grpinfo.txt:764-774, wadsrc/CMakeLists.txt:2, source/core/version.h:66, source/core/searchpaths.cpp:393-613, 621-660, 696-704, 830-875" - name: "TD.GRP" description: "Shadow Warrior: Twin Dragon" @@ -619,7 +619,7 @@ files: size: 6235578 crc32: "acc8dcde" validation: [size, crc32] - source_ref: "wadsrc/static/engine/grpinfo.txt:776-786" + source_ref: "wadsrc/static/engine/grpinfo.txt:776-786, wadsrc/CMakeLists.txt:2, source/core/version.h:66, source/core/searchpaths.cpp:393-613, 621-660, 696-704, 830-875" - name: "TDRAGON.EXE" description: "Shadow Warrior: Twin Dragon, loose files" @@ -652,7 +652,7 @@ files: size: 27020745 crc32: "303cbd89" validation: [size, crc32] - source_ref: "wadsrc/static/engine/grpinfo.txt:40, wadsrc/static/engine/grpinfo.txt:927-938" + source_ref: "wadsrc/static/engine/grpinfo.txt:40, wadsrc/static/engine/grpinfo.txt:927-938, wadsrc/CMakeLists.txt:2, source/core/version.h:66, source/core/searchpaths.cpp:393-613, 621-660, 696-704, 830-875" - name: "STUFF.DAT" description: "Exhumed" @@ -663,7 +663,7 @@ files: size: 27108170 crc32: "e3b172f1" validation: [size, crc32] - source_ref: "wadsrc/static/engine/grpinfo.txt:41, wadsrc/static/engine/grpinfo.txt:940-951" + source_ref: "wadsrc/static/engine/grpinfo.txt:41, wadsrc/static/engine/grpinfo.txt:940-951, wadsrc/CMakeLists.txt:2, source/core/version.h:66, source/core/searchpaths.cpp:393-613, 621-660, 696-704, 830-875" - name: "STUFF.DAT" description: "Powerslave Demo" @@ -674,7 +674,7 @@ files: size: 27020745 crc32: "1d8c7645" validation: [size, crc32] - source_ref: "wadsrc/static/engine/grpinfo.txt:42, wadsrc/static/engine/grpinfo.txt:953-963" + source_ref: "wadsrc/static/engine/grpinfo.txt:42, wadsrc/static/engine/grpinfo.txt:953-963, wadsrc/CMakeLists.txt:2, source/core/version.h:66, source/core/searchpaths.cpp:393-613, 621-660, 696-704, 830-875" # ================================================================ # Redneck Rampage @@ -689,7 +689,7 @@ files: size: 141174222 crc32: "19d9bc79" validation: [size, crc32] - source_ref: "wadsrc/static/engine/grpinfo.txt:28, wadsrc/static/engine/grpinfo.txt:814-827" + source_ref: "wadsrc/static/engine/grpinfo.txt:28, wadsrc/static/engine/grpinfo.txt:814-827, wadsrc/CMakeLists.txt:2, source/core/version.h:66, source/core/searchpaths.cpp:393-613, 621-660, 696-704, 830-875" - name: "REDNECK.GRP" description: "Redneck Rampage Rides Again" @@ -700,7 +700,7 @@ files: size: 191798609 crc32: "958018c6" validation: [size, crc32] - source_ref: "wadsrc/static/engine/grpinfo.txt:29, wadsrc/static/engine/grpinfo.txt:829-842" + source_ref: "wadsrc/static/engine/grpinfo.txt:29, wadsrc/static/engine/grpinfo.txt:829-842, wadsrc/CMakeLists.txt:2, source/core/version.h:66, source/core/searchpaths.cpp:393-613, 621-660, 696-704, 830-875" - name: "GAME66.CON" description: "Redneck Rampage: Suckin' Grits on Route 66" @@ -724,7 +724,7 @@ files: size: 43448927 crc32: "75c1f07b" validation: [size, crc32] - source_ref: "wadsrc/static/engine/grpinfo.txt:24, wadsrc/static/engine/grpinfo.txt:872-884" + source_ref: "wadsrc/static/engine/grpinfo.txt:24, wadsrc/static/engine/grpinfo.txt:872-884, wadsrc/CMakeLists.txt:2, source/core/version.h:66, source/core/searchpaths.cpp:393-613, 621-660, 696-704, 830-875" - name: "NAPALM.GRP" description: "NAPALM" @@ -735,7 +735,7 @@ files: size: 44365728 crc32: "3de1589a" validation: [size, crc32] - source_ref: "wadsrc/static/engine/grpinfo.txt:25, wadsrc/static/engine/grpinfo.txt:886-898" + source_ref: "wadsrc/static/engine/grpinfo.txt:25, wadsrc/static/engine/grpinfo.txt:886-898, wadsrc/CMakeLists.txt:2, source/core/version.h:66, source/core/searchpaths.cpp:393-613, 621-660, 696-704, 830-875" - name: "WW2GI.GRP" description: "WWII GI" @@ -746,4 +746,4 @@ files: size: 77939508 crc32: "907b82bf" validation: [size, crc32] - source_ref: "wadsrc/static/engine/grpinfo.txt:26, wadsrc/static/engine/grpinfo.txt:900-912" + source_ref: "wadsrc/static/engine/grpinfo.txt:26, wadsrc/static/engine/grpinfo.txt:900-912, wadsrc/CMakeLists.txt:2, source/core/version.h:66, source/core/searchpaths.cpp:393-613, 621-660, 696-704, 830-875" From a9435694450e02bac5c357464af2b0e0ced33716 Mon Sep 17 00:00:00 2001 From: Abdessamad Derraz <3028866+Abdess@users.noreply.github.com> Date: Tue, 10 Nov 2026 13:24:01 +0100 Subject: [PATCH 03/22] docs: cite the gameflow reader in TR1X and TR2X Level, FMV and sound entries named only their gameflow.json5 line. They now cite the release packaging that ships data/trx/ship, the startup load of the mod's gameflow, the reader of the path or sfx_path key, the path patterns it resolves against, and the open of the level file. --- emulators/tr1x.yml | 64 +++++++++++++++++++------------------- emulators/tr2x.yml | 76 +++++++++++++++++++++++----------------------- 2 files changed, 70 insertions(+), 70 deletions(-) diff --git a/emulators/tr1x.yml b/emulators/tr1x.yml index 3cf5e8829..fcd3d7726 100644 --- a/emulators/tr1x.yml +++ b/emulators/tr1x.yml @@ -54,19 +54,19 @@ files: unsourceable: "retail data the collection does not hold, and a same-named file of another game must not stand in" required: true category: game_data - source_ref: "data/trx/ship/games/tr1/gameflow.json5:39" + source_ref: "data/trx/ship/games/tr1/gameflow.json5:39, tools/shared/docker/game_entrypoint.py:50-53, 196-206, src/trx/game/shell/flow.c:383-385, src/trx/game/shell/mod.c:540-543, src/trx/game/paths.c:104-110, src/trx/game/game_flow/reader.c:1214-1217, 900-910, src/trx/game/paths.c:123-131, src/trx/game/level/format/pipeline.c:96" - name: "gym.phd" path: "games/tr1/levels/gym.phd" required: true category: game_data - source_ref: "data/trx/ship/games/tr1/gameflow.json5:61" + source_ref: "data/trx/ship/games/tr1/gameflow.json5:61, tools/shared/docker/game_entrypoint.py:50-53, 196-206, src/trx/game/shell/flow.c:383-385, src/trx/game/shell/mod.c:540-543, src/trx/game/paths.c:104-110, src/trx/game/game_flow/reader.c:1214-1217, 900-910, src/trx/game/paths.c:123-131, src/trx/game/level/format/pipeline.c:96" - name: "level1.phd" path: "games/tr1/levels/level1.phd" required: true category: game_data - source_ref: "data/trx/ship/games/tr1/gameflow.json5:99" + source_ref: "data/trx/ship/games/tr1/gameflow.json5:99, tools/shared/docker/game_entrypoint.py:50-53, 196-206, src/trx/game/shell/flow.c:383-385, src/trx/game/shell/mod.c:540-543, src/trx/game/paths.c:104-110, src/trx/game/game_flow/reader.c:1214-1217, 900-910, src/trx/game/paths.c:111-121, src/trx/game/level/format/pipeline.c:96" note: "Caves" - name: "level2.phd" @@ -74,126 +74,126 @@ files: unsourceable: "retail data the collection does not hold, and a same-named file of another game must not stand in" required: true category: game_data - source_ref: "data/trx/ship/games/tr1/gameflow.json5:120" + source_ref: "data/trx/ship/games/tr1/gameflow.json5:120, tools/shared/docker/game_entrypoint.py:50-53, 196-206, src/trx/game/shell/flow.c:383-385, src/trx/game/shell/mod.c:540-543, src/trx/game/paths.c:104-110, src/trx/game/game_flow/reader.c:1214-1217, 900-910, src/trx/game/paths.c:111-121, src/trx/game/level/format/pipeline.c:96" note: "City of Vilcabamba" - name: "level3a.phd" path: "games/tr1/levels/level3a.phd" required: true category: game_data - source_ref: "data/trx/ship/games/tr1/gameflow.json5:139" + source_ref: "data/trx/ship/games/tr1/gameflow.json5:139, tools/shared/docker/game_entrypoint.py:50-53, 196-206, src/trx/game/shell/flow.c:383-385, src/trx/game/shell/mod.c:540-543, src/trx/game/paths.c:104-110, src/trx/game/game_flow/reader.c:1214-1217, 900-910, src/trx/game/paths.c:111-121, src/trx/game/level/format/pipeline.c:96" note: "Lost Valley" - name: "level3b.phd" path: "games/tr1/levels/level3b.phd" required: true category: game_data - source_ref: "data/trx/ship/games/tr1/gameflow.json5:159" + source_ref: "data/trx/ship/games/tr1/gameflow.json5:159, tools/shared/docker/game_entrypoint.py:50-53, 196-206, src/trx/game/shell/flow.c:383-385, src/trx/game/shell/mod.c:540-543, src/trx/game/paths.c:104-110, src/trx/game/game_flow/reader.c:1214-1217, 900-910, src/trx/game/paths.c:111-121, src/trx/game/level/format/pipeline.c:96" note: "Tomb of Qualopec" - name: "level4.phd" path: "games/tr1/levels/level4.phd" required: true category: game_data - source_ref: "data/trx/ship/games/tr1/gameflow.json5:180" + source_ref: "data/trx/ship/games/tr1/gameflow.json5:180, tools/shared/docker/game_entrypoint.py:50-53, 196-206, src/trx/game/shell/flow.c:383-385, src/trx/game/shell/mod.c:540-543, src/trx/game/paths.c:104-110, src/trx/game/game_flow/reader.c:1214-1217, 900-910, src/trx/game/paths.c:111-121, src/trx/game/level/format/pipeline.c:96" note: "St. Francis' Folly" - name: "level5.phd" path: "games/tr1/levels/level5.phd" required: true category: game_data - source_ref: "data/trx/ship/games/tr1/gameflow.json5:202" + source_ref: "data/trx/ship/games/tr1/gameflow.json5:202, tools/shared/docker/game_entrypoint.py:50-53, 196-206, src/trx/game/shell/flow.c:383-385, src/trx/game/shell/mod.c:540-543, src/trx/game/paths.c:104-110, src/trx/game/game_flow/reader.c:1214-1217, 900-910, src/trx/game/paths.c:111-121, src/trx/game/level/format/pipeline.c:96" note: "Colosseum" - name: "level6.phd" path: "games/tr1/levels/level6.phd" required: true category: game_data - source_ref: "data/trx/ship/games/tr1/gameflow.json5:223" + source_ref: "data/trx/ship/games/tr1/gameflow.json5:223, tools/shared/docker/game_entrypoint.py:50-53, 196-206, src/trx/game/shell/flow.c:383-385, src/trx/game/shell/mod.c:540-543, src/trx/game/paths.c:104-110, src/trx/game/game_flow/reader.c:1214-1217, 900-910, src/trx/game/paths.c:111-121, src/trx/game/level/format/pipeline.c:96" note: "Palace Midas" - name: "level7a.phd" path: "games/tr1/levels/level7a.phd" required: true category: game_data - source_ref: "data/trx/ship/games/tr1/gameflow.json5:242" + source_ref: "data/trx/ship/games/tr1/gameflow.json5:242, tools/shared/docker/game_entrypoint.py:50-53, 196-206, src/trx/game/shell/flow.c:383-385, src/trx/game/shell/mod.c:540-543, src/trx/game/paths.c:104-110, src/trx/game/game_flow/reader.c:1214-1217, 900-910, src/trx/game/paths.c:111-121, src/trx/game/level/format/pipeline.c:96" note: "The Cistern" - name: "level7b.phd" path: "games/tr1/levels/level7b.phd" required: true category: game_data - source_ref: "data/trx/ship/games/tr1/gameflow.json5:263" + source_ref: "data/trx/ship/games/tr1/gameflow.json5:263, tools/shared/docker/game_entrypoint.py:50-53, 196-206, src/trx/game/shell/flow.c:383-385, src/trx/game/shell/mod.c:540-543, src/trx/game/paths.c:104-110, src/trx/game/game_flow/reader.c:1214-1217, 900-910, src/trx/game/paths.c:111-121, src/trx/game/level/format/pipeline.c:96" note: "Tomb of Tihocan" - name: "level8a.phd" path: "games/tr1/levels/level8a.phd" required: true category: game_data - source_ref: "data/trx/ship/games/tr1/gameflow.json5:290" + source_ref: "data/trx/ship/games/tr1/gameflow.json5:290, tools/shared/docker/game_entrypoint.py:50-53, 196-206, src/trx/game/shell/flow.c:383-385, src/trx/game/shell/mod.c:540-543, src/trx/game/paths.c:104-110, src/trx/game/game_flow/reader.c:1214-1217, 900-910, src/trx/game/paths.c:111-121, src/trx/game/level/format/pipeline.c:96" note: "City of Khamoon" - name: "level8b.phd" path: "games/tr1/levels/level8b.phd" required: true category: game_data - source_ref: "data/trx/ship/games/tr1/gameflow.json5:313" + source_ref: "data/trx/ship/games/tr1/gameflow.json5:313, tools/shared/docker/game_entrypoint.py:50-53, 196-206, src/trx/game/shell/flow.c:383-385, src/trx/game/shell/mod.c:540-543, src/trx/game/paths.c:104-110, src/trx/game/game_flow/reader.c:1214-1217, 900-910, src/trx/game/paths.c:111-121, src/trx/game/level/format/pipeline.c:96" note: "Obelisk of Khamoon" - name: "level8c.phd" path: "games/tr1/levels/level8c.phd" required: true category: game_data - source_ref: "data/trx/ship/games/tr1/gameflow.json5:335" + source_ref: "data/trx/ship/games/tr1/gameflow.json5:335, tools/shared/docker/game_entrypoint.py:50-53, 196-206, src/trx/game/shell/flow.c:383-385, src/trx/game/shell/mod.c:540-543, src/trx/game/paths.c:104-110, src/trx/game/game_flow/reader.c:1214-1217, 900-910, src/trx/game/paths.c:111-121, src/trx/game/level/format/pipeline.c:96" note: "Sanctuary of the Scion" - name: "level10a.phd" path: "games/tr1/levels/level10a.phd" required: true category: game_data - source_ref: "data/trx/ship/games/tr1/gameflow.json5:358" + source_ref: "data/trx/ship/games/tr1/gameflow.json5:358, tools/shared/docker/game_entrypoint.py:50-53, 196-206, src/trx/game/shell/flow.c:383-385, src/trx/game/shell/mod.c:540-543, src/trx/game/paths.c:104-110, src/trx/game/game_flow/reader.c:1214-1217, 900-910, src/trx/game/paths.c:111-121, src/trx/game/level/format/pipeline.c:96" note: "Natla's Mines" - name: "level10b.phd" path: "games/tr1/levels/level10b.phd" required: true category: game_data - source_ref: "data/trx/ship/games/tr1/gameflow.json5:392" + source_ref: "data/trx/ship/games/tr1/gameflow.json5:392, tools/shared/docker/game_entrypoint.py:50-53, 196-206, src/trx/game/shell/flow.c:383-385, src/trx/game/shell/mod.c:540-543, src/trx/game/paths.c:104-110, src/trx/game/game_flow/reader.c:1214-1217, 900-910, src/trx/game/paths.c:111-121, src/trx/game/level/format/pipeline.c:96" note: "Atlantis" - name: "level10c.phd" path: "games/tr1/levels/level10c.phd" required: true category: game_data - source_ref: "data/trx/ship/games/tr1/gameflow.json5:418" + source_ref: "data/trx/ship/games/tr1/gameflow.json5:418, tools/shared/docker/game_entrypoint.py:50-53, 196-206, src/trx/game/shell/flow.c:383-385, src/trx/game/shell/mod.c:540-543, src/trx/game/paths.c:104-110, src/trx/game/game_flow/reader.c:1214-1217, 900-910, src/trx/game/paths.c:111-121, src/trx/game/level/format/pipeline.c:96" note: "The Great Pyramid" - name: "cut1.phd" path: "games/tr1/levels/cut1.phd" required: true category: game_data - source_ref: "data/trx/ship/games/tr1/gameflow.json5:508" + source_ref: "data/trx/ship/games/tr1/gameflow.json5:508, tools/shared/docker/game_entrypoint.py:50-53, 196-206, src/trx/game/shell/flow.c:383-385, src/trx/game/shell/mod.c:540-543, src/trx/game/paths.c:104-110, src/trx/game/game_flow/reader.c:1214-1217, 900-910, src/trx/game/paths.c:111-121, src/trx/game/level/format/pipeline.c:96" note: "Cutscene level 1 (after Qualopec)" - name: "cut2.phd" path: "games/tr1/levels/cut2.phd" required: true category: game_data - source_ref: "data/trx/ship/games/tr1/gameflow.json5:531" + source_ref: "data/trx/ship/games/tr1/gameflow.json5:531, tools/shared/docker/game_entrypoint.py:50-53, 196-206, src/trx/game/shell/flow.c:383-385, src/trx/game/shell/mod.c:540-543, src/trx/game/paths.c:104-110, src/trx/game/game_flow/reader.c:1214-1217, 900-910, src/trx/game/paths.c:111-121, src/trx/game/level/format/pipeline.c:96" note: "Cutscene level 2 (after Tihocan)" - name: "cut3.phd" path: "games/tr1/levels/cut3.phd" required: true category: game_data - source_ref: "data/trx/ship/games/tr1/gameflow.json5:552" + source_ref: "data/trx/ship/games/tr1/gameflow.json5:552, tools/shared/docker/game_entrypoint.py:50-53, 196-206, src/trx/game/shell/flow.c:383-385, src/trx/game/shell/mod.c:540-543, src/trx/game/paths.c:104-110, src/trx/game/game_flow/reader.c:1214-1217, 900-910, src/trx/game/paths.c:111-121, src/trx/game/level/format/pipeline.c:96" note: "Cutscene level 3 (Khamoon ambush)" - name: "cut4.phd" path: "games/tr1/levels/cut4.phd" required: true category: game_data - source_ref: "data/trx/ship/games/tr1/gameflow.json5:575" + source_ref: "data/trx/ship/games/tr1/gameflow.json5:575, tools/shared/docker/game_entrypoint.py:50-53, 196-206, src/trx/game/shell/flow.c:383-385, src/trx/game/shell/mod.c:540-543, src/trx/game/paths.c:104-110, src/trx/game/game_flow/reader.c:1214-1217, 900-910, src/trx/game/paths.c:111-121, src/trx/game/level/format/pipeline.c:96" note: "Cutscene level 4 (Natla's mines)" # FMV cutscenes @@ -205,7 +205,7 @@ files: path: "games/tr1/fmv/core.rpl" required: false category: game_data - source_ref: "data/trx/ship/games/tr1/gameflow.json5:601" + source_ref: "data/trx/ship/games/tr1/gameflow.json5:601, tools/shared/docker/game_entrypoint.py:50-53, 196-206, src/trx/game/shell/flow.c:383-385, src/trx/game/shell/mod.c:540-543, src/trx/game/paths.c:104-110, src/trx/game/game_flow/reader.c:1214-1217, 1100-1130, src/trx/game/paths.c:192-202" note: "Core Design legal screen." - name: "escape.avi" @@ -213,7 +213,7 @@ files: path: "games/tr1/fmv/escape.rpl" required: false category: game_data - source_ref: "data/trx/ship/games/tr1/gameflow.json5:602" + source_ref: "data/trx/ship/games/tr1/gameflow.json5:602, tools/shared/docker/game_entrypoint.py:50-53, 196-206, src/trx/game/shell/flow.c:383-385, src/trx/game/shell/mod.c:540-543, src/trx/game/paths.c:104-110, src/trx/game/game_flow/reader.c:1214-1217, 1100-1130, src/trx/game/paths.c:192-202" note: "Eidos legal screen." - name: "cafe.avi" @@ -221,7 +221,7 @@ files: path: "games/tr1/fmv/cafe.rpl" required: false category: game_data - source_ref: "data/trx/ship/games/tr1/gameflow.json5:603" + source_ref: "data/trx/ship/games/tr1/gameflow.json5:603, tools/shared/docker/game_entrypoint.py:50-53, 196-206, src/trx/game/shell/flow.c:383-385, src/trx/game/shell/mod.c:540-543, src/trx/game/paths.c:104-110, src/trx/game/game_flow/reader.c:1214-1217, 1100-1130, src/trx/game/paths.c:192-202" note: "Intro cutscene." - name: "mansion.avi" @@ -229,56 +229,56 @@ files: path: "games/tr1/fmv/mansion.rpl" required: false category: game_data - source_ref: "data/trx/ship/games/tr1/gameflow.json5:604" + source_ref: "data/trx/ship/games/tr1/gameflow.json5:604, tools/shared/docker/game_entrypoint.py:50-53, 196-206, src/trx/game/shell/flow.c:383-385, src/trx/game/shell/mod.c:540-543, src/trx/game/paths.c:104-110, src/trx/game/game_flow/reader.c:1214-1217, 1100-1130, src/trx/game/paths.c:192-202" - name: "snow.avi" aliases: [snow.rpl] path: "games/tr1/fmv/snow.rpl" required: false category: game_data - source_ref: "data/trx/ship/games/tr1/gameflow.json5:605" + source_ref: "data/trx/ship/games/tr1/gameflow.json5:605, tools/shared/docker/game_entrypoint.py:50-53, 196-206, src/trx/game/shell/flow.c:383-385, src/trx/game/shell/mod.c:540-543, src/trx/game/paths.c:104-110, src/trx/game/game_flow/reader.c:1214-1217, 1100-1130, src/trx/game/paths.c:192-202" - name: "lift.avi" aliases: [lift.rpl] path: "games/tr1/fmv/lift.rpl" required: false category: game_data - source_ref: "data/trx/ship/games/tr1/gameflow.json5:606" + source_ref: "data/trx/ship/games/tr1/gameflow.json5:606, tools/shared/docker/game_entrypoint.py:50-53, 196-206, src/trx/game/shell/flow.c:383-385, src/trx/game/shell/mod.c:540-543, src/trx/game/paths.c:104-110, src/trx/game/game_flow/reader.c:1214-1217, 1100-1130, src/trx/game/paths.c:192-202" - name: "vision.avi" aliases: [vision.rpl] path: "games/tr1/fmv/vision.rpl" required: false category: game_data - source_ref: "data/trx/ship/games/tr1/gameflow.json5:607" + source_ref: "data/trx/ship/games/tr1/gameflow.json5:607, tools/shared/docker/game_entrypoint.py:50-53, 196-206, src/trx/game/shell/flow.c:383-385, src/trx/game/shell/mod.c:540-543, src/trx/game/paths.c:104-110, src/trx/game/game_flow/reader.c:1214-1217, 1100-1130, src/trx/game/paths.c:192-202" - name: "canyon.avi" aliases: [canyon.rpl] path: "games/tr1/fmv/canyon.rpl" required: false category: game_data - source_ref: "data/trx/ship/games/tr1/gameflow.json5:608" + source_ref: "data/trx/ship/games/tr1/gameflow.json5:608, tools/shared/docker/game_entrypoint.py:50-53, 196-206, src/trx/game/shell/flow.c:383-385, src/trx/game/shell/mod.c:540-543, src/trx/game/paths.c:104-110, src/trx/game/game_flow/reader.c:1214-1217, 1100-1130, src/trx/game/paths.c:192-202" - name: "pyramid.avi" aliases: [pyramid.rpl] path: "games/tr1/fmv/pyramid.rpl" required: false category: game_data - source_ref: "data/trx/ship/games/tr1/gameflow.json5:609" + source_ref: "data/trx/ship/games/tr1/gameflow.json5:609, tools/shared/docker/game_entrypoint.py:50-53, 196-206, src/trx/game/shell/flow.c:383-385, src/trx/game/shell/mod.c:540-543, src/trx/game/paths.c:104-110, src/trx/game/game_flow/reader.c:1214-1217, 1100-1130, src/trx/game/paths.c:192-202" - name: "prison.avi" aliases: [prison.rpl] path: "games/tr1/fmv/prison.rpl" required: false category: game_data - source_ref: "data/trx/ship/games/tr1/gameflow.json5:610" + source_ref: "data/trx/ship/games/tr1/gameflow.json5:610, tools/shared/docker/game_entrypoint.py:50-53, 196-206, src/trx/game/shell/flow.c:383-385, src/trx/game/shell/mod.c:540-543, src/trx/game/paths.c:104-110, src/trx/game/game_flow/reader.c:1214-1217, 1100-1130, src/trx/game/paths.c:192-202" - name: "end.avi" aliases: [end.rpl] path: "games/tr1/fmv/end.rpl" required: false category: game_data - source_ref: "data/trx/ship/games/tr1/gameflow.json5:611" + source_ref: "data/trx/ship/games/tr1/gameflow.json5:611, tools/shared/docker/game_entrypoint.py:50-53, 196-206, src/trx/game/shell/flow.c:383-385, src/trx/game/shell/mod.c:540-543, src/trx/game/paths.c:104-110, src/trx/game/game_flow/reader.c:1214-1217, 1100-1130, src/trx/game/paths.c:192-202" # Music tracks (retail CD audio, ripped as trackNN.). # Enumerated by the ship tree in docs/trx/INSTALLING.md. diff --git a/emulators/tr2x.yml b/emulators/tr2x.yml index ee7d7fedf..8d6d5c68e 100644 --- a/emulators/tr2x.yml +++ b/emulators/tr2x.yml @@ -55,7 +55,7 @@ files: unsourceable: "retail data the collection does not hold, and a same-named file of another game must not stand in" required: true category: game_data - source_ref: "data/trx/ship/games/tr2/gameflow.json5:35" + source_ref: "data/trx/ship/games/tr2/gameflow.json5:35, tools/shared/docker/game_entrypoint.py:50-53, 196-206, src/trx/game/shell/flow.c:383-385, src/trx/game/shell/mod.c:540-543, src/trx/game/paths.c:104-110, src/trx/game/game_flow/reader.c:1214-1217, 264-273, src/trx/game/paths.c:203-212, src/trx/game/level/pipeline.c:179" note: "Shared sample bank, loaded for every level." # Levels @@ -65,167 +65,167 @@ files: unsourceable: "retail data the collection does not hold, and a same-named file of another game must not stand in" required: true category: game_data - source_ref: "data/trx/ship/games/tr2/gameflow.json5:15" + source_ref: "data/trx/ship/games/tr2/gameflow.json5:15, tools/shared/docker/game_entrypoint.py:50-53, 196-206, src/trx/game/shell/flow.c:383-385, src/trx/game/shell/mod.c:540-543, src/trx/game/paths.c:104-110, src/trx/game/game_flow/reader.c:1214-1217, 900-910, src/trx/game/paths.c:123-131, src/trx/game/level/format/pipeline.c:96" - name: "assault.tr2" path: "games/tr2/levels/assault.tr2" required: true category: game_data - source_ref: "data/trx/ship/games/tr2/gameflow.json5:57" + source_ref: "data/trx/ship/games/tr2/gameflow.json5:57, tools/shared/docker/game_entrypoint.py:50-53, 196-206, src/trx/game/shell/flow.c:383-385, src/trx/game/shell/mod.c:540-543, src/trx/game/paths.c:104-110, src/trx/game/game_flow/reader.c:1214-1217, 900-910, src/trx/game/paths.c:123-131, src/trx/game/level/format/pipeline.c:96" note: "Lara's Home / assault course." - name: "wall.tr2" path: "games/tr2/levels/wall.tr2" required: true category: game_data - source_ref: "data/trx/ship/games/tr2/gameflow.json5:89" + source_ref: "data/trx/ship/games/tr2/gameflow.json5:89, tools/shared/docker/game_entrypoint.py:50-53, 196-206, src/trx/game/shell/flow.c:383-385, src/trx/game/shell/mod.c:540-543, src/trx/game/paths.c:104-110, src/trx/game/game_flow/reader.c:1214-1217, 900-910, src/trx/game/paths.c:111-121, src/trx/game/level/format/pipeline.c:96" note: "The Great Wall" - name: "boat.tr2" path: "games/tr2/levels/boat.tr2" required: true category: game_data - source_ref: "data/trx/ship/games/tr2/gameflow.json5:125" + source_ref: "data/trx/ship/games/tr2/gameflow.json5:125, tools/shared/docker/game_entrypoint.py:50-53, 196-206, src/trx/game/shell/flow.c:383-385, src/trx/game/shell/mod.c:540-543, src/trx/game/paths.c:104-110, src/trx/game/game_flow/reader.c:1214-1217, 900-910, src/trx/game/paths.c:111-121, src/trx/game/level/format/pipeline.c:96" note: "Venice" - name: "venice.tr2" path: "games/tr2/levels/venice.tr2" required: true category: game_data - source_ref: "data/trx/ship/games/tr2/gameflow.json5:151" + source_ref: "data/trx/ship/games/tr2/gameflow.json5:151, tools/shared/docker/game_entrypoint.py:50-53, 196-206, src/trx/game/shell/flow.c:383-385, src/trx/game/shell/mod.c:540-543, src/trx/game/paths.c:104-110, src/trx/game/game_flow/reader.c:1214-1217, 900-910, src/trx/game/paths.c:111-121, src/trx/game/level/format/pipeline.c:96" note: "Bartoli's Hideout" - name: "opera.tr2" path: "games/tr2/levels/opera.tr2" required: true category: game_data - source_ref: "data/trx/ship/games/tr2/gameflow.json5:179" + source_ref: "data/trx/ship/games/tr2/gameflow.json5:179, tools/shared/docker/game_entrypoint.py:50-53, 196-206, src/trx/game/shell/flow.c:383-385, src/trx/game/shell/mod.c:540-543, src/trx/game/paths.c:104-110, src/trx/game/game_flow/reader.c:1214-1217, 900-910, src/trx/game/paths.c:111-121, src/trx/game/level/format/pipeline.c:96" note: "Opera House" - name: "rig.tr2" path: "games/tr2/levels/rig.tr2" required: true category: game_data - source_ref: "data/trx/ship/games/tr2/gameflow.json5:211" + source_ref: "data/trx/ship/games/tr2/gameflow.json5:211, tools/shared/docker/game_entrypoint.py:50-53, 196-206, src/trx/game/shell/flow.c:383-385, src/trx/game/shell/mod.c:540-543, src/trx/game/paths.c:104-110, src/trx/game/game_flow/reader.c:1214-1217, 900-910, src/trx/game/paths.c:111-121, src/trx/game/level/format/pipeline.c:96" note: "Offshore Rig" - name: "platform.tr2" path: "games/tr2/levels/platform.tr2" required: true category: game_data - source_ref: "data/trx/ship/games/tr2/gameflow.json5:241" + source_ref: "data/trx/ship/games/tr2/gameflow.json5:241, tools/shared/docker/game_entrypoint.py:50-53, 196-206, src/trx/game/shell/flow.c:383-385, src/trx/game/shell/mod.c:540-543, src/trx/game/paths.c:104-110, src/trx/game/game_flow/reader.c:1214-1217, 900-910, src/trx/game/paths.c:111-121, src/trx/game/level/format/pipeline.c:96" note: "Diving Area" - name: "unwater.tr2" path: "games/tr2/levels/unwater.tr2" required: true category: game_data - source_ref: "data/trx/ship/games/tr2/gameflow.json5:271" + source_ref: "data/trx/ship/games/tr2/gameflow.json5:271, tools/shared/docker/game_entrypoint.py:50-53, 196-206, src/trx/game/shell/flow.c:383-385, src/trx/game/shell/mod.c:540-543, src/trx/game/paths.c:104-110, src/trx/game/game_flow/reader.c:1214-1217, 900-910, src/trx/game/paths.c:111-121, src/trx/game/level/format/pipeline.c:96" note: "40 Fathoms" - name: "keel.tr2" path: "games/tr2/levels/keel.tr2" required: true category: game_data - source_ref: "data/trx/ship/games/tr2/gameflow.json5:301" + source_ref: "data/trx/ship/games/tr2/gameflow.json5:301, tools/shared/docker/game_entrypoint.py:50-53, 196-206, src/trx/game/shell/flow.c:383-385, src/trx/game/shell/mod.c:540-543, src/trx/game/paths.c:104-110, src/trx/game/game_flow/reader.c:1214-1217, 900-910, src/trx/game/paths.c:111-121, src/trx/game/level/format/pipeline.c:96" note: "Wreck of the Maria Doria" - name: "living.tr2" path: "games/tr2/levels/living.tr2" required: true category: game_data - source_ref: "data/trx/ship/games/tr2/gameflow.json5:334" + source_ref: "data/trx/ship/games/tr2/gameflow.json5:334, tools/shared/docker/game_entrypoint.py:50-53, 196-206, src/trx/game/shell/flow.c:383-385, src/trx/game/shell/mod.c:540-543, src/trx/game/paths.c:104-110, src/trx/game/game_flow/reader.c:1214-1217, 900-910, src/trx/game/paths.c:111-121, src/trx/game/level/format/pipeline.c:96" note: "Living Quarters" - name: "deck.tr2" path: "games/tr2/levels/deck.tr2" required: true category: game_data - source_ref: "data/trx/ship/games/tr2/gameflow.json5:365" + source_ref: "data/trx/ship/games/tr2/gameflow.json5:365, tools/shared/docker/game_entrypoint.py:50-53, 196-206, src/trx/game/shell/flow.c:383-385, src/trx/game/shell/mod.c:540-543, src/trx/game/paths.c:104-110, src/trx/game/game_flow/reader.c:1214-1217, 900-910, src/trx/game/paths.c:111-121, src/trx/game/level/format/pipeline.c:96" note: "The Deck" - name: "skidoo.tr2" path: "games/tr2/levels/skidoo.tr2" required: true category: game_data - source_ref: "data/trx/ship/games/tr2/gameflow.json5:398" + source_ref: "data/trx/ship/games/tr2/gameflow.json5:398, tools/shared/docker/game_entrypoint.py:50-53, 196-206, src/trx/game/shell/flow.c:383-385, src/trx/game/shell/mod.c:540-543, src/trx/game/paths.c:104-110, src/trx/game/game_flow/reader.c:1214-1217, 900-910, src/trx/game/paths.c:111-121, src/trx/game/level/format/pipeline.c:96" note: "Tibetan Foothills" - name: "monastry.tr2" path: "games/tr2/levels/monastry.tr2" required: true category: game_data - source_ref: "data/trx/ship/games/tr2/gameflow.json5:427" + source_ref: "data/trx/ship/games/tr2/gameflow.json5:427, tools/shared/docker/game_entrypoint.py:50-53, 196-206, src/trx/game/shell/flow.c:383-385, src/trx/game/shell/mod.c:540-543, src/trx/game/paths.c:104-110, src/trx/game/game_flow/reader.c:1214-1217, 900-910, src/trx/game/paths.c:111-121, src/trx/game/level/format/pipeline.c:96" note: "Barkhang Monastery" - name: "catacomb.tr2" path: "games/tr2/levels/catacomb.tr2" required: true category: game_data - source_ref: "data/trx/ship/games/tr2/gameflow.json5:457" + source_ref: "data/trx/ship/games/tr2/gameflow.json5:457, tools/shared/docker/game_entrypoint.py:50-53, 196-206, src/trx/game/shell/flow.c:383-385, src/trx/game/shell/mod.c:540-543, src/trx/game/paths.c:104-110, src/trx/game/game_flow/reader.c:1214-1217, 900-910, src/trx/game/paths.c:111-121, src/trx/game/level/format/pipeline.c:96" note: "Catacombs of the Talion" - name: "icecave.tr2" path: "games/tr2/levels/icecave.tr2" required: true category: game_data - source_ref: "data/trx/ship/games/tr2/gameflow.json5:486" + source_ref: "data/trx/ship/games/tr2/gameflow.json5:486, tools/shared/docker/game_entrypoint.py:50-53, 196-206, src/trx/game/shell/flow.c:383-385, src/trx/game/shell/mod.c:540-543, src/trx/game/paths.c:104-110, src/trx/game/game_flow/reader.c:1214-1217, 900-910, src/trx/game/paths.c:111-121, src/trx/game/level/format/pipeline.c:96" note: "Ice Palace" - name: "emprtomb.tr2" path: "games/tr2/levels/emprtomb.tr2" required: true category: game_data - source_ref: "data/trx/ship/games/tr2/gameflow.json5:515" + source_ref: "data/trx/ship/games/tr2/gameflow.json5:515, tools/shared/docker/game_entrypoint.py:50-53, 196-206, src/trx/game/shell/flow.c:383-385, src/trx/game/shell/mod.c:540-543, src/trx/game/paths.c:104-110, src/trx/game/game_flow/reader.c:1214-1217, 900-910, src/trx/game/paths.c:111-121, src/trx/game/level/format/pipeline.c:96" note: "Temple of Xian" - name: "floating.tr2" path: "games/tr2/levels/floating.tr2" required: true category: game_data - source_ref: "data/trx/ship/games/tr2/gameflow.json5:546" + source_ref: "data/trx/ship/games/tr2/gameflow.json5:546, tools/shared/docker/game_entrypoint.py:50-53, 196-206, src/trx/game/shell/flow.c:383-385, src/trx/game/shell/mod.c:540-543, src/trx/game/paths.c:104-110, src/trx/game/game_flow/reader.c:1214-1217, 900-910, src/trx/game/paths.c:111-121, src/trx/game/level/format/pipeline.c:96" note: "Floating Islands" - name: "xian.tr2" path: "games/tr2/levels/xian.tr2" required: true category: game_data - source_ref: "data/trx/ship/games/tr2/gameflow.json5:573" + source_ref: "data/trx/ship/games/tr2/gameflow.json5:573, tools/shared/docker/game_entrypoint.py:50-53, 196-206, src/trx/game/shell/flow.c:383-385, src/trx/game/shell/mod.c:540-543, src/trx/game/paths.c:104-110, src/trx/game/game_flow/reader.c:1214-1217, 900-910, src/trx/game/paths.c:111-121, src/trx/game/level/format/pipeline.c:96" note: "The Dragon's Lair" - name: "house.tr2" path: "games/tr2/levels/house.tr2" required: true category: game_data - source_ref: "data/trx/ship/games/tr2/gameflow.json5:600" + source_ref: "data/trx/ship/games/tr2/gameflow.json5:600, tools/shared/docker/game_entrypoint.py:50-53, 196-206, src/trx/game/shell/flow.c:383-385, src/trx/game/shell/mod.c:540-543, src/trx/game/paths.c:104-110, src/trx/game/game_flow/reader.c:1214-1217, 900-910, src/trx/game/paths.c:111-121, src/trx/game/level/format/pipeline.c:96" note: "Home Sweet Home" - name: "cut1.tr2" path: "games/tr2/levels/cut1.tr2" required: true category: game_data - source_ref: "data/trx/ship/games/tr2/gameflow.json5:714" + source_ref: "data/trx/ship/games/tr2/gameflow.json5:714, tools/shared/docker/game_entrypoint.py:50-53, 196-206, src/trx/game/shell/flow.c:383-385, src/trx/game/shell/mod.c:540-543, src/trx/game/paths.c:104-110, src/trx/game/game_flow/reader.c:1214-1217, 900-910, src/trx/game/paths.c:111-121, src/trx/game/level/format/pipeline.c:96" note: "Cutscene level 1" - name: "cut2.tr2" path: "games/tr2/levels/cut2.tr2" required: true category: game_data - source_ref: "data/trx/ship/games/tr2/gameflow.json5:729" + source_ref: "data/trx/ship/games/tr2/gameflow.json5:729, tools/shared/docker/game_entrypoint.py:50-53, 196-206, src/trx/game/shell/flow.c:383-385, src/trx/game/shell/mod.c:540-543, src/trx/game/paths.c:104-110, src/trx/game/game_flow/reader.c:1214-1217, 900-910, src/trx/game/paths.c:111-121, src/trx/game/level/format/pipeline.c:96" note: "Cutscene level 2" - name: "cut3.tr2" path: "games/tr2/levels/cut3.tr2" required: true category: game_data - source_ref: "data/trx/ship/games/tr2/gameflow.json5:744" + source_ref: "data/trx/ship/games/tr2/gameflow.json5:744, tools/shared/docker/game_entrypoint.py:50-53, 196-206, src/trx/game/shell/flow.c:383-385, src/trx/game/shell/mod.c:540-543, src/trx/game/paths.c:104-110, src/trx/game/game_flow/reader.c:1214-1217, 900-910, src/trx/game/paths.c:111-121, src/trx/game/level/format/pipeline.c:96" note: "Cutscene level 3" - name: "cut4.tr2" path: "games/tr2/levels/cut4.tr2" required: true category: game_data - source_ref: "data/trx/ship/games/tr2/gameflow.json5:761" + source_ref: "data/trx/ship/games/tr2/gameflow.json5:761, tools/shared/docker/game_entrypoint.py:50-53, 196-206, src/trx/game/shell/flow.c:383-385, src/trx/game/shell/mod.c:540-543, src/trx/game/paths.c:104-110, src/trx/game/game_flow/reader.c:1214-1217, 900-910, src/trx/game/paths.c:111-121, src/trx/game/level/format/pipeline.c:96" note: "Cutscene level 4" # FMV cutscenes @@ -237,7 +237,7 @@ files: path: "games/tr2/fmv/logo.rpl" required: false category: game_data - source_ref: "data/trx/ship/games/tr2/gameflow.json5:780" + source_ref: "data/trx/ship/games/tr2/gameflow.json5:780, tools/shared/docker/game_entrypoint.py:50-53, 196-206, src/trx/game/shell/flow.c:383-385, src/trx/game/shell/mod.c:540-543, src/trx/game/paths.c:104-110, src/trx/game/game_flow/reader.c:1214-1217, 1100-1130, src/trx/game/paths.c:192-202" note: "Eidos legal screen." - name: "ANCIENT.AVI" @@ -245,7 +245,7 @@ files: path: "games/tr2/fmv/ancient.rpl" required: false category: game_data - source_ref: "data/trx/ship/games/tr2/gameflow.json5:781" + source_ref: "data/trx/ship/games/tr2/gameflow.json5:781, tools/shared/docker/game_entrypoint.py:50-53, 196-206, src/trx/game/shell/flow.c:383-385, src/trx/game/shell/mod.c:540-543, src/trx/game/paths.c:104-110, src/trx/game/game_flow/reader.c:1214-1217, 1100-1130, src/trx/game/paths.c:192-202" note: "Intro cutscene." - name: "MODERN.AVI" @@ -253,42 +253,42 @@ files: path: "games/tr2/fmv/modern.rpl" required: false category: game_data - source_ref: "data/trx/ship/games/tr2/gameflow.json5:782" + source_ref: "data/trx/ship/games/tr2/gameflow.json5:782, tools/shared/docker/game_entrypoint.py:50-53, 196-206, src/trx/game/shell/flow.c:383-385, src/trx/game/shell/mod.c:540-543, src/trx/game/paths.c:104-110, src/trx/game/game_flow/reader.c:1214-1217, 1100-1130, src/trx/game/paths.c:192-202" - name: "LANDING.AVI" aliases: [landing.rpl] path: "games/tr2/fmv/landing.rpl" required: false category: game_data - source_ref: "data/trx/ship/games/tr2/gameflow.json5:783" + source_ref: "data/trx/ship/games/tr2/gameflow.json5:783, tools/shared/docker/game_entrypoint.py:50-53, 196-206, src/trx/game/shell/flow.c:383-385, src/trx/game/shell/mod.c:540-543, src/trx/game/paths.c:104-110, src/trx/game/game_flow/reader.c:1214-1217, 1100-1130, src/trx/game/paths.c:192-202" - name: "MS.AVI" aliases: [ms.rpl] path: "games/tr2/fmv/ms.rpl" required: false category: game_data - source_ref: "data/trx/ship/games/tr2/gameflow.json5:784" + source_ref: "data/trx/ship/games/tr2/gameflow.json5:784, tools/shared/docker/game_entrypoint.py:50-53, 196-206, src/trx/game/shell/flow.c:383-385, src/trx/game/shell/mod.c:540-543, src/trx/game/paths.c:104-110, src/trx/game/game_flow/reader.c:1214-1217, 1100-1130, src/trx/game/paths.c:192-202" - name: "CRASH.AVI" aliases: [crash.rpl] path: "games/tr2/fmv/crash.rpl" required: false category: game_data - source_ref: "data/trx/ship/games/tr2/gameflow.json5:785" + source_ref: "data/trx/ship/games/tr2/gameflow.json5:785, tools/shared/docker/game_entrypoint.py:50-53, 196-206, src/trx/game/shell/flow.c:383-385, src/trx/game/shell/mod.c:540-543, src/trx/game/paths.c:104-110, src/trx/game/game_flow/reader.c:1214-1217, 1100-1130, src/trx/game/paths.c:192-202" - name: "JEEP.AVI" aliases: [jeep.rpl] path: "games/tr2/fmv/jeep.rpl" required: false category: game_data - source_ref: "data/trx/ship/games/tr2/gameflow.json5:786" + source_ref: "data/trx/ship/games/tr2/gameflow.json5:786, tools/shared/docker/game_entrypoint.py:50-53, 196-206, src/trx/game/shell/flow.c:383-385, src/trx/game/shell/mod.c:540-543, src/trx/game/paths.c:104-110, src/trx/game/game_flow/reader.c:1214-1217, 1100-1130, src/trx/game/paths.c:192-202" - name: "END.AVI" aliases: [end.rpl] path: "games/tr2/fmv/end.rpl" required: false category: game_data - source_ref: "data/trx/ship/games/tr2/gameflow.json5:787" + source_ref: "data/trx/ship/games/tr2/gameflow.json5:787, tools/shared/docker/game_entrypoint.py:50-53, 196-206, src/trx/game/shell/flow.c:383-385, src/trx/game/shell/mod.c:540-543, src/trx/game/paths.c:104-110, src/trx/game/game_flow/reader.c:1214-1217, 1100-1130, src/trx/game/paths.c:192-202" # Music tracks (retail CD audio, ripped as N.). # Enumerated by the ship tree in docs/trx/INSTALLING.md (TR2 uses the @@ -700,7 +700,7 @@ files: sha1: "8d8109c1afbb2b443c1c1f57add4676f17b5dc84" md5: "04ad2f33e48081a6b27a7f0ebf90968d" category: game_data - source_ref: "data/trx/ship/games/tr2-gm/gameflow.json5:58" + source_ref: "data/trx/ship/games/tr2-gm/gameflow.json5:58, tools/shared/docker/game_entrypoint.py:50-53, 196-206, src/trx/game/shell/flow.c:383-385, src/trx/game/shell/mod.c:540-543, src/trx/game/paths.c:104-110, src/trx/game/game_flow/reader.c:1214-1217, 900-910, src/trx/game/paths.c:111-121, src/trx/game/level/format/pipeline.c:96" note: "The Cold War" - name: "level2.tr2" @@ -711,7 +711,7 @@ files: sha1: "6c9417d3b03cc2fd9fac62cea0910d9ef107ee1b" md5: "d9b53b88dd70eec1e4b31182f3286bf5" category: game_data - source_ref: "data/trx/ship/games/tr2-gm/gameflow.json5:90" + source_ref: "data/trx/ship/games/tr2-gm/gameflow.json5:90, tools/shared/docker/game_entrypoint.py:50-53, 196-206, src/trx/game/shell/flow.c:383-385, src/trx/game/shell/mod.c:540-543, src/trx/game/paths.c:104-110, src/trx/game/game_flow/reader.c:1214-1217, 900-910, src/trx/game/paths.c:111-121, src/trx/game/level/format/pipeline.c:96" note: "Fool's Gold" - name: "level3.tr2" @@ -722,7 +722,7 @@ files: sha1: "e92f045520d6e0aaec2c42dd2c28d34a0677df70" md5: "ca4294e3bd8835ebf06e114b479a22c2" category: game_data - source_ref: "data/trx/ship/games/tr2-gm/gameflow.json5:115" + source_ref: "data/trx/ship/games/tr2-gm/gameflow.json5:115, tools/shared/docker/game_entrypoint.py:50-53, 196-206, src/trx/game/shell/flow.c:383-385, src/trx/game/shell/mod.c:540-543, src/trx/game/paths.c:104-110, src/trx/game/game_flow/reader.c:1214-1217, 900-910, src/trx/game/paths.c:111-121, src/trx/game/level/format/pipeline.c:96" note: "Furnace of the Gods" - name: "level4.tr2" @@ -733,7 +733,7 @@ files: sha1: "83ffcd559e656186bc807e1040485f72956dbc00" md5: "63ff8be5c7abf37d7065456afeda029f" category: game_data - source_ref: "data/trx/ship/games/tr2-gm/gameflow.json5:140" + source_ref: "data/trx/ship/games/tr2-gm/gameflow.json5:140, tools/shared/docker/game_entrypoint.py:50-53, 196-206, src/trx/game/shell/flow.c:383-385, src/trx/game/shell/mod.c:540-543, src/trx/game/paths.c:104-110, src/trx/game/game_flow/reader.c:1214-1217, 900-910, src/trx/game/paths.c:111-121, src/trx/game/level/format/pipeline.c:96" note: "Kingdom" - name: "level5.tr2" @@ -744,5 +744,5 @@ files: sha1: "4508d23e8475ef6afd7a1756763dd606f23c15a9" md5: "88c8124b6d152b9f3fe1c4eeec4428a5" category: game_data - source_ref: "data/trx/ship/games/tr2-gm/gameflow.json5:177" + source_ref: "data/trx/ship/games/tr2-gm/gameflow.json5:177, tools/shared/docker/game_entrypoint.py:50-53, 196-206, src/trx/game/shell/flow.c:383-385, src/trx/game/shell/mod.c:540-543, src/trx/game/paths.c:104-110, src/trx/game/game_flow/reader.c:1214-1217, 900-910, src/trx/game/paths.c:111-121, src/trx/game/level/format/pipeline.c:96" note: "Nightmare in Vegas" From 69d593eb6d63a718eeea018fc65975d85326edf7 Mon Sep 17 00:00:00 2001 From: Abdessamad Derraz <3028866+Abdess@users.noreply.github.com> Date: Tue, 10 Nov 2026 13:25:00 +0100 Subject: [PATCH 04/22] docs: cite the base set reader in OpenTTD The original game files named only their .obg, .obs or .obm line. They now cite the CMake rules that configure and install the base set metadata, FindSets and AddFile that scan for it, FillSetDetails that reads its files and md5s groups, and the startup call per set type. --- emulators/openttd.yml | 74 +++++++++++++++++++++---------------------- 1 file changed, 37 insertions(+), 37 deletions(-) diff --git a/emulators/openttd.yml b/emulators/openttd.yml index e5b1b7dd2..3816fde12 100644 --- a/emulators/openttd.yml +++ b/emulators/openttd.yml @@ -75,7 +75,7 @@ files: description: "Transport Tycoon Deluxe DOS graphics, base" required: false md5: "9311676280e5b14077a8ee41c1b42192" - source_ref: "media/baseset/orig_dos.obg:20, media/baseset/orig_dos_de.obg:20" + source_ref: "media/baseset/orig_dos.obg:20, media/baseset/orig_dos_de.obg:20, media/baseset/CMakeLists.txt:4-15, 38-62, cmake/InstallAndPackage.cmake:28-34, src/base_media_base.h:198-204, src/base_media_func.h:42-139, 164-181, src/openttd.cpp:717, src/gfxinit.cpp:352-354" - name: "TRGI.GRF" path: "baseset/TRGI.GRF" @@ -84,7 +84,7 @@ files: description: "Transport Tycoon Deluxe DOS graphics, logos" required: false md5: "da6a6c9dcc451eec88d79211437b76a8" - source_ref: "media/baseset/orig_dos.obg:21, media/baseset/orig_dos_de.obg:21" + source_ref: "media/baseset/orig_dos.obg:21, media/baseset/orig_dos_de.obg:21, media/baseset/CMakeLists.txt:4-15, 38-62, cmake/InstallAndPackage.cmake:28-34, src/base_media_base.h:198-204, src/base_media_func.h:42-139, 164-181, src/openttd.cpp:717, src/gfxinit.cpp:352-354" - name: "TRGC.GRF" path: "baseset/TRGC.GRF" @@ -93,7 +93,7 @@ files: description: "Transport Tycoon Deluxe DOS graphics, sub-arctic climate" required: false md5: "ed446637e034104c5559b32c18afe78d" - source_ref: "media/baseset/orig_dos.obg:22, media/baseset/orig_dos_de.obg:22" + source_ref: "media/baseset/orig_dos.obg:22, media/baseset/orig_dos_de.obg:22, media/baseset/CMakeLists.txt:4-15, 38-62, cmake/InstallAndPackage.cmake:28-34, src/base_media_base.h:198-204, src/base_media_func.h:42-139, 164-181, src/openttd.cpp:717, src/gfxinit.cpp:352-354" - name: "TRGH.GRF" path: "baseset/TRGH.GRF" @@ -102,7 +102,7 @@ files: description: "Transport Tycoon Deluxe DOS graphics, sub-tropical climate" required: false md5: "ee6616fb0e6ef6b24892c58c93d86fc9" - source_ref: "media/baseset/orig_dos.obg:23, media/baseset/orig_dos_de.obg:23" + source_ref: "media/baseset/orig_dos.obg:23, media/baseset/orig_dos_de.obg:23, media/baseset/CMakeLists.txt:4-15, 38-62, cmake/InstallAndPackage.cmake:28-34, src/base_media_base.h:198-204, src/base_media_func.h:42-139, 164-181, src/openttd.cpp:717, src/gfxinit.cpp:352-354" - name: "TRGT.GRF" path: "baseset/TRGT.GRF" @@ -111,7 +111,7 @@ files: description: "Transport Tycoon Deluxe DOS graphics, toyland" required: false md5: "e30e8a398ae86c03dc534a8ac7dfb3b6" - source_ref: "media/baseset/orig_dos.obg:24" + source_ref: "media/baseset/orig_dos.obg:24, media/baseset/CMakeLists.txt:4-15, 38-62, cmake/InstallAndPackage.cmake:28-34, src/base_media_base.h:198-204, src/base_media_func.h:42-139, 164-181, src/openttd.cpp:717, src/gfxinit.cpp:352-354" - name: "TRGT.GRF" path: "baseset/TRGT.GRF" @@ -121,7 +121,7 @@ files: required: false md5: "fcde1d7e8a74197d72a62695884b909e" note: "The German DOS CD differs from the other DOS releases only in this file." - source_ref: "media/baseset/orig_dos_de.obg:24" + source_ref: "media/baseset/orig_dos_de.obg:24, media/baseset/CMakeLists.txt:4-15, 38-62, cmake/InstallAndPackage.cmake:28-34, src/base_media_base.h:198-204, src/base_media_func.h:42-139, 164-181, src/openttd.cpp:717, src/gfxinit.cpp:352-354" - name: "TRG1R.GRF" path: "baseset/TRG1R.GRF" @@ -130,7 +130,7 @@ files: description: "Transport Tycoon Deluxe Windows graphics, base" required: false md5: "b04ce593d8c5016e07473a743d7d3358" - source_ref: "media/baseset/orig_win.obg:20" + source_ref: "media/baseset/orig_win.obg:20, media/baseset/CMakeLists.txt:4-15, 38-62, cmake/InstallAndPackage.cmake:28-34, src/base_media_base.h:198-204, src/base_media_func.h:42-139, 164-181, src/openttd.cpp:717, src/gfxinit.cpp:352-354" - name: "TRGIR.GRF" path: "baseset/TRGIR.GRF" @@ -139,7 +139,7 @@ files: description: "Transport Tycoon Deluxe Windows graphics, logos" required: false md5: "0c2484ff6be49fc63a83be6ab5c38f32" - source_ref: "media/baseset/orig_win.obg:21" + source_ref: "media/baseset/orig_win.obg:21, media/baseset/CMakeLists.txt:4-15, 38-62, cmake/InstallAndPackage.cmake:28-34, src/base_media_base.h:198-204, src/base_media_func.h:42-139, 164-181, src/openttd.cpp:717, src/gfxinit.cpp:352-354" - name: "TRGCR.GRF" path: "baseset/TRGCR.GRF" @@ -148,7 +148,7 @@ files: description: "Transport Tycoon Deluxe Windows graphics, sub-arctic climate" required: false md5: "3668f410c761a050b5e7095a2b14879b" - source_ref: "media/baseset/orig_win.obg:22" + source_ref: "media/baseset/orig_win.obg:22, media/baseset/CMakeLists.txt:4-15, 38-62, cmake/InstallAndPackage.cmake:28-34, src/base_media_base.h:198-204, src/base_media_func.h:42-139, 164-181, src/openttd.cpp:717, src/gfxinit.cpp:352-354" - name: "TRGHR.GRF" path: "baseset/TRGHR.GRF" @@ -157,7 +157,7 @@ files: description: "Transport Tycoon Deluxe Windows graphics, sub-tropical climate" required: false md5: "06bf2b7a31766f048baac2ebe43457b1" - source_ref: "media/baseset/orig_win.obg:23" + source_ref: "media/baseset/orig_win.obg:23, media/baseset/CMakeLists.txt:4-15, 38-62, cmake/InstallAndPackage.cmake:28-34, src/base_media_base.h:198-204, src/base_media_func.h:42-139, 164-181, src/openttd.cpp:717, src/gfxinit.cpp:352-354" - name: "TRGTR.GRF" path: "baseset/TRGTR.GRF" @@ -166,7 +166,7 @@ files: description: "Transport Tycoon Deluxe Windows graphics, toyland" required: false md5: "de53650517fe661ceaa3138c6edb0eb8" - source_ref: "media/baseset/orig_win.obg:24" + source_ref: "media/baseset/orig_win.obg:24, media/baseset/CMakeLists.txt:4-15, 38-62, cmake/InstallAndPackage.cmake:28-34, src/base_media_base.h:198-204, src/base_media_func.h:42-139, 164-181, src/openttd.cpp:717, src/gfxinit.cpp:352-354" - name: "SAMPLE.CAT" path: "baseset/SAMPLE.CAT" @@ -175,7 +175,7 @@ files: description: "Transport Tycoon Deluxe DOS sound samples" required: false md5: "422ea3dd074d2859bb51639a6e0e85da" - source_ref: "media/baseset/orig_dos.obs:14" + source_ref: "media/baseset/orig_dos.obs:14, media/baseset/CMakeLists.txt:4-15, 38-62, cmake/InstallAndPackage.cmake:28-34, src/base_media_base.h:198-204, src/base_media_func.h:42-139, 164-181, src/openttd.cpp:791" - name: "SAMPLE.CAT" path: "baseset/SAMPLE.CAT" @@ -184,7 +184,7 @@ files: description: "Transport Tycoon Deluxe Windows sound samples" required: false md5: "9212e81e72badd4bbe1eaeae66458e10" - source_ref: "media/baseset/orig_win.obs:14" + source_ref: "media/baseset/orig_win.obs:14, media/baseset/CMakeLists.txt:4-15, 38-62, cmake/InstallAndPackage.cmake:28-34, src/base_media_base.h:198-204, src/base_media_func.h:42-139, 164-181, src/openttd.cpp:791" - name: "GM.CAT" path: "baseset/GM.CAT" @@ -193,7 +193,7 @@ files: description: "Transport Tycoon Deluxe DOS music catalogue" required: false md5: "7a29d2d0c4f7d2e03091ffa9b2bdfffb" - source_ref: "media/baseset/orig_dos.obm:44" + source_ref: "media/baseset/orig_dos.obm:44, media/baseset/CMakeLists.txt:4-15, 38-62, cmake/InstallAndPackage.cmake:28-34, src/base_media_base.h:198-204, src/base_media_func.h:42-139, 164-181, src/openttd.cpp:803, src/music.cpp:119-175" - name: "GM-TTO.CAT" path: "baseset/GM-TTO.CAT" @@ -202,7 +202,7 @@ files: description: "Transport Tycoon Original music catalogue" required: false md5: "26e85ff84b0063aa5da05dd4698fc76e" - source_ref: "media/baseset/orig_tto.obm:63" + source_ref: "media/baseset/orig_tto.obm:63, media/baseset/CMakeLists.txt:4-15, 38-62, cmake/InstallAndPackage.cmake:28-34, src/base_media_base.h:198-204, src/base_media_func.h:42-139, 164-181, src/openttd.cpp:803, src/music.cpp:119-175" - name: "GM_TT00.GM" path: "baseset/GM_TT00.GM" @@ -211,7 +211,7 @@ files: description: "Transport Tycoon Deluxe Windows music, Tycoon DELUXE Theme" required: false md5: "45cfec1b9d8c7a0ad45e755833cbf221" - source_ref: "media/baseset/orig_win.obm:44, media/baseset/orig_win.obm:68" + source_ref: "media/baseset/orig_win.obm:44, media/baseset/orig_win.obm:68, media/baseset/CMakeLists.txt:4-15, 38-62, cmake/InstallAndPackage.cmake:28-34, src/base_media_base.h:198-204, src/base_media_func.h:42-139, 164-181, src/openttd.cpp:803, src/music.cpp:119-175" - name: "GM_TT01.GM" path: "baseset/GM_TT01.GM" @@ -220,7 +220,7 @@ files: description: "Transport Tycoon Deluxe Windows music, Snarl Up" required: false md5: "ab14ed3392d848abd2a2e90a9d75d121" - source_ref: "media/baseset/orig_win.obm:45, media/baseset/orig_win.obm:69" + source_ref: "media/baseset/orig_win.obm:45, media/baseset/orig_win.obm:69, media/baseset/CMakeLists.txt:4-15, 38-62, cmake/InstallAndPackage.cmake:28-34, src/base_media_base.h:198-204, src/base_media_func.h:42-139, 164-181, src/openttd.cpp:803, src/music.cpp:119-175" - name: "GM_TT02.GM" path: "baseset/GM_TT02.GM" @@ -229,7 +229,7 @@ files: description: "Transport Tycoon Deluxe Windows music, Easy Driver" required: false md5: "dd4f696e4be5987ce738257b08b50171" - source_ref: "media/baseset/orig_win.obm:46, media/baseset/orig_win.obm:70" + source_ref: "media/baseset/orig_win.obm:46, media/baseset/orig_win.obm:70, media/baseset/CMakeLists.txt:4-15, 38-62, cmake/InstallAndPackage.cmake:28-34, src/base_media_base.h:198-204, src/base_media_func.h:42-139, 164-181, src/openttd.cpp:803, src/music.cpp:119-175" - name: "GM_TT03.GM" path: "baseset/GM_TT03.GM" @@ -238,7 +238,7 @@ files: description: "Transport Tycoon Deluxe Windows music, Little Red Diesel" required: false md5: "a1bfde23343df9e4063419bf29c166b8" - source_ref: "media/baseset/orig_win.obm:47, media/baseset/orig_win.obm:71" + source_ref: "media/baseset/orig_win.obm:47, media/baseset/orig_win.obm:71, media/baseset/CMakeLists.txt:4-15, 38-62, cmake/InstallAndPackage.cmake:28-34, src/base_media_base.h:198-204, src/base_media_func.h:42-139, 164-181, src/openttd.cpp:803, src/music.cpp:119-175" - name: "GM_TT04.GM" path: "baseset/GM_TT04.GM" @@ -247,7 +247,7 @@ files: description: "Transport Tycoon Deluxe Windows music, City Groove" required: false md5: "4e6943aa0c455203d76c79389054747d" - source_ref: "media/baseset/orig_win.obm:48, media/baseset/orig_win.obm:72" + source_ref: "media/baseset/orig_win.obm:48, media/baseset/orig_win.obm:72, media/baseset/CMakeLists.txt:4-15, 38-62, cmake/InstallAndPackage.cmake:28-34, src/base_media_base.h:198-204, src/base_media_func.h:42-139, 164-181, src/openttd.cpp:803, src/music.cpp:119-175" - name: "GM_TT05.GM" path: "baseset/GM_TT05.GM" @@ -256,7 +256,7 @@ files: description: "Transport Tycoon Deluxe Windows music, Aliens Ate My Railway" required: false md5: "cee281cb85a2e2343552d97640545a47" - source_ref: "media/baseset/orig_win.obm:49, media/baseset/orig_win.obm:73" + source_ref: "media/baseset/orig_win.obm:49, media/baseset/orig_win.obm:73, media/baseset/CMakeLists.txt:4-15, 38-62, cmake/InstallAndPackage.cmake:28-34, src/base_media_base.h:198-204, src/base_media_func.h:42-139, 164-181, src/openttd.cpp:803, src/music.cpp:119-175" - name: "GM_TT06.GM" path: "baseset/GM_TT06.GM" @@ -265,7 +265,7 @@ files: description: "Transport Tycoon Deluxe Windows music, Stoke It" required: false md5: "26d1de5efa8675f94065784e9d539e49" - source_ref: "media/baseset/orig_win.obm:50, media/baseset/orig_win.obm:74" + source_ref: "media/baseset/orig_win.obm:50, media/baseset/orig_win.obm:74, media/baseset/CMakeLists.txt:4-15, 38-62, cmake/InstallAndPackage.cmake:28-34, src/base_media_base.h:198-204, src/base_media_func.h:42-139, 164-181, src/openttd.cpp:803, src/music.cpp:119-175" - name: "GM_TT07.GM" path: "baseset/GM_TT07.GM" @@ -274,7 +274,7 @@ files: description: "Transport Tycoon Deluxe Windows music, Don't Walk!" required: false md5: "6f2691e17558f552ec4c565e4ab7139c" - source_ref: "media/baseset/orig_win.obm:51, media/baseset/orig_win.obm:75" + source_ref: "media/baseset/orig_win.obm:51, media/baseset/orig_win.obm:75, media/baseset/CMakeLists.txt:4-15, 38-62, cmake/InstallAndPackage.cmake:28-34, src/base_media_base.h:198-204, src/base_media_func.h:42-139, 164-181, src/openttd.cpp:803, src/music.cpp:119-175" - name: "GM_TT08.GM" path: "baseset/GM_TT08.GM" @@ -283,7 +283,7 @@ files: description: "Transport Tycoon Deluxe Windows music, Sawyer's Tune" required: false md5: "a42bf2cb3340a822f1a69646fc7a487d" - source_ref: "media/baseset/orig_win.obm:52, media/baseset/orig_win.obm:76" + source_ref: "media/baseset/orig_win.obm:52, media/baseset/orig_win.obm:76, media/baseset/CMakeLists.txt:4-15, 38-62, cmake/InstallAndPackage.cmake:28-34, src/base_media_base.h:198-204, src/base_media_func.h:42-139, 164-181, src/openttd.cpp:803, src/music.cpp:119-175" - name: "GM_TT09.GM" path: "baseset/GM_TT09.GM" @@ -292,7 +292,7 @@ files: description: "Transport Tycoon Deluxe Windows music, Fell Apart On Me" required: false md5: "eb35761a58a8df3c59ed8929cce13916" - source_ref: "media/baseset/orig_win.obm:53, media/baseset/orig_win.obm:77" + source_ref: "media/baseset/orig_win.obm:53, media/baseset/orig_win.obm:77, media/baseset/CMakeLists.txt:4-15, 38-62, cmake/InstallAndPackage.cmake:28-34, src/base_media_base.h:198-204, src/base_media_func.h:42-139, 164-181, src/openttd.cpp:803, src/music.cpp:119-175" - name: "GM_TT10.GM" path: "baseset/GM_TT10.GM" @@ -301,7 +301,7 @@ files: description: "Transport Tycoon Deluxe Windows music, Can't Get There From Here" required: false md5: "42fecd686720a785d20a78590c466a82" - source_ref: "media/baseset/orig_win.obm:54, media/baseset/orig_win.obm:78" + source_ref: "media/baseset/orig_win.obm:54, media/baseset/orig_win.obm:78, media/baseset/CMakeLists.txt:4-15, 38-62, cmake/InstallAndPackage.cmake:28-34, src/base_media_base.h:198-204, src/base_media_func.h:42-139, 164-181, src/openttd.cpp:803, src/music.cpp:119-175" - name: "GM_TT11.GM" path: "baseset/GM_TT11.GM" @@ -310,7 +310,7 @@ files: description: "Transport Tycoon Deluxe Windows music, Hard Drivin'" required: false md5: "50ef1ef02e49d2112786dd45e69dc3ee" - source_ref: "media/baseset/orig_win.obm:55, media/baseset/orig_win.obm:79" + source_ref: "media/baseset/orig_win.obm:55, media/baseset/orig_win.obm:79, media/baseset/CMakeLists.txt:4-15, 38-62, cmake/InstallAndPackage.cmake:28-34, src/base_media_base.h:198-204, src/base_media_func.h:42-139, 164-181, src/openttd.cpp:803, src/music.cpp:119-175" - name: "GM_TT12.GM" path: "baseset/GM_TT12.GM" @@ -319,7 +319,7 @@ files: description: "Transport Tycoon Deluxe Windows music, Road Hog" required: false md5: "4ce707a0e0e72419f0681dd9bd95271b" - source_ref: "media/baseset/orig_win.obm:56, media/baseset/orig_win.obm:80" + source_ref: "media/baseset/orig_win.obm:56, media/baseset/orig_win.obm:80, media/baseset/CMakeLists.txt:4-15, 38-62, cmake/InstallAndPackage.cmake:28-34, src/base_media_base.h:198-204, src/base_media_func.h:42-139, 164-181, src/openttd.cpp:803, src/music.cpp:119-175" - name: "GM_TT13.GM" path: "baseset/GM_TT13.GM" @@ -328,7 +328,7 @@ files: description: "Transport Tycoon Deluxe Windows music, Hold That Train!" required: false md5: "e765753be29d889ec818f38009103619" - source_ref: "media/baseset/orig_win.obm:57, media/baseset/orig_win.obm:81" + source_ref: "media/baseset/orig_win.obm:57, media/baseset/orig_win.obm:81, media/baseset/CMakeLists.txt:4-15, 38-62, cmake/InstallAndPackage.cmake:28-34, src/base_media_base.h:198-204, src/base_media_func.h:42-139, 164-181, src/openttd.cpp:803, src/music.cpp:119-175" - name: "GM_TT14.GM" path: "baseset/GM_TT14.GM" @@ -337,7 +337,7 @@ files: description: "Transport Tycoon Deluxe Windows music, Broomer's Oil Rag" required: false md5: "270e2d63bd32b95a4d007ce15a6ce45f" - source_ref: "media/baseset/orig_win.obm:58, media/baseset/orig_win.obm:82" + source_ref: "media/baseset/orig_win.obm:58, media/baseset/orig_win.obm:82, media/baseset/CMakeLists.txt:4-15, 38-62, cmake/InstallAndPackage.cmake:28-34, src/base_media_base.h:198-204, src/base_media_func.h:42-139, 164-181, src/openttd.cpp:803, src/music.cpp:119-175" - name: "GM_TT15.GM" path: "baseset/GM_TT15.GM" @@ -346,7 +346,7 @@ files: description: "Transport Tycoon Deluxe Windows music, Goss Groove" required: false md5: "89e116a1c0c69f1845cc903a9bfbe460" - source_ref: "media/baseset/orig_win.obm:59, media/baseset/orig_win.obm:83" + source_ref: "media/baseset/orig_win.obm:59, media/baseset/orig_win.obm:83, media/baseset/CMakeLists.txt:4-15, 38-62, cmake/InstallAndPackage.cmake:28-34, src/base_media_base.h:198-204, src/base_media_func.h:42-139, 164-181, src/openttd.cpp:803, src/music.cpp:119-175" - name: "GM_TT16.GM" path: "baseset/GM_TT16.GM" @@ -355,7 +355,7 @@ files: description: "Transport Tycoon Deluxe Windows music, Small Town" required: false md5: "f824e2371b3bedfe61aad4b9c62dd6be" - source_ref: "media/baseset/orig_win.obm:60, media/baseset/orig_win.obm:84" + source_ref: "media/baseset/orig_win.obm:60, media/baseset/orig_win.obm:84, media/baseset/CMakeLists.txt:4-15, 38-62, cmake/InstallAndPackage.cmake:28-34, src/base_media_base.h:198-204, src/base_media_func.h:42-139, 164-181, src/openttd.cpp:803, src/music.cpp:119-175" - name: "GM_TT17.GM" path: "baseset/GM_TT17.GM" @@ -364,7 +364,7 @@ files: description: "Transport Tycoon Deluxe Windows music, Cruise Control" required: false md5: "1b23eebb0796c1ab99cd97fa7082cf7b" - source_ref: "media/baseset/orig_win.obm:61, media/baseset/orig_win.obm:85" + source_ref: "media/baseset/orig_win.obm:61, media/baseset/orig_win.obm:85, media/baseset/CMakeLists.txt:4-15, 38-62, cmake/InstallAndPackage.cmake:28-34, src/base_media_base.h:198-204, src/base_media_func.h:42-139, 164-181, src/openttd.cpp:803, src/music.cpp:119-175" - name: "GM_TT18.GM" path: "baseset/GM_TT18.GM" @@ -373,7 +373,7 @@ files: description: "Transport Tycoon Deluxe Windows music, Stroll On" required: false md5: "15650de3bad645d0e88c4f5c7a2df92a" - source_ref: "media/baseset/orig_win.obm:62, media/baseset/orig_win.obm:86" + source_ref: "media/baseset/orig_win.obm:62, media/baseset/orig_win.obm:86, media/baseset/CMakeLists.txt:4-15, 38-62, cmake/InstallAndPackage.cmake:28-34, src/base_media_base.h:198-204, src/base_media_func.h:42-139, 164-181, src/openttd.cpp:803, src/music.cpp:119-175" - name: "GM_TT19.GM" path: "baseset/GM_TT19.GM" @@ -382,7 +382,7 @@ files: description: "Transport Tycoon Deluxe Windows music, Funk Central" required: false md5: "7aec079e15bd09588660b85545ac4dfc" - source_ref: "media/baseset/orig_win.obm:63, media/baseset/orig_win.obm:87" + source_ref: "media/baseset/orig_win.obm:63, media/baseset/orig_win.obm:87, media/baseset/CMakeLists.txt:4-15, 38-62, cmake/InstallAndPackage.cmake:28-34, src/base_media_base.h:198-204, src/base_media_func.h:42-139, 164-181, src/openttd.cpp:803, src/music.cpp:119-175" - name: "GM_TT20.GM" path: "baseset/GM_TT20.GM" @@ -391,7 +391,7 @@ files: description: "Transport Tycoon Deluxe Windows music, Jammit" required: false md5: "1509097889dee617aa1e9a1738a5a930" - source_ref: "media/baseset/orig_win.obm:64, media/baseset/orig_win.obm:88" + source_ref: "media/baseset/orig_win.obm:64, media/baseset/orig_win.obm:88, media/baseset/CMakeLists.txt:4-15, 38-62, cmake/InstallAndPackage.cmake:28-34, src/base_media_base.h:198-204, src/base_media_func.h:42-139, 164-181, src/openttd.cpp:803, src/music.cpp:119-175" - name: "GM_TT21.GM" path: "baseset/GM_TT21.GM" @@ -400,4 +400,4 @@ files: description: "Transport Tycoon Deluxe Windows music, Movin' On" required: false md5: "a8d0aaad02e1a762d8d54cf81da56bab" - source_ref: "media/baseset/orig_win.obm:65, media/baseset/orig_win.obm:89" + source_ref: "media/baseset/orig_win.obm:65, media/baseset/orig_win.obm:89, media/baseset/CMakeLists.txt:4-15, 38-62, cmake/InstallAndPackage.cmake:28-34, src/base_media_base.h:198-204, src/base_media_func.h:42-139, 164-181, src/openttd.cpp:803, src/music.cpp:119-175" From c62515a78298d60fd9b9ad3c3342948c6bbbd431 Mon Sep 17 00:00:00 2001 From: Abdessamad Derraz <3028866+Abdess@users.noreply.github.com> Date: Tue, 10 Nov 2026 13:26:07 +0100 Subject: [PATCH 05/22] docs: cite the machine reader in blueMSX Machine ROM entries named only a config.ini, most with no line. Each now gives the config.ini line that names the ROM, then libretro.c building the Machines path and calling machineCreate, readMachine parsing the Slots section, and romLoad opening each slot file. --- emulators/bluemsx.yml | 106 +++++++++++++++++++++--------------------- 1 file changed, 53 insertions(+), 53 deletions(-) diff --git a/emulators/bluemsx.yml b/emulators/bluemsx.yml index e61d8b58a..265e0c6ba 100644 --- a/emulators/bluemsx.yml +++ b/emulators/bluemsx.yml @@ -92,7 +92,7 @@ files: required: true system: msx note: "MSX1 generic BIOS. Used by default 'MSX' machine config." - source_ref: "system/bluemsx/Machines/MSX/config.ini" + source_ref: "system/bluemsx/Machines/MSX/config.ini:28, libretro.c:1196-1197, 1447, Src/Board/Machine.c:255-266, 397-470, 623-640, 1451" - name: MSX.rom path: "Machines/Shared Roms/MSX.rom" @@ -104,7 +104,7 @@ files: sha1: "e998f0c441f4f1800ef44e42cd1659150206cf79" md5: "364a1a579fe5cb8dba54519bcfcdac0d" note: "Shipped in blueMSXv282full.zip." - source_ref: "system/bluemsx/Machines/MSX/config.ini" + source_ref: "system/bluemsx/Machines/MSX/config.ini:28, libretro.c:1196-1197, 1447, Src/Board/Machine.c:255-266, 397-470, 623-640, 1451" - name: MSXJ.rom installed_on: [batocera, recalbox, retrobat, retrodeck, retropie] @@ -114,7 +114,7 @@ files: required: false system: msx note: "MSX1 Japanese BIOS. Used by 'MSX - Japanese' machine." - source_ref: "system/bluemsx/Machines/MSX - Japanese/config.ini" + source_ref: "system/bluemsx/Machines/MSX - Japanese/config.ini:28, libretro.c:1196-1197, 1447, Src/Board/Machine.c:255-266, 397-470, 623-640, 1451" - name: MSXJ.rom path: "Machines/Shared Roms/MSXJ.rom" @@ -126,7 +126,7 @@ files: sha1: "df48902f5f12af8867ae1a87f255145f0e5e0774" md5: "f005e55c680ba6e7b19f6d4dc8f73ce5" note: "Shipped in blueMSXv282full.zip." - source_ref: "system/bluemsx/Machines/MSX - Japanese/config.ini" + source_ref: "system/bluemsx/Machines/MSX - Japanese/config.ini:28, libretro.c:1196-1197, 1447, Src/Board/Machine.c:255-266, 397-470, 623-640, 1451" - name: MSXBR.rom installed_on: [batocera, recalbox, retrobat, retrodeck, retropie] @@ -338,7 +338,7 @@ files: required: true system: msx2 note: "MSX2 generic main BIOS. Used by default 'MSX2' machine config." - source_ref: "system/bluemsx/Machines/MSX2/config.ini" + source_ref: "system/bluemsx/Machines/MSX2/config.ini:28, libretro.c:1196-1197, 1447, Src/Board/Machine.c:255-266, 397-470, 623-640, 1451" - name: MSX2.rom path: "Machines/Shared Roms/MSX2.rom" @@ -350,7 +350,7 @@ files: sha1: "6103b39f1e38d1aa2d84b1c3219c44f1abb5436e" md5: "ec3a01c91f24fbddcbcab0ad301bc9ef" note: "Shipped in blueMSXv282full.zip." - source_ref: "system/bluemsx/Machines/MSX2/config.ini" + source_ref: "system/bluemsx/Machines/MSX2/config.ini:28, libretro.c:1196-1197, 1447, Src/Board/Machine.c:255-266, 397-470, 623-640, 1451" - name: MSX2EXT.rom installed_on: [batocera, recalbox, retrobat, retrodeck, retropie] @@ -360,7 +360,7 @@ files: required: true system: msx2 note: "MSX2 extension BIOS (SubROM). Required alongside MSX2.rom." - source_ref: "system/bluemsx/Machines/MSX2/config.ini" + source_ref: "system/bluemsx/Machines/MSX2/config.ini:31, libretro.c:1196-1197, 1447, Src/Board/Machine.c:255-266, 397-470, 623-640, 1451" - name: MSX2EXT.rom path: "Machines/Shared Roms/MSX2EXT.rom" @@ -372,7 +372,7 @@ files: sha1: "5c1f9c7fb655e43d38e5dd1fcc6b942b2ff68b02" md5: "2183c2aff17cf4297bdb496de78c2e8a" note: "Shipped in blueMSXv282full.zip." - source_ref: "system/bluemsx/Machines/MSX2/config.ini" + source_ref: "system/bluemsx/Machines/MSX2/config.ini:31, libretro.c:1196-1197, 1447, Src/Board/Machine.c:255-266, 397-470, 623-640, 1451" - name: MSX2J.rom installed_on: [batocera, recalbox, retrobat, retrodeck, retropie] @@ -764,7 +764,7 @@ files: required: true system: msx2plus note: "MSX2+ main BIOS. Used by default 'MSX2+' machine config (auto-selected for .dsk/.cas/.rom)." - source_ref: "system/bluemsx/Machines/MSX2+/config.ini" + source_ref: "system/bluemsx/Machines/MSX2+/config.ini:31, libretro.c:1196-1197, 1447, Src/Board/Machine.c:255-266, 397-470, 623-640, 1451" - name: MSX2P.rom path: "Machines/Shared Roms/MSX2P.rom" @@ -776,7 +776,7 @@ files: sha1: "e90f80a61d94c617850c415e12ad70ac41e66bb7" md5: "847cc025ffae665487940ff2639540e5" note: "Shipped in blueMSXv282full.zip." - source_ref: "system/bluemsx/Machines/MSX2+/config.ini" + source_ref: "system/bluemsx/Machines/MSX2+/config.ini:31, libretro.c:1196-1197, 1447, Src/Board/Machine.c:255-266, 397-470, 623-640, 1451" - name: MSX2PEXT.rom installed_on: [batocera, recalbox, retrobat, retrodeck, retropie] @@ -786,7 +786,7 @@ files: required: true system: msx2plus note: "MSX2+ extension BIOS (SubROM)." - source_ref: "system/bluemsx/Machines/MSX2+/config.ini" + source_ref: "system/bluemsx/Machines/MSX2+/config.ini:35, libretro.c:1196-1197, 1447, Src/Board/Machine.c:255-266, 397-470, 623-640, 1451" - name: MSX2PEXT.rom path: "Machines/Shared Roms/MSX2PEXT.rom" @@ -798,7 +798,7 @@ files: sha1: "fe0254cbfc11405b79e7c86c7769bd6322b04995" md5: "7c8243c71d8f143b2531f01afa6a05dc" note: "Shipped in blueMSXv282full.zip." - source_ref: "system/bluemsx/Machines/MSX2+/config.ini" + source_ref: "system/bluemsx/Machines/MSX2+/config.ini:35, libretro.c:1196-1197, 1447, Src/Board/Machine.c:255-266, 397-470, 623-640, 1451" - name: MSX2PMUS.rom installed_on: [batocera, recalbox, retrobat, retrodeck, retropie] @@ -808,7 +808,7 @@ files: required: true system: msx2plus note: "MSX2+ MSX-MUSIC BIOS (FM-PAC built-in). Used by MSX2+ and MSX2 default configs." - source_ref: "system/bluemsx/Machines/MSX2+/config.ini" + source_ref: "system/bluemsx/Machines/MSX2+/config.ini:32, libretro.c:1196-1197, 1447, Src/Board/Machine.c:255-266, 397-470, 623-640, 1451" - name: MSX2PMUS.rom path: "Machines/Shared Roms/MSX2PMUS.rom" @@ -820,7 +820,7 @@ files: sha1: "6354ccc5c100b1c558c9395fa8c00784d2e9b0a3" md5: "f877f32e6d8687474ac5ee83e40de23b" note: "Shipped in blueMSXv282full.zip." - source_ref: "system/bluemsx/Machines/MSX2+/config.ini" + source_ref: "system/bluemsx/Machines/MSX2+/config.ini:32, libretro.c:1196-1197, 1447, Src/Board/Machine.c:255-266, 397-470, 623-640, 1451" # -- MSX turboR BIOS set -- @@ -832,7 +832,7 @@ files: required: true system: msxturboR note: "MSX turboR main BIOS." - source_ref: "system/bluemsx/Machines/MSXturboR/config.ini" + source_ref: "system/bluemsx/Machines/MSXturboR/config.ini:38, libretro.c:1196-1197, 1447, Src/Board/Machine.c:255-266, 397-470, 623-640, 1451" - name: MSXTR.ROM path: "Machines/Shared Roms/MSXTR.ROM" @@ -844,7 +844,7 @@ files: sha1: "242e73d8284a012b275c0a266844ebbc4269d787" md5: "fd9513736823e470965949f2a3ec6a43" note: "Shipped in blueMSXv282full.zip." - source_ref: "system/bluemsx/Machines/MSXturboR/config.ini" + source_ref: "system/bluemsx/Machines/MSXturboR/config.ini:38, libretro.c:1196-1197, 1447, Src/Board/Machine.c:255-266, 397-470, 623-640, 1451" - name: MSXTREXT.ROM installed_on: [batocera, recalbox, retrobat, retrodeck, retropie] @@ -854,7 +854,7 @@ files: required: true system: msxturboR note: "MSX turboR extension BIOS." - source_ref: "system/bluemsx/Machines/MSXturboR/config.ini" + source_ref: "system/bluemsx/Machines/MSXturboR/config.ini:43, libretro.c:1196-1197, 1447, Src/Board/Machine.c:255-266, 397-470, 623-640, 1451" - name: MSXTREXT.ROM path: "Machines/Shared Roms/MSXTREXT.ROM" @@ -866,7 +866,7 @@ files: sha1: "018d7a5222f28514908fb1b1513286a6558a6d05" md5: "824b1c4475a3bd3b91c5ae81ea940aa2" note: "Shipped in blueMSXv282full.zip." - source_ref: "system/bluemsx/Machines/MSXturboR/config.ini" + source_ref: "system/bluemsx/Machines/MSXturboR/config.ini:43, libretro.c:1196-1197, 1447, Src/Board/Machine.c:255-266, 397-470, 623-640, 1451" - name: MSXTRMUS.ROM installed_on: [batocera, recalbox, retrobat, retrodeck, retropie] @@ -876,7 +876,7 @@ files: required: true system: msxturboR note: "MSX turboR MSX-MUSIC BIOS." - source_ref: "system/bluemsx/Machines/MSXturboR/config.ini" + source_ref: "system/bluemsx/Machines/MSXturboR/config.ini:39, libretro.c:1196-1197, 1447, Src/Board/Machine.c:255-266, 397-470, 623-640, 1451" - name: MSXTRMUS.ROM path: "Machines/Shared Roms/MSXTRMUS.ROM" @@ -888,7 +888,7 @@ files: sha1: "6aea1aef5ec31c1826c22edf580525f93baad425" md5: "c688a229f834f95f8c64df7d33188cd8" note: "Shipped in blueMSXv282full.zip." - source_ref: "system/bluemsx/Machines/MSXturboR/config.ini" + source_ref: "system/bluemsx/Machines/MSXturboR/config.ini:39, libretro.c:1196-1197, 1447, Src/Board/Machine.c:255-266, 397-470, 623-640, 1451" - name: MSXTROPT.ROM installed_on: [batocera, recalbox, retrobat, retrodeck, retropie] @@ -898,7 +898,7 @@ files: required: true system: msxturboR note: "MSX turboR option ROM (firmware utilities)." - source_ref: "system/bluemsx/Machines/MSXturboR/config.ini" + source_ref: "system/bluemsx/Machines/MSXturboR/config.ini:40, libretro.c:1196-1197, 1447, Src/Board/Machine.c:255-266, 397-470, 623-640, 1451" - name: MSXTROPT.ROM path: "Machines/Shared Roms/MSXTROPT.ROM" @@ -910,7 +910,7 @@ files: sha1: "b4433a3975c57dd440d6bf12dbd28b2ac1b90ef4" md5: "2cba0d812ec445cfe63ffa2cac8d42c2" note: "Shipped in blueMSXv282full.zip." - source_ref: "system/bluemsx/Machines/MSXturboR/config.ini" + source_ref: "system/bluemsx/Machines/MSXturboR/config.ini:40, libretro.c:1196-1197, 1447, Src/Board/Machine.c:255-266, 397-470, 623-640, 1451" - name: MSXDOS23.ROM installed_on: [batocera, recalbox, retrobat, retrodeck, retropie] @@ -920,7 +920,7 @@ files: required: true system: msxturboR note: "MSX-DOS 2.3 ROM. Used by turboR default config for disk operations." - source_ref: "system/bluemsx/Machines/MSXturboR/config.ini" + source_ref: "system/bluemsx/Machines/MSXturboR/config.ini:45, libretro.c:1196-1197, 1447, Src/Board/Machine.c:255-266, 397-470, 623-640, 1451" - name: MSXDOS23.ROM path: "Machines/Shared Roms/MSXDOS23.ROM" @@ -932,7 +932,7 @@ files: sha1: "0527fb75775caa76c7eca8d449938ace83d36e96" md5: "56bf5b02fed377b7bb9d91f914965431" note: "Shipped in blueMSXv282full.zip." - source_ref: "system/bluemsx/Machines/MSXturboR/config.ini" + source_ref: "system/bluemsx/Machines/MSXturboR/config.ini:45, libretro.c:1196-1197, 1447, Src/Board/Machine.c:255-266, 397-470, 623-640, 1451" # -- Shared utility/extension ROMs -- @@ -943,7 +943,7 @@ files: size: 262144 required: false note: "Kanji font ROM (256 KB). Used by MSX2+, turboR, and Japanese MSX2 machines." - source_ref: "system/bluemsx/Machines/MSX2+/config.ini" + source_ref: "system/bluemsx/Machines/MSX2+/config.ini:28, libretro.c:1196-1197, 1447, Src/Board/Machine.c:255-266, 397-470, 623-640, 1451" - name: KANJI.rom path: "Machines/Shared Roms/KANJI.rom" @@ -954,7 +954,7 @@ files: sha1: "5aff2d9b6efc723bc395b0f96f0adfa83cc54a49" md5: "acf53887c2d2783dc059a9b442c86b90" note: "Shipped in blueMSXv282full.zip." - source_ref: "system/bluemsx/Machines/MSX2+/config.ini" + source_ref: "system/bluemsx/Machines/MSX2+/config.ini:28, libretro.c:1196-1197, 1447, Src/Board/Machine.c:255-266, 397-470, 623-640, 1451" - name: MSXKANJI.rom installed_on: [batocera, recalbox, retrobat, retrodeck, retropie] @@ -963,7 +963,7 @@ files: size: 32768 required: false note: "MSX-Kanji driver ROM. Used by MSX2+, turboR, and Japanese MSX2 for kanji display." - source_ref: "system/bluemsx/Machines/MSX2+/config.ini" + source_ref: "system/bluemsx/Machines/MSX2+/config.ini:36, libretro.c:1196-1197, 1447, Src/Board/Machine.c:255-266, 397-470, 623-640, 1451" - name: MSXKANJI.rom path: "Machines/Shared Roms/MSXKANJI.rom" @@ -974,7 +974,7 @@ files: sha1: "dcc3a67732aa01c4f2ee8d1ad886444a4dbafe06" md5: "9dfdebfaa6b547222a40aab8bb2e29f8" note: "Shipped in blueMSXv282full.zip." - source_ref: "system/bluemsx/Machines/MSX2+/config.ini" + source_ref: "system/bluemsx/Machines/MSX2+/config.ini:36, libretro.c:1196-1197, 1447, Src/Board/Machine.c:255-266, 397-470, 623-640, 1451" - name: FMPAC.rom installed_on: [batocera, recalbox, retrobat, retrodeck, retropie] @@ -1004,7 +1004,7 @@ files: size: 16384 required: false note: "MSX-BASIC 2 extension ROM. Used by MSX2, MSX2+, and turboR default configs." - source_ref: "system/bluemsx/Machines/MSX2/config.ini" + source_ref: "system/bluemsx/Machines/MSX2/config.ini:34, libretro.c:1196-1197, 1447, Src/Board/Machine.c:255-266, 397-470, 623-640, 1451" - name: XBASIC2.rom path: "Machines/Shared Roms/XBASIC2.rom" @@ -1015,7 +1015,7 @@ files: sha1: "47370bec7ca1f0615a54eda548b07fbc0c7ef398" md5: "0b6120f289336538bc564548109f97c6" note: "Shipped in blueMSXv282full.zip." - source_ref: "system/bluemsx/Machines/MSX2/config.ini" + source_ref: "system/bluemsx/Machines/MSX2/config.ini:34, libretro.c:1196-1197, 1447, Src/Board/Machine.c:255-266, 397-470, 623-640, 1451" - name: PAINT.rom installed_on: [batocera, recalbox, retrobat, retrodeck, retropie] @@ -1024,7 +1024,7 @@ files: size: 65536 required: false note: "Paint utility ROM. Loaded by the MSX2 - Arabic machine config." - source_ref: "system/bluemsx/Machines/MSX2 - Arabic/config.ini" + source_ref: "system/bluemsx/Machines/MSX2 - Arabic/config.ini:30, libretro.c:1196-1197, 1447, Src/Board/Machine.c:255-266, 397-470, 623-640, 1451" - name: PAINT.rom path: "Machines/Shared Roms/PAINT.rom" @@ -1035,7 +1035,7 @@ files: sha1: "ace202e87337fbc54fea21e22c0b3af0abe6f4ae" md5: "41db0d7b37be479296ffd59fcd6775f0" note: "Shipped in blueMSXv282full.zip." - source_ref: "system/bluemsx/Machines/MSX2 - Arabic/config.ini" + source_ref: "system/bluemsx/Machines/MSX2 - Arabic/config.ini:30, libretro.c:1196-1197, 1447, Src/Board/Machine.c:255-266, 397-470, 623-640, 1451" - name: SWP.rom installed_on: [batocera, recalbox, retrobat, retrodeck, retropie] @@ -1116,7 +1116,7 @@ files: size: 2097152 required: false note: "MoonSound (OPL4) wavetable ROM (2 MB). Used by MSX2, MSX2+, and turboR configs." - source_ref: "system/bluemsx/Machines/MSX2/config.ini" + source_ref: "system/bluemsx/Machines/MSX2/config.ini:26, libretro.c:1196-1197, 1447, Src/Board/Machine.c:255-266, 397-470, 623-640, 1451" - name: MOONSOUND.rom path: "Machines/Shared Roms/MOONSOUND.rom" @@ -1127,7 +1127,7 @@ files: sha1: "32760893ce06dbe3930627755ba065cc3d8ec6ca" md5: "42af93619160ef2116416f74a6cb12f2" note: "Shipped in blueMSXv282full.zip." - source_ref: "system/bluemsx/Machines/MSX2/config.ini" + source_ref: "system/bluemsx/Machines/MSX2/config.ini:26, libretro.c:1196-1197, 1447, Src/Board/Machine.c:255-266, 397-470, 623-640, 1451" # -- Disk controller ROMs -- @@ -1138,7 +1138,7 @@ files: size: 16384 required: false note: "Panasonic disk controller ROM. Used by MSX2+ and turboR default configs." - source_ref: "system/bluemsx/Machines/MSX2+/config.ini" + source_ref: "system/bluemsx/Machines/MSX2+/config.ini:37, libretro.c:1196-1197, 1447, Src/Board/Machine.c:255-266, 397-470, 623-640, 1451" - name: PANASONICDISK.rom path: "Machines/Shared Roms/PANASONICDISK.rom" @@ -1149,7 +1149,7 @@ files: sha1: "7ed7c55e0359737ac5e68d38cb6903f9e5d7c2b6" md5: "00aa02b6077de40a0b51d71a3c3e1d5f" note: "Shipped in blueMSXv282full.zip." - source_ref: "system/bluemsx/Machines/MSX2+/config.ini" + source_ref: "system/bluemsx/Machines/MSX2+/config.ini:37, libretro.c:1196-1197, 1447, Src/Board/Machine.c:255-266, 397-470, 623-640, 1451" - name: PHILIPSDISK.rom installed_on: [batocera, recalbox, retrobat, retrodeck, retropie] @@ -1158,7 +1158,7 @@ files: size: 16384 required: false note: "Philips disk controller ROM. Used by MSX1 and MSX2 default configs." - source_ref: "system/bluemsx/Machines/MSX/config.ini" + source_ref: "system/bluemsx/Machines/MSX/config.ini:29, libretro.c:1196-1197, 1447, Src/Board/Machine.c:255-266, 397-470, 623-640, 1451" - name: PHILIPSDISK.rom path: "Machines/Shared Roms/PHILIPSDISK.rom" @@ -1169,7 +1169,7 @@ files: sha1: "c3efedda7ab947a06d9345f7b8261076fa7ceeef" md5: "01dd1d72ed9bb6afe8a9b441c198a1cd" note: "Shipped in blueMSXv282full.zip." - source_ref: "system/bluemsx/Machines/MSX/config.ini" + source_ref: "system/bluemsx/Machines/MSX/config.ini:29, libretro.c:1196-1197, 1447, Src/Board/Machine.c:255-266, 397-470, 623-640, 1451" - name: NATIONALDISK.rom installed_on: [batocera, recalbox, retrobat, retrodeck, retropie] @@ -1521,7 +1521,7 @@ files: required: true system: colecovision note: "ColecoVision BIOS ROM. Required for ColecoVision mode." - source_ref: "system/bluemsx/Machines/COL - ColecoVision/config.ini" + source_ref: "system/bluemsx/Machines/COL - ColecoVision/config.ini:23, libretro.c:1196-1197, 1447, Src/Board/Machine.c:255-266, 397-470, 623-640, 1451" - name: coleco.rom path: "Machines/COL - ColecoVision/coleco.rom" @@ -1533,7 +1533,7 @@ files: sha1: "45bedc4cbdeac66c7df59e9e599195c778d86a92" md5: "2c66f5911e5b42b8ebe113403548eee7" note: "Shipped in blueMSXv282full.zip." - source_ref: "system/bluemsx/Machines/COL - ColecoVision/config.ini" + source_ref: "system/bluemsx/Machines/COL - ColecoVision/config.ini:23, libretro.c:1196-1197, 1447, Src/Board/Machine.c:255-266, 397-470, 623-640, 1451" # ============================================================ # SEGA SF-7000 BIOS @@ -1548,7 +1548,7 @@ files: required: true system: sega-sf7000 note: "Sega SF-7000 BIOS ROM. SG-1000 and SC-3000 have no BIOS requirement." - source_ref: "system/bluemsx/Machines/SEGA - SF-7000/config.ini" + source_ref: "system/bluemsx/Machines/SEGA - SF-7000/config.ini:23, libretro.c:1196-1197, 1447, Src/Board/Machine.c:255-266, 397-470, 623-640, 1451" - name: sf7000.rom path: "Machines/SEGA - SF-7000/sf7000.rom" @@ -1560,7 +1560,7 @@ files: sha1: "77339a6db2593aadc638bed77b8e9bed5d9d87e3" md5: "561b362f9aa4cbcb240461abf83c2e0d" note: "Shipped in blueMSXv282full.zip." - source_ref: "system/bluemsx/Machines/SEGA - SF-7000/config.ini" + source_ref: "system/bluemsx/Machines/SEGA - SF-7000/config.ini:23, libretro.c:1196-1197, 1447, Src/Board/Machine.c:255-266, 397-470, 623-640, 1451" # ============================================================ # Spectravideo SVI BIOS files @@ -1574,7 +1574,7 @@ files: required: true system: spectravideo note: "SVI-318 BIOS ROM." - source_ref: "system/bluemsx/Machines/SVI - Spectravideo SVI-318/config.ini" + source_ref: "system/bluemsx/Machines/SVI - Spectravideo SVI-318/config.ini:23, libretro.c:1196-1197, 1447, Src/Board/Machine.c:255-266, 397-470, 623-640, 1451" - name: svi318.rom path: "Machines/SVI - Spectravideo SVI-318/svi318.rom" @@ -1586,7 +1586,7 @@ files: sha1: "07758272df475e5e06187aa3574241df1b14035b" md5: "ee6ad7ea29e791b03a28a9443e622648" note: "Shipped in blueMSXv282full.zip." - source_ref: "system/bluemsx/Machines/SVI - Spectravideo SVI-318/config.ini" + source_ref: "system/bluemsx/Machines/SVI - Spectravideo SVI-318/config.ini:23, libretro.c:1196-1197, 1447, Src/Board/Machine.c:255-266, 397-470, 623-640, 1451" - name: svi328.rom installed_on: [batocera, recalbox, retrobat, retrodeck, retropie] @@ -1596,7 +1596,7 @@ files: required: true system: spectravideo note: "SVI-328 BIOS ROM." - source_ref: "system/bluemsx/Machines/SVI - Spectravideo SVI-328/config.ini" + source_ref: "system/bluemsx/Machines/SVI - Spectravideo SVI-328/config.ini:26, libretro.c:1196-1197, 1447, Src/Board/Machine.c:255-266, 397-470, 623-640, 1451" - name: svi328.rom path: "Machines/SVI - Spectravideo SVI-328/svi328.rom" @@ -1608,7 +1608,7 @@ files: sha1: "7d8daf52f78371ca2c9443e04827c8e1f98c8f2c" md5: "2cebd1db9dda475a011b7bce65c984a2" note: "Shipped in blueMSXv282full.zip." - source_ref: "system/bluemsx/Machines/SVI - Spectravideo SVI-328/config.ini" + source_ref: "system/bluemsx/Machines/SVI - Spectravideo SVI-328/config.ini:26, libretro.c:1196-1197, 1447, Src/Board/Machine.c:255-266, 397-470, 623-640, 1451" - name: svi328a.rom installed_on: [batocera, recalbox, retrobat, retrodeck, retropie] @@ -1630,7 +1630,7 @@ files: sha1: "10349ce675f6d6d47f0976e39cb7188eba858d89" md5: "352f054ab09605070bdff49d73f335cc" note: "Shipped in blueMSXv282full.zip." - source_ref: "system/bluemsx/Machines/SVI - Spectravideo SVI-328 MK2/config.ini:26" + source_ref: "system/bluemsx/Machines/SVI - Spectravideo SVI-328 MK2/config.ini:26, libretro.c:1196-1197, 1447, Src/Board/Machine.c:255-266, 397-470, 623-640, 1451" # ============================================================ # Machine-specific ROMs (Machines//) @@ -1650,7 +1650,7 @@ files: required: false system: msx2plus note: "MSX2+ European main BIOS. Used by the 'MSX2+ - European' machine config." - source_ref: "system/bluemsx/Machines/MSX2+ - European/config.ini:34" + source_ref: "system/bluemsx/Machines/MSX2+ - European/config.ini:34, libretro.c:1196-1197, 1447, Src/Board/Machine.c:255-266, 397-470, 623-640, 1451" - name: Msx2pe.rom path: "Machines/MSX2+ - European/Msx2pe.rom" @@ -1662,7 +1662,7 @@ files: sha1: "aea0e4a635efce5336e496d36e4cb0a4b79593ff" md5: "277fd57c13f301fb4b366845a32d673a" note: "Shipped in blueMSXv282full.zip." - source_ref: "system/bluemsx/Machines/MSX2+ - European/config.ini:34" + source_ref: "system/bluemsx/Machines/MSX2+ - European/config.ini:34, libretro.c:1196-1197, 1447, Src/Board/Machine.c:255-266, 397-470, 623-640, 1451" - name: Msx2pexte.rom installed_on: [batocera, recalbox, retrobat, retrodeck, retropie] @@ -1672,7 +1672,7 @@ files: required: false system: msx2plus note: "MSX2+ European extension BIOS (SubROM). Used by the 'MSX2+ - European' machine config." - source_ref: "system/bluemsx/Machines/MSX2+ - European/config.ini:39" + source_ref: "system/bluemsx/Machines/MSX2+ - European/config.ini:39, libretro.c:1196-1197, 1447, Src/Board/Machine.c:255-266, 397-470, 623-640, 1451" - name: Msx2pexte.rom path: "Machines/MSX2+ - European/Msx2pexte.rom" @@ -1684,7 +1684,7 @@ files: sha1: "cf00ec60608010aac94cfe245eb7aa67cb44d110" md5: "f78ab735aaad7045badbda8f4c8ac751" note: "Shipped in blueMSXv282full.zip." - source_ref: "system/bluemsx/Machines/MSX2+ - European/config.ini:39" + source_ref: "system/bluemsx/Machines/MSX2+ - European/config.ini:39, libretro.c:1196-1197, 1447, Src/Board/Machine.c:255-266, 397-470, 623-640, 1451" - name: pesadelo.rom installed_on: [batocera, recalbox, retrobat, retrodeck, retropie] @@ -1694,7 +1694,7 @@ files: required: false system: msx note: "Forte II arcade board ROM (board type MSX-ForteII). Used by the 'Forte II Games - Pesadelo' machine config." - source_ref: "system/bluemsx/Machines/Forte II Games - Pesadelo/config.ini:27" + source_ref: "system/bluemsx/Machines/Forte II Games - Pesadelo/config.ini:27, libretro.c:1196-1197, 1447, Src/Board/Machine.c:255-266, 397-470, 623-640, 1451" - name: pesadelo.rom path: "Machines/Forte II Games - Pesadelo/pesadelo.rom" @@ -1706,7 +1706,7 @@ files: sha1: "12880dd7ad82acf04861843fb9d4f0f926d18f6b" md5: "ba53d700ec25bcb08020ce693319cd28" note: "Shipped in blueMSXv282full.zip." - source_ref: "system/bluemsx/Machines/Forte II Games - Pesadelo/config.ini:27" + source_ref: "system/bluemsx/Machines/Forte II Games - Pesadelo/config.ini:27, libretro.c:1196-1197, 1447, Src/Board/Machine.c:255-266, 397-470, 623-640, 1451" # ============================================================ # Databases (required for ROM identification/mapper detection) From 29eb53f0834fde0af38b5b86c6c4bceb2860239a Mon Sep 17 00:00:00 2001 From: Abdessamad Derraz <3028866+Abdess@users.noreply.github.com> Date: Tue, 10 Nov 2026 13:28:49 +0100 Subject: [PATCH 06/22] docs: cite the hardware config reader in openMSX System ROM entries named only a machine or extension XML. They now cite the rule that ships share (install.py for openMSX, libretro_share.py and installShare for the libretro core), HardwareConfig loading machines/ or extensions/, and Rom.cc resolving the rom by filename then by sha1 in the file pool. --- emulators/openmsx-libretro.yml | 210 ++++++++++++++++----------------- emulators/openmsx.yml | 60 +++++----- 2 files changed, 135 insertions(+), 135 deletions(-) diff --git a/emulators/openmsx-libretro.yml b/emulators/openmsx-libretro.yml index 98df73e1b..4b2131c3a 100644 --- a/emulators/openmsx-libretro.yml +++ b/emulators/openmsx-libretro.yml @@ -53,7 +53,7 @@ files: required: false validation: [sha1] description: "Read by machine Philips_VG_8020" - source_ref: "share/machines/Philips_VG_8020.xml:52-55" + source_ref: "share/machines/Philips_VG_8020.xml:52-55, build/libretro_share.py:17-23, src/libretro/LibretroCore.cc:146-160, src/config/HardwareConfig.cc:25-33, 249-277, src/memory/Rom.cc:135-136, 165-218" - name: "hb-75p_basic-bios1.rom" aliases: ["cx5m_basic-bios1.rom"] @@ -62,7 +62,7 @@ files: required: false validation: [sha1] description: "Read by machines Sony_HB-75P, Yamaha_CX5M" - source_ref: "share/machines/Sony_HB-75P.xml:59-62, share/machines/Yamaha_CX5M.xml:54-57" + source_ref: "share/machines/Sony_HB-75P.xml:59-62, share/machines/Yamaha_CX5M.xml:54-57, build/libretro_share.py:17-23, src/libretro/LibretroCore.cc:146-160, src/config/HardwareConfig.cc:25-33, 249-277, src/memory/Rom.cc:135-136, 165-218" note: "share/machines/Yamaha_CX5M.xml names it cx5m_basic-bios1.rom." - name: "hb-75p_firmware.rom" @@ -71,7 +71,7 @@ files: required: false validation: [sha1] description: "Read by machine Sony_HB-75P" - source_ref: "share/machines/Sony_HB-75P.xml:66-69" + source_ref: "share/machines/Sony_HB-75P.xml:66-69, build/libretro_share.py:17-23, src/libretro/LibretroCore.cc:146-160, src/config/HardwareConfig.cc:25-33, 249-277, src/memory/Rom.cc:135-136, 165-218" - name: "hx-10_basic-bios1.rom" path: "openmsx/share/systemroms/hx-10_basic-bios1.rom" @@ -79,7 +79,7 @@ files: required: false validation: [sha1] description: "Read by machine Toshiba_HX-10" - source_ref: "share/machines/Toshiba_HX-10.xml:58-61" + source_ref: "share/machines/Toshiba_HX-10.xml:58-61, build/libretro_share.py:17-23, src/libretro/LibretroCore.cc:146-160, src/config/HardwareConfig.cc:25-33, 249-277, src/memory/Rom.cc:135-136, 165-218" - name: "sfg-01.rom" path: "openmsx/share/systemroms/sfg-01.rom" @@ -87,7 +87,7 @@ files: required: false validation: [sha1] description: "Read by machine Yamaha_CX5M and extension Yamaha_SFG-01" - source_ref: "share/machines/Yamaha_CX5M.xml:80-83, share/extensions/Yamaha_SFG-01.xml:31-34" + source_ref: "share/machines/Yamaha_CX5M.xml:80-83, share/extensions/Yamaha_SFG-01.xml:31-34, build/libretro_share.py:17-23, src/libretro/LibretroCore.cc:146-160, src/config/HardwareConfig.cc:25-33, 35-45, 249-277, src/memory/Rom.cc:135-136, 165-218" - name: "NMS8245SystemROM1.08.bin" path: "openmsx/share/systemroms/NMS8245SystemROM1.08.bin" @@ -95,7 +95,7 @@ files: required: false validation: [sha1] description: "Read by machine Philips_NMS_8245" - source_ref: "share/machines/Philips_NMS_8245.xml:61-65, share/machines/Philips_NMS_8245.xml:92-96, share/machines/Philips_NMS_8245.xml:134-138" + source_ref: "share/machines/Philips_NMS_8245.xml:61-65, share/machines/Philips_NMS_8245.xml:92-96, share/machines/Philips_NMS_8245.xml:134-138, build/libretro_share.py:17-23, src/libretro/LibretroCore.cc:146-160, src/config/HardwareConfig.cc:25-33, 249-277, src/memory/Rom.cc:135-136, 165-218" - name: "NMS8245SystemROM1.06.bin" path: "openmsx/share/systemroms/NMS8245SystemROM1.06.bin" @@ -103,7 +103,7 @@ files: required: false validation: [sha1] description: "Read by machine Philips_NMS_8245" - source_ref: "share/machines/Philips_NMS_8245.xml:66-70, share/machines/Philips_NMS_8245.xml:97-101, share/machines/Philips_NMS_8245.xml:139-143" + source_ref: "share/machines/Philips_NMS_8245.xml:66-70, share/machines/Philips_NMS_8245.xml:97-101, share/machines/Philips_NMS_8245.xml:139-143, build/libretro_share.py:17-23, src/libretro/LibretroCore.cc:146-160, src/config/HardwareConfig.cc:25-33, 249-277, src/memory/Rom.cc:135-136, 165-218" - name: "NMS8245SystemROM1.05.bin" path: "openmsx/share/systemroms/NMS8245SystemROM1.05.bin" @@ -111,7 +111,7 @@ files: required: false validation: [sha1] description: "Read by machine Philips_NMS_8245" - source_ref: "share/machines/Philips_NMS_8245.xml:71-75, share/machines/Philips_NMS_8245.xml:102-106" + source_ref: "share/machines/Philips_NMS_8245.xml:71-75, share/machines/Philips_NMS_8245.xml:102-106, build/libretro_share.py:17-23, src/libretro/LibretroCore.cc:146-160, src/config/HardwareConfig.cc:25-33, 249-277, src/memory/Rom.cc:135-136, 165-218" - name: "nms8245_basic-bios2.rom" aliases: ["nms8250_basic-bios2.rom"] @@ -120,7 +120,7 @@ files: required: false validation: [sha1] description: "Read by machines Philips_NMS_8245, Philips_NMS_8250" - source_ref: "share/machines/Philips_NMS_8245.xml:76-79, share/machines/Philips_NMS_8250.xml:23-26" + source_ref: "share/machines/Philips_NMS_8245.xml:76-79, share/machines/Philips_NMS_8250.xml:23-26, build/libretro_share.py:17-23, src/libretro/LibretroCore.cc:146-160, src/config/HardwareConfig.cc:25-33, 249-277, src/memory/Rom.cc:135-136, 165-218" note: "share/machines/Philips_NMS_8250.xml names it nms8250_basic-bios2.rom." - name: "nms8245_msx2sub.rom" @@ -129,7 +129,7 @@ files: required: false validation: [sha1] description: "Read by machine Philips_NMS_8245" - source_ref: "share/machines/Philips_NMS_8245.xml:107-111" + source_ref: "share/machines/Philips_NMS_8245.xml:107-111, build/libretro_share.py:17-23, src/libretro/LibretroCore.cc:146-160, src/config/HardwareConfig.cc:25-33, 249-277, src/memory/Rom.cc:135-136, 165-218" - name: "NMS8245SystemROM1.05.bin" path: "openmsx/share/systemroms/7e6a267e/NMS8245SystemROM1.05.bin" @@ -137,7 +137,7 @@ files: required: false validation: [sha1] description: "Read by machine Philips_NMS_8245" - source_ref: "share/machines/Philips_NMS_8245.xml:144-148" + source_ref: "share/machines/Philips_NMS_8245.xml:144-148, build/libretro_share.py:17-23, src/libretro/LibretroCore.cc:146-160, src/config/HardwareConfig.cc:25-33, 249-277, src/memory/Rom.cc:135-136, 165-218" - name: "nms8245_disk.rom" path: "openmsx/share/systemroms/nms8245_disk.rom" @@ -145,7 +145,7 @@ files: required: false validation: [sha1] description: "Read by machine Philips_NMS_8245" - source_ref: "share/machines/Philips_NMS_8245.xml:149-153" + source_ref: "share/machines/Philips_NMS_8245.xml:149-153, build/libretro_share.py:17-23, src/libretro/LibretroCore.cc:146-160, src/config/HardwareConfig.cc:25-33, 249-277, src/memory/Rom.cc:135-136, 165-218" - name: "nms8250_msx2sub.rom" path: "openmsx/share/systemroms/nms8250_msx2sub.rom" @@ -153,7 +153,7 @@ files: required: false validation: [sha1] description: "Read by machine Philips_NMS_8250" - source_ref: "share/machines/Philips_NMS_8250.xml:39-42" + source_ref: "share/machines/Philips_NMS_8250.xml:39-42, build/libretro_share.py:17-23, src/libretro/LibretroCore.cc:146-160, src/config/HardwareConfig.cc:25-33, 249-277, src/memory/Rom.cc:135-136, 165-218" - name: "nms8250_disk.rom" path: "openmsx/share/systemroms/nms8250_disk.rom" @@ -161,7 +161,7 @@ files: required: false validation: [sha1] description: "Read by machine Philips_NMS_8250" - source_ref: "share/machines/Philips_NMS_8250.xml:62-67" + source_ref: "share/machines/Philips_NMS_8250.xml:62-67, build/libretro_share.py:17-23, src/libretro/LibretroCore.cc:146-160, src/config/HardwareConfig.cc:25-33, 249-277, src/memory/Rom.cc:135-136, 165-218" - name: "hb-f700p_basic-bios2.rom" path: "openmsx/share/systemroms/hb-f700p_basic-bios2.rom" @@ -169,7 +169,7 @@ files: required: false validation: [sha1] description: "Read by machine Sony_HB-F700P" - source_ref: "share/machines/Sony_HB-F700P.xml:65-68" + source_ref: "share/machines/Sony_HB-F700P.xml:65-68, build/libretro_share.py:17-23, src/libretro/LibretroCore.cc:146-160, src/config/HardwareConfig.cc:25-33, 249-277, src/memory/Rom.cc:135-136, 165-218" - name: "hb-f700p_msx2sub.rom" path: "openmsx/share/systemroms/hb-f700p_msx2sub.rom" @@ -177,7 +177,7 @@ files: required: false validation: [sha1] description: "Read by machine Sony_HB-F700P" - source_ref: "share/machines/Sony_HB-F700P.xml:83-87" + source_ref: "share/machines/Sony_HB-F700P.xml:83-87, build/libretro_share.py:17-23, src/libretro/LibretroCore.cc:146-160, src/config/HardwareConfig.cc:25-33, 249-277, src/memory/Rom.cc:135-136, 165-218" - name: "hb-f700p_disk.rom" path: "openmsx/share/systemroms/hb-f700p_disk.rom" @@ -185,7 +185,7 @@ files: required: false validation: [sha1] description: "Read by machine Sony_HB-F700P" - source_ref: "share/machines/Sony_HB-F700P.xml:94-98" + source_ref: "share/machines/Sony_HB-F700P.xml:94-98, build/libretro_share.py:17-23, src/libretro/LibretroCore.cc:146-160, src/config/HardwareConfig.cc:25-33, 249-277, src/memory/Rom.cc:135-136, 165-218" - name: "hb-f1xd_basic-bios2.rom" path: "openmsx/share/systemroms/hb-f1xd_basic-bios2.rom" @@ -193,7 +193,7 @@ files: required: false validation: [sha1] description: "Read by machine Sony_HB-F1XD" - source_ref: "share/machines/Sony_HB-F1XD.xml:69-72" + source_ref: "share/machines/Sony_HB-F1XD.xml:69-72, build/libretro_share.py:17-23, src/libretro/LibretroCore.cc:146-160, src/config/HardwareConfig.cc:25-33, 249-277, src/memory/Rom.cc:135-136, 165-218" - name: "hb-f1xd_msx2sub.rom" path: "openmsx/share/systemroms/hb-f1xd_msx2sub.rom" @@ -201,7 +201,7 @@ files: required: false validation: [sha1] description: "Read by machine Sony_HB-F1XD" - source_ref: "share/machines/Sony_HB-F1XD.xml:85-88" + source_ref: "share/machines/Sony_HB-F1XD.xml:85-88, build/libretro_share.py:17-23, src/libretro/LibretroCore.cc:146-160, src/config/HardwareConfig.cc:25-33, 249-277, src/memory/Rom.cc:135-136, 165-218" - name: "hb-f1xd_disk.rom" aliases: ["hbd-20w.rom", "hbd-f1.rom"] @@ -210,7 +210,7 @@ files: required: false validation: [sha1] description: "Read by machine Sony_HB-F1XD and extensions Sony_HBD-20W, Sony_HBD-F1" - source_ref: "share/machines/Sony_HB-F1XD.xml:95-98, share/extensions/Sony_HBD-20W.xml:21-24, share/extensions/Sony_HBD-F1.xml:21-24" + source_ref: "share/machines/Sony_HB-F1XD.xml:95-98, share/extensions/Sony_HBD-20W.xml:21-24, share/extensions/Sony_HBD-F1.xml:21-24, build/libretro_share.py:17-23, src/libretro/LibretroCore.cc:146-160, src/config/HardwareConfig.cc:25-33, 35-45, 249-277, src/memory/Rom.cc:135-136, 165-218" note: "share/extensions/Sony_HBD-20W.xml names it hbd-20w.rom, and share/extensions/Sony_HBD-F1.xml names it hbd-f1.rom." - name: "hb-f1xv_kanjifont.rom" @@ -220,7 +220,7 @@ files: required: false validation: [sha1] description: "Read by machine Sony_HB-F1XV and extension Sony_HBI-J1" - source_ref: "share/machines/Sony_HB-F1XV.xml:30-33, share/extensions/Sony_HBI-J1.xml:15-18" + source_ref: "share/machines/Sony_HB-F1XV.xml:30-33, share/extensions/Sony_HBI-J1.xml:15-18, build/libretro_share.py:17-23, src/libretro/LibretroCore.cc:146-160, src/config/HardwareConfig.cc:25-33, 35-45, 249-277, src/memory/Rom.cc:135-136, 165-218" note: "share/extensions/Sony_HBI-J1.xml names it hbi-j1_kanjifont.rom." - name: "Sony_HB-F1XV.rom" @@ -229,7 +229,7 @@ files: required: false validation: [sha1] description: "Read by machine Sony_HB-F1XV" - source_ref: "share/machines/Sony_HB-F1XV.xml:89-93, share/machines/Sony_HB-F1XV.xml:136-140, share/machines/Sony_HB-F1XV.xml:148-152, share/machines/Sony_HB-F1XV.xml:166-170, share/machines/Sony_HB-F1XV.xml:182-186" + source_ref: "share/machines/Sony_HB-F1XV.xml:89-93, share/machines/Sony_HB-F1XV.xml:136-140, share/machines/Sony_HB-F1XV.xml:148-152, share/machines/Sony_HB-F1XV.xml:166-170, share/machines/Sony_HB-F1XV.xml:182-186, build/libretro_share.py:17-23, src/libretro/LibretroCore.cc:146-160, src/config/HardwareConfig.cc:25-33, 249-277, src/memory/Rom.cc:135-136, 165-218" - name: "hb-f1xv_basic-bios2p.rom" path: "openmsx/share/systemroms/hb-f1xv_basic-bios2p.rom" @@ -237,7 +237,7 @@ files: required: false validation: [sha1] description: "Read by machine Sony_HB-F1XV" - source_ref: "share/machines/Sony_HB-F1XV.xml:94-97" + source_ref: "share/machines/Sony_HB-F1XV.xml:94-97, build/libretro_share.py:17-23, src/libretro/LibretroCore.cc:146-160, src/config/HardwareConfig.cc:25-33, 249-277, src/memory/Rom.cc:135-136, 165-218" - name: "hb-f1xv.rom" aliases: ["hbi-j1_msx-je.rom"] @@ -246,7 +246,7 @@ files: required: false validation: [sha1] description: "Read by machine Sony_HB-F1XV and extension Sony_HBI-J1" - source_ref: "share/machines/Sony_HB-F1XV.xml:108-111, share/extensions/Sony_HBI-J1.xml:27-30" + source_ref: "share/machines/Sony_HB-F1XV.xml:108-111, share/extensions/Sony_HBI-J1.xml:27-30, build/libretro_share.py:17-23, src/libretro/LibretroCore.cc:146-160, src/config/HardwareConfig.cc:25-33, 35-45, 249-277, src/memory/Rom.cc:135-136, 165-218" note: "share/extensions/Sony_HBI-J1.xml names it hbi-j1_msx-je.rom." - name: "hb-f1xv_msx2sub.rom" @@ -256,7 +256,7 @@ files: required: false validation: [sha1] description: "Read by machines Sony_HB-F1XV, Panasonic_FS-A1WSX" - source_ref: "share/machines/Sony_HB-F1XV.xml:141-144, share/machines/Panasonic_FS-A1WSX.xml:158-161" + source_ref: "share/machines/Sony_HB-F1XV.xml:141-144, share/machines/Panasonic_FS-A1WSX.xml:158-161, build/libretro_share.py:17-23, src/libretro/LibretroCore.cc:146-160, src/config/HardwareConfig.cc:25-33, 249-277, src/memory/Rom.cc:135-136, 165-218" note: "share/machines/Panasonic_FS-A1WSX.xml names it fs-a1wsx_msx2psub.rom." - name: "hb-f1xv_kanjibasic.rom" @@ -266,7 +266,7 @@ files: required: false validation: [sha1] description: "Read by machines Sony_HB-F1XV, Panasonic_FS-A1WSX" - source_ref: "share/machines/Sony_HB-F1XV.xml:153-156, share/machines/Panasonic_FS-A1WSX.xml:165-168" + source_ref: "share/machines/Sony_HB-F1XV.xml:153-156, share/machines/Panasonic_FS-A1WSX.xml:165-168, build/libretro_share.py:17-23, src/libretro/LibretroCore.cc:146-160, src/config/HardwareConfig.cc:25-33, 249-277, src/memory/Rom.cc:135-136, 165-218" note: "share/machines/Panasonic_FS-A1WSX.xml names it fs-a1wsx_kanjibasic.rom." - name: "hb-f1xv_disk.rom" @@ -275,7 +275,7 @@ files: required: false validation: [sha1] description: "Read by machine Sony_HB-F1XV" - source_ref: "share/machines/Sony_HB-F1XV.xml:171-174" + source_ref: "share/machines/Sony_HB-F1XV.xml:171-174, build/libretro_share.py:17-23, src/libretro/LibretroCore.cc:146-160, src/config/HardwareConfig.cc:25-33, 249-277, src/memory/Rom.cc:135-136, 165-218" - name: "hb-f1xv_fmbasic.rom" path: "openmsx/share/systemroms/hb-f1xv_fmbasic.rom" @@ -283,7 +283,7 @@ files: required: false validation: [sha1] description: "Read by machine Sony_HB-F1XV" - source_ref: "share/machines/Sony_HB-F1XV.xml:187-190" + source_ref: "share/machines/Sony_HB-F1XV.xml:187-190, build/libretro_share.py:17-23, src/libretro/LibretroCore.cc:146-160, src/config/HardwareConfig.cc:25-33, 249-277, src/memory/Rom.cc:135-136, 165-218" - name: "fs-a1wsx_kanjifont.rom" aliases: ["fs-a1st_kanjifont.rom", "fs-a1gt_kanjifont.rom"] @@ -292,7 +292,7 @@ files: required: false validation: [sha1] description: "Read by machines Panasonic_FS-A1WSX, Panasonic_FS-A1ST, Panasonic_FS-A1GT" - source_ref: "share/machines/Panasonic_FS-A1WSX.xml:28-31, share/machines/Panasonic_FS-A1ST.xml:32-35, share/machines/Panasonic_FS-A1GT.xml:140-143" + source_ref: "share/machines/Panasonic_FS-A1WSX.xml:28-31, share/machines/Panasonic_FS-A1ST.xml:32-35, share/machines/Panasonic_FS-A1GT.xml:140-143, build/libretro_share.py:17-23, src/libretro/LibretroCore.cc:146-160, src/config/HardwareConfig.cc:25-33, 249-277, src/memory/Rom.cc:135-136, 165-218" note: "share/machines/Panasonic_FS-A1ST.xml names it fs-a1st_kanjifont.rom, and share/machines/Panasonic_FS-A1GT.xml names it fs-a1gt_kanjifont.rom." - name: "fs-a1wsx_IC18.rom" @@ -301,7 +301,7 @@ files: required: false validation: [sha1] description: "Read by machine Panasonic_FS-A1WSX" - source_ref: "share/machines/Panasonic_FS-A1WSX.xml:97-101, share/machines/Panasonic_FS-A1WSX.xml:114-118, share/machines/Panasonic_FS-A1WSX.xml:153-157, share/machines/Panasonic_FS-A1WSX.xml:177-181" + source_ref: "share/machines/Panasonic_FS-A1WSX.xml:97-101, share/machines/Panasonic_FS-A1WSX.xml:114-118, share/machines/Panasonic_FS-A1WSX.xml:153-157, share/machines/Panasonic_FS-A1WSX.xml:177-181, build/libretro_share.py:17-23, src/libretro/LibretroCore.cc:146-160, src/config/HardwareConfig.cc:25-33, 249-277, src/memory/Rom.cc:135-136, 165-218" - name: "fs-a1wsx_basic-bios2p.rom" path: "openmsx/share/systemroms/fs-a1wsx_basic-bios2p.rom" @@ -309,7 +309,7 @@ files: required: false validation: [sha1] description: "Read by machine Panasonic_FS-A1WSX" - source_ref: "share/machines/Panasonic_FS-A1WSX.xml:102-105" + source_ref: "share/machines/Panasonic_FS-A1WSX.xml:102-105, build/libretro_share.py:17-23, src/libretro/LibretroCore.cc:146-160, src/config/HardwareConfig.cc:25-33, 249-277, src/memory/Rom.cc:135-136, 165-218" - name: "fs-a1wsx_fmbasic.rom" path: "openmsx/share/systemroms/fs-a1wsx_fmbasic.rom" @@ -317,7 +317,7 @@ files: required: false validation: [sha1] description: "Read by machine Panasonic_FS-A1WSX" - source_ref: "share/machines/Panasonic_FS-A1WSX.xml:119-123" + source_ref: "share/machines/Panasonic_FS-A1WSX.xml:119-123, build/libretro_share.py:17-23, src/libretro/LibretroCore.cc:146-160, src/config/HardwareConfig.cc:25-33, 249-277, src/memory/Rom.cc:135-136, 165-218" - name: "fs-a1wsx_disk.rom" path: "openmsx/share/systemroms/fs-a1wsx_disk.rom" @@ -325,7 +325,7 @@ files: required: false validation: [sha1] description: "Read by machine Panasonic_FS-A1WSX" - source_ref: "share/machines/Panasonic_FS-A1WSX.xml:182-185" + source_ref: "share/machines/Panasonic_FS-A1WSX.xml:182-185, build/libretro_share.py:17-23, src/libretro/LibretroCore.cc:146-160, src/config/HardwareConfig.cc:25-33, 249-277, src/memory/Rom.cc:135-136, 165-218" - name: "fs-a1wsx_firmware.rom" path: "openmsx/share/systemroms/fs-a1wsx_firmware.rom" @@ -333,7 +333,7 @@ files: required: false validation: [sha1] description: "Read by machine Panasonic_FS-A1WSX" - source_ref: "share/machines/Panasonic_FS-A1WSX.xml:211-214" + source_ref: "share/machines/Panasonic_FS-A1WSX.xml:211-214, build/libretro_share.py:17-23, src/libretro/LibretroCore.cc:146-160, src/config/HardwareConfig.cc:25-33, 249-277, src/memory/Rom.cc:135-136, 165-218" - name: "fs-a1st_firmware.rom" path: "openmsx/share/systemroms/fs-a1st_firmware.rom" @@ -341,7 +341,7 @@ files: required: false validation: [sha1] description: "Read by machine Panasonic_FS-A1ST" - source_ref: "share/machines/Panasonic_FS-A1ST.xml:22-26" + source_ref: "share/machines/Panasonic_FS-A1ST.xml:22-26, build/libretro_share.py:17-23, src/libretro/LibretroCore.cc:146-160, src/config/HardwareConfig.cc:25-33, 249-277, src/memory/Rom.cc:135-136, 165-218" - name: "fs-a1gt_firmware.rom" path: "openmsx/share/systemroms/fs-a1gt_firmware.rom" @@ -349,7 +349,7 @@ files: required: false validation: [sha1] description: "Read by machine Panasonic_FS-A1GT" - source_ref: "share/machines/Panasonic_FS-A1GT.xml:22-26" + source_ref: "share/machines/Panasonic_FS-A1GT.xml:22-26, build/libretro_share.py:17-23, src/libretro/LibretroCore.cc:146-160, src/config/HardwareConfig.cc:25-33, 249-277, src/memory/Rom.cc:135-136, 165-218" - name: "ascii_msxdos22.rom" path: "openmsx/share/systemroms/ascii_msxdos22.rom" @@ -357,7 +357,7 @@ files: required: false validation: [sha1] description: "Read by extension ASCII_MSX-DOS2" - source_ref: "share/extensions/ASCII_MSX-DOS2.xml:18-21, share/extensions/ASCII_MSX-DOS2.xml:36-40" + source_ref: "share/extensions/ASCII_MSX-DOS2.xml:18-21, share/extensions/ASCII_MSX-DOS2.xml:36-40, build/libretro_share.py:17-23, src/libretro/LibretroCore.cc:146-160, src/config/HardwareConfig.cc:35-45, 249-277, src/memory/Rom.cc:135-136, 165-218" - name: "msx-write_kanjifont.rom" aliases: ["ec-702_kanjifont.rom"] @@ -366,7 +366,7 @@ files: required: false validation: [sha1] description: "Read by extensions ASCII_Japanese_MSX-Write, Konami_EC-702" - source_ref: "share/extensions/ASCII_Japanese_MSX-Write.xml:15-18, share/extensions/Konami_EC-702.xml:14-17" + source_ref: "share/extensions/ASCII_Japanese_MSX-Write.xml:15-18, share/extensions/Konami_EC-702.xml:14-17, build/libretro_share.py:17-23, src/libretro/LibretroCore.cc:146-160, src/config/HardwareConfig.cc:35-45, 249-277, src/memory/Rom.cc:135-136, 165-218" note: "share/extensions/Konami_EC-702.xml names it ec-702_kanjifont.rom." - name: "Japanese MSX-Write (1986) (Ascii) (J).rom" @@ -375,7 +375,7 @@ files: required: false validation: [sha1] description: "Read by extension ASCII_Japanese_MSX-Write" - source_ref: "share/extensions/ASCII_Japanese_MSX-Write.xml:26-29" + source_ref: "share/extensions/ASCII_Japanese_MSX-Write.xml:26-29, build/libretro_share.py:17-23, src/libretro/LibretroCore.cc:146-160, src/config/HardwareConfig.cc:35-45, 249-277, src/memory/Rom.cc:135-136, 165-218" - name: "msx-write_ii_kanjifont.rom" path: "openmsx/share/systemroms/msx-write_ii_kanjifont.rom" @@ -383,7 +383,7 @@ files: required: false validation: [sha1] description: "Read by extension ASCII_Japanese_MSX-Write_II" - source_ref: "share/extensions/ASCII_Japanese_MSX-Write_II.xml:15-18" + source_ref: "share/extensions/ASCII_Japanese_MSX-Write_II.xml:15-18, build/libretro_share.py:17-23, src/libretro/LibretroCore.cc:146-160, src/config/HardwareConfig.cc:35-45, 249-277, src/memory/Rom.cc:135-136, 165-218" - name: "Japanese MSX-Write II (1988) (Ascii) (J).rom" path: "openmsx/share/systemroms/Japanese MSX-Write II (1988) (Ascii) (J).rom" @@ -391,7 +391,7 @@ files: required: false validation: [sha1] description: "Read by extension ASCII_Japanese_MSX-Write_II" - source_ref: "share/extensions/ASCII_Japanese_MSX-Write_II.xml:28-31" + source_ref: "share/extensions/ASCII_Japanese_MSX-Write_II.xml:28-31, build/libretro_share.py:17-23, src/libretro/LibretroCore.cc:146-160, src/config/HardwareConfig.cc:35-45, 249-277, src/memory/Rom.cc:135-136, 165-218" - name: "msxdos22.rom" path: "openmsx/share/systemroms/msxdos22.rom" @@ -399,7 +399,7 @@ files: required: false validation: [sha1] description: "Read by extension msxdos2" - source_ref: "share/extensions/msxdos2.xml:17-22" + source_ref: "share/extensions/msxdos2.xml:17-22, build/libretro_share.py:17-23, src/libretro/LibretroCore.cc:146-160, src/config/HardwareConfig.cc:35-45, 249-277, src/memory/Rom.cc:135-136, 165-218" - name: "avt_dpf-550_disk.rom" path: "openmsx/share/systemroms/avt_dpf-550_disk.rom" @@ -407,7 +407,7 @@ files: required: false validation: [sha1] description: "Read by extension AVT_DPF-550" - source_ref: "share/extensions/AVT_DPF-550.xml:20-23" + source_ref: "share/extensions/AVT_DPF-550.xml:20-23, build/libretro_share.py:17-23, src/libretro/LibretroCore.cc:146-160, src/config/HardwareConfig.cc:35-45, 249-277, src/memory/Rom.cc:135-136, 165-218" - name: "mu-pack.rom" path: "openmsx/share/systemroms/mu-pack.rom" @@ -415,7 +415,7 @@ files: required: false validation: [sha1] description: "Read by extension mu-PACK" - source_ref: "share/extensions/mu-PACK.xml:26-29" + source_ref: "share/extensions/mu-PACK.xml:26-29, build/libretro_share.py:17-23, src/libretro/LibretroCore.cc:146-160, src/config/HardwareConfig.cc:35-45, 249-277, src/memory/Rom.cc:135-136, 165-218" - name: "fmpak.rom" path: "openmsx/share/systemroms/fmpak.rom" @@ -423,7 +423,7 @@ files: required: false validation: [sha1] description: "Read by extension Checkmark_FM_Stereo_PAK" - source_ref: "share/extensions/Checkmark_FM_Stereo_PAK.xml:25-28" + source_ref: "share/extensions/Checkmark_FM_Stereo_PAK.xml:25-28, build/libretro_share.py:17-23, src/libretro/LibretroCore.cc:146-160, src/config/HardwareConfig.cc:35-45, 249-277, src/memory/Rom.cc:135-136, 165-218" - name: "computer_mates_disk_interface.rom" path: "openmsx/share/systemroms/computer_mates_disk_interface.rom" @@ -431,7 +431,7 @@ files: required: false validation: [sha1] description: "Read by extension Computer_Mates_Disk_Interface" - source_ref: "share/extensions/Computer_Mates_Disk_Interface.xml:44-47" + source_ref: "share/extensions/Computer_Mates_Disk_Interface.xml:44-47, build/libretro_share.py:17-23, src/libretro/LibretroCore.cc:146-160, src/config/HardwareConfig.cc:35-45, 249-277, src/memory/Rom.cc:135-136, 165-218" - name: "ROM_Hunter_Mk2.rom" path: "openmsx/share/systemroms/ROM_Hunter_Mk2.rom" @@ -439,7 +439,7 @@ files: required: false validation: [sha1] description: "Read by extension ROM_Hunter_Mk2" - source_ref: "share/extensions/ROM_Hunter_Mk2.xml:17-20" + source_ref: "share/extensions/ROM_Hunter_Mk2.xml:17-20, build/libretro_share.py:17-23, src/libretro/LibretroCore.cc:146-160, src/config/HardwareConfig.cc:35-45, 249-277, src/memory/Rom.cc:135-136, 165-218" - name: "ddx_3.0.rom" path: "openmsx/share/systemroms/ddx_3.0.rom" @@ -447,7 +447,7 @@ files: required: false validation: [sha1] description: "Read by extension DDX_3.0" - source_ref: "share/extensions/DDX_3.0.xml:20-25" + source_ref: "share/extensions/DDX_3.0.xml:20-25, build/libretro_share.py:17-23, src/libretro/LibretroCore.cc:146-160, src/config/HardwareConfig.cc:35-45, 249-277, src/memory/Rom.cc:135-136, 165-218" - name: "mr512.rom" path: "openmsx/share/systemroms/mr512.rom" @@ -455,7 +455,7 @@ files: required: false validation: [sha1] description: "Read by extension MegaRAM_Disk" - source_ref: "share/extensions/MegaRAM_Disk.xml:19-22" + source_ref: "share/extensions/MegaRAM_Disk.xml:19-22, build/libretro_share.py:17-23, src/libretro/LibretroCore.cc:146-160, src/config/HardwareConfig.cc:35-45, 249-277, src/memory/Rom.cc:135-136, 165-218" - name: "ESPUNAPI_IO.rom" path: "openmsx/share/systemroms/ESPUNAPI_IO.rom" @@ -463,7 +463,7 @@ files: required: false validation: [sha1] description: "Read by extension smxwifi" - source_ref: "share/extensions/smxwifi.xml:18-21" + source_ref: "share/extensions/smxwifi.xml:18-21, build/libretro_share.py:17-23, src/libretro/LibretroCore.cc:146-160, src/config/HardwareConfig.cc:35-45, 249-277, src/memory/Rom.cc:135-136, 165-218" - name: "chakkari.rom" path: "openmsx/share/systemroms/chakkari.rom" @@ -471,7 +471,7 @@ files: required: false validation: [sha1] description: "Read by extension Epson_Chakkari_Copy" - source_ref: "share/extensions/Epson_Chakkari_Copy.xml:18-22" + source_ref: "share/extensions/Epson_Chakkari_Copy.xml:18-22, build/libretro_share.py:17-23, src/libretro/LibretroCore.cc:146-160, src/config/HardwareConfig.cc:35-45, 249-277, src/memory/Rom.cc:135-136, 165-218" - name: "rs232.rom" path: "openmsx/share/systemroms/rs232.rom" @@ -479,7 +479,7 @@ files: required: false validation: [sha1] description: "Read by extension rs232" - source_ref: "share/extensions/rs232.xml:18-22" + source_ref: "share/extensions/rs232.xml:18-22, build/libretro_share.py:17-23, src/libretro/LibretroCore.cc:146-160, src/config/HardwareConfig.cc:35-45, 249-277, src/memory/Rom.cc:135-136, 165-218" - name: "ct-80e.rom" path: "openmsx/share/systemroms/ct-80e.rom" @@ -487,7 +487,7 @@ files: required: false validation: [sha1] description: "Read by extension Gradiente_CT-80E" - source_ref: "share/extensions/Gradiente_CT-80E.xml:26-29" + source_ref: "share/extensions/Gradiente_CT-80E.xml:26-29, build/libretro_share.py:17-23, src/libretro/LibretroCore.cc:146-160, src/config/HardwareConfig.cc:35-45, 249-277, src/memory/Rom.cc:135-136, 165-218" - name: "mpc-310h.rom" path: "openmsx/share/systemroms/mpc-310h.rom" @@ -495,7 +495,7 @@ files: required: false validation: [sha1] description: "Read by extension Hitachi_MPC-310H" - source_ref: "share/extensions/Hitachi_MPC-310H.xml:20-23" + source_ref: "share/extensions/Hitachi_MPC-310H.xml:20-23, build/libretro_share.py:17-23, src/libretro/LibretroCore.cc:146-160, src/config/HardwareConfig.cc:35-45, 249-277, src/memory/Rom.cc:135-136, 165-218" - name: "yrw801.rom" path: "openmsx/share/systemroms/yrw801.rom" @@ -503,7 +503,7 @@ files: required: false validation: [sha1] description: "Read by extensions Jun_Soft_DalSoRi_R2, moonsound" - source_ref: "share/extensions/Jun_Soft_DalSoRi_R2.xml:22-25, share/extensions/moonsound.xml:16-19" + source_ref: "share/extensions/Jun_Soft_DalSoRi_R2.xml:22-25, share/extensions/moonsound.xml:16-19, build/libretro_share.py:17-23, src/libretro/LibretroCore.cc:146-160, src/config/HardwareConfig.cc:35-45, 249-277, src/memory/Rom.cc:135-136, 165-218" - name: "Konami EC-701 program.rom" path: "openmsx/share/systemroms/Konami EC-701 program.rom" @@ -511,7 +511,7 @@ files: required: false validation: [sha1] description: "Read by extension Konami_EC-701" - source_ref: "share/extensions/Konami_EC-701.xml:17-21" + source_ref: "share/extensions/Konami_EC-701.xml:17-21, build/libretro_share.py:17-23, src/libretro/LibretroCore.cc:146-160, src/config/HardwareConfig.cc:35-45, 249-277, src/memory/Rom.cc:135-136, 165-218" - name: "Konami EC-701 dictionary.rom" path: "openmsx/share/systemroms/Konami EC-701 dictionary.rom" @@ -519,7 +519,7 @@ files: required: false validation: [sha1] description: "Read by extension Konami_EC-701" - source_ref: "share/extensions/Konami_EC-701.xml:22-25" + source_ref: "share/extensions/Konami_EC-701.xml:22-25, build/libretro_share.py:17-23, src/libretro/LibretroCore.cc:146-160, src/config/HardwareConfig.cc:35-45, 249-277, src/memory/Rom.cc:135-136, 165-218" - name: "megaflashrom_scc+_sd.rom" path: "openmsx/share/systemroms/megaflashrom_scc+_sd.rom" @@ -527,7 +527,7 @@ files: required: false validation: [sha1] description: "Flash content read by extension MegaFlashROM_SCC+_SD, found by its sha1 alone: the XML names no file" - source_ref: "share/extensions/MegaFlashROM_SCC+_SD.xml:20-22" + source_ref: "share/extensions/MegaFlashROM_SCC+_SD.xml:20-22, build/libretro_share.py:17-23, src/libretro/LibretroCore.cc:146-160, src/config/HardwareConfig.cc:35-45, 249-277, src/memory/Rom.cc:135-136, 165-218" - name: "cdx-2.rom" path: "openmsx/share/systemroms/cdx-2.rom" @@ -535,7 +535,7 @@ files: required: false validation: [sha1] description: "Read by extension Microsol_CDX-2" - source_ref: "share/extensions/Microsol_CDX-2.xml:20-23" + source_ref: "share/extensions/Microsol_CDX-2.xml:20-23, build/libretro_share.py:17-23, src/libretro/LibretroCore.cc:146-160, src/config/HardwareConfig.cc:35-45, 249-277, src/memory/Rom.cc:135-136, 165-218" - name: "ml-30dc.rom" path: "openmsx/share/systemroms/ml-30dc.rom" @@ -543,7 +543,7 @@ files: required: false validation: [sha1] description: "Read by extension Mitsubishi_ML-30DC_ML-30FD" - source_ref: "share/extensions/Mitsubishi_ML-30DC_ML-30FD.xml:19-22" + source_ref: "share/extensions/Mitsubishi_ML-30DC_ML-30FD.xml:19-22, build/libretro_share.py:17-23, src/libretro/LibretroCore.cc:146-160, src/config/HardwareConfig.cc:35-45, 249-277, src/memory/Rom.cc:135-136, 165-218" - name: "fmpac.rom" path: "openmsx/share/systemroms/fmpac.rom" @@ -551,7 +551,7 @@ files: required: false validation: [sha1] description: "Read by extensions mbstereo, fmpac" - source_ref: "share/extensions/mbstereo.xml:23-27, share/extensions/fmpac.xml:22-26" + source_ref: "share/extensions/mbstereo.xml:23-27, share/extensions/fmpac.xml:22-26, build/libretro_share.py:17-23, src/libretro/LibretroCore.cc:146-160, src/config/HardwareConfig.cc:35-45, 249-277, src/memory/Rom.cc:135-136, 165-218" - name: "novaxis.rom" path: "openmsx/share/systemroms/novaxis.rom" @@ -559,7 +559,7 @@ files: required: false validation: [sha1] description: "Read by extension Gouda_SCSI" - source_ref: "share/extensions/Gouda_SCSI.xml:18-21" + source_ref: "share/extensions/Gouda_SCSI.xml:18-21, build/libretro_share.py:17-23, src/libretro/LibretroCore.cc:146-160, src/config/HardwareConfig.cc:35-45, 249-277, src/memory/Rom.cc:135-136, 165-218" - name: "msxpibios.rom" path: "openmsx/share/systemroms/msxpibios.rom" @@ -567,7 +567,7 @@ files: required: false validation: [sha1] description: "Read by extension MSXPi" - source_ref: "share/extensions/MSXPi.xml:28-35" + source_ref: "share/extensions/MSXPi.xml:28-35, build/libretro_share.py:17-23, src/libretro/LibretroCore.cc:146-160, src/config/HardwareConfig.cc:35-45, 249-277, src/memory/Rom.cc:135-136, 165-218" - name: "msxaudio13.OPL3_mono.rom" path: "openmsx/share/systemroms/msxaudio13.OPL3_mono.rom" @@ -575,7 +575,7 @@ files: required: false validation: [sha1] description: "Read by extension OPL3Cartridge2_mono" - source_ref: "share/extensions/OPL3Cartridge2_mono.xml:29-34" + source_ref: "share/extensions/OPL3Cartridge2_mono.xml:29-34, build/libretro_share.py:17-23, src/libretro/LibretroCore.cc:146-160, src/config/HardwareConfig.cc:35-45, 249-277, src/memory/Rom.cc:135-136, 165-218" - name: "msxaudio13.OPL3_stereo.rom" path: "openmsx/share/systemroms/msxaudio13.OPL3_stereo.rom" @@ -583,7 +583,7 @@ files: required: false validation: [sha1] description: "Read by extension OPL3Cartridge2_stereo" - source_ref: "share/extensions/OPL3Cartridge2_stereo.xml:29-34" + source_ref: "share/extensions/OPL3Cartridge2_stereo.xml:29-34, build/libretro_share.py:17-23, src/libretro/LibretroCore.cc:146-160, src/config/HardwareConfig.cc:35-45, 249-277, src/memory/Rom.cc:135-136, 165-218" - name: "cf-sm003_main.rom" path: "openmsx/share/systemroms/cf-sm003_main.rom" @@ -591,7 +591,7 @@ files: required: false validation: [sha1] description: "Read by extension National_CF-SM003" - source_ref: "share/extensions/National_CF-SM003.xml:18-21" + source_ref: "share/extensions/National_CF-SM003.xml:18-21, build/libretro_share.py:17-23, src/libretro/LibretroCore.cc:146-160, src/config/HardwareConfig.cc:35-45, 249-277, src/memory/Rom.cc:135-136, 165-218" - name: "cf-sm003_kanjifont.rom" path: "openmsx/share/systemroms/cf-sm003_kanjifont.rom" @@ -599,7 +599,7 @@ files: required: false validation: [sha1] description: "Read by extension National_CF-SM003" - source_ref: "share/extensions/National_CF-SM003.xml:22-25" + source_ref: "share/extensions/National_CF-SM003.xml:22-25, build/libretro_share.py:17-23, src/libretro/LibretroCore.cc:146-160, src/config/HardwareConfig.cc:35-45, 249-277, src/memory/Rom.cc:135-136, 165-218" - name: "cf-sm003_data.rom" aliases: ["skw-01_data.rom"] @@ -608,7 +608,7 @@ files: required: false validation: [sha1] description: "Read by extensions National_CF-SM003, Yamaha_SKW-01" - source_ref: "share/extensions/National_CF-SM003.xml:26-29, share/extensions/Yamaha_SKW-01.xml:26-29" + source_ref: "share/extensions/National_CF-SM003.xml:26-29, share/extensions/Yamaha_SKW-01.xml:26-29, build/libretro_share.py:17-23, src/libretro/LibretroCore.cc:146-160, src/config/HardwareConfig.cc:35-45, 249-277, src/memory/Rom.cc:135-136, 165-218" note: "share/extensions/Yamaha_SKW-01.xml names it skw-01_data.rom." - name: "NEOSC.ROM" @@ -617,7 +617,7 @@ files: required: false validation: [sha1] description: "Read by extension Neos_MA-20R" - source_ref: "share/extensions/Neos_MA-20R.xml:21-24" + source_ref: "share/extensions/Neos_MA-20R.xml:21-24, build/libretro_share.py:17-23, src/libretro/LibretroCore.cc:146-160, src/config/HardwareConfig.cc:35-45, 249-277, src/memory/Rom.cc:135-136, 165-218" - name: "NEOSV.ROM" path: "openmsx/share/systemroms/NEOSV.ROM" @@ -625,7 +625,7 @@ files: required: false validation: [sha1] description: "Read by extension Neos_MA-20V" - source_ref: "share/extensions/Neos_MA-20V.xml:22-25" + source_ref: "share/extensions/Neos_MA-20V.xml:22-25, build/libretro_share.py:17-23, src/libretro/LibretroCore.cc:146-160, src/config/HardwareConfig.cc:35-45, 249-277, src/memory/Rom.cc:135-136, 165-218" - name: "fs-fd1a.rom" path: "openmsx/share/systemroms/fs-fd1a.rom" @@ -633,7 +633,7 @@ files: required: false validation: [sha1] description: "Read by extension Panasonic_FS-FD1A" - source_ref: "share/extensions/Panasonic_FS-FD1A.xml:17-20" + source_ref: "share/extensions/Panasonic_FS-FD1A.xml:17-20, build/libretro_share.py:17-23, src/libretro/LibretroCore.cc:146-160, src/config/HardwareConfig.cc:35-45, 249-277, src/memory/Rom.cc:135-136, 165-218" - name: "fs-ca1.rom" path: "openmsx/share/systemroms/fs-ca1.rom" @@ -641,7 +641,7 @@ files: required: false validation: [sha1] description: "Read by extension Panasonic_FS-CA1" - source_ref: "share/extensions/Panasonic_FS-CA1.xml:25-30" + source_ref: "share/extensions/Panasonic_FS-CA1.xml:25-30, build/libretro_share.py:17-23, src/libretro/LibretroCore.cc:146-160, src/config/HardwareConfig.cc:35-45, 249-277, src/memory/Rom.cc:135-136, 165-218" - name: "fs-pw1_kanjifont.rom" path: "openmsx/share/systemroms/fs-pw1_kanjifont.rom" @@ -649,7 +649,7 @@ files: required: false validation: [sha1] description: "Read by extension Panasonic_FS-PW1" - source_ref: "share/extensions/Panasonic_FS-PW1.xml:15-18" + source_ref: "share/extensions/Panasonic_FS-PW1.xml:15-18, build/libretro_share.py:17-23, src/libretro/LibretroCore.cc:146-160, src/config/HardwareConfig.cc:35-45, 249-277, src/memory/Rom.cc:135-136, 165-218" - name: "fs-pw1_msxword.rom" path: "openmsx/share/systemroms/fs-pw1_msxword.rom" @@ -657,7 +657,7 @@ files: required: false validation: [sha1] description: "Read by extension Panasonic_FS-PW1" - source_ref: "share/extensions/Panasonic_FS-PW1.xml:26-29" + source_ref: "share/extensions/Panasonic_FS-PW1.xml:26-29, build/libretro_share.py:17-23, src/libretro/LibretroCore.cc:146-160, src/config/HardwareConfig.cc:35-45, 249-277, src/memory/Rom.cc:135-136, 165-218" - name: "nms1200_6.rom" path: "openmsx/share/systemroms/nms1200_6.rom" @@ -665,7 +665,7 @@ files: required: false validation: [sha1] description: "Read by extension Philips_NMS_1200" - source_ref: "share/extensions/Philips_NMS_1200.xml:19-23" + source_ref: "share/extensions/Philips_NMS_1200.xml:19-23, build/libretro_share.py:17-23, src/libretro/LibretroCore.cc:146-160, src/config/HardwareConfig.cc:35-45, 249-277, src/memory/Rom.cc:135-136, 165-218" - name: "nms1205.rom" path: "openmsx/share/systemroms/nms1205.rom" @@ -673,7 +673,7 @@ files: required: false validation: [sha1] description: "Read by extension Philips_NMS_1205" - source_ref: "share/extensions/Philips_NMS_1205.xml:39-42" + source_ref: "share/extensions/Philips_NMS_1205.xml:39-42, build/libretro_share.py:17-23, src/libretro/LibretroCore.cc:146-160, src/config/HardwareConfig.cc:35-45, 249-277, src/memory/Rom.cc:135-136, 165-218" - name: "msxaudio12pre4a.rom" path: "openmsx/share/systemroms/msxaudio12pre4a.rom" @@ -681,7 +681,7 @@ files: required: false validation: [sha1] description: "Read by extension Boosted_audio" - source_ref: "share/extensions/Boosted_audio.xml:36-42" + source_ref: "share/extensions/Boosted_audio.xml:36-42, build/libretro_share.py:17-23, src/libretro/LibretroCore.cc:146-160, src/config/HardwareConfig.cc:35-45, 249-277, src/memory/Rom.cc:135-136, 165-218" - name: "carnivore2.rom" path: "openmsx/share/systemroms/carnivore2.rom" @@ -689,7 +689,7 @@ files: required: false validation: [sha1] description: "Flash content read by extension Carnivore2, found by its sha1 alone: the XML names no file" - source_ref: "share/extensions/Carnivore2.xml:19-23" + source_ref: "share/extensions/Carnivore2.xml:19-23, build/libretro_share.py:17-23, src/libretro/LibretroCore.cc:146-160, src/config/HardwareConfig.cc:35-45, 249-277, src/memory/Rom.cc:135-136, 165-218" - name: "mfd-001_disk.rom" path: "openmsx/share/systemroms/mfd-001_disk.rom" @@ -697,7 +697,7 @@ files: required: false validation: [sha1] description: "Read by extension Sanyo_MFD-001" - source_ref: "share/extensions/Sanyo_MFD-001.xml:18-21" + source_ref: "share/extensions/Sanyo_MFD-001.xml:18-21, build/libretro_share.py:17-23, src/libretro/LibretroCore.cc:146-160, src/config/HardwareConfig.cc:35-45, 249-277, src/memory/Rom.cc:135-136, 165-218" - name: "mrs-001.rom" path: "openmsx/share/systemroms/mrs-001.rom" @@ -705,7 +705,7 @@ files: required: false validation: [sha1] description: "Read by extension Sanyo_MRS-001" - source_ref: "share/extensions/Sanyo_MRS-001.xml:19-22" + source_ref: "share/extensions/Sanyo_MRS-001.xml:19-22, build/libretro_share.py:17-23, src/libretro/LibretroCore.cc:146-160, src/config/HardwareConfig.cc:35-45, 249-277, src/memory/Rom.cc:135-136, 165-218" - name: "hb3600_disk.rom" path: "openmsx/share/systemroms/hb3600_disk.rom" @@ -713,7 +713,7 @@ files: required: false validation: [sha1] description: "Read by extension Sharp_HB-3600" - source_ref: "share/extensions/Sharp_HB-3600.xml:18-21" + source_ref: "share/extensions/Sharp_HB-3600.xml:18-21, build/libretro_share.py:17-23, src/libretro/LibretroCore.cc:146-160, src/config/HardwareConfig.cc:35-45, 249-277, src/memory/Rom.cc:135-136, 165-218" - name: "hddrom.rom" path: "openmsx/share/systemroms/hddrom.rom" @@ -721,7 +721,7 @@ files: required: false validation: [sha1] description: "Read by extension Beer_IDE" - source_ref: "share/extensions/Beer_IDE.xml:18-23" + source_ref: "share/extensions/Beer_IDE.xml:18-23, build/libretro_share.py:17-23, src/libretro/LibretroCore.cc:146-160, src/config/HardwareConfig.cc:35-45, 249-277, src/memory/Rom.cc:135-136, 165-218" - name: "hbi-j1_kanjibasic.rom" path: "openmsx/share/systemroms/hbi-j1_kanjibasic.rom" @@ -729,7 +729,7 @@ files: required: false validation: [sha1] description: "Read by extension Sony_HBI-J1" - source_ref: "share/extensions/Sony_HBI-J1.xml:38-41" + source_ref: "share/extensions/Sony_HBI-J1.xml:38-41, build/libretro_share.py:17-23, src/libretro/LibretroCore.cc:146-160, src/config/HardwareConfig.cc:35-45, 249-277, src/memory/Rom.cc:135-136, 165-218" - name: "hbd-50.rom" path: "openmsx/share/systemroms/hbd-50.rom" @@ -737,7 +737,7 @@ files: required: false validation: [sha1] description: "Read by extension Sony_HBD-50" - source_ref: "share/extensions/Sony_HBD-50.xml:24-28" + source_ref: "share/extensions/Sony_HBD-50.xml:24-28, build/libretro_share.py:17-23, src/libretro/LibretroCore.cc:146-160, src/config/HardwareConfig.cc:35-45, 249-277, src/memory/Rom.cc:135-136, 165-218" - name: "hbk-30.rom" path: "openmsx/share/systemroms/hbk-30.rom" @@ -745,7 +745,7 @@ files: required: false validation: [sha1] description: "Read by extension Sony_HBK-30" - source_ref: "share/extensions/Sony_HBK-30.xml:19-22" + source_ref: "share/extensions/Sony_HBK-30.xml:19-22, build/libretro_share.py:17-23, src/libretro/LibretroCore.cc:146-160, src/config/HardwareConfig.cc:35-45, 249-277, src/memory/Rom.cc:135-136, 165-218" - name: "hbi-232.rom" path: "openmsx/share/systemroms/hbi-232.rom" @@ -753,7 +753,7 @@ files: required: false validation: [sha1] description: "Read by extension Sony_HBI-232" - source_ref: "share/extensions/Sony_HBI-232.xml:18-21" + source_ref: "share/extensions/Sony_HBI-232.xml:18-21, build/libretro_share.py:17-23, src/libretro/LibretroCore.cc:146-160, src/config/HardwareConfig.cc:35-45, 249-277, src/memory/Rom.cc:135-136, 165-218" - name: "sensor-kid.rom" path: "openmsx/share/systemroms/sensor-kid.rom" @@ -761,7 +761,7 @@ files: required: false validation: [sha1] description: "Read by extension SensorKid" - source_ref: "share/extensions/SensorKid.xml:20-23" + source_ref: "share/extensions/SensorKid.xml:20-23, build/libretro_share.py:17-23, src/libretro/LibretroCore.cc:146-160, src/config/HardwareConfig.cc:35-45, 249-277, src/memory/Rom.cc:135-136, 165-218" - name: "svi-707_disk.rom" path: "openmsx/share/systemroms/svi-707_disk.rom" @@ -769,7 +769,7 @@ files: required: false validation: [sha1] description: "Read by extension Spectravideo_SVI-707" - source_ref: "share/extensions/Spectravideo_SVI-707.xml:19-22" + source_ref: "share/extensions/Spectravideo_SVI-707.xml:19-22, build/libretro_share.py:17-23, src/libretro/LibretroCore.cc:146-160, src/config/HardwareConfig.cc:35-45, 249-277, src/memory/Rom.cc:135-136, 165-218" - name: "svi-707_cpm.rom" path: "openmsx/share/systemroms/svi-707_cpm.rom" @@ -777,7 +777,7 @@ files: required: false validation: [sha1] description: "Read by extension Spectravideo_SVI-707" - source_ref: "share/extensions/Spectravideo_SVI-707.xml:23-26" + source_ref: "share/extensions/Spectravideo_SVI-707.xml:23-26, build/libretro_share.py:17-23, src/libretro/LibretroCore.cc:146-160, src/config/HardwareConfig.cc:35-45, 249-277, src/memory/Rom.cc:135-136, 165-218" - name: "Nextor-2.1.1.SunriseIDE.ROM" path: "openmsx/share/systemroms/Nextor-2.1.1.SunriseIDE.ROM" @@ -785,7 +785,7 @@ files: required: false validation: [sha1] description: "Read by extension SunriseIDE_Nextor" - source_ref: "share/extensions/SunriseIDE_Nextor.xml:17-22" + source_ref: "share/extensions/SunriseIDE_Nextor.xml:17-22, build/libretro_share.py:17-23, src/libretro/LibretroCore.cc:146-160, src/config/HardwareConfig.cc:35-45, 249-277, src/memory/Rom.cc:135-136, 165-218" - name: "ide250.dat" path: "openmsx/share/systemroms/ide250.dat" @@ -793,7 +793,7 @@ files: required: false validation: [sha1] description: "Read by extension ide" - source_ref: "share/extensions/ide.xml:17-22" + source_ref: "share/extensions/ide.xml:17-22, build/libretro_share.py:17-23, src/libretro/LibretroCore.cc:146-160, src/config/HardwareConfig.cc:35-45, 249-277, src/memory/Rom.cc:135-136, 165-218" - name: "nowindDos2.rom" path: "openmsx/share/systemroms/nowindDos2.rom" @@ -801,7 +801,7 @@ files: required: false validation: [sha1] description: "Read by extension nowind" - source_ref: "share/extensions/nowind.xml:17-23" + source_ref: "share/extensions/nowind.xml:17-23, build/libretro_share.py:17-23, src/libretro/LibretroCore.cc:146-160, src/config/HardwareConfig.cc:35-45, 249-277, src/memory/Rom.cc:135-136, 165-218" - name: "ym2608_adpcm_rom.bin" path: "openmsx/share/systemroms/ym2608_adpcm_rom.bin" @@ -809,7 +809,7 @@ files: required: false validation: [sha1] description: "Read by extension Makoto" - source_ref: "share/extensions/Makoto.xml:15-18" + source_ref: "share/extensions/Makoto.xml:15-18, build/libretro_share.py:17-23, src/libretro/LibretroCore.cc:146-160, src/config/HardwareConfig.cc:35-45, 249-277, src/memory/Rom.cc:135-136, 165-218" - name: "TDC600.rom" path: "openmsx/share/systemroms/TDC600.rom" @@ -817,7 +817,7 @@ files: required: false validation: [sha1] description: "Read by extension Talent_TDC-600" - source_ref: "share/extensions/Talent_TDC-600.xml:18-21" + source_ref: "share/extensions/Talent_TDC-600.xml:18-21, build/libretro_share.py:17-23, src/libretro/LibretroCore.cc:146-160, src/config/HardwareConfig.cc:35-45, 249-277, src/memory/Rom.cc:135-136, 165-218" - name: "dpf-550_disk.rom" path: "openmsx/share/systemroms/dpf-550_disk.rom" @@ -825,7 +825,7 @@ files: required: false validation: [sha1] description: "Read by extension Talent_DPF-550" - source_ref: "share/extensions/Talent_DPF-550.xml:18-21" + source_ref: "share/extensions/Talent_DPF-550.xml:18-21, build/libretro_share.py:17-23, src/libretro/LibretroCore.cc:146-160, src/config/HardwareConfig.cc:35-45, 249-277, src/memory/Rom.cc:135-136, 165-218" - name: "Tecall_MSX_RAMFILE_TM220.rom" path: "openmsx/share/systemroms/Tecall_MSX_RAMFILE_TM220.rom" @@ -833,7 +833,7 @@ files: required: false validation: [sha1] description: "Read by extension Tecall_MSX_RAMFILE_TM220" - source_ref: "share/extensions/Tecall_MSX_RAMFILE_TM220.xml:17-20" + source_ref: "share/extensions/Tecall_MSX_RAMFILE_TM220.xml:17-20, build/libretro_share.py:17-23, src/libretro/LibretroCore.cc:146-160, src/config/HardwareConfig.cc:35-45, 249-277, src/memory/Rom.cc:135-136, 165-218" - name: "hx-f101pe.rom" path: "openmsx/share/systemroms/hx-f101pe.rom" @@ -841,7 +841,7 @@ files: required: false validation: [sha1] description: "Read by extension Toshiba_HX-F101PE" - source_ref: "share/extensions/Toshiba_HX-F101PE.xml:20-23" + source_ref: "share/extensions/Toshiba_HX-F101PE.xml:20-23, build/libretro_share.py:17-23, src/libretro/LibretroCore.cc:146-160, src/config/HardwareConfig.cc:35-45, 249-277, src/memory/Rom.cc:135-136, 165-218" - name: "hx-mu900.rom" path: "openmsx/share/systemroms/hx-mu900.rom" @@ -849,7 +849,7 @@ files: required: false validation: [sha1] description: "Read by extension Toshiba_HX-MU900" - source_ref: "share/extensions/Toshiba_HX-MU900.xml:26-29" + source_ref: "share/extensions/Toshiba_HX-MU900.xml:26-29, build/libretro_share.py:17-23, src/libretro/LibretroCore.cc:146-160, src/config/HardwareConfig.cc:35-45, 249-277, src/memory/Rom.cc:135-136, 165-218" - name: "fd-03.rom" path: "openmsx/share/systemroms/fd-03.rom" @@ -857,7 +857,7 @@ files: required: false validation: [sha1] description: "Read by extension Yamaha_FD-03" - source_ref: "share/extensions/Yamaha_FD-03.xml:20-26" + source_ref: "share/extensions/Yamaha_FD-03.xml:20-26, build/libretro_share.py:17-23, src/libretro/LibretroCore.cc:146-160, src/config/HardwareConfig.cc:35-45, 249-277, src/memory/Rom.cc:135-136, 165-218" - name: "FD-051.BIN" path: "openmsx/share/systemroms/FD-051.BIN" @@ -865,7 +865,7 @@ files: required: false validation: [sha1] description: "Read by extension Yamaha_FD-05" - source_ref: "share/extensions/Yamaha_FD-05.xml:22-25" + source_ref: "share/extensions/Yamaha_FD-05.xml:22-25, build/libretro_share.py:17-23, src/libretro/LibretroCore.cc:146-160, src/config/HardwareConfig.cc:35-45, 249-277, src/memory/Rom.cc:135-136, 165-218" - name: "sfg-05.rom" path: "openmsx/share/systemroms/sfg-05.rom" @@ -873,7 +873,7 @@ files: required: false validation: [sha1] description: "Read by extension Yamaha_SFG-05" - source_ref: "share/extensions/Yamaha_SFG-05.xml:31-34" + source_ref: "share/extensions/Yamaha_SFG-05.xml:31-34, build/libretro_share.py:17-23, src/libretro/LibretroCore.cc:146-160, src/config/HardwareConfig.cc:35-45, 249-277, src/memory/Rom.cc:135-136, 165-218" - name: "skw-05_main.rom" path: "openmsx/share/systemroms/skw-05_main.rom" @@ -881,7 +881,7 @@ files: required: false validation: [sha1] description: "Read by extension Yamaha_SKW-05_embedded" - source_ref: "share/extensions/Yamaha_SKW-05_embedded.xml:32-36" + source_ref: "share/extensions/Yamaha_SKW-05_embedded.xml:32-36, build/libretro_share.py:17-23, src/libretro/LibretroCore.cc:146-160, src/config/HardwareConfig.cc:35-45, 249-277, src/memory/Rom.cc:135-136, 165-218" - name: "skw-05_data.rom" path: "openmsx/share/systemroms/skw-05_data.rom" @@ -889,7 +889,7 @@ files: required: false validation: [sha1] description: "Read by extension Yamaha_SKW-05_embedded" - source_ref: "share/extensions/Yamaha_SKW-05_embedded.xml:37-40" + source_ref: "share/extensions/Yamaha_SKW-05_embedded.xml:37-40, build/libretro_share.py:17-23, src/libretro/LibretroCore.cc:146-160, src/config/HardwareConfig.cc:35-45, 249-277, src/memory/Rom.cc:135-136, 165-218" - name: "skw-01_main.rom" path: "openmsx/share/systemroms/skw-01_main.rom" @@ -897,7 +897,7 @@ files: required: false validation: [sha1] description: "Read by extension Yamaha_SKW-01" - source_ref: "share/extensions/Yamaha_SKW-01.xml:18-21" + source_ref: "share/extensions/Yamaha_SKW-01.xml:18-21, build/libretro_share.py:17-23, src/libretro/LibretroCore.cc:146-160, src/config/HardwareConfig.cc:35-45, 249-277, src/memory/Rom.cc:135-136, 165-218" - name: "skw-01_kanjifont.rom" path: "openmsx/share/systemroms/skw-01_kanjifont.rom" @@ -905,4 +905,4 @@ files: required: false validation: [sha1] description: "Read by extension Yamaha_SKW-01" - source_ref: "share/extensions/Yamaha_SKW-01.xml:22-25" + source_ref: "share/extensions/Yamaha_SKW-01.xml:22-25, build/libretro_share.py:17-23, src/libretro/LibretroCore.cc:146-160, src/config/HardwareConfig.cc:35-45, 249-277, src/memory/Rom.cc:135-136, 165-218" diff --git a/emulators/openmsx.yml b/emulators/openmsx.yml index c8f8d3913..aa080e505 100644 --- a/emulators/openmsx.yml +++ b/emulators/openmsx.yml @@ -80,7 +80,7 @@ files: size: 65536 description: "NMS 8245 combined system ROM (BIOS+BASIC 0x0000-0x7FFF, Sub ROM 0x8000-0xBFFF, FDC 0xC000-0xFFFF)" validation: [sha1] - source_ref: "share/machines/Boosted_MSX2_EN.xml:24,65,111" + source_ref: "share/machines/Boosted_MSX2_EN.xml:24,65,111, build/install.py:39, src/config/HardwareConfig.cc:25-33, 249-277, src/memory/Rom.cc:97-98, 120-195" - name: fmpac.rom path: "share/systemroms/fmpac.rom" @@ -88,7 +88,7 @@ files: required: true description: "Panasonic SW-M004 FMPAC (FM-PAC) sound cartridge ROM" validation: [sha1] - source_ref: "share/machines/Boosted_MSX2_EN.xml:83" + source_ref: "share/machines/Boosted_MSX2_EN.xml:83, build/install.py:39, src/config/HardwareConfig.cc:25-33, 249-277, src/memory/Rom.cc:97-98, 120-195" - name: phc-70fd2_basickun.rom path: "share/systemroms/phc-70fd2_basickun.rom" @@ -96,7 +96,7 @@ files: required: true description: "Sanyo PHC-70FD2 MSX-BASIC Kun compiler ROM" validation: [sha1] - source_ref: "share/machines/Boosted_MSX2_EN.xml:89, share/machines/Boosted_MSX2+_JP.xml:167, share/machines/Boosted_MSXturboR_with_IDE.xml:79" + source_ref: "share/machines/Boosted_MSX2_EN.xml:89, share/machines/Boosted_MSX2+_JP.xml:167, share/machines/Boosted_MSXturboR_with_IDE.xml:79, build/install.py:39, src/config/HardwareConfig.cc:25-33, 249-277, src/memory/Rom.cc:97-98, 120-195" - name: yrw801.rom path: "share/systemroms/yrw801.rom" @@ -104,7 +104,7 @@ files: required: true description: "Yamaha YRW801 MoonSound wavetable ROM" validation: [sha1] - source_ref: "share/machines/Boosted_MSX2_EN.xml:186, share/machines/Boosted_MSX2+_JP.xml:120, share/machines/Boosted_MSXturboR_with_IDE.xml:203" + source_ref: "share/machines/Boosted_MSX2_EN.xml:186, share/machines/Boosted_MSX2+_JP.xml:120, share/machines/Boosted_MSXturboR_with_IDE.xml:203, build/install.py:39, src/config/HardwareConfig.cc:25-33, 249-277, src/memory/Rom.cc:97-98, 120-195" # ------------------------------------------------------- # Boosted_MSX2+_JP (msx2+) @@ -116,7 +116,7 @@ files: required: true description: "FS-A1WSX MSX2+ BIOS and BASIC ROM" validation: [sha1] - source_ref: "share/machines/Boosted_MSX2+_JP.xml:143" + source_ref: "share/machines/Boosted_MSX2+_JP.xml:143, build/install.py:39, src/config/HardwareConfig.cc:25-33, 249-277, src/memory/Rom.cc:97-98, 120-195" - name: fs-a1wsx_fmbasic.rom path: "share/systemroms/fs-a1wsx_fmbasic.rom" @@ -124,7 +124,7 @@ files: required: true description: "FS-A1WSX MSX-MUSIC (OPLL) ROM" validation: [sha1] - source_ref: "share/machines/Boosted_MSX2+_JP.xml:155" + source_ref: "share/machines/Boosted_MSX2+_JP.xml:155, build/install.py:39, src/config/HardwareConfig.cc:25-33, 249-277, src/memory/Rom.cc:97-98, 120-195" - name: fs-a1wsx_msx2psub.rom installed_on: [retropie] @@ -133,7 +133,7 @@ files: required: true description: "FS-A1WSX MSX2+ Sub ROM" validation: [sha1] - source_ref: "share/machines/Boosted_MSX2+_JP.xml:218" + source_ref: "share/machines/Boosted_MSX2+_JP.xml:218, build/install.py:39, src/config/HardwareConfig.cc:25-33, 249-277, src/memory/Rom.cc:97-98, 120-195" note: "RetroPie unpacks openmsxroms.tar.gz into the installed share/systemroms, which the file pool scans. This ROM is in it as MSX2PEXT.ROM and is found by its SHA1." - name: fs-a1wsx_kanjibasic.rom @@ -142,7 +142,7 @@ files: required: true description: "FS-A1WSX Kanji Driver with BASIC ROM" validation: [sha1] - source_ref: "share/machines/Boosted_MSX2+_JP.xml:225" + source_ref: "share/machines/Boosted_MSX2+_JP.xml:225, build/install.py:39, src/config/HardwareConfig.cc:25-33, 249-277, src/memory/Rom.cc:97-98, 120-195" - name: fs-a1wsx_disk.rom path: "share/systemroms/fs-a1wsx_disk.rom" @@ -150,7 +150,7 @@ files: required: true description: "FS-A1WSX FDC (TC8566AF) disk controller ROM" validation: [sha1] - source_ref: "share/machines/Boosted_MSX2+_JP.xml:237" + source_ref: "share/machines/Boosted_MSX2+_JP.xml:237, build/install.py:39, src/config/HardwareConfig.cc:25-33, 249-277, src/memory/Rom.cc:97-98, 120-195" - name: fs-a1wsx_firmware.rom path: "share/systemroms/fs-a1wsx_firmware.rom" @@ -158,7 +158,7 @@ files: required: true description: "FS-A1WSX Panasonic firmware ROM" validation: [sha1] - source_ref: "share/machines/Boosted_MSX2+_JP.xml:251" + source_ref: "share/machines/Boosted_MSX2+_JP.xml:251, build/install.py:39, src/config/HardwareConfig.cc:25-33, 249-277, src/memory/Rom.cc:97-98, 120-195" - name: fs-a1wsx_kanjifont.rom path: "share/systemroms/fs-a1wsx_kanjifont.rom" @@ -167,7 +167,7 @@ files: required: true description: "Kanji font ROM (shared by FS-A1WSX and FS-A1GT machines)" validation: [sha1] - source_ref: "share/machines/Boosted_MSX2+_JP.xml:27-28, share/machines/Panasonic_FS-A1WSX.xml:29-30, share/machines/Boosted_MSXturboR_with_IDE.xml:215-216, share/machines/Panasonic_FS-A1GT.xml:141-142" + source_ref: "share/machines/Boosted_MSX2+_JP.xml:27-28, share/machines/Panasonic_FS-A1WSX.xml:29-30, share/machines/Boosted_MSXturboR_with_IDE.xml:215-216, share/machines/Panasonic_FS-A1GT.xml:141-142, build/install.py:39, src/config/HardwareConfig.cc:25-33, 249-277, src/memory/Rom.cc:97-98, 120-195" note: "Panasonic_FS-A1WSX.xml and Boosted_MSX2+_JP.xml name it fs-a1wsx_kanjifont.rom, Panasonic_FS-A1GT.xml and Boosted_MSXturboR_with_IDE.xml name it fs-a1gt_kanjifont.rom, all four with the same sha1." # ------------------------------------------------------- @@ -182,7 +182,7 @@ files: required: true description: "FS-A1GT turboR combined firmware (512KB, contains BIOS, Sub ROM, Kanji, FDC, MSX-MUSIC, Opening ROM)" validation: [sha1] - source_ref: "share/machines/Boosted_MSXturboR_with_IDE.xml:23" + source_ref: "share/machines/Boosted_MSXturboR_with_IDE.xml:23, build/install.py:39, src/config/HardwareConfig.cc:25-33, 249-277, src/memory/Rom.cc:97-98, 120-195" - name: ide250.dat path: "share/systemroms/ide250.dat" @@ -190,7 +190,7 @@ files: required: true description: "Sunrise IDE 2.50 interface ROM" validation: [sha1] - source_ref: "share/machines/Boosted_MSXturboR_with_IDE.xml:49" + source_ref: "share/machines/Boosted_MSXturboR_with_IDE.xml:49, build/install.py:39, src/config/HardwareConfig.cc:25-33, 249-277, src/memory/Rom.cc:97-98, 120-195" - name: ide250.zip path: "share/systemroms/ide250.zip" @@ -213,7 +213,7 @@ files: required: true description: "ColecoVision system BIOS ROM" validation: [sha1] - source_ref: "share/machines/ColecoVision_SGM.xml:57" + source_ref: "share/machines/ColecoVision_SGM.xml:57, build/install.py:39, src/config/HardwareConfig.cc:25-33, 249-277, src/memory/Rom.cc:97-98, 120-195" # ------------------------------------------------------- # Spectravideo_SVI-328 (spectravideo) @@ -224,7 +224,7 @@ files: required: true description: "SVI-328 BASIC v1.11 ROM" validation: [sha1] - source_ref: "share/machines/Spectravideo_SVI-328.xml:52" + source_ref: "share/machines/Spectravideo_SVI-328.xml:52, build/install.py:39, src/config/HardwareConfig.cc:25-33, 249-277, src/memory/Rom.cc:97-98, 120-195" # ------------------------------------------------------- # Pioneer_PX-7 (laserdisc) @@ -236,7 +236,7 @@ files: required: true description: "Pioneer PX-7 MSX1 BIOS and BASIC ROM" validation: [sha1] - source_ref: "share/machines/Pioneer_PX-7.xml:67" + source_ref: "share/machines/Pioneer_PX-7.xml:67, build/install.py:39, src/config/HardwareConfig.cc:25-33, 249-277, src/memory/Rom.cc:97-98, 120-195" - name: px-7_pbasic.rom path: "share/systemroms/px-7_pbasic.rom" @@ -244,7 +244,7 @@ files: required: true description: "Pioneer PX-7 LaserDisc PBASIC controller ROM" validation: [sha1] - source_ref: "share/machines/Pioneer_PX-7.xml:82" + source_ref: "share/machines/Pioneer_PX-7.xml:82, build/install.py:39, src/config/HardwareConfig.cc:25-33, 249-277, src/memory/Rom.cc:97-98, 120-195" # ------------------------------------------------------- # Machines whose ROMs RetroBat lists. Each ROM is found in the @@ -261,7 +261,7 @@ files: size: 32768 description: "National CF-3300 MSX1 BIOS and BASIC ROM (also used by CF-1200, CF-2700, CF-3000, FS-1300)" validation: [sha1] - source_ref: "share/machines/National_CF-3300.xml:51-52" + source_ref: "share/machines/National_CF-3300.xml:51-52, build/install.py:39, src/config/HardwareConfig.cc:25-33, 249-277, src/memory/Rom.cc:97-98, 120-195" - name: cf-3300_disk.rom path: "share/systemroms/cf-3300_disk.rom" @@ -270,7 +270,7 @@ files: size: 16384 description: "National CF-3300 disk controller ROM (also used by Gradiente Expert DD Plus)" validation: [sha1] - source_ref: "share/machines/National_CF-3300.xml:75-76" + source_ref: "share/machines/National_CF-3300.xml:75-76, build/install.py:39, src/config/HardwareConfig.cc:25-33, 249-277, src/memory/Rom.cc:97-98, 120-195" - name: fs-5500_basic-bios2.rom path: "share/systemroms/fs-5500_basic-bios2.rom" @@ -279,7 +279,7 @@ files: size: 32768 description: "National FS-5500 MSX2 BIOS and BASIC ROM" validation: [sha1] - source_ref: "share/machines/National_FS-5500F2.xml:76-77, share/machines/National_FS-5500F1.xml:78" + source_ref: "share/machines/National_FS-5500F2.xml:76-77, share/machines/National_FS-5500F1.xml:78, build/install.py:39, src/config/HardwareConfig.cc:25-33, 249-277, src/memory/Rom.cc:97-98, 120-195" - name: fs-5500_msx2sub.rom path: "share/systemroms/fs-5500_msx2sub.rom" @@ -288,7 +288,7 @@ files: size: 16384 description: "National FS-5500 MSX2 Sub ROM" validation: [sha1] - source_ref: "share/machines/National_FS-5500F2.xml:100-101, share/machines/National_FS-5500F1.xml:102" + source_ref: "share/machines/National_FS-5500F2.xml:100-101, share/machines/National_FS-5500F1.xml:102, build/install.py:39, src/config/HardwareConfig.cc:25-33, 249-277, src/memory/Rom.cc:97-98, 120-195" - name: fs-5500_kanjibasic.rom path: "share/systemroms/fs-5500_kanjibasic.rom" @@ -297,7 +297,7 @@ files: size: 32768 description: "National FS-5500 Kanji Driver ROM (also used by FS-4600F and FS-5000F2)" validation: [sha1] - source_ref: "share/machines/National_FS-5500F2.xml:107-108, share/machines/National_FS-5500F1.xml:109" + source_ref: "share/machines/National_FS-5500F2.xml:107-108, share/machines/National_FS-5500F1.xml:109, build/install.py:39, src/config/HardwareConfig.cc:25-33, 249-277, src/memory/Rom.cc:97-98, 120-195" - name: fs-5500_kanjifont.rom path: "share/systemroms/fs-5500_kanjifont.rom" @@ -306,7 +306,7 @@ files: size: 131072 description: "National FS-5500 Kanji font ROM (also used by FS-4000, FS-4500 and FS-4700F)" validation: [sha1] - source_ref: "share/machines/National_FS-5500F2.xml:20-21, share/machines/National_FS-5500F1.xml:22" + source_ref: "share/machines/National_FS-5500F2.xml:20-21, share/machines/National_FS-5500F1.xml:22, build/install.py:39, src/config/HardwareConfig.cc:25-33, 249-277, src/memory/Rom.cc:97-98, 120-195" - name: fs-5500_superimp.rom path: "share/systemroms/fs-5500_superimp.rom" @@ -315,7 +315,7 @@ files: size: 32768 description: "National FS-5500 Super Impose ROM" validation: [sha1] - source_ref: "share/machines/National_FS-5500F2.xml:117-118, share/machines/National_FS-5500F1.xml:119" + source_ref: "share/machines/National_FS-5500F2.xml:117-118, share/machines/National_FS-5500F1.xml:119, build/install.py:39, src/config/HardwareConfig.cc:25-33, 249-277, src/memory/Rom.cc:97-98, 120-195" - name: nms8245_msx2sub.rom path: "share/systemroms/nms8245_msx2sub.rom" @@ -326,7 +326,7 @@ files: size: 16384 description: "Philips NMS 8245 MSX2 Sub ROM (1.05/1.06 and 1.08 revisions)" validation: [sha1] - source_ref: "share/machines/Philips_NMS_8245.xml:108-110" + source_ref: "share/machines/Philips_NMS_8245.xml:108-110, build/install.py:39, src/config/HardwareConfig.cc:25-33, 249-277, src/memory/Rom.cc:97-98, 120-195" - name: vg8020_basic-bios1.rom path: "share/systemroms/vg8020_basic-bios1.rom" @@ -335,7 +335,7 @@ files: size: 32768 description: "Philips VG 8020 MSX1 BIOS and BASIC ROM (also used by AVT DPC-200, Goldstar FC-200, Toshiba HX-20E, HX-22I, HX-51I)" validation: [sha1] - source_ref: "share/machines/Philips_VG_8020.xml:53-54" + source_ref: "share/machines/Philips_VG_8020.xml:53-54, build/install.py:39, src/config/HardwareConfig.cc:25-33, 249-277, src/memory/Rom.cc:97-98, 120-195" - name: svi-738_basic-bios1.rom path: "share/systemroms/svi-738_basic-bios1.rom" @@ -344,7 +344,7 @@ files: size: 32768 description: "Spectravideo SVI-738 MSX1 BIOS and BASIC ROM" validation: [sha1] - source_ref: "share/machines/Spectravideo_SVI-738.xml:53-54" + source_ref: "share/machines/Spectravideo_SVI-738.xml:53-54, build/install.py:39, src/config/HardwareConfig.cc:25-33, 249-277, src/memory/Rom.cc:97-98, 120-195" - name: svi-738_se_basic-bios1.rom path: "share/systemroms/svi-738_se_basic-bios1.rom" @@ -353,7 +353,7 @@ files: size: 32768 description: "Spectravideo SVI-738 (Sweden) MSX1 BIOS and BASIC ROM" validation: [sha1] - source_ref: "share/machines/Spectravideo_SVI-738_SE.xml:53-54" + source_ref: "share/machines/Spectravideo_SVI-738_SE.xml:53-54, build/install.py:39, src/config/HardwareConfig.cc:25-33, 249-277, src/memory/Rom.cc:97-98, 120-195" - name: svi-738_rs232.rom path: "share/systemroms/svi-738_rs232.rom" @@ -362,7 +362,7 @@ files: size: 8192 description: "Spectravideo SVI-738 RS-232 interface ROM" validation: [sha1] - source_ref: "share/machines/Spectravideo_SVI-738.xml:76-77, share/machines/Spectravideo_SVI-738_SE.xml:76-77" + source_ref: "share/machines/Spectravideo_SVI-738.xml:76-77, share/machines/Spectravideo_SVI-738_SE.xml:76-77, build/install.py:39, src/config/HardwareConfig.cc:25-33, 249-277, src/memory/Rom.cc:97-98, 120-195" - name: svi-738_disk.rom path: "share/systemroms/svi-738_disk.rom" @@ -373,4 +373,4 @@ files: required: false description: "Spectravideo SVI-738 disk controller ROM" validation: [sha1] - source_ref: "share/machines/Spectravideo_SVI-738.xml:90-93, share/machines/Spectravideo_SVI-738_SE.xml:90-93" + source_ref: "share/machines/Spectravideo_SVI-738.xml:90-93, share/machines/Spectravideo_SVI-738_SE.xml:90-93, build/install.py:39, src/config/HardwareConfig.cc:25-33, 249-277, src/memory/Rom.cc:97-98, 120-195" From 26c71d03dcdff63e6029746e154d1a85a9cedc27 Mon Sep 17 00:00:00 2001 From: Abdessamad Derraz <3028866+Abdess@users.noreply.github.com> Date: Tue, 10 Nov 2026 13:29:40 +0100 Subject: [PATCH 07/22] docs: cite the fMSX ROM loader in the profile ROM, font and CARTS.SHA entries cited the copy in fMSX/ROMs, a file and not a reader. They now cite the system directory taken as ProgDir, the chdir to it, the LoadROM, LoadCart or LoadFNT call that names each file, and the function that opens it. --- emulators/fmsx.yml | 36 ++++++++++++++++++------------------ 1 file changed, 18 insertions(+), 18 deletions(-) diff --git a/emulators/fmsx.yml b/emulators/fmsx.yml index ab89b3dd1..e0b62cdc0 100644 --- a/emulators/fmsx.yml +++ b/emulators/fmsx.yml @@ -71,7 +71,7 @@ files: required: true system: msx note: "MSX1 main BIOS (32 KB). Loaded for MSX1 model (fMSX/MSX.c:697)." - source_ref: "fMSX/ROMs/MSX.ROM" + source_ref: "libretro.c:1186, fMSX/MSX.c:523, 697, 2810-2831" # -- MSX2 BIOS -- @@ -83,7 +83,7 @@ files: required: true system: msx2 note: "MSX2 main BIOS (32 KB). Loaded for MSX2 model (fMSX/MSX.c:713)." - source_ref: "fMSX/ROMs/MSX2.ROM" + source_ref: "libretro.c:1186, fMSX/MSX.c:523, 713, 2810-2831" - name: MSX2EXT.ROM installed_on: [recalbox] @@ -93,7 +93,7 @@ files: required: true system: msx2 note: "MSX2 extension BIOS (16 KB). Loaded alongside MSX2.ROM (fMSX/MSX.c:714)." - source_ref: "fMSX/ROMs/MSX2EXT.ROM" + source_ref: "libretro.c:1186, fMSX/MSX.c:523, 714, 2810-2831" # -- MSX2+ BIOS (default model) -- @@ -105,7 +105,7 @@ files: required: true system: msx2plus note: "MSX2+ main BIOS (32 KB). Loaded for MSX2+ model, the default (fMSX/MSX.c:735)." - source_ref: "fMSX/ROMs/MSX2P.ROM" + source_ref: "libretro.c:1186, fMSX/MSX.c:523, 735, 2810-2831" - name: MSX2PEXT.ROM installed_on: [recalbox] @@ -115,7 +115,7 @@ files: required: true system: msx2plus note: "MSX2+ extension BIOS (16 KB). Loaded alongside MSX2P.ROM (fMSX/MSX.c:736)." - source_ref: "fMSX/ROMs/MSX2PEXT.ROM" + source_ref: "libretro.c:1186, fMSX/MSX.c:523, 736, 2810-2831" # -- Disk support -- @@ -126,7 +126,7 @@ files: sha1: 032cb1c1c75b9a191fa1230978971698d9d2a17f required: false note: "Disk controller BIOS (16 KB). Needed for .dsk content. Enable 'Simulate DiskROM' option (fMSX/MSX.c:784)." - source_ref: "fMSX/ROMs/DISK.ROM" + source_ref: "libretro.c:1186, fMSX/MSX.c:523, 784, 2810-2831" # -- Optional expansion ROMs -- @@ -137,7 +137,7 @@ files: sha1: 9d789166e3caf28e4742fe933d962e99618c633d required: false note: "FM-PAC cartridge ROM (64 KB, YM2413 FM synthesis). Auto-loaded into first free slot (fMSX/MSX.c:561)." - source_ref: "fMSX/ROMs/FMPAC.ROM" + source_ref: "libretro.c:1186, fMSX/MSX.c:523, 561, 2875-2890" - name: KANJI.ROM installed_on: [recalbox] @@ -146,7 +146,7 @@ files: sha1: 84a645becec0a25d3ab7a909cde1b242699a8662 required: false note: "Kanji font ROM (128 KB). Auto-loaded if present, no option needed (fMSX/MSX.c:534)." - source_ref: "fMSX/ROMs/KANJI.ROM" + source_ref: "libretro.c:1186, fMSX/MSX.c:523, 534, 2810-2831" - name: MSXDOS2.ROM installed_on: [recalbox] @@ -155,7 +155,7 @@ files: sha1: c36c9e0f96738a340381e23b4f97245388801a46 required: false note: "MSX-DOS 2 ROM (64 KB). Loaded when 'fmsx_dos2' option enabled and model is MSX2 or MSX2+ (fMSX/MSX.c:549)." - source_ref: "fMSX/ROMs/MSXDOS2.ROM" + source_ref: "libretro.c:1186, fMSX/MSX.c:523, 549, 2875-2890" - name: PAINTER.ROM installed_on: [recalbox] @@ -164,7 +164,7 @@ files: sha1: 7fd2a28c4fdaeb140f3c8c8fb90271b1472c97b9 required: false note: "Paint utility ROM (64 KB). Auto-loaded for MSX2 and MSX2+ models (fMSX/MSX.c:556)." - source_ref: "fMSX/ROMs/PAINTER.ROM" + source_ref: "libretro.c:1186, fMSX/MSX.c:523, 556, 2875-2890" - name: RS232.ROM installed_on: [recalbox] @@ -173,7 +173,7 @@ files: sha1: 7aec0134ad6a5177f4056fcb6047083e8e00529b required: false note: "RS-232C serial interface ROM (16 KB + 256 B). Loaded into slot 3:3 (fMSX/MSX.c:537)." - source_ref: "fMSX/ROMs/RS232.ROM" + source_ref: "libretro.c:1186, fMSX/MSX.c:523, 537, 2810-2831" # -- GameMaster (not bundled, requires core option) -- @@ -201,42 +201,42 @@ files: required: false md5: 85b38e4128bbc300e675f55b278683a8 note: "Default text font. Loaded by LoadFNT() (fMSX/MSX.c:527). Same content as CYRILLIC.FNT." - source_ref: "fMSX/ROMs/DEFAULT.FNT, libretro.c:1547" + source_ref: "libretro.c:955-963, 1186, 1547, fMSX/MSX.c:523-527, 2787-2794" - name: ITALIC.FNT installed_on: [recalbox] required: false md5: c83e50e9f33b8dd893c414691822740d note: "Italic text font." - source_ref: "fMSX/ROMs/ITALIC.FNT, libretro.c:1547" + source_ref: "libretro.c:955-963, 1186, 1547, fMSX/MSX.c:523-527, 2787-2794" - name: INTERNAT.FNT installed_on: [recalbox] required: false md5: ac4f4a90c1b1887db48ded39c9d9c847 note: "International text font." - source_ref: "fMSX/ROMs/INTERNAT.FNT, libretro.c:1547" + source_ref: "libretro.c:955-963, 1186, 1547, fMSX/MSX.c:523-527, 2787-2794" - name: CYRILLIC.FNT installed_on: [recalbox] required: false md5: 85b38e4128bbc300e675f55b278683a8 note: "Cyrillic text font. Same content as DEFAULT.FNT." - source_ref: "fMSX/ROMs/CYRILLIC.FNT, libretro.c:1547" + source_ref: "libretro.c:955-963, 1186, 1547, fMSX/MSX.c:523-527, 2787-2794" - name: KOREAN.FNT installed_on: [recalbox] required: false md5: 73291e76638a2f5aa2eceb843df468f4 note: "Korean text font." - source_ref: "fMSX/ROMs/KOREAN.FNT, libretro.c:1547" + source_ref: "libretro.c:955-963, 1186, 1547, fMSX/MSX.c:523-527, 2787-2794" - name: JAPANESE.FNT installed_on: [recalbox] required: false md5: aa28f0703b951a6be8df3e28e20d263d note: "Japanese text font." - source_ref: "fMSX/ROMs/JAPANESE.FNT, libretro.c:1547" + source_ref: "libretro.c:955-963, 1186, 1547, fMSX/MSX.c:523-527, 2787-2794" # -- Cartridge identification database -- @@ -252,4 +252,4 @@ files: required: false md5: 74b0f217fa0e2b8bb5a2f8e2ecc69da3 note: "SHA1 database for cartridge identification and mapper detection. Read when CARTS.CRC is absent or holds no matching line (fMSX/MSX.c:2716)." - source_ref: "fMSX/ROMs/CARTS.SHA" + source_ref: "libretro.c:1186, fMSX/MSX.c:523, 2716" From 6cbfca11976deaf6a192f0be111cb6913b7cfbc3 Mon Sep 17 00:00:00 2001 From: Abdessamad Derraz <3028866+Abdess@users.noreply.github.com> Date: Tue, 10 Nov 2026 13:34:25 +0100 Subject: [PATCH 08/22] fix: read QEMU firmware from its loaders Entries that cited only pc-bios/meson.build now cite the code that opens them. bios-256k.bin is the firmware of the pc and q35 machines (pc_piix.c:466, pc_q35.c:349) and pc is the machine the core starts for an .iso, so it is required, and a missing image exits in x86_bios_rom_init. bios.bin is read only by the ISA PC or when the firmware option is cleared, so it is optional. qboot.rom is microvm's firmware with ACPI off. The pxe-*.rom images and efi-eepro100.rom are read through a romfile= option, the EDK2 code images through -bios. The three EDK2 variable store templates and vof-nvram.bin are removed: no code resolves them through the data directory, a pflash drive is opened by path and the core runs from the content folder (ui/libretro.c:697). --- emulators/qemu.yml | 100 ++++++++++++++++----------------------------- 1 file changed, 36 insertions(+), 64 deletions(-) diff --git a/emulators/qemu.yml b/emulators/qemu.yml index b8bce138b..ebcf2f8ec 100644 --- a/emulators/qemu.yml +++ b/emulators/qemu.yml @@ -39,11 +39,11 @@ files: sha1: "f402170ee4f374c304a7ce0b139d6cecb1732aff" md5: "e9ca30100c47a26b66488444c5b0bd15" size: 131072 - required: true + required: false note: > - SeaBIOS legacy BIOS for x86/x86_64 PC emulation. Default firmware - loaded by pc_sysfw.c for standard PC machine types. - source_ref: "source hw/i386/pc_sysfw.c:222, 243" + SeaBIOS for the ISA PC machine, and for a PC machine whose firmware + option is cleared. The pc and q35 machines load bios-256k.bin. + source_ref: "source hw/i386/pc_sysfw.c:222, 243, source hw/i386/x86-common.c:993-994" - name: "SeaBIOS (256 KB)" installed_on: [retrodeck] @@ -51,11 +51,12 @@ files: sha1: "5fe6078506094333106e6b3f33c7185dea7f0268" md5: "d3dab3095c73cad67afd3cc16a88479c" size: 262144 - required: false + required: true note: > - SeaBIOS 256 KB variant. Some machine types or configurations - may prefer this larger image. - source_ref: "source pc-bios/meson.build:30" + Firmware of the pc and q35 machines, set by their default machine + options. pc is the default machine the core starts for an .iso, + .img or .qcow, and a missing image stops QEMU. + source_ref: "source pc-bios/meson.build:30, source ui/libretro.c:24-29, 734, source hw/i386/pc_piix.c:466, 486, source hw/i386/pc_q35.c:349, source hw/i386/x86-common.c:993-1003, 1043-1045" - name: "SeaBIOS microvm" installed_on: [retrodeck] @@ -76,8 +77,8 @@ files: md5: "387c48aef9497c6c2b914b1e6b9bc7aa" size: 16384 required: false - note: "Minimal x86 firmware for fast Linux kernel booting." - source_ref: "source pc-bios/meson.build:32" + note: "Firmware of the microvm machine when ACPI is off." + source_ref: "source pc-bios/meson.build:32, source hw/i386/microvm.c:57, 277-281, source hw/i386/x86-common.c:993-994" # ======================================================== # x86 VGA BIOS (SeaVGABIOS / LGPL VGA BIOS) @@ -248,7 +249,7 @@ files: size: 67072 required: false note: "iPXE PXE boot ROM for Intel e1000 NIC (8086:100e)." - source_ref: "source pc-bios/meson.build:47" + source_ref: "source pc-bios/meson.build:47, source hw/pci/pci.c:2362-2363" - name: "PXE eepro100" installed_on: [retrodeck] @@ -268,7 +269,7 @@ files: size: 61440 required: false note: "iPXE PXE boot ROM for NE2000 PCI NIC (1050:0940)." - source_ref: "source pc-bios/meson.build:49" + source_ref: "source pc-bios/meson.build:49, source hw/pci/pci.c:2362-2363" - name: "PXE pcnet" installed_on: [retrodeck] @@ -278,7 +279,7 @@ files: size: 61440 required: false note: "iPXE PXE boot ROM for AMD PCnet NIC (1022:2000)." - source_ref: "source pc-bios/meson.build:50" + source_ref: "source pc-bios/meson.build:50, source hw/pci/pci.c:2362-2363" - name: "PXE rtl8139" installed_on: [retrodeck] @@ -288,7 +289,7 @@ files: size: 61440 required: false note: "iPXE PXE boot ROM for Realtek RTL8139 NIC (10ec:8139)." - source_ref: "source pc-bios/meson.build:51" + source_ref: "source pc-bios/meson.build:51, source hw/pci/pci.c:2362-2363" - name: "PXE virtio" installed_on: [retrodeck] @@ -298,7 +299,7 @@ files: size: 60416 required: false note: "iPXE PXE boot ROM for VirtIO NIC (1af4:1000)." - source_ref: "source pc-bios/meson.build:52" + source_ref: "source pc-bios/meson.build:52, source hw/pci/pci.c:2362-2363" # ======================================================== # EFI NETWORK BOOT ROMs (iPXE UEFI) @@ -331,7 +332,7 @@ files: size: 159232 required: false note: "iPXE EFI boot ROM for Intel eepro100 NIC." - source_ref: "source pc-bios/meson.build:54" + source_ref: "source pc-bios/meson.build:54, source hw/pci/pci.c:2362-2363" - name: "EFI ne2k_pci" installed_on: [retrodeck] @@ -392,7 +393,7 @@ files: size: 3653632 required: false note: "TianoCore UEFI firmware for x86_64. Built from edk2-stable202302." - source_ref: "source pc-bios/meson.build:12" + source_ref: "source pc-bios/meson.build:12, source hw/i386/x86-common.c:993-994" - name: "EDK2 x86_64 Secure Boot UEFI" path: "qemu/edk2-x86_64-secure-code.fd" @@ -400,7 +401,7 @@ files: size: 3653632 required: false note: "TianoCore UEFI firmware for x86_64 with Secure Boot support." - source_ref: "source pc-bios/meson.build:13" + source_ref: "source pc-bios/meson.build:13, source hw/i386/x86-common.c:993-994" - name: "EDK2 i386 UEFI" path: "qemu/edk2-i386-code.fd" @@ -408,7 +409,7 @@ files: size: 3653632 required: false note: "TianoCore UEFI firmware for i386." - source_ref: "source pc-bios/meson.build:9" + source_ref: "source pc-bios/meson.build:9, source hw/i386/x86-common.c:993-994" - name: "EDK2 i386 Secure Boot UEFI" path: "qemu/edk2-i386-secure-code.fd" @@ -416,15 +417,7 @@ files: size: 3653632 required: false note: "TianoCore UEFI firmware for i386 with Secure Boot support." - source_ref: "source pc-bios/meson.build:10" - - - name: "EDK2 i386 UEFI vars template" - path: "qemu/edk2-i386-vars.fd" - sha1: "b62e676c9317a32aaa9ee1d76268d8c55663bd6e" - size: 540672 - required: false - note: "UEFI variable store template for i386/x86_64 EDK2 firmware." - source_ref: "source pc-bios/meson.build:11" + source_ref: "source pc-bios/meson.build:10, source hw/i386/x86-common.c:993-994" - name: "EDK2 AArch64 UEFI" path: "qemu/edk2-aarch64-code.fd" @@ -432,7 +425,7 @@ files: size: 67108864 required: false note: "TianoCore UEFI firmware for AArch64 (ARM 64-bit)." - source_ref: "source pc-bios/meson.build:4" + source_ref: "source pc-bios/meson.build:4, source hw/arm/virt.c:1331" - name: "EDK2 ARM UEFI" path: "qemu/edk2-arm-code.fd" @@ -440,15 +433,7 @@ files: size: 67108864 required: false note: "TianoCore UEFI firmware for ARM (32-bit)." - source_ref: "source pc-bios/meson.build:5" - - - name: "EDK2 ARM UEFI vars template" - path: "qemu/edk2-arm-vars.fd" - sha1: "b051167e0e57bd13d77ed92ef7b474872f44ec6d" - size: 67108864 - required: false - note: "UEFI variable store template for ARM/AArch64 EDK2 firmware." - source_ref: "source pc-bios/meson.build:6" + source_ref: "source pc-bios/meson.build:5, source hw/arm/virt.c:1331" - name: "EDK2 RISC-V UEFI" path: "qemu/edk2-riscv-code.fd" @@ -456,15 +441,7 @@ files: size: 33554432 required: false note: "TianoCore UEFI firmware for RISC-V 64-bit." - source_ref: "source pc-bios/meson.build:7" - - - name: "EDK2 RISC-V UEFI vars template" - path: "qemu/edk2-riscv-vars.fd" - sha1: "c4e6cce4247ba8f32f528c1c69f49228f616677f" - size: 33554432 - required: false - note: "UEFI variable store template for RISC-V EDK2 firmware." - source_ref: "source pc-bios/meson.build:8" + source_ref: "source pc-bios/meson.build:7, source hw/riscv/boot.c:89-92" # ======================================================== # POWERPC FIRMWARE @@ -507,15 +484,6 @@ files: note: "Minimal Open Firmware shim for -machine pseries,x-vof=on. Also default for Pegasos II." source_ref: "source hw/ppc/spapr.c:107, source hw/ppc/pegasos2.c:43" - - name: "VOF NVRAM" - installed_on: [retrodeck] - path: "qemu/vof-nvram.bin" - sha1: "5d1184609b87f78635f0575467a1c3f440900ff0" - size: 16384 - required: false - note: "NVRAM template for VOF (Virtual Open Firmware)." - source_ref: "source pc-bios/meson.build:83" - - name: "U-Boot e500" installed_on: [retrodeck] path: "qemu/u-boot.e500" @@ -532,7 +500,7 @@ files: size: 524288 required: false note: "U-Boot for Sam460ex (AmigaOne) PowerPC board." - source_ref: "source pc-bios/meson.build:74" + source_ref: "source pc-bios/meson.build:74, source hw/ppc/sam460ex.c:46, 120-126, source hw/core/loader.c:1078-1079" - name: "QEMU VGA Mac driver" installed_on: [retrodeck] @@ -752,7 +720,7 @@ files: size: 9882 required: false note: "Device tree blob for Xilinx Petalogix ML605 MicroBlaze board. MicroBlaze target not built in libretro core." - source_ref: "source pc-bios/meson.build:91" + source_ref: "source pc-bios/meson.build:91, source hw/microblaze/petalogix_ml605_mmu.c:49, 209, source hw/microblaze/boot.c:133" - name: "Petalogix S3ADSP1800 DTB (MicroBlaze)" installed_on: [retrodeck] @@ -761,7 +729,7 @@ files: size: 8161 required: false note: "Device tree blob for Xilinx Petalogix S3ADSP1800 MicroBlaze board. MicroBlaze target not built in libretro core." - source_ref: "source pc-bios/meson.build:90" + source_ref: "source pc-bios/meson.build:90, source hw/microblaze/petalogix_s3adsp1800_mmu.c:44, 129, source hw/microblaze/boot.c:133" - name: "Virtex ML507 DTB (PPC)" path: "qemu/virtex-ml507.dtb" @@ -776,16 +744,20 @@ notes: this path via qemu_add_data_dir() in ui/libretro.c:659-660. default_usage: > For typical x86/x86_64 usage (loading .iso/.img/.qcow files directly), - only bios.bin (or bios-256k.bin) and vgabios.bin are strictly needed. - Other VGA BIOS variants are loaded depending on the emulated GPU. - PXE/EFI ROMs are only needed for network booting. + the default pc machine needs bios-256k.bin and the VGA BIOS of its + display. Other VGA BIOS variants are loaded depending on the emulated GPU. + A NIC reads its default romfile. The pxe-*.rom images and efi-eepro100.rom + are read only when a romfile= option names them (hw/pci/pci.c:2362-2363). multi_arch: > The libretro build targets 17 architectures. Non-x86 firmware is only needed when using .qemu_cmd_line files that invoke a different qemu-system-* binary (e.g. qemu-system-ppc for MacOS 9). edk2: > EDK2 UEFI firmware is shipped as bz2-compressed blobs in pc-bios/. These - provide UEFI boot for x86, ARM, and RISC-V machine types. Users specify - them via -bios or pflash in .qemu_cmd_line files. + provide UEFI boot for x86, ARM, and RISC-V machine types. No machine + names them: a .qemu_cmd_line names a code image with -bios, which is + looked up in the data directory. pflash drives, the variable store + templates included, are opened by path from the content folder + (ui/libretro.c:697). experimental: "This core is marked is_experimental=true in its .info file." version: "Based on QEMU 9.0.50 (io12/qemu-libretro)" From 81e98d69b0a754ddd9a36c8cb614b1e8b0e588cf Mon Sep 17 00:00:00 2001 From: Abdessamad Derraz <3028866+Abdess@users.noreply.github.com> Date: Tue, 10 Nov 2026 13:37:14 +0100 Subject: [PATCH 09/22] docs: cite the ScummVM readers of its data files Theme and engine data entries named only scummvm.rc or an engine_data makefile. They now cite bundle_datafiles.sh, which builds the libretro bundle from those lists, the themepath or extrapath the core sets, and the code that opens each file: the theme lookup, the icon, shader, translation and font archives, and each engine's loader. --- emulators/scummvm.yml | 96 +++++++++++++++++++++---------------------- 1 file changed, 48 insertions(+), 48 deletions(-) diff --git a/emulators/scummvm.yml b/emulators/scummvm.yml index 08fa6d172..59887d876 100644 --- a/emulators/scummvm.yml +++ b/emulators/scummvm.yml @@ -112,7 +112,7 @@ files: required: false sha1: "aa2dfd12c11c6e6f3baaf7bf199bd6bcd71a520c" md5: "ee71d6cd464c618c632e6fd62b430d2c" - source_ref: "upstream dists/scummvm.rc:24" + source_ref: "upstream dists/scummvm.rc:24, source backends/platform/libretro/scripts/bundle_datafiles.sh:74, source backends/platform/libretro/src/libretro-os-utils.cpp:241, source gui/gui-manager.cpp:87-88, source gui/ThemeEngine.cpp:2229-2256, 2052-2066" note: "Modern GUI theme for ScummVM launcher." - name: "scummclassic.zip" @@ -121,7 +121,7 @@ files: required: false sha1: "69836fb392710f2182df07bab8960e8a2d92c1a9" md5: "8f37bd19dd51be456ac8f005fd5669a8" - source_ref: "upstream dists/scummvm.rc:23" + source_ref: "upstream dists/scummvm.rc:23, source backends/platform/libretro/scripts/bundle_datafiles.sh:74, source backends/platform/libretro/src/libretro-os-utils.cpp:241, source gui/gui-manager.cpp:87-88, source gui/ThemeEngine.cpp:2229-2256, 2052-2066" note: "Classic GUI theme for ScummVM launcher." - name: "scummremastered.zip" @@ -130,7 +130,7 @@ files: required: false sha1: "03e53349eefc39ce25220bfcb1ae4a580704d29d" md5: "0d990484d0dfc1680b20cfabcae373cd" - source_ref: "upstream dists/scummvm.rc:25" + source_ref: "upstream dists/scummvm.rc:25, source backends/platform/libretro/scripts/bundle_datafiles.sh:74, source backends/platform/libretro/src/libretro-os-utils.cpp:241, source gui/gui-manager.cpp:87-88, source gui/ThemeEngine.cpp:2229-2256, 2052-2066" note: "Remastered GUI theme for ScummVM launcher." - name: "residualvm.zip" @@ -139,7 +139,7 @@ files: required: false sha1: "589b622f55c9944c4883e4163d4d49508e22e056" md5: "b2811fa9b209733b61cd49ddb21e1e95" - source_ref: "upstream dists/scummvm.rc:26" + source_ref: "upstream dists/scummvm.rc:26, source backends/platform/libretro/scripts/bundle_datafiles.sh:74, source backends/platform/libretro/src/libretro-os-utils.cpp:241, source gui/gui-manager.cpp:87-88, source gui/ThemeEngine.cpp:2229-2256, 2052-2066" note: "ResidualVM theme for 3D adventure games (Grim Fandango, Myst III)." - name: "gui-icons.dat" @@ -148,7 +148,7 @@ files: required: false sha1: "38e74e6994924781487a0d39cc53dc4708a90c1c" md5: "9c59e0e9875434456ec1b7eb8e51666f" - source_ref: "upstream dists/scummvm.rc:27" + source_ref: "upstream dists/scummvm.rc:27, source backends/platform/libretro/scripts/bundle_datafiles.sh:74, source backends/platform/libretro/src/libretro-os-utils.cpp:241, source gui/gui-manager.cpp:118" note: "GUI icon pack used by the ScummVM launcher interface." - name: "shaders.dat" @@ -157,7 +157,7 @@ files: required: false sha1: "c67ec35c3f6e2ba7f09b8f61a78df7f713ff040c" md5: "f073f17187d0bfa3e7ebb7f328847969" - source_ref: "upstream dists/scummvm.rc:28" + source_ref: "upstream dists/scummvm.rc:28, source backends/platform/libretro/scripts/bundle_datafiles.sh:74, source backends/platform/libretro/src/libretro-os-utils.cpp:241, source backends/graphics/opengl/opengl-graphics.cpp:423, source gui/shaderbrowser-dialog.cpp:88" note: "Compiled shader pack for the GUI rendering pipeline." - name: "translations.dat" @@ -166,7 +166,7 @@ files: required: false sha1: "e5b6f6d6473e2d6aa0a250fd9983b573ebf6fbe4" md5: "a206e54bac1af13559ac8b2d9e550577" - source_ref: "upstream dists/scummvm.rc:43" + source_ref: "upstream dists/scummvm.rc:43, source backends/platform/libretro/scripts/bundle_datafiles.sh:74, source backends/platform/libretro/src/libretro-os-utils.cpp:241, source common/translation.h:288, source common/translation.cpp:282-290" note: "GUI translation strings for ScummVM launcher localization." # ================================================================ @@ -180,7 +180,7 @@ files: required: false sha1: "379f9def6d0de4b4bad18b0177df81783a51f17b" md5: "73cf5bd61896442a990e363f284a0bc2" - source_ref: "source dists/engine-data/engine_data_core.mk" + source_ref: "source dists/engine-data/engine_data_core.mk, source backends/platform/libretro/scripts/bundle_datafiles.sh:75-77, source backends/platform/libretro/src/libretro-os-utils.cpp:243, source engines/achievements.cpp:105-109" note: "Achievement definitions for supported games." - name: "classicmacfonts.dat" @@ -189,7 +189,7 @@ files: required: false sha1: "768b6231c6068e3d9b4f2cc6b1b1e5485578fde1" md5: "d4264d4573f22d290e033e1d834d7221" - source_ref: "source dists/engine-data/engine_data_core.mk" + source_ref: "source dists/engine-data/engine_data_core.mk, source backends/platform/libretro/scripts/bundle_datafiles.sh:75-77, source backends/platform/libretro/src/libretro-os-utils.cpp:243, source graphics/macgui/macfontmanager.cpp:222" note: "Classic Macintosh bitmap fonts for Mac game rendering." - name: "encoding.dat" @@ -198,7 +198,7 @@ files: required: false sha1: "11d3873337827195bc16c3d3175ad00f1777ed95" md5: "f2e88b2faec499a4914c3a0bcffc7db1" - source_ref: "source dists/engine-data/engine_data_core.mk" + source_ref: "source dists/engine-data/engine_data_core.mk, source backends/platform/libretro/scripts/bundle_datafiles.sh:75-77, source backends/platform/libretro/src/libretro-os-utils.cpp:243, source common/str-enc.cpp:142" note: "Character encoding tables for text rendering across languages." - name: "helpdialog.zip" @@ -207,7 +207,7 @@ files: required: false sha1: "386d8a89e180f8abab53e5d5926b6a81ee4b31dd" md5: "a9584a928c0f52ef28b33d8702983c35" - source_ref: "source dists/engine-data/engine_data_core.mk" + source_ref: "source dists/engine-data/engine_data_core.mk, source backends/platform/libretro/scripts/bundle_datafiles.sh:75-77, source backends/platform/libretro/src/libretro-os-utils.cpp:243, source gui/helpdialog.cpp:69, 147-148, source graphics/image-archive.cpp:50-54" note: "Help dialog assets for the in-game help system." - name: "macgui.dat" @@ -216,7 +216,7 @@ files: required: false sha1: "1eed577281b8819367d1ee99b1a76ff3e1920735" md5: "d97f2965013b343dd3d4fdbbc7192f15" - source_ref: "source dists/engine-data/engine_data_core.mk" + source_ref: "source dists/engine-data/engine_data_core.mk, source backends/platform/libretro/scripts/bundle_datafiles.sh:75-77, source backends/platform/libretro/src/libretro-os-utils.cpp:243, source graphics/macgui/datafiles.cpp:37, 81" note: "Macintosh GUI widget data for Mac-style game interfaces." # ================================================================ @@ -230,7 +230,7 @@ files: required: false sha1: "775b12b7e787bbaaeb73aa45b1ad3bb383e041ef" md5: "4f9dd40b455876d5c54b5ebd93aec88c" - source_ref: "source dists/engine-data/engine_data.mk (ENABLE_ACCESS)" + source_ref: "source dists/engine-data/engine_data.mk (ENABLE_ACCESS), source backends/platform/libretro/scripts/bundle_datafiles.sh:75-77, source backends/platform/libretro/src/libretro-os-utils.cpp:243, source engines/access/resources.cpp:44" note: "Engine data for Access Software games (e.g. Amazon, Martian Memorandum)." - name: "bagel.dat" @@ -239,7 +239,7 @@ files: required: false sha1: "f83084c72b1ff8e16f9c013e5ef7cfbb5f3cc835" md5: "f6d90885f6962f89de02e34031111599" - source_ref: "source dists/engine-data/engine_data.mk (ENABLE_BAGEL)" + source_ref: "source dists/engine-data/engine_data.mk (ENABLE_BAGEL), source backends/platform/libretro/scripts/bundle_datafiles.sh:75-77, source backends/platform/libretro/src/libretro-os-utils.cpp:243, source engines/bagel/spacebar/baglib/bagel.cpp:113, source common/engine_data.cpp:253" note: "Engine data for Bagel engine games." - name: "cryo.dat" @@ -248,7 +248,7 @@ files: required: false sha1: "220c2fe52d26b8607abeb2ad4a8ea4324daea5ba" md5: "fc5886ea5388f20eae299bb408da5bcc" - source_ref: "source dists/engine-data/engine_data.mk (ENABLE_CRYO)" + source_ref: "source dists/engine-data/engine_data.mk (ENABLE_CRYO), source backends/platform/libretro/scripts/bundle_datafiles.sh:75-77, source backends/platform/libretro/src/libretro-os-utils.cpp:243, source engines/cryo/resource.cpp:303" note: "Engine data for Cryo Interactive games (e.g. Dune, Lost Eden)." - name: "cryomni3d.dat" @@ -257,7 +257,7 @@ files: required: false sha1: "3971847e26be0abad8196caf03e5852a81ddbdea" md5: "7224c7a94074addeb69015b1346695d2" - source_ref: "source dists/engine-data/engine_data.mk (ENABLE_CRYOMNI3D)" + source_ref: "source dists/engine-data/engine_data.mk (ENABLE_CRYOMNI3D), source backends/platform/libretro/scripts/bundle_datafiles.sh:75-77, source backends/platform/libretro/src/libretro-os-utils.cpp:243, source engines/cryomni3d/cryomni3d.cpp:82" note: "Engine data for CryOmni3D games (Versailles 1685)." - name: "darkseed.dat" @@ -266,7 +266,7 @@ files: required: false sha1: "343172f1bfff8cb8c4abefa95e211379f39583b7" md5: "9a9cfe40dcca517f130d4430bd1af643" - source_ref: "source dists/engine-data/engine_data.mk (ENABLE_DARKSEED)" + source_ref: "source dists/engine-data/engine_data.mk (ENABLE_DARKSEED), source backends/platform/libretro/scripts/bundle_datafiles.sh:75-77, source backends/platform/libretro/src/libretro-os-utils.cpp:243, source engines/darkseed/darkseed.cpp:66-71" note: "Engine data for Dark Seed (H.R. Giger adventure game)." - name: "drascula.dat" @@ -275,7 +275,7 @@ files: required: false sha1: "05c97e92439b67aea8f6eb7fc96db023edf62124" md5: "b304979ed642a6dcaf26f43f8a37a1de" - source_ref: "source dists/engine-data/engine_data.mk (ENABLE_DRASCULA)" + source_ref: "source dists/engine-data/engine_data.mk (ENABLE_DRASCULA), source backends/platform/libretro/scripts/bundle_datafiles.sh:75-77, source backends/platform/libretro/src/libretro-os-utils.cpp:243, source engines/drascula/drascula.cpp:987" note: "Engine data for Drascula: The Vampire Strikes Back." - name: "freescape.dat" @@ -284,7 +284,7 @@ files: required: false sha1: "c6b3d3152e4e2ff4c9bf55e103bb39ed7faca2bd" md5: "71697f90fb0c7747616dbb0799ce966b" - source_ref: "source dists/engine-data/engine_data.mk (ENABLE_FREESCAPE)" + source_ref: "source dists/engine-data/engine_data.mk (ENABLE_FREESCAPE), source backends/platform/libretro/scripts/bundle_datafiles.sh:75-77, source backends/platform/libretro/src/libretro-os-utils.cpp:243, source engines/freescape/freescape.h:61, source engines/freescape/assets.cpp:115" note: "Engine data for Freescape games (Driller, Dark Side, Total Eclipse)." - name: "got.aud" @@ -293,7 +293,7 @@ files: required: false sha1: "209ab6d86a7c44f241689c5511b2027f7ad2c7c4" md5: "d13cc3c481e84e787ec8aa86dffc565f" - source_ref: "source dists/engine-data/engine_data.mk (ENABLE_GOT)" + source_ref: "source dists/engine-data/engine_data.mk (ENABLE_GOT), source backends/platform/libretro/scripts/bundle_datafiles.sh:75-77, source backends/platform/libretro/src/libretro-os-utils.cpp:243, source engines/got/sound.cpp:38, 194-198" note: "Audio data for Game of Thrones engine." - name: "got.gfx" @@ -302,7 +302,7 @@ files: required: false sha1: "0c9603da78b980bcf391bbf5f9103a5a642c4ee8" md5: "a29f591769bd731df0d9ddd3a191fe8c" - source_ref: "source dists/engine-data/engine_data.mk (ENABLE_GOT)" + source_ref: "source dists/engine-data/engine_data.mk (ENABLE_GOT), source backends/platform/libretro/scripts/bundle_datafiles.sh:75-77, source backends/platform/libretro/src/libretro-os-utils.cpp:243, source engines/got/gfx/gfx_chunks.cpp:85" note: "Graphics data for Game of Thrones engine." - name: "hadesch_translations.dat" @@ -311,7 +311,7 @@ files: required: false sha1: "17aae444b3010e72e092635d25d3b93c104b0ad2" md5: "7857da7e56a11e0749fb45100c323b3c" - source_ref: "source dists/engine-data/engine_data.mk (ENABLE_HADESCH)" + source_ref: "source dists/engine-data/engine_data.mk (ENABLE_HADESCH), source backends/platform/libretro/scripts/bundle_datafiles.sh:75-77, source backends/platform/libretro/src/libretro-os-utils.cpp:243, source engines/hadesch/hadesch.cpp:476" note: "Translation data for Hades Challenge." - name: "hugo.dat" @@ -320,7 +320,7 @@ files: required: false sha1: "74a5fa172f5327fedc145cb9eccc8fd050b9cfb9" md5: "a865e70f1b0998a500f522dab441c8fc" - source_ref: "source dists/engine-data/engine_data.mk (ENABLE_HUGO)" + source_ref: "source dists/engine-data/engine_data.mk (ENABLE_HUGO), source backends/platform/libretro/scripts/bundle_datafiles.sh:75-77, source backends/platform/libretro/src/libretro-os-utils.cpp:243, source engines/hugo/hugo.cpp:457" note: "Engine data for Hugo's House of Horrors trilogy." - name: "kyra.dat" @@ -329,7 +329,7 @@ files: required: false sha1: "31b0b9418af2f9dd4e4094aada05d48eb355975b" md5: "ebddd7bbd97135a427083db5daf6f9fc" - source_ref: "source dists/engine-data/engine_data.mk (ENABLE_KYRA)" + source_ref: "source dists/engine-data/engine_data.mk (ENABLE_KYRA), source backends/platform/libretro/scripts/bundle_datafiles.sh:75-77, source backends/platform/libretro/src/libretro-os-utils.cpp:243, source engines/kyra/resource/resource.h:1252, source engines/kyra/resource/staticres.cpp:138-145" note: "Engine data for Kyrandia series (Legend of Kyrandia, Hand of Fate, Malcolm's Revenge)." - name: "lure.dat" @@ -338,7 +338,7 @@ files: required: false sha1: "516347ec0ec2a397265d1b2fb053aa3758382e09" md5: "6f90cf73f36453d332d5c9cee311f81c" - source_ref: "source dists/engine-data/engine_data.mk (ENABLE_LURE)" + source_ref: "source dists/engine-data/engine_data.mk (ENABLE_LURE), source backends/platform/libretro/scripts/bundle_datafiles.sh:75-77, source backends/platform/libretro/src/libretro-os-utils.cpp:243, source engines/lure/luredefs.h:31, source engines/lure/lure.cpp:56" note: "Engine data for Lure of the Temptress." - name: "macventure.dat" @@ -347,7 +347,7 @@ files: required: false sha1: "e431e718e3c784532422ea2654d5fc6042a95c09" md5: "3b1faf40e685b955372e02f54ed70263" - source_ref: "source dists/engine-data/engine_data.mk (ENABLE_MACVENTURE)" + source_ref: "source dists/engine-data/engine_data.mk (ENABLE_MACVENTURE), source backends/platform/libretro/scripts/bundle_datafiles.sh:75-77, source backends/platform/libretro/src/libretro-os-utils.cpp:243, source engines/macventure/datafiles.cpp:40, 76" note: "Engine data for MacVenture games (Shadowgate, Deja Vu, Uninvited)." - name: "mm.dat" @@ -356,7 +356,7 @@ files: required: false sha1: "0816fe29b57911b28cbf774348f5492062326a85" md5: "01f074a6ac34dd86fcc6d1e8090614f0" - source_ref: "source dists/engine-data/engine_data.mk (ENABLE_MM)" + source_ref: "source dists/engine-data/engine_data.mk (ENABLE_MM), source backends/platform/libretro/scripts/bundle_datafiles.sh:75-77, source backends/platform/libretro/src/libretro-os-utils.cpp:243, source engines/mm/xeen/files.cpp:72, source engines/mm/mm1/globals.cpp:61, source common/engine_data.cpp:253" note: "Engine data for Might and Magic engine." - name: "mort.dat" @@ -365,7 +365,7 @@ files: required: false sha1: "0b9d0fa2a18eadf61aeddc19128ef90898ab7206" md5: "3cfb16d7bab4d77606b3b1274b8ae870" - source_ref: "source dists/engine-data/engine_data.mk (ENABLE_MORTEVIELLE)" + source_ref: "source dists/engine-data/engine_data.mk (ENABLE_MORTEVIELLE), source backends/platform/libretro/scripts/bundle_datafiles.sh:75-77, source backends/platform/libretro/src/libretro-os-utils.cpp:243, source engines/mortevielle/mortevielle.h:87, source engines/mortevielle/mortevielle.cpp:299" note: "Engine data for Mortville Manor." - name: "myst3.dat" @@ -374,7 +374,7 @@ files: required: false sha1: "5fbf7b1a596219f0daab60a8ceb2f1e59e042243" md5: "54e9056211f2fff255b6f66a3fe39a8d" - source_ref: "source dists/engine-data/engine_data.mk (ENABLE_MYST3)" + source_ref: "source dists/engine-data/engine_data.mk (ENABLE_MYST3), source backends/platform/libretro/scripts/bundle_datafiles.sh:75-77, source backends/platform/libretro/src/libretro-os-utils.cpp:243, source engines/myst3/database.cpp:460" note: "Engine data for Myst III: Exile." - name: "nancy.dat" @@ -383,7 +383,7 @@ files: required: false sha1: "7c8907d33da59afd4e4b62eee67541910e0b78d9" md5: "eb7cfdb3f74972beb8f43196e4e44001" - source_ref: "source dists/engine-data/engine_data.mk (ENABLE_NANCY)" + source_ref: "source dists/engine-data/engine_data.mk (ENABLE_NANCY), source backends/platform/libretro/scripts/bundle_datafiles.sh:75-77, source backends/platform/libretro/src/libretro-os-utils.cpp:243, source engines/nancy/nancy.cpp:1111" note: "Engine data for Nancy Drew adventure games." - name: "neverhood.dat" @@ -392,7 +392,7 @@ files: required: false sha1: "490012c996ba0c56dd8d077e1418ee53b1e96397" md5: "dfaab12ffb265646f31f51b6904246d1" - source_ref: "source dists/engine-data/engine_data.mk (ENABLE_NEVERHOOD)" + source_ref: "source dists/engine-data/engine_data.mk (ENABLE_NEVERHOOD), source backends/platform/libretro/scripts/bundle_datafiles.sh:75-77, source backends/platform/libretro/src/libretro-os-utils.cpp:243, source engines/neverhood/neverhood.cpp:91" note: "Engine data for The Neverhood." - name: "prince_translation.dat" @@ -401,7 +401,7 @@ files: required: false sha1: "57403a286c4d251384442a507d285b2dc5ce330e" md5: "993adab2fd44277d5fd7aa5971e7099c" - source_ref: "source dists/engine-data/engine_data.mk (ENABLE_PRINCE)" + source_ref: "source dists/engine-data/engine_data.mk (ENABLE_PRINCE), source backends/platform/libretro/scripts/bundle_datafiles.sh:75-77, source backends/platform/libretro/src/libretro-os-utils.cpp:243, source engines/prince/prince.cpp:339" note: "Translation data for The Prince and the Coward." - name: "queen.tbl" @@ -410,7 +410,7 @@ files: required: false sha1: "7bafa28dfd9b3be17430d467d8787d8204437ba0" md5: "93c6d6379eb0290ce93854a6888ec3f4" - source_ref: "source dists/engine-data/engine_data.mk (ENABLE_QUEEN)" + source_ref: "source dists/engine-data/engine_data.mk (ENABLE_QUEEN), source backends/platform/libretro/scripts/bundle_datafiles.sh:75-77, source backends/platform/libretro/src/libretro-os-utils.cpp:243, source engines/queen/resource.cpp:32, 149" note: "Resource table for Flight of the Amazon Queen." - name: "sky.cpt" @@ -419,7 +419,7 @@ files: required: false sha1: "fa03ede717223eaf011491d2066e37eb112e735b" md5: "9d00157b1cebd6368cbf88135c098f40" - source_ref: "source dists/engine-data/engine_data.mk (ENABLE_SKY)" + source_ref: "source dists/engine-data/engine_data.mk (ENABLE_SKY), source backends/platform/libretro/scripts/bundle_datafiles.sh:75-77, source backends/platform/libretro/src/libretro-os-utils.cpp:243, source engines/sky/compact.cpp:127" note: "Compact table for Beneath a Steel Sky." - name: "supernova.dat" @@ -428,7 +428,7 @@ files: required: false sha1: "8a571cfc431b5fe794f0262f0e55f72927ab27b4" md5: "89664136c503a30894d5c713be5bfe90" - source_ref: "source dists/engine-data/engine_data.mk (ENABLE_SUPERNOVA)" + source_ref: "source dists/engine-data/engine_data.mk (ENABLE_SUPERNOVA), source backends/platform/libretro/scripts/bundle_datafiles.sh:75-77, source backends/platform/libretro/src/libretro-os-utils.cpp:243, source engines/supernova/supernova.h:50, source engines/supernova/supernova.cpp:466" note: "Engine data for Mission Supernova." - name: "teenagent.dat" @@ -437,7 +437,7 @@ files: required: false sha1: "0d488164930332bae3aa1ad38cef44abbe3d00a6" md5: "4594620989a0bfd8b120da2de7ac30de" - source_ref: "source dists/engine-data/engine_data.mk (ENABLE_TEENAGENT)" + source_ref: "source dists/engine-data/engine_data.mk (ENABLE_TEENAGENT), source backends/platform/libretro/scripts/bundle_datafiles.sh:75-77, source backends/platform/libretro/src/libretro-os-utils.cpp:243, source engines/teenagent/resources.cpp:308" note: "Engine data for Teenagent." - name: "titanic.dat" @@ -446,7 +446,7 @@ files: required: false sha1: "15f51828f08fdbe01b56123e96312b5859a968c0" md5: "4b2fb71201dc3795cff45df6200a1918" - source_ref: "source dists/engine-data/engine_data.mk (ENABLE_TITANIC)" + source_ref: "source dists/engine-data/engine_data.mk (ENABLE_TITANIC), source backends/platform/libretro/scripts/bundle_datafiles.sh:75-77, source backends/platform/libretro/src/libretro-os-utils.cpp:243, source engines/titanic/support/files_manager.cpp:40" note: "Engine data for Starship Titanic." - name: "tony.dat" @@ -455,7 +455,7 @@ files: required: false sha1: "a5e19f364bda6a0d2330495114c9ad665bb79ad0" md5: "891022a4e2917bb54b5cdc9a46f5b3df" - source_ref: "source dists/engine-data/engine_data.mk (ENABLE_TONY)" + source_ref: "source dists/engine-data/engine_data.mk (ENABLE_TONY), source backends/platform/libretro/scripts/bundle_datafiles.sh:75-77, source backends/platform/libretro/src/libretro-os-utils.cpp:243, source engines/tony/tony.cpp:182" note: "Engine data for Tony Tough and the Night of Roasted Moths." - name: "toon.dat" @@ -464,7 +464,7 @@ files: required: false sha1: "85bb688125d66f2797a41f153ce1fa177027a83f" md5: "2b71a5d9aa19219d46711e8a77451f0f" - source_ref: "source dists/engine-data/engine_data.mk (ENABLE_TOON)" + source_ref: "source dists/engine-data/engine_data.mk (ENABLE_TOON), source backends/platform/libretro/scripts/bundle_datafiles.sh:75-77, source backends/platform/libretro/src/libretro-os-utils.cpp:243, source engines/toon/toon.cpp:5419" note: "Engine data for Toonstruck." - name: "ultima.dat" @@ -473,7 +473,7 @@ files: required: false sha1: "e049932518390257f4d49b1691cad229e6060079" md5: "e359fb7f14c4cb072b6e9300a23a6d62" - source_ref: "source dists/engine-data/engine_data.mk (ENABLE_ULTIMA)" + source_ref: "source dists/engine-data/engine_data.mk (ENABLE_ULTIMA), source backends/platform/libretro/scripts/bundle_datafiles.sh:75-77, source backends/platform/libretro/src/libretro-os-utils.cpp:243, source engines/ultima/shared/engine/data_archive.cpp:31, 84-85" note: "Engine data for Ultima series (Ultima IV-VIII, Savage Empire, Martian Dreams)." - name: "ultima8.dat" @@ -482,7 +482,7 @@ files: required: false sha1: "6319d3a245297697c1e4def78dc231a3f30708bb" md5: "e5b95811b05b9f0f593b49c860391200" - source_ref: "source dists/engine-data/engine_data.mk (ENABLE_ULTIMA)" + source_ref: "source dists/engine-data/engine_data.mk (ENABLE_ULTIMA), source backends/platform/libretro/scripts/bundle_datafiles.sh:75-77, source backends/platform/libretro/src/libretro-os-utils.cpp:243, source engines/ultima/ultima8/ultima8.cpp:177-182" note: "Engine data specific to Ultima VIII: Pagan." - name: "wintermute.zip" @@ -491,7 +491,7 @@ files: required: false sha1: "5302f543384b21fb55466118a6966e5ef46b85f6" md5: "9783248899f9cb531f0a3e0a711ab8b3" - source_ref: "source dists/engine-data/engine_data.mk (ENABLE_WINTERMUTE)" + source_ref: "source dists/engine-data/engine_data.mk (ENABLE_WINTERMUTE), source backends/platform/libretro/scripts/bundle_datafiles.sh:75-77, source backends/platform/libretro/src/libretro-os-utils.cpp:243, source engines/wintermute/base/base_file_manager.cpp:408" note: "Engine data for Wintermute engine games." - name: "fonts.dat" @@ -500,7 +500,7 @@ files: required: false sha1: "1eaef39122559500fbbc705c9425500311d23e03" md5: "6df29d218962e155d0a2114006af45c0" - source_ref: "source dists/engine-data/engine_data.mk (USE_FREETYPE2)" + source_ref: "source dists/engine-data/engine_data.mk (USE_FREETYPE2), source backends/platform/libretro/scripts/bundle_datafiles.sh:75-77, source backends/platform/libretro/src/libretro-os-utils.cpp:243, source graphics/fonts/ttf.cpp:954-958, source engines/scumm/he/font_he.cpp:269-273" note: "FreeType2 font data for text rendering." - name: "fonts-cjk.dat" @@ -509,7 +509,7 @@ files: required: false sha1: "b46f5a744387d1991d66a06292811f217ae063e2" md5: "18b8811c1bbc297be45f38c3bd6a0728" - source_ref: "source dists/engine-data/engine_data_big.mk (USE_FREETYPE2)" + source_ref: "source dists/engine-data/engine_data_big.mk (USE_FREETYPE2), source backends/platform/libretro/scripts/bundle_datafiles.sh:75-77, source backends/platform/libretro/src/libretro-os-utils.cpp:243, source graphics/fonts/ttf.cpp:975-979" note: "CJK (Chinese/Japanese/Korean) font data. Large file, only for systems with enough memory." - name: "fonts-imgui.dat" @@ -518,7 +518,7 @@ files: required: false sha1: "659a025dfa39a8caada7dac6e69b4d7c88217b3f" md5: "9eb64ec7aa31dc2f5b55541415ecdf8b" - source_ref: "source dists/engine-data/engine_data.mk (USE_IMGUI)" + source_ref: "source dists/engine-data/engine_data.mk (USE_IMGUI), source backends/platform/libretro/scripts/bundle_datafiles.sh:75-77, source backends/platform/libretro/src/libretro-os-utils.cpp:243, source backends/imgui/imgui_fonts.cpp:83" note: "ImGui font data for debug overlay rendering." - name: "grim-patch.lab" @@ -527,7 +527,7 @@ files: required: false sha1: "3c43b7a0125f88a9f83ae4307dca57867ffd637c" md5: "32b777b824f02b1e1259903740964058" - source_ref: "source dists/engine-data/engine_data.mk (ENABLE_GRIM)" + source_ref: "source dists/engine-data/engine_data.mk (ENABLE_GRIM), source backends/platform/libretro/scripts/bundle_datafiles.sh:75-77, source backends/platform/libretro/src/libretro-os-utils.cpp:243, source engines/grim/resource.cpp:126-129" note: "Patch data for Grim Fandango." - name: "monkey4-patch.m4b" @@ -536,7 +536,7 @@ files: required: false sha1: "49fc530e77b61f326f6e1d5a5147daa2fd67d1e2" md5: "9eb7b7e7cc7dad1fe08be6e73d749abe" - source_ref: "source dists/engine-data/engine_data.mk (ENABLE_MONKEY4)" + source_ref: "source dists/engine-data/engine_data.mk (ENABLE_MONKEY4), source backends/platform/libretro/scripts/bundle_datafiles.sh:75-77, source backends/platform/libretro/src/libretro-os-utils.cpp:243, source engines/grim/resource.cpp:159" note: "Patch data for Escape from Monkey Island." # ================================================================ @@ -547,7 +547,7 @@ files: installed_on: [lakka, recalbox, retrobat, retrodeck, retropie] path: "scummvm/extra/pred.dic" required: false - source_ref: "source dists/engine-data/engine_data.mk (ENABLE_AGI)" + source_ref: "source dists/engine-data/engine_data.mk (ENABLE_AGI), source backends/platform/libretro/scripts/bundle_datafiles.sh:75-77, source backends/platform/libretro/src/libretro-os-utils.cpp:243, source gui/predictivedialog.cpp:119" note: "Predictive text dictionary for AGI engine text input (King's Quest, Space Quest, etc)." # ================================================================ From e0e0e0e3149655cb4f943452eefc6142871f2000 Mon Sep 17 00:00:00 2001 From: Abdessamad Derraz <3028866+Abdess@users.noreply.github.com> Date: Tue, 10 Nov 2026 13:39:49 +0100 Subject: [PATCH 10/22] docs: cite how EightyOne reaches four ROMs Four entries cited only their file in Source/ROMs. tk90.rom, tk95.rom and spectrum48.arabic.rom are in no ROM list and are read when picked with the Browse button. interface1.edition1.rom is listed for ZX Interface 1, but ConfigureFDCRom has no Interface 1 branch, so it is read only when the configuration file sets ROMINTERFACE1. --- emulators/81.yml | 14 ++++++++------ 1 file changed, 8 insertions(+), 6 deletions(-) diff --git a/emulators/81.yml b/emulators/81.yml index f69854522..359fe2b86 100644 --- a/emulators/81.yml +++ b/emulators/81.yml @@ -275,7 +275,8 @@ files: mode: standalone size: 8192 md5: 5c11c61a2dd2ca4bf39328d9ff42d289 - source_ref: "upstream Source/ROMs/FDCs/interface1.edition1.rom" + note: "Listed for ZX Interface 1, but ConfigureFDCRom has no Interface 1 branch, so the choice is not applied. Read when the configuration file names it as ROMINTERFACE1." + source_ref: "upstream Source/ROMs/FDCs/interface1.edition1.rom, upstream Source/HW_.cpp:2618-2622, 3732, 4957-4980, upstream Source/Spectrum/spec48.cpp:332-334" - name: "+d.g+dos.v1-a.rom" system: sinclair-zx-spectrum required: false @@ -487,7 +488,8 @@ files: mode: standalone size: 16384 md5: 9f6f56003307b9d55be96f406fdbf2b1 - source_ref: "upstream Source/ROMs/spectrum48.arabic.rom" + note: "In no ROM list: read when chosen with the Browse button." + source_ref: "upstream Source/ROMs/spectrum48.arabic.rom, upstream Source/HW_.cpp:252, 3794-3797, 3806-3835, upstream Source/Spectrum/spec48.cpp:354" - name: spectrum48.arabic.version1.rom system: sinclair-zx-spectrum required: false @@ -603,8 +605,8 @@ files: mode: standalone size: 16384 md5: b7893ad25728fbf6410f08eddd4a1cad - note: "Microdigital TK90X (Spectrum clone)." - source_ref: "upstream Source/ROMs/tk90.rom" + note: "Microdigital TK90X (Spectrum clone). In no ROM list: read when chosen with the Browse button." + source_ref: "upstream Source/ROMs/tk90.rom, upstream Source/HW_.cpp:252, 3794-3797, 3806-3835, upstream Source/Spectrum/spec48.cpp:354" - name: tk95.rom system: sinclair-zx-spectrum required: false @@ -612,5 +614,5 @@ files: mode: standalone size: 16384 md5: b7893ad25728fbf6410f08eddd4a1cad - note: "Microdigital TK95 (Spectrum clone)." - source_ref: "upstream Source/ROMs/tk95.rom" + note: "Microdigital TK95 (Spectrum clone). In no ROM list: read when chosen with the Browse button." + source_ref: "upstream Source/ROMs/tk95.rom, upstream Source/HW_.cpp:252, 3794-3797, 3806-3835, upstream Source/Spectrum/spec48.cpp:354" From c75d38fbe09fa307352fa13417e8c1e0b773217b Mon Sep 17 00:00:00 2001 From: Abdessamad Derraz <3028866+Abdess@users.noreply.github.com> Date: Tue, 10 Nov 2026 13:40:28 +0100 Subject: [PATCH 11/22] fix: drop cbios.txt from the MSX.emu profile The entry cited only the bundled file and its note said no code reads it. No source file of MSX.emu names cbios.txt at the pin, so it is not a file the emulator loads. --- emulators/msx-emu.yml | 13 ------------- 1 file changed, 13 deletions(-) diff --git a/emulators/msx-emu.yml b/emulators/msx-emu.yml index 8a16aa246..cb482d63f 100644 --- a/emulators/msx-emu.yml +++ b/emulators/msx-emu.yml @@ -238,19 +238,6 @@ files: description: "C-BIOS MSX-MUSIC ROM, slot 3-1 from page 2" source_ref: "MSX.emu/res/firmware/Machines/MSX2+ - C-BIOS/config.ini:31, MSX.emu/src/blueMSX/Board/Machine.c:300-339,450-468,1168-1181, MSX.emu/src/blueMSX/Memory/romMapperMsxMusic.c:55-68" - - name: "cbios.txt" - path: "cbios.txt" - system: msx - required: false - bundled: true - category: game_data - size: 10469 - sha1: "78ae5c049bc94ee1284536c419388b1ab7ac218c" - description: "C-BIOS 0.29 release notes and licence, bundled beside the machine folders" - note: >- - Shipped in the application bundle. No code reads it. - source_ref: "MSX.emu/res/firmware/cbios.txt" - - name: "config.ini" path: "Machines/MSX/config.ini" system: msx From 3add162a373ed962ce5de241892834f92696c3a8 Mon Sep 17 00:00:00 2001 From: Abdessamad Derraz <3028866+Abdess@users.noreply.github.com> Date: Tue, 10 Nov 2026 13:41:13 +0100 Subject: [PATCH 12/22] docs: cite the C64DTV ROM loaders in VICE The three C64DTV ROM entries named only their file in vice/data. They now cite the BasicName, KernalName and ChargenName resources that name them, the c64rom loaders those resources call, and the embedded table that answers the names in the libretro build. --- emulators/vice.yml | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/emulators/vice.yml b/emulators/vice.yml index f85f64fc1..e859eb24c 100644 --- a/emulators/vice.yml +++ b/emulators/vice.yml @@ -469,7 +469,7 @@ files: md5: 57af4ae21d4b705c2991d98ed5c1f7b8 crc32: f833d117 note: "C64 BASIC V2 ROM (DTV copy). Embedded in core." - source_ref: "vice/data/C64DTV/basic-901226-01.bin" + source_ref: "vice/data/C64DTV/basic-901226-01.bin, vice/src/c64/c64rom.h:31, vice/src/c64dtv/c64dtv-resources.c:92, 157, retrodep/embedded/c64dtvembedded.c:43-48" - name: "vice/C64DTV/chargen-901225-01.bin" system: commodore-c64dtv @@ -481,7 +481,7 @@ files: md5: 12a4202f5331d45af846af6c58fba946 crc32: ec4272ee note: "C64 Character Generator (DTV copy). Embedded in core." - source_ref: "vice/data/C64DTV/chargen-901225-01.bin" + source_ref: "vice/data/C64DTV/chargen-901225-01.bin, vice/src/c64/c64rom.h:60, vice/src/c64dtv/c64dtv-resources.c:74, 151, retrodep/embedded/c64dtvembedded.c:43-48" - name: "vice/C64DTV/kernal-901227-03.bin" system: commodore-c64dtv @@ -493,7 +493,7 @@ files: md5: 39065497630802346bce17963f13c092 crc32: dbe3e7c7 note: "C64 Kernal Rev 3 (DTV copy). Embedded in core." - source_ref: "vice/data/C64DTV/kernal-901227-03.bin" + source_ref: "vice/data/C64DTV/kernal-901227-03.bin, vice/src/c64/c64rom.h:52, vice/src/c64dtv/c64dtv-resources.c:83, 154, retrodep/embedded/c64dtvembedded.c:43-48" # ------------------------------------------------------- # VIC-20 ROMs (vice_xvic) From cc0f628a123aca1e0bea5ca254fddb8c9fc423c9 Mon Sep 17 00:00:00 2001 From: Abdessamad Derraz <3028866+Abdess@users.noreply.github.com> Date: Tue, 10 Nov 2026 13:41:43 +0100 Subject: [PATCH 13/22] fix: drop gs104.rom from the ZEsarUX profile The entry cited only the configure line that packs every *.rom into the release. The General Sound loader opens GS_ROM_NAME, fixed to gs105a.rom (src/soundchips/gs.h:34), and no code names gs104.rom, so ZEsarUX never reads it under its name. --- emulators/zesarux.yml | 9 --------- 1 file changed, 9 deletions(-) diff --git a/emulators/zesarux.yml b/emulators/zesarux.yml index cc64d798c..4b2bcc19e 100644 --- a/emulators/zesarux.yml +++ b/emulators/zesarux.yml @@ -1027,15 +1027,6 @@ files: source_ref: "src/soundchips/gs.h:34, src/soundchips/gs.h:29, src/soundchips/gs.c:525-545" note: "General Sound firmware v1.05a. GS_ROM_SIZE is in KB and the read is GS_ROM_SIZE*1024." - - name: "gs104.rom" - sha1: "c865121306eb3a7d811d82fbcc653b4dc1d6fa3d" - size: 32768 - required: false - bundled: true - system: sinclair-zx-spectrum - source_ref: "src/configure:1933" - note: "General Sound firmware v1.04. Shipped alongside gs105a.rom, but GS_ROM_NAME is fixed and there is no option to point the loader elsewhere, so it is usable only in place of gs105a.rom." - # ============================================================ # Alternate machine ROMs, selectable with --romfile (src/start.c:4877-4881, # loaded at src/cpu.c:3776-3779). Documented in the shipped src/ALTERNATEROMS. From 851c7a9bc546699ebad3b055dbb11fb0662f7f20 Mon Sep 17 00:00:00 2001 From: Abdessamad Derraz <3028866+Abdess@users.noreply.github.com> Date: Tue, 10 Nov 2026 13:42:53 +0100 Subject: [PATCH 14/22] docs: cite the software list loader in A7800 hiscore.zip and xm.zip named only their hash/a7800.xml entries. They now cite the cart_list software list of the driver, the hash path that holds the XML, its open in softlist_dev.cpp, and the ROM search by list and set name in romload.cpp. --- emulators/a7800.yml | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/emulators/a7800.yml b/emulators/a7800.yml index efbcab113..1d39b81ad 100644 --- a/emulators/a7800.yml +++ b/emulators/a7800.yml @@ -96,7 +96,7 @@ files: required: false category: bios_zip system: atari-7800 - source_ref: "source hash/a7800.xml:8-21" + source_ref: "source hash/a7800.xml:8-21, source src/mame/drivers/a7800.cpp:1577, source src/emu/emuopts.cpp:40, source src/emu/softlist_dev.cpp:87, 309, source src/emu/romload.cpp:575-651, 1298-1302" note: >- Software list set for the High Score Cartridge configuration (CX78HSC, slot a78_hsc). Fatal when that configuration is selected and the set is @@ -112,7 +112,7 @@ files: required: false category: bios_zip system: atari-7800 - source_ref: "source hash/a7800.xml:24-38" + source_ref: "source hash/a7800.xml:24-38, source src/mame/drivers/a7800.cpp:1577, source src/emu/emuopts.cpp:40, source src/emu/softlist_dev.cpp:87, 309, source src/emu/romload.cpp:575-651, 1298-1302" note: >- Software list set for the XM Expansion Module configuration (slot a78_xm), which reuses the High Score Cartridge ROM alongside 128KB RAM, From b597944c5059fa838c9d5701a6de9fb48326ce6f Mon Sep 17 00:00:00 2001 From: Abdessamad Derraz <3028866+Abdess@users.noreply.github.com> Date: Tue, 10 Nov 2026 13:43:45 +0100 Subject: [PATCH 15/22] fix: read defaults.prp from the Abuse code defaults.prp cited abuse.lsp, which does not name it. dev_init opens it at every start through property_manager::load, which skips a missing file, so it is optional. It holds the level editor window positions and is written back after an -edit session. english.lsp now cites the abuse.lsp load the engine runs and the install rule. --- emulators/abuse.yml | 10 +++++----- 1 file changed, 5 insertions(+), 5 deletions(-) diff --git a/emulators/abuse.yml b/emulators/abuse.yml index e2def0df1..7985e7b9a 100644 --- a/emulators/abuse.yml +++ b/emulators/abuse.yml @@ -52,11 +52,11 @@ files: - name: "defaults.prp" category: game_data - description: "Default properties for level objects" - required: true + description: "Level editor window positions" + required: false bundled: true - source_ref: "data/abuse.lsp" - note: "Shipped in Abuse-0.9.1-win32.zip." + source_ref: "src/game.cpp:2373, src/dev.cpp:821-828, 3371-3374, src/property.cpp:155-159" + note: "Shipped in Abuse-0.9.1-win32.zip. Read at every start, and a missing file leaves the defaults. Written back after an -edit session." - name: "english.lsp" path: "lisp/english.lsp" @@ -64,5 +64,5 @@ files: description: "Localized strings loaded first by abuse.lsp" required: true bundled: true - source_ref: "data/abuse.lsp:9" + source_ref: "data/abuse.lsp:9-12, data/CMakeLists.txt:1-5, 10-16, src/loader2.cpp:284, 348-354" note: "Shipped in Abuse-0.9.1-win32.zip." From 565da616d98535e23f87a6dacb700c2683ae2918 Mon Sep 17 00:00:00 2001 From: Abdessamad Derraz <3028866+Abdess@users.noreply.github.com> Date: Tue, 10 Nov 2026 13:44:19 +0100 Subject: [PATCH 16/22] docs: cite the ArcadeFlashWeb page load background.jpg cited flash.html and qml.qrc only. It now cites the main.qml lines that open flash.html from the application folder, and the QML image that reads the compiled copy. --- emulators/arcadeflashweb.yml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/emulators/arcadeflashweb.yml b/emulators/arcadeflashweb.yml index 9d2931b9c..db394d5ad 100644 --- a/emulators/arcadeflashweb.yml +++ b/emulators/arcadeflashweb.yml @@ -131,7 +131,7 @@ files: note: >- Drawn behind the movie by the page's bg div. The same image is compiled into the binary for the QML side, so only this copy is read from disk. - source_ref: "ArcadeFlashWeb-release flash/flash.html:110, src/qml.qrc:23" + source_ref: "src/main.qml:327, 334, ArcadeFlashWeb-release flash/flash.html:110, src/qml.qrc:23, src/main.qml:457" - name: swfdump.exe size: 541095 From 0c2b718c5e10e883ae28baae7acf2cf1e802db05 Mon Sep 17 00:00:00 2001 From: Abdessamad Derraz <3028866+Abdess@users.noreply.github.com> Date: Tue, 10 Nov 2026 13:44:57 +0100 Subject: [PATCH 17/22] docs: cite the ROM config reader in BeebEm Four Torch ROM entries named only their Roms_Torch.cfg line. They now cite BeebEmTorch.vbs passing -Roms Roms_Torch.cfg, BeebWin taking that file from the user data folder, RomConfigFile::Load, and BeebReadRoms opening each paged ROM. --- emulators/beebem.yml | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) diff --git a/emulators/beebem.yml b/emulators/beebem.yml index d0bd0654c..415881bd5 100644 --- a/emulators/beebem.yml +++ b/emulators/beebem.yml @@ -193,7 +193,7 @@ files: max_size: 131072 validation: [size] note: "Integra-B slot under the Torch configuration." - source_ref: "UserData/Roms_Torch.cfg:24" + source_ref: "UserData/Roms_Torch.cfg:24, BeebEmTorch.vbs:3, Src/BeebWin.cpp:5291-5297, 5960-5964, 473, Src/RomConfigFile.cpp:158-162, Src/BeebMem.cpp:1321-1337" - name: WDFS.rom path: BeebFile/BBCINT/WDFS.rom @@ -206,7 +206,7 @@ files: max_size: 131072 validation: [size] note: "Filing system slot under the Torch configuration." - source_ref: "UserData/Roms_Torch.cfg:26" + source_ref: "UserData/Roms_Torch.cfg:26, BeebEmTorch.vbs:3, Src/BeebWin.cpp:5291-5297, 5960-5964, 473, Src/RomConfigFile.cpp:158-162, Src/BeebMem.cpp:1321-1337" - name: MCP120-CBL.rom path: BeebFile/BBC/MCP120-CBL.rom @@ -219,7 +219,7 @@ files: max_size: 131072 validation: [size] note: "Host tube support for the Torch Z80 co-processor on a Model B." - source_ref: "UserData/Roms_Torch.cfg:5, Help/z80torch.html" + source_ref: "UserData/Roms_Torch.cfg:5, Help/z80torch.html, BeebEmTorch.vbs:3, Src/BeebWin.cpp:5291-5297, 5960-5964, 473, Src/RomConfigFile.cpp:158-162, Src/BeebMem.cpp:1321-1337" # -- BBC Model B Plus -- @@ -413,7 +413,7 @@ files: max_size: 131072 validation: [size] note: "Host tube support for the Torch Z80 co-processor on a Master." - source_ref: "UserData/Roms_Torch.cfg:79, Help/z80torch.html" + source_ref: "UserData/Roms_Torch.cfg:79, Help/z80torch.html, BeebEmTorch.vbs:3, Src/BeebWin.cpp:5291-5297, 5960-5964, 473, Src/RomConfigFile.cpp:158-162, Src/BeebMem.cpp:1321-1337" # -- BBC Master ET -- From 611dd0fa5576f144be6a6657d6ae06dea7311a19 Mon Sep 17 00:00:00 2001 From: Abdessamad Derraz <3028866+Abdess@users.noreply.github.com> Date: Tue, 10 Nov 2026 13:49:45 +0100 Subject: [PATCH 18/22] feat: refuse source_refs that cite only data validate_schemas now refuses a files[] source_ref whose parts are all data or build files (a table, a makefile, meson.build, the file itself). A ref passes when one part names a source file or a binary with an address. The closed-source profiles whose refs are still prose about the shipped binary are listed in DATA_ONLY_REF_EXCEPTIONS with a reason each. --- scripts/validate_schemas.py | 60 ++++++++++++++++++++++++++ tests/test_data_only_refs.py | 83 ++++++++++++++++++++++++++++++++++++ 2 files changed, 143 insertions(+) create mode 100644 tests/test_data_only_refs.py diff --git a/scripts/validate_schemas.py b/scripts/validate_schemas.py index c28cd2d82..97b40707a 100644 --- a/scripts/validate_schemas.py +++ b/scripts/validate_schemas.py @@ -87,6 +87,7 @@ def _validate_yaml_directory( out.extend(_systems_outside_profile(path, data)) out.extend(_doubled_paths(path)) out.extend(_group_requirement_split(path, data)) + out.extend(_data_only_source_refs(path, data)) return out @@ -155,6 +156,65 @@ def _group_requirement_split(path: Path, document: object) -> list[str]: return out +_CODE_SUFFIXES = frozenset( + "c cc cpp cxx c++ h hh hpp hxx inc inl ipp m mm mjs cjs js jsx ts tsx py cs java kt " + "go rs lua pas pp asm s sh bash zsh ps1 bat cmd vbs swift d zig nim qml qc rb pl php " + "scala ml hs dart vue ino z80 smali".split() +) +_CODE_FILE = re.compile(r"[\w+.-]\.([A-Za-z0-9+]+)\b") +_BINARY_EVIDENCE = re.compile( + r"\b0x[0-9a-fA-F]+\b|\bFUN_[0-9a-fA-F]+\b|\.(?:so|dll|exe|dylib|dex|apk|jar|elf|nro|xex)\b", + re.IGNORECASE, +) + +# Profiles whose files cite no published code. Each reason says why the +# check cannot apply yet. +DATA_ONLY_REF_EXCEPTIONS: dict[str, str] = { + "ace-dl": "closed source: the refs describe what the shipped binary opens", + "cpcemu": "closed source: the refs describe what the shipped binary opens", + "drastic": "closed source: the shader format files are read by the shipped binary", + "lexaloffle": "closed source: PICO-8 reads pico8_gpio, the refs are its readme and the KNULLI install script", + "mfme": "closed source: the refs are the release notes of the shipped binary", +} + + +def _ref_cites_code(ref: str) -> bool: + """A source_ref part names a source file, or a binary with an address.""" + from sourceref import split_source_ref + + if _BINARY_EVIDENCE.search(ref): + return True + for part in split_source_ref(ref): + for suffix in _CODE_FILE.findall(part.raw): + if suffix.lower() in _CODE_SUFFIXES: + return True + return False + + +def _data_only_source_refs(path: Path, document: object) -> list[str]: + """A files[] source_ref that cites only data or build files. + + A data file is evidence that the emulator reads a file only once the + code that ships and parses it is cited too: iwadinfo.txt names the + IWADs, d_iwad.cpp is what reads it. 655 entries in 27 profiles cited + the table alone, and six of them named a file no code opens. + """ + if not isinstance(document, dict) or path.stem in DATA_ONLY_REF_EXCEPTIONS: + return [] + out: list[str] = [] + for index, entry in enumerate(document.get("files") or []): + if not isinstance(entry, dict) or not entry.get("source_ref"): + continue + refs = entry["source_ref"] + for ref in refs.values() if isinstance(refs, dict) else [refs]: + if ref and not _ref_cites_code(str(ref)): + out.append( + f"{path.relative_to(ROOT)}: files[{index}] ({entry.get('name')}) " + f"source_ref cites no code that reads the file: {ref}" + ) + return out + + def _checks_without_values(path: Path, document: object) -> list[str]: """A check an entry declares with nothing to compare against. diff --git a/tests/test_data_only_refs.py b/tests/test_data_only_refs.py new file mode 100644 index 000000000..345f7d091 --- /dev/null +++ b/tests/test_data_only_refs.py @@ -0,0 +1,83 @@ +"""A files[] source_ref must cite the code that reads the file.""" + +from __future__ import annotations + +import tests # noqa: F401 offline, scratch under tmp/, the suite's own cache + +import sys +import unittest +from pathlib import Path + +REPO_ROOT = Path(__file__).resolve().parents[1] +sys.path.insert(0, str(REPO_ROOT / "scripts")) + +try: + import validate_schemas +except ImportError as exc: + validate_schemas = None + IMPORT_ERROR = str(exc) +else: + IMPORT_ERROR = "" + + +def _profile(ref: object) -> dict: + return {"files": [{"name": "doom.wad", "source_ref": ref}]} + + +@unittest.skipIf(validate_schemas is None, f"validate_schemas unavailable: {IMPORT_ERROR}") +class DataOnlySourceRefs(unittest.TestCase): + path = REPO_ROOT / "emulators" / "synthetic.yml" + + def errors(self, ref: object) -> list[str]: + return validate_schemas._data_only_source_refs(self.path, _profile(ref)) + + def test_a_data_table_alone_is_refused(self): + self.assertEqual(len(self.errors("wadsrc_extra/static/iwadinfo.txt:420, 437")), 1) + + def test_a_build_file_alone_is_refused(self): + for ref in ("pc-bios/meson.build:30", "wadsrc/CMakeLists.txt:1", + "dists/engine-data/engine_data.mk (ENABLE_KYRA)", "src/configure:1933"): + with self.subTest(ref=ref): + self.assertEqual(len(self.errors(ref)), 1) + + def test_a_file_in_the_tree_alone_is_refused(self): + self.assertEqual(len(self.errors("fMSX/ROMs/MSX.ROM")), 1) + + def test_the_table_with_its_reader_passes(self): + self.assertEqual(self.errors( + "wadsrc_extra/static/iwadinfo.txt:420, wadsrc_extra/CMakeLists.txt:1, " + "src/d_iwad.cpp:286-296, 502-531"), []) + + def test_a_role_prefix_is_read_through(self): + self.assertEqual(self.errors("source pc-bios/meson.build:30, source hw/i386/pc_piix.c:466"), []) + + def test_a_binary_with_an_address_passes(self): + for ref in ("libemucore.so 0x1a2b3c", "Fusion.exe 0x00401000", + "bigpemu FUN_006d8be0 (BootROM read)", "nethersx2 v2.2n classes.dex icons/star-%d.png"): + with self.subTest(ref=ref): + self.assertEqual(self.errors(ref), []) + + def test_each_build_mode_is_judged(self): + self.assertEqual(len(self.errors({"standalone": "src/main.cpp:10", "libretro": "data/list.txt:3"})), 1) + + def test_an_excepted_profile_is_not_judged(self): + name = next(iter(validate_schemas.DATA_ONLY_REF_EXCEPTIONS)) + path = REPO_ROOT / "emulators" / f"{name}.yml" + self.assertEqual(validate_schemas._data_only_source_refs(path, _profile("history.txt:38")), []) + + def test_every_exception_names_a_profile_and_a_reason(self): + for name, reason in validate_schemas.DATA_ONLY_REF_EXCEPTIONS.items(): + with self.subTest(profile=name): + self.assertTrue((REPO_ROOT / "emulators" / f"{name}.yml").is_file()) + self.assertTrue(reason.strip()) + + def test_the_profiles_cite_their_readers(self): + errors: list[str] = [] + for path in sorted((REPO_ROOT / "emulators").glob("*.yml")): + errors.extend(validate_schemas._data_only_source_refs( + path, validate_schemas._load_source(path))) + self.assertEqual(errors, []) + + +if __name__ == "__main__": + unittest.main() From bd292ba2f93031dca327ef9ffe670e772d705f85 Mon Sep 17 00:00:00 2001 From: Abdessamad Derraz <3028866+Abdess@users.noreply.github.com> Date: Tue, 10 Nov 2026 13:51:27 +0100 Subject: [PATCH 19/22] fix: drop QEMU targets the core does not build The core is built by libretro-gitlab-build.sh (Makefile.libretro-gitlab, the MAKEFILE of .gitlab-ci.yml) with a --target-list of 17 softmmu targets, and neither hppa-softmmu nor microblaze-softmmu is among them. hw/hppa/machine.c and hw/microblaze/ are not compiled, so nothing reads hppa-firmware.img, hppa-firmware64.img or the two Petalogix device trees. The four entries and the hppa system are removed. --- emulators/qemu.yml | 41 +---------------------------------------- 1 file changed, 1 insertion(+), 40 deletions(-) diff --git a/emulators/qemu.yml b/emulators/qemu.yml index ebcf2f8ec..e19cb5549 100644 --- a/emulators/qemu.yml +++ b/emulators/qemu.yml @@ -13,7 +13,7 @@ version_basis: pattern: 'info->library_version\s+=\s+"([^"]+)' display_name: "QEMU" cores: [qemu] -systems: [ibm-pc, x86, x86-64, ppc, ppc64, sparc, sparc64, arm, aarch64, mips, mips64, riscv32, riscv64, s390x, m68k, alpha, hppa] +systems: [ibm-pc, x86, x86-64, ppc, ppc64, sparc, sparc64, arm, aarch64, mips, mips64, riscv32, riscv64, s390x, m68k, alpha] # QEMU (Quick Emulator) libretro core, based on QEMU 9.0.50. # Builds 17 targets: aarch64, alpha, arm, i386, m68k, mips(el), mips64(el), @@ -611,27 +611,6 @@ files: note: "Network boot firmware for s390x emulation." source_ref: "source hw/s390x/ipl.c:497" - # ======================================================== - # HP-PA FIRMWARE - # ======================================================== - - name: "HP-PA firmware (32-bit)" - installed_on: [retrodeck] - path: "qemu/hppa-firmware.img" - sha1: "605c36ede6c120c6cc7efe147a75a3dc4b7e4fb0" - size: 167820 - required: false - note: "SeaBIOS-hppa firmware for 32-bit HP-PARISC emulation." - source_ref: "source hw/hppa/machine.c:424" - - - name: "HP-PA firmware (64-bit)" - installed_on: [retrodeck] - path: "qemu/hppa-firmware64.img" - sha1: "b42f6d4ca74073de6c038579b4a9323ad0a6b398" - size: 206024 - required: false - note: "SeaBIOS-hppa firmware for 64-bit HP-PARISC emulation." - source_ref: "source hw/hppa/machine.c:424" - # ======================================================== # MIPS FIRMWARE (not shipped, user-supplied) # ======================================================== @@ -713,24 +692,6 @@ files: note: "Device tree blob for PowerPC Canyonlands (460EX) / Sam460ex board." source_ref: "source hw/ppc/sam460ex.c:45" - - name: "Petalogix ML605 DTB (MicroBlaze)" - installed_on: [retrodeck] - path: "qemu/petalogix-ml605.dtb" - sha1: "892d265838866869b8a8ef104252ff5b2fda156f" - size: 9882 - required: false - note: "Device tree blob for Xilinx Petalogix ML605 MicroBlaze board. MicroBlaze target not built in libretro core." - source_ref: "source pc-bios/meson.build:91, source hw/microblaze/petalogix_ml605_mmu.c:49, 209, source hw/microblaze/boot.c:133" - - - name: "Petalogix S3ADSP1800 DTB (MicroBlaze)" - installed_on: [retrodeck] - path: "qemu/petalogix-s3adsp1800.dtb" - sha1: "976600e3f89ecc1f3564b7077f53c58e0b565280" - size: 8161 - required: false - note: "Device tree blob for Xilinx Petalogix S3ADSP1800 MicroBlaze board. MicroBlaze target not built in libretro core." - source_ref: "source pc-bios/meson.build:90, source hw/microblaze/petalogix_s3adsp1800_mmu.c:44, 129, source hw/microblaze/boot.c:133" - - name: "Virtex ML507 DTB (PPC)" path: "qemu/virtex-ml507.dtb" From 3d99fb765fadaeee1e1bb89f8df807498bf07323 Mon Sep 17 00:00:00 2001 From: Abdessamad Derraz <3028866+Abdess@users.noreply.github.com> Date: Tue, 10 Nov 2026 13:52:56 +0100 Subject: [PATCH 20/22] docs: give UZDoom libretro refs their own lines The IWAD entries cited one set of lines for both builds, read from the standalone tree. The libretro tree's d_iwad.cpp, d_main.cpp and iwadinfo.txt differ (its Names block lists doomxbox.wad and doom2xbox.wad once, not twice), so each entry now carries a standalone and a libretro ref, the second mapped line by line on the libretro pin. The libretro ref also cites the embedded game_support.pk3 and the -iwad the core passes for the content. --- emulators/uzdoom.yml | 172 ++++++++++++++++++++++++++++++++----------- 1 file changed, 129 insertions(+), 43 deletions(-) diff --git a/emulators/uzdoom.yml b/emulators/uzdoom.yml index c36827309..b237d16e3 100644 --- a/emulators/uzdoom.yml +++ b/emulators/uzdoom.yml @@ -246,144 +246,190 @@ files: category: game_data system: doom required: false - source_ref: "wadsrc_extra/static/iwadinfo.txt:420, 437, 659, wadsrc_extra/CMakeLists.txt:1, src/d_main.cpp:4207, src/d_iwad.cpp:292-302, 326-352, 362-407, 518-547" + source_ref: + standalone: "wadsrc_extra/static/iwadinfo.txt:420, 437, 659, wadsrc_extra/CMakeLists.txt:1, src/d_main.cpp:4207, src/d_iwad.cpp:292-302, 326-352, 362-407, 518-547" + libretro: "wadsrc_extra/static/iwadinfo.txt:420, 437, 659, wadsrc_extra/CMakeLists.txt:1, src/common/platform/libretro/embedded_pk3.S.in:26-31, src/common/platform/libretro/retro_resources.h:18-19, src/d_main.cpp:4243, src/d_iwad.cpp:299-309, 333-359, 369-414, 537-566, src/common/platform/libretro/retro_core.cpp:61" note: "The Ultimate DOOM and DOOM Registered both use this name and are told apart by their lumps." - name: "doom2.wad" category: game_data system: doom required: false - source_ref: "wadsrc_extra/static/iwadinfo.txt:640, 653, wadsrc_extra/CMakeLists.txt:1, src/d_main.cpp:4207, src/d_iwad.cpp:292-302, 326-352, 362-407, 518-547" + source_ref: + standalone: "wadsrc_extra/static/iwadinfo.txt:640, 653, wadsrc_extra/CMakeLists.txt:1, src/d_main.cpp:4207, src/d_iwad.cpp:292-302, 326-352, 362-407, 518-547" + libretro: "wadsrc_extra/static/iwadinfo.txt:640, 653, wadsrc_extra/CMakeLists.txt:1, src/common/platform/libretro/embedded_pk3.S.in:26-31, src/common/platform/libretro/retro_resources.h:18-19, src/d_main.cpp:4243, src/d_iwad.cpp:299-309, 333-359, 369-414, 537-566, src/common/platform/libretro/retro_core.cpp:61" - name: "doom2f.wad" category: game_data system: doom required: false - source_ref: "wadsrc_extra/static/iwadinfo.txt:625, 657, wadsrc_extra/CMakeLists.txt:1, src/d_main.cpp:4207, src/d_iwad.cpp:292-302, 326-352, 362-407, 518-547" + source_ref: + standalone: "wadsrc_extra/static/iwadinfo.txt:625, 657, wadsrc_extra/CMakeLists.txt:1, src/d_main.cpp:4207, src/d_iwad.cpp:292-302, 326-352, 362-407, 518-547" + libretro: "wadsrc_extra/static/iwadinfo.txt:625, 657, wadsrc_extra/CMakeLists.txt:1, src/common/platform/libretro/embedded_pk3.S.in:26-31, src/common/platform/libretro/retro_resources.h:18-19, src/d_main.cpp:4243, src/d_iwad.cpp:299-309, 333-359, 369-414, 537-566, src/common/platform/libretro/retro_core.cpp:61" - name: "doombfg.wad" category: game_data system: doom required: false - source_ref: "wadsrc_extra/static/iwadinfo.txt:332, 666, wadsrc_extra/CMakeLists.txt:1, src/d_main.cpp:4207, src/d_iwad.cpp:292-302, 326-352, 362-407, 518-547" + source_ref: + standalone: "wadsrc_extra/static/iwadinfo.txt:332, 666, wadsrc_extra/CMakeLists.txt:1, src/d_main.cpp:4207, src/d_iwad.cpp:292-302, 326-352, 362-407, 518-547" + libretro: "wadsrc_extra/static/iwadinfo.txt:332, 666, wadsrc_extra/CMakeLists.txt:1, src/common/platform/libretro/embedded_pk3.S.in:26-31, src/common/platform/libretro/retro_resources.h:18-19, src/d_main.cpp:4243, src/d_iwad.cpp:299-309, 333-359, 369-414, 537-566, src/common/platform/libretro/retro_core.cpp:61" - name: "doom2bfg.wad" category: game_data system: doom required: false - source_ref: "wadsrc_extra/static/iwadinfo.txt:560, 667, wadsrc_extra/CMakeLists.txt:1, src/d_main.cpp:4207, src/d_iwad.cpp:292-302, 326-352, 362-407, 518-547" + source_ref: + standalone: "wadsrc_extra/static/iwadinfo.txt:560, 667, wadsrc_extra/CMakeLists.txt:1, src/d_main.cpp:4207, src/d_iwad.cpp:292-302, 326-352, 362-407, 518-547" + libretro: "wadsrc_extra/static/iwadinfo.txt:560, 667, wadsrc_extra/CMakeLists.txt:1, src/common/platform/libretro/embedded_pk3.S.in:26-31, src/common/platform/libretro/retro_resources.h:18-19, src/d_main.cpp:4243, src/d_iwad.cpp:299-309, 333-359, 369-414, 537-566, src/common/platform/libretro/retro_core.cpp:61" - name: "doomunity.wad" category: game_data system: doom required: false - source_ref: "wadsrc_extra/static/iwadinfo.txt:369, 661, wadsrc_extra/CMakeLists.txt:1, src/d_main.cpp:4207, src/d_iwad.cpp:292-302, 326-352, 362-407, 518-547" + source_ref: + standalone: "wadsrc_extra/static/iwadinfo.txt:369, 661, wadsrc_extra/CMakeLists.txt:1, src/d_main.cpp:4207, src/d_iwad.cpp:292-302, 326-352, 362-407, 518-547" + libretro: "wadsrc_extra/static/iwadinfo.txt:369, 661, wadsrc_extra/CMakeLists.txt:1, src/common/platform/libretro/embedded_pk3.S.in:26-31, src/common/platform/libretro/retro_resources.h:18-19, src/d_main.cpp:4243, src/d_iwad.cpp:299-309, 333-359, 369-414, 537-566, src/common/platform/libretro/retro_core.cpp:61" - name: "doom2unity.wad" category: game_data system: doom required: false - source_ref: "wadsrc_extra/static/iwadinfo.txt:592, 655, wadsrc_extra/CMakeLists.txt:1, src/d_main.cpp:4207, src/d_iwad.cpp:292-302, 326-352, 362-407, 518-547" + source_ref: + standalone: "wadsrc_extra/static/iwadinfo.txt:592, 655, wadsrc_extra/CMakeLists.txt:1, src/d_main.cpp:4207, src/d_iwad.cpp:292-302, 326-352, 362-407, 518-547" + libretro: "wadsrc_extra/static/iwadinfo.txt:592, 655, wadsrc_extra/CMakeLists.txt:1, src/common/platform/libretro/embedded_pk3.S.in:26-31, src/common/platform/libretro/retro_resources.h:18-19, src/d_main.cpp:4243, src/d_iwad.cpp:299-309, 333-359, 369-414, 537-566, src/common/platform/libretro/retro_core.cpp:61" - name: "doomkex.wad" category: game_data system: doom required: false - source_ref: "wadsrc_extra/static/iwadinfo.txt:350, 662, wadsrc_extra/CMakeLists.txt:1, src/d_main.cpp:4207, src/d_iwad.cpp:292-302, 326-352, 362-407, 518-547" + source_ref: + standalone: "wadsrc_extra/static/iwadinfo.txt:350, 662, wadsrc_extra/CMakeLists.txt:1, src/d_main.cpp:4207, src/d_iwad.cpp:292-302, 326-352, 362-407, 518-547" + libretro: "wadsrc_extra/static/iwadinfo.txt:350, 662, wadsrc_extra/CMakeLists.txt:1, src/common/platform/libretro/embedded_pk3.S.in:26-31, src/common/platform/libretro/retro_resources.h:18-19, src/d_main.cpp:4243, src/d_iwad.cpp:299-309, 333-359, 369-414, 537-566, src/common/platform/libretro/retro_core.cpp:61" - name: "doom2kex.wad" category: game_data system: doom required: false - source_ref: "wadsrc_extra/static/iwadinfo.txt:576, 656, wadsrc_extra/CMakeLists.txt:1, src/d_main.cpp:4207, src/d_iwad.cpp:292-302, 326-352, 362-407, 518-547" + source_ref: + standalone: "wadsrc_extra/static/iwadinfo.txt:576, 656, wadsrc_extra/CMakeLists.txt:1, src/d_main.cpp:4207, src/d_iwad.cpp:292-302, 326-352, 362-407, 518-547" + libretro: "wadsrc_extra/static/iwadinfo.txt:576, 656, wadsrc_extra/CMakeLists.txt:1, src/common/platform/libretro/embedded_pk3.S.in:26-31, src/common/platform/libretro/retro_resources.h:18-19, src/d_main.cpp:4243, src/d_iwad.cpp:299-309, 333-359, 369-414, 537-566, src/common/platform/libretro/retro_core.cpp:61" - name: "doomxbox.wad" category: game_data system: doom required: false - source_ref: "wadsrc_extra/static/iwadinfo.txt:403, 660, wadsrc_extra/CMakeLists.txt:1, src/d_main.cpp:4207, src/d_iwad.cpp:292-302, 326-352, 362-407, 518-547" + source_ref: + standalone: "wadsrc_extra/static/iwadinfo.txt:403, 660, wadsrc_extra/CMakeLists.txt:1, src/d_main.cpp:4207, src/d_iwad.cpp:292-302, 326-352, 362-407, 518-547" + libretro: "wadsrc_extra/static/iwadinfo.txt:403, 660, wadsrc_extra/CMakeLists.txt:1, src/common/platform/libretro/embedded_pk3.S.in:26-31, src/common/platform/libretro/retro_resources.h:18-19, src/d_main.cpp:4243, src/d_iwad.cpp:299-309, 333-359, 369-414, 537-566, src/common/platform/libretro/retro_core.cpp:61" - name: "doom2xbox.wad" category: game_data system: doom required: false - source_ref: "wadsrc_extra/static/iwadinfo.txt:608, 654, wadsrc_extra/CMakeLists.txt:1, src/d_main.cpp:4207, src/d_iwad.cpp:292-302, 326-352, 362-407, 518-547" + source_ref: + standalone: "wadsrc_extra/static/iwadinfo.txt:608, 654, wadsrc_extra/CMakeLists.txt:1, src/d_main.cpp:4207, src/d_iwad.cpp:292-302, 326-352, 362-407, 518-547" + libretro: "wadsrc_extra/static/iwadinfo.txt:608, 654, wadsrc_extra/CMakeLists.txt:1, src/common/platform/libretro/embedded_pk3.S.in:26-31, src/common/platform/libretro/retro_resources.h:18-19, src/d_main.cpp:4243, src/d_iwad.cpp:299-309, 333-359, 369-414, 537-566, src/common/platform/libretro/retro_core.cpp:61" - name: "doom_complete.pk3" category: game_data system: doom required: false - source_ref: "wadsrc_extra/static/iwadinfo.txt:389, 652, wadsrc_extra/CMakeLists.txt:1, src/d_main.cpp:4207, src/d_iwad.cpp:292-302, 326-352, 362-407, 518-547" + source_ref: + standalone: "wadsrc_extra/static/iwadinfo.txt:389, 652, wadsrc_extra/CMakeLists.txt:1, src/d_main.cpp:4207, src/d_iwad.cpp:292-302, 326-352, 362-407, 518-547" + libretro: "wadsrc_extra/static/iwadinfo.txt:389, 652, wadsrc_extra/CMakeLists.txt:1, src/common/platform/libretro/embedded_pk3.S.in:26-31, src/common/platform/libretro/retro_resources.h:18-19, src/d_main.cpp:4243, src/d_iwad.cpp:299-309, 333-359, 369-414, 537-566, src/common/platform/libretro/retro_core.cpp:61" - name: "plutonia.wad" category: game_data system: doom required: false - source_ref: "wadsrc_extra/static/iwadinfo.txt:545, 670, wadsrc_extra/CMakeLists.txt:1, src/d_main.cpp:4207, src/d_iwad.cpp:292-302, 326-352, 362-407, 518-547" + source_ref: + standalone: "wadsrc_extra/static/iwadinfo.txt:545, 670, wadsrc_extra/CMakeLists.txt:1, src/d_main.cpp:4207, src/d_iwad.cpp:292-302, 326-352, 362-407, 518-547" + libretro: "wadsrc_extra/static/iwadinfo.txt:545, 668, wadsrc_extra/CMakeLists.txt:1, src/common/platform/libretro/embedded_pk3.S.in:26-31, src/common/platform/libretro/retro_resources.h:18-19, src/d_main.cpp:4243, src/d_iwad.cpp:299-309, 333-359, 369-414, 537-566, src/common/platform/libretro/retro_core.cpp:61" - name: "plutoniaunity.wad" category: game_data system: doom required: false - source_ref: "wadsrc_extra/static/iwadinfo.txt:514, 671, wadsrc_extra/CMakeLists.txt:1, src/d_main.cpp:4207, src/d_iwad.cpp:292-302, 326-352, 362-407, 518-547" + source_ref: + standalone: "wadsrc_extra/static/iwadinfo.txt:514, 671, wadsrc_extra/CMakeLists.txt:1, src/d_main.cpp:4207, src/d_iwad.cpp:292-302, 326-352, 362-407, 518-547" + libretro: "wadsrc_extra/static/iwadinfo.txt:514, 669, wadsrc_extra/CMakeLists.txt:1, src/common/platform/libretro/embedded_pk3.S.in:26-31, src/common/platform/libretro/retro_resources.h:18-19, src/d_main.cpp:4243, src/d_iwad.cpp:299-309, 333-359, 369-414, 537-566, src/common/platform/libretro/retro_core.cpp:61" - name: "plutoniakex.wad" category: game_data system: doom required: false - source_ref: "wadsrc_extra/static/iwadinfo.txt:529, 672, wadsrc_extra/CMakeLists.txt:1, src/d_main.cpp:4207, src/d_iwad.cpp:292-302, 326-352, 362-407, 518-547" + source_ref: + standalone: "wadsrc_extra/static/iwadinfo.txt:529, 672, wadsrc_extra/CMakeLists.txt:1, src/d_main.cpp:4207, src/d_iwad.cpp:292-302, 326-352, 362-407, 518-547" + libretro: "wadsrc_extra/static/iwadinfo.txt:529, 670, wadsrc_extra/CMakeLists.txt:1, src/common/platform/libretro/embedded_pk3.S.in:26-31, src/common/platform/libretro/retro_resources.h:18-19, src/d_main.cpp:4243, src/d_iwad.cpp:299-309, 333-359, 369-414, 537-566, src/common/platform/libretro/retro_core.cpp:61" - name: "tnt.wad" category: game_data system: doom required: false - source_ref: "wadsrc_extra/static/iwadinfo.txt:499, 673, wadsrc_extra/CMakeLists.txt:1, src/d_main.cpp:4207, src/d_iwad.cpp:292-302, 326-352, 362-407, 518-547" + source_ref: + standalone: "wadsrc_extra/static/iwadinfo.txt:499, 673, wadsrc_extra/CMakeLists.txt:1, src/d_main.cpp:4207, src/d_iwad.cpp:292-302, 326-352, 362-407, 518-547" + libretro: "wadsrc_extra/static/iwadinfo.txt:499, 671, wadsrc_extra/CMakeLists.txt:1, src/common/platform/libretro/embedded_pk3.S.in:26-31, src/common/platform/libretro/retro_resources.h:18-19, src/d_main.cpp:4243, src/d_iwad.cpp:299-309, 333-359, 369-414, 537-566, src/common/platform/libretro/retro_core.cpp:61" - name: "tntunity.wad" category: game_data system: doom required: false - source_ref: "wadsrc_extra/static/iwadinfo.txt:468, 674, wadsrc_extra/CMakeLists.txt:1, src/d_main.cpp:4207, src/d_iwad.cpp:292-302, 326-352, 362-407, 518-547" + source_ref: + standalone: "wadsrc_extra/static/iwadinfo.txt:468, 674, wadsrc_extra/CMakeLists.txt:1, src/d_main.cpp:4207, src/d_iwad.cpp:292-302, 326-352, 362-407, 518-547" + libretro: "wadsrc_extra/static/iwadinfo.txt:468, 672, wadsrc_extra/CMakeLists.txt:1, src/common/platform/libretro/embedded_pk3.S.in:26-31, src/common/platform/libretro/retro_resources.h:18-19, src/d_main.cpp:4243, src/d_iwad.cpp:299-309, 333-359, 369-414, 537-566, src/common/platform/libretro/retro_core.cpp:61" - name: "tntkex.wad" category: game_data system: doom required: false - source_ref: "wadsrc_extra/static/iwadinfo.txt:483, 675, wadsrc_extra/CMakeLists.txt:1, src/d_main.cpp:4207, src/d_iwad.cpp:292-302, 326-352, 362-407, 518-547" + source_ref: + standalone: "wadsrc_extra/static/iwadinfo.txt:483, 675, wadsrc_extra/CMakeLists.txt:1, src/d_main.cpp:4207, src/d_iwad.cpp:292-302, 326-352, 362-407, 518-547" + libretro: "wadsrc_extra/static/iwadinfo.txt:483, 673, wadsrc_extra/CMakeLists.txt:1, src/common/platform/libretro/embedded_pk3.S.in:26-31, src/common/platform/libretro/retro_resources.h:18-19, src/d_main.cpp:4243, src/d_iwad.cpp:299-309, 333-359, 369-414, 537-566, src/common/platform/libretro/retro_core.cpp:61" - name: "nerve.wad" category: game_data system: doom required: false - source_ref: "wadsrc_extra/static/iwadinfo.txt:565, 614, src/d_iwad.cpp:924-950" + source_ref: + standalone: "wadsrc_extra/static/iwadinfo.txt:565, 614, src/d_iwad.cpp:924-950" + libretro: "wadsrc_extra/static/iwadinfo.txt:565, 614, src/d_iwad.cpp:948-974" note: "No Rest for the Living. Autoloaded by Doom 2 BFG and Xbox editions." - name: "nerveunity.wad" category: game_data system: doom required: false - source_ref: "wadsrc_extra/static/iwadinfo.txt:598, src/d_iwad.cpp:924-950" + source_ref: + standalone: "wadsrc_extra/static/iwadinfo.txt:598, src/d_iwad.cpp:924-950" + libretro: "wadsrc_extra/static/iwadinfo.txt:598, src/d_iwad.cpp:948-974" note: "Loaded from the IWAD directory by DOOM 2: Unity Edition." - name: "extras.wad" category: game_data system: doom required: false - source_ref: "wadsrc_extra/static/iwadinfo.txt:357, 376, 488, 534, 582, 598, wadsrc_extra/CMakeLists.txt:1, src/d_main.cpp:4207, src/d_iwad.cpp:214-221, 326-352, 924-947" + source_ref: + standalone: "wadsrc_extra/static/iwadinfo.txt:357, 376, 488, 534, 582, 598, wadsrc_extra/CMakeLists.txt:1, src/d_main.cpp:4207, src/d_iwad.cpp:214-221, 326-352, 924-947" + libretro: "wadsrc_extra/static/iwadinfo.txt:357, 376, 488, 534, 582, 598, wadsrc_extra/CMakeLists.txt:1, src/common/platform/libretro/embedded_pk3.S.in:26-31, src/common/platform/libretro/retro_resources.h:18-19, src/d_main.cpp:4243, src/d_iwad.cpp:221-228, 333-359, 948-971, src/common/platform/libretro/retro_core.cpp:61" note: "Loaded from the IWAD directory by the KEX and Unity editions." - name: "soundtrack" category: game_data system: doom required: false - source_ref: "wadsrc_extra/static/iwadinfo.txt:376, 598, src/d_iwad.cpp:924-950" + source_ref: + standalone: "wadsrc_extra/static/iwadinfo.txt:376, 598, src/d_iwad.cpp:924-950" + libretro: "wadsrc_extra/static/iwadinfo.txt:376, 598, src/d_iwad.cpp:948-974" note: "Loaded from the IWAD directory by the DOOM and DOOM 2 Unity editions." - name: "id24res.wad" category: game_data system: doom required: false - source_ref: "wadsrc_extra/static/iwadinfo.txt:341, 360, 379, src/d_iwad.cpp:896-912" + source_ref: + standalone: "wadsrc_extra/static/iwadinfo.txt:341, 360, 379, src/d_iwad.cpp:896-912" + libretro: "wadsrc_extra/static/iwadinfo.txt:341, 360, 379, src/d_iwad.cpp:920-936" note: "id24 resource WAD. SupportWAD of every id IWAD block, loaded when found and i_loadsupportwad is set." # ---- Freedoom (free) ---- @@ -392,19 +438,25 @@ files: category: game_data system: doom required: false - source_ref: "wadsrc_extra/static/iwadinfo.txt:307, 676, wadsrc_extra/CMakeLists.txt:1, src/d_main.cpp:4207, src/d_iwad.cpp:292-302, 326-352, 362-407, 518-547" + source_ref: + standalone: "wadsrc_extra/static/iwadinfo.txt:307, 676, wadsrc_extra/CMakeLists.txt:1, src/d_main.cpp:4207, src/d_iwad.cpp:292-302, 326-352, 362-407, 518-547" + libretro: "wadsrc_extra/static/iwadinfo.txt:307, 674, wadsrc_extra/CMakeLists.txt:1, src/common/platform/libretro/embedded_pk3.S.in:26-31, src/common/platform/libretro/retro_resources.h:18-19, src/d_main.cpp:4243, src/d_iwad.cpp:299-309, 333-359, 369-414, 537-566, src/common/platform/libretro/retro_core.cpp:61" - name: "freedoom2.wad" category: game_data system: doom required: false - source_ref: "wadsrc_extra/static/iwadinfo.txt:294, 677, wadsrc_extra/CMakeLists.txt:1, src/d_main.cpp:4207, src/d_iwad.cpp:292-302, 326-352, 362-407, 518-547" + source_ref: + standalone: "wadsrc_extra/static/iwadinfo.txt:294, 677, wadsrc_extra/CMakeLists.txt:1, src/d_main.cpp:4207, src/d_iwad.cpp:292-302, 326-352, 362-407, 518-547" + libretro: "wadsrc_extra/static/iwadinfo.txt:294, 675, wadsrc_extra/CMakeLists.txt:1, src/common/platform/libretro/embedded_pk3.S.in:26-31, src/common/platform/libretro/retro_resources.h:18-19, src/d_main.cpp:4243, src/d_iwad.cpp:299-309, 333-359, 369-414, 537-566, src/common/platform/libretro/retro_core.cpp:61" - name: "freedm.wad" category: game_data system: doom required: false - source_ref: "wadsrc_extra/static/iwadinfo.txt:281, 680, wadsrc_extra/CMakeLists.txt:1, src/d_main.cpp:4207, src/d_iwad.cpp:292-302, 326-352, 362-407, 518-547" + source_ref: + standalone: "wadsrc_extra/static/iwadinfo.txt:281, 680, wadsrc_extra/CMakeLists.txt:1, src/d_main.cpp:4207, src/d_iwad.cpp:292-302, 326-352, 362-407, 518-547" + libretro: "wadsrc_extra/static/iwadinfo.txt:281, 678, wadsrc_extra/CMakeLists.txt:1, src/common/platform/libretro/embedded_pk3.S.in:26-31, src/common/platform/libretro/retro_resources.h:18-19, src/d_main.cpp:4243, src/d_iwad.cpp:299-309, 333-359, 369-414, 537-566, src/common/platform/libretro/retro_core.cpp:61" # ---- Heretic ---- @@ -412,7 +464,9 @@ files: category: game_data system: heretic required: false - source_ref: "wadsrc_extra/static/iwadinfo.txt:241, 244, 254, 257, 681, wadsrc_extra/CMakeLists.txt:1, src/d_main.cpp:4207, src/d_iwad.cpp:292-302, 326-352, 362-407, 518-547" + source_ref: + standalone: "wadsrc_extra/static/iwadinfo.txt:241, 244, 254, 257, 681, wadsrc_extra/CMakeLists.txt:1, src/d_main.cpp:4207, src/d_iwad.cpp:292-302, 326-352, 362-407, 518-547" + libretro: "wadsrc_extra/static/iwadinfo.txt:241, 244, 254, 257, 679, wadsrc_extra/CMakeLists.txt:1, src/common/platform/libretro/embedded_pk3.S.in:26-31, src/common/platform/libretro/retro_resources.h:18-19, src/d_main.cpp:4243, src/d_iwad.cpp:299-309, 333-359, 369-414, 537-566, src/common/platform/libretro/retro_core.cpp:61" note: "Both Heretic and Shadow of the Serpent Riders use this name and are told apart by the EXTENDED lump." - name: "blasphem.wad" @@ -420,7 +474,9 @@ files: category: game_data system: heretic required: false - source_ref: "wadsrc_extra/static/iwadinfo.txt:228, 692-693, wadsrc_extra/CMakeLists.txt:1, src/d_main.cpp:4207, src/d_iwad.cpp:292-302, 326-352, 362-407, 518-547" + source_ref: + standalone: "wadsrc_extra/static/iwadinfo.txt:228, 692-693, wadsrc_extra/CMakeLists.txt:1, src/d_main.cpp:4207, src/d_iwad.cpp:292-302, 326-352, 362-407, 518-547" + libretro: "wadsrc_extra/static/iwadinfo.txt:228, 690-691, wadsrc_extra/CMakeLists.txt:1, src/common/platform/libretro/embedded_pk3.S.in:26-31, src/common/platform/libretro/retro_resources.h:18-19, src/d_main.cpp:4243, src/d_iwad.cpp:299-309, 333-359, 369-414, 537-566, src/common/platform/libretro/retro_core.cpp:61" # ---- Hexen ---- @@ -428,13 +484,17 @@ files: category: game_data system: hexen required: false - source_ref: "wadsrc_extra/static/iwadinfo.txt:188, 684, wadsrc_extra/CMakeLists.txt:1, src/d_main.cpp:4207, src/d_iwad.cpp:292-302, 326-352, 362-407, 518-547" + source_ref: + standalone: "wadsrc_extra/static/iwadinfo.txt:188, 684, wadsrc_extra/CMakeLists.txt:1, src/d_main.cpp:4207, src/d_iwad.cpp:292-302, 326-352, 362-407, 518-547" + libretro: "wadsrc_extra/static/iwadinfo.txt:188, 682, wadsrc_extra/CMakeLists.txt:1, src/common/platform/libretro/embedded_pk3.S.in:26-31, src/common/platform/libretro/retro_resources.h:18-19, src/d_main.cpp:4243, src/d_iwad.cpp:299-309, 333-359, 369-414, 537-566, src/common/platform/libretro/retro_core.cpp:61" - name: "hexdd.wad" category: game_data system: hexen required: false - source_ref: "wadsrc_extra/static/iwadinfo.txt:196-207, 685, wadsrc_extra/CMakeLists.txt:1, src/d_main.cpp:4207, src/d_iwad.cpp:292-302, 326-352, 362-407, 518-547" + source_ref: + standalone: "wadsrc_extra/static/iwadinfo.txt:196-207, 685, wadsrc_extra/CMakeLists.txt:1, src/d_main.cpp:4207, src/d_iwad.cpp:292-302, 326-352, 362-407, 518-547" + libretro: "wadsrc_extra/static/iwadinfo.txt:196-207, 683, wadsrc_extra/CMakeLists.txt:1, src/common/platform/libretro/embedded_pk3.S.in:26-31, src/common/platform/libretro/retro_resources.h:18-19, src/d_main.cpp:4243, src/d_iwad.cpp:299-309, 333-359, 369-414, 537-566, src/common/platform/libretro/retro_core.cpp:61" note: "Deathkings expansion. Requires hexen.wad (Required = Hexen: Beyond Heretic)." # ---- Strife ---- @@ -443,20 +503,26 @@ files: category: game_data system: strife required: false - source_ref: "wadsrc_extra/static/iwadinfo.txt:151, 688, wadsrc_extra/CMakeLists.txt:1, src/d_main.cpp:4207, src/d_iwad.cpp:292-302, 326-352, 362-407, 518-547" + source_ref: + standalone: "wadsrc_extra/static/iwadinfo.txt:151, 688, wadsrc_extra/CMakeLists.txt:1, src/d_main.cpp:4207, src/d_iwad.cpp:292-302, 326-352, 362-407, 518-547" + libretro: "wadsrc_extra/static/iwadinfo.txt:151, 686, wadsrc_extra/CMakeLists.txt:1, src/common/platform/libretro/embedded_pk3.S.in:26-31, src/common/platform/libretro/retro_resources.h:18-19, src/d_main.cpp:4243, src/d_iwad.cpp:299-309, 333-359, 369-414, 537-566, src/common/platform/libretro/retro_core.cpp:61" - name: "sve.wad" category: game_data system: strife required: false - source_ref: "wadsrc_extra/static/iwadinfo.txt:136, 140, 689, wadsrc_extra/CMakeLists.txt:1, src/d_main.cpp:4207, src/d_iwad.cpp:292-302, 326-352, 362-407, 518-547" + source_ref: + standalone: "wadsrc_extra/static/iwadinfo.txt:136, 140, 689, wadsrc_extra/CMakeLists.txt:1, src/d_main.cpp:4207, src/d_iwad.cpp:292-302, 326-352, 362-407, 518-547" + libretro: "wadsrc_extra/static/iwadinfo.txt:136, 140, 687, wadsrc_extra/CMakeLists.txt:1, src/common/platform/libretro/embedded_pk3.S.in:26-31, src/common/platform/libretro/retro_resources.h:18-19, src/d_main.cpp:4243, src/d_iwad.cpp:299-309, 333-359, 369-414, 537-566, src/common/platform/libretro/retro_core.cpp:61" note: "Veteran Edition. Required = Strife: Quest for the Sigil (loads voices.wad)." - name: "voices.wad" category: game_data system: strife required: false - source_ref: "wadsrc_extra/static/iwadinfo.txt:142, 155, wadsrc_extra/CMakeLists.txt:1, src/d_main.cpp:4207, src/d_iwad.cpp:214-221, 326-352, 924-947" + source_ref: + standalone: "wadsrc_extra/static/iwadinfo.txt:142, 155, wadsrc_extra/CMakeLists.txt:1, src/d_main.cpp:4207, src/d_iwad.cpp:214-221, 326-352, 924-947" + libretro: "wadsrc_extra/static/iwadinfo.txt:142, 155, wadsrc_extra/CMakeLists.txt:1, src/common/platform/libretro/embedded_pk3.S.in:26-31, src/common/platform/libretro/retro_resources.h:18-19, src/d_main.cpp:4243, src/d_iwad.cpp:221-228, 333-359, 948-971, src/common/platform/libretro/retro_core.cpp:61" # ---- Chex Quest ---- @@ -464,13 +530,17 @@ files: category: game_data system: chex required: false - source_ref: "wadsrc_extra/static/iwadinfo.txt:123, 694, wadsrc_extra/CMakeLists.txt:1, src/d_main.cpp:4207, src/d_iwad.cpp:292-302, 326-352, 362-407, 518-547" + source_ref: + standalone: "wadsrc_extra/static/iwadinfo.txt:123, 694, wadsrc_extra/CMakeLists.txt:1, src/d_main.cpp:4207, src/d_iwad.cpp:292-302, 326-352, 362-407, 518-547" + libretro: "wadsrc_extra/static/iwadinfo.txt:123, 692, wadsrc_extra/CMakeLists.txt:1, src/common/platform/libretro/embedded_pk3.S.in:26-31, src/common/platform/libretro/retro_resources.h:18-19, src/d_main.cpp:4243, src/d_iwad.cpp:299-309, 333-359, 369-414, 537-566, src/common/platform/libretro/retro_core.cpp:61" - name: "chex3.wad" category: game_data system: chex required: false - source_ref: "wadsrc_extra/static/iwadinfo.txt:109, 695, wadsrc_extra/CMakeLists.txt:1, src/d_main.cpp:4207, src/d_iwad.cpp:292-302, 326-352, 362-407, 518-547" + source_ref: + standalone: "wadsrc_extra/static/iwadinfo.txt:109, 695, wadsrc_extra/CMakeLists.txt:1, src/d_main.cpp:4207, src/d_iwad.cpp:292-302, 326-352, 362-407, 518-547" + libretro: "wadsrc_extra/static/iwadinfo.txt:109, 693, wadsrc_extra/CMakeLists.txt:1, src/common/platform/libretro/embedded_pk3.S.in:26-31, src/common/platform/libretro/retro_resources.h:18-19, src/d_main.cpp:4243, src/d_iwad.cpp:299-309, 333-359, 369-414, 537-566, src/common/platform/libretro/retro_core.cpp:61" # ---- Standalone commercial / community IWADs ---- @@ -478,48 +548,64 @@ files: category: game_data system: doom required: false - source_ref: "wadsrc_extra/static/iwadinfo.txt:83, 698, wadsrc_extra/CMakeLists.txt:1, src/d_main.cpp:4207, src/d_iwad.cpp:292-302, 326-352, 362-407, 518-547" + source_ref: + standalone: "wadsrc_extra/static/iwadinfo.txt:83, 698, wadsrc_extra/CMakeLists.txt:1, src/d_main.cpp:4207, src/d_iwad.cpp:292-302, 326-352, 362-407, 518-547" + libretro: "wadsrc_extra/static/iwadinfo.txt:83, 696, wadsrc_extra/CMakeLists.txt:1, src/common/platform/libretro/embedded_pk3.S.in:26-31, src/common/platform/libretro/retro_resources.h:18-19, src/d_main.cpp:4243, src/d_iwad.cpp:299-309, 333-359, 369-414, 537-566, src/common/platform/libretro/retro_core.cpp:61" - name: "hacx2.wad" category: game_data system: doom required: false - source_ref: "wadsrc_extra/static/iwadinfo.txt:65-75, 699, src/d_iwad.cpp:362-407, src/common/filesystem/source/resourcefile.cpp:150-165" + source_ref: + standalone: "wadsrc_extra/static/iwadinfo.txt:65-75, 699, src/d_iwad.cpp:362-407, src/common/filesystem/source/resourcefile.cpp:150-165" + libretro: "wadsrc_extra/static/iwadinfo.txt:65-75, 697, src/d_iwad.cpp:369-414, src/common/filesystem/source/resourcefile.cpp:150-165" note: "Identified by the MAP01 map and the HACX-E lump, whatever the container: every candidate is opened by its magic, so a zip under this name is read as a pk3. The Hacx 2.0 repository builds that zip from src/, where hacx-e.txt is the HACX-E lump and maps/MAP01.wad the first map." - name: "action2.wad" category: game_data system: doom required: false - source_ref: "wadsrc_extra/static/iwadinfo.txt:97, 696, wadsrc_extra/CMakeLists.txt:1, src/d_main.cpp:4207, src/d_iwad.cpp:292-302, 326-352, 362-407, 518-547" + source_ref: + standalone: "wadsrc_extra/static/iwadinfo.txt:97, 696, wadsrc_extra/CMakeLists.txt:1, src/d_main.cpp:4207, src/d_iwad.cpp:292-302, 326-352, 362-407, 518-547" + libretro: "wadsrc_extra/static/iwadinfo.txt:97, 694, wadsrc_extra/CMakeLists.txt:1, src/common/platform/libretro/embedded_pk3.S.in:26-31, src/common/platform/libretro/retro_resources.h:18-19, src/d_main.cpp:4243, src/d_iwad.cpp:299-309, 333-359, 369-414, 537-566, src/common/platform/libretro/retro_core.cpp:61" - name: "harm1.wad" category: game_data system: doom required: false - source_ref: "wadsrc_extra/static/iwadinfo.txt:57, 697, wadsrc_extra/CMakeLists.txt:1, src/d_main.cpp:4207, src/d_iwad.cpp:292-302, 326-352, 362-407, 518-547" + source_ref: + standalone: "wadsrc_extra/static/iwadinfo.txt:57, 697, wadsrc_extra/CMakeLists.txt:1, src/d_main.cpp:4207, src/d_iwad.cpp:292-302, 326-352, 362-407, 518-547" + libretro: "wadsrc_extra/static/iwadinfo.txt:57, 695, wadsrc_extra/CMakeLists.txt:1, src/common/platform/libretro/embedded_pk3.S.in:26-31, src/common/platform/libretro/retro_resources.h:18-19, src/d_main.cpp:4243, src/d_iwad.cpp:299-309, 333-359, 369-414, 537-566, src/common/platform/libretro/retro_core.cpp:61" - name: "square.pk3" category: game_data system: doom required: false - source_ref: "wadsrc_extra/static/iwadinfo.txt:33, wadsrc_extra/CMakeLists.txt:1, src/d_main.cpp:4207, src/d_iwad.cpp:326-352, 362-407, 643-692" + source_ref: + standalone: "wadsrc_extra/static/iwadinfo.txt:33, wadsrc_extra/CMakeLists.txt:1, src/d_main.cpp:4207, src/d_iwad.cpp:326-352, 362-407, 643-692" + libretro: "wadsrc_extra/static/iwadinfo.txt:33, wadsrc_extra/CMakeLists.txt:1, src/common/platform/libretro/embedded_pk3.S.in:26-31, src/common/platform/libretro/retro_resources.h:18-19, src/d_main.cpp:4243, src/d_iwad.cpp:333-359, 369-414, 663-716, src/common/platform/libretro/retro_core.cpp:61" note: "Absent from the Names block: picked up only when named with -iwad." - name: "square1.pk3" category: game_data system: doom required: false - source_ref: "wadsrc_extra/static/iwadinfo.txt:45, 700, wadsrc_extra/CMakeLists.txt:1, src/d_main.cpp:4207, src/d_iwad.cpp:292-302, 326-352, 362-407, 518-547" + source_ref: + standalone: "wadsrc_extra/static/iwadinfo.txt:45, 700, wadsrc_extra/CMakeLists.txt:1, src/d_main.cpp:4207, src/d_iwad.cpp:292-302, 326-352, 362-407, 518-547" + libretro: "wadsrc_extra/static/iwadinfo.txt:45, 698, wadsrc_extra/CMakeLists.txt:1, src/common/platform/libretro/embedded_pk3.S.in:26-31, src/common/platform/libretro/retro_resources.h:18-19, src/d_main.cpp:4243, src/d_iwad.cpp:299-309, 333-359, 369-414, 537-566, src/common/platform/libretro/retro_core.cpp:61" - name: "delaweare.wad" category: game_data system: doom required: false - source_ref: "wadsrc_extra/static/iwadinfo.txt:22, 701, wadsrc_extra/CMakeLists.txt:1, src/d_main.cpp:4207, src/d_iwad.cpp:292-302, 326-352, 362-407, 518-547" + source_ref: + standalone: "wadsrc_extra/static/iwadinfo.txt:22, 701, wadsrc_extra/CMakeLists.txt:1, src/d_main.cpp:4207, src/d_iwad.cpp:292-302, 326-352, 362-407, 518-547" + libretro: "wadsrc_extra/static/iwadinfo.txt:22, 699, wadsrc_extra/CMakeLists.txt:1, src/common/platform/libretro/embedded_pk3.S.in:26-31, src/common/platform/libretro/retro_resources.h:18-19, src/d_main.cpp:4243, src/d_iwad.cpp:299-309, 333-359, 369-414, 537-566, src/common/platform/libretro/retro_core.cpp:61" - name: "rotwb.wad" category: game_data system: doom required: false - source_ref: "wadsrc_extra/static/iwadinfo.txt:9, 702, wadsrc_extra/CMakeLists.txt:1, src/d_main.cpp:4207, src/d_iwad.cpp:292-302, 326-352, 362-407, 518-547" + source_ref: + standalone: "wadsrc_extra/static/iwadinfo.txt:9, 702, wadsrc_extra/CMakeLists.txt:1, src/d_main.cpp:4207, src/d_iwad.cpp:292-302, 326-352, 362-407, 518-547" + libretro: "wadsrc_extra/static/iwadinfo.txt:9, 700, wadsrc_extra/CMakeLists.txt:1, src/common/platform/libretro/embedded_pk3.S.in:26-31, src/common/platform/libretro/retro_resources.h:18-19, src/d_main.cpp:4243, src/d_iwad.cpp:299-309, 333-359, 369-414, 537-566, src/common/platform/libretro/retro_core.cpp:61" From 57ff75682c5152882a54d2809310331a7dc1dd66 Mon Sep 17 00:00:00 2001 From: Abdessamad Derraz <3028866+Abdess@users.noreply.github.com> Date: Tue, 10 Nov 2026 13:54:08 +0100 Subject: [PATCH 21/22] docs: note the A7800 release ships hash/ The v5.2 release assets a7800-linux-v5.2.tgz, a7800-osx-v5.2.tgz and a7800-win-v5.2.zip each carry hash/a7800.xml, equal to the file at the pin apart from line endings, and a7800.ini sets hashpath to hash. The pin is an ancestor of the v5.2 tag. --- emulators/a7800.yml | 6 ++++-- 1 file changed, 4 insertions(+), 2 deletions(-) diff --git a/emulators/a7800.yml b/emulators/a7800.yml index 1d39b81ad..0a321d3df 100644 --- a/emulators/a7800.yml +++ b/emulators/a7800.yml @@ -100,7 +100,8 @@ files: note: >- Software list set for the High Score Cartridge configuration (CX78HSC, slot a78_hsc). Fatal when that configuration is selected and the set is - absent. + absent. The list is read from hash/a7800.xml, which the v5.2 release + archives for Linux, macOS and Windows carry beside the binary. contents: - name: highscre.bin description: High Score Cartridge ROM, read through the pass-through cart @@ -117,7 +118,8 @@ files: Software list set for the XM Expansion Module configuration (slot a78_xm), which reuses the High Score Cartridge ROM alongside 128KB RAM, POKEY and YM2151. Fatal when that configuration is selected and the set - is absent. + is absent. The list is read from hash/a7800.xml, which the v5.2 + release archives for Linux, macOS and Windows carry beside the binary. contents: - name: highscre.bin description: High Score Cartridge ROM, gated by XM control register bit 3 From e32cdf9154a4410925ccfab8758e76afea9a16be Mon Sep 17 00:00:00 2001 From: Abdessamad Derraz <3028866+Abdess@users.noreply.github.com> Date: Tue, 10 Nov 2026 14:00:49 +0100 Subject: [PATCH 22/22] fix: keep only the EDK2 images -bios can start Each EDK2 code image was run through a .qemu_cmd_line with -bios in the buildbot qemu_libretro.so (linux x86_64, 2026-07-27, 06ad814b) under scripts/core_probe.py, every pc-bios file staged in system/qemu. edk2-aarch64-code.fd and edk2-arm-code.fd reach the TianoCore boot screen on -M virt with ramfb. edk2-x86_64-code.fd makes QEMU exit at once, as bios-256k.bin on the same command line does not: the x86 images are 3653632 bytes, not a multiple of 64 KiB, and x86_bios_rom_init refuses them (hw/i386/x86-common.c:1000-1002), the i386 and secure images included. edk2-riscv-code.fd leaves a black screen: it is S-mode code for pflash0 (docs/system/riscv/virt.rst:59-70). The x86 and RISC-V images are read only as pflash drives, opened by path from the content folder, so the five entries are removed. --- emulators/qemu.yml | 51 ++++++++-------------------------------------- 1 file changed, 8 insertions(+), 43 deletions(-) diff --git a/emulators/qemu.yml b/emulators/qemu.yml index e19cb5549..e596e06bf 100644 --- a/emulators/qemu.yml +++ b/emulators/qemu.yml @@ -387,44 +387,12 @@ files: # ======================================================== # EDK2 UEFI FIRMWARE # ======================================================== - - name: "EDK2 x86_64 UEFI" - path: "qemu/edk2-x86_64-code.fd" - sha1: "eac1a94b8e0d7c53fd5df001c36794ec34c7c724" - size: 3653632 - required: false - note: "TianoCore UEFI firmware for x86_64. Built from edk2-stable202302." - source_ref: "source pc-bios/meson.build:12, source hw/i386/x86-common.c:993-994" - - - name: "EDK2 x86_64 Secure Boot UEFI" - path: "qemu/edk2-x86_64-secure-code.fd" - sha1: "617abe2746696bb4a309d72cecb446dc76a2a61e" - size: 3653632 - required: false - note: "TianoCore UEFI firmware for x86_64 with Secure Boot support." - source_ref: "source pc-bios/meson.build:13, source hw/i386/x86-common.c:993-994" - - - name: "EDK2 i386 UEFI" - path: "qemu/edk2-i386-code.fd" - sha1: "45b8faebdfaaf19d16e3a7c5f60d69214685071c" - size: 3653632 - required: false - note: "TianoCore UEFI firmware for i386." - source_ref: "source pc-bios/meson.build:9, source hw/i386/x86-common.c:993-994" - - - name: "EDK2 i386 Secure Boot UEFI" - path: "qemu/edk2-i386-secure-code.fd" - sha1: "6982abec8ef2ed7c8293163d5a0bd69a01a2126f" - size: 3653632 - required: false - note: "TianoCore UEFI firmware for i386 with Secure Boot support." - source_ref: "source pc-bios/meson.build:10, source hw/i386/x86-common.c:993-994" - - name: "EDK2 AArch64 UEFI" path: "qemu/edk2-aarch64-code.fd" sha1: "514edbce58bfa877170673c1799351a7dab3b6df" size: 67108864 required: false - note: "TianoCore UEFI firmware for AArch64 (ARM 64-bit)." + note: "TianoCore UEFI firmware for AArch64 (ARM 64-bit). Starts with -bios on the virt machine." source_ref: "source pc-bios/meson.build:4, source hw/arm/virt.c:1331" - name: "EDK2 ARM UEFI" @@ -432,17 +400,9 @@ files: sha1: "c20f01c28b59b388abb9d0febeec45d801a632f0" size: 67108864 required: false - note: "TianoCore UEFI firmware for ARM (32-bit)." + note: "TianoCore UEFI firmware for ARM (32-bit). Starts with -bios on the virt machine." source_ref: "source pc-bios/meson.build:5, source hw/arm/virt.c:1331" - - name: "EDK2 RISC-V UEFI" - path: "qemu/edk2-riscv-code.fd" - sha1: "2c8633d881ece0c4794d740138a318f7e9af480c" - size: 33554432 - required: false - note: "TianoCore UEFI firmware for RISC-V 64-bit." - source_ref: "source pc-bios/meson.build:7, source hw/riscv/boot.c:89-92" - # ======================================================== # POWERPC FIRMWARE # ======================================================== @@ -719,6 +679,11 @@ notes: names them: a .qemu_cmd_line names a code image with -bios, which is looked up in the data directory. pflash drives, the variable store templates included, are opened by path from the content folder - (ui/libretro.c:697). + (ui/libretro.c:697). The ARM and AArch64 code images boot through + -bios on the virt machine. The x86 images are 3653632 bytes, not a + multiple of 64 KiB, so x86_bios_rom_init refuses them + (hw/i386/x86-common.c:1000-1002), and the RISC-V image is S-mode code + for pflash0 that -bios does not start: those are read only as pflash + drives, never from the system directory. experimental: "This core is marked is_experimental=true in its .info file." version: "Based on QEMU 9.0.50 (io12/qemu-libretro)"