emulator: Xemu type: standalone source: "https://github.com/xemu-project/xemu" logo: "https://raw.githubusercontent.com/xemu-project/xemu/master/data/xemu_64x64.png" profiled_date: "2026-03-18" core_version: "0.8.x" display_name: "xemu (Xbox)" 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= - 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 hle_fallback: true 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: /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"