Xemu - RetroBIOS¶
| Type | standalone |
| Source | https://github.com/xemu-project/xemu |
| Version | 0.8.x |
| Profiled | 2026-03-18 |
| Cores | xemu |
| Systems | microsoft-xbox |
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
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
Technical 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.
4 files | 3 required, 1 optional | 3 in repo, 1 missing | 1 with HLE fallback
mcpx_1.0.bin -required
: MCPX HLE boot ROM (v1.0)
- Size: 512 B
- Source:
hw/xbox/xbox.c:151 (bootrom_size != 512 -> error) - Platforms: batocera, emudeck, recalbox, retrobat, retrodeck
- Config key:
sys.files.bootrom_path - 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=
Complex_4627.bin -required
: Xbox flash ROM / BIOS (256 KB, kernel 4627)
- Source:
hw/xbox/xbox.c:70-81 (bios_name, bios_size validation) - Platforms: batocera, recalbox, retrobat, retrodeck
- Config key:
sys.files.flashrom_path - Size note: Must be a multiple of 64 KB. Default 256 KB.
- Size options: 256.0 KB, 512.0 KB, 1.0 MB
- 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.
eeprom.bin -optional, HLE available, missing from repo
: Xbox EEPROM dump (256 bytes)
- Size: 256 B
- Source:
system/vl.c:2939 (size != 256 -> error) - Config key:
sys.files.eeprom_path - 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:
/eeprom.bin. Contains serial, MAC, HDD key, region, video standard. Structure defined in hw/xbox/eeprom_generation.h.
xbox_hdd.qcow2 -required
: Xbox HDD image (8 GB, qcow2 format)
- Source:
system/vl.c:3060-3073 (hdd_path loading) - Config key:
sys.files.hdd_path - 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.
Generated on 2026-03-25T14:56:43Z