Twilight Princess
Decompilation of The Legend of Zelda: Twilight Princess
All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Modules Pages
dvd.c File Reference

Functions

void __DVDPrintFatalMessage ()
 
int DVDCompareDiskID (const struct DVDDiskID *id1, const struct DVDDiskID *id2)
 
int __DVDLowTestAlarm (const OSAlarm *alarm)
 
static void defaultOptionalCommandChecker (DVDCommandBlock *, DVDCommandCheckerCallback)
 
static void stateReadingFST ()
 
static void cbForStateReadingFST (u32 intType)
 
static void cbForStateError (u32 intType)
 
static void stateError (u32 error)
 
static void stateTimeout ()
 
static void stateGettingError ()
 
static u32 CategorizeError (u32 error)
 
static BOOL CheckCancel (u32 resume)
 
static void cbForStateGettingError (u32 intType)
 
static void cbForUnrecoveredError (u32 intType)
 
static void cbForUnrecoveredErrorRetry (u32 intType)
 
static void stateGoToRetry ()
 
static void cbForStateGoToRetry (u32 intType)
 
static void stateCheckID ()
 
static void stateCheckID3 ()
 
static void stateCheckID2a ()
 
static void stateCheckID2 ()
 
static void cbForStateCheckID1 (u32 intType)
 
static void cbForStateCheckID2 (u32 intType)
 
static void cbForStateCheckID3 (u32 intType)
 
static void cbForStateCheckID2a (u32 intType)
 
static void AlarmHandler (OSAlarm *alarm, OSContext *context)
 
static void stateCoverClosed ()
 
static void stateCoverClosed_CMD (DVDCommandBlock *command)
 
static void cbForStateCoverClosed (u32 intType)
 
static void stateMotorStopped ()
 
static void cbForStateMotorStopped (u32 intType)
 
static void stateReady ()
 
static void stateBusy (DVDCommandBlock *block)
 
static BOOL IsImmCommandWithResult (u32 command)
 
static int IsDmaCommand (u32 command)
 
static void cbForStateBusy (u32 intType)
 
static int issueCommand (s32 prio, DVDCommandBlock *block)
 
static void cbForCancelStreamSync (s32 result, DVDCommandBlock *block)
 
static void cbForStopStreamAtEndSync (s32 result, DVDCommandBlock *block)
 
static void cbForGetStreamErrorStatusSync (s32 result, DVDCommandBlock *block)
 
static void cbForGetStreamPlayAddrSync (s32 result, DVDCommandBlock *block)
 
static void cbForGetStreamStartAddrSync (s32 result, DVDCommandBlock *block)
 
static void cbForGetStreamLengthSync (s32 result, DVDCommandBlock *block)
 
static void cbForChangeDiskSync (s32 result, DVDCommandBlock *block)
 
static void cbForStopMotorSync (s32 result, DVDCommandBlock *block)
 
static void cbForInquirySync (s32 result, DVDCommandBlock *block)
 
static void cbForCancelSync (s32 result, DVDCommandBlock *block)
 
static void cbForCancelAllSync (s32 result, DVDCommandBlock *block)
 
DVDCommandChecker __DVDSetOptionalCommandChecker (DVDCommandChecker func)
 
void DVDInit (void)
 
void __DVDSetImmCommand (u32 command)
 
void __DVDSetDmaCommand (u32 command)
 
void * __DVDGetIssueCommandAddr (void)
 
int DVDReadAbsAsyncPrio (DVDCommandBlock *block, void *addr, s32 length, s32 offset, DVDCBCallback callback, s32 prio)
 
int DVDSeekAbsAsyncPrio (DVDCommandBlock *block, s32 offset, DVDCBCallback callback, s32 prio)
 
int DVDReadAbsAsyncForBS (DVDCommandBlock *block, void *addr, s32 length, s32 offset, DVDCBCallback callback)
 
int DVDReadDiskID (DVDCommandBlock *block, DVDDiskID *diskID, DVDCBCallback callback)
 
int DVDPrepareStreamAbsAsync (DVDCommandBlock *block, u32 length, u32 offset, DVDCBCallback callback)
 
int DVDCancelStreamAsync (DVDCommandBlock *block, DVDCBCallback callback)
 
s32 DVDCancelStream (DVDCommandBlock *block)
 
