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

@@ -385,6 +385,9 @@ def main():
parser.add_argument("--db", default=DEFAULT_DB_FILE, help="Path to database.json")
parser.add_argument("--bios-dir", default=DEFAULT_BIOS_DIR)
parser.add_argument("--output-dir", "-o", default=DEFAULT_OUTPUT_DIR)
parser.add_argument("--include-extras", action="store_true",
help="Include emulator-recommended files not declared by platform")
parser.add_argument("--emulators-dir", default="emulators")
parser.add_argument("--list", action="store_true", help="List available platforms")
args = parser.parse_args()