diff --git a/database.json b/database.json index b1c91028e..6760bcf34 100644 --- a/database.json +++ b/database.json @@ -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": [ diff --git a/install/amberelec.json b/install/amberelec.json index 2526c393b..21852aebe 100644 --- a/install/amberelec.json +++ b/install/amberelec.json @@ -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" diff --git a/install/batocera.json b/install/batocera.json index e20ab7152..1d9c704ce 100644 --- a/install/batocera.json +++ b/install/batocera.json @@ -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", diff --git a/install/bizhawk.json b/install/bizhawk.json index 9e28995bf..f30072cc4 100644 --- a/install/bizhawk.json +++ b/install/bizhawk.json @@ -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" diff --git a/install/emudeck.json b/install/emudeck.json index c6fcc998f..c526e4968 100644 --- a/install/emudeck.json +++ b/install/emudeck.json @@ -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", diff --git a/install/emuelec.json b/install/emuelec.json index dfc4309cb..8ea5f492b 100644 --- a/install/emuelec.json +++ b/install/emuelec.json @@ -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" ], diff --git a/install/knulli.json b/install/knulli.json index 10324a716..b184d577c 100644 --- a/install/knulli.json +++ b/install/knulli.json @@ -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", diff --git a/install/lakka.json b/install/lakka.json index 3890ede25..458fa1ab8 100644 --- a/install/lakka.json +++ b/install/lakka.json @@ -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" ], diff --git a/install/myminui.json b/install/myminui.json index 3935314c3..7e49b3635 100644 --- a/install/myminui.json +++ b/install/myminui.json @@ -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" ] diff --git a/install/recalbox.json b/install/recalbox.json index a33ceaa71..470e31098 100644 --- a/install/recalbox.json +++ b/install/recalbox.json @@ -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" diff --git a/install/retroarch.json b/install/retroarch.json index 45faaba16..a6ca88c85 100644 --- a/install/retroarch.json +++ b/install/retroarch.json @@ -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" ], diff --git a/install/retrobat.json b/install/retrobat.json index 1e5d47bc7..f91c32258 100644 --- a/install/retrobat.json +++ b/install/retrobat.json @@ -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" diff --git a/install/retrodeck.json b/install/retrodeck.json index 9c21dbde1..8f347a4f9 100644 --- a/install/retrodeck.json +++ b/install/retrodeck.json @@ -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" diff --git a/install/retropie.json b/install/retropie.json index c02fee8a5..5f04fec8c 100644 --- a/install/retropie.json +++ b/install/retropie.json @@ -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" ], diff --git a/install/rocknix.json b/install/rocknix.json index 5b25c4309..0ec3af81f 100644 --- a/install/rocknix.json +++ b/install/rocknix.json @@ -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" ] diff --git a/install/romm.json b/install/romm.json index f63923825..a9b713659 100644 --- a/install/romm.json +++ b/install/romm.json @@ -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" diff --git a/scripts/generate_db.py b/scripts/generate_db.py index 8c1aeedf2..3a9ebe0af 100644 --- a/scripts/generate_db.py +++ b/scripts/generate_db.py @@ -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//.""" + 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] = [] diff --git a/tests/test_db_aliases.py b/tests/test_db_aliases.py index 6e8148572..e868047f6 100644 --- a/tests/test_db_aliases.py +++ b/tests/test_db_aliases.py @@ -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()