In memory of Ben “bushing” Byer, who passed away on Monday, February 8th, 2016.

/dev/di: Difference between revisions

From WiiBrew
Jump to navigation Jump to search
m Removing "Pages that confuse the wiki with a pastebin" category
Dsbomb (talk | contribs)
mNo edit summary
Line 13: Line 13:
  ios_ioctl( di_fd, inbuf[0x00], inbuf, 0x20, outbuf, 0x20);
  ios_ioctl( di_fd, inbuf[0x00], inbuf, 0x20, outbuf, 0x20);
  (Actual DVD error code is returned in (u32*)outbuf)[0x00])
  (Actual DVD error code is returned in (u32*)outbuf)[0x00])
  Identical to the error codes found in yagcd (so far).
  Identical to the error codes found in yagcd section 5.7.3.5.1 (so far).


  DVDLowRead (Only works after DVDOpenPartition)
  DVDLowRead (Only works after DVDOpenPartition)

Revision as of 12:36, 15 April 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 section 5.7.3.5.1 (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);