2 Commits

Author SHA1 Message Date
github-actions[bot]
1996135cd1 regenerate database and docs 2026-03-20 19:12:35 +00:00
Abdessamad Derraz
27df5c8fb5 fix: resolve case collisions on case-insensitive filesystems
Move 17 case-colliding BIOS variants to .variants/ so Windows
and macOS clones no longer lose files. Existence-based platforms
keep the primary, MD5-based platforms resolve from .variants/.

Also fix resolve_local_file zipped_file resolution: when multiple
ZIPs share a name, verify the inner ROM exists before accepting
a candidate. Fixes adam_fdc.zip resolving to the wrong archive.
2026-03-20 20:02:42 +01:00
20 changed files with 264 additions and 248 deletions

View File

@@ -21,7 +21,7 @@ Complete, verified collection of BIOS, firmware, and system files for retrogamin
| Platform | Coverage | Verified | Untested | Missing |
|----------|----------|----------|----------|---------|
| Batocera | 359/359 (100.0%) | 357 | 2 | 0 |
| Batocera | 359/359 (100.0%) | 358 | 1 | 0 |
| EmuDeck | 161/161 (100.0%) | 161 | 0 | 0 |
| Lakka | 448/448 (100.0%) | 448 | 0 | 0 |
| Recalbox | 346/346 (100.0%) | 346 | 0 | 0 |
@@ -47,4 +47,4 @@ See [CONTRIBUTING.md](CONTRIBUTING.md) for guidelines.
This repository provides BIOS files for personal backup and archival purposes.
*Auto-generated on 2026-03-20T12:08:51Z*
*Auto-generated on 2026-03-20T19:10:25Z*

View File

