feat: add emulator profiles and cross-reference engine (tier 2)
New two-tier architecture:
- Tier 1: Platform configs (what the UI checks) - unchanged
- Tier 2: Emulator profiles (what the code actually loads)
11 emulator profiles from source code analysis:
cemu, citra, dolphin, duckstation, flycast,
melonds, pcsx2, ppsspp, rpcs3, vita3k, xemu
Each profile documents every file the emulator loads with
source code references (file:line), hashes, and notes.
New scripts/cross_reference.py computes gaps between what
platforms declare and what emulators need.
Current gap: 200 undeclared files, 24 already in repo.
DuckStation alone recognizes 105 PS1/PS2 BIOS variants.
generate_pack.py gains --include-extras flag (future use).
_registry.yml maps platforms to their emulators.
2026-03-17 18:46:38 +01:00
|
|
|
emulator: PCSX2
|
|
|
|
|
type: standalone
|
2026-03-30 12:37:32 +02:00
|
|
|
core_classification: official_port
|
2026-03-30 14:18:54 +02:00
|
|
|
bios_mode: agnostic
|
feat: add emulator profiles and cross-reference engine (tier 2)
New two-tier architecture:
- Tier 1: Platform configs (what the UI checks) - unchanged
- Tier 2: Emulator profiles (what the code actually loads)
11 emulator profiles from source code analysis:
cemu, citra, dolphin, duckstation, flycast,
melonds, pcsx2, ppsspp, rpcs3, vita3k, xemu
Each profile documents every file the emulator loads with
source code references (file:line), hashes, and notes.
New scripts/cross_reference.py computes gaps between what
platforms declare and what emulators need.
Current gap: 200 undeclared files, 24 already in repo.
DuckStation alone recognizes 105 PS1/PS2 BIOS variants.
generate_pack.py gains --include-extras flag (future use).
_registry.yml maps platforms to their emulators.
2026-03-17 18:46:38 +01:00
|
|
|
source: "https://github.com/PCSX2/pcsx2"
|
2026-03-30 12:37:32 +02:00
|
|
|
upstream: "https://github.com/PCSX2/pcsx2"
|
|
|
|
|
cores:
|
|
|
|
|
- pcsx2
|
|
|
|
|
profiled_date: "2026-03-30"
|
2026-03-18 05:19:57 +01:00
|
|
|
core_version: "Git"
|
2026-03-30 12:37:32 +02:00
|
|
|
display_name: "Sony - PlayStation 2 (PCSX2)"
|
feat: add emulator profiles and cross-reference engine (tier 2)
New two-tier architecture:
- Tier 1: Platform configs (what the UI checks) - unchanged
- Tier 2: Emulator profiles (what the code actually loads)
11 emulator profiles from source code analysis:
cemu, citra, dolphin, duckstation, flycast,
melonds, pcsx2, ppsspp, rpcs3, vita3k, xemu
Each profile documents every file the emulator loads with
source code references (file:line), hashes, and notes.
New scripts/cross_reference.py computes gaps between what
platforms declare and what emulators need.
Current gap: 200 undeclared files, 24 already in repo.
DuckStation alone recognizes 105 PS1/PS2 BIOS variants.
generate_pack.py gains --include-extras flag (future use).
_registry.yml maps platforms to their emulators.
2026-03-17 18:46:38 +01:00
|
|
|
systems: [sony-playstation-2]
|
|
|
|
|
|
2026-03-30 12:37:32 +02:00
|
|
|
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 paths from selected BIOS.
|
|
|
|
|
ROM1 (DVD player) and ROM2 (Chinese extension) silently skipped if missing.
|
|
|
|
|
NVM and MEC auto-created with defaults if missing.
|
feat: add emulator profiles and cross-reference engine (tier 2)
New two-tier architecture:
- Tier 1: Platform configs (what the UI checks) - unchanged
- Tier 2: Emulator profiles (what the code actually loads)
11 emulator profiles from source code analysis:
cemu, citra, dolphin, duckstation, flycast,
melonds, pcsx2, ppsspp, rpcs3, vita3k, xemu
Each profile documents every file the emulator loads with
source code references (file:line), hashes, and notes.
New scripts/cross_reference.py computes gaps between what
platforms declare and what emulators need.
Current gap: 200 undeclared files, 24 already in repo.
DuckStation alone recognizes 105 PS1/PS2 BIOS variants.
generate_pack.py gains --include-extras flag (future use).
_registry.yml maps platforms to their emulators.
2026-03-17 18:46:38 +01:00
|
|
|
|
|
|
|
|
files:
|
2026-03-30 12:37:32 +02:00
|
|
|
- name: ps2-0230a-20080220.bin
|
feat: add emulator profiles and cross-reference engine (tier 2)
New two-tier architecture:
- Tier 1: Platform configs (what the UI checks) - unchanged
- Tier 2: Emulator profiles (what the code actually loads)
11 emulator profiles from source code analysis:
cemu, citra, dolphin, duckstation, flycast,
melonds, pcsx2, ppsspp, rpcs3, vita3k, xemu
Each profile documents every file the emulator loads with
source code references (file:line), hashes, and notes.
New scripts/cross_reference.py computes gaps between what
platforms declare and what emulators need.
Current gap: 200 undeclared files, 24 already in repo.
DuckStation alone recognizes 105 PS1/PS2 BIOS variants.
generate_pack.py gains --include-extras flag (future use).
_registry.yml maps platforms to their emulators.
2026-03-17 18:46:38 +01:00
|
|
|
required: true
|
2026-03-30 12:37:32 +02:00
|
|
|
min_size: 4194304
|
|
|
|
|
max_size: 8388608
|
|
|
|
|
validation: [size]
|
|
|
|
|
source_ref: "pcsx2/ps2/BiosTools.cpp:258-362"
|
|
|
|
|
note: "Accepts any file 4-8 MB with valid romdir (RESET + ROMVER). Naming convention ps2-VVVVr-YYYYMMDD.bin (version, region, date)."
|
feat: add emulator profiles and cross-reference engine (tier 2)
New two-tier architecture:
- Tier 1: Platform configs (what the UI checks) - unchanged
- Tier 2: Emulator profiles (what the code actually loads)
11 emulator profiles from source code analysis:
cemu, citra, dolphin, duckstation, flycast,
melonds, pcsx2, ppsspp, rpcs3, vita3k, xemu
Each profile documents every file the emulator loads with
source code references (file:line), hashes, and notes.
New scripts/cross_reference.py computes gaps between what
platforms declare and what emulators need.
Current gap: 200 undeclared files, 24 already in repo.
DuckStation alone recognizes 105 PS1/PS2 BIOS variants.
generate_pack.py gains --include-extras flag (future use).
_registry.yml maps platforms to their emulators.
2026-03-17 18:46:38 +01:00
|
|
|
|
2026-03-30 12:37:32 +02:00
|
|
|
- name: rom1.bin
|
feat: add emulator profiles and cross-reference engine (tier 2)
New two-tier architecture:
- Tier 1: Platform configs (what the UI checks) - unchanged
- Tier 2: Emulator profiles (what the code actually loads)
11 emulator profiles from source code analysis:
cemu, citra, dolphin, duckstation, flycast,
melonds, pcsx2, ppsspp, rpcs3, vita3k, xemu
Each profile documents every file the emulator loads with
source code references (file:line), hashes, and notes.
New scripts/cross_reference.py computes gaps between what
platforms declare and what emulators need.
Current gap: 200 undeclared files, 24 already in repo.
DuckStation alone recognizes 105 PS1/PS2 BIOS variants.
generate_pack.py gains --include-extras flag (future use).
_registry.yml maps platforms to their emulators.
2026-03-17 18:46:38 +01:00
|
|
|
required: false
|
2026-03-30 12:37:32 +02:00
|
|
|
max_size: 4194304
|
|
|
|
|
source_ref: "pcsx2/ps2/BiosTools.cpp:214-241,366"
|
|
|
|
|
note: "DVD player ROM. Tries {biospath}.rom1 then {biosbase}.rom1. Silently skipped if missing."
|
feat: add emulator profiles and cross-reference engine (tier 2)
New two-tier architecture:
- Tier 1: Platform configs (what the UI checks) - unchanged
- Tier 2: Emulator profiles (what the code actually loads)
11 emulator profiles from source code analysis:
cemu, citra, dolphin, duckstation, flycast,
melonds, pcsx2, ppsspp, rpcs3, vita3k, xemu
Each profile documents every file the emulator loads with
source code references (file:line), hashes, and notes.
New scripts/cross_reference.py computes gaps between what
platforms declare and what emulators need.
Current gap: 200 undeclared files, 24 already in repo.
DuckStation alone recognizes 105 PS1/PS2 BIOS variants.
generate_pack.py gains --include-extras flag (future use).
_registry.yml maps platforms to their emulators.
2026-03-17 18:46:38 +01:00
|
|
|
|
2026-03-30 12:37:32 +02:00
|
|
|
- name: ROM2.BIN
|
feat: add emulator profiles and cross-reference engine (tier 2)
New two-tier architecture:
- Tier 1: Platform configs (what the UI checks) - unchanged
- Tier 2: Emulator profiles (what the code actually loads)
11 emulator profiles from source code analysis:
cemu, citra, dolphin, duckstation, flycast,
melonds, pcsx2, ppsspp, rpcs3, vita3k, xemu
Each profile documents every file the emulator loads with
source code references (file:line), hashes, and notes.
New scripts/cross_reference.py computes gaps between what
platforms declare and what emulators need.
Current gap: 200 undeclared files, 24 already in repo.
DuckStation alone recognizes 105 PS1/PS2 BIOS variants.
generate_pack.py gains --include-extras flag (future use).
_registry.yml maps platforms to their emulators.
2026-03-17 18:46:38 +01:00
|
|
|
required: false
|
2026-03-30 12:37:32 +02:00
|
|
|
max_size: 4194304
|
|
|
|
|
source_ref: "pcsx2/ps2/BiosTools.cpp:214-241,367"
|
|
|
|
|
note: "Chinese ROM extension. Same naming convention as rom1. Only present on Chinese region consoles."
|
feat: add emulator profiles and cross-reference engine (tier 2)
New two-tier architecture:
- Tier 1: Platform configs (what the UI checks) - unchanged
- Tier 2: Emulator profiles (what the code actually loads)
11 emulator profiles from source code analysis:
cemu, citra, dolphin, duckstation, flycast,
melonds, pcsx2, ppsspp, rpcs3, vita3k, xemu
Each profile documents every file the emulator loads with
source code references (file:line), hashes, and notes.
New scripts/cross_reference.py computes gaps between what
platforms declare and what emulators need.
Current gap: 200 undeclared files, 24 already in repo.
DuckStation alone recognizes 105 PS1/PS2 BIOS variants.
generate_pack.py gains --include-extras flag (future use).
_registry.yml maps platforms to their emulators.
2026-03-17 18:46:38 +01:00
|
|
|
|
2026-03-30 12:37:32 +02:00
|
|
|
- name: EROM.BIN
|
feat: add emulator profiles and cross-reference engine (tier 2)
New two-tier architecture:
- Tier 1: Platform configs (what the UI checks) - unchanged
- Tier 2: Emulator profiles (what the code actually loads)
11 emulator profiles from source code analysis:
cemu, citra, dolphin, duckstation, flycast,
melonds, pcsx2, ppsspp, rpcs3, vita3k, xemu
Each profile documents every file the emulator loads with
source code references (file:line), hashes, and notes.
New scripts/cross_reference.py computes gaps between what
platforms declare and what emulators need.
Current gap: 200 undeclared files, 24 already in repo.
DuckStation alone recognizes 105 PS1/PS2 BIOS variants.
generate_pack.py gains --include-extras flag (future use).
_registry.yml maps platforms to their emulators.
2026-03-17 18:46:38 +01:00
|
|
|
required: false
|
2026-03-30 12:37:32 +02:00
|
|
|
source_ref: "pcsx2/ps2/BiosTools.cpp"
|
|
|
|
|
note: "Extended ROM. Present in some BIOS dumps but not loaded by PCSX2 code via LoadExtraRom."
|
|
|
|
|
path: null
|
feat: add emulator profiles and cross-reference engine (tier 2)
New two-tier architecture:
- Tier 1: Platform configs (what the UI checks) - unchanged
- Tier 2: Emulator profiles (what the code actually loads)
11 emulator profiles from source code analysis:
cemu, citra, dolphin, duckstation, flycast,
melonds, pcsx2, ppsspp, rpcs3, vita3k, xemu
Each profile documents every file the emulator loads with
source code references (file:line), hashes, and notes.
New scripts/cross_reference.py computes gaps between what
platforms declare and what emulators need.
Current gap: 200 undeclared files, 24 already in repo.
DuckStation alone recognizes 105 PS1/PS2 BIOS variants.
generate_pack.py gains --include-extras flag (future use).
_registry.yml maps platforms to their emulators.
2026-03-17 18:46:38 +01:00
|
|
|
|
2026-03-30 12:37:32 +02:00
|
|
|
- name: eeprom.dat
|
feat: add emulator profiles and cross-reference engine (tier 2)
New two-tier architecture:
- Tier 1: Platform configs (what the UI checks) - unchanged
- Tier 2: Emulator profiles (what the code actually loads)
11 emulator profiles from source code analysis:
cemu, citra, dolphin, duckstation, flycast,
melonds, pcsx2, ppsspp, rpcs3, vita3k, xemu
Each profile documents every file the emulator loads with
source code references (file:line), hashes, and notes.
New scripts/cross_reference.py computes gaps between what
platforms declare and what emulators need.
Current gap: 200 undeclared files, 24 already in repo.
DuckStation alone recognizes 105 PS1/PS2 BIOS variants.
generate_pack.py gains --include-extras flag (future use).
_registry.yml maps platforms to their emulators.
2026-03-17 18:46:38 +01:00
|
|
|
required: false
|
feat: hle_fallback on 39 emulator profiles (266 entries)
Batch analysis of all 273 profiles to identify HLE/embedded
fallbacks. Added hle_fallback: true where the core has verified
software replacement for missing BIOS files:
- Embedded ROMs: vice (102), ep128emu (22), fuse (18), frodo (4)
- HLE BIOS: bsnes* (33 across 3 profiles), puae (9 AROS),
noods (4), melonds* (6 FreeBIOS), flycast (3 reios)
- Open-source replacements: sameboy (8), pokemini (1), gpsp (1)
- Built-in fallbacks: np2kai (7), atari800 (6 Altirra),
picodrive (3), quasi88 (4), gambatte (2)
Conservative: only added where notes or source code confirm HLE.
Skipped 50+ profiles where files are optional alternatives, not
HLE replaceable (neocd, opera, kronos, pcem, etc.)
2026-03-19 13:03:48 +01:00
|
|
|
hle_fallback: true
|
2026-03-30 12:37:32 +02:00
|
|
|
size: 64
|
|
|
|
|
source_ref: "pcsx2/DEV9/DEV9.cpp:110-160"
|
|
|
|
|
note: "DEV9 network adapter EEPROM. Falls back to built-in defaults if missing."
|
feat: add emulator profiles and cross-reference engine (tier 2)
New two-tier architecture:
- Tier 1: Platform configs (what the UI checks) - unchanged
- Tier 2: Emulator profiles (what the code actually loads)
11 emulator profiles from source code analysis:
cemu, citra, dolphin, duckstation, flycast,
melonds, pcsx2, ppsspp, rpcs3, vita3k, xemu
Each profile documents every file the emulator loads with
source code references (file:line), hashes, and notes.
New scripts/cross_reference.py computes gaps between what
platforms declare and what emulators need.
Current gap: 200 undeclared files, 24 already in repo.
DuckStation alone recognizes 105 PS1/PS2 BIOS variants.
generate_pack.py gains --include-extras flag (future use).
_registry.yml maps platforms to their emulators.
2026-03-17 18:46:38 +01:00
|
|
|
|
2026-03-30 12:37:32 +02:00
|
|
|
- name: GameIndex.yaml
|
|
|
|
|
path: pcsx2/resources/GameIndex.yaml
|
feat: add emulator profiles and cross-reference engine (tier 2)
New two-tier architecture:
- Tier 1: Platform configs (what the UI checks) - unchanged
- Tier 2: Emulator profiles (what the code actually loads)
11 emulator profiles from source code analysis:
cemu, citra, dolphin, duckstation, flycast,
melonds, pcsx2, ppsspp, rpcs3, vita3k, xemu
Each profile documents every file the emulator loads with
source code references (file:line), hashes, and notes.
New scripts/cross_reference.py computes gaps between what
platforms declare and what emulators need.
Current gap: 200 undeclared files, 24 already in repo.
DuckStation alone recognizes 105 PS1/PS2 BIOS variants.
generate_pack.py gains --include-extras flag (future use).
_registry.yml maps platforms to their emulators.
2026-03-17 18:46:38 +01:00
|
|
|
required: false
|
2026-03-30 12:37:32 +02:00
|
|
|
mode: libretro
|
|
|
|
|
source_ref: "pcsx2/GameDatabase.cpp:48,880"
|
|
|
|
|
note: "Game compatibility database. OSD warning if missing."
|
feat: add emulator profiles and cross-reference engine (tier 2)
New two-tier architecture:
- Tier 1: Platform configs (what the UI checks) - unchanged
- Tier 2: Emulator profiles (what the code actually loads)
11 emulator profiles from source code analysis:
cemu, citra, dolphin, duckstation, flycast,
melonds, pcsx2, ppsspp, rpcs3, vita3k, xemu
Each profile documents every file the emulator loads with
source code references (file:line), hashes, and notes.
New scripts/cross_reference.py computes gaps between what
platforms declare and what emulators need.
Current gap: 200 undeclared files, 24 already in repo.
DuckStation alone recognizes 105 PS1/PS2 BIOS variants.
generate_pack.py gains --include-extras flag (future use).
_registry.yml maps platforms to their emulators.
2026-03-17 18:46:38 +01:00
|
|
|
|
2026-03-30 12:37:32 +02:00
|
|
|
- name: cheats_ws.zip
|
|
|
|
|
path: pcsx2/resources/cheats_ws.zip
|
feat: add emulator profiles and cross-reference engine (tier 2)
New two-tier architecture:
- Tier 1: Platform configs (what the UI checks) - unchanged
- Tier 2: Emulator profiles (what the code actually loads)
11 emulator profiles from source code analysis:
cemu, citra, dolphin, duckstation, flycast,
melonds, pcsx2, ppsspp, rpcs3, vita3k, xemu
Each profile documents every file the emulator loads with
source code references (file:line), hashes, and notes.
New scripts/cross_reference.py computes gaps between what
platforms declare and what emulators need.
Current gap: 200 undeclared files, 24 already in repo.
DuckStation alone recognizes 105 PS1/PS2 BIOS variants.
generate_pack.py gains --include-extras flag (future use).
_registry.yml maps platforms to their emulators.
2026-03-17 18:46:38 +01:00
|
|
|
required: false
|
2026-03-30 12:37:32 +02:00
|
|
|
mode: libretro
|
|
|
|
|
source_ref: "pcsx2/VMManager.cpp:340-353"
|
|
|
|
|
note: "Widescreen patches archive."
|
feat: add emulator profiles and cross-reference engine (tier 2)
New two-tier architecture:
- Tier 1: Platform configs (what the UI checks) - unchanged
- Tier 2: Emulator profiles (what the code actually loads)
11 emulator profiles from source code analysis:
cemu, citra, dolphin, duckstation, flycast,
melonds, pcsx2, ppsspp, rpcs3, vita3k, xemu
Each profile documents every file the emulator loads with
source code references (file:line), hashes, and notes.
New scripts/cross_reference.py computes gaps between what
platforms declare and what emulators need.
Current gap: 200 undeclared files, 24 already in repo.
DuckStation alone recognizes 105 PS1/PS2 BIOS variants.
generate_pack.py gains --include-extras flag (future use).
_registry.yml maps platforms to their emulators.
2026-03-17 18:46:38 +01:00
|
|
|
|
2026-03-30 12:37:32 +02:00
|
|
|
- name: cheats_ni.zip
|
|
|
|
|
path: pcsx2/resources/cheats_ni.zip
|
|
|
|
|
required: false
|
|
|
|
|
mode: libretro
|
|
|
|
|
source_ref: "pcsx2/VMManager.cpp:375-388"
|
|
|
|
|
note: "No-interlacing patches archive."
|