mirror of
https://github.com/Abdess/retroarch_system.git
synced 2026-04-13 12:22:33 -05:00
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.
76 lines
3.0 KiB
YAML
76 lines
3.0 KiB
YAML
emulator: Xemu
|
|
type: standalone
|
|
source: "https://github.com/xemu-project/xemu"
|
|
systems: [microsoft-xbox]
|
|
|
|
notes: |
|
|
Xemu is a free, open-source Xbox emulator based on QEMU.
|
|
Three firmware files are required for operation: MCPX boot ROM,
|
|
flash ROM (BIOS), and EEPROM image. A pre-built HDD image is
|
|
also needed. The EEPROM can be auto-generated by xemu if not
|
|
provided. Config stored in xemu.toml under sys.files section.
|
|
|
|
files:
|
|
- name: "mcpx_1.0.bin"
|
|
description: "MCPX HLE boot ROM (v1.0)"
|
|
required: true
|
|
size: 512
|
|
source_ref: "hw/xbox/xbox.c:151 (bootrom_size != 512 -> error)"
|
|
config_key: "sys.files.bootrom_path"
|
|
notes: |
|
|
Overlaid on the last 512 bytes of the flash ROM region at boot.
|
|
Mapped to 0xFFFFFE00-0xFFFFFFFF. Disabled after early init
|
|
via LPC config register write (hw/xbox/xbox_pci.c:362).
|
|
Machine property: -machine xbox,bootrom=<path>
|
|
|
|
- name: "Complex_4627.bin"
|
|
description: "Xbox flash ROM / BIOS (256 KB, kernel 4627)"
|
|
required: true
|
|
size_options: [262144, 524288, 1048576]
|
|
size_note: "Must be a multiple of 64 KB. Default 256 KB."
|
|
source_ref: "hw/xbox/xbox.c:70-81 (bios_name, bios_size validation)"
|
|
config_key: "sys.files.flashrom_path"
|
|
notes: |
|
|
Loaded as -bios argument (system/vl.c:3052-3053).
|
|
Mapped to 0xFF000000-0xFFFFFFFF with mirroring.
|
|
Common variants: Complex_4627 (1.0), Complex_4034 (debug),
|
|
Complex_4817 (1.1). Any valid Xbox BIOS dump works.
|
|
|
|
- name: "eeprom.bin"
|
|
description: "Xbox EEPROM dump (256 bytes)"
|
|
required: false
|
|
size: 256
|
|
source_ref: "system/vl.c:2939 (size != 256 -> error)"
|
|
config_key: "sys.files.eeprom_path"
|
|
notes: |
|
|
Loaded via smbus-storage device (hw/xbox/smbus_storage.c:157).
|
|
Auto-generated as XBOX_EEPROM_VERSION_R1 if missing
|
|
(system/vl.c:2918-2919). Default path: <config_dir>/eeprom.bin.
|
|
Contains serial, MAC, HDD key, region, video standard.
|
|
Structure defined in hw/xbox/eeprom_generation.h.
|
|
|
|
- name: "xbox_hdd.qcow2"
|
|
description: "Xbox HDD image (8 GB, qcow2 format)"
|
|
required: true
|
|
source_ref: "system/vl.c:3060-3073 (hdd_path loading)"
|
|
config_key: "sys.files.hdd_path"
|
|
notes: |
|
|
Attached as IDE drive index=0 with locked=on.
|
|
Must contain Xbox partitions (C, E, X, Y, Z).
|
|
Pre-built images available from xemu project.
|
|
Not a BIOS file - excluded from retrobios packs.
|
|
|
|
machine_properties:
|
|
bootrom: "MCPX boot ROM path (string)"
|
|
avpack: "Video connector type: composite, scart, svideo, vga, rfu, hdtv, none"
|
|
short-animation: "Skip Xbox boot animation (bool)"
|
|
smc-version: "SMC version string, 3 chars, default P01"
|
|
video-encoder: "Video encoder chip: conexant (default), focus, xcalibur"
|
|
source_ref: "hw/xbox/xbox.c:446-497"
|
|
|
|
memory_layout:
|
|
ram: "64 MB or 128 MB (configurable via sys.mem_limit)"
|
|
flash_rom: "0xFF000000-0xFFFFFFFF (mirrored per bios_size)"
|
|
mcpx_overlay: "Last bios_size bytes, overlays flash ROM at reset"
|
|
source_ref: "hw/xbox/xbox.c:64-173"
|