Skip to content

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