feat: add 47 missing cores to batocera platform config

This commit is contained in:
Abdessamad Derraz
2026-03-30 07:09:52 +02:00
parent b587381f05
commit 7b484605d4
3 changed files with 295 additions and 242 deletions
+1 -1
View File
@@ -47,7 +47,7 @@ platforms:
source_format: python_dict source_format: python_dict
hash_type: md5 hash_type: md5
schedule: weekly schedule: weekly
cores: [81, a5200, abuse, arduous, atari800, azahar, bennugd, bk, bluemsx, bsnes, bstone, cannonball, cap32, catacombgl, cdogs, cemu, cgenius, citron, clk, corsixth, demul, devilutionx, dhewm3, dice, dolphin, dosbox_pure, dxx-rebirth, easyrpg, ecwolf, eduke32, eka2l1, emuscv, etlegacy, fake08, fallout1-ce, fallout2-ce, fbneo, fceumm, flatpak, flycast, freechaf, freeintv, fury, fuse, gambatte, gearsystem, genesisplusgx, glide64mk2, gong, gsplus, gw, gzdoom, hatari, hcl, hurrican, hypseus-singe, ikemen, ioquake3, iortcw, jazz2-native, lindbergh-loader, lowresnx, lutro, mame, mame078plus, mednafen_lynx, mednafen_ngp, mednafen_supergrafx, mednafen_wswan, melonds, mgba, minivmac, model2emu, moonlight, mrboom, neocd, np2kai, nxengine, o2em, odcommander, openbor6412, openjazz, openjk, openjkdf2, openmohaa, opera, pce_fast, pcfx, pcsx2, pcsx_rearmed, pd777, picodrive, play, pokemini, potator, ppsspp, prboom, prosystem, puae, px68k, pygame, pyxel, quasi88, raze, reminiscence, rpcs3, ruffle, samcoupe, sameduck, scummvm, sdlpop, sh, shadps4, snes9x, solarus, sonic2013, sonic3-air, sonic-mania, steam, stella, superbroswar, supermodel, taradino, tgbdual, theforceengine, theodore, thextech, tic80, tr1x, tr2x, tsugaru, tyrian, tyrquake, uqm, uzem, vb, vecx, vice_x64, vircon32, virtualjaguar, vita3k, vox_official, vpinball, wasm4, wine-tkg, x1, x128, x16emu, xash3d_fwgs, xemu, xenia-canary, xpet, xplus4, xrick, xvic, yabasanshiro, yquake2, zc210] cores: [81, a5200, abuse, amiberry, applewin, arduous, atari800, azahar, beetle-saturn, bennugd, bigpemu, bk, blastem, bluemsx, boom3, bsnes, bstone, cannonball, cap32, catacombgl, cdogs, cemu, cgenius, citron, clk, corsixth, demul, desmume, devilutionx, dhewm3, dice, dolphin, dosbox, dosbox_pure, duckstation, dxx-rebirth, easyrpg, ecwolf, eduke32, eka2l1, emuscv, ep128emu-core, etlegacy, fake08, fallout1-ce, fallout2-ce, fbneo, fceumm, flatpak, flycast, freechaf, freeintv, freej2me, fmsx, fsuae, fury, fuse, gambatte, gearcoleco, gearsystem, genesisplusgx, glide64mk2, gong, gpsp, gsplus, gw, gzdoom, handy, hatari, hcl, holani, hurrican, hypseus-singe, ikemen, ioquake3, iortcw, jazz2-native, kronos, lindbergh-loader, lowresnx, lutro, mame, mame078plus, mednafen_lynx, mednafen_ngp, mednafen_psx, mednafen_supergrafx, mednafen_wswan, melonds, mesen, mesen-s, mgba, minivmac, model2emu, moonlight, mrboom, mupen64plus-next, neocd, nestopia, np2kai, nxengine, o2em, odcommander, openbor6412, openjazz, openjk, openjkdf2, openmohaa, openmsx, opera, parallel_n64, pce_fast, pcfx, pcsx2, pcsx_rearmed, pd777, picodrive, play, pokemini, potator, ppsspp, prboom, prosystem, puae, puae2021, px68k, pygame, pyxel, quasi88, raze, redream, reminiscence, rpcs3, ruffle, ryujinx, samcoupe, same_cdi, sameduck, scummvm, sdlpop, sh, shadps4, smsplus, snes9x, solarus, sonic2013, sonic3-air, sonic-mania, squirreljme, steam, stella, stella2014, superbroswar, supermodel, swanstation, taradino, tgbdual, theforceengine, theodore, thextech, tic80, tr1x, tr2x, tsugaru, tyrian, tyrquake, uae4arm, uqm, uzem, vb, vba-m, vecx, vemulator, vice, vice_x64, vice_x128, vice_x64sc, vice_xpet, vice_xplus4, vice_xscpu64, vice_xvic, vircon32, virtualjaguar, vita3k, vitaquake2, vox_official, vpinball, wasm4, wine-tkg, x1, x128, x16emu, xash3d_fwgs, xemu, xenia, xenia-canary, xpet, xplus4, xrick, xroar, xvic, yabasanshiro, ymir, yquake2, zc210]
target_scraper: batocera_targets target_scraper: batocera_targets
target_source: "https://github.com/batocera-linux/batocera.linux" target_source: "https://github.com/batocera-linux/batocera.linux"
install: install:
+287 -240
View File
@@ -1,250 +1,297 @@
platform: Batocera platform: Batocera
version: '42' version: '42'
homepage: "https://batocera.org" homepage: https://batocera.org
source: "https://raw.githubusercontent.com/batocera-linux/batocera.linux/master/package/batocera/core/batocera-scripts/scripts/batocera-systems" source: https://raw.githubusercontent.com/batocera-linux/batocera.linux/master/package/batocera/core/batocera-scripts/scripts/batocera-systems
base_destination: bios base_destination: bios
hash_type: md5 hash_type: md5
verification_mode: md5 verification_mode: md5
standalone_cores: standalone_cores:
- abuse - abuse
- azahar - azahar
- bstone - bstone
- cannonball - cannonball
- catacombgl - catacombgl
- cdogs - cdogs
- cemu - cemu
- cgenius - cgenius
- citron - citron
- clk - clk
- corsixth - corsixth
- demul - demul
- devilutionx - devilutionx
- dhewm3 - dhewm3
- dolphin - dolphin
- dxx-rebirth - dxx-rebirth
- easyrpg - easyrpg
- ecwolf - ecwolf
- eduke32 - eduke32
- eka2l1 - eka2l1
- etlegacy - etlegacy
- fallout1-ce - fallout1-ce
- fallout2-ce - fallout2-ce
- flatpak - flatpak
- fury - fury
- gsplus - gsplus
- gzdoom - gzdoom
- hcl - hcl
- hurrican - hurrican
- hypseus-singe - hypseus-singe
- ikemen - ikemen
- ioquake3 - ioquake3
- iortcw - iortcw
- jazz2-native - jazz2-native
- lexaloffle - lexaloffle
- lindbergh-loader - lindbergh-loader
- mame - mame
- model2emu - model2emu
- moonlight - moonlight
- mupen64plus - mupen64plus
- odcommander - odcommander
- openbor - openbor
- openjazz - openjazz
- openjk - openjk
- openjkdf2 - openjkdf2
- openmohaa - openmohaa
- pcsx2 - pcsx2
- play - play
- ppsspp - ppsspp
- pygame - pygame
- pyxel - pyxel
- raze - raze
- rpcs3 - rpcs3
- ruffle - ruffle
- samcoupe - samcoupe
- scummvm - scummvm
- sdlpop - sdlpop
- shadps4 - shadps4
- solarus - solarus
- sonic-mania - sonic-mania
- sonic2013 - sonic2013
- sonic3-air - sonic3-air
- steam - steam
- supermodel - supermodel
- taradino - taradino
- theforceengine - theforceengine
- thextech - thextech
- tr1x - tr1x
- tr2x - tr2x
- tsugaru - tsugaru
- tyrian - tyrian
- uqm - uqm
- vice - vice
- vita3k - vita3k
- vpinball - vpinball
- x16emu - x16emu
- xash3d_fwgs - xash3d_fwgs
- xemu - xemu
- xenia-canary - xenia-canary
- yquake2 - yquake2
cores: cores:
- 81 - 81
- a5200 - a5200
- abuse - abuse
- arduous - amiberry
- atari800 - applewin
- azahar - arduous
- bennugd - atari800
- bk - azahar
- bluemsx - beetle-saturn
- bsnes - bennugd
- bstone - bigpemu
- cannonball - bk
- cap32 - blastem
- catacombgl - bluemsx
- cdogs - boom3
- cemu - bsnes
- cgenius - bstone
- citron - cannonball
- clk - cap32
- corsixth - catacombgl
- demul - cdogs
- devilutionx - cemu
- dhewm3 - cgenius
- dice - citron
- dolphin - clk
- dosbox_pure - corsixth
- dxx-rebirth - demul
- easyrpg - desmume
- ecwolf - devilutionx
- eduke32 - dhewm3
- eka2l1 - dice
- emuscv - dolphin
- etlegacy - dosbox
- fake08 - dosbox_pure
- fallout1-ce - duckstation
- fallout2-ce - dxx-rebirth
- fbneo - easyrpg
- fceumm - ecwolf
- flatpak - eduke32
- flycast - eka2l1
- freechaf - emuscv
- freeintv - ep128emu-core
- fury - etlegacy
- fuse - fake08
- gambatte - fallout1-ce
- gearsystem - fallout2-ce
- genesisplusgx - fbneo
- glide64mk2 - fceumm
- gong - flatpak
- gsplus - flycast
- gw - fmsx
- gzdoom - freechaf
- hatari - freeintv
- hcl - freej2me
- hurrican - fsuae
- hypseus-singe - fury
- ikemen - fuse
- ioquake3 - gambatte
- iortcw - gearcoleco
- jazz2-native - gearsystem
- lindbergh-loader - genesisplusgx
- lowresnx - glide64mk2
- lutro - gong
- mame - gpsp
- mame078plus - gsplus
- mednafen_lynx - gw
- mednafen_ngp - gzdoom
- mednafen_supergrafx - handy
- mednafen_wswan - hatari
- melonds - hcl
- mgba - holani
- minivmac - hurrican
- model2emu - hypseus-singe
- moonlight - ikemen
- mrboom - ioquake3
- neocd - iortcw
- np2kai - jazz2-native
- nxengine - kronos
- o2em - lindbergh-loader
- odcommander - lowresnx
- openbor6412 - lutro
- openjazz - mame
- openjk - mame078plus
- openjkdf2 - mednafen_lynx
- openmohaa - mednafen_ngp
- opera - mednafen_psx
- pce_fast - mednafen_supergrafx
- pcfx - mednafen_wswan
- pcsx2 - melonds
- pcsx_rearmed - mesen
- pd777 - mesen-s
- picodrive - mgba
- play - minivmac
- pokemini - model2emu
- potator - moonlight
- ppsspp - mrboom
- prboom - mupen64plus-next
- prosystem - neocd
- puae - nestopia
- px68k - np2kai
- pygame - nxengine
- pyxel - o2em
- quasi88 - odcommander
- raze - openbor6412
- reminiscence - openjazz
- rpcs3 - openjk
- ruffle - openjkdf2
- samcoupe - openmohaa
- sameduck - openmsx
- scummvm - opera
- sdlpop - parallel_n64
- sh - pce_fast
- shadps4 - pcfx
- snes9x - pcsx2
- solarus - pcsx_rearmed
- sonic2013 - pd777
- sonic3-air - picodrive
- sonic-mania - play
- steam - pokemini
- stella - potator
- superbroswar - ppsspp
- supermodel - prboom
- taradino - prosystem
- tgbdual - puae
- theforceengine - puae2021
- theodore - px68k
- thextech - pygame
- tic80 - pyxel
- tr1x - quasi88
- tr2x - raze
- tsugaru - redream
- tyrian - reminiscence
- tyrquake - rpcs3
- uqm - ruffle
- uzem - ryujinx
- vb - samcoupe
- vecx - same_cdi
- vice_x64 - sameduck
- vircon32 - scummvm
- virtualjaguar - sdlpop
- vita3k - sh
- vox_official - shadps4
- vpinball - smsplus
- wasm4 - snes9x
- wine-tkg - solarus
- x1 - sonic-mania
- x128 - sonic2013
- x16emu - sonic3-air
- xash3d_fwgs - squirreljme
- xemu - steam
- xenia-canary - stella
- xpet - stella2014
- xplus4 - superbroswar
- xrick - supermodel
- xvic - swanstation
- yabasanshiro - taradino
- yquake2 - tgbdual
- zc210 - theforceengine
- theodore
- thextech
- tic80
- tr1x
- tr2x
- tsugaru
- tyrian
- tyrquake
- uae4arm
- uqm
- uzem
- vb
- vba-m
- vecx
- vemulator
- vice
- vice_x128
- vice_x64
- vice_x64sc
- vice_xpet
- vice_xplus4
- vice_xscpu64
- vice_xvic
- vircon32
- virtualjaguar
- vita3k
- vitaquake2
- vox_official
- vpinball
- wasm4
- wine-tkg
- x1
- x128
- x16emu
- xash3d_fwgs
- xemu
- xenia
- xenia-canary
- xpet
- xplus4
- xrick
- xroar
- xvic
- yabasanshiro
- ymir
- yquake2
- zc210
systems: systems:
atari-400-800: atari-400-800:
files: files:
+7 -1
View File
@@ -38,8 +38,14 @@ def _enrich_hashes(entry: dict, db: dict) -> None:
sha1 = entry.get("sha1", "") sha1 = entry.get("sha1", "")
md5 = entry.get("md5", "") md5 = entry.get("md5", "")
# Hashes can be lists (multi-hash) — use first string value
if isinstance(sha1, list):
sha1 = sha1[0] if sha1 else ""
if isinstance(md5, list):
md5 = md5[0] if md5 else ""
record = None record = None
if sha1 and db.get("files"): if sha1 and isinstance(sha1, str) and db.get("files"):
record = db["files"].get(sha1) record = db["files"].get(sha1)
if record is None and md5: if record is None and md5:
by_md5 = db.get("by_md5", {}) by_md5 = db.get("by_md5", {})