int DVDStopStreamAtEndAsync (DVDCommandBlock *block, DVDCBCallback callback)
 
s32 DVDStopStreamAtEnd (DVDCommandBlock *block)
 
int DVDGetStreamErrorStatusAsync (DVDCommandBlock *block, DVDCBCallback callback)
 
s32 DVDGetStreamErrorStatus (DVDCommandBlock *block)
 
int DVDGetStreamPlayAddrAsync (DVDCommandBlock *block, DVDCBCallback callback)
 
s32 DVDGetStreamPlayAddr (DVDCommandBlock *block)
 
int DVDGetStreamStartAddrAsync (DVDCommandBlock *block, DVDCBCallback callback)
 
s32 DVDGetStreamStartAddr (DVDCommandBlock *block)
 
int DVDGetStreamLengthAsync (DVDCommandBlock *block, DVDCBCallback callback)
 
s32 DVDGetStreamLength (DVDCommandBlock *block)
 
void __DVDAudioBufferConfig (DVDCommandBlock *block, u32 enable, u32 size, DVDCBCallback callback)
 
int DVDChangeDiskAsyncForBS (DVDCommandBlock *block, DVDCBCallback callback)
 
int DVDChangeDiskAsync (DVDCommandBlock *block, DVDDiskID *id, DVDCBCallback callback)
 
s32 DVDChangeDisk (DVDCommandBlock *block, DVDDiskID *id)
 
int DVDStopMotorAsync (DVDCommandBlock *block, DVDCBCallback callback)
 
s32 DVDStopMotor (DVDCommandBlock *block)
 
int DVDInquiryAsync (DVDCommandBlock *block, DVDDriveInfo *info, DVDCBCallback callback)
 
s32 DVDInquiry (DVDCommandBlock *block, DVDDriveInfo *info)
 
void DVDReset (void)
 
int DVDResetRequired (void)
 
s32 DVDGetCommandBlockStatus (const DVDCommandBlock *block)
 
s32 DVDGetDriveStatus (void)
 
BOOL DVDSetAutoInvalidation (BOOL autoInval)
 
void DVDPause (void)
 
void DVDResume (void)
 
int DVDCancelAsync (DVDCommandBlock *block, DVDCBCallback callback)
 
s32 DVDCancel (volatile DVDCommandBlock *block)
 
int DVDCancelAllAsync (DVDCBCallback callback)
 
s32 DVDCancelAll (void)
 
DVDDiskIDDVDGetCurrentDiskID (void)
 
BOOL DVDCheckDisk (void)
 
void __DVDPrepareResetAsync (DVDCBCallback callback)
 
int __DVDTestAlarm (const OSAlarm *alarm)
 

Variables

const char * __DVDVersion = "<< Dolphin SDK - DVD\tdebug build: Apr 5 2004 03:56:07 (0x2301) >>"
 
static BOOL autoInvalidation = TRUE
 
static DVDCommandChecker checkOptionalCommand = defaultOptionalCommandChecker
 
static DVDBB2 BB2
 
static DVDDiskID CurrDiskID
 
static DVDCommandBlock DummyCommandBlock
 
static OSAlarm ResetAlarm
 
static DVDCommandBlockexecuting
 
static DVDDiskIDIDShouldBe
 
static OSBootInfobootInfo
 
static volatile int PauseFlag
 
static volatile int PausingFlag
 
static int AutoFinishing
 
static BOOL FatalErrorFlag
 
static volatile u32 CurrCommand
 
static volatile u32 Canceling
 
static void(* CancelCallback )(s32, DVDCommandBlock *)
 
static volatile u32 ResumeFromHere
 
static volatile u32 CancelLastError
 
static u32 LastError
 
static volatile s32 NumInternalRetry
 
static int ResetRequired
 
static int CancelAllSyncComplete
 
static volatile u32 ResetCount
 
static BOOL FirstTimeInBootrom
 
static u32 MotorState
 
static int DVDInitialized
 
void(* LastState )(DVDCommandBlock *)
 
static u32 DmaCommand [1] = {0xFFFFFFFF}
 
static u32 ImmCommand [3] = {0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF}
 

Function Documentation

◆ __DVDAudioBufferConfig()

