mirror of
https://github.com/Abdess/retroarch_system.git
synced 2026-10-23 20:29:06 -05:00
feat: record the systems each libretro core runs
This commit is contained in:
1 parent
2aaf0e50d1
commit
9a1bf4baa6
11 files changed
+2462
-5
No files matched your search
@@ -5813,6 +5813,407 @@ dual_mode_cores:
|
||||
- scummvm
|
||||
- stella
|
||||
- tic80
|
||||
libretro_systems:
|
||||
"81":
|
||||
- zx81
|
||||
a5200:
|
||||
- atari5200
|
||||
applewin:
|
||||
- apple2
|
||||
arduous:
|
||||
- arduboy
|
||||
atari800:
|
||||
- atari5200
|
||||
- atari800
|
||||
beetle-saturn:
|
||||
- saturn
|
||||
bennugd:
|
||||
- bennugd
|
||||
bk:
|
||||
- bk
|
||||
blastem:
|
||||
- megadrive
|
||||
bluemsx:
|
||||
- colecovision
|
||||
- msx1
|
||||
- msx2
|
||||
- msx2+
|
||||
- msxturbor
|
||||
- spectravideo
|
||||
boom3:
|
||||
- doom3
|
||||
bsnes:
|
||||
- sgb-msu1
|
||||
- snes
|
||||
- snes-msu1
|
||||
bsnes_hd:
|
||||
- sgb-msu1
|
||||
- snes
|
||||
- snes-msu1
|
||||
cap32:
|
||||
- amstradcpc
|
||||
- gx4000
|
||||
desmume:
|
||||
- nds
|
||||
dice:
|
||||
- dice
|
||||
dolphin:
|
||||
- gamecube
|
||||
- wii
|
||||
dosbox_pure:
|
||||
- dos
|
||||
easyrpg:
|
||||
- easyrpg
|
||||
emuscv:
|
||||
- scv
|
||||
ep128emu-core:
|
||||
- enterprise
|
||||
- tvc
|
||||
fake08:
|
||||
- pico8
|
||||
fbalpha:
|
||||
- fbneo
|
||||
- neogeo
|
||||
fbneo:
|
||||
- fbneo
|
||||
- neogeo
|
||||
fceumm:
|
||||
- fds
|
||||
- nes
|
||||
flycast:
|
||||
- atomiswave
|
||||
- dreamcast
|
||||
- naomi
|
||||
- naomi2
|
||||
- systemsp
|
||||
flycastvl:
|
||||
- atomiswave
|
||||
- dreamcast
|
||||
- naomi
|
||||
fmsx:
|
||||
- msx1
|
||||
- msx2
|
||||
- msx2+
|
||||
freechaf:
|
||||
- channelf
|
||||
freeintv:
|
||||
- intellivision
|
||||
freej2me:
|
||||
- j2me
|
||||
fuse:
|
||||
- zxspectrum
|
||||
gambatte:
|
||||
- gb
|
||||
- gbc
|
||||
gearcoleco:
|
||||
- colecovision
|
||||
gearsystem:
|
||||
- gamegear
|
||||
- mastersystem
|
||||
- multivision
|
||||
- sg1000
|
||||
genesisplusgx:
|
||||
- gamegear
|
||||
- mastersystem
|
||||
- megacd
|
||||
- megadrive
|
||||
- megadrive-msu
|
||||
- pico
|
||||
- sg1000
|
||||
genesisplusgx-expanded:
|
||||
- megadrive
|
||||
genesisplusgx-wide:
|
||||
- megadrive
|
||||
- megadrive-msu
|
||||
- pico
|
||||
gong:
|
||||
- gong
|
||||
gpsp:
|
||||
- gba
|
||||
gw:
|
||||
- gameandwatch
|
||||
handy:
|
||||
- lynx
|
||||
hatari:
|
||||
- atarist
|
||||
hatarib:
|
||||
- atarist
|
||||
holani:
|
||||
- lynx
|
||||
imame4all:
|
||||
- mame
|
||||
- neogeo
|
||||
kronos:
|
||||
- saturn
|
||||
lowresnx:
|
||||
- lowresnx
|
||||
lutro:
|
||||
- lutro
|
||||
mame:
|
||||
- adam
|
||||
- advision
|
||||
- apfm1000
|
||||
- apple2
|
||||
- arcadia
|
||||
- archimedes
|
||||
- astrocade
|
||||
- atom
|
||||
- bbcmicro
|
||||
- beena
|
||||
- bk
|
||||
- camplynx
|
||||
- cave3rd
|
||||
- cdi
|
||||
- cgenie
|
||||
- coco
|
||||
- crvision
|
||||
- ctvboy
|
||||
- dragon64
|
||||
- electron
|
||||
- enterprise
|
||||
- fm7
|
||||
- fmtowns
|
||||
- gaelco
|
||||
- gamate
|
||||
- gameandwatch
|
||||
- gamecom
|
||||
- gamepock
|
||||
- gmaster
|
||||
- gp32
|
||||
- laser310
|
||||
- lcdgames
|
||||
- loopy
|
||||
- macintosh
|
||||
- mame
|
||||
- mc10
|
||||
- megaduck
|
||||
- model2
|
||||
- mz2000
|
||||
- mz2500
|
||||
- mz700
|
||||
- mz800
|
||||
- mz80k
|
||||
- namco22
|
||||
- neogeo
|
||||
- oricatmos
|
||||
- pc60
|
||||
- pc80
|
||||
- pcw
|
||||
- pdp1
|
||||
- pv1000
|
||||
- pv2000
|
||||
- rx78
|
||||
- samcoupe
|
||||
- sc3000
|
||||
- segaai
|
||||
- socrates
|
||||
- supracan
|
||||
- sv8000
|
||||
- ti99
|
||||
- trs80
|
||||
- tutor
|
||||
- tvc
|
||||
- tvgames
|
||||
- uzebox
|
||||
- vc4000
|
||||
- vectrex
|
||||
- vgmplay
|
||||
- vis
|
||||
- vsmile
|
||||
- xegs
|
||||
mame078plus:
|
||||
- mame
|
||||
- neogeo
|
||||
mednafen_lynx:
|
||||
- lynx
|
||||
mednafen_ngp:
|
||||
- ngp
|
||||
- ngpc
|
||||
mednafen_psx:
|
||||
- psx
|
||||
mednafen_supergrafx:
|
||||
- supergrafx
|
||||
mednafen_wswan:
|
||||
- wswan
|
||||
- wswanc
|
||||
melonds:
|
||||
- nds
|
||||
melondsds:
|
||||
- nds
|
||||
mesen:
|
||||
- fds
|
||||
- nes
|
||||
mesen-s:
|
||||
- gb
|
||||
- gbc
|
||||
- satellaview
|
||||
- sgb
|
||||
- snes
|
||||
mgba:
|
||||
- gb
|
||||
- gba
|
||||
- gbc
|
||||
- sgb
|
||||
minivmac:
|
||||
- macintosh
|
||||
mrboom:
|
||||
- mrboom
|
||||
mupen64plus-next:
|
||||
- n64
|
||||
- n64dd
|
||||
neocd:
|
||||
- neogeocd
|
||||
nestopia:
|
||||
- fds
|
||||
- nes
|
||||
np2kai:
|
||||
- pc98
|
||||
nxengine:
|
||||
- cavestory
|
||||
o2em:
|
||||
- odyssey2
|
||||
- videopacplus
|
||||
opera:
|
||||
- 3do
|
||||
parallel_n64:
|
||||
- n64
|
||||
- n64dd
|
||||
pce:
|
||||
- pcengine
|
||||
- pcenginecd
|
||||
pce_fast:
|
||||
- pcengine
|
||||
- pcenginecd
|
||||
pcfx:
|
||||
- pcfx
|
||||
pcsx2:
|
||||
- ps2
|
||||
pcsx_rearmed:
|
||||
- psx
|
||||
pd777:
|
||||
- cassettevision
|
||||
picodrive:
|
||||
- gamegear
|
||||
- mastersystem
|
||||
- megacd
|
||||
- megadrive
|
||||
- pico
|
||||
- sega32x
|
||||
play:
|
||||
- ps2
|
||||
pocketsnes:
|
||||
- satellaview
|
||||
- snes
|
||||
- snes-msu1
|
||||
pokemini:
|
||||
- pokemini
|
||||
potator:
|
||||
- supervision
|
||||
ppsspp:
|
||||
- psp
|
||||
prboom:
|
||||
- prboom
|
||||
prosystem:
|
||||
- atari7800
|
||||
puae:
|
||||
- amiga1200
|
||||
- amiga500
|
||||
- amigacd32
|
||||
- amigacdtv
|
||||
puae2021:
|
||||
- amiga1200
|
||||
- amiga500
|
||||
- amigacd32
|
||||
- amigacdtv
|
||||
px68k:
|
||||
- x68000
|
||||
quasi88:
|
||||
- pc88
|
||||
reminiscence:
|
||||
- reminiscence
|
||||
same_cdi:
|
||||
- cdi
|
||||
sameduck:
|
||||
- megaduck
|
||||
scummvm:
|
||||
- scummvm
|
||||
smsplus:
|
||||
- gamegear
|
||||
- mastersystem
|
||||
snes9x:
|
||||
- satellaview
|
||||
- snes
|
||||
- snes-msu1
|
||||
- sufami
|
||||
snes9x_next:
|
||||
- snes
|
||||
squirreljme:
|
||||
- j2me
|
||||
stella:
|
||||
- atari2600
|
||||
stella2014:
|
||||
- atari2600
|
||||
superbroswar:
|
||||
- superbroswar
|
||||
swanstation:
|
||||
- psx
|
||||
tgbdual:
|
||||
- gb2players
|
||||
- gbc2players
|
||||
theodore:
|
||||
- thomson
|
||||
tic80:
|
||||
- tic80
|
||||
tyrquake:
|
||||
- quake
|
||||
uae4arm:
|
||||
- amiga1200
|
||||
- amiga500
|
||||
- amigacd32
|
||||
- amigacdtv
|
||||
uzem:
|
||||
- uzebox
|
||||
vb:
|
||||
- virtualboy
|
||||
vba-m:
|
||||
- gb
|
||||
- gba
|
||||
- gbc
|
||||
vecx:
|
||||
- vectrex
|
||||
vemulator:
|
||||
- vemulator
|
||||
vice_x128:
|
||||
- c128
|
||||
vice_x64:
|
||||
- c64
|
||||
vice_x64sc:
|
||||
- c64
|
||||
vice_xpet:
|
||||
- pet
|
||||
vice_xplus4:
|
||||
- cplus4
|
||||
vice_xscpu64:
|
||||
- c64
|
||||
vice_xvic:
|
||||
- c20
|
||||
vircon32:
|
||||
- vircon32
|
||||
virtualjaguar:
|
||||
- jaguar
|
||||
- jaguarcd
|
||||
vitaquake2:
|
||||
- quake2
|
||||
wasm4:
|
||||
- wasm4
|
||||
x1:
|
||||
- x1
|
||||
xrick:
|
||||
- xrick
|
||||
yabasanshiro:
|
||||
- saturn
|
||||
zc210:
|
||||
- zc210
|
||||
launchers:
|
||||
- emulator: duckstation
|
||||
build: standalone
|
||||
|
||||
@@ -5015,3 +5015,382 @@ dual_mode_cores:
|
||||
- scummvm
|
||||
- stella
|
||||
- yabasanshiro
|
||||
libretro_systems:
|
||||
"81":
|
||||
- zx81
|
||||
a5200:
|
||||
- atari5200
|
||||
applewin:
|
||||
- apple2
|
||||
arduous:
|
||||
- arduboy
|
||||
atari800:
|
||||
- atari5200
|
||||
- atari800
|
||||
beetle-saturn:
|
||||
- saturn
|
||||
bennugd:
|
||||
- bennugd
|
||||
blastem:
|
||||
- megadrive
|
||||
bluemsx:
|
||||
- colecovision
|
||||
- msx1
|
||||
- msx2
|
||||
- msx2+
|
||||
- msxturbor
|
||||
- spectravideo
|
||||
boom3:
|
||||
- doom3
|
||||
bsnes:
|
||||
- sgb-msu1
|
||||
- snes
|
||||
- snes-msu1
|
||||
bsnes_hd:
|
||||
- sgb-msu1
|
||||
- snes
|
||||
- snes-msu1
|
||||
cap32:
|
||||
- amstradcpc
|
||||
- gx4000
|
||||
citra:
|
||||
- 3ds
|
||||
desmume:
|
||||
- nds
|
||||
dice:
|
||||
- dice
|
||||
dolphin:
|
||||
- gamecube
|
||||
- wii
|
||||
dosbox_pure:
|
||||
- dos
|
||||
easyrpg:
|
||||
- easyrpg
|
||||
emuscv:
|
||||
- scv
|
||||
fake08:
|
||||
- pico8
|
||||
fbalpha:
|
||||
- fbneo
|
||||
- neogeo
|
||||
fbneo:
|
||||
- fbneo
|
||||
- neogeo
|
||||
fceumm:
|
||||
- fds
|
||||
- nes
|
||||
flycast:
|
||||
- atomiswave
|
||||
- dreamcast
|
||||
- naomi
|
||||
- naomi2
|
||||
- systemsp
|
||||
flycast-xtreme:
|
||||
- atomiswave
|
||||
- dreamcast
|
||||
- naomi
|
||||
- naomi2
|
||||
- systemsp
|
||||
flycastvl:
|
||||
- atomiswave
|
||||
- dreamcast
|
||||
- naomi
|
||||
fmsx:
|
||||
- msx1
|
||||
- msx2
|
||||
- msx2+
|
||||
freechaf:
|
||||
- channelf
|
||||
freeintv:
|
||||
- intellivision
|
||||
freej2me:
|
||||
- j2me
|
||||
fuse:
|
||||
- zxspectrum
|
||||
gambatte:
|
||||
- gb
|
||||
- gbc
|
||||
gearsystem:
|
||||
- gamegear
|
||||
- mastersystem
|
||||
- multivision
|
||||
- sg1000
|
||||
genesisplusgx:
|
||||
- gamegear
|
||||
- mastersystem
|
||||
- megadrive
|
||||
- msu-md
|
||||
- pico
|
||||
- segacd
|
||||
- sg1000
|
||||
genesisplusgx-expanded:
|
||||
- megadrive
|
||||
genesisplusgx-wide:
|
||||
- megadrive
|
||||
- msu-md
|
||||
- pico
|
||||
geolith:
|
||||
- fbneo
|
||||
- neogeo
|
||||
gong:
|
||||
- gong
|
||||
gpsp:
|
||||
- gba
|
||||
gw:
|
||||
- gameandwatch
|
||||
handy:
|
||||
- lynx
|
||||
hatari:
|
||||
- atarist
|
||||
hatarib:
|
||||
- atarist
|
||||
holani:
|
||||
- lynx
|
||||
imame4all:
|
||||
- mame
|
||||
- neogeo
|
||||
kronos:
|
||||
- saturn
|
||||
lowresnx:
|
||||
- lowresnx
|
||||
lutro:
|
||||
- lutro
|
||||
mame:
|
||||
- adam
|
||||
- advision
|
||||
- apfm1000
|
||||
- apple2
|
||||
- apple2gs
|
||||
- arcadia
|
||||
- archimedes
|
||||
- astrocde
|
||||
- atom
|
||||
- bbc
|
||||
- camplynx
|
||||
- cdi
|
||||
- coco
|
||||
- crvision
|
||||
- electron
|
||||
- fm7
|
||||
- fmtowns
|
||||
- gamate
|
||||
- gameandwatch
|
||||
- gamecom
|
||||
- gamepock
|
||||
- gmaster
|
||||
- gp32
|
||||
- laser310
|
||||
- lcdgames
|
||||
- macintosh
|
||||
- mame
|
||||
- megaduck
|
||||
- namco22
|
||||
- neogeo
|
||||
- pdp1
|
||||
- plugnplay
|
||||
- pv1000
|
||||
- socrates
|
||||
- supracan
|
||||
- ti99
|
||||
- tutor
|
||||
- vc4000
|
||||
- vgmplay
|
||||
- vis
|
||||
- vsmile
|
||||
- xegs
|
||||
mame0139:
|
||||
- mame
|
||||
- neogeo
|
||||
mame078plus:
|
||||
- mame
|
||||
- neogeo
|
||||
mednafen_lynx:
|
||||
- lynx
|
||||
mednafen_ngp:
|
||||
- ngp
|
||||
- ngpc
|
||||
mednafen_psx:
|
||||
- psx
|
||||
mednafen_supergrafx:
|
||||
- supergrafx
|
||||
mednafen_wswan:
|
||||
- wswan
|
||||
- wswanc
|
||||
melonds:
|
||||
- nds
|
||||
melondsds:
|
||||
- nds
|
||||
mesen:
|
||||
- fds
|
||||
- nes
|
||||
mesen-s:
|
||||
- gb
|
||||
- gbc
|
||||
- satellaview
|
||||
- sgb
|
||||
- snes
|
||||
mgba:
|
||||
- gb
|
||||
- gba
|
||||
- gbc
|
||||
- sgb
|
||||
minivmac:
|
||||
- macintosh
|
||||
mrboom:
|
||||
- mrboom
|
||||
mupen64plus-next:
|
||||
- n64
|
||||
- n64dd
|
||||
neocd:
|
||||
- neogeocd
|
||||
nestopia:
|
||||
- fds
|
||||
- nes
|
||||
np2kai:
|
||||
- pc98
|
||||
nxengine:
|
||||
- cavestory
|
||||
o2em:
|
||||
- o2em
|
||||
- videopacplus
|
||||
openlara:
|
||||
- traider1
|
||||
opera:
|
||||
- 3do
|
||||
parallel_n64:
|
||||
- n64
|
||||
- n64dd
|
||||
pce:
|
||||
- pcengine
|
||||
- pcenginecd
|
||||
pce_fast:
|
||||
- pcengine
|
||||
- pcenginecd
|
||||
pcfx:
|
||||
- pcfx
|
||||
pcsx2:
|
||||
- ps2
|
||||
pcsx_rearmed:
|
||||
- psx
|
||||
picodrive:
|
||||
- gamegear
|
||||
- mastersystem
|
||||
- megadrive
|
||||
- pico
|
||||
- sega32x
|
||||
- segacd
|
||||
play:
|
||||
- ps2
|
||||
pocketsnes:
|
||||
- satellaview
|
||||
- snes
|
||||
- snes-msu1
|
||||
pokemini:
|
||||
- pokemini
|
||||
potator:
|
||||
- supervision
|
||||
ppsspp:
|
||||
- psp
|
||||
prboom:
|
||||
- prboom
|
||||
prosystem:
|
||||
- atari7800
|
||||
puae:
|
||||
- amiga1200
|
||||
- amiga500
|
||||
- amigacd32
|
||||
- amigacdtv
|
||||
puae2021:
|
||||
- amiga1200
|
||||
- amiga500
|
||||
- amigacd32
|
||||
- amigacdtv
|
||||
px68k:
|
||||
- x68000
|
||||
quasi88:
|
||||
- pc88
|
||||
reminiscence:
|
||||
- reminiscence
|
||||
same_cdi:
|
||||
- cdi
|
||||
sameduck:
|
||||
- megaduck
|
||||
scummvm:
|
||||
- scummvm
|
||||
smsplus:
|
||||
- gamegear
|
||||
- mastersystem
|
||||
snes9x:
|
||||
- satellaview
|
||||
- snes
|
||||
- snes-msu1
|
||||
- sufami
|
||||
snes9x_next:
|
||||
- snes
|
||||
squirreljme:
|
||||
- j2me
|
||||
stella:
|
||||
- atari2600
|
||||
stella2014:
|
||||
- atari2600
|
||||
superbroswar:
|
||||
- superbroswar
|
||||
swanstation:
|
||||
- psx
|
||||
tgbdual:
|
||||
- gb2players
|
||||
- gbc2players
|
||||
theodore:
|
||||
- thomson
|
||||
tic80:
|
||||
- tic80
|
||||
tyrquake:
|
||||
- quake
|
||||
uae4arm:
|
||||
- amiga1200
|
||||
- amiga500
|
||||
- amigacd32
|
||||
- amigacdtv
|
||||
uzem:
|
||||
- uzebox
|
||||
vb:
|
||||
- virtualboy
|
||||
vba-m:
|
||||
- gb
|
||||
- gba
|
||||
- gbc
|
||||
vecx:
|
||||
- vectrex
|
||||
vemulator:
|
||||
- vemulator
|
||||
vice_x128:
|
||||
- c128
|
||||
vice_x64:
|
||||
- c64
|
||||
vice_x64sc:
|
||||
- c64
|
||||
vice_xpet:
|
||||
- pet
|
||||
vice_xplus4:
|
||||
- cplus4
|
||||
vice_xscpu64:
|
||||
- c64
|
||||
vice_xvic:
|
||||
- c20
|
||||
vircon32:
|
||||
- vircon32
|
||||
virtualjaguar:
|
||||
- jaguar
|
||||
- jaguarcd
|
||||
vitaquake2:
|
||||
- quake2
|
||||
wasm4:
|
||||
- wasm4
|
||||
x1:
|
||||
- x1
|
||||
xrick:
|
||||
- xrick
|
||||
yabasanshiro:
|
||||
- saturn
|
||||
zc210:
|
||||
- zc210
|
||||
@@ -3409,6 +3409,431 @@ systems:
|
||||
mandatory_declared: true
|
||||
native_name: ST-V
|
||||
native_id: stv
|
||||
libretro_systems:
|
||||
"2048":
|
||||
- "2048"
|
||||
"81":
|
||||
- zx81
|
||||
a5200:
|
||||
- atari5200
|
||||
amiberry:
|
||||
- amiga1200
|
||||
- amiga600
|
||||
- amigacd32
|
||||
- amigacdtv
|
||||
applewin:
|
||||
- apple2
|
||||
arduous:
|
||||
- arduboy
|
||||
atari800:
|
||||
- atari5200
|
||||
- atari800
|
||||
b2:
|
||||
- bbcmicro
|
||||
bk:
|
||||
- bk
|
||||
bluemsx:
|
||||
- colecovision
|
||||
- msx1
|
||||
- msx2
|
||||
- msxturbor
|
||||
- multivision
|
||||
- sg1000
|
||||
- spectravideo
|
||||
boom3:
|
||||
- doom3
|
||||
bsnes:
|
||||
- gb
|
||||
- gbc
|
||||
- satellaview
|
||||
- snes
|
||||
bsneshd:
|
||||
- satellaview
|
||||
- snes
|
||||
cannonball:
|
||||
- outrun
|
||||
cap32:
|
||||
- amstradcpc
|
||||
- gx4000
|
||||
cdi2015:
|
||||
- cdi
|
||||
craft:
|
||||
- minecraft
|
||||
crocods:
|
||||
- amstradcpc
|
||||
desmume:
|
||||
- nds
|
||||
dice:
|
||||
- dice
|
||||
dinothawr:
|
||||
- dinothawr
|
||||
dirksimple:
|
||||
- daphne
|
||||
dolphin:
|
||||
- gamecube
|
||||
- wii
|
||||
dosbox_pure:
|
||||
- dos
|
||||
easyrpg:
|
||||
- easyrpg
|
||||
ecwolf:
|
||||
- wolfenstein3d
|
||||
eightyone:
|
||||
- zx81
|
||||
- zxspectrum
|
||||
emuscv:
|
||||
- scv
|
||||
exel-hence:
|
||||
- exl100
|
||||
fake08:
|
||||
- pico8
|
||||
fbneo:
|
||||
- channelf
|
||||
- colecovision
|
||||
- fbneo
|
||||
- fds
|
||||
- gamegear
|
||||
- mastersystem
|
||||
- megadrive
|
||||
- msx1
|
||||
- neogeo
|
||||
- neogeocd
|
||||
- nes
|
||||
- ngp
|
||||
- pcengine
|
||||
- sg1000
|
||||
- supergrafx
|
||||
- zxspectrum
|
||||
fceumm:
|
||||
- fds
|
||||
- nes
|
||||
flycast:
|
||||
- 240ptestsuite
|
||||
- atomiswave
|
||||
- dreamcast
|
||||
- naomi
|
||||
- naomigd
|
||||
flycast-next:
|
||||
- atomiswave
|
||||
- dreamcast
|
||||
- naomi
|
||||
- naomi2
|
||||
- naomigd
|
||||
fmsx:
|
||||
- msx1
|
||||
- msx2
|
||||
freechaf:
|
||||
- channelf
|
||||
freeintv:
|
||||
- intellivision
|
||||
fuse:
|
||||
- zxspectrum
|
||||
gambatte:
|
||||
- 240ptestsuite
|
||||
- gb
|
||||
- gbc
|
||||
gearcoleco:
|
||||
- colecovision
|
||||
geargrafx:
|
||||
- pcengine
|
||||
- pcenginecd
|
||||
- supergrafx
|
||||
gearsystem:
|
||||
- gamegear
|
||||
- mastersystem
|
||||
- multivision
|
||||
- sg1000
|
||||
genesisplusgx:
|
||||
- 240ptestsuite
|
||||
- gamegear
|
||||
- mastersystem
|
||||
- megadrive
|
||||
- segacd
|
||||
- sg1000
|
||||
genesisplusgx_ex:
|
||||
- megadrive
|
||||
genesisplusgxwide:
|
||||
- megadrive
|
||||
geolith:
|
||||
- neogeo
|
||||
- neogeocd
|
||||
gong:
|
||||
- gong
|
||||
gpsp:
|
||||
- gba
|
||||
gw:
|
||||
- gw
|
||||
handy:
|
||||
- lynx
|
||||
hatari:
|
||||
- atarist
|
||||
hatarib:
|
||||
- atarist
|
||||
holani:
|
||||
- lynx
|
||||
hypseus_singe:
|
||||
- daphne
|
||||
imageviewer:
|
||||
- imageviewer
|
||||
kronos:
|
||||
- saturn
|
||||
- stv
|
||||
lowresnx:
|
||||
- lowresnx
|
||||
lutro:
|
||||
- lutro
|
||||
m2000:
|
||||
- p2000t
|
||||
mame0258:
|
||||
- mame
|
||||
mame0278:
|
||||
- mame
|
||||
mame2000:
|
||||
- mame
|
||||
- neogeo
|
||||
mame2003:
|
||||
- mame
|
||||
- neogeo
|
||||
mame2003_plus:
|
||||
- mame
|
||||
- neogeo
|
||||
mame2010:
|
||||
- mame
|
||||
- neogeo
|
||||
mame2015:
|
||||
- mame
|
||||
- neogeo
|
||||
mame2016:
|
||||
- neogeo
|
||||
mednafen_lynx:
|
||||
- lynx
|
||||
mednafen_ngp:
|
||||
- ngp
|
||||
- ngpc
|
||||
mednafen_pce_fast:
|
||||
- pcengine
|
||||
- pcenginecd
|
||||
mednafen_pcfx:
|
||||
- pcfx
|
||||
mednafen_psx:
|
||||
- psx
|
||||
mednafen_psx_hw:
|
||||
- psx
|
||||
mednafen_saturn:
|
||||
- saturn
|
||||
mednafen_stv:
|
||||
- stv
|
||||
mednafen_supafaust:
|
||||
- snes
|
||||
mednafen_supergrafx:
|
||||
- 240ptestsuite
|
||||
- pcengine
|
||||
- pcenginecd
|
||||
- supergrafx
|
||||
mednafen_vb:
|
||||
- virtualboy
|
||||
mednafen_wswan:
|
||||
- pcv2
|
||||
- wswan
|
||||
- wswanc
|
||||
melonds:
|
||||
- nds
|
||||
mesen:
|
||||
- fds
|
||||
- nes
|
||||
mesen_s:
|
||||
- gb
|
||||
- gbc
|
||||
- satellaview
|
||||
- snes
|
||||
meteor:
|
||||
- gba
|
||||
mgba:
|
||||
- 240ptestsuite
|
||||
- gb
|
||||
- gba
|
||||
- gbc
|
||||
minivmac:
|
||||
- macintosh
|
||||
mojozork:
|
||||
- zmachine
|
||||
mrboom:
|
||||
- mrboom
|
||||
mu:
|
||||
- palm
|
||||
mupen64plus:
|
||||
- n64
|
||||
mupen64plus_next:
|
||||
- 64dd
|
||||
- n64
|
||||
neocd:
|
||||
- neogeocd
|
||||
nestopia:
|
||||
- 240ptestsuite
|
||||
- fds
|
||||
- nes
|
||||
np2kai:
|
||||
- pc98
|
||||
nxengine:
|
||||
- cavestory
|
||||
o2em:
|
||||
- o2em
|
||||
- videopacplus
|
||||
opera:
|
||||
- 3do
|
||||
parallel_n64:
|
||||
- 64dd
|
||||
- n64
|
||||
pcsx2:
|
||||
- ps2
|
||||
pcsx_rearmed:
|
||||
- psx
|
||||
pd777:
|
||||
- cassettevision
|
||||
picodrive:
|
||||
- gamegear
|
||||
- mastersystem
|
||||
- megadrive
|
||||
- pico
|
||||
- sega32x
|
||||
- segacd
|
||||
- sg1000
|
||||
pokemini:
|
||||
- pokemini
|
||||
potator:
|
||||
- supervision
|
||||
ppsspp:
|
||||
- psp
|
||||
prboom:
|
||||
- doom
|
||||
prosystem:
|
||||
- atari7800
|
||||
ps2:
|
||||
- ps2
|
||||
puae:
|
||||
- amiga1200
|
||||
- amiga600
|
||||
- amigacd32
|
||||
- amigacdtv
|
||||
puae2021:
|
||||
- amiga1200
|
||||
- amiga600
|
||||
- amigacd32
|
||||
- amigacdtv
|
||||
px68k:
|
||||
- x68000
|
||||
quasi88:
|
||||
- pc88
|
||||
quicknes:
|
||||
- nes
|
||||
race:
|
||||
- ngp
|
||||
- ngpc
|
||||
rb5000:
|
||||
- vg5000
|
||||
reminiscence:
|
||||
- flashback
|
||||
retro8:
|
||||
- pico8
|
||||
retrodream:
|
||||
- dreamcast
|
||||
same_cdi:
|
||||
- cdi
|
||||
sameboy:
|
||||
- gb
|
||||
- gbc
|
||||
sameduck:
|
||||
- megaduck
|
||||
scummvm:
|
||||
- scummvm
|
||||
snes9x:
|
||||
- 240ptestsuite
|
||||
- satellaview
|
||||
- snes
|
||||
- sufami
|
||||
snes9x2002:
|
||||
- snes
|
||||
snes9x2005:
|
||||
- snes
|
||||
snes9x2010:
|
||||
- snes
|
||||
stella:
|
||||
- atari2600
|
||||
stella2014:
|
||||
- atari2600
|
||||
stonesoup:
|
||||
- dungeoncrawlstonesoup
|
||||
sugarbox2:
|
||||
- amstradcpc
|
||||
- gx4000
|
||||
swanstation:
|
||||
- 240ptestsuite
|
||||
- psx
|
||||
tamalibretro:
|
||||
- tamagotchi
|
||||
tgbdual:
|
||||
- gb
|
||||
- gbc
|
||||
theodore:
|
||||
- thomson
|
||||
thepowdertoy:
|
||||
- thepowdertoy
|
||||
tic80:
|
||||
- tic80
|
||||
tyrquake:
|
||||
- quake
|
||||
uae4all:
|
||||
- amiga600
|
||||
uae4arm:
|
||||
- amiga1200
|
||||
- amiga600
|
||||
- amigacd32
|
||||
- amigacdtv
|
||||
uzem:
|
||||
- uzebox
|
||||
vecx:
|
||||
- vectrex
|
||||
vice_x128:
|
||||
- c64
|
||||
vice_x64:
|
||||
- c64
|
||||
vice_x64sc:
|
||||
- c64
|
||||
vice_xcbm2:
|
||||
- c64
|
||||
vice_xcbm5x0:
|
||||
- c64
|
||||
vice_xpet:
|
||||
- c64
|
||||
vice_xplus4:
|
||||
- c64
|
||||
vice_xscpu64:
|
||||
- c64
|
||||
vice_xvic:
|
||||
- c64
|
||||
- vic20
|
||||
vircon32:
|
||||
- vircon32
|
||||
virtualjaguar:
|
||||
- jaguar
|
||||
vitaquake2:
|
||||
- quake2
|
||||
vitaquake3:
|
||||
- quake3
|
||||
vitavoyager:
|
||||
- startrekvoyager
|
||||
wasm4:
|
||||
- wasm4
|
||||
x1:
|
||||
- x1
|
||||
xrick:
|
||||
- rickdangerous
|
||||
yabasanshiro:
|
||||
- saturn
|
||||
yabause:
|
||||
- saturn
|
||||
ymir:
|
||||
- saturn
|
||||
launchers:
|
||||
- emulator: hatari
|
||||
build: standalone
|
||||
|
||||
@@ -3047,6 +3047,478 @@ systems:
|
||||
native_path: bios/mame/hash/xegs.xml
|
||||
native_name: Atari XEGS
|
||||
name: Atari XEGS
|
||||
libretro_systems:
|
||||
"81":
|
||||
- zx81
|
||||
DoubleCherryGB:
|
||||
- gb
|
||||
- gb2players
|
||||
- gbc
|
||||
- gbc2players
|
||||
a5200:
|
||||
- atari5200
|
||||
amiarcadia:
|
||||
- arcadia
|
||||
- vc4000
|
||||
amiberry:
|
||||
- amiga1200
|
||||
- amiga4000
|
||||
- amiga500
|
||||
- amigacd32
|
||||
- amigacdtv
|
||||
applewin:
|
||||
- apple2
|
||||
ardens:
|
||||
- arduboy
|
||||
arduous:
|
||||
- arduboy
|
||||
atari800:
|
||||
- atari5200
|
||||
- atari800
|
||||
azahar:
|
||||
- 3ds
|
||||
b2:
|
||||
- bbcmicro
|
||||
bennugd:
|
||||
- bennugd
|
||||
bk:
|
||||
- bk
|
||||
bluemsx:
|
||||
- colecovision
|
||||
- msx1
|
||||
- msx2
|
||||
- msx2+
|
||||
- msxturbor
|
||||
- spectravideo
|
||||
boom3:
|
||||
- doom3
|
||||
boom3_xp:
|
||||
- doom3
|
||||
bsnes:
|
||||
- gb
|
||||
- sgb-msu1
|
||||
- snes
|
||||
- snes-msu1
|
||||
- sufami
|
||||
bsnes-jg:
|
||||
- snes
|
||||
bsnes_hd_beta:
|
||||
- sgb-msu1
|
||||
- snes
|
||||
- snes-msu1
|
||||
cannonball:
|
||||
- cannonball
|
||||
cap32:
|
||||
- amstradcpc
|
||||
- gx4000
|
||||
crocods:
|
||||
- amstradcpc
|
||||
desmume:
|
||||
- nds
|
||||
desmume2015:
|
||||
- nds
|
||||
dice:
|
||||
- dice
|
||||
dinothawr:
|
||||
- dinothawr
|
||||
dolphin:
|
||||
- gamecube
|
||||
- triforce
|
||||
- wii
|
||||
dosbox_pure:
|
||||
- dos
|
||||
doukutsu_rs:
|
||||
- cavestory
|
||||
easyrpg:
|
||||
- easyrpg
|
||||
ecwolf:
|
||||
- ecwolf
|
||||
emuscv:
|
||||
- scv
|
||||
ep128emu_core:
|
||||
- enterprise
|
||||
fake08:
|
||||
- pico8
|
||||
fbalpha:
|
||||
- cave
|
||||
- cps1
|
||||
- cps2
|
||||
- cps3
|
||||
- fbneo
|
||||
- neogeo
|
||||
fbalpha2012:
|
||||
- cave
|
||||
- cps1
|
||||
- cps2
|
||||
- cps3
|
||||
- fbneo
|
||||
fbalpha2012_cps1:
|
||||
- cps1
|
||||
fbalpha2012_cps2:
|
||||
- cps2
|
||||
fbalpha2012_cps3:
|
||||
- cps3
|
||||
fbalpha2012_neogeo:
|
||||
- fbneo
|
||||
- neogeo
|
||||
fbneo:
|
||||
- cave
|
||||
- colecovision
|
||||
- cps1
|
||||
- cps2
|
||||
- cps3
|
||||
- fbneo
|
||||
- gamegear
|
||||
- mastersystem
|
||||
- megadrive
|
||||
- msx1
|
||||
- msx2
|
||||
- msx2+
|
||||
- msxturbor
|
||||
- neogeo
|
||||
- neogeocd
|
||||
- pcengine
|
||||
- pcenginecd
|
||||
- supergrafx
|
||||
- zx81
|
||||
- zxspectrum
|
||||
fceumm:
|
||||
- fds
|
||||
- nes
|
||||
flycast:
|
||||
- atomiswave
|
||||
- dreamcast
|
||||
- naomi
|
||||
- naomi2
|
||||
freechaf:
|
||||
- channelf
|
||||
freeintv:
|
||||
- intellivision
|
||||
freej2me:
|
||||
- j2me
|
||||
frodo:
|
||||
- c64
|
||||
fuse:
|
||||
- zx81
|
||||
- zxspectrum
|
||||
gambatte:
|
||||
- gb
|
||||
- gbc
|
||||
gearcoleco:
|
||||
- adam
|
||||
- colecovision
|
||||
geargrafx:
|
||||
- supergrafx
|
||||
gearsystem:
|
||||
- gamegear
|
||||
- mastersystem
|
||||
- multivision
|
||||
- sg1000
|
||||
genesis_plus_gx:
|
||||
- gamegear
|
||||
- mastersystem
|
||||
- megacd
|
||||
- megadrive
|
||||
- megadrive-msu
|
||||
- sg1000
|
||||
genesis_plus_gx_expanded:
|
||||
- megadrive-msu
|
||||
genesis_plus_gx_wide:
|
||||
- megacd
|
||||
- megadrive
|
||||
- megadrive-msu
|
||||
geolith:
|
||||
- neogeo
|
||||
gpsp:
|
||||
- gba
|
||||
gw:
|
||||
- gw
|
||||
- lcdgames
|
||||
handy:
|
||||
- lynx
|
||||
hatari:
|
||||
- atarist
|
||||
hatarib:
|
||||
- atarist
|
||||
holani:
|
||||
- lynx
|
||||
imageviewer:
|
||||
- screenshots
|
||||
jollycv:
|
||||
- colecovision
|
||||
- crvision
|
||||
kronos:
|
||||
- saturn
|
||||
- segastv
|
||||
lowresnx:
|
||||
- lowresnx
|
||||
lutro:
|
||||
- lutro
|
||||
m2000:
|
||||
- p2000t
|
||||
mame:
|
||||
- adam
|
||||
- advision
|
||||
- apfm1000
|
||||
- apple2
|
||||
- apple2gs
|
||||
- aquarius
|
||||
- arcadia
|
||||
- archimedes
|
||||
- astrocade
|
||||
- atom
|
||||
- bbcmicro
|
||||
- camplynx
|
||||
- casloopy
|
||||
- cave
|
||||
- cdi
|
||||
- coco
|
||||
- crvision
|
||||
- electron
|
||||
- fm7
|
||||
- fmtowns
|
||||
- gaelco
|
||||
- gamate
|
||||
- gamecom
|
||||
- gamepock
|
||||
- gmaster
|
||||
- gp32
|
||||
- gw
|
||||
- hbmame
|
||||
- lcdgames
|
||||
- mame
|
||||
- megaduck
|
||||
- model2
|
||||
- neogeo64
|
||||
- odyssey2
|
||||
- oricatmos
|
||||
- pegasus
|
||||
- pv1000
|
||||
- scv
|
||||
- segastv
|
||||
- supracan
|
||||
- ti99
|
||||
- tutor
|
||||
- tvgames
|
||||
- vc4000
|
||||
- vg5k
|
||||
- vsmile
|
||||
- xegs
|
||||
- zinc
|
||||
mame2000:
|
||||
- mame
|
||||
mame2003:
|
||||
- mame
|
||||
- segastv
|
||||
mame2003_midway:
|
||||
- mame
|
||||
mame2003_plus:
|
||||
- cave
|
||||
- mame
|
||||
- segastv
|
||||
mame2010:
|
||||
- mame
|
||||
- segastv
|
||||
mame2014:
|
||||
- gaelco
|
||||
- mame
|
||||
- segastv
|
||||
mame2016:
|
||||
- cave
|
||||
- gaelco
|
||||
- mame
|
||||
- neogeo64
|
||||
- segastv
|
||||
mednafen_gba:
|
||||
- gba
|
||||
mednafen_lynx:
|
||||
- lynx
|
||||
mednafen_ngp:
|
||||
- ngp
|
||||
- ngpc
|
||||
mednafen_pce:
|
||||
- pcengine
|
||||
- pcenginecd
|
||||
mednafen_pce_fast:
|
||||
- pcengine
|
||||
- pcenginecd
|
||||
mednafen_pcfx:
|
||||
- pcfx
|
||||
mednafen_psx_hw:
|
||||
- psx
|
||||
mednafen_saturn:
|
||||
- saturn
|
||||
mednafen_snes:
|
||||
- snes
|
||||
mednafen_supergrafx:
|
||||
- supergrafx
|
||||
mednafen_vb:
|
||||
- virtualboy
|
||||
mednafen_wswan:
|
||||
- wswan
|
||||
- wswanc
|
||||
melonds:
|
||||
- nds
|
||||
melondsds:
|
||||
- nds
|
||||
mesen:
|
||||
- fds
|
||||
- nes
|
||||
mesen-s:
|
||||
- gb
|
||||
- satellaview
|
||||
- sgb
|
||||
- snes
|
||||
- snes-msu1
|
||||
mgba:
|
||||
- gba
|
||||
- sgb
|
||||
mupen64plus_next:
|
||||
- n64
|
||||
- n64dd
|
||||
nekop2:
|
||||
- pc98
|
||||
neocd:
|
||||
- neogeocd
|
||||
nestopia:
|
||||
- fds
|
||||
- nes
|
||||
noods:
|
||||
- nds
|
||||
np2kai:
|
||||
- pc98
|
||||
nxengine:
|
||||
- cavestory
|
||||
o2em:
|
||||
- odyssey2
|
||||
openlara:
|
||||
- openlara
|
||||
opera:
|
||||
- 3do
|
||||
parallel_n64:
|
||||
- n64
|
||||
- n64dd
|
||||
pcsx2:
|
||||
- ps2
|
||||
pcsx_rearmed:
|
||||
- psx
|
||||
pd777:
|
||||
- cassettevision
|
||||
picodrive:
|
||||
- gamegear
|
||||
- mastersystem
|
||||
- megacd
|
||||
- megadrive
|
||||
- sega32x
|
||||
pocketcdg:
|
||||
- karaoke
|
||||
pokemini:
|
||||
- pokemini
|
||||
potator:
|
||||
- supervision
|
||||
ppsspp:
|
||||
- psp
|
||||
prboom:
|
||||
- doom
|
||||
prosystem:
|
||||
- atari7800
|
||||
puae:
|
||||
- amiga1200
|
||||
- amiga4000
|
||||
- amiga500
|
||||
- amigacd32
|
||||
- amigacdtv
|
||||
px68k:
|
||||
- x68000
|
||||
quasi88:
|
||||
- pc88
|
||||
race:
|
||||
- ngp
|
||||
- ngpc
|
||||
reminiscence:
|
||||
- reminiscence
|
||||
retro8:
|
||||
- pico8
|
||||
same_cdi:
|
||||
- cdi
|
||||
sameboy:
|
||||
- gb
|
||||
- gb2players
|
||||
- gbc
|
||||
- gbc2players
|
||||
sameduck:
|
||||
- megaduck
|
||||
scummvm:
|
||||
- scummvm
|
||||
snes9x:
|
||||
- satellaview
|
||||
- snes
|
||||
- snes-msu1
|
||||
- sufami
|
||||
snes9x2005:
|
||||
- snes
|
||||
stella:
|
||||
- atari2600
|
||||
stella2014:
|
||||
- atari2600
|
||||
- atari5200
|
||||
superbroswar:
|
||||
- superbroswar
|
||||
supermodel:
|
||||
- model3
|
||||
swanstation:
|
||||
- psx
|
||||
tgbdual:
|
||||
- gb
|
||||
- gb2players
|
||||
- gbc
|
||||
- gbc2players
|
||||
theodore:
|
||||
- thomson
|
||||
tic80:
|
||||
- tic80
|
||||
tyrquake:
|
||||
- quake
|
||||
uzem:
|
||||
- uzebox
|
||||
vecx:
|
||||
- vectrex
|
||||
vice_x128:
|
||||
- c128
|
||||
vice_x64:
|
||||
- c64
|
||||
vice_x64sc:
|
||||
- c64
|
||||
vice_xpet:
|
||||
- pet
|
||||
vice_xplus4:
|
||||
- c16
|
||||
- cplus4
|
||||
vice_xvic:
|
||||
- c20
|
||||
vircon32:
|
||||
- vircon32
|
||||
virtualjaguar:
|
||||
- jaguar
|
||||
- jaguarcd
|
||||
vitaquake2:
|
||||
- quake2
|
||||
vitaquake2-rogue:
|
||||
- quake2
|
||||
vitaquake2-xatrix:
|
||||
- quake2
|
||||
vitaquake2-zaero:
|
||||
- quake2
|
||||
wasm4:
|
||||
- wasm4
|
||||
x1:
|
||||
- x1
|
||||
yabasanshiro:
|
||||
- saturn
|
||||
ymir:
|
||||
- saturn
|
||||
zc255:
|
||||
- zeldaclassic
|
||||
launchers:
|
||||
- emulator: amiberry
|
||||
build: standalone
|
||||
|
||||
@@ -16040,6 +16040,641 @@ systems:
|
||||
native_system: coco
|
||||
component: xroar
|
||||
description: Generic disk ROM
|
||||
libretro_systems:
|
||||
"81":
|
||||
- zx81
|
||||
DoubleCherryGB:
|
||||
- gb
|
||||
- gbc
|
||||
a5200:
|
||||
- atari5200
|
||||
amiarcadia:
|
||||
- arcadia
|
||||
amiberry:
|
||||
- amiga
|
||||
- amiga1200
|
||||
- amiga600
|
||||
- amigacd32
|
||||
- cdtv
|
||||
applewin:
|
||||
- apple2
|
||||
ardens:
|
||||
- arduboy
|
||||
arduous:
|
||||
- arduboy
|
||||
atari800:
|
||||
- atari5200
|
||||
- atari800
|
||||
- atarixe
|
||||
azahar:
|
||||
- n3ds
|
||||
b2:
|
||||
- bbcmicro
|
||||
blastem:
|
||||
- colecovision
|
||||
- gamegear
|
||||
- genesis
|
||||
- mark3
|
||||
- mastersystem
|
||||
- megacd
|
||||
- megacdjp
|
||||
- megadrive
|
||||
- megadrivejp
|
||||
- sega32x
|
||||
- sega32xjp
|
||||
- sega32xna
|
||||
- segacd
|
||||
- sg-1000
|
||||
bluemsx:
|
||||
- colecovision
|
||||
- msx
|
||||
- msx1
|
||||
- msx2
|
||||
- msxturbor
|
||||
- sg-1000
|
||||
- spectravideo
|
||||
boom3:
|
||||
- doom
|
||||
boom3_xp:
|
||||
- doom
|
||||
bsnes:
|
||||
- gb
|
||||
- gbc
|
||||
- satellaview
|
||||
- sfc
|
||||
- snes
|
||||
- snesna
|
||||
- sufami
|
||||
bsnes-jg:
|
||||
- satellaview
|
||||
- sfc
|
||||
- snes
|
||||
- snesna
|
||||
- sufami
|
||||
bsnes_hd_beta:
|
||||
- satellaview
|
||||
- sfc
|
||||
- snes
|
||||
- snesna
|
||||
- sufami
|
||||
bsnes_mercury_accuracy:
|
||||
- satellaview
|
||||
- sfc
|
||||
- snes
|
||||
- snesna
|
||||
- sufami
|
||||
cannonball:
|
||||
- ports
|
||||
cap32:
|
||||
- amstradcpc
|
||||
- gx4000
|
||||
cdi2015:
|
||||
- cdimono1
|
||||
cemu:
|
||||
- wiiu
|
||||
chailove:
|
||||
- chailove
|
||||
citra:
|
||||
- n3ds
|
||||
citra2018:
|
||||
- n3ds
|
||||
clownmdemu:
|
||||
- megacd
|
||||
- megacdjp
|
||||
- segacd
|
||||
craft:
|
||||
- ports
|
||||
crocods:
|
||||
- amstradcpc
|
||||
- gx4000
|
||||
desmume:
|
||||
- nds
|
||||
desmume2015:
|
||||
- nds
|
||||
dice:
|
||||
- arcade
|
||||
- mame
|
||||
dirksimple:
|
||||
- daphne
|
||||
- laserdisc
|
||||
dolphin:
|
||||
- gc
|
||||
- wii
|
||||
dosbox_core:
|
||||
- dos
|
||||
- pc
|
||||
dosbox_pure:
|
||||
- dos
|
||||
- pc
|
||||
- windows3x
|
||||
- windows9x
|
||||
dosbox_svn:
|
||||
- dos
|
||||
- pc
|
||||
easyrpg:
|
||||
- easyrpg
|
||||
ecwolf:
|
||||
- ports
|
||||
fbalpha2012:
|
||||
- arcade
|
||||
- cps
|
||||
- cps1
|
||||
- cps2
|
||||
- cps3
|
||||
- fba
|
||||
- mame
|
||||
fbalpha2012_cps1:
|
||||
- cps
|
||||
- cps1
|
||||
- fba
|
||||
fbalpha2012_cps2:
|
||||
- cps
|
||||
- cps2
|
||||
- fba
|
||||
fbalpha2012_cps3:
|
||||
- cps
|
||||
- cps3
|
||||
- fba
|
||||
fbalpha2012_neogeo:
|
||||
- fba
|
||||
fbneo:
|
||||
- arcade
|
||||
- cps
|
||||
- cps1
|
||||
- cps2
|
||||
- cps3
|
||||
- fbneo
|
||||
- mame
|
||||
- neogeo
|
||||
- neogeocd
|
||||
- neogeocdjp
|
||||
fceumm:
|
||||
- famicom
|
||||
- fds
|
||||
- nes
|
||||
flycast:
|
||||
- arcade
|
||||
- atomiswave
|
||||
- consolearcade
|
||||
- dreamcast
|
||||
- mame
|
||||
- naomi
|
||||
- naomi2
|
||||
- naomigd
|
||||
fmsx:
|
||||
- msx
|
||||
- msx1
|
||||
- msx2
|
||||
freechaf:
|
||||
- channelf
|
||||
freeintv:
|
||||
- intellivision
|
||||
frodo:
|
||||
- c64
|
||||
fsuae:
|
||||
- amiga
|
||||
- amiga1200
|
||||
- amiga600
|
||||
fuse:
|
||||
- zxspectrum
|
||||
gambatte:
|
||||
- gb
|
||||
- gbc
|
||||
gearboy:
|
||||
- gb
|
||||
- gbc
|
||||
gearcoleco:
|
||||
- colecovision
|
||||
geargrafx:
|
||||
- pcengine
|
||||
- pcenginecd
|
||||
- supergrafx
|
||||
- tg-cd
|
||||
- tg16
|
||||
gearsystem:
|
||||
- gamegear
|
||||
- mark3
|
||||
- mastersystem
|
||||
- multivision
|
||||
- sg-1000
|
||||
genesis-plus-gx-expanded-rom-size-paprium:
|
||||
- megadrive
|
||||
- megadrivejp
|
||||
genesis_plus_gx:
|
||||
- gamegear
|
||||
- genesis
|
||||
- mark3
|
||||
- mastersystem
|
||||
- megacd
|
||||
- megacdjp
|
||||
- megadrive
|
||||
- megadrivejp
|
||||
- segacd
|
||||
- sg-1000
|
||||
genesis_plus_gx_wide:
|
||||
- gamegear
|
||||
- genesis
|
||||
- mark3
|
||||
- mastersystem
|
||||
- megacd
|
||||
- megacdjp
|
||||
- megadrive
|
||||
- megadrivejp
|
||||
- segacd
|
||||
- sg-1000
|
||||
geolith:
|
||||
- arcade
|
||||
- mame
|
||||
- neogeo
|
||||
- neogeocd
|
||||
- neogeocdjp
|
||||
gpsp:
|
||||
- gba
|
||||
gw:
|
||||
- gameandwatch
|
||||
- lcdgames
|
||||
handy:
|
||||
- atarilynx
|
||||
hatari:
|
||||
- atarist
|
||||
hatari2014:
|
||||
- atarist
|
||||
hbmame:
|
||||
- arcade
|
||||
- mame
|
||||
holani:
|
||||
- atarilynx
|
||||
irogb:
|
||||
- gb
|
||||
- gbc
|
||||
jollycv:
|
||||
- colecovision
|
||||
- crvision
|
||||
kronos:
|
||||
- arcade
|
||||
- consolearcade
|
||||
- mame
|
||||
- saturn
|
||||
- saturnjp
|
||||
- stv
|
||||
lowresnx:
|
||||
- lowresnx
|
||||
lutro:
|
||||
- lutro
|
||||
mame:
|
||||
- apple2
|
||||
- apple2gs
|
||||
- arcade
|
||||
- arcadia
|
||||
- astrocde
|
||||
- atari7800
|
||||
- channelf
|
||||
- consolearcade
|
||||
- cps
|
||||
- cps1
|
||||
- cps2
|
||||
- cps3
|
||||
- crvision
|
||||
- daphne
|
||||
- fmtowns
|
||||
- gamate
|
||||
- gameandwatch
|
||||
- gamecom
|
||||
- gmaster
|
||||
- intellivision
|
||||
- laserdisc
|
||||
- lcdgames
|
||||
- mame
|
||||
- megaduck
|
||||
- model2
|
||||
- neogeo
|
||||
- odyssey2
|
||||
- pv1000
|
||||
- scv
|
||||
- stv
|
||||
- supervision
|
||||
- supracan
|
||||
- vectrex
|
||||
- videopac
|
||||
- vsmile
|
||||
mame2000:
|
||||
- arcade
|
||||
- cps
|
||||
- cps1
|
||||
- cps2
|
||||
- cps3
|
||||
- mame
|
||||
mame2003:
|
||||
- arcade
|
||||
- cps
|
||||
- cps1
|
||||
- cps2
|
||||
- cps3
|
||||
- mame
|
||||
mame2003_plus:
|
||||
- arcade
|
||||
- cps
|
||||
- cps1
|
||||
- cps2
|
||||
- cps3
|
||||
- mame
|
||||
mame2010:
|
||||
- arcade
|
||||
- cps
|
||||
- cps1
|
||||
- cps2
|
||||
- cps3
|
||||
- mame
|
||||
mednafen_lynx:
|
||||
- atarilynx
|
||||
mednafen_ngp:
|
||||
- ngp
|
||||
- ngpc
|
||||
mednafen_pce:
|
||||
- pcengine
|
||||
- pcenginecd
|
||||
- supergrafx
|
||||
- tg-cd
|
||||
- tg16
|
||||
mednafen_pce_fast:
|
||||
- pcengine
|
||||
- pcenginecd
|
||||
- tg-cd
|
||||
- tg16
|
||||
mednafen_pcfx:
|
||||
- pcfx
|
||||
mednafen_psx:
|
||||
- psx
|
||||
mednafen_psx_hw:
|
||||
- psx
|
||||
mednafen_saturn:
|
||||
- saturn
|
||||
- saturnjp
|
||||
mednafen_supafaust:
|
||||
- sfc
|
||||
- snes
|
||||
- snesna
|
||||
mednafen_supergrafx:
|
||||
- pcengine
|
||||
- pcenginecd
|
||||
- supergrafx
|
||||
- tg-cd
|
||||
- tg16
|
||||
mednafen_vb:
|
||||
- virtualboy
|
||||
mednafen_wswan:
|
||||
- wonderswan
|
||||
- wonderswancolor
|
||||
melonds:
|
||||
- nds
|
||||
melondsds:
|
||||
- nds
|
||||
mesen:
|
||||
- famicom
|
||||
- fds
|
||||
- nes
|
||||
mesen-s:
|
||||
- gb
|
||||
- gbc
|
||||
- satellaview
|
||||
- sfc
|
||||
- sgb
|
||||
- snes
|
||||
- snesna
|
||||
mesen2:
|
||||
- famicom
|
||||
- fds
|
||||
- gamegear
|
||||
- gb
|
||||
- gba
|
||||
- gbc
|
||||
- mark3
|
||||
- mastersystem
|
||||
- nes
|
||||
- pcengine
|
||||
- pcenginecd
|
||||
- satellaview
|
||||
- sfc
|
||||
- sgb
|
||||
- snes
|
||||
- snesna
|
||||
- supergrafx
|
||||
- tg-cd
|
||||
- tg16
|
||||
- wonderswan
|
||||
- wonderswancolor
|
||||
mess2015:
|
||||
- mess
|
||||
mgba:
|
||||
- gb
|
||||
- gba
|
||||
- gbc
|
||||
- sgb
|
||||
mojozork:
|
||||
- zmachine
|
||||
mrboom:
|
||||
- ports
|
||||
mu:
|
||||
- palm
|
||||
mupen64plus_next:
|
||||
- n64
|
||||
- n64dd
|
||||
nekop2:
|
||||
- pc98
|
||||
neocd:
|
||||
- neogeocd
|
||||
- neogeocdjp
|
||||
nestopia:
|
||||
- famicom
|
||||
- fds
|
||||
- nes
|
||||
noods:
|
||||
- gba
|
||||
np2kai:
|
||||
- pc98
|
||||
nxengine:
|
||||
- ports
|
||||
o2em:
|
||||
- odyssey2
|
||||
- videopac
|
||||
openlara:
|
||||
- ports
|
||||
opera:
|
||||
- 3do
|
||||
panda3ds:
|
||||
- n3ds
|
||||
parallel_n64:
|
||||
- n64
|
||||
- n64dd
|
||||
pcee2:
|
||||
- ps2
|
||||
pcsx2:
|
||||
- ps2
|
||||
pcsx_rearmed:
|
||||
- psx
|
||||
picodrive:
|
||||
- gamegear
|
||||
- genesis
|
||||
- mark3
|
||||
- mastersystem
|
||||
- megacd
|
||||
- megacdjp
|
||||
- megadrive
|
||||
- megadrivejp
|
||||
- sega32x
|
||||
- sega32xjp
|
||||
- sega32xna
|
||||
- segacd
|
||||
pokemini:
|
||||
- pokemini
|
||||
potator:
|
||||
- supervision
|
||||
ppsspp:
|
||||
- psp
|
||||
prboom:
|
||||
- doom
|
||||
prosystem:
|
||||
- atari7800
|
||||
puae:
|
||||
- amiga
|
||||
- amiga1200
|
||||
- amiga600
|
||||
- amigacd32
|
||||
- cdtv
|
||||
puae2021:
|
||||
- amiga
|
||||
- amiga1200
|
||||
- amiga600
|
||||
- amigacd32
|
||||
- cdtv
|
||||
px68k:
|
||||
- x68000
|
||||
quasi88:
|
||||
- pc88
|
||||
quicknes:
|
||||
- famicom
|
||||
- nes
|
||||
race:
|
||||
- ngp
|
||||
- ngpc
|
||||
retro8:
|
||||
- pico8
|
||||
rustynes:
|
||||
- famicom
|
||||
- fds
|
||||
- nes
|
||||
same_cdi:
|
||||
- cdimono1
|
||||
sameboy:
|
||||
- gb
|
||||
- gbc
|
||||
- sgb
|
||||
sameduck:
|
||||
- megaduck
|
||||
scummvm:
|
||||
- scummvm
|
||||
skyemu:
|
||||
- gb
|
||||
- gba
|
||||
- gbc
|
||||
smsplus:
|
||||
- gamegear
|
||||
- mark3
|
||||
- mastersystem
|
||||
snes9x:
|
||||
- satellaview
|
||||
- sfc
|
||||
- snes
|
||||
- snesna
|
||||
- sufami
|
||||
snes9x2005_plus:
|
||||
- satellaview
|
||||
- sfc
|
||||
- snes
|
||||
- snesna
|
||||
- sufami
|
||||
snes9x2010:
|
||||
- satellaview
|
||||
- sfc
|
||||
- snes
|
||||
- snesna
|
||||
- sufami
|
||||
squirreljme:
|
||||
- j2me
|
||||
stella:
|
||||
- atari2600
|
||||
stella2014:
|
||||
- atari2600
|
||||
stella2023:
|
||||
- atari2600
|
||||
superbroswar:
|
||||
- ports
|
||||
supermodel:
|
||||
- arcade
|
||||
- mame
|
||||
swanstation:
|
||||
- psx
|
||||
tgbdual:
|
||||
- gb
|
||||
- gbc
|
||||
theodore:
|
||||
- moto
|
||||
- to8
|
||||
tia:
|
||||
- atari2600
|
||||
tic80:
|
||||
- tic80
|
||||
tyrquake:
|
||||
- quake
|
||||
uzem:
|
||||
- uzebox
|
||||
vba_next:
|
||||
- gba
|
||||
vbam:
|
||||
- gb
|
||||
- gba
|
||||
- gbc
|
||||
vecx:
|
||||
- vectrex
|
||||
vice_x128:
|
||||
- c64
|
||||
vice_x64:
|
||||
- c64
|
||||
vice_x64sc:
|
||||
- c64
|
||||
vice_xplus4:
|
||||
- plus4
|
||||
vice_xscpu64:
|
||||
- c64
|
||||
vice_xvic:
|
||||
- vic20
|
||||
vircon32:
|
||||
- vircon32
|
||||
virtualjaguar:
|
||||
- atarijaguar
|
||||
virtualxt:
|
||||
- dos
|
||||
- pc
|
||||
vitaquake2:
|
||||
- quake
|
||||
vitaquake2-rogue:
|
||||
- quake
|
||||
vitaquake2-xatrix:
|
||||
- quake
|
||||
vitaquake2-zaero:
|
||||
- quake
|
||||
vitaquake3:
|
||||
- quake
|
||||
wasm4:
|
||||
- wasm4
|
||||
x1:
|
||||
- x1
|
||||
yabasanshiro:
|
||||
- saturn
|
||||
- saturnjp
|
||||
yabause:
|
||||
- saturn
|
||||
- saturnjp
|
||||
launchers:
|
||||
- emulator: cemu
|
||||
build: standalone
|
||||
|
||||
@@ -53,6 +53,20 @@
|
||||
"uniqueItems": true,
|
||||
"description": "Emulators of standalone_cores the platform also launches as a libretro core: both layouts get their files"
|
||||
},
|
||||
"libretro_systems": {
|
||||
"type": "object",
|
||||
"description": "libretro core name -> the systems the platform's system list offers it for, as the launcher names them. A launcher handing each core <save directory>/<system> (save_directory.by_system in the registry) places a file the core reads below its save directory once in each of these folders",
|
||||
"additionalProperties": {
|
||||
"type": "array",
|
||||
"minItems": 1,
|
||||
"uniqueItems": true,
|
||||
"items": {
|
||||
"type": "string",
|
||||
"minLength": 1,
|
||||
"pattern": "^[^/\\\\]+$"
|
||||
}
|
||||
}
|
||||
},
|
||||
"core_system_dirs": {
|
||||
"type": "object",
|
||||
"description": "The libretro system directory the platform hands each core, keyed by that directory relative to the pack root. A platform that declares it gives a core no other directory: the core's files are placed below each directory listed for it, and a core listed nowhere gets none (MinUI hands each launch tag its own Bios/<TAG>/)",
|
||||
|
||||
@@ -142,6 +142,29 @@ def es_systems_libretro(text: str) -> set[str]:
|
||||
return found
|
||||
|
||||
|
||||
def es_systems_libretro_systems(text: str, dropped: set[str]) -> dict[str, list[str]]:
|
||||
"""libretro core -> the systems es_systems.yml offers it under `libretro:`.
|
||||
|
||||
configgen hands a libretro core /userdata/saves/<system> at each launch
|
||||
(libretroConfig.py: savefile_directory = SAVES / system.name), so a file
|
||||
a core reads below its save directory sits once in each of these
|
||||
system folders.
|
||||
"""
|
||||
data = yaml_load_upstream(text)
|
||||
if not isinstance(data, dict):
|
||||
raise ValueError("es_systems.yml is not a mapping")
|
||||
found: dict[str, set[str]] = {}
|
||||
for system, spec in data.items():
|
||||
emulators = spec.get("emulators") if isinstance(spec, dict) else None
|
||||
libretro = emulators.get("libretro") if isinstance(emulators, dict) else None
|
||||
if not isinstance(libretro, dict):
|
||||
continue
|
||||
for core, entry in libretro.items():
|
||||
if isinstance(entry, dict) and str(core) not in dropped:
|
||||
found.setdefault(str(core), set()).add(str(system))
|
||||
return {core: sorted(systems) for core, systems in sorted(found.items())}
|
||||
|
||||
|
||||
def es_systems_by_system(
|
||||
es_systems_text: str, defaults_text: str, dropped: set[str]
|
||||
) -> dict[str, list[str]]:
|
||||
@@ -518,6 +541,9 @@ class Scraper(BaseScraper):
|
||||
)
|
||||
|
||||
cores, standalone, dual = self._fetch_cores()
|
||||
libretro_systems = es_systems_libretro_systems(
|
||||
self._fetch_text(ES_SYSTEMS_URL.format(tag=self.tag)), _not_cores()
|
||||
)
|
||||
result = {
|
||||
"platform": "Batocera",
|
||||
"version": self.tag.removeprefix("batocera-"),
|
||||
@@ -534,6 +560,8 @@ class Scraper(BaseScraper):
|
||||
if dual:
|
||||
# Launched both ways: each layout gets its files.
|
||||
result["dual_mode_cores"] = dual
|
||||
# The systems each libretro core runs for: its save folders.
|
||||
result["libretro_systems"] = libretro_systems
|
||||
result["launchers"] = extract_launchers(
|
||||
lambda path: self._fetch_text(f"{_RAW_BASE}/{self.tag}/{path}")
|
||||
)
|
||||
|
||||
@@ -38,6 +38,7 @@ from .batocera_scraper import (
|
||||
_not_cores,
|
||||
configgen_cores,
|
||||
es_systems_by_system,
|
||||
es_systems_libretro_systems,
|
||||
extract_systems_dict,
|
||||
platform_systems,
|
||||
requirements_from_systems,
|
||||
@@ -120,6 +121,9 @@ class Scraper(BaseScraper):
|
||||
result["standalone_cores"] = standalone
|
||||
if dual:
|
||||
result["dual_mode_cores"] = dual
|
||||
# configgen hands a libretro core /userdata/saves/<system>, as
|
||||
# Batocera's does: the systems each core runs for are its save folders.
|
||||
result["libretro_systems"] = es_systems_libretro_systems(es_systems, dropped)
|
||||
return result
|
||||
|
||||
|
||||
|
||||
@@ -167,6 +167,29 @@ def system_ini_libretro(text: str) -> set[str]:
|
||||
}
|
||||
|
||||
|
||||
def system_ini_name(text: str, folder: str) -> str:
|
||||
"""The system name a system.ini gives, the one ES passes configgen.
|
||||
|
||||
configgen hands a libretro core /recalbox/share/saves/<that name>
|
||||
(projects/configgen/configgen/generators/libretro/libretroRetroarch.py
|
||||
savesFolder). The folder name stands in where the file names none.
|
||||
"""
|
||||
return _ini_sections(text).get("system", {}).get("name") or folder
|
||||
|
||||
|
||||
def libretro_systems(inis: dict[str, str]) -> dict[str, list[str]]:
|
||||
"""libretro core -> the systems whose system.ini offers it.
|
||||
|
||||
``inis`` maps each system folder to its system.ini.
|
||||
"""
|
||||
found: dict[str, set[str]] = {}
|
||||
for folder, text in inis.items():
|
||||
name = system_ini_name(text, folder)
|
||||
for core in system_ini_libretro(text):
|
||||
found.setdefault(core, set()).add(name)
|
||||
return {core: sorted(systems) for core, systems in sorted(found.items())}
|
||||
|
||||
|
||||
def system_ini_cores(text: str) -> tuple[set[str], set[str]]:
|
||||
"""The cores one Recalbox system.ini offers, and those run standalone.
|
||||
|
||||
@@ -282,7 +305,10 @@ class Scraper(BaseScraper):
|
||||
cores: set[str] = set()
|
||||
standalone: set[str] = set()
|
||||
libretro: set[str] = set()
|
||||
for text in self._system_inis(systems):
|
||||
texts = self._system_inis(systems)
|
||||
# The systems each libretro core runs for: its save folders.
|
||||
self.libretro_systems = libretro_systems(dict(zip(systems, texts)))
|
||||
for text in texts:
|
||||
found, alone = system_ini_cores(text)
|
||||
cores |= found
|
||||
standalone |= alone
|
||||
@@ -397,6 +423,7 @@ class Scraper(BaseScraper):
|
||||
# Launched both ways: each layout gets its files.
|
||||
**({"dual_mode_cores": dual} if dual else {}),
|
||||
"systems": systems,
|
||||
"libretro_systems": self.libretro_systems,
|
||||
"launchers": self._fetch_launchers(),
|
||||
}
|
||||
|
||||
|
||||
@@ -99,6 +99,31 @@ def es_systems_cores(text: str) -> tuple[set[str], set[str]]:
|
||||
return cores, standalone
|
||||
|
||||
|
||||
def es_systems_libretro_systems(text: str) -> dict[str, list[str]]:
|
||||
"""libretro core -> the ES systems es_systems.cfg offers it for.
|
||||
|
||||
emulatorLauncher hands a libretro core saves\\<system> at each launch
|
||||
(LibRetro.Generator.cs Configure: savefile_directory), so a file a core
|
||||
reads below its save directory sits once in each of these system
|
||||
folders. A commented-out system is no element and counts for nothing.
|
||||
"""
|
||||
from common import parse_untrusted_xml
|
||||
|
||||
found: dict[str, set[str]] = {}
|
||||
for system in parse_untrusted_xml(text, "es_systems.cfg").iter("system"):
|
||||
name = (system.findtext("name") or "").strip()
|
||||
if not name:
|
||||
continue
|
||||
for emulator in system.iter("emulator"):
|
||||
if (emulator.get("name") or "").strip() != "libretro":
|
||||
continue
|
||||
for core in emulator.iter("core"):
|
||||
core_name = (core.text or "").strip()
|
||||
if core_name:
|
||||
found.setdefault(core_name, set()).add(name)
|
||||
return {core: sorted(systems) for core, systems in sorted(found.items())}
|
||||
|
||||
|
||||
def launcher_revision(url: str) -> str:
|
||||
"""The emulatorLauncher commit a source URL is pinned to."""
|
||||
found = re.search(r"/emulatorlauncher/([0-9a-f]{40})/", url)
|
||||
@@ -259,6 +284,7 @@ class Scraper(BaseScraper):
|
||||
es_text = resp.read().decode("utf-8")
|
||||
cores, standalone = es_systems_cores(es_text)
|
||||
dual = es_systems_dual(es_text)
|
||||
libretro_systems = es_systems_libretro_systems(es_text)
|
||||
except urllib.error.URLError as e:
|
||||
raise ConnectionError(f"Failed to fetch {es_url}: {e}") from e
|
||||
if not cores:
|
||||
@@ -277,6 +303,8 @@ class Scraper(BaseScraper):
|
||||
# Launched both ways: each layout gets its files.
|
||||
**({"dual_mode_cores": sorted(dual)} if dual else {}),
|
||||
"systems": systems,
|
||||
# The systems each libretro core runs for: its save folders.
|
||||
"libretro_systems": libretro_systems,
|
||||
"launchers": fetch_launchers(launcher_revision(self.url)),
|
||||
}
|
||||
|
||||
|
||||
@@ -39,6 +39,8 @@ try:
|
||||
BaseScraper,
|
||||
BiosRequirement,
|
||||
fetch_branch_head,
|
||||
fetch_bytes,
|
||||
fetch_github_latest_version,
|
||||
github_headers,
|
||||
requirement_entry,
|
||||
)
|
||||
@@ -49,6 +51,8 @@ except ImportError:
|
||||
BaseScraper,
|
||||
BiosRequirement,
|
||||
fetch_branch_head,
|
||||
fetch_bytes,
|
||||
fetch_github_latest_version,
|
||||
github_headers,
|
||||
requirement_entry,
|
||||
)
|
||||
@@ -60,6 +64,38 @@ COMPONENTS_BRANCH = "main"
|
||||
COMPONENTS_API_URL = "https://api.github.com/repos/" + COMPONENTS_REPO + "/git/trees/{rev}"
|
||||
RAW_BASE = "https://raw.githubusercontent.com/" + COMPONENTS_REPO + "/{rev}"
|
||||
SKIP_DIRS = {"archive_later", "archive_old", "automation-tools", ".github"}
|
||||
|
||||
# ES-DE's system list as RetroDECK's fork builds it.
|
||||
ES_DE_REPO = "RetroDECK/ES-DE"
|
||||
ES_DE_SYSTEMS_URL = (
|
||||
"https://raw.githubusercontent.com/" + ES_DE_REPO
|
||||
+ "/{rev}/resources/systems/linux/es_systems.xml"
|
||||
)
|
||||
_RETROARCH_CORE = re.compile(r"%CORE_RETROARCH%/([\w.+-]+?)_libretro\.so")
|
||||
|
||||
|
||||
def es_systems_libretro_systems(text: str) -> dict[str, list[str]]:
|
||||
"""libretro core -> the ROM folders of the systems whose commands load it.
|
||||
|
||||
RetroDECK's RetroArch sorts saves by content and not by core
|
||||
(retroarch/rd_assets/rd_config/retroarch.cfg, sort_savefiles_by_content_enable
|
||||
and sort_savefiles_enable): a core is handed saves/<folder holding the
|
||||
ROM>, the system's <path> folder below %ROMPATH%. A commented-out
|
||||
command is no element and counts for nothing.
|
||||
"""
|
||||
from common import parse_untrusted_xml
|
||||
|
||||
found: dict[str, set[str]] = {}
|
||||
for system in parse_untrusted_xml(text, "es_systems.xml").iter("system"):
|
||||
path = (system.findtext("path") or "").strip().replace("\\", "/")
|
||||
folder = path.rstrip("/").rsplit("/", 1)[-1]
|
||||
if not folder or folder.startswith("%"):
|
||||
continue
|
||||
for command in system.iter("command"):
|
||||
match = _RETROARCH_CORE.search(command.text or "")
|
||||
if match:
|
||||
found.setdefault(match.group(1), set()).add(folder)
|
||||
return {core: sorted(folders) for core, folders in sorted(found.items())}
|
||||
NON_EMULATOR_COMPONENTS = {
|
||||
"framework",
|
||||
"es-de",
|
||||
@@ -468,6 +504,16 @@ class Scraper(BaseScraper):
|
||||
|
||||
return requirements
|
||||
|
||||
def _fetch_libretro_systems(self) -> dict[str, list[str]]:
|
||||
"""libretro core -> ROM folders, from the ES-DE build RetroDECK ships.
|
||||
|
||||
RetroDECK takes ES-DE's latest release of its fork
|
||||
(automation-tools/alchemist/desired_versions.sh, ES_DE_DESIRED_VERSION).
|
||||
"""
|
||||
tag = fetch_github_latest_version(ES_DE_REPO)
|
||||
text = fetch_bytes(ES_DE_SYSTEMS_URL.format(rev=tag)).decode("utf-8")
|
||||
return es_systems_libretro_systems(text)
|
||||
|
||||
def generate_platform_yaml(self) -> dict:
|
||||
reqs = self.fetch_requirements()
|
||||
manifests = self._get_manifests()
|
||||
@@ -486,10 +532,6 @@ class Scraper(BaseScraper):
|
||||
sys_entry = systems.setdefault(req.system, {"files": []})
|
||||
sys_entry["files"].append(requirement_entry(req))
|
||||
|
||||
try:
|
||||
from .base_scraper import fetch_github_latest_version
|
||||
except ImportError:
|
||||
from scraper.base_scraper import fetch_github_latest_version
|
||||
version = fetch_github_latest_version("RetroDECK/RetroDECK")
|
||||
|
||||
return {
|
||||
@@ -509,6 +551,8 @@ class Scraper(BaseScraper):
|
||||
# its own, and retroarch is the one that runs cores.
|
||||
"standalone_cores": [c for c in cores if c != "retroarch"],
|
||||
"systems": systems,
|
||||
# The ROM folders each libretro core runs for: its save folders.
|
||||
"libretro_systems": self._fetch_libretro_systems(),
|
||||
"launchers": extract_launchers(cores, self.component_file),
|
||||
}
|
||||
|
||||
|
||||
Reference in new issue
Block a user