Files
libretro/platforms/_data_dirs.yml
T
Abdessamad Derraz 736dadd7e9 chore: record which platforms install data trees
Each registered platform running a core that reads a data directory was checked against its own image at the revision its platform YAML pins. A platform that installs the tree goes in installed_on, one that never opens it in unread_on, and one that leaves it to the user joins for_platforms. The install steps are cited beside each _data_dirs.yml entry.
2026-11-05 23:25:22 +01:00

325 lines
16 KiB
YAML

# Data directory sources for libretro cores.
# Platforms reference entries by key via data_directories: [{ref: key, destination: path}].
# Pack generator auto-refreshes from source. Use --offline to skip.
#
# Source rules:
# - RetroArch/Lakka/RetroPie: use buildbot.libretro.com (official RetroArch channel)
# ref: RetroArch/config.def.h DEFAULT_BUILDBOT_ASSETS_SERVER_URL
# - Other platforms (Batocera, Recalbox, RetroBat): use their own upstream sources
# - for_platforms: restricts which platforms use this entry
# if absent, entry is available to all platforms
#
# A platform pack carries the trees its own systems declare and those of the
# libretro cores it runs (a profile's data_directories). A platform whose
# image installs the tree where its core reads it is left out of
# for_platforms: the profile records it (installed_on), and the comment above
# the entry cites the install step at the revision the platform YAML pins.
# A platform that never opens the tree is recorded with unread_on.
# tests/test_core_data_trees.py fails on a reader with neither.
#
# Each entry cites the original emulator source code that requires the directory.
data_directories:
# =========================================================================
# RetroArch buildbot sources (retroarch, lakka, retropie only)
# https://buildbot.libretro.com/assets/system/
# =========================================================================
# ref: DolphinLibretro/Boot.cpp:72-73 (system/dolphin-emu/Sys/)
# Installed (emulators/dolphin.yml installed_on, the other readers follow):
# batocera batocera.linux@batocera-43.1 package/batocera/emulators/retroarch/libretro/libretro-dolphin/libretro-dolphin.mk:43-44
# knulli batocera.linux@487014d9 libretro-dolphin.mk:36-37, knulli-linux@20260511 board/scripts/post-build-script.sh:262
# lakka Lakka-LibreELEC@v6.1 packages/lakka/libretro_cores/dolphin/package.mk:35-36
# retrobat retrobat-bios@158add8d dolphin-emu/Sys/, retrobat@8.3.1 build.ini get_bios
# retrodeck components@fcd0d729 retroarch/component_prepare.sh:61
# Never opened: recalbox (libretroRetroarch.py:452-453 hands the core bios/gamecube,
# package/libretro-dolphin/0003-recalbox-bios-paths.patch drops dolphin-emu/Sys),
# romm (EmulatorJS 4.2.3 ships no Dolphin core and RomM hands a core one file).
dolphin-sys:
source_url: "https://buildbot.libretro.com/assets/system/Dolphin.zip"
source_type: zip
for_platforms: [emudeck, retroarch, retropie, rocknix]
local_cache: data/dolphin-sys
strip_components: 2
exclude: [Themes]
description: "Dolphin system data (GameSettings, DSP, fonts, shaders)"
# ref: ppsspp/ext/native/ui/ui_screen.cpp (system/PPSSPP/)
# Installed (emulators/ppsspp.yml installed_on):
# amberelec AmberELEC@a21975bf packages/amberelec/sources/autostart.sh:152-154, core patched
# to read /roms/gamedata/ppsspp (packages/games/libretro/ppsspp/patches/001-fix_savedir.patch)
# batocera libretro-ppsspp.mk:109-110, core patched to /usr/share/ppsspp/PPSSPP (000-batocera-path.patch:10)
# emudeck EmuDeck@dddb3022 functions/EmuScripts/emuDeckRetroArch.sh:27, 343
# lakka packages/lakka/libretro_cores/ppsspp/package.mk:72-73
# recalbox recalbox@10.1.1 package/libretro-ppsspp/libretro-ppsspp.mk:86, ppsspp-0000-fix-recalbox-path.patch
# retrobat retrobat-bios@158add8d PPSSPP/
# retrodeck retroarch/component_prepare.sh:64
# retropie RetroPie-Setup@46128cd2 scriptmodules/libretrocores/lr-ppsspp.sh:55-56
# romm EmulatorJS@v4.2.3 emulator.js:922-923, GameManager.js:346-368
# knulli stays: the A133 and A527 boards overlay a prebuilt core that reads
# bios/PPSSPP (board/allwinner/a133/fsoverlay/usr/lib/libretro/ppsspp_libretro.so).
ppsspp-assets:
source_url: "https://buildbot.libretro.com/assets/system/PPSSPP.zip"
source_type: zip
for_platforms: [knulli, retroarch, rocknix]
local_cache: data/ppsspp-assets
strip_components: 1
description: "PPSSPP fonts, backgrounds, shaders, lang files"
# ref: bluemsx-libretro/system/ (system/Databases/ + system/Machines/)
# Installed (emulators/bluemsx.yml installed_on):
# batocera libretro-bluemsx/libretro-bluemsx.mk:38-39
# knulli batocera.linux@487014d9 libretro-bluemsx.mk:37-38, post-build-script.sh:262
# recalbox package/libretro-bluemsx/libretro-bluemsx.mk:27
# retrobat retrobat-bios@158add8d Databases/, Machines/
# retrodeck retroarch/component_prepare.sh:122, 124
# retropie scriptmodules/libretrocores/lr-bluemsx.sh:33-34, 59
bluemsx:
source_url: "https://buildbot.libretro.com/assets/system/blueMSX.zip"
source_type: zip
for_platforms: [amberelec, emudeck, emuelec, lakka, nextui, retroarch, rocknix]
local_cache: data/bluemsx
description: "blueMSX Databases + Machines configs"
# ref: pcsx2/libretro/main.cpp (system/pcsx2/)
# Installed (emulators/lrps2.yml installed_on):
# batocera libretro-ps2/libretro-ps2.mk:37-39
# lakka packages/lakka/libretro_cores/lrps2/package.mk:33-34
# recalbox package/libretro-ps2/libretro-ps2.mk:35-37 (bios/ps2/resources, where its patch reads)
# retrobat retrobat-bios@158add8d pcsx2/resources/GameIndex.yaml
# retrodeck retroarch/component_prepare.sh:95
# Never opened: romm (EmulatorJS 4.2.3 ships no PS2 core).
lrps2:
source_url: "https://buildbot.libretro.com/assets/system/LRPS2.zip"
source_type: zip
for_platforms: [emudeck, knulli, retroarch, retropie, rocknix]
local_cache: data/lrps2
description: "LRPS2 GameIndex.yaml + resources"
# ref: pcee2-libretro/Libretro.cpp:426 - system/pcsx2/resources/
# PCSX2 bin/resources at the upstream revision the pcee2 core is merged up to
# (pcee2-libretro/upstream.version). patches.zip is a separate release asset
# of PCSX2/pcsx2_patches and is carried as a file entry of the profile.
pcsx2-resources:
source_url: "https://github.com/PCSX2/pcsx2/archive/{version}.tar.gz"
source_type: tarball
source_path: "pcsx2-{version}/bin/resources"
version: 6db638dc0373769b4c5d5b5dd7ed6da641b9a18e
local_cache: data/pcsx2-resources
description: "PCSX2 resources (GameIndex.yaml, RedumpDatabase.yaml, fonts, shaders, icons, sounds)"
# ref: pcsx2-libretro/Main.cpp:157-158 (yaps2) - system/pcsx2/resources/
# yaps2's own bin/resources at the revision its profile is pinned to.
yaps2-resources:
source_url: "https://github.com/yaps2/yaps2/archive/{version}.tar.gz"
source_type: tarball
source_path: "yaps2-{version}/bin/resources"
version: 57ea93c0ce8306063b31fe6658dab6b492bbedfe
local_cache: data/yaps2-resources
description: "yaps2 resources (GameIndex.yaml, RedumpDatabase.yaml, fonts, shaders, icons, sounds)"
# ref: src/Cafe/GameProfile/GameProfile.cpp:181-195 (Cemu/gameProfiles/default/)
cemu-gameprofiles:
source_url: "https://github.com/cemu-project/Cemu/archive/{version}.tar.gz"
source_type: tarball
source_path: "Cemu-{version}/bin/gameProfiles/default"
version: 3310f3b8b184d64a62b89fd59088c799432badf5
local_cache: data/cemu-gameprofiles
description: "Cemu default game profiles (one .ini per title id)"
# ref: src/Cafe/GraphicPack/GraphicPack2.cpp:96-111 (Cemu/graphicPacks/downloadedGraphicPacks/)
cemu-graphic-packs:
source_url: "https://github.com/cemu-project/cemu_graphic_packs/releases/download/Github981/graphicPacks981.zip"
source_type: zip
local_cache: data/cemu-graphic-packs
description: "Cemu community graphic packs, release Github981"
# ref: scummvm/backends/platform/libretro (system/scummvm/)
scummvm:
source_url: "https://buildbot.libretro.com/assets/system/ScummVM.zip"
source_type: zip
for_platforms: [retroarch, lakka, retropie]
local_cache: data/scummvm
description: "ScummVM extra data files (themes, translations, shaders)"
# ref: nxengine-libretro (system/)
nxengine:
source_url: "https://buildbot.libretro.com/assets/system/NXEngine%20%28Cave%20Story%29.zip"
source_type: zip
for_platforms: [retroarch, lakka, retropie]
local_cache: data/nxengine
description: "NXEngine Cave Story game data"
# ref: ecwolf/src/wl_main.cpp (system/ecwolf.pk3)
ecwolf:
source_url: "https://buildbot.libretro.com/assets/system/ECWolf.zip"
source_type: zip
for_platforms: [retroarch, lakka, retropie]
local_cache: data/ecwolf
description: "ECWolf game engine data"
# ref: prboom/src/d_main.c (system/prboom.wad)
prboom:
source_url: "https://buildbot.libretro.com/assets/system/PrBoom.zip"
source_type: zip
for_platforms: [retroarch, lakka, retropie]
local_cache: data/prboom
description: "PrBoom Doom engine data"
# ref: xrick/src/data.c (system/xrick/data.zip)
xrick:
source_url: "https://buildbot.libretro.com/assets/system/XRick%20%28Rick%20Dangerous%29.zip"
source_type: zip
for_platforms: [retroarch, lakka, retropie]
local_cache: data/xrick
description: "XRick Rick Dangerous game data"
# ref: dinothawr/libretro.cpp (system/dinothawr/)
# Installed (emulators/dinothawr.yml installed_on):
# lakka packages/lakka/libretro_cores/dinothawr/package.mk:17-18
# recalbox package/libretro-dinothawr/libretro-dinothawr.mk:32-33 (as content, roms/ports)
# retrobat retrobat-bios@158add8d dinothawr/
# retrodeck retroarch/component_prepare.sh:59
# retropie scriptmodules/libretrocores/lr-dinothawr.sh:50 (as content, roms/ports)
dinothawr:
source_url: "https://buildbot.libretro.com/assets/system/Dinothawr.zip"
source_type: zip
for_platforms: [emudeck, emuelec, retroarch, rocknix]
local_cache: data/dinothawr
description: "Dinothawr game data"
# ref: qemu (system firmware)
qemu:
source_url: "https://buildbot.libretro.com/assets/system/QEMU.zip"
source_type: zip
for_platforms: [retroarch, lakka, retropie]
local_cache: data/qemu
description: "QEMU firmware (SeaBIOS, VGA BIOS, OpenSBI, etc.)"
# ref: cannonball/src/main.cpp (system/)
cannonball:
source_url: "https://buildbot.libretro.com/assets/system/Cannonball%20%28ROMs%20Required%29.zip"
source_type: zip
for_platforms: [retroarch, lakka, retropie]
local_cache: data/cannonball
description: "Cannonball OutRun engine config"
# ref: fbneo hiscore.dat (system/fbneo/)
fbneo-hiscore:
source_url: "https://buildbot.libretro.com/assets/system/FinalBurn%20Neo%20%28hiscore%29.zip"
source_type: zip
for_platforms: [retroarch, lakka, retropie]
local_cache: data/fbneo-hiscore
description: "FinalBurn Neo hiscore database"
# ref: mame2003/src (system/mame2003/)
mame2003:
source_url: "https://buildbot.libretro.com/assets/system/MAME%202003.zip"
source_type: zip
for_platforms: [retroarch, lakka, retropie]
local_cache: data/mame2003
description: "MAME 2003 samples + cheat"
# ref: mame2003-plus (system/mame2003-plus/)
mame2003-plus:
source_url: "https://buildbot.libretro.com/assets/system/MAME%202003-Plus.zip"
source_type: zip
for_platforms: [retroarch, lakka, retropie]
local_cache: data/mame2003-plus
description: "MAME 2003-Plus samples + cheat + history"
# ref: sdlpal/main.c (system/sdlpal/, Chinese Paladin / 仙剑奇侠传)
# Not on buildbot, sourced from large-files release asset
sdlpal:
source_url: "https://github.com/Abdess/retrobios/releases/download/large-files/sdlpal-data.zip"
source_type: zip
local_cache: data/sdlpal
description: "SDLPAL Chinese Paladin game data (.mkf archives)"
# ref: OpenTyrian2000 (system/opentyrian/tyrian/)
# Tyrian 2.1 freeware data (buildbot URLs removed, sourced from release asset)
opentyrian:
source_url: "https://github.com/Abdess/retrobios/releases/download/large-files/opentyrian-data.zip"
source_type: zip
for_platforms: [retroarch, lakka, retropie]
local_cache: data/opentyrian
description: "OpenTyrian Tyrian 2.1 freeware game data"
# ref: syobonaction (system/syobonaction/)
# Freeware game data from OpenSyobonAction (BGM, res, SE directories)
syobonaction:
source_url: "https://github.com/akemin-dayo/OpenSyobonAction/archive/refs/heads/{version}.tar.gz"
source_type: tarball
source_path: "OpenSyobonAction-master"
version: master
local_cache: data/syobonaction
exclude: [DxLib.cpp, DxLib.h, icon.ico, joyconfig.h, loadg.cpp, main.cpp, main.h, Makefile, README_ja.md, README.md]
description: "Syobon Action (Cat Mario) game data (sprites, BGM, SE)"
# =========================================================================
# Upstream repo sources (not on buildbot, available to all platforms)
# =========================================================================
# ref: FreeIntv/src/libretro.c:273 (system/freeintv_overlays/<rom>.png)
# 90 per-game controller overlay PNGs, loaded via stbi_load()
# optional: core falls back to embedded default keypad image
# freeintv overlays: Assets/Overlays.zip in repo (not a directory)
# Already archived in bios/Mattel/Intellivision/freeintv_overlays/
# No buildbot source, sourced manually from core repo
# Never opened: batocera, knulli and recalbox build FreeIntv 85bf25a3, which
# predates the overlays (libretro-freeintv.mk), and romm hands a core one file.
freeintv-overlays:
source_url: "https://github.com/libretro/FreeIntv/raw/{version}/Assets/Overlays.zip"
source_type: zip
version: master
local_cache: data/freeintv-overlays
strip_components: 1
description: "FreeIntv per-game controller overlay PNGs"
# ref: crawl-ref/source/files.cc:375-458 (datafile_path() dat/ tree)
# Not on buildbot, sourced from libretro repo
# 532 files (tiles, fonts, databases, lua scripts, level descriptions)
stonesoup:
source_url: "https://github.com/libretro/crawl-ref/archive/refs/heads/{version}.tar.gz"
source_type: tarball
source_path: "crawl-ref-master/crawl-ref/source/dat"
version: master
local_cache: data/stonesoup
description: "DCSS game data (tiles, fonts, databases, lua, level descriptions)"
# ref: FBNeo src/burner/libretro/libretro.cpp (system/fbneo/cheats/)
# No platform installs it. Never opened: romm (one file per core).
fbneo-cheats:
source_url: "https://github.com/finalburnneo/FBNeo-cheats/archive/refs/heads/{version}.zip"
source_type: zip
version: master
local_cache: data/fbneo-cheats
strip_components: 1
description: "FinalBurn Neo per-game cheat definitions"
# ref: FBNeo src/burn/snd/samples.cpp (system/fbneo/samples/)
# No platform installs it (batocera, knulli, recalbox, retrobat, retrodeck and
# retropie create an empty fbneo/samples). Never opened: romm (RomM hands
# EmulatorJS one file, views/Player/EmulatorJS/Player.vue:368-370).
fbneo-samples:
source_url: "https://github.com/Abdess/retrobios/releases/download/large-files/fbneo-samples.zip"
source_type: zip
for_platforms: [amberelec, batocera, emudeck, emuelec, knulli, lakka, myminui, nextui, recalbox, retroarch, retrobat, retrodeck, retropie, rocknix]
local_cache: data/fbneo-samples
description: "FinalBurn Neo per-game audio samples (49 arcade games)"
# ref: dirksimple (system/)
# Installed (emulators/dirksimple.yml installed_on):
# recalbox package/libretro-dirksimple/libretro-dirksimple.mk:21 (bios/daphne/DirkSimple, where its patch reads)
# retrodeck retroarch/component_prepare.sh:60
# retropie scriptmodules/libretrocores/lr-dirksimple.sh:49
# lakka stays: packages/lakka/libretro_cores/dirksimple/package.mk:17-18 copies
# data/games to DirkSimple/games, one level above DirkSimple/data/games.
dirksimple:
source_url: "https://buildbot.libretro.com/assets/system/DirkSimple.zip"
source_type: zip
for_platforms: [emudeck, lakka, retroarch, rocknix]
local_cache: data/dirksimple
description: "DirkSimple Dragon's Lair engine data"