Xbox emulators

From Emulation General Wiki
Revision as of 12:50, 5 February 2023 by Ahayri (talk | contribs) (Comparisons)
Jump to navigation Jump to search
Xbox
Xbox-and-Controller-S.png
Developer Microsoft
Type Home video game console
Generation Sixth generation
Release date 2001
Discontinued 2009
Successor Xbox 360
Emulated
For other emulators that run on Xbox (6th gen) hardware, see Emulators on 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 due to using familiar components around the x86 architecture. It had a custom Pentium III CPU at 733 MHz with 64 MBs 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.

The Xbox was a modest seller and helped create a brand for Microsoft that would give its successor a stronger market share in the west. Despite Microsoft's best efforts, the original Xbox and succeeding consoles from the company never gained a foothold in Japan for various reasons.[1] It had a number of advantages over other sixth-gen consoles at the time; it was the only console to include a hard disk,[N 1] meaning it was the first to be able to rip CDs, and it was the first and only console of the lineup to include a unified online service called Xbox Live,[N 2] prompting Sony to create the PlayStation Network the next generation.

Early in its lifespan, the Xbox had an unusually active modding scene compared to the other consoles (often vindicated by the incredibly short warranty). Upon the first jailbreak by Andrew Huang, the scene ultimately delivered no comprehensive emulation until the mid-2010s[N 3], as Xbox homebrew typically relied on stolen XDKs rather than true reverse engineering work. Although developers have continued to have issues because, alongside the poorly documented hardware and repeated uses of the simpler but largely failed HLE approach, there has been little motivation to develop an emulator because many of the Xbox's games either came from Windows or were then released for Windows afterward (though it does retain a few exclusives). However, the Xbox emulation scene has been resurging with two emulators at the forefront since mid-2017. Their developers continue to say there's no competition between them, as they're both open-source and have different goals and methods.[2][3]

Emulators

Note: xboxdevwiki's own list of emulators contain over 20 different emulator projects, most of which were abandoned not long after they started. Only 2 emulators have been making progress.
Name Platform(s) Latest Version Chihiro Xbox Live System Link FLOSS Active Recommended
PC / x86
xemu Windows Linux macOS 0.7.120 ~ (WIP) [N2 1] *
Cxbx-Reloaded Windows git ~ (WIP) ~
XQEMU Windows Linux macOS git ~*
StrikeBox Windows Linux git
Cxbx Windows git
Dxbx Windows 0.5
Xenoborg Windows r19
Xeon Windows 1.0
MAME Windows Linux macOS FreeBSD 0.264 ~
Consoles
Fusion Xbox 360 1.7 [N2 2] *
Fission Xbox One Xbox Series X/S Patch based [N2 2] * ~[N2 3]
  1. Possible with Insignia. Online Matchmaking functionality is restored for the original Xbox console, allowing you to play online with friends and strangers.
  2. 2.0 2.1 Insignia FAQ: Insignia is not able to support Xbox 360/One/Series consoles in any capacity; we may look into supporting Xbox 360's backwards compatibility feature in the future, but that is not planned at this time.
  3. Fusion is much more compatible compared to Fission for original Xbox backwards compatibility.

Comparisons

xemu (compatibility) (servers)
A low-level emulator by Matt Borgerson continuing much of the work done on XQEMU. Focuses on stability, performance, and ease of use. 805 out of 1025 tested titles (79%) can be reasonably played from start to finish; an additional 32 (3%) perfectly playable without any minor issues.
Cxbx-Reloaded (compatibility)
A fork of Cxbx that's been having a good development momentum since mid-2016. It's built for x86_64 machines and includes a ton of improvements to its HLE kernel, some from code originating in Dxbx and other related forks. While it has HLE support for the GPU and other parts (e.g., audio) to make many games run fast, XQEMU's LLE implementation was introduced in April 2018 and is expected to help even further. 160+ games are playable and 500+ games ingame.
XQEMU
A low-level emulator based on QEMU. It can emulate the BIOS and many games at very slow speeds but is sometimes faster than Cxbx with acceptable graphics. Audio has not been tested but is assumed to be emulated, just not forwarded to the audio hardware for some reason. See this compatibility list that was taken from John GodGames' 2015 list and this Google spreadsheet.
StrikeBox
Beginning low-level emulator that just initializes an x86 system and runs whatever is in the ROM. Not much works for this. It was uploaded to GitHub on Dec 5, 2017, by mborgerson, a well-known XQEMU contributor.
Cxbx (compatibility)
One of the first Xbox emulators. It started as an ahead-of-time compiler for Xbox executables. It can boot around 56 games, with around a dozen in an already playable state.
Dxbx
A port of Cxbx to Delphi, expanded with a redesigned symbol detection engine, many rendering improvements, a new pixel shader converter, etc.
Xeon
Can emulate Halo: Combat Evolved to the point where the first stage is semi-playable. The walls and ground are pitch black, and the game crashes after you complete the first stage or right after you select the difficulty on modern versions of Windows.
MAME
Existing x86 emulation in MAME has given way to an Xbox driver. However, it's been marked as not working and sound as unimplemented (graphics are OK, though).

