Twilight Princess
Decompilation of The Legend of Zelda: Twilight Princess
Loading...
Searching...
No Matches
dvd.c File Reference

Typedefs

typedef void(* stateFunc) (DVDCommandBlock *block)
 

Functions

static u32 __DVDNumTmdBytes ATTRIBUTE_ALIGN (32)
 
static void defaultOptionalCommandChecker (DVDCommandBlock *, DVDCommandCheckerCallback)
 
static void stateDownRotation (DVDCommandBlock *)
 
static void stateReadingTOC (DVDCommandBlock *)
 
static void stateReadingPartitionInfo (DVDCommandBlock *block)
 
static void stateOpenPartition (DVDCommandBlock *block)
 
static void stateOpenPartition2 (DVDCommandBlock *block)
 
static void stateReadingFST ()
 
static void cbForStateReadingFST (u32 intType)
 
static void cbForStateError (u32 intType)
 
static void stateError (u32 error)
 
static void stateTimeout ()
 
static void stateSecurityError (void)
 
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 (DVDCommandBlock *block)
 
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 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)
 
static void cbForStateOpenPartition (u32 intType)
 
static void cbForStateReset (u32 intType)
 
static void cbForStateDownRotation (u32 intType)
 
DECL_WEAK void StampCommand (u32 command, u32 offset, u32 length)
 
void StampIntType (u32 intType)
 
DVDCommandChecker __DVDSetOptionalCommandChecker (DVDCommandChecker func)
 
void DVDInit (void)
 
static void FatalAlarmHandler (OSAlarm *alarm, OSContext *context)
 
static void cbForStoreErrorCode1 (s32 result, DVDCommandBlock *block)
 
static void cbForStoreErrorCode2 (s32 result, DVDCommandBlock *block)
 
static void cbForStoreErrorCode3 (s32 result, DVDCommandBlock *block)
 
static void cbForStateReadingTOC (u32 intType)
 
static void cbForStateReadingPartitionInfo (u32 intType)
 
static void cbForStateOpenPartition2 (u32 intType)
 
static void ResetAlarmHandler (OSAlarm *alarm, OSContext *context)
 
static void cbForPrepareCoverRegister (u32 intType)
 
static void CoverAlarmHandler (OSAlarm *alarm, OSContext *context)
 
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)
 
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 (DVDCommandBlock *block)
 
int DVDCancelAllAsync (DVDCBCallback callback)
 
s32 DVDCancelAll (void)
 
DVDDiskIDDVDGetCurrentDiskID (void)
 
static void __BS2DVDLowCallback (u32 type)
 
u32 __DVDGetCoverStatus (void)
 
BOOL DVDCheckDiskAsync (DVDCommandBlock *block, DVDCBCallback callback)
 
void DVDPrepareDisk ()
 
void DVDPrepareDiskAsync ()
 
BOOL DVDCheckDisk (void)
 
void __DVDPrepareResetAsync (DVDCBCallback callback)
 
static void Callback (s32 result, DVDCommandBlock *block)
 
void __DVDPrepareReset (void)
 
int __DVDTestAlarm (const OSAlarm *alarm)
 
BOOL __DVDLowBreak (void)
 
BOOL __DVDStopMotorAsync (void)
 
void __DVDRestartMotor (void)
 

Variables

DVDErrorInfo __ErrorInfo
 
const char * __DVDVersion = "<< RVL_SDK - DVD \tdebug build: "BUILD_DATE" "BUILD_TIME" (0x4302_145) >>"
 
stateFunc LastState
 
static DVDCommandBlockexecuting
 
static DVDDiskIDIDShouldBe
 
static OSBootInfobootInfo
 
static vu32 CurrCommand
 
static void(* CancelCallback )(s32, DVDCommandBlock *)
 
static vu32 CancelLastError
 
static u32 LastError
 
static BOOL ResetRequired
 
static u32 MotorState
 
static volatile OSTime LastResetEnd
 
static DVDGameTOCGameToc
 
static DVDPartitionInfoPartInfo
 
static DVDPartitionInfoBootGameInfo
 
static volatile BOOL Prepared
 
static vu32 __BS2DVDLowIntType
 
static int DVDInitialized
 
vu32 __DVDLayoutFormat
 
static volatile BOOL PreparingCover
 
static vu32 ChangedDisc
 
static vu32 MotorStopped
 
static vu32 WaitingForCoverClose
 
static vu32 WaitingForCoverOpen
 
static vu32 Breaking
 
static BOOL FirstTimeInBootrom
 
static vs32 NumInternalRetry
 
static vu32 ResumeFromHere
 
static vu32 Canceling
 
static BOOL FatalErrorFlag
 
static volatile BOOL PausingFlag
 
static volatile BOOL PauseFlag
 
static BOOL autoInvalidation = TRUE
 
static int CancelAllSyncComplete
 
volatile u32 CommandInfoCounter = 0
 
static DVDCommandChecker checkOptionalCommand = defaultOptionalCommandChecker
 