@@ -1,5 +1,5 @@
{
"generated_at": "2026-03-20T12:08:50Z",
"generated_at": "2026-03-20T19:10:25Z",
"total_files": 6724,
"total_size": 5256877310,
"files": {
@@ -25311,6 +25311,15 @@
"sha256": "0a09940701f40647a2715271b43c9ab0d82bd488871427ad627b7e0f462f5dda",
"crc32": "d42f4444"
},
"5aff2d9b6efc723bc395b0f96f0adfa83cc54a49": {
"path": "bios/Microsoft/MSX/.variants/KANJI.rom.5aff2d9b",
"name": "KANJI.rom",
"size": 262144,
"sha1": "5aff2d9b6efc723bc395b0f96f0adfa83cc54a49",
"md5": "acf53887c2d2783dc059a9b442c86b90",
"sha256": "d87ce758a7171870a2a3e7893e09cbba2bd68ee70b4d0f0e49dd2ecd60aafdd1",
"crc32": "1f6406fb"
},
"e998f0c441f4f1800ef44e42cd1659150206cf79": {
"path": "bios/Microsoft/MSX/.variants/MSX.ROM.e998f0c4",
"name": "MSX.ROM",
@@ -25518,15 +25527,6 @@
"sha256": "56785703b14f252ce77be586716dbf5d94125e93b9e6069ff26f7686566cd91a",
"crc32": "c9651b32"
},
"5aff2d9b6efc723bc395b0f96f0adfa83cc54a49": {
"path": "bios/Microsoft/MSX/KANJI.rom",
"name": "KANJI.rom",
"size": 262144,
"sha1": "5aff2d9b6efc723bc395b0f96f0adfa83cc54a49",
"md5": "acf53887c2d2783dc059a9b442c86b90",
"sha256": "d87ce758a7171870a2a3e7893e09cbba2bd68ee70b4d0f0e49dd2ecd60aafdd1",
"crc32": "1f6406fb"
},
"0ef27e3599370e179b6fceaa22431fb97f5e7e61": {
"path": "bios/Microsoft/MSX/KOREAN.FNT",
"name": "KOREAN.FNT",
@@ -28407,6 +28407,78 @@
"sha256": "7608040cffb1951e5cc567abb63f75b5746777a1ba96196c1b75606b793bb4bb",
"crc32": "6178bd43"
},
"22fb2cd4412df057762c23dd22729ebcb922fe0e": {
"path": "bios/NEC/PC-98/.variants/2608_BD.WAV.22fb2cd4",
"name": "2608_BD.WAV",
"size": 5352,
"sha1": "22fb2cd4412df057762c23dd22729ebcb922fe0e",
"md5": "29aad51cd243c8e449d311d14613f0b1",
"sha256": "083c383103948dc4f05ac2a4e1bd7f12c02924c7fcd81d98e0ae13f2b309ab2f",
"crc32": "fcb60c01"
},
"ac7bc5f6849eb16087c04e88680ea477d553b436": {
"path": "bios/NEC/PC-98/.variants/2608_HH.WAV.ac7bc5f6",
"name": "2608_HH.WAV",
"size": 5040,
"sha1": "ac7bc5f6849eb16087c04e88680ea477d553b436",
"md5": "59a009ee444318bd57d99a19068731e4",
"sha256": "6ebb6241bdb0542477feb2c6bb8af6eff5957cf4e3d9c6be46432cb6a4a44264",
"crc32": "7d6d9c4e"
},
"4ecf900db8d0f69d6154bde376206d727ddddaae": {
"path": "bios/NEC/PC-98/.variants/2608_RIM.WAV.4ecf900d",
"name": "2608_RIM.WAV",
"size": 4170,
"sha1": "4ecf900db8d0f69d6154bde376206d727ddddaae",
"md5": "943290d1c5c6ae6295bd02be4411c7c0",
"sha256": "a888509403eea148155662ac3714509b62b408a0609e94835b2e2f2761f3b678",
"crc32": "8518a388"
},
"0ea4f93b81df9dbb8d48590b440f5910c0b798b6": {
"path": "bios/NEC/PC-98/.variants/2608_SD.WAV.0ea4f93b",
"name": "2608_SD.WAV",
"size": 6700,
"sha1": "0ea4f93b81df9dbb8d48590b440f5910c0b798b6",
"md5": "08124ccb84a9f65e2affc29581e690c9",
"sha256": "9bfec649700f0828ae9164ef922d7948c7213bf996ee39b9c65f1f0d0a67b324",
"crc32": "c0a71109"
},
"aa29f5e47cbd710077fa723929592c66d8bcb876": {
"path": "bios/NEC/PC-98/.variants/2608_TOM.WAV.aa29f5e4",
"name": "2608_TOM.WAV",
"size": 13824,
"sha1": "aa29f5e47cbd710077fa723929592c66d8bcb876",
"md5": "c321a6835b26ad125b2eb78be56394a4",
"sha256": "faa56ef0f130d4fb5fdc78b995e8a6edd989ca76a9521ffdea933bce96078523",
"crc32": "5e8ab475"
},
"a160bf60a4f148fd191edc989429e6909d431fcb": {
"path": "bios/NEC/PC-98/.variants/2608_TOP.WAV.a160bf60",
"name": "2608_TOP.WAV",
"size": 62290,
"sha1": "a160bf60a4f148fd191edc989429e6909d431fcb",
"md5": "9e73ff2345236ebe72f7a937e477f0bd",
"sha256": "c2c879a025226ef7e0dcef769519463c0c66e974eb43bc59ad0136ecca7e1c07",
"crc32": "cefa9f76"
},
"910fae6763c0cd59b3957b6cde479c72e21f33c1": {
"path": "bios/NEC/PC-98/.variants/BIOS.ROM.910fae67",
"name": "BIOS.ROM",
"size": 98304,
"sha1": "910fae6763c0cd59b3957b6cde479c72e21f33c1",
"md5": "e246140dec5124c5e404869a84caefce",
"sha256": "2c2684d21ca44ab022d294a42709083ebe53f678e66b96c0ddd48f06aa5c869d",
"crc32": "76affd90"
},
"541271ea46c5166a1e054379963b0dc663e9b60f": {
"path": "bios/NEC/PC-98/.variants/FONT.ROM.541271ea",
"name": "FONT.ROM",
"size": 288768,
"sha1": "541271ea46c5166a1e054379963b0dc663e9b60f",
"md5": "2af6179d7de4893ea0b705c00e9a98d6",
"sha256": "782690d89a4bd671151e4ba77f004d8f1ee6db3c304f2bccb4bddc145f1227a5",
"crc32": "cd6dfabe"
},
"554b87377d176830d21bd03964dc71f8e98676b1": {
"path": "bios/NEC/PC-98/.variants/FONT.ROM.554b8737",
"name": "FONT.ROM",
@@ -28416,6 +28488,51 @@
"sha256": "83bf9825bf3fdce7a4c47d50455c579b11fc5333f6f46835bb1a33e5bae372c8",
"crc32": "a61c0649"
},
"9bca7d5116788776ed0f297bccb4dfc485379b41": {
"path": "bios/NEC/PC-98/.variants/ITF.ROM.9bca7d51",
"name": "ITF.ROM",
"size": 32768,
"sha1": "9bca7d5116788776ed0f297bccb4dfc485379b41",
"md5": "e9fc3890963b12cf15d0a2eea5815b72",
"sha256": "2ca3ee3c7d5a6b6304a0205fec3cd7eaeb4e1e197e5db740cff0665006498076",
"crc32": "273e9e88"
},
"3b31fc68fa7f47b21c1a1cb027b86b9e87afbfff": {
"path": "bios/NEC/PC-98/.variants/N88.ROM.3b31fc68",
"name": "N88.ROM",
"size": 32768,
"sha1": "3b31fc68fa7f47b21c1a1cb027b86b9e87afbfff",
"md5": "4f984e04a99d56c4cfe36115415d6eb8",
"sha256": "cf0b48f5541f5efd54a006d1a6042dd7ce613ccc69e13f2f41ca678569b5d650",
"crc32": "a0fc0473"
},
"7e6591cd465cbb35d6d3446c5a83b46d30fafe95": {
"path": "bios/NEC/PC-98/.variants/N88KNJ2.ROM.7e6591cd",
"name": "N88KNJ2.ROM",
"size": 131072,
"sha1": "7e6591cd465cbb35d6d3446c5a83b46d30fafe95",
"md5": "41d2e2c0c0edfccf76fa1c3e38bc1cf2",
"sha256": "b5a41c3758763bbec72769fab4a2533bf2db0b6312d93d25a695f9e4b9e02260",
"crc32": "154803cc"
},
"5b922ed9de07d2a729bdf1da7b57c50ddf08809a": {
"path": "bios/NEC/PC-98/.variants/N88N.ROM.5b922ed9",
"name": "N88N.ROM",
"size": 32768,
"sha1": "5b922ed9de07d2a729bdf1da7b57c50ddf08809a",
"md5": "2ff07b8769367321128e03924af668a0",
"sha256": "11c3c727d7d12d0c7e044dd02ce154a5715bd7a2b8a9007132645962c7803881",
"crc32": "27e1857d"
},
"34137c287c39c44300b04ee97c1e6459bb826b60": {
"path": "bios/NEC/PC-98/.variants/SOUND.ROM.34137c28",
"name": "SOUND.ROM",
"size": 16384,
"sha1": "34137c287c39c44300b04ee97c1e6459bb826b60",
"md5": "caf90f22197aed6f14c471c21e64658d",
"sha256": "4db8274393f8267db83665bbb70be8efb83201818dff3ad76c11f451be96a803",
"crc32": "a21ef796"
},
"2e92346727b0355bc1ec9a7ded1b444a4917f2b9": {
"path": "bios/NEC/PC-98/.variants/bios.rom.2e923467",
"name": "bios.rom",
@@ -28461,6 +28578,15 @@
"sha256": "7377cde7eba4e55e78ac2a19104b7a713d5ede587406ffff042707bed7b63bd4",
"crc32": "a72697d7"
},
"06dae1db384aa29d81c5b6ed587877e7128fcb35": {
"path": "bios/NEC/PC-98/.variants/n88n.ROM.06dae1db",
"name": "n88n.ROM",
"size": 32768,
"sha1": "06dae1db384aa29d81c5b6ed587877e7128fcb35",
"md5": "93cd1d78b7b9c50b80041ed330332ece",
"sha256": "049863abfae71799191ea07639f9de6a312606a8d11af9cacc1a6707fb0d4b5e",
"crc32": "8a2a1e17"
},
"e09c54152c8093e1724842c711aed6417169db23": {
"path": "bios/NEC/PC-98/.variants/sound.rom.e09c5415",
"name": "sound.rom",
@@ -28470,60 +28596,6 @@
"sha256": "f05b508d49f31f2a1a61724f013572592abc0833c09c45a72180e84247dc0d0d",
"crc32": "80eabfde"
},
"22fb2cd4412df057762c23dd22729ebcb922fe0e": {
"path": "bios/NEC/PC-98/2608_BD.WAV",
"name": "2608_BD.WAV",
"size": 5352,
"sha1": "22fb2cd4412df057762c23dd22729ebcb922fe0e",
"md5": "29aad51cd243c8e449d311d14613f0b1",
"sha256": "083c383103948dc4f05ac2a4e1bd7f12c02924c7fcd81d98e0ae13f2b309ab2f",
"crc32": "fcb60c01"
},
"ac7bc5f6849eb16087c04e88680ea477d553b436": {
"path": "bios/NEC/PC-98/2608_HH.WAV",
"name": "2608_HH.WAV",
"size": 5040,
"sha1": "ac7bc5f6849eb16087c04e88680ea477d553b436",
"md5": "59a009ee444318bd57d99a19068731e4",
"sha256": "6ebb6241bdb0542477feb2c6bb8af6eff5957cf4e3d9c6be46432cb6a4a44264",
"crc32": "7d6d9c4e"
},
"4ecf900db8d0f69d6154bde376206d727ddddaae": {
"path": "bios/NEC/PC-98/2608_RIM.WAV",
"name": "2608_RIM.WAV",
"size": 4170,
"sha1": "4ecf900db8d0f69d6154bde376206d727ddddaae",
"md5": "943290d1c5c6ae6295bd02be4411c7c0",
"sha256": "a888509403eea148155662ac3714509b62b408a0609e94835b2e2f2761f3b678",
"crc32": "8518a388"
},
"0ea4f93b81df9dbb8d48590b440f5910c0b798b6": {
"path": "bios/NEC/PC-98/2608_SD.WAV",
"name": "2608_SD.WAV",
"size": 6700,
"sha1": "0ea4f93b81df9dbb8d48590b440f5910c0b798b6",
"md5": "08124ccb84a9f65e2affc29581e690c9",
"sha256": "9bfec649700f0828ae9164ef922d7948c7213bf996ee39b9c65f1f0d0a67b324",
"crc32": "c0a71109"
},
"aa29f5e47cbd710077fa723929592c66d8bcb876": {
"path": "bios/NEC/PC-98/2608_TOM.WAV",
"name": "2608_TOM.WAV",
"size": 13824,
"sha1": "aa29f5e47cbd710077fa723929592c66d8bcb876",
"md5": "c321a6835b26ad125b2eb78be56394a4",
"sha256": "faa56ef0f130d4fb5fdc78b995e8a6edd989ca76a9521ffdea933bce96078523",
"crc32": "5e8ab475"
},
"a160bf60a4f148fd191edc989429e6909d431fcb": {
"path": "bios/NEC/PC-98/2608_TOP.WAV",
"name": "2608_TOP.WAV",
"size": 62290,
"sha1": "a160bf60a4f148fd191edc989429e6909d431fcb",
"md5": "9e73ff2345236ebe72f7a937e477f0bd",
"sha256": "c2c879a025226ef7e0dcef769519463c0c66e974eb43bc59ad0136ecca7e1c07",
"crc32": "cefa9f76"
},
"0a56c142ef40cec50f3ee56a6e42d0029c9e2818": {
"path": "bios/NEC/PC-98/2608_bd.wav",
"name": "2608_bd.wav",
@@ -28578,42 +28650,6 @@
"sha256": "d7bcf2da99a09589096e9bcee98da43303c588cca4e89b1a263adace52038cd3",
"crc32": "ab73a296"
},
"910fae6763c0cd59b3957b6cde479c72e21f33c1": {
"path": "bios/NEC/PC-98/BIOS.ROM",
"name": "BIOS.ROM",
"size": 98304,
"sha1": "910fae6763c0cd59b3957b6cde479c72e21f33c1",
"md5": "e246140dec5124c5e404869a84caefce",
"sha256": "2c2684d21ca44ab022d294a42709083ebe53f678e66b96c0ddd48f06aa5c869d",
"crc32": "76affd90"
},
"541271ea46c5166a1e054379963b0dc663e9b60f": {
"path": "bios/NEC/PC-98/FONT.ROM",
"name": "FONT.ROM",
"size": 288768,
"sha1": "541271ea46c5166a1e054379963b0dc663e9b60f",
"md5": "2af6179d7de4893ea0b705c00e9a98d6",
"sha256": "782690d89a4bd671151e4ba77f004d8f1ee6db3c304f2bccb4bddc145f1227a5",
"crc32": "cd6dfabe"
},
"9bca7d5116788776ed0f297bccb4dfc485379b41": {
"path": "bios/NEC/PC-98/ITF.ROM",
"name": "ITF.ROM",
"size": 32768,
"sha1": "9bca7d5116788776ed0f297bccb4dfc485379b41",
"md5": "e9fc3890963b12cf15d0a2eea5815b72",
"sha256": "2ca3ee3c7d5a6b6304a0205fec3cd7eaeb4e1e197e5db740cff0665006498076",
"crc32": "273e9e88"
},
"3b31fc68fa7f47b21c1a1cb027b86b9e87afbfff": {
"path": "bios/NEC/PC-98/N88.ROM",
"name": "N88.ROM",
"size": 32768,
"sha1": "3b31fc68fa7f47b21c1a1cb027b86b9e87afbfff",
"md5": "4f984e04a99d56c4cfe36115415d6eb8",
"sha256": "cf0b48f5541f5efd54a006d1a6042dd7ce613ccc69e13f2f41ca678569b5d650",
"crc32": "a0fc0473"
},
"d239c26ad7ac5efac6e947b0e9549b1534aa970d": {
"path": "bios/NEC/PC-98/N88EXT0.ROM",
"name": "N88EXT0.ROM",
@@ -28650,24 +28686,6 @@
"sha256": "8580fecc6574b40a082aaf227afc3c1dbd06f333ba7549278ff73647b02b2303",
"crc32": "7713c519"
},
"7e6591cd465cbb35d6d3446c5a83b46d30fafe95": {
"path": "bios/NEC/PC-98/N88KNJ2.ROM",
"name": "N88KNJ2.ROM",
"size": 131072,
"sha1": "7e6591cd465cbb35d6d3446c5a83b46d30fafe95",
"md5": "41d2e2c0c0edfccf76fa1c3e38bc1cf2",
"sha256": "b5a41c3758763bbec72769fab4a2533bf2db0b6312d93d25a695f9e4b9e02260",
"crc32": "154803cc"
},
"5b922ed9de07d2a729bdf1da7b57c50ddf08809a": {
"path": "bios/NEC/PC-98/N88N.ROM",
"name": "N88N.ROM",
"size": 32768,
"sha1": "5b922ed9de07d2a729bdf1da7b57c50ddf08809a",
"md5": "2ff07b8769367321128e03924af668a0",
"sha256": "11c3c727d7d12d0c7e044dd02ce154a5715bd7a2b8a9007132645962c7803881",
"crc32": "27e1857d"
},
"bb7103a0818850a039c67ff666a31ce49a8d516f": {
"path": "bios/NEC/PC-98/N88SUB.ROM",
"name": "N88SUB.ROM",
@@ -28686,15 +28704,6 @@
"sha256": "34cd454c6201bfd26839d6ace2ff6b1231e09d6279e49b4890311756dc3825fb",
"crc32": "42f124b0"
},
"34137c287c39c44300b04ee97c1e6459bb826b60": {
"path": "bios/NEC/PC-98/SOUND.ROM",
"name": "SOUND.ROM",
"size": 16384,
"sha1": "34137c287c39c44300b04ee97c1e6459bb826b60",
"md5": "caf90f22197aed6f14c471c21e64658d",
"sha256": "4db8274393f8267db83665bbb70be8efb83201818dff3ad76c11f451be96a803",
"crc32": "a21ef796"
},
"76a7360502fa0296ea93b4c537174610a834d367": {
"path": "bios/NEC/PC-98/bios.rom",
"name": "bios.rom",
@@ -28812,15 +28821,6 @@
"sha256": "5c31df4b892e730d1ba7f80fd5583e838ae5583ba52408088da74b9ff422e5fe",
"crc32": "96d1ef44"
},
"06dae1db384aa29d81c5b6ed587877e7128fcb35": {
"path": "bios/NEC/PC-98/n88n.ROM",
"name": "n88n.ROM",
"size": 32768,
"sha1": "06dae1db384aa29d81c5b6ed587877e7128fcb35",
"md5": "93cd1d78b7b9c50b80041ed330332ece",
"sha256": "049863abfae71799191ea07639f9de6a312606a8d11af9cacc1a6707fb0d4b5e",
"crc32": "8a2a1e17"
},
"063609dd518c124a4fc9ba35d1bae35771666a34": {
"path": "bios/NEC/PC-98/n88n.rom",
"name": "n88n.rom",
@@ -57081,6 +57081,24 @@
"sha256": "ad1b2eb9300efd3d9476dad742c72e7436d9a9f67c951d537868553fa0c80843",
"crc32": "a61ca7c7"
},
"c4db9a6e99873808c8022afd1c50fef556a8b44d": {
"path": "bios/Sharp/X1/.variants/IPLROM.X1.c4db9a6e",
"name": "IPLROM.X1",
"size": 4096,
"sha1": "c4db9a6e99873808c8022afd1c50fef556a8b44d",
"md5": "59074727a953fe965109b7dbe3298e30",
"sha256": "0513077cb96c90c3ab8809c44259d8274c7a34862ea7df1b957b2d6129eaaeb1",
"crc32": "7b28d9de"
},
"44620f57a25f0bcac2b57ca2b0f1ebad3bf305d3": {
"path": "bios/Sharp/X1/.variants/IPLROM.X1T.44620f57",
"name": "IPLROM.X1T",
"size": 32768,
"sha1": "44620f57a25f0bcac2b57ca2b0f1ebad3bf305d3",
"md5": "56c28adcf1f3a2f87cf3d57c378013f5",
"sha256": "212895703175665be8544daa55b65da1aebcf1e9a2db65bcc1622e564b802b71",
"crc32": "2e8b767c"
},
"1c1a0d8c9f4c446ccd7470516b215ddca5052fb2": {
"path": "bios/Sharp/X1/FNT0808.X1",
"name": "FNT0808.X1",
@@ -57099,24 +57117,6 @@
"sha256": "e356dd1992708d2bdf03d4029ba07a8177158e1cb0eac145f881ed8dcdae35d8",
"crc32": "8f9fb213"
},
"c4db9a6e99873808c8022afd1c50fef556a8b44d": {
"path": "bios/Sharp/X1/IPLROM.X1",
"name": "IPLROM.X1",
"size": 4096,
"sha1": "c4db9a6e99873808c8022afd1c50fef556a8b44d",
"md5": "59074727a953fe965109b7dbe3298e30",
"sha256": "0513077cb96c90c3ab8809c44259d8274c7a34862ea7df1b957b2d6129eaaeb1",
"crc32": "7b28d9de"
},
"44620f57a25f0bcac2b57ca2b0f1ebad3bf305d3": {
"path": "bios/Sharp/X1/IPLROM.X1T",
"name": "IPLROM.X1T",
"size": 32768,
"sha1": "44620f57a25f0bcac2b57ca2b0f1ebad3bf305d3",
"md5": "56c28adcf1f3a2f87cf3d57c378013f5",
"sha256": "212895703175665be8544daa55b65da1aebcf1e9a2db65bcc1622e564b802b71",
"crc32": "2e8b767c"
},
"d3395e9aeb5b8bbba7654dd471bcd8af228ee69a": {
"path": "bios/Sharp/X1/iplrom.x1",
"name": "iplrom.x1",
@@ -63334,6 +63334,7 @@
"b301cdad72448d92598197b45bead8fe": "7b961a1733fc047eb682150a32e17bca10a018d2",
"f23d7e00ae8fbf88908ed1f9165f35eb": "5996972d3e033f6c525c1988c563b4ffe4c58f22",
"74b0f217fa0e2b8bb5a2f8e2ecc69da3": "bf5fb954db868e523febccc68549ed9187961076",
"acf53887c2d2783dc059a9b442c86b90": "5aff2d9b6efc723bc395b0f96f0adfa83cc54a49",
"364a1a579fe5cb8dba54519bcfcdac0d": "e998f0c441f4f1800ef44e42cd1659150206cf79",
"847cc025ffae665487940ff2639540e5": "e90f80a61d94c617850c415e12ad70ac41e66bb7",
"55cca200bbbdd0a1ec5c9d70966c05c0": "4e9384c9d137f0ab65ffc5a78f04cd8c9df6c8b7",
@@ -63357,7 +63358,6 @@
"c83e50e9f33b8dd893c414691822740d": "401dd6692dc80628e5f68b7c79be0b0ebbc4d3ee",
"aa28f0703b951a6be8df3e28e20d263d": "c9377d76adedee1ba581ef71f263f35402980448",
"febe8782b466d7c3b16de6d104826b34": "84a645becec0a25d3ab7a909cde1b242699a8662",
"acf53887c2d2783dc059a9b442c86b90": "5aff2d9b6efc723bc395b0f96f0adfa83cc54a49",
"73291e76638a2f5aa2eceb843df468f4": "0ef27e3599370e179b6fceaa22431fb97f5e7e61",
"02e8b1f96049f09d6d3a735647cbbb2a": "f59d33311c95edc0168445f74eddd8a6772aa6a0",
"42af93619160ef2116416f74a6cb12f2": "32760893ce06dbe3930627755ba065cc3d8ec6ca",
@@ -63678,38 +63678,39 @@
"9c940c993b87b0a31d87960c1dc68656": "5a943ee2f4ff781af2e5ac2274f3350c3cb15248",
"9e5edcd9c670533791034ba84afb4d73": "88ad52740cd0b8a0e927abbfb84601aa099bcfbc",
"d81c6d5d7ad1a4bbbd6ae22a01257603": "82e11a177af6a5091dd67f50a2f4bafda84d6556",
"ca87908a99ea423093f6d497fc367f7d": "554b87377d176830d21bd03964dc71f8e98676b1",
"50274bb5dcb707e4450011b09accffcb": "2e92346727b0355bc1ec9a7ded1b444a4917f2b9",
"14bc9e267cf0cb56d22d5c470f582d53": "425a896af83386c7bafac59f94211cdbb9cce18d",
"a13d96da03a28af8418d7f86ab951f1a": "cf3aa193df2722899066246bccbed03f2e79a74a",
"f7cba6a308c2718dbe97e60e46ddd66a": "9b1346d44044eeea921c4cce69b5dc49dbc0b7e9",
"c254685f00ca9c31b97203d6ef19f5e2": "5aedbc5916d67ef28767a2b942864765eea81bb8",
"42c271f8b720e796a484cc1165ff4914": "e09c54152c8093e1724842c711aed6417169db23",
"29aad51cd243c8e449d311d14613f0b1": "22fb2cd4412df057762c23dd22729ebcb922fe0e",
"59a009ee444318bd57d99a19068731e4": "ac7bc5f6849eb16087c04e88680ea477d553b436",
"943290d1c5c6ae6295bd02be4411c7c0": "4ecf900db8d0f69d6154bde376206d727ddddaae",
"08124ccb84a9f65e2affc29581e690c9": "0ea4f93b81df9dbb8d48590b440f5910c0b798b6",
"c321a6835b26ad125b2eb78be56394a4": "aa29f5e47cbd710077fa723929592c66d8bcb876",
"9e73ff2345236ebe72f7a937e477f0bd": "a160bf60a4f148fd191edc989429e6909d431fcb",
"e246140dec5124c5e404869a84caefce": "910fae6763c0cd59b3957b6cde479c72e21f33c1",
"2af6179d7de4893ea0b705c00e9a98d6": "541271ea46c5166a1e054379963b0dc663e9b60f",
"ca87908a99ea423093f6d497fc367f7d": "554b87377d176830d21bd03964dc71f8e98676b1",
"e9fc3890963b12cf15d0a2eea5815b72": "9bca7d5116788776ed0f297bccb4dfc485379b41",
"4f984e04a99d56c4cfe36115415d6eb8": "3b31fc68fa7f47b21c1a1cb027b86b9e87afbfff",
"41d2e2c0c0edfccf76fa1c3e38bc1cf2": "7e6591cd465cbb35d6d3446c5a83b46d30fafe95",
"2ff07b8769367321128e03924af668a0": "5b922ed9de07d2a729bdf1da7b57c50ddf08809a",
"caf90f22197aed6f14c471c21e64658d": "34137c287c39c44300b04ee97c1e6459bb826b60",
"50274bb5dcb707e4450011b09accffcb": "2e92346727b0355bc1ec9a7ded1b444a4917f2b9",
"14bc9e267cf0cb56d22d5c470f582d53": "425a896af83386c7bafac59f94211cdbb9cce18d",
"a13d96da03a28af8418d7f86ab951f1a": "cf3aa193df2722899066246bccbed03f2e79a74a",
"f7cba6a308c2718dbe97e60e46ddd66a": "9b1346d44044eeea921c4cce69b5dc49dbc0b7e9",
"c254685f00ca9c31b97203d6ef19f5e2": "5aedbc5916d67ef28767a2b942864765eea81bb8",
"93cd1d78b7b9c50b80041ed330332ece": "06dae1db384aa29d81c5b6ed587877e7128fcb35",
"42c271f8b720e796a484cc1165ff4914": "e09c54152c8093e1724842c711aed6417169db23",
"d94546e70f17fd899be8df3544ab6cbb": "0a56c142ef40cec50f3ee56a6e42d0029c9e2818",
"08c54a0c1f774a5538a848a6665a34b4": "12f676cef249b82480b6f19c454e234b435ca7b6",
"465ea0768b27da404aec45dfc501404b": "c65592330c9dd84011151daed52f9aec926b7e56",
"d71004351c8bbfdad53b18222c061d49": "3c79663ef74c0b0439d13351326eb1c52a657008",
"96a4ead13f364734f79b0c58af2f0e1f": "9513fb4a3f41e75a972a273a5104cbd834c1e2c5",
"593cff6597ab9380d822b8f824fd2c28": "aa4a8f766a86b830687d5083fd3b9db0652f46fc",
"e246140dec5124c5e404869a84caefce": "910fae6763c0cd59b3957b6cde479c72e21f33c1",
"2af6179d7de4893ea0b705c00e9a98d6": "541271ea46c5166a1e054379963b0dc663e9b60f",
"e9fc3890963b12cf15d0a2eea5815b72": "9bca7d5116788776ed0f297bccb4dfc485379b41",
"4f984e04a99d56c4cfe36115415d6eb8": "3b31fc68fa7f47b21c1a1cb027b86b9e87afbfff",
"d675a2ca186c6efcd6277b835de4c7e5": "d239c26ad7ac5efac6e947b0e9549b1534aa970d",
"e844534dfe5744b381444dbe61ef1b66": "8528eef7946edf6501a6ccb1f416b60c64efac7c",
"6548fa45061274dee1ea8ae1e9e93910": "b7c8bcea219b77d9cc3ee0efafe343cc307425d1",
"fc4b76a402ba501e6ba6de4b3e8b4273": "efce0b51cab9f0da6cf68507757f1245a2867a72",
"41d2e2c0c0edfccf76fa1c3e38bc1cf2": "7e6591cd465cbb35d6d3446c5a83b46d30fafe95",
"2ff07b8769367321128e03924af668a0": "5b922ed9de07d2a729bdf1da7b57c50ddf08809a",
"793f86784e5608352a5d7f03f03e0858": "bb7103a0818850a039c67ff666a31ce49a8d516f",
"20a0334c447cb069a040ae5be1d938df": "e4fc7560b69d062cb2da5b1ffbe11cd1ca03cc37",
"caf90f22197aed6f14c471c21e64658d": "34137c287c39c44300b04ee97c1e6459bb826b60",
"cd237e16e7e77c06bb58540e9e9fca68": "76a7360502fa0296ea93b4c537174610a834d367",
"dc8e3222c6cfe24950a162467ad1a608": "d0dead41c5b763008a4d777aedddce651eb6dcbb",
"01b1af474fcabe93c40d779b234a3825": "8063185d4dd653dd75a68855148c9ee15b71164c",
@@ -63723,7 +63724,6 @@
"e1791f8154f1cdf22b576a1a365b6e1f": "af452aed79b072c4d17985830b7c5dca64d4b412",
"2e548679423370262f36cbde38a22789": "deef0cc2a9734ba891a6d6c022aa70ffc66f783e",
"898a3b7b6c3326e8b2069765bca2b944": "b86b932cb4ce34472e0fe0f01a4a4350e15dcb53",
"93cd1d78b7b9c50b80041ed330332ece": "06dae1db384aa29d81c5b6ed587877e7128fcb35",
"5d6854624dd01cd791f58727fc43a525": "063609dd518c124a4fc9ba35d1bae35771666a34",
"05a16413b0a5343de158a3dfd2d035e2": "d70660b4d67baecfc503f3777f56843b267c5960",
"524473c1a5a03b17e21d86a0408ff827": "d5dbc4fea3b8367024d363f5351baecd6adcd8ef",
@@ -66864,10 +66864,10 @@
"3602382c1a370fb3064fcadeeea809e4": "1ec11e6639ab20b1bf1a69a5e5222909284c042b",
"1474da2b8fbbb37abce8e7ab5cf9024c": "fec7527ecbf79b1ac697137f770bb8715fe8a652",
"e634c906c23e62d5d3cd63581e5748ff": "2ca428b70ed1746834d129c11fb8e60a56317cff",
"851e4a5936f17d13f8c39a980cf00d77": "1c1a0d8c9f4c446ccd7470516b215ddca5052fb2",
"fb31145036be80d392c95ff50ee8553c": "4f06d20c997a79ee6af954b69498147789bf1847",
"59074727a953fe965109b7dbe3298e30": "c4db9a6e99873808c8022afd1c50fef556a8b44d",
"56c28adcf1f3a2f87cf3d57c378013f5": "44620f57a25f0bcac2b57ca2b0f1ebad3bf305d3",
"851e4a5936f17d13f8c39a980cf00d77": "1c1a0d8c9f4c446ccd7470516b215ddca5052fb2",
"fb31145036be80d392c95ff50ee8553c": "4f06d20c997a79ee6af954b69498147789bf1847",
"eeeea1cd29c6e0e8b094790ae969bfa7": "d3395e9aeb5b8bbba7654dd471bcd8af228ee69a",
"51b55ee3807901c015fdb93616858b8b": "76c18deb168ad0ffd7886a130a9e74e915070782",
"d407317a52f8425a6753232064d14700": "77be2f6f28897f99b73d4c47bf7cd47e999fd7cd",
@@ -75355,6 +75355,9 @@
"bf5fb954db868e523febccc68549ed9187961076",
"69dd7344e4dfa7e250973a71bbb3e8aa6fb08d81"
],
"KANJI.rom": [
"5aff2d9b6efc723bc395b0f96f0adfa83cc54a49"
],
"MSX.ROM": [
"e998f0c441f4f1800ef44e42cd1659150206cf79",
"409e82adac40f6bdd18eb6c84e8b2fbdc7fb5498"
@@ -75424,9 +75427,6 @@
"KANJI.ROM": [
"84a645becec0a25d3ab7a909cde1b242699a8662"
],
"KANJI.rom": [
"5aff2d9b6efc723bc395b0f96f0adfa83cc54a49"
],
"KOREAN.FNT": [
"0ef27e3599370e179b6fceaa22431fb97f5e7e61"
],
@@ -75976,30 +75976,6 @@
"KANJI1.ROM": [
"82e11a177af6a5091dd67f50a2f4bafda84d6556"
],
"FONT.ROM": [
"554b87377d176830d21bd03964dc71f8e98676b1",
"541271ea46c5166a1e054379963b0dc663e9b60f"
],
"font.rom": [
"425a896af83386c7bafac59f94211cdbb9cce18d",
"78ba9960f135372825ab7244b5e4e73a810002ff"
],
"itf.rom": [
"cf3aa193df2722899066246bccbed03f2e79a74a",
"a2fb11c000ed7c976520622cfb7940ed6ddc904e"
],
"n88.rom": [
"9b1346d44044eeea921c4cce69b5dc49dbc0b7e9",
"3518193b8207bdebf22c1380c2db8c554baff329"
],
"n88_0.rom": [
"5aedbc5916d67ef28767a2b942864765eea81bb8",
"d1ae642aed4f0584eeb81ff50180db694e5101d4"
],
"sound.rom": [
"e09c54152c8093e1724842c711aed6417169db23",
"d5dbc4fea3b8367024d363f5351baecd6adcd8ef"
],
"2608_BD.WAV": [
"22fb2cd4412df057762c23dd22729ebcb922fe0e"
],
@@ -76018,6 +75994,51 @@
"2608_TOP.WAV": [
"a160bf60a4f148fd191edc989429e6909d431fcb"
],
"BIOS.ROM": [
"910fae6763c0cd59b3957b6cde479c72e21f33c1"
],
"FONT.ROM": [
"541271ea46c5166a1e054379963b0dc663e9b60f",
"554b87377d176830d21bd03964dc71f8e98676b1"
],
"ITF.ROM": [
"9bca7d5116788776ed0f297bccb4dfc485379b41"
],
"N88.ROM": [
"3b31fc68fa7f47b21c1a1cb027b86b9e87afbfff"
],
"N88KNJ2.ROM": [
"7e6591cd465cbb35d6d3446c5a83b46d30fafe95"
],
"N88N.ROM": [
"5b922ed9de07d2a729bdf1da7b57c50ddf08809a"
],
"SOUND.ROM": [
"34137c287c39c44300b04ee97c1e6459bb826b60"
],
"font.rom": [
"425a896af83386c7bafac59f94211cdbb9cce18d",
"78ba9960f135372825ab7244b5e4e73a810002ff"
],
"itf.rom": [
"cf3aa193df2722899066246bccbed03f2e79a74a",
"a2fb11c000ed7c976520622cfb7940ed6ddc904e"
],
"n88.rom": [
"9b1346d44044eeea921c4cce69b5dc49dbc0b7e9",
"3518193b8207bdebf22c1380c2db8c554baff329"
],
"n88_0.rom": [
"5aedbc5916d67ef28767a2b942864765eea81bb8",
"d1ae642aed4f0584eeb81ff50180db694e5101d4"
],
"n88n.ROM": [
"06dae1db384aa29d81c5b6ed587877e7128fcb35"
],
"sound.rom": [
"e09c54152c8093e1724842c711aed6417169db23",
"d5dbc4fea3b8367024d363f5351baecd6adcd8ef"
],
"2608_bd.wav": [
"0a56c142ef40cec50f3ee56a6e42d0029c9e2818"
],
@@ -76036,15 +76057,6 @@
"2608_top.wav": [
"aa4a8f766a86b830687d5083fd3b9db0652f46fc"
],
"BIOS.ROM": [
"910fae6763c0cd59b3957b6cde479c72e21f33c1"
],
"ITF.ROM": [
"9bca7d5116788776ed0f297bccb4dfc485379b41"
],
"N88.ROM": [
"3b31fc68fa7f47b21c1a1cb027b86b9e87afbfff"
],
"N88EXT0.ROM": [
"d239c26ad7ac5efac6e947b0e9549b1534aa970d"
],
@@ -76057,21 +76069,12 @@
"N88EXT3.ROM": [
"efce0b51cab9f0da6cf68507757f1245a2867a72"
],
"N88KNJ2.ROM": [
"7e6591cd465cbb35d6d3446c5a83b46d30fafe95"
],
"N88N.ROM": [
"5b922ed9de07d2a729bdf1da7b57c50ddf08809a"
],
"N88SUB.ROM": [
"bb7103a0818850a039c67ff666a31ce49a8d516f"
],
"ROM1": [
"e4fc7560b69d062cb2da5b1ffbe11cd1ca03cc37"
],
"SOUND.ROM": [
"34137c287c39c44300b04ee97c1e6459bb826b60"
],
"d8000.rom": [
"d0dead41c5b763008a4d777aedddce651eb6dcbb"
],
@@ -76096,9 +76099,6 @@
"n88knj2.rom": [
"b86b932cb4ce34472e0fe0f01a4a4350e15dcb53"
],
"n88n.ROM": [
"06dae1db384aa29d81c5b6ed587877e7128fcb35"
],
"n88n.rom": [
"063609dd518c124a4fc9ba35d1bae35771666a34"
],
@@ -84675,18 +84675,18 @@
"mz80kj.zip": [
"2ca428b70ed1746834d129c11fb8e60a56317cff"
],
"FNT0808.X1": [
"1c1a0d8c9f4c446ccd7470516b215ddca5052fb2"
],
"FNT0816.X1": [
"4f06d20c997a79ee6af954b69498147789bf1847"
],
"IPLROM.X1": [
"c4db9a6e99873808c8022afd1c50fef556a8b44d"
],
"IPLROM.X1T": [
"44620f57a25f0bcac2b57ca2b0f1ebad3bf305d3"
],
"FNT0808.X1": [
"1c1a0d8c9f4c446ccd7470516b215ddca5052fb2"
],
"FNT0816.X1": [
"4f06d20c997a79ee6af954b69498147789bf1847"
],
"iplrom.x1": [
"d3395e9aeb5b8bbba7654dd471bcd8af228ee69a"
],
@@ -91289,6 +91289,7 @@
"8972d756": "7b961a1733fc047eb682150a32e17bca10a018d2",
"a73a4d20": "5996972d3e033f6c525c1988c563b4ffe4c58f22",
"d42f4444": "bf5fb954db868e523febccc68549ed9187961076",
"1f6406fb": "5aff2d9b6efc723bc395b0f96f0adfa83cc54a49",
"a317e6b4": "e998f0c441f4f1800ef44e42cd1659150206cf79",
"19771608": "e90f80a61d94c617850c415e12ad70ac41e66bb7",
"3353dcc6": "4e9384c9d137f0ab65ffc5a78f04cd8c9df6c8b7",
@@ -91312,7 +91313,6 @@
"c90ec498": "401dd6692dc80628e5f68b7c79be0b0ebbc4d3ee",
"1f8f9709": "c9377d76adedee1ba581ef71f263f35402980448",
"c9651b32": "84a645becec0a25d3ab7a909cde1b242699a8662",
"1f6406fb": "5aff2d9b6efc723bc395b0f96f0adfa83cc54a49",
"7ac42370": "0ef27e3599370e179b6fceaa22431fb97f5e7e61",
"232222be": "f59d33311c95edc0168445f74eddd8a6772aa6a0",
"2a9d8d43": "32760893ce06dbe3930627755ba065cc3d8ec6ca",
@@ -91633,38 +91633,39 @@
"300be300": "5a943ee2f4ff781af2e5ac2274f3350c3cb15248",
"84760465": "88ad52740cd0b8a0e927abbfb84601aa099bcfbc",
"6178bd43": "82e11a177af6a5091dd67f50a2f4bafda84d6556",
"a61c0649": "554b87377d176830d21bd03964dc71f8e98676b1",
"34a19a59": "2e92346727b0355bc1ec9a7ded1b444a4917f2b9",
"7a6edb47": "425a896af83386c7bafac59f94211cdbb9cce18d",
"dd4c7bb8": "cf3aa193df2722899066246bccbed03f2e79a74a",
"73573432": "9b1346d44044eeea921c4cce69b5dc49dbc0b7e9",
"a72697d7": "5aedbc5916d67ef28767a2b942864765eea81bb8",
"80eabfde": "e09c54152c8093e1724842c711aed6417169db23",
"fcb60c01": "22fb2cd4412df057762c23dd22729ebcb922fe0e",
"7d6d9c4e": "ac7bc5f6849eb16087c04e88680ea477d553b436",
"8518a388": "4ecf900db8d0f69d6154bde376206d727ddddaae",
"c0a71109": "0ea4f93b81df9dbb8d48590b440f5910c0b798b6",
"5e8ab475": "aa29f5e47cbd710077fa723929592c66d8bcb876",
"cefa9f76": "a160bf60a4f148fd191edc989429e6909d431fcb",
"76affd90": "910fae6763c0cd59b3957b6cde479c72e21f33c1",
"cd6dfabe": "541271ea46c5166a1e054379963b0dc663e9b60f",
"a61c0649": "554b87377d176830d21bd03964dc71f8e98676b1",
"273e9e88": "9bca7d5116788776ed0f297bccb4dfc485379b41",
"a0fc0473": "3b31fc68fa7f47b21c1a1cb027b86b9e87afbfff",
"154803cc": "7e6591cd465cbb35d6d3446c5a83b46d30fafe95",
"27e1857d": "5b922ed9de07d2a729bdf1da7b57c50ddf08809a",
"a21ef796": "34137c287c39c44300b04ee97c1e6459bb826b60",
"34a19a59": "2e92346727b0355bc1ec9a7ded1b444a4917f2b9",
"7a6edb47": "425a896af83386c7bafac59f94211cdbb9cce18d",
"dd4c7bb8": "cf3aa193df2722899066246bccbed03f2e79a74a",
"73573432": "9b1346d44044eeea921c4cce69b5dc49dbc0b7e9",
"a72697d7": "5aedbc5916d67ef28767a2b942864765eea81bb8",
"8a2a1e17": "06dae1db384aa29d81c5b6ed587877e7128fcb35",
"80eabfde": "e09c54152c8093e1724842c711aed6417169db23",
"bb038714": "0a56c142ef40cec50f3ee56a6e42d0029c9e2818",
"9898b372": "12f676cef249b82480b6f19c454e234b435ca7b6",
"638864c1": "c65592330c9dd84011151daed52f9aec926b7e56",
"542cc58c": "3c79663ef74c0b0439d13351326eb1c52a657008",
"93c57bba": "9513fb4a3f41e75a972a273a5104cbd834c1e2c5",
"ab73a296": "aa4a8f766a86b830687d5083fd3b9db0652f46fc",
"76affd90": "910fae6763c0cd59b3957b6cde479c72e21f33c1",
"cd6dfabe": "541271ea46c5166a1e054379963b0dc663e9b60f",
"273e9e88": "9bca7d5116788776ed0f297bccb4dfc485379b41",
"a0fc0473": "3b31fc68fa7f47b21c1a1cb027b86b9e87afbfff",
"710a63ec": "d239c26ad7ac5efac6e947b0e9549b1534aa970d",
"c0bd2aa6": "8528eef7946edf6501a6ccb1f416b60c64efac7c",
"af2b6efa": "b7c8bcea219b77d9cc3ee0efafe343cc307425d1",
"7713c519": "efce0b51cab9f0da6cf68507757f1245a2867a72",
"154803cc": "7e6591cd465cbb35d6d3446c5a83b46d30fafe95",
"27e1857d": "5b922ed9de07d2a729bdf1da7b57c50ddf08809a",
"2158d307": "bb7103a0818850a039c67ff666a31ce49a8d516f",
"42f124b0": "e4fc7560b69d062cb2da5b1ffbe11cd1ca03cc37",
"a21ef796": "34137c287c39c44300b04ee97c1e6459bb826b60",
"0a682b93": "76a7360502fa0296ea93b4c537174610a834d367",
"5dda57cc": "d0dead41c5b763008a4d777aedddce651eb6dcbb",
"f2cbe4ee": "8063185d4dd653dd75a68855148c9ee15b71164c",
@@ -91678,7 +91679,6 @@
"692cbcd8": "af452aed79b072c4d17985830b7c5dca64d4b412",
"bd6eb062": "deef0cc2a9734ba891a6d6c022aa70ffc66f783e",
"96d1ef44": "b86b932cb4ce34472e0fe0f01a4a4350e15dcb53",
"8a2a1e17": "06dae1db384aa29d81c5b6ed587877e7128fcb35",
"5cb8b584": "063609dd518c124a4fc9ba35d1bae35771666a34",
"0a650926": "d70660b4d67baecfc503f3777f56843b267c5960",
"fe9f57f2": "d5dbc4fea3b8367024d363f5351baecd6adcd8ef",
@@ -94819,10 +94819,10 @@
"8a887ad3": "1ec11e6639ab20b1bf1a69a5e5222909284c042b",
"17878e56": "fec7527ecbf79b1ac697137f770bb8715fe8a652",
"a61ca7c7": "2ca428b70ed1746834d129c11fb8e60a56317cff",
"e3995a57": "1c1a0d8c9f4c446ccd7470516b215ddca5052fb2",
"8f9fb213": "4f06d20c997a79ee6af954b69498147789bf1847",
"7b28d9de": "c4db9a6e99873808c8022afd1c50fef556a8b44d",
"2e8b767c": "44620f57a25f0bcac2b57ca2b0f1ebad3bf305d3",
"e3995a57": "1c1a0d8c9f4c446ccd7470516b215ddca5052fb2",
"8f9fb213": "4f06d20c997a79ee6af954b69498147789bf1847",
"e70011d3": "d3395e9aeb5b8bbba7654dd471bcd8af228ee69a",
"72628c06": "76c18deb168ad0ffd7886a130a9e74e915070782",
"5dd9a0c5": "77be2f6f28897f99b73d4c47bf7cd47e999fd7cd",

View File

@@ -244,8 +244,24 @@ def resolve_local_file(
pass
if db_md5.lower() in md5_set:
return path, "exact"
primary = [p for p, _ in candidates if "/.variants/" not in p]
return (primary[0] if primary else candidates[0][0]), "hash_mismatch"
# When zipped_file is set, only accept candidates that contain it
if zipped_file:
valid = []
for path, m in candidates:
try:
with zipfile.ZipFile(path) as zf:
inner_names = {n.casefold() for n in zf.namelist()}
if zipped_file.casefold() in inner_names:
valid.append((path, m))
except (zipfile.BadZipFile, OSError):
pass
if valid:
primary = [p for p, _ in valid if "/.variants/" not in p]
return (primary[0] if primary else valid[0][0]), "hash_mismatch"
# No candidate contains the zipped_file — fall through to step 5
else:
primary = [p for p, _ in candidates if "/.variants/" not in p]
return (primary[0] if primary else candidates[0][0]), "hash_mismatch"
# 5. zipped_file content match via pre-built index (last resort:
# matches inner ROM MD5 across ALL ZIPs in the repo, so only use