Difference between revisions of "Xbox Port Roadmap"

From ReactOS Wiki
Jump to: navigation, search
(PR #2167 merged)
m (Create open source Xbox firmware)
(14 intermediate revisions by the same user not shown)
Line 9: Line 9:
 
* Fix USB OHCI - {{JIRA|16352}}
 
* Fix USB OHCI - {{JIRA|16352}}
 
** Blocks actual OS testing in XQEMU
 
** Blocks actual OS testing in XQEMU
** '''Important:''' check whether the problem is reproduced on real Xbox
+
** Reproduced on RealHW as well
 +
* Fix USBH_ProcessHubStateChange: OverCurrent problem - {{JIRA|16726}}
 +
** RealHW only
 +
* Fix IopCreateArcNames problem - {{JIRA|16692}}
 +
** RealHW only
 
* Fix PCI-to-PCI bridge PnP problem - {{JIRA|16319}}
 
* Fix PCI-to-PCI bridge PnP problem - {{JIRA|16319}}
 
** RealHW only, applied workaround in master - {{GitRev|b99272702c94f5c6707dc095d3d11bb5a0147c43}}
 
** RealHW only, applied workaround in master - {{GitRev|b99272702c94f5c6707dc095d3d11bb5a0147c43}}
Line 16: Line 20:
 
* <code>Assertion failed: (pti->pcti->fsChangeBits & QS_SENDMESSAGE) == 0</code> happens in <code>win32ss/user/ntuser/misc.c, line 729</code> after some idle hours, and it can be safely cont'ed from kernel debugger
 
* <code>Assertion failed: (pti->pcti->fsChangeBits & QS_SENDMESSAGE) == 0</code> happens in <code>win32ss/user/ntuser/misc.c, line 729</code> after some idle hours, and it can be safely cont'ed from kernel debugger
 
** Does not happen with <code>usbohci.sys</code> from Windows 2003 for some reason
 
** Does not happen with <code>usbohci.sys</code> from Windows 2003 for some reason
* System timer is incorrectly configured for Xbox HAL[https://git.reactos.org/?p=reactos.git;a=blob;f=hal/halx86/include/halp.h;hb=1674307fd1e94b526f6fe5b208099a08c6faed95#l106] and FreeLoader[https://git.reactos.org/?p=reactos.git;a=blob;f=boot/freeldr/freeldr/arch/i386/hardware.c;hb=1674307fd1e94b526f6fe5b208099a08c6faed95#l31]. See [https://xboxdevwiki.net/Porting_an_Operating_System_to_the_Xbox_HOWTO#Timer_Frequency]
 
  
 
=== Improve ReactOS ===
 
=== Improve ReactOS ===
 +
* Add Xbox machine detection into setuplib - '''FIXME: needs ticket'''
 +
** See [https://git.reactos.org/?p=reactos.git;a=blob;f=base/setup/lib/settings.c;hb=9fc87dacdb653b647538180a32002117389b36dc#l276 this code]
 
* Add bootvid selection into <code>txtsetup.sif</code> and <code>setuplib</code> - '''FIXME: needs ticket'''
 
* Add bootvid selection into <code>txtsetup.sif</code> and <code>setuplib</code> - '''FIXME: needs ticket'''
 
** See [https://chat.reactos.org/reactos/pl/ourrbyihibbf5p8whcb879uwzy chat message] from Hermes Belusca
 
** See [https://chat.reactos.org/reactos/pl/ourrbyihibbf5p8whcb879uwzy chat message] from Hermes Belusca
Line 34: Line 39:
 
** <code>freeldr.ini</code> can be modified manually
 
** <code>freeldr.ini</code> can be modified manually
 
* Add HAL/video/bootvid sections into <code>unattend.inf</code> - '''FIXME: needs ticket'''
 
* Add HAL/video/bootvid sections into <code>unattend.inf</code> - '''FIXME: needs ticket'''
 
=== Documentation ===
 
* Fix constants and variables naming in <code>freeldr</code> and <code>xboxvmp</code> from Xbox-Linux to MS ''(low priority)''
 
  
 
=== Implement missing drivers ===
 
=== Implement missing drivers ===
* Add <code>bootvid</code> driver for Xbox - {{JIRA|16219}}
+
* Add console text mode driver for NVIDIA NV2A - '''FIXME: needs ticket'''
** Nice for public demonstration and user experience
+
** Will allow installing from bootcd
 
* Add <code>vgasave</code> driver for NVIDIA NV2A - '''FIXME: needs ticket'''
 
* Add <code>vgasave</code> driver for NVIDIA NV2A - '''FIXME: needs ticket'''
 
** See [https://chat.reactos.org/reactos/pl/kptqdu1uppbc3qogujqjioz83e chat message] from r3mendozal
 
** See [https://chat.reactos.org/reactos/pl/kptqdu1uppbc3qogujqjioz83e chat message] from r3mendozal
Line 65: Line 67:
 
* Other published issues: https://github.com/XboxDev/cromwell/issues
 
* Other published issues: https://github.com/XboxDev/cromwell/issues
  
== Create open source Xbox firmware ==
+
== Create open source Xbox OS ==
 
See page [[Run Xbox Games on ReactOS‎]].
 
See page [[Run Xbox Games on ReactOS‎]].
  
 
[[Category: Documentation]]
 
[[Category: Documentation]]
 
[[Category: Development]]
 
[[Category: Development]]

Revision as of 22:01, 17 May 2020

This page describes the plan of reviving ReactOS port for the original Xbox, including components outside the source tree.

Once something is done in this list, it should be simply removed.

Revive ReactOS Xbox port

Progress is tracked in CORE-16216.

Fix ReactOS bugs

  • Fix USB OHCI - CORE-16352
    • Blocks actual OS testing in XQEMU
    • Reproduced on RealHW as well
  • Fix USBH_ProcessHubStateChange: OverCurrent problem - CORE-16726
    • RealHW only
  • Fix IopCreateArcNames problem - CORE-16692
    • RealHW only
  • Fix PCI-to-PCI bridge PnP problem - CORE-16319
    • RealHW only, applied workaround in master - b992727
  • Fix FindResourceExW debug print problem (low priority)
    • Too hard to reproduce
  • Assertion failed: (pti->pcti->fsChangeBits & QS_SENDMESSAGE) == 0 happens in win32ss/user/ntuser/misc.c, line 729 after some idle hours, and it can be safely cont'ed from kernel debugger
    • Does not happen with usbohci.sys from Windows 2003 for some reason

Improve ReactOS

  • Add Xbox machine detection into setuplib - FIXME: needs ticket
  • Add bootvid selection into txtsetup.sif and setuplib - FIXME: needs ticket
  • Fix Xbox HAL to report reserved video memory range for NVIDIA NV2A - FIXME: needs ticket
  • Add automatic HAL selection in FreeLdr - FIXME: needs ticket
    • Will allow to test bootcd and livecd
  • Add support for Xbox BRFR partitions - CORE-16329
    • Requires disk_new driver - CORE-6264
    • Blocks testing on real hardware
  • Fix or implement FATX filesystem driver - CORE-16373
    • FATX support should be removed from fastfat, or not, if we switch to fastfat_new (but when?) - CORE-11819
    • Blocks testing on real hardware
  • Add input support in FreeLdr on Xbox - CORE-16218 (low priority)
    • freeldr.ini can be modified manually
  • Add HAL/video/bootvid sections into unattend.inf - FIXME: needs ticket

Implement missing drivers

  • Add console text mode driver for NVIDIA NV2A - FIXME: needs ticket
    • Will allow installing from bootcd
  • Add vgasave driver for NVIDIA NV2A - FIXME: needs ticket
  • Add NVIDIA nForce nvnet driver - CORE-15872 (low priority)
    • First test with existing closed-source driver
    • Potentially will help improving XQEMU nForce net emulation
  • Improve xboxvmp driver to support NVIDIA hardware acceleration (low priority)
    • Add support for 2D acceleration
    • Add support for DirectDraw
    • Add support for Direct3D
    • Add support for OpenGL
    • Potentially will help here - CORE-16465

Fix bugs and improve Cromwell

  • Fix glitchy text characters: . _ ( f
  • Fix boot device label positioning (in 720x480 and 1024x576 screen mode)
  • Fix Xromwell XBE problems on some Xbox'es (at least the one JayFoxRox have)
  • Add SMBIOS table generation
    • Check corresponding data on NVIDIA nForce 420 board
  • Add PCI BIOS table generation
    • Check corresponding data on NVIDIA nForce 420 board
  • Import features from XBOverclock project
  • Add full device information page for Peripherals menu (low priority)
  • Other published issues: https://github.com/XboxDev/cromwell/issues

Create open source Xbox OS

See page Run Xbox Games on ReactOS‎.