Xbox Port
![]() |
Notice: This page is about the full port of the ReactOS desktop operating system for the original Xbox. For the Xbox gaming kernel see Run Xbox Games on ReactOS. |
ReactOS Xbox port targets the original Microsoft's Xbox gaming console, which is based on Intel Pentium III (Coppermine) processor that ReactOS could support.
It might be useful in different ways:
- For people who don't have a computer, but have an Xbox which can be used as a computer with ReactOS
- For gamers who want to run retro console emulators which are available only as Windows applications
- For XQEMU and xemu emulator developers who need an open-source Xbox kernel implementation
- For the project itself, because it allows better flexibility of porting to other platforms
Contents
Hardware
Known hardware specifications on the Xbox are:
- CPU: Pentium III Coppermine based 733 MHz custom CPU, 128 KB L2 and 133 MHz FSB (i686 class, could be upgraded up to 1.4 GHz with mods)
- RAM: 64 MB DDR 400 in a 128-bit bus (6.4 GB/s, expandable to 128 MB with mods)
- Motherboard/Chipset: Custom motherboard design using the nVidia nForce chipset (close to nForce 420) which acts as both the system chipset and the graphics adapter, Southbridge is the nVidia MCPX which is identical to the MCP-D southbridge used in the nForce 220/415/420 (basically a chipset with IGP configuration like many PCs compatibles around the 2000s)
- Graphics: nVidia NV2A GeForce 3/4 class Hybrid GPU (OpenGL 1.3, DirectX 8.1 HW support (Pixel Shader 1.3/Vertex Shader 1.1?), between a GeForce 3 and a GeForce 4)
- Storage: 8 or 10 GB 5400 RPM (IDE), HDD formatted in FATX; 2-5x DVD-ROM drive; 32 MB USB memory card
- Network: NVIDIA nForce 10/100BASE-TX w/ ICS ICS1893AF PHY
- Audio Controller: NVIDIA nForce APU w/ Wolfson Microelectronics XWM9709 AC97 2.1 Codec
Status
Note: See Xbox Port Roadmap and Xbox Port Tests for more details.
- Boot CD works in XQEMU, but shows black screen.
- Live CD boots in XQEMU, having problem with USB input, see CORE-16352.
- Can be booted from HDD using pre-installed files:
- Both MBR/FAT32 and BRFR/FATX boot works, having problem with USB input, see CORE-16352.
- Booting from BRFR/FATX works only once, after reboot SYSTEM hive gets corrupted (no ticket yet).
- Xbox port blockers: CORE-16352
- Real hardware blockers: CORE-16726, CORE-17643 (including the line above)
See this JIRA ticket list for known unresolved problems.
«It's just fun for now, nothing else. You can browse your Xbox's HDD in explorer as if it's just a PC computer, you can even do some very simple things, but not very much really. But with time – when we finish nVidia network card driver, it's gonna become more interesting since possibilities are endless – there are so plenty of software for Win32 that there is definitely something cool you may want to try to run on your Xbox» :-)
There is a GitHub branch that can produce a fully bootable LiveCD for Xbox, which has numerous workarounds, including one for USB input: https://github.com/binarymaster/reactos/tree/xbox-2022
Known facts
- The port was started by Gé van Geldorp at r11926 and firstly got into ReactOS 0.2.5, but has since regressed and is unmaintained.
- In ReactOS 0.3.0 Xbox's I2C support was moved to a separate file, and support of LEDs switching was added by Aleksey Bragin.
- In ReactOS 0.3.4 boot regression was fixed by Hervé Poussineau, but still no support for USB keyboard/mouse.
- Xbox port revival was suggested at Google Summer of Code 2010 ideas.
- Xbox executable support was suggested as Google Summer of Code 2019 idea.
- Stas'M is currently working on Xbox port revival, so XBOX Boot milestone has been added.
Development problems
- Many hardware components that need drivers.
- Lack of people with low-level programming and reverse engineering skills.
- Microsoft has discontinued original Xbox since 2006, so few people with a working console left, and their number is decreasing.
Existing work
- Xbox HAL exists. See halxbox module.
- FreeLoader supports Original Xbox sub-architecture. See freeldr/arch/i386/xbox .
- Support for FATX file system exists in freeloader, fastfat driver, and ufatx module. See File Systems#FAQ and ReactOS Git grep.
- Basic video miniport driver for nVidia NV2A GPU (
PCI\VEN_10DE&DEV_02A0
) exists. See xboxdisp.inf and xboxvmp module. - XboxDev Cromwell BIOS is currently used: https://github.com/XboxDev/cromwell/releases
- Custom Cromwell BIOS previously existed in the repository. See boot/xbox/cromwell.
- Other commits related to Xbox port development.
- https://svn.reactos.org/downloads/xbox/ - ReactOS Xbox port prebuilt binaries (very old).
Installing
It's possible to install or just run ReactOS either on real Xbox or in XQEMU/xemu emulator.
You need the following steps:
- Check out this article to learn more about the testing process.
- You should be able to compile ReactOS.
- Run the following command
configure -DSARCH=xbox
before compilation to set target platform as Original Xbox. - Build a LiveCD/BootCD ISO image and burn it onto CD-RW disc (recommended).
- Insert the medium and boot ReactOS (see Install ReactOS on Xbox for details).
Gallery
ReactOS running on Xbox (circa 2006)
Video on YouTube (circa 2007)
ReactOS 0.4.13-dev Setup in XQEMU (Aug 2019)
People who have an original Xbox
- Andreas Bjerkeholt aka Harteex
- Daniel Reimer aka EmuandCo (rev 1.3)
- Manatails007
- Andrew Cook aka ariscop
- Ben Nottelling
- Robert Naumann aka gonzoMD
- Joann Mõndresku aka Cernodile (rev 1.0)
- Matias#5019 in community Discord (rev 1.4)
See Also
- Known unresolved Xbox port problems
- ReactOS on Xbox notes by Matt Borgerson
- Run Xbox Games on ReactOS
- ReactOS Forum topic
- An article on Slashdot
- The Xbox Operating System explained by Garry Trinder
- Porting an Operating System to the Xbox HOWTO
- Xbox nForce Chipset
ReactOS ports | |
---|---|
In active development | Intel IA-32 (x86) | AMD64 (x64) |
In slow development | ARM64 (aarch64) | ARM32 (armv7) | NEC PC-98 (x86) | OG Xbox (x86) | Apple TV (1st generation) (x86) |
Unmaintained | OLPC (x86) |
Missing ports that Windows has | Intel IA-64 (Itanium) | IBM PS/2 MCA (x86) | SGI 320/540 (x86) | DEC Alpha (axp) | MIPS | PowerPC (ppc) |
Ideas for new ports | FM Towns (x86) | PlayStation 4 (x64) | Intel SFI (x86) |