.include "macros.inc" .section .sdata .balign 8 .global __DVDVersion __DVDVersion: # ROM: 0x3F6438 .4byte lbl_803EFF80 .global autoInvalidation autoInvalidation: # ROM: 0x3F643C .4byte 0x00000001 .global checkOptionalCommand checkOptionalCommand: # ROM: 0x3F6440 .4byte defaultOptionalCommandChecker .global lbl_805A8AA4 lbl_805A8AA4: # ROM: 0x3F6444 .asciz "dvd.c" .balign 4 .global DmaCommand DmaCommand: # ROM: 0x3F644C .4byte 0xFFFFFFFF .section .bss .balign 8 BB2: .skip 0x20 CurrDiskID: .skip 0x20 DummyCommandBlock: .skip 0x30 ResetAlarm: .skip 0x28 .section .sbss .balign 8 executing: .skip 0x4 IDShouldBe: .skip 0x4 bootInfo: .skip 0x4 PauseFlag: .skip 0x4 PausingFlag: .skip 0x4 AutoFinishing: .skip 0x4 FatalErrorFlag: .skip 0x4 CurrCommand: .skip 0x4 Canceling: .skip 0x4 CancelCallback: .skip 0x4 ResumeFromHere: .skip 0x4 CancelLastError: .skip 0x4 LastError: .skip 0x4 NumInternalRetry: .skip 0x4 ResetRequired: .skip 0x4 CancelAllSyncComplete: .skip 0x4 FirstTimeInBootrom: .skip 0x4 DVDInitialized: .skip 0x4 LastState: .skip 0x4 .section .data .balign 8 .global lbl_803EFF80 lbl_803EFF80: # ROM: 0x3ECF80 .asciz "<< Dolphin SDK - DVD\trelease build: Sep 5 2002 05:34:06 (0x2301) >>" .balign 4 .global lbl_803EFFC8 lbl_803EFFC8: # ROM: 0x3ECFC8 .asciz "load fst\n" .balign 4 .global lbl_803EFFD4 lbl_803EFFD4: # ROM: 0x3ECFD4 .asciz "DVDChangeDisk(): FST in the new disc is too big. " .global lbl_803F0008 lbl_803F0008: # ROM: 0x3ED008 .4byte lbl_803731D8 .4byte lbl_80372F4C .4byte lbl_80372FEC .4byte lbl_80373010 .4byte lbl_80372F4C .4byte lbl_80372F20 .4byte lbl_80373030 .4byte lbl_80373094 .4byte lbl_803730C0 .4byte lbl_803730F4 .4byte lbl_80373118 .4byte lbl_8037313C .4byte lbl_80373160 .4byte lbl_80373184 .4byte lbl_803731AC .4byte lbl_80373020 .global ImmCommand ImmCommand: # ROM: 0x3ED048 .4byte 0xFFFFFFFF .4byte 0xFFFFFFFF .4byte 0xFFFFFFFF string_DVDChangeDiskAsyncMsg: .asciz "DVDChangeDiskAsync(): You can't specify NULL to company name. \n" .balign 4 .global lbl_803F0098 lbl_803F0098: # ROM: 0x3ED098 .4byte lbl_8037425C .4byte lbl_8037425C .4byte lbl_8037427C .4byte lbl_803742C0 .4byte lbl_8037430C .4byte lbl_80374388 .4byte lbl_80374388 .4byte lbl_80374388 .4byte lbl_80374388 .4byte lbl_80374454 .4byte lbl_80374454 .4byte lbl_8037425C .4byte lbl_80374388 .global lbl_803F00CC lbl_803F00CC: # ROM: 0x3ED0CC .4byte lbl_80374750 .4byte lbl_80374758 .4byte lbl_80374748 .4byte lbl_80374748 .4byte lbl_80374750 .4byte lbl_80374750 .4byte lbl_80374750 .4byte lbl_80374750 .4byte lbl_80374750 .4byte lbl_80374758 .4byte lbl_80374748 .4byte lbl_80374748 .4byte lbl_80374750 .section .text, "ax" .global defaultOptionalCommandChecker defaultOptionalCommandChecker: /* 80371BA0 0036EB00 4E 80 00 20 */ blr .global DVDInit DVDInit: /* 80371BA4 0036EB04 7C 08 02 A6 */ mflr r0 /* 80371BA8 0036EB08 90 01 00 04 */ stw r0, 4(r1) /* 80371BAC 0036EB0C 94 21 FF F0 */ stwu r1, -0x10(r1) /* 80371BB0 0036EB10 93 E1 00 0C */ stw r31, 0xc(r1) /* 80371BB4 0036EB14 80 0D AC 54 */ lwz r0, DVDInitialized@sda21(r13) /* 80371BB8 0036EB18 2C 00 00 00 */ cmpwi r0, 0 /* 80371BBC 0036EB1C 40 82 00 A0 */ bne lbl_80371C5C /* 80371BC0 0036EB20 80 6D 9E D8 */ lwz r3, __DVDVersion@sda21(r13) /* 80371BC4 0036EB24 48 00 C4 75 */ bl OSRegisterVersion /* 80371BC8 0036EB28 3B E0 00 01 */ li r31, 1 /* 80371BCC 0036EB2C 93 ED AC 54 */ stw r31, DVDInitialized@sda21(r13) /* 80371BD0 0036EB30 4B FF F7 15 */ bl __DVDFSInit /* 80371BD4 0036EB34 48 00 2C E5 */ bl __DVDClearWaitingQueue /* 80371BD8 0036EB38 4B FF E8 CD */ bl __DVDInitWA /* 80371BDC 0036EB3C 3C 00 80 00 */ lis r0, 0x8000 /* 80371BE0 0036EB40 3C 60 80 37 */ lis r3, __DVDInterruptHandler@ha /* 80371BE4 0036EB44 90 0D AC 18 */ stw r0, bootInfo@sda21(r13) /* 80371BE8 0036EB48 38 83 04 E4 */ addi r4, r3, __DVDInterruptHandler@l /* 80371BEC 0036EB4C 90 0D AC 14 */ stw r0, IDShouldBe@sda21(r13) /* 80371BF0 0036EB50 38 60 00 15 */ li r3, 0x15 /* 80371BF4 0036EB54 48 00 FA B9 */ bl __OSSetInterruptHandler /* 80371BF8 0036EB58 38 60 04 00 */ li r3, 0x400 /* 80371BFC 0036EB5C 48 00 FE B5 */ bl __OSUnmaskInterrupts /* 80371C00 0036EB60 38 6D AC 08 */ addi r3, r13, __DVDThreadQueue@sda21 /* 80371C04 0036EB64 48 01 29 C1 */ bl OSInitThreadQueue /* 80371C08 0036EB68 3C 60 CC 00 */ lis r3, 0xCC006000@ha /* 80371C0C 0036EB6C 38 00 00 2A */ li r0, 0x2a /* 80371C10 0036EB70 90 03 60 00 */ stw r0, 0xCC006000@l(r3) /* 80371C14 0036EB74 38 00 00 00 */ li r0, 0 /* 80371C18 0036EB78 90 03 60 04 */ stw r0, 0x6004(r3) /* 80371C1C 0036EB7C 80 6D AC 18 */ lwz r3, bootInfo@sda21(r13) /* 80371C20 0036EB80 38 63 00 20 */ addi r3, r3, 0x20 /* 80371C24 0036EB84 80 63 00 00 */ lwz r3, 0(r3) /* 80371C28 0036EB88 3C 03 1A E0 */ addis r0, r3, 0x1ae0 /* 80371C2C 0036EB8C 28 00 7C 22 */ cmplwi r0, 0x7c22 /* 80371C30 0036EB90 40 82 00 1C */ bne lbl_80371C4C /* 80371C34 0036EB94 3C 60 80 3F */ lis r3, lbl_803EFFC8@ha /* 80371C38 0036EB98 4C C6 31 82 */ crclr 6 /* 80371C3C 0036EB9C 38 63 FF C8 */ addi r3, r3, lbl_803EFFC8@l /* 80371C40 0036EBA0 48 00 DD 6D */ bl OSReport /* 80371C44 0036EBA4 48 00 33 01 */ bl __fstLoad /* 80371C48 0036EBA8 48 00 00 14 */ b lbl_80371C5C lbl_80371C4C: /* 80371C4C 0036EBAC 3C 03 F2 EB */ addis r0, r3, 0xf2eb /* 80371C50 0036EBB0 28 00 EA 5E */ cmplwi r0, 0xea5e /* 80371C54 0036EBB4 41 82 00 08 */ beq lbl_80371C5C /* 80371C58 0036EBB8 93 ED AC 50 */ stw r31, FirstTimeInBootrom@sda21(r13) lbl_80371C5C: /* 80371C5C 0036EBBC 80 01 00 14 */ lwz r0, 0x14(r1) /* 80371C60 0036EBC0 83 E1 00 0C */ lwz r31, 0xc(r1) /* 80371C64 0036EBC4 38 21 00 10 */ addi r1, r1, 0x10 /* 80371C68 0036EBC8 7C 08 03 A6 */ mtlr r0 /* 80371C6C 0036EBCC 4E 80 00 20 */ blr .global stateReadingFST stateReadingFST: /* 80371C70 0036EBD0 7C 08 02 A6 */ mflr r0 /* 80371C74 0036EBD4 3C 60 80 37 */ lis r3, stateReadingFST@ha /* 80371C78 0036EBD8 90 01 00 04 */ stw r0, 4(r1) /* 80371C7C 0036EBDC 38 03 1C 70 */ addi r0, r3, stateReadingFST@l /* 80371C80 0036EBE0 3C 60 80 54 */ lis r3, BB2@ha /* 80371C84 0036EBE4 94 21 FF F0 */ stwu r1, -0x10(r1) /* 80371C88 0036EBE8 38 63 0B 60 */ addi r3, r3, BB2@l /* 80371C8C 0036EBEC 93 E1 00 0C */ stw r31, 0xc(r1) /* 80371C90 0036EBF0 3B E3 00 08 */ addi r31, r3, 8 /* 80371C94 0036EBF4 90 0D AC 58 */ stw r0, LastState@sda21(r13) /* 80371C98 0036EBF8 80 8D AC 18 */ lwz r4, bootInfo@sda21(r13) /* 80371C9C 0036EBFC 80 1F 00 00 */ lwz r0, 0(r31) /* 80371CA0 0036EC00 80 64 00 3C */ lwz r3, 0x3c(r4) /* 80371CA4 0036EC04 7C 03 00 40 */ cmplw r3, r0 /* 80371CA8 0036EC08 40 80 00 1C */ bge lbl_80371CC4 /* 80371CAC 0036EC0C 3C 60 80 3F */ lis r3, lbl_803EFFD4@ha /* 80371CB0 0036EC10 4C C6 31 82 */ crclr 6 /* 80371CB4 0036EC14 38 A3 FF D4 */ addi r5, r3, lbl_803EFFD4@l /* 80371CB8 0036EC18 38 6D 9E E4 */ addi r3, r13, lbl_805A8AA4@sda21 /* 80371CBC 0036EC1C 38 80 02 76 */ li r4, 0x276 /* 80371CC0 0036EC20 48 00 DD 6D */ bl OSPanic lbl_80371CC4: /* 80371CC4 0036EC24 3C 60 80 54 */ lis r3, BB2@ha /* 80371CC8 0036EC28 80 DF 00 00 */ lwz r6, 0(r31) /* 80371CCC 0036EC2C 38 A3 0B 60 */ addi r5, r3, BB2@l /* 80371CD0 0036EC30 80 ED AC 18 */ lwz r7, bootInfo@sda21(r13) /* 80371CD4 0036EC34 3C 80 80 37 */ lis r4, cbForStateReadingFST@ha /* 80371CD8 0036EC38 80 A5 00 04 */ lwz r5, 4(r5) /* 80371CDC 0036EC3C 38 06 00 1F */ addi r0, r6, 0x1f /* 80371CE0 0036EC40 80 67 00 38 */ lwz r3, 0x38(r7) /* 80371CE4 0036EC44 38 C4 1D 04 */ addi r6, r4, cbForStateReadingFST@l /* 80371CE8 0036EC48 54 04 00 34 */ rlwinm r4, r0, 0, 0, 0x1a /* 80371CEC 0036EC4C 4B FF ED 5D */ bl DVDLowRead /* 80371CF0 0036EC50 80 01 00 14 */ lwz r0, 0x14(r1) /* 80371CF4 0036EC54 83 E1 00 0C */ lwz r31, 0xc(r1) /* 80371CF8 0036EC58 38 21 00 10 */ addi r1, r1, 0x10 /* 80371CFC 0036EC5C 7C 08 03 A6 */ mtlr r0 /* 80371D00 0036EC60 4E 80 00 20 */ blr .global cbForStateReadingFST cbForStateReadingFST: /* 80371D04 0036EC64 7C 08 02 A6 */ mflr r0 /* 80371D08 0036EC68 28 03 00 10 */ cmplwi r3, 0x10 /* 80371D0C 0036EC6C 90 01 00 04 */ stw r0, 4(r1) /* 80371D10 0036EC70 94 21 FF E8 */ stwu r1, -0x18(r1) /* 80371D14 0036EC74 93 E1 00 14 */ stw r31, 0x14(r1) /* 80371D18 0036EC78 40 82 00 18 */ bne lbl_80371D30 /* 80371D1C 0036EC7C 80 6D AC 10 */ lwz r3, executing@sda21(r13) /* 80371D20 0036EC80 38 00 FF FF */ li r0, -1 /* 80371D24 0036EC84 90 03 00 0C */ stw r0, 0xc(r3) /* 80371D28 0036EC88 48 00 01 15 */ bl stateTimeout /* 80371D2C 0036EC8C 48 00 00 50 */ b lbl_80371D7C lbl_80371D30: /* 80371D30 0036EC90 54 60 07 FF */ clrlwi. r0, r3, 0x1f /* 80371D34 0036EC94 41 82 00 44 */ beq lbl_80371D78 /* 80371D38 0036EC98 3B E0 00 00 */ li r31, 0 /* 80371D3C 0036EC9C 93 ED AC 44 */ stw r31, NumInternalRetry@sda21(r13) /* 80371D40 0036ECA0 4B FF F5 A5 */ bl __DVDFSInit /* 80371D44 0036ECA4 3C 60 80 54 */ lis r3, DummyCommandBlock@ha /* 80371D48 0036ECA8 80 8D AC 10 */ lwz r4, executing@sda21(r13) /* 80371D4C 0036ECAC 38 03 0B A0 */ addi r0, r3, DummyCommandBlock@l /* 80371D50 0036ECB0 90 0D AC 10 */ stw r0, executing@sda21(r13) /* 80371D54 0036ECB4 93 E4 00 0C */ stw r31, 0xc(r4) /* 80371D58 0036ECB8 81 84 00 28 */ lwz r12, 0x28(r4) /* 80371D5C 0036ECBC 28 0C 00 00 */ cmplwi r12, 0 /* 80371D60 0036ECC0 41 82 00 10 */ beq lbl_80371D70 /* 80371D64 0036ECC4 7D 88 03 A6 */ mtlr r12 /* 80371D68 0036ECC8 38 60 00 00 */ li r3, 0 /* 80371D6C 0036ECCC 4E 80 00 21 */ blrl lbl_80371D70: /* 80371D70 0036ECD0 48 00 0E 95 */ bl stateReady /* 80371D74 0036ECD4 48 00 00 08 */ b lbl_80371D7C lbl_80371D78: /* 80371D78 0036ECD8 48 00 00 F9 */ bl stateGettingError lbl_80371D7C: /* 80371D7C 0036ECDC 80 01 00 1C */ lwz r0, 0x1c(r1) /* 80371D80 0036ECE0 83 E1 00 14 */ lwz r31, 0x14(r1) /* 80371D84 0036ECE4 38 21 00 18 */ addi r1, r1, 0x18 /* 80371D88 0036ECE8 7C 08 03 A6 */ mtlr r0 /* 80371D8C 0036ECEC 4E 80 00 20 */ blr .global cbForStateError cbForStateError: /* 80371D90 0036ECF0 7C 08 02 A6 */ mflr r0 /* 80371D94 0036ECF4 28 03 00 10 */ cmplwi r3, 0x10 /* 80371D98 0036ECF8 90 01 00 04 */ stw r0, 4(r1) /* 80371D9C 0036ECFC 94 21 FF E8 */ stwu r1, -0x18(r1) /* 80371DA0 0036ED00 93 E1 00 14 */ stw r31, 0x14(r1) /* 80371DA4 0036ED04 40 82 00 18 */ bne lbl_80371DBC /* 80371DA8 0036ED08 80 6D AC 10 */ lwz r3, executing@sda21(r13) /* 80371DAC 0036ED0C 38 00 FF FF */ li r0, -1 /* 80371DB0 0036ED10 90 03 00 0C */ stw r0, 0xc(r3) /* 80371DB4 0036ED14 48 00 00 89 */ bl stateTimeout /* 80371DB8 0036ED18 48 00 00 70 */ b lbl_80371E28 lbl_80371DBC: /* 80371DBC 0036ED1C 48 00 30 81 */ bl __DVDPrintFatalMessage /* 80371DC0 0036ED20 3C 60 80 54 */ lis r3, DummyCommandBlock@ha /* 80371DC4 0036ED24 83 ED AC 10 */ lwz r31, executing@sda21(r13) /* 80371DC8 0036ED28 38 03 0B A0 */ addi r0, r3, DummyCommandBlock@l /* 80371DCC 0036ED2C 38 60 00 01 */ li r3, 1 /* 80371DD0 0036ED30 90 0D AC 10 */ stw r0, executing@sda21(r13) /* 80371DD4 0036ED34 90 6D AC 28 */ stw r3, FatalErrorFlag@sda21(r13) /* 80371DD8 0036ED38 81 9F 00 28 */ lwz r12, 0x28(r31) /* 80371DDC 0036ED3C 28 0C 00 00 */ cmplwi r12, 0 /* 80371DE0 0036ED40 41 82 00 14 */ beq lbl_80371DF4 /* 80371DE4 0036ED44 7D 88 03 A6 */ mtlr r12 /* 80371DE8 0036ED48 38 9F 00 00 */ addi r4, r31, 0 /* 80371DEC 0036ED4C 38 60 FF FF */ li r3, -1 /* 80371DF0 0036ED50 4E 80 00 21 */ blrl lbl_80371DF4: /* 80371DF4 0036ED54 80 0D AC 30 */ lwz r0, Canceling@sda21(r13) /* 80371DF8 0036ED58 28 00 00 00 */ cmplwi r0, 0 /* 80371DFC 0036ED5C 41 82 00 28 */ beq lbl_80371E24 /* 80371E00 0036ED60 81 8D AC 34 */ lwz r12, CancelCallback@sda21(r13) /* 80371E04 0036ED64 38 00 00 00 */ li r0, 0 /* 80371E08 0036ED68 90 0D AC 30 */ stw r0, Canceling@sda21(r13) /* 80371E0C 0036ED6C 28 0C 00 00 */ cmplwi r12, 0 /* 80371E10 0036ED70 41 82 00 14 */ beq lbl_80371E24 /* 80371E14 0036ED74 7D 88 03 A6 */ mtlr r12 /* 80371E18 0036ED78 38 9F 00 00 */ addi r4, r31, 0 /* 80371E1C 0036ED7C 38 60 00 00 */ li r3, 0 /* 80371E20 0036ED80 4E 80 00 21 */ blrl lbl_80371E24: /* 80371E24 0036ED84 48 00 0D E1 */ bl stateReady lbl_80371E28: /* 80371E28 0036ED88 80 01 00 1C */ lwz r0, 0x1c(r1) /* 80371E2C 0036ED8C 83 E1 00 14 */ lwz r31, 0x14(r1) /* 80371E30 0036ED90 38 21 00 18 */ addi r1, r1, 0x18 /* 80371E34 0036ED94 7C 08 03 A6 */ mtlr r0 /* 80371E38 0036ED98 4E 80 00 20 */ blr .global stateTimeout stateTimeout: /* 80371E3C 0036ED9C 7C 08 02 A6 */ mflr r0 /* 80371E40 0036EDA0 3C 60 01 23 */ lis r3, 0x01234568@ha /* 80371E44 0036EDA4 90 01 00 04 */ stw r0, 4(r1) /* 80371E48 0036EDA8 38 63 45 68 */ addi r3, r3, 0x01234568@l /* 80371E4C 0036EDAC 94 21 FF F8 */ stwu r1, -8(r1) /* 80371E50 0036EDB0 48 00 2D 7D */ bl __DVDStoreErrorCode /* 80371E54 0036EDB4 48 00 22 6D */ bl DVDReset /* 80371E58 0036EDB8 38 60 00 00 */ li r3, 0 /* 80371E5C 0036EDBC 4B FF FF 35 */ bl cbForStateError /* 80371E60 0036EDC0 80 01 00 0C */ lwz r0, 0xc(r1) /* 80371E64 0036EDC4 38 21 00 08 */ addi r1, r1, 8 /* 80371E68 0036EDC8 7C 08 03 A6 */ mtlr r0 /* 80371E6C 0036EDCC 4E 80 00 20 */ blr .global stateGettingError stateGettingError: /* 80371E70 0036EDD0 7C 08 02 A6 */ mflr r0 /* 80371E74 0036EDD4 3C 60 80 37 */ lis r3, cbForStateGettingError@ha /* 80371E78 0036EDD8 90 01 00 04 */ stw r0, 4(r1) /* 80371E7C 0036EDDC 38 63 1F 4C */ addi r3, r3, cbForStateGettingError@l /* 80371E80 0036EDE0 94 21 FF F8 */ stwu r1, -8(r1) /* 80371E84 0036EDE4 4B FF F0 4D */ bl DVDLowRequestError /* 80371E88 0036EDE8 80 01 00 0C */ lwz r0, 0xc(r1) /* 80371E8C 0036EDEC 38 21 00 08 */ addi r1, r1, 8 /* 80371E90 0036EDF0 7C 08 03 A6 */ mtlr r0 /* 80371E94 0036EDF4 4E 80 00 20 */ blr .global CategorizeError CategorizeError: /* 80371E98 0036EDF8 3C 03 FF FE */ addis r0, r3, 0xfffe /* 80371E9C 0036EDFC 28 00 04 00 */ cmplwi r0, 0x400 /* 80371EA0 0036EE00 40 82 00 10 */ bne lbl_80371EB0 /* 80371EA4 0036EE04 90 6D AC 40 */ stw r3, LastError@sda21(r13) /* 80371EA8 0036EE08 38 60 00 01 */ li r3, 1 /* 80371EAC 0036EE0C 4E 80 00 20 */ blr lbl_80371EB0: /* 80371EB0 0036EE10 54 64 02 3E */ clrlwi r4, r3, 8 /* 80371EB4 0036EE14 3C 04 FF FA */ addis r0, r4, 0xfffa /* 80371EB8 0036EE18 28 00 28 00 */ cmplwi r0, 0x2800 /* 80371EBC 0036EE1C 41 82 00 1C */ beq lbl_80371ED8 /* 80371EC0 0036EE20 3C 04 FF FE */ addis r0, r4, 0xfffe /* 80371EC4 0036EE24 28 00 3A 00 */ cmplwi r0, 0x3a00 /* 80371EC8 0036EE28 41 82 00 10 */ beq lbl_80371ED8 /* 80371ECC 0036EE2C 3C 04 FF F5 */ addis r0, r4, 0xfff5 /* 80371ED0 0036EE30 28 00 5A 01 */ cmplwi r0, 0x5a01 /* 80371ED4 0036EE34 40 82 00 0C */ bne lbl_80371EE0 lbl_80371ED8: /* 80371ED8 0036EE38 38 60 00 00 */ li r3, 0 /* 80371EDC 0036EE3C 4E 80 00 20 */ blr lbl_80371EE0: /* 80371EE0 0036EE40 80 6D AC 44 */ lwz r3, NumInternalRetry@sda21(r13) /* 80371EE4 0036EE44 38 03 00 01 */ addi r0, r3, 1 /* 80371EE8 0036EE48 90 0D AC 44 */ stw r0, NumInternalRetry@sda21(r13) /* 80371EEC 0036EE4C 80 0D AC 44 */ lwz r0, NumInternalRetry@sda21(r13) /* 80371EF0 0036EE50 2C 00 00 02 */ cmpwi r0, 2 /* 80371EF4 0036EE54 40 82 00 28 */ bne lbl_80371F1C /* 80371EF8 0036EE58 80 0D AC 40 */ lwz r0, LastError@sda21(r13) /* 80371EFC 0036EE5C 7C 04 00 40 */ cmplw r4, r0 /* 80371F00 0036EE60 40 82 00 10 */ bne lbl_80371F10 /* 80371F04 0036EE64 90 8D AC 40 */ stw r4, LastError@sda21(r13) /* 80371F08 0036EE68 38 60 00 01 */ li r3, 1 /* 80371F0C 0036EE6C 4E 80 00 20 */ blr lbl_80371F10: /* 80371F10 0036EE70 90 8D AC 40 */ stw r4, LastError@sda21(r13) /* 80371F14 0036EE74 38 60 00 02 */ li r3, 2 /* 80371F18 0036EE78 4E 80 00 20 */ blr lbl_80371F1C: /* 80371F1C 0036EE7C 3C 04 FF FD */ addis r0, r4, 0xfffd /* 80371F20 0036EE80 90 8D AC 40 */ stw r4, LastError@sda21(r13) /* 80371F24 0036EE84 28 00 11 00 */ cmplwi r0, 0x1100 /* 80371F28 0036EE88 41 82 00 14 */ beq lbl_80371F3C /* 80371F2C 0036EE8C 80 6D AC 10 */ lwz r3, executing@sda21(r13) /* 80371F30 0036EE90 80 03 00 08 */ lwz r0, 8(r3) /* 80371F34 0036EE94 28 00 00 05 */ cmplwi r0, 5 /* 80371F38 0036EE98 40 82 00 0C */ bne lbl_80371F44 lbl_80371F3C: /* 80371F3C 0036EE9C 38 60 00 02 */ li r3, 2 /* 80371F40 0036EEA0 4E 80 00 20 */ blr lbl_80371F44: /* 80371F44 0036EEA4 38 60 00 03 */ li r3, 3 /* 80371F48 0036EEA8 4E 80 00 20 */ blr .global cbForStateGettingError cbForStateGettingError: /* 80371F4C 0036EEAC 7C 08 02 A6 */ mflr r0 /* 80371F50 0036EEB0 28 03 00 10 */ cmplwi r3, 0x10 /* 80371F54 0036EEB4 90 01 00 04 */ stw r0, 4(r1) /* 80371F58 0036EEB8 94 21 FF E0 */ stwu r1, -0x20(r1) /* 80371F5C 0036EEBC 93 E1 00 1C */ stw r31, 0x1c(r1) /* 80371F60 0036EEC0 93 C1 00 18 */ stw r30, 0x18(r1) /* 80371F64 0036EEC4 93 A1 00 14 */ stw r29, 0x14(r1) /* 80371F68 0036EEC8 93 81 00 10 */ stw r28, 0x10(r1) /* 80371F6C 0036EECC 40 82 00 2C */ bne lbl_80371F98 /* 80371F70 0036EED0 80 8D AC 10 */ lwz r4, executing@sda21(r13) /* 80371F74 0036EED4 38 00 FF FF */ li r0, -1 /* 80371F78 0036EED8 3C 60 01 23 */ lis r3, 0x01234568@ha /* 80371F7C 0036EEDC 90 04 00 0C */ stw r0, 0xc(r4) /* 80371F80 0036EEE0 38 63 45 68 */ addi r3, r3, 0x01234568@l /* 80371F84 0036EEE4 48 00 2C 49 */ bl __DVDStoreErrorCode /* 80371F88 0036EEE8 48 00 21 39 */ bl DVDReset /* 80371F8C 0036EEEC 38 60 00 00 */ li r3, 0 /* 80371F90 0036EEF0 4B FF FE 01 */ bl cbForStateError /* 80371F94 0036EEF4 48 00 02 2C */ b lbl_803721C0 lbl_80371F98: /* 80371F98 0036EEF8 54 60 07 BD */ rlwinm. r0, r3, 0, 0x1e, 0x1e /* 80371F9C 0036EEFC 41 82 00 2C */ beq lbl_80371FC8 /* 80371FA0 0036EF00 80 8D AC 10 */ lwz r4, executing@sda21(r13) /* 80371FA4 0036EF04 38 00 FF FF */ li r0, -1 /* 80371FA8 0036EF08 3C 60 01 23 */ lis r3, 0x01234567@ha /* 80371FAC 0036EF0C 90 04 00 0C */ stw r0, 0xc(r4) /* 80371FB0 0036EF10 38 63 45 67 */ addi r3, r3, 0x01234567@l /* 80371FB4 0036EF14 48 00 2C 19 */ bl __DVDStoreErrorCode /* 80371FB8 0036EF18 3C 60 80 37 */ lis r3, cbForStateError@ha /* 80371FBC 0036EF1C 38 63 1D 90 */ addi r3, r3, cbForStateError@l /* 80371FC0 0036EF20 4B FF EE 85 */ bl DVDLowStopMotor /* 80371FC4 0036EF24 48 00 01 FC */ b lbl_803721C0 lbl_80371FC8: /* 80371FC8 0036EF28 3C 60 CC 00 */ lis r3, 0xCC006020@ha /* 80371FCC 0036EF2C 83 A3 60 20 */ lwz r29, 0xCC006020@l(r3) /* 80371FD0 0036EF30 38 7D 00 00 */ addi r3, r29, 0 /* 80371FD4 0036EF34 57 BC 00 0E */ rlwinm r28, r29, 0, 0, 7 /* 80371FD8 0036EF38 4B FF FE C1 */ bl CategorizeError /* 80371FDC 0036EF3C 3B E3 00 00 */ addi r31, r3, 0 /* 80371FE0 0036EF40 28 1F 00 01 */ cmplwi r31, 1 /* 80371FE4 0036EF44 40 82 00 28 */ bne lbl_8037200C /* 80371FE8 0036EF48 80 8D AC 10 */ lwz r4, executing@sda21(r13) /* 80371FEC 0036EF4C 38 00 FF FF */ li r0, -1 /* 80371FF0 0036EF50 38 7D 00 00 */ addi r3, r29, 0 /* 80371FF4 0036EF54 90 04 00 0C */ stw r0, 0xc(r4) /* 80371FF8 0036EF58 48 00 2B D5 */ bl __DVDStoreErrorCode /* 80371FFC 0036EF5C 3C 60 80 37 */ lis r3, cbForStateError@ha /* 80372000 0036EF60 38 63 1D 90 */ addi r3, r3, cbForStateError@l /* 80372004 0036EF64 4B FF EE 41 */ bl DVDLowStopMotor /* 80372008 0036EF68 48 00 01 B8 */ b lbl_803721C0 lbl_8037200C: /* 8037200C 0036EF6C 38 1F FF FE */ addi r0, r31, -2 /* 80372010 0036EF70 28 00 00 01 */ cmplwi r0, 1 /* 80372014 0036EF74 41 81 00 0C */ bgt lbl_80372020 /* 80372018 0036EF78 38 80 00 00 */ li r4, 0 /* 8037201C 0036EF7C 48 00 00 44 */ b lbl_80372060 lbl_80372020: /* 80372020 0036EF80 3C 1C FF 00 */ addis r0, r28, 0xff00 /* 80372024 0036EF84 28 00 00 00 */ cmplwi r0, 0 /* 80372028 0036EF88 40 82 00 0C */ bne lbl_80372034 /* 8037202C 0036EF8C 38 80 00 04 */ li r4, 4 /* 80372030 0036EF90 48 00 00 30 */ b lbl_80372060 lbl_80372034: /* 80372034 0036EF94 3C 1C FE 00 */ addis r0, r28, 0xfe00 /* 80372038 0036EF98 28 00 00 00 */ cmplwi r0, 0 /* 8037203C 0036EF9C 40 82 00 0C */ bne lbl_80372048 /* 80372040 0036EFA0 38 80 00 06 */ li r4, 6 /* 80372044 0036EFA4 48 00 00 1C */ b lbl_80372060 lbl_80372048: /* 80372048 0036EFA8 3C 1C FD 00 */ addis r0, r28, 0xfd00 /* 8037204C 0036EFAC 28 00 00 00 */ cmplwi r0, 0 /* 80372050 0036EFB0 40 82 00 0C */ bne lbl_8037205C /* 80372054 0036EFB4 38 80 00 03 */ li r4, 3 /* 80372058 0036EFB8 48 00 00 08 */ b lbl_80372060 lbl_8037205C: /* 8037205C 0036EFBC 38 80 00 05 */ li r4, 5 lbl_80372060: /* 80372060 0036EFC0 80 0D AC 30 */ lwz r0, Canceling@sda21(r13) /* 80372064 0036EFC4 28 00 00 00 */ cmplwi r0, 0 /* 80372068 0036EFC8 41 82 00 6C */ beq lbl_803720D4 /* 8037206C 0036EFCC 3C 60 80 54 */ lis r3, DummyCommandBlock@ha /* 80372070 0036EFD0 90 8D AC 38 */ stw r4, ResumeFromHere@sda21(r13) /* 80372074 0036EFD4 38 00 00 00 */ li r0, 0 /* 80372078 0036EFD8 83 CD AC 10 */ lwz r30, executing@sda21(r13) /* 8037207C 0036EFDC 38 63 0B A0 */ addi r3, r3, DummyCommandBlock@l /* 80372080 0036EFE0 90 0D AC 30 */ stw r0, Canceling@sda21(r13) /* 80372084 0036EFE4 38 00 00 0A */ li r0, 0xa /* 80372088 0036EFE8 90 6D AC 10 */ stw r3, executing@sda21(r13) /* 8037208C 0036EFEC 90 1E 00 0C */ stw r0, 0xc(r30) /* 80372090 0036EFF0 81 9E 00 28 */ lwz r12, 0x28(r30) /* 80372094 0036EFF4 28 0C 00 00 */ cmplwi r12, 0 /* 80372098 0036EFF8 41 82 00 14 */ beq lbl_803720AC /* 8037209C 0036EFFC 7D 88 03 A6 */ mtlr r12 /* 803720A0 0036F000 38 9E 00 00 */ addi r4, r30, 0 /* 803720A4 0036F004 38 60 FF FD */ li r3, -3 /* 803720A8 0036F008 4E 80 00 21 */ blrl lbl_803720AC: /* 803720AC 0036F00C 81 8D AC 34 */ lwz r12, CancelCallback@sda21(r13) /* 803720B0 0036F010 28 0C 00 00 */ cmplwi r12, 0 /* 803720B4 0036F014 41 82 00 14 */ beq lbl_803720C8 /* 803720B8 0036F018 7D 88 03 A6 */ mtlr r12 /* 803720BC 0036F01C 38 9E 00 00 */ addi r4, r30, 0 /* 803720C0 0036F020 38 60 00 00 */ li r3, 0 /* 803720C4 0036F024 4E 80 00 21 */ blrl lbl_803720C8: /* 803720C8 0036F028 48 00 0B 3D */ bl stateReady /* 803720CC 0036F02C 38 00 00 01 */ li r0, 1 /* 803720D0 0036F030 48 00 00 08 */ b lbl_803720D8 lbl_803720D4: /* 803720D4 0036F034 38 00 00 00 */ li r0, 0 lbl_803720D8: /* 803720D8 0036F038 2C 00 00 00 */ cmpwi r0, 0 /* 803720DC 0036F03C 40 82 00 E4 */ bne lbl_803721C0 /* 803720E0 0036F040 28 1F 00 02 */ cmplwi r31, 2 /* 803720E4 0036F044 40 82 00 14 */ bne lbl_803720F8 /* 803720E8 0036F048 7F A3 EB 78 */ mr r3, r29 /* 803720EC 0036F04C 48 00 2A E1 */ bl __DVDStoreErrorCode /* 803720F0 0036F050 48 00 01 F1 */ bl stateGoToRetry /* 803720F4 0036F054 48 00 00 CC */ b lbl_803721C0 lbl_803720F8: /* 803720F8 0036F058 28 1F 00 03 */ cmplwi r31, 3 /* 803720FC 0036F05C 40 82 00 40 */ bne lbl_8037213C /* 80372100 0036F060 57 A3 02 3E */ clrlwi r3, r29, 8 /* 80372104 0036F064 3C 03 FF FD */ addis r0, r3, 0xfffd /* 80372108 0036F068 28 00 11 00 */ cmplwi r0, 0x1100 /* 8037210C 0036F06C 40 82 00 1C */ bne lbl_80372128 /* 80372110 0036F070 80 AD AC 10 */ lwz r5, executing@sda21(r13) /* 80372114 0036F074 3C 60 80 37 */ lis r3, cbForUnrecoveredError@ha /* 80372118 0036F078 38 83 21 E0 */ addi r4, r3, cbForUnrecoveredError@l /* 8037211C 0036F07C 80 65 00 10 */ lwz r3, 0x10(r5) /* 80372120 0036F080 4B FF EB C1 */ bl DVDLowSeek /* 80372124 0036F084 48 00 00 9C */ b lbl_803721C0 lbl_80372128: /* 80372128 0036F088 81 8D AC 58 */ lwz r12, LastState@sda21(r13) /* 8037212C 0036F08C 80 6D AC 10 */ lwz r3, executing@sda21(r13) /* 80372130 0036F090 7D 88 03 A6 */ mtlr r12 /* 80372134 0036F094 4E 80 00 21 */ blrl /* 80372138 0036F098 48 00 00 88 */ b lbl_803721C0 lbl_8037213C: /* 8037213C 0036F09C 3C 1C FF 00 */ addis r0, r28, 0xff00 /* 80372140 0036F0A0 28 00 00 00 */ cmplwi r0, 0 /* 80372144 0036F0A4 40 82 00 18 */ bne lbl_8037215C /* 80372148 0036F0A8 80 6D AC 10 */ lwz r3, executing@sda21(r13) /* 8037214C 0036F0AC 38 00 00 05 */ li r0, 5 /* 80372150 0036F0B0 90 03 00 0C */ stw r0, 0xc(r3) /* 80372154 0036F0B4 48 00 09 A5 */ bl stateMotorStopped /* 80372158 0036F0B8 48 00 00 68 */ b lbl_803721C0 lbl_8037215C: /* 8037215C 0036F0BC 3C 1C FE 00 */ addis r0, r28, 0xfe00 /* 80372160 0036F0C0 28 00 00 00 */ cmplwi r0, 0 /* 80372164 0036F0C4 40 82 00 18 */ bne lbl_8037217C /* 80372168 0036F0C8 80 6D AC 10 */ lwz r3, executing@sda21(r13) /* 8037216C 0036F0CC 38 00 00 03 */ li r0, 3 /* 80372170 0036F0D0 90 03 00 0C */ stw r0, 0xc(r3) /* 80372174 0036F0D4 48 00 08 19 */ bl stateCoverClosed /* 80372178 0036F0D8 48 00 00 48 */ b lbl_803721C0 lbl_8037217C: /* 8037217C 0036F0DC 3C 1C FD 00 */ addis r0, r28, 0xfd00 /* 80372180 0036F0E0 28 00 00 00 */ cmplwi r0, 0 /* 80372184 0036F0E4 40 82 00 18 */ bne lbl_8037219C /* 80372188 0036F0E8 80 6D AC 10 */ lwz r3, executing@sda21(r13) /* 8037218C 0036F0EC 38 00 00 04 */ li r0, 4 /* 80372190 0036F0F0 90 03 00 0C */ stw r0, 0xc(r3) /* 80372194 0036F0F4 48 00 09 65 */ bl stateMotorStopped /* 80372198 0036F0F8 48 00 00 28 */ b lbl_803721C0 lbl_8037219C: /* 8037219C 0036F0FC 80 8D AC 10 */ lwz r4, executing@sda21(r13) /* 803721A0 0036F100 38 00 FF FF */ li r0, -1 /* 803721A4 0036F104 3C 60 01 23 */ lis r3, 0x01234567@ha /* 803721A8 0036F108 90 04 00 0C */ stw r0, 0xc(r4) /* 803721AC 0036F10C 38 63 45 67 */ addi r3, r3, 0x01234567@l /* 803721B0 0036F110 48 00 2A 1D */ bl __DVDStoreErrorCode /* 803721B4 0036F114 3C 60 80 37 */ lis r3, cbForStateError@ha /* 803721B8 0036F118 38 63 1D 90 */ addi r3, r3, cbForStateError@l /* 803721BC 0036F11C 4B FF EC 89 */ bl DVDLowStopMotor lbl_803721C0: /* 803721C0 0036F120 80 01 00 24 */ lwz r0, 0x24(r1) /* 803721C4 0036F124 83 E1 00 1C */ lwz r31, 0x1c(r1) /* 803721C8 0036F128 83 C1 00 18 */ lwz r30, 0x18(r1) /* 803721CC 0036F12C 83 A1 00 14 */ lwz r29, 0x14(r1) /* 803721D0 0036F130 83 81 00 10 */ lwz r28, 0x10(r1) /* 803721D4 0036F134 38 21 00 20 */ addi r1, r1, 0x20 /* 803721D8 0036F138 7C 08 03 A6 */ mtlr r0 /* 803721DC 0036F13C 4E 80 00 20 */ blr .global cbForUnrecoveredError cbForUnrecoveredError: /* 803721E0 0036F140 7C 08 02 A6 */ mflr r0 /* 803721E4 0036F144 28 03 00 10 */ cmplwi r3, 0x10 /* 803721E8 0036F148 90 01 00 04 */ stw r0, 4(r1) /* 803721EC 0036F14C 94 21 FF F8 */ stwu r1, -8(r1) /* 803721F0 0036F150 40 82 00 2C */ bne lbl_8037221C /* 803721F4 0036F154 80 8D AC 10 */ lwz r4, executing@sda21(r13) /* 803721F8 0036F158 38 00 FF FF */ li r0, -1 /* 803721FC 0036F15C 3C 60 01 23 */ lis r3, 0x01234568@ha /* 80372200 0036F160 90 04 00 0C */ stw r0, 0xc(r4) /* 80372204 0036F164 38 63 45 68 */ addi r3, r3, 0x01234568@l /* 80372208 0036F168 48 00 29 C5 */ bl __DVDStoreErrorCode /* 8037220C 0036F16C 48 00 1E B5 */ bl DVDReset /* 80372210 0036F170 38 60 00 00 */ li r3, 0 /* 80372214 0036F174 4B FF FB 7D */ bl cbForStateError /* 80372218 0036F178 48 00 00 20 */ b lbl_80372238 lbl_8037221C: /* 8037221C 0036F17C 54 60 07 FF */ clrlwi. r0, r3, 0x1f /* 80372220 0036F180 41 82 00 0C */ beq lbl_8037222C /* 80372224 0036F184 48 00 00 BD */ bl stateGoToRetry /* 80372228 0036F188 48 00 00 10 */ b lbl_80372238 lbl_8037222C: /* 8037222C 0036F18C 3C 60 80 37 */ lis r3, cbForUnrecoveredErrorRetry@ha /* 80372230 0036F190 38 63 22 48 */ addi r3, r3, cbForUnrecoveredErrorRetry@l /* 80372234 0036F194 4B FF EC 9D */ bl DVDLowRequestError lbl_80372238: /* 80372238 0036F198 80 01 00 0C */ lwz r0, 0xc(r1) /* 8037223C 0036F19C 38 21 00 08 */ addi r1, r1, 8 /* 80372240 0036F1A0 7C 08 03 A6 */ mtlr r0 /* 80372244 0036F1A4 4E 80 00 20 */ blr .global cbForUnrecoveredErrorRetry cbForUnrecoveredErrorRetry: /* 80372248 0036F1A8 7C 08 02 A6 */ mflr r0 /* 8037224C 0036F1AC 28 03 00 10 */ cmplwi r3, 0x10 /* 80372250 0036F1B0 90 01 00 04 */ stw r0, 4(r1) /* 80372254 0036F1B4 94 21 FF F8 */ stwu r1, -8(r1) /* 80372258 0036F1B8 40 82 00 2C */ bne lbl_80372284 /* 8037225C 0036F1BC 80 8D AC 10 */ lwz r4, executing@sda21(r13) /* 80372260 0036F1C0 38 00 FF FF */ li r0, -1 /* 80372264 0036F1C4 3C 60 01 23 */ lis r3, 0x01234568@ha /* 80372268 0036F1C8 90 04 00 0C */ stw r0, 0xc(r4) /* 8037226C 0036F1CC 38 63 45 68 */ addi r3, r3, 0x01234568@l /* 80372270 0036F1D0 48 00 29 5D */ bl __DVDStoreErrorCode /* 80372274 0036F1D4 48 00 1E 4D */ bl DVDReset /* 80372278 0036F1D8 38 60 00 00 */ li r3, 0 /* 8037227C 0036F1DC 4B FF FB 15 */ bl cbForStateError /* 80372280 0036F1E0 48 00 00 50 */ b lbl_803722D0 lbl_80372284: /* 80372284 0036F1E4 54 60 07 BD */ rlwinm. r0, r3, 0, 0x1e, 0x1e /* 80372288 0036F1E8 80 6D AC 10 */ lwz r3, executing@sda21(r13) /* 8037228C 0036F1EC 38 80 FF FF */ li r4, -1 /* 80372290 0036F1F0 90 83 00 0C */ stw r4, 0xc(r3) /* 80372294 0036F1F4 41 82 00 20 */ beq lbl_803722B4 /* 80372298 0036F1F8 3C 60 01 23 */ lis r3, 0x01234567@ha /* 8037229C 0036F1FC 38 63 45 67 */ addi r3, r3, 0x01234567@l /* 803722A0 0036F200 48 00 29 2D */ bl __DVDStoreErrorCode /* 803722A4 0036F204 3C 60 80 37 */ lis r3, cbForStateError@ha /* 803722A8 0036F208 38 63 1D 90 */ addi r3, r3, cbForStateError@l /* 803722AC 0036F20C 4B FF EB 99 */ bl DVDLowStopMotor /* 803722B0 0036F210 48 00 00 20 */ b lbl_803722D0 lbl_803722B4: /* 803722B4 0036F214 3C 60 CC 00 */ lis r3, 0xCC006000@ha /* 803722B8 0036F218 38 63 60 00 */ addi r3, r3, 0xCC006000@l /* 803722BC 0036F21C 80 63 00 20 */ lwz r3, 0x20(r3) /* 803722C0 0036F220 48 00 29 0D */ bl __DVDStoreErrorCode /* 803722C4 0036F224 3C 60 80 37 */ lis r3, cbForStateError@ha /* 803722C8 0036F228 38 63 1D 90 */ addi r3, r3, cbForStateError@l /* 803722CC 0036F22C 4B FF EB 79 */ bl DVDLowStopMotor lbl_803722D0: /* 803722D0 0036F230 80 01 00 0C */ lwz r0, 0xc(r1) /* 803722D4 0036F234 38 21 00 08 */ addi r1, r1, 8 /* 803722D8 0036F238 7C 08 03 A6 */ mtlr r0 /* 803722DC 0036F23C 4E 80 00 20 */ blr .global stateGoToRetry stateGoToRetry: /* 803722E0 0036F240 7C 08 02 A6 */ mflr r0 /* 803722E4 0036F244 3C 60 80 37 */ lis r3, cbForStateGoToRetry@ha /* 803722E8 0036F248 90 01 00 04 */ stw r0, 4(r1) /* 803722EC 0036F24C 38 63 23 08 */ addi r3, r3, cbForStateGoToRetry@l /* 803722F0 0036F250 94 21 FF F8 */ stwu r1, -8(r1) /* 803722F4 0036F254 4B FF EB 51 */ bl DVDLowStopMotor /* 803722F8 0036F258 80 01 00 0C */ lwz r0, 0xc(r1) /* 803722FC 0036F25C 38 21 00 08 */ addi r1, r1, 8 /* 80372300 0036F260 7C 08 03 A6 */ mtlr r0 /* 80372304 0036F264 4E 80 00 20 */ blr .global cbForStateGoToRetry cbForStateGoToRetry: /* 80372308 0036F268 7C 08 02 A6 */ mflr r0 /* 8037230C 0036F26C 28 03 00 10 */ cmplwi r3, 0x10 /* 80372310 0036F270 90 01 00 04 */ stw r0, 4(r1) /* 80372314 0036F274 94 21 FF E8 */ stwu r1, -0x18(r1) /* 80372318 0036F278 93 E1 00 14 */ stw r31, 0x14(r1) /* 8037231C 0036F27C 40 82 00 2C */ bne lbl_80372348 /* 80372320 0036F280 80 8D AC 10 */ lwz r4, executing@sda21(r13) /* 80372324 0036F284 38 00 FF FF */ li r0, -1 /* 80372328 0036F288 3C 60 01 23 */ lis r3, 0x01234568@ha /* 8037232C 0036F28C 90 04 00 0C */ stw r0, 0xc(r4) /* 80372330 0036F290 38 63 45 68 */ addi r3, r3, 0x01234568@l /* 80372334 0036F294 48 00 28 99 */ bl __DVDStoreErrorCode /* 80372338 0036F298 48 00 1D 89 */ bl DVDReset /* 8037233C 0036F29C 38 60 00 00 */ li r3, 0 /* 80372340 0036F2A0 4B FF FA 51 */ bl cbForStateError /* 80372344 0036F2A4 48 00 01 08 */ b lbl_8037244C lbl_80372348: /* 80372348 0036F2A8 54 60 07 BD */ rlwinm. r0, r3, 0, 0x1e, 0x1e /* 8037234C 0036F2AC 41 82 00 2C */ beq lbl_80372378 /* 80372350 0036F2B0 80 8D AC 10 */ lwz r4, executing@sda21(r13) /* 80372354 0036F2B4 38 00 FF FF */ li r0, -1 /* 80372358 0036F2B8 3C 60 01 23 */ lis r3, 0x01234567@ha /* 8037235C 0036F2BC 90 04 00 0C */ stw r0, 0xc(r4) /* 80372360 0036F2C0 38 63 45 67 */ addi r3, r3, 0x01234567@l /* 80372364 0036F2C4 48 00 28 69 */ bl __DVDStoreErrorCode /* 80372368 0036F2C8 3C 60 80 37 */ lis r3, cbForStateError@ha /* 8037236C 0036F2CC 38 63 1D 90 */ addi r3, r3, cbForStateError@l /* 80372370 0036F2D0 4B FF EA D5 */ bl DVDLowStopMotor /* 80372374 0036F2D4 48 00 00 D8 */ b lbl_8037244C lbl_80372378: /* 80372378 0036F2D8 38 00 00 00 */ li r0, 0 /* 8037237C 0036F2DC 90 0D AC 44 */ stw r0, NumInternalRetry@sda21(r13) /* 80372380 0036F2E0 80 0D AC 2C */ lwz r0, CurrCommand@sda21(r13) /* 80372384 0036F2E4 28 00 00 04 */ cmplwi r0, 4 /* 80372388 0036F2E8 41 82 00 28 */ beq lbl_803723B0 /* 8037238C 0036F2EC 80 0D AC 2C */ lwz r0, CurrCommand@sda21(r13) /* 80372390 0036F2F0 28 00 00 05 */ cmplwi r0, 5 /* 80372394 0036F2F4 41 82 00 1C */ beq lbl_803723B0 /* 80372398 0036F2F8 80 0D AC 2C */ lwz r0, CurrCommand@sda21(r13) /* 8037239C 0036F2FC 28 00 00 0D */ cmplwi r0, 0xd /* 803723A0 0036F300 41 82 00 10 */ beq lbl_803723B0 /* 803723A4 0036F304 80 0D AC 2C */ lwz r0, CurrCommand@sda21(r13) /* 803723A8 0036F308 28 00 00 0F */ cmplwi r0, 0xf /* 803723AC 0036F30C 40 82 00 0C */ bne lbl_803723B8 lbl_803723B0: /* 803723B0 0036F310 38 00 00 01 */ li r0, 1 /* 803723B4 0036F314 90 0D AC 48 */ stw r0, ResetRequired@sda21(r13) lbl_803723B8: /* 803723B8 0036F318 80 0D AC 30 */ lwz r0, Canceling@sda21(r13) /* 803723BC 0036F31C 28 00 00 00 */ cmplwi r0, 0 /* 803723C0 0036F320 41 82 00 70 */ beq lbl_80372430 /* 803723C4 0036F324 38 00 00 02 */ li r0, 2 /* 803723C8 0036F328 83 ED AC 10 */ lwz r31, executing@sda21(r13) /* 803723CC 0036F32C 3C 60 80 54 */ lis r3, DummyCommandBlock@ha /* 803723D0 0036F330 90 0D AC 38 */ stw r0, ResumeFromHere@sda21(r13) /* 803723D4 0036F334 38 03 0B A0 */ addi r0, r3, DummyCommandBlock@l /* 803723D8 0036F338 38 60 00 00 */ li r3, 0 /* 803723DC 0036F33C 90 0D AC 10 */ stw r0, executing@sda21(r13) /* 803723E0 0036F340 38 00 00 0A */ li r0, 0xa /* 803723E4 0036F344 90 6D AC 30 */ stw r3, Canceling@sda21(r13) /* 803723E8 0036F348 90 1F 00 0C */ stw r0, 0xc(r31) /* 803723EC 0036F34C 81 9F 00 28 */ lwz r12, 0x28(r31) /* 803723F0 0036F350 28 0C 00 00 */ cmplwi r12, 0 /* 803723F4 0036F354 41 82 00 14 */ beq lbl_80372408 /* 803723F8 0036F358 7D 88 03 A6 */ mtlr r12 /* 803723FC 0036F35C 38 9F 00 00 */ addi r4, r31, 0 /* 80372400 0036F360 38 60 FF FD */ li r3, -3 /* 80372404 0036F364 4E 80 00 21 */ blrl lbl_80372408: /* 80372408 0036F368 81 8D AC 34 */ lwz r12, CancelCallback@sda21(r13) /* 8037240C 0036F36C 28 0C 00 00 */ cmplwi r12, 0 /* 80372410 0036F370 41 82 00 14 */ beq lbl_80372424 /* 80372414 0036F374 7D 88 03 A6 */ mtlr r12 /* 80372418 0036F378 38 9F 00 00 */ addi r4, r31, 0 /* 8037241C 0036F37C 38 60 00 00 */ li r3, 0 /* 80372420 0036F380 4E 80 00 21 */ blrl lbl_80372424: /* 80372424 0036F384 48 00 07 E1 */ bl stateReady /* 80372428 0036F388 38 00 00 01 */ li r0, 1 /* 8037242C 0036F38C 48 00 00 08 */ b lbl_80372434 lbl_80372430: /* 80372430 0036F390 38 00 00 00 */ li r0, 0 lbl_80372434: /* 80372434 0036F394 2C 00 00 00 */ cmpwi r0, 0 /* 80372438 0036F398 40 82 00 14 */ bne lbl_8037244C /* 8037243C 0036F39C 80 6D AC 10 */ lwz r3, executing@sda21(r13) /* 80372440 0036F3A0 38 00 00 0B */ li r0, 0xb /* 80372444 0036F3A4 90 03 00 0C */ stw r0, 0xc(r3) /* 80372448 0036F3A8 48 00 06 B1 */ bl stateMotorStopped lbl_8037244C: /* 8037244C 0036F3AC 80 01 00 1C */ lwz r0, 0x1c(r1) /* 80372450 0036F3B0 83 E1 00 14 */ lwz r31, 0x14(r1) /* 80372454 0036F3B4 38 21 00 18 */ addi r1, r1, 0x18 /* 80372458 0036F3B8 7C 08 03 A6 */ mtlr r0 /* 8037245C 0036F3BC 4E 80 00 20 */ blr .global stateCheckID stateCheckID: /* 80372460 0036F3C0 7C 08 02 A6 */ mflr r0 /* 80372464 0036F3C4 3C 60 80 54 */ lis r3, BB2@ha /* 80372468 0036F3C8 90 01 00 04 */ stw r0, 4(r1) /* 8037246C 0036F3CC 94 21 FF F0 */ stwu r1, -0x10(r1) /* 80372470 0036F3D0 93 E1 00 0C */ stw r31, 0xc(r1) /* 80372474 0036F3D4 3B E3 0B 60 */ addi r31, r3, BB2@l /* 80372478 0036F3D8 80 0D AC 2C */ lwz r0, CurrCommand@sda21(r13) /* 8037247C 0036F3DC 2C 00 00 03 */ cmpwi r0, 3 /* 80372480 0036F3E0 41 82 00 08 */ beq lbl_80372488 /* 80372484 0036F3E4 48 00 00 6C */ b lbl_803724F0 lbl_80372488: /* 80372488 0036F3E8 80 8D AC 10 */ lwz r4, executing@sda21(r13) /* 8037248C 0036F3EC 38 7F 00 20 */ addi r3, r31, 0x20 /* 80372490 0036F3F0 80 84 00 24 */ lwz r4, 0x24(r4) /* 80372494 0036F3F4 48 00 27 B5 */ bl DVDCompareDiskID /* 80372498 0036F3F8 2C 03 00 00 */ cmpwi r3, 0 /* 8037249C 0036F3FC 41 82 00 44 */ beq lbl_803724E0 /* 803724A0 0036F400 80 6D AC 14 */ lwz r3, IDShouldBe@sda21(r13) /* 803724A4 0036F404 38 9F 00 20 */ addi r4, r31, 0x20 /* 803724A8 0036F408 38 A0 00 20 */ li r5, 0x20 /* 803724AC 0036F40C 4B C9 0F E5 */ bl memcpy /* 803724B0 0036F410 80 8D AC 10 */ lwz r4, executing@sda21(r13) /* 803724B4 0036F414 38 00 00 01 */ li r0, 1 /* 803724B8 0036F418 38 7F 00 00 */ addi r3, r31, 0 /* 803724BC 0036F41C 90 04 00 0C */ stw r0, 0xc(r4) /* 803724C0 0036F420 38 80 00 20 */ li r4, 0x20 /* 803724C4 0036F424 48 00 C5 C1 */ bl DCInvalidateRange /* 803724C8 0036F428 3C 80 80 37 */ lis r4, stateCheckID2a@ha /* 803724CC 0036F42C 80 6D AC 10 */ lwz r3, executing@sda21(r13) /* 803724D0 0036F430 38 04 25 74 */ addi r0, r4, stateCheckID2a@l /* 803724D4 0036F434 90 0D AC 58 */ stw r0, LastState@sda21(r13) /* 803724D8 0036F438 48 00 00 9D */ bl stateCheckID2a /* 803724DC 0036F43C 48 00 00 50 */ b lbl_8037252C lbl_803724E0: /* 803724E0 0036F440 3C 60 80 37 */ lis r3, cbForStateCheckID1@ha /* 803724E4 0036F444 38 63 26 54 */ addi r3, r3, cbForStateCheckID1@l /* 803724E8 0036F448 4B FF E9 5D */ bl DVDLowStopMotor /* 803724EC 0036F44C 48 00 00 40 */ b lbl_8037252C lbl_803724F0: /* 803724F0 0036F450 80 8D AC 14 */ lwz r4, IDShouldBe@sda21(r13) /* 803724F4 0036F454 38 7F 00 20 */ addi r3, r31, 0x20 /* 803724F8 0036F458 38 A0 00 20 */ li r5, 0x20 /* 803724FC 0036F45C 48 01 B3 81 */ bl memcmp /* 80372500 0036F460 2C 03 00 00 */ cmpwi r3, 0 /* 80372504 0036F464 41 82 00 14 */ beq lbl_80372518 /* 80372508 0036F468 3C 60 80 37 */ lis r3, cbForStateCheckID1@ha /* 8037250C 0036F46C 38 63 26 54 */ addi r3, r3, cbForStateCheckID1@l /* 80372510 0036F470 4B FF E9 35 */ bl DVDLowStopMotor /* 80372514 0036F474 48 00 00 18 */ b lbl_8037252C lbl_80372518: /* 80372518 0036F478 3C 80 80 37 */ lis r4, stateCheckID3@ha /* 8037251C 0036F47C 80 6D AC 10 */ lwz r3, executing@sda21(r13) /* 80372520 0036F480 38 04 25 40 */ addi r0, r4, stateCheckID3@l /* 80372524 0036F484 90 0D AC 58 */ stw r0, LastState@sda21(r13) /* 80372528 0036F488 48 00 00 19 */ bl stateCheckID3 lbl_8037252C: /* 8037252C 0036F48C 80 01 00 14 */ lwz r0, 0x14(r1) /* 80372530 0036F490 83 E1 00 0C */ lwz r31, 0xc(r1) /* 80372534 0036F494 38 21 00 10 */ addi r1, r1, 0x10 /* 80372538 0036F498 7C 08 03 A6 */ mtlr r0 /* 8037253C 0036F49C 4E 80 00 20 */ blr .global stateCheckID3 stateCheckID3: /* 80372540 0036F4A0 7C 08 02 A6 */ mflr r0 /* 80372544 0036F4A4 3C 60 80 37 */ lis r3, cbForStateCheckID3@ha /* 80372548 0036F4A8 90 01 00 04 */ stw r0, 4(r1) /* 8037254C 0036F4AC 38 A3 28 4C */ addi r5, r3, cbForStateCheckID3@l /* 80372550 0036F4B0 94 21 FF F8 */ stwu r1, -8(r1) /* 80372554 0036F4B4 80 8D AC 14 */ lwz r4, IDShouldBe@sda21(r13) /* 80372558 0036F4B8 88 64 00 08 */ lbz r3, 8(r4) /* 8037255C 0036F4BC 38 80 00 0A */ li r4, 0xa /* 80372560 0036F4C0 4B FF EB BD */ bl DVDLowAudioBufferConfig /* 80372564 0036F4C4 80 01 00 0C */ lwz r0, 0xc(r1) /* 80372568 0036F4C8 38 21 00 08 */ addi r1, r1, 8 /* 8037256C 0036F4CC 7C 08 03 A6 */ mtlr r0 /* 80372570 0036F4D0 4E 80 00 20 */ blr .global stateCheckID2a stateCheckID2a: /* 80372574 0036F4D4 7C 08 02 A6 */ mflr r0 /* 80372578 0036F4D8 3C 60 80 37 */ lis r3, cbForStateCheckID2a@ha /* 8037257C 0036F4DC 90 01 00 04 */ stw r0, 4(r1) /* 80372580 0036F4E0 38 A3 25 A8 */ addi r5, r3, cbForStateCheckID2a@l /* 80372584 0036F4E4 94 21 FF F8 */ stwu r1, -8(r1) /* 80372588 0036F4E8 80 8D AC 14 */ lwz r4, IDShouldBe@sda21(r13) /* 8037258C 0036F4EC 88 64 00 08 */ lbz r3, 8(r4) /* 80372590 0036F4F0 38 80 00 0A */ li r4, 0xa /* 80372594 0036F4F4 4B FF EB 89 */ bl DVDLowAudioBufferConfig /* 80372598 0036F4F8 80 01 00 0C */ lwz r0, 0xc(r1) /* 8037259C 0036F4FC 38 21 00 08 */ addi r1, r1, 8 /* 803725A0 0036F500 7C 08 03 A6 */ mtlr r0 /* 803725A4 0036F504 4E 80 00 20 */ blr .global cbForStateCheckID2a cbForStateCheckID2a: /* 803725A8 0036F508 7C 08 02 A6 */ mflr r0 /* 803725AC 0036F50C 28 03 00 10 */ cmplwi r3, 0x10 /* 803725B0 0036F510 90 01 00 04 */ stw r0, 4(r1) /* 803725B4 0036F514 94 21 FF F8 */ stwu r1, -8(r1) /* 803725B8 0036F518 40 82 00 2C */ bne lbl_803725E4 /* 803725BC 0036F51C 80 8D AC 10 */ lwz r4, executing@sda21(r13) /* 803725C0 0036F520 38 00 FF FF */ li r0, -1 /* 803725C4 0036F524 3C 60 01 23 */ lis r3, 0x01234568@ha /* 803725C8 0036F528 90 04 00 0C */ stw r0, 0xc(r4) /* 803725CC 0036F52C 38 63 45 68 */ addi r3, r3, 0x01234568@l /* 803725D0 0036F530 48 00 25 FD */ bl __DVDStoreErrorCode /* 803725D4 0036F534 48 00 1A ED */ bl DVDReset /* 803725D8 0036F538 38 60 00 00 */ li r3, 0 /* 803725DC 0036F53C 4B FF F7 B5 */ bl cbForStateError /* 803725E0 0036F540 48 00 00 2C */ b lbl_8037260C lbl_803725E4: /* 803725E4 0036F544 54 60 07 FF */ clrlwi. r0, r3, 0x1f /* 803725E8 0036F548 41 82 00 18 */ beq lbl_80372600 /* 803725EC 0036F54C 38 00 00 00 */ li r0, 0 /* 803725F0 0036F550 80 6D AC 10 */ lwz r3, executing@sda21(r13) /* 803725F4 0036F554 90 0D AC 44 */ stw r0, NumInternalRetry@sda21(r13) /* 803725F8 0036F558 48 00 00 25 */ bl stateCheckID2 /* 803725FC 0036F55C 48 00 00 10 */ b lbl_8037260C lbl_80372600: /* 80372600 0036F560 3C 60 80 37 */ lis r3, cbForStateGettingError@ha /* 80372604 0036F564 38 63 1F 4C */ addi r3, r3, cbForStateGettingError@l /* 80372608 0036F568 4B FF E8 C9 */ bl DVDLowRequestError lbl_8037260C: /* 8037260C 0036F56C 80 01 00 0C */ lwz r0, 0xc(r1) /* 80372610 0036F570 38 21 00 08 */ addi r1, r1, 8 /* 80372614 0036F574 7C 08 03 A6 */ mtlr r0 /* 80372618 0036F578 4E 80 00 20 */ blr .global stateCheckID2 stateCheckID2: /* 8037261C 0036F57C 7C 08 02 A6 */ mflr r0 /* 80372620 0036F580 3C 60 80 54 */ lis r3, BB2@ha /* 80372624 0036F584 90 01 00 04 */ stw r0, 4(r1) /* 80372628 0036F588 3C 80 80 37 */ lis r4, cbForStateCheckID2@ha /* 8037262C 0036F58C 38 C4 27 68 */ addi r6, r4, cbForStateCheckID2@l /* 80372630 0036F590 94 21 FF F8 */ stwu r1, -8(r1) /* 80372634 0036F594 38 63 0B 60 */ addi r3, r3, BB2@l /* 80372638 0036F598 38 80 00 20 */ li r4, 0x20 /* 8037263C 0036F59C 38 A0 04 20 */ li r5, 0x420 /* 80372640 0036F5A0 4B FF E4 09 */ bl DVDLowRead /* 80372644 0036F5A4 80 01 00 0C */ lwz r0, 0xc(r1) /* 80372648 0036F5A8 38 21 00 08 */ addi r1, r1, 8 /* 8037264C 0036F5AC 7C 08 03 A6 */ mtlr r0 /* 80372650 0036F5B0 4E 80 00 20 */ blr .global cbForStateCheckID1 cbForStateCheckID1: /* 80372654 0036F5B4 7C 08 02 A6 */ mflr r0 /* 80372658 0036F5B8 28 03 00 10 */ cmplwi r3, 0x10 /* 8037265C 0036F5BC 90 01 00 04 */ stw r0, 4(r1) /* 80372660 0036F5C0 94 21 FF E8 */ stwu r1, -0x18(r1) /* 80372664 0036F5C4 93 E1 00 14 */ stw r31, 0x14(r1) /* 80372668 0036F5C8 40 82 00 2C */ bne lbl_80372694 /* 8037266C 0036F5CC 80 8D AC 10 */ lwz r4, executing@sda21(r13) /* 80372670 0036F5D0 38 00 FF FF */ li r0, -1 /* 80372674 0036F5D4 3C 60 01 23 */ lis r3, 0x01234568@ha /* 80372678 0036F5D8 90 04 00 0C */ stw r0, 0xc(r4) /* 8037267C 0036F5DC 38 63 45 68 */ addi r3, r3, 0x01234568@l /* 80372680 0036F5E0 48 00 25 4D */ bl __DVDStoreErrorCode /* 80372684 0036F5E4 48 00 1A 3D */ bl DVDReset /* 80372688 0036F5E8 38 60 00 00 */ li r3, 0 /* 8037268C 0036F5EC 4B FF F7 05 */ bl cbForStateError /* 80372690 0036F5F0 48 00 00 C4 */ b lbl_80372754 lbl_80372694: /* 80372694 0036F5F4 54 60 07 BD */ rlwinm. r0, r3, 0, 0x1e, 0x1e /* 80372698 0036F5F8 41 82 00 2C */ beq lbl_803726C4 /* 8037269C 0036F5FC 80 8D AC 10 */ lwz r4, executing@sda21(r13) /* 803726A0 0036F600 38 00 FF FF */ li r0, -1 /* 803726A4 0036F604 3C 60 01 23 */ lis r3, 0x01234567@ha /* 803726A8 0036F608 90 04 00 0C */ stw r0, 0xc(r4) /* 803726AC 0036F60C 38 63 45 67 */ addi r3, r3, 0x01234567@l /* 803726B0 0036F610 48 00 25 1D */ bl __DVDStoreErrorCode /* 803726B4 0036F614 3C 60 80 37 */ lis r3, cbForStateError@ha /* 803726B8 0036F618 38 63 1D 90 */ addi r3, r3, cbForStateError@l /* 803726BC 0036F61C 4B FF E7 89 */ bl DVDLowStopMotor /* 803726C0 0036F620 48 00 00 94 */ b lbl_80372754 lbl_803726C4: /* 803726C4 0036F624 38 80 00 00 */ li r4, 0 /* 803726C8 0036F628 90 8D AC 44 */ stw r4, NumInternalRetry@sda21(r13) /* 803726CC 0036F62C 80 0D AC 30 */ lwz r0, Canceling@sda21(r13) /* 803726D0 0036F630 28 00 00 00 */ cmplwi r0, 0 /* 803726D4 0036F634 41 82 00 68 */ beq lbl_8037273C /* 803726D8 0036F638 38 00 00 01 */ li r0, 1 /* 803726DC 0036F63C 83 ED AC 10 */ lwz r31, executing@sda21(r13) /* 803726E0 0036F640 90 0D AC 38 */ stw r0, ResumeFromHere@sda21(r13) /* 803726E4 0036F644 3C 60 80 54 */ lis r3, DummyCommandBlock@ha /* 803726E8 0036F648 38 63 0B A0 */ addi r3, r3, DummyCommandBlock@l /* 803726EC 0036F64C 90 8D AC 30 */ stw r4, Canceling@sda21(r13) /* 803726F0 0036F650 38 00 00 0A */ li r0, 0xa /* 803726F4 0036F654 90 6D AC 10 */ stw r3, executing@sda21(r13) /* 803726F8 0036F658 90 1F 00 0C */ stw r0, 0xc(r31) /* 803726FC 0036F65C 81 9F 00 28 */ lwz r12, 0x28(r31) /* 80372700 0036F660 28 0C 00 00 */ cmplwi r12, 0 /* 80372704 0036F664 41 82 00 14 */ beq lbl_80372718 /* 80372708 0036F668 7D 88 03 A6 */ mtlr r12 /* 8037270C 0036F66C 38 9F 00 00 */ addi r4, r31, 0 /* 80372710 0036F670 38 60 FF FD */ li r3, -3 /* 80372714 0036F674 4E 80 00 21 */ blrl lbl_80372718: /* 80372718 0036F678 81 8D AC 34 */ lwz r12, CancelCallback@sda21(r13) /* 8037271C 0036F67C 28 0C 00 00 */ cmplwi r12, 0 /* 80372720 0036F680 41 82 00 14 */ beq lbl_80372734 /* 80372724 0036F684 7D 88 03 A6 */ mtlr r12 /* 80372728 0036F688 38 9F 00 00 */ addi r4, r31, 0 /* 8037272C 0036F68C 38 60 00 00 */ li r3, 0 /* 80372730 0036F690 4E 80 00 21 */ blrl lbl_80372734: /* 80372734 0036F694 48 00 04 D1 */ bl stateReady /* 80372738 0036F698 38 80 00 01 */ li r4, 1 lbl_8037273C: /* 8037273C 0036F69C 2C 04 00 00 */ cmpwi r4, 0 /* 80372740 0036F6A0 40 82 00 14 */ bne lbl_80372754 /* 80372744 0036F6A4 80 6D AC 10 */ lwz r3, executing@sda21(r13) /* 80372748 0036F6A8 38 00 00 06 */ li r0, 6 /* 8037274C 0036F6AC 90 03 00 0C */ stw r0, 0xc(r3) /* 80372750 0036F6B0 48 00 03 A9 */ bl stateMotorStopped lbl_80372754: /* 80372754 0036F6B4 80 01 00 1C */ lwz r0, 0x1c(r1) /* 80372758 0036F6B8 83 E1 00 14 */ lwz r31, 0x14(r1) /* 8037275C 0036F6BC 38 21 00 18 */ addi r1, r1, 0x18 /* 80372760 0036F6C0 7C 08 03 A6 */ mtlr r0 /* 80372764 0036F6C4 4E 80 00 20 */ blr .global cbForStateCheckID2 cbForStateCheckID2: /* 80372768 0036F6C8 7C 08 02 A6 */ mflr r0 /* 8037276C 0036F6CC 28 03 00 10 */ cmplwi r3, 0x10 /* 80372770 0036F6D0 90 01 00 04 */ stw r0, 4(r1) /* 80372774 0036F6D4 94 21 FF E8 */ stwu r1, -0x18(r1) /* 80372778 0036F6D8 93 E1 00 14 */ stw r31, 0x14(r1) /* 8037277C 0036F6DC 40 82 00 2C */ bne lbl_803727A8 /* 80372780 0036F6E0 80 8D AC 10 */ lwz r4, executing@sda21(r13) /* 80372784 0036F6E4 38 00 FF FF */ li r0, -1 /* 80372788 0036F6E8 3C 60 01 23 */ lis r3, 0x01234568@ha /* 8037278C 0036F6EC 90 04 00 0C */ stw r0, 0xc(r4) /* 80372790 0036F6F0 38 63 45 68 */ addi r3, r3, 0x01234568@l /* 80372794 0036F6F4 48 00 24 39 */ bl __DVDStoreErrorCode /* 80372798 0036F6F8 48 00 19 29 */ bl DVDReset /* 8037279C 0036F6FC 38 60 00 00 */ li r3, 0 /* 803727A0 0036F700 4B FF F5 F1 */ bl cbForStateError /* 803727A4 0036F704 48 00 00 94 */ b lbl_80372838 lbl_803727A8: /* 803727A8 0036F708 54 60 07 FF */ clrlwi. r0, r3, 0x1f /* 803727AC 0036F70C 41 82 00 80 */ beq lbl_8037282C /* 803727B0 0036F710 3C 60 80 37 */ lis r3, stateReadingFST@ha /* 803727B4 0036F714 80 8D AC 18 */ lwz r4, bootInfo@sda21(r13) /* 803727B8 0036F718 38 03 1C 70 */ addi r0, r3, stateReadingFST@l /* 803727BC 0036F71C 38 A0 00 00 */ li r5, 0 /* 803727C0 0036F720 90 0D AC 58 */ stw r0, LastState@sda21(r13) /* 803727C4 0036F724 3C 60 80 54 */ lis r3, BB2@ha /* 803727C8 0036F728 90 AD AC 44 */ stw r5, NumInternalRetry@sda21(r13) /* 803727CC 0036F72C 38 63 0B 60 */ addi r3, r3, BB2@l /* 803727D0 0036F730 3B E3 00 08 */ addi r31, r3, 8 /* 803727D4 0036F734 80 64 00 3C */ lwz r3, 0x3c(r4) /* 803727D8 0036F738 80 1F 00 00 */ lwz r0, 0(r31) /* 803727DC 0036F73C 7C 03 00 40 */ cmplw r3, r0 /* 803727E0 0036F740 40 80 00 1C */ bge lbl_803727FC /* 803727E4 0036F744 3C 60 80 3F */ lis r3, lbl_803EFFD4@ha /* 803727E8 0036F748 4C C6 31 82 */ crclr 6 /* 803727EC 0036F74C 38 A3 FF D4 */ addi r5, r3, lbl_803EFFD4@l /* 803727F0 0036F750 38 6D 9E E4 */ addi r3, r13, lbl_805A8AA4@sda21 /* 803727F4 0036F754 38 80 02 76 */ li r4, 0x276 /* 803727F8 0036F758 48 00 D2 35 */ bl OSPanic lbl_803727FC: /* 803727FC 0036F75C 3C 60 80 54 */ lis r3, BB2@ha /* 80372800 0036F760 80 DF 00 00 */ lwz r6, 0(r31) /* 80372804 0036F764 38 A3 0B 60 */ addi r5, r3, BB2@l /* 80372808 0036F768 80 ED AC 18 */ lwz r7, bootInfo@sda21(r13) /* 8037280C 0036F76C 3C 80 80 37 */ lis r4, cbForStateReadingFST@ha /* 80372810 0036F770 80 A5 00 04 */ lwz r5, 4(r5) /* 80372814 0036F774 38 06 00 1F */ addi r0, r6, 0x1f /* 80372818 0036F778 80 67 00 38 */ lwz r3, 0x38(r7) /* 8037281C 0036F77C 38 C4 1D 04 */ addi r6, r4, cbForStateReadingFST@l /* 80372820 0036F780 54 04 00 34 */ rlwinm r4, r0, 0, 0, 0x1a /* 80372824 0036F784 4B FF E2 25 */ bl DVDLowRead /* 80372828 0036F788 48 00 00 10 */ b lbl_80372838 lbl_8037282C: /* 8037282C 0036F78C 3C 60 80 37 */ lis r3, cbForStateGettingError@ha /* 80372830 0036F790 38 63 1F 4C */ addi r3, r3, cbForStateGettingError@l /* 80372834 0036F794 4B FF E6 9D */ bl DVDLowRequestError lbl_80372838: /* 80372838 0036F798 80 01 00 1C */ lwz r0, 0x1c(r1) /* 8037283C 0036F79C 83 E1 00 14 */ lwz r31, 0x14(r1) /* 80372840 0036F7A0 38 21 00 18 */ addi r1, r1, 0x18 /* 80372844 0036F7A4 7C 08 03 A6 */ mtlr r0 /* 80372848 0036F7A8 4E 80 00 20 */ blr .global cbForStateCheckID3 cbForStateCheckID3: /* 8037284C 0036F7AC 7C 08 02 A6 */ mflr r0 /* 80372850 0036F7B0 28 03 00 10 */ cmplwi r3, 0x10 /* 80372854 0036F7B4 90 01 00 04 */ stw r0, 4(r1) /* 80372858 0036F7B8 94 21 FF E8 */ stwu r1, -0x18(r1) /* 8037285C 0036F7BC 93 E1 00 14 */ stw r31, 0x14(r1) /* 80372860 0036F7C0 40 82 00 2C */ bne lbl_8037288C /* 80372864 0036F7C4 80 8D AC 10 */ lwz r4, executing@sda21(r13) /* 80372868 0036F7C8 38 00 FF FF */ li r0, -1 /* 8037286C 0036F7CC 3C 60 01 23 */ lis r3, 0x01234568@ha /* 80372870 0036F7D0 90 04 00 0C */ stw r0, 0xc(r4) /* 80372874 0036F7D4 38 63 45 68 */ addi r3, r3, 0x01234568@l /* 80372878 0036F7D8 48 00 23 55 */ bl __DVDStoreErrorCode /* 8037287C 0036F7DC 48 00 18 45 */ bl DVDReset /* 80372880 0036F7E0 38 60 00 00 */ li r3, 0 /* 80372884 0036F7E4 4B FF F5 0D */ bl cbForStateError /* 80372888 0036F7E8 48 00 00 AC */ b lbl_80372934 lbl_8037288C: /* 8037288C 0036F7EC 54 60 07 FF */ clrlwi. r0, r3, 0x1f /* 80372890 0036F7F0 41 82 00 98 */ beq lbl_80372928 /* 80372894 0036F7F4 38 80 00 00 */ li r4, 0 /* 80372898 0036F7F8 90 8D AC 44 */ stw r4, NumInternalRetry@sda21(r13) /* 8037289C 0036F7FC 80 0D AC 30 */ lwz r0, Canceling@sda21(r13) /* 803728A0 0036F800 28 00 00 00 */ cmplwi r0, 0 /* 803728A4 0036F804 41 82 00 64 */ beq lbl_80372908 /* 803728A8 0036F808 90 8D AC 38 */ stw r4, ResumeFromHere@sda21(r13) /* 803728AC 0036F80C 3C 60 80 54 */ lis r3, DummyCommandBlock@ha /* 803728B0 0036F810 83 ED AC 10 */ lwz r31, executing@sda21(r13) /* 803728B4 0036F814 38 63 0B A0 */ addi r3, r3, DummyCommandBlock@l /* 803728B8 0036F818 90 8D AC 30 */ stw r4, Canceling@sda21(r13) /* 803728BC 0036F81C 38 00 00 0A */ li r0, 0xa /* 803728C0 0036F820 90 6D AC 10 */ stw r3, executing@sda21(r13) /* 803728C4 0036F824 90 1F 00 0C */ stw r0, 0xc(r31) /* 803728C8 0036F828 81 9F 00 28 */ lwz r12, 0x28(r31) /* 803728CC 0036F82C 28 0C 00 00 */ cmplwi r12, 0 /* 803728D0 0036F830 41 82 00 14 */ beq lbl_803728E4 /* 803728D4 0036F834 7D 88 03 A6 */ mtlr r12 /* 803728D8 0036F838 38 9F 00 00 */ addi r4, r31, 0 /* 803728DC 0036F83C 38 60 FF FD */ li r3, -3 /* 803728E0 0036F840 4E 80 00 21 */ blrl lbl_803728E4: /* 803728E4 0036F844 81 8D AC 34 */ lwz r12, CancelCallback@sda21(r13) /* 803728E8 0036F848 28 0C 00 00 */ cmplwi r12, 0 /* 803728EC 0036F84C 41 82 00 14 */ beq lbl_80372900 /* 803728F0 0036F850 7D 88 03 A6 */ mtlr r12 /* 803728F4 0036F854 38 9F 00 00 */ addi r4, r31, 0 /* 803728F8 0036F858 38 60 00 00 */ li r3, 0 /* 803728FC 0036F85C 4E 80 00 21 */ blrl lbl_80372900: /* 80372900 0036F860 48 00 03 05 */ bl stateReady /* 80372904 0036F864 38 80 00 01 */ li r4, 1 lbl_80372908: /* 80372908 0036F868 2C 04 00 00 */ cmpwi r4, 0 /* 8037290C 0036F86C 40 82 00 28 */ bne lbl_80372934 /* 80372910 0036F870 80 6D AC 10 */ lwz r3, executing@sda21(r13) /* 80372914 0036F874 38 00 00 01 */ li r0, 1 /* 80372918 0036F878 90 03 00 0C */ stw r0, 0xc(r3) /* 8037291C 0036F87C 80 6D AC 10 */ lwz r3, executing@sda21(r13) /* 80372920 0036F880 48 00 05 C1 */ bl stateBusy /* 80372924 0036F884 48 00 00 10 */ b lbl_80372934 lbl_80372928: /* 80372928 0036F888 3C 60 80 37 */ lis r3, cbForStateGettingError@ha /* 8037292C 0036F88C 38 63 1F 4C */ addi r3, r3, cbForStateGettingError@l /* 80372930 0036F890 4B FF E5 A1 */ bl DVDLowRequestError lbl_80372934: /* 80372934 0036F894 80 01 00 1C */ lwz r0, 0x1c(r1) /* 80372938 0036F898 83 E1 00 14 */ lwz r31, 0x14(r1) /* 8037293C 0036F89C 38 21 00 18 */ addi r1, r1, 0x18 /* 80372940 0036F8A0 7C 08 03 A6 */ mtlr r0 /* 80372944 0036F8A4 4E 80 00 20 */ blr AlarmHandler: /* 80372948 0036F8A8 7C 08 02 A6 */ mflr r0 /* 8037294C 0036F8AC 90 01 00 04 */ stw r0, 4(r1) /* 80372950 0036F8B0 94 21 FF F8 */ stwu r1, -8(r1) /* 80372954 0036F8B4 48 00 17 6D */ bl DVDReset /* 80372958 0036F8B8 3C 60 80 54 */ lis r3, CurrDiskID@ha /* 8037295C 0036F8BC 38 63 0B 80 */ addi r3, r3, CurrDiskID@l /* 80372960 0036F8C0 38 80 00 20 */ li r4, 0x20 /* 80372964 0036F8C4 48 00 C1 21 */ bl DCInvalidateRange /* 80372968 0036F8C8 3C 80 80 37 */ lis r4, stateCoverClosed_CMD@ha /* 8037296C 0036F8CC 80 6D AC 10 */ lwz r3, executing@sda21(r13) /* 80372970 0036F8D0 38 04 2A 58 */ addi r0, r4, stateCoverClosed_CMD@l /* 80372974 0036F8D4 90 0D AC 58 */ stw r0, LastState@sda21(r13) /* 80372978 0036F8D8 48 00 00 E1 */ bl stateCoverClosed_CMD /* 8037297C 0036F8DC 80 01 00 0C */ lwz r0, 0xc(r1) /* 80372980 0036F8E0 38 21 00 08 */ addi r1, r1, 8 /* 80372984 0036F8E4 7C 08 03 A6 */ mtlr r0 /* 80372988 0036F8E8 4E 80 00 20 */ blr .global stateCoverClosed stateCoverClosed: /* 8037298C 0036F8EC 7C 08 02 A6 */ mflr r0 /* 80372990 0036F8F0 3C 60 80 54 */ lis r3, BB2@ha /* 80372994 0036F8F4 90 01 00 04 */ stw r0, 4(r1) /* 80372998 0036F8F8 94 21 FF F0 */ stwu r1, -0x10(r1) /* 8037299C 0036F8FC 93 E1 00 0C */ stw r31, 0xc(r1) /* 803729A0 0036F900 3B E3 0B 60 */ addi r31, r3, BB2@l /* 803729A4 0036F904 80 0D AC 2C */ lwz r0, CurrCommand@sda21(r13) /* 803729A8 0036F908 2C 00 00 0D */ cmpwi r0, 0xd /* 803729AC 0036F90C 41 82 00 28 */ beq lbl_803729D4 /* 803729B0 0036F910 40 80 00 18 */ bge lbl_803729C8 /* 803729B4 0036F914 2C 00 00 06 */ cmpwi r0, 6 /* 803729B8 0036F918 40 80 00 4C */ bge lbl_80372A04 /* 803729BC 0036F91C 2C 00 00 04 */ cmpwi r0, 4 /* 803729C0 0036F920 40 80 00 14 */ bge lbl_803729D4 /* 803729C4 0036F924 48 00 00 40 */ b lbl_80372A04 lbl_803729C8: /* 803729C8 0036F928 2C 00 00 0F */ cmpwi r0, 0xf /* 803729CC 0036F92C 41 82 00 08 */ beq lbl_803729D4 /* 803729D0 0036F930 48 00 00 34 */ b lbl_80372A04 lbl_803729D4: /* 803729D4 0036F934 48 00 1E E5 */ bl __DVDClearWaitingQueue /* 803729D8 0036F938 80 8D AC 10 */ lwz r4, executing@sda21(r13) /* 803729DC 0036F93C 38 1F 00 40 */ addi r0, r31, 0x40 /* 803729E0 0036F940 90 0D AC 10 */ stw r0, executing@sda21(r13) /* 803729E4 0036F944 81 84 00 28 */ lwz r12, 0x28(r4) /* 803729E8 0036F948 28 0C 00 00 */ cmplwi r12, 0 /* 803729EC 0036F94C 41 82 00 10 */ beq lbl_803729FC /* 803729F0 0036F950 7D 88 03 A6 */ mtlr r12 /* 803729F4 0036F954 38 60 FF FC */ li r3, -4 /* 803729F8 0036F958 4E 80 00 21 */ blrl lbl_803729FC: /* 803729FC 0036F95C 48 00 02 09 */ bl stateReady /* 80372A00 0036F960 48 00 00 44 */ b lbl_80372A44 lbl_80372A04: /* 80372A04 0036F964 48 00 16 BD */ bl DVDReset /* 80372A08 0036F968 38 7F 00 70 */ addi r3, r31, 0x70 /* 80372A0C 0036F96C 48 00 B6 A5 */ bl OSCreateAlarm /* 80372A10 0036F970 3C 60 80 00 */ lis r3, 0x800000F8@ha /* 80372A14 0036F974 80 03 00 F8 */ lwz r0, 0x800000F8@l(r3) /* 80372A18 0036F978 3C 80 10 62 */ lis r4, 0x10624DD3@ha /* 80372A1C 0036F97C 3C 60 80 37 */ lis r3, AlarmHandler@ha /* 80372A20 0036F980 54 00 F0 BE */ srwi r0, r0, 2 /* 80372A24 0036F984 38 84 4D D3 */ addi r4, r4, 0x10624DD3@l /* 80372A28 0036F988 7C 04 00 16 */ mulhwu r0, r4, r0 /* 80372A2C 0036F98C 54 00 D1 BE */ srwi r0, r0, 6 /* 80372A30 0036F990 1C C0 04 7E */ mulli r6, r0, 0x47e /* 80372A34 0036F994 38 E3 29 48 */ addi r7, r3, AlarmHandler@l /* 80372A38 0036F998 38 7F 00 70 */ addi r3, r31, 0x70 /* 80372A3C 0036F99C 38 A0 00 00 */ li r5, 0 /* 80372A40 0036F9A0 48 00 B8 D1 */ bl OSSetAlarm lbl_80372A44: /* 80372A44 0036F9A4 80 01 00 14 */ lwz r0, 0x14(r1) /* 80372A48 0036F9A8 83 E1 00 0C */ lwz r31, 0xc(r1) /* 80372A4C 0036F9AC 38 21 00 10 */ addi r1, r1, 0x10 /* 80372A50 0036F9B0 7C 08 03 A6 */ mtlr r0 /* 80372A54 0036F9B4 4E 80 00 20 */ blr .global stateCoverClosed_CMD stateCoverClosed_CMD: /* 80372A58 0036F9B8 7C 08 02 A6 */ mflr r0 /* 80372A5C 0036F9BC 3C 60 80 54 */ lis r3, CurrDiskID@ha /* 80372A60 0036F9C0 90 01 00 04 */ stw r0, 4(r1) /* 80372A64 0036F9C4 3C 80 80 37 */ lis r4, cbForStateCoverClosed@ha /* 80372A68 0036F9C8 38 63 0B 80 */ addi r3, r3, CurrDiskID@l /* 80372A6C 0036F9CC 94 21 FF F8 */ stwu r1, -8(r1) /* 80372A70 0036F9D0 38 84 2A 88 */ addi r4, r4, cbForStateCoverClosed@l /* 80372A74 0036F9D4 4B FF E3 2D */ bl DVDLowReadDiskID /* 80372A78 0036F9D8 80 01 00 0C */ lwz r0, 0xc(r1) /* 80372A7C 0036F9DC 38 21 00 08 */ addi r1, r1, 8 /* 80372A80 0036F9E0 7C 08 03 A6 */ mtlr r0 /* 80372A84 0036F9E4 4E 80 00 20 */ blr .global cbForStateCoverClosed cbForStateCoverClosed: /* 80372A88 0036F9E8 7C 08 02 A6 */ mflr r0 /* 80372A8C 0036F9EC 28 03 00 10 */ cmplwi r3, 0x10 /* 80372A90 0036F9F0 90 01 00 04 */ stw r0, 4(r1) /* 80372A94 0036F9F4 94 21 FF F8 */ stwu r1, -8(r1) /* 80372A98 0036F9F8 40 82 00 2C */ bne lbl_80372AC4 /* 80372A9C 0036F9FC 80 8D AC 10 */ lwz r4, executing@sda21(r13) /* 80372AA0 0036FA00 38 00 FF FF */ li r0, -1 /* 80372AA4 0036FA04 3C 60 01 23 */ lis r3, 0x01234568@ha /* 80372AA8 0036FA08 90 04 00 0C */ stw r0, 0xc(r4) /* 80372AAC 0036FA0C 38 63 45 68 */ addi r3, r3, 0x01234568@l /* 80372AB0 0036FA10 48 00 21 1D */ bl __DVDStoreErrorCode /* 80372AB4 0036FA14 48 00 16 0D */ bl DVDReset /* 80372AB8 0036FA18 38 60 00 00 */ li r3, 0 /* 80372ABC 0036FA1C 4B FF F2 D5 */ bl cbForStateError /* 80372AC0 0036FA20 48 00 00 28 */ b lbl_80372AE8 lbl_80372AC4: /* 80372AC4 0036FA24 54 60 07 FF */ clrlwi. r0, r3, 0x1f /* 80372AC8 0036FA28 41 82 00 14 */ beq lbl_80372ADC /* 80372ACC 0036FA2C 38 00 00 00 */ li r0, 0 /* 80372AD0 0036FA30 90 0D AC 44 */ stw r0, NumInternalRetry@sda21(r13) /* 80372AD4 0036FA34 4B FF F9 8D */ bl stateCheckID /* 80372AD8 0036FA38 48 00 00 10 */ b lbl_80372AE8 lbl_80372ADC: /* 80372ADC 0036FA3C 3C 60 80 37 */ lis r3, cbForStateGettingError@ha /* 80372AE0 0036FA40 38 63 1F 4C */ addi r3, r3, cbForStateGettingError@l /* 80372AE4 0036FA44 4B FF E3 ED */ bl DVDLowRequestError lbl_80372AE8: /* 80372AE8 0036FA48 80 01 00 0C */ lwz r0, 0xc(r1) /* 80372AEC 0036FA4C 38 21 00 08 */ addi r1, r1, 8 /* 80372AF0 0036FA50 7C 08 03 A6 */ mtlr r0 /* 80372AF4 0036FA54 4E 80 00 20 */ blr .global stateMotorStopped stateMotorStopped: /* 80372AF8 0036FA58 7C 08 02 A6 */ mflr r0 /* 80372AFC 0036FA5C 3C 60 80 37 */ lis r3, cbForStateMotorStopped@ha /* 80372B00 0036FA60 90 01 00 04 */ stw r0, 4(r1) /* 80372B04 0036FA64 38 63 2B 20 */ addi r3, r3, cbForStateMotorStopped@l /* 80372B08 0036FA68 94 21 FF F8 */ stwu r1, -8(r1) /* 80372B0C 0036FA6C 4B FF E2 69 */ bl DVDLowWaitCoverClose /* 80372B10 0036FA70 80 01 00 0C */ lwz r0, 0xc(r1) /* 80372B14 0036FA74 38 21 00 08 */ addi r1, r1, 8 /* 80372B18 0036FA78 7C 08 03 A6 */ mtlr r0 /* 80372B1C 0036FA7C 4E 80 00 20 */ blr .global cbForStateMotorStopped cbForStateMotorStopped: /* 80372B20 0036FA80 7C 08 02 A6 */ mflr r0 /* 80372B24 0036FA84 3C 60 CC 00 */ lis r3, 0xCC006004@ha /* 80372B28 0036FA88 90 01 00 04 */ stw r0, 4(r1) /* 80372B2C 0036FA8C 38 00 00 00 */ li r0, 0 /* 80372B30 0036FA90 3C 80 80 54 */ lis r4, BB2@ha /* 80372B34 0036FA94 94 21 FF E8 */ stwu r1, -0x18(r1) /* 80372B38 0036FA98 93 E1 00 14 */ stw r31, 0x14(r1) /* 80372B3C 0036FA9C 3B E4 0B 60 */ addi r31, r4, BB2@l /* 80372B40 0036FAA0 90 03 60 04 */ stw r0, 0xCC006004@l(r3) /* 80372B44 0036FAA4 38 00 00 03 */ li r0, 3 /* 80372B48 0036FAA8 80 6D AC 10 */ lwz r3, executing@sda21(r13) /* 80372B4C 0036FAAC 90 03 00 0C */ stw r0, 0xc(r3) /* 80372B50 0036FAB0 80 0D AC 2C */ lwz r0, CurrCommand@sda21(r13) /* 80372B54 0036FAB4 2C 00 00 0D */ cmpwi r0, 0xd /* 80372B58 0036FAB8 41 82 00 28 */ beq lbl_80372B80 /* 80372B5C 0036FABC 40 80 00 18 */ bge lbl_80372B74 /* 80372B60 0036FAC0 2C 00 00 06 */ cmpwi r0, 6 /* 80372B64 0036FAC4 40 80 00 4C */ bge lbl_80372BB0 /* 80372B68 0036FAC8 2C 00 00 04 */ cmpwi r0, 4 /* 80372B6C 0036FACC 40 80 00 14 */ bge lbl_80372B80 /* 80372B70 0036FAD0 48 00 00 40 */ b lbl_80372BB0 lbl_80372B74: /* 80372B74 0036FAD4 2C 00 00 0F */ cmpwi r0, 0xf /* 80372B78 0036FAD8 41 82 00 08 */ beq lbl_80372B80 /* 80372B7C 0036FADC 48 00 00 34 */ b lbl_80372BB0 lbl_80372B80: /* 80372B80 0036FAE0 48 00 1D 39 */ bl __DVDClearWaitingQueue /* 80372B84 0036FAE4 80 8D AC 10 */ lwz r4, executing@sda21(r13) /* 80372B88 0036FAE8 38 1F 00 40 */ addi r0, r31, 0x40 /* 80372B8C 0036FAEC 90 0D AC 10 */ stw r0, executing@sda21(r13) /* 80372B90 0036FAF0 81 84 00 28 */ lwz r12, 0x28(r4) /* 80372B94 0036FAF4 28 0C 00 00 */ cmplwi r12, 0 /* 80372B98 0036FAF8 41 82 00 10 */ beq lbl_80372BA8 /* 80372B9C 0036FAFC 7D 88 03 A6 */ mtlr r12 /* 80372BA0 0036FB00 38 60 FF FC */ li r3, -4 /* 80372BA4 0036FB04 4E 80 00 21 */ blrl lbl_80372BA8: /* 80372BA8 0036FB08 48 00 00 5D */ bl stateReady /* 80372BAC 0036FB0C 48 00 00 44 */ b lbl_80372BF0 lbl_80372BB0: /* 80372BB0 0036FB10 48 00 15 11 */ bl DVDReset /* 80372BB4 0036FB14 38 7F 00 70 */ addi r3, r31, 0x70 /* 80372BB8 0036FB18 48 00 B4 F9 */ bl OSCreateAlarm /* 80372BBC 0036FB1C 3C 60 80 00 */ lis r3, 0x800000F8@ha /* 80372BC0 0036FB20 80 03 00 F8 */ lwz r0, 0x800000F8@l(r3) /* 80372BC4 0036FB24 3C 80 10 62 */ lis r4, 0x10624DD3@ha /* 80372BC8 0036FB28 3C 60 80 37 */ lis r3, AlarmHandler@ha /* 80372BCC 0036FB2C 54 00 F0 BE */ srwi r0, r0, 2 /* 80372BD0 0036FB30 38 84 4D D3 */ addi r4, r4, 0x10624DD3@l /* 80372BD4 0036FB34 7C 04 00 16 */ mulhwu r0, r4, r0 /* 80372BD8 0036FB38 54 00 D1 BE */ srwi r0, r0, 6 /* 80372BDC 0036FB3C 1C C0 04 7E */ mulli r6, r0, 0x47e /* 80372BE0 0036FB40 38 E3 29 48 */ addi r7, r3, AlarmHandler@l /* 80372BE4 0036FB44 38 7F 00 70 */ addi r3, r31, 0x70 /* 80372BE8 0036FB48 38 A0 00 00 */ li r5, 0 /* 80372BEC 0036FB4C 48 00 B7 25 */ bl OSSetAlarm lbl_80372BF0: /* 80372BF0 0036FB50 80 01 00 1C */ lwz r0, 0x1c(r1) /* 80372BF4 0036FB54 83 E1 00 14 */ lwz r31, 0x14(r1) /* 80372BF8 0036FB58 38 21 00 18 */ addi r1, r1, 0x18 /* 80372BFC 0036FB5C 7C 08 03 A6 */ mtlr r0 /* 80372C00 0036FB60 4E 80 00 20 */ blr .global stateReady stateReady: /* 80372C04 0036FB64 7C 08 02 A6 */ mflr r0 /* 80372C08 0036FB68 3C 60 80 54 */ lis r3, BB2@ha /* 80372C0C 0036FB6C 90 01 00 04 */ stw r0, 4(r1) /* 80372C10 0036FB70 94 21 FF F0 */ stwu r1, -0x10(r1) /* 80372C14 0036FB74 93 E1 00 0C */ stw r31, 0xc(r1) /* 80372C18 0036FB78 3B E3 0B 60 */ addi r31, r3, BB2@l /* 80372C1C 0036FB7C 48 00 1D DD */ bl __DVDCheckWaitingQueue /* 80372C20 0036FB80 2C 03 00 00 */ cmpwi r3, 0 /* 80372C24 0036FB84 40 82 00 10 */ bne lbl_80372C34 /* 80372C28 0036FB88 38 00 00 00 */ li r0, 0 /* 80372C2C 0036FB8C 90 0D AC 10 */ stw r0, executing@sda21(r13) /* 80372C30 0036FB90 48 00 02 9C */ b lbl_80372ECC lbl_80372C34: /* 80372C34 0036FB94 80 0D AC 1C */ lwz r0, PauseFlag@sda21(r13) /* 80372C38 0036FB98 2C 00 00 00 */ cmpwi r0, 0 /* 80372C3C 0036FB9C 41 82 00 18 */ beq lbl_80372C54 /* 80372C40 0036FBA0 38 60 00 01 */ li r3, 1 /* 80372C44 0036FBA4 38 00 00 00 */ li r0, 0 /* 80372C48 0036FBA8 90 6D AC 20 */ stw r3, PausingFlag@sda21(r13) /* 80372C4C 0036FBAC 90 0D AC 10 */ stw r0, executing@sda21(r13) /* 80372C50 0036FBB0 48 00 02 7C */ b lbl_80372ECC lbl_80372C54: /* 80372C54 0036FBB4 48 00 1D 05 */ bl __DVDPopWaitingQueue /* 80372C58 0036FBB8 80 0D AC 28 */ lwz r0, FatalErrorFlag@sda21(r13) /* 80372C5C 0036FBBC 90 6D AC 10 */ stw r3, executing@sda21(r13) /* 80372C60 0036FBC0 2C 00 00 00 */ cmpwi r0, 0 /* 80372C64 0036FBC4 41 82 00 3C */ beq lbl_80372CA0 /* 80372C68 0036FBC8 80 6D AC 10 */ lwz r3, executing@sda21(r13) /* 80372C6C 0036FBCC 38 80 FF FF */ li r4, -1 /* 80372C70 0036FBD0 38 1F 00 40 */ addi r0, r31, 0x40 /* 80372C74 0036FBD4 90 83 00 0C */ stw r4, 0xc(r3) /* 80372C78 0036FBD8 80 8D AC 10 */ lwz r4, executing@sda21(r13) /* 80372C7C 0036FBDC 90 0D AC 10 */ stw r0, executing@sda21(r13) /* 80372C80 0036FBE0 81 84 00 28 */ lwz r12, 0x28(r4) /* 80372C84 0036FBE4 28 0C 00 00 */ cmplwi r12, 0 /* 80372C88 0036FBE8 41 82 00 10 */ beq lbl_80372C98 /* 80372C8C 0036FBEC 7D 88 03 A6 */ mtlr r12 /* 80372C90 0036FBF0 38 60 FF FF */ li r3, -1 /* 80372C94 0036FBF4 4E 80 00 21 */ blrl lbl_80372C98: /* 80372C98 0036FBF8 4B FF FF 6D */ bl stateReady /* 80372C9C 0036FBFC 48 00 02 30 */ b lbl_80372ECC lbl_80372CA0: /* 80372CA0 0036FC00 80 8D AC 10 */ lwz r4, executing@sda21(r13) /* 80372CA4 0036FC04 80 04 00 08 */ lwz r0, 8(r4) /* 80372CA8 0036FC08 90 0D AC 2C */ stw r0, CurrCommand@sda21(r13) /* 80372CAC 0036FC0C 80 0D AC 38 */ lwz r0, ResumeFromHere@sda21(r13) /* 80372CB0 0036FC10 28 00 00 00 */ cmplwi r0, 0 /* 80372CB4 0036FC14 41 82 02 08 */ beq lbl_80372EBC /* 80372CB8 0036FC18 80 0D AC 38 */ lwz r0, ResumeFromHere@sda21(r13) /* 80372CBC 0036FC1C 2C 00 00 04 */ cmpwi r0, 4 /* 80372CC0 0036FC20 41 82 01 10 */ beq lbl_80372DD0 /* 80372CC4 0036FC24 40 80 00 1C */ bge lbl_80372CE0 /* 80372CC8 0036FC28 2C 00 00 02 */ cmpwi r0, 2 /* 80372CCC 0036FC2C 41 82 00 D4 */ beq lbl_80372DA0 /* 80372CD0 0036FC30 40 80 00 E8 */ bge lbl_80372DB8 /* 80372CD4 0036FC34 2C 00 00 01 */ cmpwi r0, 1 /* 80372CD8 0036FC38 40 80 00 1C */ bge lbl_80372CF4 /* 80372CDC 0036FC3C 48 00 01 D4 */ b lbl_80372EB0 lbl_80372CE0: /* 80372CE0 0036FC40 2C 00 00 08 */ cmpwi r0, 8 /* 80372CE4 0036FC44 40 80 01 CC */ bge lbl_80372EB0 /* 80372CE8 0036FC48 2C 00 00 06 */ cmpwi r0, 6 /* 80372CEC 0036FC4C 40 80 00 FC */ bge lbl_80372DE8 /* 80372CF0 0036FC50 48 00 01 A4 */ b lbl_80372E94 lbl_80372CF4: /* 80372CF4 0036FC54 38 00 00 01 */ li r0, 1 /* 80372CF8 0036FC58 90 04 00 0C */ stw r0, 0xc(r4) /* 80372CFC 0036FC5C 80 0D AC 2C */ lwz r0, CurrCommand@sda21(r13) /* 80372D00 0036FC60 2C 00 00 0D */ cmpwi r0, 0xd /* 80372D04 0036FC64 41 82 00 28 */ beq lbl_80372D2C /* 80372D08 0036FC68 40 80 00 18 */ bge lbl_80372D20 /* 80372D0C 0036FC6C 2C 00 00 06 */ cmpwi r0, 6 /* 80372D10 0036FC70 40 80 00 4C */ bge lbl_80372D5C /* 80372D14 0036FC74 2C 00 00 04 */ cmpwi r0, 4 /* 80372D18 0036FC78 40 80 00 14 */ bge lbl_80372D2C /* 80372D1C 0036FC7C 48 00 00 40 */ b lbl_80372D5C lbl_80372D20: /* 80372D20 0036FC80 2C 00 00 0F */ cmpwi r0, 0xf /* 80372D24 0036FC84 41 82 00 08 */ beq lbl_80372D2C /* 80372D28 0036FC88 48 00 00 34 */ b lbl_80372D5C lbl_80372D2C: /* 80372D2C 0036FC8C 48 00 1B 8D */ bl __DVDClearWaitingQueue /* 80372D30 0036FC90 80 8D AC 10 */ lwz r4, executing@sda21(r13) /* 80372D34 0036FC94 38 1F 00 40 */ addi r0, r31, 0x40 /* 80372D38 0036FC98 90 0D AC 10 */ stw r0, executing@sda21(r13) /* 80372D3C 0036FC9C 81 84 00 28 */ lwz r12, 0x28(r4) /* 80372D40 0036FCA0 28 0C 00 00 */ cmplwi r12, 0 /* 80372D44 0036FCA4 41 82 00 10 */ beq lbl_80372D54 /* 80372D48 0036FCA8 7D 88 03 A6 */ mtlr r12 /* 80372D4C 0036FCAC 38 60 FF FC */ li r3, -4 /* 80372D50 0036FCB0 4E 80 00 21 */ blrl lbl_80372D54: /* 80372D54 0036FCB4 4B FF FE B1 */ bl stateReady /* 80372D58 0036FCB8 48 00 01 58 */ b lbl_80372EB0 lbl_80372D5C: /* 80372D5C 0036FCBC 48 00 13 65 */ bl DVDReset /* 80372D60 0036FCC0 38 7F 00 70 */ addi r3, r31, 0x70 /* 80372D64 0036FCC4 48 00 B3 4D */ bl OSCreateAlarm /* 80372D68 0036FCC8 3C 60 80 00 */ lis r3, 0x800000F8@ha /* 80372D6C 0036FCCC 80 03 00 F8 */ lwz r0, 0x800000F8@l(r3) /* 80372D70 0036FCD0 3C 80 10 62 */ lis r4, 0x10624DD3@ha /* 80372D74 0036FCD4 3C 60 80 37 */ lis r3, AlarmHandler@ha /* 80372D78 0036FCD8 54 00 F0 BE */ srwi r0, r0, 2 /* 80372D7C 0036FCDC 38 84 4D D3 */ addi r4, r4, 0x10624DD3@l /* 80372D80 0036FCE0 7C 04 00 16 */ mulhwu r0, r4, r0 /* 80372D84 0036FCE4 54 00 D1 BE */ srwi r0, r0, 6 /* 80372D88 0036FCE8 1C C0 04 7E */ mulli r6, r0, 0x47e /* 80372D8C 0036FCEC 38 E3 29 48 */ addi r7, r3, AlarmHandler@l /* 80372D90 0036FCF0 38 7F 00 70 */ addi r3, r31, 0x70 /* 80372D94 0036FCF4 38 A0 00 00 */ li r5, 0 /* 80372D98 0036FCF8 48 00 B5 79 */ bl OSSetAlarm /* 80372D9C 0036FCFC 48 00 01 14 */ b lbl_80372EB0 lbl_80372DA0: /* 80372DA0 0036FD00 38 00 00 0B */ li r0, 0xb /* 80372DA4 0036FD04 3C 60 80 37 */ lis r3, cbForStateMotorStopped@ha /* 80372DA8 0036FD08 90 04 00 0C */ stw r0, 0xc(r4) /* 80372DAC 0036FD0C 38 63 2B 20 */ addi r3, r3, cbForStateMotorStopped@l /* 80372DB0 0036FD10 4B FF DF C5 */ bl DVDLowWaitCoverClose /* 80372DB4 0036FD14 48 00 00 FC */ b lbl_80372EB0 lbl_80372DB8: /* 80372DB8 0036FD18 38 00 00 04 */ li r0, 4 /* 80372DBC 0036FD1C 3C 60 80 37 */ lis r3, cbForStateMotorStopped@ha /* 80372DC0 0036FD20 90 04 00 0C */ stw r0, 0xc(r4) /* 80372DC4 0036FD24 38 63 2B 20 */ addi r3, r3, cbForStateMotorStopped@l /* 80372DC8 0036FD28 4B FF DF AD */ bl DVDLowWaitCoverClose /* 80372DCC 0036FD2C 48 00 00 E4 */ b lbl_80372EB0 lbl_80372DD0: /* 80372DD0 0036FD30 38 00 00 05 */ li r0, 5 /* 80372DD4 0036FD34 3C 60 80 37 */ lis r3, cbForStateMotorStopped@ha /* 80372DD8 0036FD38 90 04 00 0C */ stw r0, 0xc(r4) /* 80372DDC 0036FD3C 38 63 2B 20 */ addi r3, r3, cbForStateMotorStopped@l /* 80372DE0 0036FD40 4B FF DF 95 */ bl DVDLowWaitCoverClose /* 80372DE4 0036FD44 48 00 00 CC */ b lbl_80372EB0 lbl_80372DE8: /* 80372DE8 0036FD48 38 00 00 03 */ li r0, 3 /* 80372DEC 0036FD4C 90 04 00 0C */ stw r0, 0xc(r4) /* 80372DF0 0036FD50 80 0D AC 2C */ lwz r0, CurrCommand@sda21(r13) /* 80372DF4 0036FD54 2C 00 00 0D */ cmpwi r0, 0xd /* 80372DF8 0036FD58 41 82 00 28 */ beq lbl_80372E20 /* 80372DFC 0036FD5C 40 80 00 18 */ bge lbl_80372E14 /* 80372E00 0036FD60 2C 00 00 06 */ cmpwi r0, 6 /* 80372E04 0036FD64 40 80 00 4C */ bge lbl_80372E50 /* 80372E08 0036FD68 2C 00 00 04 */ cmpwi r0, 4 /* 80372E0C 0036FD6C 40 80 00 14 */ bge lbl_80372E20 /* 80372E10 0036FD70 48 00 00 40 */ b lbl_80372E50 lbl_80372E14: /* 80372E14 0036FD74 2C 00 00 0F */ cmpwi r0, 0xf /* 80372E18 0036FD78 41 82 00 08 */ beq lbl_80372E20 /* 80372E1C 0036FD7C 48 00 00 34 */ b lbl_80372E50 lbl_80372E20: /* 80372E20 0036FD80 48 00 1A 99 */ bl __DVDClearWaitingQueue /* 80372E24 0036FD84 80 8D AC 10 */ lwz r4, executing@sda21(r13) /* 80372E28 0036FD88 38 1F 00 40 */ addi r0, r31, 0x40 /* 80372E2C 0036FD8C 90 0D AC 10 */ stw r0, executing@sda21(r13) /* 80372E30 0036FD90 81 84 00 28 */ lwz r12, 0x28(r4) /* 80372E34 0036FD94 28 0C 00 00 */ cmplwi r12, 0 /* 80372E38 0036FD98 41 82 00 10 */ beq lbl_80372E48 /* 80372E3C 0036FD9C 7D 88 03 A6 */ mtlr r12 /* 80372E40 0036FDA0 38 60 FF FC */ li r3, -4 /* 80372E44 0036FDA4 4E 80 00 21 */ blrl lbl_80372E48: /* 80372E48 0036FDA8 4B FF FD BD */ bl stateReady /* 80372E4C 0036FDAC 48 00 00 64 */ b lbl_80372EB0 lbl_80372E50: /* 80372E50 0036FDB0 48 00 12 71 */ bl DVDReset /* 80372E54 0036FDB4 38 7F 00 70 */ addi r3, r31, 0x70 /* 80372E58 0036FDB8 48 00 B2 59 */ bl OSCreateAlarm /* 80372E5C 0036FDBC 3C 60 80 00 */ lis r3, 0x800000F8@ha /* 80372E60 0036FDC0 80 03 00 F8 */ lwz r0, 0x800000F8@l(r3) /* 80372E64 0036FDC4 3C 80 10 62 */ lis r4, 0x10624DD3@ha /* 80372E68 0036FDC8 3C 60 80 37 */ lis r3, AlarmHandler@ha /* 80372E6C 0036FDCC 54 00 F0 BE */ srwi r0, r0, 2 /* 80372E70 0036FDD0 38 84 4D D3 */ addi r4, r4, 0x10624DD3@l /* 80372E74 0036FDD4 7C 04 00 16 */ mulhwu r0, r4, r0 /* 80372E78 0036FDD8 54 00 D1 BE */ srwi r0, r0, 6 /* 80372E7C 0036FDDC 1C C0 04 7E */ mulli r6, r0, 0x47e /* 80372E80 0036FDE0 38 E3 29 48 */ addi r7, r3, AlarmHandler@l /* 80372E84 0036FDE4 38 7F 00 70 */ addi r3, r31, 0x70 /* 80372E88 0036FDE8 38 A0 00 00 */ li r5, 0 /* 80372E8C 0036FDEC 48 00 B4 85 */ bl OSSetAlarm /* 80372E90 0036FDF0 48 00 00 20 */ b lbl_80372EB0 lbl_80372E94: /* 80372E94 0036FDF4 38 00 FF FF */ li r0, -1 /* 80372E98 0036FDF8 90 04 00 0C */ stw r0, 0xc(r4) /* 80372E9C 0036FDFC 80 6D AC 3C */ lwz r3, CancelLastError@sda21(r13) /* 80372EA0 0036FE00 48 00 1D 2D */ bl __DVDStoreErrorCode /* 80372EA4 0036FE04 3C 60 80 37 */ lis r3, cbForStateError@ha /* 80372EA8 0036FE08 38 63 1D 90 */ addi r3, r3, cbForStateError@l /* 80372EAC 0036FE0C 4B FF DF 99 */ bl DVDLowStopMotor lbl_80372EB0: /* 80372EB0 0036FE10 38 00 00 00 */ li r0, 0 /* 80372EB4 0036FE14 90 0D AC 38 */ stw r0, ResumeFromHere@sda21(r13) /* 80372EB8 0036FE18 48 00 00 14 */ b lbl_80372ECC lbl_80372EBC: /* 80372EBC 0036FE1C 38 00 00 01 */ li r0, 1 /* 80372EC0 0036FE20 90 04 00 0C */ stw r0, 0xc(r4) /* 80372EC4 0036FE24 80 6D AC 10 */ lwz r3, executing@sda21(r13) /* 80372EC8 0036FE28 48 00 00 19 */ bl stateBusy lbl_80372ECC: /* 80372ECC 0036FE2C 80 01 00 14 */ lwz r0, 0x14(r1) /* 80372ED0 0036FE30 83 E1 00 0C */ lwz r31, 0xc(r1) /* 80372ED4 0036FE34 38 21 00 10 */ addi r1, r1, 0x10 /* 80372ED8 0036FE38 7C 08 03 A6 */ mtlr r0 /* 80372EDC 0036FE3C 4E 80 00 20 */ blr .global stateBusy stateBusy: /* 80372EE0 0036FE40 7C 08 02 A6 */ mflr r0 /* 80372EE4 0036FE44 3C 80 80 37 */ lis r4, stateBusy@ha /* 80372EE8 0036FE48 90 01 00 04 */ stw r0, 4(r1) /* 80372EEC 0036FE4C 38 04 2E E0 */ addi r0, r4, stateBusy@l /* 80372EF0 0036FE50 7C 67 1B 78 */ mr r7, r3 /* 80372EF4 0036FE54 94 21 FF F8 */ stwu r1, -8(r1) /* 80372EF8 0036FE58 90 0D AC 58 */ stw r0, LastState@sda21(r13) /* 80372EFC 0036FE5C 80 03 00 08 */ lwz r0, 8(r3) /* 80372F00 0036FE60 28 00 00 0F */ cmplwi r0, 0xf /* 80372F04 0036FE64 41 81 02 D4 */ bgt lbl_803731D8 /* 80372F08 0036FE68 3C 60 80 3F */ lis r3, lbl_803F0008@ha /* 80372F0C 0036FE6C 38 63 00 08 */ addi r3, r3, lbl_803F0008@l /* 80372F10 0036FE70 54 00 10 3A */ slwi r0, r0, 2 /* 80372F14 0036FE74 7C 03 00 2E */ lwzx r0, r3, r0 /* 80372F18 0036FE78 7C 09 03 A6 */ mtctr r0 /* 80372F1C 0036FE7C 4E 80 04 20 */ bctr lbl_80372F20: /* 80372F20 0036FE80 3C 60 CC 00 */ lis r3, 0xCC006004@ha /* 80372F24 0036FE84 80 03 60 04 */ lwz r0, 0xCC006004@l(r3) /* 80372F28 0036FE88 38 A3 60 00 */ addi r5, r3, 0x6000 /* 80372F2C 0036FE8C 3C 60 80 37 */ lis r3, cbForStateBusy@ha /* 80372F30 0036FE90 90 05 00 04 */ stw r0, 4(r5) /* 80372F34 0036FE94 38 00 00 20 */ li r0, 0x20 /* 80372F38 0036FE98 38 83 32 00 */ addi r4, r3, cbForStateBusy@l /* 80372F3C 0036FE9C 90 07 00 1C */ stw r0, 0x1c(r7) /* 80372F40 0036FEA0 80 67 00 18 */ lwz r3, 0x18(r7) /* 80372F44 0036FEA4 4B FF DE 5D */ bl DVDLowReadDiskID /* 80372F48 0036FEA8 48 00 02 A8 */ b lbl_803731F0 lbl_80372F4C: /* 80372F4C 0036FEAC 80 07 00 14 */ lwz r0, 0x14(r7) /* 80372F50 0036FEB0 28 00 00 00 */ cmplwi r0, 0 /* 80372F54 0036FEB4 40 82 00 3C */ bne lbl_80372F90 /* 80372F58 0036FEB8 3C 60 80 54 */ lis r3, DummyCommandBlock@ha /* 80372F5C 0036FEBC 80 8D AC 10 */ lwz r4, executing@sda21(r13) /* 80372F60 0036FEC0 38 03 0B A0 */ addi r0, r3, DummyCommandBlock@l /* 80372F64 0036FEC4 90 0D AC 10 */ stw r0, executing@sda21(r13) /* 80372F68 0036FEC8 38 00 00 00 */ li r0, 0 /* 80372F6C 0036FECC 90 04 00 0C */ stw r0, 0xc(r4) /* 80372F70 0036FED0 81 84 00 28 */ lwz r12, 0x28(r4) /* 80372F74 0036FED4 28 0C 00 00 */ cmplwi r12, 0 /* 80372F78 0036FED8 41 82 00 10 */ beq lbl_80372F88 /* 80372F7C 0036FEDC 7D 88 03 A6 */ mtlr r12 /* 80372F80 0036FEE0 38 60 00 00 */ li r3, 0 /* 80372F84 0036FEE4 4E 80 00 21 */ blrl lbl_80372F88: /* 80372F88 0036FEE8 4B FF FC 7D */ bl stateReady /* 80372F8C 0036FEEC 48 00 02 64 */ b lbl_803731F0 lbl_80372F90: /* 80372F90 0036FEF0 3C 60 CC 00 */ lis r3, 0xCC006000@ha /* 80372F94 0036FEF4 38 63 60 00 */ addi r3, r3, 0xCC006000@l /* 80372F98 0036FEF8 80 03 00 04 */ lwz r0, 4(r3) /* 80372F9C 0036FEFC 3C 80 00 08 */ lis r4, 8 /* 80372FA0 0036FF00 90 03 00 04 */ stw r0, 4(r3) /* 80372FA4 0036FF04 80 67 00 20 */ lwz r3, 0x20(r7) /* 80372FA8 0036FF08 80 07 00 14 */ lwz r0, 0x14(r7) /* 80372FAC 0036FF0C 7C 03 00 50 */ subf r0, r3, r0 /* 80372FB0 0036FF10 7C 00 20 40 */ cmplw r0, r4 /* 80372FB4 0036FF14 40 81 00 08 */ ble lbl_80372FBC /* 80372FB8 0036FF18 48 00 00 08 */ b lbl_80372FC0 lbl_80372FBC: /* 80372FBC 0036FF1C 7C 04 03 78 */ mr r4, r0 lbl_80372FC0: /* 80372FC0 0036FF20 90 87 00 1C */ stw r4, 0x1c(r7) /* 80372FC4 0036FF24 3C 60 80 37 */ lis r3, cbForStateBusy@ha /* 80372FC8 0036FF28 38 C3 32 00 */ addi r6, r3, cbForStateBusy@l /* 80372FCC 0036FF2C 80 A7 00 20 */ lwz r5, 0x20(r7) /* 80372FD0 0036FF30 80 67 00 18 */ lwz r3, 0x18(r7) /* 80372FD4 0036FF34 80 07 00 10 */ lwz r0, 0x10(r7) /* 80372FD8 0036FF38 7C 63 2A 14 */ add r3, r3, r5 /* 80372FDC 0036FF3C 80 87 00 1C */ lwz r4, 0x1c(r7) /* 80372FE0 0036FF40 7C A0 2A 14 */ add r5, r0, r5 /* 80372FE4 0036FF44 4B FF DA 65 */ bl DVDLowRead /* 80372FE8 0036FF48 48 00 02 08 */ b lbl_803731F0 lbl_80372FEC: /* 80372FEC 0036FF4C 3C 60 CC 00 */ lis r3, 0xCC006004@ha /* 80372FF0 0036FF50 80 03 60 04 */ lwz r0, 0xCC006004@l(r3) /* 80372FF4 0036FF54 38 A3 60 00 */ addi r5, r3, 0x6000 /* 80372FF8 0036FF58 3C 60 80 37 */ lis r3, cbForStateBusy@ha /* 80372FFC 0036FF5C 90 05 00 04 */ stw r0, 4(r5) /* 80373000 0036FF60 38 83 32 00 */ addi r4, r3, cbForStateBusy@l /* 80373004 0036FF64 80 67 00 10 */ lwz r3, 0x10(r7) /* 80373008 0036FF68 4B FF DC D9 */ bl DVDLowSeek /* 8037300C 0036FF6C 48 00 01 E4 */ b lbl_803731F0 lbl_80373010: /* 80373010 0036FF70 3C 60 80 37 */ lis r3, cbForStateBusy@ha /* 80373014 0036FF74 38 63 32 00 */ addi r3, r3, cbForStateBusy@l /* 80373018 0036FF78 4B FF DE 2D */ bl DVDLowStopMotor /* 8037301C 0036FF7C 48 00 01 D4 */ b lbl_803731F0 lbl_80373020: /* 80373020 0036FF80 3C 60 80 37 */ lis r3, cbForStateBusy@ha /* 80373024 0036FF84 38 63 32 00 */ addi r3, r3, cbForStateBusy@l /* 80373028 0036FF88 4B FF DE 1D */ bl DVDLowStopMotor /* 8037302C 0036FF8C 48 00 01 C4 */ b lbl_803731F0 lbl_80373030: /* 80373030 0036FF90 3C 60 CC 00 */ lis r3, 0xCC006000@ha /* 80373034 0036FF94 38 63 60 00 */ addi r3, r3, 0xCC006000@l /* 80373038 0036FF98 80 03 00 04 */ lwz r0, 4(r3) /* 8037303C 0036FF9C 90 03 00 04 */ stw r0, 4(r3) /* 80373040 0036FFA0 80 0D AC 24 */ lwz r0, AutoFinishing@sda21(r13) /* 80373044 0036FFA4 2C 00 00 00 */ cmpwi r0, 0 /* 80373048 0036FFA8 41 82 00 24 */ beq lbl_8037306C /* 8037304C 0036FFAC 80 AD AC 10 */ lwz r5, executing@sda21(r13) /* 80373050 0036FFB0 38 00 00 00 */ li r0, 0 /* 80373054 0036FFB4 3C 60 80 37 */ lis r3, cbForStateBusy@ha /* 80373058 0036FFB8 90 05 00 1C */ stw r0, 0x1c(r5) /* 8037305C 0036FFBC 38 83 32 00 */ addi r4, r3, cbForStateBusy@l /* 80373060 0036FFC0 38 60 00 00 */ li r3, 0 /* 80373064 0036FFC4 4B FF E0 2D */ bl DVDLowRequestAudioStatus /* 80373068 0036FFC8 48 00 01 88 */ b lbl_803731F0 lbl_8037306C: /* 8037306C 0036FFCC 80 8D AC 10 */ lwz r4, executing@sda21(r13) /* 80373070 0036FFD0 38 00 00 01 */ li r0, 1 /* 80373074 0036FFD4 3C 60 80 37 */ lis r3, cbForStateBusy@ha /* 80373078 0036FFD8 90 04 00 1C */ stw r0, 0x1c(r4) /* 8037307C 0036FFDC 38 C3 32 00 */ addi r6, r3, cbForStateBusy@l /* 80373080 0036FFE0 38 60 00 00 */ li r3, 0 /* 80373084 0036FFE4 80 87 00 14 */ lwz r4, 0x14(r7) /* 80373088 0036FFE8 80 A7 00 10 */ lwz r5, 0x10(r7) /* 8037308C 0036FFEC 4B FF DF 6D */ bl DVDLowAudioStream /* 80373090 0036FFF0 48 00 01 60 */ b lbl_803731F0 lbl_80373094: /* 80373094 0036FFF4 3C 60 CC 00 */ lis r3, 0xCC006004@ha /* 80373098 0036FFF8 80 03 60 04 */ lwz r0, 0xCC006004@l(r3) /* 8037309C 0036FFFC 38 83 60 00 */ addi r4, r3, 0x6000 /* 803730A0 00370000 3C 60 80 37 */ lis r3, cbForStateBusy@ha /* 803730A4 00370004 90 04 00 04 */ stw r0, 4(r4) /* 803730A8 00370008 38 C3 32 00 */ addi r6, r3, cbForStateBusy@l /* 803730AC 0037000C 3C 60 00 01 */ lis r3, 1 /* 803730B0 00370010 38 80 00 00 */ li r4, 0 /* 803730B4 00370014 38 A0 00 00 */ li r5, 0 /* 803730B8 00370018 4B FF DF 41 */ bl DVDLowAudioStream /* 803730BC 0037001C 48 00 01 34 */ b lbl_803731F0 lbl_803730C0: /* 803730C0 00370020 3C 60 CC 00 */ lis r3, 0xCC006004@ha /* 803730C4 00370024 80 03 60 04 */ lwz r0, 0xCC006004@l(r3) /* 803730C8 00370028 38 83 60 00 */ addi r4, r3, 0x6000 /* 803730CC 0037002C 3C 60 80 37 */ lis r3, cbForStateBusy@ha /* 803730D0 00370030 90 04 00 04 */ stw r0, 4(r4) /* 803730D4 00370034 38 00 00 01 */ li r0, 1 /* 803730D8 00370038 38 C3 32 00 */ addi r6, r3, cbForStateBusy@l /* 803730DC 0037003C 90 0D AC 24 */ stw r0, AutoFinishing@sda21(r13) /* 803730E0 00370040 38 60 00 00 */ li r3, 0 /* 803730E4 00370044 38 80 00 00 */ li r4, 0 /* 803730E8 00370048 38 A0 00 00 */ li r5, 0 /* 803730EC 0037004C 4B FF DF 0D */ bl DVDLowAudioStream /* 803730F0 00370050 48 00 01 00 */ b lbl_803731F0 lbl_803730F4: /* 803730F4 00370054 3C 60 CC 00 */ lis r3, 0xCC006004@ha /* 803730F8 00370058 80 03 60 04 */ lwz r0, 0xCC006004@l(r3) /* 803730FC 0037005C 38 A3 60 00 */ addi r5, r3, 0x6000 /* 80373100 00370060 3C 60 80 37 */ lis r3, cbForStateBusy@ha /* 80373104 00370064 90 05 00 04 */ stw r0, 4(r5) /* 80373108 00370068 38 83 32 00 */ addi r4, r3, cbForStateBusy@l /* 8037310C 0037006C 38 60 00 00 */ li r3, 0 /* 80373110 00370070 4B FF DF 81 */ bl DVDLowRequestAudioStatus /* 80373114 00370074 48 00 00 DC */ b lbl_803731F0 lbl_80373118: /* 80373118 00370078 3C 60 CC 00 */ lis r3, 0xCC006004@ha /* 8037311C 0037007C 80 03 60 04 */ lwz r0, 0xCC006004@l(r3) /* 80373120 00370080 38 A3 60 00 */ addi r5, r3, 0x6000 /* 80373124 00370084 3C 60 80 37 */ lis r3, cbForStateBusy@ha /* 80373128 00370088 90 05 00 04 */ stw r0, 4(r5) /* 8037312C 0037008C 38 83 32 00 */ addi r4, r3, cbForStateBusy@l /* 80373130 00370090 3C 60 00 01 */ lis r3, 1 /* 80373134 00370094 4B FF DF 5D */ bl DVDLowRequestAudioStatus /* 80373138 00370098 48 00 00 B8 */ b lbl_803731F0 lbl_8037313C: /* 8037313C 0037009C 3C 60 CC 00 */ lis r3, 0xCC006004@ha /* 80373140 003700A0 80 03 60 04 */ lwz r0, 0xCC006004@l(r3) /* 80373144 003700A4 38 A3 60 00 */ addi r5, r3, 0x6000 /* 80373148 003700A8 3C 60 80 37 */ lis r3, cbForStateBusy@ha /* 8037314C 003700AC 90 05 00 04 */ stw r0, 4(r5) /* 80373150 003700B0 38 83 32 00 */ addi r4, r3, cbForStateBusy@l /* 80373154 003700B4 3C 60 00 02 */ lis r3, 2 /* 80373158 003700B8 4B FF DF 39 */ bl DVDLowRequestAudioStatus /* 8037315C 003700BC 48 00 00 94 */ b lbl_803731F0 lbl_80373160: /* 80373160 003700C0 3C 60 CC 00 */ lis r3, 0xCC006004@ha /* 80373164 003700C4 80 03 60 04 */ lwz r0, 0xCC006004@l(r3) /* 80373168 003700C8 38 A3 60 00 */ addi r5, r3, 0x6000 /* 8037316C 003700CC 3C 60 80 37 */ lis r3, cbForStateBusy@ha /* 80373170 003700D0 90 05 00 04 */ stw r0, 4(r5) /* 80373174 003700D4 38 83 32 00 */ addi r4, r3, cbForStateBusy@l /* 80373178 003700D8 3C 60 00 03 */ lis r3, 3 /* 8037317C 003700DC 4B FF DF 15 */ bl DVDLowRequestAudioStatus /* 80373180 003700E0 48 00 00 70 */ b lbl_803731F0 lbl_80373184: /* 80373184 003700E4 3C 60 CC 00 */ lis r3, 0xCC006004@ha /* 80373188 003700E8 80 03 60 04 */ lwz r0, 0xCC006004@l(r3) /* 8037318C 003700EC 38 83 60 00 */ addi r4, r3, 0x6000 /* 80373190 003700F0 3C 60 80 37 */ lis r3, cbForStateBusy@ha /* 80373194 003700F4 90 04 00 04 */ stw r0, 4(r4) /* 80373198 003700F8 38 A3 32 00 */ addi r5, r3, cbForStateBusy@l /* 8037319C 003700FC 80 67 00 10 */ lwz r3, 0x10(r7) /* 803731A0 00370100 80 87 00 14 */ lwz r4, 0x14(r7) /* 803731A4 00370104 4B FF DF 79 */ bl DVDLowAudioBufferConfig /* 803731A8 00370108 48 00 00 48 */ b lbl_803731F0 lbl_803731AC: /* 803731AC 0037010C 3C 60 CC 00 */ lis r3, 0xCC006004@ha /* 803731B0 00370110 80 03 60 04 */ lwz r0, 0xCC006004@l(r3) /* 803731B4 00370114 38 A3 60 00 */ addi r5, r3, 0x6000 /* 803731B8 00370118 3C 60 80 37 */ lis r3, cbForStateBusy@ha /* 803731BC 0037011C 90 05 00 04 */ stw r0, 4(r5) /* 803731C0 00370120 38 00 00 20 */ li r0, 0x20 /* 803731C4 00370124 38 83 32 00 */ addi r4, r3, cbForStateBusy@l /* 803731C8 00370128 90 07 00 1C */ stw r0, 0x1c(r7) /* 803731CC 0037012C 80 67 00 18 */ lwz r3, 0x18(r7) /* 803731D0 00370130 4B FF DD 8D */ bl DVDLowInquiry /* 803731D4 00370134 48 00 00 1C */ b lbl_803731F0 lbl_803731D8: /* 803731D8 00370138 81 8D 9E E0 */ lwz r12, checkOptionalCommand@sda21(r13) /* 803731DC 0037013C 3C 60 80 37 */ lis r3, cbForStateBusy@ha /* 803731E0 00370140 38 83 32 00 */ addi r4, r3, cbForStateBusy@l /* 803731E4 00370144 7D 88 03 A6 */ mtlr r12 /* 803731E8 00370148 38 67 00 00 */ addi r3, r7, 0 /* 803731EC 0037014C 4E 80 00 21 */ blrl lbl_803731F0: /* 803731F0 00370150 80 01 00 0C */ lwz r0, 0xc(r1) /* 803731F4 00370154 38 21 00 08 */ addi r1, r1, 8 /* 803731F8 00370158 7C 08 03 A6 */ mtlr r0 /* 803731FC 0037015C 4E 80 00 20 */ blr .global cbForStateBusy cbForStateBusy: /* 80373200 00370160 7C 08 02 A6 */ mflr r0 /* 80373204 00370164 28 03 00 10 */ cmplwi r3, 0x10 /* 80373208 00370168 90 01 00 04 */ stw r0, 4(r1) /* 8037320C 0037016C 3C 80 80 54 */ lis r4, BB2@ha /* 80373210 00370170 94 21 FF E8 */ stwu r1, -0x18(r1) /* 80373214 00370174 93 E1 00 14 */ stw r31, 0x14(r1) /* 80373218 00370178 3B E4 0B 60 */ addi r31, r4, BB2@l /* 8037321C 0037017C 93 C1 00 10 */ stw r30, 0x10(r1) /* 80373220 00370180 40 82 00 2C */ bne lbl_8037324C /* 80373224 00370184 80 8D AC 10 */ lwz r4, executing@sda21(r13) /* 80373228 00370188 38 00 FF FF */ li r0, -1 /* 8037322C 0037018C 3C 60 01 23 */ lis r3, 0x01234568@ha /* 80373230 00370190 90 04 00 0C */ stw r0, 0xc(r4) /* 80373234 00370194 38 63 45 68 */ addi r3, r3, 0x01234568@l /* 80373238 00370198 48 00 19 95 */ bl __DVDStoreErrorCode /* 8037323C 0037019C 48 00 0E 85 */ bl DVDReset /* 80373240 003701A0 38 60 00 00 */ li r3, 0 /* 80373244 003701A4 4B FF EB 4D */ bl cbForStateError /* 80373248 003701A8 48 00 05 D8 */ b lbl_80373820 lbl_8037324C: /* 8037324C 003701AC 80 0D AC 2C */ lwz r0, CurrCommand@sda21(r13) /* 80373250 003701B0 28 00 00 03 */ cmplwi r0, 3 /* 80373254 003701B4 41 82 00 10 */ beq lbl_80373264 /* 80373258 003701B8 80 0D AC 2C */ lwz r0, CurrCommand@sda21(r13) /* 8037325C 003701BC 28 00 00 0F */ cmplwi r0, 0xf /* 80373260 003701C0 40 82 00 EC */ bne lbl_8037334C lbl_80373264: /* 80373264 003701C4 54 60 07 BD */ rlwinm. r0, r3, 0, 0x1e, 0x1e /* 80373268 003701C8 41 82 00 2C */ beq lbl_80373294 /* 8037326C 003701CC 80 8D AC 10 */ lwz r4, executing@sda21(r13) /* 80373270 003701D0 38 00 FF FF */ li r0, -1 /* 80373274 003701D4 3C 60 01 23 */ lis r3, 0x01234567@ha /* 80373278 003701D8 90 04 00 0C */ stw r0, 0xc(r4) /* 8037327C 003701DC 38 63 45 67 */ addi r3, r3, 0x01234567@l /* 80373280 003701E0 48 00 19 4D */ bl __DVDStoreErrorCode /* 80373284 003701E4 3C 60 80 37 */ lis r3, cbForStateError@ha /* 80373288 003701E8 38 63 1D 90 */ addi r3, r3, cbForStateError@l /* 8037328C 003701EC 4B FF DB B9 */ bl DVDLowStopMotor /* 80373290 003701F0 48 00 05 90 */ b lbl_80373820 lbl_80373294: /* 80373294 003701F4 38 00 00 00 */ li r0, 0 /* 80373298 003701F8 90 0D AC 44 */ stw r0, NumInternalRetry@sda21(r13) /* 8037329C 003701FC 80 0D AC 2C */ lwz r0, CurrCommand@sda21(r13) /* 803732A0 00370200 28 00 00 0F */ cmplwi r0, 0xf /* 803732A4 00370204 40 82 00 0C */ bne lbl_803732B0 /* 803732A8 00370208 38 00 00 01 */ li r0, 1 /* 803732AC 0037020C 90 0D AC 48 */ stw r0, ResetRequired@sda21(r13) lbl_803732B0: /* 803732B0 00370210 80 0D AC 30 */ lwz r0, Canceling@sda21(r13) /* 803732B4 00370214 28 00 00 00 */ cmplwi r0, 0 /* 803732B8 00370218 41 82 00 6C */ beq lbl_80373324 /* 803732BC 0037021C 38 00 00 07 */ li r0, 7 /* 803732C0 00370220 83 CD AC 10 */ lwz r30, executing@sda21(r13) /* 803732C4 00370224 90 0D AC 38 */ stw r0, ResumeFromHere@sda21(r13) /* 803732C8 00370228 38 7F 00 40 */ addi r3, r31, 0x40 /* 803732CC 0037022C 38 00 00 00 */ li r0, 0 /* 803732D0 00370230 90 0D AC 30 */ stw r0, Canceling@sda21(r13) /* 803732D4 00370234 38 00 00 0A */ li r0, 0xa /* 803732D8 00370238 90 6D AC 10 */ stw r3, executing@sda21(r13) /* 803732DC 0037023C 90 1E 00 0C */ stw r0, 0xc(r30) /* 803732E0 00370240 81 9E 00 28 */ lwz r12, 0x28(r30) /* 803732E4 00370244 28 0C 00 00 */ cmplwi r12, 0 /* 803732E8 00370248 41 82 00 14 */ beq lbl_803732FC /* 803732EC 0037024C 7D 88 03 A6 */ mtlr r12 /* 803732F0 00370250 38 9E 00 00 */ addi r4, r30, 0 /* 803732F4 00370254 38 60 FF FD */ li r3, -3 /* 803732F8 00370258 4E 80 00 21 */ blrl lbl_803732FC: /* 803732FC 0037025C 81 8D AC 34 */ lwz r12, CancelCallback@sda21(r13) /* 80373300 00370260 28 0C 00 00 */ cmplwi r12, 0 /* 80373304 00370264 41 82 00 14 */ beq lbl_80373318 /* 80373308 00370268 7D 88 03 A6 */ mtlr r12 /* 8037330C 0037026C 38 9E 00 00 */ addi r4, r30, 0 /* 80373310 00370270 38 60 00 00 */ li r3, 0 /* 80373314 00370274 4E 80 00 21 */ blrl lbl_80373318: /* 80373318 00370278 4B FF F8 ED */ bl stateReady /* 8037331C 0037027C 38 00 00 01 */ li r0, 1 /* 80373320 00370280 48 00 00 08 */ b lbl_80373328 lbl_80373324: /* 80373324 00370284 38 00 00 00 */ li r0, 0 lbl_80373328: /* 80373328 00370288 2C 00 00 00 */ cmpwi r0, 0 /* 8037332C 0037028C 40 82 04 F4 */ bne lbl_80373820 /* 80373330 00370290 80 8D AC 10 */ lwz r4, executing@sda21(r13) /* 80373334 00370294 38 00 00 07 */ li r0, 7 /* 80373338 00370298 3C 60 80 37 */ lis r3, cbForStateMotorStopped@ha /* 8037333C 0037029C 90 04 00 0C */ stw r0, 0xc(r4) /* 80373340 003702A0 38 63 2B 20 */ addi r3, r3, cbForStateMotorStopped@l /* 80373344 003702A4 4B FF DA 31 */ bl DVDLowWaitCoverClose /* 80373348 003702A8 48 00 04 D8 */ b lbl_80373820 lbl_8037334C: /* 8037334C 003702AC 80 8D AC 2C */ lwz r4, CurrCommand@sda21(r13) /* 80373350 003702B0 28 04 00 01 */ cmplwi r4, 1 /* 80373354 003702B4 41 82 00 18 */ beq lbl_8037336C /* 80373358 003702B8 38 04 FF FC */ addi r0, r4, -4 /* 8037335C 003702BC 28 00 00 01 */ cmplwi r0, 1 /* 80373360 003702C0 40 81 00 0C */ ble lbl_8037336C /* 80373364 003702C4 28 04 00 0E */ cmplwi r4, 0xe /* 80373368 003702C8 40 82 00 0C */ bne lbl_80373374 lbl_8037336C: /* 8037336C 003702CC 38 00 00 01 */ li r0, 1 /* 80373370 003702D0 48 00 00 1C */ b lbl_8037338C lbl_80373374: /* 80373374 003702D4 80 0D 9E EC */ lwz r0, DmaCommand@sda21(r13) /* 80373378 003702D8 7C 04 00 40 */ cmplw r4, r0 /* 8037337C 003702DC 40 82 00 0C */ bne lbl_80373388 /* 80373380 003702E0 38 00 00 01 */ li r0, 1 /* 80373384 003702E4 48 00 00 08 */ b lbl_8037338C lbl_80373388: /* 80373388 003702E8 38 00 00 00 */ li r0, 0 lbl_8037338C: /* 8037338C 003702EC 2C 00 00 00 */ cmpwi r0, 0 /* 80373390 003702F0 41 82 00 28 */ beq lbl_803733B8 /* 80373394 003702F4 80 CD AC 10 */ lwz r6, executing@sda21(r13) /* 80373398 003702F8 3C 80 CC 00 */ lis r4, 0xCC006000@ha /* 8037339C 003702FC 38 84 60 00 */ addi r4, r4, 0xCC006000@l /* 803733A0 00370300 80 84 00 18 */ lwz r4, 0x18(r4) /* 803733A4 00370304 80 06 00 1C */ lwz r0, 0x1c(r6) /* 803733A8 00370308 80 A6 00 20 */ lwz r5, 0x20(r6) /* 803733AC 0037030C 7C 04 00 50 */ subf r0, r4, r0 /* 803733B0 00370310 7C 05 02 14 */ add r0, r5, r0 /* 803733B4 00370314 90 06 00 20 */ stw r0, 0x20(r6) lbl_803733B8: /* 803733B8 00370318 54 60 07 39 */ rlwinm. r0, r3, 0, 0x1c, 0x1c /* 803733BC 0037031C 41 82 00 60 */ beq lbl_8037341C /* 803733C0 00370320 83 CD AC 10 */ lwz r30, executing@sda21(r13) /* 803733C4 00370324 38 7F 00 40 */ addi r3, r31, 0x40 /* 803733C8 00370328 38 00 00 00 */ li r0, 0 /* 803733CC 0037032C 90 0D AC 30 */ stw r0, Canceling@sda21(r13) /* 803733D0 00370330 38 00 00 0A */ li r0, 0xa /* 803733D4 00370334 90 6D AC 10 */ stw r3, executing@sda21(r13) /* 803733D8 00370338 90 1E 00 0C */ stw r0, 0xc(r30) /* 803733DC 0037033C 81 9E 00 28 */ lwz r12, 0x28(r30) /* 803733E0 00370340 28 0C 00 00 */ cmplwi r12, 0 /* 803733E4 00370344 41 82 00 14 */ beq lbl_803733F8 /* 803733E8 00370348 7D 88 03 A6 */ mtlr r12 /* 803733EC 0037034C 38 9E 00 00 */ addi r4, r30, 0 /* 803733F0 00370350 38 60 FF FD */ li r3, -3 /* 803733F4 00370354 4E 80 00 21 */ blrl lbl_803733F8: /* 803733F8 00370358 81 8D AC 34 */ lwz r12, CancelCallback@sda21(r13) /* 803733FC 0037035C 28 0C 00 00 */ cmplwi r12, 0 /* 80373400 00370360 41 82 00 14 */ beq lbl_80373414 /* 80373404 00370364 7D 88 03 A6 */ mtlr r12 /* 80373408 00370368 38 9E 00 00 */ addi r4, r30, 0 /* 8037340C 0037036C 38 60 00 00 */ li r3, 0 /* 80373410 00370370 4E 80 00 21 */ blrl lbl_80373414: /* 80373414 00370374 4B FF F7 F1 */ bl stateReady /* 80373418 00370378 48 00 04 08 */ b lbl_80373820 lbl_8037341C: /* 8037341C 0037037C 54 60 07 FF */ clrlwi. r0, r3, 0x1f /* 80373420 00370380 41 82 02 D0 */ beq lbl_803736F0 /* 80373424 00370384 38 80 00 00 */ li r4, 0 /* 80373428 00370388 90 8D AC 44 */ stw r4, NumInternalRetry@sda21(r13) /* 8037342C 0037038C 80 0D AC 30 */ lwz r0, Canceling@sda21(r13) /* 80373430 00370390 28 00 00 00 */ cmplwi r0, 0 /* 80373434 00370394 41 82 00 60 */ beq lbl_80373494 /* 80373438 00370398 90 8D AC 38 */ stw r4, ResumeFromHere@sda21(r13) /* 8037343C 0037039C 38 7F 00 40 */ addi r3, r31, 0x40 /* 80373440 003703A0 83 CD AC 10 */ lwz r30, executing@sda21(r13) /* 80373444 003703A4 38 00 00 0A */ li r0, 0xa /* 80373448 003703A8 90 8D AC 30 */ stw r4, Canceling@sda21(r13) /* 8037344C 003703AC 90 6D AC 10 */ stw r3, executing@sda21(r13) /* 80373450 003703B0 90 1E 00 0C */ stw r0, 0xc(r30) /* 80373454 003703B4 81 9E 00 28 */ lwz r12, 0x28(r30) /* 80373458 003703B8 28 0C 00 00 */ cmplwi r12, 0 /* 8037345C 003703BC 41 82 00 14 */ beq lbl_80373470 /* 80373460 003703C0 7D 88 03 A6 */ mtlr r12 /* 80373464 003703C4 38 9E 00 00 */ addi r4, r30, 0 /* 80373468 003703C8 38 60 FF FD */ li r3, -3 /* 8037346C 003703CC 4E 80 00 21 */ blrl lbl_80373470: /* 80373470 003703D0 81 8D AC 34 */ lwz r12, CancelCallback@sda21(r13) /* 80373474 003703D4 28 0C 00 00 */ cmplwi r12, 0 /* 80373478 003703D8 41 82 00 14 */ beq lbl_8037348C /* 8037347C 003703DC 7D 88 03 A6 */ mtlr r12 /* 80373480 003703E0 38 9E 00 00 */ addi r4, r30, 0 /* 80373484 003703E4 38 60 00 00 */ li r3, 0 /* 80373488 003703E8 4E 80 00 21 */ blrl lbl_8037348C: /* 8037348C 003703EC 4B FF F7 79 */ bl stateReady /* 80373490 003703F0 38 80 00 01 */ li r4, 1 lbl_80373494: /* 80373494 003703F4 2C 04 00 00 */ cmpwi r4, 0 /* 80373498 003703F8 40 82 03 88 */ bne lbl_80373820 /* 8037349C 003703FC 80 6D AC 2C */ lwz r3, CurrCommand@sda21(r13) /* 803734A0 00370400 28 03 00 01 */ cmplwi r3, 1 /* 803734A4 00370404 41 82 00 18 */ beq lbl_803734BC /* 803734A8 00370408 38 03 FF FC */ addi r0, r3, -4 /* 803734AC 0037040C 28 00 00 01 */ cmplwi r0, 1 /* 803734B0 00370410 40 81 00 0C */ ble lbl_803734BC /* 803734B4 00370414 28 03 00 0E */ cmplwi r3, 0xe /* 803734B8 00370418 40 82 00 0C */ bne lbl_803734C4 lbl_803734BC: /* 803734BC 0037041C 38 00 00 01 */ li r0, 1 /* 803734C0 00370420 48 00 00 1C */ b lbl_803734DC lbl_803734C4: /* 803734C4 00370424 80 0D 9E EC */ lwz r0, DmaCommand@sda21(r13) /* 803734C8 00370428 7C 03 00 40 */ cmplw r3, r0 /* 803734CC 0037042C 40 82 00 0C */ bne lbl_803734D8 /* 803734D0 00370430 38 00 00 01 */ li r0, 1 /* 803734D4 00370434 48 00 00 08 */ b lbl_803734DC lbl_803734D8: /* 803734D8 00370438 38 00 00 00 */ li r0, 0 lbl_803734DC: /* 803734DC 0037043C 2C 00 00 00 */ cmpwi r0, 0 /* 803734E0 00370440 41 82 00 54 */ beq lbl_80373534 /* 803734E4 00370444 80 6D AC 10 */ lwz r3, executing@sda21(r13) /* 803734E8 00370448 80 83 00 20 */ lwz r4, 0x20(r3) /* 803734EC 0037044C 80 03 00 14 */ lwz r0, 0x14(r3) /* 803734F0 00370450 7C 04 00 40 */ cmplw r4, r0 /* 803734F4 00370454 41 82 00 0C */ beq lbl_80373500 /* 803734F8 00370458 4B FF F9 E9 */ bl stateBusy /* 803734FC 0037045C 48 00 03 24 */ b lbl_80373820 lbl_80373500: /* 80373500 00370460 38 1F 00 40 */ addi r0, r31, 0x40 /* 80373504 00370464 90 0D AC 10 */ stw r0, executing@sda21(r13) /* 80373508 00370468 38 00 00 00 */ li r0, 0 /* 8037350C 0037046C 38 83 00 00 */ addi r4, r3, 0 /* 80373510 00370470 90 03 00 0C */ stw r0, 0xc(r3) /* 80373514 00370474 81 83 00 28 */ lwz r12, 0x28(r3) /* 80373518 00370478 28 0C 00 00 */ cmplwi r12, 0 /* 8037351C 0037047C 41 82 00 10 */ beq lbl_8037352C /* 80373520 00370480 80 64 00 20 */ lwz r3, 0x20(r4) /* 80373524 00370484 7D 88 03 A6 */ mtlr r12 /* 80373528 00370488 4E 80 00 21 */ blrl lbl_8037352C: /* 8037352C 0037048C 4B FF F6 D9 */ bl stateReady /* 80373530 00370490 48 00 02 F0 */ b lbl_80373820 lbl_80373534: /* 80373534 00370494 80 8D AC 2C */ lwz r4, CurrCommand@sda21(r13) /* 80373538 00370498 38 04 FF F7 */ addi r0, r4, -9 /* 8037353C 0037049C 28 00 00 03 */ cmplwi r0, 3 /* 80373540 003704A0 41 81 00 0C */ bgt lbl_8037354C /* 80373544 003704A4 38 00 00 01 */ li r0, 1 /* 80373548 003704A8 48 00 00 48 */ b lbl_80373590 lbl_8037354C: /* 8037354C 003704AC 3C 60 80 3F */ lis r3, ImmCommand@ha /* 80373550 003704B0 84 03 00 48 */ lwzu r0, ImmCommand@l(r3) /* 80373554 003704B4 7C 04 00 40 */ cmplw r4, r0 /* 80373558 003704B8 40 82 00 0C */ bne lbl_80373564 /* 8037355C 003704BC 38 00 00 01 */ li r0, 1 /* 80373560 003704C0 48 00 00 30 */ b lbl_80373590 lbl_80373564: /* 80373564 003704C4 84 03 00 04 */ lwzu r0, 4(r3) /* 80373568 003704C8 7C 04 00 40 */ cmplw r4, r0 /* 8037356C 003704CC 40 82 00 0C */ bne lbl_80373578 /* 80373570 003704D0 38 00 00 01 */ li r0, 1 /* 80373574 003704D4 48 00 00 1C */ b lbl_80373590 lbl_80373578: /* 80373578 003704D8 80 03 00 04 */ lwz r0, 4(r3) /* 8037357C 003704DC 7C 04 00 40 */ cmplw r4, r0 /* 80373580 003704E0 40 82 00 0C */ bne lbl_8037358C /* 80373584 003704E4 38 00 00 01 */ li r0, 1 /* 80373588 003704E8 48 00 00 08 */ b lbl_80373590 lbl_8037358C: /* 8037358C 003704EC 38 00 00 00 */ li r0, 0 lbl_80373590: /* 80373590 003704F0 2C 00 00 00 */ cmpwi r0, 0 /* 80373594 003704F4 41 82 00 68 */ beq lbl_803735FC /* 80373598 003704F8 80 0D AC 2C */ lwz r0, CurrCommand@sda21(r13) /* 8037359C 003704FC 28 00 00 0B */ cmplwi r0, 0xb /* 803735A0 00370500 41 82 00 10 */ beq lbl_803735B0 /* 803735A4 00370504 80 0D AC 2C */ lwz r0, CurrCommand@sda21(r13) /* 803735A8 00370508 28 00 00 0A */ cmplwi r0, 0xa /* 803735AC 0037050C 40 82 00 14 */ bne lbl_803735C0 lbl_803735B0: /* 803735B0 00370510 3C 60 CC 00 */ lis r3, 0xCC006020@ha /* 803735B4 00370514 80 03 60 20 */ lwz r0, 0xCC006020@l(r3) /* 803735B8 00370518 54 03 10 3A */ slwi r3, r0, 2 /* 803735BC 0037051C 48 00 00 10 */ b lbl_803735CC lbl_803735C0: /* 803735C0 00370520 3C 60 CC 00 */ lis r3, 0xCC006000@ha /* 803735C4 00370524 38 63 60 00 */ addi r3, r3, 0xCC006000@l /* 803735C8 00370528 80 63 00 20 */ lwz r3, 0x20(r3) lbl_803735CC: /* 803735CC 0037052C 80 8D AC 10 */ lwz r4, executing@sda21(r13) /* 803735D0 00370530 38 BF 00 40 */ addi r5, r31, 0x40 /* 803735D4 00370534 38 00 00 00 */ li r0, 0 /* 803735D8 00370538 90 AD AC 10 */ stw r5, executing@sda21(r13) /* 803735DC 0037053C 90 04 00 0C */ stw r0, 0xc(r4) /* 803735E0 00370540 81 84 00 28 */ lwz r12, 0x28(r4) /* 803735E4 00370544 28 0C 00 00 */ cmplwi r12, 0 /* 803735E8 00370548 41 82 00 0C */ beq lbl_803735F4 /* 803735EC 0037054C 7D 88 03 A6 */ mtlr r12 /* 803735F0 00370550 4E 80 00 21 */ blrl lbl_803735F4: /* 803735F4 00370554 4B FF F6 11 */ bl stateReady /* 803735F8 00370558 48 00 02 28 */ b lbl_80373820 lbl_803735FC: /* 803735FC 0037055C 80 0D AC 2C */ lwz r0, CurrCommand@sda21(r13) /* 80373600 00370560 28 00 00 06 */ cmplwi r0, 6 /* 80373604 00370564 40 82 00 B8 */ bne lbl_803736BC /* 80373608 00370568 80 8D AC 10 */ lwz r4, executing@sda21(r13) /* 8037360C 0037056C 38 A4 00 1C */ addi r5, r4, 0x1c /* 80373610 00370570 80 04 00 1C */ lwz r0, 0x1c(r4) /* 80373614 00370574 28 00 00 00 */ cmplwi r0, 0 /* 80373618 00370578 40 82 00 74 */ bne lbl_8037368C /* 8037361C 0037057C 3C 60 CC 00 */ lis r3, 0xCC006020@ha /* 80373620 00370580 80 03 60 20 */ lwz r0, 0xCC006020@l(r3) /* 80373624 00370584 54 00 07 FF */ clrlwi. r0, r0, 0x1f /* 80373628 00370588 41 82 00 34 */ beq lbl_8037365C /* 8037362C 0037058C 38 1F 00 40 */ addi r0, r31, 0x40 /* 80373630 00370590 90 0D AC 10 */ stw r0, executing@sda21(r13) /* 80373634 00370594 38 00 00 09 */ li r0, 9 /* 80373638 00370598 90 04 00 0C */ stw r0, 0xc(r4) /* 8037363C 0037059C 81 84 00 28 */ lwz r12, 0x28(r4) /* 80373640 003705A0 28 0C 00 00 */ cmplwi r12, 0 /* 80373644 003705A4 41 82 00 10 */ beq lbl_80373654 /* 80373648 003705A8 7D 88 03 A6 */ mtlr r12 /* 8037364C 003705AC 38 60 FF FE */ li r3, -2 /* 80373650 003705B0 4E 80 00 21 */ blrl lbl_80373654: /* 80373654 003705B4 4B FF F5 B1 */ bl stateReady /* 80373658 003705B8 48 00 01 C8 */ b lbl_80373820 lbl_8037365C: /* 8037365C 003705BC 38 00 00 00 */ li r0, 0 /* 80373660 003705C0 90 0D AC 24 */ stw r0, AutoFinishing@sda21(r13) /* 80373664 003705C4 38 00 00 01 */ li r0, 1 /* 80373668 003705C8 3C 60 80 37 */ lis r3, cbForStateBusy@ha /* 8037366C 003705CC 90 05 00 00 */ stw r0, 0(r5) /* 80373670 003705D0 38 C3 32 00 */ addi r6, r3, cbForStateBusy@l /* 80373674 003705D4 38 60 00 00 */ li r3, 0 /* 80373678 003705D8 80 AD AC 10 */ lwz r5, executing@sda21(r13) /* 8037367C 003705DC 80 85 00 14 */ lwz r4, 0x14(r5) /* 80373680 003705E0 80 A5 00 10 */ lwz r5, 0x10(r5) /* 80373684 003705E4 4B FF D9 75 */ bl DVDLowAudioStream /* 80373688 003705E8 48 00 01 98 */ b lbl_80373820 lbl_8037368C: /* 8037368C 003705EC 38 1F 00 40 */ addi r0, r31, 0x40 /* 80373690 003705F0 90 0D AC 10 */ stw r0, executing@sda21(r13) /* 80373694 003705F4 38 00 00 00 */ li r0, 0 /* 80373698 003705F8 90 04 00 0C */ stw r0, 0xc(r4) /* 8037369C 003705FC 81 84 00 28 */ lwz r12, 0x28(r4) /* 803736A0 00370600 28 0C 00 00 */ cmplwi r12, 0 /* 803736A4 00370604 41 82 00 10 */ beq lbl_803736B4 /* 803736A8 00370608 7D 88 03 A6 */ mtlr r12 /* 803736AC 0037060C 38 60 00 00 */ li r3, 0 /* 803736B0 00370610 4E 80 00 21 */ blrl lbl_803736B4: /* 803736B4 00370614 4B FF F5 51 */ bl stateReady /* 803736B8 00370618 48 00 01 68 */ b lbl_80373820 lbl_803736BC: /* 803736BC 0037061C 80 8D AC 10 */ lwz r4, executing@sda21(r13) /* 803736C0 00370620 38 7F 00 40 */ addi r3, r31, 0x40 /* 803736C4 00370624 38 00 00 00 */ li r0, 0 /* 803736C8 00370628 90 6D AC 10 */ stw r3, executing@sda21(r13) /* 803736CC 0037062C 90 04 00 0C */ stw r0, 0xc(r4) /* 803736D0 00370630 81 84 00 28 */ lwz r12, 0x28(r4) /* 803736D4 00370634 28 0C 00 00 */ cmplwi r12, 0 /* 803736D8 00370638 41 82 00 10 */ beq lbl_803736E8 /* 803736DC 0037063C 7D 88 03 A6 */ mtlr r12 /* 803736E0 00370640 38 60 00 00 */ li r3, 0 /* 803736E4 00370644 4E 80 00 21 */ blrl lbl_803736E8: /* 803736E8 00370648 4B FF F5 1D */ bl stateReady /* 803736EC 0037064C 48 00 01 34 */ b lbl_80373820 lbl_803736F0: /* 803736F0 00370650 80 0D AC 2C */ lwz r0, CurrCommand@sda21(r13) /* 803736F4 00370654 28 00 00 0E */ cmplwi r0, 0xe /* 803736F8 00370658 40 82 00 2C */ bne lbl_80373724 /* 803736FC 0037065C 80 8D AC 10 */ lwz r4, executing@sda21(r13) /* 80373700 00370660 38 00 FF FF */ li r0, -1 /* 80373704 00370664 3C 60 01 23 */ lis r3, 0x01234567@ha /* 80373708 00370668 90 04 00 0C */ stw r0, 0xc(r4) /* 8037370C 0037066C 38 63 45 67 */ addi r3, r3, 0x01234567@l /* 80373710 00370670 48 00 14 BD */ bl __DVDStoreErrorCode /* 80373714 00370674 3C 60 80 37 */ lis r3, cbForStateError@ha /* 80373718 00370678 38 63 1D 90 */ addi r3, r3, cbForStateError@l /* 8037371C 0037067C 4B FF D7 29 */ bl DVDLowStopMotor /* 80373720 00370680 48 00 01 00 */ b lbl_80373820 lbl_80373724: /* 80373724 00370684 80 0D AC 2C */ lwz r0, CurrCommand@sda21(r13) /* 80373728 00370688 28 00 00 01 */ cmplwi r0, 1 /* 8037372C 0037068C 41 82 00 28 */ beq lbl_80373754 /* 80373730 00370690 80 0D AC 2C */ lwz r0, CurrCommand@sda21(r13) /* 80373734 00370694 28 00 00 04 */ cmplwi r0, 4 /* 80373738 00370698 41 82 00 1C */ beq lbl_80373754 /* 8037373C 0037069C 80 0D AC 2C */ lwz r0, CurrCommand@sda21(r13) /* 80373740 003706A0 28 00 00 05 */ cmplwi r0, 5 /* 80373744 003706A4 41 82 00 10 */ beq lbl_80373754 /* 80373748 003706A8 80 0D AC 2C */ lwz r0, CurrCommand@sda21(r13) /* 8037374C 003706AC 28 00 00 0E */ cmplwi r0, 0xe /* 80373750 003706B0 40 82 00 C4 */ bne lbl_80373814 lbl_80373754: /* 80373754 003706B4 83 CD AC 10 */ lwz r30, executing@sda21(r13) /* 80373758 003706B8 80 7E 00 20 */ lwz r3, 0x20(r30) /* 8037375C 003706BC 80 1E 00 14 */ lwz r0, 0x14(r30) /* 80373760 003706C0 7C 03 00 40 */ cmplw r3, r0 /* 80373764 003706C4 40 82 00 B0 */ bne lbl_80373814 /* 80373768 003706C8 80 0D AC 30 */ lwz r0, Canceling@sda21(r13) /* 8037376C 003706CC 28 00 00 00 */ cmplwi r0, 0 /* 80373770 003706D0 41 82 00 64 */ beq lbl_803737D4 /* 80373774 003706D4 38 80 00 00 */ li r4, 0 /* 80373778 003706D8 90 8D AC 38 */ stw r4, ResumeFromHere@sda21(r13) /* 8037377C 003706DC 38 7F 00 40 */ addi r3, r31, 0x40 /* 80373780 003706E0 38 00 00 0A */ li r0, 0xa /* 80373784 003706E4 90 8D AC 30 */ stw r4, Canceling@sda21(r13) /* 80373788 003706E8 90 6D AC 10 */ stw r3, executing@sda21(r13) /* 8037378C 003706EC 90 1E 00 0C */ stw r0, 0xc(r30) /* 80373790 003706F0 81 9E 00 28 */ lwz r12, 0x28(r30) /* 80373794 003706F4 28 0C 00 00 */ cmplwi r12, 0 /* 80373798 003706F8 41 82 00 14 */ beq lbl_803737AC /* 8037379C 003706FC 7D 88 03 A6 */ mtlr r12 /* 803737A0 00370700 38 9E 00 00 */ addi r4, r30, 0 /* 803737A4 00370704 38 60 FF FD */ li r3, -3 /* 803737A8 00370708 4E 80 00 21 */ blrl lbl_803737AC: /* 803737AC 0037070C 81 8D AC 34 */ lwz r12, CancelCallback@sda21(r13) /* 803737B0 00370710 28 0C 00 00 */ cmplwi r12, 0 /* 803737B4 00370714 41 82 00 14 */ beq lbl_803737C8 /* 803737B8 00370718 7D 88 03 A6 */ mtlr r12 /* 803737BC 0037071C 38 9E 00 00 */ addi r4, r30, 0 /* 803737C0 00370720 38 60 00 00 */ li r3, 0 /* 803737C4 00370724 4E 80 00 21 */ blrl lbl_803737C8: /* 803737C8 00370728 4B FF F4 3D */ bl stateReady /* 803737CC 0037072C 38 00 00 01 */ li r0, 1 /* 803737D0 00370730 48 00 00 08 */ b lbl_803737D8 lbl_803737D4: /* 803737D4 00370734 38 00 00 00 */ li r0, 0 lbl_803737D8: /* 803737D8 00370738 2C 00 00 00 */ cmpwi r0, 0 /* 803737DC 0037073C 40 82 00 44 */ bne lbl_80373820 /* 803737E0 00370740 80 8D AC 10 */ lwz r4, executing@sda21(r13) /* 803737E4 00370744 38 7F 00 40 */ addi r3, r31, 0x40 /* 803737E8 00370748 38 00 00 00 */ li r0, 0 /* 803737EC 0037074C 90 6D AC 10 */ stw r3, executing@sda21(r13) /* 803737F0 00370750 90 04 00 0C */ stw r0, 0xc(r4) /* 803737F4 00370754 81 84 00 28 */ lwz r12, 0x28(r4) /* 803737F8 00370758 28 0C 00 00 */ cmplwi r12, 0 /* 803737FC 0037075C 41 82 00 10 */ beq lbl_8037380C /* 80373800 00370760 80 64 00 20 */ lwz r3, 0x20(r4) /* 80373804 00370764 7D 88 03 A6 */ mtlr r12 /* 80373808 00370768 4E 80 00 21 */ blrl lbl_8037380C: /* 8037380C 0037076C 4B FF F3 F9 */ bl stateReady /* 80373810 00370770 48 00 00 10 */ b lbl_80373820 lbl_80373814: /* 80373814 00370774 3C 60 80 37 */ lis r3, cbForStateGettingError@ha /* 80373818 00370778 38 63 1F 4C */ addi r3, r3, cbForStateGettingError@l /* 8037381C 0037077C 4B FF D6 B5 */ bl DVDLowRequestError lbl_80373820: /* 80373820 00370780 80 01 00 1C */ lwz r0, 0x1c(r1) /* 80373824 00370784 83 E1 00 14 */ lwz r31, 0x14(r1) /* 80373828 00370788 83 C1 00 10 */ lwz r30, 0x10(r1) /* 8037382C 0037078C 38 21 00 18 */ addi r1, r1, 0x18 /* 80373830 00370790 7C 08 03 A6 */ mtlr r0 /* 80373834 00370794 4E 80 00 20 */ blr .global issueCommand issueCommand: /* 80373838 00370798 7C 08 02 A6 */ mflr r0 /* 8037383C 0037079C 90 01 00 04 */ stw r0, 4(r1) /* 80373840 003707A0 94 21 FF E0 */ stwu r1, -0x20(r1) /* 80373844 003707A4 93 E1 00 1C */ stw r31, 0x1c(r1) /* 80373848 003707A8 93 C1 00 18 */ stw r30, 0x18(r1) /* 8037384C 003707AC 3B C4 00 00 */ addi r30, r4, 0 /* 80373850 003707B0 93 A1 00 14 */ stw r29, 0x14(r1) /* 80373854 003707B4 3B A3 00 00 */ addi r29, r3, 0 /* 80373858 003707B8 80 0D 9E DC */ lwz r0, autoInvalidation@sda21(r13) /* 8037385C 003707BC 2C 00 00 00 */ cmpwi r0, 0 /* 80373860 003707C0 41 82 00 30 */ beq lbl_80373890 /* 80373864 003707C4 80 7E 00 08 */ lwz r3, 8(r30) /* 80373868 003707C8 28 03 00 01 */ cmplwi r3, 1 /* 8037386C 003707CC 41 82 00 18 */ beq lbl_80373884 /* 80373870 003707D0 38 03 FF FC */ addi r0, r3, -4 /* 80373874 003707D4 28 00 00 01 */ cmplwi r0, 1 /* 80373878 003707D8 40 81 00 0C */ ble lbl_80373884 /* 8037387C 003707DC 28 03 00 0E */ cmplwi r3, 0xe /* 80373880 003707E0 40 82 00 10 */ bne lbl_80373890 lbl_80373884: /* 80373884 003707E4 80 7E 00 18 */ lwz r3, 0x18(r30) /* 80373888 003707E8 80 9E 00 14 */ lwz r4, 0x14(r30) /* 8037388C 003707EC 48 00 B1 F9 */ bl DCInvalidateRange lbl_80373890: /* 80373890 003707F0 48 00 DD D1 */ bl OSDisableInterrupts /* 80373894 003707F4 38 00 00 02 */ li r0, 2 /* 80373898 003707F8 90 1E 00 0C */ stw r0, 0xc(r30) /* 8037389C 003707FC 3B E3 00 00 */ addi r31, r3, 0 /* 803738A0 00370800 38 7D 00 00 */ addi r3, r29, 0 /* 803738A4 00370804 38 9E 00 00 */ addi r4, r30, 0 /* 803738A8 00370808 48 00 10 49 */ bl __DVDPushWaitingQueue /* 803738AC 0037080C 80 0D AC 10 */ lwz r0, executing@sda21(r13) /* 803738B0 00370810 3B C3 00 00 */ addi r30, r3, 0 /* 803738B4 00370814 28 00 00 00 */ cmplwi r0, 0 /* 803738B8 00370818 40 82 00 14 */ bne lbl_803738CC /* 803738BC 0037081C 80 0D AC 1C */ lwz r0, PauseFlag@sda21(r13) /* 803738C0 00370820 2C 00 00 00 */ cmpwi r0, 0 /* 803738C4 00370824 40 82 00 08 */ bne lbl_803738CC /* 803738C8 00370828 4B FF F3 3D */ bl stateReady lbl_803738CC: /* 803738CC 0037082C 7F E3 FB 78 */ mr r3, r31 /* 803738D0 00370830 48 00 DD B9 */ bl OSRestoreInterrupts /* 803738D4 00370834 7F C3 F3 78 */ mr r3, r30 /* 803738D8 00370838 80 01 00 24 */ lwz r0, 0x24(r1) /* 803738DC 0037083C 83 E1 00 1C */ lwz r31, 0x1c(r1) /* 803738E0 00370840 83 C1 00 18 */ lwz r30, 0x18(r1) /* 803738E4 00370844 83 A1 00 14 */ lwz r29, 0x14(r1) /* 803738E8 00370848 38 21 00 20 */ addi r1, r1, 0x20 /* 803738EC 0037084C 7C 08 03 A6 */ mtlr r0 /* 803738F0 00370850 4E 80 00 20 */ blr .global DVDReadAbsAsyncPrio DVDReadAbsAsyncPrio: /* 803738F4 00370854 7C 08 02 A6 */ mflr r0 /* 803738F8 00370858 90 01 00 04 */ stw r0, 4(r1) /* 803738FC 0037085C 38 00 00 01 */ li r0, 1 /* 80373900 00370860 94 21 FF C8 */ stwu r1, -0x38(r1) /* 80373904 00370864 93 E1 00 34 */ stw r31, 0x34(r1) /* 80373908 00370868 3B E8 00 00 */ addi r31, r8, 0 /* 8037390C 0037086C 93 C1 00 30 */ stw r30, 0x30(r1) /* 80373910 00370870 93 A1 00 2C */ stw r29, 0x2c(r1) /* 80373914 00370874 3B A3 00 00 */ addi r29, r3, 0 /* 80373918 00370878 90 03 00 08 */ stw r0, 8(r3) /* 8037391C 0037087C 38 00 00 00 */ li r0, 0 /* 80373920 00370880 90 83 00 18 */ stw r4, 0x18(r3) /* 80373924 00370884 90 A3 00 14 */ stw r5, 0x14(r3) /* 80373928 00370888 90 C3 00 10 */ stw r6, 0x10(r3) /* 8037392C 0037088C 90 03 00 20 */ stw r0, 0x20(r3) /* 80373930 00370890 90 E3 00 28 */ stw r7, 0x28(r3) /* 80373934 00370894 80 0D 9E DC */ lwz r0, autoInvalidation@sda21(r13) /* 80373938 00370898 2C 00 00 00 */ cmpwi r0, 0 /* 8037393C 0037089C 41 82 00 30 */ beq lbl_8037396C /* 80373940 003708A0 80 7D 00 08 */ lwz r3, 8(r29) /* 80373944 003708A4 28 03 00 01 */ cmplwi r3, 1 /* 80373948 003708A8 41 82 00 18 */ beq lbl_80373960 /* 8037394C 003708AC 38 03 FF FC */ addi r0, r3, -4 /* 80373950 003708B0 28 00 00 01 */ cmplwi r0, 1 /* 80373954 003708B4 40 81 00 0C */ ble lbl_80373960 /* 80373958 003708B8 28 03 00 0E */ cmplwi r3, 0xe /* 8037395C 003708BC 40 82 00 10 */ bne lbl_8037396C lbl_80373960: /* 80373960 003708C0 80 7D 00 18 */ lwz r3, 0x18(r29) /* 80373964 003708C4 80 9D 00 14 */ lwz r4, 0x14(r29) /* 80373968 003708C8 48 00 B1 1D */ bl DCInvalidateRange lbl_8037396C: /* 8037396C 003708CC 48 00 DC F5 */ bl OSDisableInterrupts /* 80373970 003708D0 38 00 00 02 */ li r0, 2 /* 80373974 003708D4 90 1D 00 0C */ stw r0, 0xc(r29) /* 80373978 003708D8 3B C3 00 00 */ addi r30, r3, 0 /* 8037397C 003708DC 38 7F 00 00 */ addi r3, r31, 0 /* 80373980 003708E0 38 9D 00 00 */ addi r4, r29, 0 /* 80373984 003708E4 48 00 0F 6D */ bl __DVDPushWaitingQueue /* 80373988 003708E8 80 0D AC 10 */ lwz r0, executing@sda21(r13) /* 8037398C 003708EC 3B E3 00 00 */ addi r31, r3, 0 /* 80373990 003708F0 28 00 00 00 */ cmplwi r0, 0 /* 80373994 003708F4 40 82 00 14 */ bne lbl_803739A8 /* 80373998 003708F8 80 0D AC 1C */ lwz r0, PauseFlag@sda21(r13) /* 8037399C 003708FC 2C 00 00 00 */ cmpwi r0, 0 /* 803739A0 00370900 40 82 00 08 */ bne lbl_803739A8 /* 803739A4 00370904 4B FF F2 61 */ bl stateReady lbl_803739A8: /* 803739A8 00370908 7F C3 F3 78 */ mr r3, r30 /* 803739AC 0037090C 48 00 DC DD */ bl OSRestoreInterrupts /* 803739B0 00370910 7F E3 FB 78 */ mr r3, r31 /* 803739B4 00370914 80 01 00 3C */ lwz r0, 0x3c(r1) /* 803739B8 00370918 83 E1 00 34 */ lwz r31, 0x34(r1) /* 803739BC 0037091C 83 C1 00 30 */ lwz r30, 0x30(r1) /* 803739C0 00370920 83 A1 00 2C */ lwz r29, 0x2c(r1) /* 803739C4 00370924 38 21 00 38 */ addi r1, r1, 0x38 /* 803739C8 00370928 7C 08 03 A6 */ mtlr r0 /* 803739CC 0037092C 4E 80 00 20 */ blr .global DVDReadAbsAsyncForBS DVDReadAbsAsyncForBS: /* 803739D0 00370930 7C 08 02 A6 */ mflr r0 /* 803739D4 00370934 90 01 00 04 */ stw r0, 4(r1) /* 803739D8 00370938 38 00 00 04 */ li r0, 4 /* 803739DC 0037093C 94 21 FF D0 */ stwu r1, -0x30(r1) /* 803739E0 00370940 93 E1 00 2C */ stw r31, 0x2c(r1) /* 803739E4 00370944 3B E3 00 00 */ addi r31, r3, 0 /* 803739E8 00370948 93 C1 00 28 */ stw r30, 0x28(r1) /* 803739EC 0037094C 90 03 00 08 */ stw r0, 8(r3) /* 803739F0 00370950 38 00 00 00 */ li r0, 0 /* 803739F4 00370954 90 83 00 18 */ stw r4, 0x18(r3) /* 803739F8 00370958 90 A3 00 14 */ stw r5, 0x14(r3) /* 803739FC 0037095C 90 C3 00 10 */ stw r6, 0x10(r3) /* 80373A00 00370960 90 03 00 20 */ stw r0, 0x20(r3) /* 80373A04 00370964 90 E3 00 28 */ stw r7, 0x28(r3) /* 80373A08 00370968 80 0D 9E DC */ lwz r0, autoInvalidation@sda21(r13) /* 80373A0C 0037096C 2C 00 00 00 */ cmpwi r0, 0 /* 80373A10 00370970 41 82 00 30 */ beq lbl_80373A40 /* 80373A14 00370974 80 7F 00 08 */ lwz r3, 8(r31) /* 80373A18 00370978 28 03 00 01 */ cmplwi r3, 1 /* 80373A1C 0037097C 41 82 00 18 */ beq lbl_80373A34 /* 80373A20 00370980 38 03 FF FC */ addi r0, r3, -4 /* 80373A24 00370984 28 00 00 01 */ cmplwi r0, 1 /* 80373A28 00370988 40 81 00 0C */ ble lbl_80373A34 /* 80373A2C 0037098C 28 03 00 0E */ cmplwi r3, 0xe /* 80373A30 00370990 40 82 00 10 */ bne lbl_80373A40 lbl_80373A34: /* 80373A34 00370994 80 7F 00 18 */ lwz r3, 0x18(r31) /* 80373A38 00370998 80 9F 00 14 */ lwz r4, 0x14(r31) /* 80373A3C 0037099C 48 00 B0 49 */ bl DCInvalidateRange lbl_80373A40: /* 80373A40 003709A0 48 00 DC 21 */ bl OSDisableInterrupts /* 80373A44 003709A4 38 00 00 02 */ li r0, 2 /* 80373A48 003709A8 90 1F 00 0C */ stw r0, 0xc(r31) /* 80373A4C 003709AC 3B C3 00 00 */ addi r30, r3, 0 /* 80373A50 003709B0 38 9F 00 00 */ addi r4, r31, 0 /* 80373A54 003709B4 38 60 00 02 */ li r3, 2 /* 80373A58 003709B8 48 00 0E 99 */ bl __DVDPushWaitingQueue /* 80373A5C 003709BC 80 0D AC 10 */ lwz r0, executing@sda21(r13) /* 80373A60 003709C0 3B E3 00 00 */ addi r31, r3, 0 /* 80373A64 003709C4 28 00 00 00 */ cmplwi r0, 0 /* 80373A68 003709C8 40 82 00 14 */ bne lbl_80373A7C /* 80373A6C 003709CC 80 0D AC 1C */ lwz r0, PauseFlag@sda21(r13) /* 80373A70 003709D0 2C 00 00 00 */ cmpwi r0, 0 /* 80373A74 003709D4 40 82 00 08 */ bne lbl_80373A7C /* 80373A78 003709D8 4B FF F1 8D */ bl stateReady lbl_80373A7C: /* 80373A7C 003709DC 7F C3 F3 78 */ mr r3, r30 /* 80373A80 003709E0 48 00 DC 09 */ bl OSRestoreInterrupts /* 80373A84 003709E4 7F E3 FB 78 */ mr r3, r31 /* 80373A88 003709E8 80 01 00 34 */ lwz r0, 0x34(r1) /* 80373A8C 003709EC 83 E1 00 2C */ lwz r31, 0x2c(r1) /* 80373A90 003709F0 83 C1 00 28 */ lwz r30, 0x28(r1) /* 80373A94 003709F4 38 21 00 30 */ addi r1, r1, 0x30 /* 80373A98 003709F8 7C 08 03 A6 */ mtlr r0 /* 80373A9C 003709FC 4E 80 00 20 */ blr .global DVDReadDiskID DVDReadDiskID: /* 80373AA0 00370A00 7C 08 02 A6 */ mflr r0 /* 80373AA4 00370A04 90 01 00 04 */ stw r0, 4(r1) /* 80373AA8 00370A08 38 00 00 05 */ li r0, 5 /* 80373AAC 00370A0C 94 21 FF D8 */ stwu r1, -0x28(r1) /* 80373AB0 00370A10 93 E1 00 24 */ stw r31, 0x24(r1) /* 80373AB4 00370A14 3B E3 00 00 */ addi r31, r3, 0 /* 80373AB8 00370A18 93 C1 00 20 */ stw r30, 0x20(r1) /* 80373ABC 00370A1C 90 03 00 08 */ stw r0, 8(r3) /* 80373AC0 00370A20 38 60 00 20 */ li r3, 0x20 /* 80373AC4 00370A24 38 00 00 00 */ li r0, 0 /* 80373AC8 00370A28 90 9F 00 18 */ stw r4, 0x18(r31) /* 80373ACC 00370A2C 90 7F 00 14 */ stw r3, 0x14(r31) /* 80373AD0 00370A30 90 1F 00 10 */ stw r0, 0x10(r31) /* 80373AD4 00370A34 90 1F 00 20 */ stw r0, 0x20(r31) /* 80373AD8 00370A38 90 BF 00 28 */ stw r5, 0x28(r31) /* 80373ADC 00370A3C 80 0D 9E DC */ lwz r0, autoInvalidation@sda21(r13) /* 80373AE0 00370A40 2C 00 00 00 */ cmpwi r0, 0 /* 80373AE4 00370A44 41 82 00 30 */ beq lbl_80373B14 /* 80373AE8 00370A48 80 7F 00 08 */ lwz r3, 8(r31) /* 80373AEC 00370A4C 28 03 00 01 */ cmplwi r3, 1 /* 80373AF0 00370A50 41 82 00 18 */ beq lbl_80373B08 /* 80373AF4 00370A54 38 03 FF FC */ addi r0, r3, -4 /* 80373AF8 00370A58 28 00 00 01 */ cmplwi r0, 1 /* 80373AFC 00370A5C 40 81 00 0C */ ble lbl_80373B08 /* 80373B00 00370A60 28 03 00 0E */ cmplwi r3, 0xe /* 80373B04 00370A64 40 82 00 10 */ bne lbl_80373B14 lbl_80373B08: /* 80373B08 00370A68 80 7F 00 18 */ lwz r3, 0x18(r31) /* 80373B0C 00370A6C 80 9F 00 14 */ lwz r4, 0x14(r31) /* 80373B10 00370A70 48 00 AF 75 */ bl DCInvalidateRange lbl_80373B14: /* 80373B14 00370A74 48 00 DB 4D */ bl OSDisableInterrupts /* 80373B18 00370A78 38 00 00 02 */ li r0, 2 /* 80373B1C 00370A7C 90 1F 00 0C */ stw r0, 0xc(r31) /* 80373B20 00370A80 3B C3 00 00 */ addi r30, r3, 0 /* 80373B24 00370A84 38 9F 00 00 */ addi r4, r31, 0 /* 80373B28 00370A88 38 60 00 02 */ li r3, 2 /* 80373B2C 00370A8C 48 00 0D C5 */ bl __DVDPushWaitingQueue /* 80373B30 00370A90 80 0D AC 10 */ lwz r0, executing@sda21(r13) /* 80373B34 00370A94 3B E3 00 00 */ addi r31, r3, 0 /* 80373B38 00370A98 28 00 00 00 */ cmplwi r0, 0 /* 80373B3C 00370A9C 40 82 00 14 */ bne lbl_80373B50 /* 80373B40 00370AA0 80 0D AC 1C */ lwz r0, PauseFlag@sda21(r13) /* 80373B44 00370AA4 2C 00 00 00 */ cmpwi r0, 0 /* 80373B48 00370AA8 40 82 00 08 */ bne lbl_80373B50 /* 80373B4C 00370AAC 4B FF F0 B9 */ bl stateReady lbl_80373B50: /* 80373B50 00370AB0 7F C3 F3 78 */ mr r3, r30 /* 80373B54 00370AB4 48 00 DB 35 */ bl OSRestoreInterrupts /* 80373B58 00370AB8 7F E3 FB 78 */ mr r3, r31 /* 80373B5C 00370ABC 80 01 00 2C */ lwz r0, 0x2c(r1) /* 80373B60 00370AC0 83 E1 00 24 */ lwz r31, 0x24(r1) /* 80373B64 00370AC4 83 C1 00 20 */ lwz r30, 0x20(r1) /* 80373B68 00370AC8 38 21 00 28 */ addi r1, r1, 0x28 /* 80373B6C 00370ACC 7C 08 03 A6 */ mtlr r0 /* 80373B70 00370AD0 4E 80 00 20 */ blr .global DVDPrepareStreamAbsAsync DVDPrepareStreamAbsAsync: /* 80373B74 00370AD4 7C 08 02 A6 */ mflr r0 /* 80373B78 00370AD8 90 01 00 04 */ stw r0, 4(r1) /* 80373B7C 00370ADC 38 00 00 06 */ li r0, 6 /* 80373B80 00370AE0 94 21 FF D8 */ stwu r1, -0x28(r1) /* 80373B84 00370AE4 93 E1 00 24 */ stw r31, 0x24(r1) /* 80373B88 00370AE8 3B E3 00 00 */ addi r31, r3, 0 /* 80373B8C 00370AEC 93 C1 00 20 */ stw r30, 0x20(r1) /* 80373B90 00370AF0 90 03 00 08 */ stw r0, 8(r3) /* 80373B94 00370AF4 90 83 00 14 */ stw r4, 0x14(r3) /* 80373B98 00370AF8 90 A3 00 10 */ stw r5, 0x10(r3) /* 80373B9C 00370AFC 90 C3 00 28 */ stw r6, 0x28(r3) /* 80373BA0 00370B00 80 0D 9E DC */ lwz r0, autoInvalidation@sda21(r13) /* 80373BA4 00370B04 2C 00 00 00 */ cmpwi r0, 0 /* 80373BA8 00370B08 41 82 00 30 */ beq lbl_80373BD8 /* 80373BAC 00370B0C 80 7F 00 08 */ lwz r3, 8(r31) /* 80373BB0 00370B10 28 03 00 01 */ cmplwi r3, 1 /* 80373BB4 00370B14 41 82 00 18 */ beq lbl_80373BCC /* 80373BB8 00370B18 38 03 FF FC */ addi r0, r3, -4 /* 80373BBC 00370B1C 28 00 00 01 */ cmplwi r0, 1 /* 80373BC0 00370B20 40 81 00 0C */ ble lbl_80373BCC /* 80373BC4 00370B24 28 03 00 0E */ cmplwi r3, 0xe /* 80373BC8 00370B28 40 82 00 10 */ bne lbl_80373BD8 lbl_80373BCC: /* 80373BCC 00370B2C 80 7F 00 18 */ lwz r3, 0x18(r31) /* 80373BD0 00370B30 80 9F 00 14 */ lwz r4, 0x14(r31) /* 80373BD4 00370B34 48 00 AE B1 */ bl DCInvalidateRange lbl_80373BD8: /* 80373BD8 00370B38 48 00 DA 89 */ bl OSDisableInterrupts /* 80373BDC 00370B3C 38 00 00 02 */ li r0, 2 /* 80373BE0 00370B40 90 1F 00 0C */ stw r0, 0xc(r31) /* 80373BE4 00370B44 3B C3 00 00 */ addi r30, r3, 0 /* 80373BE8 00370B48 38 9F 00 00 */ addi r4, r31, 0 /* 80373BEC 00370B4C 38 60 00 01 */ li r3, 1 /* 80373BF0 00370B50 48 00 0D 01 */ bl __DVDPushWaitingQueue /* 80373BF4 00370B54 80 0D AC 10 */ lwz r0, executing@sda21(r13) /* 80373BF8 00370B58 3B E3 00 00 */ addi r31, r3, 0 /* 80373BFC 00370B5C 28 00 00 00 */ cmplwi r0, 0 /* 80373C00 00370B60 40 82 00 14 */ bne lbl_80373C14 /* 80373C04 00370B64 80 0D AC 1C */ lwz r0, PauseFlag@sda21(r13) /* 80373C08 00370B68 2C 00 00 00 */ cmpwi r0, 0 /* 80373C0C 00370B6C 40 82 00 08 */ bne lbl_80373C14 /* 80373C10 00370B70 4B FF EF F5 */ bl stateReady lbl_80373C14: /* 80373C14 00370B74 7F C3 F3 78 */ mr r3, r30 /* 80373C18 00370B78 48 00 DA 71 */ bl OSRestoreInterrupts /* 80373C1C 00370B7C 7F E3 FB 78 */ mr r3, r31 /* 80373C20 00370B80 80 01 00 2C */ lwz r0, 0x2c(r1) /* 80373C24 00370B84 83 E1 00 24 */ lwz r31, 0x24(r1) /* 80373C28 00370B88 83 C1 00 20 */ lwz r30, 0x20(r1) /* 80373C2C 00370B8C 38 21 00 28 */ addi r1, r1, 0x28 /* 80373C30 00370B90 7C 08 03 A6 */ mtlr r0 /* 80373C34 00370B94 4E 80 00 20 */ blr .global DVDCancelStreamAsync DVDCancelStreamAsync: /* 80373C38 00370B98 7C 08 02 A6 */ mflr r0 /* 80373C3C 00370B9C 90 01 00 04 */ stw r0, 4(r1) /* 80373C40 00370BA0 38 00 00 07 */ li r0, 7 /* 80373C44 00370BA4 94 21 FF E0 */ stwu r1, -0x20(r1) /* 80373C48 00370BA8 93 E1 00 1C */ stw r31, 0x1c(r1) /* 80373C4C 00370BAC 3B E3 00 00 */ addi r31, r3, 0 /* 80373C50 00370BB0 93 C1 00 18 */ stw r30, 0x18(r1) /* 80373C54 00370BB4 90 03 00 08 */ stw r0, 8(r3) /* 80373C58 00370BB8 90 83 00 28 */ stw r4, 0x28(r3) /* 80373C5C 00370BBC 80 0D 9E DC */ lwz r0, autoInvalidation@sda21(r13) /* 80373C60 00370BC0 2C 00 00 00 */ cmpwi r0, 0 /* 80373C64 00370BC4 41 82 00 30 */ beq lbl_80373C94 /* 80373C68 00370BC8 80 7F 00 08 */ lwz r3, 8(r31) /* 80373C6C 00370BCC 28 03 00 01 */ cmplwi r3, 1 /* 80373C70 00370BD0 41 82 00 18 */ beq lbl_80373C88 /* 80373C74 00370BD4 38 03 FF FC */ addi r0, r3, -4 /* 80373C78 00370BD8 28 00 00 01 */ cmplwi r0, 1 /* 80373C7C 00370BDC 40 81 00 0C */ ble lbl_80373C88 /* 80373C80 00370BE0 28 03 00 0E */ cmplwi r3, 0xe /* 80373C84 00370BE4 40 82 00 10 */ bne lbl_80373C94 lbl_80373C88: /* 80373C88 00370BE8 80 7F 00 18 */ lwz r3, 0x18(r31) /* 80373C8C 00370BEC 80 9F 00 14 */ lwz r4, 0x14(r31) /* 80373C90 00370BF0 48 00 AD F5 */ bl DCInvalidateRange lbl_80373C94: /* 80373C94 00370BF4 48 00 D9 CD */ bl OSDisableInterrupts /* 80373C98 00370BF8 38 00 00 02 */ li r0, 2 /* 80373C9C 00370BFC 90 1F 00 0C */ stw r0, 0xc(r31) /* 80373CA0 00370C00 3B C3 00 00 */ addi r30, r3, 0 /* 80373CA4 00370C04 38 9F 00 00 */ addi r4, r31, 0 /* 80373CA8 00370C08 38 60 00 01 */ li r3, 1 /* 80373CAC 00370C0C 48 00 0C 45 */ bl __DVDPushWaitingQueue /* 80373CB0 00370C10 80 0D AC 10 */ lwz r0, executing@sda21(r13) /* 80373CB4 00370C14 3B E3 00 00 */ addi r31, r3, 0 /* 80373CB8 00370C18 28 00 00 00 */ cmplwi r0, 0 /* 80373CBC 00370C1C 40 82 00 14 */ bne lbl_80373CD0 /* 80373CC0 00370C20 80 0D AC 1C */ lwz r0, PauseFlag@sda21(r13) /* 80373CC4 00370C24 2C 00 00 00 */ cmpwi r0, 0 /* 80373CC8 00370C28 40 82 00 08 */ bne lbl_80373CD0 /* 80373CCC 00370C2C 4B FF EF 39 */ bl stateReady lbl_80373CD0: /* 80373CD0 00370C30 7F C3 F3 78 */ mr r3, r30 /* 80373CD4 00370C34 48 00 D9 B5 */ bl OSRestoreInterrupts /* 80373CD8 00370C38 7F E3 FB 78 */ mr r3, r31 /* 80373CDC 00370C3C 80 01 00 24 */ lwz r0, 0x24(r1) /* 80373CE0 00370C40 83 E1 00 1C */ lwz r31, 0x1c(r1) /* 80373CE4 00370C44 83 C1 00 18 */ lwz r30, 0x18(r1) /* 80373CE8 00370C48 38 21 00 20 */ addi r1, r1, 0x20 /* 80373CEC 00370C4C 7C 08 03 A6 */ mtlr r0 /* 80373CF0 00370C50 4E 80 00 20 */ blr .global DVDCancelStream DVDCancelStream: /* 80373CF4 00370C54 7C 08 02 A6 */ mflr r0 /* 80373CF8 00370C58 90 01 00 04 */ stw r0, 4(r1) /* 80373CFC 00370C5C 38 00 00 07 */ li r0, 7 /* 80373D00 00370C60 94 21 FF E0 */ stwu r1, -0x20(r1) /* 80373D04 00370C64 93 E1 00 1C */ stw r31, 0x1c(r1) /* 80373D08 00370C68 93 C1 00 18 */ stw r30, 0x18(r1) /* 80373D0C 00370C6C 3B C3 00 00 */ addi r30, r3, 0 /* 80373D10 00370C70 3C 60 80 37 */ lis r3, cbForCancelStreamSync@ha /* 80373D14 00370C74 90 1E 00 08 */ stw r0, 8(r30) /* 80373D18 00370C78 38 03 3D 94 */ addi r0, r3, cbForCancelStreamSync@l /* 80373D1C 00370C7C 38 9E 00 00 */ addi r4, r30, 0 /* 80373D20 00370C80 90 1E 00 28 */ stw r0, 0x28(r30) /* 80373D24 00370C84 38 60 00 01 */ li r3, 1 /* 80373D28 00370C88 4B FF FB 11 */ bl issueCommand /* 80373D2C 00370C8C 2C 03 00 00 */ cmpwi r3, 0 /* 80373D30 00370C90 40 82 00 0C */ bne lbl_80373D3C /* 80373D34 00370C94 38 60 FF FF */ li r3, -1 /* 80373D38 00370C98 48 00 00 44 */ b lbl_80373D7C lbl_80373D3C: /* 80373D3C 00370C9C 48 00 D9 25 */ bl OSDisableInterrupts /* 80373D40 00370CA0 7C 7F 1B 78 */ mr r31, r3 lbl_80373D44: /* 80373D44 00370CA4 80 7E 00 0C */ lwz r3, 0xc(r30) /* 80373D48 00370CA8 38 03 00 01 */ addi r0, r3, 1 /* 80373D4C 00370CAC 28 00 00 01 */ cmplwi r0, 1 /* 80373D50 00370CB0 40 81 00 0C */ ble lbl_80373D5C /* 80373D54 00370CB4 2C 03 00 0A */ cmpwi r3, 0xa /* 80373D58 00370CB8 40 82 00 0C */ bne lbl_80373D64 lbl_80373D5C: /* 80373D5C 00370CBC 83 DE 00 20 */ lwz r30, 0x20(r30) /* 80373D60 00370CC0 48 00 00 10 */ b lbl_80373D70 lbl_80373D64: /* 80373D64 00370CC4 38 6D AC 08 */ addi r3, r13, __DVDThreadQueue@sda21 /* 80373D68 00370CC8 48 01 13 A5 */ bl OSSleepThread /* 80373D6C 00370CCC 4B FF FF D8 */ b lbl_80373D44 lbl_80373D70: /* 80373D70 00370CD0 7F E3 FB 78 */ mr r3, r31 /* 80373D74 00370CD4 48 00 D9 15 */ bl OSRestoreInterrupts /* 80373D78 00370CD8 7F C3 F3 78 */ mr r3, r30 lbl_80373D7C: /* 80373D7C 00370CDC 80 01 00 24 */ lwz r0, 0x24(r1) /* 80373D80 00370CE0 83 E1 00 1C */ lwz r31, 0x1c(r1) /* 80373D84 00370CE4 83 C1 00 18 */ lwz r30, 0x18(r1) /* 80373D88 00370CE8 38 21 00 20 */ addi r1, r1, 0x20 /* 80373D8C 00370CEC 7C 08 03 A6 */ mtlr r0 /* 80373D90 00370CF0 4E 80 00 20 */ blr .global cbForCancelStreamSync cbForCancelStreamSync: /* 80373D94 00370CF4 7C 08 02 A6 */ mflr r0 /* 80373D98 00370CF8 90 01 00 04 */ stw r0, 4(r1) /* 80373D9C 00370CFC 94 21 FF F8 */ stwu r1, -8(r1) /* 80373DA0 00370D00 90 64 00 20 */ stw r3, 0x20(r4) /* 80373DA4 00370D04 38 6D AC 08 */ addi r3, r13, __DVDThreadQueue@sda21 /* 80373DA8 00370D08 48 01 14 51 */ bl OSWakeupThread /* 80373DAC 00370D0C 80 01 00 0C */ lwz r0, 0xc(r1) /* 80373DB0 00370D10 38 21 00 08 */ addi r1, r1, 8 /* 80373DB4 00370D14 7C 08 03 A6 */ mtlr r0 /* 80373DB8 00370D18 4E 80 00 20 */ blr .global DVDStopStreamAtEndAsync DVDStopStreamAtEndAsync: /* 80373DBC 00370D1C 7C 08 02 A6 */ mflr r0 /* 80373DC0 00370D20 90 01 00 04 */ stw r0, 4(r1) /* 80373DC4 00370D24 38 00 00 08 */ li r0, 8 /* 80373DC8 00370D28 94 21 FF E0 */ stwu r1, -0x20(r1) /* 80373DCC 00370D2C 93 E1 00 1C */ stw r31, 0x1c(r1) /* 80373DD0 00370D30 3B E3 00 00 */ addi r31, r3, 0 /* 80373DD4 00370D34 93 C1 00 18 */ stw r30, 0x18(r1) /* 80373DD8 00370D38 90 03 00 08 */ stw r0, 8(r3) /* 80373DDC 00370D3C 90 83 00 28 */ stw r4, 0x28(r3) /* 80373DE0 00370D40 80 0D 9E DC */ lwz r0, autoInvalidation@sda21(r13) /* 80373DE4 00370D44 2C 00 00 00 */ cmpwi r0, 0 /* 80373DE8 00370D48 41 82 00 30 */ beq lbl_80373E18 /* 80373DEC 00370D4C 80 7F 00 08 */ lwz r3, 8(r31) /* 80373DF0 00370D50 28 03 00 01 */ cmplwi r3, 1 /* 80373DF4 00370D54 41 82 00 18 */ beq lbl_80373E0C /* 80373DF8 00370D58 38 03 FF FC */ addi r0, r3, -4 /* 80373DFC 00370D5C 28 00 00 01 */ cmplwi r0, 1 /* 80373E00 00370D60 40 81 00 0C */ ble lbl_80373E0C /* 80373E04 00370D64 28 03 00 0E */ cmplwi r3, 0xe /* 80373E08 00370D68 40 82 00 10 */ bne lbl_80373E18 lbl_80373E0C: /* 80373E0C 00370D6C 80 7F 00 18 */ lwz r3, 0x18(r31) /* 80373E10 00370D70 80 9F 00 14 */ lwz r4, 0x14(r31) /* 80373E14 00370D74 48 00 AC 71 */ bl DCInvalidateRange lbl_80373E18: /* 80373E18 00370D78 48 00 D8 49 */ bl OSDisableInterrupts /* 80373E1C 00370D7C 38 00 00 02 */ li r0, 2 /* 80373E20 00370D80 90 1F 00 0C */ stw r0, 0xc(r31) /* 80373E24 00370D84 3B C3 00 00 */ addi r30, r3, 0 /* 80373E28 00370D88 38 9F 00 00 */ addi r4, r31, 0 /* 80373E2C 00370D8C 38 60 00 01 */ li r3, 1 /* 80373E30 00370D90 48 00 0A C1 */ bl __DVDPushWaitingQueue /* 80373E34 00370D94 80 0D AC 10 */ lwz r0, executing@sda21(r13) /* 80373E38 00370D98 3B E3 00 00 */ addi r31, r3, 0 /* 80373E3C 00370D9C 28 00 00 00 */ cmplwi r0, 0 /* 80373E40 00370DA0 40 82 00 14 */ bne lbl_80373E54 /* 80373E44 00370DA4 80 0D AC 1C */ lwz r0, PauseFlag@sda21(r13) /* 80373E48 00370DA8 2C 00 00 00 */ cmpwi r0, 0 /* 80373E4C 00370DAC 40 82 00 08 */ bne lbl_80373E54 /* 80373E50 00370DB0 4B FF ED B5 */ bl stateReady lbl_80373E54: /* 80373E54 00370DB4 7F C3 F3 78 */ mr r3, r30 /* 80373E58 00370DB8 48 00 D8 31 */ bl OSRestoreInterrupts /* 80373E5C 00370DBC 7F E3 FB 78 */ mr r3, r31 /* 80373E60 00370DC0 80 01 00 24 */ lwz r0, 0x24(r1) /* 80373E64 00370DC4 83 E1 00 1C */ lwz r31, 0x1c(r1) /* 80373E68 00370DC8 83 C1 00 18 */ lwz r30, 0x18(r1) /* 80373E6C 00370DCC 38 21 00 20 */ addi r1, r1, 0x20 /* 80373E70 00370DD0 7C 08 03 A6 */ mtlr r0 /* 80373E74 00370DD4 4E 80 00 20 */ blr .global DVDGetStreamErrorStatusAsync DVDGetStreamErrorStatusAsync: /* 80373E78 00370DD8 7C 08 02 A6 */ mflr r0 /* 80373E7C 00370DDC 90 01 00 04 */ stw r0, 4(r1) /* 80373E80 00370DE0 38 00 00 09 */ li r0, 9 /* 80373E84 00370DE4 94 21 FF E0 */ stwu r1, -0x20(r1) /* 80373E88 00370DE8 93 E1 00 1C */ stw r31, 0x1c(r1) /* 80373E8C 00370DEC 3B E3 00 00 */ addi r31, r3, 0 /* 80373E90 00370DF0 93 C1 00 18 */ stw r30, 0x18(r1) /* 80373E94 00370DF4 90 03 00 08 */ stw r0, 8(r3) /* 80373E98 00370DF8 90 83 00 28 */ stw r4, 0x28(r3) /* 80373E9C 00370DFC 80 0D 9E DC */ lwz r0, autoInvalidation@sda21(r13) /* 80373EA0 00370E00 2C 00 00 00 */ cmpwi r0, 0 /* 80373EA4 00370E04 41 82 00 30 */ beq lbl_80373ED4 /* 80373EA8 00370E08 80 7F 00 08 */ lwz r3, 8(r31) /* 80373EAC 00370E0C 28 03 00 01 */ cmplwi r3, 1 /* 80373EB0 00370E10 41 82 00 18 */ beq lbl_80373EC8 /* 80373EB4 00370E14 38 03 FF FC */ addi r0, r3, -4 /* 80373EB8 00370E18 28 00 00 01 */ cmplwi r0, 1 /* 80373EBC 00370E1C 40 81 00 0C */ ble lbl_80373EC8 /* 80373EC0 00370E20 28 03 00 0E */ cmplwi r3, 0xe /* 80373EC4 00370E24 40 82 00 10 */ bne lbl_80373ED4 lbl_80373EC8: /* 80373EC8 00370E28 80 7F 00 18 */ lwz r3, 0x18(r31) /* 80373ECC 00370E2C 80 9F 00 14 */ lwz r4, 0x14(r31) /* 80373ED0 00370E30 48 00 AB B5 */ bl DCInvalidateRange lbl_80373ED4: /* 80373ED4 00370E34 48 00 D7 8D */ bl OSDisableInterrupts /* 80373ED8 00370E38 38 00 00 02 */ li r0, 2 /* 80373EDC 00370E3C 90 1F 00 0C */ stw r0, 0xc(r31) /* 80373EE0 00370E40 3B C3 00 00 */ addi r30, r3, 0 /* 80373EE4 00370E44 38 9F 00 00 */ addi r4, r31, 0 /* 80373EE8 00370E48 38 60 00 01 */ li r3, 1 /* 80373EEC 00370E4C 48 00 0A 05 */ bl __DVDPushWaitingQueue /* 80373EF0 00370E50 80 0D AC 10 */ lwz r0, executing@sda21(r13) /* 80373EF4 00370E54 3B E3 00 00 */ addi r31, r3, 0 /* 80373EF8 00370E58 28 00 00 00 */ cmplwi r0, 0 /* 80373EFC 00370E5C 40 82 00 14 */ bne lbl_80373F10 /* 80373F00 00370E60 80 0D AC 1C */ lwz r0, PauseFlag@sda21(r13) /* 80373F04 00370E64 2C 00 00 00 */ cmpwi r0, 0 /* 80373F08 00370E68 40 82 00 08 */ bne lbl_80373F10 /* 80373F0C 00370E6C 4B FF EC F9 */ bl stateReady lbl_80373F10: /* 80373F10 00370E70 7F C3 F3 78 */ mr r3, r30 /* 80373F14 00370E74 48 00 D7 75 */ bl OSRestoreInterrupts /* 80373F18 00370E78 7F E3 FB 78 */ mr r3, r31 /* 80373F1C 00370E7C 80 01 00 24 */ lwz r0, 0x24(r1) /* 80373F20 00370E80 83 E1 00 1C */ lwz r31, 0x1c(r1) /* 80373F24 00370E84 83 C1 00 18 */ lwz r30, 0x18(r1) /* 80373F28 00370E88 38 21 00 20 */ addi r1, r1, 0x20 /* 80373F2C 00370E8C 7C 08 03 A6 */ mtlr r0 /* 80373F30 00370E90 4E 80 00 20 */ blr .global DVDGetStreamPlayAddrAsync DVDGetStreamPlayAddrAsync: /* 80373F34 00370E94 7C 08 02 A6 */ mflr r0 /* 80373F38 00370E98 90 01 00 04 */ stw r0, 4(r1) /* 80373F3C 00370E9C 38 00 00 0A */ li r0, 0xa /* 80373F40 00370EA0 94 21 FF E0 */ stwu r1, -0x20(r1) /* 80373F44 00370EA4 93 E1 00 1C */ stw r31, 0x1c(r1) /* 80373F48 00370EA8 3B E3 00 00 */ addi r31, r3, 0 /* 80373F4C 00370EAC 93 C1 00 18 */ stw r30, 0x18(r1) /* 80373F50 00370EB0 90 03 00 08 */ stw r0, 8(r3) /* 80373F54 00370EB4 90 83 00 28 */ stw r4, 0x28(r3) /* 80373F58 00370EB8 80 0D 9E DC */ lwz r0, autoInvalidation@sda21(r13) /* 80373F5C 00370EBC 2C 00 00 00 */ cmpwi r0, 0 /* 80373F60 00370EC0 41 82 00 30 */ beq lbl_80373F90 /* 80373F64 00370EC4 80 7F 00 08 */ lwz r3, 8(r31) /* 80373F68 00370EC8 28 03 00 01 */ cmplwi r3, 1 /* 80373F6C 00370ECC 41 82 00 18 */ beq lbl_80373F84 /* 80373F70 00370ED0 38 03 FF FC */ addi r0, r3, -4 /* 80373F74 00370ED4 28 00 00 01 */ cmplwi r0, 1 /* 80373F78 00370ED8 40 81 00 0C */ ble lbl_80373F84 /* 80373F7C 00370EDC 28 03 00 0E */ cmplwi r3, 0xe /* 80373F80 00370EE0 40 82 00 10 */ bne lbl_80373F90 lbl_80373F84: /* 80373F84 00370EE4 80 7F 00 18 */ lwz r3, 0x18(r31) /* 80373F88 00370EE8 80 9F 00 14 */ lwz r4, 0x14(r31) /* 80373F8C 00370EEC 48 00 AA F9 */ bl DCInvalidateRange lbl_80373F90: /* 80373F90 00370EF0 48 00 D6 D1 */ bl OSDisableInterrupts /* 80373F94 00370EF4 38 00 00 02 */ li r0, 2 /* 80373F98 00370EF8 90 1F 00 0C */ stw r0, 0xc(r31) /* 80373F9C 00370EFC 3B C3 00 00 */ addi r30, r3, 0 /* 80373FA0 00370F00 38 9F 00 00 */ addi r4, r31, 0 /* 80373FA4 00370F04 38 60 00 01 */ li r3, 1 /* 80373FA8 00370F08 48 00 09 49 */ bl __DVDPushWaitingQueue /* 80373FAC 00370F0C 80 0D AC 10 */ lwz r0, executing@sda21(r13) /* 80373FB0 00370F10 3B E3 00 00 */ addi r31, r3, 0 /* 80373FB4 00370F14 28 00 00 00 */ cmplwi r0, 0 /* 80373FB8 00370F18 40 82 00 14 */ bne lbl_80373FCC /* 80373FBC 00370F1C 80 0D AC 1C */ lwz r0, PauseFlag@sda21(r13) /* 80373FC0 00370F20 2C 00 00 00 */ cmpwi r0, 0 /* 80373FC4 00370F24 40 82 00 08 */ bne lbl_80373FCC /* 80373FC8 00370F28 4B FF EC 3D */ bl stateReady lbl_80373FCC: /* 80373FCC 00370F2C 7F C3 F3 78 */ mr r3, r30 /* 80373FD0 00370F30 48 00 D6 B9 */ bl OSRestoreInterrupts /* 80373FD4 00370F34 7F E3 FB 78 */ mr r3, r31 /* 80373FD8 00370F38 80 01 00 24 */ lwz r0, 0x24(r1) /* 80373FDC 00370F3C 83 E1 00 1C */ lwz r31, 0x1c(r1) /* 80373FE0 00370F40 83 C1 00 18 */ lwz r30, 0x18(r1) /* 80373FE4 00370F44 38 21 00 20 */ addi r1, r1, 0x20 /* 80373FE8 00370F48 7C 08 03 A6 */ mtlr r0 /* 80373FEC 00370F4C 4E 80 00 20 */ blr .global DVDInquiryAsync DVDInquiryAsync: /* 80373FF0 00370F50 7C 08 02 A6 */ mflr r0 /* 80373FF4 00370F54 90 01 00 04 */ stw r0, 4(r1) /* 80373FF8 00370F58 38 00 00 0E */ li r0, 0xe /* 80373FFC 00370F5C 94 21 FF D8 */ stwu r1, -0x28(r1) /* 80374000 00370F60 93 E1 00 24 */ stw r31, 0x24(r1) /* 80374004 00370F64 3B E3 00 00 */ addi r31, r3, 0 /* 80374008 00370F68 93 C1 00 20 */ stw r30, 0x20(r1) /* 8037400C 00370F6C 90 03 00 08 */ stw r0, 8(r3) /* 80374010 00370F70 38 60 00 20 */ li r3, 0x20 /* 80374014 00370F74 38 00 00 00 */ li r0, 0 /* 80374018 00370F78 90 9F 00 18 */ stw r4, 0x18(r31) /* 8037401C 00370F7C 90 7F 00 14 */ stw r3, 0x14(r31) /* 80374020 00370F80 90 1F 00 20 */ stw r0, 0x20(r31) /* 80374024 00370F84 90 BF 00 28 */ stw r5, 0x28(r31) /* 80374028 00370F88 80 0D 9E DC */ lwz r0, autoInvalidation@sda21(r13) /* 8037402C 00370F8C 2C 00 00 00 */ cmpwi r0, 0 /* 80374030 00370F90 41 82 00 30 */ beq lbl_80374060 /* 80374034 00370F94 80 7F 00 08 */ lwz r3, 8(r31) /* 80374038 00370F98 28 03 00 01 */ cmplwi r3, 1 /* 8037403C 00370F9C 41 82 00 18 */ beq lbl_80374054 /* 80374040 00370FA0 38 03 FF FC */ addi r0, r3, -4 /* 80374044 00370FA4 28 00 00 01 */ cmplwi r0, 1 /* 80374048 00370FA8 40 81 00 0C */ ble lbl_80374054 /* 8037404C 00370FAC 28 03 00 0E */ cmplwi r3, 0xe /* 80374050 00370FB0 40 82 00 10 */ bne lbl_80374060 lbl_80374054: /* 80374054 00370FB4 80 7F 00 18 */ lwz r3, 0x18(r31) /* 80374058 00370FB8 80 9F 00 14 */ lwz r4, 0x14(r31) /* 8037405C 00370FBC 48 00 AA 29 */ bl DCInvalidateRange lbl_80374060: /* 80374060 00370FC0 48 00 D6 01 */ bl OSDisableInterrupts /* 80374064 00370FC4 38 00 00 02 */ li r0, 2 /* 80374068 00370FC8 90 1F 00 0C */ stw r0, 0xc(r31) /* 8037406C 00370FCC 3B C3 00 00 */ addi r30, r3, 0 /* 80374070 00370FD0 38 9F 00 00 */ addi r4, r31, 0 /* 80374074 00370FD4 38 60 00 02 */ li r3, 2 /* 80374078 00370FD8 48 00 08 79 */ bl __DVDPushWaitingQueue /* 8037407C 00370FDC 80 0D AC 10 */ lwz r0, executing@sda21(r13) /* 80374080 00370FE0 3B E3 00 00 */ addi r31, r3, 0 /* 80374084 00370FE4 28 00 00 00 */ cmplwi r0, 0 /* 80374088 00370FE8 40 82 00 14 */ bne lbl_8037409C /* 8037408C 00370FEC 80 0D AC 1C */ lwz r0, PauseFlag@sda21(r13) /* 80374090 00370FF0 2C 00 00 00 */ cmpwi r0, 0 /* 80374094 00370FF4 40 82 00 08 */ bne lbl_8037409C /* 80374098 00370FF8 4B FF EB 6D */ bl stateReady lbl_8037409C: /* 8037409C 00370FFC 7F C3 F3 78 */ mr r3, r30 /* 803740A0 00371000 48 00 D5 E9 */ bl OSRestoreInterrupts /* 803740A4 00371004 7F E3 FB 78 */ mr r3, r31 /* 803740A8 00371008 80 01 00 2C */ lwz r0, 0x2c(r1) /* 803740AC 0037100C 83 E1 00 24 */ lwz r31, 0x24(r1) /* 803740B0 00371010 83 C1 00 20 */ lwz r30, 0x20(r1) /* 803740B4 00371014 38 21 00 28 */ addi r1, r1, 0x28 /* 803740B8 00371018 7C 08 03 A6 */ mtlr r0 /* 803740BC 0037101C 4E 80 00 20 */ blr .global DVDReset DVDReset: /* 803740C0 00371020 7C 08 02 A6 */ mflr r0 /* 803740C4 00371024 90 01 00 04 */ stw r0, 4(r1) /* 803740C8 00371028 94 21 FF F8 */ stwu r1, -8(r1) /* 803740CC 0037102C 4B FF D0 ED */ bl DVDLowReset /* 803740D0 00371030 3C 60 CC 00 */ lis r3, 0xCC006000@ha /* 803740D4 00371034 38 00 00 2A */ li r0, 0x2a /* 803740D8 00371038 90 03 60 00 */ stw r0, 0xCC006000@l(r3) /* 803740DC 0037103C 38 83 60 00 */ addi r4, r3, 0x6000 /* 803740E0 00371040 38 00 00 00 */ li r0, 0 /* 803740E4 00371044 80 63 60 04 */ lwz r3, 0x6004(r3) /* 803740E8 00371048 90 64 00 04 */ stw r3, 4(r4) /* 803740EC 0037104C 90 0D AC 48 */ stw r0, ResetRequired@sda21(r13) /* 803740F0 00371050 90 0D AC 38 */ stw r0, ResumeFromHere@sda21(r13) /* 803740F4 00371054 80 01 00 0C */ lwz r0, 0xc(r1) /* 803740F8 00371058 38 21 00 08 */ addi r1, r1, 8 /* 803740FC 0037105C 7C 08 03 A6 */ mtlr r0 /* 80374100 00371060 4E 80 00 20 */ blr .global DVDGetCommandBlockStatus DVDGetCommandBlockStatus: /* 80374104 00371064 7C 08 02 A6 */ mflr r0 /* 80374108 00371068 90 01 00 04 */ stw r0, 4(r1) /* 8037410C 0037106C 94 21 FF E8 */ stwu r1, -0x18(r1) /* 80374110 00371070 93 E1 00 14 */ stw r31, 0x14(r1) /* 80374114 00371074 7C 7F 1B 78 */ mr r31, r3 /* 80374118 00371078 48 00 D5 49 */ bl OSDisableInterrupts /* 8037411C 0037107C 80 1F 00 0C */ lwz r0, 0xc(r31) /* 80374120 00371080 2C 00 00 03 */ cmpwi r0, 3 /* 80374124 00371084 40 82 00 0C */ bne lbl_80374130 /* 80374128 00371088 3B E0 00 01 */ li r31, 1 /* 8037412C 0037108C 48 00 00 08 */ b lbl_80374134 lbl_80374130: /* 80374130 00371090 7C 1F 03 78 */ mr r31, r0 lbl_80374134: /* 80374134 00371094 48 00 D5 55 */ bl OSRestoreInterrupts /* 80374138 00371098 7F E3 FB 78 */ mr r3, r31 /* 8037413C 0037109C 80 01 00 1C */ lwz r0, 0x1c(r1) /* 80374140 003710A0 83 E1 00 14 */ lwz r31, 0x14(r1) /* 80374144 003710A4 38 21 00 18 */ addi r1, r1, 0x18 /* 80374148 003710A8 7C 08 03 A6 */ mtlr r0 /* 8037414C 003710AC 4E 80 00 20 */ blr .global DVDGetDriveStatus DVDGetDriveStatus: /* 80374150 003710B0 7C 08 02 A6 */ mflr r0 /* 80374154 003710B4 90 01 00 04 */ stw r0, 4(r1) /* 80374158 003710B8 94 21 FF E8 */ stwu r1, -0x18(r1) /* 8037415C 003710BC 93 E1 00 14 */ stw r31, 0x14(r1) /* 80374160 003710C0 93 C1 00 10 */ stw r30, 0x10(r1) /* 80374164 003710C4 48 00 D4 FD */ bl OSDisableInterrupts /* 80374168 003710C8 80 0D AC 28 */ lwz r0, FatalErrorFlag@sda21(r13) /* 8037416C 003710CC 3B C3 00 00 */ addi r30, r3, 0 /* 80374170 003710D0 2C 00 00 00 */ cmpwi r0, 0 /* 80374174 003710D4 41 82 00 0C */ beq lbl_80374180 /* 80374178 003710D8 3B E0 FF FF */ li r31, -1 /* 8037417C 003710DC 48 00 00 5C */ b lbl_803741D8 lbl_80374180: /* 80374180 003710E0 80 0D AC 20 */ lwz r0, PausingFlag@sda21(r13) /* 80374184 003710E4 2C 00 00 00 */ cmpwi r0, 0 /* 80374188 003710E8 41 82 00 0C */ beq lbl_80374194 /* 8037418C 003710EC 3B E0 00 08 */ li r31, 8 /* 80374190 003710F0 48 00 00 48 */ b lbl_803741D8 lbl_80374194: /* 80374194 003710F4 83 ED AC 10 */ lwz r31, executing@sda21(r13) /* 80374198 003710F8 28 1F 00 00 */ cmplwi r31, 0 /* 8037419C 003710FC 40 82 00 0C */ bne lbl_803741A8 /* 803741A0 00371100 3B E0 00 00 */ li r31, 0 /* 803741A4 00371104 48 00 00 34 */ b lbl_803741D8 lbl_803741A8: /* 803741A8 00371108 3C 60 80 54 */ lis r3, DummyCommandBlock@ha /* 803741AC 0037110C 38 03 0B A0 */ addi r0, r3, DummyCommandBlock@l /* 803741B0 00371110 7C 1F 00 40 */ cmplw r31, r0 /* 803741B4 00371114 40 82 00 0C */ bne lbl_803741C0 /* 803741B8 00371118 3B E0 00 00 */ li r31, 0 /* 803741BC 0037111C 48 00 00 1C */ b lbl_803741D8 lbl_803741C0: /* 803741C0 00371120 48 00 D4 A1 */ bl OSDisableInterrupts /* 803741C4 00371124 83 FF 00 0C */ lwz r31, 0xc(r31) /* 803741C8 00371128 2C 1F 00 03 */ cmpwi r31, 3 /* 803741CC 0037112C 40 82 00 08 */ bne lbl_803741D4 /* 803741D0 00371130 3B E0 00 01 */ li r31, 1 lbl_803741D4: /* 803741D4 00371134 48 00 D4 B5 */ bl OSRestoreInterrupts lbl_803741D8: /* 803741D8 00371138 7F C3 F3 78 */ mr r3, r30 /* 803741DC 0037113C 48 00 D4 AD */ bl OSRestoreInterrupts /* 803741E0 00371140 7F E3 FB 78 */ mr r3, r31 /* 803741E4 00371144 80 01 00 1C */ lwz r0, 0x1c(r1) /* 803741E8 00371148 83 E1 00 14 */ lwz r31, 0x14(r1) /* 803741EC 0037114C 83 C1 00 10 */ lwz r30, 0x10(r1) /* 803741F0 00371150 38 21 00 18 */ addi r1, r1, 0x18 /* 803741F4 00371154 7C 08 03 A6 */ mtlr r0 /* 803741F8 00371158 4E 80 00 20 */ blr .global DVDSetAutoInvalidation DVDSetAutoInvalidation: /* 803741FC 0037115C 80 0D 9E DC */ lwz r0, autoInvalidation@sda21(r13) /* 80374200 00371160 90 6D 9E DC */ stw r3, autoInvalidation@sda21(r13) /* 80374204 00371164 7C 03 03 78 */ mr r3, r0 /* 80374208 00371168 4E 80 00 20 */ blr .global DVDCancelAsync DVDCancelAsync: /* 8037420C 0037116C 7C 08 02 A6 */ mflr r0 /* 80374210 00371170 90 01 00 04 */ stw r0, 4(r1) /* 80374214 00371174 94 21 FF E0 */ stwu r1, -0x20(r1) /* 80374218 00371178 93 E1 00 1C */ stw r31, 0x1c(r1) /* 8037421C 0037117C 93 C1 00 18 */ stw r30, 0x18(r1) /* 80374220 00371180 3B C4 00 00 */ addi r30, r4, 0 /* 80374224 00371184 93 A1 00 14 */ stw r29, 0x14(r1) /* 80374228 00371188 3B A3 00 00 */ addi r29, r3, 0 /* 8037422C 0037118C 48 00 D4 35 */ bl OSDisableInterrupts /* 80374230 00371190 80 9D 00 0C */ lwz r4, 0xc(r29) /* 80374234 00371194 3B E3 00 00 */ addi r31, r3, 0 /* 80374238 00371198 38 04 00 01 */ addi r0, r4, 1 /* 8037423C 0037119C 28 00 00 0C */ cmplwi r0, 0xc /* 80374240 003711A0 41 81 02 14 */ bgt lbl_80374454 /* 80374244 003711A4 3C 60 80 3F */ lis r3, lbl_803F0098@ha /* 80374248 003711A8 38 63 00 98 */ addi r3, r3, lbl_803F0098@l /* 8037424C 003711AC 54 00 10 3A */ slwi r0, r0, 2 /* 80374250 003711B0 7C 03 00 2E */ lwzx r0, r3, r0 /* 80374254 003711B4 7C 09 03 A6 */ mtctr r0 /* 80374258 003711B8 4E 80 04 20 */ bctr lbl_8037425C: /* 8037425C 003711BC 28 1E 00 00 */ cmplwi r30, 0 /* 80374260 003711C0 41 82 01 F4 */ beq lbl_80374454 /* 80374264 003711C4 39 9E 00 00 */ addi r12, r30, 0 /* 80374268 003711C8 7D 88 03 A6 */ mtlr r12 /* 8037426C 003711CC 38 9D 00 00 */ addi r4, r29, 0 /* 80374270 003711D0 38 60 00 00 */ li r3, 0 /* 80374274 003711D4 4E 80 00 21 */ blrl /* 80374278 003711D8 48 00 01 DC */ b lbl_80374454 lbl_8037427C: /* 8037427C 003711DC 80 0D AC 30 */ lwz r0, Canceling@sda21(r13) /* 80374280 003711E0 28 00 00 00 */ cmplwi r0, 0 /* 80374284 003711E4 41 82 00 14 */ beq lbl_80374298 /* 80374288 003711E8 7F E3 FB 78 */ mr r3, r31 /* 8037428C 003711EC 48 00 D3 FD */ bl OSRestoreInterrupts /* 80374290 003711F0 38 60 00 00 */ li r3, 0 /* 80374294 003711F4 48 00 01 CC */ b lbl_80374460 lbl_80374298: /* 80374298 003711F8 38 00 00 01 */ li r0, 1 /* 8037429C 003711FC 93 CD AC 34 */ stw r30, CancelCallback@sda21(r13) /* 803742A0 00371200 90 0D AC 30 */ stw r0, Canceling@sda21(r13) /* 803742A4 00371204 80 1D 00 08 */ lwz r0, 8(r29) /* 803742A8 00371208 28 00 00 04 */ cmplwi r0, 4 /* 803742AC 0037120C 41 82 00 0C */ beq lbl_803742B8 /* 803742B0 00371210 28 00 00 01 */ cmplwi r0, 1 /* 803742B4 00371214 40 82 01 A0 */ bne lbl_80374454 lbl_803742B8: /* 803742B8 00371218 4B FF CF BD */ bl DVDLowBreak /* 803742BC 0037121C 48 00 01 98 */ b lbl_80374454 lbl_803742C0: /* 803742C0 00371220 7F A3 EB 78 */ mr r3, r29 /* 803742C4 00371224 48 00 07 8D */ bl __DVDDequeueWaitingQueue /* 803742C8 00371228 38 00 00 0A */ li r0, 0xa /* 803742CC 0037122C 90 1D 00 0C */ stw r0, 0xc(r29) /* 803742D0 00371230 81 9D 00 28 */ lwz r12, 0x28(r29) /* 803742D4 00371234 28 0C 00 00 */ cmplwi r12, 0 /* 803742D8 00371238 41 82 00 14 */ beq lbl_803742EC /* 803742DC 0037123C 7D 88 03 A6 */ mtlr r12 /* 803742E0 00371240 38 9D 00 00 */ addi r4, r29, 0 /* 803742E4 00371244 38 60 FF FD */ li r3, -3 /* 803742E8 00371248 4E 80 00 21 */ blrl lbl_803742EC: /* 803742EC 0037124C 28 1E 00 00 */ cmplwi r30, 0 /* 803742F0 00371250 41 82 01 64 */ beq lbl_80374454 /* 803742F4 00371254 39 9E 00 00 */ addi r12, r30, 0 /* 803742F8 00371258 7D 88 03 A6 */ mtlr r12 /* 803742FC 0037125C 38 9D 00 00 */ addi r4, r29, 0 /* 80374300 00371260 38 60 00 00 */ li r3, 0 /* 80374304 00371264 4E 80 00 21 */ blrl /* 80374308 00371268 48 00 01 4C */ b lbl_80374454 lbl_8037430C: /* 8037430C 0037126C 80 1D 00 08 */ lwz r0, 8(r29) /* 80374310 00371270 2C 00 00 0D */ cmpwi r0, 0xd /* 80374314 00371274 41 82 00 28 */ beq lbl_8037433C /* 80374318 00371278 40 80 00 18 */ bge lbl_80374330 /* 8037431C 0037127C 2C 00 00 06 */ cmpwi r0, 6 /* 80374320 00371280 40 80 00 3C */ bge lbl_8037435C /* 80374324 00371284 2C 00 00 04 */ cmpwi r0, 4 /* 80374328 00371288 40 80 00 14 */ bge lbl_8037433C /* 8037432C 0037128C 48 00 00 30 */ b lbl_8037435C lbl_80374330: /* 80374330 00371290 2C 00 00 0F */ cmpwi r0, 0xf /* 80374334 00371294 41 82 00 08 */ beq lbl_8037433C /* 80374338 00371298 48 00 00 24 */ b lbl_8037435C lbl_8037433C: /* 8037433C 0037129C 28 1E 00 00 */ cmplwi r30, 0 /* 80374340 003712A0 41 82 01 14 */ beq lbl_80374454 /* 80374344 003712A4 39 9E 00 00 */ addi r12, r30, 0 /* 80374348 003712A8 7D 88 03 A6 */ mtlr r12 /* 8037434C 003712AC 38 9D 00 00 */ addi r4, r29, 0 /* 80374350 003712B0 38 60 00 00 */ li r3, 0 /* 80374354 003712B4 4E 80 00 21 */ blrl /* 80374358 003712B8 48 00 00 FC */ b lbl_80374454 lbl_8037435C: /* 8037435C 003712BC 80 0D AC 30 */ lwz r0, Canceling@sda21(r13) /* 80374360 003712C0 28 00 00 00 */ cmplwi r0, 0 /* 80374364 003712C4 41 82 00 14 */ beq lbl_80374378 /* 80374368 003712C8 7F E3 FB 78 */ mr r3, r31 /* 8037436C 003712CC 48 00 D3 1D */ bl OSRestoreInterrupts /* 80374370 003712D0 38 60 00 00 */ li r3, 0 /* 80374374 003712D4 48 00 00 EC */ b lbl_80374460 lbl_80374378: /* 80374378 003712D8 38 00 00 01 */ li r0, 1 /* 8037437C 003712DC 93 CD AC 34 */ stw r30, CancelCallback@sda21(r13) /* 80374380 003712E0 90 0D AC 30 */ stw r0, Canceling@sda21(r13) /* 80374384 003712E4 48 00 00 D0 */ b lbl_80374454 lbl_80374388: /* 80374388 003712E8 4B FF CF 01 */ bl DVDLowClearCallback /* 8037438C 003712EC 3C 80 80 37 */ lis r4, cbForStateMotorStopped@ha /* 80374390 003712F0 38 04 2B 20 */ addi r0, r4, cbForStateMotorStopped@l /* 80374394 003712F4 7C 03 00 40 */ cmplw r3, r0 /* 80374398 003712F8 41 82 00 14 */ beq lbl_803743AC /* 8037439C 003712FC 7F E3 FB 78 */ mr r3, r31 /* 803743A0 00371300 48 00 D2 E9 */ bl OSRestoreInterrupts /* 803743A4 00371304 38 60 00 00 */ li r3, 0 /* 803743A8 00371308 48 00 00 B8 */ b lbl_80374460 lbl_803743AC: /* 803743AC 0037130C 80 1D 00 0C */ lwz r0, 0xc(r29) /* 803743B0 00371310 2C 00 00 04 */ cmpwi r0, 4 /* 803743B4 00371314 40 82 00 0C */ bne lbl_803743C0 /* 803743B8 00371318 38 00 00 03 */ li r0, 3 /* 803743BC 0037131C 90 0D AC 38 */ stw r0, ResumeFromHere@sda21(r13) lbl_803743C0: /* 803743C0 00371320 80 1D 00 0C */ lwz r0, 0xc(r29) /* 803743C4 00371324 2C 00 00 05 */ cmpwi r0, 5 /* 803743C8 00371328 40 82 00 0C */ bne lbl_803743D4 /* 803743CC 0037132C 38 00 00 04 */ li r0, 4 /* 803743D0 00371330 90 0D AC 38 */ stw r0, ResumeFromHere@sda21(r13) lbl_803743D4: /* 803743D4 00371334 80 1D 00 0C */ lwz r0, 0xc(r29) /* 803743D8 00371338 2C 00 00 06 */ cmpwi r0, 6 /* 803743DC 0037133C 40 82 00 0C */ bne lbl_803743E8 /* 803743E0 00371340 38 00 00 01 */ li r0, 1 /* 803743E4 00371344 90 0D AC 38 */ stw r0, ResumeFromHere@sda21(r13) lbl_803743E8: /* 803743E8 00371348 80 1D 00 0C */ lwz r0, 0xc(r29) /* 803743EC 0037134C 2C 00 00 0B */ cmpwi r0, 0xb /* 803743F0 00371350 40 82 00 0C */ bne lbl_803743FC /* 803743F4 00371354 38 00 00 02 */ li r0, 2 /* 803743F8 00371358 90 0D AC 38 */ stw r0, ResumeFromHere@sda21(r13) lbl_803743FC: /* 803743FC 0037135C 80 1D 00 0C */ lwz r0, 0xc(r29) /* 80374400 00371360 2C 00 00 07 */ cmpwi r0, 7 /* 80374404 00371364 40 82 00 0C */ bne lbl_80374410 /* 80374408 00371368 38 00 00 07 */ li r0, 7 /* 8037440C 0037136C 90 0D AC 38 */ stw r0, ResumeFromHere@sda21(r13) lbl_80374410: /* 80374410 00371370 38 00 00 0A */ li r0, 0xa /* 80374414 00371374 90 1D 00 0C */ stw r0, 0xc(r29) /* 80374418 00371378 81 9D 00 28 */ lwz r12, 0x28(r29) /* 8037441C 0037137C 28 0C 00 00 */ cmplwi r12, 0 /* 80374420 00371380 41 82 00 14 */ beq lbl_80374434 /* 80374424 00371384 7D 88 03 A6 */ mtlr r12 /* 80374428 00371388 38 9D 00 00 */ addi r4, r29, 0 /* 8037442C 0037138C 38 60 FF FD */ li r3, -3 /* 80374430 00371390 4E 80 00 21 */ blrl lbl_80374434: /* 80374434 00371394 28 1E 00 00 */ cmplwi r30, 0 /* 80374438 00371398 41 82 00 18 */ beq lbl_80374450 /* 8037443C 0037139C 39 9E 00 00 */ addi r12, r30, 0 /* 80374440 003713A0 7D 88 03 A6 */ mtlr r12 /* 80374444 003713A4 38 9D 00 00 */ addi r4, r29, 0 /* 80374448 003713A8 38 60 00 00 */ li r3, 0 /* 8037444C 003713AC 4E 80 00 21 */ blrl lbl_80374450: /* 80374450 003713B0 4B FF E7 B5 */ bl stateReady lbl_80374454: /* 80374454 003713B4 7F E3 FB 78 */ mr r3, r31 /* 80374458 003713B8 48 00 D2 31 */ bl OSRestoreInterrupts /* 8037445C 003713BC 38 60 00 01 */ li r3, 1 lbl_80374460: /* 80374460 003713C0 80 01 00 24 */ lwz r0, 0x24(r1) /* 80374464 003713C4 83 E1 00 1C */ lwz r31, 0x1c(r1) /* 80374468 003713C8 83 C1 00 18 */ lwz r30, 0x18(r1) /* 8037446C 003713CC 83 A1 00 14 */ lwz r29, 0x14(r1) /* 80374470 003713D0 38 21 00 20 */ addi r1, r1, 0x20 /* 80374474 003713D4 7C 08 03 A6 */ mtlr r0 /* 80374478 003713D8 4E 80 00 20 */ blr .global DVDCancel DVDCancel: /* 8037447C 003713DC 7C 08 02 A6 */ mflr r0 /* 80374480 003713E0 3C 80 80 37 */ lis r4, cbForCancelSync@ha /* 80374484 003713E4 90 01 00 04 */ stw r0, 4(r1) /* 80374488 003713E8 38 84 45 28 */ addi r4, r4, cbForCancelSync@l /* 8037448C 003713EC 94 21 FF E8 */ stwu r1, -0x18(r1) /* 80374490 003713F0 93 E1 00 14 */ stw r31, 0x14(r1) /* 80374494 003713F4 93 C1 00 10 */ stw r30, 0x10(r1) /* 80374498 003713F8 3B C3 00 00 */ addi r30, r3, 0 /* 8037449C 003713FC 4B FF FD 71 */ bl DVDCancelAsync /* 803744A0 00371400 2C 03 00 00 */ cmpwi r3, 0 /* 803744A4 00371404 40 82 00 0C */ bne lbl_803744B0 /* 803744A8 00371408 38 60 FF FF */ li r3, -1 /* 803744AC 0037140C 48 00 00 64 */ b lbl_80374510 lbl_803744B0: /* 803744B0 00371410 48 00 D1 B1 */ bl OSDisableInterrupts /* 803744B4 00371414 7C 7F 1B 78 */ mr r31, r3 lbl_803744B8: /* 803744B8 00371418 80 7E 00 0C */ lwz r3, 0xc(r30) /* 803744BC 0037141C 38 03 00 01 */ addi r0, r3, 1 /* 803744C0 00371420 28 00 00 01 */ cmplwi r0, 1 /* 803744C4 00371424 40 81 00 40 */ ble lbl_80374504 /* 803744C8 00371428 2C 03 00 0A */ cmpwi r3, 0xa /* 803744CC 0037142C 41 82 00 38 */ beq lbl_80374504 /* 803744D0 00371430 2C 03 00 03 */ cmpwi r3, 3 /* 803744D4 00371434 40 82 00 24 */ bne lbl_803744F8 /* 803744D8 00371438 80 7E 00 08 */ lwz r3, 8(r30) /* 803744DC 0037143C 38 03 FF FC */ addi r0, r3, -4 /* 803744E0 00371440 28 00 00 01 */ cmplwi r0, 1 /* 803744E4 00371444 40 81 00 20 */ ble lbl_80374504 /* 803744E8 00371448 28 03 00 0D */ cmplwi r3, 0xd /* 803744EC 0037144C 41 82 00 18 */ beq lbl_80374504 /* 803744F0 00371450 28 03 00 0F */ cmplwi r3, 0xf /* 803744F4 00371454 41 82 00 10 */ beq lbl_80374504 lbl_803744F8: /* 803744F8 00371458 38 6D AC 08 */ addi r3, r13, __DVDThreadQueue@sda21 /* 803744FC 0037145C 48 01 0C 11 */ bl OSSleepThread /* 80374500 00371460 4B FF FF B8 */ b lbl_803744B8 lbl_80374504: /* 80374504 00371464 7F E3 FB 78 */ mr r3, r31 /* 80374508 00371468 48 00 D1 81 */ bl OSRestoreInterrupts /* 8037450C 0037146C 38 60 00 00 */ li r3, 0 lbl_80374510: /* 80374510 00371470 80 01 00 1C */ lwz r0, 0x1c(r1) /* 80374514 00371474 83 E1 00 14 */ lwz r31, 0x14(r1) /* 80374518 00371478 83 C1 00 10 */ lwz r30, 0x10(r1) /* 8037451C 0037147C 38 21 00 18 */ addi r1, r1, 0x18 /* 80374520 00371480 7C 08 03 A6 */ mtlr r0 /* 80374524 00371484 4E 80 00 20 */ blr .global cbForCancelSync cbForCancelSync: /* 80374528 00371488 7C 08 02 A6 */ mflr r0 /* 8037452C 0037148C 38 6D AC 08 */ addi r3, r13, __DVDThreadQueue@sda21 /* 80374530 00371490 90 01 00 04 */ stw r0, 4(r1) /* 80374534 00371494 94 21 FF F8 */ stwu r1, -8(r1) /* 80374538 00371498 48 01 0C C1 */ bl OSWakeupThread /* 8037453C 0037149C 80 01 00 0C */ lwz r0, 0xc(r1) /* 80374540 003714A0 38 21 00 08 */ addi r1, r1, 8 /* 80374544 003714A4 7C 08 03 A6 */ mtlr r0 /* 80374548 003714A8 4E 80 00 20 */ blr .global DVDCancelAll DVDCancelAll: /* 8037454C 003714AC 7C 08 02 A6 */ mflr r0 /* 80374550 003714B0 90 01 00 04 */ stw r0, 4(r1) /* 80374554 003714B4 94 21 FF E0 */ stwu r1, -0x20(r1) /* 80374558 003714B8 93 E1 00 1C */ stw r31, 0x1c(r1) /* 8037455C 003714BC 93 C1 00 18 */ stw r30, 0x18(r1) /* 80374560 003714C0 93 A1 00 14 */ stw r29, 0x14(r1) /* 80374564 003714C4 93 81 00 10 */ stw r28, 0x10(r1) /* 80374568 003714C8 48 00 D0 F9 */ bl OSDisableInterrupts /* 8037456C 003714CC 38 00 00 00 */ li r0, 0 /* 80374570 003714D0 90 0D AC 4C */ stw r0, CancelAllSyncComplete@sda21(r13) /* 80374574 003714D4 7C 7F 1B 78 */ mr r31, r3 /* 80374578 003714D8 48 00 D0 E9 */ bl OSDisableInterrupts /* 8037457C 003714DC 7C 7D 1B 78 */ mr r29, r3 /* 80374580 003714E0 48 00 D0 E1 */ bl OSDisableInterrupts /* 80374584 003714E4 80 0D AC 10 */ lwz r0, executing@sda21(r13) /* 80374588 003714E8 38 80 00 01 */ li r4, 1 /* 8037458C 003714EC 90 8D AC 1C */ stw r4, PauseFlag@sda21(r13) /* 80374590 003714F0 28 00 00 00 */ cmplwi r0, 0 /* 80374594 003714F4 40 82 00 08 */ bne lbl_8037459C /* 80374598 003714F8 90 8D AC 20 */ stw r4, PausingFlag@sda21(r13) lbl_8037459C: /* 8037459C 003714FC 48 00 D0 ED */ bl OSRestoreInterrupts /* 803745A0 00371500 48 00 00 0C */ b lbl_803745AC lbl_803745A4: /* 803745A4 00371504 38 80 00 00 */ li r4, 0 /* 803745A8 00371508 4B FF FC 65 */ bl DVDCancelAsync lbl_803745AC: /* 803745AC 0037150C 48 00 03 AD */ bl __DVDPopWaitingQueue /* 803745B0 00371510 28 03 00 00 */ cmplwi r3, 0 /* 803745B4 00371514 40 82 FF F0 */ bne lbl_803745A4 /* 803745B8 00371518 80 6D AC 10 */ lwz r3, executing@sda21(r13) /* 803745BC 0037151C 28 03 00 00 */ cmplwi r3, 0 /* 803745C0 00371520 41 82 00 18 */ beq lbl_803745D8 /* 803745C4 00371524 3C 80 80 37 */ lis r4, cbForCancelAllSync@ha /* 803745C8 00371528 38 84 46 84 */ addi r4, r4, cbForCancelAllSync@l /* 803745CC 0037152C 4B FF FC 41 */ bl DVDCancelAsync /* 803745D0 00371530 7C 7E 1B 78 */ mr r30, r3 /* 803745D4 00371534 48 00 00 20 */ b lbl_803745F4 lbl_803745D8: /* 803745D8 00371538 3C 60 80 37 */ lis r3, cbForCancelAllSync@ha /* 803745DC 0037153C 34 03 46 84 */ addic. r0, r3, cbForCancelAllSync@l /* 803745E0 00371540 3B C0 00 01 */ li r30, 1 /* 803745E4 00371544 41 82 00 10 */ beq lbl_803745F4 /* 803745E8 00371548 38 60 00 00 */ li r3, 0 /* 803745EC 0037154C 38 80 00 00 */ li r4, 0 /* 803745F0 00371550 48 00 00 95 */ bl cbForCancelAllSync lbl_803745F4: /* 803745F4 00371554 48 00 D0 6D */ bl OSDisableInterrupts /* 803745F8 00371558 38 80 00 00 */ li r4, 0 /* 803745FC 0037155C 90 8D AC 1C */ stw r4, PauseFlag@sda21(r13) /* 80374600 00371560 7C 7C 1B 78 */ mr r28, r3 /* 80374604 00371564 80 0D AC 20 */ lwz r0, PausingFlag@sda21(r13) /* 80374608 00371568 2C 00 00 00 */ cmpwi r0, 0 /* 8037460C 0037156C 41 82 00 0C */ beq lbl_80374618 /* 80374610 00371570 90 8D AC 20 */ stw r4, PausingFlag@sda21(r13) /* 80374614 00371574 4B FF E5 F1 */ bl stateReady lbl_80374618: /* 80374618 00371578 7F 83 E3 78 */ mr r3, r28 /* 8037461C 0037157C 48 00 D0 6D */ bl OSRestoreInterrupts /* 80374620 00371580 7F A3 EB 78 */ mr r3, r29 /* 80374624 00371584 48 00 D0 65 */ bl OSRestoreInterrupts /* 80374628 00371588 2C 1E 00 00 */ cmpwi r30, 0 /* 8037462C 0037158C 40 82 00 14 */ bne lbl_80374640 /* 80374630 00371590 7F E3 FB 78 */ mr r3, r31 /* 80374634 00371594 48 00 D0 55 */ bl OSRestoreInterrupts /* 80374638 00371598 38 60 FF FF */ li r3, -1 /* 8037463C 0037159C 48 00 00 28 */ b lbl_80374664 lbl_80374640: /* 80374640 003715A0 80 0D AC 4C */ lwz r0, CancelAllSyncComplete@sda21(r13) /* 80374644 003715A4 2C 00 00 00 */ cmpwi r0, 0 /* 80374648 003715A8 40 82 00 10 */ bne lbl_80374658 /* 8037464C 003715AC 38 6D AC 08 */ addi r3, r13, __DVDThreadQueue@sda21 /* 80374650 003715B0 48 01 0A BD */ bl OSSleepThread /* 80374654 003715B4 4B FF FF EC */ b lbl_80374640 lbl_80374658: /* 80374658 003715B8 7F E3 FB 78 */ mr r3, r31 /* 8037465C 003715BC 48 00 D0 2D */ bl OSRestoreInterrupts /* 80374660 003715C0 38 60 00 00 */ li r3, 0 lbl_80374664: /* 80374664 003715C4 80 01 00 24 */ lwz r0, 0x24(r1) /* 80374668 003715C8 83 E1 00 1C */ lwz r31, 0x1c(r1) /* 8037466C 003715CC 83 C1 00 18 */ lwz r30, 0x18(r1) /* 80374670 003715D0 83 A1 00 14 */ lwz r29, 0x14(r1) /* 80374674 003715D4 83 81 00 10 */ lwz r28, 0x10(r1) /* 80374678 003715D8 38 21 00 20 */ addi r1, r1, 0x20 /* 8037467C 003715DC 7C 08 03 A6 */ mtlr r0 /* 80374680 003715E0 4E 80 00 20 */ blr .global cbForCancelAllSync cbForCancelAllSync: /* 80374684 003715E4 7C 08 02 A6 */ mflr r0 /* 80374688 003715E8 38 6D AC 08 */ addi r3, r13, __DVDThreadQueue@sda21 /* 8037468C 003715EC 90 01 00 04 */ stw r0, 4(r1) /* 80374690 003715F0 38 00 00 01 */ li r0, 1 /* 80374694 003715F4 94 21 FF F8 */ stwu r1, -8(r1) /* 80374698 003715F8 90 0D AC 4C */ stw r0, CancelAllSyncComplete@sda21(r13) /* 8037469C 003715FC 48 01 0B 5D */ bl OSWakeupThread /* 803746A0 00371600 80 01 00 0C */ lwz r0, 0xc(r1) /* 803746A4 00371604 38 21 00 08 */ addi r1, r1, 8 /* 803746A8 00371608 7C 08 03 A6 */ mtlr r0 /* 803746AC 0037160C 4E 80 00 20 */ blr .global DVDGetCurrentDiskID DVDGetCurrentDiskID: /* 803746B0 00371610 3C 60 80 00 */ lis r3, 0x8000 /* 803746B4 00371614 4E 80 00 20 */ blr .global DVDCheckDisk DVDCheckDisk: /* 803746B8 00371618 7C 08 02 A6 */ mflr r0 /* 803746BC 0037161C 90 01 00 04 */ stw r0, 4(r1) /* 803746C0 00371620 94 21 FF F0 */ stwu r1, -0x10(r1) /* 803746C4 00371624 93 E1 00 0C */ stw r31, 0xc(r1) /* 803746C8 00371628 48 00 CF 99 */ bl OSDisableInterrupts /* 803746CC 0037162C 80 0D AC 28 */ lwz r0, FatalErrorFlag@sda21(r13) /* 803746D0 00371630 2C 00 00 00 */ cmpwi r0, 0 /* 803746D4 00371634 41 82 00 0C */ beq lbl_803746E0 /* 803746D8 00371638 38 80 FF FF */ li r4, -1 /* 803746DC 0037163C 48 00 00 48 */ b lbl_80374724 lbl_803746E0: /* 803746E0 00371640 80 0D AC 20 */ lwz r0, PausingFlag@sda21(r13) /* 803746E4 00371644 2C 00 00 00 */ cmpwi r0, 0 /* 803746E8 00371648 41 82 00 0C */ beq lbl_803746F4 /* 803746EC 0037164C 38 80 00 08 */ li r4, 8 /* 803746F0 00371650 48 00 00 34 */ b lbl_80374724 lbl_803746F4: /* 803746F4 00371654 80 AD AC 10 */ lwz r5, executing@sda21(r13) /* 803746F8 00371658 28 05 00 00 */ cmplwi r5, 0 /* 803746FC 0037165C 40 82 00 0C */ bne lbl_80374708 /* 80374700 00371660 38 80 00 00 */ li r4, 0 /* 80374704 00371664 48 00 00 20 */ b lbl_80374724 lbl_80374708: /* 80374708 00371668 3C 80 80 54 */ lis r4, DummyCommandBlock@ha /* 8037470C 0037166C 38 04 0B A0 */ addi r0, r4, DummyCommandBlock@l /* 80374710 00371670 7C 05 00 40 */ cmplw r5, r0 /* 80374714 00371674 40 82 00 0C */ bne lbl_80374720 /* 80374718 00371678 38 80 00 00 */ li r4, 0 /* 8037471C 0037167C 48 00 00 08 */ b lbl_80374724 lbl_80374720: /* 80374720 00371680 80 85 00 0C */ lwz r4, 0xc(r5) lbl_80374724: /* 80374724 00371684 38 04 00 01 */ addi r0, r4, 1 /* 80374728 00371688 28 00 00 0C */ cmplwi r0, 0xc /* 8037472C 0037168C 41 81 00 54 */ bgt lbl_80374780 /* 80374730 00371690 3C 80 80 3F */ lis r4, lbl_803F00CC@ha /* 80374734 00371694 38 84 00 CC */ addi r4, r4, lbl_803F00CC@l /* 80374738 00371698 54 00 10 3A */ slwi r0, r0, 2 /* 8037473C 0037169C 7C 04 00 2E */ lwzx r0, r4, r0 /* 80374740 003716A0 7C 09 03 A6 */ mtctr r0 /* 80374744 003716A4 4E 80 04 20 */ bctr lbl_80374748: /* 80374748 003716A8 3B E0 00 01 */ li r31, 1 /* 8037474C 003716AC 48 00 00 34 */ b lbl_80374780 lbl_80374750: /* 80374750 003716B0 3B E0 00 00 */ li r31, 0 /* 80374754 003716B4 48 00 00 2C */ b lbl_80374780 lbl_80374758: /* 80374758 003716B8 3C 80 CC 00 */ lis r4, 0xCC006000@ha /* 8037475C 003716BC 38 84 60 00 */ addi r4, r4, 0xCC006000@l /* 80374760 003716C0 80 84 00 04 */ lwz r4, 4(r4) /* 80374764 003716C4 54 80 F7 FF */ rlwinm. r0, r4, 0x1e, 0x1f, 0x1f /* 80374768 003716C8 40 82 00 0C */ bne lbl_80374774 /* 8037476C 003716CC 54 80 07 FF */ clrlwi. r0, r4, 0x1f /* 80374770 003716D0 41 82 00 0C */ beq lbl_8037477C lbl_80374774: /* 80374774 003716D4 3B E0 00 00 */ li r31, 0 /* 80374778 003716D8 48 00 00 08 */ b lbl_80374780 lbl_8037477C: /* 8037477C 003716DC 3B E0 00 01 */ li r31, 1 lbl_80374780: /* 80374780 003716E0 48 00 CF 09 */ bl OSRestoreInterrupts /* 80374784 003716E4 7F E3 FB 78 */ mr r3, r31 /* 80374788 003716E8 80 01 00 14 */ lwz r0, 0x14(r1) /* 8037478C 003716EC 83 E1 00 0C */ lwz r31, 0xc(r1) /* 80374790 003716F0 38 21 00 10 */ addi r1, r1, 0x10 /* 80374794 003716F4 7C 08 03 A6 */ mtlr r0 /* 80374798 003716F8 4E 80 00 20 */ blr .global __DVDPrepareResetAsync __DVDPrepareResetAsync: /* 8037479C 003716FC 7C 08 02 A6 */ mflr r0 /* 803747A0 00371700 90 01 00 04 */ stw r0, 4(r1) /* 803747A4 00371704 94 21 FF E0 */ stwu r1, -0x20(r1) /* 803747A8 00371708 93 E1 00 1C */ stw r31, 0x1c(r1) /* 803747AC 0037170C 93 C1 00 18 */ stw r30, 0x18(r1) /* 803747B0 00371710 7C 7E 1B 78 */ mr r30, r3 /* 803747B4 00371714 93 A1 00 14 */ stw r29, 0x14(r1) /* 803747B8 00371718 48 00 CE A9 */ bl OSDisableInterrupts /* 803747BC 0037171C 7C 7D 1B 78 */ mr r29, r3 /* 803747C0 00371720 48 00 00 F9 */ bl __DVDClearWaitingQueue /* 803747C4 00371724 80 0D AC 30 */ lwz r0, Canceling@sda21(r13) /* 803747C8 00371728 28 00 00 00 */ cmplwi r0, 0 /* 803747CC 0037172C 41 82 00 0C */ beq lbl_803747D8 /* 803747D0 00371730 93 CD AC 34 */ stw r30, CancelCallback@sda21(r13) /* 803747D4 00371734 48 00 00 C0 */ b lbl_80374894 lbl_803747D8: /* 803747D8 00371738 80 6D AC 10 */ lwz r3, executing@sda21(r13) /* 803747DC 0037173C 28 03 00 00 */ cmplwi r3, 0 /* 803747E0 00371740 41 82 00 0C */ beq lbl_803747EC /* 803747E4 00371744 38 00 00 00 */ li r0, 0 /* 803747E8 00371748 90 03 00 28 */ stw r0, 0x28(r3) lbl_803747EC: /* 803747EC 0037174C 48 00 CE 75 */ bl OSDisableInterrupts /* 803747F0 00371750 7C 7F 1B 78 */ mr r31, r3 /* 803747F4 00371754 48 00 CE 6D */ bl OSDisableInterrupts /* 803747F8 00371758 80 0D AC 10 */ lwz r0, executing@sda21(r13) /* 803747FC 0037175C 38 80 00 01 */ li r4, 1 /* 80374800 00371760 90 8D AC 1C */ stw r4, PauseFlag@sda21(r13) /* 80374804 00371764 28 00 00 00 */ cmplwi r0, 0 /* 80374808 00371768 40 82 00 08 */ bne lbl_80374810 /* 8037480C 0037176C 90 8D AC 20 */ stw r4, PausingFlag@sda21(r13) lbl_80374810: /* 80374810 00371770 48 00 CE 79 */ bl OSRestoreInterrupts /* 80374814 00371774 48 00 00 0C */ b lbl_80374820 lbl_80374818: /* 80374818 00371778 38 80 00 00 */ li r4, 0 /* 8037481C 0037177C 4B FF F9 F1 */ bl DVDCancelAsync lbl_80374820: /* 80374820 00371780 48 00 01 39 */ bl __DVDPopWaitingQueue /* 80374824 00371784 28 03 00 00 */ cmplwi r3, 0 /* 80374828 00371788 40 82 FF F0 */ bne lbl_80374818 /* 8037482C 0037178C 80 6D AC 10 */ lwz r3, executing@sda21(r13) /* 80374830 00371790 28 03 00 00 */ cmplwi r3, 0 /* 80374834 00371794 41 82 00 10 */ beq lbl_80374844 /* 80374838 00371798 7F C4 F3 78 */ mr r4, r30 /* 8037483C 0037179C 4B FF F9 D1 */ bl DVDCancelAsync /* 80374840 003717A0 48 00 00 20 */ b lbl_80374860 lbl_80374844: /* 80374844 003717A4 28 1E 00 00 */ cmplwi r30, 0 /* 80374848 003717A8 41 82 00 18 */ beq lbl_80374860 /* 8037484C 003717AC 39 9E 00 00 */ addi r12, r30, 0 /* 80374850 003717B0 7D 88 03 A6 */ mtlr r12 /* 80374854 003717B4 38 60 00 00 */ li r3, 0 /* 80374858 003717B8 38 80 00 00 */ li r4, 0 /* 8037485C 003717BC 4E 80 00 21 */ blrl lbl_80374860: /* 80374860 003717C0 48 00 CE 01 */ bl OSDisableInterrupts /* 80374864 003717C4 38 80 00 00 */ li r4, 0 /* 80374868 003717C8 90 8D AC 1C */ stw r4, PauseFlag@sda21(r13) /* 8037486C 003717CC 7C 7E 1B 78 */ mr r30, r3 /* 80374870 003717D0 80 0D AC 20 */ lwz r0, PausingFlag@sda21(r13) /* 80374874 003717D4 2C 00 00 00 */ cmpwi r0, 0 /* 80374878 003717D8 41 82 00 0C */ beq lbl_80374884 /* 8037487C 003717DC 90 8D AC 20 */ stw r4, PausingFlag@sda21(r13) /* 80374880 003717E0 4B FF E3 85 */ bl stateReady lbl_80374884: /* 80374884 003717E4 7F C3 F3 78 */ mr r3, r30 /* 80374888 003717E8 48 00 CE 01 */ bl OSRestoreInterrupts /* 8037488C 003717EC 7F E3 FB 78 */ mr r3, r31 /* 80374890 003717F0 48 00 CD F9 */ bl OSRestoreInterrupts lbl_80374894: /* 80374894 003717F4 7F A3 EB 78 */ mr r3, r29 /* 80374898 003717F8 48 00 CD F1 */ bl OSRestoreInterrupts /* 8037489C 003717FC 80 01 00 24 */ lwz r0, 0x24(r1) /* 803748A0 00371800 83 E1 00 1C */ lwz r31, 0x1c(r1) /* 803748A4 00371804 83 C1 00 18 */ lwz r30, 0x18(r1) /* 803748A8 00371808 83 A1 00 14 */ lwz r29, 0x14(r1) /* 803748AC 0037180C 38 21 00 20 */ addi r1, r1, 0x20 /* 803748B0 00371810 7C 08 03 A6 */ mtlr r0 /* 803748B4 00371814 4E 80 00 20 */ blr