fix: file a slug-platform bios under its own system

This commit is contained in:
Abdessamad Derraz committed 2026-10-10 11:43:08 +02:00
1 parent 315549a5b0
commit 2c2f284414
15 files changed
+376 -112

No files matched your search

+5
View File
@@ -1593,6 +1593,11 @@ SYSTEM_ALIASES: dict[str, str] = {
"sega32x": "sega-32x",
"segastv": "sega-stv",
"ti994a": "ti99",
# Other spellings of one machine: RomM files the Mega CD as sega-mega-cd
# and the disk system as nintendo-fds, which normalize to the ids the
# profiles use only through these.
"sega-segacd": "sega-megacd",
"nes-fds": "nintendo-fds",
}
+13 -1
View File
@@ -120,7 +120,19 @@ def _map_emulator_to_slug(
def _slug_for(
u: dict, profiles: dict, platform_systems: set, norm_map: dict, sys_to_slug: dict
) -> str:
"""The platform slug a report entry's emulator files under, or empty."""
"""The platform slug a report entry files under, or empty.
The entry's own system decides first: picodrive's Mega CD BIOS belongs
under segacd/, where RomM looks for a Mega CD game's firmware, not under
gamegear/, the first of the emulator's systems.
"""
own = u.get("system")
if own:
slug = _map_emulator_to_slug(
{"systems": [own]}, platform_systems, norm_map, sys_to_slug
)
if slug:
return slug
emu_name = u.get("profile") or u.get("emulator", "")
profile = profiles.get(emu_name, {})
if not profile: