From a3de47dd886326f4a770248ee6dae54b6ae11e12 Mon Sep 17 00:00:00 2001 From: Abdessamad Derraz <3028866+Abdess@users.noreply.github.com> Date: Thu, 26 Mar 2026 09:44:11 +0100 Subject: [PATCH] fix: normalize core names in emudeck and retropie scrapers --- platforms/targets/emudeck.yml | 50 +- platforms/targets/retropie.yml | 1276 ++++++++--------- .../targets/emudeck_targets_scraper.py | 49 +- .../targets/retropie_targets_scraper.py | 8 +- 4 files changed, 703 insertions(+), 680 deletions(-) diff --git a/platforms/targets/emudeck.yml b/platforms/targets/emudeck.yml index 65197869..b2493971 100644 --- a/platforms/targets/emudeck.yml +++ b/platforms/targets/emudeck.yml @@ -1,28 +1,40 @@ platform: emudeck source: https://github.com/dragoonDorise/EmuDeck -scraped_at: '2026-03-26T08:18:29Z' +scraped_at: '2026-03-26T08:44:04Z' targets: steamos: architecture: x86_64 cores: - - citronbios - - dreamcastbios - - dsbios - - ps1bios - - ps2bios - - ryujinxbios - - saturnbios - - segacdbios - - yuzubios + - beetle_psx + - beetle_saturn + - citron + - desmume + - duckstation + - flycast + - genesisplusgx + - kronos + - melonds + - pcsx2 + - pcsx_rearmed + - picodrive + - swanstation + - yabasanshiro + - yabause windows: architecture: x86_64 cores: - - citronbios - - dreamcastbios - - dsbios - - ps1bios - - ps2bios - - ryujinxbios - - saturnbios - - segacdbios - - yuzubios + - beetle_psx + - beetle_saturn + - citron + - desmume + - duckstation + - flycast + - genesisplusgx + - kronos + - melonds + - pcsx2 + - pcsx_rearmed + - picodrive + - swanstation + - yabasanshiro + - yabause diff --git a/platforms/targets/retropie.yml b/platforms/targets/retropie.yml index 60a1cfc4..f8b7774f 100644 --- a/platforms/targets/retropie.yml +++ b/platforms/targets/retropie.yml @@ -1,662 +1,662 @@ platform: retropie source: https://api.github.com/repos/RetroPie/RetroPie-Setup/contents/scriptmodules/libretrocores -scraped_at: '2026-03-26T08:32:01Z' +scraped_at: '2026-03-26T08:43:13Z' targets: rpi1: architecture: armv6 cores: - - lr-81 - - lr-atari800 - - lr-beetle-lynx - - lr-beetle-ngp - - lr-beetle-pce-fast - - lr-beetle-pcfx - - lr-beetle-supergrafx - - lr-beetle-vb - - lr-beetle-wswan - - lr-bennugd - - lr-bluemsx - - lr-caprice32 - - lr-desmume - - lr-desmume2015 - - lr-dinothawr - - lr-dirksimple - - lr-dosbox - - lr-dosbox-pure - - lr-ep128emu - - lr-fbalpha2012 - - lr-fbneo - - lr-fceumm - - lr-fmsx - - lr-freechaf - - lr-freeintv - - lr-fuse - - lr-gambatte - - lr-geargrafx - - lr-gearsystem - - lr-genesis-plus-gx - - lr-gpsp - - lr-gw - - lr-handy - - lr-hatari - - lr-mame - - lr-mame2000 - - lr-mame2003 - - lr-mame2003-plus - - lr-mame2010 - - lr-mame2015 - - lr-mame2016 - - lr-mess - - lr-mess2016 - - lr-mgba - - lr-mrboom - - lr-mupen64plus - - lr-mupen64plus-next - - lr-neocd - - lr-nestopia - - lr-np2kai - - lr-nxengine - - lr-o2em - - lr-opera - - lr-parallel-n64 - - lr-pcsx-rearmed - - lr-picodrive - - lr-pokemini - - lr-ppsspp - - lr-prboom - - lr-prosystem - - lr-puae - - lr-puae2021 - - lr-px68k - - lr-quasi88 - - lr-quicknes - - lr-retro8 - - lr-scummvm - - lr-smsplus-gx - - lr-snes9x - - lr-snes9x2002 - - lr-snes9x2005 - - lr-snes9x2010 - - lr-stella - - lr-stella2014 - - lr-superflappybirds - - lr-tgbdual - - lr-theodore - - lr-tic80 - - lr-tyrquake - - lr-vecx - - lr-vice - - lr-x1 - - lr-xrick + - '81' + - atari800 + - beetle_lynx + - beetle_ngp + - beetle_pce_fast + - beetle_pcfx + - beetle_supergrafx + - beetle_vb + - beetle_wswan + - bennugd + - bluemsx + - caprice32 + - desmume + - desmume2015 + - dinothawr + - dirksimple + - dosbox + - dosbox_pure + - ep128emu + - fbalpha2012 + - fbneo + - fceumm + - fmsx + - freechaf + - freeintv + - fuse + - gambatte + - geargrafx + - gearsystem + - genesis_plus_gx + - gpsp + - gw + - handy + - hatari + - mame + - mame2000 + - mame2003 + - mame2003_plus + - mame2010 + - mame2015 + - mame2016 + - mess + - mess2016 + - mgba + - mrboom + - mupen64plus + - mupen64plus_next + - neocd + - nestopia + - np2kai + - nxengine + - o2em + - opera + - parallel_n64 + - pcsx_rearmed + - picodrive + - pokemini + - ppsspp + - prboom + - prosystem + - puae + - puae2021 + - px68k + - quasi88 + - quicknes + - retro8 + - scummvm + - smsplus_gx + - snes9x + - snes9x2002 + - snes9x2005 + - snes9x2010 + - stella + - stella2014 + - superflappybirds + - tgbdual + - theodore + - tic80 + - tyrquake + - vecx + - vice + - x1 + - xrick rpi2: architecture: armv7 cores: - - lr-81 - - lr-atari800 - - lr-beetle-lynx - - lr-beetle-ngp - - lr-beetle-pce - - lr-beetle-pce-fast - - lr-beetle-pcfx - - lr-beetle-saturn - - lr-beetle-supergrafx - - lr-beetle-vb - - lr-beetle-wswan - - lr-bennugd - - lr-bluemsx - - lr-bsnes - - lr-caprice32 - - lr-desmume - - lr-desmume2015 - - lr-dinothawr - - lr-dirksimple - - lr-dosbox - - lr-dosbox-pure - - lr-ep128emu - - lr-fbalpha2012 - - lr-fbneo - - lr-fceumm - - lr-flycast - - lr-flycast-dev - - lr-fmsx - - lr-freechaf - - lr-freeintv - - lr-fuse - - lr-gambatte - - lr-geargrafx - - lr-gearsystem - - lr-genesis-plus-gx - - lr-gpsp - - lr-gw - - lr-handy - - lr-hatari - - lr-mame - - lr-mame2000 - - lr-mame2003 - - lr-mame2003-plus - - lr-mame2010 - - lr-mame2015 - - lr-mame2016 - - lr-mesen - - lr-mess - - lr-mess2016 - - lr-mgba - - lr-mrboom - - lr-mupen64plus - - lr-mupen64plus-next - - lr-neocd - - lr-nestopia - - lr-np2kai - - lr-nxengine - - lr-o2em - - lr-opera - - lr-parallel-n64 - - lr-pcsx-rearmed - - lr-picodrive - - lr-pokemini - - lr-ppsspp - - lr-prboom - - lr-prosystem - - lr-puae - - lr-puae2021 - - lr-px68k - - lr-quasi88 - - lr-quicknes - - lr-retro8 - - lr-scummvm - - lr-smsplus-gx - - lr-snes9x - - lr-snes9x2002 - - lr-snes9x2005 - - lr-snes9x2010 - - lr-stella - - lr-stella2014 - - lr-superflappybirds - - lr-tgbdual - - lr-theodore - - lr-tic80 - - lr-tyrquake - - lr-vba-next - - lr-vecx - - lr-vice - - lr-virtualjaguar - - lr-x1 - - lr-xrick - - lr-yabause + - '81' + - atari800 + - beetle_lynx + - beetle_ngp + - beetle_pce + - beetle_pce_fast + - beetle_pcfx + - beetle_saturn + - beetle_supergrafx + - beetle_vb + - beetle_wswan + - bennugd + - bluemsx + - bsnes + - caprice32 + - desmume + - desmume2015 + - dinothawr + - dirksimple + - dosbox + - dosbox_pure + - ep128emu + - fbalpha2012 + - fbneo + - fceumm + - flycast + - flycast_dev + - fmsx + - freechaf + - freeintv + - fuse + - gambatte + - geargrafx + - gearsystem + - genesis_plus_gx + - gpsp + - gw + - handy + - hatari + - mame + - mame2000 + - mame2003 + - mame2003_plus + - mame2010 + - mame2015 + - mame2016 + - mesen + - mess + - mess2016 + - mgba + - mrboom + - mupen64plus + - mupen64plus_next + - neocd + - nestopia + - np2kai + - nxengine + - o2em + - opera + - parallel_n64 + - pcsx_rearmed + - picodrive + - pokemini + - ppsspp + - prboom + - prosystem + - puae + - puae2021 + - px68k + - quasi88 + - quicknes + - retro8 + - scummvm + - smsplus_gx + - snes9x + - snes9x2002 + - snes9x2005 + - snes9x2010 + - stella + - stella2014 + - superflappybirds + - tgbdual + - theodore + - tic80 + - tyrquake + - vba_next + - vecx + - vice + - virtualjaguar + - x1 + - xrick + - yabause rpi3: architecture: armv7 cores: - - lr-81 - - lr-atari800 - - lr-beetle-lynx - - lr-beetle-ngp - - lr-beetle-pce - - lr-beetle-pce-fast - - lr-beetle-pcfx - - lr-beetle-saturn - - lr-beetle-supergrafx - - lr-beetle-vb - - lr-beetle-wswan - - lr-bennugd - - lr-bluemsx - - lr-bsnes - - lr-caprice32 - - lr-desmume - - lr-desmume2015 - - lr-dinothawr - - lr-dirksimple - - lr-dosbox - - lr-dosbox-pure - - lr-ep128emu - - lr-fbalpha2012 - - lr-fbneo - - lr-fceumm - - lr-flycast - - lr-flycast-dev - - lr-fmsx - - lr-freechaf - - lr-freeintv - - lr-fuse - - lr-gambatte - - lr-geargrafx - - lr-gearsystem - - lr-genesis-plus-gx - - lr-gpsp - - lr-gw - - lr-handy - - lr-hatari - - lr-mame - - lr-mame2000 - - lr-mame2003 - - lr-mame2003-plus - - lr-mame2010 - - lr-mame2015 - - lr-mame2016 - - lr-mesen - - lr-mess - - lr-mess2016 - - lr-mgba - - lr-mrboom - - lr-mupen64plus - - lr-mupen64plus-next - - lr-neocd - - lr-nestopia - - lr-np2kai - - lr-nxengine - - lr-o2em - - lr-opera - - lr-parallel-n64 - - lr-pcsx-rearmed - - lr-picodrive - - lr-pokemini - - lr-ppsspp - - lr-prboom - - lr-prosystem - - lr-puae - - lr-puae2021 - - lr-px68k - - lr-quasi88 - - lr-quicknes - - lr-retro8 - - lr-scummvm - - lr-smsplus-gx - - lr-snes9x - - lr-snes9x2002 - - lr-snes9x2005 - - lr-snes9x2010 - - lr-stella - - lr-stella2014 - - lr-superflappybirds - - lr-tgbdual - - lr-theodore - - lr-tic80 - - lr-tyrquake - - lr-vba-next - - lr-vecx - - lr-vice - - lr-virtualjaguar - - lr-x1 - - lr-xrick - - lr-yabause + - '81' + - atari800 + - beetle_lynx + - beetle_ngp + - beetle_pce + - beetle_pce_fast + - beetle_pcfx + - beetle_saturn + - beetle_supergrafx + - beetle_vb + - beetle_wswan + - bennugd + - bluemsx + - bsnes + - caprice32 + - desmume + - desmume2015 + - dinothawr + - dirksimple + - dosbox + - dosbox_pure + - ep128emu + - fbalpha2012 + - fbneo + - fceumm + - flycast + - flycast_dev + - fmsx + - freechaf + - freeintv + - fuse + - gambatte + - geargrafx + - gearsystem + - genesis_plus_gx + - gpsp + - gw + - handy + - hatari + - mame + - mame2000 + - mame2003 + - mame2003_plus + - mame2010 + - mame2015 + - mame2016 + - mesen + - mess + - mess2016 + - mgba + - mrboom + - mupen64plus + - mupen64plus_next + - neocd + - nestopia + - np2kai + - nxengine + - o2em + - opera + - parallel_n64 + - pcsx_rearmed + - picodrive + - pokemini + - ppsspp + - prboom + - prosystem + - puae + - puae2021 + - px68k + - quasi88 + - quicknes + - retro8 + - scummvm + - smsplus_gx + - snes9x + - snes9x2002 + - snes9x2005 + - snes9x2010 + - stella + - stella2014 + - superflappybirds + - tgbdual + - theodore + - tic80 + - tyrquake + - vba_next + - vecx + - vice + - virtualjaguar + - x1 + - xrick + - yabause rpi4: architecture: aarch64 cores: - - lr-81 - - lr-atari800 - - lr-beetle-lynx - - lr-beetle-ngp - - lr-beetle-pce - - lr-beetle-pce-fast - - lr-beetle-pcfx - - lr-beetle-saturn - - lr-beetle-supergrafx - - lr-beetle-vb - - lr-beetle-wswan - - lr-bennugd - - lr-bluemsx - - lr-bsnes - - lr-caprice32 - - lr-desmume - - lr-desmume2015 - - lr-dinothawr - - lr-dirksimple - - lr-dosbox - - lr-dosbox-pure - - lr-ep128emu - - lr-fbalpha2012 - - lr-fbneo - - lr-fceumm - - lr-flycast - - lr-flycast-dev - - lr-fmsx - - lr-freechaf - - lr-freeintv - - lr-fuse - - lr-gambatte - - lr-geargrafx - - lr-gearsystem - - lr-genesis-plus-gx - - lr-gpsp - - lr-gw - - lr-handy - - lr-hatari - - lr-mame - - lr-mame2000 - - lr-mame2003 - - lr-mame2003-plus - - lr-mame2010 - - lr-mame2015 - - lr-mame2016 - - lr-mesen - - lr-mess - - lr-mess2016 - - lr-mgba - - lr-mrboom - - lr-mupen64plus - - lr-mupen64plus-next - - lr-neocd - - lr-nestopia - - lr-np2kai - - lr-nxengine - - lr-o2em - - lr-opera - - lr-parallel-n64 - - lr-pcsx-rearmed - - lr-picodrive - - lr-pokemini - - lr-ppsspp - - lr-prboom - - lr-prosystem - - lr-puae - - lr-puae2021 - - lr-px68k - - lr-quasi88 - - lr-quicknes - - lr-retro8 - - lr-scummvm - - lr-smsplus-gx - - lr-snes9x - - lr-snes9x2002 - - lr-snes9x2005 - - lr-snes9x2010 - - lr-stella - - lr-stella2014 - - lr-superflappybirds - - lr-tgbdual - - lr-theodore - - lr-tic80 - - lr-tyrquake - - lr-vba-next - - lr-vecx - - lr-vice - - lr-virtualjaguar - - lr-x1 - - lr-xrick - - lr-yabause + - '81' + - atari800 + - beetle_lynx + - beetle_ngp + - beetle_pce + - beetle_pce_fast + - beetle_pcfx + - beetle_saturn + - beetle_supergrafx + - beetle_vb + - beetle_wswan + - bennugd + - bluemsx + - bsnes + - caprice32 + - desmume + - desmume2015 + - dinothawr + - dirksimple + - dosbox + - dosbox_pure + - ep128emu + - fbalpha2012 + - fbneo + - fceumm + - flycast + - flycast_dev + - fmsx + - freechaf + - freeintv + - fuse + - gambatte + - geargrafx + - gearsystem + - genesis_plus_gx + - gpsp + - gw + - handy + - hatari + - mame + - mame2000 + - mame2003 + - mame2003_plus + - mame2010 + - mame2015 + - mame2016 + - mesen + - mess + - mess2016 + - mgba + - mrboom + - mupen64plus + - mupen64plus_next + - neocd + - nestopia + - np2kai + - nxengine + - o2em + - opera + - parallel_n64 + - pcsx_rearmed + - picodrive + - pokemini + - ppsspp + - prboom + - prosystem + - puae + - puae2021 + - px68k + - quasi88 + - quicknes + - retro8 + - scummvm + - smsplus_gx + - snes9x + - snes9x2002 + - snes9x2005 + - snes9x2010 + - stella + - stella2014 + - superflappybirds + - tgbdual + - theodore + - tic80 + - tyrquake + - vba_next + - vecx + - vice + - virtualjaguar + - x1 + - xrick + - yabause rpi5: architecture: aarch64 cores: - - lr-81 - - lr-atari800 - - lr-beetle-lynx - - lr-beetle-ngp - - lr-beetle-pce - - lr-beetle-pce-fast - - lr-beetle-pcfx - - lr-beetle-saturn - - lr-beetle-supergrafx - - lr-beetle-vb - - lr-beetle-wswan - - lr-bennugd - - lr-bluemsx - - lr-bsnes - - lr-caprice32 - - lr-desmume - - lr-desmume2015 - - lr-dinothawr - - lr-dirksimple - - lr-dosbox - - lr-dosbox-pure - - lr-ep128emu - - lr-fbalpha2012 - - lr-fbneo - - lr-fceumm - - lr-flycast - - lr-flycast-dev - - lr-fmsx - - lr-freechaf - - lr-freeintv - - lr-fuse - - lr-gambatte - - lr-geargrafx - - lr-gearsystem - - lr-genesis-plus-gx - - lr-gpsp - - lr-gw - - lr-handy - - lr-hatari - - lr-mame - - lr-mame2000 - - lr-mame2003 - - lr-mame2003-plus - - lr-mame2010 - - lr-mame2015 - - lr-mame2016 - - lr-mesen - - lr-mess - - lr-mess2016 - - lr-mgba - - lr-mrboom - - lr-mupen64plus - - lr-mupen64plus-next - - lr-neocd - - lr-nestopia - - lr-np2kai - - lr-nxengine - - lr-o2em - - lr-opera - - lr-parallel-n64 - - lr-pcsx-rearmed - - lr-picodrive - - lr-pokemini - - lr-ppsspp - - lr-prboom - - lr-prosystem - - lr-puae - - lr-puae2021 - - lr-px68k - - lr-quasi88 - - lr-quicknes - - lr-retro8 - - lr-scummvm - - lr-smsplus-gx - - lr-snes9x - - lr-snes9x2002 - - lr-snes9x2005 - - lr-snes9x2010 - - lr-stella - - lr-stella2014 - - lr-superflappybirds - - lr-tgbdual - - lr-theodore - - lr-tic80 - - lr-tyrquake - - lr-vba-next - - lr-vecx - - lr-vice - - lr-virtualjaguar - - lr-x1 - - lr-xrick - - lr-yabause + - '81' + - atari800 + - beetle_lynx + - beetle_ngp + - beetle_pce + - beetle_pce_fast + - beetle_pcfx + - beetle_saturn + - beetle_supergrafx + - beetle_vb + - beetle_wswan + - bennugd + - bluemsx + - bsnes + - caprice32 + - desmume + - desmume2015 + - dinothawr + - dirksimple + - dosbox + - dosbox_pure + - ep128emu + - fbalpha2012 + - fbneo + - fceumm + - flycast + - flycast_dev + - fmsx + - freechaf + - freeintv + - fuse + - gambatte + - geargrafx + - gearsystem + - genesis_plus_gx + - gpsp + - gw + - handy + - hatari + - mame + - mame2000 + - mame2003 + - mame2003_plus + - mame2010 + - mame2015 + - mame2016 + - mesen + - mess + - mess2016 + - mgba + - mrboom + - mupen64plus + - mupen64plus_next + - neocd + - nestopia + - np2kai + - nxengine + - o2em + - opera + - parallel_n64 + - pcsx_rearmed + - picodrive + - pokemini + - ppsspp + - prboom + - prosystem + - puae + - puae2021 + - px68k + - quasi88 + - quicknes + - retro8 + - scummvm + - smsplus_gx + - snes9x + - snes9x2002 + - snes9x2005 + - snes9x2010 + - stella + - stella2014 + - superflappybirds + - tgbdual + - theodore + - tic80 + - tyrquake + - vba_next + - vecx + - vice + - virtualjaguar + - x1 + - xrick + - yabause x86: architecture: x86 cores: - - lr-81 - - lr-atari800 - - lr-beetle-lynx - - lr-beetle-ngp - - lr-beetle-pce - - lr-beetle-pce-fast - - lr-beetle-pcfx - - lr-beetle-psx - - lr-beetle-saturn - - lr-beetle-supergrafx - - lr-beetle-vb - - lr-beetle-wswan - - lr-bennugd - - lr-bluemsx - - lr-bsnes - - lr-caprice32 - - lr-desmume - - lr-desmume2015 - - lr-dinothawr - - lr-dirksimple - - lr-dosbox - - lr-dosbox-pure - - lr-ep128emu - - lr-fbalpha2012 - - lr-fbneo - - lr-fceumm - - lr-flycast - - lr-flycast-dev - - lr-fmsx - - lr-freechaf - - lr-freeintv - - lr-fuse - - lr-gambatte - - lr-geargrafx - - lr-gearsystem - - lr-genesis-plus-gx - - lr-gpsp - - lr-gw - - lr-handy - - lr-hatari - - lr-kronos - - lr-mame - - lr-mame2000 - - lr-mame2003 - - lr-mame2003-plus - - lr-mame2010 - - lr-mame2015 - - lr-mame2016 - - lr-mesen - - lr-mess - - lr-mess2016 - - lr-mgba - - lr-mrboom - - lr-mupen64plus - - lr-mupen64plus-next - - lr-neocd - - lr-nestopia - - lr-np2kai - - lr-nxengine - - lr-o2em - - lr-opera - - lr-parallel-n64 - - lr-pcsx-rearmed - - lr-picodrive - - lr-pokemini - - lr-ppsspp - - lr-prboom - - lr-prosystem - - lr-puae - - lr-puae2021 - - lr-px68k - - lr-quasi88 - - lr-quicknes - - lr-retro8 - - lr-scummvm - - lr-smsplus-gx - - lr-snes9x - - lr-snes9x2005 - - lr-snes9x2010 - - lr-stella - - lr-stella2014 - - lr-superflappybirds - - lr-tgbdual - - lr-theodore - - lr-tic80 - - lr-tyrquake - - lr-vba-next - - lr-vecx - - lr-vice - - lr-virtualjaguar - - lr-x1 - - lr-xrick - - lr-yabause + - '81' + - atari800 + - beetle_lynx + - beetle_ngp + - beetle_pce + - beetle_pce_fast + - beetle_pcfx + - beetle_psx + - beetle_saturn + - beetle_supergrafx + - beetle_vb + - beetle_wswan + - bennugd + - bluemsx + - bsnes + - caprice32 + - desmume + - desmume2015 + - dinothawr + - dirksimple + - dosbox + - dosbox_pure + - ep128emu + - fbalpha2012 + - fbneo + - fceumm + - flycast + - flycast_dev + - fmsx + - freechaf + - freeintv + - fuse + - gambatte + - geargrafx + - gearsystem + - genesis_plus_gx + - gpsp + - gw + - handy + - hatari + - kronos + - mame + - mame2000 + - mame2003 + - mame2003_plus + - mame2010 + - mame2015 + - mame2016 + - mesen + - mess + - mess2016 + - mgba + - mrboom + - mupen64plus + - mupen64plus_next + - neocd + - nestopia + - np2kai + - nxengine + - o2em + - opera + - parallel_n64 + - pcsx_rearmed + - picodrive + - pokemini + - ppsspp + - prboom + - prosystem + - puae + - puae2021 + - px68k + - quasi88 + - quicknes + - retro8 + - scummvm + - smsplus_gx + - snes9x + - snes9x2005 + - snes9x2010 + - stella + - stella2014 + - superflappybirds + - tgbdual + - theodore + - tic80 + - tyrquake + - vba_next + - vecx + - vice + - virtualjaguar + - x1 + - xrick + - yabause x86_64: architecture: x86_64 cores: - - lr-81 - - lr-atari800 - - lr-beetle-lynx - - lr-beetle-ngp - - lr-beetle-pce - - lr-beetle-pce-fast - - lr-beetle-pcfx - - lr-beetle-psx - - lr-beetle-saturn - - lr-beetle-supergrafx - - lr-beetle-vb - - lr-beetle-wswan - - lr-bennugd - - lr-bluemsx - - lr-bsnes - - lr-caprice32 - - lr-desmume - - lr-desmume2015 - - lr-dinothawr - - lr-dirksimple - - lr-dosbox - - lr-dosbox-pure - - lr-ep128emu - - lr-fbalpha2012 - - lr-fbneo - - lr-fceumm - - lr-flycast - - lr-flycast-dev - - lr-fmsx - - lr-freechaf - - lr-freeintv - - lr-fuse - - lr-gambatte - - lr-geargrafx - - lr-gearsystem - - lr-genesis-plus-gx - - lr-gpsp - - lr-gw - - lr-handy - - lr-hatari - - lr-kronos - - lr-mame - - lr-mame2000 - - lr-mame2003 - - lr-mame2003-plus - - lr-mame2010 - - lr-mame2015 - - lr-mame2016 - - lr-mesen - - lr-mess - - lr-mess2016 - - lr-mgba - - lr-mrboom - - lr-mupen64plus - - lr-mupen64plus-next - - lr-neocd - - lr-nestopia - - lr-np2kai - - lr-nxengine - - lr-o2em - - lr-opera - - lr-parallel-n64 - - lr-pcsx-rearmed - - lr-picodrive - - lr-pokemini - - lr-ppsspp - - lr-prboom - - lr-prosystem - - lr-puae - - lr-puae2021 - - lr-px68k - - lr-quasi88 - - lr-quicknes - - lr-retro8 - - lr-scummvm - - lr-smsplus-gx - - lr-snes9x - - lr-snes9x2005 - - lr-snes9x2010 - - lr-stella - - lr-stella2014 - - lr-superflappybirds - - lr-tgbdual - - lr-theodore - - lr-tic80 - - lr-tyrquake - - lr-vba-next - - lr-vecx - - lr-vice - - lr-virtualjaguar - - lr-x1 - - lr-xrick - - lr-yabause + - '81' + - atari800 + - beetle_lynx + - beetle_ngp + - beetle_pce + - beetle_pce_fast + - beetle_pcfx + - beetle_psx + - beetle_saturn + - beetle_supergrafx + - beetle_vb + - beetle_wswan + - bennugd + - bluemsx + - bsnes + - caprice32 + - desmume + - desmume2015 + - dinothawr + - dirksimple + - dosbox + - dosbox_pure + - ep128emu + - fbalpha2012 + - fbneo + - fceumm + - flycast + - flycast_dev + - fmsx + - freechaf + - freeintv + - fuse + - gambatte + - geargrafx + - gearsystem + - genesis_plus_gx + - gpsp + - gw + - handy + - hatari + - kronos + - mame + - mame2000 + - mame2003 + - mame2003_plus + - mame2010 + - mame2015 + - mame2016 + - mesen + - mess + - mess2016 + - mgba + - mrboom + - mupen64plus + - mupen64plus_next + - neocd + - nestopia + - np2kai + - nxengine + - o2em + - opera + - parallel_n64 + - pcsx_rearmed + - picodrive + - pokemini + - ppsspp + - prboom + - prosystem + - puae + - puae2021 + - px68k + - quasi88 + - quicknes + - retro8 + - scummvm + - smsplus_gx + - snes9x + - snes9x2005 + - snes9x2010 + - stella + - stella2014 + - superflappybirds + - tgbdual + - theodore + - tic80 + - tyrquake + - vba_next + - vecx + - vice + - virtualjaguar + - x1 + - xrick + - yabause diff --git a/scripts/scraper/targets/emudeck_targets_scraper.py b/scripts/scraper/targets/emudeck_targets_scraper.py index f41bf858..3e703e6b 100644 --- a/scripts/scraper/targets/emudeck_targets_scraper.py +++ b/scripts/scraper/targets/emudeck_targets_scraper.py @@ -28,7 +28,21 @@ WINDOWS_CHECKBIOS_URL = ( "main/functions/checkBIOS.ps1" ) -# Patterns for emulator name extraction from shell install/check functions +# checkBIOS functions check by system, not by core. Map to actual emulators. +# Source: EmuDeck install scripts + wiki documentation. +_BIOS_SYSTEM_TO_CORES: dict[str, list[str]] = { + "ps1bios": ["beetle_psx", "pcsx_rearmed", "duckstation", "swanstation"], + "ps2bios": ["pcsx2"], + "segacdbios": ["genesisplusgx", "picodrive"], + "saturnbios": ["beetle_saturn", "kronos", "yabasanshiro", "yabause"], + "dreamcastbios": ["flycast"], + "dsbios": ["melonds", "desmume"], + "ryujinxbios": [], # standalone, not libretro + "yuzubios": [], # standalone, not libretro + "citronbios": ["citron"], +} + +# Patterns for BIOS check function names _SH_EMULATOR_RE = re.compile( r'(?:function\s+|^)(?:check|install|setup)([A-Za-z0-9_]+)\s*\(', re.MULTILINE, @@ -51,27 +65,18 @@ def _fetch(url: str) -> str | None: return None -def _extract_sh_emulators(text: str) -> list[str]: - """Extract emulator names from checkBIOS.sh function declarations.""" +def _extract_cores(text: str, pattern: re.Pattern[str]) -> list[str]: + """Extract core names by parsing BIOS check functions and mapping to cores.""" seen: set[str] = set() results: list[str] = [] - for m in _SH_EMULATOR_RE.finditer(text): - name = m.group(1).lower() - if name and name not in seen: - seen.add(name) - results.append(name) - return sorted(results) - - -def _extract_ps1_emulators(text: str) -> list[str]: - """Extract emulator names from checkBIOS.ps1 function declarations.""" - seen: set[str] = set() - results: list[str] = [] - for m in _PS1_EMULATOR_RE.finditer(text): - name = m.group(1).lower() - if name and name not in seen: - seen.add(name) - results.append(name) + for m in pattern.finditer(text): + system_name = m.group(1).lower() + # Map system BIOS check to actual core names + cores = _BIOS_SYSTEM_TO_CORES.get(system_name, []) + for core in cores: + if core not in seen: + seen.add(core) + results.append(core) return sorted(results) @@ -84,11 +89,11 @@ class Scraper(BaseTargetScraper): def fetch_targets(self) -> dict: print(" fetching SteamOS checkBIOS.sh...", file=sys.stderr) sh_text = _fetch(STEAMOS_CHECKBIOS_URL) - steamos_cores = _extract_sh_emulators(sh_text) if sh_text else [] + steamos_cores = _extract_cores(sh_text, _SH_EMULATOR_RE) if sh_text else [] print(" fetching Windows checkBIOS.ps1...", file=sys.stderr) ps1_text = _fetch(WINDOWS_CHECKBIOS_URL) - windows_cores = _extract_ps1_emulators(ps1_text) if ps1_text else [] + windows_cores = _extract_cores(ps1_text, _PS1_EMULATOR_RE) if ps1_text else [] targets: dict[str, dict] = { "steamos": { diff --git a/scripts/scraper/targets/retropie_targets_scraper.py b/scripts/scraper/targets/retropie_targets_scraper.py index 89360ac6..c9972f92 100644 --- a/scripts/scraper/targets/retropie_targets_scraper.py +++ b/scripts/scraper/targets/retropie_targets_scraper.py @@ -138,9 +138,15 @@ class Scraper(BaseTargetScraper): if not module_id: print(f" warning: no rp_module_id in {filename}", file=sys.stderr) continue + # Normalize: strip lr- prefix and convert hyphens to underscores + # to match emulator profile keys (lr-beetle-psx -> beetle_psx) + core_name = module_id + if core_name.startswith("lr-"): + core_name = core_name[3:] + core_name = core_name.replace("-", "_") for platform in PLATFORM_FLAGS: if _is_available(flags, platform): - platform_cores[platform].append(module_id) + platform_cores[platform].append(core_name) print(f" parsed {len(filenames)} scriptmodules", file=sys.stderr)