{
  "commit": "d38cd580364b2c788e633b9e51c15e1668f726c0",
  "count": 1,
  "generated_at": "2026-11-03T13:36:34Z",
  "items": [
    {
      "id": "lrps2",
      "profile": {
        "bios_directory": "pcsx2/bios/",
        "bios_mode": "agnostic",
        "core_classification": "community_fork",
        "core_version": "v2.0.0",
        "cores": [
          "lrps2",
          "pcsx2",
          "ps2"
        ],
        "data_directories": [
          {
            "destination": "",
            "installed_on": [
              "batocera",
              "lakka",
              "recalbox",
              "retrobat",
              "retrodeck"
            ],
            "ref": "lrps2",
            "source_ref": "source pcsx2/GameDatabase.cpp:49, source pcsx2/GameDatabase.cpp:979"
          }
        ],
        "display_name": "Sony - PlayStation 2 (LRPS2)",
        "emulator": "LRPS2",
        "files": [
          {
            "description": "PS2 BIOS binary",
            "max_size": 8388608,
            "min_size": 4194304,
            "name": "<bios>.bin",
            "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.\n",
            "path": "pcsx2/bios/<bios>.bin",
            "required": true,
            "source_ref": "source pcsx2/ps2/BiosTools.cpp:33-34, 63-180, 250-275, 287-349",
            "validation": [
              "size"
            ]
          },
          {
            "description": "DVD player ROM",
            "max_size": 4194304,
            "name": "<bios>.rom1",
            "note": "DVD player ROM. Tries <biospath>.rom1 (appended) then <biosbase>.rom1 (extension replaced). Silently skipped if not found.\n",
            "path": "pcsx2/bios/<bios>.rom1",
            "required": false,
            "source_ref": "source pcsx2/ps2/BiosTools.cpp:189-230, 340"
          },
          {
            "description": "Chinese ROM extension",
            "max_size": 524288,
            "name": "<bios>.rom2",
            "note": "Chinese region ROM extension. Same naming convention as rom1. Only present on Chinese region consoles.\n",
            "path": "pcsx2/bios/<bios>.rom2",
            "required": false,
            "source_ref": "source pcsx2/ps2/BiosTools.cpp:189-230, 341"
          },
          {
            "description": "NVRAM / EEPROM data",
            "hle_fallback": true,
            "name": "<bios>.nvm",
            "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.\n",
            "path": "pcsx2/bios/<bios>.nvm",
            "required": false,
            "size": 1024,
            "source_ref": "source pcsx2/CDVD/CDVD.cpp:194-226"
          },
          {
            "description": "Mechacon version",
            "hle_fallback": true,
            "name": "<bios>.mec",
            "note": "Mechacon (disc drive controller) version as u32. Auto-created with default 0x00020603 if missing.\n",
            "path": "pcsx2/bios/<bios>.mec",
            "required": false,
            "size": 4,
            "source_ref": "source pcsx2/CDVD/CDVD.cpp:228-243"
          },
          {
            "description": "widescreen patches archive",
            "name": "cheats_ws.zip",
            "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.\n",
            "path": "pcsx2/resources/cheats_ws.zip",
            "required": false,
            "source_ref": "source pcsx2/VMManager.cpp:382-395"
          },
          {
            "description": "no-interlacing patches archive",
            "name": "cheats_ni.zip",
            "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.\n",
            "path": "pcsx2/resources/cheats_ni.zip",
            "required": false,
            "source_ref": "source pcsx2/VMManager.cpp:417-430"
          }
        ],
        "notes": "pcsx2/resources/GameIndex.yaml, the per-game patch, settings override and\ncompatibility database, is the one the buildbot publishes in LRPS2.zip (the\nlrps2 data directory). An OSD warning is shown if it is missing, and some games\ndo not boot without it.\nHard fork of PCSX2 (pre-Qt, 1.7-dev era) ported to libretro. x86_64 only.\nBIOS detection is filename-agnostic: scans pcsx2/bios/ for any file between 4-8 MB\nwith a valid romdir structure (RESET + ROMVER entries). No hash validation.\nCompanion files (.rom1, .rom2, .nvm, .mec) derive paths from the selected BIOS.\nDEV9 (network/HDD) and USB are stubbed in the libretro port.\nWidescreen patches are largely compiled into the core (libretro/patches.cpp).\n.info firmware_count=2 counts the bios folder and GameIndex.yaml.\n.info description mentions EROM.BIN but no EROM loading path exists in the code.\n",
        "profiled_date": "2026-10-21",
        "resources_directory": "pcsx2/resources/",
        "source": "https://github.com/libretro/parallel-ps2",
        "source_commit": "8c2b679622d602fe656ceba646b2f1f3a981c717",
        "systems": [
          "sony-playstation-2"
        ],
        "type": "libretro",
        "upstream": "https://github.com/PCSX2/pcsx2",
        "upstream_commit": "f0523f8acb1d3a765ee73b74cffec63093569199",
        "version_basis": {
          "kind": "file",
          "path": "libretro/main.cpp",
          "pattern": "library_version\\s*=\\s*\"(v[0-9.]+)-\""
        }
      }
    }
  ],
  "kind": "emulators",
  "schema_version": 1
}
