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:
+50 -3
View File
@@ -1,7 +1,7 @@
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
@@ -90,12 +90,18 @@ cores:
- 81 - 81
- a5200 - a5200
- abuse - abuse
- amiberry
- applewin
- arduous - arduous
- atari800 - atari800
- azahar - azahar
- beetle-saturn
- bennugd - bennugd
- bigpemu
- bk - bk
- blastem
- bluemsx - bluemsx
- boom3
- bsnes - bsnes
- bstone - bstone
- cannonball - cannonball
@@ -108,17 +114,21 @@ cores:
- clk - clk
- corsixth - corsixth
- demul - demul
- desmume
- devilutionx - devilutionx
- dhewm3 - dhewm3
- dice - dice
- dolphin - dolphin
- dosbox
- dosbox_pure - dosbox_pure
- duckstation
- dxx-rebirth - dxx-rebirth
- easyrpg - easyrpg
- ecwolf - ecwolf
- eduke32 - eduke32
- eka2l1 - eka2l1
- emuscv - emuscv
- ep128emu-core
- etlegacy - etlegacy
- fake08 - fake08
- fallout1-ce - fallout1-ce
@@ -127,26 +137,34 @@ cores:
- fceumm - fceumm
- flatpak - flatpak
- flycast - flycast
- fmsx
- freechaf - freechaf
- freeintv - freeintv
- freej2me
- fsuae
- fury - fury
- fuse - fuse
- gambatte - gambatte
- gearcoleco
- gearsystem - gearsystem
- genesisplusgx - genesisplusgx
- glide64mk2 - glide64mk2
- gong - gong
- gpsp
- gsplus - gsplus
- gw - gw
- gzdoom - gzdoom
- handy
- hatari - hatari
- hcl - hcl
- holani
- hurrican - hurrican
- hypseus-singe - hypseus-singe
- ikemen - ikemen
- ioquake3 - ioquake3
- iortcw - iortcw
- jazz2-native - jazz2-native
- kronos
- lindbergh-loader - lindbergh-loader
- lowresnx - lowresnx
- lutro - lutro
@@ -154,15 +172,20 @@ cores:
- mame078plus - mame078plus
- mednafen_lynx - mednafen_lynx
- mednafen_ngp - mednafen_ngp
- mednafen_psx
- mednafen_supergrafx - mednafen_supergrafx
- mednafen_wswan - mednafen_wswan
- melonds - melonds
- mesen
- mesen-s
- mgba - mgba
- minivmac - minivmac
- model2emu - model2emu
- moonlight - moonlight
- mrboom - mrboom
- mupen64plus-next
- neocd - neocd
- nestopia
- np2kai - np2kai
- nxengine - nxengine
- o2em - o2em
@@ -172,7 +195,9 @@ cores:
- openjk - openjk
- openjkdf2 - openjkdf2
- openmohaa - openmohaa
- openmsx
- opera - opera
- parallel_n64
- pce_fast - pce_fast
- pcfx - pcfx
- pcsx2 - pcsx2
@@ -186,29 +211,37 @@ cores:
- prboom - prboom
- prosystem - prosystem
- puae - puae
- puae2021
- px68k - px68k
- pygame - pygame
- pyxel - pyxel
- quasi88 - quasi88
- raze - raze
- redream
- reminiscence - reminiscence
- rpcs3 - rpcs3
- ruffle - ruffle
- ryujinx
- samcoupe - samcoupe
- same_cdi
- sameduck - sameduck
- scummvm - scummvm
- sdlpop - sdlpop
- sh - sh
- shadps4 - shadps4
- smsplus
- snes9x - snes9x
- solarus - solarus
- sonic-mania
- sonic2013 - sonic2013
- sonic3-air - sonic3-air
- sonic-mania - squirreljme
- steam - steam
- stella - stella
- stella2014
- superbroswar - superbroswar
- supermodel - supermodel
- swanstation
- taradino - taradino
- tgbdual - tgbdual
- theforceengine - theforceengine
@@ -220,14 +253,25 @@ cores:
- tsugaru - tsugaru
- tyrian - tyrian
- tyrquake - tyrquake
- uae4arm
- uqm - uqm
- uzem - uzem
- vb - vb
- vba-m
- vecx - vecx
- vemulator
- vice
- vice_x128
- vice_x64 - vice_x64
- vice_x64sc
- vice_xpet
- vice_xplus4
- vice_xscpu64
- vice_xvic
- vircon32 - vircon32
- virtualjaguar - virtualjaguar
- vita3k - vita3k
- vitaquake2
- vox_official - vox_official
- vpinball - vpinball
- wasm4 - wasm4
@@ -237,12 +281,15 @@ cores:
- x16emu - x16emu
- xash3d_fwgs - xash3d_fwgs
- xemu - xemu
- xenia
- xenia-canary - xenia-canary
- xpet - xpet
- xplus4 - xplus4
- xrick - xrick
- xroar
- xvic - xvic
- yabasanshiro - yabasanshiro
- ymir
- yquake2 - yquake2
- zc210 - zc210
systems: systems:
+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", {})