Difference between revisions of "Xbox Port Roadmap"

From ReactOS Wiki
Jump to: navigation, search
m (Backport fixes into XboxDev Cromwell: cromwell PR 19 merged)
(Revive ReactOS Xbox port)
 
(2 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
 
* 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 18: Line 19:
 
** Will allow <code>bootvid</code> and <code>xboxvmp</code> to work properly
 
** Will allow <code>bootvid</code> and <code>xboxvmp</code> to work properly
 
** Will allow firmware to prepare SMBIOS/PCI BIOS tables in memory
 
** Will allow firmware to prepare SMBIOS/PCI BIOS tables in memory
* Add bootvid driver for Xbox - {{JIRA|16219}}
+
* Add bootvid selection into <code>txtsetup.sif</code> and <code>setuplib</code> - '''FIXME: needs ticket'''
** Nice for public demonstration and user experience
+
** See [https://chat.reactos.org/reactos/pl/ourrbyihibbf5p8whcb879uwzy chat message] from Hermes Belusca
** Add bootvid selection into <code>usetup</code>/<code>txtsetup.sif</code> - '''FIXME: needs ticket'''
+
* Fix Xbox HAL to report reserved video memory range for NVIDIA NV2A - '''FIXME: needs ticket'''
 +
** See [https://chat.reactos.org/reactos/pl/83uwqwtb63yefm5ca8qy3qgmtr chat message] from Thomas Faber
 
* Add ATAPI support into FreeLdr - {{JIRA|16220}}
 
* Add ATAPI support into FreeLdr - {{JIRA|16220}}
 
** Will allow to test bootcd and livecd
 
** Will allow to test bootcd and livecd
** Add automatic HAL selection in FreeLdr - '''FIXME: needs ticket'''
 
 
** Could be useful for [[PC-98]] port as well
 
** Could be useful for [[PC-98]] port as well
 +
* Add automatic HAL selection in FreeLdr - '''FIXME: needs ticket'''
 +
** Will allow to test bootcd and livecd
 
* Add support for Xbox BRFR partitions - {{JIRA|16329}}
 
* Add support for Xbox BRFR partitions - {{JIRA|16329}}
 
** Requires <code>disk_new</code> driver - {{JIRA|6264}}
 
** Requires <code>disk_new</code> driver - {{JIRA|6264}}
Line 39: Line 42:
  
 
=== Implement missing drivers ===
 
=== Implement missing drivers ===
* Add NVIDIA nForce (nvnet) driver - {{JIRA|15872}} ''(low priority)''
+
* Add <code>bootvid</code> driver for Xbox - {{JIRA|16219}}
 +
** Nice for public demonstration and user experience
 +
* Add <code>vgasave</code> driver for NVIDIA NV2A - '''FIXME: needs ticket'''
 +
** See [https://chat.reactos.org/reactos/pl/kptqdu1uppbc3qogujqjioz83e chat message] from r3mendozal
 +
* Add NVIDIA nForce <code>nvnet</code> driver - {{JIRA|15872}} ''(low priority)''
 
** First test with existing closed-source driver
 
** First test with existing closed-source driver
 
** Potentially will help improving XQEMU nForce net emulation
 
** Potentially will help improving XQEMU nForce net emulation
* Improve XboxVmp driver to support NVIDIA hardware acceleration ''(low priority)''
+
* Improve <code>xboxvmp</code> driver to support NVIDIA hardware acceleration ''(low priority)''
 
** Add support for 2D acceleration
 
** Add support for 2D acceleration
 
** Add support for DirectDraw
 
** Add support for DirectDraw
Line 59: Line 66:
 
** Better function naming for multisystem
 
** Better function naming for multisystem
 
** Add nested multisystem boot menu
 
** Add nested multisystem boot menu
* Fix bug that cleared hardware information
+
* Fix displaying some hardware information
 
* Fix infinite boot loop and refactor timeout a bit
 
* Fix infinite boot loop and refactor timeout a bit
 
* Fix array write out-of-bounds bug in <code>rawread</code>
 
* Fix array write out-of-bounds bug in <code>rawread</code>
Line 73: Line 80:
 
* Fix static framebuffer address (64 vs 128 MB RAM)
 
* Fix static framebuffer address (64 vs 128 MB RAM)
 
* Fix memory map
 
* Fix memory map
* Fix Xromwell XBE problems on some Xbox'es
+
* Fix Xromwell XBE problems on some Xbox'es ''(at least the one JayFoxRox have)''
 
* Add SMBIOS table generation
 
* Add SMBIOS table generation
 
** Check corresponding data on NVIDIA nForce 420 board
 
** Check corresponding data on NVIDIA nForce 420 board
 
* Add PCI BIOS table generation
 
* Add PCI BIOS table generation
 
** Check corresponding data on NVIDIA nForce 420 board
 
** 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
 
* Other published issues: https://github.com/XboxDev/cromwell/issues
  

Latest revision as of 19:04, 29 November 2019

This page describes the plan of reviving ReactOS port for 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
    • Important: check whether the problem is reproduced on real Xbox
  • 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

Improve ReactOS

  • Obtain memory map via multiboot on Xbox - CORE-16300, PR #1971
    • Will allow bootvid and xboxvmp to work properly
    • Will allow firmware to prepare SMBIOS/PCI BIOS tables in memory
  • 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 ATAPI support into FreeLdr - CORE-16220
    • Will allow to test bootcd and livecd
    • Could be useful for PC-98 port as well
  • 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

Documentation

  • Fix constants and variables naming in freeldr and xboxvmp from Xbox-Linux to MS (low priority)

Implement missing drivers

  • Add bootvid driver for Xbox - CORE-16219
    • Nice for public demonstration and user experience
  • 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

Backport fixes into XboxDev Cromwell

  • Boot refactoring and improvements
    • Refactor Linux CD boot and allow to cancel it
    • Improve Linux loading text prints
    • General refactoring of boot code
  • Add multisystem support
    • Prepare for multisystem support and more refactoring
    • Refactor config entries finalization
    • Better function naming for multisystem
    • Add nested multisystem boot menu
  • Fix displaying some hardware information
  • Fix infinite boot loop and refactor timeout a bit
  • Fix array write out-of-bounds bug in rawread
  • Add ReactOS boot support
    • Add some debug prints for ReactOS boot
    • Fix booting ReactOS, specify boot device properly
    • Fix interpreting multiboot header according to the spec
    • Add ReactOS native partition boot support

Fix bugs and improve Cromwell

  • Fix glitchy text characters: . _ ( f
  • Fix boot device label positioning (in 720x480 and 1024x576 screen mode)
  • Fix static framebuffer address (64 vs 128 MB RAM)
  • Fix memory map
  • 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 firmware

See page Run Xbox Games on ReactOS‎.