Files
libretro/emulators/pcsx_rearmed.yml
T
Abdessamad Derraz ab9fe76de2 fix: resolve the cores handhelds rename
ArkOS ran the GBA with gpsp_ezode_mod and dArkOS with mgba_rumble: no
profile named them, so an install for the card's games kept every GBA
core's files, FBNeo's 3,472 data files among them. Each rename proven
from the OS build (same code base, same BIOS loading) joins its
profile's cores. The resolver folds either separator, and falls back to
the emulator column when the core names a mode, a machine or a plugin
of that program, only where its profile declares the folder's system:
MAME documents no GameKing ROM. 109 unresolved names are 56, each one
recorded with why in tests/test_games_index.py.
2026-11-09 06:04:42 +01:00

124 lines
5.6 KiB
YAML

emulator: PCSX-ReARMed
type: libretro
core_classification: embedded_hle
source: "https://github.com/libretro/pcsx_rearmed"
upstream: "https://github.com/notaz/pcsx_rearmed"
profiled_date: "2026-03-25"
source_commit: "c8816799b50388e61cfe237fe2cdbb7d8175f20a"
upstream_commit: "8b6c163575e6ce9a0537553e0d4ed4225315955e"
core_version: "r26"
version_basis:
kind: file
path: "frontend/libretro.c"
pattern: 'library_version\s*=\s*"([^"]+)"'
display_name: "Sony - PlayStation (PCSX ReARMed)"
cores: [pcsx_rearmed, pcsx_rearmed_neon, pcsx_rearmed_interpreter, "pcsx_rearmed_32b", "pcsx_rearmed_rumble", "pcsx_rearmed32"]
systems: [sony-playstation]
notes: >
HLE BIOS built-in: core option pcsx_rearmed_bios = "HLE" bypasses real BIOS entirely.
Default is "auto" which searches system dir for listed filenames, then scans all files.
Region detection reads bytes at offset 0x7ff51: " E" = EU, " J" = JP, else US.
Three CRC32 hardcoded as JP override: 0x18D0F7D8, 0x3B601FC8, 0x3539DEF6 (psxonpsp, scph1000).
BIOS validity check: byte pattern at offset 1 (\x00\x08\x3c\x3f) or string "PS compatible" at 0x12c
(frontend/libretro.c:3632, 3646-3651): a file failing it is skipped, hence validation [size, signature].
Files named "unirom" (case-insensitive) are explicitly skipped.
Region fallback: if the matching-region BIOS is missing, any available region BIOS is used over HLE.
Three region slots: US (index 0), JP (index 1), EU (index 2) stored in Config.Bios[].
files:
# -- Region: Japan (PSX_REGION_JP = 1) --
- name: "scph5500.bin"
description: "SCPH-5500 (v3.0 09-09-96 J)"
region: [japan]
size: 524288
required: false
hle_fallback: true
validation: ["size", "signature"]
source_ref: "source frontend/libretro.c:3864-3867 (listed_bios[0])"
note: "Preferred JP BIOS, searched first by exact filename."
# -- Region: North America (PSX_REGION_US = 0) --
- name: "scph5501.bin"
description: "SCPH-5501 (v3.0 11-18-96 A)"
region: [north-america, latin-america]
size: 524288
required: false
hle_fallback: true
validation: ["size", "signature"]
source_ref: "source frontend/libretro.c:3864-3867 (listed_bios[1])"
note: "Preferred US BIOS, searched first by exact filename. The US slot is the detector's default: a disc takes it for both America licence strings and for any licence that is neither \"Inc.\" (JP) nor \"Euro pe\" (EU), and content without a disc boots it too (libpcsxcore/misc.c:422-453, frontend/libretro.c:2167-2171)."
evidence:
hle_fallback: ["2026-10-27-82bf6de00b8a", "2026-10-27-1d4eb1daebe5"]
validation: ["2026-10-27-1d4eb1daebe5", "2026-10-27-b43c5feca378"]
# -- Region: Europe (PSX_REGION_EU = 2) --
- name: "scph5502.bin"
description: "SCPH-5502 (v3.0 01-06-97 E)"
region: [europe, oceania]
size: 524288
required: false
hle_fallback: true
validation: ["size", "signature"]
source_ref: "source frontend/libretro.c:3864-3867 (listed_bios[2])"
note: "Preferred EU BIOS, searched first by exact filename."
# -- Fallback BIOS filenames (searched in order after scph550x) --
- name: "psxonpsp660.bin"
description: "PSP embedded PS1 BIOS, filed as the Japanese BIOS"
region: [japan]
size: 524288
required: false
hle_fallback: true
validation: ["size", "signature"]
source_ref: "source frontend/libretro.c:3864-3867 (listed_bios[3]), source frontend/libretro.c:3654-3669 (try_use_bios region guess)"
note: "The core reads the region out of the image: bytes 0x7ff51 are ' J' in this dump, so it takes the JP slot (' E' takes EU, anything else US), one image per slot, first found kept. The disc licence picks the slot at boot (Config.Bios[Config.PsxRegion]), and a US or EU disc only reaches this file when its own slot is empty. Must be 512 KB."
- name: "scph101.bin"
description: "SCPH-101 (v4.4 03-24-00 A) - PSone US"
region: [north-america, latin-america]
size: 524288
required: false
hle_fallback: true
validation: ["size", "signature"]
source_ref: "source frontend/libretro.c:3864-3867 (listed_bios[4])"
note: "PSone slim model."
evidence:
hle_fallback: ["2026-10-27-82bf6de00b8a", "2026-10-27-1d4eb1daebe5"]
validation: ["2026-10-27-1d4eb1daebe5", "2026-10-27-f681ea946c3d"]
- name: "scph7001.bin"
description: "SCPH-7001 (v4.1 12-16-97 A)"
region: [north-america, latin-america]
size: 524288
required: false
hle_fallback: true
validation: ["size", "signature"]
source_ref: "source frontend/libretro.c:3864-3867 (listed_bios[5])"
evidence:
hle_fallback: ["2026-10-27-82bf6de00b8a", "2026-10-27-1d4eb1daebe5"]
validation: ["2026-10-27-1d4eb1daebe5", "2026-10-27-1a14651aeda0"]
- name: "scph1001.bin"
description: "SCPH-1001 (v2.2 12-04-95 A)"
region: [north-america, latin-america]
size: 524288
required: false
hle_fallback: true
validation: ["size", "signature"]
source_ref: "source frontend/libretro.c:3864-3867 (listed_bios[6])"
note: "Original US model. Last in the explicit filename search list."
evidence:
hle_fallback: ["2026-10-27-82bf6de00b8a", "2026-10-27-1d4eb1daebe5"]
validation: ["2026-10-27-1d4eb1daebe5", "2026-10-27-ba3e1259ac73"]
# -- Dynamic scan fallback --
# After exhausting listed_bios[], the core calls find_any_bios() which scans
# the entire system directory via opendir/readdir. Any 512 KB file passing the
# validity check (magic bytes or "PS compatible" string) is accepted and assigned
# to the detected region slot. This means scph1000.bin, scph3000.bin, scph7002.bin,
# scph7502.bin, etc. all work without being explicitly listed.