Endless Paradigm

Full Version: [Wii] libdi and the DVDX installer
You're currently viewing a stripped down version of our content. View the full version with proper formatting.
[Image: wii.jpg]



Grab your SD cards, and boot up the nintendo! Its about time!  Finally Bushing and co. has released libdi (or the DVD Access library) enabling unmodified Wii's to read DVD-R's (Movies)  

Note, this is not a back up loader


Below is everything you would ever want to know about this releases, so if you are in need of help, make sure you have read everything before asking questions ;)

HackMii Wrote:As you all know, I’ve been working on libdi (or the DVD Access library) for a while now. Wee had some problems getting it out to release because of the difficulties wee encountered while writing the second part of this topic. The DVDX installer instead will install a small, hidden, channel on your Wii that allows you to read DVDs on an unmodified system. It is not an installer for a patched IOS. You may however need one, depending on your system.

    Usage of this package is fairly simple. Run the installer.dol found in the package, follow the onscreen instructions, and you’re done.

    Once you’ve done that, you can enjoy the splendor of mplayer. That what started out as a simple proof of concept has rapidly turned into a full-featured media player, under the nourishing hands of dhewg. The main aim of the mplayer project was to get DVDVideo going, but it also supports reading video files off the SD card. (Experimental).

    A patch for Wii64, the N64 emulator for the Wii, will also be available shortly. This patch will allow you to read games off a DVD.

If you have a modchip, you also need patchmii, in addition to the DVDX stub installer.
patchmii_core


Erant Wrote:The myth of you being able to ‘burn out’ a DVD laser is pretty much what it says on the tin, a myth. This drive was designed specifically for two things. reading Wii games, and reading DVD-Videos. There are special commands in the drive for doing so. (Wee use these commands to read these discs without a modchip). So, these drives were designed with reading DVD-Videos in mind. (And even if they wern’t, you’re running the entire drive in spec. I’ve been told these myths came about when people were pot-tuning their PS2s, running them out of spec. Running any piece of hardware beyond the limits that were set for it will break it in the long run)

“Wasn’t there talk about how only some modchips needed a patched IOS? Do all modchips really need a patched IOS?”

That’s a ‘no’ to the second question. Unfortunatly, detecting these modchips isn’t an easy job. Wee’ll probably incorporate an auto-detect option into the DVDX installer at some point, but wee were already kinda late, so wee left it like this for now. (It’s also a small percentage of all modchips, think around 5-10%)



marcan Wrote:To uninstall PatchMii, use AnyTitle Deleter and remove title 0000001-000000fe. Wee’ll include a proper uninstaller in a future release - wee didn’t want to have to make you wait longer, since wee’re already kind of late with the library.

To build libdi, you need the Git branch of libogc that wee maintain. Fetch the repository from git://hackmii.com/home/ogcgit/libogc and run make and make install. If you’re under Windows, you can use msysgit.

To everone having problems: remember, this is nowhere near a final release and some troubles are expected.

Regarding protected DVDs: mplayer needs a few seconds (sometimes minutes) to crack the CSS keys for protected titles. Give it some time and see if it starts working. Wee’ll try to optimize this in the future, especially if wee figure out the CSS commands for the drive.

Regarding PAL: quite a few of the people who made this are on PAL. Wee do care about PAL, it’s just that I think it turns out that at least two of us PALers are on 480p anyway, and sometimes wee forget to extensively test the normal PAL modes.

Server’s being glitchly lately. If the links don’t work, please try again in a few minutes or an hour or two.

Both the DVDX channel-stub and PatchMii are only used by homebrew and have no effect on the normal Wii software. They are also not affected by firmware updates (although they could presumably be rendered useless if Nintendo wanted, but they won’t conflict with the updates themselves).

You can uninstall DVDX from the DVDX installer. If you have it installed, an Uninstall option will pop up next time you run it.

If you pick the wrong installation type (normal with incompatible modchip, or patchmii with no modchip) then DVD playback just won’t work - no harm done. You can reinstall with the right type to fix it.






Spoiler for MPlayer README:

Code:
MPlayer - dvdlib edition
(c) 2008 Team Twiizers

