prime/asm/Dolphin/dvd/dvd.s

3505 lines
163 KiB
ArmAsm
Raw Normal View History

2022-04-02 21:03:04 +00:00
.include "macros.inc"
.section .sdata
.balign 8
.global __DVDVersion
__DVDVersion:
2022-07-14 05:48:03 +00:00
# ROM: 0x3F6438
2022-08-21 01:40:40 +00:00
.4byte lbl_803EFF80
2022-07-14 05:48:03 +00:00
.global autoInvalidation
autoInvalidation:
2022-07-14 05:48:03 +00:00
# ROM: 0x3F643C
.4byte 0x00000001
.global checkOptionalCommand
checkOptionalCommand:
2022-07-14 05:48:03 +00:00
# ROM: 0x3F6440
.4byte defaultOptionalCommandChecker
2022-07-14 05:48:03 +00:00
.global lbl_805A8AA4
lbl_805A8AA4:
2022-07-14 05:48:03 +00:00
# ROM: 0x3F6444
.asciz "dvd.c"
.balign 4
.global DmaCommand
DmaCommand:
2022-07-14 05:48:03 +00:00
# ROM: 0x3F644C
.4byte 0xFFFFFFFF
2022-04-08 05:17:01 +00:00
.section .bss
.balign 8
BB2:
2022-04-08 05:17:01 +00:00
.skip 0x20
CurrDiskID:
2022-04-08 05:17:01 +00:00
.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
2022-07-14 05:48:03 +00:00
2022-04-06 10:04:03 +00:00
.section .data
.balign 8
2022-08-21 01:40:40 +00:00
.global lbl_803EFF80
lbl_803EFF80:
# ROM: 0x3ECF80
.asciz "<< Dolphin SDK - DVD\trelease build: Sep 5 2002 05:34:06 (0x2301) >>"
.balign 4
2022-04-06 10:04:03 +00:00
.global lbl_803EFFC8
lbl_803EFFC8:
2022-07-14 05:48:03 +00:00
# ROM: 0x3ECFC8
.asciz "load fst\n"
.balign 4
2022-04-06 10:04:03 +00:00
.global lbl_803EFFD4
lbl_803EFFD4:
2022-07-14 05:48:03 +00:00
# ROM: 0x3ECFD4
.asciz "DVDChangeDisk(): FST in the new disc is too big. "
2022-07-14 05:48:03 +00:00
2022-04-06 10:04:03 +00:00
.global lbl_803F0008
lbl_803F0008:
2022-07-14 05:48:03 +00:00
# ROM: 0x3ED008
2022-08-21 01:40:40 +00:00
.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:
2022-08-21 01:40:40 +00:00
# ROM: 0x3ED048
2022-07-14 05:48:03 +00:00
.4byte 0xFFFFFFFF
.4byte 0xFFFFFFFF
.4byte 0xFFFFFFFF
string_DVDChangeDiskAsyncMsg:
2022-07-14 05:48:03 +00:00
.asciz "DVDChangeDiskAsync(): You can't specify NULL to company name. \n"
.balign 4
2022-04-06 10:04:03 +00:00
.global lbl_803F0098
lbl_803F0098:
2022-07-14 05:48:03 +00:00
# ROM: 0x3ED098
2022-08-21 01:40:40 +00:00
.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
2022-07-14 05:48:03 +00:00
2022-04-06 10:04:03 +00:00
.global lbl_803F00CC
lbl_803F00CC:
2022-07-14 05:48:03 +00:00
# ROM: 0x3ED0CC
2022-08-21 01:40:40 +00:00
.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
2022-07-14 05:48:03 +00:00
2022-04-06 10:04:03 +00:00
2022-04-02 21:03:04 +00:00
.section .text, "ax"
.global defaultOptionalCommandChecker
defaultOptionalCommandChecker:
2022-08-21 01:40:40 +00:00
/* 80371BA0 0036EB00 4E 80 00 20 */ blr
2022-04-02 21:03:04 +00:00
.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)
2022-04-02 21:03:04 +00:00
/* 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)
2022-04-02 21:03:04 +00:00
/* 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)
2022-04-02 21:03:04 +00:00
/* 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)
2022-04-02 21:03:04 +00:00
/* 80371BE8 0036EB48 38 83 04 E4 */ addi r4, r3, __DVDInterruptHandler@l
/* 80371BEC 0036EB4C 90 0D AC 14 */ stw r0, IDShouldBe@sda21(r13)
2022-04-02 21:03:04 +00:00
/* 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
2022-04-02 21:03:04 +00:00
/* 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)
2022-04-02 21:03:04 +00:00
/* 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)
2022-04-02 21:03:04 +00:00
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
2022-07-14 05:48:03 +00:00
/* 80371C6C 0036EBCC 4E 80 00 20 */ blr
2022-04-02 21:03:04 +00:00
.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
2022-04-02 21:03:04 +00:00
/* 80371C84 0036EBE4 94 21 FF F0 */ stwu r1, -0x10(r1)
/* 80371C88 0036EBE8 38 63 0B 60 */ addi r3, r3, BB2@l
2022-04-02 21:03:04 +00:00
/* 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)
2022-04-02 21:03:04 +00:00
/* 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
2022-04-02 21:03:04 +00:00
/* 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
2022-04-02 21:03:04 +00:00
/* 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
2022-04-02 21:03:04 +00:00
/* 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
2022-07-14 05:48:03 +00:00
/* 80371D00 0036EC60 4E 80 00 20 */ blr
2022-04-02 21:03:04 +00:00
.global cbForStateReadingFST
cbForStateReadingFST:
2022-04-02 21:03:04 +00:00
/* 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)
2022-04-02 21:03:04 +00:00
/* 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)
2022-04-02 21:03:04 +00:00
/* 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)
2022-04-02 21:03:04 +00:00
/* 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
2022-07-14 05:48:03 +00:00
/* 80371D6C 0036ECCC 4E 80 00 21 */ blrl
2022-04-02 21:03:04 +00:00
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
2022-07-14 05:48:03 +00:00
/* 80371D8C 0036ECEC 4E 80 00 20 */ blr
2022-04-02 21:03:04 +00:00
.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)
2022-04-02 21:03:04 +00:00
/* 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
2022-04-02 21:03:04 +00:00
/* 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)
2022-04-02 21:03:04 +00:00
/* 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
2022-07-14 05:48:03 +00:00
/* 80371DF0 0036ED50 4E 80 00 21 */ blrl
2022-04-02 21:03:04 +00:00
lbl_80371DF4:
/* 80371DF4 0036ED54 80 0D AC 30 */ lwz r0, Canceling@sda21(r13)
2022-04-02 21:03:04 +00:00
/* 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)
2022-04-02 21:03:04 +00:00
/* 80371E04 0036ED64 38 00 00 00 */ li r0, 0
/* 80371E08 0036ED68 90 0D AC 30 */ stw r0, Canceling@sda21(r13)
2022-04-02 21:03:04 +00:00
/* 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
2022-07-14 05:48:03 +00:00
/* 80371E20 0036ED80 4E 80 00 21 */ blrl
2022-04-02 21:03:04 +00:00
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
2022-07-14 05:48:03 +00:00
/* 80371E38 0036ED98 4E 80 00 20 */ blr
2022-04-02 21:03:04 +00:00
.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
2022-07-14 05:48:03 +00:00
/* 80371E6C 0036EDCC 4E 80 00 20 */ blr
2022-04-02 21:03:04 +00:00
.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
2022-07-14 05:48:03 +00:00
/* 80371E94 0036EDF4 4E 80 00 20 */ blr
2022-04-02 21:03:04 +00:00
.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)
2022-04-02 21:03:04 +00:00
/* 80371EA8 0036EE08 38 60 00 01 */ li r3, 1
2022-07-14 05:48:03 +00:00
/* 80371EAC 0036EE0C 4E 80 00 20 */ blr
2022-04-02 21:03:04 +00:00
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
2022-07-14 05:48:03 +00:00
/* 80371EDC 0036EE3C 4E 80 00 20 */ blr
2022-04-02 21:03:04 +00:00
lbl_80371EE0:
/* 80371EE0 0036EE40 80 6D AC 44 */ lwz r3, NumInternalRetry@sda21(r13)
2022-04-02 21:03:04 +00:00
/* 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)
2022-04-02 21:03:04 +00:00
/* 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)
2022-04-02 21:03:04 +00:00
/* 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)
2022-04-02 21:03:04 +00:00
/* 80371F08 0036EE68 38 60 00 01 */ li r3, 1
2022-07-14 05:48:03 +00:00
/* 80371F0C 0036EE6C 4E 80 00 20 */ blr
2022-04-02 21:03:04 +00:00
lbl_80371F10:
/* 80371F10 0036EE70 90 8D AC 40 */ stw r4, LastError@sda21(r13)
2022-04-02 21:03:04 +00:00
/* 80371F14 0036EE74 38 60 00 02 */ li r3, 2
2022-07-14 05:48:03 +00:00
/* 80371F18 0036EE78 4E 80 00 20 */ blr
2022-04-02 21:03:04 +00:00
lbl_80371F1C:
/* 80371F1C 0036EE7C 3C 04 FF FD */ addis r0, r4, 0xfffd
/* 80371F20 0036EE80 90 8D AC 40 */ stw r4, LastError@sda21(r13)
2022-04-02 21:03:04 +00:00
/* 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)
2022-04-02 21:03:04 +00:00
/* 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
2022-07-14 05:48:03 +00:00
/* 80371F40 0036EEA0 4E 80 00 20 */ blr
2022-04-02 21:03:04 +00:00
lbl_80371F44:
/* 80371F44 0036EEA4 38 60 00 03 */ li r3, 3
2022-07-14 05:48:03 +00:00
/* 80371F48 0036EEA8 4E 80 00 20 */ blr
2022-04-02 21:03:04 +00:00
.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)
2022-04-02 21:03:04 +00:00
/* 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)
2022-04-02 21:03:04 +00:00
/* 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)
2022-04-02 21:03:04 +00:00
/* 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)
2022-04-02 21:03:04 +00:00
/* 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)
2022-04-02 21:03:04 +00:00
/* 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)
2022-04-02 21:03:04 +00:00
/* 80372084 0036EFE4 38 00 00 0A */ li r0, 0xa
/* 80372088 0036EFE8 90 6D AC 10 */ stw r3, executing@sda21(r13)
2022-04-02 21:03:04 +00:00
/* 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
2022-07-14 05:48:03 +00:00
/* 803720A8 0036F008 4E 80 00 21 */ blrl
2022-04-02 21:03:04 +00:00
lbl_803720AC:
/* 803720AC 0036F00C 81 8D AC 34 */ lwz r12, CancelCallback@sda21(r13)
2022-04-02 21:03:04 +00:00
/* 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
2022-07-14 05:48:03 +00:00
/* 803720C4 0036F024 4E 80 00 21 */ blrl
2022-04-02 21:03:04 +00:00
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
2022-04-02 21:03:04 +00:00
/* 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)
2022-04-02 21:03:04 +00:00
/* 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)
2022-04-02 21:03:04 +00:00
/* 80372130 0036F090 7D 88 03 A6 */ mtlr r12
2022-07-14 05:48:03 +00:00
/* 80372134 0036F094 4E 80 00 21 */ blrl
2022-04-02 21:03:04 +00:00
/* 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)
2022-04-02 21:03:04 +00:00
/* 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)
2022-04-02 21:03:04 +00:00
/* 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)
2022-04-02 21:03:04 +00:00
/* 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)
2022-04-02 21:03:04 +00:00
/* 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
2022-07-14 05:48:03 +00:00
/* 803721DC 0036F13C 4E 80 00 20 */ blr
2022-04-02 21:03:04 +00:00
.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)
2022-04-02 21:03:04 +00:00
/* 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
2022-04-02 21:03:04 +00:00
/* 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
2022-07-14 05:48:03 +00:00
/* 80372244 0036F1A4 4E 80 00 20 */ blr
2022-04-02 21:03:04 +00:00
.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)
2022-04-02 21:03:04 +00:00
/* 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)
2022-04-02 21:03:04 +00:00
/* 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
2022-07-14 05:48:03 +00:00
/* 803722DC 0036F23C 4E 80 00 20 */ blr
2022-04-02 21:03:04 +00:00
.global stateGoToRetry
stateGoToRetry:
2022-04-02 21:03:04 +00:00
/* 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
2022-07-14 05:48:03 +00:00
/* 80372304 0036F264 4E 80 00 20 */ blr
2022-04-02 21:03:04 +00:00
.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)
2022-04-02 21:03:04 +00:00
/* 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)
2022-04-02 21:03:04 +00:00
/* 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)
2022-04-02 21:03:04 +00:00
/* 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)
2022-04-02 21:03:04 +00:00
/* 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)
2022-04-02 21:03:04 +00:00
/* 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)
2022-04-02 21:03:04 +00:00
/* 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)
2022-04-02 21:03:04 +00:00
lbl_803723B8:
/* 803723B8 0036F318 80 0D AC 30 */ lwz r0, Canceling@sda21(r13)
2022-04-02 21:03:04 +00:00
/* 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
2022-04-02 21:03:04 +00:00
/* 803723D8 0036F338 38 60 00 00 */ li r3, 0
/* 803723DC 0036F33C 90 0D AC 10 */ stw r0, executing@sda21(r13)
2022-04-02 21:03:04 +00:00
/* 803723E0 0036F340 38 00 00 0A */ li r0, 0xa
/* 803723E4 0036F344 90 6D AC 30 */ stw r3, Canceling@sda21(r13)
2022-04-02 21:03:04 +00:00
/* 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
2022-07-14 05:48:03 +00:00
/* 80372404 0036F364 4E 80 00 21 */ blrl
2022-04-02 21:03:04 +00:00
lbl_80372408:
/* 80372408 0036F368 81 8D AC 34 */ lwz r12, CancelCallback@sda21(r13)
2022-04-02 21:03:04 +00:00
/* 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
2022-07-14 05:48:03 +00:00
/* 80372420 0036F380 4E 80 00 21 */ blrl
2022-04-02 21:03:04 +00:00
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)
2022-04-02 21:03:04 +00:00
/* 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
2022-07-14 05:48:03 +00:00
/* 8037245C 0036F3BC 4E 80 00 20 */ blr
2022-04-02 21:03:04 +00:00
.global stateCheckID
stateCheckID:
/* 80372460 0036F3C0 7C 08 02 A6 */ mflr r0
/* 80372464 0036F3C4 3C 60 80 54 */ lis r3, BB2@ha
2022-04-02 21:03:04 +00:00
/* 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)
2022-04-02 21:03:04 +00:00
/* 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)
2022-04-02 21:03:04 +00:00
/* 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)
2022-04-02 21:03:04 +00:00
/* 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)
2022-04-02 21:03:04 +00:00
/* 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)
2022-04-02 21:03:04 +00:00
/* 803724D0 0036F430 38 04 25 74 */ addi r0, r4, stateCheckID2a@l
/* 803724D4 0036F434 90 0D AC 58 */ stw r0, LastState@sda21(r13)
2022-04-02 21:03:04 +00:00
/* 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)
2022-04-02 21:03:04 +00:00
/* 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)
2022-04-02 21:03:04 +00:00
/* 80372520 0036F480 38 04 25 40 */ addi r0, r4, stateCheckID3@l
/* 80372524 0036F484 90 0D AC 58 */ stw r0, LastState@sda21(r13)
2022-04-02 21:03:04 +00:00
/* 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
2022-07-14 05:48:03 +00:00
/* 8037253C 0036F49C 4E 80 00 20 */ blr
2022-04-02 21:03:04 +00:00
.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)
2022-04-02 21:03:04 +00:00
/* 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
2022-07-14 05:48:03 +00:00
/* 80372570 0036F4D0 4E 80 00 20 */ blr
2022-04-02 21:03:04 +00:00
.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)
2022-04-02 21:03:04 +00:00
/* 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
2022-07-14 05:48:03 +00:00
/* 803725A4 0036F504 4E 80 00 20 */ blr
2022-04-02 21:03:04 +00:00
.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)
2022-04-02 21:03:04 +00:00
/* 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)
2022-04-02 21:03:04 +00:00
/* 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
2022-07-14 05:48:03 +00:00
/* 80372618 0036F578 4E 80 00 20 */ blr
2022-04-02 21:03:04 +00:00
.global stateCheckID2
stateCheckID2:
/* 8037261C 0036F57C 7C 08 02 A6 */ mflr r0
/* 80372620 0036F580 3C 60 80 54 */ lis r3, BB2@ha
2022-04-02 21:03:04 +00:00
/* 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
2022-04-02 21:03:04 +00:00
/* 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
2022-07-14 05:48:03 +00:00
/* 80372650 0036F5B0 4E 80 00 20 */ blr
2022-04-02 21:03:04 +00:00
.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)
2022-04-02 21:03:04 +00:00
/* 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)
2022-04-02 21:03:04 +00:00
/* 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)
2022-04-02 21:03:04 +00:00
/* 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)
2022-04-02 21:03:04 +00:00
/* 803726F0 0036F650 38 00 00 0A */ li r0, 0xa
/* 803726F4 0036F654 90 6D AC 10 */ stw r3, executing@sda21(r13)
2022-04-02 21:03:04 +00:00
/* 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
2022-07-14 05:48:03 +00:00
/* 80372714 0036F674 4E 80 00 21 */ blrl
2022-04-02 21:03:04 +00:00
lbl_80372718:
/* 80372718 0036F678 81 8D AC 34 */ lwz r12, CancelCallback@sda21(r13)
2022-04-02 21:03:04 +00:00
/* 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
2022-07-14 05:48:03 +00:00
/* 80372730 0036F690 4E 80 00 21 */ blrl
2022-04-02 21:03:04 +00:00
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)
2022-04-02 21:03:04 +00:00
/* 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
2022-07-14 05:48:03 +00:00
/* 80372764 0036F6C4 4E 80 00 20 */ blr
2022-04-02 21:03:04 +00:00
.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)
2022-04-02 21:03:04 +00:00
/* 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)
2022-04-02 21:03:04 +00:00
/* 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
2022-04-02 21:03:04 +00:00
/* 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
2022-04-02 21:03:04 +00:00
/* 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
2022-04-02 21:03:04 +00:00
/* 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
2022-04-02 21:03:04 +00:00
/* 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
2022-07-14 05:48:03 +00:00
/* 80372848 0036F7A8 4E 80 00 20 */ blr
2022-04-02 21:03:04 +00:00
.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)
2022-04-02 21:03:04 +00:00
/* 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)
2022-04-02 21:03:04 +00:00
/* 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)
2022-04-02 21:03:04 +00:00
/* 803728BC 0036F81C 38 00 00 0A */ li r0, 0xa
/* 803728C0 0036F820 90 6D AC 10 */ stw r3, executing@sda21(r13)
2022-04-02 21:03:04 +00:00
/* 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
2022-07-14 05:48:03 +00:00
/* 803728E0 0036F840 4E 80 00 21 */ blrl
2022-04-02 21:03:04 +00:00
lbl_803728E4:
/* 803728E4 0036F844 81 8D AC 34 */ lwz r12, CancelCallback@sda21(r13)
2022-04-02 21:03:04 +00:00
/* 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
2022-07-14 05:48:03 +00:00
/* 803728FC 0036F85C 4E 80 00 21 */ blrl
2022-04-02 21:03:04 +00:00
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)
2022-04-02 21:03:04 +00:00
/* 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)
2022-04-02 21:03:04 +00:00
/* 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
2022-07-14 05:48:03 +00:00
/* 80372944 0036F8A4 4E 80 00 20 */ blr
2022-04-02 21:03:04 +00:00
2022-12-20 23:19:11 +00:00
.fn AlarmHandler, local
2022-04-02 21:03:04 +00:00
/* 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
2022-04-02 21:03:04 +00:00
/* 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)
2022-04-02 21:03:04 +00:00
/* 80372970 0036F8D0 38 04 2A 58 */ addi r0, r4, stateCoverClosed_CMD@l
/* 80372974 0036F8D4 90 0D AC 58 */ stw r0, LastState@sda21(r13)
2022-04-02 21:03:04 +00:00
/* 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
2022-07-14 05:48:03 +00:00
/* 80372988 0036F8E8 4E 80 00 20 */ blr
2022-12-20 23:19:11 +00:00
.endfn AlarmHandler
2022-04-02 21:03:04 +00:00
.global stateCoverClosed
stateCoverClosed:
/* 8037298C 0036F8EC 7C 08 02 A6 */ mflr r0
/* 80372990 0036F8F0 3C 60 80 54 */ lis r3, BB2@ha
2022-04-02 21:03:04 +00:00
/* 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)
2022-04-02 21:03:04 +00:00
/* 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)
2022-04-02 21:03:04 +00:00
/* 803729DC 0036F93C 38 1F 00 40 */ addi r0, r31, 0x40
/* 803729E0 0036F940 90 0D AC 10 */ stw r0, executing@sda21(r13)
2022-04-02 21:03:04 +00:00
/* 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
2022-07-14 05:48:03 +00:00
/* 803729F8 0036F958 4E 80 00 21 */ blrl
2022-04-02 21:03:04 +00:00
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
2022-04-02 21:03:04 +00:00
/* 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
2022-04-02 21:03:04 +00:00
/* 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
2022-07-14 05:48:03 +00:00
/* 80372A54 0036F9B4 4E 80 00 20 */ blr
2022-04-02 21:03:04 +00:00
.global stateCoverClosed_CMD
stateCoverClosed_CMD:
/* 80372A58 0036F9B8 7C 08 02 A6 */ mflr r0
/* 80372A5C 0036F9BC 3C 60 80 54 */ lis r3, CurrDiskID@ha
2022-04-02 21:03:04 +00:00
/* 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
2022-04-02 21:03:04 +00:00
/* 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
2022-07-14 05:48:03 +00:00
/* 80372A84 0036F9E4 4E 80 00 20 */ blr
2022-04-02 21:03:04 +00:00
.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)
2022-04-02 21:03:04 +00:00
/* 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)
2022-04-02 21:03:04 +00:00
/* 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
2022-07-14 05:48:03 +00:00
/* 80372AF4 0036FA54 4E 80 00 20 */ blr
2022-04-02 21:03:04 +00:00
.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
2022-07-14 05:48:03 +00:00
/* 80372B1C 0036FA7C 4E 80 00 20 */ blr
2022-04-02 21:03:04 +00:00
.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
2022-04-02 21:03:04 +00:00
/* 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
2022-04-02 21:03:04 +00:00
/* 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)
2022-04-02 21:03:04 +00:00
/* 80372B4C 0036FAAC 90 03 00 0C */ stw r0, 0xc(r3)
/* 80372B50 0036FAB0 80 0D AC 2C */ lwz r0, CurrCommand@sda21(r13)
2022-04-02 21:03:04 +00:00
/* 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)
2022-04-02 21:03:04 +00:00
/* 80372B88 0036FAE8 38 1F 00 40 */ addi r0, r31, 0x40
/* 80372B8C 0036FAEC 90 0D AC 10 */ stw r0, executing@sda21(r13)
2022-04-02 21:03:04 +00:00
/* 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
2022-07-14 05:48:03 +00:00
/* 80372BA4 0036FB04 4E 80 00 21 */ blrl
2022-04-02 21:03:04 +00:00
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
2022-04-02 21:03:04 +00:00
/* 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
2022-04-02 21:03:04 +00:00
/* 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
2022-07-14 05:48:03 +00:00
/* 80372C00 0036FB60 4E 80 00 20 */ blr
2022-04-02 21:03:04 +00:00
.global stateReady
stateReady:
/* 80372C04 0036FB64 7C 08 02 A6 */ mflr r0
/* 80372C08 0036FB68 3C 60 80 54 */ lis r3, BB2@ha
2022-04-02 21:03:04 +00:00
/* 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
2022-04-02 21:03:04 +00:00
/* 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)
2022-04-02 21:03:04 +00:00
/* 80372C30 0036FB90 48 00 02 9C */ b lbl_80372ECC
lbl_80372C34:
/* 80372C34 0036FB94 80 0D AC 1C */ lwz r0, PauseFlag@sda21(r13)
2022-04-02 21:03:04 +00:00
/* 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)
2022-04-02 21:03:04 +00:00
/* 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)
2022-04-02 21:03:04 +00:00
/* 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)
2022-04-02 21:03:04 +00:00
/* 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)
2022-04-02 21:03:04 +00:00
/* 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
2022-07-14 05:48:03 +00:00
/* 80372C94 0036FBF4 4E 80 00 21 */ blrl
2022-04-02 21:03:04 +00:00
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)
2022-04-02 21:03:04 +00:00
/* 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)
2022-04-02 21:03:04 +00:00
/* 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)
2022-04-02 21:03:04 +00:00
/* 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)
2022-04-02 21:03:04 +00:00
/* 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)
2022-04-02 21:03:04 +00:00
/* 80372D34 0036FC94 38 1F 00 40 */ addi r0, r31, 0x40
/* 80372D38 0036FC98 90 0D AC 10 */ stw r0, executing@sda21(r13)
2022-04-02 21:03:04 +00:00
/* 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
2022-07-14 05:48:03 +00:00
/* 80372D50 0036FCB0 4E 80 00 21 */ blrl
2022-04-02 21:03:04 +00:00
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
2022-04-02 21:03:04 +00:00
/* 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
2022-04-02 21:03:04 +00:00
/* 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)
2022-04-02 21:03:04 +00:00
/* 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)
2022-04-02 21:03:04 +00:00
/* 80372E28 0036FD88 38 1F 00 40 */ addi r0, r31, 0x40
/* 80372E2C 0036FD8C 90 0D AC 10 */ stw r0, executing@sda21(r13)
2022-04-02 21:03:04 +00:00
/* 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
2022-07-14 05:48:03 +00:00
/* 80372E44 0036FDA4 4E 80 00 21 */ blrl
2022-04-02 21:03:04 +00:00
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
2022-04-02 21:03:04 +00:00
/* 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
2022-04-02 21:03:04 +00:00
/* 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)
2022-04-02 21:03:04 +00:00
/* 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)
2022-04-02 21:03:04 +00:00
/* 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)
2022-04-02 21:03:04 +00:00
/* 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
2022-07-14 05:48:03 +00:00
/* 80372EDC 0036FE3C 4E 80 00 20 */ blr
2022-04-02 21:03:04 +00:00
.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)
2022-04-02 21:03:04 +00:00
/* 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
2022-07-14 05:48:03 +00:00
/* 80372F1C 0036FE7C 4E 80 04 20 */ bctr
2022-08-21 01:40:40 +00:00
lbl_80372F20:
2022-04-02 21:03:04 +00:00
/* 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
2022-08-21 01:40:40 +00:00
lbl_80372F4C:
2022-04-02 21:03:04 +00:00
/* 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)
2022-04-02 21:03:04 +00:00
/* 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
2022-07-14 05:48:03 +00:00
/* 80372F84 0036FEE4 4E 80 00 21 */ blrl
2022-04-02 21:03:04 +00:00
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
2022-08-21 01:40:40 +00:00
lbl_80372FEC:
2022-04-02 21:03:04 +00:00
/* 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
2022-08-21 01:40:40 +00:00
lbl_80373010:
2022-04-02 21:03:04 +00:00
/* 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
2022-08-21 01:40:40 +00:00
lbl_80373020:
2022-04-02 21:03:04 +00:00
/* 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
2022-08-21 01:40:40 +00:00
lbl_80373030:
2022-04-02 21:03:04 +00:00
/* 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)
2022-04-02 21:03:04 +00:00
/* 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)
2022-04-02 21:03:04 +00:00
/* 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)
2022-04-02 21:03:04 +00:00
/* 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
2022-08-21 01:40:40 +00:00
lbl_80373094:
2022-04-02 21:03:04 +00:00
/* 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
2022-08-21 01:40:40 +00:00
lbl_803730C0:
2022-04-02 21:03:04 +00:00
/* 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)
2022-04-02 21:03:04 +00:00
/* 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
2022-08-21 01:40:40 +00:00
lbl_803730F4:
2022-04-02 21:03:04 +00:00
/* 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
2022-08-21 01:40:40 +00:00
lbl_80373118:
2022-04-02 21:03:04 +00:00
/* 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
2022-08-21 01:40:40 +00:00
lbl_8037313C:
2022-04-02 21:03:04 +00:00
/* 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
2022-08-21 01:40:40 +00:00
lbl_80373160:
2022-04-02 21:03:04 +00:00
/* 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
2022-08-21 01:40:40 +00:00
lbl_80373184:
2022-04-02 21:03:04 +00:00
/* 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
2022-08-21 01:40:40 +00:00
lbl_803731AC:
2022-04-02 21:03:04 +00:00
/* 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)
2022-04-02 21:03:04 +00:00
/* 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
2022-07-14 05:48:03 +00:00
/* 803731EC 0037014C 4E 80 00 21 */ blrl
2022-04-02 21:03:04 +00:00
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
2022-07-14 05:48:03 +00:00
/* 803731FC 0037015C 4E 80 00 20 */ blr
2022-04-02 21:03:04 +00:00
.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
2022-04-02 21:03:04 +00:00
/* 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
2022-04-02 21:03:04 +00:00
/* 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)
2022-04-02 21:03:04 +00:00
/* 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)
2022-04-02 21:03:04 +00:00
/* 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)
2022-04-02 21:03:04 +00:00
/* 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)
2022-04-02 21:03:04 +00:00
/* 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)
2022-04-02 21:03:04 +00:00
/* 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)
2022-04-02 21:03:04 +00:00
lbl_803732B0:
/* 803732B0 00370210 80 0D AC 30 */ lwz r0, Canceling@sda21(r13)
2022-04-02 21:03:04 +00:00
/* 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)
2022-04-02 21:03:04 +00:00
/* 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)
2022-04-02 21:03:04 +00:00
/* 803732D4 00370234 38 00 00 0A */ li r0, 0xa
/* 803732D8 00370238 90 6D AC 10 */ stw r3, executing@sda21(r13)
2022-04-02 21:03:04 +00:00
/* 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
2022-07-14 05:48:03 +00:00
/* 803732F8 00370258 4E 80 00 21 */ blrl
2022-04-02 21:03:04 +00:00
lbl_803732FC:
/* 803732FC 0037025C 81 8D AC 34 */ lwz r12, CancelCallback@sda21(r13)
2022-04-02 21:03:04 +00:00
/* 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
2022-07-14 05:48:03 +00:00
/* 80373314 00370274 4E 80 00 21 */ blrl
2022-04-02 21:03:04 +00:00
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)
2022-04-02 21:03:04 +00:00
/* 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)
2022-04-02 21:03:04 +00:00
/* 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)
2022-04-02 21:03:04 +00:00
/* 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)
2022-04-02 21:03:04 +00:00
/* 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)
2022-04-02 21:03:04 +00:00
/* 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)
2022-04-02 21:03:04 +00:00
/* 803733D0 00370330 38 00 00 0A */ li r0, 0xa
/* 803733D4 00370334 90 6D AC 10 */ stw r3, executing@sda21(r13)
2022-04-02 21:03:04 +00:00
/* 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
2022-07-14 05:48:03 +00:00
/* 803733F4 00370354 4E 80 00 21 */ blrl
2022-04-02 21:03:04 +00:00
lbl_803733F8:
/* 803733F8 00370358 81 8D AC 34 */ lwz r12, CancelCallback@sda21(r13)
2022-04-02 21:03:04 +00:00
/* 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
2022-07-14 05:48:03 +00:00
/* 80373410 00370370 4E 80 00 21 */ blrl
2022-04-02 21:03:04 +00:00
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)
2022-04-02 21:03:04 +00:00
/* 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)
2022-04-02 21:03:04 +00:00
/* 8037343C 0037039C 38 7F 00 40 */ addi r3, r31, 0x40
/* 80373440 003703A0 83 CD AC 10 */ lwz r30, executing@sda21(r13)
2022-04-02 21:03:04 +00:00
/* 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)
2022-04-02 21:03:04 +00:00
/* 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
2022-07-14 05:48:03 +00:00
/* 8037346C 003703CC 4E 80 00 21 */ blrl
2022-04-02 21:03:04 +00:00
lbl_80373470:
/* 80373470 003703D0 81 8D AC 34 */ lwz r12, CancelCallback@sda21(r13)
2022-04-02 21:03:04 +00:00
/* 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
2022-07-14 05:48:03 +00:00
/* 80373488 003703E8 4E 80 00 21 */ blrl
2022-04-02 21:03:04 +00:00
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)
2022-04-02 21:03:04 +00:00
/* 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)
2022-04-02 21:03:04 +00:00
/* 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)
2022-04-02 21:03:04 +00:00
/* 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)
2022-04-02 21:03:04 +00:00
/* 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
2022-07-14 05:48:03 +00:00
/* 80373528 00370488 4E 80 00 21 */ blrl
2022-04-02 21:03:04 +00:00
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)
2022-04-02 21:03:04 +00:00
/* 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)
2022-04-02 21:03:04 +00:00
/* 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)
2022-04-02 21:03:04 +00:00
/* 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)
2022-04-02 21:03:04 +00:00
/* 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)
2022-04-02 21:03:04 +00:00
/* 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)
2022-04-02 21:03:04 +00:00
/* 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
2022-07-14 05:48:03 +00:00
/* 803735F0 00370550 4E 80 00 21 */ blrl
2022-04-02 21:03:04 +00:00
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)
2022-04-02 21:03:04 +00:00
/* 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)
2022-04-02 21:03:04 +00:00
/* 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)
2022-04-02 21:03:04 +00:00
/* 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
2022-07-14 05:48:03 +00:00
/* 80373650 003705B0 4E 80 00 21 */ blrl
2022-04-02 21:03:04 +00:00
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)
2022-04-02 21:03:04 +00:00
/* 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)
2022-04-02 21:03:04 +00:00
/* 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)
2022-04-02 21:03:04 +00:00
/* 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
2022-07-14 05:48:03 +00:00
/* 803736B0 00370610 4E 80 00 21 */ blrl
2022-04-02 21:03:04 +00:00
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)
2022-04-02 21:03:04 +00:00
/* 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)
2022-04-02 21:03:04 +00:00
/* 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
2022-07-14 05:48:03 +00:00
/* 803736E4 00370644 4E 80 00 21 */ blrl
2022-04-02 21:03:04 +00:00
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)
2022-04-02 21:03:04 +00:00
/* 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)
2022-04-02 21:03:04 +00:00
/* 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)
2022-04-02 21:03:04 +00:00
/* 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)
2022-04-02 21:03:04 +00:00
/* 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)
2022-04-02 21:03:04 +00:00
/* 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)
2022-04-02 21:03:04 +00:00
/* 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)
2022-04-02 21:03:04 +00:00
/* 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)
2022-04-02 21:03:04 +00:00
/* 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)
2022-04-02 21:03:04 +00:00
/* 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)
2022-04-02 21:03:04 +00:00
/* 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
2022-07-14 05:48:03 +00:00
/* 803737A8 00370708 4E 80 00 21 */ blrl
2022-04-02 21:03:04 +00:00
lbl_803737AC:
/* 803737AC 0037070C 81 8D AC 34 */ lwz r12, CancelCallback@sda21(r13)
2022-04-02 21:03:04 +00:00
/* 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
2022-07-14 05:48:03 +00:00
/* 803737C4 00370724 4E 80 00 21 */ blrl
2022-04-02 21:03:04 +00:00
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)
2022-04-02 21:03:04 +00:00
/* 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)
2022-04-02 21:03:04 +00:00
/* 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
2022-07-14 05:48:03 +00:00
/* 80373808 00370768 4E 80 00 21 */ blrl
2022-04-02 21:03:04 +00:00
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
2022-07-14 05:48:03 +00:00
/* 80373834 00370794 4E 80 00 20 */ blr
2022-04-02 21:03:04 +00:00
.global issueCommand
issueCommand:
2022-04-02 21:03:04 +00:00
/* 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)
2022-04-02 21:03:04 +00:00
/* 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)
2022-04-02 21:03:04 +00:00
/* 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)
2022-04-02 21:03:04 +00:00
/* 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
2022-07-14 05:48:03 +00:00
/* 803738F0 00370850 4E 80 00 20 */ blr
2022-04-02 21:03:04 +00:00
.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)
2022-04-02 21:03:04 +00:00
/* 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)
2022-04-02 21:03:04 +00:00
/* 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)
2022-04-02 21:03:04 +00:00
/* 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
2022-07-14 05:48:03 +00:00
/* 803739CC 0037092C 4E 80 00 20 */ blr
2022-04-02 21:03:04 +00:00
.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)
2022-04-02 21:03:04 +00:00
/* 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)
2022-04-02 21:03:04 +00:00
/* 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)
2022-04-02 21:03:04 +00:00
/* 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
2022-07-14 05:48:03 +00:00
/* 80373A9C 003709FC 4E 80 00 20 */ blr
2022-04-02 21:03:04 +00:00
.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)
2022-04-02 21:03:04 +00:00
/* 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)
2022-04-02 21:03:04 +00:00
/* 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)
2022-04-02 21:03:04 +00:00
/* 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
2022-07-14 05:48:03 +00:00
/* 80373B70 00370AD0 4E 80 00 20 */ blr
2022-04-02 21:03:04 +00:00
.global DVDPrepareStreamAbsAsync
DVDPrepareStreamAbsAsync:
2022-04-02 21:03:04 +00:00
/* 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)
2022-04-02 21:03:04 +00:00
/* 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)
2022-04-02 21:03:04 +00:00
/* 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)
2022-04-02 21:03:04 +00:00
/* 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
2022-07-14 05:48:03 +00:00
/* 80373C34 00370B94 4E 80 00 20 */ blr
2022-04-02 21:03:04 +00:00
.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)
2022-04-02 21:03:04 +00:00
/* 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)
2022-04-02 21:03:04 +00:00
/* 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)
2022-04-02 21:03:04 +00:00
/* 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
2022-07-14 05:48:03 +00:00
/* 80373CF0 00370C50 4E 80 00 20 */ blr
2022-04-02 21:03:04 +00:00
.global DVDCancelStream
DVDCancelStream:
2022-04-02 21:03:04 +00:00
/* 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
2022-04-02 21:03:04 +00:00
/* 80373D14 00370C74 90 1E 00 08 */ stw r0, 8(r30)
/* 80373D18 00370C78 38 03 3D 94 */ addi r0, r3, cbForCancelStreamSync@l
2022-04-02 21:03:04 +00:00
/* 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
2022-04-02 21:03:04 +00:00
/* 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
2022-04-02 21:03:04 +00:00
/* 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
2022-07-14 05:48:03 +00:00
/* 80373D90 00370CF0 4E 80 00 20 */ blr
2022-04-02 21:03:04 +00:00
.global cbForCancelStreamSync
cbForCancelStreamSync:
2022-04-02 21:03:04 +00:00
/* 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
2022-04-02 21:03:04 +00:00
/* 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
2022-07-14 05:48:03 +00:00
/* 80373DB8 00370D18 4E 80 00 20 */ blr
2022-04-02 21:03:04 +00:00
.global DVDStopStreamAtEndAsync
DVDStopStreamAtEndAsync:
2022-04-02 21:03:04 +00:00
/* 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)
2022-04-02 21:03:04 +00:00
/* 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)
2022-04-02 21:03:04 +00:00
/* 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)
2022-04-02 21:03:04 +00:00
/* 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
2022-07-14 05:48:03 +00:00
/* 80373E74 00370DD4 4E 80 00 20 */ blr
2022-04-02 21:03:04 +00:00
.global DVDGetStreamErrorStatusAsync
DVDGetStreamErrorStatusAsync:
2022-04-02 21:03:04 +00:00
/* 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)
2022-04-02 21:03:04 +00:00
/* 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)
2022-04-02 21:03:04 +00:00
/* 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)
2022-04-02 21:03:04 +00:00
/* 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
2022-07-14 05:48:03 +00:00
/* 80373F30 00370E90 4E 80 00 20 */ blr
2022-04-02 21:03:04 +00:00
.global DVDGetStreamPlayAddrAsync
DVDGetStreamPlayAddrAsync:
2022-04-02 21:03:04 +00:00
/* 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)
2022-04-02 21:03:04 +00:00
/* 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)
2022-04-02 21:03:04 +00:00
/* 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)
2022-04-02 21:03:04 +00:00
/* 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
2022-07-14 05:48:03 +00:00
/* 80373FEC 00370F4C 4E 80 00 20 */ blr
2022-04-02 21:03:04 +00:00
.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)
2022-04-02 21:03:04 +00:00
/* 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)
2022-04-02 21:03:04 +00:00
/* 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)
2022-04-02 21:03:04 +00:00
/* 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
2022-07-14 05:48:03 +00:00
/* 803740BC 0037101C 4E 80 00 20 */ blr
2022-04-02 21:03:04 +00:00
.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)
2022-04-02 21:03:04 +00:00
/* 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
2022-07-14 05:48:03 +00:00
/* 80374100 00371060 4E 80 00 20 */ blr
2022-04-02 21:03:04 +00:00
.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
2022-07-14 05:48:03 +00:00
/* 8037414C 003710AC 4E 80 00 20 */ blr
2022-04-02 21:03:04 +00:00
.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)
2022-04-02 21:03:04 +00:00
/* 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)
2022-04-02 21:03:04 +00:00
/* 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)
2022-04-02 21:03:04 +00:00
/* 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
2022-04-02 21:03:04 +00:00
/* 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
2022-07-14 05:48:03 +00:00
/* 803741F8 00371158 4E 80 00 20 */ blr
2022-04-02 21:03:04 +00:00
.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)
2022-04-02 21:03:04 +00:00
/* 80374204 00371164 7C 03 03 78 */ mr r3, r0
2022-07-14 05:48:03 +00:00
/* 80374208 00371168 4E 80 00 20 */ blr
2022-04-02 21:03:04 +00:00
.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
2022-07-14 05:48:03 +00:00
/* 80374258 003711B8 4E 80 04 20 */ bctr
2022-08-21 01:40:40 +00:00
lbl_8037425C:
2022-04-02 21:03:04 +00:00
/* 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
2022-07-14 05:48:03 +00:00
/* 80374274 003711D4 4E 80 00 21 */ blrl
2022-04-02 21:03:04 +00:00
/* 80374278 003711D8 48 00 01 DC */ b lbl_80374454
2022-08-21 01:40:40 +00:00
lbl_8037427C:
/* 8037427C 003711DC 80 0D AC 30 */ lwz r0, Canceling@sda21(r13)
2022-04-02 21:03:04 +00:00
/* 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)
2022-04-02 21:03:04 +00:00
/* 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
2022-08-21 01:40:40 +00:00
lbl_803742C0:
2022-04-02 21:03:04 +00:00
/* 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
2022-07-14 05:48:03 +00:00
/* 803742E8 00371248 4E 80 00 21 */ blrl
2022-04-02 21:03:04 +00:00
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
2022-07-14 05:48:03 +00:00
/* 80374304 00371264 4E 80 00 21 */ blrl
2022-04-02 21:03:04 +00:00
/* 80374308 00371268 48 00 01 4C */ b lbl_80374454
2022-08-21 01:40:40 +00:00
lbl_8037430C:
2022-04-02 21:03:04 +00:00
/* 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
2022-07-14 05:48:03 +00:00
/* 80374354 003712B4 4E 80 00 21 */ blrl
2022-04-02 21:03:04 +00:00
/* 80374358 003712B8 48 00 00 FC */ b lbl_80374454
lbl_8037435C:
/* 8037435C 003712BC 80 0D AC 30 */ lwz r0, Canceling@sda21(r13)
2022-04-02 21:03:04 +00:00
/* 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)
2022-04-02 21:03:04 +00:00
/* 80374384 003712E4 48 00 00 D0 */ b lbl_80374454
2022-08-21 01:40:40 +00:00
lbl_80374388:
2022-04-02 21:03:04 +00:00
/* 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)
2022-04-02 21:03:04 +00:00
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)
2022-04-02 21:03:04 +00:00
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)
2022-04-02 21:03:04 +00:00
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)
2022-04-02 21:03:04 +00:00
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)
2022-04-02 21:03:04 +00:00
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
2022-07-14 05:48:03 +00:00
/* 80374430 00371390 4E 80 00 21 */ blrl
2022-04-02 21:03:04 +00:00
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
2022-07-14 05:48:03 +00:00
/* 8037444C 003713AC 4E 80 00 21 */ blrl
2022-04-02 21:03:04 +00:00
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
2022-07-14 05:48:03 +00:00
/* 80374478 003713D8 4E 80 00 20 */ blr
2022-04-02 21:03:04 +00:00
.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
2022-04-02 21:03:04 +00:00
/* 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
2022-07-14 05:48:03 +00:00
/* 80374524 00371484 4E 80 00 20 */ blr
2022-04-02 21:03:04 +00:00
.global cbForCancelSync
cbForCancelSync:
/* 80374528 00371488 7C 08 02 A6 */ mflr r0
/* 8037452C 0037148C 38 6D AC 08 */ addi r3, r13, __DVDThreadQueue@sda21
2022-04-02 21:03:04 +00:00
/* 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
2022-07-14 05:48:03 +00:00
/* 80374548 003714A8 4E 80 00 20 */ blr
2022-04-02 21:03:04 +00:00
.global DVDCancelAll
DVDCancelAll:
2022-04-02 21:03:04 +00:00
/* 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)
2022-04-02 21:03:04 +00:00
/* 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)
2022-04-02 21:03:04 +00:00
/* 80374588 003714E8 38 80 00 01 */ li r4, 1
/* 8037458C 003714EC 90 8D AC 1C */ stw r4, PauseFlag@sda21(r13)
2022-04-02 21:03:04 +00:00
/* 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)
2022-04-02 21:03:04 +00:00
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)
2022-04-02 21:03:04 +00:00
/* 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
2022-04-02 21:03:04 +00:00
/* 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
2022-04-02 21:03:04 +00:00
/* 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
2022-04-02 21:03:04 +00:00
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)
2022-04-02 21:03:04 +00:00
/* 80374600 00371560 7C 7C 1B 78 */ mr r28, r3
/* 80374604 00371564 80 0D AC 20 */ lwz r0, PausingFlag@sda21(r13)
2022-04-02 21:03:04 +00:00
/* 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)
2022-04-02 21:03:04 +00:00
/* 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)
2022-04-02 21:03:04 +00:00
/* 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
2022-04-02 21:03:04 +00:00
/* 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
2022-07-14 05:48:03 +00:00
/* 80374680 003715E0 4E 80 00 20 */ blr
2022-04-02 21:03:04 +00:00
.global cbForCancelAllSync
cbForCancelAllSync:
2022-04-02 21:03:04 +00:00
/* 80374684 003715E4 7C 08 02 A6 */ mflr r0
/* 80374688 003715E8 38 6D AC 08 */ addi r3, r13, __DVDThreadQueue@sda21
2022-04-02 21:03:04 +00:00
/* 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)
2022-04-02 21:03:04 +00:00
/* 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
2022-07-14 05:48:03 +00:00
/* 803746AC 0037160C 4E 80 00 20 */ blr
2022-04-02 21:03:04 +00:00
.global DVDGetCurrentDiskID
DVDGetCurrentDiskID:
/* 803746B0 00371610 3C 60 80 00 */ lis r3, 0x8000
2022-07-14 05:48:03 +00:00
/* 803746B4 00371614 4E 80 00 20 */ blr
2022-04-02 21:03:04 +00:00
.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)
2022-04-02 21:03:04 +00:00
/* 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)
2022-04-02 21:03:04 +00:00
/* 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)
2022-04-02 21:03:04 +00:00
/* 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
2022-04-02 21:03:04 +00:00
/* 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
2022-07-14 05:48:03 +00:00
/* 80374744 003716A4 4E 80 04 20 */ bctr
2022-08-21 01:40:40 +00:00
lbl_80374748:
2022-04-02 21:03:04 +00:00
/* 80374748 003716A8 3B E0 00 01 */ li r31, 1
/* 8037474C 003716AC 48 00 00 34 */ b lbl_80374780
2022-08-21 01:40:40 +00:00
lbl_80374750:
2022-04-02 21:03:04 +00:00
/* 80374750 003716B0 3B E0 00 00 */ li r31, 0
/* 80374754 003716B4 48 00 00 2C */ b lbl_80374780
2022-08-21 01:40:40 +00:00
lbl_80374758:
2022-04-02 21:03:04 +00:00
/* 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
2022-07-14 05:48:03 +00:00
/* 80374798 003716F8 4E 80 00 20 */ blr
2022-04-02 21:03:04 +00:00
.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)
2022-04-02 21:03:04 +00:00
/* 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)
2022-04-02 21:03:04 +00:00
/* 803747D4 00371734 48 00 00 C0 */ b lbl_80374894
lbl_803747D8:
/* 803747D8 00371738 80 6D AC 10 */ lwz r3, executing@sda21(r13)
2022-04-02 21:03:04 +00:00
/* 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)
2022-04-02 21:03:04 +00:00
/* 803747FC 0037175C 38 80 00 01 */ li r4, 1
/* 80374800 00371760 90 8D AC 1C */ stw r4, PauseFlag@sda21(r13)
2022-04-02 21:03:04 +00:00
/* 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)
2022-04-02 21:03:04 +00:00
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)
2022-04-02 21:03:04 +00:00
/* 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
2022-07-14 05:48:03 +00:00
/* 8037485C 003717BC 4E 80 00 21 */ blrl
2022-04-02 21:03:04 +00:00
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)
2022-04-02 21:03:04 +00:00
/* 8037486C 003717CC 7C 7E 1B 78 */ mr r30, r3
/* 80374870 003717D0 80 0D AC 20 */ lwz r0, PausingFlag@sda21(r13)
2022-04-02 21:03:04 +00:00
/* 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)
2022-04-02 21:03:04 +00:00
/* 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
2022-07-14 05:48:03 +00:00
/* 803748B4 00371814 4E 80 00 20 */ blr