Microsoft Xbox

The Xbox is a sixth-generation console released by Microsoft on November 15, 2001. Known as the DirectXbox during development, it is notable for the specs having similarities to a PC, namely as a result of using familiar components around the x86 architecture. It had a custom Pentium III CPU at 733 MHz with 64 MB of RAM, and a custom Nvidia GPU codenamed NV2A at 233 MHz. The Xbox was often said to be the most powerful console from the sixth generation, and Sega later designed the Chihiro arcade system with the same components. It retailed at $299.99.

This system scrapes metadata for the “xbox” group(s) and loads the xbox set from the currently selected theme, if available.

  • Emulator: xemu
  • Folder: /userdata/roms/xbox
  • Accepted ROM formats: .iso, .squashfs

The following BIOS files are required:

MD5 checksum Share file path Description
d49c52a4102f6df7bcf8d0617ac475ed bios/mcpx_1.0.bin MCPX Boot ROM Image
39cee882148a87f93cb440b99dde3ceb bios/Complex_4627.bin Flash ROM Image (BIOS)

That's all that's required to boot into games.

In addition to these, it is also possible to use the HDD image of the Xbox itself (the Xbox came with a HDD which it would store its firmware on, starting a trend that would soon become common) in place of the pre-installed dummy drive.

Fortunately, the original Xbox uses a bog-standard hard-drive that you can just connect to your computer and clone:

  1. Unlock your drive
  2. Connect it to a computer
  3. Use a cloning application like dd to clone the entire contents of the drive straight to a file

This file can be used as-is.

These instructions have been summarized from Xemu's official documentation on it.

Alternatively, you can use a dummy hard-drive image. Games can still be launched using this, though it may cause an error prompt to appear when the official BIOS attempts to access it due to it being unsigned.

If using a dummy image, you can install a custom dashboard into it such as NevolutionX. This is not necessary but may improve the user experience.

Place your Xbox ROMs in /userdata/roms/xbox/.

ISO files must be in the XISO format. It is not directly compatible with the original disc image, only the game partition. It is possible to extract the game partition of an original disc image with extract-xiso on a Windows or Linux PC:

  • If using an image dump of the entire disc (usually the case with Redump), run the command
    extract-xiso -r game-redump.iso

    to rewrite the filesystem structure of the image. The resulting game-redump.iso can immediately be used with xemu, with the original version being renamed to game-redump.iso.old.

  • If using a folder with just the game's contents (usually the result from an FTP transfer from the original Xbox), run the following:
    extract-xiso -c game-folder

    The resulting game-folder.iso image can immediately be used with xemu.

For example, if creating the Halo 2 game for use with xemu from a folder containing just the game's extracted files:

extract-xiso -c halo-2

The following batch script can be used to automate the process. Put this in the same directory as extract-iso.exe and the game's ISO:

iso-to-xiso.bat
for /r %%i in (*.iso) do extract-xiso.exe -r "%%i"

In case the Github link is down, you can also download an older version of it from the author's Sourceforge page.

There may tools out there aimed at creating images to be burned to smaller capacity DVDs designed for running on hacked Xbox consoles. Use of these tools is not recommended, as it is not compatible with many titles.

More information about this can be found on xemu's wiki page about disc images.

xemu is a free and open-source low-level Xbox emulator continuing much of the work done on XQEMU. It focuses on stability, performance, and ease of use. While still in an early stage it already runs a lot of commercial games. Xemu benefits greatly from having a high CPU core count, having at least four can dramatically improve emulation speed.

We use the latest xemu release.

xemu configuration

Standardized features available to all cores of this emulator: xbox.videomode, xbox.videomode, xbox.bezel, xbox.bezel_stretch, xbox.hud, xbox.hud_corner, xbox.bezel.tattoo, xbox.bezel.tattoo_corner, xbox.bezel.tattoo_file, xbox.bezel.resize_tattoo

ES setting name batocera.conf_key Description ⇒ ES option key_value
Settings that apply to all cores of this emulator
SCALING MODE xbox.scaling Choose the scaling mode for the game screen. Set it to stretch if you want to a fullscreen experience, or Widescreen if playing on a 16:9 screen. Will not upscale the resolution.
⇒ Original resolution center, Scale to best fit scale, Stretch to full stretch, Stretch to 16:9 scale_ws169.
RENDERING RESOLUTION xbox.render Choose the scaling render multiplier. 640×480 is native.
⇒ x1 (640×480) 1, x2 (1280×960) 2, x3 (1920×1440) 3, x4 (2560×1920) 4, x5 (3200×2400) 5, x6 (3840×2880) 6, x7 (4480×3360) 7, x8 (5120×3840) 8.
SKIP BOOT BOOTLOGO xbox.xemu_bootanim Enhancement. Skip the on-boot Xbox animation. Disabling should be safe, if you don't want to see the famous animation.
⇒ Show false, Skip true.

Here are the default Microsoft XBOX's controls shown on a Batocera Retropad:

Actually this can be any language, but French seems to be more common.

It is recommended to properly set your language on your original Xbox and extract the BIOS files again. As long as your Xbox has the correct language set, it will use that language.

It would be weird if you were using a BIOS for another Xbox, wouldn't it?

If for some reason you aren't able to set the language from your Xbox, you can directly edit the EEPROM settings on the hard-drive image using Ernegien's Original Xbox EEPROM Editor. The EEPROM can be found at /userdata/saves/xbox/xemu_eeprom.bin.

For further troubleshooting, refer to the generic support pages.

  • systems/xbox.txt
  • Last modified: 7 months ago
  • by atari