From 8e3a4861079093a4e74a69711d300a71c1c96817 Mon Sep 17 00:00:00 2001 From: Abdessamad Derraz <3028866+Abdess@users.noreply.github.com> Date: Mon, 5 Oct 2026 02:51:29 +0200 Subject: [PATCH] fix: resolve held catacomb files, profile refs Co-Authored-By: Claude Opus 5.5 --- bios/Softdisk/Catacomb Apocalypse/SHP1.APC | Bin 0 -> 1376 bytes bios/Softdisk/Catacomb Apocalypse/SHP10.APC | Bin 0 -> 9930 bytes bios/Softdisk/Catacomb Apocalypse/SHP11.APC | Bin 0 -> 398 bytes bios/Softdisk/Catacomb Apocalypse/SHP12.APC | Bin 0 -> 417 bytes bios/Softdisk/Catacomb Apocalypse/SHP13.APC | Bin 0 -> 329 bytes bios/Softdisk/Catacomb Apocalypse/SHP9.APC | Bin 0 -> 9182 bytes bios/Softdisk/Catacomb Armageddon/SHP1.ARM | Bin 0 -> 1376 bytes bios/Softdisk/Catacomb Armageddon/SHP10.ARM | Bin 0 -> 9930 bytes bios/Softdisk/Catacomb Armageddon/SHP11.ARM | Bin 0 -> 398 bytes bios/Softdisk/Catacomb Armageddon/SHP12.ARM | Bin 0 -> 417 bytes bios/Softdisk/Catacomb Armageddon/SHP13.ARM | Bin 0 -> 329 bytes bios/Softdisk/Catacomb Armageddon/SHP9.ARM | Bin 0 -> 9182 bytes emulators/easyrpg.yml | 7 +++++-- emulators/hatari.yml | 11 ++++++++--- emulators/idtech4a++.yml | 18 +++++++++--------- emulators/pom2.yml | 6 ++---- scripts/dedup.py | 5 +++++ 17 files changed, 29 insertions(+), 18 deletions(-) create mode 100644 bios/Softdisk/Catacomb Apocalypse/SHP1.APC create mode 100644 bios/Softdisk/Catacomb Apocalypse/SHP10.APC create mode 100644 bios/Softdisk/Catacomb Apocalypse/SHP11.APC create mode 100644 bios/Softdisk/Catacomb Apocalypse/SHP12.APC create mode 100644 bios/Softdisk/Catacomb Apocalypse/SHP13.APC create mode 100644 bios/Softdisk/Catacomb Apocalypse/SHP9.APC create mode 100644 bios/Softdisk/Catacomb Armageddon/SHP1.ARM create mode 100644 bios/Softdisk/Catacomb Armageddon/SHP10.ARM create mode 100644 bios/Softdisk/Catacomb Armageddon/SHP11.ARM create mode 100644 bios/Softdisk/Catacomb Armageddon/SHP12.ARM create mode 100644 bios/Softdisk/Catacomb Armageddon/SHP13.ARM create mode 100644 bios/Softdisk/Catacomb Armageddon/SHP9.ARM diff --git a/bios/Softdisk/Catacomb Apocalypse/SHP1.APC b/bios/Softdisk/Catacomb Apocalypse/SHP1.APC new file mode 100644 index 0000000000000000000000000000000000000000..1cb16a2e8467df9a55a89abc80f03deeb842c469 GIT binary patch literal 1376 zcmV-m1)usuO;9lc0JaeT08#}201g)#736RBU4%sfxHh$j25HrwbCMC9hM*6hGd(P@ zFE^c+2Zihj7`hw$V}pND<5pXe(P1aNVO5YI3W` zBLE4e5dqRt)=#fjA|dvQkRDVpAK<k#D8CekOE)|fGhydfO$xnh_^TsEDxR<|u#}sTB@DV!P z`UvcQR1io)kb4mb!%r3TXupLsV6VbpU_-bCB;l1n=LWA(Je)|M2qCzxl*$1|Q(eH% zVIS7efF%Hw0+a$JqM4oO({L8yFb6;#fOY}c2cRB+dI9hR03ZPX2mnL^AQAxmfM^<* ze~kZdP%F+z2uzQJJ%WfMrV$~K-vL%Nu!^)JXZN@!toh83(|#A?HSm1a<$L&WH`1#^A&dcmtNG#PeR<-5ppNH>#>4Tp3UrZISWd(*vMT40xUUC0 zv**GF?NgT_Q$N9@BWFCh_lEayL6gxg3t;r213AnAd8UP7ZA_5}2}Xu=No z5t8&KOOpxG82Ry1AREGc?iHQMOEnlXY7e?B;;;j?Aixw7Le@myO5b6{0LK4M zFMVs$e=Cpt-4=6x#U?9PODH0{#x4=?B??0Ik0z~=zzbkkzXGwyuiqlSxp|N%99F%u zKw4;1>^I($0|+f}D?u2)aHrjhRT{QDfb0uvip@AJc5Lg&L$58EapL#U0_BCPK(;`C z>{f3Z@)EX~C4S)-{pl(-290J909)Kve#KwO0Q6kMr9t?Ggo@3sP#3E@7DiJA z1{Udq2!j8CU&95SPbZV=0D2kpMV~#{7rA+$K6#kvPY9gV&+{d(p1J+}2HIy1r71?Q z?0;Y3{GNZCx4hHsD&rsIZ0U$m`o(x~fQxDm+6c%$G5ZwI|L^3W-`#+I%j)0SAM;f~ z^CA%bz>ks;9~Lje|FVz!{`MdK*#EFMS^uNCQkSm0?g9V9jYczl%n$#wp<3?Je48REZ6oW|s literal 0 HcmV?d00001 diff --git a/bios/Softdisk/Catacomb Apocalypse/SHP10.APC b/bios/Softdisk/Catacomb Apocalypse/SHP10.APC new file mode 100644 index 0000000000000000000000000000000000000000..7136cb6d3273438812857a5741fec963607db3cc GIT binary patch literal 9930 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 literal 0 HcmV?d00001 diff --git a/bios/Softdisk/Catacomb Apocalypse/SHP11.APC b/bios/Softdisk/Catacomb Apocalypse/SHP11.APC new file mode 100644 index 0000000000000000000000000000000000000000..4b2dbf0d16f864a55bfdd49bce0e87da541ae0be GIT binary patch literal 398 zcmV;90df9AO;9lc0E`3x0Du7i01g)#736R869h#9xHh$j25HrwbCaHZ4L~1F?p9zX z{N8qOMdSkZ1dLh@{xczax#0lb#-0EYpfLSlRprnJ2A~Z(S+jv0z}5nT_;F{@MNuM? z@urJb*hpFvbfn&2C?4({50(eU2h0by4~QQiK5QO2xjI78Ff(K}Un#ls3GKT(4#j6j zxCmHr!~a0Rjr4K{4hXNstil!S?`pZZ3Cx$6k}jrA9VuX$8Qks48o9&KI0%(0B{E8OD zH{uV(4I%>+fM|MS5PRJilc;xIN+M6=%sg&tbU*Fz5s#`2>|z0kKEwq=S^8u|@5qU{ zb*wSzQ4Mm!LvtZuM7U&}ApnFK#1AUtOiSg*Lrt-9O=+31Q=>WXsag<>2+|b_Z{I_x^NHK|u%Y`rGnY70k*9zz=e;RsaA1 literal 0 HcmV?d00001 diff --git a/bios/Softdisk/Catacomb Apocalypse/SHP12.APC b/bios/Softdisk/Catacomb Apocalypse/SHP12.APC new file mode 100644 index 0000000000000000000000000000000000000000..5f488cca8d8995e869f7cdfe6e80d1eec39e041d GIT binary patch literal 417 zcmV;S0bc$?O;9lc0MY~i0Fwa#01g)#736R8B!oo*xHh$j25HrwbCc)KpQr=py~@(d z0`qy;f-{f{*b*^#H~7+p?B{?3Ysz<^N`S-mfmC+@1NH!ETTPq^_ybr958=Y4NfkAD z^6==3R#-@MD@Zxx=Y!`k;C!$?2tHsv(0oAo0roI>=H%%Mguv9rSB0BF^yAA@S~woy zA)(At=uV5jDE%0)MP4mtkhLB9$~H7aq9gcju=@BCbrqeNt;-CnE0v^>u=nQ->EWCG zD3D@FF(Qiv1s;|f$mI!&G0A+NhTBtz@f0LQh)5wKkdh1eXJy!qdvs`XUh-LdZs5q@YAK43lJ)mivPVo8ZAi89dp@n0{V3ym-TCX?fEC38L5Emia4W#+s0 LW7ZN_N&FpaBXW44AZMV=OiOJ4L~10W_np* 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 literal 0 HcmV?d00001 diff --git a/bios/Softdisk/Catacomb Armageddon/SHP1.ARM b/bios/Softdisk/Catacomb Armageddon/SHP1.ARM new file mode 100644 index 0000000000000000000000000000000000000000..1cb16a2e8467df9a55a89abc80f03deeb842c469 GIT binary patch literal 1376 zcmV-m1)usuO;9lc0JaeT08#}201g)#736RBU4%sfxHh$j25HrwbCMC9hM*6hGd(P@ zFE^c+2Zihj7`hw$V}pND<5pXe(P1aNVO5YI3W` zBLE4e5dqRt)=#fjA|dvQkRDVpAK<k#D8CekOE)|fGhydfO$xnh_^TsEDxR<|u#}sTB@DV!P z`UvcQR1io)kb4mb!%r3TXupLsV6VbpU_-bCB;l1n=LWA(Je)|M2qCzxl*$1|Q(eH% zVIS7efF%Hw0+a$JqM4oO({L8yFb6;#fOY}c2cRB+dI9hR03ZPX2mnL^AQAxmfM^<* ze~kZdP%F+z2uzQJJ%WfMrV$~K-vL%Nu!^)JXZN@!toh83(|#A?HSm1a<$L&WH`1#^A&dcmtNG#PeR<-5ppNH>#>4Tp3UrZISWd(*vMT40xUUC0 zv**GF?NgT_Q$N9@BWFCh_lEayL6gxg3t;r213AnAd8UP7ZA_5}2}Xu=No z5t8&KOOpxG82Ry1AREGc?iHQMOEnlXY7e?B;;;j?Aixw7Le@myO5b6{0LK4M zFMVs$e=Cpt-4=6x#U?9PODH0{#x4=?B??0Ik0z~=zzbkkzXGwyuiqlSxp|N%99F%u zKw4;1>^I($0|+f}D?u2)aHrjhRT{QDfb0uvip@AJc5Lg&L$58EapL#U0_BCPK(;`C z>{f3Z@)EX~C4S)-{pl(-290J909)Kve#KwO0Q6kMr9t?Ggo@3sP#3E@7DiJA z1{Udq2!j8CU&95SPbZV=0D2kpMV~#{7rA+$K6#kvPY9gV&+{d(p1J+}2HIy1r71?Q z?0;Y3{GNZCx4hHsD&rsIZ0U$m`o(x~fQxDm+6c%$G5ZwI|L^3W-`#+I%j)0SAM;f~ z^CA%bz>ks;9~Lje|FVz!{`MdK*#EFMS^uNCQkSm0?g9V9jYczl%n$#wp<3?Je48REZ6oW|s literal 0 HcmV?d00001 diff --git a/bios/Softdisk/Catacomb Armageddon/SHP10.ARM b/bios/Softdisk/Catacomb Armageddon/SHP10.ARM new file mode 100644 index 0000000000000000000000000000000000000000..7136cb6d3273438812857a5741fec963607db3cc GIT binary patch literal 9930 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 literal 0 HcmV?d00001 diff --git a/bios/Softdisk/Catacomb Armageddon/SHP11.ARM b/bios/Softdisk/Catacomb Armageddon/SHP11.ARM new file mode 100644 index 0000000000000000000000000000000000000000..4b2dbf0d16f864a55bfdd49bce0e87da541ae0be GIT binary patch literal 398 zcmV;90df9AO;9lc0E`3x0Du7i01g)#736R869h#9xHh$j25HrwbCaHZ4L~1F?p9zX z{N8qOMdSkZ1dLh@{xczax#0lb#-0EYpfLSlRprnJ2A~Z(S+jv0z}5nT_;F{@MNuM? z@urJb*hpFvbfn&2C?4({50(eU2h0by4~QQiK5QO2xjI78Ff(K}Un#ls3GKT(4#j6j zxCmHr!~a0Rjr4K{4hXNstil!S?`pZZ3Cx$6k}jrA9VuX$8Qks48o9&KI0%(0B{E8OD zH{uV(4I%>+fM|MS5PRJilc;xIN+M6=%sg&tbU*Fz5s#`2>|z0kKEwq=S^8u|@5qU{ zb*wSzQ4Mm!LvtZuM7U&}ApnFK#1AUtOiSg*Lrt-9O=+31Q=>WXsag<>2+|b_Z{I_x^NHK|u%Y`rGnY70k*9zz=e;RsaA1 literal 0 HcmV?d00001 diff --git a/bios/Softdisk/Catacomb Armageddon/SHP12.ARM b/bios/Softdisk/Catacomb Armageddon/SHP12.ARM new file mode 100644 index 0000000000000000000000000000000000000000..5f488cca8d8995e869f7cdfe6e80d1eec39e041d GIT binary patch literal 417 zcmV;S0bc$?O;9lc0MY~i0Fwa#01g)#736R8B!oo*xHh$j25HrwbCc)KpQr=py~@(d z0`qy;f-{f{*b*^#H~7+p?B{?3Ysz<^N`S-mfmC+@1NH!ETTPq^_ybr958=Y4NfkAD z^6==3R#-@MD@Zxx=Y!`k;C!$?2tHsv(0oAo0roI>=H%%Mguv9rSB0BF^yAA@S~woy zA)(At=uV5jDE%0)MP4mtkhLB9$~H7aq9gcju=@BCbrqeNt;-CnE0v^>u=nQ->EWCG zD3D@FF(Qiv1s;|f$mI!&G0A+NhTBtz@f0LQh)5wKkdh1eXJy!qdvs`XUh-LdZs5q@YAK43lJ)mivPVo8ZAi89dp@n0{V3ym-TCX?fEC38L5Emia4W#+s0 LW7ZN_N&FpaBXW44AZMV=OiOJ4L~10W_np* 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 literal 0 HcmV?d00001 diff --git a/emulators/easyrpg.yml b/emulators/easyrpg.yml index 2e5985a1..beae8a23 100644 --- a/emulators/easyrpg.yml +++ b/emulators/easyrpg.yml @@ -67,16 +67,19 @@ files: # ================================================================ - name: "easyrpg.soundfont" + aliases: ["FluidR3_GM.sf2"] category: game_data path: "easyrpg.soundfont" required: false hle_fallback: true - source_ref: "src/decoder_fluidsynth.cpp:125" + source_ref: "src/decoder_fluidsynth.cpp:125, src/decoder_fluidsynth.cpp:149-152" note: > General MIDI soundfont (SF2 format) for MIDI music playback. Many RPG Maker games use MIDI for background music. Without a soundfont, MIDI falls back to the built-in FmMidi synthesizer (lower quality). Any - GM-compatible .sf2 works. + GM-compatible .sf2 works. After easyrpg.soundfont, the FluidSynth + default and SDL_SOUNDFONTS, desktop Linux, BSD and macOS builds try + FluidR3_GM.sf2 under /usr/share/soundfonts and /usr/share/sounds/sf2. # ================================================================ # WildMidi configuration (optional, alternative MIDI backend) diff --git a/emulators/hatari.yml b/emulators/hatari.yml index c08882f2..4b37ac4a 100644 --- a/emulators/hatari.yml +++ b/emulators/hatari.yml @@ -127,11 +127,16 @@ files: required: false storage: user_provided unsourceable: "one table per TOS build, valid only beside the image it was linked with: each EmuTOS release archive carries the table of its ROM, etos512k.sym beside etos512k.img, and Atari TOS has none" - source_ref: "src/tos.c:1094, src/debug/symbols.c:1095-1113, src/debug/symbols.c:1002-1020, src/debug/symbols.c:372-407, src/configuration.c:621, src/includes/configuration.h:29-31" + source_ref: "src/tos.c:1094, src/debug/symbols.c:1095-1113, src/debug/symbols.c:1002-1020, src/debug/symbols.c:372-407, src/configuration.c:621, src/includes/configuration.h:29-31, src/retro/main_retro.c:182-194" note: > The name is the TOS image path with its last three characters - replaced by sym, and the image path is always tos.img here. Read at - every TOS load when present; the symbols serve the built-in debugger. + replaced by sym, and the image path is always tos.img here: retro_init + passes /tos.img as --tos and no other image name reaches the + loader, so a table named after another image, emutos.sym beside + emutos.img, is never opened. nSymbolsAutoLoad gates the read; its + default is not off and no core option changes it, so the table is read + at every TOS load when present. The symbols serve the built-in + debugger. - name: "cartridge ROM" path: null diff --git a/emulators/idtech4a++.yml b/emulators/idtech4a++.yml index 87f377d3..92c34a35 100644 --- a/emulators/idtech4a++.yml +++ b/emulators/idtech4a++.yml @@ -136,7 +136,7 @@ notes: | ETQW are covered by this path; the bot, Rivensin and translation archives are extracted on request from the launcher instead. ref: Q3E/src/main/java/com/n0n3m4/q3e/Q3EMain.java:167, - Q3E/src/main/java/com/n0n3m4/q3e/Q3EGameHelper.java:624-703, 921-940, + Q3E/src/main/java/com/n0n3m4/q3e/Q3EGameHelper.java:667-746, 964-984, Q3E/src/main/java/com/n0n3m4/q3e/Q3EPatchResource.java:12-47, Q3E/src/main/java/com/n0n3m4/q3e/Q3EPatchResourceManager.java:32-218 @@ -303,7 +303,7 @@ files: moved their uniform-dependent initialisers out of global scope and cast their integer terms to float. The 2.14.1 pack it replaced is kept as a variant. - source_ref: "Q3E/src/main/java/com/n0n3m4/q3e/Q3EPatchResourceManager.java:83-92, Q3E/src/main/java/com/n0n3m4/q3e/Q3EGameHelper.java:705-722, Q3E/src/main/java/com/n0n3m4/q3e/Q3EGameConstants.java:391, Q3E/src/main/jni/darkmod/glslprogs/ssao.frag.glsl:78-80, 163-166" + source_ref: "Q3E/src/main/java/com/n0n3m4/q3e/Q3EPatchResourceManager.java:83-92, Q3E/src/main/java/com/n0n3m4/q3e/Q3EGameHelper.java:748-767, Q3E/src/main/java/com/n0n3m4/q3e/Q3EGameConstants.java:391, Q3E/src/main/jni/darkmod/glslprogs/ssao.frag.glsl:78-80, 163-166" - name: renderprogs.pk4 required: true @@ -316,7 +316,7 @@ files: note: >- Unpacked into `base/renderprogs/` beside the game resources. The shipped BFG data carries the desktop HLSL set, which this build cannot use. - source_ref: "Q3E/src/main/java/com/n0n3m4/q3e/Q3EPatchResourceManager.java:72-81, Q3E/src/main/java/com/n0n3m4/q3e/Q3EGameHelper.java:768-787, Q3E/src/main/java/com/n0n3m4/q3e/Q3EGameConstants.java:393" + source_ref: "Q3E/src/main/java/com/n0n3m4/q3e/Q3EPatchResourceManager.java:72-81, Q3E/src/main/java/com/n0n3m4/q3e/Q3EGameHelper.java:811-829, Q3E/src/main/java/com/n0n3m4/q3e/Q3EGameConstants.java:393" - name: glsl.pk4 required: true @@ -328,7 +328,7 @@ files: description: "Skin Deep shader set rewritten for OpenGL ES" note: >- Unpacked into `base/glsl/` and stamped with the game version. - source_ref: "Q3E/src/main/java/com/n0n3m4/q3e/Q3EPatchResourceManager.java:197-206, Q3E/src/main/java/com/n0n3m4/q3e/Q3EGameHelper.java:726-745, Q3E/src/main/java/com/n0n3m4/q3e/Q3EGameConstants.java:399" + source_ref: "Q3E/src/main/java/com/n0n3m4/q3e/Q3EPatchResourceManager.java:197-206, Q3E/src/main/java/com/n0n3m4/q3e/Q3EGameHelper.java:769-788, Q3E/src/main/java/com/n0n3m4/q3e/Q3EGameConstants.java:399" - name: zzz_etqwbase.pk4 required: true @@ -343,7 +343,7 @@ files: override the ones the retail archives carry. ETQW_GLSL_SHADER_VERSION names the set the build expects and reads .6 here; the .3 pack it replaced is kept as a variant for older builds. - source_ref: "Q3E/src/main/java/com/n0n3m4/q3e/Q3EPatchResourceManager.java:208-217, Q3E/src/main/java/com/n0n3m4/q3e/Q3EGameHelper.java:747-766, Q3E/src/main/java/com/n0n3m4/q3e/Q3EGameConstants.java:400" + source_ref: "Q3E/src/main/java/com/n0n3m4/q3e/Q3EPatchResourceManager.java:208-217, Q3E/src/main/java/com/n0n3m4/q3e/Q3EGameHelper.java:790-809, Q3E/src/main/java/com/n0n3m4/q3e/Q3EGameConstants.java:400" - name: legacy_v2.83.2.pk3 required: true @@ -359,7 +359,7 @@ files: retail Enemy Territory data in `etmain` stays the user's to supply. The file name is built from the engine version, so a Legacy update lands under a new name. - source_ref: "Q3E/src/main/java/com/n0n3m4/q3e/Q3EPatchResourceManager.java:175-184, Q3E/src/main/java/com/n0n3m4/q3e/Q3EGameHelper.java:845-868, Q3E/src/main/java/com/n0n3m4/q3e/Q3EGameConstants.java:397" + source_ref: "Q3E/src/main/java/com/n0n3m4/q3e/Q3EPatchResourceManager.java:175-184, Q3E/src/main/java/com/n0n3m4/q3e/Q3EGameHelper.java:888-911, Q3E/src/main/java/com/n0n3m4/q3e/Q3EGameConstants.java:397" - name: extras.pk3 required: true @@ -389,7 +389,7 @@ files: note: >- Extracted right after the base extras and mounted the same way, for the cs16 and cs16_yapb server classes the launcher offers. - source_ref: "xash3d-fwgs filesystem/filesystem.c:1380-1382, Q3E/src/main/java/com/n0n3m4/q3e/Q3EPatchResourceManager.java:153-162, Q3E/src/main/java/com/n0n3m4/q3e/Q3EGameHelper.java:815-843, Q3E/src/main/java/com/n0n3m4/q3e/Q3EGameConstants.java:412" + source_ref: "xash3d-fwgs filesystem/filesystem.c:1380-1382, Q3E/src/main/java/com/n0n3m4/q3e/Q3EPatchResourceManager.java:153-162, Q3E/src/main/java/com/n0n3m4/q3e/Q3EGameHelper.java:858-886, Q3E/src/main/java/com/n0n3m4/q3e/Q3EGameConstants.java:412" - name: extras.zip required: true @@ -403,7 +403,7 @@ files: Unpacked into `files/` under the Source standalone directory. It carries the DejaVu, Droid Sans Fallback, Itim and Liberation faces the engine substitutes for the Windows fonts, and extras_dir.vpk. - source_ref: "Q3E/src/main/java/com/n0n3m4/q3e/Q3EPatchResourceManager.java:164-173, Q3E/src/main/java/com/n0n3m4/q3e/Q3EGameHelper.java:895-919, Q3E/src/main/java/com/n0n3m4/q3e/Q3EGameConstants.java:396" + source_ref: "Q3E/src/main/java/com/n0n3m4/q3e/Q3EPatchResourceManager.java:164-173, Q3E/src/main/java/com/n0n3m4/q3e/Q3EGameHelper.java:938-961, Q3E/src/main/java/com/n0n3m4/q3e/Q3EGameConstants.java:396" - name: d3_sabot_a7.pk4 required: false @@ -657,4 +657,4 @@ exclusion_note: > Q3E/src/main/jni/ecwolf/src/wl_iwad.cpp:766, Q3E/src/main/jni/q3e/q3emisc.c:23-25, idTech4Amm/src/main/java/com/n0n3m4/DIII4A/GameLauncher.java:2899, 2916, - Q3E/src/main/java/com/n0n3m4/q3e/Q3EGameHelper.java:697-703 + Q3E/src/main/java/com/n0n3m4/q3e/Q3EGameHelper.java:740-746 diff --git a/emulators/pom2.yml b/emulators/pom2.yml index f0ca5844..8598b99c 100644 --- a/emulators/pom2.yml +++ b/emulators/pom2.yml @@ -133,8 +133,7 @@ files: description: "Apple ][+ Autostart monitor and Applesoft, 4 KB pad then $C000-$FFFF" required: false priority: 1 - size: 20480 - size_options: [12288, 20480] + size: [12288, 20480] sha256: "92c4bef609920842ea472d21b661a0d35dbda6cd90963b8b734a205e22d84108" sha1: "29a53f3bb158b160433369e8e4a1d7cd5bf68ac6" validation: [size, sha256] @@ -561,8 +560,7 @@ files: description: "Thunderware ThunderClock+ slot ROM rev 1.3, U9" required: false aliases: ["thunderclock_u9.bin", "thunderclock.rom", "Thunderware_REV_1.3_ROM_U9.bin"] - size: 2048 - size_options: [256, 2048] + size: [256, 2048] sha256: "ecca793179427fdd193373080bf23e49a95743bd7b5e0b218c747663938b6c03" sha1: "60f434f5325899d7ea257a6e56e6f53eae65146a" validation: [size, sha256] diff --git a/scripts/dedup.py b/scripts/dedup.py index 99285807..585ca504 100644 --- a/scripts/dedup.py +++ b/scripts/dedup.py @@ -57,6 +57,11 @@ NODEDUP_DIRS = { "Ikemen GO", "Theme Hospital", "TheXTech", + # CatacombGL reads each game's folder by name and compares sizes only: + # the Armageddon and Apocalypse intro shapes SHP1, SHP9 to SHP13 are the + # Abyss shareware bytes under the retail names, and each game opens + # its own copy. + "Softdisk", }