mirror of
https://github.com/Abdess/retroarch_system.git
synced 2026-11-11 12:33:53 -06:00
Each PCSX2 fork declares how its LoadBiosVersion reads the table: the strncmp length on RESET, the NUL test on names, EXTINFO, and what a read past the end does, from the source at the pin or the shipped libemucore.so for NetherSX2 and its Turnip builds. The Recalbox libretro PCSX2 and PCEE2 check no size, so their 4 to 8 MB bounds are gone, and the PCEE2 and ARMSX2 arcade images require the COH-H zone.
129 lines
5.1 KiB
YAML
129 lines
5.1 KiB
YAML
emulator: PCSX2
|
|
type: standalone
|
|
core_classification: official_port
|
|
bios_mode: agnostic
|
|
source: "https://github.com/PCSX2/pcsx2"
|
|
upstream: "https://github.com/PCSX2/pcsx2"
|
|
cores:
|
|
- pcsx2
|
|
- "pcsx2-sa"
|
|
profiled_date: "2026-03-30"
|
|
source_commit: "f0523f8acb1d3a765ee73b74cffec63093569199"
|
|
core_version: "v2.9.146-1-gf0523f8"
|
|
version_basis:
|
|
kind: tag
|
|
tag: "v2.9.146"
|
|
distance: 1
|
|
display_name: "Sony - PlayStation 2 (PCSX2)"
|
|
systems: [sony-playstation-2]
|
|
|
|
notes: |
|
|
Filename-agnostic BIOS detection. Scans bios/ for any file between 4-8 MB
|
|
with valid romdir structure (RESET + ROMVER entries). No hash validation.
|
|
Companion files (.rom1, .rom2, .nvm, .mec) derive their names from the selected BIOS.
|
|
ROM1 (DVD player) and ROM2 (Chinese extension) silently skipped if missing.
|
|
NVM and MEC auto-created with defaults if missing.
|
|
|
|
files:
|
|
- name: ps2-0230a-20080220.bin
|
|
found_by: content
|
|
aliases: [ps2-0250j-20100415.bin, SCPH-70004_BIOS_V12_EUR_200.BIN]
|
|
required: true
|
|
min_size: 4194304
|
|
max_size: 8388608
|
|
validation: [size, romdir]
|
|
romdir:
|
|
reset_compare: 10
|
|
missing_reset: ends_walk
|
|
terminated_names: true
|
|
extinfo: true
|
|
unreadable_romver: ends_walk
|
|
truncated_walk: ends_walk
|
|
source_ref: "pcsx2/ps2/BiosTools.cpp:16-17,80-197,258-283,317-370"
|
|
note: "Accepts any file 4-8 MB with valid romdir (RESET + ROMVER). Naming convention ps2-VVVVr-YYYYMMDD.bin (version, region, date)."
|
|
|
|
- name: ps3_ps2_emu_bios.bin
|
|
found_by: content
|
|
required: false
|
|
size: 4194304
|
|
sha1: "2dc921be6eb8d17e276cd4bbfde86343452073e0"
|
|
md5: "ca27dd917b4be56a229dd1fabb0c07da"
|
|
source_ref: "pcsx2/ps2/BiosTools.cpp:16-17,80-197,258-283,317-370"
|
|
note: >
|
|
ROMVER 0220JD20121227, the PS2 BIOS the PS3's ps2_emu carries. Cut from
|
|
dev_flash/ps2emu/ps2_emu.self of PS3 system software 4.90, decrypted by
|
|
RPCS3, from 0x12F bytes before "compatible mode" to 0x262 bytes after
|
|
"Parity error" and padded to 4 MiB, as firmware_bios_claim release 2
|
|
does. Accepted like any image with a valid romdir.
|
|
|
|
- name: ps2-0230a-20080220.rom1
|
|
aliases: [SCPH-70004_BIOS_V12_EUR_200.ROM1]
|
|
required: false
|
|
max_size: 4194304
|
|
description: "DVD player ROM"
|
|
note: "Tried as {bios}.rom1 then {biosbase}.rom1. Each name is first checked with stat, so on a case-sensitive filesystem only the lowercase extension is found, then opened case-insensitively. Copied to the ROM1 region. Logged and skipped when absent."
|
|
source_ref: "pcsx2/ps2/BiosTools.cpp:214-241, pcsx2/ps2/BiosTools.cpp:366, common/FileSystem.cpp:1145-1152, common/FileSystem.cpp:2312-2320"
|
|
|
|
- name: ps2-0230a-20080220.rom2
|
|
aliases: [SCPH-70004_BIOS_V12_EUR_200.ROM2]
|
|
required: false
|
|
max_size: 4194304
|
|
description: "Chinese ROM extension"
|
|
note: "Same two-step naming as rom1. Only Chinese region consoles carry one."
|
|
source_ref: "pcsx2/ps2/BiosTools.cpp:214-241, pcsx2/ps2/BiosTools.cpp:367"
|
|
|
|
- name: ps2-0230a-20080220.nvm
|
|
required: false
|
|
hle_fallback: true
|
|
size: 1024
|
|
description: "Console NVRAM"
|
|
note: "Read at the BIOS path with the extension replaced by nvm, opened case-insensitively. Built in memory from region defaults when absent or blank."
|
|
source_ref: "pcsx2/CDVD/CDVD.cpp:165-189"
|
|
|
|
- name: ps2-0230a-20080220.mec
|
|
required: false
|
|
hle_fallback: true
|
|
size: 4
|
|
description: "Mechacon version"
|
|
note: "Read at the BIOS path with the extension replaced by mec. Defaults to 0x00020603 and is written back when it cannot be read."
|
|
source_ref: "pcsx2/CDVD/CDVD.cpp:190-204"
|
|
|
|
- name: eeprom.dat
|
|
load_from: working_directory
|
|
required: false
|
|
hle_fallback: true
|
|
size: 64
|
|
source_ref: "pcsx2/DEV9/DEV9.cpp:110-160"
|
|
note: "DEV9 network adapter EEPROM. Falls back to built-in defaults if missing."
|
|
|
|
- name: GameIndex.yaml
|
|
path: resources/GameIndex.yaml
|
|
required: false
|
|
bundled: true
|
|
sha1: 5e2d50a3376dc6a0750505bec68626d39a5bd4c1
|
|
size: 2683897
|
|
category: game_data
|
|
description: "per-title compatibility and fix database"
|
|
source_ref: "pcsx2/GameDatabase.cpp:39, pcsx2/GameDatabase.cpp:1034-1043"
|
|
note: "Read from the resources directory shipped with the application. Console error and no per-title fixes if missing."
|
|
|
|
- name: RedumpDatabase.yaml
|
|
path: resources/RedumpDatabase.yaml
|
|
required: false
|
|
bundled: true
|
|
sha1: bf2c73d668cd671df8adfe2ec3c7074e8ba9176a
|
|
size: 1917242
|
|
category: game_data
|
|
description: "disc hash database"
|
|
source_ref: "pcsx2/GameDatabase.cpp:1141, pcsx2/GameDatabase.cpp:1196-1205"
|
|
note: "Read from the resources directory shipped with the application, used to name a disc from its dump."
|
|
|
|
- name: patches.zip
|
|
path: resources/patches.zip
|
|
required: false
|
|
bundled: true
|
|
category: game_data
|
|
description: "built-in game patch archive"
|
|
source_ref: "pcsx2/Patch.cpp:117, pcsx2/Patch.cpp:289-318"
|
|
note: "Opened read only from the resources directory shipped with the application and searched for the pnach matching the running serial and CRC. Widescreen and no-interlacing patches live inside it."
|