Difference between revisions of "Xbox Port Roadmap"

From ReactOS Wiki
Jump to: navigation, search
(Fix ReactOS bugs: link IDE port driver ticket)
(CORE-16692 and CORE-17413 fixed)
(3 intermediate revisions by the same user not shown)
Line 11: Line 11:
 
** Reproduced on RealHW as well
 
** Reproduced on RealHW as well
 
* Fix USBH_ProcessHubStateChange: OverCurrent problem - {{JIRA|16726}}
 
* Fix USBH_ProcessHubStateChange: OverCurrent problem - {{JIRA|16726}}
** RealHW only
 
* Fix IopCreateArcNames problem - {{JIRA|16692}}, {{JIRA|17256}}
 
 
** RealHW only
 
** RealHW only
 
* Fix PCI-to-PCI bridge PnP problem - {{JIRA|16319}}
 
* Fix PCI-to-PCI bridge PnP problem - {{JIRA|16319}}
Line 25: Line 23:
 
** RealHW only, the debug port lacks SERIRQ, so it cannot utilize interrupt
 
** RealHW only, the debug port lacks SERIRQ, so it cannot utilize interrupt
 
* When installed with bootcd to HDD in XQEMU, <code>C:</code> drive letter is assigned to DVD-ROM, and <code>D:</code> letter is assigned to the system drive - {{JIRA|15575}}
 
* When installed with bootcd to HDD in XQEMU, <code>C:</code> drive letter is assigned to DVD-ROM, and <code>D:</code> letter is assigned to the system drive - {{JIRA|15575}}
* CPU name is not properly detected neither in XQEMU nor on real hardware - '''FIXME: needs ticket'''
 
 
* XGPU PCI device is not reported/detected by pci.sys driver (minor problem) - '''FIXME: needs ticket'''
 
* XGPU PCI device is not reported/detected by pci.sys driver (minor problem) - '''FIXME: needs ticket'''
 
** RealHW only
 
** RealHW only
Line 44: Line 41:
 
* Xbox HAL: Report reserved video memory range for NVIDIA NV2A (use "NV2A Framebuffer" resource added earlier, maybe as <code>*PNP0C02</code> aka "Motherboard resources") - '''FIXME: needs ticket'''
 
* Xbox HAL: Report reserved video memory range for NVIDIA NV2A (use "NV2A Framebuffer" resource added earlier, maybe as <code>*PNP0C02</code> aka "Motherboard resources") - '''FIXME: needs ticket'''
 
** See [https://chat.reactos.org/reactos/pl/83uwqwtb63yefm5ca8qy3qgmtr chat message] from Thomas Faber
 
** See [https://chat.reactos.org/reactos/pl/83uwqwtb63yefm5ca8qy3qgmtr chat message] from Thomas Faber
 +
* Xbox HAL: Report Flash ROM memory range as <code>*PNP0C02</code> aka "Motherboard resources" (0xFF000000 - 0xFFFFFFFF)
 
* Add automatic HAL selection in FreeLdr - '''FIXME: needs ticket'''
 
* Add automatic HAL selection in FreeLdr - '''FIXME: needs ticket'''
 
** Will allow to test bootcd and livecd
 
** Will allow to test bootcd and livecd
Line 57: Line 55:
  
 
=== Implement missing drivers ===
 
=== Implement missing drivers ===
* Add console text mode driver for NVIDIA NV2A - '''FIXME: needs ticket'''
+
* Console text mode driver for NVIDIA NV2A - '''FIXME: needs ticket'''
 
** Will allow installing from bootcd
 
** Will allow installing from bootcd
* Add <code>vgasave</code> driver for NVIDIA NV2A - '''FIXME: needs ticket'''
+
* <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
* Add NVIDIA nForce <code>nvnet</code> driver - {{JIRA|15872}} ''(low priority)''
+
* 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
Line 70: Line 68:
 
** Add support for OpenGL
 
** Add support for OpenGL
 
** Potentially will help here - [https://jira.reactos.org/browse/CORE-16465?focusedCommentId=118579&page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel#comment-118579 CORE-16465]
 
** Potentially will help here - [https://jira.reactos.org/browse/CORE-16465?focusedCommentId=118579&page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel#comment-118579 CORE-16465]
* Implement driver for USB Gamepad XID - '''FIXME: needs ticket'''
+
* UDFX filesystem driver (used with XISO/XDVDFS disks)
 +
* USB Gamepad XID driver - '''FIXME: needs ticket'''
 
** See http://euc.jp/periphs/xbox-controller.en.html
 
** See http://euc.jp/periphs/xbox-controller.en.html
 +
* Xbox Memory Unit (XMU) driver - '''FIXME: needs ticket'''
 +
** See https://xboxdevwiki.net/Xbox_Memory_Unit
 +
* Xbox Wireless Adapter (MN-740) driver - '''FIXME: needs ticket'''
 +
** See https://xboxdevwiki.net/Network#Wireless_adapter
 +
* Xbox Live Communicator driver - '''FIXME: needs ticket'''
 +
** See https://xboxdevwiki.net/Xbox_Live_Communicator
 +
* Xbox Video Camera driver - '''FIXME: needs ticket'''
 +
** See https://www.gsp.com/cgi-bin/man.cgi?section=4&topic=ov519 - <code>USB\VID_045E&PID_028C</code>
  
 
=== Fix bugs and improve Cromwell ===
 
=== Fix bugs and improve Cromwell ===

Revision as of 16:45, 31 December 2020

This page describes the plan of reviving the 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 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
  • Bug with INBV rotation bar on 720x480 resolution (draws outside the frame)
  • Xbox HAL: Shutdown does not happen, shows "It is now safe to turn off your computer" picture
  • Serial COM1 is not accessible for user-mode, the port can be opened, but both RX and TX are ignored - FIXME: needs ticket
    • RealHW only, the debug port lacks SERIRQ, so it cannot utilize interrupt
  • When installed with bootcd to HDD in XQEMU, C: drive letter is assigned to DVD-ROM, and D: letter is assigned to the system drive - CORE-15575
  • XGPU PCI device is not reported/detected by pci.sys driver (minor problem) - FIXME: needs ticket
    • RealHW only

Improve ReactOS

  • Add Xbox machine detection into setuplib - FIXME: needs ticket
  • Add bootvid selection into txtsetup.sif and setuplib - FIXME: needs ticket
  • Add missing devices into Xbox HAL device tree:
    • PIC (*PNP0000)
    • Timer (*PNP0100)
    • DMA Controller (*PNP0200)
    • Speaker (*PNP0800)
    • CMOS/RTC (*PNP0B00)
  • Xbox HAL: Serial COM ports and other LPC devices should be children of ISA to PCI bridge
  • Xbox HAL: Think about exposing LPC SuperIO controller (I/O ports 0x2E-0x2F) if it's detected
  • Xbox HAL: Report reserved video memory range for NVIDIA NV2A (use "NV2A Framebuffer" resource added earlier, maybe as *PNP0C02 aka "Motherboard resources") - FIXME: needs ticket
  • Xbox HAL: Report Flash ROM memory range as *PNP0C02 aka "Motherboard resources" (0xFF000000 - 0xFFFFFFFF)
  • 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

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‎.