# 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/.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 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/sysdata windows: - '%APPDATA%\Azahar\sysdata' - file: Citra/sysdata/boot9.bin targets: linux: - $HOME/.local/share/azahar/sysdata windows: - '%APPDATA%\Azahar\sysdata' # DuckStation (PS1) - pattern: 'scph*.bin' targets: linux: - $HOME/.local/share/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 windows: - '%APPDATA%\rpcs3' # Dolphin (GameCube) - file: GC/USA/IPL.bin emulator: dolphin targets: linux: - $HOME/.local/share/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 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 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 windows: - '%APPDATA%\Dolphin Emulator' darwin: - $HOME/Library/Application Support/Dolphin - file: dsp_coef.bin emulator: dolphin targets: linux: - $HOME/.local/share/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 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' - file: dc/dc_nvmem.bin targets: linux: - $HOME/.local/share/flycast/data - $HOME/.var/app/org.flycast.Flycast/data/flycast windows: - '%APPDATA%\flycast\data' platforms: retroarch: config: retroarch.yml status: active 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/.config/retroarch/retroarch.cfg parse_key: system_directory - os: darwin method: config_file config: $HOME/Library/Application Support/RetroArch/retroarch.cfg parse_key: system_directory - os: windows method: config_file config: '%APPDATA%\RetroArch\retroarch.cfg' parse_key: system_directory standalone_copies: *standalone_copies batocera: config: batocera.yml status: active 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: - os: linux method: file_exists file: /etc/batocera-version bios_path: /userdata/bios standalone_copies: *standalone_copies recalbox: config: recalbox.yml status: active 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 method: file_exists file: /usr/bin/recalbox-settings bios_path: /recalbox/share/bios standalone_copies: *standalone_copies retrobat: config: retrobat.yml status: active 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: # 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 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 - os: windows method: config_file config: '%APPDATA%\EmuDeck\settings.ps1' parse_key: $emulationPath bios_subdir: bios standalone_copies: *standalone_copies lakka: config: lakka.yml status: active 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 # No target list yet: Lakka builds its cores per device image, and no # scraper reads those lists. target_scraper: null install: detect: - os: linux method: os_release id: lakka bios_path: /storage/system retrodeck: config: retrodeck.yml status: active 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: - 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 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 target_scraper: null target_source: null install: detect: - os: linux method: path_exists 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 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 method: file_exists file: /etc/os-release match: 'ID=rocknix' bios_path: /storage/roms/bios retropie: config: retropie.yml status: archived 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 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 cores: - applewin - azahar - beetle_ngp - beetle_pce - beetle_pcfx - beetle_psx - beetle_saturn - beetle_vb - beetle_wswan - bsnes - citra - citra2018 - citra_canary - clk - fbneo - freechaf - freeintv - gambatte - genesis_plus_gx - handy - mame - melonds - mgba - mupen64plus_next - numero - o2em - opera - panda3ds - picodrive - ppsspp - prboom - prosystem - puae - quicknes - sameboy - snes9x - stella - trident - vecx - vice_x64 - virtualjaguar target_scraper: null target_source: null install: detect: - os: windows method: path_exists path: '%USERPROFILE%\BizHawk\Firmware' - os: linux method: path_exists path: $HOME/.config/BizHawk/Firmware misterfpga: config: misterfpga.yml status: active 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