Files
libretro/emulators/lrps2.yml
T
Abdessamad Derraz b3b3880c19 chore: say which repository each source_ref cites
Profiles that read two repositories, a libretro port and its upstream,
now prefix each citation with source or upstream, decided by which tree
carries the cited value at its pin. The emulator pages use the word to
tell libretro glue, emulator code as the port carries it, and the
upstream emulator apart.
2026-10-20 09:23:41 +02:00

117 lines
4.4 KiB
YAML

# LRPS2 - libretro PlayStation 2 core
# Source: https://github.com/libretro/ps2
# Upstream: https://github.com/PCSX2/pcsx2
emulator: LRPS2
type: libretro
core_classification: community_fork
bios_mode: agnostic
source: "https://github.com/libretro/ps2"
upstream: "https://github.com/PCSX2/pcsx2"
profiled_date: "2026-03-25"
source_commit: "6eabf2242d451ee2e6d52b1e3f10efb77143ed05"
core_version: "Git"
display_name: "Sony - PlayStation 2 (LRPS2)"
cores: [lrps2, pcsx2, "ps2"]
systems: [sony-playstation-2]
bios_directory: "pcsx2/bios/"
resources_directory: "pcsx2/resources/"
notes: |
pcsx2/resources/GameIndex.yaml, the per-game patch, settings override and
compatibility database, is the one the buildbot publishes in LRPS2.zip (the
lrps2 data directory). An OSD warning is shown if it is missing, and some games
do not boot without it.
Hard fork of PCSX2 (pre-Qt, 1.7-dev era) ported to libretro. x86_64 only.
BIOS detection is filename-agnostic: scans pcsx2/bios/ for any file between 4-8 MB
with a valid romdir structure (RESET + ROMVER entries). No hash validation.
Companion files (.rom1, .rom2, .nvm, .mec) derive paths from the selected BIOS.
DEV9 (network/HDD) and USB are stubbed in the libretro port.
Widescreen patches are largely compiled into the core (libretro/patches.cpp).
.info firmware_count=2 counts the bios folder and GameIndex.yaml.
.info description mentions EROM.BIN but no EROM loading path exists in the code.
data_directories:
- ref: lrps2
installed_on: [batocera, lakka, recalbox, retrobat, retrodeck]
destination: ""
source_ref: "source pcsx2/GameDatabase.cpp:49, source pcsx2/GameDatabase.cpp:979"
files:
- name: "<bios>.bin"
path: "pcsx2/bios/<bios>.bin"
required: true
description: "PS2 BIOS binary"
min_size: 4194304
max_size: 8388608
validation: [size]
source_ref: "source pcsx2/ps2/BiosTools.cpp:33-34, 63-180, 249-274, 286-348"
note: >
Scans pcsx2/bios/ for any file between 4 MB and 8 MB. Validates via romdir
structure parsing (RESET + ROMVER entries). User selects BIOS via core option
pcsx2_bios. Falls back to first valid BIOS found if configured BIOS is missing.
- name: "<bios>.rom1"
path: "pcsx2/bios/<bios>.rom1"
required: false
max_size: 4194304
description: "DVD player ROM"
source_ref: "upstream pcsx2/ps2/BiosTools.cpp:189-229, 339"
note: >
DVD player ROM. Tries <biospath>.rom1 (appended) then <biosbase>.rom1
(extension replaced). Silently skipped if not found.
- name: "<bios>.rom2"
path: "pcsx2/bios/<bios>.rom2"
required: false
max_size: 524288
description: "Chinese ROM extension"
source_ref: "upstream pcsx2/ps2/BiosTools.cpp:189-229, 340"
note: >
Chinese region ROM extension. Same naming convention as rom1.
Only present on Chinese region consoles.
- name: "<bios>.nvm"
path: "pcsx2/bios/<bios>.nvm"
required: false
hle_fallback: true
size: 1024
description: "NVRAM / EEPROM data"
source_ref: "upstream pcsx2/CDVD/CDVD.cpp:196-227"
note: >
Console EEPROM data (language, timezone, region, iLink ID, OSD settings).
Path derived from BIOS path with extension replaced to .nvm.
Auto-created with region-appropriate defaults if missing or invalid.
- name: "<bios>.mec"
path: "pcsx2/bios/<bios>.mec"
required: false
hle_fallback: true
size: 4
description: "Mechacon version"
source_ref: "upstream pcsx2/CDVD/CDVD.cpp:229-245"
note: >
Mechacon (disc drive controller) version as u32.
Auto-created with default 0x00020603 if missing.
- name: "cheats_ws.zip"
path: "pcsx2/resources/cheats_ws.zip"
required: false
description: "widescreen patches archive"
source_ref: "source pcsx2/VMManager.cpp:383-396"
note: >
ZIP archive of per-game widescreen (16:9) patches in pnach format.
Only loaded when widescreen patches are enabled via core options.
Fallback if no patches found in pcsx2/cheats_ws/ folder.
- name: "cheats_ni.zip"
path: "pcsx2/resources/cheats_ni.zip"
required: false
description: "no-interlacing patches archive"
source_ref: "source pcsx2/VMManager.cpp:418-431"
note: >
ZIP archive of per-game no-interlacing patches in pnach format.
Only loaded when no-interlacing patches are enabled via core options.
Fallback if no patches found in pcsx2/cheats_ni/ folder.