ABOUT
-----
This is a native MPlayer (http://www.mplayerhq.hu/) Wii port.
The main focus has been DVD-Video playback on modified and unmodified consoles.
Although you can open and view various media files from SD card, this is
largely untested. At this time it can not read files off data DVD's, just
DVD-Video discs.

REQUIREMENTS
------------
This application requires a valid and working DVDX stub install, please refer
to its README for setup instructions.
A DVD-Video disc, either pressed or with the DVD-ROM booktype, might also come
in handy.

INSTALL
-------
Just copy the "mplayer" folder into the "/apps" directory on your sd card and
launch it via the HBC (http://hbc.hackmii.com/).

RUN
---
When launching this application you will be presented by a basic on screen
menu. All options should be self-explanatory, here're some hints:
- High bitrate video streams may lead to dropped frames. This really depends on
  the used DVD-Video. Some fullscreen movies seem to have the same issue.
- Hiding the menu and disabling subtitles improves the performace a little.
- Playing DVD's with libdvdnav is buggy and decreases performace (read: way
  more dropped frames)
- Choosing a DTS audio track results in noise and breaks things.
- Choosing non-playable files from SD makes it crash & burn.

CONTROLS
--------
You can use a wiimote or a gamecube pad to interact:

A - Pause
B - OSD
1/X - Toggle on screen menu
RIGHT - Seek 10s forward
LEFT - Seek 10s backward
UP - Seek 60s forward
DOWN - Seek 60s backward
+/R - Seek to the next chapter
-/L - Seek to the previous chapter
HOME/Z - Quit

When watching DVD's using libdvdnav:
2/Y - Modifier key for libdvdnav

Hold this key and use RIGHT / LEFT / UP / DOWN / A / B / 1/X to navigate.

CREDITS
-------
This port was made possible by the following people:

dvdlib - Erant
DVDX stub - marcan
libdvdcss port - svpe
mplayer port - dhewg
12 stage TEV YUV12 GX voodoo - sepp256
menu loop animation - drmr

This port is powered by devkitPPC and libogc (http://www.devkitpro.org/).
Thanks go out to the HBC beta team for testing!

HOW TO BUILD
------------

3 subversion repositories are required to build this port, the revisions used
for this binary are:

libdvdread r1120
libdvdnav r1120
mplayer r27458

- get the repositories via:
  - svn co svn://svn.mplayerhq.hu/dvdnav/trunk/libdvdread libdvdread-trunk
  - svn co svn://svn.mplayerhq.hu/dvdnav/trunk/libdvdnav libdvdnav-trunk
  - svn co svn://svn.mplayerhq.hu/mplayer/trunk mplayer-trunk
- apply the patches
- edit libdvdread's and libdvdnav's config.mak and adjust SRC_PATH and
  SRC_PATH_BARE
- build libdvdread with `make`, then `make install`
- build libdvdnav with `make`, then `make install`
- build mplayer with `make`, test your build using `make upload`

Enjoy,
Team Twiizers


Spoiler for DVDX Installer:


Code:
=====================================================================
==	libdi by Team Twiizers.
==	
==
=====================================================================

libdi is a threadsafe library that allows you to access the DVD drive
in your Wii, regardless of a modchip being installed or not.

-----------
-- INSTALL
-----------

To install the lib, simply type

make
make install

This will install the lib into your libogc.

-----------
-- USAGE
-----------

Usage is fairly self-explanatory, aside from DI_Init. You can set
a callback using DI_SetCallback, which will be called upon completion
of the disc initialization. This callback runs in the regular callback
context. You MUST call DI_Init as the first thing in your program, it
wreaks massive havoc on the system, as it saves the context, launches
a channel, and restores the context. This will break most libs, and
probably video inits as well.

After this initial init, you call DI_Mount to spin the drive up. There is
no need for unmounting, you can just eject the disc any time you want.
Remounting with DI_Mount is necessary however. Calling DI_Mount is also
helpful as a last resort for failing reads.

Async reads are implemented in the lib using the standard async ioctls.
You can pass an ipccallback function, of which the usrdata will be filled
with the buffer you pass. Async reads do not have the advantage of auto-retries.
You will have to check wether a read succeeds or not in your callback.

Sync reads do have auto-retry, and the lib will try up to MAX_RETRY amount
of times before it gives up. Dirty discs can need up to 10 retries
before data is actually properly read. By default MAX_RETRY is set to 16.

Most of the functions in this lib are universal and can be used on modchipped
or non-modchipped drives alike. Some exceptions are: 

DI_ReadDVDConfig	Will only work on non-modchipped drives.
DI_ReportKey		Will only work on non-modchipped drives.
DI_ReadDVDUnencrypted	Will only work on original discs.
DI_ClosePartition	Will only work on original discs.
DI_OpenPartition	Will only work on original discs.
DI_ReadDiscID		Will only work on original discs.

If you've been reading through the source, you've probably noticed by now the
peculiar function DI_KillDrive. DI_KillDrive will not actually kill your drive
as to be useless. It merely crashes it in such a way that it will not respond
to any DI commands, it will not eject your disc, and it will not take in any discs
until the next DI_Reset. DI_Mount might fail if used after this function!
I have included this function because people might have a use for it. Like it
says in the source, I am not responsible if someone's drive does actually die
from usage of this function.


Known bugs:

Currently, if you do a DI_Init(), and then return to HBC without a disc ever being inserted,
your program will hang until a disc is inserted. If anyone has a nice solution, I'd
love to hear it.

Erant






- Source: [HackMii]


Download


[attachment=2073]

[attachment=2074]

impressive work - good to see some stuff coming out of the Wiibrew scene.

So...... Mplayer............ for DVDs?? Mplayer should be able to play many DVD Formats~
Mplayer for Wii up untill now couldn't play DVD's.  The files that are flashed are required, and it will only work with MPlayer.  This is still in the beta stages of development, more updates will some.  Plus this will keep in the movement towards a back up loader.

Thread updated more lots more info :)
zllaBoYoY Wrote:Note, this is not a back up loader

good thing you said that. i was gonna ask that too :P
KiNg_TD Wrote:
zllaBoYoY Wrote:Note, this is not a back up loader

good thing you said that. i was gonna ask that too :P


Yeah I had to say that first before I got a bunch of questions :)
this is great man i just wish i could get it going.i can't seem to get my cards to format using the card reader on my laptop.it will do it with my 16 mb card but that's not big enough to hold anything and i also have two 2 gb ones that i just can't seem to get to work.nice though i can see backups coming closer now.
Your 16mb card would be enough to install this and run MPlayer.  but yeah that's odd that your labtop won't reformat your card, does you Wii read your 2gb SD card?  You might not even need to reformat it unless you have it formated to some weird format.
yes the wii reads them so does the camera and card reader but i just can't write to them.i thought it mite be a driver issue so i looked for the latest and installed but still no go.im not sure what's up i can usually fix things by now but still no go
Reference URL's