fix: file every platform system under a known id

Thirty platform system ids, such as sufami, pokemini, vsmile, and
Recalbox's comma-joined msx1,msx2, matched no system any profile
names, so no core file was attributed to them and --system missed them.
The scraper maps now carry those names, and a test holds every platform
system to a profile system apart from two named folds.
This commit is contained in:
Abdessamad Derraz committed 2026-10-17 12:47:22 +02:00
1 parent 0894b67d3f
commit dbcd26d3ab
9 files changed
+764 -727

No files matched your search

+12
View File
@@ -127,6 +127,18 @@ def es_systems_emulators(text: str) -> tuple[set[str], set[str]]:
SYSTEM_SLUG_MAP = {
"advision": "entex-advision",
"amiga500": "commodore-amiga",
"bbc": "acorn-bbc-micro",
"bk": "elektronika-bk",
"gp32": "gamepark-gp32",
# MSU-MD runs on the Mega Drive cores and loads the Mega-CD BIOS.
"megadrive-msu": "sega-mega-cd",
"segaai": "sega-ai",
"socrates": "vtech-socrates",
"sufami": "nintendo-sufami-turbo",
"videopacplus": "philips-videopac",
"vsmile": "vtech-vsmile",
"atari800": "atari-400-800",
"atari5200": "atari-5200",
"atarist": "atari-st",
+9 -1
View File
@@ -45,7 +45,12 @@ SOURCE_URL = (
SYSTEM_SLUG_MAP = {
"3do": "3do",
"bk": "elektronika-bk",
"dragon": "dragon64",
"palm": "palm-os",
"pokemini": "nintendo-pokemon-mini",
"sufami": "nintendo-sufami-turbo",
"videopacplus": "philips-videopac",
"trs80coco": "coco",
"amiga600": "commodore-amiga",
"amiga1200": "commodore-amiga",
@@ -230,7 +235,10 @@ class Scraper(BaseScraper):
for system_elem in root.findall(".//system"):
platform = system_elem.get("platform", "")
system_slug = SYSTEM_SLUG_MAP.get(platform, platform)
# One <system> can serve several platforms ("msx1,msx2", "gb,gbc"):
# it is filed under the first, which names the machine family.
first = platform.split(",")[0].strip()
system_slug = SYSTEM_SLUG_MAP.get(first, first)
fullname = system_elem.get("fullname", "")
for bios_elem in system_elem.findall("bios"):
+4
View File
@@ -74,6 +74,10 @@ def es_systems_cores(text: str) -> tuple[set[str], set[str]]:
# until the two shared one map.
SYSTEM_SLUG_MAP = {
**BATOCERA_SLUGS,
"amiga4000": "commodore-amiga",
"arcadia": "emerson-arcadia-2001",
"ecwolf": "wolfenstein3d",
"namco2x6": "namco-system246",
"ps2": "sony-playstation-2",
"ps3": "sony-playstation-3",
"psvita": "sony-playstation-vita",
+1
View File
@@ -153,6 +153,7 @@ SYSTEM_SLUG_MAP: dict[str, str | None] = {
"dragon": "dragon64",
"tanodragon": "dragon64",
"pico8": "pico8",
"vsmile": "vtech-vsmile",
"wolfenstein": "wolfenstein-3d",
"zxspectrum": "sinclair-zx-spectrum",
}