void __DVDAudioBufferConfig ( DVDCommandBlock * block,
u32 enable,
u32 size,
DVDCBCallback callback )

◆ __DVDGetIssueCommandAddr()

void * __DVDGetIssueCommandAddr ( void )

◆ __DVDLowTestAlarm()

int __DVDLowTestAlarm ( const OSAlarm * alarm)
extern

◆ __DVDPrepareResetAsync()

void __DVDPrepareResetAsync ( DVDCBCallback callback)

◆ __DVDPrintFatalMessage()

void __DVDPrintFatalMessage ( )
extern

◆ __DVDSetDmaCommand()

void __DVDSetDmaCommand ( u32 command)

◆ __DVDSetImmCommand()

void __DVDSetImmCommand ( u32 command)

◆ __DVDSetOptionalCommandChecker()

DVDCommandChecker __DVDSetOptionalCommandChecker ( DVDCommandChecker func)

◆ __DVDTestAlarm()

int __DVDTestAlarm ( const OSAlarm * alarm)

◆ AlarmHandler()

static void AlarmHandler ( OSAlarm * alarm,
OSContext * context )
static

◆ CategorizeError()

static u32 CategorizeError ( u32 error)
static

◆ cbForCancelAllSync()

static void cbForCancelAllSync ( s32 result,
DVDCommandBlock * block )
static

◆ cbForCancelStreamSync()

static void cbForCancelStreamSync ( s32 result,
DVDCommandBlock * block )
static

◆ cbForCancelSync()

static void cbForCancelSync ( s32 result,
DVDCommandBlock * block )
static

◆ cbForChangeDiskSync()

static void cbForChangeDiskSync ( s32 result,
DVDCommandBlock * block )
static

◆ cbForGetStreamErrorStatusSync()

static void cbForGetStreamErrorStatusSync ( s32 result,
DVDCommandBlock * block )
static

◆ cbForGetStreamLengthSync()

static void cbForGetStreamLengthSync ( s32 result,
DVDCommandBlock * block )
static

◆ cbForGetStreamPlayAddrSync()

static void cbForGetStreamPlayAddrSync ( s32 result,
DVDCommandBlock * block )
static

◆ cbForGetStreamStartAddrSync()

static void cbForGetStreamStartAddrSync ( s32 result,
DVDCommandBlock * block )
static

◆ cbForInquirySync()

static void cbForInquirySync ( s32 result,
DVDCommandBlock * block )
static

◆ cbForStateBusy()

static void cbForStateBusy ( u32 intType)
static

◆ cbForStateCheckID1()

static void cbForStateCheckID1 ( u32 intType)
static

◆ cbForStateCheckID2()

static void cbForStateCheckID2 ( u32 intType)
static

◆ cbForStateCheckID2a()

static void cbForStateCheckID2a ( u32 intType)
static

◆ cbForStateCheckID3()

static void cbForStateCheckID3 ( u32 intType)
static

◆ cbForStateCoverClosed()

static void cbForStateCoverClosed ( u32 intType)
static

◆ cbForStateError()

static void cbForStateError ( u32 intType)
static

◆ cbForStateGettingError()

static void cbForStateGettingError ( u32 intType)
static

◆ cbForStateGoToRetry()

static void cbForStateGoToRetry ( u32 intType)
static

◆ cbForStateMotorStopped()

static void cbForStateMotorStopped ( u32 intType)
static

◆ cbForStateReadingFST()

static void cbForStateReadingFST ( u32 intType)
static

◆ cbForStopMotorSync()

static void cbForStopMotorSync ( s32 result,
DVDCommandBlock * block )
static

◆ cbForStopStreamAtEndSync()

static void cbForStopStreamAtEndSync ( s32 result,
DVDCommandBlock * block )
static

◆ cbForUnrecoveredError()

static void cbForUnrecoveredError ( u32 intType)
static

◆ cbForUnrecoveredErrorRetry()

static void cbForUnrecoveredErrorRetry ( u32 intType)
static

◆ CheckCancel()

static BOOL CheckCancel ( u32 resume)
static

◆ defaultOptionalCommandChecker()

static void defaultOptionalCommandChecker ( DVDCommandBlock * ,
DVDCommandCheckerCallback  )
static

◆ DVDCancel()

