LRPS2 - RetroBIOS¶
| Type | libretro |
| Classification | community_fork |
| Source | https://github.com/libretro/ps2 |
| Upstream | https://github.com/PCSX2/pcsx2 |
| Version | Git |
| Profiled | 2026-03-25 |
| Cores | lrps2 |
| Systems | sony-playstation-2 |
| BIOS directory | pcsx2/bios/ |
| Resources directory | pcsx2/resources/ |
Technical notes
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.
8 files | 1 required, 7 optional | 1 in repo, 7 missing | 2 with HLE fallback
<bios>.bin -required, missing from repo
: PS2 BIOS binary
- Path:
pcsx2/bios/ - Size: min 4.0 MB, max 8.0 MB
- Validation: size
- Source:
pcsx2/ps2/BiosTools.cpp:231-254,267-322 - 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.
<bios>.rom1 -optional, missing from repo
: DVD player ROM
- Path:
pcsx2/bios/ - Size: max 4.0 MB
- Source:
pcsx2/ps2/BiosTools.cpp:190-211,314 - DVD player ROM. Tries
.rom1 (appended) then .rom1 (extension replaced). Silently skipped if not found.
<bios>.rom2 -optional, missing from repo
: Chinese ROM extension
- Path:
pcsx2/bios/ - Size: max 512.0 KB
- Source:
pcsx2/ps2/BiosTools.cpp:190-211,315 - Chinese region ROM extension. Same naming convention as rom1. Only present on Chinese region consoles.
<bios>.nvm -optional, HLE available, missing from repo
: NVRAM / EEPROM data
- Path:
pcsx2/bios/ - Size: 1.0 KB
- Source:
pcsx2/CDVD/CDVD.cpp:155-198 - 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.
<bios>.mec -optional, HLE available, missing from repo
: Mechacon version
- Path:
pcsx2/bios/ - Size: 4 B
- Source:
pcsx2/CDVD/CDVD.cpp:186-197 - Mechacon (disc drive controller) version as u32. Auto-created with default 0x00020603 if missing.
GameIndex.yaml -optional
: game compatibility database
- Path:
pcsx2/resources/GameIndex.yaml - Source:
pcsx2/GameDatabase.cpp:48,880 - YAML database of per-game patches, settings overrides, and compatibility fixes. OSD warning shown if missing. Some games may not boot or have issues without it.
cheats_ws.zip -optional, missing from repo
: widescreen patches archive
- Path:
pcsx2/resources/cheats_ws.zip - Source:
pcsx2/VMManager.cpp:340-353 - 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.
cheats_ni.zip -optional, missing from repo
: no-interlacing patches archive
- Path:
pcsx2/resources/cheats_ni.zip - Source:
pcsx2/VMManager.cpp:375-388 - 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.
Generated on 2026-03-25T14:56:43Z