Xbox emulators

From Emulation General Wiki
Revision as of 17:03, 6 November 2024 by Ahayri (talk | contribs) (Emulation issues)
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
NGSR 1025
Introductory price US$299.99 (equivalent to $516.15 in 2024)
Successor Xbox 360
Emulated
For emulators that run on the original Xbox, 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.

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,[N2 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,[N2 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[N2 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 (千尋) Hardware features
and peripherals
Enhancements Compatibility License Active Recommended
PC / x86
xemu Windows Linux macOS 0.7.134 ~ (WIP) ~ ~ 85%
867 out of 1025 tested titles
[N 1]
GPLv2 (Copyleft)
Cxbx-Reloaded Windows git ~ (WIP) ~ ~ 16%
166 out of 1032 tested titles
GPLv2 (Copyleft) ~
MAME Windows Linux macOS FreeBSD 0.272 ~ (WIP) N/A GPLv2 (Copyleft)
XQEMU Windows Linux macOS git ~* 4%
35 out of 828 tested titles
GPLv2 (Copyleft)
StrikeBox Windows Linux git N/A BSD-2-Clause (Permissive)
Cxbx Windows git 8%
5 out of 61 tested titles
GPLv2 (Copyleft)
Dxbx Windows 0.5 ?%
1 playable title
GPLv2 (Copyleft)
Xenoborg Windows r19 N/A Proprietary
Xeon Windows 1.0 N/A Proprietary
Consoles
Fusion Xbox 360 1.7 ~ ? 46%
463 out of 996 tested titles

65%
644 out of 987 tested titles
Proprietary
Fission Xbox One Xbox Series X/S Patch based ~ ~ 6%
63 out of 996 tested titles
Proprietary ~
  1. Playable state in the xemu compatibility list purposely doesn't include performance metrics due to varying PC build possibilities (see #Comparisons section) and minor graphical, audio, or FMV issues[1]. While the compatibility list categorizes majority games as playable, some users may encounter issues that impact their individual experience and consider them unplayable.

Comparisons

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.
xemu
A low-level emulator by Matt Borgerson continuing much of the work done on XQEMU. Focuses on stability, performance, and ease of use. xemu also supports various enhancements and some of the system features and peripherals. While some titles require powerful hardware for full-speed emulation (see the Computer specifications#xemu page), CPU performance, particularly single-threaded performance, is often the bottleneck. Additionally, using demanding graphical enhancements may also require a strong GPU. There are currently no plans for a mobile port of xemu on iOS or Android, the emulator hasn't reached the performance necessary to run well on iOS or Android at this time.[2] Currently, work is underway to implement a Vulkan renderer in xemu, but it is still under development.
Cxbx
One of the first Xbox emulators. It started as an ahead-of-time compiler for Xbox executables.
Dxbx
A port of Cxbx to Delphi, expanded with a redesigned symbol detection engine, many rendering improvements, a new pixel shader converter, etc. It ended its development at a similar stage as Cxbx.
Cxbx-Reloaded
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. Beyond this, Cxbx-Reloaded supports various enhancements and some of the system features and peripherals. Roadmap for more information about CXBX-Reloaded emulator.
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.
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. It was noteworthy for being the first emulator to run Halo as well as for predating the PC port of Halo.
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
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. If you remove the game whitelist; it allows for more Xbox Classic games to be played on the Xbox 360 than are officially supported. Some of the games not officially supported play almost perfectly, however some have various issues. [4]
Fission
The internal name for backward compatibility on the Xbox One and Xbox Series X/S. Supporting much less games likely due to licensing: developers and publishers going defunct, movie and toy tie-in, brands, vehicles, music Licenses expiring. However it has better loading times and 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).
Unfortunately, with November 2021 update Microsoft ends the program and said: "This latest and final addition of titles to the backwards compatibility program was only possible through the passion and feedback from the community," Microsoft said. "Your constant requests for specific titles and enhancements encouraged the Backwards Compatibility team to partner with the original creators to preserve thousands of games from over four generations of Xbox. While we continue to stay focused on preserving and enhancing the art form of games, we have reached the limit of our ability to bring new games to the catalog from the past due to licensing, legal and technical constraints. Thank you for being part of this journey with us."[5]

Hardware features and peripherals

Name xemu[N3 1] Cxbx-Reloaded Fusion Fission
MS Dash
Xbox Live ?* [N3 2] [N3 2]
Xbox Live Arcade *
System Link
Pressure Sensitive Buttons ~[N3 3] ~[N3 3]
DVD Drive * ~
DTS Surround (DVD-Video only)
Dolby Surround
Dolby Digital Live 5.1
? * ?
Development Kits ~ ~ TBD TBD
Peripherals
Xbox Memory Unit * [3] TBD TBD
Xbox Live Communicator ~* ~[N3 4] TBD
Windows Media Center Extender ?
Xbox Karaoke TBD TBD
Xbox Cam * TBD TBD
Xbox DVD Movie Playback Kit ~
Steering wheels * TBD TBD
Light guns * [4] TBD TBD
Steel Battalion Controller WIP [5] TBD TBD
Gametrak * TBD TBD
Dance Dance Revolution Game Pad * TBD TBD
USB Keyboard ? ? ? ?
  1. Feature Request: Adding missing peripherals for xemu
  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. 3.0 3.1 Xbox controller is supported by USB passthrough technology for xemu and Cxbx-Reloaded. Other controllers with pressure-sensitive buttons like DualShock 2, DualShock 3 or Steam Deck touchpads are not supported, but developers plan to implement their support via SDL library.
  4. With Xbox 360, only the headset without the communicator piece works.

MS Dash

MS Dash and Xbox Live emulation using Insignia project and Xemu emulator
consolemods: Microsoft MS Dash for Original Xbox

DVD Drive

consolemods: Xbox DVD Drive and DVD-ROM
xboxdevwiki: Xbox DVD Drive
xboxdevwiki: XGD/Xbox Game Disc
xboxdevwiki XDVDFS (XISO) images

OG Xbox DVD drive supports Audio CD and XGD discs. Optical disc drives for PCs usually aren't capable to read OG Xbox format DVD-ROM/XGD, you'd need very specific drive and firmware for that. More info in ripping games section and reverse engineering section.

See #Xbox DVD Movie Playback Kit section for DVD-Video compatibility or this dedicated page for more information about home media playback with emulation softwares.
See Ripping games.

System Link

Wikipedia: List of Xbox System Link games

Offline multiplayer gaming on the Xbox home console over a LAN (local area network) multiplayer games, just like LAN tunelling for PlayStation systems. Over time, most private servers have been shut down. However, computer programs such as XBSlink, SVDL and XLink Kai allow users to play multiplayer for LAN supported games by using a network configuration that simulates a worldwide LAN.

Peripherals

Xbox DVD Movie Playback Kit

xboxdevwiki: Xbox DVD Movie Playback Kit

If you do not mod your console and use XBMC4Xbox you need this dongle which contains a ROM with an XBE which provides some functions for the DVD-Video playback.

  • xemu has no Xbox DVD Movie Playback Kit emulation at the moment, so there is no DVD-Video support. But if you have this peripheral physically, it's possible to play DVD-Video discs using xemu and manually attaching the DVD kit via USB.[6] See this feature request page for more information.
  • Xbox 360/Fusion has no Xbox DVD Movie Playback Kit support; however no emulation process needed to handle DVD-Video for Xbox 360 anyway. DVD-Video is already supported out-of-the-box.
  • Xbox One and Xbox Series consoles (Fission) can play DVD-Video. To watch DVD-Video on those consoles, you first need to install the Blu-ray Player software app which is not only play DVD-Video but also play Blu-ray Video discs.
MVG: Secrets of the Original Xbox DVD Playback Kit
See #DVD Drive section for Audio CD compatibility or this dedicated page for more information about home media playback with emulation softwares.

Windows Media Center Extender

Wikipedia - Windows Media Center Extender Version 1 add-on

Thanks to this peripheral/add-on which is comes with DVD disc and remote controller: it's possible to media streaming (music, photos and videos) with PC using Windows XP MCE. This peripheral/add-on shouldn't be confused with other standalone Windows Media Center Extender devices or Xbox 360's built-in version 2 Media Center Extender functionality and app.

USB Keyboard

xbmc4xbox: Using Keyboards and Mice in XBMC

Support is dependent on the game, but apparently Phantasy Star Online does handle generic keyboards for in-game text messaging. XBMC4XBOX builds contains built-in support for some basic USB keyboards and mice that supports the HID (Human Interface Device class) USB standard, this requires you have an Xbox Gameport -> USB adapter. These are available from various suppliers on the web, and there are also tutorials available at the Xbox-Scene.com describing how to make your own convertor. Team-XBMC recommend "media center" keyboards (with built-in mouse) for XBMC use, for that true media-center feel.

Enhancements

Name xemu Cxbx-Reloaded Fusion Fission
Graphics Resizable Internal Resolution ?
Widescreen hack ? ?
Texture Replacement *
Ray-tracing
(DXR, VRT and MRT)
Implementing ray-tracing in an emulator is unfortunately quite challenging and unlikely to be feasible in the near future.
However you can try "Screen-Space Ray Traced Global Illumination" shader using ReShade.
Demonstration
Pre-rendering AA
(MSAA, SSAA)
? ?
Super-resolution techniques
(DLSS, XeSS and FSR 2+)
Requires access to the depth buffer and temporal data like motion-vectors so it's quite challenging and unlikely to be feasible in the near future.
Besides any GPU that can use DLSS can run these emulators at higher resolution than native anyway.
RTX Remix Implementing RTX Remix technology in an emulator is unfortunately quite challenging and unlikely to be feasible in the near future.
You can use ReShade for post-processing.
Performance Internal Framerate Hack ?
Frame generation technologies
(LSFG, DLSS-G, ExtraSS and AFMF)
Implementing frame generation technology in an emulator is unfortunately quite challenging and unlikely to be feasible in the near future, however post-processing techniques such as motion interpolation is quite possible. Input latency will be a crucial factor, but its impact likely varies depending on the specific technique employed, it's recommended to use after applying the "Internal Framerate Hack".
While AFMF or LSFG can be used with xemu or CXBX-Reloaded, please be aware that some visual glitches and artifacts may occur at this time.
Overclock ~*
Preload optical disc image to RAM
For users with sluggish multi-platter HDDs or plagued by horrible seek times, this enhancement might offer smoother experience, potentially reduced power consumption; it also shines when disc images reside on a network drive.
Although keep in mind that preloading image would take some time, and it will require additional amount of RAM capacity.
[N4 1]
Rendering latency reduction technologies
(LatencyFleX, Reflex and Anti-Lag+)
While most emulators offer frame pacing or framebuffer latency control options, implementing rendering latency reduction technologies isn't currently feasible. This is likely doesn't offer enough benefit to justify the development effort.
Post-Processing Post-rendering AA
(FXAA, TXAA and MLAA/SMAA)
? ? ?
Post-rendering scaling
(Sharp bilinear, Lanczos and FSR 1)
? ? ?
Filters
AI-powered filter compatible
(Freestyle)
? ? ?
Shader Chain *
Inverse tone mapping compatible ? ? *
TAS features Macros/Scripts/Lua
Rewind
Fast-Forward/Turbo Speed
Savestates/Snapshots *
Movie recording/playback
Controls Mouse Injector Compatible
Input lag-mitigating technique
Quality of life Pause/Resume Emulation ? ? ?
Built-in mod editor and manager
Built-in Cheat Manager
Built-in Patch Manager
Built-in Custom resolution/CRTSwitchRes
For using this on Windows OS you need CRT Emudriver.
Another option is using EDID editor tool such as "Custom Resolution Utility".
~*
Streamable compression format *
Per-Game Profiles ? ? ? ?
Command Line Options ? ? ?
Variable Refresh Rate compatible ? ?
Big Picture Mode ~*
Misc RetroAchievements * [N4 2] [N4 2]
EmuVR support Exclusive to libretro cores. So there is no support at the moment.
AI Service
With the help of OCR and other techniques, the AI service can provide a live translation of a game, or text-to-speech capabilities for the visually impaired among other things, either on demand or automatically.
Exclusive to libretro cores at the moment. So there is no support.
Free Look
Free Look is a enhancement feature that allows manipulation of the in-game camera.
While freecam would be technically possible, it will require per-game patches.
Said patches would require a significant amount of time to reverse the game's engine, which means that only someone talented with enough dedication to a single game could do it.
Debug features * *
  1. Fission has no Preload image to RAM enhancement but it has better loading times than the original hardware as mentioned in #Comparisons section.
  2. 2.0 2.1 Unfortunately, not a single one of the original Xbox games added to the backward compatibility program support achievements.

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).

Cxbx-Reloaded[6] and especially xemu (the original Xbox emulators) can also run a handful of Chihiro arcade games.[7]

As the inner workings of the Xbox are better understood, Chihiro emulation support and accuracy will improve. Feature Request: improving Chihiro emulation for xemu.

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.[8][9][10][11][12] 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.

Despite developments has unfortunately lost momentum in recent years, the good news is the efforts currently underway are starting to see real effects thanks to Cxbx-Reloaded and xemu teams.

For more information about Xbox system and reverse engineering;

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.

See also

References

Icon Xbox.png
Consoles: XboxXbox 360Xbox One (X|S)‡ • Xbox Series (X|S)‡
Operating systems: MS-DOSWindows 9x (95/98/ME)Windows 2000/XP/VistaWindows 7/8/8.1/10/11
Home computers: MSX