mirror of
https://github.com/Abdess/retroarch_system.git
synced 2026-11-11 20:43:50 -06:00
EmuELEC links /storage/.local/share/flycast to /storage/roms/bios/dc (flycast.sh:11-14 at v4.8), and Flycast reads $HOME/.local/share/flycast. Root's home there is /storage (packages/sysutils/busybox/package.mk:168, profile.d/98-busybox.conf:4, sourced by flycast.sh:7), which nothing recorded, so the link bound nothing and flycastsa's files went to the BIOS root. The registry's home_directory now spells that directory as ~ in the handles and directories of launcher records. flycastsa's ten files land in bios/dc, where the libretro build already reads them. The manifest drops dc_boot.bin and dc_nvmem.bin from the BIOS root, which no emulator reads there, and six arcade archives at the root go back to the MAME sets the mame cores claim.
1175 lines
47 KiB
YAML
1175 lines
47 KiB
YAML
# Shared by every platform below: same files, same destinations.
|
|
_standalone_copies: &standalone_copies
|
|
# Switch emulators (keys)
|
|
- file: prod.keys
|
|
targets:
|
|
linux:
|
|
- $HOME/.local/share/yuzu/keys
|
|
- $HOME/.local/share/eden/keys
|
|
- $HOME/.local/share/citron/keys
|
|
- $HOME/.local/share/suyu/keys
|
|
- $HOME/.var/app/dev.eden_emu.eden/data/eden/keys
|
|
- $HOME/.config/Ryujinx/system
|
|
- $HOME/.var/app/io.github.ryubing.Ryujinx/config/Ryujinx/system
|
|
windows:
|
|
- '%APPDATA%\yuzu\keys'
|
|
- '%APPDATA%\eden\keys'
|
|
- '%APPDATA%\citron\keys'
|
|
- '%APPDATA%\suyu\keys'
|
|
- '%APPDATA%\Ryujinx\system'
|
|
darwin:
|
|
- $HOME/Library/Application Support/yuzu/keys
|
|
- $HOME/Library/Application Support/Ryujinx/system
|
|
- file: title.keys
|
|
targets:
|
|
linux:
|
|
- $HOME/.local/share/yuzu/keys
|
|
- $HOME/.local/share/eden/keys
|
|
- $HOME/.local/share/citron/keys
|
|
- $HOME/.local/share/suyu/keys
|
|
- $HOME/.var/app/dev.eden_emu.eden/data/eden/keys
|
|
windows:
|
|
- '%APPDATA%\yuzu\keys'
|
|
- '%APPDATA%\eden\keys'
|
|
- '%APPDATA%\citron\keys'
|
|
- '%APPDATA%\suyu\keys'
|
|
darwin:
|
|
- $HOME/Library/Application Support/yuzu/keys
|
|
# 3DS emulators
|
|
- file: Citra/sysdata/aes_keys.txt
|
|
targets:
|
|
linux:
|
|
- $HOME/.local/share/azahar-emu/sysdata
|
|
- $HOME/.var/app/org.azahar_emu.Azahar/data/azahar-emu/sysdata
|
|
windows:
|
|
- '%APPDATA%\Azahar\sysdata'
|
|
# common_paths.h:36,61 (azahar 987f1840).
|
|
darwin:
|
|
- $HOME/Library/Application Support/Azahar/sysdata
|
|
- file: Citra/sysdata/boot9.bin
|
|
targets:
|
|
linux:
|
|
- $HOME/.local/share/azahar-emu/sysdata
|
|
- $HOME/.var/app/org.azahar_emu.Azahar/data/azahar-emu/sysdata
|
|
windows:
|
|
- '%APPDATA%\Azahar\sysdata'
|
|
# common_paths.h:36,61 (azahar 987f1840).
|
|
darwin:
|
|
- $HOME/Library/Application Support/Azahar/sysdata
|
|
# DuckStation (PS1)
|
|
- pattern: 'scph*.bin'
|
|
targets:
|
|
linux:
|
|
- $HOME/.local/share/duckstation/bios
|
|
- $HOME/.var/app/org.duckstation.DuckStation/config/duckstation/bios
|
|
windows:
|
|
- '%LOCALAPPDATA%\DuckStation\bios'
|
|
- '%USERPROFILE%\Documents\DuckStation\bios'
|
|
darwin:
|
|
- $HOME/Library/Application Support/DuckStation/bios
|
|
# PCSX2 (PS2)
|
|
- pattern: 'ps2-*.bin'
|
|
emulator: pcsx2
|
|
targets:
|
|
linux:
|
|
- $HOME/.config/PCSX2/bios
|
|
- $HOME/.var/app/net.pcsx2.PCSX2/config/PCSX2/bios
|
|
windows:
|
|
- '%USERPROFILE%\Documents\PCSX2\bios'
|
|
darwin:
|
|
- $HOME/Library/Application Support/PCSX2/bios
|
|
# RPCS3 (PS3) - needs menu install
|
|
- note: 'PS3 firmware (PS3UPDAT.PUP) found. Install via RPCS3 > File > Install Firmware.'
|
|
detect:
|
|
linux:
|
|
- $HOME/.config/rpcs3
|
|
- $HOME/.var/app/net.rpcs3.RPCS3/config/rpcs3
|
|
windows:
|
|
- '%APPDATA%\rpcs3'
|
|
# Dolphin (GameCube)
|
|
- file: GC/USA/IPL.bin
|
|
emulator: dolphin
|
|
targets:
|
|
linux:
|
|
- $HOME/.local/share/dolphin-emu/GC/USA
|
|
- $HOME/.var/app/org.DolphinEmu.dolphin-emu/data/dolphin-emu/GC/USA
|
|
windows:
|
|
- '%APPDATA%\Dolphin Emulator\GC\USA'
|
|
darwin:
|
|
- $HOME/Library/Application Support/Dolphin/GC/USA
|
|
- file: GC/EUR/IPL.bin
|
|
emulator: dolphin
|
|
targets:
|
|
linux:
|
|
- $HOME/.local/share/dolphin-emu/GC/EUR
|
|
- $HOME/.var/app/org.DolphinEmu.dolphin-emu/data/dolphin-emu/GC/EUR
|
|
windows:
|
|
- '%APPDATA%\Dolphin Emulator\GC\EUR'
|
|
darwin:
|
|
- $HOME/Library/Application Support/Dolphin/GC/EUR
|
|
- file: GC/JAP/IPL.bin
|
|
emulator: dolphin
|
|
targets:
|
|
linux:
|
|
- $HOME/.local/share/dolphin-emu/GC/JAP
|
|
- $HOME/.var/app/org.DolphinEmu.dolphin-emu/data/dolphin-emu/GC/JAP
|
|
windows:
|
|
- '%APPDATA%\Dolphin Emulator\GC\JAP'
|
|
darwin:
|
|
- $HOME/Library/Application Support/Dolphin/GC/JAP
|
|
# User/GC, then Sys/GC (DSPLLE.cpp:106-113, libretro/dolphin 3aac3f05).
|
|
- file: dsp_rom.bin
|
|
emulator: dolphin
|
|
targets:
|
|
linux:
|
|
- $HOME/.local/share/dolphin-emu/GC
|
|
- $HOME/.var/app/org.DolphinEmu.dolphin-emu/data/dolphin-emu/GC
|
|
windows:
|
|
- '%APPDATA%\Dolphin Emulator\GC'
|
|
darwin:
|
|
- $HOME/Library/Application Support/Dolphin/GC
|
|
# User/GC, then Sys/GC (DSPLLE.cpp:106-113, libretro/dolphin 3aac3f05).
|
|
- file: dsp_coef.bin
|
|
emulator: dolphin
|
|
targets:
|
|
linux:
|
|
- $HOME/.local/share/dolphin-emu/GC
|
|
- $HOME/.var/app/org.DolphinEmu.dolphin-emu/data/dolphin-emu/GC
|
|
windows:
|
|
- '%APPDATA%\Dolphin Emulator\GC'
|
|
darwin:
|
|
- $HOME/Library/Application Support/Dolphin/GC
|
|
# PPSSPP
|
|
- file: PPSSPP/ppge_atlas.zim
|
|
targets:
|
|
linux:
|
|
- $HOME/.config/ppsspp/PSP/SYSTEM
|
|
- $HOME/.var/app/org.ppsspp.PPSSPP/config/ppsspp/PSP/SYSTEM
|
|
windows:
|
|
- '%USERPROFILE%\Documents\PPSSPP\PSP\SYSTEM'
|
|
darwin:
|
|
- $HOME/Library/Application Support/PPSSPP/PSP/SYSTEM
|
|
# Flycast (Dreamcast)
|
|
# Linux reads the data folder itself (core/linux-dist/main.cpp:74-97,
|
|
# core/stdclass.cpp:95-107, flycast e88b0ced). Windows reads data\ beside
|
|
# flycast.exe (core/windows/winmain.cpp:56-77), a folder no rule can name.
|
|
- file: dc/dc_boot.bin
|
|
targets:
|
|
linux:
|
|
- $HOME/.local/share/flycast
|
|
- $HOME/.var/app/org.flycast.Flycast/data/flycast
|
|
# shell/apple/emulator-osx/emulator-osx/osx-main.mm:83-101 (flycast 6bb0fc3e).
|
|
darwin:
|
|
- $HOME/Library/Application Support/Flycast/data
|
|
# <home>/data/ (shell/android-studio/flycast/src/main/jni/src/Android.cpp:
|
|
# 143-159, flycast a9bd1c74), writable from Termux up to Android 10.
|
|
android:
|
|
- $EXTERNAL_STORAGE/Android/data/com.flycast.emulator/files/data
|
|
# Linux reads the data folder itself (core/linux-dist/main.cpp:74-97,
|
|
# core/stdclass.cpp:95-107, flycast e88b0ced). Windows reads data\ beside
|
|
# flycast.exe (core/windows/winmain.cpp:56-77), a folder no rule can name.
|
|
- file: dc/dc_nvmem.bin
|
|
targets:
|
|
linux:
|
|
- $HOME/.local/share/flycast
|
|
- $HOME/.var/app/org.flycast.Flycast/data/flycast
|
|
# shell/apple/emulator-osx/emulator-osx/osx-main.mm:83-101 (flycast 6bb0fc3e).
|
|
darwin:
|
|
- $HOME/Library/Application Support/Flycast/data
|
|
# <home>/data/ (shell/android-studio/flycast/src/main/jni/src/Android.cpp:
|
|
# 143-159, flycast a9bd1c74), writable from Termux up to Android 10.
|
|
android:
|
|
- $EXTERNAL_STORAGE/Android/data/com.flycast.emulator/files/data
|
|
|
|
# release_pack: true marks the platforms a release publishes a ZIP for, the
|
|
# ones most people download (download_count of v2026.10.10, part 1 of each
|
|
# pack). Every other platform is served by the installer, whose manifest is
|
|
# written for all of them. wiki/release-process.md says how to revisit it.
|
|
platforms:
|
|
retroarch:
|
|
config: retroarch.yml
|
|
release_pack: true
|
|
device_group: computer
|
|
extract_to: system/
|
|
logo: https://raw.githubusercontent.com/libretro/RetroArch/master/media/retroarch-vector_invader-only.svg
|
|
scraper: libretro
|
|
source_url: https://raw.githubusercontent.com/libretro/libretro-database/master/dat/System.dat
|
|
source_format: clrmamepro_dat
|
|
hash_type: sha1
|
|
verification_mode: existence
|
|
base_destination: system
|
|
# The directory RETRO_ENVIRONMENT_GET_SAVE_DIRECTORY returns
|
|
# (runloop.c:2699-2700, libretro/RetroArch a81e450c): savefile_directory,
|
|
# saves/ beside system/ by default (platform_unix.c:3364-3365,
|
|
# platform_win32.c:1343, platform_darwin.m:456), with the core's
|
|
# library_name appended since sort_savefiles_enable defaults to true
|
|
# (config.def.h:1099, runloop.c:11285-11293).
|
|
save_directory:
|
|
folder: saves
|
|
by_core: true
|
|
case_insensitive_fs: true
|
|
schedule: weekly
|
|
cores: all_libretro
|
|
target_scraper: retroarch_targets
|
|
target_source: https://buildbot.libretro.com/nightly/
|
|
install:
|
|
detect:
|
|
- os: linux
|
|
method: config_file
|
|
config: $HOME/.var/app/org.libretro.RetroArch/config/retroarch/retroarch.cfg
|
|
parse_key: system_directory
|
|
- os: linux
|
|
method: config_file
|
|
config: $HOME/snap/retroarch/current/.config/retroarch/retroarch.cfg
|
|
parse_key: system_directory
|
|
# Native: $XDG_CONFIG_HOME/retroarch when the variable is set, else
|
|
# $HOME/.config/retroarch, then $HOME/.retroarch.cfg when that file is
|
|
# missing (file_path_special.c fill_pathname_application_data,
|
|
# configuration.c open_default_config_file). A value left at default
|
|
# is the system folder of the first of the two folders.
|
|
- os: linux
|
|
method: config_file
|
|
config: $XDG_CONFIG_HOME/retroarch/retroarch.cfg
|
|
parse_key: system_directory
|
|
- os: linux
|
|
method: config_file
|
|
config: $HOME/.config/retroarch/retroarch.cfg
|
|
parse_key: system_directory
|
|
- os: linux
|
|
method: config_file
|
|
config: $HOME/.retroarch.cfg
|
|
parse_key: system_directory
|
|
# configuration.c reads <Application Support>/RetroArch/config, and a value
|
|
# left at default is ~/Documents/RetroArch/system (platform_darwin.m).
|
|
# Older builds kept the file one level up.
|
|
- os: darwin
|
|
method: config_file
|
|
config: $HOME/Library/Application Support/RetroArch/config/retroarch.cfg
|
|
parse_key: system_directory
|
|
bios_path: $HOME/Documents/RetroArch/system
|
|
- os: darwin
|
|
method: config_file
|
|
config: $HOME/Library/Application Support/RetroArch/retroarch.cfg
|
|
parse_key: system_directory
|
|
bios_path: $HOME/Documents/RetroArch/system
|
|
# Beside retroarch.exe first, then %APPDATA%; default <exe folder>\system.
|
|
# The folders its installers, Steam and ES-DE put it in.
|
|
- os: windows
|
|
method: config_file
|
|
config: 'C:\RetroArch-Win64\retroarch.cfg'
|
|
parse_key: system_directory
|
|
- os: windows
|
|
method: config_file
|
|
config: 'C:\RetroArch\retroarch.cfg'
|
|
parse_key: system_directory
|
|
- os: windows
|
|
method: config_file
|
|
config: '%ProgramFiles%\RetroArch-Win64\retroarch.cfg'
|
|
parse_key: system_directory
|
|
- os: windows
|
|
method: config_file
|
|
config: '%ProgramFiles%\RetroArch\retroarch.cfg'
|
|
parse_key: system_directory
|
|
- os: windows
|
|
method: config_file
|
|
config: '%ProgramFiles%\ES-DE\Emulators\RetroArch-Win64\retroarch.cfg'
|
|
parse_key: system_directory
|
|
- os: windows
|
|
method: config_file
|
|
config: '%ProgramFiles%\ES-DE\Emulators\RetroArch\retroarch.cfg'
|
|
parse_key: system_directory
|
|
- os: windows
|
|
method: config_file
|
|
config: '%ProgramFiles(x86)%\RetroArch-Win64\retroarch.cfg'
|
|
parse_key: system_directory
|
|
- os: windows
|
|
method: config_file
|
|
config: '%ProgramFiles(x86)%\RetroArch\retroarch.cfg'
|
|
parse_key: system_directory
|
|
- os: windows
|
|
method: config_file
|
|
config: '%ProgramFiles(x86)%\ES-DE\Emulators\RetroArch-Win64\retroarch.cfg'
|
|
parse_key: system_directory
|
|
- os: windows
|
|
method: config_file
|
|
config: '%ProgramFiles(x86)%\ES-DE\Emulators\RetroArch\retroarch.cfg'
|
|
parse_key: system_directory
|
|
- os: windows
|
|
method: config_file
|
|
config: '%APPDATA%\RetroArch\retroarch.cfg'
|
|
parse_key: system_directory
|
|
- os: windows
|
|
method: config_file
|
|
config: '%ProgramFiles(x86)%\Steam\steamapps\common\RetroArch\retroarch.cfg'
|
|
parse_key: system_directory
|
|
- os: windows
|
|
method: config_file
|
|
config: '%ProgramFiles%\Steam\steamapps\common\RetroArch\retroarch.cfg'
|
|
parse_key: system_directory
|
|
# Handheld systems that run RetroArch as their frontend, each found by
|
|
# what its own build writes. A system built on another (derives_from)
|
|
# matches both and is the one meant.
|
|
# muOS: MustardOS/internal f41f4a89: retroarch.sh:8-20, bind.sh:4,116-150,
|
|
# retroarch.default.cfg:2806,3151. /mnt/mmc/MUOS is the older layout.
|
|
- os: linux
|
|
name: muOS
|
|
method: file_exists
|
|
file: /opt/muos
|
|
bios_path: /run/muos/storage/bios
|
|
config: [/opt/muos/share/info/config/retroarch.cfg, /opt/muos/share/emulator/retroarch/retroarch.default.cfg]
|
|
- os: linux
|
|
name: muOS
|
|
method: file_exists
|
|
file: /mnt/mmc/MUOS
|
|
bios_path: /mnt/mmc/MUOS/bios
|
|
# JELOS: JustEnoughLinuxOS/distribution 7b2e116c scripts/image:118-120,
|
|
# options:17, runemu.sh:37, RK3566/retroarch.cfg:716.
|
|
- os: linux
|
|
name: JELOS
|
|
method: os_release
|
|
match: [OS_NAME=JELOS]
|
|
bios_path: /storage/roms/bios
|
|
config: [/storage/.config/retroarch/retroarch.cfg]
|
|
home: /storage
|
|
# KOLOS: AnonLinuxOS/KOLOS 7daf5950: OS_NAME=JELOS kept, jelos-ready.service
|
|
# ("KOLOS system ready script") installed by scripts/install:100-102.
|
|
- os: linux
|
|
name: KOLOS
|
|
method: file_exists
|
|
file: /usr/lib/systemd/system/jelos-ready.service
|
|
bios_path: /storage/roms/bios
|
|
config: [/storage/.config/retroarch/retroarch.cfg]
|
|
home: /storage
|
|
derives_from: JELOS
|
|
# UnofficialOS: RetroGFX/UnofficialOS 22635796 scripts/image:119-120, options:17,
|
|
# packages/unofficialos/sources/scripts/runemu.sh:37.
|
|
- os: linux
|
|
name: UnofficialOS
|
|
method: os_release
|
|
match: [OS_NAME=UnofficialOS]
|
|
bios_path: /storage/roms/bios
|
|
config: [/storage/.config/retroarch/retroarch.cfg]
|
|
home: /storage
|
|
# ArchR: archr-linux/Arch-R dbd45d45 scripts/image:164-177, options:17,
|
|
# factoryreset:9-10, RK3326/retroarch.cfg:718.
|
|
- os: linux
|
|
name: ArchR
|
|
method: os_release
|
|
match: [OS_NAME=ArchR]
|
|
bios_path: /storage/roms/bios
|
|
config: [/storage/.config/retroarch/retroarch.cfg]
|
|
home: /storage
|
|
# ArkOS: christianhaitian/arkos dedf4278 Update-RGB10.sh:76 (splash title).
|
|
# Both configs move to /roms2 with "Switch to SD2 for Roms" (darkos
|
|
# daecf488, scripts/Switch to SD2 for Roms.sh:91-92).
|
|
- os: linux
|
|
name: ArkOS
|
|
method: file_exists
|
|
file: [/home/ark, /opt/system]
|
|
bios_path: /roms/bios
|
|
config: [/home/ark/.config/retroarch/retroarch.cfg, /home/ark/.config/retroarch32/retroarch.cfg]
|
|
- os: linux
|
|
name: ArkOS
|
|
method: file_matches
|
|
file: /usr/share/plymouth/themes/text.plymouth
|
|
pattern: '^title=\s*ArkOS\b'
|
|
bios_path: /roms/bios
|
|
config: [/home/ark/.config/retroarch/retroarch.cfg, /home/ark/.config/retroarch32/retroarch.cfg]
|
|
# dArkOS: christianhaitian/darkos daecf488 finishing_touches.sh:359-361,
|
|
# retroarch.cfg.rgb10:3043. The dArkOSRE, dArkOSen and ArkOS4Clone overlays
|
|
# keep the title.
|
|
- os: linux
|
|
name: dArkOS
|
|
method: file_matches
|
|
file: /usr/share/plymouth/themes/text.plymouth
|
|
pattern: '^title=\s*dArkOS'
|
|
bios_path: /roms/bios
|
|
config: [/home/ark/.config/retroarch/retroarch.cfg, /home/ark/.config/retroarch32/retroarch.cfg]
|
|
derives_from: ArkOS
|
|
# RetroOZ: RetroOZ 0.60 image: splash title, /opt/.retrooz/version,
|
|
# retroarch32/retroarch.cfg:3046. /etc/retrooz_version is the file PortMaster
|
|
# reads (PortMaster-GUI ccea6b74, PortMaster/device_info.txt:95).
|
|
- os: linux
|
|
name: RetroOZ
|
|
method: file_matches
|
|
file: /usr/share/plymouth/themes/text.plymouth
|
|
pattern: '^title=\s*RetroOZ'
|
|
bios_path: /roms/bios
|
|
config: [/home/odroid/.config/retroarch/retroarch.cfg, /home/odroid/.config/retroarch32/retroarch.cfg]
|
|
- os: linux
|
|
name: RetroOZ
|
|
method: file_exists
|
|
file: /opt/.retrooz
|
|
bios_path: /roms/bios
|
|
config: [/home/odroid/.config/retroarch/retroarch.cfg, /home/odroid/.config/retroarch32/retroarch.cfg]
|
|
- os: linux
|
|
name: RetroOZ
|
|
method: file_exists
|
|
file: /etc/retrooz_version
|
|
bios_path: /roms/bios
|
|
config: [/home/odroid/.config/retroarch/retroarch.cfg, /home/odroid/.config/retroarch32/retroarch.cfg]
|
|
# spruceOS: spruceOS 824b1aae spruce/scripts/helperFunctions.sh:157-165,
|
|
# RetroArch/platform/retroarch-Brick.cfg.bak:3279.
|
|
- os: linux
|
|
name: spruceOS
|
|
method: file_exists
|
|
file: /mnt/SDCARD/spruce
|
|
bios_path: /mnt/SDCARD/BIOS
|
|
config: ['/mnt/SDCARD/Saves/ra-configs/retroarch-*.cfg']
|
|
derives_from: TrimUI
|
|
# CrossMix-OS: cizia64/CrossMix-OS 206d612f System/usr/trimui/scripts/
|
|
# update_common.sh:20, patch_ra_cfg.sh:5, RetroArch/retroarch.cfg:3202.
|
|
- os: linux
|
|
name: CrossMix-OS
|
|
method: file_exists
|
|
file: /mnt/SDCARD/System/usr/trimui/crossmix-version.txt
|
|
bios_path: /mnt/SDCARD/BIOS
|
|
config: [/mnt/SDCARD/RetroArch/retroarch.cfg]
|
|
derives_from: TrimUI
|
|
# Onion: OnionUI/Onion 07505ea5 Makefile:75-76,
|
|
# .tmp_update/script/patch_ra_cfg.sh:6, retroarch.cfg:3009.
|
|
- os: linux
|
|
name: Onion
|
|
method: file_exists
|
|
file: /mnt/SDCARD/.tmp_update/onionVersion/version.txt
|
|
bios_path: /mnt/SDCARD/BIOS
|
|
config: [/mnt/SDCARD/RetroArch/.retroarch/retroarch.cfg]
|
|
# Allium: goweiwen/Allium ee0dda97 crates/common/src/constants.rs:19-34,
|
|
# launch_without_savestate_auto_load.sh:2-7. Its RetroArch patch makes
|
|
# $ROOT/BIOS the default system folder.
|
|
- os: linux
|
|
name: Allium
|
|
method: file_exists
|
|
file: /mnt/SDCARD/.allium
|
|
bios_path: /mnt/SDCARD/BIOS
|
|
config: [/mnt/SDCARD/RetroArch/.retroarch/retroarch.cfg]
|
|
# Koriki: Rparadise-Team/Koriki 8513071c src/systemInfo/main.c:106,
|
|
# .tmp_update/runtime.sh:271, RetroArch/.retroarch/retroarch.cfg:3191.
|
|
- os: linux
|
|
name: Koriki
|
|
method: file_exists
|
|
file: /mnt/SDCARD/Koriki/version.txt
|
|
bios_path: /mnt/SDCARD/BIOS
|
|
config: [/mnt/SDCARD/RetroArch/.retroarch/retroarch.cfg]
|
|
# MiyooCFW: MiyooCFW buildroot d5912eeb board/miyoo/rootfs/etc/main:4 (HOME),
|
|
# package/miyoo/miyoo-ctl/miyoo-ctl.mk:12. DINGUX RetroArch defaults to
|
|
# $HOME/.retroarch/system.
|
|
- os: linux
|
|
name: MiyooCFW
|
|
method: file_exists
|
|
file: [/etc/main, /usr/bin/miyooctl]
|
|
bios_path: /mnt/.retroarch/system
|
|
config: [/mnt/.retroarch/retroarch.cfg]
|
|
home: /mnt
|
|
# plumOS: game-de-it/plumOS-pixel2_v2 dec872c0 rootfs/pixel2/etc/os-release:2,
|
|
# sbin/init:29, plumos-retroarch-launch:342. Other plumOS builds append a
|
|
# folder of their own at launch (plumOS-MF 0095017c,
|
|
# plumos-retroarch-launch:15): found, not installed to.
|
|
- os: linux
|
|
name: plumOS
|
|
method: file_exists
|
|
file: /mnt/plumos-user
|
|
bios_path: /mnt/plumos-user/bios
|
|
- os: linux
|
|
name: plumOS
|
|
method: os_release
|
|
match: [ID=plumos]
|
|
# TrimUI: the stock firmware publishes no source naming its BIOS folder.
|
|
# /usr/trimui is where PortMaster finds its libraries
|
|
# (trimui/launch_hooks.txt:37). Found so that what runs on it is told
|
|
# apart, never installed to.
|
|
- os: linux
|
|
name: TrimUI
|
|
method: file_exists
|
|
file: /usr/trimui
|
|
installs: false
|
|
# MinUI: MinUI dbf89435 workspace/all/common/defines.h:14-16, minarch.c:2942.
|
|
# One Bios/<tag>/ folder per core, not written by the installer.
|
|
- os: linux
|
|
name: MinUI
|
|
method: file_exists
|
|
file: /mnt/SDCARD/.system/res
|
|
installs: false
|
|
derives_from: TrimUI
|
|
- os: linux
|
|
name: MinUI
|
|
method: file_exists
|
|
file: /mnt/sdcard/.system/res
|
|
installs: false
|
|
derives_from: TrimUI
|
|
# Anbernic stock firmware: the stock Linux of Anbernic devices.
|
|
- os: linux
|
|
name: 'Anbernic stock firmware'
|
|
method: file_exists
|
|
file: /mnt/vendor/bin/dmenu.bin
|
|
bios_path: /mnt/mmc/bios
|
|
standalone_copies: *standalone_copies
|
|
batocera:
|
|
config: batocera.yml
|
|
release_pack: true
|
|
device_group: gaming-os
|
|
extract_to: /userdata/bios/
|
|
logo: https://raw.githubusercontent.com/batocera-linux/batocera-emulationstation/master/resources/splash_batocera.svg
|
|
scraper: batocera
|
|
source_url: https://raw.githubusercontent.com/batocera-linux/batocera.linux/master/package/batocera/core/batocera-scripts/scripts/batocera-systems
|
|
source_format: python_dict
|
|
hash_type: md5
|
|
# configgen hands each libretro core /userdata/saves/<system> at every
|
|
# launch, with sort_savefiles_enable off (package/batocera/core/
|
|
# batocera-configgen/configgen/configgen/generators/libretro/
|
|
# libretroConfig.py:225-228 and batoceraPaths.py:22 at batocera-43.1).
|
|
# <system> is the ES system name (Emulator.py:119, args.system), so a
|
|
# file is placed once below each system es_systems.yml offers the core
|
|
# for (libretro_systems in batocera.yml). The pack keeps them in
|
|
# userdata-saves/: batocera-systems lists bios/saves/dolphin-emu/
|
|
# Triforce/segaboot.gcm, so saves/ already belongs to the BIOS tree.
|
|
save_directory:
|
|
folder: saves
|
|
by_core: false
|
|
by_system: true
|
|
pack_folder: userdata-saves
|
|
schedule: weekly
|
|
target_scraper: batocera_targets
|
|
target_source: https://github.com/batocera-linux/batocera.linux
|
|
install:
|
|
detect:
|
|
# batocera.linux 38845725, package/batocera/core/batocera-system/
|
|
# batocera-system.mk:21-22 writes batocera.arch and batocera.version.
|
|
- os: linux
|
|
name: Batocera
|
|
method: file_exists
|
|
file: /usr/share/batocera/batocera.version
|
|
bios_path: /userdata/bios
|
|
standalone_copies: *standalone_copies
|
|
recalbox:
|
|
config: recalbox.yml
|
|
device_group: gaming-os
|
|
extract_to: /recalbox/share/bios/
|
|
logo: https://raw.githubusercontent.com/homarr-labs/dashboard-icons/main/svg/recalbox.svg
|
|
scraper: recalbox
|
|
source_url: https://gitlab.com/recalbox/recalbox/-/raw/master/board/recalbox/fsoverlay/recalbox/share_init/system/.emulationstation/es_bios.xml
|
|
source_format: xml
|
|
hash_type: md5
|
|
# Bios.cpp:64-68 hashes a .zip with Zip::Md5Composite, never its bytes
|
|
zip_digest: composite
|
|
# configgen hands each libretro core /recalbox/share/saves/<system> at
|
|
# every launch, with sort_savefiles_enable off (projects/configgen/
|
|
# configgen/generators/libretro/libretroRetroarch.py:338, 347-348 and
|
|
# 419-420, recalboxFiles.py:84 at 10.1.1). <system> is the name the
|
|
# system.ini gives, so a file is placed once below each system offering
|
|
# the core (libretro_systems in recalbox.yml).
|
|
save_directory:
|
|
folder: saves
|
|
by_core: false
|
|
by_system: true
|
|
schedule: monthly
|
|
target_scraper: recalbox_targets
|
|
target_source: https://gitlab.com/recalbox/recalbox/-/tree/master/configs
|
|
install:
|
|
detect:
|
|
- os: linux
|
|
name: Recalbox
|
|
method: file_exists
|
|
file: /recalbox/recalbox.version
|
|
bios_path: /recalbox/share/bios
|
|
- os: linux
|
|
name: Recalbox
|
|
method: file_exists
|
|
file: /usr/bin/recalbox-settings
|
|
bios_path: /recalbox/share/bios
|
|
standalone_copies: *standalone_copies
|
|
retrobat:
|
|
config: retrobat.yml
|
|
release_pack: true
|
|
device_group: computer
|
|
extract_to: bios/
|
|
logo: https://raw.githubusercontent.com/RetroBat-Official/retrobat/main/system/resources/retrobat_logo_notext.png
|
|
scraper: retrobat
|
|
source_url: https://raw.githubusercontent.com/RetroBat-Official/emulatorlauncher/master/batocera-systems/Resources/batocera-systems.json
|
|
source_format: json
|
|
hash_type: md5
|
|
# Windows: names differing only by case land on one file.
|
|
case_insensitive_fs: true
|
|
# A generator takes an emulator folder from AppConfig.GetFullPath(key):
|
|
# the key in emulatorLauncher.cfg, else the first existing of
|
|
# emulationstation/<key>, emulators/<key>, system/emulators/<key> and
|
|
# system/<key> below the RetroBat folder (EmulatorLauncher.Common/
|
|
# FileFormats/ConfigFile.cs:126-180 at ca486005). emulatorLauncher runs
|
|
# from emulationstation/, its LocalPath (emulatorLauncher/Program.cs:536-537),
|
|
# beside bios/.
|
|
emulators_directory:
|
|
launcher_spelling: '<AppConfig.GetFullPath("{key}")>'
|
|
bios_folder: bios
|
|
searched:
|
|
- "emulationstation/{key}"
|
|
- "emulators/{key}"
|
|
- "system/emulators/{key}"
|
|
- "system/{key}"
|
|
default: "emulators/{key}"
|
|
config: emulationstation/emulatorLauncher.cfg
|
|
# emulatorLauncher hands each libretro core saves\<system> at every
|
|
# launch, saves\ beside bios\ (emulatorLauncher.cfg in retrobat 8.3.1),
|
|
# and sorts saves by core for dolphin alone (CoreSaveSort)
|
|
# (emulatorLauncher/Generators/LibRetro.Generator.cs:1128-1132, 1304-1315
|
|
# and 2707 at 48cdc616). <system> is the ES system name, so a file is
|
|
# placed once below each system es_systems.cfg offers the core for
|
|
# (libretro_systems in retrobat.yml). mame (saves\) and amiberry
|
|
# (saves\<system>\LR-amiberry) differ, and neither profile has a file
|
|
# read below the save directory.
|
|
save_directory:
|
|
folder: saves
|
|
by_core: false
|
|
by_system: true
|
|
by_core_for: [dolphin]
|
|
schedule: weekly
|
|
target_scraper: null
|
|
target_source: null
|
|
install:
|
|
detect:
|
|
# RetroBat.exe writes its own folder there on every start, wherever it
|
|
# was installed (retrobat-executable 702da66a,
|
|
# RetroBat/RetroBat/Program.cs:57 and 99, RegistryTools.cs:15-50).
|
|
- os: windows
|
|
method: registry
|
|
key: 'HKCU\SOFTWARE\RetroBat'
|
|
value: LatestKnownInstallPath
|
|
bios_subdir: bios
|
|
# installer.iss: DefaultDirName=C:\RetroBat, the first place to look.
|
|
- os: windows
|
|
method: path_exists
|
|
path: 'C:\RetroBat\bios'
|
|
- os: windows
|
|
method: path_exists
|
|
path: '%USERPROFILE%\RetroBat\bios'
|
|
standalone_copies: *standalone_copies
|
|
emudeck:
|
|
config: emudeck.yml
|
|
release_pack: true
|
|
device_group: computer
|
|
extract_to: ~/Emulation/bios/
|
|
logo: https://raw.githubusercontent.com/dragoonDorise/EmuDeck/main/icons/EmuDeck.png
|
|
scraper: emudeck
|
|
source_url: https://raw.githubusercontent.com/dragoonDorise/EmuDeck/main/functions/checkBIOS.sh
|
|
source_wiki: https://raw.githubusercontent.com/EmuDeck/emudeck.github.io/main/docs/tables/
|
|
source_format: bash_script+csv
|
|
hash_type: md5
|
|
# Windows: names differing only by case land on one file.
|
|
case_insensitive_fs: true
|
|
# RetroArch_setupSaves points savefile_directory at
|
|
# $savesPath/retroarch/saves (functions/EmuScripts/emuDeckRetroArch.sh:236
|
|
# at dddb3022), savesPath ~/Emulation/saves beside biosPath
|
|
# ~/Emulation/bios (functions/helperFunctions.sh:347-348). The shipped
|
|
# retroarch.cfg turns savefiles_in_content_dir and both sort options off
|
|
# (configs/org.libretro.RetroArch/config/retroarch/retroarch.cfg:3135,
|
|
# 3176-3177): one folder for every core.
|
|
save_directory:
|
|
folder: saves/retroarch/saves
|
|
by_core: false
|
|
schedule: weekly
|
|
target_scraper: emudeck_targets
|
|
target_source: https://github.com/dragoonDorise/EmuDeck
|
|
install:
|
|
detect:
|
|
- os: linux
|
|
method: config_file
|
|
config: $HOME/.config/EmuDeck/settings.sh
|
|
parse_key: emulationPath
|
|
bios_subdir: bios
|
|
- os: linux
|
|
method: path_exists
|
|
path: $HOME/Emulation/bios
|
|
# functions/all.sh:3-4,24 and vars.sh:2 (EmuDeck dddb3022): the macOS
|
|
# build reads the same settings.sh, emulationPath=~/Emulation by
|
|
# default (settings.sh:79).
|
|
- os: darwin
|
|
method: config_file
|
|
config: $HOME/.config/EmuDeck/settings.sh
|
|
parse_key: emulationPath
|
|
bios_subdir: bios
|
|
- os: darwin
|
|
method: path_exists
|
|
path: $HOME/Emulation/bios
|
|
# functions/all.ps1:4-14 (emudeck-we 037460ef): the APPDATA settings,
|
|
# else the profile ones, and C:\Emulation when neither names a folder.
|
|
- os: windows
|
|
method: config_file
|
|
config: '%APPDATA%\EmuDeck\settings.ps1'
|
|
parse_key: $emulationPath
|
|
bios_subdir: bios
|
|
- os: windows
|
|
method: config_file
|
|
config: '%USERPROFILE%\EmuDeck\settings.ps1'
|
|
parse_key: $emulationPath
|
|
bios_subdir: bios
|
|
standalone_copies: *standalone_copies
|
|
lakka:
|
|
config: lakka.yml
|
|
device_group: gaming-os
|
|
extract_to: /storage/system/
|
|
logo: https://raw.githubusercontent.com/libretro/retroarch-assets/master/src/xmb/flatui/lakka.svg
|
|
scraper: libretro
|
|
inherits_from: retroarch
|
|
cores: all_libretro
|
|
# Lakka's retroarch.cfg sets savefile_directory to /storage/savefiles,
|
|
# beside /storage/system, and sorts saves by core
|
|
# (packages/lakka/retroarch_base/retroarch/config/retroarch.cfg:3164-3165
|
|
# and 3206-3207, libretro/Lakka-LibreELEC cc3bf85d).
|
|
save_directory:
|
|
folder: savefiles
|
|
by_core: true
|
|
# Lakka is a Linux distribution: two names that differ by case are two
|
|
# files there, not the one RetroArch's Windows and macOS builds see.
|
|
case_insensitive_fs: false
|
|
schedule: weekly
|
|
# Lakka builds its cores per device image: libretro_cores/package.mk
|
|
# excludes cores by PROJECT, DEVICE and OpenGL ES.
|
|
target_scraper: lakka_targets
|
|
target_source: https://github.com/libretro/Lakka-LibreELEC/blob/master/packages/lakka/libretro_cores/package.mk
|
|
install:
|
|
detect:
|
|
- os: linux
|
|
name: Lakka
|
|
method: os_release
|
|
match: [ID=lakka]
|
|
bios_path: /storage/system
|
|
retrodeck:
|
|
config: retrodeck.yml
|
|
device_group: computer
|
|
extract_to: ~/retrodeck/
|
|
logo: https://raw.githubusercontent.com/RetroDECK/RetroDECK/main/res/icon.svg
|
|
scraper: retrodeck
|
|
source_url: https://github.com/RetroDECK/components
|
|
source_format: github_component_manifests
|
|
hash_type: md5
|
|
# savefile_directory is $saves_path, ~/retrodeck/saves beside
|
|
# ~/retrodeck/bios (retroarch/component_prepare.sh:27 and 44 at
|
|
# components fcd0d729), and RetroArch sorts saves by content, not by
|
|
# core (retroarch/rd_assets/rd_config/retroarch.cfg:3233-3234 and
|
|
# 3275-3276). RetroArch 1.22.2 appends the name of the folder holding
|
|
# the ROM (runloop.c:8205-8209 and 8249-8258 at 69a4f0ea): saves/<ROM
|
|
# folder> for a ROM at the top of its system folder, the folder of each
|
|
# system whose ES-DE command loads the core (libretro_systems in
|
|
# retrodeck.yml, from RetroDECK/ES-DE resources/systems/linux/
|
|
# es_systems.xml at 15e1b236, the release RetroDECK takes as latest).
|
|
save_directory:
|
|
folder: saves
|
|
by_core: false
|
|
by_system: true
|
|
schedule: monthly
|
|
contributed_by:
|
|
- username: monster-penguin
|
|
contribution: platform support
|
|
pr: 36
|
|
target_scraper: null
|
|
target_source: null
|
|
install:
|
|
detect:
|
|
# retrodeck.json since the cfg-to-json migration (global.sh:149-153),
|
|
# retrodeck.cfg before it. A home moved to an SD card lives only there.
|
|
- os: linux
|
|
method: config_file
|
|
config: $HOME/.var/app/net.retrodeck.retrodeck/config/retrodeck/retrodeck.json
|
|
parse_key: paths.rd_home_path
|
|
bios_path: $HOME/retrodeck
|
|
- os: linux
|
|
method: config_file
|
|
config: $HOME/.var/app/net.retrodeck.retrodeck/config/retrodeck/retrodeck.cfg
|
|
parse_key: rdhome
|
|
bios_path: $HOME/retrodeck
|
|
- os: linux
|
|
method: path_exists
|
|
path: $HOME/.var/app/net.retrodeck.retrodeck
|
|
bios_path: $HOME/retrodeck
|
|
standalone_copies: *standalone_copies
|
|
romm:
|
|
config: romm.yml
|
|
release_pack: true
|
|
device_group: server
|
|
extract_to: library/bios/
|
|
logo: https://avatars.githubusercontent.com/u/164058018
|
|
scraper: romm
|
|
source_url: https://raw.githubusercontent.com/rommapp/romm/master/backend/models/fixtures/known_bios_files.json
|
|
source_format: json
|
|
hash_type: sha1
|
|
# Cores run in the browser through EmulatorJS: the save file lives in
|
|
# the Emscripten filesystem and goes through RomM's save API
|
|
# (frontend/src/views/Player/EmulatorJS/utils.ts:409-426 at 5.4.0).
|
|
# Nothing a user installs reaches it.
|
|
save_directory: null
|
|
schedule: monthly
|
|
contributed_by:
|
|
- username: PixNyb
|
|
contribution: platform support
|
|
pr: 37
|
|
inherits_from: emulatorjs
|
|
# RomM lists a firmware folder without descending into it
|
|
# (backend/handler/filesystem/base_handler.py:1002, recursive=False), and
|
|
# EmulatorJS writes the chosen file, or each member of a zip, under its
|
|
# bare name (data/src/emulator.js:713-722). A file below the platform
|
|
# folder never reaches a core.
|
|
firmware_folder_flat: true
|
|
target_scraper: null
|
|
target_source: null
|
|
install:
|
|
detect:
|
|
- os: linux
|
|
method: path_exists
|
|
path: /romm/library/bios
|
|
# RomM 5.4 places firmware by filesystem.structure.firmware in this
|
|
# file, relative to /romm/library (rommapp/romm 5.4.0,
|
|
# backend/config/config_manager.py:58,101-109,264-265,564-568): a
|
|
# {platform}/bios library has no library/bios to find.
|
|
- os: linux
|
|
method: path_exists
|
|
path: /romm/config/config.yml
|
|
bios_path: /romm/library/bios
|
|
cores:
|
|
- atari800
|
|
- clk
|
|
- directxbox
|
|
- dolphin
|
|
- dolphin_launcher
|
|
- ecwolf
|
|
- ep128emu
|
|
- ep128emu_core
|
|
- freej2me
|
|
- hatari
|
|
- ishiiruka
|
|
- lrps2
|
|
- minivmac
|
|
- nekop2
|
|
- np2kai
|
|
- o2em
|
|
- pcsx2
|
|
- play
|
|
- pokemini
|
|
- primehack
|
|
- px68k
|
|
- scummvm
|
|
- squirreljme
|
|
- x1
|
|
- xemu
|
|
rocknix:
|
|
config: rocknix.yml
|
|
device_group: handheld
|
|
extract_to: /storage/roms/bios/
|
|
logo: https://avatars.githubusercontent.com/u/163176886
|
|
scraper: rocknix
|
|
# Every device's retroarch.cfg sets savefiles_in_content_dir (for
|
|
# instance projects/ROCKNIX/packages/emulators/libretro/retroarch/
|
|
# sources/RK3566/retroarch.cfg:664-665 at 20261001) and setsettings.sh
|
|
# leaves it: saves sit beside each game, no single place.
|
|
save_directory: null
|
|
schedule: weekly
|
|
target_scraper: rocknix_targets
|
|
target_source: https://github.com/ROCKNIX/distribution/blob/next/projects/ROCKNIX/packages/virtual/emulators/package.mk
|
|
install:
|
|
detect:
|
|
- os: linux
|
|
name: ROCKNIX
|
|
method: os_release
|
|
match: [OS_NAME=rocknix, ID=rocknix]
|
|
bios_path: /storage/roms/bios
|
|
# AmberELEC's checker (batocera-systems) md5s each file under /storage/roms,
|
|
# where its list also names neogeo/neogeo.zip and neogeo/aes.zip: the pack
|
|
# is extracted there, not into bios/. EmulationStation's BIOS screen runs
|
|
# it (ApiSystem.cpp:603-613 at e3846751). The launch-failure check in
|
|
# 99-distribution.conf:320 passes --strictfilter, an argument the script
|
|
# does not handle, so that path reports nothing. No release since
|
|
# 20230203: the scraper reads the commit of the newest prerelease.
|
|
amberelec:
|
|
config: amberelec.yml
|
|
device_group: handheld
|
|
extract_to: /storage/roms/
|
|
logo: https://avatars.githubusercontent.com/u/102820909
|
|
scraper: amberelec
|
|
source_url: https://github.com/AmberELEC/AmberELEC/blob/dev/packages/amberelec/sources/scripts/batocera-systems
|
|
source_format: python_dict
|
|
hash_type: md5
|
|
# retroarch.cfg sets savefiles_in_content_dir (packages/games/tools/
|
|
# retroarch/sources/retroarch.cfg:567-568 at a21975bf) and
|
|
# setsettings.py leaves it: saves sit beside each game, no single place.
|
|
save_directory: null
|
|
schedule: monthly
|
|
target_scraper: amberelec_targets
|
|
target_source: https://github.com/AmberELEC/AmberELEC/blob/dev/packages/amberelec/package.mk
|
|
install:
|
|
detect:
|
|
# AmberELEC 5a3882cb scripts/image:150-152, options:17. CHAos
|
|
# (tech4bot/AmberELEC c0a4b0c6) writes the same name. Its list is
|
|
# written against /storage/roms (bios/, ports/, neogeo/ side by side).
|
|
- os: linux
|
|
name: AmberELEC
|
|
method: os_release
|
|
match: [NAME=AmberELEC]
|
|
bios_path: /storage/roms
|
|
# PAN4ELEC: Kegg1701/P4ELEC 9c19bfb2, AmberELEC/usr/bin/batocera-info:101.
|
|
- os: linux
|
|
name: PAN4ELEC
|
|
method: file_matches
|
|
file: /usr/bin/batocera-info
|
|
pattern: 'OPERATING SYSTEM: PAN4ELEC'
|
|
bios_path: /storage/roms
|
|
derives_from: AmberELEC
|
|
# EmuELEC's checker md5s each file under /storage/roms and never reads
|
|
# zippedFile: its FM Towns entries hash the whole archive against a
|
|
# member's md5 and report UNTESTED whatever the archive holds. Run by
|
|
# EmulationStation's BIOS screen and by ee_check_bios after a failed
|
|
# launch (99-emuelec.conf:261). naomi and Dinothawr are written twice in
|
|
# the dict and the later entry is the one Python keeps. One image per
|
|
# device the release publishes, its cores read by emuelec_targets_scraper.
|
|
emuelec:
|
|
config: emuelec.yml
|
|
device_group: handheld
|
|
extract_to: /storage/roms/
|
|
logo: https://avatars.githubusercontent.com/u/57574835
|
|
scraper: emuelec
|
|
source_url: https://github.com/EmuELEC/EmuELEC/blob/master/packages/sx05re/emuelec/bin/batocera/batocera-systems
|
|
source_format: python_dict
|
|
hash_type: md5
|
|
# savefile_directory stays commented out (packages/sx05re/libretro_base/
|
|
# retroarch/package.mk:115 at v4.8) and setsettings.sh never sets it, so
|
|
# RetroArch saves beside each game: no single place.
|
|
save_directory: null
|
|
# root's home, which every launcher script gets from /etc/profile
|
|
# (packages/sysutils/busybox/package.mk:168 and
|
|
# packages/sysutils/busybox/profile.d/98-busybox.conf:4 at v4.8).
|
|
home_directory: /storage
|
|
schedule: monthly
|
|
target_scraper: emuelec_targets
|
|
target_source: https://github.com/EmuELEC/EmuELEC/blob/dev/packages/sx05re/emuelec/package.mk
|
|
install:
|
|
detect:
|
|
# EmuELEC d4c7b2f1 scripts/image:172-176, options:4.
|
|
- os: linux
|
|
name: EmuELEC
|
|
method: os_release
|
|
match: [NAME=EmuELEC]
|
|
bios_path: /storage/roms
|
|
# KNULLI's knulli-systems is its own fork of Batocera's list, checked the
|
|
# same way (md5, checkInsideZip, emulator/core gates) by its
|
|
# EmulationStation (knulli-cfw/batocera-emulationstation 10834d00,
|
|
# ApiSystem.cpp:764-774). Arch R (archr-linux/Arch-R dbd45d45) ships the
|
|
# same dict as archr-systems: lines 1-870 are identical, only the prefix
|
|
# (/storage/roms instead of /userdata) and the es_systems.cfg path differ.
|
|
# Boards follow Batocera's Kconfig model (configs/knulli-*.board set
|
|
# BR2_PACKAGE_BATOCERA_TARGET_*), read by knulli_targets_scraper.
|
|
knulli:
|
|
config: knulli.yml
|
|
device_group: handheld
|
|
extract_to: /userdata/bios/
|
|
logo: https://avatars.githubusercontent.com/u/166268572
|
|
scraper: knulli
|
|
source_url: https://github.com/knulli-cfw/knulli-linux/blob/knulli-main/package/system/knulli-scripts/scripts/knulli-systems
|
|
source_format: python_dict
|
|
hash_type: md5
|
|
# configgen hands each libretro core /userdata/saves/<system> at every
|
|
# launch, with sort_savefiles_enable off (package/system/knulli-configgen/
|
|
# configgen/configgen/generators/libretro/libretroConfig.py:240-243 and
|
|
# batoceraPaths.py:22 at 20260511), as Batocera's does: a file is placed
|
|
# once below each system es_systems.yml offers the core for
|
|
# (libretro_systems in knulli.yml).
|
|
save_directory:
|
|
folder: saves
|
|
by_core: false
|
|
by_system: true
|
|
schedule: monthly
|
|
target_scraper: knulli_targets
|
|
target_source: https://github.com/knulli-cfw/knulli-linux/tree/knulli-main/configs
|
|
install:
|
|
detect:
|
|
# knulli-linux 57afa662: OS_NAME in os-release
|
|
# (board/scripts/post-build-script.sh:233-236) and knulli.version
|
|
# (package/system/knulli-system/knulli-system.mk:98-102).
|
|
- os: linux
|
|
name: KNULLI
|
|
method: os_release
|
|
match: [OS_NAME=knulli]
|
|
bios_path: /userdata/bios
|
|
derives_from: Batocera
|
|
- os: linux
|
|
name: KNULLI
|
|
method: file_exists
|
|
file: /usr/share/knulli/knulli.version
|
|
bios_path: /userdata/bios
|
|
derives_from: Batocera
|
|
retropie:
|
|
config: retropie.yml
|
|
device_group: gaming-os
|
|
extract_to: ~/RetroPie/BIOS/
|
|
logo: https://avatars.githubusercontent.com/u/11378204
|
|
scraper: retropie
|
|
source: https://github.com/RetroPie/RetroPie-Setup
|
|
# No cores here: the registry overrides the config, and RetroPie's own
|
|
# scriptmodules are what say which packages it ships.
|
|
# RetroPie runs on Linux, where case tells two files apart.
|
|
case_insensitive_fs: false
|
|
# Not RetroArch's: RetroPie sets no savefile_directory and turns
|
|
# sort_savefiles_enable off (scriptmodules/emulators/retroarch.sh:289-290,
|
|
# RetroPie-Setup 46128cd2), and its RetroArch (retropie-v1.19.0) has no
|
|
# default save directory on Linux (frontend/drivers/platform_unix.c sets
|
|
# DEFAULT_DIR_SRAM only at 1624-1626, for Android). The save directory is
|
|
# then the folder of the loaded content (runloop.c runloop_path_set_redirect),
|
|
# one per game: a file read below it has no single place.
|
|
save_directory: null
|
|
schedule: null
|
|
target_scraper: retropie_targets
|
|
target_source: https://retropie.org.uk/stats/pkgflags/
|
|
install:
|
|
detect:
|
|
- os: linux
|
|
method: path_exists
|
|
path: $HOME/RetroPie/BIOS
|
|
bizhawk:
|
|
config: bizhawk.yml
|
|
device_group: computer
|
|
extract_to: Firmware/
|
|
# EmuHawk's application icon (<ApplicationIcon> in BizHawk.Client.EmuHawk.csproj).
|
|
logo: https://raw.githubusercontent.com/TASEmulators/BizHawk/master/src/BizHawk.Client.EmuHawk/images/logo.ico
|
|
scraper: bizhawk
|
|
source_url: https://raw.githubusercontent.com/TASEmulators/BizHawk/master/src/BizHawk.Emulation.Common/Database/FirmwareDatabase.cs
|
|
source_format: csharp_firmware_database
|
|
hash_type: sha1
|
|
# Windows: names differing only by case land on one file.
|
|
case_insensitive_fs: true
|
|
schedule: monthly
|
|
# EmuHawk finds firmware by SHA1 against FirmwareDatabase.FirmwareRecords
|
|
# and its cores are its own builds (CoreNames.cs): no libretro profile
|
|
# describes what it reads, so the database alone decides, as MiSTer's
|
|
# BiosDB does. emulators/bizhawk.yml also documents the options the scan
|
|
# never takes, so it is not listed here, and --region, --one-per-slot
|
|
# and --no-game-data are refused for this platform.
|
|
cores: []
|
|
target_scraper: null
|
|
target_source: null
|
|
install:
|
|
detect:
|
|
# A portable archive reading <EmuHawk folder>/Firmware wherever it was
|
|
# extracted (PathExtensions.cs DataDirectoryPath): found by its
|
|
# executable in the home folder or one level down, the newest first.
|
|
- os: windows
|
|
method: path_exists
|
|
path: '%USERPROFILE%\BizHawk\Firmware'
|
|
- os: linux
|
|
method: executable
|
|
file: [$HOME/BizHawk*/EmuHawkMono.sh, $HOME/*/BizHawk*/EmuHawkMono.sh]
|
|
bios_subdir: Firmware
|
|
- os: windows
|
|
method: executable
|
|
file: ['%USERPROFILE%\BizHawk*\EmuHawk.exe', '%USERPROFILE%\*\BizHawk*\EmuHawk.exe']
|
|
bios_subdir: Firmware
|
|
misterfpga:
|
|
config: misterfpga.yml
|
|
release_pack: true
|
|
device_group: fpga
|
|
extract_to: /media/fat/games/
|
|
logo: https://avatars.githubusercontent.com/u/29345272
|
|
scraper: misterfpga
|
|
source_url: https://raw.githubusercontent.com/ajgowans/BiosDB_MiSTer/db/bios_db.json.zip
|
|
source_format: mister_downloader_db
|
|
hash_type: md5
|
|
schedule: weekly
|
|
cores: []
|
|
target_scraper: null
|
|
target_source: null
|
|
contributed_by:
|
|
- username: Takiiiiiiii
|
|
contribution: platform support
|
|
pr: 50
|
|
install:
|
|
detect:
|
|
# Main_MiSTer mounts the SD card at /media/fat (file_io.cpp:1150-1156)
|
|
# and reads game data from GAMES_DIR (file_io.h:168)
|
|
- os: linux
|
|
method: path_exists
|
|
path: /media/fat/MiSTer
|
|
bios_path: /media/fat/games
|
|
minui:
|
|
config: minui.yml
|
|
device_group: handheld
|
|
# The card root: minarch hands each core SDCARD_PATH/Bios/<TAG>
|
|
# (workspace/all/minarch/minarch.c:2943).
|
|
extract_to: <SD card>/
|
|
# The boot logo MinUI writes to the m17's screen, rows stored bottom up.
|
|
logo: https://raw.githubusercontent.com/shauninman/MinUI/7c8b818e869302780c4083b8a9d6309b6d4a9ccd/skeleton/EXTRAS/Tools/m17/Bootlogo.pak/logo.bmp
|
|
logo_flip: true
|
|
logo_trim: true
|
|
scraper: minui
|
|
# minarch hands each core a folder and names no file (workspace/all/minarch/minarch.c:2943):
|
|
# there is no BIOS list of its own to export corrected.
|
|
native_list: none
|
|
source_url: https://github.com/shauninman/MinUI
|
|
source_format: pak_launch_scripts
|
|
hash_type: sha1
|
|
# The primary card is formatted FAT32 (skeleton/BASE/README.txt:15).
|
|
case_insensitive_fs: true
|
|
schedule: null
|
|
target_scraper: null
|
|
target_source: null
|
|
install:
|
|
detect:
|
|
# The release zip holds the build's SYSTEM tree as .system/ at the card
|
|
# root with version.txt, whose first line is the release name
|
|
# (makefile:22-24, 152-157). The installer runs on the computer the
|
|
# card is mounted on and reads it from --dest.
|
|
- os: any
|
|
method: card_marker
|
|
file: .system/version.txt
|
|
first_line_prefix: MinUI-
|
|
nextui:
|
|
config: nextui.yml
|
|
device_group: handheld
|
|
# minarch hands each core SDCARD_PATH/Bios/<TAG>
|
|
# (workspace/all/minarch/ma_core.c:76).
|
|
extract_to: <SD card>/
|
|
logo: https://avatars.githubusercontent.com/u/202386615
|
|
scraper: nextui
|
|
# minarch hands each core a folder and names no file (workspace/all/minarch/ma_core.c:76):
|
|
# there is no BIOS list of its own to export corrected.
|
|
native_list: none
|
|
source_url: https://github.com/LoveRetro/NextUI
|
|
source_format: pak_launch_scripts
|
|
hash_type: sha1
|
|
# The primary card is formatted FAT32 (skeleton/BASE/README.txt:17).
|
|
case_insensitive_fs: true
|
|
schedule: null
|
|
target_scraper: null
|
|
target_source: null
|
|
install:
|
|
detect:
|
|
# makefile:33-35 and 249: version.txt in .system/, first line the
|
|
# release name.
|
|
- os: any
|
|
method: card_marker
|
|
file: .system/version.txt
|
|
first_line_prefix: NextUI-
|
|
myminui:
|
|
config: myminui.yml
|
|
device_group: handheld
|
|
# minarch hands each core SDCARD_PATH/Bios/<TAG>
|
|
# (workspace/all/minarch/minarch.c:3532).
|
|
extract_to: <SD card>/
|
|
# The boot screen MyMinUI shows on H700 handhelds.
|
|
logo: https://raw.githubusercontent.com/Turro75/MyMinUI/d5ab4f9f83280f4316cb070c529299cb81ccc473/workspace/h700/boot/bootlogo.png
|
|
logo_trim: true
|
|
scraper: myminui
|
|
# minarch hands each core a folder and names no file (workspace/all/minarch/minarch.c:3532):
|
|
# there is no BIOS list of its own to export corrected.
|
|
native_list: none
|
|
source_url: https://github.com/Turro75/MyMinUI
|
|
source_format: pak_launch_scripts
|
|
hash_type: sha1
|
|
# The card is formatted FAT32 (MANUAL.md:13).
|
|
case_insensitive_fs: true
|
|
schedule: null
|
|
target_scraper: null
|
|
target_source: null
|
|
install:
|
|
detect:
|
|
# makefile:16-19 and 124: version.txt in .system/, first line the
|
|
# release name.
|
|
- os: any
|
|
method: card_marker
|
|
file: .system/version.txt
|
|
first_line_prefix: MyMinUI-
|