Files
libretro/emulators/pcsx_rearmed.yml
T
Abdessamad Derraz 8458e92281 chore: advance 135 profile pins to upstream HEAD
Every cited block was read again at HEAD: no ref left to review, no
file name or hash literal added to a cited file since the pin
(--detect-new-files --watch-hashes), refs recaled with their pins.
Profiles built by a platform at a fixed commit, or whose bump would
leave prose under an older pin, stay where they were.
2026-10-23 15:51:08 +02:00

107 lines
4.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: "r25"
display_name: "Sony - PlayStation (PCSX ReARMed)"
cores: [pcsx_rearmed, pcsx_rearmed_neon, pcsx_rearmed_interpreter, "pcsx_rearmed_32b"]
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.
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]
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]
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)."
# -- 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]
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]
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]
source_ref: "source frontend/libretro.c:3864-3867 (listed_bios[4])"
note: "PSone slim model."
- 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]
source_ref: "source frontend/libretro.c:3864-3867 (listed_bios[5])"
- 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]
source_ref: "source frontend/libretro.c:3864-3867 (listed_bios[6])"
note: "Original US model. Last in the explicit filename search list."
# -- 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.