Consoles

Fusion (compatibility) (unofficial compatibility)
The internal name for backward compatibility on the Xbox 360. It supports a specific list of games that, while some work right off the bat, may need additional patches to play properly. It also requires your console to have system storage. Some games still have issues with graphical glitches and slowdowns to errors that can make standard gameplay basically impossible. There is more information and references/videos about this BC support here.
Fission (compatibility)
The internal name for backward compatibility on the Xbox One and Xbox Series X/S. With a smaller amount of supported games, likely due to issues surrounding licensing,[N 4] it allows the ones that do work to run at twice the Xbox's standard resolution (480p) on both Xbox One (S) and Xbox Series S consoles (up to 960p), and more than quadruple on Xbox One X and Xbox Series X consoles (up to 2160p).

Emulation issues

The pratfalls of Xbox emulation

The Xbox is infamous in the emulation scene for being the worst case of false advertising. For the projects currently available and active, there's a high barrier to entry for the effort involved, and it's the same reason why consoles using off-the-shelf hardware (or reused hardware) are easier to emulate. To users, being "basically a PC" and "x86-based" is a selling point despite that not being the case, as the Xbox has a number of proprietary elements that are nothing like standard PC hardware (like the eighth-gen "x86-based" consoles). Many aspects of the Xbox's architecture aren't openly documented, making it a major pain to figure out.[4][5][6][7][8] For example, the APU, one of two sound processors on the MCPX southbridge chip of the Xbox chipset, is incredibly powerful and uses complex processing steps that are difficult to figure out using clean-room reverse engineering.

The good news is the efforts currently underway are starting to see real effects. While it's true that Cxbx-Reloaded will have the upper hand with a primarily HLE-based approach on Windows, XQEMU will have the advantage of going by the book. XQEMU also has the potential to tap into hardware acceleration that Cxbx-Reloaded would have to write a kernel mode driver for, and SoullessSentinel wrote: "I don't think our users would like the idea of disabling security features such as driver signature enforcement and installing an untrusted kernel driver just for an emulator."[9]

Chihiro

The Chihiro arcade system was produced by Sega in 2003. It consists of an Xbox motherboard (with double the RAM as with devkits) with additional boards for handling arcade I/O (Sega JVS standard). As the inner workings of the Xbox are better understood, Chihiro emulation support and accuracy will improve.

Resources

  • XboxDevWiki, for Xbox hardware documentation
  • Xbox Emulation Discord server (For general and development discussions on OG Xbox emulation, especially for Cxbx-Reloaded, XQEMU, StrikeBox, and any legacy emulators.)

Notes

  1. The PlayStation 2 also had a hard disk accessory, but the Xbox had it built-in on all models. Consoles in the seventh generation and onward began to include internal storage in varying forms.
  2. The Dreamcast had Sega Net in North America and Dreamarena in Europe, but Xbox Live was the same for all regions.
  3. The Xbox would have been too difficult to emulate at the time anyway, as its specs often rivaled that of consumer PCs. It was alleged that many developers received legal threats from Microsoft to dissuade them from trying.
  4. There are a number of reasons, including but not limited to developers and publishers going defunct, movie and toy tie-in licenses for branded content expiring, and music royalties.

References

  1. Why The Xbox Failed In Japan. Youtube (2018-07-16)
  2. JayFoxRox's statement (representing XQEMU). Reddit (2018-07-14).
  3. SoullessSentinel's statement (representing Cxbx-Reloaded). Reddit (2017-07-13).
  4. Why is XBOX emulation premature?. ngemu (2010-02-15)
  5. /LTCG (Link-time Code Generation). Microsoft
  6. Under The Hood: Link-time Code Generation. Microsoft
  7. Xbox Emulation: The History & Roadblocks. Youtube (2018-03-08)
  8. Why is there a lack of Original Xbox emulation?. Reddit (2017-05-29)
  9. Cxbx-Reloaded (Xbox Emulator) - Panzer Dragoon Orta (In-Game). Reddit (2017-05-10).