static DVDBB2 BB2
 
static DVDDiskID CurrDiskID
 
static DVDCommandBlock DummyCommandBlock
 
static OSAlarm ResetAlarm
 
static OSAlarm CoverAlarm
 
static OSAlarm FatalAlarm
 
DVDCommandBlock __DVDStopMotorCommandBlock
 
static u32 DmaCommand [1] = {0xFFFFFFFF}
 
static ESTitleMetaTmd
 
static u32 ImmCommand [3] = {0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF}
 

Typedef Documentation

◆ stateFunc

typedef void(* stateFunc) (DVDCommandBlock *block)

Function Documentation

◆ __BS2DVDLowCallback()

static void __BS2DVDLowCallback ( u32 type)
static

◆ __DVDAudioBufferConfig()

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

◆ __DVDGetCoverStatus()

u32 __DVDGetCoverStatus ( void )

◆ __DVDGetIssueCommandAddr()

void * __DVDGetIssueCommandAddr ( void )

◆ __DVDLowBreak()

BOOL __DVDLowBreak ( void )

◆ __DVDPrepareReset()

void __DVDPrepareReset ( void )

◆ __DVDPrepareResetAsync()

void __DVDPrepareResetAsync ( DVDCBCallback callback)

◆ __DVDRestartMotor()

void __DVDRestartMotor ( void )

◆ __DVDSetDmaCommand()

void __DVDSetDmaCommand ( u32 command)

◆ __DVDSetImmCommand()

void __DVDSetImmCommand ( u32 command)

◆ __DVDSetOptionalCommandChecker()

DVDCommandChecker __DVDSetOptionalCommandChecker ( DVDCommandChecker func)

◆ __DVDStopMotorAsync()

BOOL __DVDStopMotorAsync ( void )

◆ __DVDTestAlarm()

int __DVDTestAlarm ( const OSAlarm * alarm)

◆ AlarmHandler()

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

◆ ATTRIBUTE_ALIGN()

static u32 __DVDNumTmdBytes ATTRIBUTE_ALIGN ( 32 )
static

◆ Callback()

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

◆ CategorizeError()

static u32 CategorizeError ( u32 error)
static

◆ cbForCancelAllSync()

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

◆ cbForCancelSync()

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

◆ cbForChangeDiskSync()

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

◆ cbForInquirySync()

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

◆ cbForPrepareCoverRegister()

static void cbForPrepareCoverRegister ( u32 intType)
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

◆ cbForStateDownRotation()

