Hardware/Drive Interface: Difference between revisions

From Wii-Linux Wiki
Jump to navigation Jump to search
Note that mainline's driver was ported from NPLL
Refresh the DI page
 
(4 intermediate revisions by 2 users not shown)
Line 1: Line 1:
The [[Wii]] contains a DVD optical disc drive.  In early model Wiis (pre-2008), this drive is capable of reading burned DVD-R discs, through a hidden "DVD video" mode that the drive can be set to.  Later models removed this functionality.  It is interfaced with via the DI (Drive Interface) in the [[Hollywood]] chipset.
The [[GameCube]] and [[Wii]] contain a DVD optical disc drive.  Their intended purpose is to read the proprietary [[NROM]] format, but this is not all they can be used for.  This drive is interfaced with via the DI (Drive Interface) in the [[GameCube Hardware/Flipper|Flipper]] and [[Wii Hardware/Hollywood|Hollywood]] SoCs.


== Compatibility with Wii-Linux ==
== Non-NROM media support ==
In early model Wiis (pre-2008), this drive is capable of reading burned DVD-R or pressed DVD-ROM discs, through special "DVD video" commands, blocked from being sent to the drive via an <code>HW_COMPAT</code> bit normally, but they can be enabled by setting it.  Later drive models removed this functionality, regardless of whether commands are permitted to be sent according to the SoC.  All GameCube drives can have their firmware patched via software to support reading DVD-R/DVD-ROM.
 
== Software compatibility ==
There is a driver in [[Wii-Linux]] known as <code>rvl-di</code> (file path: <code>drivers/block/rvl-di.c</code>) for interfacing with the DVD drive.  Older versions of Wii-Linux supported the DVD drive, however support has heavily deteriorated over the years:
There is a driver in [[Wii-Linux]] known as <code>rvl-di</code> (file path: <code>drivers/block/rvl-di.c</code>) for interfacing with the DVD drive.  Older versions of Wii-Linux supported the DVD drive, however support has heavily deteriorated over the years:


Line 8: Line 11:
* 4.4.302-cip80: Can't read any drive response data (even metadata).
* 4.4.302-cip80: Can't read any drive response data (even metadata).
* 4.19 (possibly older?): can't even send basic commands to the drive, like a drive reset.
* 4.19 (possibly older?): can't even send basic commands to the drive, like a drive reset.
* 7.1.2: Full support (via new driver, ported from [[NPLL]])
* Mainline: Full support (via new driver, ported from [[NPLL]])
 
== Notes ==
[[NetBSD]] has a functional driver for the Wii's DVD drive.
[[NetBSD]] has a functional driver for the Wii's DVD drive.
[[Category:Wii Hardware]]
[[Category:Wii Hardware]]

Latest revision as of 19:27, 30 September 2026

The GameCube and Wii contain a DVD optical disc drive. Their intended purpose is to read the proprietary NROM format, but this is not all they can be used for. This drive is interfaced with via the DI (Drive Interface) in the Flipper and Hollywood SoCs.

Non-NROM media support

[edit | edit source]

In early model Wiis (pre-2008), this drive is capable of reading burned DVD-R or pressed DVD-ROM discs, through special "DVD video" commands, blocked from being sent to the drive via an HW_COMPAT bit normally, but they can be enabled by setting it. Later drive models removed this functionality, regardless of whether commands are permitted to be sent according to the SoC. All GameCube drives can have their firmware patched via software to support reading DVD-R/DVD-ROM.

Software compatibility

[edit | edit source]

There is a driver in Wii-Linux known as rvl-di (file path: drivers/block/rvl-di.c) for interfacing with the DVD drive. Older versions of Wii-Linux supported the DVD drive, however support has heavily deteriorated over the years:

  • 3.15.10 (stable-v3.x): Full support
  • 4.3.6 (experimental-v4.x): Hang trying to read data from the disc.
  • 4.4.302-cip80: Can't read any drive response data (even metadata).
  • 4.19 (possibly older?): can't even send basic commands to the drive, like a drive reset.
  • Mainline: Full support (via new driver, ported from NPLL)

NetBSD has a functional driver for the Wii's DVD drive.