fix: give the SMS v1.3 BIOS its pinned names

Genesis Plus GX declares bios_U.sms and bios_E.sms with no hash. Only
.variants/ copies carried those names, so the name step served the Store
Display Unit BIOS and a 256 KB BIOS, while every platform pins v1.3 under
both. Two causes in generate_db: the v1.3 content's path was ZEsarUX's
sms.rom, which the resolver sets aside as another emulator's file, and a
name pinned by hash was refused when only variants carried it.

The scan now prefers a copy filed under its machine over one in an
emulator's own tree, and a name only variants carry can name the content
a hash pins it to.

Manifests: six contents change repo_path only (v1.3 SMS BIOS and five
ZEsarUX Spectrum ROMs, same sha1). On batocera, knulli, recalbox and
retrodeck the Genesis Plus GX bios_E.sms and bios_U.sms extras move from
the two variants to v1.3.
This commit is contained in:
Abdessamad Derraz committed 2026-11-05 19:38:07 +01:00
1 parent 439b2cdaba
commit 0428588a6c
18 files changed
+373 -273

No files matched your search

+89 -76
View File
@@ -1,6 +1,6 @@
{
"schema_version": 1,
"generated_at": "2026-11-05T18:31:29Z",
"generated_at": "2026-11-05T18:33:47Z",
"total_files": 19944,
"total_size": 16892646538,
"bios_dir": "bios",
@@ -166326,8 +166326,8 @@
"adler32": "b49cf464"
},
"4ffd9ed9c00cdc6f92ce69fdd8b618ef1203f48e": {
"path": "bios/Other/zesarux/if1-v1.rom",
"name": "if1-v1.rom",
"path": "bios/Sinclair/ZX Spectrum/if1-1.rom",
"name": "if1-1.rom",
"size": 8192,
"sha1": "4ffd9ed9c00cdc6f92ce69fdd8b618ef1203f48e",
"md5": "5c11c61a2dd2ca4bf39328d9ff42d289",
@@ -166343,8 +166343,8 @@
}
},
"5cfb6bca4177c45fefd571734576b55e3a127c08": {
"path": "bios/Other/zesarux/if1-v2.rom",
"name": "if1-v2.rom",
"path": "bios/Sinclair/ZX Spectrum/if1-2.rom",
"name": "if1-2.rom",
"size": 8192,
"sha1": "5cfb6bca4177c45fefd571734576b55e3a127c08",
"md5": "31b704ae925305e74f50699271fddd9a",
@@ -166360,8 +166360,8 @@
}
},
"8cafb292af58617907b9e6b9093d3588a75849b8": {
"path": "bios/Other/zesarux/p2.rom",
"name": "p2.rom",
"path": "bios/Sinclair/ZX Spectrum/plus2.rom",
"name": "plus2.rom",
"size": 32768,
"sha1": "8cafb292af58617907b9e6b9093d3588a75849b8",
"md5": "238f77692156a5c49d20c0aa2862e8bb",
@@ -166377,8 +166377,8 @@
}
},
"929bf1a5e5687ebd8d7245f9b513a596c0ec21a4": {
"path": "bios/Other/zesarux/p2a40.rom",
"name": "p2a40.rom",
"path": "bios/Sinclair/ZX Spectrum/plus3.rom",
"name": "plus3.rom",
"size": 65536,
"sha1": "929bf1a5e5687ebd8d7245f9b513a596c0ec21a4",
"md5": "05de80a055b5e7866f55769db0584d6e",
@@ -166394,8 +166394,8 @@
}
},
"a584272f21dc82c14b7d4f1ed440e23a976e71f0": {
"path": "bios/Other/zesarux/pentagon.rom",
"name": "pentagon.rom",
"path": "bios/Sinclair/ZX Spectrum/ZX_pentagon.rom",
"name": "ZX_pentagon.rom",
"size": 32768,
"sha1": "a584272f21dc82c14b7d4f1ed440e23a976e71f0",
"md5": "178d780c1347cf6634471805bd10e52c",
@@ -166411,8 +166411,8 @@
}
},
"c315672807d8ddb8d91443729405c766dd95cae7": {
"path": "bios/Other/zesarux/sms.rom",
"name": "sms.rom",
"path": "bios/Sega/Master System/SMS_us_1.3.sms",
"name": "SMS_us_1.3.sms",
"size": 8192,
"sha1": "c315672807d8ddb8d91443729405c766dd95cae7",
"md5": "840481177270d5642a14ca71ee72844c",
@@ -258574,10 +258574,12 @@
"3b31fc68fa7f47b21c1a1cb027b86b9e87afbfff"
],
"N88KNJ2.ROM": [
"7e6591cd465cbb35d6d3446c5a83b46d30fafe95"
"7e6591cd465cbb35d6d3446c5a83b46d30fafe95",
"b86b932cb4ce34472e0fe0f01a4a4350e15dcb53"
],
"N88N.ROM": [
"5b922ed9de07d2a729bdf1da7b57c50ddf08809a"
"5b922ed9de07d2a729bdf1da7b57c50ddf08809a",
"063609dd518c124a4fc9ba35d1bae35771666a34"
],
"n88.rom": [
"9b1346d44044eeea921c4cce69b5dc49dbc0b7e9",
@@ -258648,22 +258650,28 @@
"d70660b4d67baecfc503f3777f56843b267c5960"
],
"2608_BD.WAV": [
"22fb2cd4412df057762c23dd22729ebcb922fe0e"
"22fb2cd4412df057762c23dd22729ebcb922fe0e",
"0a56c142ef40cec50f3ee56a6e42d0029c9e2818"
],
"2608_HH.WAV": [
"ac7bc5f6849eb16087c04e88680ea477d553b436"
"ac7bc5f6849eb16087c04e88680ea477d553b436",
"12f676cef249b82480b6f19c454e234b435ca7b6"
],
"2608_RIM.WAV": [
"4ecf900db8d0f69d6154bde376206d727ddddaae"
"4ecf900db8d0f69d6154bde376206d727ddddaae",
"c65592330c9dd84011151daed52f9aec926b7e56"
],
"2608_SD.WAV": [
"0ea4f93b81df9dbb8d48590b440f5910c0b798b6"
"0ea4f93b81df9dbb8d48590b440f5910c0b798b6",
"3c79663ef74c0b0439d13351326eb1c52a657008"
],
"2608_TOM.WAV": [
"aa29f5e47cbd710077fa723929592c66d8bcb876"
"aa29f5e47cbd710077fa723929592c66d8bcb876",
"9513fb4a3f41e75a972a273a5104cbd834c1e2c5"
],
"2608_TOP.WAV": [
"a160bf60a4f148fd191edc989429e6909d431fcb"
"a160bf60a4f148fd191edc989429e6909d431fcb",
"aa4a8f766a86b830687d5083fd3b9db0652f46fc"
],
"2608_bd.wav": [
"8a1cf3c72683a2620bef0737f1aa0c32bde47ae5",
@@ -258690,7 +258698,8 @@
],
"FONT.ROM": [
"541271ea46c5166a1e054379963b0dc663e9b60f",
"554b87377d176830d21bd03964dc71f8e98676b1"
"554b87377d176830d21bd03964dc71f8e98676b1",
"78ba9960f135372825ab7244b5e4e73a810002ff"
],
"ITF.ROM": [
"9bca7d5116788776ed0f297bccb4dfc485379b41"
@@ -265764,7 +265773,8 @@
"21ce0ee54bff57f69fafa741025bf2f15b356405"
],
"SCSIINROM.DAT": [
"3f063d4231cdf53da6adc4db96533725e260076a"
"3f063d4231cdf53da6adc4db96533725e260076a",
"15a17798839a3f7f361119205aebc301c2df5967"
],
"SCCore.dll": [
"41911c21d7e1d6da5574cb42c35c7ba96ea110e0",
@@ -265826,22 +265836,22 @@
"zxevo_baseconf.rom": [
"5da084d0425bc433952e03a6cef3f57e16a46886"
],
"if1-v1.rom": [
"if1-1.rom": [
"4ffd9ed9c00cdc6f92ce69fdd8b618ef1203f48e"
],
"if1-v2.rom": [
"if1-2.rom": [
"5cfb6bca4177c45fefd571734576b55e3a127c08"
],
"p2.rom": [
"plus2.rom": [
"8cafb292af58617907b9e6b9093d3588a75849b8"
],
"p2a40.rom": [
"plus3.rom": [
"929bf1a5e5687ebd8d7245f9b513a596c0ec21a4"
],
"pentagon.rom": [
"ZX_pentagon.rom": [
"a584272f21dc82c14b7d4f1ed440e23a976e71f0"
],
"sms.rom": [
"SMS_us_1.3.sms": [
"c315672807d8ddb8d91443729405c766dd95cae7"
],
"430vx.nvr": [
@@ -273750,10 +273760,12 @@
"9e179392cd416af14024d8f31c981d9ee9a64517",
"fc7eb9141f38c92bf98d9134816f64b45e811112",
"3af7b66248d34eb26da40c92bf2fa4c73a46a051",
"aa92ae576ca670b00855e278378d89e9f85e0351"
"aa92ae576ca670b00855e278378d89e9f85e0351",
"c315672807d8ddb8d91443729405c766dd95cae7"
],
"bios_U.sms": [
"fc465122134d95363112eb51b9ab71db3576cefd"
"fc465122134d95363112eb51b9ab71db3576cefd",
"c315672807d8ddb8d91443729405c766dd95cae7"
],
"japanese-bios.sms": [
"a8c1b39a2e41137835eda6a5de6d46dd9fadbaf2"
@@ -273996,7 +274008,8 @@
"fec7527ecbf79b1ac697137f770bb8715fe8a652"
],
"IPLROM.X1": [
"c4db9a6e99873808c8022afd1c50fef556a8b44d"
"c4db9a6e99873808c8022afd1c50fef556a8b44d",
"d3395e9aeb5b8bbba7654dd471bcd8af228ee69a"
],
"FNT0808.X1": [
"1c1a0d8c9f4c446ccd7470516b215ddca5052fb2"
@@ -279109,7 +279122,7 @@
"bios_J.sms": [
"a8c1b39a2e41137835eda6a5de6d46dd9fadbaf2"
],
"SMS_us_1.3.sms": [
"sms.rom": [
"c315672807d8ddb8d91443729405c766dd95cae7"
],
"[BIOS] Sega Master System (USA, Europe) (v1.3).sms": [
@@ -279218,16 +279231,16 @@
"ZXS128.ROM": [
"16375d42ea109b47edded7a16028de7fdb3013a1"
],
"ZX_pentagon.rom": [
"pentagon.rom": [
"a584272f21dc82c14b7d4f1ed440e23a976e71f0"
],
"if1-1.rom": [
"if1-v1.rom": [
"4ffd9ed9c00cdc6f92ce69fdd8b618ef1203f48e"
],
"interface1.edition1.rom": [
"4ffd9ed9c00cdc6f92ce69fdd8b618ef1203f48e"
],
"if1-2.rom": [
"if1-v2.rom": [
"5cfb6bca4177c45fefd571734576b55e3a127c08"
],
"interface1.edition2.rom": [
@@ -279239,7 +279252,7 @@
"IF1.ROM": [
"5cfb6bca4177c45fefd571734576b55e3a127c08"
],
"plus2.rom": [
"p2.rom": [
"8cafb292af58617907b9e6b9093d3588a75849b8"
],
"spectrum+2.rom": [
@@ -279248,7 +279261,7 @@
"ZXSPLUS2.ROM": [
"8cafb292af58617907b9e6b9093d3588a75849b8"
],
"plus3.rom": [
"p2a40.rom": [
"929bf1a5e5687ebd8d7245f9b513a596c0ec21a4"
],
"spectrum+3.version4-0.rom": [
@@ -279905,6 +279918,14 @@
"Kickstart v3.0 rev 39.106 (1992)(Commodore)(A1200)[!].rom": [
"70033828182fffc7ed106e5373a8b89dda76faa5"
],
"N80.ROM": [
"5b922ed9de07d2a729bdf1da7b57c50ddf08809a",
"063609dd518c124a4fc9ba35d1bae35771666a34"
],
"n80.rom": [
"5b922ed9de07d2a729bdf1da7b57c50ddf08809a",
"063609dd518c124a4fc9ba35d1bae35771666a34"
],
"iplrom.x1t": [
"44620f57a25f0bcac2b57ca2b0f1ebad3bf305d3",
"1c1a0d8c9f4c446ccd7470516b215ddca5052fb2"
@@ -281475,13 +281496,13 @@
"MSXSP.ROM": [
"342e7d4bd86f3351766f460f6de3c89a40791ee0"
],
"N80.ROM": [
"5b922ed9de07d2a729bdf1da7b57c50ddf08809a",
"063609dd518c124a4fc9ba35d1bae35771666a34"
"KANJI2.ROM": [
"7e6591cd465cbb35d6d3446c5a83b46d30fafe95",
"b86b932cb4ce34472e0fe0f01a4a4350e15dcb53"
],
"n80.rom": [
"5b922ed9de07d2a729bdf1da7b57c50ddf08809a",
"063609dd518c124a4fc9ba35d1bae35771666a34"
"kanji2.rom": [
"7e6591cd465cbb35d6d3446c5a83b46d30fafe95",
"b86b932cb4ce34472e0fe0f01a4a4350e15dcb53"
],
"N88JISHO.ROM": [
"deef0cc2a9734ba891a6d6c022aa70ffc66f783e"
@@ -282293,14 +282314,6 @@
"af452aed79b072c4d17985830b7c5dca64d4b412",
"efce0b51cab9f0da6cf68507757f1245a2867a72"
],
"KANJI2.ROM": [
"b86b932cb4ce34472e0fe0f01a4a4350e15dcb53",
"7e6591cd465cbb35d6d3446c5a83b46d30fafe95"
],
"kanji2.rom": [
"b86b932cb4ce34472e0fe0f01a4a4350e15dcb53",
"7e6591cd465cbb35d6d3446c5a83b46d30fafe95"
],
"FONT2.ROM": [
"0a056b6d28b4b9e29a2d255bdaa25c24f176cf1e"
],
@@ -518274,40 +518287,40 @@
".variants/zxevo_baseconf.rom.ff28d4cd": [
"5da084d0425bc433952e03a6cef3f57e16a46886"
],
"Other/zesarux/if1-v1.rom": [
"Sinclair/ZX Spectrum/if1-1.rom": [
"4ffd9ed9c00cdc6f92ce69fdd8b618ef1203f48e"
],
"zesarux/if1-v1.rom": [
"ZX Spectrum/if1-1.rom": [
"4ffd9ed9c00cdc6f92ce69fdd8b618ef1203f48e"
],
"Other/zesarux/if1-v2.rom": [
"Sinclair/ZX Spectrum/if1-2.rom": [
"5cfb6bca4177c45fefd571734576b55e3a127c08"
],
"zesarux/if1-v2.rom": [
"ZX Spectrum/if1-2.rom": [
"5cfb6bca4177c45fefd571734576b55e3a127c08"
],
"Other/zesarux/p2.rom": [
"Sinclair/ZX Spectrum/plus2.rom": [
"8cafb292af58617907b9e6b9093d3588a75849b8"
],
"zesarux/p2.rom": [
"ZX Spectrum/plus2.rom": [
"8cafb292af58617907b9e6b9093d3588a75849b8"
],
"Other/zesarux/p2a40.rom": [
"Sinclair/ZX Spectrum/plus3.rom": [
"929bf1a5e5687ebd8d7245f9b513a596c0ec21a4"
],
"zesarux/p2a40.rom": [
"ZX Spectrum/plus3.rom": [
"929bf1a5e5687ebd8d7245f9b513a596c0ec21a4"
],
"Other/zesarux/pentagon.rom": [
"Sinclair/ZX Spectrum/ZX_pentagon.rom": [
"a584272f21dc82c14b7d4f1ed440e23a976e71f0"
],
"zesarux/pentagon.rom": [
"ZX Spectrum/ZX_pentagon.rom": [
"a584272f21dc82c14b7d4f1ed440e23a976e71f0"
],
"Other/zesarux/sms.rom": [
"Sega/Master System/SMS_us_1.3.sms": [
"c315672807d8ddb8d91443729405c766dd95cae7"
],
"zesarux/sms.rom": [
"Master System/SMS_us_1.3.sms": [
"c315672807d8ddb8d91443729405c766dd95cae7"
],
"PC/PCem/430vx.nvr": [
@@ -599462,10 +599475,10 @@
"Master System/bios_J.sms": [
"a8c1b39a2e41137835eda6a5de6d46dd9fadbaf2"
],
"Sega/Master System/SMS_us_1.3.sms": [
"Other/zesarux/sms.rom": [
"c315672807d8ddb8d91443729405c766dd95cae7"
],
"Master System/SMS_us_1.3.sms": [
"zesarux/sms.rom": [
"c315672807d8ddb8d91443729405c766dd95cae7"
],
"Sega/Master System/[BIOS] Sega Master System (USA, Europe) (v1.3).sms": [
@@ -599627,16 +599640,16 @@
"ZX Spectrum/spectrum128.rom": [
"16375d42ea109b47edded7a16028de7fdb3013a1"
],
"Sinclair/ZX Spectrum/ZX_pentagon.rom": [
"Other/zesarux/pentagon.rom": [
"a584272f21dc82c14b7d4f1ed440e23a976e71f0"
],
"ZX Spectrum/ZX_pentagon.rom": [
"zesarux/pentagon.rom": [
"a584272f21dc82c14b7d4f1ed440e23a976e71f0"
],
"Sinclair/ZX Spectrum/if1-1.rom": [
"Other/zesarux/if1-v1.rom": [
"4ffd9ed9c00cdc6f92ce69fdd8b618ef1203f48e"
],
"ZX Spectrum/if1-1.rom": [
"zesarux/if1-v1.rom": [
"4ffd9ed9c00cdc6f92ce69fdd8b618ef1203f48e"
],
"Sinclair/ZX Spectrum/interface1.edition1.rom": [
@@ -599645,10 +599658,10 @@
"ZX Spectrum/interface1.edition1.rom": [
"4ffd9ed9c00cdc6f92ce69fdd8b618ef1203f48e"
],
"Sinclair/ZX Spectrum/if1-2.rom": [
"Other/zesarux/if1-v2.rom": [
"5cfb6bca4177c45fefd571734576b55e3a127c08"
],
"ZX Spectrum/if1-2.rom": [
"zesarux/if1-v2.rom": [
"5cfb6bca4177c45fefd571734576b55e3a127c08"
],
"Sinclair/ZX Spectrum/interface1.edition2.rom": [
@@ -599657,10 +599670,10 @@
"ZX Spectrum/interface1.edition2.rom": [
"5cfb6bca4177c45fefd571734576b55e3a127c08"
],
"Sinclair/ZX Spectrum/plus2.rom": [
"Other/zesarux/p2.rom": [
"8cafb292af58617907b9e6b9093d3588a75849b8"
],
"ZX Spectrum/plus2.rom": [
"zesarux/p2.rom": [
"8cafb292af58617907b9e6b9093d3588a75849b8"
],
"Sinclair/ZX Spectrum/spectrum+2.rom": [
@@ -599669,10 +599682,10 @@
"ZX Spectrum/spectrum+2.rom": [
"8cafb292af58617907b9e6b9093d3588a75849b8"
],
"Sinclair/ZX Spectrum/plus3.rom": [
"Other/zesarux/p2a40.rom": [
"929bf1a5e5687ebd8d7245f9b513a596c0ec21a4"
],
"ZX Spectrum/plus3.rom": [
"zesarux/p2a40.rom": [
"929bf1a5e5687ebd8d7245f9b513a596c0ec21a4"
],
"Sinclair/ZX Spectrum/spectrum+3.version4-0.rom": [
+13 -13
View File
@@ -6,7 +6,7 @@
"platform": "amberelec",
"display_name": "AmberELEC",
"version": "prerelease-20261019_1835",
"generated": "2026-11-05T18:31:29Z",
"generated": "2026-11-05T18:33:47Z",
"base_destination": "",
"detect": [
{
@@ -9014,17 +9014,17 @@
"sha1": "c315672807d8ddb8d91443729405c766dd95cae7",
"sha256": "477617917a12a30f9f43844909dc2de6e6a617430f5c9a36306c86414a670d50",
"size": 8192,
"repo_path": "bios/Other/zesarux/sms.rom",
"repo_path": "bios/Sega/Master System/SMS_us_1.3.sms",
"cores": null,
"systems": [
"sega-master-system"
],
"alternatives": [
{
"sha1": "6aca0e3dffe461ba1cb11a86cd4caf5b97e1b8df",
"sha256": "c51ec80b7a609c5ee3d203ceee2b602ae4dfb4479caf15dc1d030c40c0364e93",
"size": 262144,
"repo_path": "bios/Sega/Master System/.variants/bios_E.sms.81c3476b",
"sha1": "c315672807d8ddb8d91443729405c766dd95cae7",
"sha256": "477617917a12a30f9f43844909dc2de6e6a617430f5c9a36306c86414a670d50",
"size": 8192,
"repo_path": "bios/Sega/Master System/SMS_us_1.3.sms",
"cores": [
"genesis_plus_gx",
"genesis_plus_gx_wide"
@@ -9037,7 +9037,7 @@
"sha1": "c315672807d8ddb8d91443729405c766dd95cae7",
"sha256": "477617917a12a30f9f43844909dc2de6e6a617430f5c9a36306c86414a670d50",
"size": 8192,
"repo_path": "bios/Other/zesarux/sms.rom",
"repo_path": "bios/Sega/Master System/SMS_us_1.3.sms",
"cores": null,
"systems": [
"sega-master-system"
@@ -9053,10 +9053,10 @@
],
"alternatives": [
{
"sha1": "fc465122134d95363112eb51b9ab71db3576cefd",
"sha256": "6f4e6de10f1d07bda695c629c67457bb0248eeb8ffa0c61a2742b8529274de30",
"size": 16384,
"repo_path": "bios/Sega/Master System/.variants/bios_U.sms.ee2c29ba",
"sha1": "c315672807d8ddb8d91443729405c766dd95cae7",
"sha256": "477617917a12a30f9f43844909dc2de6e6a617430f5c9a36306c86414a670d50",
"size": 8192,
"repo_path": "bios/Sega/Master System/SMS_us_1.3.sms",
"cores": [
"genesis_plus_gx",
"genesis_plus_gx_wide"
@@ -45910,7 +45910,7 @@
"sha1": "5cfb6bca4177c45fefd571734576b55e3a127c08",
"sha256": "ad392df2bd366a3412f186240a40dd6fd2750c96a1779ffae77cf10aa1faf7ee",
"size": 8192,
"repo_path": "bios/Other/zesarux/if1-v2.rom",
"repo_path": "bios/Sinclair/ZX Spectrum/if1-2.rom",
"cores": [
"fuse"
],
@@ -46044,7 +46044,7 @@
"sha1": "c315672807d8ddb8d91443729405c766dd95cae7",
"sha256": "477617917a12a30f9f43844909dc2de6e6a617430f5c9a36306c86414a670d50",
"size": 8192,
"repo_path": "bios/Other/zesarux/sms.rom",
"repo_path": "bios/Sega/Master System/SMS_us_1.3.sms",
"cores": [
"gearsystem",
"smsplus"
+16 -16
View File
@@ -6,7 +6,7 @@
"platform": "batocera",
"display_name": "Batocera",
"version": "43.1",
"generated": "2026-11-05T18:31:29Z",
"generated": "2026-11-05T18:33:47Z",
"base_destination": "bios",
"detect": [
{
@@ -273,9 +273,9 @@
}
],
"total_files": 14724,
"total_size": 9903386018,
"total_size": 9903123874,
"pack_files": 14726,
"pack_size": 9903386018,
"pack_size": 9903123874,
"total_omitted": 426,
"omitted_files": [
{
@@ -55328,7 +55328,7 @@
"sha1": "c315672807d8ddb8d91443729405c766dd95cae7",
"sha256": "477617917a12a30f9f43844909dc2de6e6a617430f5c9a36306c86414a670d50",
"size": 8192,
"repo_path": "bios/Other/zesarux/sms.rom",
"repo_path": "bios/Sega/Master System/SMS_us_1.3.sms",
"cores": [
"clk"
],
@@ -55945,7 +55945,7 @@
"sha1": "8cafb292af58617907b9e6b9093d3588a75849b8",
"sha256": "dae0690d8b433ea22b76b62520341f784071dbde0d02f50af0e3fd20fc6bca4a",
"size": 32768,
"repo_path": "bios/Other/zesarux/p2.rom",
"repo_path": "bios/Sinclair/ZX Spectrum/plus2.rom",
"cores": [
"clk"
]
@@ -55955,7 +55955,7 @@
"sha1": "929bf1a5e5687ebd8d7245f9b513a596c0ec21a4",
"sha256": "ee8218fa43ecb672ed45370114294228213a82318c6d1b007ec86bee3293d1f2",
"size": 65536,
"repo_path": "bios/Other/zesarux/p2a40.rom",
"repo_path": "bios/Sinclair/ZX Spectrum/plus3.rom",
"cores": [
"clk"
]
@@ -183068,7 +183068,7 @@
"sha1": "5cfb6bca4177c45fefd571734576b55e3a127c08",
"sha256": "ad392df2bd366a3412f186240a40dd6fd2750c96a1779ffae77cf10aa1faf7ee",
"size": 8192,
"repo_path": "bios/Other/zesarux/if1-v2.rom",
"repo_path": "bios/Sinclair/ZX Spectrum/if1-2.rom",
"cores": [
"fuse"
]
@@ -183148,7 +183148,7 @@
"sha1": "c315672807d8ddb8d91443729405c766dd95cae7",
"sha256": "477617917a12a30f9f43844909dc2de6e6a617430f5c9a36306c86414a670d50",
"size": 8192,
"repo_path": "bios/Other/zesarux/sms.rom",
"repo_path": "bios/Sega/Master System/SMS_us_1.3.sms",
"cores": [
"gearsystem",
"smsplus"
@@ -183169,10 +183169,10 @@
},
{
"dest": "bios_U.sms",
"sha1": "fc465122134d95363112eb51b9ab71db3576cefd",
"sha256": "6f4e6de10f1d07bda695c629c67457bb0248eeb8ffa0c61a2742b8529274de30",
"size": 16384,
"repo_path": "bios/Sega/Master System/.variants/bios_U.sms.ee2c29ba",
"sha1": "c315672807d8ddb8d91443729405c766dd95cae7",
"sha256": "477617917a12a30f9f43844909dc2de6e6a617430f5c9a36306c86414a670d50",
"size": 8192,
"repo_path": "bios/Sega/Master System/SMS_us_1.3.sms",
"cores": [
"genesis_plus_gx",
"genesis_plus_gx_expanded",
@@ -183190,10 +183190,10 @@
},
{
"dest": "bios_E.sms",
"sha1": "6aca0e3dffe461ba1cb11a86cd4caf5b97e1b8df",
"sha256": "c51ec80b7a609c5ee3d203ceee2b602ae4dfb4479caf15dc1d030c40c0364e93",
"size": 262144,
"repo_path": "bios/Sega/Master System/.variants/bios_E.sms.81c3476b",
"sha1": "c315672807d8ddb8d91443729405c766dd95cae7",
"sha256": "477617917a12a30f9f43844909dc2de6e6a617430f5c9a36306c86414a670d50",
"size": 8192,
"repo_path": "bios/Sega/Master System/SMS_us_1.3.sms",
"cores": [
"genesis_plus_gx",
"genesis_plus_gx_expanded",
+3 -3
View File
@@ -6,7 +6,7 @@
"platform": "bizhawk",
"display_name": "BizHawk",
"version": "2.11.1",
"generated": "2026-10-27T10:27:58Z",
"generated": "2026-11-05T18:33:47Z",
"base_destination": "Firmware",
"detect": [
{
@@ -1283,7 +1283,7 @@
"sha1": "c315672807d8ddb8d91443729405c766dd95cae7",
"sha256": "477617917a12a30f9f43844909dc2de6e6a617430f5c9a36306c86414a670d50",
"size": 8192,
"repo_path": "bios/Other/zesarux/sms.rom",
"repo_path": "bios/Sega/Master System/SMS_us_1.3.sms",
"cores": null,
"systems": [
"sega-master-system"
@@ -1437,7 +1437,7 @@
"sha1": "a584272f21dc82c14b7d4f1ed440e23a976e71f0",
"sha256": "7b88abff5964f0cf38481ac51bf035be2c01b8827569876b3d15eb3ac340fef3",
"size": 32768,
"repo_path": "bios/Other/zesarux/pentagon.rom",
"repo_path": "bios/Sinclair/ZX Spectrum/ZX_pentagon.rom",
"cores": null,
"systems": [
"sinclair-zx-spectrum"
+25 -27
View File
@@ -6,7 +6,7 @@
"platform": "emudeck",
"display_name": "EmuDeck",
"version": "2.7EA",
"generated": "2026-11-05T18:31:29Z",
"generated": "2026-11-05T18:33:47Z",
"base_destination": "bios",
"detect": [
{
@@ -4004,18 +4004,6 @@
"genesis_plus_gx_wide"
]
},
{
"dest": "bios_U.sms",
"sha1": "c315672807d8ddb8d91443729405c766dd95cae7",
"sha256": "477617917a12a30f9f43844909dc2de6e6a617430f5c9a36306c86414a670d50",
"size": 8192,
"repo_path": "bios/Other/zesarux/sms.rom",
"cores": [
"ares",
"genesis_plus_gx",
"genesis_plus_gx_wide"
]
},
{
"dest": "bios_J.sms",
"sha1": "a8c1b39a2e41137835eda6a5de6d46dd9fadbaf2",
@@ -4035,18 +4023,6 @@
"master-system"
]
},
{
"dest": "bios_E.sms",
"sha1": "c315672807d8ddb8d91443729405c766dd95cae7",
"sha256": "477617917a12a30f9f43844909dc2de6e6a617430f5c9a36306c86414a670d50",
"size": 8192,
"repo_path": "bios/Other/zesarux/sms.rom",
"cores": [
"ares",
"genesis_plus_gx",
"genesis_plus_gx_wide"
]
},
{
"dest": "SegaCDBIOS9303.bin",
"sha1": "5a8c4b91d3034c1448aac4b5dc9a6484fce51636",
@@ -20656,7 +20632,7 @@
"sha1": "c315672807d8ddb8d91443729405c766dd95cae7",
"sha256": "477617917a12a30f9f43844909dc2de6e6a617430f5c9a36306c86414a670d50",
"size": 8192,
"repo_path": "bios/Other/zesarux/sms.rom",
"repo_path": "bios/Sega/Master System/SMS_us_1.3.sms",
"cores": [
"mesence",
"emux_sms",
@@ -72656,7 +72632,7 @@
"sha1": "5cfb6bca4177c45fefd571734576b55e3a127c08",
"sha256": "ad392df2bd366a3412f186240a40dd6fd2750c96a1779ffae77cf10aa1faf7ee",
"size": 8192,
"repo_path": "bios/Other/zesarux/if1-v2.rom",
"repo_path": "bios/Sinclair/ZX Spectrum/if1-2.rom",
"cores": [
"fuse"
]
@@ -72831,6 +72807,28 @@
"geartowns"
]
},
{
"dest": "bios_U.sms",
"sha1": "c315672807d8ddb8d91443729405c766dd95cae7",
"sha256": "477617917a12a30f9f43844909dc2de6e6a617430f5c9a36306c86414a670d50",
"size": 8192,
"repo_path": "bios/Sega/Master System/SMS_us_1.3.sms",
"cores": [
"genesis_plus_gx",
"genesis_plus_gx_wide"
]
},
{
"dest": "bios_E.sms",
"sha1": "c315672807d8ddb8d91443729405c766dd95cae7",
"sha256": "477617917a12a30f9f43844909dc2de6e6a617430f5c9a36306c86414a670d50",
"size": 8192,
"repo_path": "bios/Sega/Master System/SMS_us_1.3.sms",
"cores": [
"genesis_plus_gx",
"genesis_plus_gx_wide"
]
},
{
"dest": "bios_MD.bin",
"sha1": "3f50b76b0529db7f79c396b5e808cc0786ffc311",
+13 -13
View File
@@ -6,7 +6,7 @@
"platform": "emuelec",
"display_name": "EmuELEC",
"version": "4.8",
"generated": "2026-11-05T18:31:29Z",
"generated": "2026-11-05T18:33:47Z",
"base_destination": "",
"detect": [
{
@@ -10385,17 +10385,17 @@
"sha1": "c315672807d8ddb8d91443729405c766dd95cae7",
"sha256": "477617917a12a30f9f43844909dc2de6e6a617430f5c9a36306c86414a670d50",
"size": 8192,
"repo_path": "bios/Other/zesarux/sms.rom",
"repo_path": "bios/Sega/Master System/SMS_us_1.3.sms",
"cores": null,
"systems": [
"sega-master-system"
],
"alternatives": [
{
"sha1": "6aca0e3dffe461ba1cb11a86cd4caf5b97e1b8df",
"sha256": "c51ec80b7a609c5ee3d203ceee2b602ae4dfb4479caf15dc1d030c40c0364e93",
"size": 262144,
"repo_path": "bios/Sega/Master System/.variants/bios_E.sms.81c3476b",
"sha1": "c315672807d8ddb8d91443729405c766dd95cae7",
"sha256": "477617917a12a30f9f43844909dc2de6e6a617430f5c9a36306c86414a670d50",
"size": 8192,
"repo_path": "bios/Sega/Master System/SMS_us_1.3.sms",
"cores": [
"genesis_plus_gx",
"genesis_plus_gx_wide"
@@ -10408,7 +10408,7 @@
"sha1": "c315672807d8ddb8d91443729405c766dd95cae7",
"sha256": "477617917a12a30f9f43844909dc2de6e6a617430f5c9a36306c86414a670d50",
"size": 8192,
"repo_path": "bios/Other/zesarux/sms.rom",
"repo_path": "bios/Sega/Master System/SMS_us_1.3.sms",
"cores": null,
"systems": [
"sega-master-system"
@@ -10424,10 +10424,10 @@
],
"alternatives": [
{
"sha1": "fc465122134d95363112eb51b9ab71db3576cefd",
"sha256": "6f4e6de10f1d07bda695c629c67457bb0248eeb8ffa0c61a2742b8529274de30",
"size": 16384,
"repo_path": "bios/Sega/Master System/.variants/bios_U.sms.ee2c29ba",
"sha1": "c315672807d8ddb8d91443729405c766dd95cae7",
"sha256": "477617917a12a30f9f43844909dc2de6e6a617430f5c9a36306c86414a670d50",
"size": 8192,
"repo_path": "bios/Sega/Master System/SMS_us_1.3.sms",
"cores": [
"genesis_plus_gx",
"genesis_plus_gx_wide"
@@ -50027,7 +50027,7 @@
"sha1": "5cfb6bca4177c45fefd571734576b55e3a127c08",
"sha256": "ad392df2bd366a3412f186240a40dd6fd2750c96a1779ffae77cf10aa1faf7ee",
"size": 8192,
"repo_path": "bios/Other/zesarux/if1-v2.rom",
"repo_path": "bios/Sinclair/ZX Spectrum/if1-2.rom",
"cores": [
"fuse"
]
@@ -50137,7 +50137,7 @@
"sha1": "c315672807d8ddb8d91443729405c766dd95cae7",
"sha256": "477617917a12a30f9f43844909dc2de6e6a617430f5c9a36306c86414a670d50",
"size": 8192,
"repo_path": "bios/Other/zesarux/sms.rom",
"repo_path": "bios/Sega/Master System/SMS_us_1.3.sms",
"cores": [
"gearsystem"
],
+16 -16
View File
@@ -6,7 +6,7 @@
"platform": "knulli",
"display_name": "KNULLI",
"version": "20260511",
"generated": "2026-11-05T18:31:29Z",
"generated": "2026-11-05T18:33:47Z",
"base_destination": "bios",
"detect": [
{
@@ -30,9 +30,9 @@
],
"standalone_copies": [],
"total_files": 9597,
"total_size": 9725842266,
"total_size": 9725580122,
"pack_files": 9599,
"pack_size": 9725842266,
"pack_size": 9725580122,
"total_omitted": 425,
"omitted_files": [
{
@@ -15672,7 +15672,7 @@
"sha1": "c315672807d8ddb8d91443729405c766dd95cae7",
"sha256": "477617917a12a30f9f43844909dc2de6e6a617430f5c9a36306c86414a670d50",
"size": 8192,
"repo_path": "bios/Other/zesarux/sms.rom",
"repo_path": "bios/Sega/Master System/SMS_us_1.3.sms",
"cores": [
"clk"
],
@@ -16293,7 +16293,7 @@
"sha1": "8cafb292af58617907b9e6b9093d3588a75849b8",
"sha256": "dae0690d8b433ea22b76b62520341f784071dbde0d02f50af0e3fd20fc6bca4a",
"size": 32768,
"repo_path": "bios/Other/zesarux/p2.rom",
"repo_path": "bios/Sinclair/ZX Spectrum/plus2.rom",
"cores": [
"clk"
]
@@ -16303,7 +16303,7 @@
"sha1": "929bf1a5e5687ebd8d7245f9b513a596c0ec21a4",
"sha256": "ee8218fa43ecb672ed45370114294228213a82318c6d1b007ec86bee3293d1f2",
"size": 65536,
"repo_path": "bios/Other/zesarux/p2a40.rom",
"repo_path": "bios/Sinclair/ZX Spectrum/plus3.rom",
"cores": [
"clk"
]
@@ -116508,7 +116508,7 @@
"sha1": "5cfb6bca4177c45fefd571734576b55e3a127c08",
"sha256": "ad392df2bd366a3412f186240a40dd6fd2750c96a1779ffae77cf10aa1faf7ee",
"size": 8192,
"repo_path": "bios/Other/zesarux/if1-v2.rom",
"repo_path": "bios/Sinclair/ZX Spectrum/if1-2.rom",
"cores": [
"fuse"
]
@@ -116614,7 +116614,7 @@
"sha1": "c315672807d8ddb8d91443729405c766dd95cae7",
"sha256": "477617917a12a30f9f43844909dc2de6e6a617430f5c9a36306c86414a670d50",
"size": 8192,
"repo_path": "bios/Other/zesarux/sms.rom",
"repo_path": "bios/Sega/Master System/SMS_us_1.3.sms",
"cores": [
"gearsystem",
"smsplus"
@@ -116635,10 +116635,10 @@
},
{
"dest": "bios_U.sms",
"sha1": "fc465122134d95363112eb51b9ab71db3576cefd",
"sha256": "6f4e6de10f1d07bda695c629c67457bb0248eeb8ffa0c61a2742b8529274de30",
"size": 16384,
"repo_path": "bios/Sega/Master System/.variants/bios_U.sms.ee2c29ba",
"sha1": "c315672807d8ddb8d91443729405c766dd95cae7",
"sha256": "477617917a12a30f9f43844909dc2de6e6a617430f5c9a36306c86414a670d50",
"size": 8192,
"repo_path": "bios/Sega/Master System/SMS_us_1.3.sms",
"cores": [
"genesis_plus_gx",
"genesis_plus_gx_expanded",
@@ -116656,10 +116656,10 @@
},
{
"dest": "bios_E.sms",
"sha1": "6aca0e3dffe461ba1cb11a86cd4caf5b97e1b8df",
"sha256": "c51ec80b7a609c5ee3d203ceee2b602ae4dfb4479caf15dc1d030c40c0364e93",
"size": 262144,
"repo_path": "bios/Sega/Master System/.variants/bios_E.sms.81c3476b",
"sha1": "c315672807d8ddb8d91443729405c766dd95cae7",
"sha256": "477617917a12a30f9f43844909dc2de6e6a617430f5c9a36306c86414a670d50",
"size": 8192,
"repo_path": "bios/Sega/Master System/SMS_us_1.3.sms",
"cores": [
"genesis_plus_gx",
"genesis_plus_gx_expanded",
+16 -16
View File
@@ -6,7 +6,7 @@
"platform": "lakka",
"display_name": "Lakka",
"version": "v6.1",
"generated": "2026-11-05T18:31:29Z",
"generated": "2026-11-05T18:33:47Z",
"base_destination": "system",
"detect": [
{
@@ -9424,7 +9424,7 @@
"sha1": "c315672807d8ddb8d91443729405c766dd95cae7",
"sha256": "477617917a12a30f9f43844909dc2de6e6a617430f5c9a36306c86414a670d50",
"size": 8192,
"repo_path": "bios/Other/zesarux/sms.rom",
"repo_path": "bios/Sega/Master System/SMS_us_1.3.sms",
"cores": null,
"systems": [
"sega-master-system"
@@ -9434,7 +9434,7 @@
"sha1": "c315672807d8ddb8d91443729405c766dd95cae7",
"sha256": "477617917a12a30f9f43844909dc2de6e6a617430f5c9a36306c86414a670d50",
"size": 8192,
"repo_path": "bios/Other/zesarux/sms.rom",
"repo_path": "bios/Sega/Master System/SMS_us_1.3.sms",
"cores": [
"emux_sms",
"gearsystem",
@@ -9449,17 +9449,17 @@
"sha1": "c315672807d8ddb8d91443729405c766dd95cae7",
"sha256": "477617917a12a30f9f43844909dc2de6e6a617430f5c9a36306c86414a670d50",
"size": 8192,
"repo_path": "bios/Other/zesarux/sms.rom",
"repo_path": "bios/Sega/Master System/SMS_us_1.3.sms",
"cores": null,
"systems": [
"sega-master-system"
],
"alternatives": [
{
"sha1": "6aca0e3dffe461ba1cb11a86cd4caf5b97e1b8df",
"sha256": "c51ec80b7a609c5ee3d203ceee2b602ae4dfb4479caf15dc1d030c40c0364e93",
"size": 262144,
"repo_path": "bios/Sega/Master System/.variants/bios_E.sms.81c3476b",
"sha1": "c315672807d8ddb8d91443729405c766dd95cae7",
"sha256": "477617917a12a30f9f43844909dc2de6e6a617430f5c9a36306c86414a670d50",
"size": 8192,
"repo_path": "bios/Sega/Master System/SMS_us_1.3.sms",
"cores": [
"genesis_plus_gx",
"genesis_plus_gx_wide"
@@ -9504,7 +9504,7 @@
"sha1": "c315672807d8ddb8d91443729405c766dd95cae7",
"sha256": "477617917a12a30f9f43844909dc2de6e6a617430f5c9a36306c86414a670d50",
"size": 8192,
"repo_path": "bios/Other/zesarux/sms.rom",
"repo_path": "bios/Sega/Master System/SMS_us_1.3.sms",
"cores": null,
"systems": [
"sega-master-system"
@@ -9523,10 +9523,10 @@
],
"alternatives": [
{
"sha1": "fc465122134d95363112eb51b9ab71db3576cefd",
"sha256": "6f4e6de10f1d07bda695c629c67457bb0248eeb8ffa0c61a2742b8529274de30",
"size": 16384,
"repo_path": "bios/Sega/Master System/.variants/bios_U.sms.ee2c29ba",
"sha1": "c315672807d8ddb8d91443729405c766dd95cae7",
"sha256": "477617917a12a30f9f43844909dc2de6e6a617430f5c9a36306c86414a670d50",
"size": 8192,
"repo_path": "bios/Sega/Master System/SMS_us_1.3.sms",
"cores": [
"genesis_plus_gx",
"genesis_plus_gx_wide"
@@ -10260,7 +10260,7 @@
"sha1": "4ffd9ed9c00cdc6f92ce69fdd8b618ef1203f48e",
"sha256": "6bb2eb282723e539f627a33002c2c31b633b4d3b712755f28696f0c4e49470f2",
"size": 8192,
"repo_path": "bios/Other/zesarux/if1-v1.rom",
"repo_path": "bios/Sinclair/ZX Spectrum/if1-1.rom",
"cores": null,
"systems": [
"sinclair-zx-spectrum"
@@ -10271,7 +10271,7 @@
"sha1": "5cfb6bca4177c45fefd571734576b55e3a127c08",
"sha256": "ad392df2bd366a3412f186240a40dd6fd2750c96a1779ffae77cf10aa1faf7ee",
"size": 8192,
"repo_path": "bios/Other/zesarux/if1-v2.rom",
"repo_path": "bios/Sinclair/ZX Spectrum/if1-2.rom",
"cores": null,
"systems": [
"sinclair-zx-spectrum"
@@ -87792,7 +87792,7 @@
"sha1": "5cfb6bca4177c45fefd571734576b55e3a127c08",
"sha256": "ad392df2bd366a3412f186240a40dd6fd2750c96a1779ffae77cf10aa1faf7ee",
"size": 8192,
"repo_path": "bios/Other/zesarux/if1-v2.rom",
"repo_path": "bios/Sinclair/ZX Spectrum/if1-2.rom",
"cores": [
"fuse"
],
+2 -2
View File
@@ -6,7 +6,7 @@
"platform": "myminui",
"display_name": "MyMinUI",
"version": "2026-08-09",
"generated": "2026-11-03T13:36:34Z",
"generated": "2026-11-05T18:33:47Z",
"base_destination": "",
"detect": [
{
@@ -1002,7 +1002,7 @@
"sha1": "5cfb6bca4177c45fefd571734576b55e3a127c08",
"sha256": "ad392df2bd366a3412f186240a40dd6fd2750c96a1779ffae77cf10aa1faf7ee",
"size": 8192,
"repo_path": "bios/Other/zesarux/if1-v2.rom",
"repo_path": "bios/Sinclair/ZX Spectrum/if1-2.rom",
"cores": [
"fuse"
]
+15 -15
View File
@@ -6,7 +6,7 @@
"platform": "recalbox",
"display_name": "Recalbox",
"version": "10.1.1",
"generated": "2026-11-05T12:13:24Z",
"generated": "2026-11-05T18:33:47Z",
"base_destination": "bios",
"detect": [
{
@@ -280,9 +280,9 @@
}
],
"total_files": 3743,
"total_size": 4682430801,
"total_size": 4682168657,
"pack_files": 3745,
"pack_size": 4682430801,
"pack_size": 4682168657,
"total_omitted": 62,
"omitted_files": [
{
@@ -5681,7 +5681,7 @@
"sha1": "c315672807d8ddb8d91443729405c766dd95cae7",
"sha256": "477617917a12a30f9f43844909dc2de6e6a617430f5c9a36306c86414a670d50",
"size": 8192,
"repo_path": "bios/Other/zesarux/sms.rom",
"repo_path": "bios/Sega/Master System/SMS_us_1.3.sms",
"cores": null,
"systems": [
"sega-master-system"
@@ -5692,7 +5692,7 @@
"sha1": "c315672807d8ddb8d91443729405c766dd95cae7",
"sha256": "477617917a12a30f9f43844909dc2de6e6a617430f5c9a36306c86414a670d50",
"size": 8192,
"repo_path": "bios/Other/zesarux/sms.rom",
"repo_path": "bios/Sega/Master System/SMS_us_1.3.sms",
"cores": null,
"systems": [
"sega-master-system"
@@ -40151,7 +40151,7 @@
"sha1": "5cfb6bca4177c45fefd571734576b55e3a127c08",
"sha256": "ad392df2bd366a3412f186240a40dd6fd2750c96a1779ffae77cf10aa1faf7ee",
"size": 8192,
"repo_path": "bios/Other/zesarux/if1-v2.rom",
"repo_path": "bios/Sinclair/ZX Spectrum/if1-2.rom",
"cores": [
"fuse"
],
@@ -40255,7 +40255,7 @@
"sha1": "c315672807d8ddb8d91443729405c766dd95cae7",
"sha256": "477617917a12a30f9f43844909dc2de6e6a617430f5c9a36306c86414a670d50",
"size": 8192,
"repo_path": "bios/Other/zesarux/sms.rom",
"repo_path": "bios/Sega/Master System/SMS_us_1.3.sms",
"cores": [
"gearsystem"
],
@@ -45545,10 +45545,10 @@
},
{
"dest": "bios_U.sms",
"sha1": "fc465122134d95363112eb51b9ab71db3576cefd",
"sha256": "6f4e6de10f1d07bda695c629c67457bb0248eeb8ffa0c61a2742b8529274de30",
"size": 16384,
"repo_path": "bios/Sega/Master System/.variants/bios_U.sms.ee2c29ba",
"sha1": "c315672807d8ddb8d91443729405c766dd95cae7",
"sha256": "477617917a12a30f9f43844909dc2de6e6a617430f5c9a36306c86414a670d50",
"size": 8192,
"repo_path": "bios/Sega/Master System/SMS_us_1.3.sms",
"cores": [
"genesis_plus_gx",
"genesis_plus_gx_wide"
@@ -45568,10 +45568,10 @@
},
{
"dest": "bios_E.sms",
"sha1": "6aca0e3dffe461ba1cb11a86cd4caf5b97e1b8df",
"sha256": "c51ec80b7a609c5ee3d203ceee2b602ae4dfb4479caf15dc1d030c40c0364e93",
"size": 262144,
"repo_path": "bios/Sega/Master System/.variants/bios_E.sms.81c3476b",
"sha1": "c315672807d8ddb8d91443729405c766dd95cae7",
"sha256": "477617917a12a30f9f43844909dc2de6e6a617430f5c9a36306c86414a670d50",
"size": 8192,
"repo_path": "bios/Sega/Master System/SMS_us_1.3.sms",
"cores": [
"genesis_plus_gx",
"genesis_plus_gx_wide"
+16 -16
View File
@@ -6,7 +6,7 @@
"platform": "retroarch",
"display_name": "RetroArch",
"version": "v1.22.2",
"generated": "2026-11-05T18:31:29Z",
"generated": "2026-11-05T18:33:47Z",
"base_destination": "system",
"detect": [
{
@@ -10286,7 +10286,7 @@
"sha1": "c315672807d8ddb8d91443729405c766dd95cae7",
"sha256": "477617917a12a30f9f43844909dc2de6e6a617430f5c9a36306c86414a670d50",
"size": 8192,
"repo_path": "bios/Other/zesarux/sms.rom",
"repo_path": "bios/Sega/Master System/SMS_us_1.3.sms",
"cores": null,
"systems": [
"sega-master-system"
@@ -10296,7 +10296,7 @@
"sha1": "c315672807d8ddb8d91443729405c766dd95cae7",
"sha256": "477617917a12a30f9f43844909dc2de6e6a617430f5c9a36306c86414a670d50",
"size": 8192,
"repo_path": "bios/Other/zesarux/sms.rom",
"repo_path": "bios/Sega/Master System/SMS_us_1.3.sms",
"cores": [
"emux_sms",
"gearsystem",
@@ -10311,17 +10311,17 @@
"sha1": "c315672807d8ddb8d91443729405c766dd95cae7",
"sha256": "477617917a12a30f9f43844909dc2de6e6a617430f5c9a36306c86414a670d50",
"size": 8192,
"repo_path": "bios/Other/zesarux/sms.rom",
"repo_path": "bios/Sega/Master System/SMS_us_1.3.sms",
"cores": null,
"systems": [
"sega-master-system"
],
"alternatives": [
{
"sha1": "6aca0e3dffe461ba1cb11a86cd4caf5b97e1b8df",
"sha256": "c51ec80b7a609c5ee3d203ceee2b602ae4dfb4479caf15dc1d030c40c0364e93",
"size": 262144,
"repo_path": "bios/Sega/Master System/.variants/bios_E.sms.81c3476b",
"sha1": "c315672807d8ddb8d91443729405c766dd95cae7",
"sha256": "477617917a12a30f9f43844909dc2de6e6a617430f5c9a36306c86414a670d50",
"size": 8192,
"repo_path": "bios/Sega/Master System/SMS_us_1.3.sms",
"cores": [
"genesis_plus_gx",
"genesis_plus_gx_wide"
@@ -10366,7 +10366,7 @@
"sha1": "c315672807d8ddb8d91443729405c766dd95cae7",
"sha256": "477617917a12a30f9f43844909dc2de6e6a617430f5c9a36306c86414a670d50",
"size": 8192,
"repo_path": "bios/Other/zesarux/sms.rom",
"repo_path": "bios/Sega/Master System/SMS_us_1.3.sms",
"cores": null,
"systems": [
"sega-master-system"
@@ -10385,10 +10385,10 @@
],
"alternatives": [
{
"sha1": "fc465122134d95363112eb51b9ab71db3576cefd",
"sha256": "6f4e6de10f1d07bda695c629c67457bb0248eeb8ffa0c61a2742b8529274de30",
"size": 16384,
"repo_path": "bios/Sega/Master System/.variants/bios_U.sms.ee2c29ba",
"sha1": "c315672807d8ddb8d91443729405c766dd95cae7",
"sha256": "477617917a12a30f9f43844909dc2de6e6a617430f5c9a36306c86414a670d50",
"size": 8192,
"repo_path": "bios/Sega/Master System/SMS_us_1.3.sms",
"cores": [
"genesis_plus_gx",
"genesis_plus_gx_wide"
@@ -11122,7 +11122,7 @@
"sha1": "4ffd9ed9c00cdc6f92ce69fdd8b618ef1203f48e",
"sha256": "6bb2eb282723e539f627a33002c2c31b633b4d3b712755f28696f0c4e49470f2",
"size": 8192,
"repo_path": "bios/Other/zesarux/if1-v1.rom",
"repo_path": "bios/Sinclair/ZX Spectrum/if1-1.rom",
"cores": null,
"systems": [
"sinclair-zx-spectrum"
@@ -11133,7 +11133,7 @@
"sha1": "5cfb6bca4177c45fefd571734576b55e3a127c08",
"sha256": "ad392df2bd366a3412f186240a40dd6fd2750c96a1779ffae77cf10aa1faf7ee",
"size": 8192,
"repo_path": "bios/Other/zesarux/if1-v2.rom",
"repo_path": "bios/Sinclair/ZX Spectrum/if1-2.rom",
"cores": null,
"systems": [
"sinclair-zx-spectrum"
@@ -88722,7 +88722,7 @@
"sha1": "5cfb6bca4177c45fefd571734576b55e3a127c08",
"sha256": "ad392df2bd366a3412f186240a40dd6fd2750c96a1779ffae77cf10aa1faf7ee",
"size": 8192,
"repo_path": "bios/Other/zesarux/if1-v2.rom",
"repo_path": "bios/Sinclair/ZX Spectrum/if1-2.rom",
"cores": [
"fuse"
],
+8 -8
View File
@@ -6,7 +6,7 @@
"platform": "retrobat",
"display_name": "RetroBat",
"version": "8.3.1",
"generated": "2026-11-05T18:31:29Z",
"generated": "2026-11-05T18:33:47Z",
"base_destination": "bios",
"detect": [
{
@@ -9271,7 +9271,7 @@
"sha1": "c315672807d8ddb8d91443729405c766dd95cae7",
"sha256": "477617917a12a30f9f43844909dc2de6e6a617430f5c9a36306c86414a670d50",
"size": 8192,
"repo_path": "bios/Other/zesarux/sms.rom",
"repo_path": "bios/Sega/Master System/SMS_us_1.3.sms",
"cores": null,
"systems": [
"sega-master-system"
@@ -15961,7 +15961,7 @@
"sha1": "c315672807d8ddb8d91443729405c766dd95cae7",
"sha256": "477617917a12a30f9f43844909dc2de6e6a617430f5c9a36306c86414a670d50",
"size": 8192,
"repo_path": "bios/Other/zesarux/sms.rom",
"repo_path": "bios/Sega/Master System/SMS_us_1.3.sms",
"cores": [
"ares",
"genesis_plus_gx",
@@ -16002,7 +16002,7 @@
"sha1": "c315672807d8ddb8d91443729405c766dd95cae7",
"sha256": "477617917a12a30f9f43844909dc2de6e6a617430f5c9a36306c86414a670d50",
"size": 8192,
"repo_path": "bios/Other/zesarux/sms.rom",
"repo_path": "bios/Sega/Master System/SMS_us_1.3.sms",
"cores": [
"ares",
"genesis_plus_gx",
@@ -18059,7 +18059,7 @@
"sha1": "c315672807d8ddb8d91443729405c766dd95cae7",
"sha256": "477617917a12a30f9f43844909dc2de6e6a617430f5c9a36306c86414a670d50",
"size": 8192,
"repo_path": "bios/Other/zesarux/sms.rom",
"repo_path": "bios/Sega/Master System/SMS_us_1.3.sms",
"cores": [
"bizhawk"
],
@@ -18477,7 +18477,7 @@
"sha1": "a584272f21dc82c14b7d4f1ed440e23a976e71f0",
"sha256": "7b88abff5964f0cf38481ac51bf035be2c01b8827569876b3d15eb3ac340fef3",
"size": 32768,
"repo_path": "bios/Other/zesarux/pentagon.rom",
"repo_path": "bios/Sinclair/ZX Spectrum/ZX_pentagon.rom",
"cores": [
"bizhawk"
]
@@ -49135,7 +49135,7 @@
"sha1": "5cfb6bca4177c45fefd571734576b55e3a127c08",
"sha256": "ad392df2bd366a3412f186240a40dd6fd2750c96a1779ffae77cf10aa1faf7ee",
"size": 8192,
"repo_path": "bios/Other/zesarux/if1-v2.rom",
"repo_path": "bios/Sinclair/ZX Spectrum/if1-2.rom",
"cores": [
"fuse"
]
@@ -49225,7 +49225,7 @@
"sha1": "c315672807d8ddb8d91443729405c766dd95cae7",
"sha256": "477617917a12a30f9f43844909dc2de6e6a617430f5c9a36306c86414a670d50",
"size": 8192,
"repo_path": "bios/Other/zesarux/sms.rom",
"repo_path": "bios/Sega/Master System/SMS_us_1.3.sms",
"cores": [
"gearsystem",
"jgenesis"
+16 -16
View File
@@ -6,7 +6,7 @@
"platform": "retrodeck",
"display_name": "RetroDECK",
"version": "0.10.10b",
"generated": "2026-11-05T18:31:29Z",
"generated": "2026-11-05T18:33:47Z",
"base_destination": "",
"detect": [
{
@@ -293,9 +293,9 @@
}
],
"total_files": 8906,
"total_size": 9020105094,
"total_size": 9019842950,
"pack_files": 8908,
"pack_size": 9020105094,
"pack_size": 9019842950,
"total_omitted": 66,
"omitted_files": [
{
@@ -39082,7 +39082,7 @@
"sha1": "c315672807d8ddb8d91443729405c766dd95cae7",
"sha256": "477617917a12a30f9f43844909dc2de6e6a617430f5c9a36306c86414a670d50",
"size": 8192,
"repo_path": "bios/Other/zesarux/sms.rom",
"repo_path": "bios/Sega/Master System/SMS_us_1.3.sms",
"cores": null,
"systems": [
"sega-master-system"
@@ -39092,7 +39092,7 @@
"sha1": "c315672807d8ddb8d91443729405c766dd95cae7",
"sha256": "477617917a12a30f9f43844909dc2de6e6a617430f5c9a36306c86414a670d50",
"size": 8192,
"repo_path": "bios/Other/zesarux/sms.rom",
"repo_path": "bios/Sega/Master System/SMS_us_1.3.sms",
"cores": [
"emux_sms",
"gearsystem",
@@ -39760,7 +39760,7 @@
"sha1": "5cfb6bca4177c45fefd571734576b55e3a127c08",
"sha256": "ad392df2bd366a3412f186240a40dd6fd2750c96a1779ffae77cf10aa1faf7ee",
"size": 8192,
"repo_path": "bios/Other/zesarux/if1-v2.rom",
"repo_path": "bios/Sinclair/ZX Spectrum/if1-2.rom",
"cores": null,
"systems": [
"sinclair-zx-spectrum"
@@ -39771,7 +39771,7 @@
"sha1": "4ffd9ed9c00cdc6f92ce69fdd8b618ef1203f48e",
"sha256": "6bb2eb282723e539f627a33002c2c31b633b4d3b712755f28696f0c4e49470f2",
"size": 8192,
"repo_path": "bios/Other/zesarux/if1-v1.rom",
"repo_path": "bios/Sinclair/ZX Spectrum/if1-1.rom",
"cores": null,
"systems": [
"sinclair-zx-spectrum"
@@ -122557,7 +122557,7 @@
"sha1": "5cfb6bca4177c45fefd571734576b55e3a127c08",
"sha256": "ad392df2bd366a3412f186240a40dd6fd2750c96a1779ffae77cf10aa1faf7ee",
"size": 8192,
"repo_path": "bios/Other/zesarux/if1-v2.rom",
"repo_path": "bios/Sinclair/ZX Spectrum/if1-2.rom",
"cores": [
"fuse"
],
@@ -122774,10 +122774,10 @@
},
{
"dest": "bios/bios_U.sms",
"sha1": "fc465122134d95363112eb51b9ab71db3576cefd",
"sha256": "6f4e6de10f1d07bda695c629c67457bb0248eeb8ffa0c61a2742b8529274de30",
"size": 16384,
"repo_path": "bios/Sega/Master System/.variants/bios_U.sms.ee2c29ba",
"sha1": "c315672807d8ddb8d91443729405c766dd95cae7",
"sha256": "477617917a12a30f9f43844909dc2de6e6a617430f5c9a36306c86414a670d50",
"size": 8192,
"repo_path": "bios/Sega/Master System/SMS_us_1.3.sms",
"cores": [
"genesis_plus_gx",
"genesis_plus_gx_wide"
@@ -122797,10 +122797,10 @@
},
{
"dest": "bios/bios_E.sms",
"sha1": "6aca0e3dffe461ba1cb11a86cd4caf5b97e1b8df",
"sha256": "c51ec80b7a609c5ee3d203ceee2b602ae4dfb4479caf15dc1d030c40c0364e93",
"size": 262144,
"repo_path": "bios/Sega/Master System/.variants/bios_E.sms.81c3476b",
"sha1": "c315672807d8ddb8d91443729405c766dd95cae7",
"sha256": "477617917a12a30f9f43844909dc2de6e6a617430f5c9a36306c86414a670d50",
"size": 8192,
"repo_path": "bios/Sega/Master System/SMS_us_1.3.sms",
"cores": [
"genesis_plus_gx",
"genesis_plus_gx_wide"
+16 -16
View File
@@ -6,7 +6,7 @@
"platform": "retropie",
"display_name": "RetroPie",
"version": "4.8.12",
"generated": "2026-11-05T18:31:29Z",
"generated": "2026-11-05T18:33:47Z",
"base_destination": "BIOS",
"detect": [
{
@@ -12924,7 +12924,7 @@
"sha1": "c315672807d8ddb8d91443729405c766dd95cae7",
"sha256": "477617917a12a30f9f43844909dc2de6e6a617430f5c9a36306c86414a670d50",
"size": 8192,
"repo_path": "bios/Other/zesarux/sms.rom",
"repo_path": "bios/Sega/Master System/SMS_us_1.3.sms",
"cores": null,
"systems": [
"sega-master-system"
@@ -12934,7 +12934,7 @@
"sha1": "c315672807d8ddb8d91443729405c766dd95cae7",
"sha256": "477617917a12a30f9f43844909dc2de6e6a617430f5c9a36306c86414a670d50",
"size": 8192,
"repo_path": "bios/Other/zesarux/sms.rom",
"repo_path": "bios/Sega/Master System/SMS_us_1.3.sms",
"cores": [
"emux_sms",
"gearsystem",
@@ -12949,17 +12949,17 @@
"sha1": "c315672807d8ddb8d91443729405c766dd95cae7",
"sha256": "477617917a12a30f9f43844909dc2de6e6a617430f5c9a36306c86414a670d50",
"size": 8192,
"repo_path": "bios/Other/zesarux/sms.rom",
"repo_path": "bios/Sega/Master System/SMS_us_1.3.sms",
"cores": null,
"systems": [
"sega-master-system"
],
"alternatives": [
{
"sha1": "6aca0e3dffe461ba1cb11a86cd4caf5b97e1b8df",
"sha256": "c51ec80b7a609c5ee3d203ceee2b602ae4dfb4479caf15dc1d030c40c0364e93",
"size": 262144,
"repo_path": "bios/Sega/Master System/.variants/bios_E.sms.81c3476b",
"sha1": "c315672807d8ddb8d91443729405c766dd95cae7",
"sha256": "477617917a12a30f9f43844909dc2de6e6a617430f5c9a36306c86414a670d50",
"size": 8192,
"repo_path": "bios/Sega/Master System/SMS_us_1.3.sms",
"cores": [
"genesis_plus_gx",
"genesis_plus_gx_wide"
@@ -13004,7 +13004,7 @@
"sha1": "c315672807d8ddb8d91443729405c766dd95cae7",
"sha256": "477617917a12a30f9f43844909dc2de6e6a617430f5c9a36306c86414a670d50",
"size": 8192,
"repo_path": "bios/Other/zesarux/sms.rom",
"repo_path": "bios/Sega/Master System/SMS_us_1.3.sms",
"cores": null,
"systems": [
"sega-master-system"
@@ -13023,10 +13023,10 @@
],
"alternatives": [
{
"sha1": "fc465122134d95363112eb51b9ab71db3576cefd",
"sha256": "6f4e6de10f1d07bda695c629c67457bb0248eeb8ffa0c61a2742b8529274de30",
"size": 16384,
"repo_path": "bios/Sega/Master System/.variants/bios_U.sms.ee2c29ba",
"sha1": "c315672807d8ddb8d91443729405c766dd95cae7",
"sha256": "477617917a12a30f9f43844909dc2de6e6a617430f5c9a36306c86414a670d50",
"size": 8192,
"repo_path": "bios/Sega/Master System/SMS_us_1.3.sms",
"cores": [
"genesis_plus_gx",
"genesis_plus_gx_wide"
@@ -13757,7 +13757,7 @@
"sha1": "4ffd9ed9c00cdc6f92ce69fdd8b618ef1203f48e",
"sha256": "6bb2eb282723e539f627a33002c2c31b633b4d3b712755f28696f0c4e49470f2",
"size": 8192,
"repo_path": "bios/Other/zesarux/if1-v1.rom",
"repo_path": "bios/Sinclair/ZX Spectrum/if1-1.rom",
"cores": null,
"systems": [
"sinclair-zx-spectrum"
@@ -13768,7 +13768,7 @@
"sha1": "5cfb6bca4177c45fefd571734576b55e3a127c08",
"sha256": "ad392df2bd366a3412f186240a40dd6fd2750c96a1779ffae77cf10aa1faf7ee",
"size": 8192,
"repo_path": "bios/Other/zesarux/if1-v2.rom",
"repo_path": "bios/Sinclair/ZX Spectrum/if1-2.rom",
"cores": null,
"systems": [
"sinclair-zx-spectrum"
@@ -93269,7 +93269,7 @@
"sha1": "5cfb6bca4177c45fefd571734576b55e3a127c08",
"sha256": "ad392df2bd366a3412f186240a40dd6fd2750c96a1779ffae77cf10aa1faf7ee",
"size": 8192,
"repo_path": "bios/Other/zesarux/if1-v2.rom",
"repo_path": "bios/Sinclair/ZX Spectrum/if1-2.rom",
"cores": [
"fuse"
],
+6 -6
View File
@@ -6,7 +6,7 @@
"platform": "rocknix",
"display_name": "ROCKNIX",
"version": "20261001",
"generated": "2026-11-05T18:31:29Z",
"generated": "2026-11-05T18:33:47Z",
"base_destination": "bios",
"detect": [
{
@@ -2480,7 +2480,7 @@
"sha1": "c315672807d8ddb8d91443729405c766dd95cae7",
"sha256": "477617917a12a30f9f43844909dc2de6e6a617430f5c9a36306c86414a670d50",
"size": 8192,
"repo_path": "bios/Other/zesarux/sms.rom",
"repo_path": "bios/Sega/Master System/SMS_us_1.3.sms",
"cores": null,
"systems": [
"sega-master-system"
@@ -2490,7 +2490,7 @@
"sha1": "c315672807d8ddb8d91443729405c766dd95cae7",
"sha256": "477617917a12a30f9f43844909dc2de6e6a617430f5c9a36306c86414a670d50",
"size": 8192,
"repo_path": "bios/Other/zesarux/sms.rom",
"repo_path": "bios/Sega/Master System/SMS_us_1.3.sms",
"cores": [
"emux_sms",
"gearsystem",
@@ -4995,7 +4995,7 @@
"sha1": "c315672807d8ddb8d91443729405c766dd95cae7",
"sha256": "477617917a12a30f9f43844909dc2de6e6a617430f5c9a36306c86414a670d50",
"size": 8192,
"repo_path": "bios/Other/zesarux/sms.rom",
"repo_path": "bios/Sega/Master System/SMS_us_1.3.sms",
"cores": [
"ares",
"genesis_plus_gx",
@@ -5032,7 +5032,7 @@
"sha1": "c315672807d8ddb8d91443729405c766dd95cae7",
"sha256": "477617917a12a30f9f43844909dc2de6e6a617430f5c9a36306c86414a670d50",
"size": 8192,
"repo_path": "bios/Other/zesarux/sms.rom",
"repo_path": "bios/Sega/Master System/SMS_us_1.3.sms",
"cores": [
"ares",
"genesis_plus_gx",
@@ -58501,7 +58501,7 @@
"sha1": "5cfb6bca4177c45fefd571734576b55e3a127c08",
"sha256": "ad392df2bd366a3412f186240a40dd6fd2750c96a1779ffae77cf10aa1faf7ee",
"size": 8192,
"repo_path": "bios/Other/zesarux/if1-v2.rom",
"repo_path": "bios/Sinclair/ZX Spectrum/if1-2.rom",
"cores": [
"fuse"
]
+6 -6
View File
@@ -6,7 +6,7 @@
"platform": "romm",
"display_name": "RomM",
"version": "5.4.0",
"generated": "2026-11-05T18:31:29Z",
"generated": "2026-11-05T18:33:47Z",
"base_destination": "bios",
"detect": [
{
@@ -11675,7 +11675,7 @@
"sha1": "c315672807d8ddb8d91443729405c766dd95cae7",
"sha256": "477617917a12a30f9f43844909dc2de6e6a617430f5c9a36306c86414a670d50",
"size": 8192,
"repo_path": "bios/Other/zesarux/sms.rom",
"repo_path": "bios/Sega/Master System/SMS_us_1.3.sms",
"cores": null,
"systems": [
"sega-master-system"
@@ -11686,7 +11686,7 @@
"sha1": "c315672807d8ddb8d91443729405c766dd95cae7",
"sha256": "477617917a12a30f9f43844909dc2de6e6a617430f5c9a36306c86414a670d50",
"size": 8192,
"repo_path": "bios/Other/zesarux/sms.rom",
"repo_path": "bios/Sega/Master System/SMS_us_1.3.sms",
"cores": null,
"systems": [
"sega-master-system"
@@ -11714,7 +11714,7 @@
"sha1": "c315672807d8ddb8d91443729405c766dd95cae7",
"sha256": "477617917a12a30f9f43844909dc2de6e6a617430f5c9a36306c86414a670d50",
"size": 8192,
"repo_path": "bios/Other/zesarux/sms.rom",
"repo_path": "bios/Sega/Master System/SMS_us_1.3.sms",
"cores": null,
"systems": [
"sega-master-system"
@@ -12205,7 +12205,7 @@
"sha1": "4ffd9ed9c00cdc6f92ce69fdd8b618ef1203f48e",
"sha256": "6bb2eb282723e539f627a33002c2c31b633b4d3b712755f28696f0c4e49470f2",
"size": 8192,
"repo_path": "bios/Other/zesarux/if1-v1.rom",
"repo_path": "bios/Sinclair/ZX Spectrum/if1-1.rom",
"cores": null,
"systems": [
"sinclair-zx-spectrum"
@@ -12216,7 +12216,7 @@
"sha1": "5cfb6bca4177c45fefd571734576b55e3a127c08",
"sha256": "ad392df2bd366a3412f186240a40dd6fd2750c96a1779ffae77cf10aa1faf7ee",
"size": 8192,
"repo_path": "bios/Other/zesarux/if1-v2.rom",
"repo_path": "bios/Sinclair/ZX Spectrum/if1-2.rom",
"cores": null,
"systems": [
"sinclair-zx-spectrum"
+32 -8
View File
@@ -106,6 +106,27 @@ def _settled_hashes(
)
def _emulator_tree(path: str) -> bool:
"""Whether a path lies in one emulator's own tree, bios/Other/<emulator>/."""
parts = path.replace("\\", "/").split("/")
return len(parts) > 3 and parts[1] == "Other"
def _takes_primary(current: str, candidate: str) -> bool:
"""Whether another copy of the same bytes becomes the content's path.
A .variants/ copy yields to any other one. A copy in an emulator's own
tree yields to one filed under its machine: ZEsarUX's sms.rom sorted
before bios/Sega/Master System/, the resolver set it aside as another
emulator's file, and Genesis Plus GX got a variant instead of v1.3.
"""
if "/.variants/" in candidate.replace("\\", "/"):
return False
if "/.variants/" in current:
return True
return _emulator_tree(current) and not _emulator_tree(candidate)
def scan_bios_dir(bios_dir: Path, cache: dict, force: bool) -> tuple[dict, dict, dict]:
"""Scan bios directory and compute hashes, using cache when possible."""
files = {}
@@ -135,10 +156,8 @@ def scan_bios_dir(bios_dir: Path, cache: dict, force: bool) -> tuple[dict, dict,
if fresh and all(name in cached for name in CACHED_HASHES):
hashes = {name: cached[name] for name in CACHED_HASHES}
sha1 = hashes["sha1"]
is_variant = "/.variants/" in rel_path or "\\.variants\\" in rel_path
if sha1 in files:
existing_is_variant = "/.variants/" in files[sha1]["path"]
if existing_is_variant and not is_variant:
if _takes_primary(files[sha1]["path"], rel_path):
if sha1 not in aliases:
aliases[sha1] = []
aliases[sha1].append(
@@ -169,11 +188,8 @@ def scan_bios_dir(bios_dir: Path, cache: dict, force: bool) -> tuple[dict, dict,
hashes = _settled_hashes(filepath, cache.get(cache_key), mtime, size)
sha1 = hashes["sha1"]
is_variant = "/.variants/" in rel_path or "\\.variants\\" in rel_path
if sha1 in files:
existing_is_variant = "/.variants/" in files[sha1]["path"]
if existing_is_variant and not is_variant:
# Non-variant file should be primary over .variants/ file
if _takes_primary(files[sha1]["path"], rel_path):
if sha1 not in aliases:
aliases[sha1] = []
aliases[sha1].append(
@@ -520,8 +536,16 @@ def _collect_all_aliases(files: dict, copies: dict | None = None) -> dict:
aliases = {}
# A name only .variants/ copies carry is not a primary's: those copies are
# the other revisions of whatever the name designates. Retroarch pins
# bios_E.sms to v1.3, and with the name refused, Genesis Plus GX got the
# first variant in index order, a 256 KB BIOS, by the name step.
named_primaries = {
entry["name"] for entry in files.values() if "/.variants/" not in entry["path"]
}
def _add_alias(name: str, matched_sha1: str) -> None:
if not name or name in name_to_sha1:
if not name or name in named_primaries:
return
if matched_sha1 not in aliases:
aliases[matched_sha1] = []
+65
View File
@@ -250,5 +250,70 @@ class AliasesFollowContentNotPrimaryCopy(unittest.TestCase):
self.assertIn("_collect_all_aliases(files, aliases)", source)
class TheSmsBiosKeepsItsNames(unittest.TestCase):
"""RetroArch pins bios_E.sms and bios_U.sms to the v1.3 BIOS. Its only
path was ZEsarUX's sms.rom, which sorted before bios/Sega/Master System/,
and the two names were refused because .variants/ copies carried them.
Genesis Plus GX then got the Store Display Unit BIOS as bios_U.sms."""
def test_a_name_only_variants_carry_is_registered_for_the_pinned_content(self):
files = {
"v13": {"name": "SMS_us_1.3.sms", "path": "bios/Sega/MS/SMS_us_1.3.sms", "md5": "m13"},
"kiosk": {"name": "bios_U.sms", "path": "bios/Sega/MS/.variants/bios_U.sms.ee2c29ba",
"md5": "mk"},
}
with tempfile.TemporaryDirectory(dir=REPO_ROOT / "tmp") as tmp:
previous = os.getcwd()
os.chdir(tmp)
try:
Path("platforms").mkdir()
Path("platforms/_registry.yml").write_text("platforms:\n p:\n status: active\n")
Path("platforms/p.yml").write_text(
"systems:\n sms:\n files:\n"
' - name: "bios_U.sms"\n sha1: "v13"\n'
)
aliases = generate_db._collect_all_aliases(files)
finally:
os.chdir(previous)
self.assertIn("bios_U.sms", {a["name"] for a in aliases.get("v13", [])})
def test_a_primary_name_still_refuses_another_content(self):
files = {
"v13": {"name": "SMS_us_1.3.sms", "path": "bios/Sega/MS/SMS_us_1.3.sms", "md5": "m13"},
"other": {"name": "bios_U.sms", "path": "bios/Sega/MS/bios_U.sms", "md5": "mo"},
}
with tempfile.TemporaryDirectory(dir=REPO_ROOT / "tmp") as tmp:
previous = os.getcwd()
os.chdir(tmp)
try:
Path("platforms").mkdir()
Path("platforms/_registry.yml").write_text("platforms:\n p:\n status: active\n")
Path("platforms/p.yml").write_text(
"systems:\n sms:\n files:\n"
' - name: "bios_U.sms"\n sha1: "v13"\n'
)
aliases = generate_db._collect_all_aliases(files)
finally:
os.chdir(previous)
self.assertEqual(aliases, {})
def test_a_copy_under_its_machine_is_the_path_over_an_emulator_tree(self):
with tempfile.TemporaryDirectory(dir=REPO_ROOT / "tmp") as tmp:
bios = Path(tmp) / "bios"
for rel in ("Other/zesarux/sms.rom", "Sega/Master System/SMS_us_1.3.sms"):
(bios / rel).parent.mkdir(parents=True, exist_ok=True)
(bios / rel).write_bytes(b"v1.3")
(bios / "Other/zesarux/own.rom").write_bytes(b"only zesarux")
files, copies, _cache = generate_db.scan_bios_dir(bios, {}, True)
paths = {entry["path"] for entry in files.values()}
self.assertIn("bios/Sega/Master System/SMS_us_1.3.sms", paths)
self.assertIn("bios/Other/zesarux/own.rom", paths)
self.assertNotIn("bios/Other/zesarux/sms.rom", paths)
self.assertIn(
"bios/Other/zesarux/sms.rom",
{copy["path"] for entries in copies.values() for copy in entries},
)
if __name__ == "__main__":
unittest.main()