/dev/odm

From WiiUBrew
Jump to navigation Jump to search

/dev/odm can be used to communicate with the disc drive. Once opened, ioctl() requests can be issued to the interface, which are documented below.

ioctl() interface

0x00 - Unknown

Calls odmMethodStartStopUnit.

0x01 - Unknown

Calls odmMethodStartStopUnit in a loop.

0x02 - ODMAwakeMotor()

0x03 - Unknown

0x04 - ODMGetDriveState()

0x05 - ODMControlMotor(buffer_io[0] = command)

command: 1 = MOTOR_START; 2 = MOTOR_STOP;

0x06 - ODMGetDiscUniqueCode(buffer_io[0] = type)

type: 1 = Disc serial ID; 2 = UNKNOWN;

0x07 - ODMGetRvlDiscRegion()

0x08 - ODMFrecRead()

0x09 - ODMFrecWriteOneSection()

0x0A - ODMFrecEmuDirtyData()

0x0B - ODMCleanDrive()