Difference between revisions of "Xbox Port"

From ReactOS Wiki
Jump to: navigation, search
(General update)
(Gallery: add photo from 19 Feb 2020)
(20 intermediate revisions by 5 users not shown)
Line 1: Line 1:
{{Notice|This page is about full port of ReactOS desktop operating system for original Xbox. For the Xbox gaming kernel see [[Run Xbox Games on ReactOS‎]].}}
+
{{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.
 
'''ReactOS Xbox port''' targets the original Microsoft's Xbox gaming console, which is based on Intel Pentium III (Coppermine) processor that ReactOS could support.
Line 6: Line 6:
 
* For people who don't have a computer, but have an Xbox which can be used as a computer with ReactOS
 
* 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 gamers who want to run retro console emulators which are available only as Windows applications
* 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:''' the status is based on outdated information. Actual port status is investigated in [[Xbox Port Tests]].''
+
'''''Note:''' See [[Xbox Port Roadmap]] and [[Xbox Port Tests]] for more details.''
  
* Running from Live CD is supported.
+
* Boot CD works in XQEMU, but shows black screen.
* Installing from Boot CD is '''not''' supported.
+
* Live CD boots in XQEMU, having problem with USB input, see {{JIRA|16352}}.
* Can be booted from HDD using pre-installed files.
+
* Boot CD / Live CD doesn't boot on real hardware, see {{JIRA|16692}}.
 +
* Can be booted from HDD using pre-installed files:
 +
** 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}}.
 +
* Xbox port blockers: {{JIRA|16329}}, {{JIRA|16352}}
 +
* Real hardware blockers: {{JIRA|16319}}, {{JIRA|16692}}, {{JIRA|16704}} (including the line above)
  
''«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 definately something cool you may want to try to run on your Xbox» :-)''
+
'''See this [https://jira.reactos.org/issues/?filter=15901 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» :-)''
  
 
: — [[User:Fireball|Fireball]] ([[User talk:Fireball|talk]]) 19:55, 1 September 2005 (UTC)
 
: — [[User:Fireball|Fireball]] ([[User talk:Fireball|talk]]) 19:55, 1 September 2005 (UTC)
Line 26: Line 43:
 
* Xbox port revival was suggested at [[Google Summer of Code 2010#Tertiary Ideas|Google Summer of Code 2010 ideas]].
 
* Xbox port revival was suggested at [[Google Summer of Code 2010#Tertiary Ideas|Google Summer of Code 2010 ideas]].
 
* [[Google Summer of Code 2019 Ideas#Xbox executable support|Xbox executable support]] was suggested as Google Summer of Code 2019 idea.
 
* [[Google Summer of Code 2019 Ideas#Xbox executable support|Xbox executable support]] was suggested as Google Summer of Code 2019 idea.
 +
* [[User:binarymaster|Stas'M]] is currently working on Xbox port revival, so [https://github.com/reactos/reactos/milestone/3 XBOX Boot] milestone has been added.
  
 
=== Development problems ===
 
=== Development problems ===
Line 37: 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].
Line 47: Line 66:
  
 
== Gallery ==
 
== Gallery ==
<!-- <gallery widths="192px" heights="192px">
+
<gallery widths="192px" heights="192px">
File:reactosonxbox.jpg|ReactOS running on Xbox.
+
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)
https://www.youtube.com/watch?v=XOF0WBD3hLU|ReactOS running on Xbox (video).
+
File:ReactOS on Xbox (video thumbnail).jpg|[https://youtu.be/XOF0WBD3hLU Video on YouTube] (circa 2007)
</gallery> -->
+
File:ReactOS 0.4.13-dev-1025 in XQEMU.png|[https://twitter.com/x86corez/status/1167589261169823746 ReactOS 0.4.13-dev Setup in XQEMU] (Aug 2019)
* [http://web.archive.org/web/20060702184407if_/http://www.reactos.nl:80/xbox/reactosonxbox.jpg ReactOS running on Xbox (photo)]
+
File:ReactOS 0.4.14-dev-945 LiveCD in XQEMU.png|ReactOS 0.4.14-dev LiveCD in XQEMU (Feb 2020)
* [https://www.youtube.com/watch?v=XOF0WBD3hLU ReactOS running on Xbox (video)]
+
File:ReactOS 0.4.14-dev on Xbox.jpg|[https://twitter.com/x86corez/status/1230244089632829440 ReactOS 0.4.14-dev LiveCD with hacks booted on Xbox] (Feb 2020)
 +
</gallery>
  
 
== People who have an original Xbox ==
 
== People who have an original Xbox ==
Line 59: Line 79:
 
* [[User:Manatails007/computers|Manatails007]]
 
* [[User:Manatails007/computers|Manatails007]]
 
* Andrew Cook aka ariscop
 
* Andrew Cook aka ariscop
 +
* Ben Nottelling
 +
* Robert Naumann aka gonzoMD
  
 
== See Also ==
 
== See Also ==
 +
* [https://jira.reactos.org/issues/?filter=15901 Known unresolved Xbox port problems]
 
* [https://github.com/mborgerson/reactos/wiki ReactOS on Xbox notes by Matt Borgerson]
 
* [https://github.com/mborgerson/reactos/wiki ReactOS on Xbox notes by Matt Borgerson]
* [https://github.com/mborgerson/reactos/tree/xbox ReactOS Xbox port fixes by Matt Borgerson]
 
* Implementing '''nVidia NVNet driver''' (<code>PCI\VEN_10DE&DEV_01C3</code>): {{JIRA|15872}}
 
 
* [[Run Xbox Games on ReactOS‎]]
 
* [[Run Xbox Games on ReactOS‎]]
 
* [http://www.reactos.org/forum/viewtopic.php?f=2&t=1913 ReactOS Forum topic]
 
* [http://www.reactos.org/forum/viewtopic.php?f=2&t=1913 ReactOS Forum topic]
Line 72: Line 93:
  
 
{{Navigation Ports}}
 
{{Navigation Ports}}
 +
 +
[[Category:Documentation]]
 +
[[Category:Development]]
 +
[[Category:Branches]]

Revision as of 23:49, 19 February 2020

Imbox notice.png

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

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, having problem with USB input, see CORE-16352.
  • Boot CD / Live CD doesn't boot on real hardware, see CORE-16692.
  • 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
  • Real hardware blockers: CORE-16319, CORE-16692, CORE-16704 (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» :-)

Fireball (talk) 19:55, 1 September 2005 (UTC)

Known facts

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

Installing

It's possible to install or just run ReactOS either on real Xbox or in XQEMU emulator.

Gallery

People who have an original Xbox

See Also

ReactOS ports‎
In active development Intel IA-32 (x86) | AMD64 (x64)
In slow development NEC PC-98 (x86) | Xbox (x86)
Unmaintained ARM32 (armv7) | PowerPC (ppc) | OLPC (x86)
Missing ports that Windows has ARM64 (aarch64) | Intel IA-64 (Itanium) | SGI 320/540 (x86) | DEC Alpha (axp) | MIPS