Difference between revisions of "/dev/di"
< /dev
Jump to navigation
Jump to search
m (subject/verb agreement) |
BigRedPimp (talk | contribs) m (Removing "Pages that confuse the wiki with a pastebin" category) |
||
Line 41: | Line 41: | ||
((u32*)inbuf)[0x00] = 0x70000000; | ((u32*)inbuf)[0x00] = 0x70000000; | ||
ios_ioctl( di_fd, inbuf[0x00], inbuf, 0x20, dst, 0x20); | ios_ioctl( di_fd, inbuf[0x00], inbuf, 0x20, dst, 0x20); | ||
− | [[Category:IOS API documentation]] [[Category:Ugly pages | + | [[Category:IOS API documentation]] [[Category:Ugly pages]] [[Category:API documentation that doesn't explain how to use the API]] |
Revision as of 17:01, 27 March 2008
Through /dev/di you can control the DVD.
The inbuf size of all /dev/di IOS cmds must be 0x20
The first entry of the inbuf should(!) be the DI cmd, Starlet fixes it if it doesn't match.
DVDLowGetCoverStatus ios_ioctl( di_fd, 0x88, inbuf, 0x20, outbuf, 0x20);
DVDLowRequestError ((u32*)inbuf)[0x00] = 0xE0000000; ios_ioctl( di_fd, inbuf[0x00], inbuf, 0x20, outbuf, 0x20); (Actual DVD error code is returned in (u32*)outbuf)[0x00]) Identical to the error codes found in yagcd (so far).
DVDLowRead (Only works after DVDOpenPartition) ((u32*)inbuf)[0x00] = 0xD0000000; ((u32*)inbuf)[0x01] = size; ((u32*)inbuf)[0x02] = offset; ios_ioctl( di_fd, inbuf[0x00] ,inbuf, 0x20, dst, size);
DVDLowUnencryptedRead (Only works up to a certain offset) ((u32*)inbuf)[0x00] = 0x8D000000; ((u32*)inbuf)[0x01] = size; ((u32*)inbuf)[0x02] = offset; ios_ioctl( di_fd, inbuf[0x00], inbuf, 0x20, dst, size);
DVDLowStopMotor ((u32*)inbuf)[0x00] = 0xE3000000; ((u32*)inbuf)[0x01] = 0; // optional, unknown ((u32*)inbuf)[0x02] = 0; // optional, unknown ios_ioctl( di_fd, inbuf[0x00], inbuf, 0x20, outbuf, 0x20);
DVDLowReset ((u32*)inbuf)[0x00] = 0x8A000000; ((u32*)inbuf)[0x01] = 0x80000000; // not sure about that ios_ioctl( di_fd, inbuf[0x00], inbuf, 0x20, outbuf, 0x20);
DVDLowReadDiskID ((u32*)inbuf)[0x00] = 0x70000000; ios_ioctl( di_fd, inbuf[0x00], inbuf, 0x20, dst, 0x20);