mirror of
https://github.com/Abdess/retroarch_system.git
synced 2026-10-24 12:49:03 -05:00
device_group in the registry places each platform on the device picker, in the navigation and on the home page. scripts/siteguides.py holds the guide text per platform: what it is, its BIOS folder, where the install command runs.
1022 lines
37 KiB
YAML
1022 lines
37 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
|
|
- file: dsp_rom.bin
|
|
emulator: dolphin
|
|
targets:
|
|
linux:
|
|
- $HOME/.local/share/dolphin-emu
|
|
- $HOME/.var/app/org.DolphinEmu.dolphin-emu/data/dolphin-emu
|
|
windows:
|
|
- '%APPDATA%\Dolphin Emulator'
|
|
darwin:
|
|
- $HOME/Library/Application Support/Dolphin
|
|
- file: dsp_coef.bin
|
|
emulator: dolphin
|
|
targets:
|
|
linux:
|
|
- $HOME/.local/share/dolphin-emu
|
|
- $HOME/.var/app/org.DolphinEmu.dolphin-emu/data/dolphin-emu
|
|
windows:
|
|
- '%APPDATA%\Dolphin Emulator'
|
|
darwin:
|
|
- $HOME/Library/Application Support/Dolphin
|
|
# 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)
|
|
- file: dc/dc_boot.bin
|
|
targets:
|
|
linux:
|
|
- $HOME/.local/share/flycast/data
|
|
- $HOME/.var/app/org.flycast.Flycast/data/flycast
|
|
windows:
|
|
- '%APPDATA%\flycast\data'
|
|
# 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
|
|
- file: dc/dc_nvmem.bin
|
|
targets:
|
|
linux:
|
|
- $HOME/.local/share/flycast/data
|
|
- $HOME/.var/app/org.flycast.Flycast/data/flycast
|
|
windows:
|
|
- '%APPDATA%\flycast\data'
|
|
# 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
|
|
|
|
platforms:
|
|
retroarch:
|
|
config: retroarch.yml
|
|
status: active
|
|
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
|
|
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
|
|
- os: linux
|
|
method: config_file
|
|
config: $HOME/.config/retroarch/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
|
|
status: active
|
|
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
|
|
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
|
|
status: active
|
|
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
|
|
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
|
|
status: active
|
|
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
|
|
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
|
|
status: active
|
|
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
|
|
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
|
|
status: active
|
|
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 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
|
|
status: active
|
|
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
|
|
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
|
|
status: active
|
|
device_group: server
|
|
extract_to: library/bios/
|
|
logo: https://avatars.githubusercontent.com/u/168586850
|
|
scraper: romm
|
|
source_url: https://raw.githubusercontent.com/rommapp/romm/master/backend/models/fixtures/known_bios_files.json
|
|
source_format: json
|
|
hash_type: sha1
|
|
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
|
|
status: active
|
|
device_group: handheld
|
|
extract_to: /storage/roms/bios/
|
|
logo: https://avatars.githubusercontent.com/u/152618023
|
|
scraper: rocknix
|
|
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.
|
|
# Several device images, no per-device core list: no target file.
|
|
amberelec:
|
|
config: amberelec.yml
|
|
status: active
|
|
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
|
|
schedule: monthly
|
|
target_scraper: null
|
|
target_source: null
|
|
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.
|
|
emuelec:
|
|
config: emuelec.yml
|
|
status: active
|
|
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
|
|
schedule: monthly
|
|
target_scraper: null
|
|
target_source: null
|
|
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.
|
|
# Many boards, no per-board core list: no target file.
|
|
knulli:
|
|
config: knulli.yml
|
|
status: active
|
|
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
|
|
schedule: monthly
|
|
target_scraper: null
|
|
target_source: null
|
|
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
|
|
status: archived
|
|
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
|
|
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
|
|
status: active
|
|
device_group: computer
|
|
extract_to: Firmware/
|
|
logo: https://avatars.githubusercontent.com/u/11743303
|
|
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.
|
|
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
|
|
status: active
|
|
device_group: fpga
|
|
extract_to: /media/fat/games/
|
|
logo: https://avatars.githubusercontent.com/u/47264183
|
|
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
|
|
status: active
|
|
device_group: handheld
|
|
# The card root: minarch hands each core SDCARD_PATH/Bios/<TAG>
|
|
# (workspace/all/minarch/minarch.c:2943).
|
|
extract_to: <SD card>/
|
|
logo: https://avatars.githubusercontent.com/u/225589
|
|
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
|
|
status: active
|
|
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
|
|
status: active
|
|
device_group: handheld
|
|
# minarch hands each core SDCARD_PATH/Bios/<TAG>
|
|
# (workspace/all/minarch/minarch.c:3532).
|
|
extract_to: <SD card>/
|
|
logo: https://avatars.githubusercontent.com/u/10894566
|
|
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-
|