mirror of
https://github.com/Abdess/retroarch_system.git
synced 2026-11-11 12:33:53 -06:00
chore: merge issue 87 and platform refresh
This commit is contained in:
commit
19264db538
42 files changed
+3123
-376
No files matched your search
@@ -0,0 +1,57 @@
|
||||
emulator: "HyperScanEmu"
|
||||
type: libretro
|
||||
core_classification: official_port
|
||||
source: "https://git.libretro.com/libretro/HyperScanEmu"
|
||||
upstream: "https://github.com/AloysHF/HyperScanEmu"
|
||||
profiled_date: "2026-11-09"
|
||||
source_commit: "44509de141c7b9adf947b3130500e552cfa98f56"
|
||||
upstream_commit: "44509de141c7b9adf947b3130500e552cfa98f56"
|
||||
core_version: "0.1.0"
|
||||
version_basis:
|
||||
kind: file
|
||||
path: "Cargo.toml"
|
||||
pattern: 'version\s+=\s+"([^"]+)'
|
||||
display_name: "Mattel - HyperScan (HyperScanEmu)"
|
||||
cores:
|
||||
- "hyperscanemu"
|
||||
systems:
|
||||
- mattel-hyperscan
|
||||
|
||||
notes: |
|
||||
Mattel HyperScan (Sunplus SPG290) emulator written in Rust. The libretro
|
||||
core and the standalone frontend share the same firmware loader.
|
||||
ref: crates/hyperscanemu-core/src/firmware.rs:88-115
|
||||
|
||||
Both firmware files are read from <system>/hyperscanemu/. The folder and
|
||||
file names are compared byte for byte against the directory listing, so a
|
||||
name differing only in case is not found, Windows included. A missing
|
||||
folder or file fails retro_load_game.
|
||||
ref: crates/hyperscanemu-core/src/firmware.rs:10-14,
|
||||
crates/hyperscanemu-core/src/firmware.rs:71-86,
|
||||
crates/hyperscanemu-libretro/src/lib.rs:559-566
|
||||
|
||||
Each file must have its exact size and must not be filled with a single
|
||||
byte value. No hash is checked.
|
||||
ref: crates/hyperscanemu-core/src/firmware.rs:7-8,
|
||||
crates/hyperscanemu-core/src/firmware.rs:160-178
|
||||
|
||||
files:
|
||||
- name: "spg290.bin"
|
||||
path: "hyperscanemu/spg290.bin"
|
||||
system: mattel-hyperscan
|
||||
required: true
|
||||
size: 32768
|
||||
validation: [size]
|
||||
description: "SPG290 internal ROM"
|
||||
note: "Rejected unless exactly 32768 bytes and not blank."
|
||||
source_ref: "crates/hyperscanemu-core/src/firmware.rs:7, crates/hyperscanemu-core/src/firmware.rs:13, crates/hyperscanemu-core/src/firmware.rs:103-114, crates/hyperscanemu-core/src/firmware.rs:133"
|
||||
|
||||
- name: "hyperscan.bin"
|
||||
path: "hyperscanemu/hyperscan.bin"
|
||||
system: mattel-hyperscan
|
||||
required: true
|
||||
size: 1048576
|
||||
validation: [size]
|
||||
description: "HyperScan BIOS"
|
||||
note: "Rejected unless exactly 1048576 bytes and not blank."
|
||||
source_ref: "crates/hyperscanemu-core/src/firmware.rs:8, crates/hyperscanemu-core/src/firmware.rs:14, crates/hyperscanemu-core/src/firmware.rs:104-114, crates/hyperscanemu-core/src/firmware.rs:134"
|
||||
@@ -0,0 +1,56 @@
|
||||
emulator: "HypseusHW"
|
||||
type: libretro
|
||||
core_classification: community_fork
|
||||
source: "https://git.libretro.com/libretro/hypseushw"
|
||||
upstream: "https://github.com/DirtBagXon/hypseus-singe"
|
||||
profiled_date: "2026-11-09"
|
||||
source_commit: "cb4de9f9b3e8264e71b25b5552dfa1e26121c636"
|
||||
upstream_commit: "a16e2521ee3233ef20c44e562008c47f4b4293df"
|
||||
upstream_frozen: "Hypseus Singe is vendored in core/ at this commit, named in UPSTREAM.md, with local changes under __LIBRETRO__."
|
||||
core_version: "0.2.0"
|
||||
version_basis:
|
||||
kind: file
|
||||
path: "libretro/hypseushw_libretro.info"
|
||||
pattern: 'display_version\s*=\s*"([^"]+)"'
|
||||
display_name: "Arcade (Daphne HypseusHW)"
|
||||
cores:
|
||||
- "hypseushw"
|
||||
systems:
|
||||
- "arcade-laserdisc"
|
||||
|
||||
notes: |
|
||||
Libretro port of Hypseus Singe, vendored in core/. The same core also runs
|
||||
inside the project's Android app through its own libretro host
|
||||
(host/lr_host.cpp), which passes an app-private folder as the system
|
||||
directory.
|
||||
|
||||
Content is the Daphne folder: roms/<game>.zip, framefile/<game>.txt, vldp/,
|
||||
or a RocketLauncher <game>.bat for Singe games. The ROM directory and the
|
||||
game root are derived from the loaded path (libretro/lr_core.cpp:1418-1454)
|
||||
and passed as -romdir. ROM members are read and checked by the engine as in
|
||||
the standalone build.
|
||||
|
||||
The engine's pics/ and sound/ trees are compiled into the core
|
||||
(libretro/CMakeLists.txt:215-223). At load the core uses
|
||||
<system>/daphne/ as the asset folder when <system>/daphne/pics exists,
|
||||
otherwise it writes the embedded copies to <saves>/daphne/assets/ and uses
|
||||
those (libretro/lr_core.cpp:555-573, 1472-1487). Pictures and samples
|
||||
resolve through find_file(): <saves>/daphne, then the asset folder, then the
|
||||
game root (core/src/io/homedir.h:66-73, core/src/io/homedir.cpp:137-156).
|
||||
The system folder only overrides files the core already carries.
|
||||
|
||||
fonts/ is never read: init_display() returns from lr_init_display() before
|
||||
load_fonts() can run (core/src/video/video.cpp:550-554). hypinput.ini and
|
||||
gamecontrollerdb.txt are skipped, input comes from the frontend
|
||||
(core/src/io/input.cpp:1063-1068).
|
||||
|
||||
An optional <system>/daphne/<game>.commands file adds engine arguments,
|
||||
read after roms/<game>.commands and <root>/<game>.commands
|
||||
(libretro/lr_core.cpp:575-600, 1543-1549). It is user configuration.
|
||||
|
||||
files: []
|
||||
|
||||
exclusion_note: >
|
||||
.info declares firmware_count = 0. Code confirmed: the system directory
|
||||
holds only optional overrides of the pics/ and sound/ assets compiled into
|
||||
the core, and optional .commands argument files.
|
||||
@@ -0,0 +1,46 @@
|
||||
emulator: "n64emu"
|
||||
type: libretro
|
||||
core_classification: enhanced_fork
|
||||
source: "https://git.libretro.com/libretro/n64emu"
|
||||
profiled_date: "2026-11-09"
|
||||
source_commit: "c9da0acadaebe9bbfa4cf2b5662f2af7252988a3"
|
||||
core_version: "0.01"
|
||||
version_basis:
|
||||
kind: file
|
||||
path: "src/libretro.c"
|
||||
pattern: 'info->library_version\s*=\s*"([^"]+)"'
|
||||
display_name: "Nintendo - Nintendo 64 (n64emu)"
|
||||
cores:
|
||||
- "n64emu"
|
||||
systems:
|
||||
- nintendo-64
|
||||
- nintendo-64dd
|
||||
|
||||
notes: |
|
||||
Started in 2022 by mudlord from a copy of parallel-n64, imported without its
|
||||
git history, and rewritten since: cycle-based CPU and RSP JITs, RSP HLE per
|
||||
task with LLE fallback, GL, D3D, SoftRDP and paraLLEl-RDP backends.
|
||||
The PIF boot ROM is high-level emulated, so cartridges need no file
|
||||
(src/device/pif.c:35).
|
||||
The 64DD IPL is the only file read from the system directory. A disk loaded
|
||||
through the "N64 Disk Drive" subsystem with no IPL as second content looks for
|
||||
IPL.n64, then 64DD_IPL.bin, at the root of the system directory and rejects
|
||||
the load when neither passes the check (src/libretro.c:309-343). A disk found
|
||||
as a .ndd sidecar of a cartridge reads IPL.n64 only, and a missing or
|
||||
unrecognised IPL disables the 64DD while the cartridge still runs
|
||||
(src/main/main.c:303-372). The IPL is accepted in Z64, N64 and V64 byte order.
|
||||
Transfer Pak Game Boy ROM and save come from subsystem content or from .gb and
|
||||
.sav sidecars of the cartridge (src/libretro.c:633-636).
|
||||
|
||||
files:
|
||||
- name: "IPL.n64"
|
||||
aliases: ["64DD_IPL.bin"]
|
||||
path: "IPL.n64"
|
||||
system: nintendo-64dd
|
||||
required: true
|
||||
min_size: 4096
|
||||
max_size: 4194304
|
||||
validation: [size]
|
||||
description: "Nintendo 64DD IPL ROM"
|
||||
note: "Size between 0x1000 and 0x400000 bytes, a multiple of 4, and a first word of 80270740 in one of the three byte orders. 64DD_IPL.bin is tried second by the subsystem path only."
|
||||
source_ref: "src/libretro.c:259-271, 314-331"
|
||||
@@ -0,0 +1,215 @@
|
||||
emulator: "Odin"
|
||||
type: libretro
|
||||
core_classification: community_fork
|
||||
source: "https://git.libretro.com/libretro/odin-libretro"
|
||||
upstream: "https://github.com/Tovarichtch/Odin"
|
||||
source_branch: "libretro"
|
||||
profiled_date: "2026-11-09"
|
||||
source_commit: "7cc427e4cc048e86753275f664bf0e59bbd002bf"
|
||||
upstream_commit: "6ebf2b40ccbca9534d1a0e58b7602db11e4485d9"
|
||||
core_version: "v0.1.1-46-g7cc427e"
|
||||
version_basis:
|
||||
kind: tag
|
||||
tag: "v0.1.1"
|
||||
distance: 46
|
||||
display_name: "Sega - Hikaru / Gaelco PowerVR (Odin)"
|
||||
cores:
|
||||
- "odin"
|
||||
systems:
|
||||
- sega-hikaru
|
||||
- gaelco-powervr
|
||||
|
||||
notes: |
|
||||
Odin, a low-level emulator of the Sega Hikaru board and of Gaelco's PowerVR
|
||||
boards (ATV Track, Smashing Drive, Gaelco Football), with a libretro frontend
|
||||
by WizzardSK on top of Tovarichtch/Odin. The port's libretro branch holds the
|
||||
upstream HEAD 6ebf2b40 as merge base. The ROM loader, the game list and the
|
||||
board code are the upstream ones. The only difference in odin-games.json is
|
||||
the direction of one Virtual-On lever.
|
||||
retro_get_system_info reports library_version "libretro" unless the build
|
||||
defines ODIN_LIBRETRO_VERSION, which the CMake files never do.
|
||||
ref: src/odin/libretro/libretro_odin.cpp:1926-1936
|
||||
|
||||
The content is a MAME set, recognised by its stem in the game list. The
|
||||
list is odin-games.json, embedded in the core and written to
|
||||
<system>/odin/odin-games.json whenever the file there differs, then read back.
|
||||
The mesh program lists under <system>/odin/shaders/ are written the same way,
|
||||
and <system>/odin/cache/ is filled by the renderer. None of these is a file
|
||||
the user supplies.
|
||||
ref: src/odin/libretro/games_json.S:9, src/odin/libretro/libretro_odin.cpp:1019-1041,
|
||||
src/odin/libretro/libretro_odin.cpp:1059-1090, src/odin/libretro/libretro_odin.cpp:1989-1993
|
||||
|
||||
Each file of a section is looked for in the content's folder (a folder
|
||||
named after the game, then <game>.zip or .7z), then for the set the list
|
||||
names (and for the parent set) as <set>.zip, <set>.7z and a <set>/ folder,
|
||||
first in <system>/odin and then beside the content. Inside an archive a member
|
||||
matches by size and the CRC32 of the list, the member name is not read. In a
|
||||
folder the file matches by size and name, then by size and CRC32. A loose
|
||||
file whose CRC32 differs is loaded with an error line in the log.
|
||||
ref: src/odin/host/app/rom_files.cpp:296-314, src/odin/host/app/rom_files.cpp:316-347,
|
||||
src/odin/host/app/rom_files.cpp:349-380, src/odin/host/app/rom_files.cpp:416-436,
|
||||
src/odin/libretro/libretro_odin.cpp:2004-2006
|
||||
|
||||
A section of type alternative loads the first of its files found. A missing
|
||||
section stops the load unless the list marks it optional, and the frontend is
|
||||
told which sets miss files.
|
||||
ref: src/odin/host/app/games.cpp:138-149, src/odin/host/app/games.cpp:1281-1316,
|
||||
src/odin/libretro/libretro_odin.cpp:2007-2021
|
||||
|
||||
Every Hikaru game needs mie (315-6146) and the hikaru set: one of three boot
|
||||
ROMs and the two EEPROM images 93c46.ic115 and x76f100.ic85. The I/O board
|
||||
program (jvs13551 for 837-13551, 18wheelr for NASCAR Arcade's 837-13741) and
|
||||
NASCAR Arcade's drive board program (srally2) are optional: without them
|
||||
the board's imitation of that part runs.
|
||||
ref: odin-games.json:56-93, odin-games.json:583-628,
|
||||
src/odin/machine/boards/hikaru/hikaru.cpp:216-233,
|
||||
src/odin/machine/boards/hikaru/mie_board.cpp:75-95,
|
||||
src/odin/machine/boards/hikaru/hikaru.cpp:496-511
|
||||
|
||||
The Gaelco games read only their own sets, none shared.
|
||||
ref: odin-games.json:853-1184
|
||||
|
||||
archive_prefix: "odin"
|
||||
|
||||
files:
|
||||
- name: "hikaru.zip"
|
||||
path: "odin/hikaru.zip"
|
||||
system: sega-hikaru
|
||||
required: true
|
||||
category: bios_zip
|
||||
note: "Hikaru BIOS set. Holds the boot ROM and the two EEPROM images every Hikaru game loads. Also read as hikaru.7z or a hikaru/ folder, in system/odin or beside the game."
|
||||
source_ref: "odin-games.json:71-93, src/odin/host/app/rom_files.cpp:349-380"
|
||||
|
||||
- name: "epr-23400a.ic94"
|
||||
archive: hikaru.zip
|
||||
system: sega-hikaru
|
||||
required: false
|
||||
variant_group: "hikaru-bootrom"
|
||||
priority: 1
|
||||
size: 2097152
|
||||
crc32: "2aa906a7"
|
||||
validation: [size, crc32]
|
||||
note: "Boot ROM v0.96, tried first of the three. One of the three is required. The list names it hikaru_0.96.bin, the name a loose file in a hikaru/ folder is matched by."
|
||||
source_ref: "odin-games.json:85-93, src/odin/host/app/games.cpp:138-149, src/odin/machine/boards/hikaru/hikaru.cpp:218-221"
|
||||
|
||||
- name: "epr-23400.ic94"
|
||||
archive: hikaru.zip
|
||||
system: sega-hikaru
|
||||
required: false
|
||||
variant_group: "hikaru-bootrom"
|
||||
priority: 2
|
||||
size: 2097152
|
||||
crc32: "3d557104"
|
||||
validation: [size, crc32]
|
||||
note: "Boot ROM v0.92, listed as hikaru_0.92.bin."
|
||||
source_ref: "odin-games.json:85-93, src/odin/host/app/games.cpp:138-149"
|
||||
|
||||
- name: "epr-21904.ic94"
|
||||
archive: hikaru.zip
|
||||
system: sega-hikaru
|
||||
required: false
|
||||
variant_group: "hikaru-bootrom"
|
||||
priority: 3
|
||||
size: 2097152
|
||||
crc32: "d96298b6"
|
||||
validation: [size, crc32]
|
||||
note: "Boot ROM v0.84, listed as hikaru_0.84.bin."
|
||||
source_ref: "odin-games.json:85-93, src/odin/host/app/games.cpp:138-149"
|
||||
|
||||
- name: "93c46.ic115"
|
||||
archive: hikaru.zip
|
||||
system: sega-hikaru
|
||||
required: true
|
||||
size: 128
|
||||
crc32: "737dc714"
|
||||
validation: [size, crc32]
|
||||
note: "Main board 93C46 EEPROM image. Its section is not optional, so a set without it does not load."
|
||||
source_ref: "odin-games.json:71-77, src/odin/host/app/games.cpp:1305-1312, src/odin/machine/boards/hikaru/hikaru.cpp:298-303"
|
||||
|
||||
- name: "x76f100.ic85"
|
||||
archive: hikaru.zip
|
||||
system: sega-hikaru
|
||||
required: true
|
||||
size: 132
|
||||
crc32: "194c6c18"
|
||||
validation: [size, crc32]
|
||||
note: "ROM board X76F100 EEPROM image. Its section is not optional, so a set without it does not load."
|
||||
source_ref: "odin-games.json:78-84, src/odin/host/app/games.cpp:1305-1312, src/odin/machine/boards/hikaru/hikaru.cpp:304-308"
|
||||
|
||||
- name: "mie.zip"
|
||||
path: "odin/mie.zip"
|
||||
system: sega-hikaru
|
||||
required: true
|
||||
category: bios_zip
|
||||
note: "MIE MCU firmware set. Also read as mie.7z or a mie/ folder, in system/odin or beside the game."
|
||||
source_ref: "odin-games.json:56-62, src/odin/host/app/rom_files.cpp:349-380"
|
||||
|
||||
- name: "315-6146.bin"
|
||||
archive: mie.zip
|
||||
system: sega-hikaru
|
||||
required: true
|
||||
size: 2048
|
||||
crc32: "9b197e35"
|
||||
validation: [size, crc32]
|
||||
note: "MIE Z80 program. The board refuses an image that is not 2048 bytes."
|
||||
source_ref: "odin-games.json:56-62, src/odin/machine/boards/hikaru/hikaru.cpp:230-234"
|
||||
|
||||
- name: "jvs13551.zip"
|
||||
path: "odin/jvs13551.zip"
|
||||
system: sega-hikaru
|
||||
required: false
|
||||
hle_fallback: true
|
||||
category: bios_zip
|
||||
note: "837-13551 JVS I/O board set, for every Hikaru game but NASCAR Arcade. Without it the I/O board is imitated."
|
||||
source_ref: "odin-games.json:63-70, src/odin/machine/boards/hikaru/mie_board.cpp:75-95"
|
||||
|
||||
- name: "315-6215.bin"
|
||||
archive: jvs13551.zip
|
||||
system: sega-hikaru
|
||||
required: false
|
||||
hle_fallback: true
|
||||
size: 16384
|
||||
crc32: "98202738"
|
||||
validation: [size, crc32]
|
||||
note: "TMP90PH44 program of the 837-13551 I/O board, run when its size is the chip's ROM size."
|
||||
source_ref: "odin-games.json:63-70, src/odin/machine/boards/hikaru/mie_board.cpp:83-85"
|
||||
|
||||
- name: "18wheelr.zip"
|
||||
path: "odin/18wheelr.zip"
|
||||
system: sega-hikaru
|
||||
required: false
|
||||
hle_fallback: true
|
||||
category: bios_zip
|
||||
note: "MAME set of 18 Wheeler, read for the program of the 837-13741 I/O board NASCAR Arcade uses. Without it that board is imitated."
|
||||
source_ref: "odin-games.json:590-597, src/odin/machine/boards/hikaru/mie_board.cpp:75-95"
|
||||
|
||||
- name: "epr-21868.ic7"
|
||||
archive: 18wheelr.zip
|
||||
system: sega-hikaru
|
||||
required: false
|
||||
hle_fallback: true
|
||||
size: 65536
|
||||
crc32: "c306a51f"
|
||||
validation: [size, crc32]
|
||||
note: "837-13741 I/O board EPROM."
|
||||
source_ref: "odin-games.json:590-597, src/odin/machine/boards/hikaru/mie_board.cpp:86-88"
|
||||
|
||||
- name: "srally2.zip"
|
||||
path: "odin/srally2.zip"
|
||||
system: sega-hikaru
|
||||
required: false
|
||||
hle_fallback: true
|
||||
category: bios_zip
|
||||
note: "MAME set of Sega Rally 2, read for the program of the 838-13366 drive board NASCAR Arcade's steering wheel uses. Without it the drive board is imitated."
|
||||
source_ref: "odin-games.json:598-605, src/odin/machine/boards/hikaru/hikaru.cpp:496-511"
|
||||
|
||||
- name: "epr-20512.bin"
|
||||
archive: srally2.zip
|
||||
system: sega-hikaru
|
||||
required: false
|
||||
hle_fallback: true
|
||||
size: 65536
|
||||
crc32: "cf64350d"
|
||||
validation: [size, crc32]
|
||||
note: "838-13366 drive board program, run when its size is the board's ROM size."
|
||||
source_ref: "odin-games.json:598-605, src/odin/machine/boards/hikaru/hikaru.cpp:500-502"
|
||||
@@ -0,0 +1,302 @@
|
||||
emulator: "ParaLLEl DC"
|
||||
type: libretro
|
||||
core_classification: enhanced_fork
|
||||
source: "https://github.com/libretro/parallel-dc"
|
||||
upstream: "https://github.com/flyinghead/flycast"
|
||||
profiled_date: "2026-11-09"
|
||||
source_commit: "6f315dd55a66cb2299dd2282b24d2fd84fe7f390"
|
||||
core_version: "0.1"
|
||||
version_basis:
|
||||
kind: file
|
||||
path: "core/libretro/libretro.cpp"
|
||||
pattern: 'info->library_version\s+=\s+"([^"]+)'
|
||||
display_name: "Sega - Dreamcast/Naomi (ParaLLEl DC)"
|
||||
cores:
|
||||
- "parallel_dc"
|
||||
systems:
|
||||
- sega-dreamcast
|
||||
- sega-naomi
|
||||
- sega-naomi2
|
||||
- sega-atomiswave
|
||||
- sega-systemsp
|
||||
|
||||
notes: |
|
||||
The libretro/flycast tree, renamed libretro/parallel-dc. Its master
|
||||
descends from the April 2022 libretro merge base 4c293f30 and has been
|
||||
developed on its own since December 2025, with fixes from flyinghead's
|
||||
Flycast brought over by hand. The library is parallel_dc_libretro.so.
|
||||
ref: source core/libretro/libretro.cpp:3490-3494
|
||||
|
||||
Every system file lives in <system>/dc/. The core creates <system>/dc/data,
|
||||
where it writes shader and pipeline caches and texture dumps. Nothing is
|
||||
read from it.
|
||||
ref: source core/libretro/libretro.cpp:2917-2921, source core/libretro/libretro.cpp:3047-3055,
|
||||
source core/stdclass.cpp:15-25
|
||||
|
||||
Dreamcast: the "Use Real BIOS" core option (use_real_bios) defaults to
|
||||
enabled. The boot ROM is then looked for as dc_boot.bin, dc_boot.bin.bin,
|
||||
dc_bios.bin, dc_bios.bin.bin, the first that yields a full 2 MB read wins.
|
||||
With the option off, or no boot ROM found, the HLE BIOS (reios) boots the
|
||||
disc. Booting to the BIOS menu, or starting without a disc, needs the real
|
||||
boot ROM and fails with -3 without it. Eight product ids and every MIL-CD
|
||||
are switched to the real boot ROM when it is there, and fall back to reios
|
||||
when it is not.
|
||||
ref: source core/libretro/libretro_core_options.h:134-146, source core/libretro/libretro.cpp:1056-1064,
|
||||
source core/hw/holly/sb_mem.cpp:69-105, source core/hw/holly/sb_mem.cpp:255-273,
|
||||
source core/hw/flashrom/flashrom.h:57-70, source core/hw/flashrom/flashrom.h:87-118,
|
||||
source core/nullDC.cpp:356-397, source core/nullDC.cpp:592-605, source core/nullDC.cpp:643-658
|
||||
|
||||
NAOMI, NAOMI 2, Atomiswave and System SP: a BIOS archive is opened as
|
||||
<system>/dc/<name>, then with .zip, .ZIP, .7z, .7Z, .rar and .RAR appended,
|
||||
and recognised by its signature. Each member is looked for in the game
|
||||
archive, its parent, then the BIOS archive, by the CRC32 the table gives
|
||||
and then by name. The newest revision held for the configured region is
|
||||
loaded, else the first held of any region. Romsets name their BIOS in the
|
||||
game table, and a game that names none reads naomi. Flat .bin and .dat
|
||||
images read naomi, or naomi2 when the header starts with Naomi2.
|
||||
ref: source core/archive/archive.c:736-753, source core/hw/naomi/naomi_cart.cpp:147-170,
|
||||
source core/hw/naomi/naomi_cart.cpp:418-584, source core/hw/naomi/naomi_cart.cpp:658-670,
|
||||
source core/hw/naomi/naomi_cart.cpp:1018-1045, source core/hw/naomi/naomi_cart.cpp:1048-1088
|
||||
|
||||
A NAOMI or NAOMI 2 game whose BIOS archive is absent, or with Use Real
|
||||
BIOS disabled, starts on reios, which hands over to the game as the BIOS
|
||||
does. Atomiswave and System SP games refuse to start without theirs.
|
||||
ref: source core/hw/naomi/naomi_cart.cpp:671-713, source core/nullDC.cpp:628-634
|
||||
|
||||
Seven archive names are reachable from the game table: naomi, naomi2,
|
||||
awbios, f355bios, f355dlx, hod2bios and segasp, plus naomi-jp-d, which is
|
||||
kept in naomi.zip. airlbios, naomigd, naomidev and naomi-ko-h have table
|
||||
entries but no game names them, so airlbios.zip and naomigd.zip are never
|
||||
opened.
|
||||
ref: source core/hw/naomi/naomi_roms.h:62-301, source core/hw/naomi/naomi_roms.h:2630
|
||||
|
||||
LoadRomFiles also reads naomi_boot.bin, naomi_boot.bin.bin,
|
||||
naomi_bios.bin, naomi_bios.bin.bin and epr-21576d.bin for NAOMI and the
|
||||
naomi2_ names for NAOMI 2, but naomi_cart_Close clears bios_loaded before
|
||||
the cartridge loads, and reios then replaces that ROM.
|
||||
ref: source core/hw/holly/sb_mem.cpp:87-105, source core/nullDC.cpp:608,
|
||||
source core/hw/naomi/naomi_cart.cpp:1159, source core/hw/naomi/naomi_cart.cpp:1176
|
||||
|
||||
files:
|
||||
- name: "dc_boot.bin"
|
||||
path: "dc/dc_boot.bin"
|
||||
aliases: ["dc_boot.bin.bin", "dc_bios.bin", "dc_bios.bin.bin"]
|
||||
system: sega-dreamcast
|
||||
required: false
|
||||
hle_fallback: true
|
||||
min_size: 2097152
|
||||
validation: [size]
|
||||
description: "Dreamcast boot ROM"
|
||||
note: "Read as 2 MB into the system ROM, and a shorter file is rejected. Needed to boot to the BIOS menu or without a disc, and used for every game while Use Real BIOS is on."
|
||||
source_ref: "source core/hw/holly/sb_mem.cpp:69-105, source core/hw/holly/sb_mem.cpp:255-273, source core/hw/flashrom/flashrom.h:57-70, source core/nullDC.cpp:465-473, source core/nullDC.cpp:592-605"
|
||||
|
||||
- name: "dc_nvmem.bin"
|
||||
path: "dc/dc_nvmem.bin"
|
||||
aliases: ["dc_flash_wb.bin", "dc_flash.bin", "dc_flash.bin.bin"]
|
||||
system: sega-dreamcast
|
||||
required: false
|
||||
min_size: 131072
|
||||
validation: [size]
|
||||
description: "Dreamcast flash ROM"
|
||||
note: "Loaded with the boot ROM and by the HLE path. A missing file leaves the flash blank, factory settings are written into it and the core runs. Written back as dc_nvmem.bin."
|
||||
source_ref: "source core/hw/holly/sb_mem.cpp:237-253, source core/hw/holly/sb_mem.cpp:269, source core/hw/holly/sb_mem.cpp:276-283, source core/hw/holly/sb_mem.cpp:295-303, source core/nullDC.cpp:465-473"
|
||||
|
||||
- name: "font.bin"
|
||||
path: "dc/font.bin"
|
||||
system: sega-dreamcast
|
||||
required: false
|
||||
description: "Dreamcast system font for the HLE BIOS"
|
||||
note: "Read into the font table of the reios ROM image, at most 536496 bytes. Absent, a built-in font is copied there."
|
||||
source_ref: "source core/reios/reios.cpp:2066-2088"
|
||||
|
||||
- name: "naomi.zip"
|
||||
path: "dc/naomi.zip"
|
||||
category: bios_zip
|
||||
system: sega-naomi
|
||||
required: false
|
||||
hle_fallback: true
|
||||
description: "NAOMI BIOS archive"
|
||||
note: "BIOS of every NAOMI game whose table entry names none or names naomi, and of flat NAOMI images. Mars TV asks for naomi-jp-d, epr-21576d.ic27 from this archive, and falls back to its other members. Absent, the game starts on reios."
|
||||
source_ref: "source core/hw/naomi/naomi_roms.h:158-217, source core/hw/naomi/naomi_roms.h:271-284, source core/hw/naomi/naomi_roms.h:2630, source core/hw/naomi/naomi_cart.cpp:658-713"
|
||||
contents:
|
||||
- name: "epr-21576h.ic27"
|
||||
size: 2097152
|
||||
crc32: "d4895685"
|
||||
description: "Japan"
|
||||
- name: "epr-21576g.ic27"
|
||||
size: 2097152
|
||||
crc32: "d2a1c6bf"
|
||||
description: "Japan"
|
||||
- name: "epr-21578h.ic27"
|
||||
size: 2097152
|
||||
crc32: "7b452946"
|
||||
description: "Export"
|
||||
- name: "epr-21578g.ic27"
|
||||
size: 2097152
|
||||
crc32: "55413214"
|
||||
description: "Export"
|
||||
- name: "epr-21577h.ic27"
|
||||
size: 2097152
|
||||
crc32: "fdf17452"
|
||||
description: "USA"
|
||||
- name: "epr-21577g.ic27"
|
||||
size: 2097152
|
||||
crc32: "25f64af7"
|
||||
description: "USA"
|
||||
- name: "epr-21579d.ic27"
|
||||
size: 2097152
|
||||
crc32: "33513691"
|
||||
description: "Korea"
|
||||
- name: "epr-21576h_multi.ic27"
|
||||
size: 2097152
|
||||
crc32: "cce01f1f"
|
||||
description: "Multi-region, read when the region is Korea and epr-21579d.ic27 is absent"
|
||||
- name: "epr-21576d.ic27"
|
||||
size: 2097152
|
||||
crc32: "3b2afa7b"
|
||||
description: "Japan, the BIOS of naomi-jp-d"
|
||||
|
||||
- name: "naomi2.zip"
|
||||
path: "dc/naomi2.zip"
|
||||
category: bios_zip
|
||||
system: sega-naomi2
|
||||
required: false
|
||||
hle_fallback: true
|
||||
description: "NAOMI 2 BIOS archive"
|
||||
note: "Named by 45 NAOMI 2 games, which run as NAOMI 2, and read for flat NAOMI 2 images. Absent, the game starts on reios."
|
||||
source_ref: "source core/hw/naomi/naomi_roms.h:136-157, source core/hw/naomi/naomi_roms.h:7358, source core/hw/naomi/naomi_cart.cpp:1018-1045, source core/hw/naomi/naomi_cart.cpp:1084-1086"
|
||||
contents:
|
||||
- name: "epr-23605c.ic27"
|
||||
size: 2097152
|
||||
crc32: "297ea6ed"
|
||||
description: "Japan"
|
||||
- name: "epr-23605b.ic27"
|
||||
size: 2097152
|
||||
crc32: "3a3242d4"
|
||||
description: "Japan"
|
||||
- name: "epr-23607c.ic27"
|
||||
size: 2097152
|
||||
crc32: "750e254b"
|
||||
description: "USA"
|
||||
- name: "epr-23607b.ic27"
|
||||
size: 2097152
|
||||
crc32: "f308c5e9"
|
||||
description: "USA"
|
||||
- name: "epr-23608c.ic27"
|
||||
size: 2097152
|
||||
crc32: "6ef1dd8e"
|
||||
description: "Export"
|
||||
- name: "epr-23608b.ic27"
|
||||
size: 2097152
|
||||
crc32: "a554b1e3"
|
||||
description: "Export"
|
||||
- name: "epr-23609b.ic27"
|
||||
size: 2097152
|
||||
crc32: "99e3751f"
|
||||
description: "Korea"
|
||||
- name: "epr-23605c_multi.ic27"
|
||||
size: 2097152
|
||||
crc32: "353fdbcd"
|
||||
description: "Multi-region, read when the region is Korea and epr-23609b.ic27 is absent"
|
||||
|
||||
- name: "awbios.zip"
|
||||
path: "dc/awbios.zip"
|
||||
category: bios_zip
|
||||
system: sega-atomiswave
|
||||
required: true
|
||||
description: "Atomiswave BIOS archive"
|
||||
note: "Named by all 34 Atomiswave games, which refuse to start without it. Loaded into the 128 KB flash chip, whose writable half is then reloaded from the game's save file."
|
||||
source_ref: "source core/hw/naomi/naomi_roms.h:90-98, source core/hw/naomi/naomi_roms.h:6531, source core/hw/naomi/naomi_cart.cpp:576-578, source core/hw/naomi/naomi_cart.cpp:701-708, source core/nullDC.cpp:503-512"
|
||||
contents:
|
||||
- name: "bios0.ic23"
|
||||
size: 131072
|
||||
crc32: "719b2b0b"
|
||||
|
||||
- name: "f355bios.zip"
|
||||
path: "dc/f355bios.zip"
|
||||
category: bios_zip
|
||||
system: sega-naomi
|
||||
required: false
|
||||
hle_fallback: true
|
||||
description: "Ferrari F355 Challenge Twin BIOS archive"
|
||||
note: "Named by the f355twin, f355twinp and f355twn2 entries. Absent, the game starts on reios."
|
||||
source_ref: "source core/hw/naomi/naomi_roms.h:99-107, source core/hw/naomi/naomi_roms.h:2088, source core/hw/naomi/naomi_roms.h:2127, source core/hw/naomi/naomi_roms.h:2166, source core/hw/naomi/naomi_cart.cpp:658-713"
|
||||
contents:
|
||||
- name: "epr-22851.ic27"
|
||||
size: 2097152
|
||||
crc32: "62483677"
|
||||
description: "Export"
|
||||
- name: "epr-22850.ic27"
|
||||
size: 2097152
|
||||
crc32: "28aa539d"
|
||||
description: "USA"
|
||||
- name: "epr-22849.ic27"
|
||||
size: 2097152
|
||||
crc32: "121e009c"
|
||||
description: "Japan"
|
||||
|
||||
- name: "f355dlx.zip"
|
||||
path: "dc/f355dlx.zip"
|
||||
category: bios_zip
|
||||
system: sega-naomi
|
||||
required: false
|
||||
hle_fallback: true
|
||||
description: "Ferrari F355 Challenge Deluxe BIOS archive"
|
||||
note: "Named by the f355 entry. Absent, the game starts on reios."
|
||||
source_ref: "source core/hw/naomi/naomi_roms.h:108-123, source core/hw/naomi/naomi_roms.h:2043, source core/hw/naomi/naomi_cart.cpp:658-713"
|
||||
contents:
|
||||
- name: "epr-21864.ic27"
|
||||
size: 2097152
|
||||
crc32: "12ed7c66"
|
||||
description: "Export"
|
||||
- name: "epr-21863.ic27"
|
||||
size: 2097152
|
||||
crc32: "0615a4d1"
|
||||
description: "USA"
|
||||
- name: "epr-21862.ic27"
|
||||
size: 2097152
|
||||
crc32: "1f630716"
|
||||
description: "Japan"
|
||||
|
||||
- name: "hod2bios.zip"
|
||||
path: "dc/hod2bios.zip"
|
||||
category: bios_zip
|
||||
system: sega-naomi
|
||||
required: false
|
||||
hle_fallback: true
|
||||
description: "The House of the Dead 2 BIOS archive"
|
||||
note: "Named by the hotd2, hotd2o, hotd2e and hotd2p entries. Absent, the game starts on reios."
|
||||
source_ref: "source core/hw/naomi/naomi_roms.h:124-135, source core/hw/naomi/naomi_roms.h:2415, source core/hw/naomi/naomi_cart.cpp:658-713"
|
||||
contents:
|
||||
- name: "epr-21331.ic27"
|
||||
size: 2097152
|
||||
crc32: "065f8500"
|
||||
description: "Export"
|
||||
- name: "epr-21330.ic27"
|
||||
size: 2097152
|
||||
crc32: "9e3bfa1b"
|
||||
description: "USA"
|
||||
- name: "epr-21329.ic27"
|
||||
size: 2097152
|
||||
crc32: "d99e5b9b"
|
||||
description: "Japan"
|
||||
|
||||
- name: "segasp.zip"
|
||||
path: "dc/segasp.zip"
|
||||
category: bios_zip
|
||||
system: sega-systemsp
|
||||
required: true
|
||||
description: "Sega System SP BIOS archive"
|
||||
note: "Named by 28 System SP games, which refuse to start without it. Regions above export are read as export. For the USA and export regions the motherboard EEPROM of that region is also loaded as the default EEPROM, and the BIOS fails to load without it."
|
||||
source_ref: "source core/hw/naomi/naomi_roms.h:243-260, source core/hw/naomi/naomi_roms.h:8508, source core/hw/naomi/naomi_cart.cpp:536-567, source core/hw/naomi/naomi_cart.cpp:665-670, source core/hw/naomi/naomi_cart.cpp:696-700"
|
||||
contents:
|
||||
- name: "epr-24328a.ic50"
|
||||
size: 2097152
|
||||
crc32: "03ec3805"
|
||||
description: "BOOT VER 2.01"
|
||||
- name: "mb_eeprom_us.ic54s"
|
||||
crc32: "4186d7ab"
|
||||
description: "USA"
|
||||
- name: "mb_eeprom_exp.ic54s"
|
||||
crc32: "947ddfad"
|
||||
description: "Export"
|
||||
@@ -1,4 +1,4 @@
|
||||
{"source":"redump","system":"sega-saturn","dat":"Sega - Saturn","version":"2026-10-23 10-18-56","fetched_from":"https://redump.info/datfile/SS","fetched":"2026-11-03","archive":{"member":"Sega - Saturn - Datfile (2464) (2026-10-23 10-18-56).dat","file":"Sega - Saturn - Datfile (2464) (2026-10-23 10-18-56).zip","dat_date":"2026-10-23"},"licence":{"terms_url":"https://redump.info/about","read":"2026-11-03","quote":"Dumpers only submit metadata and Redump only stores metadata. This information is considered public domain to be used however people see fit"},"fields":["crc32","size","sha1","region","title","serials"],"regions":[["brazil"],["europe"],["finland"],["france"],["germany"],["italy"],["japan"],["north-america"],["south-korea"],["spain"],["taiwan"],["uk"],["brazil","north-america"],["europe","north-america"],["france","spain"],["hong-kong","taiwan"]],"serial_note":"Serials are written as the DAT writes them, and the DAT uses both forms: 'SLES-01971' and 'SLPS 02251' in the PlayStation DAT of the same day. A core reads the serial from the disc in its own spelling (SYSTEM.CNF holds 'SLPS_022.51', DuckStation reports 'SLPS-02251'). No source fixes a rule joining the two, so the comparison rule is the reader's to state.","games":[
|
||||
{"source":"redump","system":"sega-saturn","dat":"Sega - Saturn","version":"2026-11-08 23-29-16","fetched_from":"https://redump.info/datfile/SS","fetched":"2026-11-09","archive":{"member":"Sega - Saturn - Datfile (2464) (2026-11-08 23-29-16).dat","file":"Sega - Saturn - Datfile (2464) (2026-11-08 23-29-16).zip","dat_date":"2026-11-08"},"licence":{"terms_url":"https://redump.info/about","read":"2026-11-03","quote":"Dumpers only submit metadata and Redump only stores metadata. This information is considered public domain to be used however people see fit"},"fields":["crc32","size","sha1","region","title","serials"],"regions":[["brazil"],["europe"],["finland"],["france"],["germany"],["italy"],["japan"],["north-america"],["south-korea"],["spain"],["taiwan"],["uk"],["brazil","north-america"],["europe","north-america"],["france","spain"],["hong-kong","taiwan"]],"serial_note":"Serials are written as the DAT writes them, and the DAT uses both forms: 'SLES-01971' and 'SLPS 02251' in the PlayStation DAT of the same day. A core reads the serial from the disc in its own spelling (SYSTEM.CNF holds 'SLPS_022.51', DuckStation reports 'SLPS-02251'). No source fixes a rule joining the two, so the comparison rule is the reader's to state.","games":[
|
||||
["0000691d",381188640,"2be747180f7ea26416ece20b201918e3790a68f8",6,"Flash SegaSaturn Vol. 1 (Japan) (2M)",["610-6166-01"]],
|
||||
["00278769",640437840,"7de67a5f1242d803fcc49b77759f7ba125f4b46b",6,"Ousama Game (Japan) (Disc 2) (Momo Disc)",["T-21904G"]],
|
||||
["004fe32b",23371824,"9b550b6daabad0dd63068fdfd1ae35306b61846f",7,"Darius Gaiden (USA)",["T-8123H"]],
|
||||
@@ -2357,7 +2357,7 @@
|
||||
["f4c5b0d2",522520320,"44de1fc7f287f9fb2d8b1d83ccc3f22eeca62a63",6,"Riven - The Sequel to Myst (Japan) (Disc 1)",["T-35503G"]],
|
||||
["f4c9b8ff",536112528,"e6c2e44ff2f6f01c69b72460f803c32807abef0f",6,"Capcom Generation - Dai-5-shuu Kakutoukatachi (Japan)",["T-1236G"]],
|
||||
["f4c9b9eb",539953344,"f16525ef8049ec220f202717066ea3936175d914",6,"WanChai Connection (Japan) (Disc A)",["GS-9007"]],
|
||||
["f4d69bc0",133120848,"a52ed3f42a2bae2ed5087fa5506917d8c8d611b8",6,"Yuukyuu Gensoukyoku Ensemble (Japan)",["T-27811G"]],
|
||||
["f4d69bc0",133120848,"a52ed3f42a2bae2ed5087fa5506917d8c8d611b8",6,"Yuukyuu Gensoukyoku Ensemble (Japan)",["T-27808G","T-27811G"]],
|
||||
["f4f3f0d3",27556032,"5804b65956257d191f2fcbb0ed409549d0c392bc",6,"Zap! Snowboarding Trix '98 (Japan)",["T-7504G"]],
|
||||
["f4f98e4f",71503152,"df2feeb5a047f6c1f1b8aa2c0e7f0ad00309d363",6,"Paneltia Story - Koln no Daibouken (Japan)",["T-21510G"]],
|
||||
["f54c6a91",43507296,"85f23086acee99634c41dce4cea1c95bd5588db8",6,"Alien Trilogy (Japan) (Demo)",["ST-8113G"]],
|
||||
|
||||
@@ -1,4 +1,4 @@
|
||||
{"source":"redump","system":"sony-playstation-2","dat":"Sony - PlayStation 2","version":"2026-11-03 09-06-30","fetched_from":"https://redump.info/datfile/PS2","fetched":"2026-11-03","archive":{"member":"Sony - PlayStation 2 - Datfile (11845) (2026-11-03 09-06-30).dat","file":"Sony - PlayStation 2 - Datfile (11845) (2026-11-03 09-06-30).zip","dat_date":"2026-11-03"},"licence":{"terms_url":"https://redump.info/about","read":"2026-11-03","quote":"Dumpers only submit metadata and Redump only stores metadata. This information is considered public domain to be used however people see fit"},"fields":["crc32","size","sha1","region","title","serials"],"regions":[["asia"],["australia"],["brazil"],["canada"],["china"],["denmark"],["europe"],["finland"],["france"],["germany"],["greece"],["india"],["italy"],["japan"],["latin-america"],["netherlands"],["north-america"],["norway"],["poland"],["portugal"],["russia"],["south-korea"],["spain"],["sweden"],["taiwan"],["uk"],["world"],["asia","japan"],["australia","europe"],["australia","new-zealand"],["australia","uk"],["brazil","north-america"],["canada","north-america"],["europe","netherlands"],["france","spain"],["japan","south-korea"],["portugal","spain"]],"serial_note":"Serials are written as the DAT writes them, and the DAT uses both forms: 'SLES-01971' and 'SLPS 02251' in the PlayStation DAT of the same day. A core reads the serial from the disc in its own spelling (SYSTEM.CNF holds 'SLPS_022.51', DuckStation reports 'SLPS-02251'). No source fixes a rule joining the two, so the comparison rule is the reader's to state.","games":[
|
||||
{"source":"redump","system":"sony-playstation-2","dat":"Sony - PlayStation 2","version":"2026-11-08 23-27-42","fetched_from":"https://redump.info/datfile/PS2","fetched":"2026-11-09","archive":{"member":"Sony - PlayStation 2 - Datfile (11845) (2026-11-08 23-27-42).dat","file":"Sony - PlayStation 2 - Datfile (11845) (2026-11-08 23-27-42).zip","dat_date":"2026-11-08"},"licence":{"terms_url":"https://redump.info/about","read":"2026-11-03","quote":"Dumpers only submit metadata and Redump only stores metadata. This information is considered public domain to be used however people see fit"},"fields":["crc32","size","sha1","region","title","serials"],"regions":[["asia"],["australia"],["brazil"],["canada"],["china"],["denmark"],["europe"],["finland"],["france"],["germany"],["greece"],["india"],["italy"],["japan"],["latin-america"],["netherlands"],["north-america"],["norway"],["poland"],["portugal"],["russia"],["south-korea"],["spain"],["sweden"],["taiwan"],["uk"],["world"],["asia","japan"],["australia","europe"],["australia","new-zealand"],["australia","uk"],["brazil","north-america"],["canada","north-america"],["europe","netherlands"],["france","spain"],["japan","south-korea"],["portugal","spain"]],"serial_note":"Serials are written as the DAT writes them, and the DAT uses both forms: 'SLES-01971' and 'SLPS 02251' in the PlayStation DAT of the same day. A core reads the serial from the disc in its own spelling (SYSTEM.CNF holds 'SLPS_022.51', DuckStation reports 'SLPS-02251'). No source fixes a rule joining the two, so the comparison rule is the reader's to state.","games":[
|
||||
["00019551",642938016,"ad521d28f458359ed62300c6af8e7f76d3ed7c48",16,"Mark of Kri, The (USA) (Demo)",["SCUS 97222"]],
|
||||
["0002adf4",3786768384,"e399fb42b406ad6c4f42e91188457894b4588b75",8,"Crimson Sea 2 (France)",["SLES-52557"]],
|
||||
["0004646d",4346052608,"8fbfc7f3879bbce02885c7975bd76901f58025fe",6,"Naruto - Uzumaki Chronicles 2 (Europe) (En,Ja,Fr,De,Es,It)",["SLES-55090"]],
|
||||
|
||||
@@ -1,4 +1,4 @@
|
||||
{"source":"redump","system":"sony-playstation","dat":"Sony - PlayStation","version":"2026-10-31 22-38-06","fetched_from":"https://redump.info/datfile/PSX","fetched":"2026-11-03","archive":{"member":"Sony - PlayStation - Datfile (10982) (2026-10-31 22-38-06).dat","file":"Sony - PlayStation - Datfile (10982) (2026-10-31 22-38-06).zip","dat_date":"2026-10-31"},"licence":{"terms_url":"https://redump.info/about","read":"2026-11-03","quote":"Dumpers only submit metadata and Redump only stores metadata. This information is considered public domain to be used however people see fit"},"fields":["crc32","size","sha1","region","title","serials"],"regions":[["asia"],["australia"],["canada"],["china"],["denmark"],["europe"],["finland"],["france"],["germany"],["greece"],["italy"],["japan"],["netherlands"],["north-america"],["norway"],["poland"],["portugal"],["russia"],["south-korea"],["spain"],["sweden"],["taiwan"],["uk"],["world"],["asia","japan"],["australia","europe"],["canada","north-america"],["europe","netherlands"],["europe","north-america"]],"serial_note":"Serials are written as the DAT writes them, and the DAT uses both forms: 'SLES-01971' and 'SLPS 02251' in the PlayStation DAT of the same day. A core reads the serial from the disc in its own spelling (SYSTEM.CNF holds 'SLPS_022.51', DuckStation reports 'SLPS-02251'). No source fixes a rule joining the two, so the comparison rule is the reader's to state.","games":[
|
||||
{"source":"redump","system":"sony-playstation","dat":"Sony - PlayStation","version":"2026-11-08 18-37-42","fetched_from":"https://redump.info/datfile/PSX","fetched":"2026-11-09","archive":{"member":"Sony - PlayStation - Datfile (10983) (2026-11-08 18-37-42).dat","file":"Sony - PlayStation - Datfile (10983) (2026-11-08 18-37-42).zip","dat_date":"2026-11-08"},"licence":{"terms_url":"https://redump.info/about","read":"2026-11-03","quote":"Dumpers only submit metadata and Redump only stores metadata. This information is considered public domain to be used however people see fit"},"fields":["crc32","size","sha1","region","title","serials"],"regions":[["asia"],["australia"],["canada"],["china"],["denmark"],["europe"],["finland"],["france"],["germany"],["greece"],["italy"],["japan"],["netherlands"],["north-america"],["norway"],["poland"],["portugal"],["russia"],["south-korea"],["spain"],["sweden"],["taiwan"],["uk"],["world"],["asia","japan"],["australia","europe"],["canada","north-america"],["europe","netherlands"],["europe","north-america"]],"serial_note":"Serials are written as the DAT writes them, and the DAT uses both forms: 'SLES-01971' and 'SLPS 02251' in the PlayStation DAT of the same day. A core reads the serial from the disc in its own spelling (SYSTEM.CNF holds 'SLPS_022.51', DuckStation reports 'SLPS-02251'). No source fixes a rule joining the two, so the comparison rule is the reader's to state.","games":[
|
||||
["000d989c",381169824,"1c990bae9b76b5659a41c67696f61b463c6ce82c",5,"Pop n' Pop (Europe)",["SLES-01971"]],
|
||||
["00137035",69574512,"28bedf7c5c7f28847221500e09a3acd1fce923c4",11,"Jigsaw World (Japan) (Honkakuha de 1300)",["SLPS 02251"]],
|
||||
["0014420d",25500384,"ca0b112f27cc10e0853576a94d19a644d1490ef0",5,"Revolution X - Music Is the Weapon (Europe)",["SLES-00129"]],
|
||||
@@ -998,7 +998,7 @@
|
||||
["18dfb82d",729423408,"a617b948e23c198a4d0eb521b874d0f563987d98",13,"Gran Turismo 2 (USA) (Arcade Mode)",["SCUS-94455"]],
|
||||
["18e1c83c",114928128,"2d24572e92415e09c37b68c83ba8b8947aee1ce4",13,"Die Hard Trilogy (USA) (Rev 1)",["SLUS-00119"]],
|
||||
["18e1ddcc",458600016,"7cdc58c6268633c6b9e2d1bf686c6ac994f75451",5,"Mummy, The (Europe) (En,Fr,De,Es,It)",["SLES-02973"]],
|
||||
["18e546eb",256313904,"26b288ec11fb19afd2cd6bc959c23fcf3ed7a9a1",11,"I.Q Final (Japan) (Demo 2)",["PAPX 90063"]],
|
||||
["18e546eb",256313904,"26b288ec11fb19afd2cd6bc959c23fcf3ed7a9a1",11,"I.Q Final (Japan) (Muryou Rental-ban)",["PAPX 90063"]],
|
||||
["18ebdeb3",86045568,"5694008c30fa9896d17afdd6281e4bebb9f63953",13,"Wipeout XL (USA)",["SCUS-94351"]],
|
||||
["18ec8c9b",657809712,"18c5172fe0ab64bb80f983791cf735f3f0df918a",13,"Bomberman World (USA)",["SLUS-00680"]],
|
||||
["18eda366",544956048,"0939992a8931a13193c1ad585de6a35061ee63e4",5,"In Cold Blood (Europe) (Beta) (2000-03-24)",[]],
|
||||
@@ -1499,7 +1499,7 @@
|
||||
["242025e5",321941760,"43971e07cf4d06631b0b4d21248617f5ec21d10a",11,"Tokimeki Memorial 2 Emotional Voice System Append Disc (Japan) (Disc 2) (Akai - Ichimonji - Yae)",["SLPM 80544"]],
|
||||
["2426055c",570503472,"b63a76dbf9703c6819b11068cac8f7df0b8ee6b3",11,"Harry Potter to Himitsu no Heya (Japan)",["SLPS 03492"]],
|
||||
["2434d4e6",14688240,"81bb2e859ed7e3127e089993052259007187d19d",11,"Arcade Gears - Pu-Li-Ru-La (Japan)",["SLPS 00928"]],
|
||||
["2436a910",162690192,"b7b25b1f0b584b57d77bd5399ab15184d663ab2b",24,"Saru! Get You! (Japan, Asia) (Demo 1)",["PAPX 90079","SCPS 10084","SCPS 45396"]],
|
||||
["2436a910",162690192,"b7b25b1f0b584b57d77bd5399ab15184d663ab2b",24,"Saru! Get You! (Japan, Asia) (Taikenban)",["PAPX 90079","PAPX 90110","SCPS 10084","SCPS 45396"]],
|
||||
["2437145d",416849664,"69be46529c17a398e8d64a7d4fe0def2959d8329",11,"Assault Suits Valken 2 (Japan)",["SLPM 86872","SLPS 00854"]],
|
||||
["243dfcd5",64296624,"f82b9f3f89401cd683f8468c3c92b63e19bc8602",5,"Time Crisis - Project Titan (Europe) (En,Fr,De,Es,It)",["SCES-02776","SCES-02776-P"]],
|
||||
["243ed628",659547840,"8396e575e9a7099305e31f336c648eec7cc79e9f",8,"Final Fantasy VII (Germany) (Disc 3)",["SCES-20869"]],
|
||||
@@ -2684,7 +2684,7 @@
|
||||
["40d1e1ba",294508032,"c0e60a0d2e7535a974860b1b3f3f73baf5eb5e96",13,"PlayStation Picks (USA) (SCUS-94952)",["SPUS-94951"]],
|
||||
["40d1f5ef",271202064,"1bd699b9ee879724c02ef279d183be582a137f0e",5,"Who Wants to Be a Millionaire - Irish Edition (Ireland)",["SLES-03583"]],
|
||||
["40dd3ad7",466613280,"0d26af68276235f4953bc145ebb32390adc9cff1",11,"Harry Potter to Kenja no Ishi (Japan) (Coca-Cola Kenshouhin)",["SLPM 84013"]],
|
||||
["40decb97",256313904,"f8d7648c72f6fa577cdf16fc653ff2cde1d806e6",11,"I.Q Final (Japan) (Demo 1)",["PCPX 96137"]],
|
||||
["40decb97",256313904,"f8d7648c72f6fa577cdf16fc653ff2cde1d806e6",11,"I.Q Final (Japan) (Taikenban)",["PCPX 96137"]],
|
||||
["40e8bc22",686010192,"a61c2fa3b900b9aab8c27be60aaa8647bcddf321",18,"Kids Station - Gomdori Pooh Hakseup Series - Gomdori Pooh Sinnaneun Yuagyosil (Korea)",["SLPM 88511"]],
|
||||
["40ec65af",485184672,"1cbb529c1f42761d8b78d18770cd09fb4d5f01d6",13,"Nectaris - Military Madness (USA)",["SLUS-00764"]],
|
||||
["40f066ce",719883696,"887049e5123eac50949bff248b720f7ebfff48da",11,"Tomoyasu Hotei - Stolen Song (Japan) (Disc 1)",["SCPS 18009"]],
|
||||
@@ -3421,6 +3421,7 @@
|
||||
["51d5806e",369941376,"34abaea65d406420fbc592018e6169a734bda4aa",5,"Championship Bass (Europe)",["SLES-02775"]],
|
||||
["51d91e38",297918432,"fe816a19bcd0f451b2b8f92f6afb8c1ce57eda47",11,"GunBullet (Japan)",["SLPS 00930"]],
|
||||
["51d95fdb",375285120,"5a60904791236c39b39ff76e282536f8a4c7e1dc",5,"Jupiter Strike (Europe)",["SLES-00130"]],
|
||||
["51e372de",289319520,"1c17927c186e50c4098bac4e298b0386b291bcc2",21,"Dafuweng Zhi Xiao Xiao Jianghu (Taiwan) (Unl)",[]],
|
||||
["51e394ff",418249104,"3ed1551dda17bf14f56c6ce23a3b69a7ef0bb70a",11,"Tantei Jinguuji Saburou - Mikan no Report (Japan)",["SLPS 00544"]],
|
||||
["51e4d0e3",658567056,"ffbabb7e86069d857e1e4812ddcdada25f5aaca6",5,"Vandal Hearts (Europe) (En,Fr,De)",["SLES-00204"]],
|
||||
["51ee0d69",275099328,"9b6c3fb18f00578c2e9a345ab6a6afa2f8dd60a8",5,"Poy Poy (Europe)",["SLES-00785"]],
|
||||
@@ -4702,7 +4703,7 @@
|
||||
["6f2d194f",263572176,"2c2574d5ce110de71dee8be4a629ff101b914863",5,"Last Report, The (Europe) (En,De) (Demo)",["SLED-01365"]],
|
||||
["6f30ed81",324543072,"0f4264233d0d7aca5dad80c6845468a723973051",11,"Slap Happy Rhythm Busters (Japan)",["SLPS 02789","SLPS 91460"]],
|
||||
["6f311c54",436822848,"e1c1a85e7b22db8a35c7bec96e1c3da7b5c7ff0f",11,"SuperLite Gold Series - Wizardry - Llylgamyn Saga (Japan)",["SLPM 87037"]],
|
||||
["6f391fcb",142801680,"77dba4a9724545b3f93f09d33c31280d2e5a74aa",11,"Saru! Get You! (Japan) (Demo 2)",["PCPX 96166"]],
|
||||
["6f391fcb",142801680,"77dba4a9724545b3f93f09d33c31280d2e5a74aa",11,"Saru! Get You! (Japan) (Tentou-you Taikenban)",["PCPX 96166"]],
|
||||
["6f3a64eb",169214640,"fe5b0b63c11cc557f3407a52153052162ab7a966",13,"Frogger 2 - Swampy's Revenge (USA) (Beta) (2000-06-14)",[]],
|
||||
["6f438c6d",544495056,"6c4c695d6cf0bad4449efc7aaeb882c2b20af53b",24,"Gran Turismo (Japan, Asia)",["SCPS 10045","SCPS 45147","SCPS 45149","SCPS 91128","SCPS 91301"]],
|
||||
["6f45ea03",203746704,"151c1ebb654487f189cc7a10696b1e1e7ce2ae12",5,"Lucky Luke (Europe) (Demo)",["SLED-01249"]],
|
||||
@@ -6647,7 +6648,7 @@
|
||||
["9ca78f07",581028672,"638e7e1edb006a07554629cd2eb74af6d7c8ef95",7,"Ace Combat 2 (France)",["SCES-00901"]],
|
||||
["9cac5b3e",267384768,"86e3afa510538b45ea894a33ed4851d22a44db4a",13,"Steel Harbinger (USA)",["SLUS-00093"]],
|
||||
["9cb07ee3",97191696,"ffe68b3708b32d67e18a433b624a845ef137b55f",11,"Simple 1500 Series Vol. 57 - The Meiro (Japan)",["SLPM 86715"]],
|
||||
["9cb09851",68671344,"e3960f680a020f9ad9a79a509aac3310a66bc430",11,"Pilot ni Narou! (Japan) (Demo)",["SLPM 80293"]],
|
||||
["9cb09851",68671344,"e3960f680a020f9ad9a79a509aac3310a66bc430",11,"Pilot ni Narou! (Japan) (Taikenban)",["PAPX 90066","SLPM 80293"]],
|
||||
["9cb5c83f",43199184,"3e2235eda4a3e7b24935153cd1768e6a451bf1bf",11,"Gunpey (Japan)",["SLPS 02485"]],
|
||||
["9cbc8661",197843184,"708e009570ca0e9549ca6527dc15fcc9c993c62d",7,"Euro Demo 07 (France)",["SCED-00668"]],
|
||||
["9cc878f9",505957536,"fe04c5f84119a3952e5f34381877b4c143297539",13,"Test Drive Off-Road 3 (USA)",["SLUS-00840"]],
|
||||
|
||||
+111
-1
@@ -702,6 +702,11 @@ EVENT_KEYS: dict[str, tuple[str, ...]] = {
|
||||
# says it. A kind of its own: the full-screen interface always gives
|
||||
# --dest, and the board was never applied there.
|
||||
"board": ("platform", "board", "applied", "message"),
|
||||
# --installed-cores, before choices, once per installed core the list
|
||||
# has no profile for: info is whether its .info was found, dests the
|
||||
# firmware paths it declares, kept whatever the narrowing drops. A
|
||||
# core with no .info keeps nothing it alone reads, and message says so.
|
||||
"unknown_core": ("platform", "core", "info", "dests", "message"),
|
||||
# Before the file events of a check: the systems the run's list lets
|
||||
# one choose among, --system aside, in id order (other for the files
|
||||
# no system names). What Choose systems lists, and what the plan counts
|
||||
@@ -3158,6 +3163,67 @@ def installed_cores(dirs: list[Path]) -> list[str]:
|
||||
return sorted(names)
|
||||
|
||||
|
||||
def info_dirs(plat: str, bios_path: Path, searched: list[Path]) -> list[Path]:
|
||||
"""The directories RetroArch reads core .info files from.
|
||||
|
||||
libretro_info_path in retroarch.cfg, info/ beside RetroArch by default,
|
||||
then the cores folders: Linux builds and Lakka keep each .info beside
|
||||
its core.
|
||||
"""
|
||||
found = _retroarch_config_for(bios_path)
|
||||
if found is None and _is_file(bios_path.parent / "retroarch.cfg"):
|
||||
found = (bios_path.parent / "retroarch.cfg", bios_path.parent)
|
||||
dirs: list[Path] = []
|
||||
if found is not None:
|
||||
cfg, app_dir = found
|
||||
dirs.append(_retroarch_cfg_dir(cfg, "libretro_info_path", app_dir, "info")
|
||||
or app_dir / "info")
|
||||
dirs.extend(searched)
|
||||
return list(dict.fromkeys(dirs))
|
||||
|
||||
|
||||
_INFO_FIRMWARE_RE = re.compile(r'^\s*firmware\d+_path\s*=\s*"?([^"\r\n]*?)"?\s*$')
|
||||
|
||||
|
||||
def info_firmware(dirs: list[Path], core: str) -> list[str] | None:
|
||||
"""The firmware paths a core's .info declares, None without a .info.
|
||||
|
||||
RetroArch reads firmware<N>_path, relative to the system directory
|
||||
(core_info.c), and so does this.
|
||||
"""
|
||||
for directory in dirs:
|
||||
info = directory / f"{core}_libretro.info"
|
||||
try:
|
||||
text = info.read_text(encoding="utf-8", errors="replace")
|
||||
except OSError:
|
||||
continue
|
||||
paths = (m.group(1).strip().replace("\\", "/")
|
||||
for m in map(_INFO_FIRMWARE_RE.match, text.splitlines()) if m)
|
||||
return list(dict.fromkeys(p for p in paths if p))
|
||||
return None
|
||||
|
||||
|
||||
def known_core_names(manifest: dict) -> set[str]:
|
||||
"""Every core name a file list answers for: profiles and their other names."""
|
||||
names: set[str] = set()
|
||||
for profile, aliases in (manifest.get("core_names") or {}).items():
|
||||
names.add(profile)
|
||||
names.update(aliases)
|
||||
for cores in (manifest.get("system_cores") or {}).values():
|
||||
names.update(cores)
|
||||
for entry in [*manifest.get("files", []), *manifest.get("omitted_files", [])]:
|
||||
names.update(entry.get("cores") or [])
|
||||
for alternative in entry.get("alternatives", []):
|
||||
names.update(alternative.get("cores") or [])
|
||||
return names
|
||||
|
||||
|
||||
def unknown_cores(manifest: dict, names: list[str]) -> list[str]:
|
||||
"""The installed cores the file list has no profile for, in name order."""
|
||||
known = known_core_names(manifest)
|
||||
return sorted(name for name in names if name not in known)
|
||||
|
||||
|
||||
def display_name(plat: str, manifest: dict | None = None) -> str:
|
||||
"""A platform's name as the frontend writes it, the manifest's when it has one."""
|
||||
named = (manifest or {}).get("display_name")
|
||||
@@ -4542,6 +4608,7 @@ def narrow_to_cores(
|
||||
names: list[str],
|
||||
files: list[dict] | None = None,
|
||||
omitted: list[dict] | None = None,
|
||||
declared_by_info: Collection[str] = (),
|
||||
) -> tuple[list[dict], list[dict]]:
|
||||
"""Keep what the named cores read, as a pack built for them carries.
|
||||
|
||||
@@ -4551,9 +4618,12 @@ def narrow_to_cores(
|
||||
it does not list stays whatever is named. A dropped system's file gives
|
||||
way to the first named core claiming its destination. A manifest without
|
||||
the two maps keeps the platform's list whole and matches cores by name.
|
||||
A destination in `declared_by_info`, what the .info of an installed core
|
||||
no profile describes declares, stays whatever is named.
|
||||
"""
|
||||
cores = designated_cores(manifest, names)
|
||||
reach = manifest.get("system_cores") or {}
|
||||
info_dests = {dest.casefold() for dest in declared_by_info}
|
||||
|
||||
def kept_system(system: str) -> bool:
|
||||
return system not in reach or bool(cores.intersection(reach[system]))
|
||||
@@ -4563,6 +4633,9 @@ def narrow_to_cores(
|
||||
def kept(entries: list[dict]) -> list[dict]:
|
||||
result: list[dict] = []
|
||||
for entry in entries:
|
||||
if str(entry.get("dest", "")).casefold() in info_dests:
|
||||
result.append(_for_cores(entry, cores) or _settle_slot(entry, cores))
|
||||
continue
|
||||
if entry.get("cores") is not None:
|
||||
copy = _for_cores(entry, cores)
|
||||
if copy is not None:
|
||||
@@ -14199,6 +14272,37 @@ def _check_cores_dir(folder: Path) -> None:
|
||||
sys.exit(1)
|
||||
|
||||
|
||||
def _unprofiled_cores_firmware(
|
||||
plat: str, bios_path: Path, manifest: dict, found: list[str], searched: list[Path],
|
||||
) -> list[str]:
|
||||
"""What the installed cores the list has no profile for declare, each said.
|
||||
|
||||
Such a core reads systems the list cannot name, and narrowing to the
|
||||
installed cores dropped its BIOS without a word (issue 87, parallel_dc
|
||||
before its profile). Its .info is what RetroArch itself checks, so the
|
||||
files it declares are kept. A core without one is named.
|
||||
"""
|
||||
unknown = unknown_cores(manifest, found)
|
||||
if not unknown:
|
||||
return []
|
||||
dirs = info_dirs(plat, bios_path, searched)
|
||||
dests: list[str] = []
|
||||
for core in unknown:
|
||||
declared = info_firmware(dirs, core)
|
||||
if declared is None:
|
||||
message = (f"{core}: a core this list does not know, with no .info to read: "
|
||||
"its files may be missing. Run without --installed-cores "
|
||||
"to install every file.")
|
||||
else:
|
||||
message = (f"{core}: a core this list does not know, "
|
||||
f"{_plural(len(declared), 'file')} its .info declares kept")
|
||||
print(f" {message}")
|
||||
EVENTS.emit("unknown_core", platform=plat, core=core,
|
||||
info=declared is not None, dests=declared or [], message=message)
|
||||
dests.extend(declared or [])
|
||||
return dests
|
||||
|
||||
|
||||
def _no_core_found(plat: str, bios_path: Path, searched: list[Path]) -> None:
|
||||
"""Refuse --installed-cores with no core, and say how to point at them.
|
||||
|
||||
@@ -15547,12 +15651,14 @@ def _install(args: argparse.Namespace, real_stdout: TextIO) -> None:
|
||||
# Every check --installed-cores makes before anything is written: a
|
||||
# refusal for the second platform must not follow an install of the first.
|
||||
cores_found: dict[tuple[str, Path], list[str]] = {}
|
||||
cores_searched: dict[tuple[str, Path], list[Path]] = {}
|
||||
for plat_name, bios_path in platforms:
|
||||
if plat_name in CORE_PLATFORMS:
|
||||
if args.cores_dir:
|
||||
_check_cores_dir(args.cores_dir)
|
||||
searched = [args.cores_dir] if args.cores_dir else core_dirs(plat_name, bios_path)
|
||||
cores_found[(plat_name, bios_path)] = installed_cores(searched)
|
||||
cores_searched[(plat_name, bios_path)] = searched
|
||||
elif args.installed_cores:
|
||||
print(
|
||||
f"Error: {plat_name} ships its cores with the system. "
|
||||
@@ -15687,8 +15793,12 @@ def _install(args: argparse.Namespace, real_stdout: TextIO) -> None:
|
||||
print(_older_list_advice(plat_name), file=sys.stderr)
|
||||
sys.exit(1)
|
||||
before = len(files)
|
||||
info_dests = _unprofiled_cores_firmware(
|
||||
plat_name, bios_path, manifest, found_cores,
|
||||
cores_searched.get((plat_name, bios_path), []),
|
||||
)
|
||||
files, omitted_files = narrow_to_cores(
|
||||
manifest, found_cores, files, omitted_files
|
||||
manifest, found_cores, files, omitted_files, info_dests
|
||||
)
|
||||
print(f" Narrowed {before} to {len(files)} files to the installed cores")
|
||||
|
||||
|
||||
+151
-6
@@ -1047,6 +1047,12 @@
|
||||
}
|
||||
],
|
||||
"core_names": {
|
||||
"81": [],
|
||||
"a5200": [],
|
||||
"advanced_drastic": [
|
||||
"DraStic-original",
|
||||
"drastic - standalone"
|
||||
],
|
||||
"advancemame": [
|
||||
"AdvanceMame",
|
||||
"advmame"
|
||||
@@ -1054,9 +1060,11 @@
|
||||
"amiberry": [
|
||||
"AMIBERRY"
|
||||
],
|
||||
"arduous": [],
|
||||
"ares": [
|
||||
"ares-sa"
|
||||
],
|
||||
"atari800": [],
|
||||
"beetle_gba": [
|
||||
"mednafen_gba"
|
||||
],
|
||||
@@ -1064,6 +1072,10 @@
|
||||
"beetle-lynx",
|
||||
"mednafen_lynx"
|
||||
],
|
||||
"beetle_ngp": [
|
||||
"beetle-ngp",
|
||||
"mednafen_ngp"
|
||||
],
|
||||
"beetle_pce": [
|
||||
"beetle-pce",
|
||||
"mednafen_pce",
|
||||
@@ -1083,6 +1095,17 @@
|
||||
"beetle-saturn",
|
||||
"mednafen_saturn"
|
||||
],
|
||||
"beetle_vb": [
|
||||
"beetle-vb",
|
||||
"mednafen_vb",
|
||||
"vb"
|
||||
],
|
||||
"beetle_wswan": [
|
||||
"beetle-wswan",
|
||||
"mednafen_wswan"
|
||||
],
|
||||
"bluemsx": [],
|
||||
"bsnes": [],
|
||||
"bsnes-jg": [
|
||||
"bsnes_jg"
|
||||
],
|
||||
@@ -1100,17 +1123,24 @@
|
||||
"bsnes_mercury_balanced",
|
||||
"bsnes_mercury_performance"
|
||||
],
|
||||
"cap32": [
|
||||
"caprice32"
|
||||
],
|
||||
"crocods": [],
|
||||
"daedalusx64": [
|
||||
"daedalusx64-sa"
|
||||
],
|
||||
"desmume2015": [
|
||||
"desmume_2015"
|
||||
],
|
||||
"dosbox_core": [],
|
||||
"dosbox_pure": [],
|
||||
"doublecherrygb": [
|
||||
"DoubleCherryGB"
|
||||
],
|
||||
"drastic": [
|
||||
"drastic-sa"
|
||||
"drastic-sa",
|
||||
"drastic_standalone"
|
||||
],
|
||||
"dsperate": [
|
||||
"dsperate-sa"
|
||||
@@ -1119,22 +1149,37 @@
|
||||
"Duckstation",
|
||||
"duckstation-sa"
|
||||
],
|
||||
"easyrpg": [],
|
||||
"ecwolf": [
|
||||
"ECWolf"
|
||||
],
|
||||
"emuscv": [],
|
||||
"ep128emu_core": [
|
||||
"ep128emu",
|
||||
"ep128emu-core"
|
||||
],
|
||||
"fake08": [
|
||||
"fake_08"
|
||||
],
|
||||
"fbalpha2012": [
|
||||
"fbalpha"
|
||||
],
|
||||
"fbalpha2019": [],
|
||||
"fbneo": [
|
||||
"FBNEOSA"
|
||||
"FBNEOSA",
|
||||
"fbneo_32b",
|
||||
"fbneo_plus",
|
||||
"km_fbneo_xtreme_amped"
|
||||
],
|
||||
"fceumm": [],
|
||||
"flycast": [
|
||||
"flycast-dev",
|
||||
"flycast-next",
|
||||
"flycast-sa",
|
||||
"flycast32_rumble",
|
||||
"flycast_32b",
|
||||
"flycast_dev",
|
||||
"flycast_rumble",
|
||||
"flycastsa",
|
||||
"flycastvl"
|
||||
],
|
||||
@@ -1144,16 +1189,22 @@
|
||||
"flycast2021": [
|
||||
"flycast-xtreme"
|
||||
],
|
||||
"flycast2021le": [],
|
||||
"fmsx": [],
|
||||
"fpse-ng": [
|
||||
"fpse64",
|
||||
"fpseng"
|
||||
],
|
||||
"freechaf": [],
|
||||
"freeintv": [],
|
||||
"freej2me": [],
|
||||
"freej2me_plus": [
|
||||
"freej2me-plus"
|
||||
],
|
||||
"fuse": [
|
||||
"fuse_libretro"
|
||||
],
|
||||
"gambatte": [],
|
||||
"gba-emu": [
|
||||
"GBA-EMU",
|
||||
"GBA.emu"
|
||||
@@ -1162,6 +1213,9 @@
|
||||
"GBC-EMU",
|
||||
"GBC.emu"
|
||||
],
|
||||
"gearboy": [],
|
||||
"gearcoleco": [],
|
||||
"gearsystem": [],
|
||||
"genesis_plus_gx": [
|
||||
"genesis-plus-gx",
|
||||
"genesis_plus_gx_cart_special",
|
||||
@@ -1176,15 +1230,25 @@
|
||||
"genesisplusgx-wide",
|
||||
"genesisplusgxwide"
|
||||
],
|
||||
"geolith": [],
|
||||
"gopher64": [
|
||||
"gopher64-sa"
|
||||
],
|
||||
"gpsp": [
|
||||
"gpsp_ezode_mod",
|
||||
"gpsp_plus"
|
||||
],
|
||||
"gw": [
|
||||
"gw_libretro"
|
||||
],
|
||||
"gzdoom": [
|
||||
"GZDoom",
|
||||
"gzdoom-sa"
|
||||
],
|
||||
"handy": [],
|
||||
"hatari": [
|
||||
"HATARISA",
|
||||
"hatari-fast",
|
||||
"hatarisa"
|
||||
],
|
||||
"hypseus-singe": [
|
||||
@@ -1192,16 +1256,22 @@
|
||||
"hypseus",
|
||||
"hypseus_singe"
|
||||
],
|
||||
"jaxe": [],
|
||||
"lexaloffle": [
|
||||
"Pico-8",
|
||||
"float-scaled",
|
||||
"pico-8",
|
||||
"pico8",
|
||||
"pico_standalone",
|
||||
"vox_official"
|
||||
],
|
||||
"linkboy": [
|
||||
"LINKBOY",
|
||||
"Linkboy"
|
||||
],
|
||||
"lowresnx": [
|
||||
"lowres_nx"
|
||||
],
|
||||
"lynx-emu": [
|
||||
"LYNX-EMU",
|
||||
"Lynx.emu"
|
||||
@@ -1228,6 +1298,7 @@
|
||||
"mame2010": [
|
||||
"mame0139"
|
||||
],
|
||||
"mame2015": [],
|
||||
"mame2016": [
|
||||
"mess2016"
|
||||
],
|
||||
@@ -1249,6 +1320,15 @@
|
||||
"beetle_pce_fast",
|
||||
"pce_fast"
|
||||
],
|
||||
"mednafen_snes": [
|
||||
"beetle-bsnes",
|
||||
"beetle_bsnes",
|
||||
"beetle_snes"
|
||||
],
|
||||
"mednafen_supafaust": [
|
||||
"beetle_supafaust",
|
||||
"supafaust"
|
||||
],
|
||||
"mednafen_supergrafx": [
|
||||
"beetle-supergrafx",
|
||||
"beetle_supergrafx"
|
||||
@@ -1269,13 +1349,18 @@
|
||||
"mesen2"
|
||||
],
|
||||
"mgba": [
|
||||
"mgba_fork"
|
||||
"mgba_fork",
|
||||
"mgba_rumble",
|
||||
"msgb"
|
||||
],
|
||||
"mojozork": [],
|
||||
"msx-emu": [
|
||||
"MSX-EMU",
|
||||
"MSX.emu"
|
||||
],
|
||||
"mupen64plus": [
|
||||
"mupen64plus - standalone - glidemk2 - full",
|
||||
"mupen64plus-auto",
|
||||
"mupen64plus-sa",
|
||||
"mupen64plussa"
|
||||
],
|
||||
@@ -1308,6 +1393,7 @@
|
||||
"nekop2": [
|
||||
"meowpc98"
|
||||
],
|
||||
"neocd": [],
|
||||
"nes-emu": [
|
||||
"NES-EMU",
|
||||
"NES.emu"
|
||||
@@ -1316,9 +1402,26 @@
|
||||
"NESOID",
|
||||
"Nesoid"
|
||||
],
|
||||
"nestopia": [],
|
||||
"np2kai": [],
|
||||
"o2em": [
|
||||
"o2em_libretro"
|
||||
],
|
||||
"openbor": [
|
||||
"OPENBOR",
|
||||
"openbor v7530 - standalone",
|
||||
"openbor4432",
|
||||
"openbor6330",
|
||||
"openbor6412",
|
||||
"openbor6510",
|
||||
"openbor7142",
|
||||
"openbor7530",
|
||||
"openbor_standalone_plus"
|
||||
],
|
||||
"openmsx": [
|
||||
"openmsx-ld"
|
||||
],
|
||||
"opera": [],
|
||||
"parallel-launcher": [
|
||||
"ca.parallel_launcher.ParallelLauncher"
|
||||
],
|
||||
@@ -1334,13 +1437,18 @@
|
||||
"pceemu"
|
||||
],
|
||||
"pcsx_rearmed": [
|
||||
"pcsx_rearmed32",
|
||||
"pcsx_rearmed_32b",
|
||||
"pcsx_rearmed_interpreter",
|
||||
"pcsx_rearmed_neon"
|
||||
"pcsx_rearmed_neon",
|
||||
"pcsx_rearmed_rumble"
|
||||
],
|
||||
"pcsx_rearmed_standalone": [
|
||||
"pcsx-rearmed"
|
||||
"pcsx-rearmed",
|
||||
"pcsx_standalone"
|
||||
],
|
||||
"picodrive": [],
|
||||
"piemu": [],
|
||||
"pizza-boy-gba": [
|
||||
"PIZZA-BOY-GBA",
|
||||
"Pizza Boy GBA"
|
||||
@@ -1355,19 +1463,29 @@
|
||||
"it.dbtecno.pizzaboyscbasic",
|
||||
"it.dbtecno.pizzaboyscpro"
|
||||
],
|
||||
"pokemini": [],
|
||||
"potator": [],
|
||||
"ppsspp": [
|
||||
"PPSSPPSDL",
|
||||
"ppsspp-sa"
|
||||
],
|
||||
"prboom": [],
|
||||
"prosystem": [],
|
||||
"puae": [
|
||||
"uae"
|
||||
],
|
||||
"puae2021": [],
|
||||
"px68k": [],
|
||||
"px68k-sdl": [
|
||||
"px68k"
|
||||
],
|
||||
"quasi88": [],
|
||||
"quasi88kai": [
|
||||
"quasi88"
|
||||
],
|
||||
"quicknes": [],
|
||||
"race": [],
|
||||
"raze": [],
|
||||
"real3doplayer": [
|
||||
"REAL3DOPLAYER",
|
||||
"Real3DOPlayer"
|
||||
@@ -1377,11 +1495,15 @@
|
||||
"com.github.Rosalie241.RMG",
|
||||
"mupen64"
|
||||
],
|
||||
"same_cdi": [],
|
||||
"sameboy": [],
|
||||
"sameduck": [],
|
||||
"saturn-emu": [
|
||||
"SATURN-EMU",
|
||||
"Saturn.emu",
|
||||
"saturnemu"
|
||||
],
|
||||
"scummvm": [],
|
||||
"scummvm-standalone": [
|
||||
"SCUMMVMSA",
|
||||
"scummvm-sa"
|
||||
@@ -1406,6 +1528,12 @@
|
||||
"Snes9x EX+",
|
||||
"Snes9xEXPlus"
|
||||
],
|
||||
"snes9x2002": [],
|
||||
"snes9x2005_plus": [],
|
||||
"snes9x2010": [],
|
||||
"solarus": [
|
||||
"Solarus"
|
||||
],
|
||||
"speccy": [
|
||||
"SPECCY",
|
||||
"com.fms.speccy",
|
||||
@@ -1414,30 +1542,43 @@
|
||||
"stella": [
|
||||
"STELLASA"
|
||||
],
|
||||
"stella2014": [],
|
||||
"swanstation": [],
|
||||
"tgbdual": [
|
||||
"TGB Dual"
|
||||
],
|
||||
"theodore": [],
|
||||
"tic80": [],
|
||||
"uae4all-rpi": [
|
||||
"uae4all"
|
||||
],
|
||||
"uae4arm": [
|
||||
"uae4arm_32b"
|
||||
],
|
||||
"uw8": [],
|
||||
"uzem": [],
|
||||
"vba_next": [
|
||||
"vba-next"
|
||||
],
|
||||
"vbam": [
|
||||
"vba-m"
|
||||
],
|
||||
"vecx": [],
|
||||
"vice_x128": [
|
||||
"x128"
|
||||
],
|
||||
"vice_x64": [
|
||||
"x64"
|
||||
],
|
||||
"vice_xplus4": [
|
||||
"xplus4"
|
||||
],
|
||||
"vice_xvic": [
|
||||
"xvic"
|
||||
],
|
||||
"vircon32": [],
|
||||
"virtualjaguar": [],
|
||||
"wasm4": [],
|
||||
"x1": [
|
||||
"xmil"
|
||||
],
|
||||
@@ -1452,8 +1593,10 @@
|
||||
],
|
||||
"yabasanshiro": [
|
||||
"yabasanshiro-2",
|
||||
"yabasanshiro-libretro",
|
||||
"yabasanshiro-sa",
|
||||
"yabasanshiroSA"
|
||||
"yabasanshiroSA",
|
||||
"yabasanshiroSA1_5"
|
||||
]
|
||||
},
|
||||
"system_cores": {
|
||||
@@ -1583,6 +1726,7 @@
|
||||
"mupen64plus-ae",
|
||||
"mupen64plus-libretro",
|
||||
"mupen64plus_next",
|
||||
"n64emu",
|
||||
"parallel-launcher",
|
||||
"parallel_n64",
|
||||
"project64",
|
||||
@@ -1736,6 +1880,7 @@
|
||||
"flycast-dojo",
|
||||
"flycast2021",
|
||||
"flycast2021le",
|
||||
"parallel_dc",
|
||||
"redream",
|
||||
"reicast",
|
||||
"retrodream"
|
||||
|
||||
+260
-10
@@ -6315,12 +6315,21 @@
|
||||
}
|
||||
],
|
||||
"core_names": {
|
||||
"81": [],
|
||||
"a5200": [],
|
||||
"abuse": [],
|
||||
"advanced_drastic": [
|
||||
"DraStic-original",
|
||||
"drastic - standalone"
|
||||
],
|
||||
"aethersx2": [
|
||||
"aethersx2-sa"
|
||||
],
|
||||
"amiberry": [
|
||||
"AMIBERRY"
|
||||
],
|
||||
"applewin": [],
|
||||
"arduous": [],
|
||||
"ares": [
|
||||
"ares-sa"
|
||||
],
|
||||
@@ -6328,11 +6337,14 @@
|
||||
"armsx2-sa",
|
||||
"armsx2_libretro"
|
||||
],
|
||||
"atari800": [],
|
||||
"azahar": [
|
||||
"azahar - standalone",
|
||||
"azahar-sa"
|
||||
],
|
||||
"basiliskii": [
|
||||
"basilisk"
|
||||
"basilisk",
|
||||
"basilisk2"
|
||||
],
|
||||
"beetle_gba": [
|
||||
"mednafen_gba"
|
||||
@@ -6341,6 +6353,10 @@
|
||||
"beetle-lynx",
|
||||
"mednafen_lynx"
|
||||
],
|
||||
"beetle_ngp": [
|
||||
"beetle-ngp",
|
||||
"mednafen_ngp"
|
||||
],
|
||||
"beetle_pce": [
|
||||
"beetle-pce",
|
||||
"mednafen_pce",
|
||||
@@ -6360,9 +6376,26 @@
|
||||
"beetle-saturn",
|
||||
"mednafen_saturn"
|
||||
],
|
||||
"beetle_vb": [
|
||||
"beetle-vb",
|
||||
"mednafen_vb",
|
||||
"vb"
|
||||
],
|
||||
"beetle_wswan": [
|
||||
"beetle-wswan",
|
||||
"mednafen_wswan"
|
||||
],
|
||||
"bennugd": [],
|
||||
"bigpemu": [
|
||||
"bigpemu-sa"
|
||||
],
|
||||
"bk": [],
|
||||
"blastem": [],
|
||||
"bluemsx": [],
|
||||
"boom3": [
|
||||
"boom3_xp"
|
||||
],
|
||||
"bsnes": [],
|
||||
"bsnes-jg": [
|
||||
"bsnes_jg"
|
||||
],
|
||||
@@ -6380,6 +6413,12 @@
|
||||
"bsnes_mercury_balanced",
|
||||
"bsnes_mercury_performance"
|
||||
],
|
||||
"bstone": [],
|
||||
"cannonball": [],
|
||||
"cap32": [
|
||||
"caprice32"
|
||||
],
|
||||
"catacombgl": [],
|
||||
"cdogs": [
|
||||
"cdogs-sdl"
|
||||
],
|
||||
@@ -6392,27 +6431,42 @@
|
||||
"chihiro-ds": [
|
||||
"chihiro-gun"
|
||||
],
|
||||
"citron": [],
|
||||
"clk": [],
|
||||
"corsixth": [],
|
||||
"cxbx-reloaded": [
|
||||
"cxbx"
|
||||
],
|
||||
"cxbx-reloaded-2023": [
|
||||
"chihiro"
|
||||
],
|
||||
"demul": [],
|
||||
"desmume": [],
|
||||
"desmume2015": [
|
||||
"desmume_2015"
|
||||
],
|
||||
"devilutionx": [],
|
||||
"dhewm3": [],
|
||||
"dice": [],
|
||||
"dolphin": [
|
||||
"dolphin-gui",
|
||||
"dolphin-sa"
|
||||
"dolphin-qt-gc",
|
||||
"dolphin-qt-wii",
|
||||
"dolphin-sa",
|
||||
"dolphin-sa-gc",
|
||||
"dolphin-sa-wii"
|
||||
],
|
||||
"dosbox": [],
|
||||
"dosbox-staging": [
|
||||
"dosbox_staging"
|
||||
],
|
||||
"dosbox-x": [
|
||||
"dosboxx"
|
||||
],
|
||||
"dosbox_pure": [],
|
||||
"drastic": [
|
||||
"drastic-sa"
|
||||
"drastic-sa",
|
||||
"drastic_standalone"
|
||||
],
|
||||
"dsperate": [
|
||||
"dsperate-sa"
|
||||
@@ -6421,17 +6475,30 @@
|
||||
"Duckstation",
|
||||
"duckstation-sa"
|
||||
],
|
||||
"duckstation-legacy": [],
|
||||
"dxx-rebirth": [
|
||||
"d1x-rebirth",
|
||||
"d2x-rebirth"
|
||||
],
|
||||
"easyrpg": [],
|
||||
"ecwolf": [
|
||||
"ECWolf"
|
||||
],
|
||||
"eduke32": [],
|
||||
"eka2l1": [],
|
||||
"emuscv": [],
|
||||
"ep128emu_core": [
|
||||
"ep128emu",
|
||||
"ep128emu-core"
|
||||
],
|
||||
"etlegacy": [],
|
||||
"fake08": [
|
||||
"fake_08"
|
||||
],
|
||||
"fallout1-ce": [
|
||||
"fallout-ce"
|
||||
],
|
||||
"fallout2-ce": [],
|
||||
"fba2x": [
|
||||
"pifba"
|
||||
],
|
||||
@@ -6439,14 +6506,20 @@
|
||||
"fbalpha"
|
||||
],
|
||||
"fbneo": [
|
||||
"FBNEOSA"
|
||||
"FBNEOSA",
|
||||
"fbneo_32b",
|
||||
"fbneo_plus",
|
||||
"km_fbneo_xtreme_amped"
|
||||
],
|
||||
"fceumm": [],
|
||||
"flycast": [
|
||||
"flycast-dev",
|
||||
"flycast-next",
|
||||
"flycast-sa",
|
||||
"flycast32_rumble",
|
||||
"flycast_32b",
|
||||
"flycast_dev",
|
||||
"flycast_rumble",
|
||||
"flycastsa",
|
||||
"flycastvl"
|
||||
],
|
||||
@@ -6456,20 +6529,28 @@
|
||||
"flycast2021": [
|
||||
"flycast-xtreme"
|
||||
],
|
||||
"fmsx": [],
|
||||
"fpse-ng": [
|
||||
"fpse64",
|
||||
"fpseng"
|
||||
],
|
||||
"freechaf": [],
|
||||
"freeintv": [],
|
||||
"freej2me": [],
|
||||
"fsuae": [],
|
||||
"fury": [
|
||||
"ionfury"
|
||||
],
|
||||
"fuse": [
|
||||
"fuse_libretro"
|
||||
],
|
||||
"gambatte": [],
|
||||
"gba-emu": [
|
||||
"GBA-EMU",
|
||||
"GBA.emu"
|
||||
],
|
||||
"gearcoleco": [],
|
||||
"gearsystem": [],
|
||||
"genesis_plus_gx": [
|
||||
"genesis-plus-gx",
|
||||
"genesis_plus_gx_cart_special",
|
||||
@@ -6484,42 +6565,68 @@
|
||||
"genesisplusgx-wide",
|
||||
"genesisplusgxwide"
|
||||
],
|
||||
"gong": [],
|
||||
"gpsp": [
|
||||
"gpsp_ezode_mod",
|
||||
"gpsp_plus"
|
||||
],
|
||||
"gsplus-legacy": [
|
||||
"gsplus"
|
||||
],
|
||||
"gw": [
|
||||
"gw_libretro"
|
||||
],
|
||||
"gzdoom": [
|
||||
"GZDoom",
|
||||
"gzdoom-sa"
|
||||
],
|
||||
"handy": [],
|
||||
"hatari": [
|
||||
"HATARISA",
|
||||
"hatari-fast",
|
||||
"hatarisa"
|
||||
],
|
||||
"hatarib": [],
|
||||
"hcl": [],
|
||||
"higan_sfc_balanced": [
|
||||
"nside_sfc_balanced"
|
||||
],
|
||||
"holani": [],
|
||||
"hurrican": [],
|
||||
"hypseus-singe": [
|
||||
"HYPSEUS",
|
||||
"hypseus",
|
||||
"hypseus_singe"
|
||||
],
|
||||
"ikemen": [],
|
||||
"ioquake3": [],
|
||||
"iortcw": [],
|
||||
"jazz2-native": [
|
||||
"jazz2"
|
||||
],
|
||||
"kronos": [],
|
||||
"lexaloffle": [
|
||||
"Pico-8",
|
||||
"float-scaled",
|
||||
"pico-8",
|
||||
"pico8",
|
||||
"pico_standalone",
|
||||
"vox_official"
|
||||
],
|
||||
"lightspark": [],
|
||||
"lindbergh-loader": [],
|
||||
"linkboy": [
|
||||
"LINKBOY",
|
||||
"Linkboy"
|
||||
],
|
||||
"lowresnx": [
|
||||
"lowres_nx"
|
||||
],
|
||||
"lrps2": [
|
||||
"pcsx2",
|
||||
"ps2"
|
||||
],
|
||||
"lutro": [],
|
||||
"lynx-emu": [
|
||||
"LYNX-EMU",
|
||||
"Lynx.emu"
|
||||
@@ -6584,13 +6691,26 @@
|
||||
"mesen2"
|
||||
],
|
||||
"mgba": [
|
||||
"mgba_fork"
|
||||
"mgba_fork",
|
||||
"mgba_rumble",
|
||||
"msgb"
|
||||
],
|
||||
"minivmac": [],
|
||||
"model2": [
|
||||
"m2emulator",
|
||||
"model2emu"
|
||||
],
|
||||
"moonlight": [
|
||||
"lr_moonlight"
|
||||
],
|
||||
"mrboom": [],
|
||||
"msx-emu": [
|
||||
"MSX-EMU",
|
||||
"MSX.emu"
|
||||
],
|
||||
"mupen64plus": [
|
||||
"mupen64plus - standalone - glidemk2 - full",
|
||||
"mupen64plus-auto",
|
||||
"mupen64plus-sa",
|
||||
"mupen64plussa"
|
||||
],
|
||||
@@ -6620,6 +6740,7 @@
|
||||
"nekop2": [
|
||||
"meowpc98"
|
||||
],
|
||||
"neocd": [],
|
||||
"nes-emu": [
|
||||
"NES-EMU",
|
||||
"NES.emu"
|
||||
@@ -6628,6 +6749,7 @@
|
||||
"NESOID",
|
||||
"Nesoid"
|
||||
],
|
||||
"nestopia": [],
|
||||
"nethersx2": [
|
||||
"NETHERSX2",
|
||||
"NetherSX2"
|
||||
@@ -6640,18 +6762,37 @@
|
||||
"NETHERSX2-TURNIP-CLASSIC",
|
||||
"NetherSX2-Turnip-Classic"
|
||||
],
|
||||
"np2kai": [],
|
||||
"nxengine": [
|
||||
"nx"
|
||||
],
|
||||
"o2em": [
|
||||
"o2em_libretro"
|
||||
],
|
||||
"openbor": [
|
||||
"OPENBOR",
|
||||
"openbor v7530 - standalone",
|
||||
"openbor4432",
|
||||
"openbor6330",
|
||||
"openbor6412",
|
||||
"openbor6510",
|
||||
"openbor7142",
|
||||
"openbor7530",
|
||||
"openbor_standalone_plus"
|
||||
],
|
||||
"openjazz": [
|
||||
"OpenJazz"
|
||||
],
|
||||
"openjk": [],
|
||||
"openjkdf2": [],
|
||||
"openmohaa": [],
|
||||
"openmsx": [
|
||||
"openmsx-ld"
|
||||
],
|
||||
"opentyrian": [
|
||||
"tyrian"
|
||||
],
|
||||
"opera": [],
|
||||
"parallel-launcher": [
|
||||
"ca.parallel_launcher.ParallelLauncher"
|
||||
],
|
||||
@@ -6666,18 +6807,26 @@
|
||||
"com.PceEmu",
|
||||
"pceemu"
|
||||
],
|
||||
"pcsx2": [
|
||||
"pcsx2-sa"
|
||||
],
|
||||
"pcsx2-legacy": [
|
||||
"PCSX2-LEGACY",
|
||||
"pcsx2-16"
|
||||
],
|
||||
"pcsx_rearmed": [
|
||||
"pcsx_rearmed32",
|
||||
"pcsx_rearmed_32b",
|
||||
"pcsx_rearmed_interpreter",
|
||||
"pcsx_rearmed_neon"
|
||||
"pcsx_rearmed_neon",
|
||||
"pcsx_rearmed_rumble"
|
||||
],
|
||||
"pcsx_rearmed_standalone": [
|
||||
"pcsx-rearmed"
|
||||
"pcsx-rearmed",
|
||||
"pcsx_standalone"
|
||||
],
|
||||
"pd777": [],
|
||||
"picodrive": [],
|
||||
"pizza-boy-gba": [
|
||||
"PIZZA-BOY-GBA",
|
||||
"Pizza Boy GBA"
|
||||
@@ -6695,19 +6844,40 @@
|
||||
"play": [
|
||||
"play!"
|
||||
],
|
||||
"pokemini": [],
|
||||
"potator": [],
|
||||
"ppsspp": [
|
||||
"PPSSPPSDL",
|
||||
"ppsspp-sa"
|
||||
],
|
||||
"prboom": [],
|
||||
"prosystem": [],
|
||||
"puae": [
|
||||
"uae"
|
||||
],
|
||||
"puae2021": [],
|
||||
"px68k": [],
|
||||
"px68k-sdl": [
|
||||
"px68k"
|
||||
],
|
||||
"pygame": [
|
||||
"python-pygame2"
|
||||
],
|
||||
"pyxel": [
|
||||
"mf",
|
||||
"pixel2"
|
||||
],
|
||||
"quasi88": [],
|
||||
"quasi88kai": [
|
||||
"quasi88"
|
||||
],
|
||||
"raze": [],
|
||||
"real3doplayer": [
|
||||
"REAL3DOPLAYER",
|
||||
"Real3DOPlayer"
|
||||
],
|
||||
"redream": [],
|
||||
"reminiscence": [],
|
||||
"rosalies-mupen-gui": [
|
||||
"RMG",
|
||||
"com.github.Rosalie241.RMG",
|
||||
@@ -6716,17 +6886,29 @@
|
||||
"rpcs3": [
|
||||
"rpcs3-sa"
|
||||
],
|
||||
"ruffle": [],
|
||||
"ryujinx": [],
|
||||
"samcoupe": [
|
||||
"simcoupe"
|
||||
],
|
||||
"same_cdi": [],
|
||||
"sameduck": [],
|
||||
"saturn-emu": [
|
||||
"SATURN-EMU",
|
||||
"Saturn.emu",
|
||||
"saturnemu"
|
||||
],
|
||||
"scummvm": [],
|
||||
"scummvm-standalone": [
|
||||
"SCUMMVMSA",
|
||||
"scummvm-sa"
|
||||
],
|
||||
"sdl2trs": [
|
||||
"sdltrs"
|
||||
"sdltrs",
|
||||
"sdltrs-model1"
|
||||
],
|
||||
"sdlpop": [
|
||||
"prince"
|
||||
],
|
||||
"shadps4": [
|
||||
"shadps4-gui"
|
||||
@@ -6747,34 +6929,66 @@
|
||||
"Snes9x EX+",
|
||||
"Snes9xEXPlus"
|
||||
],
|
||||
"solarus": [
|
||||
"Solarus"
|
||||
],
|
||||
"sonic-mania": [
|
||||
"sonicmania"
|
||||
],
|
||||
"sonic2013": [
|
||||
"sonicretro"
|
||||
],
|
||||
"sonic3-air": [
|
||||
"sonic3air"
|
||||
],
|
||||
"soniccd": [
|
||||
"sonicretrocd"
|
||||
],
|
||||
"squirreljme": [],
|
||||
"stella": [
|
||||
"STELLASA"
|
||||
],
|
||||
"stella2014": [],
|
||||
"superbroswar": [
|
||||
"km_superbroswar"
|
||||
],
|
||||
"supermodel": [],
|
||||
"supermodel-legacy": [],
|
||||
"swanstation": [],
|
||||
"taradino": [],
|
||||
"tgbdual": [
|
||||
"TGB Dual"
|
||||
],
|
||||
"theforceengine": [
|
||||
"tfe"
|
||||
],
|
||||
"theodore": [],
|
||||
"thextech": [],
|
||||
"tic80": [],
|
||||
"tr1x": [],
|
||||
"tr2x": [],
|
||||
"triforce": [
|
||||
"dolphin-triforce",
|
||||
"dolphin_triforce"
|
||||
],
|
||||
"tsugaru": [],
|
||||
"tyrquake": [],
|
||||
"uae4all-rpi": [
|
||||
"uae4all"
|
||||
],
|
||||
"uae4arm": [
|
||||
"uae4arm_32b"
|
||||
],
|
||||
"uqm": [],
|
||||
"uzem": [],
|
||||
"vba_next": [
|
||||
"vba-next"
|
||||
],
|
||||
"vbam": [
|
||||
"vba-m"
|
||||
],
|
||||
"vecx": [],
|
||||
"vemulator": [],
|
||||
"vice": [
|
||||
"vice_x128",
|
||||
"vice_x64",
|
||||
@@ -6799,30 +7013,53 @@
|
||||
"vice_x64sc": [
|
||||
"x64sx"
|
||||
],
|
||||
"vice_xpet": [
|
||||
"xpet"
|
||||
],
|
||||
"vice_xplus4": [
|
||||
"xplus4"
|
||||
],
|
||||
"vice_xscpu64": [
|
||||
"xscpu64"
|
||||
],
|
||||
"vice_xvic": [
|
||||
"xvic"
|
||||
],
|
||||
"vircon32": [],
|
||||
"virtualjaguar": [],
|
||||
"visual-pinball": [
|
||||
"vpinball"
|
||||
],
|
||||
"vita3k": [
|
||||
"vita3k-sa"
|
||||
],
|
||||
"vitaquake2": [
|
||||
"vitaquake2-rogue",
|
||||
"vitaquake2-xatrix",
|
||||
"vitaquake2-zaero"
|
||||
],
|
||||
"vkquake": [],
|
||||
"vkquake2": [],
|
||||
"vkquake3": [],
|
||||
"wasm4": [],
|
||||
"x1": [
|
||||
"xmil"
|
||||
],
|
||||
"x1-box": [
|
||||
"x1box"
|
||||
],
|
||||
"x16emu": [],
|
||||
"xash3d_fwgs": [
|
||||
"xash3d"
|
||||
],
|
||||
"xemu": [
|
||||
"xemu-sa"
|
||||
],
|
||||
"xenia": [
|
||||
"xenia-canary",
|
||||
"xenia-manager",
|
||||
"xenianative"
|
||||
],
|
||||
"xenia-edge": [
|
||||
"xenia_edge"
|
||||
],
|
||||
@@ -6835,11 +7072,21 @@
|
||||
"XM6TYPEG",
|
||||
"XM6TYPEG-WINDOWS"
|
||||
],
|
||||
"xrick": [],
|
||||
"xroar": [
|
||||
"xroar-cocous",
|
||||
"xroar-dragon32"
|
||||
],
|
||||
"yabasanshiro": [
|
||||
"yabasanshiro-2",
|
||||
"yabasanshiro-libretro",
|
||||
"yabasanshiro-sa",
|
||||
"yabasanshiroSA"
|
||||
]
|
||||
"yabasanshiroSA",
|
||||
"yabasanshiroSA1_5"
|
||||
],
|
||||
"ymir": [],
|
||||
"yquake2": [],
|
||||
"zc210": []
|
||||
},
|
||||
"system_cores": {
|
||||
"3do": [
|
||||
@@ -7140,6 +7387,7 @@
|
||||
"mame2016",
|
||||
"mame4droid",
|
||||
"mame4droid-2024",
|
||||
"odin",
|
||||
"teknoparrot",
|
||||
"ume2015"
|
||||
],
|
||||
@@ -7217,6 +7465,7 @@
|
||||
"mupen64plus",
|
||||
"mupen64plus-ae",
|
||||
"mupen64plus_next",
|
||||
"n64emu",
|
||||
"parallel-launcher",
|
||||
"parallel_n64",
|
||||
"project64",
|
||||
@@ -7391,6 +7640,7 @@
|
||||
"flycast-dojo",
|
||||
"flycast2021",
|
||||
"flycast2021le",
|
||||
"parallel_dc",
|
||||
"redream",
|
||||
"reicast",
|
||||
"retrodream"
|
||||
|
||||
+172
-6
@@ -2204,6 +2204,10 @@
|
||||
}
|
||||
],
|
||||
"core_names": {
|
||||
"2048": [],
|
||||
"81": [],
|
||||
"a5200": [],
|
||||
"abuse": [],
|
||||
"advancemame": [
|
||||
"AdvanceMame",
|
||||
"advmame"
|
||||
@@ -2214,6 +2218,7 @@
|
||||
"ares": [
|
||||
"ares-sa"
|
||||
],
|
||||
"atari800": [],
|
||||
"beetle_gba": [
|
||||
"mednafen_gba"
|
||||
],
|
||||
@@ -2221,6 +2226,10 @@
|
||||
"beetle-lynx",
|
||||
"mednafen_lynx"
|
||||
],
|
||||
"beetle_ngp": [
|
||||
"beetle-ngp",
|
||||
"mednafen_ngp"
|
||||
],
|
||||
"beetle_pce": [
|
||||
"beetle-pce",
|
||||
"mednafen_pce",
|
||||
@@ -2240,9 +2249,23 @@
|
||||
"beetle-saturn",
|
||||
"mednafen_saturn"
|
||||
],
|
||||
"beetle_vb": [
|
||||
"beetle-vb",
|
||||
"mednafen_vb",
|
||||
"vb"
|
||||
],
|
||||
"beetle_wswan": [
|
||||
"beetle-wswan",
|
||||
"mednafen_wswan"
|
||||
],
|
||||
"bennugd-monolithic": [
|
||||
"bgdi"
|
||||
],
|
||||
"bermuda": [
|
||||
"bs"
|
||||
],
|
||||
"bk": [],
|
||||
"bluemsx": [],
|
||||
"bsnes-jg": [
|
||||
"bsnes_jg"
|
||||
],
|
||||
@@ -2260,6 +2283,15 @@
|
||||
"bsnes_mercury_balanced",
|
||||
"bsnes_mercury_performance"
|
||||
],
|
||||
"bstone": [],
|
||||
"cannonball": [],
|
||||
"cap32": [
|
||||
"caprice32"
|
||||
],
|
||||
"ccleste": [],
|
||||
"cdogs": [
|
||||
"cdogs-sdl"
|
||||
],
|
||||
"cgenius": [
|
||||
"CGeniusExe"
|
||||
],
|
||||
@@ -2269,13 +2301,27 @@
|
||||
"daedalusx64": [
|
||||
"daedalusx64-sa"
|
||||
],
|
||||
"daphne": [
|
||||
"km_daphne_xtreme"
|
||||
],
|
||||
"darkplaces": [
|
||||
"darkplaces-quake"
|
||||
],
|
||||
"devilutionx": [],
|
||||
"dinothawr": [],
|
||||
"dolphin": [
|
||||
"dolphin-gui",
|
||||
"dolphin-sa"
|
||||
"dolphin-qt-gc",
|
||||
"dolphin-qt-wii",
|
||||
"dolphin-sa",
|
||||
"dolphin-sa-gc",
|
||||
"dolphin-sa-wii"
|
||||
],
|
||||
"dosbox-sdl2": [
|
||||
"DOSBOXSDL2"
|
||||
],
|
||||
"dosbox_pure": [],
|
||||
"dosbox_svn": [],
|
||||
"doublecherrygb": [
|
||||
"DoubleCherryGB"
|
||||
],
|
||||
@@ -2283,21 +2329,38 @@
|
||||
"Duckstation",
|
||||
"duckstation-sa"
|
||||
],
|
||||
"easyrpg": [],
|
||||
"ecwolf": [
|
||||
"ECWolf"
|
||||
],
|
||||
"eduke32": [],
|
||||
"fake08": [
|
||||
"fake_08"
|
||||
],
|
||||
"fallout1-ce": [
|
||||
"fallout-ce"
|
||||
],
|
||||
"fallout2-ce": [],
|
||||
"fbalpha2012": [
|
||||
"fbalpha"
|
||||
],
|
||||
"fbneo": [
|
||||
"FBNEOSA"
|
||||
"FBNEOSA",
|
||||
"fbneo_32b",
|
||||
"fbneo_plus",
|
||||
"km_fbneo_xtreme_amped"
|
||||
],
|
||||
"fceumm": [],
|
||||
"fceumm_mod": [],
|
||||
"fheroes2": [],
|
||||
"flycast": [
|
||||
"flycast-dev",
|
||||
"flycast-next",
|
||||
"flycast-sa",
|
||||
"flycast32_rumble",
|
||||
"flycast_32b",
|
||||
"flycast_dev",
|
||||
"flycast_rumble",
|
||||
"flycastsa",
|
||||
"flycastvl"
|
||||
],
|
||||
@@ -2307,13 +2370,17 @@
|
||||
"flycast2021": [
|
||||
"flycast-xtreme"
|
||||
],
|
||||
"fmsx": [],
|
||||
"fpse-ng": [
|
||||
"fpse64",
|
||||
"fpseng"
|
||||
],
|
||||
"freeintv": [],
|
||||
"freej2me": [],
|
||||
"fuse": [
|
||||
"fuse_libretro"
|
||||
],
|
||||
"gambatte": [],
|
||||
"gba-emu": [
|
||||
"GBA-EMU",
|
||||
"GBA.emu"
|
||||
@@ -2322,6 +2389,11 @@
|
||||
"GBC-EMU",
|
||||
"GBC.emu"
|
||||
],
|
||||
"gearboy": [],
|
||||
"gearcoleco": [],
|
||||
"geargrafx": [],
|
||||
"gearlynx": [],
|
||||
"gearsystem": [],
|
||||
"genesis_plus_gx": [
|
||||
"genesis-plus-gx",
|
||||
"genesis_plus_gx_cart_special",
|
||||
@@ -2336,17 +2408,30 @@
|
||||
"genesisplusgx-wide",
|
||||
"genesisplusgxwide"
|
||||
],
|
||||
"geolith": [],
|
||||
"gopher64": [
|
||||
"gopher64-sa"
|
||||
],
|
||||
"gpsp": [
|
||||
"gpsp_ezode_mod",
|
||||
"gpsp_plus"
|
||||
],
|
||||
"gw": [
|
||||
"gw_libretro"
|
||||
],
|
||||
"gzdoom": [
|
||||
"GZDoom",
|
||||
"gzdoom-sa"
|
||||
],
|
||||
"handy": [],
|
||||
"hatari": [
|
||||
"HATARISA",
|
||||
"hatari-fast",
|
||||
"hatarisa"
|
||||
],
|
||||
"hcl": [],
|
||||
"hode": [],
|
||||
"hurrican": [],
|
||||
"hypseus-singe": [
|
||||
"HYPSEUS",
|
||||
"hypseus",
|
||||
@@ -2356,10 +2441,14 @@
|
||||
"diii4a",
|
||||
"idtech4amm"
|
||||
],
|
||||
"ikemen": [],
|
||||
"jzintv": [],
|
||||
"lexaloffle": [
|
||||
"Pico-8",
|
||||
"float-scaled",
|
||||
"pico-8",
|
||||
"pico8",
|
||||
"pico_standalone",
|
||||
"vox_official"
|
||||
],
|
||||
"linkboy": [
|
||||
@@ -2414,6 +2503,10 @@
|
||||
"beetle_pce_fast",
|
||||
"pce_fast"
|
||||
],
|
||||
"mednafen_supafaust": [
|
||||
"beetle_supafaust",
|
||||
"supafaust"
|
||||
],
|
||||
"mednafen_supergrafx": [
|
||||
"beetle-supergrafx",
|
||||
"beetle_supergrafx"
|
||||
@@ -2428,13 +2521,18 @@
|
||||
"mesen2"
|
||||
],
|
||||
"mgba": [
|
||||
"mgba_fork"
|
||||
"mgba_fork",
|
||||
"mgba_rumble",
|
||||
"msgb"
|
||||
],
|
||||
"mrboom": [],
|
||||
"msx-emu": [
|
||||
"MSX-EMU",
|
||||
"MSX.emu"
|
||||
],
|
||||
"mupen64plus": [
|
||||
"mupen64plus - standalone - glidemk2 - full",
|
||||
"mupen64plus-auto",
|
||||
"mupen64plus-sa",
|
||||
"mupen64plussa"
|
||||
],
|
||||
@@ -2467,6 +2565,7 @@
|
||||
"nekop2": [
|
||||
"meowpc98"
|
||||
],
|
||||
"neocd": [],
|
||||
"nes-emu": [
|
||||
"NES-EMU",
|
||||
"NES.emu"
|
||||
@@ -2475,18 +2574,35 @@
|
||||
"NESOID",
|
||||
"Nesoid"
|
||||
],
|
||||
"nestopia": [],
|
||||
"np2kai": [],
|
||||
"nxengine": [
|
||||
"nx"
|
||||
],
|
||||
"o2em": [
|
||||
"o2em_libretro"
|
||||
],
|
||||
"openbor": [
|
||||
"OPENBOR",
|
||||
"openbor v7530 - standalone",
|
||||
"openbor4432",
|
||||
"openbor6330",
|
||||
"openbor6412",
|
||||
"openbor6510",
|
||||
"openbor7142",
|
||||
"openbor7530",
|
||||
"openbor_standalone_plus"
|
||||
],
|
||||
"openjazz": [
|
||||
"OpenJazz"
|
||||
],
|
||||
"openmsx": [
|
||||
"openmsx-ld"
|
||||
],
|
||||
"opentyrian": [
|
||||
"tyrian"
|
||||
],
|
||||
"opera": [],
|
||||
"parallel-launcher": [
|
||||
"ca.parallel_launcher.ParallelLauncher"
|
||||
],
|
||||
@@ -2502,13 +2618,17 @@
|
||||
"pceemu"
|
||||
],
|
||||
"pcsx_rearmed": [
|
||||
"pcsx_rearmed32",
|
||||
"pcsx_rearmed_32b",
|
||||
"pcsx_rearmed_interpreter",
|
||||
"pcsx_rearmed_neon"
|
||||
"pcsx_rearmed_neon",
|
||||
"pcsx_rearmed_rumble"
|
||||
],
|
||||
"pcsx_rearmed_standalone": [
|
||||
"pcsx-rearmed"
|
||||
"pcsx-rearmed",
|
||||
"pcsx_standalone"
|
||||
],
|
||||
"picodrive": [],
|
||||
"pizza-boy-gba": [
|
||||
"PIZZA-BOY-GBA",
|
||||
"Pizza Boy GBA"
|
||||
@@ -2523,9 +2643,20 @@
|
||||
"it.dbtecno.pizzaboyscbasic",
|
||||
"it.dbtecno.pizzaboyscpro"
|
||||
],
|
||||
"pocketcdg": [],
|
||||
"pokemini": [],
|
||||
"potator": [],
|
||||
"ppsspp": [
|
||||
"PPSSPPSDL",
|
||||
"ppsspp-sa"
|
||||
],
|
||||
"prboom": [],
|
||||
"prosystem": [],
|
||||
"puae": [
|
||||
"uae"
|
||||
],
|
||||
"puae2021": [],
|
||||
"px68k": [],
|
||||
"px68k-sdl": [
|
||||
"px68k"
|
||||
],
|
||||
@@ -2533,6 +2664,7 @@
|
||||
"REAL3DOPLAYER",
|
||||
"Real3DOPlayer"
|
||||
],
|
||||
"reminiscence": [],
|
||||
"rigelengine": [
|
||||
"RigelEngine"
|
||||
],
|
||||
@@ -2541,15 +2673,22 @@
|
||||
"com.github.Rosalie241.RMG",
|
||||
"mupen64"
|
||||
],
|
||||
"same_cdi": [],
|
||||
"sameboy": [],
|
||||
"sameduck": [],
|
||||
"saturn-emu": [
|
||||
"SATURN-EMU",
|
||||
"Saturn.emu",
|
||||
"saturnemu"
|
||||
],
|
||||
"scummvm": [],
|
||||
"scummvm-standalone": [
|
||||
"SCUMMVMSA",
|
||||
"scummvm-sa"
|
||||
],
|
||||
"sdlpop": [
|
||||
"prince"
|
||||
],
|
||||
"simple64": [
|
||||
"io.github.simple64.simple64",
|
||||
"simple64-gui"
|
||||
@@ -2570,6 +2709,12 @@
|
||||
"Snes9x EX+",
|
||||
"Snes9xEXPlus"
|
||||
],
|
||||
"snes9x2002": [],
|
||||
"snes9x2005_plus": [],
|
||||
"snes9x2010": [],
|
||||
"solarus": [
|
||||
"Solarus"
|
||||
],
|
||||
"sonic-mania": [
|
||||
"sonicmania"
|
||||
],
|
||||
@@ -2582,21 +2727,33 @@
|
||||
"stella": [
|
||||
"STELLASA"
|
||||
],
|
||||
"supermariowar": [
|
||||
"smw"
|
||||
],
|
||||
"supertux": [
|
||||
"supertux2"
|
||||
],
|
||||
"supertuxkart": [],
|
||||
"swanstation": [],
|
||||
"tgbdual": [
|
||||
"TGB Dual"
|
||||
],
|
||||
"tic80": [],
|
||||
"tyrquake": [],
|
||||
"uae4all-rpi": [
|
||||
"uae4all"
|
||||
],
|
||||
"uae4arm": [
|
||||
"uae4arm_32b"
|
||||
],
|
||||
"uzem": [],
|
||||
"vba_next": [
|
||||
"vba-next"
|
||||
],
|
||||
"vbam": [
|
||||
"vba-m"
|
||||
],
|
||||
"vecx": [],
|
||||
"vice_x128": [
|
||||
"x128"
|
||||
],
|
||||
@@ -2606,9 +2763,13 @@
|
||||
"vice_x64sc": [
|
||||
"x64sx"
|
||||
],
|
||||
"vice_xplus4": [
|
||||
"xplus4"
|
||||
],
|
||||
"vice_xvic": [
|
||||
"xvic"
|
||||
],
|
||||
"virtualjaguar": [],
|
||||
"vvvvvv": [
|
||||
"VVVVVV"
|
||||
],
|
||||
@@ -2627,10 +2788,13 @@
|
||||
"XM6TYPEG",
|
||||
"XM6TYPEG-WINDOWS"
|
||||
],
|
||||
"xrick": [],
|
||||
"yabasanshiro": [
|
||||
"yabasanshiro-2",
|
||||
"yabasanshiro-libretro",
|
||||
"yabasanshiro-sa",
|
||||
"yabasanshiroSA"
|
||||
"yabasanshiroSA",
|
||||
"yabasanshiroSA1_5"
|
||||
]
|
||||
},
|
||||
"system_cores": {
|
||||
@@ -2803,6 +2967,7 @@
|
||||
"mupen64plus-ae",
|
||||
"mupen64plus-libretro",
|
||||
"mupen64plus_next",
|
||||
"n64emu",
|
||||
"parallel-launcher",
|
||||
"parallel_n64",
|
||||
"project64",
|
||||
@@ -2948,6 +3113,7 @@
|
||||
"flycast-dojo",
|
||||
"flycast2021",
|
||||
"flycast2021le",
|
||||
"parallel_dc",
|
||||
"redream",
|
||||
"reicast",
|
||||
"retrodream"
|
||||
|
||||
+30
-4
@@ -6,7 +6,7 @@
|
||||
"platform": "minui",
|
||||
"display_name": "MinUI",
|
||||
"version": "2025-11-27",
|
||||
"generated": "2026-10-27T10:27:58Z",
|
||||
"generated": "2026-11-06T07:21:27Z",
|
||||
"base_destination": "",
|
||||
"detect": [
|
||||
{
|
||||
@@ -24,19 +24,45 @@
|
||||
"total_omitted": 0,
|
||||
"omitted_files": [],
|
||||
"core_names": {
|
||||
"beetle_vb": [
|
||||
"beetle-vb",
|
||||
"mednafen_vb",
|
||||
"vb"
|
||||
],
|
||||
"fake08": [
|
||||
"fake_08"
|
||||
],
|
||||
"fceumm": [],
|
||||
"gambatte": [],
|
||||
"gpsp": [
|
||||
"gpsp_ezode_mod",
|
||||
"gpsp_plus"
|
||||
],
|
||||
"mednafen_pce_fast": [
|
||||
"beetle-pce-fast",
|
||||
"beetle_pce_fast",
|
||||
"pce_fast"
|
||||
],
|
||||
"mednafen_supafaust": [
|
||||
"beetle_supafaust",
|
||||
"supafaust"
|
||||
],
|
||||
"mgba": [
|
||||
"mgba_fork"
|
||||
"mgba_fork",
|
||||
"mgba_rumble",
|
||||
"msgb"
|
||||
],
|
||||
"pcsx_rearmed": [
|
||||
"pcsx_rearmed32",
|
||||
"pcsx_rearmed_32b",
|
||||
"pcsx_rearmed_interpreter",
|
||||
"pcsx_rearmed_neon"
|
||||
]
|
||||
"pcsx_rearmed_neon",
|
||||
"pcsx_rearmed_rumble"
|
||||
],
|
||||
"picodrive": [],
|
||||
"pokemini": [],
|
||||
"race": [],
|
||||
"snes9x2005_plus": []
|
||||
},
|
||||
"system_cores": {},
|
||||
"system_names": {},
|
||||
|
||||
+50
-6
@@ -87,12 +87,39 @@
|
||||
}
|
||||
],
|
||||
"core_names": {
|
||||
"fbneo": [
|
||||
"FBNEOSA"
|
||||
"a5200": [],
|
||||
"beetle_ngp": [
|
||||
"beetle-ngp",
|
||||
"mednafen_ngp"
|
||||
],
|
||||
"beetle_vb": [
|
||||
"beetle-vb",
|
||||
"mednafen_vb",
|
||||
"vb"
|
||||
],
|
||||
"beetle_wswan": [
|
||||
"beetle-wswan",
|
||||
"mednafen_wswan"
|
||||
],
|
||||
"dosbox_pure": [],
|
||||
"fake08": [
|
||||
"fake_08"
|
||||
],
|
||||
"fbneo": [
|
||||
"FBNEOSA",
|
||||
"fbneo_32b",
|
||||
"fbneo_plus",
|
||||
"km_fbneo_xtreme_amped"
|
||||
],
|
||||
"fceumm": [],
|
||||
"fuse": [
|
||||
"fuse_libretro"
|
||||
],
|
||||
"gambatte": [],
|
||||
"gpsp": [
|
||||
"gpsp_ezode_mod",
|
||||
"gpsp_plus"
|
||||
],
|
||||
"mame2003_plus": [
|
||||
"mame078plus",
|
||||
"mame2003-plus"
|
||||
@@ -102,14 +129,31 @@
|
||||
"beetle_pce_fast",
|
||||
"pce_fast"
|
||||
],
|
||||
"mgba": [
|
||||
"mgba_fork"
|
||||
"mednafen_supafaust": [
|
||||
"beetle_supafaust",
|
||||
"supafaust"
|
||||
],
|
||||
"mgba": [
|
||||
"mgba_fork",
|
||||
"mgba_rumble",
|
||||
"msgb"
|
||||
],
|
||||
"neocd": [],
|
||||
"pcsx_rearmed": [
|
||||
"pcsx_rearmed32",
|
||||
"pcsx_rearmed_32b",
|
||||
"pcsx_rearmed_interpreter",
|
||||
"pcsx_rearmed_neon"
|
||||
]
|
||||
"pcsx_rearmed_neon",
|
||||
"pcsx_rearmed_rumble"
|
||||
],
|
||||
"picodrive": [],
|
||||
"pokemini": [],
|
||||
"prboom": [],
|
||||
"prosystem": [],
|
||||
"puae2021": [],
|
||||
"snes9x2005_plus": [],
|
||||
"stella2014": [],
|
||||
"tyrquake": []
|
||||
},
|
||||
"system_cores": {},
|
||||
"system_names": {},
|
||||
|
||||
+49
-4
@@ -67,32 +67,77 @@
|
||||
}
|
||||
],
|
||||
"core_names": {
|
||||
"fbneo": [
|
||||
"FBNEOSA"
|
||||
"a5200": [],
|
||||
"beetle_vb": [
|
||||
"beetle-vb",
|
||||
"mednafen_vb",
|
||||
"vb"
|
||||
],
|
||||
"bluemsx": [],
|
||||
"cap32": [
|
||||
"caprice32"
|
||||
],
|
||||
"fake08": [
|
||||
"fake_08"
|
||||
],
|
||||
"fbneo": [
|
||||
"FBNEOSA",
|
||||
"fbneo_32b",
|
||||
"fbneo_plus",
|
||||
"km_fbneo_xtreme_amped"
|
||||
],
|
||||
"fceumm": [],
|
||||
"gambatte": [],
|
||||
"gearcoleco": [],
|
||||
"gpsp": [
|
||||
"gpsp_ezode_mod",
|
||||
"gpsp_plus"
|
||||
],
|
||||
"handy": [],
|
||||
"mednafen_pce_fast": [
|
||||
"beetle-pce-fast",
|
||||
"beetle_pce_fast",
|
||||
"pce_fast"
|
||||
],
|
||||
"mednafen_supafaust": [
|
||||
"beetle_supafaust",
|
||||
"supafaust"
|
||||
],
|
||||
"mgba": [
|
||||
"mgba_fork"
|
||||
"mgba_fork",
|
||||
"mgba_rumble",
|
||||
"msgb"
|
||||
],
|
||||
"pcsx_rearmed": [
|
||||
"pcsx_rearmed32",
|
||||
"pcsx_rearmed_32b",
|
||||
"pcsx_rearmed_interpreter",
|
||||
"pcsx_rearmed_neon"
|
||||
"pcsx_rearmed_neon",
|
||||
"pcsx_rearmed_rumble"
|
||||
],
|
||||
"picodrive": [],
|
||||
"pokemini": [],
|
||||
"prboom": [],
|
||||
"prosystem": [],
|
||||
"puae2021": [],
|
||||
"race": [],
|
||||
"snes9x": [
|
||||
"pocketsnes",
|
||||
"snes9x_next"
|
||||
],
|
||||
"stella2014": [],
|
||||
"vice_x128": [
|
||||
"x128"
|
||||
],
|
||||
"vice_x64": [
|
||||
"x64"
|
||||
],
|
||||
"vice_xpet": [
|
||||
"xpet"
|
||||
],
|
||||
"vice_xplus4": [
|
||||
"xplus4"
|
||||
],
|
||||
"vice_xvic": [
|
||||
"xvic"
|
||||
]
|
||||
|
||||
+241
-8
@@ -2283,6 +2283,13 @@
|
||||
}
|
||||
],
|
||||
"core_names": {
|
||||
"2048": [],
|
||||
"81": [],
|
||||
"a5200": [],
|
||||
"advanced_drastic": [
|
||||
"DraStic-original",
|
||||
"drastic - standalone"
|
||||
],
|
||||
"advancemame": [
|
||||
"AdvanceMame",
|
||||
"advmame"
|
||||
@@ -2293,6 +2300,8 @@
|
||||
"amiberry": [
|
||||
"AMIBERRY"
|
||||
],
|
||||
"applewin": [],
|
||||
"arduous": [],
|
||||
"ares": [
|
||||
"ares-sa"
|
||||
],
|
||||
@@ -2300,6 +2309,9 @@
|
||||
"armsx2-sa",
|
||||
"armsx2_libretro"
|
||||
],
|
||||
"atari800": [],
|
||||
"b2": [],
|
||||
"beebem": [],
|
||||
"beetle_gba": [
|
||||
"mednafen_gba"
|
||||
],
|
||||
@@ -2307,6 +2319,10 @@
|
||||
"beetle-lynx",
|
||||
"mednafen_lynx"
|
||||
],
|
||||
"beetle_ngp": [
|
||||
"beetle-ngp",
|
||||
"mednafen_ngp"
|
||||
],
|
||||
"beetle_pce": [
|
||||
"beetle-pce",
|
||||
"mednafen_pce",
|
||||
@@ -2326,6 +2342,21 @@
|
||||
"beetle-saturn",
|
||||
"mednafen_saturn"
|
||||
],
|
||||
"beetle_vb": [
|
||||
"beetle-vb",
|
||||
"mednafen_vb",
|
||||
"vb"
|
||||
],
|
||||
"beetle_wswan": [
|
||||
"beetle-wswan",
|
||||
"mednafen_wswan"
|
||||
],
|
||||
"bk": [],
|
||||
"bluemsx": [],
|
||||
"boom3": [
|
||||
"boom3_xp"
|
||||
],
|
||||
"bsnes": [],
|
||||
"bsnes-jg": [
|
||||
"bsnes_jg"
|
||||
],
|
||||
@@ -2347,30 +2378,52 @@
|
||||
"C64-EMU",
|
||||
"C64.emu"
|
||||
],
|
||||
"cannonball": [],
|
||||
"cap32": [
|
||||
"caprice32"
|
||||
],
|
||||
"cdi2015": [],
|
||||
"chihiro-ds": [
|
||||
"chihiro-gun"
|
||||
],
|
||||
"corsixth": [],
|
||||
"craft": [],
|
||||
"crocods": [],
|
||||
"cxbx-reloaded": [
|
||||
"cxbx"
|
||||
],
|
||||
"cxbx-reloaded-2023": [
|
||||
"chihiro"
|
||||
],
|
||||
"daphne": [
|
||||
"km_daphne_xtreme"
|
||||
],
|
||||
"desmume": [],
|
||||
"desmume2015": [
|
||||
"desmume_2015"
|
||||
],
|
||||
"dice": [],
|
||||
"dinothawr": [],
|
||||
"dirksimple": [],
|
||||
"dolphin": [
|
||||
"dolphin-gui",
|
||||
"dolphin-sa"
|
||||
"dolphin-qt-gc",
|
||||
"dolphin-qt-wii",
|
||||
"dolphin-sa",
|
||||
"dolphin-sa-gc",
|
||||
"dolphin-sa-wii"
|
||||
],
|
||||
"dosbox": [],
|
||||
"dosbox-x": [
|
||||
"dosboxx"
|
||||
],
|
||||
"dosbox_pure": [],
|
||||
"doublecherrygb": [
|
||||
"DoubleCherryGB"
|
||||
],
|
||||
"drastic": [
|
||||
"drastic-sa"
|
||||
"drastic-sa",
|
||||
"drastic_standalone"
|
||||
],
|
||||
"dsperate": [
|
||||
"dsperate-sa"
|
||||
@@ -2379,22 +2432,38 @@
|
||||
"Duckstation",
|
||||
"duckstation-sa"
|
||||
],
|
||||
"easyrpg": [],
|
||||
"ecwolf": [
|
||||
"ECWolf"
|
||||
],
|
||||
"eightyone": [],
|
||||
"emuscv": [],
|
||||
"ep128emu_core": [
|
||||
"ep128emu",
|
||||
"ep128emu-core"
|
||||
],
|
||||
"exel-hence": [],
|
||||
"fake08": [
|
||||
"fake_08"
|
||||
],
|
||||
"fba2x": [
|
||||
"pifba"
|
||||
],
|
||||
"fbneo": [
|
||||
"FBNEOSA"
|
||||
"FBNEOSA",
|
||||
"fbneo_32b",
|
||||
"fbneo_plus",
|
||||
"km_fbneo_xtreme_amped"
|
||||
],
|
||||
"fceumm": [],
|
||||
"flycast": [
|
||||
"flycast-dev",
|
||||
"flycast-next",
|
||||
"flycast-sa",
|
||||
"flycast32_rumble",
|
||||
"flycast_32b",
|
||||
"flycast_dev",
|
||||
"flycast_rumble",
|
||||
"flycastsa",
|
||||
"flycastvl"
|
||||
],
|
||||
@@ -2404,13 +2473,18 @@
|
||||
"flycast2021": [
|
||||
"flycast-xtreme"
|
||||
],
|
||||
"fmsx": [],
|
||||
"fpse-ng": [
|
||||
"fpse64",
|
||||
"fpseng"
|
||||
],
|
||||
"freechaf": [],
|
||||
"freeintv": [],
|
||||
"frotz": [],
|
||||
"fuse": [
|
||||
"fuse_libretro"
|
||||
],
|
||||
"gambatte": [],
|
||||
"gba-emu": [
|
||||
"GBA-EMU",
|
||||
"GBA.emu"
|
||||
@@ -2419,6 +2493,9 @@
|
||||
"GBC-EMU",
|
||||
"GBC.emu"
|
||||
],
|
||||
"gearcoleco": [],
|
||||
"geargrafx": [],
|
||||
"gearsystem": [],
|
||||
"genesis_plus_gx": [
|
||||
"genesis-plus-gx",
|
||||
"genesis_plus_gx_cart_special",
|
||||
@@ -2433,36 +2510,59 @@
|
||||
"genesisplusgx-wide",
|
||||
"genesisplusgxwide"
|
||||
],
|
||||
"geolith": [],
|
||||
"gong": [],
|
||||
"gpsp": [
|
||||
"gpsp_ezode_mod",
|
||||
"gpsp_plus"
|
||||
],
|
||||
"gsplus-legacy": [
|
||||
"gsplus"
|
||||
],
|
||||
"gw": [
|
||||
"gw_libretro"
|
||||
],
|
||||
"handy": [],
|
||||
"hatari": [
|
||||
"HATARISA",
|
||||
"hatari-fast",
|
||||
"hatarisa"
|
||||
],
|
||||
"hatarib": [],
|
||||
"holani": [],
|
||||
"hypseus-singe": [
|
||||
"HYPSEUS",
|
||||
"hypseus",
|
||||
"hypseus_singe"
|
||||
],
|
||||
"imageviewer": [],
|
||||
"julius": [],
|
||||
"kronos": [],
|
||||
"lexaloffle": [
|
||||
"Pico-8",
|
||||
"float-scaled",
|
||||
"pico-8",
|
||||
"pico8",
|
||||
"pico_standalone",
|
||||
"vox_official"
|
||||
],
|
||||
"linkboy": [
|
||||
"LINKBOY",
|
||||
"Linkboy"
|
||||
],
|
||||
"lowresnx": [
|
||||
"lowres_nx"
|
||||
],
|
||||
"lrps2": [
|
||||
"pcsx2",
|
||||
"ps2"
|
||||
],
|
||||
"lutro": [],
|
||||
"lynx-emu": [
|
||||
"LYNX-EMU",
|
||||
"Lynx.emu"
|
||||
],
|
||||
"m2000": [],
|
||||
"m64plus-fz": [
|
||||
"M64PLUS-FZ",
|
||||
"org.mupen64plusae.v3.fzurita",
|
||||
@@ -2472,9 +2572,12 @@
|
||||
"mame": [
|
||||
"mame64"
|
||||
],
|
||||
"mame0258": [],
|
||||
"mame0278": [],
|
||||
"mame2000": [
|
||||
"imame4all"
|
||||
],
|
||||
"mame2003": [],
|
||||
"mame2003_plus": [
|
||||
"mame078plus",
|
||||
"mame2003-plus"
|
||||
@@ -2482,6 +2585,7 @@
|
||||
"mame2010": [
|
||||
"mame0139"
|
||||
],
|
||||
"mame2015": [],
|
||||
"mame2016": [
|
||||
"mess2016"
|
||||
],
|
||||
@@ -2507,6 +2611,11 @@
|
||||
"beetle_pce_fast",
|
||||
"pce_fast"
|
||||
],
|
||||
"mednafen_stv": [],
|
||||
"mednafen_supafaust": [
|
||||
"beetle_supafaust",
|
||||
"supafaust"
|
||||
],
|
||||
"mednafen_supergrafx": [
|
||||
"beetle-supergrafx",
|
||||
"beetle_supergrafx"
|
||||
@@ -2526,14 +2635,26 @@
|
||||
"mesence": [
|
||||
"mesen2"
|
||||
],
|
||||
"meteor": [],
|
||||
"mgba": [
|
||||
"mgba_fork"
|
||||
"mgba_fork",
|
||||
"mgba_rumble",
|
||||
"msgb"
|
||||
],
|
||||
"minivmac": [],
|
||||
"mojozork": [],
|
||||
"moonlight": [
|
||||
"lr_moonlight"
|
||||
],
|
||||
"mrboom": [],
|
||||
"msx-emu": [
|
||||
"MSX-EMU",
|
||||
"MSX.emu"
|
||||
],
|
||||
"mu": [],
|
||||
"mupen64plus": [
|
||||
"mupen64plus - standalone - glidemk2 - full",
|
||||
"mupen64plus-auto",
|
||||
"mupen64plus-sa",
|
||||
"mupen64plussa"
|
||||
],
|
||||
@@ -2563,6 +2684,7 @@
|
||||
"nekop2": [
|
||||
"meowpc98"
|
||||
],
|
||||
"neocd": [],
|
||||
"nes-emu": [
|
||||
"NES-EMU",
|
||||
"NES.emu"
|
||||
@@ -2571,6 +2693,7 @@
|
||||
"NESOID",
|
||||
"Nesoid"
|
||||
],
|
||||
"nestopia": [],
|
||||
"nethersx2": [
|
||||
"NETHERSX2",
|
||||
"NetherSX2"
|
||||
@@ -2583,12 +2706,30 @@
|
||||
"NETHERSX2-TURNIP-CLASSIC",
|
||||
"NetherSX2-Turnip-Classic"
|
||||
],
|
||||
"np2kai": [],
|
||||
"nxengine": [
|
||||
"nx"
|
||||
],
|
||||
"o2em": [
|
||||
"o2em_libretro"
|
||||
],
|
||||
"openbor": [
|
||||
"OPENBOR",
|
||||
"openbor v7530 - standalone",
|
||||
"openbor4432",
|
||||
"openbor6330",
|
||||
"openbor6412",
|
||||
"openbor6510",
|
||||
"openbor7142",
|
||||
"openbor7530",
|
||||
"openbor_standalone_plus"
|
||||
],
|
||||
"openlara": [],
|
||||
"openmsx": [
|
||||
"openmsx-ld"
|
||||
],
|
||||
"opera": [],
|
||||
"oricutron": [],
|
||||
"parallel-launcher": [
|
||||
"ca.parallel_launcher.ParallelLauncher"
|
||||
],
|
||||
@@ -2603,18 +2744,27 @@
|
||||
"com.PceEmu",
|
||||
"pceemu"
|
||||
],
|
||||
"pcsx2": [
|
||||
"pcsx2-sa"
|
||||
],
|
||||
"pcsx2-legacy": [
|
||||
"PCSX2-LEGACY",
|
||||
"pcsx2-16"
|
||||
],
|
||||
"pcsx_rearmed": [
|
||||
"pcsx_rearmed32",
|
||||
"pcsx_rearmed_32b",
|
||||
"pcsx_rearmed_interpreter",
|
||||
"pcsx_rearmed_neon"
|
||||
"pcsx_rearmed_neon",
|
||||
"pcsx_rearmed_rumble"
|
||||
],
|
||||
"pcsx_rearmed_standalone": [
|
||||
"pcsx-rearmed"
|
||||
"pcsx-rearmed",
|
||||
"pcsx_standalone"
|
||||
],
|
||||
"pd777": [],
|
||||
"picodrive": [],
|
||||
"pisnes": [],
|
||||
"pizza-boy-gba": [
|
||||
"PIZZA-BOY-GBA",
|
||||
"Pizza Boy GBA"
|
||||
@@ -2632,33 +2782,63 @@
|
||||
"play": [
|
||||
"play!"
|
||||
],
|
||||
"pokemini": [],
|
||||
"potator": [],
|
||||
"ppsspp": [
|
||||
"PPSSPPSDL",
|
||||
"ppsspp-sa"
|
||||
],
|
||||
"prboom": [],
|
||||
"prosystem": [],
|
||||
"puae": [
|
||||
"uae"
|
||||
],
|
||||
"puae2021": [],
|
||||
"px68k": [],
|
||||
"px68k-sdl": [
|
||||
"px68k"
|
||||
],
|
||||
"quasi88": [],
|
||||
"quasi88kai": [
|
||||
"quasi88"
|
||||
],
|
||||
"quicknes": [],
|
||||
"race": [],
|
||||
"rb5000": [],
|
||||
"real3doplayer": [
|
||||
"REAL3DOPLAYER",
|
||||
"Real3DOPlayer"
|
||||
],
|
||||
"reicast": [],
|
||||
"reminiscence": [],
|
||||
"retro8": [
|
||||
"picante8"
|
||||
],
|
||||
"retrodream": [],
|
||||
"rosalies-mupen-gui": [
|
||||
"RMG",
|
||||
"com.github.Rosalie241.RMG",
|
||||
"mupen64"
|
||||
],
|
||||
"samcoupe": [
|
||||
"simcoupe"
|
||||
],
|
||||
"same_cdi": [],
|
||||
"sameboy": [],
|
||||
"sameduck": [],
|
||||
"saturn-emu": [
|
||||
"SATURN-EMU",
|
||||
"Saturn.emu",
|
||||
"saturnemu"
|
||||
],
|
||||
"scummvm": [],
|
||||
"scummvm-standalone": [
|
||||
"SCUMMVMSA",
|
||||
"scummvm-sa"
|
||||
],
|
||||
"sdlpop": [
|
||||
"prince"
|
||||
],
|
||||
"skyemu": [
|
||||
"skyemu-sa"
|
||||
],
|
||||
@@ -2675,6 +2855,12 @@
|
||||
"Snes9x EX+",
|
||||
"Snes9xEXPlus"
|
||||
],
|
||||
"snes9x2002": [],
|
||||
"snes9x2005": [],
|
||||
"snes9x2010": [],
|
||||
"solarus": [
|
||||
"Solarus"
|
||||
],
|
||||
"speccy": [
|
||||
"SPECCY",
|
||||
"com.fms.speccy",
|
||||
@@ -2683,25 +2869,38 @@
|
||||
"stella": [
|
||||
"STELLASA"
|
||||
],
|
||||
"stella2014": [],
|
||||
"stonesoup": [],
|
||||
"sugarbox2": [],
|
||||
"supermodel": [],
|
||||
"swanstation": [],
|
||||
"tamalibretro": [],
|
||||
"tgbdual": [
|
||||
"TGB Dual"
|
||||
],
|
||||
"theodore": [],
|
||||
"thepowdertoy": [],
|
||||
"ti99sim": [],
|
||||
"tic80": [],
|
||||
"triforce": [
|
||||
"dolphin-triforce",
|
||||
"dolphin_triforce"
|
||||
],
|
||||
"tyrquake": [],
|
||||
"uae4all-rpi": [
|
||||
"uae4all"
|
||||
],
|
||||
"uae4arm": [
|
||||
"uae4arm_32b"
|
||||
],
|
||||
"uzem": [],
|
||||
"vba_next": [
|
||||
"vba-next"
|
||||
],
|
||||
"vbam": [
|
||||
"vba-m"
|
||||
],
|
||||
"vecx": [],
|
||||
"vice": [
|
||||
"vice_x128",
|
||||
"vice_x64",
|
||||
@@ -2726,18 +2925,40 @@
|
||||
"vice_x64sc": [
|
||||
"x64sx"
|
||||
],
|
||||
"vice_xcbm2": [
|
||||
"xcbm2"
|
||||
],
|
||||
"vice_xcbm5x0": [
|
||||
"xcbm5x0"
|
||||
],
|
||||
"vice_xpet": [
|
||||
"xpet"
|
||||
],
|
||||
"vice_xplus4": [
|
||||
"xplus4"
|
||||
],
|
||||
"vice_xscpu64": [
|
||||
"xscpu64"
|
||||
],
|
||||
"vice_xvic": [
|
||||
"xvic"
|
||||
],
|
||||
"vircon32": [],
|
||||
"virtualjaguar": [],
|
||||
"visual-pinball": [
|
||||
"vpinball"
|
||||
],
|
||||
"vitaquake2": [
|
||||
"vitaquake2-rogue",
|
||||
"vitaquake2-xatrix",
|
||||
"vitaquake2-zaero"
|
||||
],
|
||||
"vitaquake3": [],
|
||||
"vitavoyager": [],
|
||||
"vvvvvv": [
|
||||
"VVVVVV"
|
||||
],
|
||||
"wasm4": [],
|
||||
"x1": [
|
||||
"xmil"
|
||||
],
|
||||
@@ -2759,11 +2980,20 @@
|
||||
"XM6TYPEG",
|
||||
"XM6TYPEG-WINDOWS"
|
||||
],
|
||||
"xrick": [],
|
||||
"xroar": [
|
||||
"xroar-cocous",
|
||||
"xroar-dragon32"
|
||||
],
|
||||
"yabasanshiro": [
|
||||
"yabasanshiro-2",
|
||||
"yabasanshiro-libretro",
|
||||
"yabasanshiro-sa",
|
||||
"yabasanshiroSA"
|
||||
]
|
||||
"yabasanshiroSA",
|
||||
"yabasanshiroSA1_5"
|
||||
],
|
||||
"yabause": [],
|
||||
"ymir": []
|
||||
},
|
||||
"system_cores": {
|
||||
"3do": [
|
||||
@@ -2788,6 +3018,7 @@
|
||||
"mupen64plus",
|
||||
"mupen64plus-ae",
|
||||
"mupen64plus_next",
|
||||
"n64emu",
|
||||
"parallel-launcher",
|
||||
"parallel_n64",
|
||||
"project64",
|
||||
@@ -2951,6 +3182,7 @@
|
||||
"mame4droid",
|
||||
"mame4droid-2024",
|
||||
"mamearcade",
|
||||
"parallel_dc",
|
||||
"teknoparrot",
|
||||
"ume2015"
|
||||
],
|
||||
@@ -3156,6 +3388,7 @@
|
||||
"flycast-dojo",
|
||||
"flycast2021",
|
||||
"flycast2021le",
|
||||
"parallel_dc",
|
||||
"redream",
|
||||
"reicast",
|
||||
"retrodream"
|
||||
|
||||
+293
-8
@@ -3841,6 +3841,13 @@
|
||||
}
|
||||
],
|
||||
"core_names": {
|
||||
"2ship": [],
|
||||
"81": [],
|
||||
"a5200": [],
|
||||
"advanced_drastic": [
|
||||
"DraStic-original",
|
||||
"drastic - standalone"
|
||||
],
|
||||
"advancemame": [
|
||||
"AdvanceMame",
|
||||
"advmame"
|
||||
@@ -3848,12 +3855,18 @@
|
||||
"aethersx2": [
|
||||
"aethersx2-sa"
|
||||
],
|
||||
"altirra": [],
|
||||
"amiarcadia": [
|
||||
"winarcadia"
|
||||
],
|
||||
"amiberry": [
|
||||
"AMIBERRY"
|
||||
],
|
||||
"applewin": [],
|
||||
"arcadeduck": [],
|
||||
"arcadeflashweb": [],
|
||||
"ardens": [],
|
||||
"arduous": [],
|
||||
"ares": [
|
||||
"ares-sa"
|
||||
],
|
||||
@@ -3861,9 +3874,12 @@
|
||||
"armsx2-sa",
|
||||
"armsx2_libretro"
|
||||
],
|
||||
"atari800": [],
|
||||
"azahar": [
|
||||
"azahar - standalone",
|
||||
"azahar-sa"
|
||||
],
|
||||
"b2": [],
|
||||
"beetle_gba": [
|
||||
"mednafen_gba"
|
||||
],
|
||||
@@ -3894,9 +3910,27 @@
|
||||
"beetle-saturn",
|
||||
"mednafen_saturn"
|
||||
],
|
||||
"beetle_vb": [
|
||||
"beetle-vb",
|
||||
"mednafen_vb",
|
||||
"vb"
|
||||
],
|
||||
"beetle_wswan": [
|
||||
"beetle-wswan",
|
||||
"mednafen_wswan"
|
||||
],
|
||||
"bennugd": [],
|
||||
"bigpemu": [
|
||||
"bigpemu-sa"
|
||||
],
|
||||
"bizhawk": [],
|
||||
"bk": [],
|
||||
"blastem": [],
|
||||
"bluemsx": [],
|
||||
"boom3": [
|
||||
"boom3_xp"
|
||||
],
|
||||
"bsnes": [],
|
||||
"bsnes-jg": [
|
||||
"bsnes_jg"
|
||||
],
|
||||
@@ -3914,6 +3948,16 @@
|
||||
"bsnes_mercury_balanced",
|
||||
"bsnes_mercury_performance"
|
||||
],
|
||||
"bstone": [],
|
||||
"bsyndrome": [],
|
||||
"cannonball": [],
|
||||
"cap32": [
|
||||
"caprice32"
|
||||
],
|
||||
"capriceforever": [],
|
||||
"cdogs": [
|
||||
"cdogs-sdl"
|
||||
],
|
||||
"cemu": [
|
||||
"cemu-sa"
|
||||
],
|
||||
@@ -3923,19 +3967,37 @@
|
||||
"chihiro-ds": [
|
||||
"chihiro-gun"
|
||||
],
|
||||
"citra": [],
|
||||
"citron": [],
|
||||
"corsixth": [],
|
||||
"crocods": [],
|
||||
"cxbx-reloaded": [
|
||||
"cxbx"
|
||||
],
|
||||
"cxbx-reloaded-2023": [
|
||||
"chihiro"
|
||||
],
|
||||
"daphne": [
|
||||
"km_daphne_xtreme"
|
||||
],
|
||||
"demul": [],
|
||||
"desmume": [],
|
||||
"desmume2015": [
|
||||
"desmume_2015"
|
||||
],
|
||||
"devilutionx": [],
|
||||
"dhewm3": [],
|
||||
"dice": [],
|
||||
"dinothawr": [],
|
||||
"dolphin": [
|
||||
"dolphin-gui",
|
||||
"dolphin-sa"
|
||||
"dolphin-qt-gc",
|
||||
"dolphin-qt-wii",
|
||||
"dolphin-sa",
|
||||
"dolphin-sa-gc",
|
||||
"dolphin-sa-wii"
|
||||
],
|
||||
"dosbox": [],
|
||||
"dosbox-pure-unleashed": [
|
||||
"dosbox-pure",
|
||||
"dosboxpure"
|
||||
@@ -3946,11 +4008,14 @@
|
||||
"dosbox-x": [
|
||||
"dosboxx"
|
||||
],
|
||||
"dosbox_pure": [],
|
||||
"doublecherrygb": [
|
||||
"DoubleCherryGB"
|
||||
],
|
||||
"doukutsu_rs": [],
|
||||
"drastic": [
|
||||
"drastic-sa"
|
||||
"drastic-sa",
|
||||
"drastic_standalone"
|
||||
],
|
||||
"droidarcadia": [
|
||||
"com.amigan.droidarcadia"
|
||||
@@ -3962,25 +4027,44 @@
|
||||
"Duckstation",
|
||||
"duckstation-sa"
|
||||
],
|
||||
"dusklight": [],
|
||||
"easyrpg": [],
|
||||
"ecwolf": [
|
||||
"ECWolf"
|
||||
],
|
||||
"eden": [],
|
||||
"eduke32": [],
|
||||
"eka2l1": [],
|
||||
"emuscv": [],
|
||||
"ep128emu_core": [
|
||||
"ep128emu",
|
||||
"ep128emu-core"
|
||||
],
|
||||
"fake08": [
|
||||
"fake_08"
|
||||
],
|
||||
"fbalpha2012": [
|
||||
"fbalpha"
|
||||
],
|
||||
"fbalpha2012_cps1": [],
|
||||
"fbalpha2012_cps2": [],
|
||||
"fbalpha2012_cps3": [],
|
||||
"fbalpha2012_neogeo": [],
|
||||
"fbneo": [
|
||||
"FBNEOSA"
|
||||
"FBNEOSA",
|
||||
"fbneo_32b",
|
||||
"fbneo_plus",
|
||||
"km_fbneo_xtreme_amped"
|
||||
],
|
||||
"fceumm": [],
|
||||
"flycast": [
|
||||
"flycast-dev",
|
||||
"flycast-next",
|
||||
"flycast-sa",
|
||||
"flycast32_rumble",
|
||||
"flycast_32b",
|
||||
"flycast_dev",
|
||||
"flycast_rumble",
|
||||
"flycastsa",
|
||||
"flycastvl"
|
||||
],
|
||||
@@ -3994,15 +4078,20 @@
|
||||
"fpse64",
|
||||
"fpseng"
|
||||
],
|
||||
"freechaf": [],
|
||||
"freeintv": [],
|
||||
"freej2me": [],
|
||||
"freej2me_plus": [
|
||||
"freej2me-plus"
|
||||
],
|
||||
"frodo": [],
|
||||
"fuse": [
|
||||
"fuse_libretro"
|
||||
],
|
||||
"future-pinball": [
|
||||
"fpinball"
|
||||
],
|
||||
"gambatte": [],
|
||||
"gba-emu": [
|
||||
"GBA-EMU",
|
||||
"GBA.emu"
|
||||
@@ -4011,6 +4100,10 @@
|
||||
"GBC-EMU",
|
||||
"GBC.emu"
|
||||
],
|
||||
"gearcoleco": [],
|
||||
"geargrafx": [],
|
||||
"gearsystem": [],
|
||||
"gemrb": [],
|
||||
"genesis_plus_gx": [
|
||||
"genesis-plus-gx",
|
||||
"genesis_plus_gx_cart_special",
|
||||
@@ -4025,20 +4118,38 @@
|
||||
"genesisplusgx-wide",
|
||||
"genesisplusgxwide"
|
||||
],
|
||||
"geolith": [],
|
||||
"ghostship": [],
|
||||
"gopher64": [
|
||||
"gopher64-sa"
|
||||
],
|
||||
"gpsp": [
|
||||
"gpsp_ezode_mod",
|
||||
"gpsp_plus"
|
||||
],
|
||||
"groovymame": [],
|
||||
"gsplus-legacy": [
|
||||
"gsplus"
|
||||
],
|
||||
"gw": [
|
||||
"gw_libretro"
|
||||
],
|
||||
"gzdoom": [
|
||||
"GZDoom",
|
||||
"gzdoom-sa"
|
||||
],
|
||||
"handy": [],
|
||||
"hatari": [
|
||||
"HATARISA",
|
||||
"hatari-fast",
|
||||
"hatarisa"
|
||||
],
|
||||
"hatarib": [],
|
||||
"hbmame": [],
|
||||
"higan_sfc_balanced": [
|
||||
"nside_sfc_balanced"
|
||||
],
|
||||
"holani": [],
|
||||
"hypseus-singe": [
|
||||
"HYPSEUS",
|
||||
"hypseus",
|
||||
@@ -4048,45 +4159,65 @@
|
||||
"diii4a",
|
||||
"idtech4amm"
|
||||
],
|
||||
"ikemen": [],
|
||||
"imageviewer": [],
|
||||
"j2me-loader": [
|
||||
"J2ME-LOADER"
|
||||
],
|
||||
"jgenesis": [],
|
||||
"jl-mod": [
|
||||
"JL-MOD"
|
||||
],
|
||||
"jollycv": [],
|
||||
"jynx": [],
|
||||
"jzintv": [],
|
||||
"kega-fusion": [],
|
||||
"kemulator": [
|
||||
"KEMULATOR"
|
||||
],
|
||||
"kronos": [],
|
||||
"lexaloffle": [
|
||||
"Pico-8",
|
||||
"float-scaled",
|
||||
"pico-8",
|
||||
"pico8",
|
||||
"pico_standalone",
|
||||
"vox_official"
|
||||
],
|
||||
"linkboy": [
|
||||
"LINKBOY",
|
||||
"Linkboy"
|
||||
],
|
||||
"linuxloader": [],
|
||||
"love": [],
|
||||
"lowresnx": [
|
||||
"lowres_nx"
|
||||
],
|
||||
"lrps2": [
|
||||
"pcsx2",
|
||||
"ps2"
|
||||
],
|
||||
"lutro": [],
|
||||
"lynx-emu": [
|
||||
"LYNX-EMU",
|
||||
"Lynx.emu"
|
||||
],
|
||||
"m2000": [],
|
||||
"m64plus-fz": [
|
||||
"M64PLUS-FZ",
|
||||
"org.mupen64plusae.v3.fzurita",
|
||||
"org.mupen64plusae.v3.fzurita.amazon",
|
||||
"org.mupen64plusae.v3.fzurita.pro"
|
||||
],
|
||||
"magicengine": [],
|
||||
"mame": [
|
||||
"mame64"
|
||||
],
|
||||
"mame2000": [
|
||||
"imame4all"
|
||||
],
|
||||
"mame2003": [],
|
||||
"mame2003_midway": [],
|
||||
"mame2003_plus": [
|
||||
"mame078plus",
|
||||
"mame2003-plus"
|
||||
@@ -4094,6 +4225,7 @@
|
||||
"mame2010": [
|
||||
"mame0139"
|
||||
],
|
||||
"mame2014": [],
|
||||
"mame2016": [
|
||||
"mess2016"
|
||||
],
|
||||
@@ -4117,11 +4249,17 @@
|
||||
"MD-EMU",
|
||||
"MD.emu"
|
||||
],
|
||||
"mednafen": [],
|
||||
"mednafen_pce_fast": [
|
||||
"beetle-pce-fast",
|
||||
"beetle_pce_fast",
|
||||
"pce_fast"
|
||||
],
|
||||
"mednafen_snes": [
|
||||
"beetle-bsnes",
|
||||
"beetle_bsnes",
|
||||
"beetle_snes"
|
||||
],
|
||||
"mednafen_supergrafx": [
|
||||
"beetle-supergrafx",
|
||||
"beetle_supergrafx"
|
||||
@@ -4142,13 +4280,21 @@
|
||||
"mesen2"
|
||||
],
|
||||
"mgba": [
|
||||
"mgba_fork"
|
||||
"mgba_fork",
|
||||
"mgba_rumble",
|
||||
"msgb"
|
||||
],
|
||||
"model2": [
|
||||
"m2emulator",
|
||||
"model2emu"
|
||||
],
|
||||
"msx-emu": [
|
||||
"MSX-EMU",
|
||||
"MSX.emu"
|
||||
],
|
||||
"mupen64plus": [
|
||||
"mupen64plus - standalone - glidemk2 - full",
|
||||
"mupen64plus-auto",
|
||||
"mupen64plus-sa",
|
||||
"mupen64plussa"
|
||||
],
|
||||
@@ -4178,6 +4324,7 @@
|
||||
"nekop2": [
|
||||
"meowpc98"
|
||||
],
|
||||
"neocd": [],
|
||||
"nes-emu": [
|
||||
"NES-EMU",
|
||||
"NES.emu"
|
||||
@@ -4186,6 +4333,7 @@
|
||||
"NESOID",
|
||||
"Nesoid"
|
||||
],
|
||||
"nestopia": [],
|
||||
"nethersx2": [
|
||||
"NETHERSX2",
|
||||
"NetherSX2"
|
||||
@@ -4202,15 +4350,36 @@
|
||||
"NGP-EMU",
|
||||
"NGP.emu"
|
||||
],
|
||||
"noods": [],
|
||||
"nosgba": [],
|
||||
"np2kai": [],
|
||||
"nxengine": [
|
||||
"nx"
|
||||
],
|
||||
"o2em": [
|
||||
"o2em_libretro"
|
||||
],
|
||||
"openbor": [
|
||||
"OPENBOR",
|
||||
"openbor v7530 - standalone",
|
||||
"openbor4432",
|
||||
"openbor6330",
|
||||
"openbor6412",
|
||||
"openbor6510",
|
||||
"openbor7142",
|
||||
"openbor7530",
|
||||
"openbor_standalone_plus"
|
||||
],
|
||||
"opengoal": [],
|
||||
"openjazz": [
|
||||
"OpenJazz"
|
||||
],
|
||||
"openlara": [],
|
||||
"openmsx": [
|
||||
"openmsx-ld"
|
||||
],
|
||||
"opera": [],
|
||||
"oricutron": [],
|
||||
"parallel-launcher": [
|
||||
"ca.parallel_launcher.ParallelLauncher"
|
||||
],
|
||||
@@ -4225,6 +4394,9 @@
|
||||
"com.PceEmu",
|
||||
"pceemu"
|
||||
],
|
||||
"pcsx2": [
|
||||
"pcsx2-sa"
|
||||
],
|
||||
"pcsx2-legacy": [
|
||||
"PCSX2-LEGACY",
|
||||
"pcsx2-16"
|
||||
@@ -4233,13 +4405,20 @@
|
||||
"PCSX2X6"
|
||||
],
|
||||
"pcsx_rearmed": [
|
||||
"pcsx_rearmed32",
|
||||
"pcsx_rearmed_32b",
|
||||
"pcsx_rearmed_interpreter",
|
||||
"pcsx_rearmed_neon"
|
||||
"pcsx_rearmed_neon",
|
||||
"pcsx_rearmed_rumble"
|
||||
],
|
||||
"pcsx_rearmed_standalone": [
|
||||
"pcsx-rearmed"
|
||||
"pcsx-rearmed",
|
||||
"pcsx_standalone"
|
||||
],
|
||||
"pd777": [],
|
||||
"pdark": [],
|
||||
"phoenix": [],
|
||||
"picodrive": [],
|
||||
"pizza-boy-gba": [
|
||||
"PIZZA-BOY-GBA",
|
||||
"Pizza Boy GBA"
|
||||
@@ -4257,15 +4436,31 @@
|
||||
"play": [
|
||||
"play!"
|
||||
],
|
||||
"pocketcdg": [],
|
||||
"pokemini": [],
|
||||
"potator": [],
|
||||
"ppsspp": [
|
||||
"PPSSPPSDL",
|
||||
"ppsspp-sa"
|
||||
],
|
||||
"prboom": [],
|
||||
"project64": [],
|
||||
"prosystem": [],
|
||||
"psxmame": [],
|
||||
"puae": [
|
||||
"uae"
|
||||
],
|
||||
"px68k": [],
|
||||
"px68k-sdl": [
|
||||
"px68k"
|
||||
],
|
||||
"quasi88": [],
|
||||
"quasi88kai": [
|
||||
"quasi88"
|
||||
],
|
||||
"race": [],
|
||||
"raine": [],
|
||||
"raze": [],
|
||||
"real3doplayer": [
|
||||
"REAL3DOPLAYER",
|
||||
"Real3DOPlayer"
|
||||
@@ -4273,6 +4468,11 @@
|
||||
"realrtcw": [
|
||||
"rtcw"
|
||||
],
|
||||
"redream": [],
|
||||
"reminiscence": [],
|
||||
"retro8": [
|
||||
"picante8"
|
||||
],
|
||||
"rosalies-mupen-gui": [
|
||||
"RMG",
|
||||
"com.github.Rosalie241.RMG",
|
||||
@@ -4281,11 +4481,20 @@
|
||||
"rpcs3": [
|
||||
"rpcs3-sa"
|
||||
],
|
||||
"ruffle": [],
|
||||
"ryujinx": [],
|
||||
"samcoupe": [
|
||||
"simcoupe"
|
||||
],
|
||||
"same_cdi": [],
|
||||
"sameboy": [],
|
||||
"sameduck": [],
|
||||
"saturn-emu": [
|
||||
"SATURN-EMU",
|
||||
"Saturn.emu",
|
||||
"saturnemu"
|
||||
],
|
||||
"scummvm": [],
|
||||
"scummvm-standalone": [
|
||||
"SCUMMVMSA",
|
||||
"scummvm-sa"
|
||||
@@ -4293,6 +4502,11 @@
|
||||
"shadps4": [
|
||||
"shadps4-gui"
|
||||
],
|
||||
"simple64": [
|
||||
"io.github.simple64.simple64",
|
||||
"simple64-gui"
|
||||
],
|
||||
"singe2": [],
|
||||
"skyemu": [
|
||||
"skyemu-sa"
|
||||
],
|
||||
@@ -4309,37 +4523,68 @@
|
||||
"Snes9x EX+",
|
||||
"Snes9xEXPlus"
|
||||
],
|
||||
"snes9x2005": [],
|
||||
"soh": [],
|
||||
"solarus": [
|
||||
"Solarus"
|
||||
],
|
||||
"solarus-2.0.0": [
|
||||
"solarus2"
|
||||
],
|
||||
"sonic-mania": [
|
||||
"sonicmania"
|
||||
],
|
||||
"sonic2013": [
|
||||
"sonicretro"
|
||||
],
|
||||
"sonic3-air": [
|
||||
"sonic3air"
|
||||
],
|
||||
"soniccd": [
|
||||
"sonicretrocd"
|
||||
],
|
||||
"ssf": [],
|
||||
"starship": [],
|
||||
"stella": [
|
||||
"STELLASA"
|
||||
],
|
||||
"stella2014": [],
|
||||
"sudachi": [],
|
||||
"superbroswar": [
|
||||
"km_superbroswar"
|
||||
],
|
||||
"supermodel": [],
|
||||
"swanstation": [],
|
||||
"teknoparrot": [],
|
||||
"tgbdual": [
|
||||
"TGB Dual"
|
||||
],
|
||||
"theforceengine": [
|
||||
"tfe"
|
||||
],
|
||||
"theodore": [],
|
||||
"tic80": [],
|
||||
"triforce": [
|
||||
"dolphin-triforce",
|
||||
"dolphin_triforce"
|
||||
],
|
||||
"tsugaru": [],
|
||||
"tyrquake": [],
|
||||
"uae4all-rpi": [
|
||||
"uae4all"
|
||||
],
|
||||
"uae4arm": [
|
||||
"uae4arm_32b"
|
||||
],
|
||||
"uzdoom": [],
|
||||
"uzem": [],
|
||||
"vba_next": [
|
||||
"vba-next"
|
||||
],
|
||||
"vbam": [
|
||||
"vba-m"
|
||||
],
|
||||
"vecx": [],
|
||||
"vice_x128": [
|
||||
"x128"
|
||||
],
|
||||
@@ -4349,15 +4594,32 @@
|
||||
"vice_x64sc": [
|
||||
"x64sx"
|
||||
],
|
||||
"vice_xpet": [
|
||||
"xpet"
|
||||
],
|
||||
"vice_xplus4": [
|
||||
"xplus4"
|
||||
],
|
||||
"vice_xvic": [
|
||||
"xvic"
|
||||
],
|
||||
"vircon32": [],
|
||||
"virtualjaguar": [],
|
||||
"visual-pinball": [
|
||||
"vpinball"
|
||||
],
|
||||
"vita3k": [
|
||||
"vita3k-sa"
|
||||
],
|
||||
"vitaquake2": [
|
||||
"vitaquake2-rogue",
|
||||
"vitaquake2-xatrix",
|
||||
"vitaquake2-zaero"
|
||||
],
|
||||
"vkquake": [],
|
||||
"vkquake2": [],
|
||||
"wasm4": [],
|
||||
"winuae": [],
|
||||
"x1": [
|
||||
"xmil"
|
||||
],
|
||||
@@ -4370,6 +4632,12 @@
|
||||
"xemu": [
|
||||
"xemu-sa"
|
||||
],
|
||||
"xemu-chihiro": [],
|
||||
"xenia": [
|
||||
"xenia-canary",
|
||||
"xenia-manager",
|
||||
"xenianative"
|
||||
],
|
||||
"xenia-edge": [
|
||||
"xenia_edge"
|
||||
],
|
||||
@@ -4382,11 +4650,25 @@
|
||||
"XM6TYPEG",
|
||||
"XM6TYPEG-WINDOWS"
|
||||
],
|
||||
"xroar": [
|
||||
"xroar-cocous",
|
||||
"xroar-dragon32"
|
||||
],
|
||||
"yabasanshiro": [
|
||||
"yabasanshiro-2",
|
||||
"yabasanshiro-libretro",
|
||||
"yabasanshiro-sa",
|
||||
"yabasanshiroSA"
|
||||
]
|
||||
"yabasanshiroSA",
|
||||
"yabasanshiroSA1_5"
|
||||
],
|
||||
"ymir": [],
|
||||
"yuzu": [
|
||||
"yuzu-sa"
|
||||
],
|
||||
"zc255": [],
|
||||
"zesarux": [],
|
||||
"zinc": [],
|
||||
"zquestclassic": []
|
||||
},
|
||||
"system_cores": {
|
||||
"3do": [
|
||||
@@ -4680,6 +4962,7 @@
|
||||
"mame2016",
|
||||
"mame4droid",
|
||||
"mame4droid-2024",
|
||||
"odin",
|
||||
"teknoparrot",
|
||||
"ume2015"
|
||||
],
|
||||
@@ -4819,6 +5102,7 @@
|
||||
"mupen64plus",
|
||||
"mupen64plus-ae",
|
||||
"mupen64plus_next",
|
||||
"n64emu",
|
||||
"parallel-launcher",
|
||||
"parallel_n64",
|
||||
"project64",
|
||||
@@ -5008,6 +5292,7 @@
|
||||
"flycast-dojo",
|
||||
"flycast2021",
|
||||
"flycast2021le",
|
||||
"parallel_dc",
|
||||
"redream",
|
||||
"reicast",
|
||||
"retrodream"
|
||||
|
||||
@@ -55,6 +55,7 @@
|
||||
"doukutsu_rs",
|
||||
"easyrpg",
|
||||
"ecwolf",
|
||||
"eduke32",
|
||||
"emuscv",
|
||||
"ep128emu_core",
|
||||
"fbalpha",
|
||||
@@ -97,6 +98,8 @@
|
||||
"hatarib",
|
||||
"hbmame",
|
||||
"holani",
|
||||
"hyperscanemu",
|
||||
"hypseushw",
|
||||
"irogb",
|
||||
"jaxe",
|
||||
"jollycv",
|
||||
@@ -154,14 +157,17 @@
|
||||
"o2em",
|
||||
"oberon",
|
||||
"openlara",
|
||||
"openmsx",
|
||||
"opera",
|
||||
"panda3ds",
|
||||
"parallel_dc",
|
||||
"parallel_n64",
|
||||
"pcee2",
|
||||
"pcsx2",
|
||||
"pcsx_rearmed",
|
||||
"pd777",
|
||||
"picodrive",
|
||||
"piece",
|
||||
"play",
|
||||
"playdiaemu",
|
||||
"pocketcdg",
|
||||
@@ -214,6 +220,7 @@
|
||||
"tic80",
|
||||
"tyrquake",
|
||||
"uw8",
|
||||
"uzdoom",
|
||||
"uzem",
|
||||
"vaporspec",
|
||||
"vba_next",
|
||||
@@ -338,6 +345,7 @@
|
||||
"hatarib",
|
||||
"hbmame",
|
||||
"holani",
|
||||
"hyperscanemu",
|
||||
"jaxe",
|
||||
"jollycv",
|
||||
"jumpnbump",
|
||||
@@ -393,10 +401,12 @@
|
||||
"oberon",
|
||||
"openlara",
|
||||
"opera",
|
||||
"parallel_dc",
|
||||
"parallel_n64",
|
||||
"pcsx_rearmed",
|
||||
"pd777",
|
||||
"picodrive",
|
||||
"piece",
|
||||
"play",
|
||||
"playdiaemu",
|
||||
"pocketcdg",
|
||||
@@ -549,6 +559,7 @@
|
||||
"galaksija",
|
||||
"gam4980",
|
||||
"gambatte",
|
||||
"gametank",
|
||||
"gearboy",
|
||||
"gearcoleco",
|
||||
"geargrafx",
|
||||
@@ -568,6 +579,7 @@
|
||||
"hatarib",
|
||||
"hbmame",
|
||||
"holani",
|
||||
"hyperscanemu",
|
||||
"jaxe",
|
||||
"jollycv",
|
||||
"jumpnbump",
|
||||
@@ -623,10 +635,12 @@
|
||||
"oberon",
|
||||
"openlara",
|
||||
"opera",
|
||||
"parallel_dc",
|
||||
"parallel_n64",
|
||||
"pcsx_rearmed",
|
||||
"pd777",
|
||||
"picodrive",
|
||||
"piece",
|
||||
"play",
|
||||
"playdiaemu",
|
||||
"pocketcdg",
|
||||
@@ -800,6 +814,7 @@
|
||||
"hatarib",
|
||||
"hbmame",
|
||||
"holani",
|
||||
"hyperscanemu",
|
||||
"jaxe",
|
||||
"jollycv",
|
||||
"jumpnbump",
|
||||
@@ -857,12 +872,14 @@
|
||||
"oberon",
|
||||
"openlara",
|
||||
"opera",
|
||||
"parallel_dc",
|
||||
"parallel_n64",
|
||||
"pcee2",
|
||||
"pcsx2",
|
||||
"pcsx_rearmed",
|
||||
"pd777",
|
||||
"picodrive",
|
||||
"piece",
|
||||
"play",
|
||||
"playdiaemu",
|
||||
"pocketcdg",
|
||||
@@ -999,6 +1016,7 @@
|
||||
"dosbox_svn",
|
||||
"easyrpg",
|
||||
"ecwolf",
|
||||
"eduke32",
|
||||
"emuscv",
|
||||
"ep128emu_core",
|
||||
"fbalpha2012",
|
||||
@@ -1040,13 +1058,16 @@
|
||||
"hatarib",
|
||||
"hbmame",
|
||||
"holani",
|
||||
"hyperscanemu",
|
||||
"irogb",
|
||||
"jaxe",
|
||||
"jollycv",
|
||||
"jumpnbump",
|
||||
"kronos",
|
||||
"linuxloader",
|
||||
"lowresnx",
|
||||
"lutro",
|
||||
"m2000",
|
||||
"mame",
|
||||
"mame2000",
|
||||
"mame2003",
|
||||
@@ -1080,6 +1101,7 @@
|
||||
"mojozork",
|
||||
"mrboom",
|
||||
"mu",
|
||||
"mupen64plus_next",
|
||||
"native32emu",
|
||||
"nekop2",
|
||||
"neocd",
|
||||
@@ -1092,15 +1114,19 @@
|
||||
"nxengine",
|
||||
"o2em",
|
||||
"oberon",
|
||||
"odin",
|
||||
"omicron",
|
||||
"openlara",
|
||||
"openmsx",
|
||||
"opera",
|
||||
"parallel_dc",
|
||||
"parallel_n64",
|
||||
"pcee2",
|
||||
"pcsx2",
|
||||
"pcsx_rearmed",
|
||||
"pd777",
|
||||
"picodrive",
|
||||
"piece",
|
||||
"play",
|
||||
"playdiaemu",
|
||||
"pocketcdg",
|
||||
@@ -1150,6 +1176,7 @@
|
||||
"tic80",
|
||||
"tyrquake",
|
||||
"uw8",
|
||||
"uzdoom",
|
||||
"uzem",
|
||||
"vaporspec",
|
||||
"vba_next",
|
||||
@@ -1238,6 +1265,7 @@
|
||||
"doukutsu_rs",
|
||||
"easyrpg",
|
||||
"ecwolf",
|
||||
"eduke32",
|
||||
"emuscv",
|
||||
"ep128emu_core",
|
||||
"fbalpha",
|
||||
@@ -1280,11 +1308,14 @@
|
||||
"hatarib",
|
||||
"hbmame",
|
||||
"holani",
|
||||
"hyperscanemu",
|
||||
"hypseushw",
|
||||
"irogb",
|
||||
"jaxe",
|
||||
"jollycv",
|
||||
"jumpnbump",
|
||||
"kronos",
|
||||
"linuxloader",
|
||||
"lowresnx",
|
||||
"lutro",
|
||||
"m2000",
|
||||
@@ -1323,6 +1354,7 @@
|
||||
"mrboom",
|
||||
"mu",
|
||||
"mupen64plus_next",
|
||||
"n64emu",
|
||||
"native32emu",
|
||||
"nekop2",
|
||||
"neocd",
|
||||
@@ -1336,10 +1368,13 @@
|
||||
"nxengine",
|
||||
"o2em",
|
||||
"oberon",
|
||||
"odin",
|
||||
"omicron",
|
||||
"openlara",
|
||||
"openmsx",
|
||||
"opera",
|
||||
"panda3ds",
|
||||
"parallel_dc",
|
||||
"parallel_n64",
|
||||
"pcee2",
|
||||
"pcem",
|
||||
@@ -1347,6 +1382,7 @@
|
||||
"pcsx_rearmed",
|
||||
"pd777",
|
||||
"picodrive",
|
||||
"piece",
|
||||
"play",
|
||||
"playdiaemu",
|
||||
"pocketcdg",
|
||||
@@ -1399,6 +1435,7 @@
|
||||
"tic80",
|
||||
"tyrquake",
|
||||
"uw8",
|
||||
"uzdoom",
|
||||
"uzem",
|
||||
"vaporspec",
|
||||
"vba_next",
|
||||
@@ -1609,6 +1646,7 @@
|
||||
"hatarib",
|
||||
"hbmame",
|
||||
"holani",
|
||||
"hyperscanemu",
|
||||
"jaxe",
|
||||
"jollycv",
|
||||
"jumpnbump",
|
||||
@@ -1650,6 +1688,7 @@
|
||||
"mrboom",
|
||||
"mu",
|
||||
"mupen64plus_next",
|
||||
"n64emu",
|
||||
"native32emu",
|
||||
"nekop2",
|
||||
"neocd",
|
||||
@@ -1665,11 +1704,13 @@
|
||||
"omicron",
|
||||
"openlara",
|
||||
"opera",
|
||||
"parallel_dc",
|
||||
"parallel_n64",
|
||||
"pcem",
|
||||
"pcsx_rearmed",
|
||||
"pd777",
|
||||
"picodrive",
|
||||
"piece",
|
||||
"play",
|
||||
"playdiaemu",
|
||||
"pocketcdg",
|
||||
@@ -1835,6 +1876,7 @@
|
||||
"hatarib",
|
||||
"hbmame",
|
||||
"holani",
|
||||
"hyperscanemu",
|
||||
"irogb",
|
||||
"jaxe",
|
||||
"jollycv",
|
||||
@@ -1888,12 +1930,14 @@
|
||||
"o2em",
|
||||
"oberon",
|
||||
"opera",
|
||||
"parallel_dc",
|
||||
"parallel_n64",
|
||||
"pcee2",
|
||||
"pcsx2",
|
||||
"pcsx_rearmed",
|
||||
"pd777",
|
||||
"picodrive",
|
||||
"piece",
|
||||
"play",
|
||||
"playdiaemu",
|
||||
"pocketcdg",
|
||||
@@ -1940,6 +1984,7 @@
|
||||
"tia",
|
||||
"tyrquake",
|
||||
"uw8",
|
||||
"uzdoom",
|
||||
"uzem",
|
||||
"vaporspec",
|
||||
"vba_next",
|
||||
@@ -2026,6 +2071,7 @@
|
||||
"doukutsu_rs",
|
||||
"easyrpg",
|
||||
"ecwolf",
|
||||
"eduke32",
|
||||
"emuscv",
|
||||
"ep128emu_core",
|
||||
"fbalpha",
|
||||
@@ -2068,11 +2114,14 @@
|
||||
"hatarib",
|
||||
"hbmame",
|
||||
"holani",
|
||||
"hyperscanemu",
|
||||
"hypseushw",
|
||||
"irogb",
|
||||
"jaxe",
|
||||
"jollycv",
|
||||
"jumpnbump",
|
||||
"kronos",
|
||||
"linuxloader",
|
||||
"lowresnx",
|
||||
"lutro",
|
||||
"m2000",
|
||||
@@ -2111,6 +2160,7 @@
|
||||
"mrboom",
|
||||
"mu",
|
||||
"mupen64plus_next",
|
||||
"n64emu",
|
||||
"native32emu",
|
||||
"nekop2",
|
||||
"neocd",
|
||||
@@ -2124,10 +2174,13 @@
|
||||
"nxengine",
|
||||
"o2em",
|
||||
"oberon",
|
||||
"odin",
|
||||
"omicron",
|
||||
"openlara",
|
||||
"openmsx",
|
||||
"opera",
|
||||
"panda3ds",
|
||||
"parallel_dc",
|
||||
"parallel_n64",
|
||||
"pcee2",
|
||||
"pcem",
|
||||
@@ -2135,6 +2188,7 @@
|
||||
"pcsx_rearmed",
|
||||
"pd777",
|
||||
"picodrive",
|
||||
"piece",
|
||||
"play",
|
||||
"playdiaemu",
|
||||
"pocketcdg",
|
||||
@@ -2187,6 +2241,7 @@
|
||||
"tic80",
|
||||
"tyrquake",
|
||||
"uw8",
|
||||
"uzdoom",
|
||||
"uzem",
|
||||
"vaporspec",
|
||||
"vba_next",
|
||||
@@ -2274,6 +2329,7 @@
|
||||
"dosbox_svn",
|
||||
"easyrpg",
|
||||
"ecwolf",
|
||||
"eduke32",
|
||||
"emuscv",
|
||||
"ep128emu_core",
|
||||
"fbalpha2012",
|
||||
@@ -2315,13 +2371,16 @@
|
||||
"hatarib",
|
||||
"hbmame",
|
||||
"holani",
|
||||
"hyperscanemu",
|
||||
"irogb",
|
||||
"jaxe",
|
||||
"jollycv",
|
||||
"jumpnbump",
|
||||
"kronos",
|
||||
"linuxloader",
|
||||
"lowresnx",
|
||||
"lutro",
|
||||
"m2000",
|
||||
"mame",
|
||||
"mame2000",
|
||||
"mame2003",
|
||||
@@ -2355,6 +2414,7 @@
|
||||
"mojozork",
|
||||
"mrboom",
|
||||
"mu",
|
||||
"mupen64plus_next",
|
||||
"native32emu",
|
||||
"nekop2",
|
||||
"neocd",
|
||||
@@ -2367,15 +2427,19 @@
|
||||
"nxengine",
|
||||
"o2em",
|
||||
"oberon",
|
||||
"odin",
|
||||
"omicron",
|
||||
"openlara",
|
||||
"openmsx",
|
||||
"opera",
|
||||
"parallel_dc",
|
||||
"parallel_n64",
|
||||
"pcee2",
|
||||
"pcsx2",
|
||||
"pcsx_rearmed",
|
||||
"pd777",
|
||||
"picodrive",
|
||||
"piece",
|
||||
"play",
|
||||
"playdiaemu",
|
||||
"pocketcdg",
|
||||
@@ -2425,6 +2489,7 @@
|
||||
"tic80",
|
||||
"tyrquake",
|
||||
"uw8",
|
||||
"uzdoom",
|
||||
"uzem",
|
||||
"vaporspec",
|
||||
"vba_next",
|
||||
@@ -2509,6 +2574,7 @@
|
||||
"dosbox_svn",
|
||||
"easyrpg",
|
||||
"ecwolf",
|
||||
"eduke32",
|
||||
"emuscv",
|
||||
"ep128emu_core",
|
||||
"fbalpha2012",
|
||||
@@ -2550,13 +2616,16 @@
|
||||
"hatarib",
|
||||
"hbmame",
|
||||
"holani",
|
||||
"hyperscanemu",
|
||||
"irogb",
|
||||
"jaxe",
|
||||
"jollycv",
|
||||
"jumpnbump",
|
||||
"kronos",
|
||||
"linuxloader",
|
||||
"lowresnx",
|
||||
"lutro",
|
||||
"m2000",
|
||||
"mame",
|
||||
"mame2000",
|
||||
"mame2003",
|
||||
@@ -2590,6 +2659,7 @@
|
||||
"mojozork",
|
||||
"mrboom",
|
||||
"mu",
|
||||
"mupen64plus_next",
|
||||
"native32emu",
|
||||
"nekop2",
|
||||
"neocd",
|
||||
@@ -2602,15 +2672,19 @@
|
||||
"nxengine",
|
||||
"o2em",
|
||||
"oberon",
|
||||
"odin",
|
||||
"omicron",
|
||||
"openlara",
|
||||
"openmsx",
|
||||
"opera",
|
||||
"parallel_dc",
|
||||
"parallel_n64",
|
||||
"pcee2",
|
||||
"pcsx2",
|
||||
"pcsx_rearmed",
|
||||
"pd777",
|
||||
"picodrive",
|
||||
"piece",
|
||||
"play",
|
||||
"playdiaemu",
|
||||
"pocketcdg",
|
||||
@@ -2660,6 +2734,7 @@
|
||||
"tic80",
|
||||
"tyrquake",
|
||||
"uw8",
|
||||
"uzdoom",
|
||||
"uzem",
|
||||
"vaporspec",
|
||||
"vba_next",
|
||||
@@ -2982,6 +3057,7 @@
|
||||
"hatarib",
|
||||
"hbmame",
|
||||
"holani",
|
||||
"hyperscanemu",
|
||||
"jaxe",
|
||||
"jollycv",
|
||||
"jumpnbump",
|
||||
@@ -3023,6 +3099,7 @@
|
||||
"mrboom",
|
||||
"mu",
|
||||
"mupen64plus_next",
|
||||
"n64emu",
|
||||
"native32emu",
|
||||
"nekop2",
|
||||
"neocd",
|
||||
@@ -3038,11 +3115,13 @@
|
||||
"omicron",
|
||||
"openlara",
|
||||
"opera",
|
||||
"parallel_dc",
|
||||
"parallel_n64",
|
||||
"pcem",
|
||||
"pcsx_rearmed",
|
||||
"pd777",
|
||||
"picodrive",
|
||||
"piece",
|
||||
"play",
|
||||
"playdiaemu",
|
||||
"pocketcdg",
|
||||
@@ -3207,6 +3286,7 @@
|
||||
"hatarib",
|
||||
"hbmame",
|
||||
"holani",
|
||||
"hyperscanemu",
|
||||
"jaxe",
|
||||
"jollycv",
|
||||
"jumpnbump",
|
||||
@@ -3248,6 +3328,7 @@
|
||||
"mrboom",
|
||||
"mu",
|
||||
"mupen64plus_next",
|
||||
"n64emu",
|
||||
"native32emu",
|
||||
"nekop2",
|
||||
"neocd",
|
||||
@@ -3263,11 +3344,13 @@
|
||||
"omicron",
|
||||
"openlara",
|
||||
"opera",
|
||||
"parallel_dc",
|
||||
"parallel_n64",
|
||||
"pcem",
|
||||
"pcsx_rearmed",
|
||||
"pd777",
|
||||
"picodrive",
|
||||
"piece",
|
||||
"play",
|
||||
"playdiaemu",
|
||||
"pocketcdg",
|
||||
@@ -3400,6 +3483,7 @@
|
||||
"doukutsu_rs",
|
||||
"easyrpg",
|
||||
"ecwolf",
|
||||
"eduke32",
|
||||
"emuscv",
|
||||
"ep128emu_core",
|
||||
"fbalpha",
|
||||
@@ -3442,11 +3526,14 @@
|
||||
"hatarib",
|
||||
"hbmame",
|
||||
"holani",
|
||||
"hyperscanemu",
|
||||
"hypseushw",
|
||||
"irogb",
|
||||
"jaxe",
|
||||
"jollycv",
|
||||
"jumpnbump",
|
||||
"kronos",
|
||||
"linuxloader",
|
||||
"lowresnx",
|
||||
"lutro",
|
||||
"m2000",
|
||||
@@ -3485,6 +3572,7 @@
|
||||
"mrboom",
|
||||
"mu",
|
||||
"mupen64plus_next",
|
||||
"n64emu",
|
||||
"native32emu",
|
||||
"nekop2",
|
||||
"neocd",
|
||||
@@ -3498,10 +3586,13 @@
|
||||
"nxengine",
|
||||
"o2em",
|
||||
"oberon",
|
||||
"odin",
|
||||
"omicron",
|
||||
"openlara",
|
||||
"openmsx",
|
||||
"opera",
|
||||
"panda3ds",
|
||||
"parallel_dc",
|
||||
"parallel_n64",
|
||||
"pcee2",
|
||||
"pcem",
|
||||
@@ -3509,6 +3600,7 @@
|
||||
"pcsx_rearmed",
|
||||
"pd777",
|
||||
"picodrive",
|
||||
"piece",
|
||||
"play",
|
||||
"playdiaemu",
|
||||
"pocketcdg",
|
||||
@@ -3561,6 +3653,7 @@
|
||||
"tic80",
|
||||
"tyrquake",
|
||||
"uw8",
|
||||
"uzdoom",
|
||||
"uzem",
|
||||
"vaporspec",
|
||||
"vba_next",
|
||||
@@ -4147,6 +4240,7 @@
|
||||
"gpsp",
|
||||
"gw",
|
||||
"handy",
|
||||
"hatari",
|
||||
"hatarib",
|
||||
"jaxe",
|
||||
"jumpnbump",
|
||||
@@ -4183,6 +4277,7 @@
|
||||
"nxengine",
|
||||
"o2em",
|
||||
"opera",
|
||||
"parallel_dc",
|
||||
"pcsx_rearmed",
|
||||
"pd777",
|
||||
"picodrive",
|
||||
@@ -4549,6 +4644,7 @@
|
||||
"gpsp",
|
||||
"gw",
|
||||
"handy",
|
||||
"hatari",
|
||||
"hatarib",
|
||||
"jaxe",
|
||||
"jumpnbump",
|
||||
@@ -4585,6 +4681,7 @@
|
||||
"nxengine",
|
||||
"o2em",
|
||||
"opera",
|
||||
"parallel_dc",
|
||||
"pcsx_rearmed",
|
||||
"pd777",
|
||||
"picodrive",
|
||||
@@ -5022,6 +5119,7 @@
|
||||
"doukutsu_rs",
|
||||
"easyrpg",
|
||||
"ecwolf",
|
||||
"eduke32",
|
||||
"emuscv",
|
||||
"ep128emu_core",
|
||||
"fbalpha2012",
|
||||
@@ -5062,6 +5160,7 @@
|
||||
"hatarib",
|
||||
"hbmame",
|
||||
"holani",
|
||||
"hyperscanemu",
|
||||
"irogb",
|
||||
"jaxe",
|
||||
"jollycv",
|
||||
@@ -5115,14 +5214,17 @@
|
||||
"nxengine",
|
||||
"o2em",
|
||||
"oberon",
|
||||
"openmsx",
|
||||
"opera",
|
||||
"panda3ds",
|
||||
"parallel_dc",
|
||||
"parallel_n64",
|
||||
"pcee2",
|
||||
"pcsx2",
|
||||
"pcsx_rearmed",
|
||||
"pd777",
|
||||
"picodrive",
|
||||
"piece",
|
||||
"play",
|
||||
"playdiaemu",
|
||||
"pocketcdg",
|
||||
@@ -5175,6 +5277,7 @@
|
||||
"tic80",
|
||||
"tyrquake",
|
||||
"uw8",
|
||||
"uzdoom",
|
||||
"uzem",
|
||||
"vaporspec",
|
||||
"vba_next",
|
||||
@@ -5302,6 +5405,7 @@
|
||||
"hbmame",
|
||||
"higan_sfc",
|
||||
"holani",
|
||||
"hyperscanemu",
|
||||
"irogb",
|
||||
"ishiiruka",
|
||||
"jaxe",
|
||||
@@ -5356,14 +5460,17 @@
|
||||
"o2em",
|
||||
"oberon",
|
||||
"openlara",
|
||||
"openmsx",
|
||||
"opera",
|
||||
"panda3ds",
|
||||
"parallel_dc",
|
||||
"parallel_n64",
|
||||
"pcee2",
|
||||
"pcsx2",
|
||||
"pcsx_rearmed",
|
||||
"pd777",
|
||||
"picodrive",
|
||||
"piece",
|
||||
"play",
|
||||
"playdiaemu",
|
||||
"pocketcdg",
|
||||
@@ -5504,6 +5611,7 @@
|
||||
"doukutsu_rs",
|
||||
"easyrpg",
|
||||
"ecwolf",
|
||||
"eduke32",
|
||||
"emuscv",
|
||||
"ep128emu_core",
|
||||
"fbalpha",
|
||||
@@ -5546,11 +5654,14 @@
|
||||
"hatarib",
|
||||
"hbmame",
|
||||
"holani",
|
||||
"hyperscanemu",
|
||||
"hypseushw",
|
||||
"irogb",
|
||||
"jaxe",
|
||||
"jollycv",
|
||||
"jumpnbump",
|
||||
"kronos",
|
||||
"linuxloader",
|
||||
"lowresnx",
|
||||
"lutro",
|
||||
"m2000",
|
||||
@@ -5589,6 +5700,7 @@
|
||||
"mrboom",
|
||||
"mu",
|
||||
"mupen64plus_next",
|
||||
"n64emu",
|
||||
"native32emu",
|
||||
"nekop2",
|
||||
"neocd",
|
||||
@@ -5602,10 +5714,13 @@
|
||||
"nxengine",
|
||||
"o2em",
|
||||
"oberon",
|
||||
"odin",
|
||||
"omicron",
|
||||
"openlara",
|
||||
"openmsx",
|
||||
"opera",
|
||||
"panda3ds",
|
||||
"parallel_dc",
|
||||
"parallel_n64",
|
||||
"pcee2",
|
||||
"pcem",
|
||||
@@ -5613,6 +5728,7 @@
|
||||
"pcsx_rearmed",
|
||||
"pd777",
|
||||
"picodrive",
|
||||
"piece",
|
||||
"play",
|
||||
"playdiaemu",
|
||||
"pocketcdg",
|
||||
@@ -5665,6 +5781,7 @@
|
||||
"tic80",
|
||||
"tyrquake",
|
||||
"uw8",
|
||||
"uzdoom",
|
||||
"uzem",
|
||||
"vaporspec",
|
||||
"vba_next",
|
||||
@@ -6272,6 +6389,7 @@
|
||||
"gpsp",
|
||||
"gw",
|
||||
"handy",
|
||||
"hatari",
|
||||
"hatarib",
|
||||
"jaxe",
|
||||
"jumpnbump",
|
||||
@@ -6308,6 +6426,7 @@
|
||||
"nxengine",
|
||||
"o2em",
|
||||
"opera",
|
||||
"parallel_dc",
|
||||
"pcsx_rearmed",
|
||||
"pd777",
|
||||
"picodrive",
|
||||
@@ -6418,6 +6537,7 @@
|
||||
"doukutsu_rs",
|
||||
"easyrpg",
|
||||
"ecwolf",
|
||||
"eduke32",
|
||||
"emuscv",
|
||||
"ep128emu_core",
|
||||
"fbalpha2012",
|
||||
@@ -6458,6 +6578,7 @@
|
||||
"hatarib",
|
||||
"hbmame",
|
||||
"holani",
|
||||
"hyperscanemu",
|
||||
"irogb",
|
||||
"jaxe",
|
||||
"jollycv",
|
||||
@@ -6511,11 +6632,13 @@
|
||||
"o2em",
|
||||
"oberon",
|
||||
"opera",
|
||||
"parallel_dc",
|
||||
"pcee2",
|
||||
"pcsx2",
|
||||
"pcsx_rearmed",
|
||||
"pd777",
|
||||
"picodrive",
|
||||
"piece",
|
||||
"play",
|
||||
"playdiaemu",
|
||||
"pocketcdg",
|
||||
@@ -6561,6 +6684,7 @@
|
||||
"tia",
|
||||
"tyrquake",
|
||||
"uw8",
|
||||
"uzdoom",
|
||||
"uzem",
|
||||
"vaporspec",
|
||||
"vba_next",
|
||||
@@ -6635,6 +6759,7 @@
|
||||
"dosbox_pure",
|
||||
"dosbox_svn",
|
||||
"ecwolf",
|
||||
"eduke32",
|
||||
"emuscv",
|
||||
"ep128emu_core",
|
||||
"fbalpha2012",
|
||||
@@ -6674,6 +6799,7 @@
|
||||
"hatarib",
|
||||
"hbmame",
|
||||
"holani",
|
||||
"hyperscanemu",
|
||||
"jaxe",
|
||||
"jollycv",
|
||||
"jumpnbump",
|
||||
@@ -6723,6 +6849,7 @@
|
||||
"oberon",
|
||||
"openlara",
|
||||
"opera",
|
||||
"parallel_dc",
|
||||
"parallel_n64",
|
||||
"pcsx_rearmed",
|
||||
"pd777",
|
||||
@@ -6773,6 +6900,7 @@
|
||||
"tyrquake",
|
||||
"uae4arm",
|
||||
"uw8",
|
||||
"uzdoom",
|
||||
"uzem",
|
||||
"vaporspec",
|
||||
"vba_next",
|
||||
@@ -6803,10 +6931,12 @@
|
||||
"blastem",
|
||||
"cemu",
|
||||
"dolphin",
|
||||
"eduke32",
|
||||
"emuscv",
|
||||
"pcee2",
|
||||
"pcsx2",
|
||||
"rustynes"
|
||||
"rustynes",
|
||||
"uzdoom"
|
||||
],
|
||||
"webos-armv7a": [
|
||||
"2048",
|
||||
@@ -6852,6 +6982,7 @@
|
||||
"dosbox_pure",
|
||||
"dosbox_svn",
|
||||
"ecwolf",
|
||||
"eduke32",
|
||||
"emuscv",
|
||||
"ep128emu_core",
|
||||
"fbalpha2012",
|
||||
@@ -6891,6 +7022,7 @@
|
||||
"hatarib",
|
||||
"hbmame",
|
||||
"holani",
|
||||
"hyperscanemu",
|
||||
"jaxe",
|
||||
"jollycv",
|
||||
"jumpnbump",
|
||||
@@ -6940,6 +7072,7 @@
|
||||
"oberon",
|
||||
"openlara",
|
||||
"opera",
|
||||
"parallel_dc",
|
||||
"parallel_n64",
|
||||
"pcsx_rearmed",
|
||||
"pd777",
|
||||
@@ -6990,6 +7123,7 @@
|
||||
"tyrquake",
|
||||
"uae4arm",
|
||||
"uw8",
|
||||
"uzdoom",
|
||||
"uzem",
|
||||
"vaporspec",
|
||||
"vba_next",
|
||||
@@ -7104,6 +7238,7 @@
|
||||
"hatarib",
|
||||
"hbmame",
|
||||
"holani",
|
||||
"hyperscanemu",
|
||||
"jaxe",
|
||||
"jollycv",
|
||||
"jumpnbump",
|
||||
@@ -7143,6 +7278,7 @@
|
||||
"mrboom",
|
||||
"mu",
|
||||
"mupen64plus_next",
|
||||
"n64emu",
|
||||
"native32emu",
|
||||
"nekop2",
|
||||
"neocd",
|
||||
@@ -7155,11 +7291,13 @@
|
||||
"o2em",
|
||||
"oberon",
|
||||
"opera",
|
||||
"parallel_dc",
|
||||
"parallel_n64",
|
||||
"pcem",
|
||||
"pcsx_rearmed",
|
||||
"pd777",
|
||||
"picodrive",
|
||||
"piece",
|
||||
"play",
|
||||
"playdiaemu",
|
||||
"pocketcdg",
|
||||
@@ -7294,6 +7432,7 @@
|
||||
"doukutsu_rs",
|
||||
"easyrpg",
|
||||
"ecwolf",
|
||||
"eduke32",
|
||||
"emuscv",
|
||||
"ep128emu_core",
|
||||
"fbalpha",
|
||||
@@ -7335,11 +7474,14 @@
|
||||
"hatarib",
|
||||
"hbmame",
|
||||
"holani",
|
||||
"hyperscanemu",
|
||||
"hypseushw",
|
||||
"irogb",
|
||||
"jaxe",
|
||||
"jollycv",
|
||||
"jumpnbump",
|
||||
"kronos",
|
||||
"linuxloader",
|
||||
"lowresnx",
|
||||
"lutro",
|
||||
"m2000",
|
||||
@@ -7378,6 +7520,7 @@
|
||||
"mrboom",
|
||||
"mu",
|
||||
"mupen64plus_next",
|
||||
"n64emu",
|
||||
"native32emu",
|
||||
"nekop2",
|
||||
"neocd",
|
||||
@@ -7391,9 +7534,12 @@
|
||||
"nxengine",
|
||||
"o2em",
|
||||
"oberon",
|
||||
"odin",
|
||||
"openlara",
|
||||
"openmsx",
|
||||
"opera",
|
||||
"panda3ds",
|
||||
"parallel_dc",
|
||||
"parallel_n64",
|
||||
"pcee2",
|
||||
"pcem",
|
||||
@@ -7401,6 +7547,7 @@
|
||||
"pcsx_rearmed",
|
||||
"pd777",
|
||||
"picodrive",
|
||||
"piece",
|
||||
"play",
|
||||
"playdiaemu",
|
||||
"pocketcdg",
|
||||
@@ -7453,6 +7600,7 @@
|
||||
"tic80",
|
||||
"tyrquake",
|
||||
"uw8",
|
||||
"uzdoom",
|
||||
"uzem",
|
||||
"vaporspec",
|
||||
"vba_next",
|
||||
@@ -7543,6 +7691,7 @@
|
||||
"doukutsu_rs",
|
||||
"easyrpg",
|
||||
"ecwolf",
|
||||
"eduke32",
|
||||
"emuscv",
|
||||
"ep128emu_core",
|
||||
"fbalpha",
|
||||
@@ -7585,11 +7734,14 @@
|
||||
"hatarib",
|
||||
"hbmame",
|
||||
"holani",
|
||||
"hyperscanemu",
|
||||
"hypseushw",
|
||||
"irogb",
|
||||
"jaxe",
|
||||
"jollycv",
|
||||
"jumpnbump",
|
||||
"kronos",
|
||||
"linuxloader",
|
||||
"lowresnx",
|
||||
"lutro",
|
||||
"m2000",
|
||||
@@ -7628,6 +7780,7 @@
|
||||
"mrboom",
|
||||
"mu",
|
||||
"mupen64plus_next",
|
||||
"n64emu",
|
||||
"native32emu",
|
||||
"nekop2",
|
||||
"neocd",
|
||||
@@ -7641,10 +7794,13 @@
|
||||
"nxengine",
|
||||
"o2em",
|
||||
"oberon",
|
||||
"odin",
|
||||
"omicron",
|
||||
"openlara",
|
||||
"openmsx",
|
||||
"opera",
|
||||
"panda3ds",
|
||||
"parallel_dc",
|
||||
"parallel_n64",
|
||||
"pcee2",
|
||||
"pcem",
|
||||
@@ -7652,6 +7808,7 @@
|
||||
"pcsx_rearmed",
|
||||
"pd777",
|
||||
"picodrive",
|
||||
"piece",
|
||||
"play",
|
||||
"playdiaemu",
|
||||
"pocketcdg",
|
||||
@@ -7704,6 +7861,7 @@
|
||||
"tic80",
|
||||
"tyrquake",
|
||||
"uw8",
|
||||
"uzdoom",
|
||||
"uzem",
|
||||
"vaporspec",
|
||||
"vba_next",
|
||||
|
||||
@@ -1,7 +1,7 @@
|
||||
platform: MiSTer FPGA
|
||||
version: '2026-09-29'
|
||||
version: '2026-11-04'
|
||||
homepage: "https://misterfpga.org"
|
||||
source: "https://raw.githubusercontent.com/ajgowans/BiosDB_MiSTer/7cfa7a3e84af078d0efba74fa46c50357c4f567c/bios_db.json.zip"
|
||||
source: "https://raw.githubusercontent.com/ajgowans/BiosDB_MiSTer/06aad7b223950c974dcccc48498ab57f6477cfd7/bios_db.json.zip"
|
||||
base_destination: games
|
||||
hash_type: md5
|
||||
verification_mode: md5
|
||||
@@ -142,6 +142,22 @@ systems:
|
||||
native_id: SCV
|
||||
name: Epoch Super Cassette Vision
|
||||
docs: "https://github.com/MiSTer-devel/SuperCassetteVision_MiSTer"
|
||||
fm-7:
|
||||
files:
|
||||
- name: boot.rom
|
||||
destination: FM-7/boot.rom
|
||||
required: true
|
||||
md5: a330817f8f7ced752a7bcc8dfba8fd2e
|
||||
size: 131072
|
||||
native_system: FM-7
|
||||
- name: boot1.rom
|
||||
destination: FM-7/boot1.rom
|
||||
required: true
|
||||
md5: 513893d316e2b45493c6306aca657239
|
||||
size: 131072
|
||||
native_system: FM-7
|
||||
native_id: FM-7
|
||||
name: fm-7
|
||||
gamate:
|
||||
files:
|
||||
- name: boot.rom
|
||||
@@ -251,7 +267,7 @@ systems:
|
||||
- name: boot.rom
|
||||
destination: PC8801/boot.rom
|
||||
required: true
|
||||
md5: f1ce4d5f83717093982e5f75516b8f3c
|
||||
md5: 9f3ec09d19a0768f01fdbf2826ed3253
|
||||
size: 393216
|
||||
native_system: PC8801
|
||||
native_id: PC8801
|
||||
@@ -471,6 +487,34 @@ systems:
|
||||
native_id: Saturn
|
||||
name: Sega Saturn
|
||||
docs: "https://github.com/MiSTer-devel/Saturn_MiSTer"
|
||||
sharpx1:
|
||||
files:
|
||||
- name: boot.rom
|
||||
destination: SharpX1/boot.rom
|
||||
required: true
|
||||
md5: a028f990cd1f4dbaa72ed8da771916be
|
||||
size: 36864
|
||||
native_system: SharpX1
|
||||
- name: boot1.rom
|
||||
destination: SharpX1/boot1.rom
|
||||
required: true
|
||||
md5: ba7285001eed1ba235ed6de199cf4cb5
|
||||
size: 8192
|
||||
native_system: SharpX1
|
||||
- name: boot2.rom
|
||||
destination: SharpX1/boot2.rom
|
||||
required: true
|
||||
md5: eeeea1cd29c6e0e8b094790ae969bfa7
|
||||
size: 4096
|
||||
native_system: SharpX1
|
||||
- name: boot3.rom
|
||||
destination: SharpX1/boot3.rom
|
||||
required: true
|
||||
md5: fd90317193bb20c8045bf6eebc921919
|
||||
size: 262144
|
||||
native_system: SharpX1
|
||||
native_id: SharpX1
|
||||
name: sharpx1
|
||||
snk-neogeo:
|
||||
files:
|
||||
- name: 000-lo.lo
|
||||
@@ -643,12 +687,18 @@ systems:
|
||||
name: Tiger Game.com
|
||||
videobrain:
|
||||
files:
|
||||
- name: boot.rom
|
||||
destination: VideoBrain/boot.rom
|
||||
- name: boot0.rom
|
||||
destination: VideoBrain/boot0.rom
|
||||
required: true
|
||||
md5: e1e7f6120eb8e23ca5c63b4246f04f18
|
||||
size: 4096
|
||||
native_system: VideoBrain
|
||||
- name: boot1.rom
|
||||
destination: VideoBrain/boot1.rom
|
||||
required: true
|
||||
md5: 41de2bceffb8257930a16e03fc431550
|
||||
size: 2048
|
||||
native_system: VideoBrain
|
||||
native_id: VideoBrain
|
||||
name: videobrain
|
||||
wonderswan:
|
||||
|
||||
+25
-1
@@ -2,7 +2,7 @@ platform: RetroArch
|
||||
version: v1.22.2
|
||||
dat_version: v1.19.0
|
||||
homepage: "https://www.retroarch.com"
|
||||
source: "https://github.com/libretro/libretro-database/blob/12c21cf79f1e20eff6ac68b80875816c717d0a7a/dat/System.dat"
|
||||
source: "https://github.com/libretro/libretro-database/blob/c4e17d41ec1bb744fb064f7cefeb61b878fc5d64/dat/System.dat"
|
||||
base_destination: system
|
||||
hash_type: sha1
|
||||
verification_mode: existence
|
||||
@@ -2385,6 +2385,30 @@ systems:
|
||||
native_id: Phillips - Videopac+
|
||||
philips-cdi:
|
||||
files:
|
||||
- name: cdi200.rom
|
||||
destination: cdi200.rom
|
||||
required: true
|
||||
sha1: d961de803c89b3d1902d656ceb9ce7c02dccb40a
|
||||
md5: 2969341396aa61e0143dc2351aaa6ef6
|
||||
crc32: 40c4e6b9
|
||||
size: 524288
|
||||
native_system: Philips - CD-i
|
||||
- name: cdi220b.rom
|
||||
destination: cdi220b.rom
|
||||
required: true
|
||||
sha1: 53360a1f21ddac952e95306ced64186a3fc0b93e
|
||||
md5: ac0d468be366779c9df633be98da250a
|
||||
crc32: 279683ca
|
||||
size: 524288
|
||||
native_system: Philips - CD-i
|
||||
- name: vmpega.rom
|
||||
destination: vmpega.rom
|
||||
required: true
|
||||
sha1: be407fbc102f1731a0862554855e963e5a47c17b
|
||||
md5: 53ba3bf7443187a657baa272d01d3771
|
||||
crc32: db264e8b
|
||||
size: 262144
|
||||
native_system: Philips - CD-i
|
||||
- name: cdimono1.zip
|
||||
destination: cdimono1.zip
|
||||
required: true
|
||||
|
||||
+216
-168
@@ -1,7 +1,7 @@
|
||||
platform: RetroBat
|
||||
version: 8.3.1
|
||||
homepage: "https://www.retrobat.org"
|
||||
source: "https://raw.githubusercontent.com/RetroBat-Official/emulatorlauncher/48cdc61623c5943bb17647b80a60d32d395c3725/batocera-systems/Resources/batocera-systems.json"
|
||||
source: "https://raw.githubusercontent.com/RetroBat-Official/emulatorlauncher/ca486005f598551600d04a33b3156a5d764368d6/batocera-systems/Resources/batocera-systems.json"
|
||||
base_destination: bios
|
||||
hash_type: md5
|
||||
verification_mode: md5
|
||||
@@ -523,7 +523,6 @@ systems:
|
||||
- name: advision.zip
|
||||
destination: advision.zip
|
||||
required: true
|
||||
md5: 1c08606408029751fd30ac91d2bf30d5
|
||||
native_system: advision
|
||||
native_path: bios/advision.zip
|
||||
native_name: Adventure Vision
|
||||
@@ -605,7 +604,6 @@ systems:
|
||||
- name: apfm1000.zip
|
||||
destination: apfm1000.zip
|
||||
required: true
|
||||
md5: b197db12f7a13827717bbeb7cfd9542a
|
||||
native_system: apfm1000
|
||||
native_path: bios/apfm1000.zip
|
||||
native_name: APF M-1000
|
||||
@@ -817,7 +815,6 @@ systems:
|
||||
- name: ar_bios.zip
|
||||
destination: ar_bios.zip
|
||||
required: true
|
||||
md5: 37e9746f4491aa2df9a83729d1a93620
|
||||
native_system: arcadia
|
||||
native_path: bios/ar_bios.zip
|
||||
native_name: Arcadia 2001
|
||||
@@ -854,7 +851,6 @@ systems:
|
||||
- name: astrocde.zip
|
||||
destination: astrocde.zip
|
||||
required: true
|
||||
md5: f58a3823ab308ef0a02b498d126e5d96
|
||||
native_system: astrocde
|
||||
native_path: bios/astrocde.zip
|
||||
native_name: Astrocade
|
||||
@@ -1037,14 +1033,12 @@ systems:
|
||||
- name: awbios.zip
|
||||
destination: dc/awbios.zip
|
||||
required: true
|
||||
md5: 0ec5ae5b5a5c4959fa8b43fcf8687f7c
|
||||
native_system: atomiswave
|
||||
native_path: bios/dc/awbios.zip
|
||||
native_name: Atomiswave
|
||||
- name: naomi.zip
|
||||
destination: dc/naomi.zip
|
||||
required: true
|
||||
md5: eb4099aeb42ef089cfe94f8fe95e51f6
|
||||
native_system: naomi
|
||||
native_path: bios/dc/naomi.zip
|
||||
native_name: Naomi
|
||||
@@ -1224,7 +1218,6 @@ systems:
|
||||
- name: casloopy.zip
|
||||
destination: casloopy.zip
|
||||
required: true
|
||||
md5: 0e1d8dc0110ecf8201c0cef11ef4a858
|
||||
native_system: loopy
|
||||
native_path: bios/casloopy.zip
|
||||
native_name: Casio Loopy
|
||||
@@ -1575,22 +1568,10 @@ systems:
|
||||
name: FM-7
|
||||
fmtowns:
|
||||
files:
|
||||
- name: fmtowns.zip
|
||||
destination: fmtowns.zip
|
||||
required: true
|
||||
native_system: fmtowns
|
||||
native_path: bios/fmtowns.zip
|
||||
native_name: FMTowns
|
||||
- name: fmtownsux.zip
|
||||
destination: fmtownsux.zip
|
||||
required: true
|
||||
native_system: fmtowns
|
||||
native_path: bios/fmtownsux.zip
|
||||
native_name: FMTowns
|
||||
- name: FMT_DIC.ROM
|
||||
destination: fmtowns/FMT_DIC.ROM
|
||||
required: true
|
||||
md5: 8fa4e553f28cfc0c30a0a1e589799942
|
||||
md5: 34847786d7de94b5d1133c956ab1d75d
|
||||
native_system: fmtowns
|
||||
native_path: bios/fmtowns/FMT_DIC.ROM
|
||||
native_name: FMTowns
|
||||
@@ -1601,58 +1582,26 @@ systems:
|
||||
native_system: fmtowns
|
||||
native_path: bios/fmtowns/FMT_DOS.ROM
|
||||
native_name: FMTowns
|
||||
- name: FMT_F20.ROM
|
||||
destination: fmtowns/FMT_F20.ROM
|
||||
required: true
|
||||
md5: ac0c7021e9bf48ca84b51ab651169a88
|
||||
native_system: fmtowns
|
||||
native_path: bios/fmtowns/FMT_F20.ROM
|
||||
native_name: FMTowns
|
||||
- name: FMT_FNT.ROM
|
||||
destination: fmtowns/FMT_FNT.ROM
|
||||
required: true
|
||||
md5: b91300e55b70227ce98b59c5f02fa8dd
|
||||
md5: eb44f2093f51eb7159f03e170b13af76
|
||||
native_system: fmtowns
|
||||
native_path: bios/fmtowns/FMT_FNT.ROM
|
||||
native_name: FMTowns
|
||||
- name: FMT_SYS.ROM
|
||||
destination: fmtowns/FMT_SYS.ROM
|
||||
required: true
|
||||
md5: 86fb6f7280689259f0ca839dd3dd6cde
|
||||
md5: feaf8c5675151e00cfe3ad27673bff29
|
||||
native_system: fmtowns
|
||||
native_path: bios/fmtowns/FMT_SYS.ROM
|
||||
native_name: FMTowns
|
||||
- name: fmtowns_cd.xml
|
||||
destination: mame/hash/fmtowns_cd.xml
|
||||
required: true
|
||||
native_system: fmtowns
|
||||
native_path: bios/mame/hash/fmtowns_cd.xml
|
||||
native_name: FMTowns
|
||||
- name: fmtowns_flop_cracked.xml
|
||||
destination: mame/hash/fmtowns_flop_cracked.xml
|
||||
required: true
|
||||
native_system: fmtowns
|
||||
native_path: bios/mame/hash/fmtowns_flop_cracked.xml
|
||||
native_name: FMTowns
|
||||
- name: fmtowns_flop_misc.xml
|
||||
destination: mame/hash/fmtowns_flop_misc.xml
|
||||
required: true
|
||||
native_system: fmtowns
|
||||
native_path: bios/mame/hash/fmtowns_flop_misc.xml
|
||||
native_name: FMTowns
|
||||
- name: fmtowns_flop_orig.xml
|
||||
destination: mame/hash/fmtowns_flop_orig.xml
|
||||
required: true
|
||||
native_system: fmtowns
|
||||
native_path: bios/mame/hash/fmtowns_flop_orig.xml
|
||||
native_name: FMTowns
|
||||
name: FMTowns
|
||||
gamate:
|
||||
files:
|
||||
- name: gamate.zip
|
||||
destination: gamate.zip
|
||||
required: true
|
||||
md5: 320bf3d4142fa1043255db7ff87d17c7
|
||||
native_system: gamate
|
||||
native_path: bios/gamate.zip
|
||||
native_name: Gamate
|
||||
@@ -1668,7 +1617,6 @@ systems:
|
||||
- name: gamecom.zip
|
||||
destination: gamecom.zip
|
||||
required: true
|
||||
md5: f2087ed09f7fa8d8856cfafb20dd00dc
|
||||
native_system: gamecom
|
||||
native_path: bios/gamecom.zip
|
||||
native_name: Game.com
|
||||
@@ -1684,7 +1632,6 @@ systems:
|
||||
- name: gamepock.zip
|
||||
destination: gamepock.zip
|
||||
required: true
|
||||
md5: 887479fe3c69a0b935c57a7a738e26c4
|
||||
native_system: gamepock
|
||||
native_path: bios/gamepock.zip
|
||||
native_name: Game Pocket
|
||||
@@ -1730,7 +1677,6 @@ systems:
|
||||
- name: gmaster.zip
|
||||
destination: gmaster.zip
|
||||
required: true
|
||||
md5: 4239d6f44a0d78d27c69f9b95885f48e
|
||||
native_system: gmaster
|
||||
native_path: bios/gmaster.zip
|
||||
native_name: Game Master
|
||||
@@ -1746,7 +1692,6 @@ systems:
|
||||
- name: gp32.zip
|
||||
destination: gp32.zip
|
||||
required: true
|
||||
md5: 8c392f475834218d88533150d36cc84c
|
||||
native_system: gp32
|
||||
native_path: bios/gp32.zip
|
||||
native_name: Game Park 32
|
||||
@@ -1762,14 +1707,12 @@ systems:
|
||||
- name: hikaru.zip
|
||||
destination: hikaru.zip
|
||||
required: true
|
||||
md5: aac601811a25d7b31a3d5f3f1f82f338
|
||||
native_system: hikaru
|
||||
native_path: bios/hikaru.zip
|
||||
native_name: Hikaru
|
||||
- name: mie.zip
|
||||
destination: mie.zip
|
||||
required: true
|
||||
md5: e95415b161121bef35ade12367138c63
|
||||
native_system: hikaru
|
||||
native_path: bios/mie.zip
|
||||
native_name: Hikaru
|
||||
@@ -2323,7 +2266,6 @@ systems:
|
||||
- name: neogeo.zip
|
||||
destination: neogeo.zip
|
||||
required: true
|
||||
md5: dffb72f116d36d025068b23970a4f6df
|
||||
native_system: neogeo
|
||||
native_path: bios/neogeo.zip
|
||||
native_name: NeoGeo
|
||||
@@ -2333,7 +2275,6 @@ systems:
|
||||
- name: neogeo.zip
|
||||
destination: neogeo.zip
|
||||
required: true
|
||||
md5: dffb72f116d36d025068b23970a4f6df
|
||||
native_system: neogeo64
|
||||
native_path: bios/neogeo.zip
|
||||
native_name: Hyper NeoGeo 64
|
||||
@@ -2343,14 +2284,12 @@ systems:
|
||||
- name: neogeo.zip
|
||||
destination: neogeo.zip
|
||||
required: true
|
||||
md5: dffb72f116d36d025068b23970a4f6df
|
||||
native_system: neogeocd
|
||||
native_path: bios/neogeo.zip
|
||||
native_name: NeoGeo CD
|
||||
- name: neocdz.zip
|
||||
destination: neocdz.zip
|
||||
required: true
|
||||
md5: c733b4b7bd30fa849874d96c591c8639
|
||||
native_system: neogeocd
|
||||
native_path: bios/neocdz.zip
|
||||
native_name: NeoGeo CD
|
||||
@@ -2609,7 +2548,6 @@ systems:
|
||||
- name: pegasus.zip
|
||||
destination: pegasus.zip
|
||||
required: true
|
||||
md5: fee37d8140e4fab48aac4fdab2847f7d
|
||||
native_system: pegasus
|
||||
native_path: bios/pegasus.zip
|
||||
native_name: Aamber Pegasus
|
||||
@@ -2638,6 +2576,75 @@ systems:
|
||||
md5: 21038400dc633070a78ad53090c53017
|
||||
native_system: ps2
|
||||
native_path: bios/pcsx2/bios/ps2-0230a-20080220.bin
|
||||
group: ps2
|
||||
native_name: PS2
|
||||
- name: ps2-0230e-20080220.bin
|
||||
destination: pcsx2/bios/ps2-0230e-20080220.bin
|
||||
required: true
|
||||
md5: dc69f0643a3030aaa4797501b483d6c4
|
||||
native_system: ps2
|
||||
native_path: bios/pcsx2/bios/ps2-0230e-20080220.bin
|
||||
group: ps2
|
||||
native_name: PS2
|
||||
- name: ps2-0230j-20080220.bin
|
||||
destination: pcsx2/bios/ps2-0230j-20080220.bin
|
||||
required: true
|
||||
md5: 80ac46fa7e77b8ab4366e86948e54f83
|
||||
native_system: ps2
|
||||
native_path: bios/pcsx2/bios/ps2-0230j-20080220.bin
|
||||
group: ps2
|
||||
native_name: PS2
|
||||
- name: ps2-0250e-20100415.bin
|
||||
destination: pcsx2/bios/ps2-0250e-20100415.bin
|
||||
required: true
|
||||
md5: 93ea3bcee4252627919175ff1b16a1d9
|
||||
native_system: ps2
|
||||
native_path: bios/pcsx2/bios/ps2-0250e-20100415.bin
|
||||
group: ps2
|
||||
native_name: PS2
|
||||
- name: SCPH30004R.bin
|
||||
destination: pcsx2/bios/SCPH30004R.bin
|
||||
required: true
|
||||
md5: 28922c703cc7d2cf856f177f2985b3a9
|
||||
native_system: ps2
|
||||
native_path: bios/pcsx2/bios/SCPH30004R.bin
|
||||
group: ps2
|
||||
native_name: PS2
|
||||
- name: scph39001.bin
|
||||
destination: pcsx2/bios/scph39001.bin
|
||||
required: true
|
||||
md5: d5ce2c7d119f563ce04bc04dbc3a323e
|
||||
native_system: ps2
|
||||
native_path: bios/pcsx2/bios/scph39001.bin
|
||||
group: ps2
|
||||
native_name: PS2
|
||||
- name: ps3_ps2_emu_bios.bin
|
||||
destination: pcsx2/bios/ps3_ps2_emu_bios.bin
|
||||
required: true
|
||||
native_system: ps2
|
||||
native_path: bios/pcsx2/bios/ps3_ps2_emu_bios.bin
|
||||
group: ps2
|
||||
native_name: PS2
|
||||
- name: SCPH-39004_BIOS_V7_EUR_160.BIN
|
||||
destination: pcsx2/bios/SCPH-39004_BIOS_V7_EUR_160.BIN
|
||||
required: true
|
||||
native_system: ps2
|
||||
native_path: bios/pcsx2/bios/SCPH-39004_BIOS_V7_EUR_160.BIN
|
||||
group: ps2
|
||||
native_name: PS2
|
||||
- name: SCPH-39001_BIOS_V7_USA_160.BIN
|
||||
destination: pcsx2/bios/SCPH-39001_BIOS_V7_USA_160.BIN
|
||||
required: true
|
||||
native_system: ps2
|
||||
native_path: bios/pcsx2/bios/SCPH-39001_BIOS_V7_USA_160.BIN
|
||||
group: ps2
|
||||
native_name: PS2
|
||||
- name: SCPH-70000_BIOS_V12_JAP_200.BIN
|
||||
destination: pcsx2/bios/SCPH-70000_BIOS_V12_JAP_200.BIN
|
||||
required: true
|
||||
native_system: ps2
|
||||
native_path: bios/pcsx2/bios/SCPH-70000_BIOS_V12_JAP_200.BIN
|
||||
group: ps2
|
||||
native_name: PS2
|
||||
name: PS2
|
||||
sony-playstation:
|
||||
@@ -2736,7 +2743,6 @@ systems:
|
||||
- name: scv.zip
|
||||
destination: scv.zip
|
||||
required: true
|
||||
md5: 33df021613fb12abe2ad14b9eb17c7fe
|
||||
native_system: scv
|
||||
native_path: bios/scv.zip
|
||||
native_name: Super Cassette Vision
|
||||
@@ -2907,14 +2913,14 @@ systems:
|
||||
required: true
|
||||
native_system: tutor
|
||||
native_path: bios/tutor.zip
|
||||
native_name: APF M-1000
|
||||
native_name: Tomy Tutor
|
||||
- name: tutor.xml
|
||||
destination: mame/hash/tutor.xml
|
||||
required: true
|
||||
native_system: tutor
|
||||
native_path: bios/mame/hash/tutor.xml
|
||||
native_name: APF M-1000
|
||||
name: APF M-1000
|
||||
native_name: Tomy Tutor
|
||||
name: Tomy Tutor
|
||||
vc4000:
|
||||
files:
|
||||
- name: vc4000.xml
|
||||
@@ -3533,7 +3539,7 @@ launchers:
|
||||
search_dir: bios, bios/amiga, bios/Amiga
|
||||
passes_to: copied to <amiberry roms>/kick34005.A500, kickstart_rom_file
|
||||
fails_when_missing: warning, kickstart_rom_file not written
|
||||
source_ref: "emulatorLauncher/Generators/Amiberry.Generator.cs:69-74, 544-548, 686-711"
|
||||
source_ref: "emulatorLauncher/Generators/Amiberry.Generator.cs:69-74, 532-536, 674-699"
|
||||
- emulator: amiberry
|
||||
build: standalone
|
||||
kind: names_searched
|
||||
@@ -3547,7 +3553,7 @@ launchers:
|
||||
search_dir: bios, bios/amiga, bios/Amiga
|
||||
passes_to: copied to <amiberry roms>/kick33180.A500, kickstart_rom_file
|
||||
fails_when_missing: warning, kickstart_rom_file not written
|
||||
source_ref: "emulatorLauncher/Generators/Amiberry.Generator.cs:76-81, 544-548, 686-711"
|
||||
source_ref: "emulatorLauncher/Generators/Amiberry.Generator.cs:76-81, 532-536, 674-699"
|
||||
- emulator: amiberry
|
||||
build: standalone
|
||||
kind: names_searched
|
||||
@@ -3561,7 +3567,7 @@ launchers:
|
||||
search_dir: bios, bios/amiga, bios/Amiga
|
||||
passes_to: copied to <amiberry roms>/kick37175.A500, kickstart_rom_file
|
||||
fails_when_missing: warning, kickstart_rom_file not written
|
||||
source_ref: "emulatorLauncher/Generators/Amiberry.Generator.cs:83-88, 544-548, 686-711"
|
||||
source_ref: "emulatorLauncher/Generators/Amiberry.Generator.cs:83-88, 532-536, 674-699"
|
||||
- emulator: amiberry
|
||||
build: standalone
|
||||
kind: names_searched
|
||||
@@ -3575,7 +3581,7 @@ launchers:
|
||||
search_dir: bios, bios/amiga, bios/Amiga
|
||||
passes_to: copied to <amiberry roms>/kick40063.A600, kickstart_rom_file
|
||||
fails_when_missing: warning, kickstart_rom_file not written
|
||||
source_ref: "emulatorLauncher/Generators/Amiberry.Generator.cs:90-95, 544-548, 686-711"
|
||||
source_ref: "emulatorLauncher/Generators/Amiberry.Generator.cs:90-95, 532-536, 674-699"
|
||||
- emulator: amiberry
|
||||
build: standalone
|
||||
kind: names_searched
|
||||
@@ -3589,8 +3595,8 @@ launchers:
|
||||
search_dir: bios, bios/amiga, bios/Amiga
|
||||
passes_to: copied to <amiberry roms>/kick40068.A1200, kickstart_rom_file
|
||||
fails_when_missing: warning, kickstart_rom_file not written
|
||||
source_ref: "emulatorLauncher/Generators/Amiberry.Generator.cs:97-111, 544-548,\
|
||||
\ 686-711"
|
||||
source_ref: "emulatorLauncher/Generators/Amiberry.Generator.cs:97-111, 532-536,\
|
||||
\ 674-699"
|
||||
- emulator: amiberry
|
||||
build: standalone
|
||||
kind: names_searched
|
||||
@@ -3603,8 +3609,8 @@ launchers:
|
||||
search_dir: bios, bios/amiga, bios/Amiga
|
||||
passes_to: copied to <amiberry roms>/kick40068.A4000, kickstart_rom_file
|
||||
fails_when_missing: warning, kickstart_rom_file not written
|
||||
source_ref: "emulatorLauncher/Generators/Amiberry.Generator.cs:113-127, 544-548,\
|
||||
\ 686-711"
|
||||
source_ref: "emulatorLauncher/Generators/Amiberry.Generator.cs:113-127, 532-536,\
|
||||
\ 674-699"
|
||||
- emulator: amiberry
|
||||
build: standalone
|
||||
kind: names_searched
|
||||
@@ -3618,7 +3624,7 @@ launchers:
|
||||
passes_to: copied to <amiberry roms>/kick40060.CD32, kickstart_rom_file
|
||||
fails_when_missing: warning, kickstart_rom_file not written
|
||||
source_ref: "emulatorLauncher/Generators/Amiberry.Generator.cs:129-134, 138-143,\
|
||||
\ 544-548, 686-711"
|
||||
\ 532-536, 674-699"
|
||||
- emulator: amiberry
|
||||
build: standalone
|
||||
kind: names_searched
|
||||
@@ -3631,8 +3637,8 @@ launchers:
|
||||
search_dir: bios, bios/amiga, bios/Amiga
|
||||
passes_to: copied to <amiberry roms>/kick40060.CD32.ext, kickstart_ext_rom_file
|
||||
fails_when_missing: warning, kickstart_ext_rom_file not written
|
||||
source_ref: "emulatorLauncher/Generators/Amiberry.Generator.cs:129-145, 553-557,\
|
||||
\ 686-711"
|
||||
source_ref: "emulatorLauncher/Generators/Amiberry.Generator.cs:129-145, 541-545,\
|
||||
\ 674-699"
|
||||
- emulator: amiberry
|
||||
build: standalone
|
||||
kind: names_searched
|
||||
@@ -3645,8 +3651,8 @@ launchers:
|
||||
search_dir: bios, bios/amiga, bios/Amiga
|
||||
passes_to: copied to <amiberry roms>/kick34005.A500, kickstart_rom_file
|
||||
fails_when_missing: warning, kickstart_rom_file not written
|
||||
source_ref: "emulatorLauncher/Generators/Amiberry.Generator.cs:147-151, 544-548,\
|
||||
\ 686-711"
|
||||
source_ref: "emulatorLauncher/Generators/Amiberry.Generator.cs:147-151, 532-536,\
|
||||
\ 674-699"
|
||||
- emulator: amiberry
|
||||
build: standalone
|
||||
kind: names_searched
|
||||
@@ -3660,20 +3666,20 @@ launchers:
|
||||
search_dir: bios, bios/amiga, bios/Amiga
|
||||
passes_to: copied to <amiberry roms>/kick34005.CDTV, kickstart_ext_rom_file
|
||||
fails_when_missing: warning, kickstart_ext_rom_file not written
|
||||
source_ref: "emulatorLauncher/Generators/Amiberry.Generator.cs:147-154, 553-557,\
|
||||
\ 686-711"
|
||||
source_ref: "emulatorLauncher/Generators/Amiberry.Generator.cs:147-154, 541-545,\
|
||||
\ 674-699"
|
||||
- emulator: arcadeduck
|
||||
build: standalone
|
||||
kind: names_searched
|
||||
names:
|
||||
- <bios archive of the game's system in resources/arcadedb.yaml>
|
||||
case_insensitive: false
|
||||
search_dir: <rom directory>, then bios
|
||||
search_dir: <rom directory>, then the folder above it for a CHD-only set, then bios
|
||||
passes_to: "settings.ini [BIOS] SearchDirectory = <folder found>"
|
||||
fails_when_missing: "ApplicationException 'Missing BIOS '<biosArchive>' : place\
|
||||
\ it next to the game or in the RetroBat bios folder.'"
|
||||
source_ref: "emulatorLauncher/Generators/ArcadeDuck.Generator.cs:52, 102-122, 219,\
|
||||
\ emulatorLauncher/Generators/ArcadeDuck.Database.cs:62, 221-222"
|
||||
source_ref: "emulatorLauncher/Generators/ArcadeDuck.Generator.cs:42, 144-170, 273,\
|
||||
\ emulatorLauncher/Generators/ArcadeDuck.Database.cs:64, 303-304"
|
||||
- emulator: arcadeduck
|
||||
build: standalone
|
||||
kind: names_searched
|
||||
@@ -3681,13 +3687,13 @@ launchers:
|
||||
- konamigv.zip
|
||||
slot: konami_gv
|
||||
case_insensitive: false
|
||||
search_dir: <rom directory>, then bios
|
||||
search_dir: <rom directory>, then the folder above it for a CHD-only set, then bios
|
||||
passes_to: "settings.ini [BIOS] SearchDirectory = <folder found>"
|
||||
fails_when_missing: "ApplicationException 'Missing BIOS '<biosArchive>' : place\
|
||||
\ it next to the game or in the RetroBat bios folder.'"
|
||||
depends_on_option: resources/arcadedb.yaml names no archive for konami_gv
|
||||
source_ref: "emulatorLauncher/Generators/ArcadeDuck.Generator.cs:52, 102-122, 219,\
|
||||
\ emulatorLauncher/Generators/ArcadeDuck.Database.cs:62, 221-222"
|
||||
source_ref: "emulatorLauncher/Generators/ArcadeDuck.Generator.cs:42, 144-170, 273,\
|
||||
\ emulatorLauncher/Generators/ArcadeDuck.Database.cs:64, 303-304"
|
||||
- emulator: arcadeduck
|
||||
build: standalone
|
||||
kind: passes_path
|
||||
@@ -3696,8 +3702,8 @@ launchers:
|
||||
passes_to: "settings.ini [BIOS] SearchDirectory = bios"
|
||||
fails_when_missing: false
|
||||
depends_on_option: no bios archive known for the game's system
|
||||
source_ref: "emulatorLauncher/Generators/ArcadeDuck.Generator.cs:52, 102-122, 219,\
|
||||
\ emulatorLauncher/Generators/ArcadeDuck.Database.cs:62, 221-222"
|
||||
source_ref: "emulatorLauncher/Generators/ArcadeDuck.Generator.cs:42, 144-170, 273,\
|
||||
\ emulatorLauncher/Generators/ArcadeDuck.Database.cs:64, 303-304"
|
||||
- emulator: ares
|
||||
build: standalone
|
||||
kind: names_searched
|
||||
@@ -3709,7 +3715,7 @@ launchers:
|
||||
search_dir: bios/laseractive
|
||||
passes_to: "settings.bml LaserActiveSEGAPAC/Firmware/BIOS.Japan (first found)"
|
||||
fails_when_missing: false
|
||||
source_ref: "emulatorLauncher/Generators/Ares.Generator.cs:518-529"
|
||||
source_ref: "emulatorLauncher/Generators/Ares.Generator.cs:531-542"
|
||||
- emulator: ares
|
||||
build: standalone
|
||||
kind: names_searched
|
||||
@@ -3720,7 +3726,7 @@ launchers:
|
||||
search_dir: bios/laseractive
|
||||
passes_to: "settings.bml LaserActiveSEGAPAC/Firmware/BIOS.US (first found)"
|
||||
fails_when_missing: false
|
||||
source_ref: "emulatorLauncher/Generators/Ares.Generator.cs:524-531"
|
||||
source_ref: "emulatorLauncher/Generators/Ares.Generator.cs:537-544"
|
||||
- emulator: bizhawk
|
||||
build: standalone
|
||||
kind: fixed_name
|
||||
@@ -3796,7 +3802,7 @@ launchers:
|
||||
search_dir: bios
|
||||
passes_to: blastem.cfg system.scd_bios_us, only if the file exists
|
||||
fails_when_missing: info log, scd_bios_us left as it is
|
||||
source_ref: "emulatorLauncher/Generators/Blastem.Generator.cs:258, 262, 272-279"
|
||||
source_ref: "emulatorLauncher/Generators/Blastem.Generator.cs:251, 255, 265-272"
|
||||
- emulator: blastem
|
||||
build: standalone
|
||||
kind: fixed_name
|
||||
@@ -3806,7 +3812,7 @@ launchers:
|
||||
search_dir: bios
|
||||
passes_to: blastem.cfg system.scd_bios_eu, only if the file exists
|
||||
fails_when_missing: info log, scd_bios_eu left as it is
|
||||
source_ref: "emulatorLauncher/Generators/Blastem.Generator.cs:258, 263, 272-279"
|
||||
source_ref: "emulatorLauncher/Generators/Blastem.Generator.cs:251, 256, 265-272"
|
||||
- emulator: blastem
|
||||
build: standalone
|
||||
kind: fixed_name
|
||||
@@ -3816,7 +3822,7 @@ launchers:
|
||||
search_dir: bios
|
||||
passes_to: blastem.cfg system.scd_bios_jp, only if the file exists
|
||||
fails_when_missing: info log, scd_bios_jp left as it is
|
||||
source_ref: "emulatorLauncher/Generators/Blastem.Generator.cs:258, 264, 272-279"
|
||||
source_ref: "emulatorLauncher/Generators/Blastem.Generator.cs:251, 257, 265-272"
|
||||
- emulator: blastem
|
||||
build: standalone
|
||||
kind: fixed_name
|
||||
@@ -3826,7 +3832,7 @@ launchers:
|
||||
search_dir: bios
|
||||
passes_to: blastem.cfg system.coleco_bios_path, only if the file exists
|
||||
fails_when_missing: info log, coleco_bios_path left as it is
|
||||
source_ref: "emulatorLauncher/Generators/Blastem.Generator.cs:258, 265, 272-279"
|
||||
source_ref: "emulatorLauncher/Generators/Blastem.Generator.cs:251, 258, 265-272"
|
||||
- emulator: blastem
|
||||
build: standalone
|
||||
kind: fixed_name
|
||||
@@ -3836,7 +3842,7 @@ launchers:
|
||||
search_dir: bios
|
||||
passes_to: blastem.cfg system.s32x_main_bios, only if the file exists
|
||||
fails_when_missing: info log, s32x_main_bios left as it is
|
||||
source_ref: "emulatorLauncher/Generators/Blastem.Generator.cs:258, 267, 272-279"
|
||||
source_ref: "emulatorLauncher/Generators/Blastem.Generator.cs:251, 260, 265-272"
|
||||
- emulator: blastem
|
||||
build: standalone
|
||||
kind: fixed_name
|
||||
@@ -3846,7 +3852,7 @@ launchers:
|
||||
search_dir: bios
|
||||
passes_to: blastem.cfg system.s32x_sub_bios, only if the file exists
|
||||
fails_when_missing: info log, s32x_sub_bios left as it is
|
||||
source_ref: "emulatorLauncher/Generators/Blastem.Generator.cs:258, 268, 272-279"
|
||||
source_ref: "emulatorLauncher/Generators/Blastem.Generator.cs:251, 261, 265-272"
|
||||
- emulator: blastem
|
||||
build: standalone
|
||||
kind: fixed_name
|
||||
@@ -3856,7 +3862,7 @@ launchers:
|
||||
search_dir: bios
|
||||
passes_to: blastem.cfg system.s32x_68k_bios, only if the file exists
|
||||
fails_when_missing: info log, s32x_68k_bios left as it is
|
||||
source_ref: "emulatorLauncher/Generators/Blastem.Generator.cs:258, 269, 272-279"
|
||||
source_ref: "emulatorLauncher/Generators/Blastem.Generator.cs:251, 262, 265-272"
|
||||
- emulator: bsyndrome
|
||||
build: standalone
|
||||
kind: passes_path
|
||||
@@ -3865,9 +3871,9 @@ launchers:
|
||||
passes_to: command line --musicpath=bios/bsyndrome/MUSIC
|
||||
fails_when_missing: false
|
||||
depends_on_option: _emulator == "bsyndrome"
|
||||
source_ref: "emulatorLauncher/Generators/PortsLauncher.Configuration.cs:133-134,\
|
||||
\ 153, 157-158"
|
||||
- emulator: amiberry, hatari, hatarib, puae
|
||||
source_ref: "emulatorLauncher/Generators/PortsLauncher.Configuration.cs:253-254,\
|
||||
\ 273, 277-278"
|
||||
- emulator: amiberry, hatari, hatari2014, hatarib, puae
|
||||
build: libretro
|
||||
kind: copies
|
||||
names:
|
||||
@@ -3877,7 +3883,7 @@ launchers:
|
||||
passes_to: copied to <retroarch>/<name>, only when the target does not exist
|
||||
fails_when_missing: false
|
||||
depends_on_option: core in capsimgCore, rom extension ".ipf"
|
||||
source_ref: "emulatorLauncher/Generators/LibRetro.Generator.cs:1008-1017, 2659"
|
||||
source_ref: "emulatorLauncher/Generators/LibRetro.Generator.cs:1018-1027, 2750"
|
||||
- emulator: demul
|
||||
build: standalone
|
||||
kind: passes_path
|
||||
@@ -3906,7 +3912,7 @@ launchers:
|
||||
\ file exists"
|
||||
fails_when_missing: UseExtBIOS left at 0
|
||||
depends_on_option: desmume_UseExtBIOS on
|
||||
source_ref: "emulatorLauncher/Generators/Desmume.Generator.cs:97-105"
|
||||
source_ref: "emulatorLauncher/Generators/Desmume.Generator.cs:92-100"
|
||||
- emulator: desmume
|
||||
build: standalone
|
||||
kind: fixed_name
|
||||
@@ -3918,7 +3924,7 @@ launchers:
|
||||
fails_when_missing: UseExtFirmware left at 0
|
||||
depends_on_option: desmume_UseExtFirmware on, desmume_firmwareFile unset or not
|
||||
an existing file
|
||||
source_ref: "emulatorLauncher/Generators/Desmume.Generator.cs:111-123"
|
||||
source_ref: "emulatorLauncher/Generators/Desmume.Generator.cs:106-118"
|
||||
- emulator: dolphin
|
||||
build: standalone
|
||||
kind: fixed_name
|
||||
@@ -3955,7 +3961,7 @@ launchers:
|
||||
search_dir: bios/scummvm/extra
|
||||
passes_to: copied to <emulator>/system/<name>, only when the target does not exist
|
||||
fails_when_missing: false
|
||||
source_ref: "emulatorLauncher/Generators/DosBoxPure.Generator.cs:132, 137-155"
|
||||
source_ref: "emulatorLauncher/Generators/DosBoxPure.Generator.cs:125, 130-148"
|
||||
- emulator: dosbox-staging
|
||||
build: standalone
|
||||
kind: copies
|
||||
@@ -3967,7 +3973,7 @@ launchers:
|
||||
passes_to: copied to <emulator>/mt32-roms/<name>, only when the target does not
|
||||
exist
|
||||
fails_when_missing: false
|
||||
source_ref: "emulatorLauncher/Generators/DosBoxStaging.Generator.cs:328, 333-341"
|
||||
source_ref: "emulatorLauncher/Generators/DosBoxStaging.Generator.cs:321, 326-334"
|
||||
- emulator: dosbox-staging
|
||||
build: standalone
|
||||
kind: copies
|
||||
@@ -3979,7 +3985,7 @@ launchers:
|
||||
passes_to: copied to <emulator>/soundfonts/<name>, only when the target does not
|
||||
exist
|
||||
fails_when_missing: false
|
||||
source_ref: "emulatorLauncher/Generators/DosBoxStaging.Generator.cs:325, 343-351"
|
||||
source_ref: "emulatorLauncher/Generators/DosBoxStaging.Generator.cs:318, 336-344"
|
||||
- emulator: duckstation
|
||||
build: standalone
|
||||
kind: passes_path
|
||||
@@ -3988,7 +3994,7 @@ launchers:
|
||||
passes_to: "settings.ini [BIOS] SearchDirectory = bios"
|
||||
fails_when_missing: false
|
||||
depends_on_option: duck_bios unset
|
||||
source_ref: "emulatorLauncher/Generators/Duckstation.Generator.cs:202, 211-215"
|
||||
source_ref: "emulatorLauncher/Generators/Duckstation.Generator.cs:195, 204-208"
|
||||
- emulator: duckstation
|
||||
build: standalone
|
||||
kind: core_option
|
||||
@@ -4004,7 +4010,7 @@ launchers:
|
||||
passes_to: "settings.ini [BIOS] PathNTSCJ = PathNTSCU = PathPAL = <value>"
|
||||
fails_when_missing: not checked by the launcher
|
||||
depends_on_option: duck_bios
|
||||
source_ref: "emulatorLauncher/Generators/Duckstation.Generator.cs:204-209, .emulationstation/es_features.cfg:11638-11646"
|
||||
source_ref: "emulatorLauncher/Generators/Duckstation.Generator.cs:197-202, .emulationstation/es_features.cfg:12489-12497"
|
||||
- emulator: eka2l1
|
||||
build: standalone
|
||||
kind: passes_path
|
||||
@@ -4021,7 +4027,7 @@ launchers:
|
||||
passes_to: "config/fbneo64.ini szAppRomPaths[1] = bios"
|
||||
fails_when_missing: false
|
||||
depends_on_option: "File.Exists(iniFile)"
|
||||
source_ref: "emulatorLauncher/Generators/Fbneo.Generator.cs:111"
|
||||
source_ref: "emulatorLauncher/Generators/Fbneo.Generator.cs:125"
|
||||
- emulator: fbneo
|
||||
build: standalone
|
||||
kind: passes_path
|
||||
@@ -4030,7 +4036,7 @@ launchers:
|
||||
passes_to: "config/fbneo64.ini szAppRomPaths[2] = bios/fbneo"
|
||||
fails_when_missing: false
|
||||
depends_on_option: "File.Exists(iniFile)"
|
||||
source_ref: "emulatorLauncher/Generators/Fbneo.Generator.cs:113, 116"
|
||||
source_ref: "emulatorLauncher/Generators/Fbneo.Generator.cs:127, 130"
|
||||
- emulator: fbneo
|
||||
build: standalone
|
||||
kind: passes_path
|
||||
@@ -4039,7 +4045,7 @@ launchers:
|
||||
passes_to: config/fbneo64.ini szAppCheatsPath = bios/fbneo/cheats
|
||||
fails_when_missing: false
|
||||
depends_on_option: "File.Exists(iniFile)"
|
||||
source_ref: "emulatorLauncher/Generators/Fbneo.Generator.cs:113, 118, 121"
|
||||
source_ref: "emulatorLauncher/Generators/Fbneo.Generator.cs:127, 132, 135"
|
||||
- emulator: fbneo
|
||||
build: standalone
|
||||
kind: passes_path
|
||||
@@ -4048,19 +4054,21 @@ launchers:
|
||||
passes_to: config/fbneo64.ini szAppSamplesPath = bios/fbneo/samples
|
||||
fails_when_missing: false
|
||||
depends_on_option: "File.Exists(iniFile)"
|
||||
source_ref: "emulatorLauncher/Generators/Fbneo.Generator.cs:123, 126"
|
||||
source_ref: "emulatorLauncher/Generators/Fbneo.Generator.cs:137, 140"
|
||||
- emulator: gsplus
|
||||
build: standalone
|
||||
kind: fixed_name
|
||||
kind: names_searched
|
||||
names:
|
||||
- ROM
|
||||
- ROM.01
|
||||
- ROM.03
|
||||
- APPLE2GS.ROM
|
||||
case_insensitive: true
|
||||
search_dir: bios
|
||||
passes_to: config.txt g_cfg_rom_path, written without an existence check
|
||||
fails_when_missing: path written without an existence check
|
||||
depends_on_option: "!string.IsNullOrEmpty(AppConfig[\"bios\"]) && Directory.Exists(AppConfig[\"\
|
||||
bios\"])"
|
||||
source_ref: "emulatorLauncher/Generators/GsPlus.Generator.cs:66-67"
|
||||
passes_to: config.txt g_cfg_rom_path = <first found>
|
||||
fails_when_missing: false
|
||||
depends_on_option: "!string.IsNullOrEmpty(bios) && Directory.Exists(bios)"
|
||||
source_ref: "emulatorLauncher/Generators/GsPlus.Generator.cs:23, 164, 167-172"
|
||||
- emulator: jgenesis
|
||||
build: standalone
|
||||
kind: fixed_name
|
||||
@@ -4324,9 +4332,10 @@ launchers:
|
||||
case_insensitive: true
|
||||
search_dir: bios
|
||||
passes_to: "hatari.cfg [ROM] szTosImageFileName=<bios>/tos.img"
|
||||
fails_when_missing: ApplicationException 'Missing TOS file <tosName> in 'bios' folder.'
|
||||
depends_on_option: hatari_tos unset
|
||||
source_ref: "emulatorLauncher/Generators/Hatari.Generator.cs:144-154"
|
||||
fails_when_missing: bios/hatari/tos/emutos.img instead, else ApplicationException
|
||||
'Missing TOS file <tosName> in 'bios' folder.'
|
||||
depends_on_option: hatari_tos unset, no hard disk image
|
||||
source_ref: "emulatorLauncher/Generators/Hatari.Generator.cs:410-412, 425-426, 454"
|
||||
- emulator: hatari
|
||||
build: standalone
|
||||
kind: core_option
|
||||
@@ -4341,8 +4350,33 @@ launchers:
|
||||
passes_to: "hatari.cfg [ROM] szTosImageFileName=<bios>/hatari/tos/<value>"
|
||||
fails_when_missing: ApplicationException 'Missing TOS file <tosName> in 'bios' folder.'
|
||||
depends_on_option: hatari_tos
|
||||
source_ref: "emulatorLauncher/Generators/Hatari.Generator.cs:146-154, .emulationstation/es_features.cfg:12791-12797"
|
||||
source_ref: "emulatorLauncher/Generators/Hatari.Generator.cs:410-415, 454, .emulationstation/es_features.cfg:13768-13774"
|
||||
- emulator: hatari
|
||||
build: standalone
|
||||
kind: fixed_name
|
||||
names:
|
||||
- emutos.img
|
||||
case_insensitive: true
|
||||
search_dir: bios/hatari/tos
|
||||
passes_to: "hatari.cfg [ROM] szTosImageFileName=<bios>/hatari/tos/emutos.img"
|
||||
fails_when_missing: tos.img is used, as without a hard disk image
|
||||
depends_on_option: hatari_tos unset, a hard disk image mounted or no tos.img
|
||||
source_ref: "emulatorLauncher/Generators/Hatari.Generator.cs:410-412, 416-426, 454"
|
||||
- emulator: hatari
|
||||
build: standalone
|
||||
kind: names_searched
|
||||
names:
|
||||
- tos104.img
|
||||
- tos206.img
|
||||
- emutos.img
|
||||
case_insensitive: true
|
||||
search_dir: bios/hatari/tos
|
||||
passes_to: "hatari.cfg [ROM] szTosImageFileName=<first found>"
|
||||
fails_when_missing: the TOS older than 1.04 is kept
|
||||
depends_on_option: hatari_tos unset, autostart or GEMDOS folder, TOS older than
|
||||
1.04
|
||||
source_ref: "emulatorLauncher/Generators/Hatari.Generator.cs:410-412, 436-438, 454"
|
||||
- emulator: hatari2014
|
||||
build: libretro
|
||||
kind: core_option
|
||||
names:
|
||||
@@ -4352,11 +4386,11 @@ launchers:
|
||||
- tos104.img
|
||||
- tos102.img
|
||||
- emutos.img
|
||||
search_dir: bios
|
||||
passes_to: hatari_tosimage = <value> | default
|
||||
fails_when_missing: not checked by the launcher
|
||||
depends_on_option: hatari_tos
|
||||
source_ref: "emulatorLauncher/Generators/LibRetro.CoreOptions.cs:3148-3151, .emulationstation/es_features.cfg:6610-6617"
|
||||
search_dir: bios/hatari/tos
|
||||
passes_to: hatari_tosimage = <value>, if the file is there | default
|
||||
fails_when_missing: hatari_tosimage = default
|
||||
depends_on_option: hatari2014_tos
|
||||
source_ref: "emulatorLauncher/Generators/LibRetro.CoreOptions.cs:3409-3417, .emulationstation/es_features.cfg:7095-7102"
|
||||
- emulator: hatarib
|
||||
build: libretro
|
||||
kind: fixed_name
|
||||
@@ -4366,12 +4400,15 @@ launchers:
|
||||
search_dir: bios
|
||||
passes_to: hatarib_tos = <tos.img>
|
||||
fails_when_missing: falls back to hatarib_tos = <etos1024k>
|
||||
depends_on_option: hatarib_tos unset
|
||||
source_ref: "emulatorLauncher/Generators/LibRetro.CoreOptions.cs:3191-3195"
|
||||
depends_on_option: hatarib_tos unset or tosimg; <etos1024k> instead for a hard disk
|
||||
image under a TOS other than EmuTOS, or for autostart or GEMDOS under TOS older
|
||||
than 1.04
|
||||
source_ref: "emulatorLauncher/Generators/LibRetro.CoreOptions.cs:3434-3435, 3447-3450,\
|
||||
\ 3481-3496"
|
||||
- emulator: hatarib
|
||||
build: libretro
|
||||
kind: core_option
|
||||
names:
|
||||
names: &id001
|
||||
- tos206.img
|
||||
- tos106.img
|
||||
- tos104.img
|
||||
@@ -4379,9 +4416,20 @@ launchers:
|
||||
case_insensitive: true
|
||||
search_dir: bios/hatarib
|
||||
passes_to: hatarib_tos = hatarib/<value>
|
||||
fails_when_missing: option not written when the file is absent
|
||||
fails_when_missing: hatarib_tos = <etos1024k>, or <tos.img> when bios holds it
|
||||
depends_on_option: hatarib_tos
|
||||
source_ref: "emulatorLauncher/Generators/LibRetro.CoreOptions.cs:3184-3187, .emulationstation/es_features.cfg:6667-6676"
|
||||
source_ref: "emulatorLauncher/Generators/LibRetro.CoreOptions.cs:3434-3435, 3457-3474,\
|
||||
\ .emulationstation/es_features.cfg:7125-7134"
|
||||
- emulator: hatarib
|
||||
build: libretro
|
||||
kind: copies
|
||||
names: *id001
|
||||
case_insensitive: true
|
||||
search_dir: bios/hatari/tos
|
||||
passes_to: copied to bios/hatarib/<value>, only when the target does not exist
|
||||
fails_when_missing: false
|
||||
depends_on_option: hatarib_tos
|
||||
source_ref: "emulatorLauncher/Generators/LibRetro.CoreOptions.cs:3434-3435, 3457-3460"
|
||||
- emulator: jzintv
|
||||
build: standalone
|
||||
kind: fixed_name
|
||||
@@ -4416,7 +4464,7 @@ launchers:
|
||||
depends_on_option: "messMode == null || messMode.Name == \"mame\" || messMode.Name\
|
||||
\ == \"hbmame\", !string.IsNullOrEmpty(AppConfig[\"bios\"]) && Directory.Exists(AppConfig[\"\
|
||||
bios\"])"
|
||||
source_ref: "emulatorLauncher/Generators/Mame64.Generator.cs:90-93"
|
||||
source_ref: "emulatorLauncher/Generators/Mame64.Generator.cs:93-96"
|
||||
- emulator: mame64
|
||||
build: standalone
|
||||
kind: passes_path
|
||||
@@ -4426,7 +4474,7 @@ launchers:
|
||||
fails_when_missing: false
|
||||
depends_on_option: "messMode == null || messMode.Name == \"mame\" || messMode.Name\
|
||||
\ == \"hbmame\", !string.IsNullOrEmpty(samplePath) && Directory.Exists(samplePath)"
|
||||
source_ref: "emulatorLauncher/Generators/Mame64.Generator.cs:98, 103-104"
|
||||
source_ref: "emulatorLauncher/Generators/Mame64.Generator.cs:101, 106-107"
|
||||
- emulator: mame64
|
||||
build: standalone
|
||||
kind: passes_path
|
||||
@@ -4437,7 +4485,7 @@ launchers:
|
||||
depends_on_option: "messMode == null || messMode.Name == \"mame\" || messMode.Name\
|
||||
\ == \"hbmame\", !string.IsNullOrEmpty(artPath) && Directory.Exists(artPath),\
|
||||
\ disable_artwork on"
|
||||
source_ref: "emulatorLauncher/Generators/Mame64.Generator.cs:108, 115-117"
|
||||
source_ref: "emulatorLauncher/Generators/Mame64.Generator.cs:111, 118-120"
|
||||
- emulator: mame64
|
||||
build: standalone
|
||||
kind: passes_path
|
||||
@@ -4450,7 +4498,7 @@ launchers:
|
||||
depends_on_option: "messMode == null || messMode.Name == \"mame\" || messMode.Name\
|
||||
\ == \"hbmame\", !string.IsNullOrEmpty(artPath) && Directory.Exists(artPath),\
|
||||
\ not (disable_artwork on)"
|
||||
source_ref: "emulatorLauncher/Generators/Mame64.Generator.cs:108-109, 115, 118-119"
|
||||
source_ref: "emulatorLauncher/Generators/Mame64.Generator.cs:111-112, 118, 121-122"
|
||||
- emulator: mame64
|
||||
build: standalone
|
||||
kind: passes_path
|
||||
@@ -4462,7 +4510,7 @@ launchers:
|
||||
fails_when_missing: false
|
||||
depends_on_option: "messMode == null || messMode.Name == \"mame\" || messMode.Name\
|
||||
\ == \"hbmame\", !string.IsNullOrEmpty(iniPath) && Directory.Exists(iniPath)"
|
||||
source_ref: "emulatorLauncher/Generators/Mame64.Generator.cs:71-73, 164-165"
|
||||
source_ref: "emulatorLauncher/Generators/Mame64.Generator.cs:74-76, 167-168"
|
||||
- emulator: mame64
|
||||
build: standalone
|
||||
kind: passes_path
|
||||
@@ -4472,7 +4520,7 @@ launchers:
|
||||
fails_when_missing: false
|
||||
depends_on_option: "messMode == null || messMode.Name == \"mame\" || messMode.Name\
|
||||
\ == \"hbmame\", !string.IsNullOrEmpty(hashPath) && Directory.Exists(hashPath)"
|
||||
source_ref: "emulatorLauncher/Generators/Mame64.Generator.cs:169, 174-175"
|
||||
source_ref: "emulatorLauncher/Generators/Mame64.Generator.cs:172, 177-178"
|
||||
- emulator: mame64
|
||||
build: standalone
|
||||
kind: passes_path
|
||||
@@ -4482,7 +4530,7 @@ launchers:
|
||||
fails_when_missing: false
|
||||
depends_on_option: "!string.IsNullOrEmpty(AppConfig[\"bios\"]) && Directory.Exists(AppConfig.GetFullPath(\"\
|
||||
bios\")), Directory.Exists(Path.Combine(bios, \"mess\"))"
|
||||
source_ref: "emulatorLauncher/Generators/MessSystem.cs:612, 660, 663-664"
|
||||
source_ref: "emulatorLauncher/Generators/MessSystem.cs:613, 661, 664-665"
|
||||
- emulator: mame
|
||||
build: libretro
|
||||
kind: passes_path
|
||||
@@ -4492,7 +4540,7 @@ launchers:
|
||||
fails_when_missing: false
|
||||
depends_on_option: "!string.IsNullOrEmpty(AppConfig[\"bios\"]) && Directory.Exists(AppConfig.GetFullPath(\"\
|
||||
bios\")), Directory.Exists(Path.Combine(bios, \"mess\"))"
|
||||
source_ref: "emulatorLauncher/Generators/MessSystem.cs:612, 660, 663-664"
|
||||
source_ref: "emulatorLauncher/Generators/MessSystem.cs:613, 661, 664-665"
|
||||
- emulator: mame64
|
||||
build: standalone
|
||||
kind: passes_path
|
||||
@@ -4502,7 +4550,7 @@ launchers:
|
||||
fails_when_missing: false
|
||||
depends_on_option: "!string.IsNullOrEmpty(AppConfig[\"bios\"]) && Directory.Exists(AppConfig.GetFullPath(\"\
|
||||
bios\")), !Directory.Exists(Path.Combine(bios, \"mess\"))"
|
||||
source_ref: "emulatorLauncher/Generators/MessSystem.cs:612, 660, 665-666"
|
||||
source_ref: "emulatorLauncher/Generators/MessSystem.cs:613, 661, 666-667"
|
||||
- emulator: mame
|
||||
build: libretro
|
||||
kind: passes_path
|
||||
@@ -4512,7 +4560,7 @@ launchers:
|
||||
fails_when_missing: false
|
||||
depends_on_option: "!string.IsNullOrEmpty(AppConfig[\"bios\"]) && Directory.Exists(AppConfig.GetFullPath(\"\
|
||||
bios\")), !Directory.Exists(Path.Combine(bios, \"mess\"))"
|
||||
source_ref: "emulatorLauncher/Generators/MessSystem.cs:612, 660, 665-666"
|
||||
source_ref: "emulatorLauncher/Generators/MessSystem.cs:613, 661, 666-667"
|
||||
- emulator: mame64
|
||||
build: standalone
|
||||
kind: passes_path
|
||||
@@ -4520,7 +4568,7 @@ launchers:
|
||||
search_dir: bios/mame/ini
|
||||
passes_to: command line -inipath bios/mame/ini
|
||||
fails_when_missing: false
|
||||
source_ref: "emulatorLauncher/Generators/MessSystem.cs:612, 702-703"
|
||||
source_ref: "emulatorLauncher/Generators/MessSystem.cs:613, 703-704"
|
||||
- emulator: mame64
|
||||
build: standalone
|
||||
kind: passes_path
|
||||
@@ -4528,7 +4576,7 @@ launchers:
|
||||
search_dir: bios/mame/hash
|
||||
passes_to: command line -hash bios/mame/hash
|
||||
fails_when_missing: false
|
||||
source_ref: "emulatorLauncher/Generators/MessSystem.cs:612, 705-706"
|
||||
source_ref: "emulatorLauncher/Generators/MessSystem.cs:613, 706-707"
|
||||
- emulator: melonds
|
||||
build: standalone
|
||||
kind: fixed_name
|
||||
@@ -4564,7 +4612,7 @@ launchers:
|
||||
fails_when_missing: falls back to dsi_nand.bin
|
||||
depends_on_option: melonds_console == "dsi", melonds_nandregion set, rom extension
|
||||
not ".bin"
|
||||
source_ref: "emulatorLauncher/Generators/MelonDS.Generator.cs:193-202, .emulationstation/es_features.cfg:15797-15804"
|
||||
source_ref: "emulatorLauncher/Generators/MelonDS.Generator.cs:193-202, .emulationstation/es_features.cfg:16816-16823"
|
||||
- emulator: mesen
|
||||
build: standalone
|
||||
kind: copies
|
||||
@@ -4751,7 +4799,7 @@ launchers:
|
||||
passes_to: "kronos.ini [1.0] General\\Bios = <bios>/<value>, only if the file exists"
|
||||
fails_when_missing: General\Bios not written
|
||||
depends_on_option: kronos_force_bios
|
||||
source_ref: "emulatorLauncher/Generators/Kronos.Generator.cs:162-170, .emulationstation/es_features.cfg:13529-13534"
|
||||
source_ref: "emulatorLauncher/Generators/Kronos.Generator.cs:162-170, .emulationstation/es_features.cfg:14519-14524"
|
||||
- emulator: ssf
|
||||
build: standalone
|
||||
kind: core_option
|
||||
@@ -4764,7 +4812,7 @@ launchers:
|
||||
passes_to: "SSF.ini [Peripheral] SaturnBIOS = <bios>/<value>, only if the file exists"
|
||||
fails_when_missing: SaturnBIOS not written
|
||||
depends_on_option: use_external_bios
|
||||
source_ref: "emulatorLauncher/Generators/SSF.Generator.cs:76-83, .emulationstation/es_features.cfg:19240-19245"
|
||||
source_ref: "emulatorLauncher/Generators/SSF.Generator.cs:76-83, .emulationstation/es_features.cfg:20762-20767"
|
||||
- emulator: yabasanshiro
|
||||
build: standalone
|
||||
kind: fixed_name
|
||||
@@ -4789,7 +4837,7 @@ launchers:
|
||||
\ exists"
|
||||
fails_when_missing: General\Bios not written
|
||||
depends_on_option: yabasanshiro_force_bios
|
||||
source_ref: "emulatorLauncher/Generators/Yabasanshiro.Generator.cs:123-131, .emulationstation/es_features.cfg:21111-21116"
|
||||
source_ref: "emulatorLauncher/Generators/Yabasanshiro.Generator.cs:123-131, .emulationstation/es_features.cfg:22724-22729"
|
||||
- emulator: ymir
|
||||
build: standalone
|
||||
kind: fixed_name
|
||||
@@ -4814,7 +4862,7 @@ launchers:
|
||||
\ check"
|
||||
fails_when_missing: path written without an existence check
|
||||
depends_on_option: ymir_force_bios
|
||||
source_ref: "emulatorLauncher/Generators/Ymir.Generator.cs:120-125, .emulationstation/es_features.cfg:21170-21174"
|
||||
source_ref: "emulatorLauncher/Generators/Ymir.Generator.cs:120-125, .emulationstation/es_features.cfg:22784-22788"
|
||||
- emulator: ymir
|
||||
build: standalone
|
||||
kind: passes_path
|
||||
@@ -4892,7 +4940,7 @@ launchers:
|
||||
fails_when_missing: ApplicationException 'BIOS file <pcsx2Bios> does not exist in
|
||||
'<ps2BiosFolder>'.'
|
||||
depends_on_option: lrps2_bios
|
||||
source_ref: "emulatorLauncher/Generators/LibRetro.CoreOptions.cs:3340-3349, .emulationstation/es_features.cfg:5459-5465"
|
||||
source_ref: "emulatorLauncher/Generators/LibRetro.CoreOptions.cs:3695-3704, .emulationstation/es_features.cfg:5875-5881"
|
||||
- emulator: pcsx2
|
||||
build: libretro
|
||||
kind: scans_dir
|
||||
@@ -4904,7 +4952,7 @@ launchers:
|
||||
passes_to: pcsx2_bios = <chosen name>
|
||||
fails_when_missing: ApplicationException 'No valid PS2 BIOS file found in '<ps2BiosFolder>'.'
|
||||
depends_on_option: lrps2_bios unset
|
||||
source_ref: "emulatorLauncher/Generators/LibRetro.CoreOptions.cs:3307-3328, 3353-3358"
|
||||
source_ref: "emulatorLauncher/Generators/LibRetro.CoreOptions.cs:3662-3683, 3708-3713"
|
||||
- emulator: bizhawk
|
||||
build: standalone
|
||||
kind: names_searched
|
||||
@@ -4916,7 +4964,7 @@ launchers:
|
||||
passes_to: PSX+U, PSX+J, PSX+E
|
||||
fails_when_missing: false
|
||||
depends_on_option: bizhawk_psx_original_bios off
|
||||
source_ref: "emulatorLauncher/Generators/Bizhawk.Generator.cs:623-664"
|
||||
source_ref: "emulatorLauncher/Generators/Bizhawk.Generator.cs:612-653"
|
||||
- emulator: bizhawk
|
||||
build: standalone
|
||||
kind: fixed_name
|
||||
@@ -4928,7 +4976,7 @@ launchers:
|
||||
search_dir: bios
|
||||
passes_to: PSX+U, PSX+J, PSX+E
|
||||
fails_when_missing: false
|
||||
source_ref: "emulatorLauncher/Generators/Bizhawk.Generator.cs:623-664"
|
||||
source_ref: "emulatorLauncher/Generators/Bizhawk.Generator.cs:612-653"
|
||||
- emulator: mednafen
|
||||
build: standalone
|
||||
kind: names_searched
|
||||
@@ -4940,7 +4988,7 @@ launchers:
|
||||
passes_to: psx.bios_eu, psx.bios_jp, psx.bios_na
|
||||
fails_when_missing: false
|
||||
depends_on_option: mednafen_psx_original_bios off
|
||||
source_ref: "emulatorLauncher/Generators/Mednafen.Generator.cs:414-441"
|
||||
source_ref: "emulatorLauncher/Generators/Mednafen.Generator.cs:443-470"
|
||||
- emulator: mednafen
|
||||
build: standalone
|
||||
kind: fixed_name
|
||||
@@ -4952,7 +5000,7 @@ launchers:
|
||||
search_dir: bios
|
||||
passes_to: psx.bios_eu, psx.bios_jp, psx.bios_na
|
||||
fails_when_missing: names written without an existence check
|
||||
source_ref: "emulatorLauncher/Generators/Mednafen.Generator.cs:414-441"
|
||||
source_ref: "emulatorLauncher/Generators/Mednafen.Generator.cs:443-470"
|
||||
- emulator: mednafen_psx_hw
|
||||
build: libretro
|
||||
kind: names_searched
|
||||
@@ -4964,7 +5012,7 @@ launchers:
|
||||
passes_to: beetle_psx_hw_override_bios
|
||||
fails_when_missing: false
|
||||
depends_on_option: beetle_psx_original_bios off
|
||||
source_ref: "emulatorLauncher/Generators/LibRetro.CoreOptions.cs:4034-4045"
|
||||
source_ref: "emulatorLauncher/Generators/LibRetro.CoreOptions.cs:4389-4400"
|
||||
- emulator: swanstation
|
||||
build: libretro
|
||||
kind: names_searched
|
||||
@@ -4976,7 +5024,7 @@ launchers:
|
||||
passes_to: swanstation_BIOS_PathNTSCJ, swanstation_BIOS_PathNTSCU, swanstation_BIOS_PathPAL
|
||||
fails_when_missing: false
|
||||
depends_on_option: swanstation_original_bios off
|
||||
source_ref: "emulatorLauncher/Generators/LibRetro.CoreOptions.cs:5982-6009"
|
||||
source_ref: "emulatorLauncher/Generators/LibRetro.CoreOptions.cs:6310-6337"
|
||||
- emulator: swanstation
|
||||
build: libretro
|
||||
kind: fixed_name
|
||||
@@ -4988,7 +5036,7 @@ launchers:
|
||||
search_dir: bios
|
||||
passes_to: swanstation_BIOS_PathNTSCJ, swanstation_BIOS_PathNTSCU, swanstation_BIOS_PathPAL
|
||||
fails_when_missing: names written without an existence check
|
||||
source_ref: "emulatorLauncher/Generators/LibRetro.CoreOptions.cs:5982-6009"
|
||||
source_ref: "emulatorLauncher/Generators/LibRetro.CoreOptions.cs:6310-6337"
|
||||
- emulator: psxmame
|
||||
build: standalone
|
||||
kind: passes_path
|
||||
@@ -5005,7 +5053,7 @@ launchers:
|
||||
passes_to: "config/raine32_sdl.cfg [Directories] rom_dir_1 = bios"
|
||||
fails_when_missing: false
|
||||
depends_on_option: "!string.IsNullOrEmpty(biosPath)"
|
||||
source_ref: "emulatorLauncher/Generators/Raine.Generator.cs:87, 92"
|
||||
source_ref: "emulatorLauncher/Generators/Raine.Generator.cs:93, 98"
|
||||
- emulator: raine
|
||||
build: standalone
|
||||
kind: fixed_name
|
||||
@@ -5017,7 +5065,7 @@ launchers:
|
||||
\ check"
|
||||
fails_when_missing: path written without an existence check
|
||||
depends_on_option: "!string.IsNullOrEmpty(biosPath)"
|
||||
source_ref: "emulatorLauncher/Generators/Raine.Generator.cs:87, 93"
|
||||
source_ref: "emulatorLauncher/Generators/Raine.Generator.cs:93, 99"
|
||||
- emulator: rpcs3
|
||||
build: standalone
|
||||
kind: fixed_name
|
||||
@@ -5068,7 +5116,7 @@ launchers:
|
||||
passes_to: "<exe>.ini [scummvm] themepath = bios/scummvm/theme"
|
||||
fails_when_missing: false
|
||||
depends_on_option: "Directory.Exists(themePath)"
|
||||
source_ref: "emulatorLauncher/Generators/ScummVm.Generator.cs:265-266, 271"
|
||||
source_ref: "emulatorLauncher/Generators/ScummVm.Generator.cs:267-268, 273"
|
||||
- emulator: scummvm
|
||||
build: standalone
|
||||
kind: passes_path
|
||||
@@ -5077,7 +5125,7 @@ launchers:
|
||||
passes_to: "<exe>.ini [scummvm] extrapath = bios/scummvm/extra"
|
||||
fails_when_missing: false
|
||||
depends_on_option: "Directory.Exists(extraPath)"
|
||||
source_ref: "emulatorLauncher/Generators/ScummVm.Generator.cs:265-267, 275"
|
||||
source_ref: "emulatorLauncher/Generators/ScummVm.Generator.cs:267-269, 277"
|
||||
- emulator: winuae
|
||||
build: standalone
|
||||
kind: names_searched
|
||||
@@ -5247,7 +5295,7 @@ launchers:
|
||||
passes_to: "xemu.toml [sys.files] flashrom_path=<bios>/<value>, default Complex_4627.bin"
|
||||
fails_when_missing: path written without an existence check
|
||||
depends_on_option: xemu_flashrom
|
||||
source_ref: "emulatorLauncher/Generators/Xemu.Generator.cs:286-289, .emulationstation/es_features.cfg:20472-20476"
|
||||
source_ref: "emulatorLauncher/Generators/Xemu.Generator.cs:286-289, .emulationstation/es_features.cfg:22081-22085"
|
||||
- emulator: xemu
|
||||
build: standalone
|
||||
kind: names_searched
|
||||
|
||||
+14
-4
@@ -2,7 +2,7 @@ inherits: retroarch
|
||||
platform: RetroPie
|
||||
version: 4.8.12
|
||||
homepage: "https://retropie.org.uk"
|
||||
source: "https://codeload.github.com/RetroPie/RetroPie-Setup/tar.gz/46128cd252cdecae852a4d0bafa2aaf9d03ab563"
|
||||
source: "https://codeload.github.com/RetroPie/RetroPie-Setup/tar.gz/427e76216633591861791cfb28807ac1039c5ea8"
|
||||
base_destination: BIOS
|
||||
cores:
|
||||
- "81"
|
||||
@@ -50,6 +50,7 @@ cores:
|
||||
- dxx-rebirth
|
||||
- eduke32
|
||||
- ep128emu
|
||||
- fake08
|
||||
- fbalpha2012
|
||||
- fbneo
|
||||
- fbzx
|
||||
@@ -997,7 +998,7 @@ launchers:
|
||||
source_ref: "scriptmodules/emulators/rpix86.sh:12, 46"
|
||||
- emulator: scummvm-sdl1
|
||||
package: scummvm-sdl1
|
||||
repo: "git https://github.com/scummvm/scummvm.git v2026.3.0"
|
||||
repo: "git https://github.com/scummvm/scummvm.git v2026.4.0"
|
||||
systems:
|
||||
- scummvm
|
||||
build: standalone
|
||||
@@ -1006,7 +1007,7 @@ launchers:
|
||||
source_ref: "scriptmodules/emulators/scummvm-sdl1.sh:12, 16, scriptmodules/emulators/scummvm.sh:98"
|
||||
- emulator: scummvm
|
||||
package: scummvm
|
||||
repo: "git https://github.com/scummvm/scummvm.git v2026.3.0"
|
||||
repo: "git https://github.com/scummvm/scummvm.git v2026.4.0"
|
||||
systems:
|
||||
- scummvm
|
||||
build: standalone
|
||||
@@ -1522,6 +1523,15 @@ launchers:
|
||||
kind: package
|
||||
names: []
|
||||
source_ref: "scriptmodules/libretrocores/lr-ep128emu.sh:12, 16, 38"
|
||||
- emulator: lr-fake08
|
||||
package: lr-fake08
|
||||
repo: "git https://github.com/jtothebell/fake-08.git master"
|
||||
systems:
|
||||
- pico8
|
||||
build: libretro
|
||||
kind: package
|
||||
names: []
|
||||
source_ref: "scriptmodules/libretrocores/lr-fake08.sh:12, 16, 42"
|
||||
- emulator: lr-fbalpha2012
|
||||
package: lr-fbalpha2012
|
||||
repo: "git https://github.com/libretro/fbalpha2012.git master"
|
||||
@@ -1591,7 +1601,7 @@ launchers:
|
||||
source_ref: "scriptmodules/libretrocores/lr-flycast-dev.sh:12, 16, 63"
|
||||
- emulator: lr-flycast
|
||||
package: lr-flycast
|
||||
repo: "git https://github.com/libretro/flycast.git master"
|
||||
repo: "git https://github.com/libretro/flycast.git master 2ff1030"
|
||||
systems:
|
||||
- dreamcast
|
||||
- arcade
|
||||
|
||||
+12
-33
@@ -1,14 +1,12 @@
|
||||
platform: ROCKNIX
|
||||
version: "20261001"
|
||||
version: "20261101"
|
||||
homepage: "https://rocknix.org"
|
||||
source: "https://raw.githubusercontent.com/ROCKNIX/distribution/20261001/projects/ROCKNIX/packages/rocknix/sources/scripts/rocknix-systems"
|
||||
source: "https://raw.githubusercontent.com/ROCKNIX/distribution/20261101/projects/ROCKNIX/packages/rocknix/sources/scripts/rocknix-systems"
|
||||
base_destination: bios
|
||||
hash_type: md5
|
||||
verification_mode: md5
|
||||
cores:
|
||||
- retroarch
|
||||
- aethersx2
|
||||
- aethersx2-sa
|
||||
- amiberry
|
||||
- ares
|
||||
- ares-sa
|
||||
@@ -71,8 +69,6 @@ cores:
|
||||
- yabasanshiro
|
||||
- yabasanshiro-sa
|
||||
standalone_cores:
|
||||
- aethersx2
|
||||
- aethersx2-sa
|
||||
- amiberry
|
||||
- ares
|
||||
- ares-sa
|
||||
@@ -423,7 +419,7 @@ systems:
|
||||
native_system: ps2
|
||||
native_name: PS2
|
||||
- name: ps2-0230a-20080220.bin
|
||||
destination: aethersx2/bios/ps2-0230a-20080220.bin
|
||||
destination: armsx2/ps2-0230a-20080220.bin
|
||||
required: true
|
||||
md5: 21038400dc633070a78ad53090c53017
|
||||
native_system: ps2
|
||||
@@ -505,8 +501,8 @@ launchers:
|
||||
passes_to: "Atari-ST-default.cfg [ROM] szTosImageFileName (--configfile)"
|
||||
fails_when_missing: false
|
||||
source_ref: "projects/ROCKNIX/packages/emulators/standalone/hatarisa/config/conf/Atari-ST-default.cfg:200,\
|
||||
\ projects/ROCKNIX/packages/emulators/standalone/hatarisa/scripts/start_hatari.sh:34,\
|
||||
\ 64"
|
||||
\ projects/ROCKNIX/packages/emulators/standalone/hatarisa/scripts/start_hatarisa.sh:35,\
|
||||
\ 65"
|
||||
- emulator: melonds
|
||||
build: standalone
|
||||
kind: fixed_name
|
||||
@@ -535,9 +531,9 @@ launchers:
|
||||
DSiFirmwarePath, DSiNANDPath
|
||||
fails_when_missing: false
|
||||
depends_on_option: direct_boot = 0 sets ExternalBIOSEnable=1, otherwise 0
|
||||
device: RK3399, RK3566, RK3576, RK3588, S922X, SM4450, SM6115, SM8250, SM8550, SM8650,
|
||||
SM8750
|
||||
source_ref: "projects/ROCKNIX/packages/emulators/standalone/melonds-sa/config/InputPlumber/melonDS.ini:91-97,\
|
||||
device: RK3399, RK3566, RK3576, RK3588, S922X, SDM845, SM4450, SM6115, SM8250, SM8550,
|
||||
SM8650, SM8750
|
||||
source_ref: "projects/ROCKNIX/packages/emulators/standalone/melonds-sa/config/InputPlumber/melonDS.ini:94-100,\
|
||||
\ projects/ROCKNIX/packages/emulators/standalone/melonds-sa/config/RK3399/melonDS.ini:93-99,\
|
||||
\ projects/ROCKNIX/packages/emulators/standalone/melonds-sa/config/RK3566/melonDS.ini:93-99,\
|
||||
\ projects/ROCKNIX/packages/emulators/standalone/melonds-sa/config/RK3588/melonDS.ini:93-99,\
|
||||
@@ -564,11 +560,10 @@ launchers:
|
||||
\ projects/ROCKNIX/packages/emulators/standalone/dsperate-sa/config/InputPlumber/dsperate.ini:11-17,\
|
||||
\ projects/ROCKNIX/packages/emulators/standalone/dsperate-sa/config/RK3326/dsperate.ini:11-17,\
|
||||
\ projects/ROCKNIX/packages/emulators/standalone/dsperate-sa/config/RK3399/dsperate.ini:11-17,\
|
||||
\ projects/ROCKNIX/packages/emulators/standalone/dsperate-sa/config/RK3566/dsperate.ini:11-17,\
|
||||
\ projects/ROCKNIX/packages/emulators/standalone/dsperate-sa/config/RK3588/dsperate.ini:13-19,\
|
||||
\ projects/ROCKNIX/packages/emulators/standalone/dsperate-sa/config/S922X/dsperate.ini:13-19,\
|
||||
\ projects/ROCKNIX/packages/emulators/standalone/dsperate-sa/package.mk:21-22,\
|
||||
\ projects/ROCKNIX/packages/emulators/standalone/dsperate-sa/scripts/start_dsperate.sh:163"
|
||||
\ projects/ROCKNIX/packages/emulators/standalone/dsperate-sa/scripts/start_dsperate.sh:190"
|
||||
- emulator: nanoboyadvance
|
||||
build: standalone
|
||||
kind: fixed_name
|
||||
@@ -711,8 +706,8 @@ launchers:
|
||||
passes_to: yabasanshiro -b <first path found>
|
||||
fails_when_missing: false
|
||||
depends_on_option: "use_hlebios = 1 (game, then platform)"
|
||||
source_ref: "projects/ROCKNIX/packages/emulators/standalone/yabasanshiro-sa/scripts/start_yabasanshiro.sh:74,\
|
||||
\ 80-90"
|
||||
source_ref: "projects/ROCKNIX/packages/emulators/standalone/yabasanshiro-sa/scripts/start_yabasanshiro.sh:76,\
|
||||
\ 82-92"
|
||||
- emulator: duckstation
|
||||
build: standalone
|
||||
kind: scans_dir
|
||||
@@ -726,26 +721,10 @@ launchers:
|
||||
\ projects/ROCKNIX/packages/emulators/standalone/duckstation-sa/config/InputPlumber/settings.ini:29-32,\
|
||||
\ projects/ROCKNIX/packages/emulators/standalone/duckstation-sa/config/RK3326/settings.ini:29-32,\
|
||||
\ projects/ROCKNIX/packages/emulators/standalone/duckstation-sa/config/RK3399/settings.ini:29-32,\
|
||||
\ projects/ROCKNIX/packages/emulators/standalone/duckstation-sa/config/RK3566/settings.ini:29-32,\
|
||||
\ projects/ROCKNIX/packages/emulators/standalone/duckstation-sa/config/RK3588/settings.ini:29-32,\
|
||||
\ projects/ROCKNIX/packages/emulators/standalone/duckstation-sa/config/S922X/settings.ini:136-139,\
|
||||
\ projects/ROCKNIX/packages/emulators/standalone/duckstation-sa/config/SM4450/settings.ini:29-32,\
|
||||
\ projects/ROCKNIX/packages/emulators/standalone/duckstation-sa/package.mk:33"
|
||||
- emulator: aethersx2
|
||||
build: standalone
|
||||
kind: scans_dir
|
||||
names: []
|
||||
search_dir: /storage/roms/bios/aethersx2/bios
|
||||
passes_to: "PCSX2.ini [Folders] Bios = /storage/roms/bios/aethersx2/bios, [Filenames]\
|
||||
\ BIOS unset"
|
||||
fails_when_missing: false
|
||||
source_ref: "projects/ROCKNIX/packages/emulators/standalone/aethersx2-sa/config/InputPlumber/aethersx2/inis/PCSX2.ini:273,\
|
||||
\ 302, projects/ROCKNIX/packages/emulators/standalone/aethersx2-sa/config/RK3399/aethersx2/inis/PCSX2.ini:273,\
|
||||
\ 302, projects/ROCKNIX/packages/emulators/standalone/aethersx2-sa/config/RK3566/aethersx2/inis/PCSX2.ini:273,\
|
||||
\ 302, projects/ROCKNIX/packages/emulators/standalone/aethersx2-sa/config/RK3588/aethersx2/inis/PCSX2.ini:273,\
|
||||
\ 302, projects/ROCKNIX/packages/emulators/standalone/aethersx2-sa/config/S922X/aethersx2/inis/PCSX2.ini:273,\
|
||||
\ 302, projects/ROCKNIX/packages/emulators/standalone/aethersx2-sa/config/SM4450/aethersx2/inis/PCSX2.ini:273,\
|
||||
\ 302, projects/ROCKNIX/packages/emulators/standalone/aethersx2-sa/package.mk:31"
|
||||
- emulator: armsx2
|
||||
build: standalone
|
||||
kind: scans_dir
|
||||
@@ -816,7 +795,7 @@ launchers:
|
||||
search_dir: /storage/roms/bios/dc
|
||||
passes_to: symlink /storage/roms/dreamcast/data -> /storage/roms/bios/dc
|
||||
fails_when_missing: false
|
||||
source_ref: "projects/ROCKNIX/packages/emulators/standalone/flycast-sa/scripts/start_flycast.sh:35"
|
||||
source_ref: "projects/ROCKNIX/packages/emulators/standalone/flycast-sa/scripts/start_flycast.sh:40"
|
||||
- emulator: cemu
|
||||
build: standalone
|
||||
kind: links
|
||||
|
||||
+2
-2
@@ -1,8 +1,8 @@
|
||||
inherits: emulatorjs
|
||||
platform: RomM
|
||||
version: 5.4.0
|
||||
version: 5.4.1
|
||||
homepage: "https://romm.app"
|
||||
source: "https://raw.githubusercontent.com/rommapp/romm/5.4.0/backend/models/fixtures/known_bios_files.json"
|
||||
source: "https://raw.githubusercontent.com/rommapp/romm/5.4.1/backend/models/fixtures/known_bios_files.json"
|
||||
base_destination: bios
|
||||
hash_type: sha1
|
||||
verification_mode: md5
|
||||
|
||||
@@ -1,6 +1,6 @@
|
||||
platform: emudeck
|
||||
source: https://github.com/dragoonDorise/EmuDeck/tree/dddb30229adbbd54d5ff7283cfd70e11c4322c26
|
||||
scraped_at: '2026-11-06T13:46:57Z'
|
||||
scraped_at: '2026-11-09T06:02:29Z'
|
||||
targets:
|
||||
steamos:
|
||||
architecture: x86_64
|
||||
@@ -66,6 +66,7 @@ targets:
|
||||
- easyrpg
|
||||
- ecwolf
|
||||
- eden
|
||||
- eduke32
|
||||
- emuscv
|
||||
- ep128emu_core
|
||||
- fbalpha
|
||||
@@ -108,11 +109,14 @@ targets:
|
||||
- hatarib
|
||||
- hbmame
|
||||
- holani
|
||||
- hyperscanemu
|
||||
- hypseushw
|
||||
- irogb
|
||||
- jaxe
|
||||
- jollycv
|
||||
- jumpnbump
|
||||
- kronos
|
||||
- linuxloader
|
||||
- lowresnx
|
||||
- lutro
|
||||
- m2000
|
||||
@@ -152,6 +156,7 @@ targets:
|
||||
- mrboom
|
||||
- mu
|
||||
- mupen64plus_next
|
||||
- n64emu
|
||||
- native32emu
|
||||
- nekop2
|
||||
- neocd
|
||||
@@ -165,10 +170,13 @@ targets:
|
||||
- nxengine
|
||||
- o2em
|
||||
- oberon
|
||||
- odin
|
||||
- omicron
|
||||
- openlara
|
||||
- openmsx
|
||||
- opera
|
||||
- panda3ds
|
||||
- parallel_dc
|
||||
- parallel_n64
|
||||
- pcee2
|
||||
- pcem
|
||||
@@ -176,6 +184,7 @@ targets:
|
||||
- pcsx_rearmed
|
||||
- pd777
|
||||
- picodrive
|
||||
- piece
|
||||
- play
|
||||
- playdiaemu
|
||||
- pocketcdg
|
||||
@@ -232,6 +241,7 @@ targets:
|
||||
- tic80
|
||||
- tyrquake
|
||||
- uw8
|
||||
- uzdoom
|
||||
- uzem
|
||||
- vaporspec
|
||||
- vba_next
|
||||
@@ -331,6 +341,7 @@ targets:
|
||||
- easyrpg
|
||||
- ecwolf
|
||||
- eden
|
||||
- eduke32
|
||||
- emuscv
|
||||
- ep128emu_core
|
||||
- fbalpha
|
||||
@@ -372,11 +383,14 @@ targets:
|
||||
- hatarib
|
||||
- hbmame
|
||||
- holani
|
||||
- hyperscanemu
|
||||
- hypseushw
|
||||
- irogb
|
||||
- jaxe
|
||||
- jollycv
|
||||
- jumpnbump
|
||||
- kronos
|
||||
- linuxloader
|
||||
- lowresnx
|
||||
- lutro
|
||||
- m2000
|
||||
@@ -416,6 +430,7 @@ targets:
|
||||
- mrboom
|
||||
- mu
|
||||
- mupen64plus_next
|
||||
- n64emu
|
||||
- native32emu
|
||||
- nekop2
|
||||
- neocd
|
||||
@@ -429,9 +444,12 @@ targets:
|
||||
- nxengine
|
||||
- o2em
|
||||
- oberon
|
||||
- odin
|
||||
- openlara
|
||||
- openmsx
|
||||
- opera
|
||||
- panda3ds
|
||||
- parallel_dc
|
||||
- parallel_n64
|
||||
- pcee2
|
||||
- pcem
|
||||
@@ -439,6 +457,7 @@ targets:
|
||||
- pcsx_rearmed
|
||||
- pd777
|
||||
- picodrive
|
||||
- piece
|
||||
- play
|
||||
- playdiaemu
|
||||
- pocketcdg
|
||||
@@ -494,6 +513,7 @@ targets:
|
||||
- tic80
|
||||
- tyrquake
|
||||
- uw8
|
||||
- uzdoom
|
||||
- uzem
|
||||
- vaporspec
|
||||
- vba_next
|
||||
|
||||
@@ -1,6 +1,6 @@
|
||||
platform: retroarch
|
||||
source: https://buildbot.libretro.com/nightly/
|
||||
scraped_at: '2026-10-20T00:25:51Z'
|
||||
scraped_at: '2026-11-09T04:38:04Z'
|
||||
targets:
|
||||
linux-x86_64:
|
||||
architecture: x86_64
|
||||
@@ -60,6 +60,7 @@ targets:
|
||||
- doukutsu_rs
|
||||
- easyrpg
|
||||
- ecwolf
|
||||
- eduke32
|
||||
- emuscv
|
||||
- ep128emu_core
|
||||
- fbalpha
|
||||
@@ -102,11 +103,14 @@ targets:
|
||||
- hatarib
|
||||
- hbmame
|
||||
- holani
|
||||
- hyperscanemu
|
||||
- hypseushw
|
||||
- irogb
|
||||
- jaxe
|
||||
- jollycv
|
||||
- jumpnbump
|
||||
- kronos
|
||||
- linuxloader
|
||||
- lowresnx
|
||||
- lutro
|
||||
- m2000
|
||||
@@ -145,6 +149,7 @@ targets:
|
||||
- mrboom
|
||||
- mu
|
||||
- mupen64plus_next
|
||||
- n64emu
|
||||
- native32emu
|
||||
- nekop2
|
||||
- neocd
|
||||
@@ -158,10 +163,13 @@ targets:
|
||||
- nxengine
|
||||
- o2em
|
||||
- oberon
|
||||
- odin
|
||||
- omicron
|
||||
- openlara
|
||||
- openmsx
|
||||
- opera
|
||||
- panda3ds
|
||||
- parallel_dc
|
||||
- parallel_n64
|
||||
- pcee2
|
||||
- pcem
|
||||
@@ -169,6 +177,7 @@ targets:
|
||||
- pcsx_rearmed
|
||||
- pd777
|
||||
- picodrive
|
||||
- piece
|
||||
- play
|
||||
- playdiaemu
|
||||
- pocketcdg
|
||||
@@ -221,6 +230,7 @@ targets:
|
||||
- tic80
|
||||
- tyrquake
|
||||
- uw8
|
||||
- uzdoom
|
||||
- uzem
|
||||
- vaporspec
|
||||
- vba_next
|
||||
@@ -345,6 +355,7 @@ targets:
|
||||
- hatarib
|
||||
- hbmame
|
||||
- holani
|
||||
- hyperscanemu
|
||||
- jaxe
|
||||
- jollycv
|
||||
- jumpnbump
|
||||
@@ -386,6 +397,7 @@ targets:
|
||||
- mrboom
|
||||
- mu
|
||||
- mupen64plus_next
|
||||
- n64emu
|
||||
- native32emu
|
||||
- nekop2
|
||||
- neocd
|
||||
@@ -401,11 +413,13 @@ targets:
|
||||
- omicron
|
||||
- openlara
|
||||
- opera
|
||||
- parallel_dc
|
||||
- parallel_n64
|
||||
- pcem
|
||||
- pcsx_rearmed
|
||||
- pd777
|
||||
- picodrive
|
||||
- piece
|
||||
- play
|
||||
- playdiaemu
|
||||
- pocketcdg
|
||||
@@ -535,6 +549,7 @@ targets:
|
||||
- dosbox_svn
|
||||
- easyrpg
|
||||
- ecwolf
|
||||
- eduke32
|
||||
- emuscv
|
||||
- ep128emu_core
|
||||
- fbalpha2012
|
||||
@@ -576,13 +591,16 @@ targets:
|
||||
- hatarib
|
||||
- hbmame
|
||||
- holani
|
||||
- hyperscanemu
|
||||
- irogb
|
||||
- jaxe
|
||||
- jollycv
|
||||
- jumpnbump
|
||||
- kronos
|
||||
- linuxloader
|
||||
- lowresnx
|
||||
- lutro
|
||||
- m2000
|
||||
- mame
|
||||
- mame2000
|
||||
- mame2003
|
||||
@@ -616,6 +634,7 @@ targets:
|
||||
- mojozork
|
||||
- mrboom
|
||||
- mu
|
||||
- mupen64plus_next
|
||||
- native32emu
|
||||
- nekop2
|
||||
- neocd
|
||||
@@ -628,15 +647,19 @@ targets:
|
||||
- nxengine
|
||||
- o2em
|
||||
- oberon
|
||||
- odin
|
||||
- omicron
|
||||
- openlara
|
||||
- openmsx
|
||||
- opera
|
||||
- parallel_dc
|
||||
- parallel_n64
|
||||
- pcee2
|
||||
- pcsx2
|
||||
- pcsx_rearmed
|
||||
- pd777
|
||||
- picodrive
|
||||
- piece
|
||||
- play
|
||||
- playdiaemu
|
||||
- pocketcdg
|
||||
@@ -686,6 +709,7 @@ targets:
|
||||
- tic80
|
||||
- tyrquake
|
||||
- uw8
|
||||
- uzdoom
|
||||
- uzem
|
||||
- vaporspec
|
||||
- vba_next
|
||||
@@ -979,6 +1003,7 @@ targets:
|
||||
- doukutsu_rs
|
||||
- easyrpg
|
||||
- ecwolf
|
||||
- eduke32
|
||||
- emuscv
|
||||
- ep128emu_core
|
||||
- fbalpha
|
||||
@@ -1020,11 +1045,14 @@ targets:
|
||||
- hatarib
|
||||
- hbmame
|
||||
- holani
|
||||
- hyperscanemu
|
||||
- hypseushw
|
||||
- irogb
|
||||
- jaxe
|
||||
- jollycv
|
||||
- jumpnbump
|
||||
- kronos
|
||||
- linuxloader
|
||||
- lowresnx
|
||||
- lutro
|
||||
- m2000
|
||||
@@ -1063,6 +1091,7 @@ targets:
|
||||
- mrboom
|
||||
- mu
|
||||
- mupen64plus_next
|
||||
- n64emu
|
||||
- native32emu
|
||||
- nekop2
|
||||
- neocd
|
||||
@@ -1076,9 +1105,12 @@ targets:
|
||||
- nxengine
|
||||
- o2em
|
||||
- oberon
|
||||
- odin
|
||||
- openlara
|
||||
- openmsx
|
||||
- opera
|
||||
- panda3ds
|
||||
- parallel_dc
|
||||
- parallel_n64
|
||||
- pcee2
|
||||
- pcem
|
||||
@@ -1086,6 +1118,7 @@ targets:
|
||||
- pcsx_rearmed
|
||||
- pd777
|
||||
- picodrive
|
||||
- piece
|
||||
- play
|
||||
- playdiaemu
|
||||
- pocketcdg
|
||||
@@ -1138,6 +1171,7 @@ targets:
|
||||
- tic80
|
||||
- tyrquake
|
||||
- uw8
|
||||
- uzdoom
|
||||
- uzem
|
||||
- vaporspec
|
||||
- vba_next
|
||||
@@ -1261,6 +1295,7 @@ targets:
|
||||
- hatarib
|
||||
- hbmame
|
||||
- holani
|
||||
- hyperscanemu
|
||||
- jaxe
|
||||
- jollycv
|
||||
- jumpnbump
|
||||
@@ -1300,6 +1335,7 @@ targets:
|
||||
- mrboom
|
||||
- mu
|
||||
- mupen64plus_next
|
||||
- n64emu
|
||||
- native32emu
|
||||
- nekop2
|
||||
- neocd
|
||||
@@ -1312,11 +1348,13 @@ targets:
|
||||
- o2em
|
||||
- oberon
|
||||
- opera
|
||||
- parallel_dc
|
||||
- parallel_n64
|
||||
- pcem
|
||||
- pcsx_rearmed
|
||||
- pd777
|
||||
- picodrive
|
||||
- piece
|
||||
- play
|
||||
- playdiaemu
|
||||
- pocketcdg
|
||||
@@ -1452,6 +1490,7 @@ targets:
|
||||
- doukutsu_rs
|
||||
- easyrpg
|
||||
- ecwolf
|
||||
- eduke32
|
||||
- emuscv
|
||||
- ep128emu_core
|
||||
- fbalpha
|
||||
@@ -1494,6 +1533,8 @@ targets:
|
||||
- hatarib
|
||||
- hbmame
|
||||
- holani
|
||||
- hyperscanemu
|
||||
- hypseushw
|
||||
- irogb
|
||||
- jaxe
|
||||
- jollycv
|
||||
@@ -1551,14 +1592,17 @@ targets:
|
||||
- o2em
|
||||
- oberon
|
||||
- openlara
|
||||
- openmsx
|
||||
- opera
|
||||
- panda3ds
|
||||
- parallel_dc
|
||||
- parallel_n64
|
||||
- pcee2
|
||||
- pcsx2
|
||||
- pcsx_rearmed
|
||||
- pd777
|
||||
- picodrive
|
||||
- piece
|
||||
- play
|
||||
- playdiaemu
|
||||
- pocketcdg
|
||||
@@ -1611,6 +1655,7 @@ targets:
|
||||
- tic80
|
||||
- tyrquake
|
||||
- uw8
|
||||
- uzdoom
|
||||
- uzem
|
||||
- vaporspec
|
||||
- vba_next
|
||||
@@ -1736,6 +1781,7 @@ targets:
|
||||
- hatarib
|
||||
- hbmame
|
||||
- holani
|
||||
- hyperscanemu
|
||||
- jaxe
|
||||
- jollycv
|
||||
- jumpnbump
|
||||
@@ -1792,10 +1838,12 @@ targets:
|
||||
- oberon
|
||||
- openlara
|
||||
- opera
|
||||
- parallel_dc
|
||||
- parallel_n64
|
||||
- pcsx_rearmed
|
||||
- pd777
|
||||
- picodrive
|
||||
- piece
|
||||
- play
|
||||
- playdiaemu
|
||||
- pocketcdg
|
||||
@@ -1973,6 +2021,7 @@ targets:
|
||||
- hatarib
|
||||
- hbmame
|
||||
- holani
|
||||
- hyperscanemu
|
||||
- jaxe
|
||||
- jollycv
|
||||
- jumpnbump
|
||||
@@ -2031,12 +2080,14 @@ targets:
|
||||
- oberon
|
||||
- openlara
|
||||
- opera
|
||||
- parallel_dc
|
||||
- parallel_n64
|
||||
- pcee2
|
||||
- pcsx2
|
||||
- pcsx_rearmed
|
||||
- pd777
|
||||
- picodrive
|
||||
- piece
|
||||
- play
|
||||
- playdiaemu
|
||||
- pocketcdg
|
||||
@@ -2194,6 +2245,7 @@ targets:
|
||||
- galaksija
|
||||
- gam4980
|
||||
- gambatte
|
||||
- gametank
|
||||
- gearboy
|
||||
- gearcoleco
|
||||
- geargrafx
|
||||
@@ -2213,6 +2265,7 @@ targets:
|
||||
- hatarib
|
||||
- hbmame
|
||||
- holani
|
||||
- hyperscanemu
|
||||
- jaxe
|
||||
- jollycv
|
||||
- jumpnbump
|
||||
@@ -2268,10 +2321,12 @@ targets:
|
||||
- oberon
|
||||
- openlara
|
||||
- opera
|
||||
- parallel_dc
|
||||
- parallel_n64
|
||||
- pcsx_rearmed
|
||||
- pd777
|
||||
- picodrive
|
||||
- piece
|
||||
- play
|
||||
- playdiaemu
|
||||
- pocketcdg
|
||||
@@ -2446,6 +2501,7 @@ targets:
|
||||
- hbmame
|
||||
- higan_sfc
|
||||
- holani
|
||||
- hyperscanemu
|
||||
- irogb
|
||||
- ishiiruka
|
||||
- jaxe
|
||||
@@ -2500,14 +2556,17 @@ targets:
|
||||
- o2em
|
||||
- oberon
|
||||
- openlara
|
||||
- openmsx
|
||||
- opera
|
||||
- panda3ds
|
||||
- parallel_dc
|
||||
- parallel_n64
|
||||
- pcee2
|
||||
- pcsx2
|
||||
- pcsx_rearmed
|
||||
- pd777
|
||||
- picodrive
|
||||
- piece
|
||||
- play
|
||||
- playdiaemu
|
||||
- pocketcdg
|
||||
@@ -2646,6 +2705,7 @@ targets:
|
||||
- doukutsu_rs
|
||||
- easyrpg
|
||||
- ecwolf
|
||||
- eduke32
|
||||
- emuscv
|
||||
- ep128emu_core
|
||||
- fbalpha2012
|
||||
@@ -2686,6 +2746,7 @@ targets:
|
||||
- hatarib
|
||||
- hbmame
|
||||
- holani
|
||||
- hyperscanemu
|
||||
- irogb
|
||||
- jaxe
|
||||
- jollycv
|
||||
@@ -2739,14 +2800,17 @@ targets:
|
||||
- nxengine
|
||||
- o2em
|
||||
- oberon
|
||||
- openmsx
|
||||
- opera
|
||||
- panda3ds
|
||||
- parallel_dc
|
||||
- parallel_n64
|
||||
- pcee2
|
||||
- pcsx2
|
||||
- pcsx_rearmed
|
||||
- pd777
|
||||
- picodrive
|
||||
- piece
|
||||
- play
|
||||
- playdiaemu
|
||||
- pocketcdg
|
||||
@@ -2799,6 +2863,7 @@ targets:
|
||||
- tic80
|
||||
- tyrquake
|
||||
- uw8
|
||||
- uzdoom
|
||||
- uzem
|
||||
- vaporspec
|
||||
- vba_next
|
||||
@@ -2920,6 +2985,7 @@ targets:
|
||||
- hatarib
|
||||
- hbmame
|
||||
- holani
|
||||
- hyperscanemu
|
||||
- irogb
|
||||
- jaxe
|
||||
- jollycv
|
||||
@@ -2973,12 +3039,14 @@ targets:
|
||||
- o2em
|
||||
- oberon
|
||||
- opera
|
||||
- parallel_dc
|
||||
- parallel_n64
|
||||
- pcee2
|
||||
- pcsx2
|
||||
- pcsx_rearmed
|
||||
- pd777
|
||||
- picodrive
|
||||
- piece
|
||||
- play
|
||||
- playdiaemu
|
||||
- pocketcdg
|
||||
@@ -3025,6 +3093,7 @@ targets:
|
||||
- tia
|
||||
- tyrquake
|
||||
- uw8
|
||||
- uzdoom
|
||||
- uzem
|
||||
- vaporspec
|
||||
- vba_next
|
||||
@@ -3105,6 +3174,7 @@ targets:
|
||||
- doukutsu_rs
|
||||
- easyrpg
|
||||
- ecwolf
|
||||
- eduke32
|
||||
- emuscv
|
||||
- ep128emu_core
|
||||
- fbalpha2012
|
||||
@@ -3145,6 +3215,7 @@ targets:
|
||||
- hatarib
|
||||
- hbmame
|
||||
- holani
|
||||
- hyperscanemu
|
||||
- irogb
|
||||
- jaxe
|
||||
- jollycv
|
||||
@@ -3198,11 +3269,13 @@ targets:
|
||||
- o2em
|
||||
- oberon
|
||||
- opera
|
||||
- parallel_dc
|
||||
- pcee2
|
||||
- pcsx2
|
||||
- pcsx_rearmed
|
||||
- pd777
|
||||
- picodrive
|
||||
- piece
|
||||
- play
|
||||
- playdiaemu
|
||||
- pocketcdg
|
||||
@@ -3248,6 +3321,7 @@ targets:
|
||||
- tia
|
||||
- tyrquake
|
||||
- uw8
|
||||
- uzdoom
|
||||
- uzem
|
||||
- vaporspec
|
||||
- vba_next
|
||||
@@ -3337,6 +3411,7 @@ targets:
|
||||
- gpsp
|
||||
- gw
|
||||
- handy
|
||||
- hatari
|
||||
- hatarib
|
||||
- jaxe
|
||||
- jumpnbump
|
||||
@@ -3373,6 +3448,7 @@ targets:
|
||||
- nxengine
|
||||
- o2em
|
||||
- opera
|
||||
- parallel_dc
|
||||
- pcsx_rearmed
|
||||
- pd777
|
||||
- picodrive
|
||||
@@ -4490,6 +4566,7 @@ targets:
|
||||
- dosbox_pure
|
||||
- dosbox_svn
|
||||
- ecwolf
|
||||
- eduke32
|
||||
- emuscv
|
||||
- ep128emu_core
|
||||
- fbalpha2012
|
||||
@@ -4529,6 +4606,7 @@ targets:
|
||||
- hatarib
|
||||
- hbmame
|
||||
- holani
|
||||
- hyperscanemu
|
||||
- jaxe
|
||||
- jollycv
|
||||
- jumpnbump
|
||||
@@ -4578,6 +4656,7 @@ targets:
|
||||
- oberon
|
||||
- openlara
|
||||
- opera
|
||||
- parallel_dc
|
||||
- parallel_n64
|
||||
- pcsx_rearmed
|
||||
- pd777
|
||||
@@ -4628,6 +4707,7 @@ targets:
|
||||
- tyrquake
|
||||
- uae4arm
|
||||
- uw8
|
||||
- uzdoom
|
||||
- uzem
|
||||
- vaporspec
|
||||
- vba_next
|
||||
@@ -4659,10 +4739,12 @@ targets:
|
||||
- blastem
|
||||
- cemu
|
||||
- dolphin
|
||||
- eduke32
|
||||
- emuscv
|
||||
- pcee2
|
||||
- pcsx2
|
||||
- rustynes
|
||||
- uzdoom
|
||||
playstation-vita:
|
||||
architecture: armv7
|
||||
cores:
|
||||
|
||||
@@ -17,6 +17,7 @@
|
||||
"scanned",
|
||||
"version",
|
||||
"board",
|
||||
"unknown_core",
|
||||
"choices",
|
||||
"set_aside",
|
||||
"file",
|
||||
@@ -63,6 +64,9 @@
|
||||
{
|
||||
"$ref": "#/$defs/board"
|
||||
},
|
||||
{
|
||||
"$ref": "#/$defs/unknown_core"
|
||||
},
|
||||
{
|
||||
"$ref": "#/$defs/choices"
|
||||
},
|
||||
@@ -324,6 +328,41 @@
|
||||
}
|
||||
}
|
||||
},
|
||||
"unknown_core": {
|
||||
"type": "object",
|
||||
"additionalProperties": false,
|
||||
"required": [
|
||||
"event",
|
||||
"platform",
|
||||
"core",
|
||||
"info",
|
||||
"dests",
|
||||
"message"
|
||||
],
|
||||
"properties": {
|
||||
"event": {
|
||||
"const": "unknown_core"
|
||||
},
|
||||
"platform": {
|
||||
"type": "string"
|
||||
},
|
||||
"core": {
|
||||
"type": "string"
|
||||
},
|
||||
"info": {
|
||||
"type": "boolean"
|
||||
},
|
||||
"dests": {
|
||||
"type": "array",
|
||||
"items": {
|
||||
"type": "string"
|
||||
}
|
||||
},
|
||||
"message": {
|
||||
"type": "string"
|
||||
}
|
||||
}
|
||||
},
|
||||
"choices": {
|
||||
"type": "object",
|
||||
"additionalProperties": false,
|
||||
|
||||
@@ -119,7 +119,7 @@
|
||||
"description": "Number of entries in omitted_files."
|
||||
},
|
||||
"core_names": {
|
||||
"description": "Each core a file names, with the other names it goes by upstream (the buildbot's mednafen_psx for beetle_psx).",
|
||||
"description": "Each core the platform runs or a file names, with the other names it goes by upstream (the buildbot's mednafen_psx for beetle_psx), empty when it has none.",
|
||||
"type": "object",
|
||||
"additionalProperties": {
|
||||
"type": "array",
|
||||
|
||||
@@ -518,6 +518,10 @@
|
||||
"type": "string",
|
||||
"description": "Display name the platform gives its own system"
|
||||
},
|
||||
"group": {
|
||||
"type": "string",
|
||||
"description": "RetroBat: files sharing a group are alternatives. One held is enough and the others are reported OPTIONAL"
|
||||
},
|
||||
"md5_list": {
|
||||
"type": "boolean",
|
||||
"description": "Batocera: the platform writes md5 as a list of strings, any of which matches. md5 holds the items comma-joined, in order"
|
||||
|
||||
@@ -37,7 +37,7 @@ KEY_TYPES: dict[str, dict] = {
|
||||
**dict.fromkeys((
|
||||
"installer", "os", "os_name", "stage", "reason", "platform", "message",
|
||||
"folder", "dest", "system", "name", "bios_dir", "path", "member",
|
||||
"list_version", "installed_version", "board",
|
||||
"list_version", "installed_version", "board", "core",
|
||||
), _TEXT),
|
||||
"mode": {"enum": ["install", "check", "dry-run", "list"]},
|
||||
"state": {"enum": ["present", "wrong_hash", "missing"]},
|
||||
@@ -47,7 +47,7 @@ KEY_TYPES: dict[str, dict] = {
|
||||
"bytes_needed", "data_missing", "not_installable", "installed", "up_to_date",
|
||||
"pending", "code", "games", "recognised", "not_games",
|
||||
), _COUNT),
|
||||
**dict.fromkeys(("truncated", "ok", "interrupted", "required_only", "applied"), _FLAG),
|
||||
**dict.fromkeys(("truncated", "ok", "interrupted", "required_only", "applied", "info"), _FLAG),
|
||||
**dict.fromkeys(("systems", "other_drives", "dests", "written"), _NAMES),
|
||||
**dict.fromkeys(("platforms", "failed", "skipped", "left_out", "kept", "found",
|
||||
"fallback"), _RECORDS),
|
||||
|
||||
@@ -5299,14 +5299,15 @@ def _manifest_core_index(
|
||||
|
||||
A target list, or the cores found installed, names cores the way the
|
||||
buildbot does, and a file names the profile that reads it: `core_names`
|
||||
gives each profile the other names it goes by. `system_cores` gives each
|
||||
platform system the cores whose presence keeps it, as
|
||||
gives each profile the other names it goes by, and names every core the
|
||||
platform runs, one that reads no file included: a core found installed
|
||||
that the list does not name is one it has no profile for. `system_cores`
|
||||
gives each platform system the cores whose presence keeps it, as
|
||||
`filter_systems_by_target` decides. A system absent from it is kept
|
||||
whatever is available.
|
||||
"""
|
||||
reach = system_core_reach(
|
||||
config.get("systems", {}), profiles, _platform_cores(config, profiles)
|
||||
)
|
||||
runs = _platform_cores(config, profiles)
|
||||
reach = system_core_reach(config.get("systems", {}), profiles, runs)
|
||||
system_cores = {
|
||||
sys_id: sorted(cores) for sys_id, cores in sorted(reach.items())
|
||||
if cores is not None
|
||||
@@ -5317,7 +5318,8 @@ def _manifest_core_index(
|
||||
for c in copy.get("cores") or []
|
||||
}
|
||||
named |= {c for cores in system_cores.values() for c in cores}
|
||||
aliases: dict[str, set[str]] = {}
|
||||
named |= set(runs)
|
||||
aliases: dict[str, set[str]] = {profile: set() for profile in named & set(runs)}
|
||||
for name, claimants in upstream_profile_index(profiles, include_aliases=True).items():
|
||||
for profile in claimants & named:
|
||||
if name != profile:
|
||||
|
||||
@@ -782,6 +782,14 @@ def verify_pack_against_platform(
|
||||
baseline_groups.setdefault(expected, []).append(fe)
|
||||
|
||||
baseline_checked = len(baseline_groups)
|
||||
# RetroBat's group: one packed file of it is enough, as verify counts it.
|
||||
packed_groups = {
|
||||
(system_of[id(fe)], fe["group"])
|
||||
for expected, declarations in baseline_groups.items()
|
||||
if expected in zip_set or expected.lower() in zip_lower
|
||||
for fe in declarations
|
||||
if fe.get("group")
|
||||
}
|
||||
exclusion_index = build_zip_contents_index(db) if db is not None else {}
|
||||
categories = EntryCategories(config, emu_profiles, data_registry)
|
||||
for expected, declarations in baseline_groups.items():
|
||||
@@ -803,6 +811,12 @@ def verify_pack_against_platform(
|
||||
):
|
||||
baseline_excluded += 1
|
||||
continue
|
||||
elif all(
|
||||
fe.get("group") and (system_of[id(fe)], fe["group"]) in packed_groups
|
||||
for fe in declarations
|
||||
):
|
||||
baseline_absent += 1
|
||||
continue
|
||||
elif db is not None and all(
|
||||
categories.category(fe, fe.get("destination", fe.get("name", "")),
|
||||
system_of[id(fe)]) != BIOS
|
||||
|
||||
@@ -147,12 +147,14 @@ class Source:
|
||||
return max(holding)
|
||||
|
||||
def header(self, block: tuple[int, int]) -> str:
|
||||
"""The statement that owns a block's opening brace, comments removed."""
|
||||
"""The statement that owns a block's opening brace, comments and
|
||||
preprocessor lines (#region, #if) removed."""
|
||||
if self._ends is None:
|
||||
self._ends = [o for o, c in _code_chars(self.text) if c in ";{}"]
|
||||
previous = bisect.bisect_left(self._ends, block[0]) - 1
|
||||
start = self._ends[previous] + 1 if previous >= 0 else 0
|
||||
text = re.sub(r"//[^\n]*|/\*.*?\*/", "", self.text[start : block[0]], flags=re.S)
|
||||
text = re.sub(r"//[^\n]*|/\*.*?\*/|^[ \t]*#[^\n]*", "", self.text[start : block[0]],
|
||||
flags=re.S | re.M)
|
||||
return " ".join(text.split())
|
||||
|
||||
def statement_span(self, block: tuple[int, int]) -> tuple[int, int]:
|
||||
@@ -381,34 +383,65 @@ def ares(sources: dict[str, Source]) -> list[Record]:
|
||||
|
||||
|
||||
def hatari(sources: dict[str, Source]) -> list[Record]:
|
||||
"""tos.img in bios, a TOS chosen in bios/hatari/tos, and EmuTOS from there
|
||||
for a hard disk image, for a missing tos.img, or after a TOS too old for
|
||||
autostart or GEMDOS."""
|
||||
src = sources[f"{GENERATORS}/Hatari.Generator.cs"]
|
||||
features = sources[FEATURES]
|
||||
default = src.find(rf'string (\w+) = Path\.Combine\({BIOS}, "([^"]+)"\);', "default TOS path")
|
||||
folder = src.find(
|
||||
rf'string (\w+) = Path\.Combine\({BIOS}, ((?:"[^"]+"(?:, )?)+)\);', "TOS folder"
|
||||
)
|
||||
tos_dir, folders = folder.group(1), _strings(folder.group(2))
|
||||
default = src.find(
|
||||
rf'string (\w+) = Path\.Combine\({BIOS}, "([^"]+)"\);', "default TOS path", folder.end()
|
||||
)
|
||||
var, name = default.group(1), default.group(2)
|
||||
emutos = src.find(
|
||||
rf'string (\w+) = Path\.Combine\({tos_dir}, "([^"]+)"\);', "EmuTOS path", default.end()
|
||||
)
|
||||
override = src.find(
|
||||
rf'isOptSet\("(\w+)"\)[^\n]*\n\s*{var} = Path\.Combine\({BIOS}, ((?:"[^"]+", )+)SystemConfig\["\1"\]\);',
|
||||
rf'isOptSet\("(\w+)"\)[^\n]*\n\s*{var} = Path\.Combine\({tos_dir}, SystemConfig\["\1"\]\);',
|
||||
"TOS option override",
|
||||
default.end(),
|
||||
emutos.end(),
|
||||
)
|
||||
option = override.group(1)
|
||||
disk = src.find(
|
||||
rf"else if \(media\.HasHardDiskImage && File\.Exists\({emutos.group(1)}\)\)",
|
||||
"EmuTOS for a hard disk image",
|
||||
override.end(),
|
||||
)
|
||||
absent = src.find(
|
||||
rf"if \(!File\.Exists\({var}\) && File\.Exists\({emutos.group(1)}\)\)\s*{var} = {emutos.group(1)};",
|
||||
"EmuTOS without tos.img",
|
||||
disk.end(),
|
||||
)
|
||||
newer = src.find(
|
||||
r"new string\[\] \{ ((?:\"[^\"]+\"(?:, )?)+) \}\s*"
|
||||
rf"\.Select\(t => Path\.Combine\({tos_dir}, t\)\)\s*\.FirstOrDefault\(t => File\.Exists\(t\)\);",
|
||||
"TOS for autostart and GEMDOS",
|
||||
absent.end(),
|
||||
)
|
||||
option, folders = override.group(1), _strings(override.group(2))
|
||||
write = src.find(
|
||||
rf'ini\.WriteValue\("(\w+)", "(\w+)", {var}\);', "TOS ini write", override.end()
|
||||
rf'ini\.WriteValue\("(\w+)", "(\w+)", {var}\);', "TOS ini write", newer.end()
|
||||
)
|
||||
message, _ = _throw_message(src, override.end(), write.start())
|
||||
message, _ = _throw_message(src, newer.end(), write.start())
|
||||
passes = f"hatari.cfg [{write.group(1)}] {write.group(2)}"
|
||||
tos_folder = "/".join(["bios", *folders])
|
||||
choices, choice_lines = feature_choices(features, "hatari", option)
|
||||
head = src.lines(folder.start(), emutos.end())
|
||||
tail = src.lines(write.start(), write.end())
|
||||
return [
|
||||
_record(
|
||||
"hatari",
|
||||
"standalone",
|
||||
"fixed_name",
|
||||
[name],
|
||||
source_ref((src.path, [src.lines(default.start(), write.end())])),
|
||||
source_ref((src.path, [head, src.lines(absent.start(), absent.end()), tail])),
|
||||
case_insensitive=True,
|
||||
search_dir="bios",
|
||||
passes_to=f"{passes}=<bios>/{name}",
|
||||
fails_when_missing=message,
|
||||
depends_on_option=f"{option} unset",
|
||||
fails_when_missing=f"{tos_folder}/{emutos.group(2)} instead, else {message}",
|
||||
depends_on_option=f"{option} unset, no hard disk image",
|
||||
),
|
||||
_record(
|
||||
"hatari",
|
||||
@@ -416,15 +449,39 @@ def hatari(sources: dict[str, Source]) -> list[Record]:
|
||||
"core_option",
|
||||
choices,
|
||||
source_ref(
|
||||
(src.path, [src.lines(override.start(), write.end())]),
|
||||
(src.path, [head, src.lines(override.start(), override.end()), tail]),
|
||||
(features.path, [choice_lines]),
|
||||
),
|
||||
case_insensitive=True,
|
||||
search_dir="/".join(["bios", *folders]),
|
||||
search_dir=tos_folder,
|
||||
passes_to=f"{passes}=<bios>/{'/'.join(folders)}/<value>",
|
||||
fails_when_missing=message,
|
||||
depends_on_option=option,
|
||||
),
|
||||
_record(
|
||||
"hatari",
|
||||
"standalone",
|
||||
"fixed_name",
|
||||
[emutos.group(2)],
|
||||
source_ref((src.path, [head, src.lines(disk.start(), absent.end()), tail])),
|
||||
case_insensitive=True,
|
||||
search_dir=tos_folder,
|
||||
passes_to=f"{passes}=<bios>/{'/'.join(folders)}/{emutos.group(2)}",
|
||||
fails_when_missing=f"{name} is used, as without a hard disk image",
|
||||
depends_on_option=f"{option} unset, a hard disk image mounted or no {name}",
|
||||
),
|
||||
_record(
|
||||
"hatari",
|
||||
"standalone",
|
||||
"names_searched",
|
||||
_strings(newer.group(1)),
|
||||
source_ref((src.path, [head, src.lines(newer.start(), newer.end()), tail])),
|
||||
case_insensitive=True,
|
||||
search_dir=tos_folder,
|
||||
passes_to=f"{passes}=<first found>",
|
||||
fails_when_missing="the TOS older than 1.04 is kept",
|
||||
depends_on_option=f"{option} unset, autostart or GEMDOS folder, TOS older than 1.04",
|
||||
),
|
||||
]
|
||||
|
||||
|
||||
@@ -434,70 +491,100 @@ def hatari_libretro(sources: dict[str, Source]) -> list[Record]:
|
||||
records = []
|
||||
|
||||
tosimage = src.find(
|
||||
r'if \(SystemConfig\.isOptSet\("(\w+)"\)[^\n]*\n\s*coreSettings\["(hatari_tosimage)"\] = SystemConfig\["\1"\];'
|
||||
r'\s*else\s*coreSettings\["\2"\] = "(\w+)";',
|
||||
r'string (\w+) = SystemConfig\["(\w+)"\];\s*'
|
||||
rf'if \(!string\.IsNullOrEmpty\(\1\) && \1 != "(\w+)" && File\.Exists\(Path\.Combine\({BIOS}, '
|
||||
r'((?:"[^"]+", )+)\1\)\)\)\s*coreSettings\["(hatari_tosimage)"\] = \1;'
|
||||
r'\s*else\s*coreSettings\["\5"\] = "\3";',
|
||||
"hatari_tosimage",
|
||||
)
|
||||
choices, choice_lines = feature_choices(features, "libretro", tosimage.group(1), core="hatari")
|
||||
guard = src.find(r'if \(core != "(hatari2014)"\)', "hatari2014 guard")
|
||||
folders = _strings(tosimage.group(4).rstrip(", "))
|
||||
choices, choice_lines = feature_choices(
|
||||
features, "libretro", tosimage.group(2), core=guard.group(1)
|
||||
)
|
||||
records.append(
|
||||
_record(
|
||||
"hatari",
|
||||
guard.group(1),
|
||||
"libretro",
|
||||
"core_option",
|
||||
choices,
|
||||
source_ref(
|
||||
(src.path, [src.lines(tosimage.start(), tosimage.end())]),
|
||||
(src.path, [src.lines(guard.start(), tosimage.end())]),
|
||||
(features.path, [choice_lines]),
|
||||
),
|
||||
search_dir="bios",
|
||||
passes_to=f"{tosimage.group(2)} = <value> | {tosimage.group(3)}",
|
||||
fails_when_missing="not checked by the launcher",
|
||||
depends_on_option=tosimage.group(1),
|
||||
search_dir="/".join(["bios", *folders]),
|
||||
passes_to=f"{tosimage.group(5)} = <value>, if the file is there | {tosimage.group(3)}",
|
||||
fails_when_missing=f"{tosimage.group(5)} = {tosimage.group(3)}",
|
||||
depends_on_option=tosimage.group(2),
|
||||
)
|
||||
)
|
||||
|
||||
guard = src.find(r'if \(core != "hatarib"\)', "hatarib guard")
|
||||
method = src.enclosing(guard.start())
|
||||
found = src.find(
|
||||
rf'else if \(File\.Exists\(Path\.Combine\({BIOS}, "([^"]+)"\)\)\)\s*'
|
||||
r'coreSettings\["(hatarib_tos)"\] = "([^"]+)";\s*else\s*coreSettings\["hatarib_tos"\] = "([^"]+)";',
|
||||
"hatarib tos.img fallback",
|
||||
method[0],
|
||||
tos_img = src.find(
|
||||
rf'string (\w+) = Path\.Combine\((\w+), "([^"]+)"\);', "hatarib tos.img path",
|
||||
method[0], method[1],
|
||||
)
|
||||
own = src.find(
|
||||
rf'string (\w+) = Path\.Combine\({tos_img.group(2)}, "([^"]+)"\);', "hatarib folder",
|
||||
tos_img.end(), method[1],
|
||||
)
|
||||
option = src.find(
|
||||
r'string (\w+) = SystemConfig\["(hatarib_tos)"\];', "hatarib option", own.end(), method[1]
|
||||
)
|
||||
tos_var, key = option.group(1), option.group(2)
|
||||
named = src.find(
|
||||
rf'if \({tos_var} == "(\w+)"\)\s*\{{\s*if \(File\.Exists\({tos_img.group(1)}\)\)\s*'
|
||||
r'(\w+) = "([^"]+)";',
|
||||
"tos.img choice", option.end(), method[1],
|
||||
)
|
||||
builtin = src.find(
|
||||
rf'else if \({tos_var}\.StartsWith\("(\w+)"\)\)', "EmuTOS choices", named.end(), method[1]
|
||||
)
|
||||
shared = src.find(
|
||||
rf'string (\w+) = Path\.Combine\({own.group(1)}, {tos_var}\);\s*'
|
||||
rf'string (\w+) = Path\.Combine\({tos_img.group(2)}, ((?:"[^"]+", )+){tos_var}\);',
|
||||
"shared TOS folder", builtin.end(), method[1],
|
||||
)
|
||||
copy = src.find(
|
||||
rf"if \(!File\.Exists\({shared.group(1)}\) && File\.Exists\({shared.group(2)}\)\)",
|
||||
"copy from the shared folder", shared.end(), method[1],
|
||||
)
|
||||
chosen = src.find(
|
||||
rf'if \(File\.Exists\({shared.group(1)}\)\)\s*{named.group(2)} = "([^"/]+)/" \+ {tos_var};',
|
||||
"chosen TOS write", copy.end(), method[1],
|
||||
)
|
||||
fallback = src.find(
|
||||
rf'if \({named.group(2)} == null\)\s*\{{\s*{named.group(2)} = "([^"]+)";\s*'
|
||||
rf'if \(File\.Exists\({tos_img.group(1)}\)\)\s*\{{\s*{named.group(2)} = "([^"]+)";',
|
||||
"default TOS", chosen.end(), method[1],
|
||||
)
|
||||
emutos = src.find(
|
||||
rf'{named.group(2)} = "{re.escape(fallback.group(1))}";', "EmuTOS for a disk", fallback.end(),
|
||||
method[1],
|
||||
)
|
||||
folders = _strings(shared.group(3).rstrip(", "))
|
||||
choices, choice_lines = feature_choices(features, "libretro", key, core="hatarib")
|
||||
files = [c for c in choices if c != named.group(1) and not c.startswith(builtin.group(1))]
|
||||
head = src.lines(tos_img.start(), own.end())
|
||||
records.append(
|
||||
_record(
|
||||
"hatarib",
|
||||
"libretro",
|
||||
"fixed_name",
|
||||
[found.group(1)],
|
||||
source_ref((src.path, [src.lines(found.start(), found.end())])),
|
||||
[tos_img.group(3)],
|
||||
source_ref((src.path, [head, src.lines(named.start(), named.end()),
|
||||
src.lines(fallback.start(), emutos.end())])),
|
||||
case_insensitive=True,
|
||||
search_dir="bios",
|
||||
passes_to=f"{found.group(2)} = {found.group(3)}",
|
||||
fails_when_missing=f"falls back to {found.group(2)} = {found.group(4)}",
|
||||
depends_on_option=f"{found.group(2)} unset",
|
||||
passes_to=f"{key} = {fallback.group(2)}",
|
||||
fails_when_missing=f"falls back to {key} = {fallback.group(1)}",
|
||||
depends_on_option=(
|
||||
f"{key} unset or {named.group(1)}; {fallback.group(1)} instead for a hard disk image "
|
||||
"under a TOS other than EmuTOS, or for autostart or GEMDOS under TOS older than 1.04"
|
||||
),
|
||||
)
|
||||
)
|
||||
|
||||
picked = src.find(
|
||||
rf'string (\w+) = Path\.Combine\({BIOS}, "([^"]+)", SystemConfig\["(hatarib_tos)"\]\);',
|
||||
"hatarib option path",
|
||||
method[0],
|
||||
method[1],
|
||||
)
|
||||
write = src.find(
|
||||
r'coreSettings\["hatarib_tos"\] = (\w+);', "hatarib option write", picked.end()
|
||||
)
|
||||
skipped = re.findall(
|
||||
r'SystemConfig\["hatarib_tos"\] == "(\w+)"', src.text[method[0] : picked.start()]
|
||||
)
|
||||
prefixes = re.findall(
|
||||
r'SystemConfig\["hatarib_tos"\]\.StartsWith\("(\w+)"\)',
|
||||
src.text[method[0] : picked.start()],
|
||||
)
|
||||
choices, choice_lines = feature_choices(features, "libretro", picked.group(3), core="hatarib")
|
||||
files = [c for c in choices if c not in skipped and not c.startswith(tuple(prefixes))]
|
||||
records.append(
|
||||
_record(
|
||||
"hatarib",
|
||||
@@ -505,14 +592,28 @@ def hatari_libretro(sources: dict[str, Source]) -> list[Record]:
|
||||
"core_option",
|
||||
files,
|
||||
source_ref(
|
||||
(src.path, [src.lines(picked.start(), write.end())]),
|
||||
(src.path, [head, src.lines(shared.start(), chosen.end())]),
|
||||
(features.path, [choice_lines]),
|
||||
),
|
||||
case_insensitive=True,
|
||||
search_dir=f"bios/{picked.group(2)}",
|
||||
passes_to=f"hatarib_tos = {picked.group(2)}/<value>",
|
||||
fails_when_missing="option not written when the file is absent",
|
||||
depends_on_option=picked.group(3),
|
||||
search_dir=f"bios/{own.group(2)}",
|
||||
passes_to=f"{key} = {chosen.group(1)}/<value>",
|
||||
fails_when_missing=f"{key} = {fallback.group(1)}, or {fallback.group(2)} when bios holds it",
|
||||
depends_on_option=key,
|
||||
)
|
||||
)
|
||||
records.append(
|
||||
_record(
|
||||
"hatarib",
|
||||
"libretro",
|
||||
"copies",
|
||||
files,
|
||||
source_ref((src.path, [head, src.lines(shared.start(), copy.end())])),
|
||||
case_insensitive=True,
|
||||
search_dir="/".join(["bios", *folders]),
|
||||
passes_to=f"copied to bios/{own.group(2)}/<value>, only when the target does not exist",
|
||||
fails_when_missing=False,
|
||||
depends_on_option=key,
|
||||
)
|
||||
)
|
||||
return records
|
||||
@@ -2397,11 +2498,46 @@ def raine(sources: dict[str, Source]) -> list[Record]:
|
||||
|
||||
|
||||
def gsplus(sources: dict[str, Source]) -> list[Record]:
|
||||
"""The first of the names GSplus accepts that the bios folder holds, written
|
||||
as its ROM path. Without one the key is left alone and GSplus searches
|
||||
beside its executable."""
|
||||
src = sources[f"{GENERATORS}/GsPlus.Generator.cs"]
|
||||
records = _value_writes(src, "gsplus", "standalone")
|
||||
if not records:
|
||||
raise LauncherPatternMissing(src.path, "ROM path write")
|
||||
return _covered(src, records)
|
||||
listed = src.find(
|
||||
r"static readonly string\[\] (\w+) = new string\[\] \{ ((?:\"[^\"]+\"(?:, )?)+) \};",
|
||||
"ROM names",
|
||||
)
|
||||
root = src.find(r"string (\w+) = AppConfig\.GetFullPath\(\"bios\"\);", "bios folder")
|
||||
first = src.find(
|
||||
rf"string (\w+) = {listed.group(1)}\s*\.Select\(n => Path\.Combine\({root.group(1)}, n\)\)"
|
||||
r"\s*\.FirstOrDefault\(File\.Exists\);",
|
||||
"first name present",
|
||||
)
|
||||
write = src.find(
|
||||
rf'(\w+)\.WriteValue\(null, "(\w+)", {first.group(1)}\);', "ROM path write"
|
||||
)
|
||||
conditions, returns = _when(src, write.start())
|
||||
# The test on the name found is the selection itself, not a condition.
|
||||
conditions = [c for c in conditions if first.group(1) not in c]
|
||||
target = f"{_config_label(src, write.start(), write.group(1))} {write.group(2)}"
|
||||
record = _record(
|
||||
"gsplus",
|
||||
"standalone",
|
||||
"names_searched",
|
||||
_strings(listed.group(2)),
|
||||
_path_parts(
|
||||
src,
|
||||
*returns,
|
||||
src.lines(listed.start(), listed.end()),
|
||||
src.lines(root.start(), root.end()),
|
||||
src.lines(first.start(), write.end()),
|
||||
),
|
||||
case_insensitive=True,
|
||||
search_dir="bios",
|
||||
passes_to=f"{target} = <first found>",
|
||||
fails_when_missing=False,
|
||||
depends_on_option=", ".join(conditions) or None,
|
||||
)
|
||||
return _covered(src, [record])
|
||||
|
||||
|
||||
def _copies_if_absent(
|
||||
@@ -2994,15 +3130,25 @@ def arcadeduck(sources: dict[str, Source]) -> list[Record]:
|
||||
lookup_body[0],
|
||||
lookup_body[1],
|
||||
)
|
||||
method = src.find(r"private string GetBiosPath\(string rom, string biosRoot\)", "GetBiosPath")
|
||||
method = src.find(
|
||||
r"private string GetBiosPath\(string rom, string biosRoot, bool isChd\)", "GetBiosPath"
|
||||
)
|
||||
body = src.block_at(method.end())
|
||||
src.find(
|
||||
r"var candidates = new List<string> \{ Path\.GetDirectoryName\(Path\.GetFullPath\(rom\)\) \};",
|
||||
r"string romDir = Path\.GetDirectoryName\(Path\.GetFullPath\(rom\)\);\s*"
|
||||
r"var candidates = new List<string> \{ romDir \};",
|
||||
"game folder first",
|
||||
body[0],
|
||||
body[1],
|
||||
)
|
||||
src.find(r"candidates\.Add\(biosRoot\);", "bios folder second", body[0], body[1])
|
||||
src.find(
|
||||
r"if \(isChd && Directory\.GetParent\(romDir\) != null\)\s*"
|
||||
r"candidates\.Add\(Directory\.GetParent\(romDir\)\.FullName\);",
|
||||
"folder above a CHD-only set second",
|
||||
body[0],
|
||||
body[1],
|
||||
)
|
||||
src.find(r"candidates\.Add\(biosRoot\);", "bios folder last", body[0], body[1])
|
||||
message, _ = _throw_message(src, body[0], body[1])
|
||||
root = src.find(rf"string biosPath = {_BIOS_ROOT};", "bios root")
|
||||
write = src.find(r'ini\.WriteValue\("(\w+)", "(\w+)", biosPath\);', "SearchDirectory write")
|
||||
@@ -3031,7 +3177,7 @@ def arcadeduck(sources: dict[str, Source]) -> list[Record]:
|
||||
[f"<bios archive of the game's system in {database_file}>"],
|
||||
ref,
|
||||
case_insensitive=False,
|
||||
search_dir="<rom directory>, then bios",
|
||||
search_dir="<rom directory>, then the folder above it for a CHD-only set, then bios",
|
||||
passes_to=f"{target} = <folder found>",
|
||||
fails_when_missing=message,
|
||||
),
|
||||
@@ -3043,7 +3189,7 @@ def arcadeduck(sources: dict[str, Source]) -> list[Record]:
|
||||
ref,
|
||||
slot=fixed.group(1),
|
||||
case_insensitive=False,
|
||||
search_dir="<rom directory>, then bios",
|
||||
search_dir="<rom directory>, then the folder above it for a CHD-only set, then bios",
|
||||
passes_to=f"{target} = <folder found>",
|
||||
fails_when_missing=message,
|
||||
depends_on_option=f"{database_file} names no archive for {fixed.group(1)}",
|
||||
|
||||
@@ -217,6 +217,9 @@ class Scraper(BaseScraper):
|
||||
sys_name = sys_data.get("name", "") if isinstance(sys_data, dict) else ""
|
||||
if sys_name:
|
||||
native["native_name"] = sys_name
|
||||
# One held file of a group is enough (Program.cs): verify reads it.
|
||||
if bios.get("group"):
|
||||
native["group"] = str(bios["group"])
|
||||
|
||||
requirements.append(
|
||||
BiosRequirement(
|
||||
@@ -224,7 +227,7 @@ class Scraper(BaseScraper):
|
||||
system=SYSTEM_SLUG_MAP.get(sys_key, sys_key),
|
||||
md5=md5 or None,
|
||||
destination=file_path,
|
||||
required=True,
|
||||
required=not bios.get("optional", False),
|
||||
native_id=sys_key,
|
||||
native_path=declared_path,
|
||||
native=native,
|
||||
|
||||
@@ -327,9 +327,15 @@ def link_record(emulator: str, script: Script, link: Link, **fields: object) ->
|
||||
|
||||
def hatari(tree: RepoTree) -> list[Launcher]:
|
||||
package = f"{STANDALONE}/hatarisa"
|
||||
script = Script(
|
||||
f"{package}/scripts/start_hatari.sh", tree.read(f"{package}/scripts/start_hatari.sh")
|
||||
# The script is named after the package's binary: start_hatari.sh became
|
||||
# start_hatarisa.sh (2e7041d273), so it is found, not spelled.
|
||||
starts = sorted(
|
||||
name for name in tree.listdir(f"{package}/scripts")
|
||||
if name.startswith("start_") and name.endswith(".sh")
|
||||
)
|
||||
if len(starts) != 1:
|
||||
raise LauncherPatternMissing(f"{package}/scripts", "one start script")
|
||||
script = Script(f"{package}/scripts/{starts[0]}", tree.read(f"{package}/scripts/{starts[0]}"))
|
||||
copy_line, copy = script.find(r"cp \S+/([\w-]+\.cfg) ", "default config copy")
|
||||
run_line, _ = script.find(r"--configfile", "--configfile", copy_line)
|
||||
path = f"{package}/config/conf/{copy.group(1)}"
|
||||
@@ -557,17 +563,6 @@ def duckstation(tree: RepoTree) -> list[Launcher]:
|
||||
)
|
||||
|
||||
|
||||
def aethersx2(tree: RepoTree) -> list[Launcher]:
|
||||
return directory_records(
|
||||
tree,
|
||||
"aethersx2",
|
||||
f"{STANDALONE}/aethersx2-sa",
|
||||
"aethersx2/inis/PCSX2.ini",
|
||||
("Folders", "Bios"),
|
||||
(("Filenames", "BIOS"),),
|
||||
)
|
||||
|
||||
|
||||
def armsx2(tree: RepoTree) -> list[Launcher]:
|
||||
return directory_records(
|
||||
tree,
|
||||
@@ -683,7 +678,6 @@ EXTRACTORS: tuple[Callable[[RepoTree], list[Launcher]], ...] = (
|
||||
mednafen,
|
||||
yabasanshiro,
|
||||
duckstation,
|
||||
aethersx2,
|
||||
armsx2,
|
||||
patched_directories,
|
||||
links,
|
||||
|
||||
@@ -1021,6 +1021,7 @@ SYSTEM_NAMES: dict[str, str] = {
|
||||
"m68k": "Motorola 68000",
|
||||
"magnetic-scrolls": "Magnetic Scrolls",
|
||||
"marty": "Fujitsu FM Towns Marty",
|
||||
"mattel-hyperscan": "Mattel HyperScan",
|
||||
"mega-cd-32x": "Sega Mega-CD 32X",
|
||||
"mega-duck": "Welback Mega Duck",
|
||||
"mega-ld": "Sega Mega LD",
|
||||
|
||||
@@ -1429,6 +1429,25 @@ def verify_platform(
|
||||
):
|
||||
file_severity[dest] = sev
|
||||
|
||||
# RetroBat's group: one file of it held is enough, and the others are
|
||||
# reported OPTIONAL (batocera-systems/Program.cs). None held, each stays
|
||||
# required.
|
||||
members: dict[tuple[str, str], list[str]] = {}
|
||||
for sys_id, system in config.get("systems", {}).items():
|
||||
for file_entry in system.get("files", []):
|
||||
if file_entry.get("group"):
|
||||
dest = _dest_key(file_entry, sys_id)
|
||||
if dest in file_status:
|
||||
members.setdefault((sys_id, file_entry["group"]), []).append(dest)
|
||||
for dests in members.values():
|
||||
if any(file_status[d] == Status.OK for d in dests):
|
||||
for dest in dests:
|
||||
if file_status[dest] == Status.MISSING:
|
||||
file_required[dest] = False
|
||||
file_severity[dest] = compute_severity(Status.MISSING, False, mode)
|
||||
for result in results_at.get(dest, []):
|
||||
result["required"] = False
|
||||
|
||||
shipped, occupied = _builder_placement(
|
||||
packed_order, bool(config.get("case_insensitive_fs", False))
|
||||
)
|
||||
|
||||
@@ -915,6 +915,40 @@ class TestE2E(unittest.TestCase):
|
||||
c = result["severity_counts"]
|
||||
self.assertGreater(c[Severity.WARNING], 0)
|
||||
|
||||
def test_24b_a_held_group_member_makes_the_others_optional(self):
|
||||
"""RetroBat's group: one file held is enough (batocera-systems/Program.cs)."""
|
||||
from common import _platform_config_cache
|
||||
|
||||
with open(os.path.join(self.platforms_dir, "test_md5.yml")) as fh:
|
||||
config = yaml.safe_load(fh)
|
||||
held_md5 = next(
|
||||
f["md5"] for f in config["systems"]["sys-renamed"]["files"]
|
||||
)
|
||||
config["systems"] = {
|
||||
"sys-group": {"files": [
|
||||
{"name": "correct_hash.bin", "destination": "g/held.bin",
|
||||
"md5": held_md5, "required": True, "group": "one"},
|
||||
{"name": "absent_alt.bin", "destination": "g/absent_alt.bin",
|
||||
"md5": "0" * 32, "required": True, "group": "one"},
|
||||
{"name": "absent_a.bin", "destination": "g/absent_a.bin",
|
||||
"md5": "1" * 32, "required": True, "group": "none"},
|
||||
{"name": "absent_b.bin", "destination": "g/absent_b.bin",
|
||||
"md5": "2" * 32, "required": True, "group": "none"},
|
||||
]},
|
||||
}
|
||||
with open(os.path.join(self.platforms_dir, "grouped_md5.yml"), "w") as fh:
|
||||
yaml.dump(config, fh)
|
||||
_platform_config_cache.clear()
|
||||
result = verify_platform(
|
||||
load_platform_config("grouped_md5", self.platforms_dir), self.db, self.emulators_dir
|
||||
)
|
||||
by_name = {d["name"]: d for d in result["details"]}
|
||||
self.assertEqual(by_name["correct_hash.bin"]["status"], Status.OK)
|
||||
self.assertIs(by_name["absent_alt.bin"]["required"], False)
|
||||
self.assertIs(by_name["absent_a.bin"]["required"], True)
|
||||
self.assertIs(by_name["absent_b.bin"]["required"], True)
|
||||
self.assertEqual(result["severity_counts"][Severity.CRITICAL], 2)
|
||||
|
||||
def test_25_verify_sha1_platform(self):
|
||||
config = load_platform_config("test_sha1", self.platforms_dir)
|
||||
result = verify_platform(config, self.db, self.emulators_dir)
|
||||
|
||||
@@ -113,6 +113,51 @@ class NarrowToCores(unittest.TestCase):
|
||||
)
|
||||
|
||||
|
||||
class ACoreTheListDoesNotKnow(unittest.TestCase):
|
||||
"""A core newer than the list (parallel_dc, issue 87) loses nothing its .info declares."""
|
||||
|
||||
def setUp(self):
|
||||
self.tmp = Path(tempfile.mkdtemp(dir=REPO_ROOT / "tmp"))
|
||||
self.addCleanup(shutil.rmtree, self.tmp, True)
|
||||
|
||||
def test_only_names_no_profile_answers_for(self):
|
||||
self.assertEqual(
|
||||
install.unknown_cores(MANIFEST, ["mednafen_psx", "pcsx_rearmed", "mgba",
|
||||
"parallel_dc"]),
|
||||
["parallel_dc"],
|
||||
)
|
||||
|
||||
def test_the_info_paths_retroarch_reads(self):
|
||||
(self.tmp / "parallel_dc_libretro.info").write_text(
|
||||
'firmware_count = 3\n'
|
||||
'firmware0_desc = "dc/dc_boot.bin (Dreamcast BIOS)"\n'
|
||||
'firmware0_path = "dc/dc_boot.bin"\n'
|
||||
'firmware1_path = dc\\naomi.zip\n'
|
||||
'firmware2 = "ignored.bin"\n'
|
||||
)
|
||||
self.assertEqual(
|
||||
install.info_firmware([self.tmp / "missing", self.tmp], "parallel_dc"),
|
||||
["dc/dc_boot.bin", "dc/naomi.zip"],
|
||||
)
|
||||
self.assertIsNone(install.info_firmware([self.tmp], "odin"))
|
||||
|
||||
def test_the_config_names_the_info_folder(self):
|
||||
(self.tmp / "retroarch.cfg").write_text('libretro_info_path = "default"\n')
|
||||
self.assertEqual(
|
||||
install.info_dirs("retroarch", self.tmp / "system", [self.tmp / "cores"]),
|
||||
[self.tmp / "info", self.tmp / "cores"],
|
||||
)
|
||||
|
||||
def test_its_declared_files_survive_the_narrowing(self):
|
||||
files, _ = install.narrow_to_cores(
|
||||
MANIFEST, ["mednafen_psx"], declared_by_info=["GBA_BIOS.bin", "mgba/extra.bin"])
|
||||
self.assertEqual(
|
||||
[f["dest"] for f in files],
|
||||
["scph5501.bin", "gba_bios.bin", "unlisted.bin", "psx/extra.bin",
|
||||
"mgba/extra.bin"],
|
||||
)
|
||||
|
||||
|
||||
class TheBuildersOrder(unittest.TestCase):
|
||||
"""RetroPie reads megaplay.zip as advancemame (copy A), mame (copy B),
|
||||
then mame2003 (copy A). Without advancemame the builder ships mame's
|
||||
@@ -490,6 +535,24 @@ class TheOneLinerReadsInstalledCores(unittest.TestCase):
|
||||
repo.installed(), ["pcsx/extra.bin", "scph5500.bin", "scph5501.bin"]
|
||||
)
|
||||
|
||||
def test_a_core_the_list_does_not_know_keeps_its_info_files(self):
|
||||
with _CoreRepository() as repo:
|
||||
repo.install_core("pcsx_rearmed_neon")
|
||||
repo.install_core("newgba")
|
||||
(repo.root / "cores" / "newgba_libretro.info").write_text(
|
||||
'firmware0_path = "gba_bios.bin"\n')
|
||||
repo.install_core("noinfo")
|
||||
proc = repo.run("--installed-cores")
|
||||
self.assertEqual(proc.returncode, 0, proc.stdout + proc.stderr)
|
||||
self.assertIn("newgba: a core this list does not know, 1 file its .info "
|
||||
"declares kept", proc.stdout)
|
||||
self.assertIn("noinfo: a core this list does not know, with no .info",
|
||||
proc.stdout)
|
||||
self.assertEqual(
|
||||
repo.installed(),
|
||||
["gba_bios.bin", "pcsx/extra.bin", "scph5500.bin", "scph5501.bin"],
|
||||
)
|
||||
|
||||
def test_no_core_found_is_an_error_not_everything(self):
|
||||
with _CoreRepository() as repo:
|
||||
proc = repo.run("--installed-cores")
|
||||
|
||||
@@ -182,10 +182,28 @@ FEATURES = """
|
||||
"""
|
||||
|
||||
HATARI = """
|
||||
string tosDir = Path.Combine(AppConfig.GetFullPath("bios"), "hatari", "tos");
|
||||
string tosfile = Path.Combine(AppConfig.GetFullPath("bios"), "tos.img");
|
||||
string emutos = Path.Combine(tosDir, "emutos.img");
|
||||
|
||||
if (SystemConfig.isOptSet("hatari_tos") && !string.IsNullOrEmpty(SystemConfig["hatari_tos"]))
|
||||
tosfile = Path.Combine(AppConfig.GetFullPath("bios"), "hatari", "tos", SystemConfig["hatari_tos"]);
|
||||
if (SystemConfig.isOptSet("hatari_tos") && SystemConfig["hatari_tos"] != "default")
|
||||
tosfile = Path.Combine(tosDir, SystemConfig["hatari_tos"]);
|
||||
else if (media.HasHardDiskImage && File.Exists(emutos))
|
||||
{
|
||||
tosfile = emutos;
|
||||
}
|
||||
else
|
||||
{
|
||||
if (!File.Exists(tosfile) && File.Exists(emutos))
|
||||
tosfile = emutos;
|
||||
|
||||
if (old)
|
||||
{
|
||||
string newTos = new string[] { "tos104.img", "tos206.img", "emutos.img" }
|
||||
.Select(t => Path.Combine(tosDir, t))
|
||||
.FirstOrDefault(t => File.Exists(t));
|
||||
}
|
||||
}
|
||||
|
||||
if (!File.Exists(tosfile))
|
||||
throw new ApplicationException("Missing TOS file " + tosName + " in 'bios' folder.");
|
||||
@@ -391,17 +409,21 @@ class NamesInLauncherOrder(unittest.TestCase):
|
||||
)
|
||||
|
||||
def test_hatari_default_and_option(self):
|
||||
fixed, option = rl.hatari(
|
||||
fixed, option, emutos, newer = rl.hatari(
|
||||
_sources(**{f"{G}/Hatari.Generator.cs": HATARI, rl.FEATURES: HATARI_FEATURES})
|
||||
)
|
||||
message = "ApplicationException 'Missing TOS file <tosName> in 'bios' folder.'"
|
||||
self.assertEqual(fixed["names"], ["tos.img"])
|
||||
self.assertEqual(
|
||||
fixed["fails_when_missing"],
|
||||
"ApplicationException 'Missing TOS file <tosName> in 'bios' folder.'",
|
||||
)
|
||||
self.assertEqual(fixed["source_ref"], f"{G}/Hatari.Generator.cs:1-9")
|
||||
self.assertEqual(fixed["search_dir"], "bios")
|
||||
self.assertEqual(fixed["fails_when_missing"], f"bios/hatari/tos/emutos.img instead, else {message}")
|
||||
self.assertEqual(fixed["source_ref"], f"{G}/Hatari.Generator.cs:1-3, 13-14, 27")
|
||||
self.assertEqual(option["names"], ["tos206.img", "tos102.img"])
|
||||
self.assertEqual(option["search_dir"], "bios/hatari/tos")
|
||||
self.assertEqual(option["fails_when_missing"], message)
|
||||
self.assertEqual(emutos["names"], ["emutos.img"])
|
||||
self.assertEqual(emutos["search_dir"], "bios/hatari/tos")
|
||||
self.assertEqual(newer["kind"], "names_searched")
|
||||
self.assertEqual(newer["names"], ["tos104.img", "tos206.img", "emutos.img"])
|
||||
|
||||
|
||||
def _one(text: str, emulator: str, path: str = f"{G}/X.Generator.cs") -> list[dict]:
|
||||
|
||||
@@ -64,6 +64,7 @@ STEM_NAMED = {
|
||||
"ioquake3": "the project writes ioquake3",
|
||||
"izapple2": "README title izapple2",
|
||||
"jgenesis": "README title jgenesis",
|
||||
"n64emu": "README title n64emu",
|
||||
"np2pi": "repository and binary np2pi, no title in the source",
|
||||
"rpix86": "the author writes rpix86",
|
||||
"simple64": "window title simple64",
|
||||
|
||||
@@ -45,6 +45,11 @@
|
||||
"src/common/scm_rev.cpp.in",
|
||||
"src/frontend_common/update_checker.cpp"
|
||||
],
|
||||
"git.libretro.com/libretro/HyperScanEmu@44509de141c7b9adf947b3130500e552cfa98f56": [
|
||||
"Cargo.toml",
|
||||
"crates/hyperscanemu-core/src/firmware.rs",
|
||||
"crates/hyperscanemu-libretro/src/lib.rs"
|
||||
],
|
||||
"git.libretro.com/libretro/Libretro-Supermodel@84bc106b45b279bf868a53b9232897c8dc10ca17": [
|
||||
"Config/Games.xml",
|
||||
"Docs/README.md",
|
||||
@@ -93,11 +98,34 @@
|
||||
"src/main.cpp",
|
||||
"src/resource/CafeDefaultFont.cpp"
|
||||
],
|
||||
"git.libretro.com/libretro/hypseushw@cb4de9f9b3e8264e71b25b5552dfa1e26121c636": [
|
||||
"core/src/io/homedir.cpp",
|
||||
"core/src/io/homedir.h",
|
||||
"core/src/io/input.cpp",
|
||||
"core/src/video/video.cpp",
|
||||
"libretro/CMakeLists.txt",
|
||||
"libretro/hypseushw_libretro.info",
|
||||
"libretro/lr_core.cpp"
|
||||
],
|
||||
"git.libretro.com/libretro/libretro-radio@5d7d786ad1d8703a52184ff2ee39712c46ed67c9": [
|
||||
".gitlab-ci.yml",
|
||||
"Makefile",
|
||||
"libretro-radio.c"
|
||||
],
|
||||
"git.libretro.com/libretro/n64emu@c9da0acadaebe9bbfa4cf2b5662f2af7252988a3": [
|
||||
"src/device/pif.c",
|
||||
"src/libretro.c",
|
||||
"src/main/main.c"
|
||||
],
|
||||
"git.libretro.com/libretro/odin-libretro@7cc427e4cc048e86753275f664bf0e59bbd002bf": [
|
||||
"odin-games.json",
|
||||
"src/odin/host/app/games.cpp",
|
||||
"src/odin/host/app/rom_files.cpp",
|
||||
"src/odin/libretro/games_json.S",
|
||||
"src/odin/libretro/libretro_odin.cpp",
|
||||
"src/odin/machine/boards/hikaru/hikaru.cpp",
|
||||
"src/odin/machine/boards/hikaru/mie_board.cpp"
|
||||
],
|
||||
"git.libretro.com/libretro/rust-dos@152d9bca7820f0d9a5d1ca820a2d20855698a211": [
|
||||
"Cargo.toml",
|
||||
"crates/gus/build.rs",
|
||||
@@ -381,6 +409,11 @@
|
||||
"crates/dingooemu-libretro/src/diagnostics.rs",
|
||||
"crates/dingooemu/src/main.rs"
|
||||
],
|
||||
"github.com/AloysHF/HyperScanEmu@44509de141c7b9adf947b3130500e552cfa98f56": [
|
||||
"Cargo.toml",
|
||||
"crates/hyperscanemu-core/src/firmware.rs",
|
||||
"crates/hyperscanemu-libretro/src/lib.rs"
|
||||
],
|
||||
"github.com/AloysHF/Native32Emu@059fa33c658caa4dbbad140ebf2af1197f9dd778": [
|
||||
"Cargo.toml",
|
||||
"crates/native32emu-core/src/archive_loader.rs",
|
||||
@@ -1891,6 +1924,13 @@
|
||||
"Machines/Utility/ROMLibrary.cpp",
|
||||
"OSBindings/SDL/main.cpp"
|
||||
],
|
||||
"github.com/Tovarichtch/Odin@6ebf2b40ccbca9534d1a0e58b7602db11e4485d9": [
|
||||
"odin-games.json",
|
||||
"src/odin/host/app/games.cpp",
|
||||
"src/odin/host/app/rom_files.cpp",
|
||||
"src/odin/machine/boards/hikaru/hikaru.cpp",
|
||||
"src/odin/machine/boards/hikaru/mie_board.cpp"
|
||||
],
|
||||
"github.com/Tovarichtch/xemu@98fbd75dd0f3088a4988abc1698feb37b844a41a": [
|
||||
"config_spec.yml",
|
||||
"hw/xbox/chihiro/chihiro-netboard.c",
|
||||
@@ -6424,6 +6464,18 @@
|
||||
"core/nullDC.cpp",
|
||||
"core/reios/reios.cpp"
|
||||
],
|
||||
"github.com/libretro/parallel-dc@6f315dd55a66cb2299dd2282b24d2fd84fe7f390": [
|
||||
"core/archive/archive.c",
|
||||
"core/hw/flashrom/flashrom.h",
|
||||
"core/hw/holly/sb_mem.cpp",
|
||||
"core/hw/naomi/naomi_cart.cpp",
|
||||
"core/hw/naomi/naomi_roms.h",
|
||||
"core/libretro/libretro.cpp",
|
||||
"core/libretro/libretro_core_options.h",
|
||||
"core/nullDC.cpp",
|
||||
"core/reios/reios.cpp",
|
||||
"core/stdclass.cpp"
|
||||
],
|
||||
"github.com/libretro/parallel-n64@f87550d9ad70cb320870e2b5fd960235287abb89": [
|
||||
"libretro/libretro.c",
|
||||
"mupen64plus-core/src/device/pif/bootrom_hle.c"
|
||||
@@ -6683,7 +6735,8 @@
|
||||
"src/launcher.cpp",
|
||||
"src/main.cpp",
|
||||
"src/parsing/textfile.cpp",
|
||||
"src/platforms/engineutils.cpp"
|
||||
"src/platforms/engineutils.cpp",
|
||||
"tools/errorgen"
|
||||
],
|
||||
"github.com/linappleii/linapple@7f4b60898d91bfecd6f4d8683a374f38b0564962": [
|
||||
"CMakeLists.txt",
|
||||
|
||||
Reference in new issue
Block a user