Difference between revisions of "Xbox Port"
Binarymaster (talk | contribs) (→Status: update status) |
Binarymaster (talk | contribs) (→Status: add CORE-16628) |
||
(8 intermediate revisions by 2 users not shown) | |||
Line 8: | Line 8: | ||
* For [https://xqemu.com/ XQEMU] emulator developers who [https://www.reddit.com/r/ReverseEngineering/comments/b43rfo/reactos_xbox_port_it_is_almost_there_lets_finish/ej9884j/ need an open-source Xbox kernel] implementation | * For [https://xqemu.com/ XQEMU] emulator developers who [https://www.reddit.com/r/ReverseEngineering/comments/b43rfo/reactos_xbox_port_it_is_almost_there_lets_finish/ej9884j/ need an open-source Xbox kernel] implementation | ||
* For the project itself, because it allows better flexibility of porting to other platforms | * For the project itself, because it allows better flexibility of porting to other platforms | ||
+ | |||
+ | == 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 (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, 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 == | == Status == | ||
− | '''''Note:''' See [[Xbox Port Tests]] for more details.'' | + | '''''Note:''' See [[Xbox Port Roadmap]] and [[Xbox Port Tests]] for more details.'' |
− | * Boot CD / Live CD | + | * Boot CD works in XQEMU, but shows black screen. |
+ | * Live CD boots in XQEMU, but random exceptions happen, see {{JIRA|16627}}. | ||
+ | * Boot CD / Live CD doesn't boot on real hardware, see {{JIRA|16628}}. | ||
* Can be booted from HDD using pre-installed files: | * Can be booted from HDD using pre-installed files: | ||
** MBR/FAT32 boot works, having problem with USB input, see {{JIRA|16352}}. | ** MBR/FAT32 boot works, having problem with USB input, see {{JIRA|16352}}. | ||
** BRFR/FATX boot works, but partitioning scheme not supported by disk driver, see {{JIRA|16329}}. | ** BRFR/FATX boot works, but partitioning scheme not supported by disk driver, see {{JIRA|16329}}. | ||
− | * Xbox port blockers: {{JIRA| | + | * Xbox port blockers: {{JIRA|16329}}, {{JIRA|16352}}, {{JIRA|16627}} |
− | * Real hardware blockers: {{JIRA|16319}} (including the line above) | + | * Real hardware blockers: {{JIRA|16319}}, {{JIRA|16628}} (including the line above) |
'''See this [https://jira.reactos.org/issues/?filter=15901 JIRA ticket list] for known unresolved problems.''' | '''See this [https://jira.reactos.org/issues/?filter=15901 JIRA ticket list] for known unresolved problems.''' | ||
Line 43: | Line 55: | ||
* Support for FATX file system exists in freeloader, fastfat driver, and ufatx module. See [[File Systems#FAQ]] and [https://git.reactos.org/?p=reactos.git&a=search&h=HEAD&st=grep&s=FATX ReactOS Git grep]. | * Support for FATX file system exists in freeloader, fastfat driver, and ufatx module. See [[File Systems#FAQ]] and [https://git.reactos.org/?p=reactos.git&a=search&h=HEAD&st=grep&s=FATX ReactOS Git grep]. | ||
* Basic video miniport driver for nVidia NV2A GPU (<code>PCI\VEN_10DE&DEV_02A0</code>) exists. See [https://github.com/reactos/reactos/blob/master/media/inf/xboxdisp.inf xboxdisp.inf] and [https://github.com/reactos/reactos/tree/master/win32ss/drivers/miniport/xboxvmp xboxvmp] module. | * Basic video miniport driver for nVidia NV2A GPU (<code>PCI\VEN_10DE&DEV_02A0</code>) exists. See [https://github.com/reactos/reactos/blob/master/media/inf/xboxdisp.inf xboxdisp.inf] and [https://github.com/reactos/reactos/tree/master/win32ss/drivers/miniport/xboxvmp xboxvmp] module. | ||
+ | * XboxDev Cromwell BIOS is currently used: https://github.com/XboxDev/cromwell/releases | ||
* Custom Cromwell BIOS previously existed in the repository. See [https://github.com/reactos/reactos/commits/f9c0a9419d1299719f38360d8e35e132ccf8312e/reactos/boot/xbox/cromwell boot/xbox/cromwell]. | * Custom Cromwell BIOS previously existed in the repository. See [https://github.com/reactos/reactos/commits/f9c0a9419d1299719f38360d8e35e132ccf8312e/reactos/boot/xbox/cromwell boot/xbox/cromwell]. | ||
− | |||
* [https://git.reactos.org/?p=reactos.git&a=search&h=HEAD&st=commit&s=xbox Other commits related to Xbox port development]. | * [https://git.reactos.org/?p=reactos.git&a=search&h=HEAD&st=commit&s=xbox Other commits related to Xbox port development]. | ||
* https://svn.reactos.org/downloads/xbox/ - ReactOS Xbox port prebuilt binaries (very old). | * https://svn.reactos.org/downloads/xbox/ - ReactOS Xbox port prebuilt binaries (very old). | ||
Line 57: | Line 69: | ||
File:ReactOS on Xbox.jpg|[http://web.archive.org/web/20060702184407if_/http://www.reactos.nl:80/xbox/reactosonxbox.jpg ReactOS running on Xbox] (circa 2006) | File:ReactOS on Xbox.jpg|[http://web.archive.org/web/20060702184407if_/http://www.reactos.nl:80/xbox/reactosonxbox.jpg ReactOS running on Xbox] (circa 2006) | ||
File:ReactOS on Xbox (video thumbnail).jpg|[https://youtu.be/XOF0WBD3hLU Video on YouTube] (circa 2007) | File:ReactOS on Xbox (video thumbnail).jpg|[https://youtu.be/XOF0WBD3hLU Video on YouTube] (circa 2007) | ||
+ | File:ReactOS 0.4.13-dev-1025 in XQEMU.png|ReactOS 0.4.13-dev Setup in XQEMU, see [https://twitter.com/x86corez/status/1167589261169823746 Twitter post] (Aug 2019) | ||
</gallery> | </gallery> | ||
Line 78: | Line 91: | ||
{{Navigation Ports}} | {{Navigation Ports}} | ||
+ | |||
+ | [[Category:Documentation]] | ||
+ | [[Category:Development]] | ||
+ | [[Category:Branches]] |
Revision as of 23:51, 13 January 2020
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 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 (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, 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, but random exceptions happen, see CORE-16627.
- Boot CD / Live CD doesn't boot on real hardware, see CORE-16628.
- Can be booted from HDD using pre-installed files:
- MBR/FAT32 boot works, having problem with USB input, see CORE-16352.
- BRFR/FATX boot works, but partitioning scheme not supported by disk driver, see CORE-16329.
- Xbox port blockers: CORE-16329, CORE-16352, CORE-16627
- Real hardware blockers: CORE-16319, CORE-16628 (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» :-)
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 automatically distinguish between normal PC and 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 emulator.
Gallery
ReactOS running on Xbox (circa 2006)
Video on YouTube (circa 2007)
ReactOS 0.4.13-dev Setup in XQEMU, see Twitter post (Aug 2019)
People who have an original Xbox
- Andreas Bjerkeholt aka Harteex
- Daniel Reimer aka EmuandCo
- Manatails007
- Andrew Cook aka ariscop
- Ben Nottelling
- Robert Naumann aka gonzoMD
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) |