I am making this thread so that we might be able to get DVDs back on the Disc Channel, as well as for educational purposes.
Here is the download link to the project!
The Wii could originally read DVDs from the Disc Channel, it just needed a few things.
(1) patched .brlyt to show and center DVD .tpl
I have implemented it in my theme, tested and ready to be downloaded!
(2) patched boot cycle to accept DVDs.
This would be implemented in Priiloader (unless Nintendo was lazy, see bottom of post).
(3) DVDbann.ash present in System Menu
Just like how GameCube games have a banner when you insert them, so did DVDs. I'm guessing the file was named DVDbann.ash (the GameCube one was called GCbann.ash).
A quick fix is copy/paste GCbann.ash and rename it to DVDbann.ash
4/29/21: I went thru 00000098.app, where SysMenu 4.3U reads the .ash files. There was no mention of DVDbann.ash, meaning I need to find perhaps an older version of the Wii System Menu, or perhaps the banner is included with CinePlayer.
(4) DVD Channel
The software was officially known as 'Sonic CinePlayer CE DVD Navigator'
WiiMC may work as a temporary program to boot, but I am working really hard to find the unreleased software. I am still awaiting a response from an ex-developer at Sonic Solutions.
I am assuming the DVD Channel software is in the form of a hidden channel, much like the End User License Agreement, Region Select, and Set Personal Data channels. This is a .wad which is lost to the ages until we get lucky with another Wii prelaunch leak.
Where do we go from here?
We take the WiiMC forwarder, change it to hidden, and rename it to an unknown Title ID.
If Nintendo wanted to make this process way too easy, they could have just programmed the Wii to search to a hidden channel with a certain Title ID, if it is there, DVDs work.
Maybe this "hidden ID" is somewhere in the boot cycle and Priiloader isn't required?
If anyone knows this hidden ID, please share!
4/28/21: The setting in Wii System Menu 4.3U (DVDLowEnableDvdVideo)
I don't know which versions its in or what it does (00000098.app)
Source:
Here is the download link to the project!
The Wii could originally read DVDs from the Disc Channel, it just needed a few things.
(1) patched .brlyt to show and center DVD .tpl
I have implemented it in my theme, tested and ready to be downloaded!
(2) patched boot cycle to accept DVDs.
This would be implemented in Priiloader (unless Nintendo was lazy, see bottom of post).
(3) DVDbann.ash present in System Menu
Just like how GameCube games have a banner when you insert them, so did DVDs. I'm guessing the file was named DVDbann.ash (the GameCube one was called GCbann.ash).
A quick fix is copy/paste GCbann.ash and rename it to DVDbann.ash
4/29/21: I went thru 00000098.app, where SysMenu 4.3U reads the .ash files. There was no mention of DVDbann.ash, meaning I need to find perhaps an older version of the Wii System Menu, or perhaps the banner is included with CinePlayer.
(4) DVD Channel
The software was officially known as 'Sonic CinePlayer CE DVD Navigator'
WiiMC may work as a temporary program to boot, but I am working really hard to find the unreleased software. I am still awaiting a response from an ex-developer at Sonic Solutions.
I am assuming the DVD Channel software is in the form of a hidden channel, much like the End User License Agreement, Region Select, and Set Personal Data channels. This is a .wad which is lost to the ages until we get lucky with another Wii prelaunch leak.
Where do we go from here?
We take the WiiMC forwarder, change it to hidden, and rename it to an unknown Title ID.
If Nintendo wanted to make this process way too easy, they could have just programmed the Wii to search to a hidden channel with a certain Title ID, if it is there, DVDs work.
Maybe this "hidden ID" is somewhere in the boot cycle and Priiloader isn't required?
If anyone knows this hidden ID, please share!
4/28/21: The setting in Wii System Menu 4.3U (DVDLowEnableDvdVideo)
I don't know which versions its in or what it does (00000098.app)
Source:
(DVDLowInit) Error: IOS_Open failed - pathname '/dev/di' does not exist
(DVDLowInit) Error: IOS_Open failed - calling thread lacks permission
(DVDLowInit) Error: IOS_Open failed - connection limit has been reached
(DVDLowInit) IOS_Open failed, errorcode = %d
(newContext) ERROR: freeDvdContext.inUse (#%d) is true
(newContext) Now spinning in infinite loop
(newContext) Something overwrote the context magic - spinning
@@@@@@ WARNING - Calling DVDLowReadDiskId with NULL ptr
@@@ (DVDLowReadDiskID) IOS_IoctlAsync returned error: %d
(DVDLowOpenPartition) eTicket memory is unaligned
(DVDLowOpenPartition) certificates memory is unaligned
@@@ (DVDLowOpenPartition) IOS_IoctlvAsync returned error: %d
DVDLowOpenPartitionWithTmdAndTicket (%s) eTicket memory is unaligned
(%s) tmd parameter cannot be NULL
(%s) tmd memory is unaligned
(%s) eTicket parameter cannot be NULL
DVDLowOpenPartitionWithTmdAndTicketView (%s) eTicketView parameter cannot be NULL
(%s) eTicketView memory is unaligned
DVDLowGetNoDiscBufferSizes (%s) Error: NULL pointer argument
(%s) numTmdBytes memory is unaligned
(%s) certificates memory is unaligned
@@@ (%s) IOS_IoctlvAsync returned error: %d
DVDLowGetNoDiscOpenPartitionParams (%s) pointer argument is unaligned
DVDLowNoDiscOpenPartition @@@ (DVDLowClosePartition) IOS_IoctlAsync returned error: %d
@@@ (DVDLowUnencryptedRead) IOS_IoctlAsync returned error: %d
@@@ (DVDLowStopMotor) IOS_IoctlAsync returned error: %d
@@@ (DVDLowWaitForCoverClose) IOS_IoctlAsync returned error: %d
@@@ (DVDLowInquiry) IOS_IoctlAsync returned error: %d
@@@ (DVDLowRequestError) IOS_IoctlAsync returned error: %d
(DVDLowSetSpinupFlag): Synch functions can't be called in callbacks
@@@ (DVDLowNotifyReset) IOS_IoctlAsync returned error: %d
@@@ (DVDLowReset) IOS_IoctlAsync returned error: %d
@@@ (DVDLowAudioBufferConfig) IOS_IoctlAsync returned error: %d
(DVDLowGetCoverStatus): Synch functions can't be called in callbacks
@@@ (DVDLowGetCoverStatus) IOS_Ioctl returned error: %d
@@@ (DVDLowReadDVD) IOS_IoctlAsync returned error: %d
@@@ (DVDLowReadDVDConfig) IOS_IoctlAsync returned error: %d
@@@ (DVDLowReadDvdCopyright) IOS_IoctlAsync returned error: %d
@@@ (DVDLowReadDvdPhysical) IOS_IoctlAsync returned error: %d
@@@ (DVDLowReadDvdDiscKey) IOS_IoctlAsync returned error: %d
@@@ (DVDLowReportKey) IOS_IoctlAsync returned error: %d
@@@ (DVDLowOffset) IOS_IoctlAsync returned error: %d
@@@ (DVDLowStopLaser) IOS_IoctlAsync returned error: %d
@@@ (DVDLowReadDiskBca) IOS_IoctlAsync returned error: %d
@@@ (DVDLowSerMeasControl) IOS_IoctlAsync returned error: %d
@@@ (DVDLowRequestDiscStatus) IOS_IoctlAsync returned error: %d
@@@ (DVDLowRequestRetryNumber) IOS_IoctlAsync returned error: %d
@@@ (DVDLowSetMaxRotation) IOS_IoctlAsync returned error: %d
(DVDLowRead): ERROR - destAddr buffer is not 32 byte aligned
@@@ (DVDLowRead) IOS_IoctlAsync returned error: %d
@@@ (DVDLowSeek) IOS_IoctlAsync returned error: %d
(DVDLowGetCoverReg): Synch functions can't be called in callbacks
@@@ (DVDLowGetCoverReg) IOS_Ioctl returned error: %d
@@@ (DVDLowPrepareCoverRegsiter) IOS_IoctlAsync returned error: %d
@@@ (DVDLowPrepareStatusRegsiter) IOS_IoctlAsync returned error: %d
@@@ (DVDLowClearCoverInterrupt) IOS_IoctlAsync returned error: %d
@@@ (DVDLowEnableDvdVideo) IOS_IoctlAsync returned error: %d
(DVDLowInit) Error: IOS_Open failed - calling thread lacks permission
(DVDLowInit) Error: IOS_Open failed - connection limit has been reached
(DVDLowInit) IOS_Open failed, errorcode = %d
(newContext) ERROR: freeDvdContext.inUse (#%d) is true
(newContext) Now spinning in infinite loop
(newContext) Something overwrote the context magic - spinning
@@@@@@ WARNING - Calling DVDLowReadDiskId with NULL ptr
@@@ (DVDLowReadDiskID) IOS_IoctlAsync returned error: %d
(DVDLowOpenPartition) eTicket memory is unaligned
(DVDLowOpenPartition) certificates memory is unaligned
@@@ (DVDLowOpenPartition) IOS_IoctlvAsync returned error: %d
DVDLowOpenPartitionWithTmdAndTicket (%s) eTicket memory is unaligned
(%s) tmd parameter cannot be NULL
(%s) tmd memory is unaligned
(%s) eTicket parameter cannot be NULL
DVDLowOpenPartitionWithTmdAndTicketView (%s) eTicketView parameter cannot be NULL
(%s) eTicketView memory is unaligned
DVDLowGetNoDiscBufferSizes (%s) Error: NULL pointer argument
(%s) numTmdBytes memory is unaligned
(%s) certificates memory is unaligned
@@@ (%s) IOS_IoctlvAsync returned error: %d
DVDLowGetNoDiscOpenPartitionParams (%s) pointer argument is unaligned
DVDLowNoDiscOpenPartition @@@ (DVDLowClosePartition) IOS_IoctlAsync returned error: %d
@@@ (DVDLowUnencryptedRead) IOS_IoctlAsync returned error: %d
@@@ (DVDLowStopMotor) IOS_IoctlAsync returned error: %d
@@@ (DVDLowWaitForCoverClose) IOS_IoctlAsync returned error: %d
@@@ (DVDLowInquiry) IOS_IoctlAsync returned error: %d
@@@ (DVDLowRequestError) IOS_IoctlAsync returned error: %d
(DVDLowSetSpinupFlag): Synch functions can't be called in callbacks
@@@ (DVDLowNotifyReset) IOS_IoctlAsync returned error: %d
@@@ (DVDLowReset) IOS_IoctlAsync returned error: %d
@@@ (DVDLowAudioBufferConfig) IOS_IoctlAsync returned error: %d
(DVDLowGetCoverStatus): Synch functions can't be called in callbacks
@@@ (DVDLowGetCoverStatus) IOS_Ioctl returned error: %d
@@@ (DVDLowReadDVD) IOS_IoctlAsync returned error: %d
@@@ (DVDLowReadDVDConfig) IOS_IoctlAsync returned error: %d
@@@ (DVDLowReadDvdCopyright) IOS_IoctlAsync returned error: %d
@@@ (DVDLowReadDvdPhysical) IOS_IoctlAsync returned error: %d
@@@ (DVDLowReadDvdDiscKey) IOS_IoctlAsync returned error: %d
@@@ (DVDLowReportKey) IOS_IoctlAsync returned error: %d
@@@ (DVDLowOffset) IOS_IoctlAsync returned error: %d
@@@ (DVDLowStopLaser) IOS_IoctlAsync returned error: %d
@@@ (DVDLowReadDiskBca) IOS_IoctlAsync returned error: %d
@@@ (DVDLowSerMeasControl) IOS_IoctlAsync returned error: %d
@@@ (DVDLowRequestDiscStatus) IOS_IoctlAsync returned error: %d
@@@ (DVDLowRequestRetryNumber) IOS_IoctlAsync returned error: %d
@@@ (DVDLowSetMaxRotation) IOS_IoctlAsync returned error: %d
(DVDLowRead): ERROR - destAddr buffer is not 32 byte aligned
@@@ (DVDLowRead) IOS_IoctlAsync returned error: %d
@@@ (DVDLowSeek) IOS_IoctlAsync returned error: %d
(DVDLowGetCoverReg): Synch functions can't be called in callbacks
@@@ (DVDLowGetCoverReg) IOS_Ioctl returned error: %d
@@@ (DVDLowPrepareCoverRegsiter) IOS_IoctlAsync returned error: %d
@@@ (DVDLowPrepareStatusRegsiter) IOS_IoctlAsync returned error: %d
@@@ (DVDLowClearCoverInterrupt) IOS_IoctlAsync returned error: %d
@@@ (DVDLowEnableDvdVideo) IOS_IoctlAsync returned error: %d
Last edited by NewGBAXL,