s32 DVDCancel ( volatile DVDCommandBlock * block)

◆ DVDCancelAll()

s32 DVDCancelAll ( void )

◆ DVDCancelAllAsync()

int DVDCancelAllAsync ( DVDCBCallback callback)

◆ DVDCancelAsync()

int DVDCancelAsync ( DVDCommandBlock * block,
DVDCBCallback callback )

◆ DVDCancelStream()

s32 DVDCancelStream ( DVDCommandBlock * block)

◆ DVDCancelStreamAsync()

int DVDCancelStreamAsync ( DVDCommandBlock * block,
DVDCBCallback callback )

◆ DVDChangeDisk()

s32 DVDChangeDisk ( DVDCommandBlock * block,
DVDDiskID * id )

◆ DVDChangeDiskAsync()

int DVDChangeDiskAsync ( DVDCommandBlock * block,
DVDDiskID * id,
DVDCBCallback callback )

◆ DVDChangeDiskAsyncForBS()

int DVDChangeDiskAsyncForBS ( DVDCommandBlock * block,
DVDCBCallback callback )

◆ DVDCheckDisk()

BOOL DVDCheckDisk ( void )

◆ DVDCompareDiskID()

int DVDCompareDiskID ( const struct DVDDiskID * id1,
const struct DVDDiskID * id2 )
extern

◆ DVDGetCommandBlockStatus()

s32 DVDGetCommandBlockStatus ( const DVDCommandBlock * block)

◆ DVDGetCurrentDiskID()

DVDDiskID * DVDGetCurrentDiskID ( void )

◆ DVDGetDriveStatus()

s32 DVDGetDriveStatus ( void )

◆ DVDGetStreamErrorStatus()

s32 DVDGetStreamErrorStatus ( DVDCommandBlock * block)

◆ DVDGetStreamErrorStatusAsync()

int DVDGetStreamErrorStatusAsync ( DVDCommandBlock * block,
DVDCBCallback callback )

◆ DVDGetStreamLength()

s32 DVDGetStreamLength ( DVDCommandBlock * block)

◆ DVDGetStreamLengthAsync()

int DVDGetStreamLengthAsync ( DVDCommandBlock * block,
DVDCBCallback callback )

◆ DVDGetStreamPlayAddr()

s32 DVDGetStreamPlayAddr ( DVDCommandBlock * block)

◆ DVDGetStreamPlayAddrAsync()

int DVDGetStreamPlayAddrAsync ( DVDCommandBlock * block,
DVDCBCallback callback )

◆ DVDGetStreamStartAddr()

s32 DVDGetStreamStartAddr ( DVDCommandBlock * block)

◆ DVDGetStreamStartAddrAsync()

int DVDGetStreamStartAddrAsync ( DVDCommandBlock * block,
DVDCBCallback callback )

◆ DVDInit()

void DVDInit ( void )

◆ DVDInquiry()

s32 DVDInquiry ( DVDCommandBlock * block,
DVDDriveInfo * info )

◆ DVDInquiryAsync()

int DVDInquiryAsync ( DVDCommandBlock * block,
DVDDriveInfo * info,
DVDCBCallback callback )

◆ DVDPause()

void DVDPause ( void )

◆ DVDPrepareStreamAbsAsync()

int DVDPrepareStreamAbsAsync ( DVDCommandBlock * block,
u32 length,
u32 offset,
DVDCBCallback callback )

◆ DVDReadAbsAsyncForBS()

int DVDReadAbsAsyncForBS ( DVDCommandBlock * block,
void * addr,
s32 length,
s32 offset,
DVDCBCallback callback )

◆ DVDReadAbsAsyncPrio()

int DVDReadAbsAsyncPrio ( DVDCommandBlock * block,
void * addr,
s32 length,
s32 offset,
DVDCBCallback callback,
s32 prio )

◆ DVDReadDiskID()

int DVDReadDiskID ( DVDCommandBlock * block,
DVDDiskID * diskID,
DVDCBCallback callback )

◆ DVDReset()

void DVDReset ( void )

◆ DVDResetRequired()

int DVDResetRequired ( void )

◆ DVDResume()

void DVDResume ( void )

◆ DVDSeekAbsAsyncPrio()

int DVDSeekAbsAsyncPrio ( DVDCommandBlock * block,
s32 offset,
DVDCBCallback callback,
s32 prio )

