Skip to content

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