static void cbForStateDownRotation ( 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

◆ cbForStateOpenPartition()

static void cbForStateOpenPartition ( u32 intType)
static

◆ cbForStateOpenPartition2()

static void cbForStateOpenPartition2 ( u32 intType)
static

◆ cbForStateReadingFST()

static void cbForStateReadingFST ( u32 intType)
static

◆ cbForStateReadingPartitionInfo()

static void cbForStateReadingPartitionInfo ( u32 intType)
static

◆ cbForStateReadingTOC()

static void cbForStateReadingTOC ( u32 intType)
static

◆ cbForStateReset()

static void cbForStateReset ( u32 intType)
static

◆ cbForStopMotorSync()

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

◆ cbForStoreErrorCode1()

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

◆ cbForStoreErrorCode2()

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

◆ cbForStoreErrorCode3()

static void cbForStoreErrorCode3 ( 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

◆ CoverAlarmHandler()

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

◆ defaultOptionalCommandChecker()

static void defaultOptionalCommandChecker ( DVDCommandBlock * ,
DVDCommandCheckerCallback  )
static

◆ DVDCancel()

s32 DVDCancel ( DVDCommandBlock * block)

◆ DVDCancelAll()

s32 DVDCancelAll ( void )

◆ DVDCancelAllAsync()

int DVDCancelAllAsync ( DVDCBCallback callback)

◆ DVDCancelAsync()

int DVDCancelAsync ( 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 )

◆ DVDCheckDiskAsync()

BOOL DVDCheckDiskAsync ( DVDCommandBlock * block,
DVDCBCallback callback )

◆ DVDGetCommandBlockStatus()

s32 DVDGetCommandBlockStatus ( const DVDCommandBlock * block)

◆ DVDGetCurrentDiskID()

DVDDiskID * DVDGetCurrentDiskID ( void )

◆ DVDGetDriveStatus()

s32 DVDGetDriveStatus ( void )

◆ DVDInit()

void DVDInit ( void )

◆ DVDInquiry()

s32 DVDInquiry ( DVDCommandBlock * block,
DVDDriveInfo * info )

◆ DVDInquiryAsync()

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

◆ DVDPause()

void DVDPause ( void )

◆ DVDPrepareDisk()

void DVDPrepareDisk ( )

◆ DVDPrepareDiskAsync()

void DVDPrepareDiskAsync ( )

◆ 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 )

◆ FatalAlarmHandler()

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

◆ IsDmaCommand()

static int IsDmaCommand ( u32 command)
static

◆ IsImmCommandWithResult()

static BOOL IsImmCommandWithResult ( u32 command)
static

◆ issueCommand()

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

◆ ResetAlarmHandler()

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

◆ StampCommand()

DECL_WEAK void StampCommand ( u32 command,
u32 offset,
u32 length )

◆ StampIntType()

void StampIntType ( u32 intType)

◆ stateBusy()

static void stateBusy ( DVDCommandBlock * block)
static

◆ stateCheckID()

static void stateCheckID ( )
static

◆ stateCheckID2()

static void stateCheckID2 ( DVDCommandBlock * block)
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

◆ stateDownRotation()

static void stateDownRotation ( DVDCommandBlock * block)
static

◆ stateError()

static void stateError ( u32 error)
static

◆ stateGettingError()

static void stateGettingError ( )
static

◆ stateGoToRetry()

static void stateGoToRetry ( )
static

◆ stateMotorStopped()

static void stateMotorStopped ( )
static

◆ stateOpenPartition()

static void stateOpenPartition ( DVDCommandBlock * block)
static

◆ stateOpenPartition2()

static void stateOpenPartition2 ( DVDCommandBlock * block)
static

◆ stateReadingFST()

static void stateReadingFST ( )
static

◆ stateReadingPartitionInfo()

static void stateReadingPartitionInfo ( DVDCommandBlock * block)
static

◆ stateReadingTOC()

static void stateReadingTOC ( DVDCommandBlock * block)
static

◆ stateReady()

static void stateReady ( )
static

◆ stateSecurityError()

static void stateSecurityError ( void )
static

◆ stateTimeout()

static void stateTimeout ( )
static

Variable Documentation

◆ __BS2DVDLowIntType

vu32 __BS2DVDLowIntType
static

◆ __DVDLayoutFormat

vu32 __DVDLayoutFormat

◆ __DVDStopMotorCommandBlock

DVDCommandBlock __DVDStopMotorCommandBlock

◆ __DVDVersion

const char* __DVDVersion = "<< RVL_SDK - DVD \tdebug build: "BUILD_DATE" "BUILD_TIME" (0x4302_145) >>"

◆ __ErrorInfo

DVDErrorInfo __ErrorInfo
extern

◆ autoInvalidation

BOOL autoInvalidation = TRUE
static

◆ BB2

DVDBB2 BB2
static

◆ BootGameInfo

DVDPartitionInfo* BootGameInfo
static

◆ bootInfo

OSBootInfo* bootInfo
static

◆ Breaking

vu32 Breaking
static

◆ CancelAllSyncComplete

int CancelAllSyncComplete
static

◆ CancelCallback

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

◆ Canceling

vu32 Canceling
static

◆ CancelLastError

vu32 CancelLastError
static

◆ ChangedDisc

vu32 ChangedDisc
static

◆ checkOptionalCommand

DVDCommandChecker checkOptionalCommand = defaultOptionalCommandChecker
static

◆ CommandInfoCounter

volatile u32 CommandInfoCounter = 0

◆ CoverAlarm

OSAlarm CoverAlarm
static

◆ CurrCommand

vu32 CurrCommand
static

◆ CurrDiskID

DVDDiskID CurrDiskID
static

◆ DmaCommand

u32 DmaCommand[1] = {0xFFFFFFFF}
static

◆ DummyCommandBlock

DVDCommandBlock DummyCommandBlock
static

◆ DVDInitialized

int DVDInitialized
static

◆ executing

DVDCommandBlock* executing
static

◆ FatalAlarm

OSAlarm FatalAlarm
static

◆ FatalErrorFlag

BOOL FatalErrorFlag
static

◆ FirstTimeInBootrom

BOOL FirstTimeInBootrom
static

◆ GameToc

DVDGameTOC* GameToc
static

◆ IDShouldBe

DVDDiskID* IDShouldBe
static

◆ ImmCommand

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

◆ LastError

u32 LastError
static

◆ LastResetEnd

volatile OSTime LastResetEnd
static

◆ LastState

stateFunc LastState

◆ MotorState

u32 MotorState
static

◆ MotorStopped

vu32 MotorStopped
static

◆ NumInternalRetry

vs32 NumInternalRetry
static

◆ PartInfo

DVDPartitionInfo* PartInfo
static

◆ PauseFlag

volatile BOOL PauseFlag
static

◆ PausingFlag

volatile BOOL PausingFlag
static

◆ Prepared

volatile BOOL Prepared
static

◆ PreparingCover

volatile BOOL PreparingCover
static

◆ ResetAlarm

OSAlarm ResetAlarm
static

◆ ResetRequired

BOOL ResetRequired
static

◆ ResumeFromHere

vu32 ResumeFromHere
static

◆ Tmd

ESTitleMeta* Tmd
static

◆ WaitingForCoverClose

vu32 WaitingForCoverClose
static

◆ WaitingForCoverOpen

vu32 WaitingForCoverOpen
static