◆ DVDSetAutoInvalidation()

BOOL DVDSetAutoInvalidation ( BOOL autoInval)

◆ DVDStopMotor()

s32 DVDStopMotor ( DVDCommandBlock * block)

◆ DVDStopMotorAsync()

int DVDStopMotorAsync ( DVDCommandBlock * block,
DVDCBCallback callback )

◆ DVDStopStreamAtEnd()

s32 DVDStopStreamAtEnd ( DVDCommandBlock * block)

◆ DVDStopStreamAtEndAsync()

int DVDStopStreamAtEndAsync ( DVDCommandBlock * block,
DVDCBCallback callback )

◆ IsDmaCommand()

static int IsDmaCommand ( u32 command)
static

◆ IsImmCommandWithResult()

static BOOL IsImmCommandWithResult ( u32 command)
static

◆ issueCommand()

static int issueCommand ( s32 prio,
DVDCommandBlock * block )
static

◆ stateBusy()

static void stateBusy ( DVDCommandBlock * block)
static

◆ stateCheckID()

static void stateCheckID ( )
static

◆ stateCheckID2()

static void stateCheckID2 ( )
static

◆ stateCheckID2a()

static void stateCheckID2a ( )
static

◆ stateCheckID3()

static void stateCheckID3 ( )
static

◆ stateCoverClosed()

static void stateCoverClosed ( )
static

◆ stateCoverClosed_CMD()

static void stateCoverClosed_CMD ( DVDCommandBlock * command)
static

◆ stateError()

static void stateError ( u32 error)
static

◆ stateGettingError()

static void stateGettingError ( )
static

◆ stateGoToRetry()

static void stateGoToRetry ( )
static

◆ stateMotorStopped()

static void stateMotorStopped ( )
static

◆ stateReadingFST()

static void stateReadingFST ( )
static

◆ stateReady()

static void stateReady ( )
static

◆ stateTimeout()

static void stateTimeout ( )
static

Variable Documentation

◆ __DVDVersion

const char * __DVDVersion = "<< Dolphin SDK - DVD\tdebug build: Apr 5 2004 03:56:07 (0x2301) >>"

◆ AutoFinishing

int AutoFinishing
static

◆ autoInvalidation

BOOL autoInvalidation = TRUE
static

◆ BB2

DVDBB2 BB2
static

◆ bootInfo

OSBootInfo* bootInfo
static

◆ CancelAllSyncComplete

int CancelAllSyncComplete
static

◆ CancelCallback

void(* CancelCallback) (s32, DVDCommandBlock *) ( s32 ,
DVDCommandBlock *  )
static

◆ Canceling

volatile u32 Canceling
static

◆ CancelLastError

volatile u32 CancelLastError
static

◆ checkOptionalCommand

DVDCommandChecker checkOptionalCommand = defaultOptionalCommandChecker
static

◆ CurrCommand

volatile u32 CurrCommand
static

◆ CurrDiskID

DVDDiskID CurrDiskID
static

◆ DmaCommand

u32 DmaCommand[1] = {0xFFFFFFFF}
static

◆ DummyCommandBlock

DVDCommandBlock DummyCommandBlock
static

◆ DVDInitialized

int DVDInitialized
static

◆ executing

DVDCommandBlock* executing
static

◆ FatalErrorFlag

BOOL FatalErrorFlag
static

◆ FirstTimeInBootrom

BOOL FirstTimeInBootrom
static

◆ IDShouldBe

DVDDiskID* IDShouldBe
static

◆ ImmCommand

u32 ImmCommand[3] = {0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF}
static

◆ LastError

u32 LastError
static

◆ LastState

void(* LastState) (DVDCommandBlock *) ( DVDCommandBlock * )

◆ MotorState

u32 MotorState
static

◆ NumInternalRetry

volatile s32 NumInternalRetry
static

◆ PauseFlag

volatile int PauseFlag
static

◆ PausingFlag

volatile int PausingFlag
static

◆ ResetAlarm

OSAlarm ResetAlarm
static

◆ ResetCount

volatile u32 ResetCount
static

◆ ResetRequired

int ResetRequired
static

◆ ResumeFromHere

volatile u32 ResumeFromHere
static