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.
This commit is contained in:
Abdessamad Derraz
2026-03-17 18:46:38 +01:00
parent a38c86cf1e
commit 9052a6b750
15 changed files with 3270 additions and 0 deletions

View File

@@ -15,6 +15,7 @@ platforms:
source_format: clrmamepro_dat
hash_type: sha1
schedule: weekly
emulators: [pcsx_rearmed, beetle_psx, genesis_plus_gx, flycast, melonds, mgba, snes9x, mupen64plus, beetle_saturn, dolphin]
batocera:
config: batocera.yml
@@ -52,6 +53,7 @@ platforms:
source_format: bash_script+csv
hash_type: md5
schedule: weekly
emulators: [duckstation, pcsx2, dolphin, rpcs3, ppsspp, cemu, xemu, vita3k, citra, melonds]
# dragoonDorise/EmuDeck = official repo (creator's account, 3.4k stars)
# EmuDeck/emudeck.github.io = official wiki (org account)