donut-decomp/asm/dvd/dvd.s
2022-10-17 09:13:49 +01:00

6649 lines
306 KiB
ArmAsm

.include "macros.inc"
.section .text, "ax" # 0x80006A00 - 0x80406260 ; 0x003FF860
.global StampCommand
StampCommand:
/* 8003A140 00035F80 94 21 FF E0 */ stwu r1, -0x20(r1)
/* 8003A144 00035F84 7C 08 02 A6 */ mflr r0
/* 8003A148 00035F88 90 01 00 24 */ stw r0, 0x24(r1)
/* 8003A14C 00035F8C 39 61 00 20 */ addi r11, r1, 0x20
/* 8003A150 00035F90 4B FC D1 ED */ bl lbl_8000733C
/* 8003A154 00035F94 7C 7B 1B 78 */ mr r27, r3
/* 8003A158 00035F98 7C 9C 23 78 */ mr r28, r4
/* 8003A15C 00035F9C 7C BD 2B 78 */ mr r29, r5
/* 8003A160 00035FA0 4B FE 76 C1 */ bl OSDisableInterrupts
/* 8003A164 00035FA4 80 0D E6 40 */ lwz r0, CommandInfoCounter@sda21(r13)
/* 8003A168 00035FA8 7C 7F 1B 78 */ mr r31, r3
/* 8003A16C 00035FAC 28 00 00 05 */ cmplwi r0, 0x5
/* 8003A170 00035FB0 41 80 00 0C */ blt lbl_8003A17C
/* 8003A174 00035FB4 38 00 00 00 */ li r0, 0x0
/* 8003A178 00035FB8 90 0D E6 40 */ stw r0, CommandInfoCounter@sda21(r13)
.global lbl_8003A17C
lbl_8003A17C:
/* 8003A17C 00035FBC 80 0D E6 40 */ lwz r0, CommandInfoCounter@sda21(r13)
/* 8003A180 00035FC0 3F C0 80 4A */ lis r30, __ErrorInfo@ha
/* 8003A184 00035FC4 80 6D E6 40 */ lwz r3, CommandInfoCounter@sda21(r13)
/* 8003A188 00035FC8 3B DE FC 40 */ addi r30, r30, __ErrorInfo@l
/* 8003A18C 00035FCC 1C 80 00 14 */ mulli r4, r0, 0x14
/* 8003A190 00035FD0 80 0D E6 40 */ lwz r0, CommandInfoCounter@sda21(r13)
/* 8003A194 00035FD4 1C 63 00 14 */ mulli r3, r3, 0x14
/* 8003A198 00035FD8 7C 9E 22 14 */ add r4, r30, r4
/* 8003A19C 00035FDC 93 64 00 1C */ stw r27, 0x1c(r4)
/* 8003A1A0 00035FE0 7C 7E 1A 14 */ add r3, r30, r3
/* 8003A1A4 00035FE4 1C 00 00 14 */ mulli r0, r0, 0x14
/* 8003A1A8 00035FE8 93 83 00 20 */ stw r28, 0x20(r3)
/* 8003A1AC 00035FEC 7C 7E 02 14 */ add r3, r30, r0
/* 8003A1B0 00035FF0 93 A3 00 24 */ stw r29, 0x24(r3)
/* 8003A1B4 00035FF4 4B FE B9 AD */ bl OSGetTick
/* 8003A1B8 00035FF8 80 0D E6 40 */ lwz r0, CommandInfoCounter@sda21(r13)
/* 8003A1BC 00035FFC 80 8D E6 40 */ lwz r4, CommandInfoCounter@sda21(r13)
/* 8003A1C0 00036000 1C A0 00 14 */ mulli r5, r0, 0x14
/* 8003A1C4 00036004 38 04 00 01 */ addi r0, r4, 0x1
/* 8003A1C8 00036008 90 0D E6 40 */ stw r0, CommandInfoCounter@sda21(r13)
/* 8003A1CC 0003600C 7C 9E 2A 14 */ add r4, r30, r5
/* 8003A1D0 00036010 90 64 00 2C */ stw r3, 0x2c(r4)
/* 8003A1D4 00036014 7F E3 FB 78 */ mr r3, r31
/* 8003A1D8 00036018 4B FE 76 89 */ bl OSRestoreInterrupts
/* 8003A1DC 0003601C 39 61 00 20 */ addi r11, r1, 0x20
/* 8003A1E0 00036020 4B FC D1 A9 */ bl lbl_80007388
/* 8003A1E4 00036024 80 01 00 24 */ lwz r0, 0x24(r1)
/* 8003A1E8 00036028 7C 08 03 A6 */ mtlr r0
/* 8003A1EC 0003602C 38 21 00 20 */ addi r1, r1, 0x20
/* 8003A1F0 00036030 4E 80 00 20 */ blr
/* 8003A1F4 00036034 00 00 00 00 */ .4byte 0x00000000
/* 8003A1F8 00036038 00 00 00 00 */ .4byte 0x00000000
/* 8003A1FC 0003603C 00 00 00 00 */ .4byte 0x00000000
.global defaultOptionalCommandChecker
defaultOptionalCommandChecker:
/* 8003A200 00036040 4E 80 00 20 */ blr
/* 8003A204 00036044 00 00 00 00 */ .4byte 0x00000000
/* 8003A208 00036048 00 00 00 00 */ .4byte 0x00000000
/* 8003A20C 0003604C 00 00 00 00 */ .4byte 0x00000000
.global DVDInit
DVDInit:
/* 8003A210 00036050 94 21 FF F0 */ stwu r1, -0x10(r1)
/* 8003A214 00036054 7C 08 02 A6 */ mflr r0
/* 8003A218 00036058 90 01 00 14 */ stw r0, 0x14(r1)
/* 8003A21C 0003605C 93 E1 00 0C */ stw r31, 0xc(r1)
/* 8003A220 00036060 93 C1 00 08 */ stw r30, 0x8(r1)
/* 8003A224 00036064 80 0D E6 7C */ lwz r0, DVDInitialized@sda21(r13)
/* 8003A228 00036068 2C 00 00 00 */ cmpwi r0, 0x0
/* 8003A22C 0003606C 40 82 01 20 */ bne lbl_8003A34C
/* 8003A230 00036070 80 6D 81 B8 */ lwz r3, __DVDVersion@sda21(r13)
/* 8003A234 00036074 4B FE 14 AD */ bl OSRegisterVersion
/* 8003A238 00036078 38 00 00 01 */ li r0, 0x1
/* 8003A23C 0003607C 90 0D E6 7C */ stw r0, DVDInitialized@sda21(r13)
/* 8003A240 00036080 48 00 61 71 */ bl DVDLowInit
/* 8003A244 00036084 80 0D E3 58 */ lwz r0, __OSInIPL@sda21(r13)
/* 8003A248 00036088 2C 00 00 00 */ cmpwi r0, 0x0
/* 8003A24C 0003608C 40 82 00 60 */ bne lbl_8003A2AC
/* 8003A250 00036090 3C 60 80 00 */ lis r3, 0x80003187@ha
/* 8003A254 00036094 88 03 31 87 */ lbz r0, 0x80003187@l(r3)
/* 8003A258 00036098 28 00 00 80 */ cmplwi r0, 0x80
/* 8003A25C 0003609C 40 82 00 50 */ bne lbl_8003A2AC
/* 8003A260 000360A0 48 06 7D C1 */ bl ESP_InitLib
/* 8003A264 000360A4 2C 03 00 00 */ cmpwi r3, 0x0
/* 8003A268 000360A8 40 82 00 14 */ bne lbl_8003A27C
/* 8003A26C 000360AC 3C 80 80 4A */ lis r4, __DVDTicketViewBuffer@ha
/* 8003A270 000360B0 38 60 00 00 */ li r3, 0x0
/* 8003A274 000360B4 38 84 AE 00 */ addi r4, r4, __DVDTicketViewBuffer@l
/* 8003A278 000360B8 48 06 80 19 */ bl ESP_DiGetTicketView
.global lbl_8003A27C
lbl_8003A27C:
/* 8003A27C 000360BC 2C 03 00 00 */ cmpwi r3, 0x0
/* 8003A280 000360C0 40 82 00 10 */ bne lbl_8003A290
/* 8003A284 000360C4 38 60 00 00 */ li r3, 0x0
/* 8003A288 000360C8 38 8D E6 A0 */ addi r4, r13, __DVDNumTmdBytes@sda21
/* 8003A28C 000360CC 48 06 80 B5 */ bl ESP_DiGetTmd
.global lbl_8003A290
lbl_8003A290:
/* 8003A290 000360D0 2C 03 00 00 */ cmpwi r3, 0x0
/* 8003A294 000360D4 40 82 00 14 */ bne lbl_8003A2A8
/* 8003A298 000360D8 3C 60 80 4A */ lis r3, __DVDTmdBuffer@ha
/* 8003A29C 000360DC 38 8D E6 A0 */ addi r4, r13, __DVDNumTmdBytes@sda21
/* 8003A2A0 000360E0 38 63 AF 00 */ addi r3, r3, __DVDTmdBuffer@l
/* 8003A2A4 000360E4 48 06 80 9D */ bl ESP_DiGetTmd
.global lbl_8003A2A8
lbl_8003A2A8:
/* 8003A2A8 000360E8 48 06 7D D9 */ bl ESP_CloseLib
.global lbl_8003A2AC
lbl_8003A2AC:
/* 8003A2AC 000360EC 4B FF F6 45 */ bl __DVDFSInit
/* 8003A2B0 000360F0 48 00 4D A1 */ bl __DVDClearWaitingQueue
/* 8003A2B4 000360F4 3C 00 80 00 */ lis r0, 0x8000
/* 8003A2B8 000360F8 38 60 00 00 */ li r3, 0x0
/* 8003A2BC 000360FC 90 6D E6 B0 */ stw r3, MotorState@sda21(r13)
/* 8003A2C0 00036100 38 6D E6 18 */ addi r3, r13, __DVDThreadQueue@sda21
/* 8003A2C4 00036104 90 0D E6 C8 */ stw r0, bootInfo@sda21(r13)
/* 8003A2C8 00036108 90 0D E6 CC */ stw r0, IDShouldBe@sda21(r13)
/* 8003A2CC 0003610C 4B FE A4 75 */ bl OSInitThreadQueue
/* 8003A2D0 00036110 48 0C E7 31 */ bl CanCancel__Q34nw4r2ut13DvdFileStreamCFv
/* 8003A2D4 00036114 48 0C E7 2D */ bl CanCancel__Q34nw4r2ut13DvdFileStreamCFv
/* 8003A2D8 00036118 80 6D E6 C8 */ lwz r3, bootInfo@sda21(r13)
/* 8003A2DC 0003611C 80 63 00 20 */ lwz r3, 0x20(r3)
/* 8003A2E0 00036120 3C 03 1A E0 */ addis r0, r3, 0x1ae0
/* 8003A2E4 00036124 28 00 7C 22 */ cmplwi r0, 0x7c22
/* 8003A2E8 00036128 41 82 00 18 */ beq lbl_8003A300
/* 8003A2EC 0003612C 3C 03 F2 EB */ addis r0, r3, 0xf2eb
/* 8003A2F0 00036130 28 00 EA 5E */ cmplwi r0, 0xea5e
/* 8003A2F4 00036134 41 82 00 0C */ beq lbl_8003A300
/* 8003A2F8 00036138 38 00 00 01 */ li r0, 0x1
/* 8003A2FC 0003613C 90 0D E6 5C */ stw r0, FirstTimeInBootrom@sda21(r13)
.global lbl_8003A300
lbl_8003A300:
/* 8003A300 00036140 3F E0 80 4A */ lis r31, __ErrorInfo@ha
/* 8003A304 00036144 38 80 00 00 */ li r4, 0x0
/* 8003A308 00036148 38 7F FC 40 */ addi r3, r31, __ErrorInfo@l
/* 8003A30C 0003614C 38 A0 00 80 */ li r5, 0x80
/* 8003A310 00036150 4B FC A0 41 */ bl memset
/* 8003A314 00036154 3F C0 80 00 */ lis r30, 0x80000006@ha
/* 8003A318 00036158 38 7F FC 40 */ addi r3, r31, -0x3c0
/* 8003A31C 0003615C 7F C4 F3 78 */ mr r4, r30
/* 8003A320 00036160 38 A0 00 04 */ li r5, 0x4
/* 8003A324 00036164 4B FC 9C DD */ bl memcpy
/* 8003A328 00036168 38 BF FC 40 */ addi r5, r31, -0x3c0
/* 8003A32C 0003616C 88 1E 00 06 */ lbz r0, 0x80000006@l(r30)
/* 8003A330 00036170 98 05 00 04 */ stb r0, 0x4(r5)
/* 8003A334 00036174 38 00 00 00 */ li r0, 0x0
/* 8003A338 00036178 38 60 00 01 */ li r3, 0x1
/* 8003A33C 0003617C 88 9E 00 07 */ lbz r4, 0x7(r30)
/* 8003A340 00036180 98 85 00 05 */ stb r4, 0x5(r5)
/* 8003A344 00036184 90 0D E6 78 */ stw r0, __DVDLayoutFormat@sda21(r13)
/* 8003A348 00036188 48 00 5B 69 */ bl DVDSetAutoFatalMessaging
.global lbl_8003A34C
lbl_8003A34C:
/* 8003A34C 0003618C 80 01 00 14 */ lwz r0, 0x14(r1)
/* 8003A350 00036190 83 E1 00 0C */ lwz r31, 0xc(r1)
/* 8003A354 00036194 83 C1 00 08 */ lwz r30, 0x8(r1)
/* 8003A358 00036198 7C 08 03 A6 */ mtlr r0
/* 8003A35C 0003619C 38 21 00 10 */ addi r1, r1, 0x10
/* 8003A360 000361A0 4E 80 00 20 */ blr
/* 8003A364 000361A4 00 00 00 00 */ .4byte 0x00000000
/* 8003A368 000361A8 00 00 00 00 */ .4byte 0x00000000
/* 8003A36C 000361AC 00 00 00 00 */ .4byte 0x00000000
.global stateReadingFST
stateReadingFST:
/* 8003A370 000361B0 94 21 FF E0 */ stwu r1, -0x20(r1)
/* 8003A374 000361B4 7C 08 02 A6 */ mflr r0
/* 8003A378 000361B8 3C 80 80 04 */ lis r4, stateReadingFST@ha
/* 8003A37C 000361BC 3C 60 80 4A */ lis r3, BB2@ha
/* 8003A380 000361C0 90 01 00 24 */ stw r0, 0x24(r1)
/* 8003A384 000361C4 38 84 A3 70 */ addi r4, r4, stateReadingFST@l
/* 8003A388 000361C8 38 63 F9 00 */ addi r3, r3, BB2@l
/* 8003A38C 000361CC 93 E1 00 1C */ stw r31, 0x1c(r1)
/* 8003A390 000361D0 93 C1 00 18 */ stw r30, 0x18(r1)
/* 8003A394 000361D4 93 A1 00 14 */ stw r29, 0x14(r1)
/* 8003A398 000361D8 93 81 00 10 */ stw r28, 0x10(r1)
/* 8003A39C 000361DC 90 8D E6 D4 */ stw r4, LastState@sda21(r13)
/* 8003A3A0 000361E0 80 8D E6 C8 */ lwz r4, bootInfo@sda21(r13)
/* 8003A3A4 000361E4 80 03 00 08 */ lwz r0, 0x8(r3)
/* 8003A3A8 000361E8 80 64 00 3C */ lwz r3, 0x3c(r4)
/* 8003A3AC 000361EC 7C 03 00 40 */ cmplw r3, r0
/* 8003A3B0 000361F0 40 80 00 1C */ bge lbl_8003A3CC
/* 8003A3B4 000361F4 3C A0 80 43 */ lis r5, "@4255_804312A8"@ha
/* 8003A3B8 000361F8 38 6D 81 C4 */ addi r3, r13, "@4254_805565E4"@sda21
/* 8003A3BC 000361FC 38 A5 12 A8 */ addi r5, r5, "@4255_804312A8"@l
/* 8003A3C0 00036200 38 80 04 45 */ li r4, 0x445
/* 8003A3C4 00036204 4C C6 31 82 */ crclr 4*cr1+eq
/* 8003A3C8 00036208 48 15 04 29 */ bl OSPanic
.global lbl_8003A3CC
lbl_8003A3CC:
/* 8003A3CC 0003620C 38 60 00 00 */ li r3, 0x0
/* 8003A3D0 00036210 48 00 83 21 */ bl DVDLowClearCoverInterrupt
/* 8003A3D4 00036214 80 6D E6 78 */ lwz r3, __DVDLayoutFormat@sda21(r13)
/* 8003A3D8 00036218 3C C0 80 4A */ lis r6, BB2@ha
/* 8003A3DC 0003621C 38 C6 F9 00 */ addi r6, r6, BB2@l
/* 8003A3E0 00036220 80 0D E6 78 */ lwz r0, __DVDLayoutFormat@sda21(r13)
/* 8003A3E4 00036224 7C 63 18 F8 */ nor r3, r3, r3
/* 8003A3E8 00036228 80 A6 00 08 */ lwz r5, 0x8(r6)
/* 8003A3EC 0003622C 54 64 07 BC */ rlwinm r4, r3, 0, 30, 30
/* 8003A3F0 00036230 80 66 00 04 */ lwz r3, 0x4(r6)
/* 8003A3F4 00036234 7C A4 20 30 */ slw r4, r5, r4
/* 8003A3F8 00036238 38 84 00 1F */ addi r4, r4, 0x1f
/* 8003A3FC 0003623C 7C 7D 04 30 */ srw r29, r3, r0
/* 8003A400 00036240 54 9C 00 34 */ clrrwi r28, r4, 5
/* 8003A404 00036244 4B FE 74 1D */ bl OSDisableInterrupts
/* 8003A408 00036248 80 0D E6 40 */ lwz r0, CommandInfoCounter@sda21(r13)
/* 8003A40C 0003624C 7C 7F 1B 78 */ mr r31, r3
/* 8003A410 00036250 28 00 00 05 */ cmplwi r0, 0x5
/* 8003A414 00036254 41 80 00 0C */ blt lbl_8003A420
/* 8003A418 00036258 38 00 00 00 */ li r0, 0x0
/* 8003A41C 0003625C 90 0D E6 40 */ stw r0, CommandInfoCounter@sda21(r13)
.global lbl_8003A420
lbl_8003A420:
/* 8003A420 00036260 80 0D E6 40 */ lwz r0, CommandInfoCounter@sda21(r13)
/* 8003A424 00036264 3F C0 80 4A */ lis r30, __ErrorInfo@ha
/* 8003A428 00036268 80 6D E6 40 */ lwz r3, CommandInfoCounter@sda21(r13)
/* 8003A42C 0003626C 3B DE FC 40 */ addi r30, r30, __ErrorInfo@l
/* 8003A430 00036270 1C 80 00 14 */ mulli r4, r0, 0x14
/* 8003A434 00036274 80 0D E6 40 */ lwz r0, CommandInfoCounter@sda21(r13)
/* 8003A438 00036278 38 A0 00 01 */ li r5, 0x1
/* 8003A43C 0003627C 1C 63 00 14 */ mulli r3, r3, 0x14
/* 8003A440 00036280 7C 9E 22 14 */ add r4, r30, r4
/* 8003A444 00036284 90 A4 00 1C */ stw r5, 0x1c(r4)
/* 8003A448 00036288 7C 7E 1A 14 */ add r3, r30, r3
/* 8003A44C 0003628C 1C 00 00 14 */ mulli r0, r0, 0x14
/* 8003A450 00036290 93 A3 00 20 */ stw r29, 0x20(r3)
/* 8003A454 00036294 7C 7E 02 14 */ add r3, r30, r0
/* 8003A458 00036298 93 83 00 24 */ stw r28, 0x24(r3)
/* 8003A45C 0003629C 4B FE B7 05 */ bl OSGetTick
/* 8003A460 000362A0 80 0D E6 40 */ lwz r0, CommandInfoCounter@sda21(r13)
/* 8003A464 000362A4 80 8D E6 40 */ lwz r4, CommandInfoCounter@sda21(r13)
/* 8003A468 000362A8 1C A0 00 14 */ mulli r5, r0, 0x14
/* 8003A46C 000362AC 38 04 00 01 */ addi r0, r4, 0x1
/* 8003A470 000362B0 90 0D E6 40 */ stw r0, CommandInfoCounter@sda21(r13)
/* 8003A474 000362B4 7C 9E 2A 14 */ add r4, r30, r5
/* 8003A478 000362B8 90 64 00 2C */ stw r3, 0x2c(r4)
/* 8003A47C 000362BC 7F E3 FB 78 */ mr r3, r31
/* 8003A480 000362C0 4B FE 73 E1 */ bl OSRestoreInterrupts
/* 8003A484 000362C4 80 0D E6 78 */ lwz r0, __DVDLayoutFormat@sda21(r13)
/* 8003A488 000362C8 3C 80 80 4A */ lis r4, BB2@ha
/* 8003A48C 000362CC 38 84 F9 00 */ addi r4, r4, BB2@l
/* 8003A490 000362D0 3C C0 80 04 */ lis r6, cbForStateReadingFST@ha
/* 8003A494 000362D4 7C 00 00 F8 */ nor r0, r0, r0
/* 8003A498 000362D8 80 64 00 08 */ lwz r3, 0x8(r4)
/* 8003A49C 000362DC 54 00 07 BC */ rlwinm r0, r0, 0, 30, 30
/* 8003A4A0 000362E0 80 ED E6 C8 */ lwz r7, bootInfo@sda21(r13)
/* 8003A4A4 000362E4 7C 63 00 30 */ slw r3, r3, r0
/* 8003A4A8 000362E8 80 A4 00 04 */ lwz r5, 0x4(r4)
/* 8003A4AC 000362EC 38 83 00 1F */ addi r4, r3, 0x1f
/* 8003A4B0 000362F0 80 0D E6 78 */ lwz r0, __DVDLayoutFormat@sda21(r13)
/* 8003A4B4 000362F4 80 67 00 38 */ lwz r3, 0x38(r7)
/* 8003A4B8 000362F8 54 84 00 34 */ clrrwi r4, r4, 5
/* 8003A4BC 000362FC 7C A5 04 30 */ srw r5, r5, r0
/* 8003A4C0 00036300 38 C6 A4 F0 */ addi r6, r6, cbForStateReadingFST@l
/* 8003A4C4 00036304 48 00 7A 6D */ bl DVDLowRead
/* 8003A4C8 00036308 80 01 00 24 */ lwz r0, 0x24(r1)
/* 8003A4CC 0003630C 83 E1 00 1C */ lwz r31, 0x1c(r1)
/* 8003A4D0 00036310 83 C1 00 18 */ lwz r30, 0x18(r1)
/* 8003A4D4 00036314 83 A1 00 14 */ lwz r29, 0x14(r1)
/* 8003A4D8 00036318 83 81 00 10 */ lwz r28, 0x10(r1)
/* 8003A4DC 0003631C 7C 08 03 A6 */ mtlr r0
/* 8003A4E0 00036320 38 21 00 20 */ addi r1, r1, 0x20
/* 8003A4E4 00036324 4E 80 00 20 */ blr
/* 8003A4E8 00036328 00 00 00 00 */ .4byte 0x00000000
/* 8003A4EC 0003632C 00 00 00 00 */ .4byte 0x00000000
.global cbForStateReadingFST
cbForStateReadingFST:
/* 8003A4F0 00036330 94 21 FF F0 */ stwu r1, -0x10(r1)
/* 8003A4F4 00036334 7C 08 02 A6 */ mflr r0
/* 8003A4F8 00036338 90 01 00 14 */ stw r0, 0x14(r1)
/* 8003A4FC 0003633C 93 E1 00 0C */ stw r31, 0xc(r1)
/* 8003A500 00036340 93 C1 00 08 */ stw r30, 0x8(r1)
/* 8003A504 00036344 7C 7E 1B 78 */ mr r30, r3
/* 8003A508 00036348 4B FE 73 19 */ bl OSDisableInterrupts
/* 8003A50C 0003634C 80 0D E6 40 */ lwz r0, CommandInfoCounter@sda21(r13)
/* 8003A510 00036350 2C 00 00 00 */ cmpwi r0, 0x0
/* 8003A514 00036354 40 82 00 14 */ bne lbl_8003A528
/* 8003A518 00036358 3C 80 80 4A */ lis r4, __ErrorInfo@ha
/* 8003A51C 0003635C 38 84 FC 40 */ addi r4, r4, __ErrorInfo@l
/* 8003A520 00036360 93 C4 00 78 */ stw r30, 0x78(r4)
/* 8003A524 00036364 48 00 00 1C */ b lbl_8003A540
.global lbl_8003A528
lbl_8003A528:
/* 8003A528 00036368 80 0D E6 40 */ lwz r0, CommandInfoCounter@sda21(r13)
/* 8003A52C 0003636C 3C 80 80 4A */ lis r4, __ErrorInfo@ha
/* 8003A530 00036370 38 84 FC 40 */ addi r4, r4, __ErrorInfo@l
/* 8003A534 00036374 1C 00 00 14 */ mulli r0, r0, 0x14
/* 8003A538 00036378 7C 84 02 14 */ add r4, r4, r0
/* 8003A53C 0003637C 93 C4 00 14 */ stw r30, 0x14(r4)
.global lbl_8003A540
lbl_8003A540:
/* 8003A540 00036380 4B FE 73 21 */ bl OSRestoreInterrupts
/* 8003A544 00036384 28 1E 00 10 */ cmplwi r30, 0x10
/* 8003A548 00036388 40 82 00 1C */ bne lbl_8003A564
/* 8003A54C 0003638C 3C 60 01 23 */ lis r3, 0x123
/* 8003A550 00036390 3C 80 80 04 */ lis r4, cbForStoreErrorCode2@ha
/* 8003A554 00036394 38 63 45 68 */ addi r3, r3, 0x4568
/* 8003A558 00036398 38 84 A7 C0 */ addi r4, r4, cbForStoreErrorCode2@l
/* 8003A55C 0003639C 48 00 57 25 */ bl __DVDStoreErrorCode
/* 8003A560 000363A0 48 00 00 FC */ b lbl_8003A65C
.global lbl_8003A564
lbl_8003A564:
/* 8003A564 000363A4 28 1E 00 20 */ cmplwi r30, 0x20
/* 8003A568 000363A8 40 82 00 1C */ bne lbl_8003A584
/* 8003A56C 000363AC 3C 60 01 23 */ lis r3, 0x123
/* 8003A570 000363B0 3C 80 80 04 */ lis r4, cbForStoreErrorCode2@ha
/* 8003A574 000363B4 38 63 45 69 */ addi r3, r3, 0x4569
/* 8003A578 000363B8 38 84 A7 C0 */ addi r4, r4, cbForStoreErrorCode2@l
/* 8003A57C 000363BC 48 00 57 05 */ bl __DVDStoreErrorCode
/* 8003A580 000363C0 48 00 00 DC */ b lbl_8003A65C
.global lbl_8003A584
lbl_8003A584:
/* 8003A584 000363C4 57 C0 07 FF */ clrlwi. r0, r30, 31
/* 8003A588 000363C8 41 82 00 44 */ beq lbl_8003A5CC
/* 8003A58C 000363CC 3B C0 00 00 */ li r30, 0x0
/* 8003A590 000363D0 93 CD E6 58 */ stw r30, NumInternalRetry@sda21(r13)
/* 8003A594 000363D4 4B FF F3 5D */ bl __DVDFSInit
/* 8003A598 000363D8 80 8D E6 D0 */ lwz r4, executing@sda21(r13)
/* 8003A59C 000363DC 3C 60 80 4A */ lis r3, DummyCommandBlock@ha
/* 8003A5A0 000363E0 38 63 F9 20 */ addi r3, r3, DummyCommandBlock@l
/* 8003A5A4 000363E4 90 6D E6 D0 */ stw r3, executing@sda21(r13)
/* 8003A5A8 000363E8 93 C4 00 0C */ stw r30, 0xc(r4)
/* 8003A5AC 000363EC 81 84 00 28 */ lwz r12, 0x28(r4)
/* 8003A5B0 000363F0 2C 0C 00 00 */ cmpwi r12, 0x0
/* 8003A5B4 000363F4 41 82 00 10 */ beq lbl_8003A5C4
/* 8003A5B8 000363F8 38 60 00 00 */ li r3, 0x0
/* 8003A5BC 000363FC 7D 89 03 A6 */ mtctr r12
/* 8003A5C0 00036400 4E 80 04 21 */ bctrl
.global lbl_8003A5C4
lbl_8003A5C4:
/* 8003A5C4 00036404 48 00 29 2D */ bl stateReady
/* 8003A5C8 00036408 48 00 00 94 */ b lbl_8003A65C
.global lbl_8003A5CC
lbl_8003A5CC:
/* 8003A5CC 0003640C 4B FE 72 55 */ bl OSDisableInterrupts
/* 8003A5D0 00036410 80 0D E6 40 */ lwz r0, CommandInfoCounter@sda21(r13)
/* 8003A5D4 00036414 7C 7F 1B 78 */ mr r31, r3
/* 8003A5D8 00036418 28 00 00 05 */ cmplwi r0, 0x5
/* 8003A5DC 0003641C 41 80 00 0C */ blt lbl_8003A5E8
/* 8003A5E0 00036420 38 00 00 00 */ li r0, 0x0
/* 8003A5E4 00036424 90 0D E6 40 */ stw r0, CommandInfoCounter@sda21(r13)
.global lbl_8003A5E8
lbl_8003A5E8:
/* 8003A5E8 00036428 80 0D E6 40 */ lwz r0, CommandInfoCounter@sda21(r13)
/* 8003A5EC 0003642C 3F C0 80 4A */ lis r30, __ErrorInfo@ha
/* 8003A5F0 00036430 80 6D E6 40 */ lwz r3, CommandInfoCounter@sda21(r13)
/* 8003A5F4 00036434 3B DE FC 40 */ addi r30, r30, __ErrorInfo@l
/* 8003A5F8 00036438 1C A0 00 14 */ mulli r5, r0, 0x14
/* 8003A5FC 0003643C 80 0D E6 40 */ lwz r0, CommandInfoCounter@sda21(r13)
/* 8003A600 00036440 38 C0 00 27 */ li r6, 0x27
/* 8003A604 00036444 38 80 00 00 */ li r4, 0x0
/* 8003A608 00036448 1C 63 00 14 */ mulli r3, r3, 0x14
/* 8003A60C 0003644C 7C BE 2A 14 */ add r5, r30, r5
/* 8003A610 00036450 90 C5 00 1C */ stw r6, 0x1c(r5)
/* 8003A614 00036454 7C 7E 1A 14 */ add r3, r30, r3
/* 8003A618 00036458 1C 00 00 14 */ mulli r0, r0, 0x14
/* 8003A61C 0003645C 90 83 00 20 */ stw r4, 0x20(r3)
/* 8003A620 00036460 7C 7E 02 14 */ add r3, r30, r0
/* 8003A624 00036464 90 83 00 24 */ stw r4, 0x24(r3)
/* 8003A628 00036468 4B FE B5 39 */ bl OSGetTick
/* 8003A62C 0003646C 80 0D E6 40 */ lwz r0, CommandInfoCounter@sda21(r13)
/* 8003A630 00036470 80 8D E6 40 */ lwz r4, CommandInfoCounter@sda21(r13)
/* 8003A634 00036474 1C A0 00 14 */ mulli r5, r0, 0x14
/* 8003A638 00036478 38 04 00 01 */ addi r0, r4, 0x1
/* 8003A63C 0003647C 90 0D E6 40 */ stw r0, CommandInfoCounter@sda21(r13)
/* 8003A640 00036480 7C 9E 2A 14 */ add r4, r30, r5
/* 8003A644 00036484 90 64 00 2C */ stw r3, 0x2c(r4)
/* 8003A648 00036488 7F E3 FB 78 */ mr r3, r31
/* 8003A64C 0003648C 4B FE 72 15 */ bl OSRestoreInterrupts
/* 8003A650 00036490 3C 60 80 04 */ lis r3, cbForStateGettingError@ha
/* 8003A654 00036494 38 63 A9 D0 */ addi r3, r3, cbForStateGettingError@l
/* 8003A658 00036498 48 00 71 09 */ bl DVDLowRequestError
.global lbl_8003A65C
lbl_8003A65C:
/* 8003A65C 0003649C 80 01 00 14 */ lwz r0, 0x14(r1)
/* 8003A660 000364A0 83 E1 00 0C */ lwz r31, 0xc(r1)
/* 8003A664 000364A4 83 C1 00 08 */ lwz r30, 0x8(r1)
/* 8003A668 000364A8 7C 08 03 A6 */ mtlr r0
/* 8003A66C 000364AC 38 21 00 10 */ addi r1, r1, 0x10
/* 8003A670 000364B0 4E 80 00 20 */ blr
/* 8003A674 000364B4 00 00 00 00 */ .4byte 0x00000000
/* 8003A678 000364B8 00 00 00 00 */ .4byte 0x00000000
/* 8003A67C 000364BC 00 00 00 00 */ .4byte 0x00000000
.global FatalAlarmHandler
FatalAlarmHandler:
/* 8003A680 000364C0 48 00 58 B0 */ b __DVDPrintFatalMessage
/* 8003A684 000364C4 00 00 00 00 */ .4byte 0x00000000
/* 8003A688 000364C8 00 00 00 00 */ .4byte 0x00000000
/* 8003A68C 000364CC 00 00 00 00 */ .4byte 0x00000000
.global cbForStateError
cbForStateError:
/* 8003A690 000364D0 94 21 FF F0 */ stwu r1, -0x10(r1)
/* 8003A694 000364D4 7C 08 02 A6 */ mflr r0
/* 8003A698 000364D8 90 01 00 14 */ stw r0, 0x14(r1)
/* 8003A69C 000364DC 93 E1 00 0C */ stw r31, 0xc(r1)
/* 8003A6A0 000364E0 7C 7F 1B 78 */ mr r31, r3
/* 8003A6A4 000364E4 48 00 58 6D */ bl __DVDGetAutoFatalMessaging
/* 8003A6A8 000364E8 2C 03 00 00 */ cmpwi r3, 0x0
/* 8003A6AC 000364EC 41 82 00 2C */ beq lbl_8003A6D8
/* 8003A6B0 000364F0 3F E0 80 4A */ lis r31, FatalAlarm@ha
/* 8003A6B4 000364F4 38 7F F9 50 */ addi r3, r31, FatalAlarm@l
/* 8003A6B8 000364F8 4B FE 11 49 */ bl OSCreateAlarm
/* 8003A6BC 000364FC 3C E0 80 04 */ lis r7, FatalAlarmHandler@ha
/* 8003A6C0 00036500 38 7F F9 50 */ addi r3, r31, -0x6b0
/* 8003A6C4 00036504 38 E7 A6 80 */ addi r7, r7, FatalAlarmHandler@l
/* 8003A6C8 00036508 38 C0 00 01 */ li r6, 0x1
/* 8003A6CC 0003650C 38 A0 00 00 */ li r5, 0x0
/* 8003A6D0 00036510 4B FE 13 91 */ bl OSSetAlarm
/* 8003A6D4 00036514 48 00 00 B8 */ b lbl_8003A78C
.global lbl_8003A6D8
lbl_8003A6D8:
/* 8003A6D8 00036518 80 6D E6 D0 */ lwz r3, executing@sda21(r13)
/* 8003A6DC 0003651C 38 00 FF FF */ li r0, -0x1
/* 8003A6E0 00036520 28 1F 00 10 */ cmplwi r31, 0x10
/* 8003A6E4 00036524 90 03 00 0C */ stw r0, 0xc(r3)
/* 8003A6E8 00036528 40 82 00 1C */ bne lbl_8003A704
/* 8003A6EC 0003652C 3C 60 01 23 */ lis r3, 0x123
/* 8003A6F0 00036530 3C 80 80 04 */ lis r4, cbForStoreErrorCode2@ha
/* 8003A6F4 00036534 38 63 45 68 */ addi r3, r3, 0x4568
/* 8003A6F8 00036538 38 84 A7 C0 */ addi r4, r4, cbForStoreErrorCode2@l
/* 8003A6FC 0003653C 48 00 55 85 */ bl __DVDStoreErrorCode
/* 8003A700 00036540 48 00 00 8C */ b lbl_8003A78C
.global lbl_8003A704
lbl_8003A704:
/* 8003A704 00036544 28 1F 00 20 */ cmplwi r31, 0x20
/* 8003A708 00036548 40 82 00 1C */ bne lbl_8003A724
/* 8003A70C 0003654C 3C 60 01 23 */ lis r3, 0x123
/* 8003A710 00036550 3C 80 80 04 */ lis r4, cbForStoreErrorCode2@ha
/* 8003A714 00036554 38 63 45 69 */ addi r3, r3, 0x4569
/* 8003A718 00036558 38 84 A7 C0 */ addi r4, r4, cbForStoreErrorCode2@l
/* 8003A71C 0003655C 48 00 55 65 */ bl __DVDStoreErrorCode
/* 8003A720 00036560 48 00 00 6C */ b lbl_8003A78C
.global lbl_8003A724
lbl_8003A724:
/* 8003A724 00036564 83 ED E6 D0 */ lwz r31, executing@sda21(r13)
/* 8003A728 00036568 3C 60 80 4A */ lis r3, DummyCommandBlock@ha
/* 8003A72C 0003656C 38 63 F9 20 */ addi r3, r3, DummyCommandBlock@l
/* 8003A730 00036570 38 00 00 01 */ li r0, 0x1
/* 8003A734 00036574 90 0D E6 4C */ stw r0, FatalErrorFlag@sda21(r13)
/* 8003A738 00036578 90 6D E6 D0 */ stw r3, executing@sda21(r13)
/* 8003A73C 0003657C 81 9F 00 28 */ lwz r12, 0x28(r31)
/* 8003A740 00036580 2C 0C 00 00 */ cmpwi r12, 0x0
/* 8003A744 00036584 41 82 00 14 */ beq lbl_8003A758
/* 8003A748 00036588 7F E4 FB 78 */ mr r4, r31
/* 8003A74C 0003658C 38 60 FF FF */ li r3, -0x1
/* 8003A750 00036590 7D 89 03 A6 */ mtctr r12
/* 8003A754 00036594 4E 80 04 21 */ bctrl
.global lbl_8003A758
lbl_8003A758:
/* 8003A758 00036598 80 0D E6 50 */ lwz r0, Canceling@sda21(r13)
/* 8003A75C 0003659C 2C 00 00 00 */ cmpwi r0, 0x0
/* 8003A760 000365A0 41 82 00 28 */ beq lbl_8003A788
/* 8003A764 000365A4 81 8D E6 C0 */ lwz r12, CancelCallback@sda21(r13)
/* 8003A768 000365A8 38 00 00 00 */ li r0, 0x0
/* 8003A76C 000365AC 90 0D E6 50 */ stw r0, Canceling@sda21(r13)
/* 8003A770 000365B0 2C 0C 00 00 */ cmpwi r12, 0x0
/* 8003A774 000365B4 41 82 00 14 */ beq lbl_8003A788
/* 8003A778 000365B8 7F E4 FB 78 */ mr r4, r31
/* 8003A77C 000365BC 38 60 00 00 */ li r3, 0x0
/* 8003A780 000365C0 7D 89 03 A6 */ mtctr r12
/* 8003A784 000365C4 4E 80 04 21 */ bctrl
.global lbl_8003A788
lbl_8003A788:
/* 8003A788 000365C8 48 00 27 69 */ bl stateReady
.global lbl_8003A78C
lbl_8003A78C:
/* 8003A78C 000365CC 80 01 00 14 */ lwz r0, 0x14(r1)
/* 8003A790 000365D0 83 E1 00 0C */ lwz r31, 0xc(r1)
/* 8003A794 000365D4 7C 08 03 A6 */ mtlr r0
/* 8003A798 000365D8 38 21 00 10 */ addi r1, r1, 0x10
/* 8003A79C 000365DC 4E 80 00 20 */ blr
.global cbForStoreErrorCode1
cbForStoreErrorCode1:
/* 8003A7A0 000365E0 3C A0 80 04 */ lis r5, cbForStateError@ha
/* 8003A7A4 000365E4 38 60 00 00 */ li r3, 0x0
/* 8003A7A8 000365E8 38 A5 A6 90 */ addi r5, r5, cbForStateError@l
/* 8003A7AC 000365EC 38 80 00 00 */ li r4, 0x0
/* 8003A7B0 000365F0 48 00 6C A0 */ b DVDLowStopMotor
/* 8003A7B4 000365F4 00 00 00 00 */ .4byte 0x00000000
/* 8003A7B8 000365F8 00 00 00 00 */ .4byte 0x00000000
/* 8003A7BC 000365FC 00 00 00 00 */ .4byte 0x00000000
.global cbForStoreErrorCode2
cbForStoreErrorCode2:
/* 8003A7C0 00036600 94 21 FF F0 */ stwu r1, -0x10(r1)
/* 8003A7C4 00036604 7C 08 02 A6 */ mflr r0
/* 8003A7C8 00036608 38 60 00 00 */ li r3, 0x0
/* 8003A7CC 0003660C 90 01 00 14 */ stw r0, 0x14(r1)
/* 8003A7D0 00036610 48 00 71 01 */ bl DVDLowSetSpinupFlag
/* 8003A7D4 00036614 3C 60 80 04 */ lis r3, cbForStateError@ha
/* 8003A7D8 00036618 38 63 A6 90 */ addi r3, r3, cbForStateError@l
/* 8003A7DC 0003661C 48 00 71 05 */ bl DVDLowReset
/* 8003A7E0 00036620 38 00 00 00 */ li r0, 0x0
/* 8003A7E4 00036624 90 0D E6 B4 */ stw r0, ResetRequired@sda21(r13)
/* 8003A7E8 00036628 90 0D E6 54 */ stw r0, ResumeFromHere@sda21(r13)
/* 8003A7EC 0003662C 80 01 00 14 */ lwz r0, 0x14(r1)
/* 8003A7F0 00036630 7C 08 03 A6 */ mtlr r0
/* 8003A7F4 00036634 38 21 00 10 */ addi r1, r1, 0x10
/* 8003A7F8 00036638 4E 80 00 20 */ blr
/* 8003A7FC 0003663C 00 00 00 00 */ .4byte 0x00000000
.global CategorizeError
CategorizeError:
/* 8003A800 00036640 3C 03 FF FE */ addis r0, r3, 0xfffe
/* 8003A804 00036644 28 00 04 00 */ cmplwi r0, 0x400
/* 8003A808 00036648 40 82 00 10 */ bne lbl_8003A818
/* 8003A80C 0003664C 90 6D E6 B8 */ stw r3, LastError@sda21(r13)
/* 8003A810 00036650 38 60 00 01 */ li r3, 0x1
/* 8003A814 00036654 4E 80 00 20 */ blr
.global lbl_8003A818
lbl_8003A818:
/* 8003A818 00036658 54 64 02 3E */ clrlwi r4, r3, 8
/* 8003A81C 0003665C 3C 04 FF FA */ addis r0, r4, 0xfffa
/* 8003A820 00036660 28 00 28 00 */ cmplwi r0, 0x2800
/* 8003A824 00036664 41 82 00 28 */ beq lbl_8003A84C
/* 8003A828 00036668 3C 04 FF FE */ addis r0, r4, 0xfffe
/* 8003A82C 0003666C 28 00 3A 00 */ cmplwi r0, 0x3a00
/* 8003A830 00036670 41 82 00 1C */ beq lbl_8003A84C
/* 8003A834 00036674 3C 64 FF FB */ addis r3, r4, 0xfffb
/* 8003A838 00036678 28 03 30 00 */ cmplwi r3, 0x3000
/* 8003A83C 0003667C 41 82 00 10 */ beq lbl_8003A84C
/* 8003A840 00036680 3C 04 FF F5 */ addis r0, r4, 0xfff5
/* 8003A844 00036684 28 00 5A 01 */ cmplwi r0, 0x5a01
/* 8003A848 00036688 40 82 00 0C */ bne lbl_8003A854
.global lbl_8003A84C
lbl_8003A84C:
/* 8003A84C 0003668C 38 60 00 00 */ li r3, 0x0
/* 8003A850 00036690 4E 80 00 20 */ blr
.global lbl_8003A854
lbl_8003A854:
/* 8003A854 00036694 28 03 20 00 */ cmplwi r3, 0x2000
/* 8003A858 00036698 40 82 00 30 */ bne lbl_8003A888
/* 8003A85C 0003669C 80 6D E6 D0 */ lwz r3, executing@sda21(r13)
/* 8003A860 000366A0 80 03 00 08 */ lwz r0, 0x8(r3)
/* 8003A864 000366A4 28 00 00 25 */ cmplwi r0, 0x25
/* 8003A868 000366A8 41 82 00 18 */ beq lbl_8003A880
/* 8003A86C 000366AC 3C 60 80 04 */ lis r3, stateDownRotation@ha
/* 8003A870 000366B0 80 0D E6 D4 */ lwz r0, LastState@sda21(r13)
/* 8003A874 000366B4 38 63 C7 C0 */ addi r3, r3, stateDownRotation@l
/* 8003A878 000366B8 7C 00 18 40 */ cmplw r0, r3
/* 8003A87C 000366BC 40 82 00 0C */ bne lbl_8003A888
.global lbl_8003A880
lbl_8003A880:
/* 8003A880 000366C0 38 60 00 00 */ li r3, 0x0
/* 8003A884 000366C4 4E 80 00 20 */ blr
.global lbl_8003A888
lbl_8003A888:
/* 8003A888 000366C8 80 6D E6 58 */ lwz r3, NumInternalRetry@sda21(r13)
/* 8003A88C 000366CC 38 03 00 01 */ addi r0, r3, 0x1
/* 8003A890 000366D0 90 0D E6 58 */ stw r0, NumInternalRetry@sda21(r13)
/* 8003A894 000366D4 80 0D E6 58 */ lwz r0, NumInternalRetry@sda21(r13)
/* 8003A898 000366D8 2C 00 00 02 */ cmpwi r0, 0x2
/* 8003A89C 000366DC 40 82 00 28 */ bne lbl_8003A8C4
/* 8003A8A0 000366E0 80 0D E6 B8 */ lwz r0, LastError@sda21(r13)
/* 8003A8A4 000366E4 7C 04 00 40 */ cmplw r4, r0
/* 8003A8A8 000366E8 40 82 00 10 */ bne lbl_8003A8B8
/* 8003A8AC 000366EC 90 8D E6 B8 */ stw r4, LastError@sda21(r13)
/* 8003A8B0 000366F0 38 60 00 01 */ li r3, 0x1
/* 8003A8B4 000366F4 4E 80 00 20 */ blr
.global lbl_8003A8B8
lbl_8003A8B8:
/* 8003A8B8 000366F8 90 8D E6 B8 */ stw r4, LastError@sda21(r13)
/* 8003A8BC 000366FC 38 60 00 02 */ li r3, 0x2
/* 8003A8C0 00036700 4E 80 00 20 */ blr
.global lbl_8003A8C4
lbl_8003A8C4:
/* 8003A8C4 00036704 3C 04 FF FD */ addis r0, r4, 0xfffd
/* 8003A8C8 00036708 90 8D E6 B8 */ stw r4, LastError@sda21(r13)
/* 8003A8CC 0003670C 28 00 11 00 */ cmplwi r0, 0x1100
/* 8003A8D0 00036710 41 82 00 14 */ beq lbl_8003A8E4
/* 8003A8D4 00036714 80 6D E6 D0 */ lwz r3, executing@sda21(r13)
/* 8003A8D8 00036718 80 03 00 08 */ lwz r0, 0x8(r3)
/* 8003A8DC 0003671C 28 00 00 05 */ cmplwi r0, 0x5
/* 8003A8E0 00036720 40 82 00 0C */ bne lbl_8003A8EC
.global lbl_8003A8E4
lbl_8003A8E4:
/* 8003A8E4 00036724 38 60 00 02 */ li r3, 0x2
/* 8003A8E8 00036728 4E 80 00 20 */ blr
.global lbl_8003A8EC
lbl_8003A8EC:
/* 8003A8EC 0003672C 38 60 00 03 */ li r3, 0x3
/* 8003A8F0 00036730 4E 80 00 20 */ blr
/* 8003A8F4 00036734 00 00 00 00 */ .4byte 0x00000000
/* 8003A8F8 00036738 00 00 00 00 */ .4byte 0x00000000
/* 8003A8FC 0003673C 00 00 00 00 */ .4byte 0x00000000
.global cbForStoreErrorCode3
cbForStoreErrorCode3:
/* 8003A900 00036740 94 21 FF F0 */ stwu r1, -0x10(r1)
/* 8003A904 00036744 7C 08 02 A6 */ mflr r0
/* 8003A908 00036748 90 01 00 14 */ stw r0, 0x14(r1)
/* 8003A90C 0003674C 93 E1 00 0C */ stw r31, 0xc(r1)
/* 8003A910 00036750 93 C1 00 08 */ stw r30, 0x8(r1)
/* 8003A914 00036754 4B FE 6F 0D */ bl OSDisableInterrupts
/* 8003A918 00036758 80 0D E6 40 */ lwz r0, CommandInfoCounter@sda21(r13)
/* 8003A91C 0003675C 7C 7F 1B 78 */ mr r31, r3
/* 8003A920 00036760 28 00 00 05 */ cmplwi r0, 0x5
/* 8003A924 00036764 41 80 00 0C */ blt lbl_8003A930
/* 8003A928 00036768 38 00 00 00 */ li r0, 0x0
/* 8003A92C 0003676C 90 0D E6 40 */ stw r0, CommandInfoCounter@sda21(r13)
.global lbl_8003A930
lbl_8003A930:
/* 8003A930 00036770 80 0D E6 40 */ lwz r0, CommandInfoCounter@sda21(r13)
/* 8003A934 00036774 3F C0 80 4A */ lis r30, __ErrorInfo@ha
/* 8003A938 00036778 80 6D E6 40 */ lwz r3, CommandInfoCounter@sda21(r13)
/* 8003A93C 0003677C 3B DE FC 40 */ addi r30, r30, __ErrorInfo@l
/* 8003A940 00036780 1C A0 00 14 */ mulli r5, r0, 0x14
/* 8003A944 00036784 80 0D E6 40 */ lwz r0, CommandInfoCounter@sda21(r13)
/* 8003A948 00036788 38 C0 00 10 */ li r6, 0x10
/* 8003A94C 0003678C 38 80 00 00 */ li r4, 0x0
/* 8003A950 00036790 1C 63 00 14 */ mulli r3, r3, 0x14
/* 8003A954 00036794 7C BE 2A 14 */ add r5, r30, r5
/* 8003A958 00036798 90 C5 00 1C */ stw r6, 0x1c(r5)
/* 8003A95C 0003679C 7C 7E 1A 14 */ add r3, r30, r3
/* 8003A960 000367A0 1C 00 00 14 */ mulli r0, r0, 0x14
/* 8003A964 000367A4 90 83 00 20 */ stw r4, 0x20(r3)
/* 8003A968 000367A8 7C 7E 02 14 */ add r3, r30, r0
/* 8003A96C 000367AC 90 83 00 24 */ stw r4, 0x24(r3)
/* 8003A970 000367B0 4B FE B1 F1 */ bl OSGetTick
/* 8003A974 000367B4 80 0D E6 40 */ lwz r0, CommandInfoCounter@sda21(r13)
/* 8003A978 000367B8 80 8D E6 40 */ lwz r4, CommandInfoCounter@sda21(r13)
/* 8003A97C 000367BC 1C A0 00 14 */ mulli r5, r0, 0x14
/* 8003A980 000367C0 38 04 00 01 */ addi r0, r4, 0x1
/* 8003A984 000367C4 90 0D E6 40 */ stw r0, CommandInfoCounter@sda21(r13)
/* 8003A988 000367C8 7C 9E 2A 14 */ add r4, r30, r5
/* 8003A98C 000367CC 90 64 00 2C */ stw r3, 0x2c(r4)
/* 8003A990 000367D0 7F E3 FB 78 */ mr r3, r31
/* 8003A994 000367D4 4B FE 6E CD */ bl OSRestoreInterrupts
/* 8003A998 000367D8 3C A0 80 04 */ lis r5, cbForStateGoToRetry@ha
/* 8003A99C 000367DC 38 60 00 00 */ li r3, 0x0
/* 8003A9A0 000367E0 38 A5 B1 A0 */ addi r5, r5, cbForStateGoToRetry@l
/* 8003A9A4 000367E4 38 80 00 00 */ li r4, 0x0
/* 8003A9A8 000367E8 48 00 6A A9 */ bl DVDLowStopMotor
/* 8003A9AC 000367EC 80 01 00 14 */ lwz r0, 0x14(r1)
/* 8003A9B0 000367F0 83 E1 00 0C */ lwz r31, 0xc(r1)
/* 8003A9B4 000367F4 83 C1 00 08 */ lwz r30, 0x8(r1)
/* 8003A9B8 000367F8 7C 08 03 A6 */ mtlr r0
/* 8003A9BC 000367FC 38 21 00 10 */ addi r1, r1, 0x10
/* 8003A9C0 00036800 4E 80 00 20 */ blr
/* 8003A9C4 00036804 00 00 00 00 */ .4byte 0x00000000
/* 8003A9C8 00036808 00 00 00 00 */ .4byte 0x00000000
/* 8003A9CC 0003680C 00 00 00 00 */ .4byte 0x00000000
.global cbForStateGettingError
cbForStateGettingError:
/* 8003A9D0 00036810 94 21 FF E0 */ stwu r1, -0x20(r1)
/* 8003A9D4 00036814 7C 08 02 A6 */ mflr r0
/* 8003A9D8 00036818 90 01 00 24 */ stw r0, 0x24(r1)
/* 8003A9DC 0003681C 93 E1 00 1C */ stw r31, 0x1c(r1)
/* 8003A9E0 00036820 93 C1 00 18 */ stw r30, 0x18(r1)
/* 8003A9E4 00036824 93 A1 00 14 */ stw r29, 0x14(r1)
/* 8003A9E8 00036828 93 81 00 10 */ stw r28, 0x10(r1)
/* 8003A9EC 0003682C 7C 7C 1B 78 */ mr r28, r3
/* 8003A9F0 00036830 4B FE 6E 31 */ bl OSDisableInterrupts
/* 8003A9F4 00036834 80 0D E6 40 */ lwz r0, CommandInfoCounter@sda21(r13)
/* 8003A9F8 00036838 2C 00 00 00 */ cmpwi r0, 0x0
/* 8003A9FC 0003683C 40 82 00 14 */ bne lbl_8003AA10
/* 8003AA00 00036840 3C 80 80 4A */ lis r4, __ErrorInfo@ha
/* 8003AA04 00036844 38 84 FC 40 */ addi r4, r4, __ErrorInfo@l
/* 8003AA08 00036848 93 84 00 78 */ stw r28, 0x78(r4)
/* 8003AA0C 0003684C 48 00 00 1C */ b lbl_8003AA28
.global lbl_8003AA10
lbl_8003AA10:
/* 8003AA10 00036850 80 0D E6 40 */ lwz r0, CommandInfoCounter@sda21(r13)
/* 8003AA14 00036854 3C 80 80 4A */ lis r4, __ErrorInfo@ha
/* 8003AA18 00036858 38 84 FC 40 */ addi r4, r4, __ErrorInfo@l
/* 8003AA1C 0003685C 1C 00 00 14 */ mulli r0, r0, 0x14
/* 8003AA20 00036860 7C 84 02 14 */ add r4, r4, r0
/* 8003AA24 00036864 93 84 00 14 */ stw r28, 0x14(r4)
.global lbl_8003AA28
lbl_8003AA28:
/* 8003AA28 00036868 4B FE 6E 39 */ bl OSRestoreInterrupts
/* 8003AA2C 0003686C 28 1C 00 10 */ cmplwi r28, 0x10
/* 8003AA30 00036870 40 82 00 1C */ bne lbl_8003AA4C
/* 8003AA34 00036874 3C 60 01 23 */ lis r3, 0x123
/* 8003AA38 00036878 3C 80 80 04 */ lis r4, cbForStoreErrorCode2@ha
/* 8003AA3C 0003687C 38 63 45 68 */ addi r3, r3, 0x4568
/* 8003AA40 00036880 38 84 A7 C0 */ addi r4, r4, cbForStoreErrorCode2@l
/* 8003AA44 00036884 48 00 52 3D */ bl __DVDStoreErrorCode
/* 8003AA48 00036888 48 00 04 6C */ b lbl_8003AEB4
.global lbl_8003AA4C
lbl_8003AA4C:
/* 8003AA4C 0003688C 28 1C 00 20 */ cmplwi r28, 0x20
/* 8003AA50 00036890 40 82 00 1C */ bne lbl_8003AA6C
/* 8003AA54 00036894 3C 60 01 23 */ lis r3, 0x123
/* 8003AA58 00036898 3C 80 80 04 */ lis r4, cbForStoreErrorCode2@ha
/* 8003AA5C 0003689C 38 63 45 69 */ addi r3, r3, 0x4569
/* 8003AA60 000368A0 38 84 A7 C0 */ addi r4, r4, cbForStoreErrorCode2@l
/* 8003AA64 000368A4 48 00 52 1D */ bl __DVDStoreErrorCode
/* 8003AA68 000368A8 48 00 04 4C */ b lbl_8003AEB4
.global lbl_8003AA6C
lbl_8003AA6C:
/* 8003AA6C 000368AC 57 80 07 BD */ rlwinm. r0, r28, 0, 30, 30
/* 8003AA70 000368B0 41 82 00 1C */ beq lbl_8003AA8C
/* 8003AA74 000368B4 3C 60 01 23 */ lis r3, 0x123
/* 8003AA78 000368B8 3C 80 80 04 */ lis r4, cbForStoreErrorCode1@ha
/* 8003AA7C 000368BC 38 63 45 67 */ addi r3, r3, 0x4567
/* 8003AA80 000368C0 38 84 A7 A0 */ addi r4, r4, cbForStoreErrorCode1@l
/* 8003AA84 000368C4 48 00 51 FD */ bl __DVDStoreErrorCode
/* 8003AA88 000368C8 48 00 04 2C */ b lbl_8003AEB4
.global lbl_8003AA8C
lbl_8003AA8C:
/* 8003AA8C 000368CC 48 00 7C 55 */ bl DVDLowGetImmBufferReg
/* 8003AA90 000368D0 7C 7D 1B 78 */ mr r29, r3
/* 8003AA94 000368D4 54 7C 00 0E */ clrrwi r28, r3, 24
/* 8003AA98 000368D8 4B FF FD 69 */ bl CategorizeError
/* 8003AA9C 000368DC 28 03 00 01 */ cmplwi r3, 0x1
/* 8003AAA0 000368E0 7C 7E 1B 78 */ mr r30, r3
/* 8003AAA4 000368E4 40 82 00 18 */ bne lbl_8003AABC
/* 8003AAA8 000368E8 3C 80 80 04 */ lis r4, cbForStoreErrorCode1@ha
/* 8003AAAC 000368EC 7F A3 EB 78 */ mr r3, r29
/* 8003AAB0 000368F0 38 84 A7 A0 */ addi r4, r4, cbForStoreErrorCode1@l
/* 8003AAB4 000368F4 48 00 51 CD */ bl __DVDStoreErrorCode
/* 8003AAB8 000368F8 48 00 03 FC */ b lbl_8003AEB4
.global lbl_8003AABC
lbl_8003AABC:
/* 8003AABC 000368FC 38 03 FF FE */ addi r0, r3, -0x2
/* 8003AAC0 00036900 28 00 00 01 */ cmplwi r0, 0x1
/* 8003AAC4 00036904 41 81 00 0C */ bgt lbl_8003AAD0
/* 8003AAC8 00036908 38 80 00 00 */ li r4, 0x0
/* 8003AACC 0003690C 48 00 00 68 */ b lbl_8003AB34
.global lbl_8003AAD0
lbl_8003AAD0:
/* 8003AAD0 00036910 3C 1C FF 00 */ addis r0, r28, 0xff00
/* 8003AAD4 00036914 28 00 00 00 */ cmplwi r0, 0x0
/* 8003AAD8 00036918 40 82 00 0C */ bne lbl_8003AAE4
/* 8003AADC 0003691C 38 80 00 04 */ li r4, 0x4
/* 8003AAE0 00036920 48 00 00 54 */ b lbl_8003AB34
.global lbl_8003AAE4
lbl_8003AAE4:
/* 8003AAE4 00036924 3C 1C FE 00 */ addis r0, r28, 0xfe00
/* 8003AAE8 00036928 28 00 00 00 */ cmplwi r0, 0x0
/* 8003AAEC 0003692C 40 82 00 0C */ bne lbl_8003AAF8
/* 8003AAF0 00036930 38 80 00 06 */ li r4, 0x6
/* 8003AAF4 00036934 48 00 00 40 */ b lbl_8003AB34
.global lbl_8003AAF8
lbl_8003AAF8:
/* 8003AAF8 00036938 3C 1C FD 00 */ addis r0, r28, 0xfd00
/* 8003AAFC 0003693C 28 00 00 00 */ cmplwi r0, 0x0
/* 8003AB00 00036940 40 82 00 0C */ bne lbl_8003AB0C
/* 8003AB04 00036944 38 80 00 03 */ li r4, 0x3
/* 8003AB08 00036948 48 00 00 2C */ b lbl_8003AB34
.global lbl_8003AB0C
lbl_8003AB0C:
/* 8003AB0C 0003694C 2C 1C 00 00 */ cmpwi r28, 0x0
/* 8003AB10 00036950 40 82 00 20 */ bne lbl_8003AB30
/* 8003AB14 00036954 3C 1D FF FB */ addis r0, r29, 0xfffb
/* 8003AB18 00036958 28 00 30 00 */ cmplwi r0, 0x3000
/* 8003AB1C 0003695C 40 82 00 0C */ bne lbl_8003AB28
/* 8003AB20 00036960 38 80 00 01 */ li r4, 0x1
/* 8003AB24 00036964 48 00 00 10 */ b lbl_8003AB34
.global lbl_8003AB28
lbl_8003AB28:
/* 8003AB28 00036968 38 80 00 05 */ li r4, 0x5
/* 8003AB2C 0003696C 48 00 00 08 */ b lbl_8003AB34
.global lbl_8003AB30
lbl_8003AB30:
/* 8003AB30 00036970 38 80 00 05 */ li r4, 0x5
.global lbl_8003AB34
lbl_8003AB34:
/* 8003AB34 00036974 80 0D E6 50 */ lwz r0, Canceling@sda21(r13)
/* 8003AB38 00036978 2C 00 00 00 */ cmpwi r0, 0x0
/* 8003AB3C 0003697C 41 82 00 6C */ beq lbl_8003ABA8
/* 8003AB40 00036980 83 ED E6 D0 */ lwz r31, executing@sda21(r13)
/* 8003AB44 00036984 3C 60 80 4A */ lis r3, DummyCommandBlock@ha
/* 8003AB48 00036988 38 63 F9 20 */ addi r3, r3, DummyCommandBlock@l
/* 8003AB4C 0003698C 90 8D E6 54 */ stw r4, ResumeFromHere@sda21(r13)
/* 8003AB50 00036990 38 80 00 00 */ li r4, 0x0
/* 8003AB54 00036994 38 00 00 0A */ li r0, 0xa
/* 8003AB58 00036998 90 8D E6 50 */ stw r4, Canceling@sda21(r13)
/* 8003AB5C 0003699C 90 6D E6 D0 */ stw r3, executing@sda21(r13)
/* 8003AB60 000369A0 90 1F 00 0C */ stw r0, 0xc(r31)
/* 8003AB64 000369A4 81 9F 00 28 */ lwz r12, 0x28(r31)
/* 8003AB68 000369A8 2C 0C 00 00 */ cmpwi r12, 0x0
/* 8003AB6C 000369AC 41 82 00 14 */ beq lbl_8003AB80
/* 8003AB70 000369B0 7F E4 FB 78 */ mr r4, r31
/* 8003AB74 000369B4 38 60 FF FD */ li r3, -0x3
/* 8003AB78 000369B8 7D 89 03 A6 */ mtctr r12
/* 8003AB7C 000369BC 4E 80 04 21 */ bctrl
.global lbl_8003AB80
lbl_8003AB80:
/* 8003AB80 000369C0 81 8D E6 C0 */ lwz r12, CancelCallback@sda21(r13)
/* 8003AB84 000369C4 2C 0C 00 00 */ cmpwi r12, 0x0
/* 8003AB88 000369C8 41 82 00 14 */ beq lbl_8003AB9C
/* 8003AB8C 000369CC 7F E4 FB 78 */ mr r4, r31
/* 8003AB90 000369D0 38 60 00 00 */ li r3, 0x0
/* 8003AB94 000369D4 7D 89 03 A6 */ mtctr r12
/* 8003AB98 000369D8 4E 80 04 21 */ bctrl
.global lbl_8003AB9C
lbl_8003AB9C:
/* 8003AB9C 000369DC 48 00 23 55 */ bl stateReady
/* 8003ABA0 000369E0 38 00 00 01 */ li r0, 0x1
/* 8003ABA4 000369E4 48 00 00 08 */ b lbl_8003ABAC
.global lbl_8003ABA8
lbl_8003ABA8:
/* 8003ABA8 000369E8 38 00 00 00 */ li r0, 0x0
.global lbl_8003ABAC
lbl_8003ABAC:
/* 8003ABAC 000369EC 2C 00 00 00 */ cmpwi r0, 0x0
/* 8003ABB0 000369F0 40 82 03 04 */ bne lbl_8003AEB4
/* 8003ABB4 000369F4 28 1E 00 02 */ cmplwi r30, 0x2
/* 8003ABB8 000369F8 40 82 00 18 */ bne lbl_8003ABD0
/* 8003ABBC 000369FC 3C 80 80 04 */ lis r4, cbForStoreErrorCode3@ha
/* 8003ABC0 00036A00 7F A3 EB 78 */ mr r3, r29
/* 8003ABC4 00036A04 38 84 A9 00 */ addi r4, r4, cbForStoreErrorCode3@l
/* 8003ABC8 00036A08 48 00 50 B9 */ bl __DVDStoreErrorCode
/* 8003ABCC 00036A0C 48 00 02 E8 */ b lbl_8003AEB4
.global lbl_8003ABD0
lbl_8003ABD0:
/* 8003ABD0 00036A10 28 1E 00 03 */ cmplwi r30, 0x3
/* 8003ABD4 00036A14 40 82 00 CC */ bne lbl_8003ACA0
/* 8003ABD8 00036A18 57 A3 02 3E */ clrlwi r3, r29, 8
/* 8003ABDC 00036A1C 3C 03 FF FD */ addis r0, r3, 0xfffd
/* 8003ABE0 00036A20 28 00 11 00 */ cmplwi r0, 0x1100
/* 8003ABE4 00036A24 40 82 00 A8 */ bne lbl_8003AC8C
/* 8003ABE8 00036A28 80 6D E6 D0 */ lwz r3, executing@sda21(r13)
/* 8003ABEC 00036A2C 83 A3 00 10 */ lwz r29, 0x10(r3)
/* 8003ABF0 00036A30 4B FE 6C 31 */ bl OSDisableInterrupts
/* 8003ABF4 00036A34 80 0D E6 40 */ lwz r0, CommandInfoCounter@sda21(r13)
/* 8003ABF8 00036A38 7C 7F 1B 78 */ mr r31, r3
/* 8003ABFC 00036A3C 28 00 00 05 */ cmplwi r0, 0x5
/* 8003AC00 00036A40 41 80 00 0C */ blt lbl_8003AC0C
/* 8003AC04 00036A44 38 00 00 00 */ li r0, 0x0
/* 8003AC08 00036A48 90 0D E6 40 */ stw r0, CommandInfoCounter@sda21(r13)
.global lbl_8003AC0C
lbl_8003AC0C:
/* 8003AC0C 00036A4C 80 0D E6 40 */ lwz r0, CommandInfoCounter@sda21(r13)
/* 8003AC10 00036A50 3F C0 80 4A */ lis r30, __ErrorInfo@ha
/* 8003AC14 00036A54 80 6D E6 40 */ lwz r3, CommandInfoCounter@sda21(r13)
/* 8003AC18 00036A58 3B DE FC 40 */ addi r30, r30, __ErrorInfo@l
/* 8003AC1C 00036A5C 1C A0 00 14 */ mulli r5, r0, 0x14
/* 8003AC20 00036A60 80 0D E6 40 */ lwz r0, CommandInfoCounter@sda21(r13)
/* 8003AC24 00036A64 38 C0 00 02 */ li r6, 0x2
/* 8003AC28 00036A68 38 80 00 00 */ li r4, 0x0
/* 8003AC2C 00036A6C 1C 63 00 14 */ mulli r3, r3, 0x14
/* 8003AC30 00036A70 7C BE 2A 14 */ add r5, r30, r5
/* 8003AC34 00036A74 90 C5 00 1C */ stw r6, 0x1c(r5)
/* 8003AC38 00036A78 7C 7E 1A 14 */ add r3, r30, r3
/* 8003AC3C 00036A7C 1C 00 00 14 */ mulli r0, r0, 0x14
/* 8003AC40 00036A80 93 A3 00 20 */ stw r29, 0x20(r3)
/* 8003AC44 00036A84 7C 7E 02 14 */ add r3, r30, r0
/* 8003AC48 00036A88 90 83 00 24 */ stw r4, 0x24(r3)
/* 8003AC4C 00036A8C 4B FE AF 15 */ bl OSGetTick
/* 8003AC50 00036A90 80 0D E6 40 */ lwz r0, CommandInfoCounter@sda21(r13)
/* 8003AC54 00036A94 80 8D E6 40 */ lwz r4, CommandInfoCounter@sda21(r13)
/* 8003AC58 00036A98 1C A0 00 14 */ mulli r5, r0, 0x14
/* 8003AC5C 00036A9C 38 04 00 01 */ addi r0, r4, 0x1
/* 8003AC60 00036AA0 90 0D E6 40 */ stw r0, CommandInfoCounter@sda21(r13)
/* 8003AC64 00036AA4 7C 9E 2A 14 */ add r4, r30, r5
/* 8003AC68 00036AA8 90 64 00 2C */ stw r3, 0x2c(r4)
/* 8003AC6C 00036AAC 7F E3 FB 78 */ mr r3, r31
/* 8003AC70 00036AB0 4B FE 6B F1 */ bl OSRestoreInterrupts
/* 8003AC74 00036AB4 80 6D E6 D0 */ lwz r3, executing@sda21(r13)
/* 8003AC78 00036AB8 3C 80 80 04 */ lis r4, cbForUnrecoveredError@ha
/* 8003AC7C 00036ABC 38 84 AE E0 */ addi r4, r4, cbForUnrecoveredError@l
/* 8003AC80 00036AC0 80 63 00 10 */ lwz r3, 0x10(r3)
/* 8003AC84 00036AC4 48 00 74 5D */ bl DVDLowSeek
/* 8003AC88 00036AC8 48 00 02 2C */ b lbl_8003AEB4
.global lbl_8003AC8C
lbl_8003AC8C:
/* 8003AC8C 00036ACC 81 8D E6 D4 */ lwz r12, LastState@sda21(r13)
/* 8003AC90 00036AD0 80 6D E6 D0 */ lwz r3, executing@sda21(r13)
/* 8003AC94 00036AD4 7D 89 03 A6 */ mtctr r12
/* 8003AC98 00036AD8 4E 80 04 21 */ bctrl
/* 8003AC9C 00036ADC 48 00 02 18 */ b lbl_8003AEB4
.global lbl_8003ACA0
lbl_8003ACA0:
/* 8003ACA0 00036AE0 3C 1C FF 00 */ addis r0, r28, 0xff00
/* 8003ACA4 00036AE4 28 00 00 00 */ cmplwi r0, 0x0
/* 8003ACA8 00036AE8 40 82 00 84 */ bne lbl_8003AD2C
/* 8003ACAC 00036AEC 80 8D E6 D0 */ lwz r4, executing@sda21(r13)
/* 8003ACB0 00036AF0 38 00 00 05 */ li r0, 0x5
/* 8003ACB4 00036AF4 38 60 00 01 */ li r3, 0x1
/* 8003ACB8 00036AF8 90 04 00 0C */ stw r0, 0xc(r4)
/* 8003ACBC 00036AFC 80 0D E6 64 */ lwz r0, WaitingForCoverOpen@sda21(r13)
/* 8003ACC0 00036B00 90 6D E6 B0 */ stw r3, MotorState@sda21(r13)
/* 8003ACC4 00036B04 2C 00 00 00 */ cmpwi r0, 0x0
/* 8003ACC8 00036B08 40 82 01 EC */ bne lbl_8003AEB4
/* 8003ACCC 00036B0C 80 0D E6 68 */ lwz r0, WaitingForCoverClose@sda21(r13)
/* 8003ACD0 00036B10 2C 00 00 00 */ cmpwi r0, 0x0
/* 8003ACD4 00036B14 40 82 01 E0 */ bne lbl_8003AEB4
/* 8003ACD8 00036B18 3F C0 80 4A */ lis r30, CoverAlarm@ha
/* 8003ACDC 00036B1C 90 6D E6 64 */ stw r3, WaitingForCoverOpen@sda21(r13)
/* 8003ACE0 00036B20 38 7E F9 80 */ addi r3, r30, CoverAlarm@l
/* 8003ACE4 00036B24 4B FE 0B 1D */ bl OSCreateAlarm
/* 8003ACE8 00036B28 4B FE AE 79 */ bl OSGetTick
/* 8003ACEC 00036B2C 3C A0 80 00 */ lis r5, 0x800000F8@ha
/* 8003ACF0 00036B30 3C 80 10 62 */ lis r4, 0x1062
/* 8003ACF4 00036B34 80 05 00 F8 */ lwz r0, 0x800000F8@l(r5)
/* 8003ACF8 00036B38 3D 20 80 04 */ lis r9, CoverAlarmHandler@ha
/* 8003ACFC 00036B3C 7C 66 1B 78 */ mr r6, r3
/* 8003AD00 00036B40 38 84 4D D3 */ addi r4, r4, 0x4dd3
/* 8003AD04 00036B44 54 00 F0 BE */ srwi r0, r0, 2
/* 8003AD08 00036B48 38 7E F9 80 */ addi r3, r30, -0x680
/* 8003AD0C 00036B4C 7C 04 00 16 */ mulhwu r0, r4, r0
/* 8003AD10 00036B50 39 29 CE C0 */ addi r9, r9, CoverAlarmHandler@l
/* 8003AD14 00036B54 38 A0 00 00 */ li r5, 0x0
/* 8003AD18 00036B58 38 E0 00 00 */ li r7, 0x0
/* 8003AD1C 00036B5C 54 00 D1 BE */ srwi r0, r0, 6
/* 8003AD20 00036B60 1D 00 00 64 */ mulli r8, r0, 0x64
/* 8003AD24 00036B64 4B FE 0D AD */ bl OSSetPeriodicAlarm
/* 8003AD28 00036B68 48 00 01 8C */ b lbl_8003AEB4
.global lbl_8003AD2C
lbl_8003AD2C:
/* 8003AD2C 00036B6C 3C 1C FE 00 */ addis r0, r28, 0xfe00
/* 8003AD30 00036B70 28 00 00 00 */ cmplwi r0, 0x0
/* 8003AD34 00036B74 40 82 00 18 */ bne lbl_8003AD4C
/* 8003AD38 00036B78 80 6D E6 D0 */ lwz r3, executing@sda21(r13)
/* 8003AD3C 00036B7C 38 00 00 03 */ li r0, 0x3
/* 8003AD40 00036B80 90 03 00 0C */ stw r0, 0xc(r3)
/* 8003AD44 00036B84 48 00 16 6D */ bl stateCoverClosed
/* 8003AD48 00036B88 48 00 01 6C */ b lbl_8003AEB4
.global lbl_8003AD4C
lbl_8003AD4C:
/* 8003AD4C 00036B8C 3C 1C FD 00 */ addis r0, r28, 0xfd00
/* 8003AD50 00036B90 28 00 00 00 */ cmplwi r0, 0x0
/* 8003AD54 00036B94 40 82 00 84 */ bne lbl_8003ADD8
/* 8003AD58 00036B98 80 8D E6 D0 */ lwz r4, executing@sda21(r13)
/* 8003AD5C 00036B9C 38 00 00 04 */ li r0, 0x4
/* 8003AD60 00036BA0 38 60 00 01 */ li r3, 0x1
/* 8003AD64 00036BA4 90 04 00 0C */ stw r0, 0xc(r4)
/* 8003AD68 00036BA8 80 0D E6 64 */ lwz r0, WaitingForCoverOpen@sda21(r13)
/* 8003AD6C 00036BAC 90 6D E6 B0 */ stw r3, MotorState@sda21(r13)
/* 8003AD70 00036BB0 2C 00 00 00 */ cmpwi r0, 0x0
/* 8003AD74 00036BB4 40 82 01 40 */ bne lbl_8003AEB4
/* 8003AD78 00036BB8 80 0D E6 68 */ lwz r0, WaitingForCoverClose@sda21(r13)
/* 8003AD7C 00036BBC 2C 00 00 00 */ cmpwi r0, 0x0
/* 8003AD80 00036BC0 40 82 01 34 */ bne lbl_8003AEB4
/* 8003AD84 00036BC4 3F C0 80 4A */ lis r30, CoverAlarm@ha
/* 8003AD88 00036BC8 90 6D E6 64 */ stw r3, WaitingForCoverOpen@sda21(r13)
/* 8003AD8C 00036BCC 38 7E F9 80 */ addi r3, r30, CoverAlarm@l
/* 8003AD90 00036BD0 4B FE 0A 71 */ bl OSCreateAlarm
/* 8003AD94 00036BD4 4B FE AD CD */ bl OSGetTick
/* 8003AD98 00036BD8 3C A0 80 00 */ lis r5, 0x800000F8@ha
/* 8003AD9C 00036BDC 3C 80 10 62 */ lis r4, 0x1062
/* 8003ADA0 00036BE0 80 05 00 F8 */ lwz r0, 0x800000F8@l(r5)
/* 8003ADA4 00036BE4 3D 20 80 04 */ lis r9, CoverAlarmHandler@ha
/* 8003ADA8 00036BE8 7C 66 1B 78 */ mr r6, r3
/* 8003ADAC 00036BEC 38 84 4D D3 */ addi r4, r4, 0x4dd3
/* 8003ADB0 00036BF0 54 00 F0 BE */ srwi r0, r0, 2
/* 8003ADB4 00036BF4 38 7E F9 80 */ addi r3, r30, -0x680
/* 8003ADB8 00036BF8 7C 04 00 16 */ mulhwu r0, r4, r0
/* 8003ADBC 00036BFC 39 29 CE C0 */ addi r9, r9, CoverAlarmHandler@l
/* 8003ADC0 00036C00 38 A0 00 00 */ li r5, 0x0
/* 8003ADC4 00036C04 38 E0 00 00 */ li r7, 0x0
/* 8003ADC8 00036C08 54 00 D1 BE */ srwi r0, r0, 6
/* 8003ADCC 00036C0C 1D 00 00 64 */ mulli r8, r0, 0x64
/* 8003ADD0 00036C10 4B FE 0D 01 */ bl OSSetPeriodicAlarm
/* 8003ADD4 00036C14 48 00 00 E0 */ b lbl_8003AEB4
.global lbl_8003ADD8
lbl_8003ADD8:
/* 8003ADD8 00036C18 2C 1C 00 00 */ cmpwi r28, 0x0
/* 8003ADDC 00036C1C 40 82 00 C4 */ bne lbl_8003AEA0
/* 8003ADE0 00036C20 3C 1D FF FB */ addis r0, r29, 0xfffb
/* 8003ADE4 00036C24 28 00 30 00 */ cmplwi r0, 0x3000
/* 8003ADE8 00036C28 40 82 00 A0 */ bne lbl_8003AE88
/* 8003ADEC 00036C2C 4B FE 6A 35 */ bl OSDisableInterrupts
/* 8003ADF0 00036C30 80 0D E6 40 */ lwz r0, CommandInfoCounter@sda21(r13)
/* 8003ADF4 00036C34 7C 7F 1B 78 */ mr r31, r3
/* 8003ADF8 00036C38 28 00 00 05 */ cmplwi r0, 0x5
/* 8003ADFC 00036C3C 41 80 00 0C */ blt lbl_8003AE08
/* 8003AE00 00036C40 38 00 00 00 */ li r0, 0x0
/* 8003AE04 00036C44 90 0D E6 40 */ stw r0, CommandInfoCounter@sda21(r13)
.global lbl_8003AE08
lbl_8003AE08:
/* 8003AE08 00036C48 80 0D E6 40 */ lwz r0, CommandInfoCounter@sda21(r13)
/* 8003AE0C 00036C4C 3F C0 80 4A */ lis r30, __ErrorInfo@ha
/* 8003AE10 00036C50 80 6D E6 40 */ lwz r3, CommandInfoCounter@sda21(r13)
/* 8003AE14 00036C54 3B DE FC 40 */ addi r30, r30, __ErrorInfo@l
/* 8003AE18 00036C58 1C A0 00 14 */ mulli r5, r0, 0x14
/* 8003AE1C 00036C5C 80 0D E6 40 */ lwz r0, CommandInfoCounter@sda21(r13)
/* 8003AE20 00036C60 38 C0 00 10 */ li r6, 0x10
/* 8003AE24 00036C64 38 80 00 00 */ li r4, 0x0
/* 8003AE28 00036C68 1C 63 00 14 */ mulli r3, r3, 0x14
/* 8003AE2C 00036C6C 7C BE 2A 14 */ add r5, r30, r5
/* 8003AE30 00036C70 90 C5 00 1C */ stw r6, 0x1c(r5)
/* 8003AE34 00036C74 7C 7E 1A 14 */ add r3, r30, r3
/* 8003AE38 00036C78 1C 00 00 14 */ mulli r0, r0, 0x14
/* 8003AE3C 00036C7C 90 83 00 20 */ stw r4, 0x20(r3)
/* 8003AE40 00036C80 7C 7E 02 14 */ add r3, r30, r0
/* 8003AE44 00036C84 90 83 00 24 */ stw r4, 0x24(r3)
/* 8003AE48 00036C88 4B FE AD 19 */ bl OSGetTick
/* 8003AE4C 00036C8C 80 0D E6 40 */ lwz r0, CommandInfoCounter@sda21(r13)
/* 8003AE50 00036C90 80 8D E6 40 */ lwz r4, CommandInfoCounter@sda21(r13)
/* 8003AE54 00036C94 1C A0 00 14 */ mulli r5, r0, 0x14
/* 8003AE58 00036C98 38 04 00 01 */ addi r0, r4, 0x1
/* 8003AE5C 00036C9C 90 0D E6 40 */ stw r0, CommandInfoCounter@sda21(r13)
/* 8003AE60 00036CA0 7C 9E 2A 14 */ add r4, r30, r5
/* 8003AE64 00036CA4 90 64 00 2C */ stw r3, 0x2c(r4)
/* 8003AE68 00036CA8 7F E3 FB 78 */ mr r3, r31
/* 8003AE6C 00036CAC 4B FE 69 F5 */ bl OSRestoreInterrupts
/* 8003AE70 00036CB0 3C A0 80 04 */ lis r5, cbForStateCheckID1@ha
/* 8003AE74 00036CB4 38 60 00 00 */ li r3, 0x0
/* 8003AE78 00036CB8 38 A5 C0 40 */ addi r5, r5, cbForStateCheckID1@l
/* 8003AE7C 00036CBC 38 80 00 00 */ li r4, 0x0
/* 8003AE80 00036CC0 48 00 65 D1 */ bl DVDLowStopMotor
/* 8003AE84 00036CC4 48 00 00 30 */ b lbl_8003AEB4
.global lbl_8003AE88
lbl_8003AE88:
/* 8003AE88 00036CC8 3C 60 01 23 */ lis r3, 0x123
/* 8003AE8C 00036CCC 3C 80 80 04 */ lis r4, cbForStoreErrorCode1@ha
/* 8003AE90 00036CD0 38 63 45 67 */ addi r3, r3, 0x4567
/* 8003AE94 00036CD4 38 84 A7 A0 */ addi r4, r4, cbForStoreErrorCode1@l
/* 8003AE98 00036CD8 48 00 4D E9 */ bl __DVDStoreErrorCode
/* 8003AE9C 00036CDC 48 00 00 18 */ b lbl_8003AEB4
.global lbl_8003AEA0
lbl_8003AEA0:
/* 8003AEA0 00036CE0 3C 60 01 23 */ lis r3, 0x123
/* 8003AEA4 00036CE4 3C 80 80 04 */ lis r4, cbForStoreErrorCode1@ha
/* 8003AEA8 00036CE8 38 63 45 67 */ addi r3, r3, 0x4567
/* 8003AEAC 00036CEC 38 84 A7 A0 */ addi r4, r4, cbForStoreErrorCode1@l
/* 8003AEB0 00036CF0 48 00 4D D1 */ bl __DVDStoreErrorCode
.global lbl_8003AEB4
lbl_8003AEB4:
/* 8003AEB4 00036CF4 80 01 00 24 */ lwz r0, 0x24(r1)
/* 8003AEB8 00036CF8 83 E1 00 1C */ lwz r31, 0x1c(r1)
/* 8003AEBC 00036CFC 83 C1 00 18 */ lwz r30, 0x18(r1)
/* 8003AEC0 00036D00 83 A1 00 14 */ lwz r29, 0x14(r1)
/* 8003AEC4 00036D04 83 81 00 10 */ lwz r28, 0x10(r1)
/* 8003AEC8 00036D08 7C 08 03 A6 */ mtlr r0
/* 8003AECC 00036D0C 38 21 00 20 */ addi r1, r1, 0x20
/* 8003AED0 00036D10 4E 80 00 20 */ blr
/* 8003AED4 00036D14 00 00 00 00 */ .4byte 0x00000000
/* 8003AED8 00036D18 00 00 00 00 */ .4byte 0x00000000
/* 8003AEDC 00036D1C 00 00 00 00 */ .4byte 0x00000000
.global cbForUnrecoveredError
cbForUnrecoveredError:
/* 8003AEE0 00036D20 94 21 FF F0 */ stwu r1, -0x10(r1)
/* 8003AEE4 00036D24 7C 08 02 A6 */ mflr r0
/* 8003AEE8 00036D28 90 01 00 14 */ stw r0, 0x14(r1)
/* 8003AEEC 00036D2C 93 E1 00 0C */ stw r31, 0xc(r1)
/* 8003AEF0 00036D30 93 C1 00 08 */ stw r30, 0x8(r1)
/* 8003AEF4 00036D34 7C 7E 1B 78 */ mr r30, r3
/* 8003AEF8 00036D38 4B FE 69 29 */ bl OSDisableInterrupts
/* 8003AEFC 00036D3C 80 0D E6 40 */ lwz r0, CommandInfoCounter@sda21(r13)
/* 8003AF00 00036D40 2C 00 00 00 */ cmpwi r0, 0x0
/* 8003AF04 00036D44 40 82 00 14 */ bne lbl_8003AF18
/* 8003AF08 00036D48 3C 80 80 4A */ lis r4, __ErrorInfo@ha
/* 8003AF0C 00036D4C 38 84 FC 40 */ addi r4, r4, __ErrorInfo@l
/* 8003AF10 00036D50 93 C4 00 78 */ stw r30, 0x78(r4)
/* 8003AF14 00036D54 48 00 00 1C */ b lbl_8003AF30
.global lbl_8003AF18
lbl_8003AF18:
/* 8003AF18 00036D58 80 0D E6 40 */ lwz r0, CommandInfoCounter@sda21(r13)
/* 8003AF1C 00036D5C 3C 80 80 4A */ lis r4, __ErrorInfo@ha
/* 8003AF20 00036D60 38 84 FC 40 */ addi r4, r4, __ErrorInfo@l
/* 8003AF24 00036D64 1C 00 00 14 */ mulli r0, r0, 0x14
/* 8003AF28 00036D68 7C 84 02 14 */ add r4, r4, r0
/* 8003AF2C 00036D6C 93 C4 00 14 */ stw r30, 0x14(r4)
.global lbl_8003AF30
lbl_8003AF30:
/* 8003AF30 00036D70 4B FE 69 31 */ bl OSRestoreInterrupts
/* 8003AF34 00036D74 28 1E 00 10 */ cmplwi r30, 0x10
/* 8003AF38 00036D78 40 82 00 1C */ bne lbl_8003AF54
/* 8003AF3C 00036D7C 3C 60 01 23 */ lis r3, 0x123
/* 8003AF40 00036D80 3C 80 80 04 */ lis r4, cbForStoreErrorCode2@ha
/* 8003AF44 00036D84 38 63 45 68 */ addi r3, r3, 0x4568
/* 8003AF48 00036D88 38 84 A7 C0 */ addi r4, r4, cbForStoreErrorCode2@l
/* 8003AF4C 00036D8C 48 00 4D 35 */ bl __DVDStoreErrorCode
/* 8003AF50 00036D90 48 00 01 58 */ b lbl_8003B0A8
.global lbl_8003AF54
lbl_8003AF54:
/* 8003AF54 00036D94 28 1E 00 20 */ cmplwi r30, 0x20
/* 8003AF58 00036D98 40 82 00 1C */ bne lbl_8003AF74
/* 8003AF5C 00036D9C 3C 60 01 23 */ lis r3, 0x123
/* 8003AF60 00036DA0 3C 80 80 04 */ lis r4, cbForStoreErrorCode2@ha
/* 8003AF64 00036DA4 38 63 45 69 */ addi r3, r3, 0x4569
/* 8003AF68 00036DA8 38 84 A7 C0 */ addi r4, r4, cbForStoreErrorCode2@l
/* 8003AF6C 00036DAC 48 00 4D 15 */ bl __DVDStoreErrorCode
/* 8003AF70 00036DB0 48 00 01 38 */ b lbl_8003B0A8
.global lbl_8003AF74
lbl_8003AF74:
/* 8003AF74 00036DB4 57 C0 07 FF */ clrlwi. r0, r30, 31
/* 8003AF78 00036DB8 41 82 00 A0 */ beq lbl_8003B018
/* 8003AF7C 00036DBC 4B FE 68 A5 */ bl OSDisableInterrupts
/* 8003AF80 00036DC0 80 0D E6 40 */ lwz r0, CommandInfoCounter@sda21(r13)
/* 8003AF84 00036DC4 7C 7F 1B 78 */ mr r31, r3
/* 8003AF88 00036DC8 28 00 00 05 */ cmplwi r0, 0x5
/* 8003AF8C 00036DCC 41 80 00 0C */ blt lbl_8003AF98
/* 8003AF90 00036DD0 38 00 00 00 */ li r0, 0x0
/* 8003AF94 00036DD4 90 0D E6 40 */ stw r0, CommandInfoCounter@sda21(r13)
.global lbl_8003AF98
lbl_8003AF98:
/* 8003AF98 00036DD8 80 0D E6 40 */ lwz r0, CommandInfoCounter@sda21(r13)
/* 8003AF9C 00036DDC 3F C0 80 4A */ lis r30, __ErrorInfo@ha
/* 8003AFA0 00036DE0 80 6D E6 40 */ lwz r3, CommandInfoCounter@sda21(r13)
/* 8003AFA4 00036DE4 3B DE FC 40 */ addi r30, r30, __ErrorInfo@l
/* 8003AFA8 00036DE8 1C A0 00 14 */ mulli r5, r0, 0x14
/* 8003AFAC 00036DEC 80 0D E6 40 */ lwz r0, CommandInfoCounter@sda21(r13)
/* 8003AFB0 00036DF0 38 C0 00 10 */ li r6, 0x10
/* 8003AFB4 00036DF4 38 80 00 00 */ li r4, 0x0
/* 8003AFB8 00036DF8 1C 63 00 14 */ mulli r3, r3, 0x14
/* 8003AFBC 00036DFC 7C BE 2A 14 */ add r5, r30, r5
/* 8003AFC0 00036E00 90 C5 00 1C */ stw r6, 0x1c(r5)
/* 8003AFC4 00036E04 7C 7E 1A 14 */ add r3, r30, r3
/* 8003AFC8 00036E08 1C 00 00 14 */ mulli r0, r0, 0x14
/* 8003AFCC 00036E0C 90 83 00 20 */ stw r4, 0x20(r3)
/* 8003AFD0 00036E10 7C 7E 02 14 */ add r3, r30, r0
/* 8003AFD4 00036E14 90 83 00 24 */ stw r4, 0x24(r3)
/* 8003AFD8 00036E18 4B FE AB 89 */ bl OSGetTick
/* 8003AFDC 00036E1C 80 0D E6 40 */ lwz r0, CommandInfoCounter@sda21(r13)
/* 8003AFE0 00036E20 80 8D E6 40 */ lwz r4, CommandInfoCounter@sda21(r13)
/* 8003AFE4 00036E24 1C A0 00 14 */ mulli r5, r0, 0x14
/* 8003AFE8 00036E28 38 04 00 01 */ addi r0, r4, 0x1
/* 8003AFEC 00036E2C 90 0D E6 40 */ stw r0, CommandInfoCounter@sda21(r13)
/* 8003AFF0 00036E30 7C 9E 2A 14 */ add r4, r30, r5
/* 8003AFF4 00036E34 90 64 00 2C */ stw r3, 0x2c(r4)
/* 8003AFF8 00036E38 7F E3 FB 78 */ mr r3, r31
/* 8003AFFC 00036E3C 4B FE 68 65 */ bl OSRestoreInterrupts
/* 8003B000 00036E40 3C A0 80 04 */ lis r5, cbForStateGoToRetry@ha
/* 8003B004 00036E44 38 60 00 00 */ li r3, 0x0
/* 8003B008 00036E48 38 A5 B1 A0 */ addi r5, r5, cbForStateGoToRetry@l
/* 8003B00C 00036E4C 38 80 00 00 */ li r4, 0x0
/* 8003B010 00036E50 48 00 64 41 */ bl DVDLowStopMotor
/* 8003B014 00036E54 48 00 00 94 */ b lbl_8003B0A8
.global lbl_8003B018
lbl_8003B018:
/* 8003B018 00036E58 4B FE 68 09 */ bl OSDisableInterrupts
/* 8003B01C 00036E5C 80 0D E6 40 */ lwz r0, CommandInfoCounter@sda21(r13)
/* 8003B020 00036E60 7C 7F 1B 78 */ mr r31, r3
/* 8003B024 00036E64 28 00 00 05 */ cmplwi r0, 0x5
/* 8003B028 00036E68 41 80 00 0C */ blt lbl_8003B034
/* 8003B02C 00036E6C 38 00 00 00 */ li r0, 0x0
/* 8003B030 00036E70 90 0D E6 40 */ stw r0, CommandInfoCounter@sda21(r13)
.global lbl_8003B034
lbl_8003B034:
/* 8003B034 00036E74 80 0D E6 40 */ lwz r0, CommandInfoCounter@sda21(r13)
/* 8003B038 00036E78 3F C0 80 4A */ lis r30, __ErrorInfo@ha
/* 8003B03C 00036E7C 80 6D E6 40 */ lwz r3, CommandInfoCounter@sda21(r13)
/* 8003B040 00036E80 3B DE FC 40 */ addi r30, r30, __ErrorInfo@l
/* 8003B044 00036E84 1C A0 00 14 */ mulli r5, r0, 0x14
/* 8003B048 00036E88 80 0D E6 40 */ lwz r0, CommandInfoCounter@sda21(r13)
/* 8003B04C 00036E8C 38 C0 00 27 */ li r6, 0x27
/* 8003B050 00036E90 38 80 00 00 */ li r4, 0x0
/* 8003B054 00036E94 1C 63 00 14 */ mulli r3, r3, 0x14
/* 8003B058 00036E98 7C BE 2A 14 */ add r5, r30, r5
/* 8003B05C 00036E9C 90 C5 00 1C */ stw r6, 0x1c(r5)
/* 8003B060 00036EA0 7C 7E 1A 14 */ add r3, r30, r3
/* 8003B064 00036EA4 1C 00 00 14 */ mulli r0, r0, 0x14
/* 8003B068 00036EA8 90 83 00 20 */ stw r4, 0x20(r3)
/* 8003B06C 00036EAC 7C 7E 02 14 */ add r3, r30, r0
/* 8003B070 00036EB0 90 83 00 24 */ stw r4, 0x24(r3)
/* 8003B074 00036EB4 4B FE AA ED */ bl OSGetTick
/* 8003B078 00036EB8 80 0D E6 40 */ lwz r0, CommandInfoCounter@sda21(r13)
/* 8003B07C 00036EBC 80 8D E6 40 */ lwz r4, CommandInfoCounter@sda21(r13)
/* 8003B080 00036EC0 1C A0 00 14 */ mulli r5, r0, 0x14
/* 8003B084 00036EC4 38 04 00 01 */ addi r0, r4, 0x1
/* 8003B088 00036EC8 90 0D E6 40 */ stw r0, CommandInfoCounter@sda21(r13)
/* 8003B08C 00036ECC 7C 9E 2A 14 */ add r4, r30, r5
/* 8003B090 00036ED0 90 64 00 2C */ stw r3, 0x2c(r4)
/* 8003B094 00036ED4 7F E3 FB 78 */ mr r3, r31
/* 8003B098 00036ED8 4B FE 67 C9 */ bl OSRestoreInterrupts
/* 8003B09C 00036EDC 3C 60 80 04 */ lis r3, cbForUnrecoveredErrorRetry@ha
/* 8003B0A0 00036EE0 38 63 B0 C0 */ addi r3, r3, cbForUnrecoveredErrorRetry@l
/* 8003B0A4 00036EE4 48 00 66 BD */ bl DVDLowRequestError
.global lbl_8003B0A8
lbl_8003B0A8:
/* 8003B0A8 00036EE8 80 01 00 14 */ lwz r0, 0x14(r1)
/* 8003B0AC 00036EEC 83 E1 00 0C */ lwz r31, 0xc(r1)
/* 8003B0B0 00036EF0 83 C1 00 08 */ lwz r30, 0x8(r1)
/* 8003B0B4 00036EF4 7C 08 03 A6 */ mtlr r0
/* 8003B0B8 00036EF8 38 21 00 10 */ addi r1, r1, 0x10
/* 8003B0BC 00036EFC 4E 80 00 20 */ blr
.global cbForUnrecoveredErrorRetry
cbForUnrecoveredErrorRetry:
/* 8003B0C0 00036F00 94 21 FF F0 */ stwu r1, -0x10(r1)
/* 8003B0C4 00036F04 7C 08 02 A6 */ mflr r0
/* 8003B0C8 00036F08 90 01 00 14 */ stw r0, 0x14(r1)
/* 8003B0CC 00036F0C 93 E1 00 0C */ stw r31, 0xc(r1)
/* 8003B0D0 00036F10 7C 7F 1B 78 */ mr r31, r3
/* 8003B0D4 00036F14 4B FE 67 4D */ bl OSDisableInterrupts
/* 8003B0D8 00036F18 80 0D E6 40 */ lwz r0, CommandInfoCounter@sda21(r13)
/* 8003B0DC 00036F1C 2C 00 00 00 */ cmpwi r0, 0x0
/* 8003B0E0 00036F20 40 82 00 14 */ bne lbl_8003B0F4
/* 8003B0E4 00036F24 3C 80 80 4A */ lis r4, __ErrorInfo@ha
/* 8003B0E8 00036F28 38 84 FC 40 */ addi r4, r4, __ErrorInfo@l
/* 8003B0EC 00036F2C 93 E4 00 78 */ stw r31, 0x78(r4)
/* 8003B0F0 00036F30 48 00 00 1C */ b lbl_8003B10C
.global lbl_8003B0F4
lbl_8003B0F4:
/* 8003B0F4 00036F34 80 0D E6 40 */ lwz r0, CommandInfoCounter@sda21(r13)
/* 8003B0F8 00036F38 3C 80 80 4A */ lis r4, __ErrorInfo@ha
/* 8003B0FC 00036F3C 38 84 FC 40 */ addi r4, r4, __ErrorInfo@l
/* 8003B100 00036F40 1C 00 00 14 */ mulli r0, r0, 0x14
/* 8003B104 00036F44 7C 84 02 14 */ add r4, r4, r0
/* 8003B108 00036F48 93 E4 00 14 */ stw r31, 0x14(r4)
.global lbl_8003B10C
lbl_8003B10C:
/* 8003B10C 00036F4C 4B FE 67 55 */ bl OSRestoreInterrupts
/* 8003B110 00036F50 28 1F 00 10 */ cmplwi r31, 0x10
/* 8003B114 00036F54 40 82 00 1C */ bne lbl_8003B130
/* 8003B118 00036F58 3C 60 01 23 */ lis r3, 0x123
/* 8003B11C 00036F5C 3C 80 80 04 */ lis r4, cbForStoreErrorCode2@ha
/* 8003B120 00036F60 38 63 45 68 */ addi r3, r3, 0x4568
/* 8003B124 00036F64 38 84 A7 C0 */ addi r4, r4, cbForStoreErrorCode2@l
/* 8003B128 00036F68 48 00 4B 59 */ bl __DVDStoreErrorCode
/* 8003B12C 00036F6C 48 00 00 54 */ b lbl_8003B180
.global lbl_8003B130
lbl_8003B130:
/* 8003B130 00036F70 28 1F 00 20 */ cmplwi r31, 0x20
/* 8003B134 00036F74 40 82 00 1C */ bne lbl_8003B150
/* 8003B138 00036F78 3C 60 01 23 */ lis r3, 0x123
/* 8003B13C 00036F7C 3C 80 80 04 */ lis r4, cbForStoreErrorCode2@ha
/* 8003B140 00036F80 38 63 45 69 */ addi r3, r3, 0x4569
/* 8003B144 00036F84 38 84 A7 C0 */ addi r4, r4, cbForStoreErrorCode2@l
/* 8003B148 00036F88 48 00 4B 39 */ bl __DVDStoreErrorCode
/* 8003B14C 00036F8C 48 00 00 34 */ b lbl_8003B180
.global lbl_8003B150
lbl_8003B150:
/* 8003B150 00036F90 57 E0 07 BD */ rlwinm. r0, r31, 0, 30, 30
/* 8003B154 00036F94 41 82 00 1C */ beq lbl_8003B170
/* 8003B158 00036F98 3C 60 01 23 */ lis r3, 0x123
/* 8003B15C 00036F9C 3C 80 80 04 */ lis r4, cbForStoreErrorCode1@ha
/* 8003B160 00036FA0 38 63 45 67 */ addi r3, r3, 0x4567
/* 8003B164 00036FA4 38 84 A7 A0 */ addi r4, r4, cbForStoreErrorCode1@l
/* 8003B168 00036FA8 48 00 4B 19 */ bl __DVDStoreErrorCode
/* 8003B16C 00036FAC 48 00 00 14 */ b lbl_8003B180
.global lbl_8003B170
lbl_8003B170:
/* 8003B170 00036FB0 48 00 75 71 */ bl DVDLowGetImmBufferReg
/* 8003B174 00036FB4 3C 80 80 04 */ lis r4, cbForStoreErrorCode1@ha
/* 8003B178 00036FB8 38 84 A7 A0 */ addi r4, r4, cbForStoreErrorCode1@l
/* 8003B17C 00036FBC 48 00 4B 05 */ bl __DVDStoreErrorCode
.global lbl_8003B180
lbl_8003B180:
/* 8003B180 00036FC0 80 01 00 14 */ lwz r0, 0x14(r1)
/* 8003B184 00036FC4 83 E1 00 0C */ lwz r31, 0xc(r1)
/* 8003B188 00036FC8 7C 08 03 A6 */ mtlr r0
/* 8003B18C 00036FCC 38 21 00 10 */ addi r1, r1, 0x10
/* 8003B190 00036FD0 4E 80 00 20 */ blr
/* 8003B194 00036FD4 00 00 00 00 */ .4byte 0x00000000
/* 8003B198 00036FD8 00 00 00 00 */ .4byte 0x00000000
/* 8003B19C 00036FDC 00 00 00 00 */ .4byte 0x00000000
.global cbForStateGoToRetry
cbForStateGoToRetry:
/* 8003B1A0 00036FE0 94 21 FF F0 */ stwu r1, -0x10(r1)
/* 8003B1A4 00036FE4 7C 08 02 A6 */ mflr r0
/* 8003B1A8 00036FE8 90 01 00 14 */ stw r0, 0x14(r1)
/* 8003B1AC 00036FEC 93 E1 00 0C */ stw r31, 0xc(r1)
/* 8003B1B0 00036FF0 7C 7F 1B 78 */ mr r31, r3
/* 8003B1B4 00036FF4 4B FE 66 6D */ bl OSDisableInterrupts
/* 8003B1B8 00036FF8 80 0D E6 40 */ lwz r0, CommandInfoCounter@sda21(r13)
/* 8003B1BC 00036FFC 2C 00 00 00 */ cmpwi r0, 0x0
/* 8003B1C0 00037000 40 82 00 14 */ bne lbl_8003B1D4
/* 8003B1C4 00037004 3C 80 80 4A */ lis r4, __ErrorInfo@ha
/* 8003B1C8 00037008 38 84 FC 40 */ addi r4, r4, __ErrorInfo@l
/* 8003B1CC 0003700C 93 E4 00 78 */ stw r31, 0x78(r4)
/* 8003B1D0 00037010 48 00 00 1C */ b lbl_8003B1EC
.global lbl_8003B1D4
lbl_8003B1D4:
/* 8003B1D4 00037014 80 0D E6 40 */ lwz r0, CommandInfoCounter@sda21(r13)
/* 8003B1D8 00037018 3C 80 80 4A */ lis r4, __ErrorInfo@ha
/* 8003B1DC 0003701C 38 84 FC 40 */ addi r4, r4, __ErrorInfo@l
/* 8003B1E0 00037020 1C 00 00 14 */ mulli r0, r0, 0x14
/* 8003B1E4 00037024 7C 84 02 14 */ add r4, r4, r0
/* 8003B1E8 00037028 93 E4 00 14 */ stw r31, 0x14(r4)
.global lbl_8003B1EC
lbl_8003B1EC:
/* 8003B1EC 0003702C 4B FE 66 75 */ bl OSRestoreInterrupts
/* 8003B1F0 00037030 28 1F 00 10 */ cmplwi r31, 0x10
/* 8003B1F4 00037034 40 82 00 1C */ bne lbl_8003B210
/* 8003B1F8 00037038 3C 60 01 23 */ lis r3, 0x123
/* 8003B1FC 0003703C 3C 80 80 04 */ lis r4, cbForStoreErrorCode2@ha
/* 8003B200 00037040 38 63 45 68 */ addi r3, r3, 0x4568
/* 8003B204 00037044 38 84 A7 C0 */ addi r4, r4, cbForStoreErrorCode2@l
/* 8003B208 00037048 48 00 4A 79 */ bl __DVDStoreErrorCode
/* 8003B20C 0003704C 48 00 01 C0 */ b lbl_8003B3CC
.global lbl_8003B210
lbl_8003B210:
/* 8003B210 00037050 28 1F 00 20 */ cmplwi r31, 0x20
/* 8003B214 00037054 40 82 00 1C */ bne lbl_8003B230
/* 8003B218 00037058 3C 60 01 23 */ lis r3, 0x123
/* 8003B21C 0003705C 3C 80 80 04 */ lis r4, cbForStoreErrorCode2@ha
/* 8003B220 00037060 38 63 45 69 */ addi r3, r3, 0x4569
/* 8003B224 00037064 38 84 A7 C0 */ addi r4, r4, cbForStoreErrorCode2@l
/* 8003B228 00037068 48 00 4A 59 */ bl __DVDStoreErrorCode
/* 8003B22C 0003706C 48 00 01 A0 */ b lbl_8003B3CC
.global lbl_8003B230
lbl_8003B230:
/* 8003B230 00037070 57 E0 07 BD */ rlwinm. r0, r31, 0, 30, 30
/* 8003B234 00037074 41 82 00 1C */ beq lbl_8003B250
/* 8003B238 00037078 3C 60 01 23 */ lis r3, 0x123
/* 8003B23C 0003707C 3C 80 80 04 */ lis r4, cbForStoreErrorCode1@ha
/* 8003B240 00037080 38 63 45 67 */ addi r3, r3, 0x4567
/* 8003B244 00037084 38 84 A7 A0 */ addi r4, r4, cbForStoreErrorCode1@l
/* 8003B248 00037088 48 00 4A 39 */ bl __DVDStoreErrorCode
/* 8003B24C 0003708C 48 00 01 80 */ b lbl_8003B3CC
.global lbl_8003B250
lbl_8003B250:
/* 8003B250 00037090 38 00 00 00 */ li r0, 0x0
/* 8003B254 00037094 90 0D E6 58 */ stw r0, NumInternalRetry@sda21(r13)
/* 8003B258 00037098 80 0D E6 C4 */ lwz r0, CurrCommand@sda21(r13)
/* 8003B25C 0003709C 28 00 00 04 */ cmplwi r0, 0x4
/* 8003B260 000370A0 41 82 00 64 */ beq lbl_8003B2C4
/* 8003B264 000370A4 80 0D E6 C4 */ lwz r0, CurrCommand@sda21(r13)
/* 8003B268 000370A8 28 00 00 05 */ cmplwi r0, 0x5
/* 8003B26C 000370AC 41 82 00 58 */ beq lbl_8003B2C4
/* 8003B270 000370B0 80 0D E6 C4 */ lwz r0, CurrCommand@sda21(r13)
/* 8003B274 000370B4 28 00 00 0D */ cmplwi r0, 0xd
/* 8003B278 000370B8 41 82 00 4C */ beq lbl_8003B2C4
/* 8003B27C 000370BC 80 0D E6 C4 */ lwz r0, CurrCommand@sda21(r13)
/* 8003B280 000370C0 28 00 00 21 */ cmplwi r0, 0x21
/* 8003B284 000370C4 41 82 00 40 */ beq lbl_8003B2C4
/* 8003B288 000370C8 80 0D E6 C4 */ lwz r0, CurrCommand@sda21(r13)
/* 8003B28C 000370CC 28 00 00 22 */ cmplwi r0, 0x22
/* 8003B290 000370D0 41 82 00 34 */ beq lbl_8003B2C4
/* 8003B294 000370D4 80 0D E6 C4 */ lwz r0, CurrCommand@sda21(r13)
/* 8003B298 000370D8 28 00 00 29 */ cmplwi r0, 0x29
/* 8003B29C 000370DC 41 82 00 28 */ beq lbl_8003B2C4
/* 8003B2A0 000370E0 80 0D E6 C4 */ lwz r0, CurrCommand@sda21(r13)
/* 8003B2A4 000370E4 28 00 00 2A */ cmplwi r0, 0x2a
/* 8003B2A8 000370E8 41 82 00 1C */ beq lbl_8003B2C4
/* 8003B2AC 000370EC 80 0D E6 C4 */ lwz r0, CurrCommand@sda21(r13)
/* 8003B2B0 000370F0 28 00 00 0F */ cmplwi r0, 0xf
/* 8003B2B4 000370F4 41 82 00 10 */ beq lbl_8003B2C4
/* 8003B2B8 000370F8 80 0D E6 C4 */ lwz r0, CurrCommand@sda21(r13)
/* 8003B2BC 000370FC 28 00 00 25 */ cmplwi r0, 0x25
/* 8003B2C0 00037100 40 82 00 0C */ bne lbl_8003B2CC
.global lbl_8003B2C4
lbl_8003B2C4:
/* 8003B2C4 00037104 38 00 00 01 */ li r0, 0x1
/* 8003B2C8 00037108 90 0D E6 B4 */ stw r0, ResetRequired@sda21(r13)
.global lbl_8003B2CC
lbl_8003B2CC:
/* 8003B2CC 0003710C 80 0D E6 50 */ lwz r0, Canceling@sda21(r13)
/* 8003B2D0 00037110 2C 00 00 00 */ cmpwi r0, 0x0
/* 8003B2D4 00037114 41 82 00 70 */ beq lbl_8003B344
/* 8003B2D8 00037118 83 ED E6 D0 */ lwz r31, executing@sda21(r13)
/* 8003B2DC 0003711C 3C 60 80 4A */ lis r3, DummyCommandBlock@ha
/* 8003B2E0 00037120 38 63 F9 20 */ addi r3, r3, DummyCommandBlock@l
/* 8003B2E4 00037124 38 00 00 02 */ li r0, 0x2
/* 8003B2E8 00037128 90 0D E6 54 */ stw r0, ResumeFromHere@sda21(r13)
/* 8003B2EC 0003712C 38 80 00 00 */ li r4, 0x0
/* 8003B2F0 00037130 38 00 00 0A */ li r0, 0xa
/* 8003B2F4 00037134 90 8D E6 50 */ stw r4, Canceling@sda21(r13)
/* 8003B2F8 00037138 90 6D E6 D0 */ stw r3, executing@sda21(r13)
/* 8003B2FC 0003713C 90 1F 00 0C */ stw r0, 0xc(r31)
/* 8003B300 00037140 81 9F 00 28 */ lwz r12, 0x28(r31)
/* 8003B304 00037144 2C 0C 00 00 */ cmpwi r12, 0x0
/* 8003B308 00037148 41 82 00 14 */ beq lbl_8003B31C
/* 8003B30C 0003714C 7F E4 FB 78 */ mr r4, r31
/* 8003B310 00037150 38 60 FF FD */ li r3, -0x3
/* 8003B314 00037154 7D 89 03 A6 */ mtctr r12
/* 8003B318 00037158 4E 80 04 21 */ bctrl
.global lbl_8003B31C
lbl_8003B31C:
/* 8003B31C 0003715C 81 8D E6 C0 */ lwz r12, CancelCallback@sda21(r13)
/* 8003B320 00037160 2C 0C 00 00 */ cmpwi r12, 0x0
/* 8003B324 00037164 41 82 00 14 */ beq lbl_8003B338
/* 8003B328 00037168 7F E4 FB 78 */ mr r4, r31
/* 8003B32C 0003716C 38 60 00 00 */ li r3, 0x0
/* 8003B330 00037170 7D 89 03 A6 */ mtctr r12
/* 8003B334 00037174 4E 80 04 21 */ bctrl
.global lbl_8003B338
lbl_8003B338:
/* 8003B338 00037178 48 00 1B B9 */ bl stateReady
/* 8003B33C 0003717C 38 00 00 01 */ li r0, 0x1
/* 8003B340 00037180 48 00 00 08 */ b lbl_8003B348
.global lbl_8003B344
lbl_8003B344:
/* 8003B344 00037184 38 00 00 00 */ li r0, 0x0
.global lbl_8003B348
lbl_8003B348:
/* 8003B348 00037188 2C 00 00 00 */ cmpwi r0, 0x0
/* 8003B34C 0003718C 40 82 00 80 */ bne lbl_8003B3CC
/* 8003B350 00037190 80 8D E6 D0 */ lwz r4, executing@sda21(r13)
/* 8003B354 00037194 38 00 00 0B */ li r0, 0xb
/* 8003B358 00037198 38 60 00 01 */ li r3, 0x1
/* 8003B35C 0003719C 90 04 00 0C */ stw r0, 0xc(r4)
/* 8003B360 000371A0 80 0D E6 64 */ lwz r0, WaitingForCoverOpen@sda21(r13)
/* 8003B364 000371A4 90 6D E6 B0 */ stw r3, MotorState@sda21(r13)
/* 8003B368 000371A8 2C 00 00 00 */ cmpwi r0, 0x0
/* 8003B36C 000371AC 40 82 00 60 */ bne lbl_8003B3CC
/* 8003B370 000371B0 80 0D E6 68 */ lwz r0, WaitingForCoverClose@sda21(r13)
/* 8003B374 000371B4 2C 00 00 00 */ cmpwi r0, 0x0
/* 8003B378 000371B8 40 82 00 54 */ bne lbl_8003B3CC
/* 8003B37C 000371BC 3F E0 80 4A */ lis r31, CoverAlarm@ha
/* 8003B380 000371C0 90 6D E6 64 */ stw r3, WaitingForCoverOpen@sda21(r13)
/* 8003B384 000371C4 38 7F F9 80 */ addi r3, r31, CoverAlarm@l
/* 8003B388 000371C8 4B FE 04 79 */ bl OSCreateAlarm
/* 8003B38C 000371CC 4B FE A7 D5 */ bl OSGetTick
/* 8003B390 000371D0 3C A0 80 00 */ lis r5, 0x800000F8@ha
/* 8003B394 000371D4 3C 80 10 62 */ lis r4, 0x1062
/* 8003B398 000371D8 80 05 00 F8 */ lwz r0, 0x800000F8@l(r5)
/* 8003B39C 000371DC 3D 20 80 04 */ lis r9, CoverAlarmHandler@ha
/* 8003B3A0 000371E0 7C 66 1B 78 */ mr r6, r3
/* 8003B3A4 000371E4 38 84 4D D3 */ addi r4, r4, 0x4dd3
/* 8003B3A8 000371E8 54 00 F0 BE */ srwi r0, r0, 2
/* 8003B3AC 000371EC 38 7F F9 80 */ addi r3, r31, -0x680
/* 8003B3B0 000371F0 7C 04 00 16 */ mulhwu r0, r4, r0
/* 8003B3B4 000371F4 39 29 CE C0 */ addi r9, r9, CoverAlarmHandler@l
/* 8003B3B8 000371F8 38 A0 00 00 */ li r5, 0x0
/* 8003B3BC 000371FC 38 E0 00 00 */ li r7, 0x0
/* 8003B3C0 00037200 54 00 D1 BE */ srwi r0, r0, 6
/* 8003B3C4 00037204 1D 00 00 64 */ mulli r8, r0, 0x64
/* 8003B3C8 00037208 4B FE 07 09 */ bl OSSetPeriodicAlarm
.global lbl_8003B3CC
lbl_8003B3CC:
/* 8003B3CC 0003720C 80 01 00 14 */ lwz r0, 0x14(r1)
/* 8003B3D0 00037210 83 E1 00 0C */ lwz r31, 0xc(r1)
/* 8003B3D4 00037214 7C 08 03 A6 */ mtlr r0
/* 8003B3D8 00037218 38 21 00 10 */ addi r1, r1, 0x10
/* 8003B3DC 0003721C 4E 80 00 20 */ blr
.global stateCheckID
stateCheckID:
/* 8003B3E0 00037220 94 21 FF E0 */ stwu r1, -0x20(r1)
/* 8003B3E4 00037224 7C 08 02 A6 */ mflr r0
/* 8003B3E8 00037228 90 01 00 24 */ stw r0, 0x24(r1)
/* 8003B3EC 0003722C 93 E1 00 1C */ stw r31, 0x1c(r1)
/* 8003B3F0 00037230 93 C1 00 18 */ stw r30, 0x18(r1)
/* 8003B3F4 00037234 3F C0 80 4A */ lis r30, __DVDTicketViewBuffer@ha
/* 8003B3F8 00037238 3B DE AE 00 */ addi r30, r30, __DVDTicketViewBuffer@l
/* 8003B3FC 0003723C 93 A1 00 14 */ stw r29, 0x14(r1)
/* 8003B400 00037240 80 0D E6 C4 */ lwz r0, CurrCommand@sda21(r13)
/* 8003B404 00037244 2C 00 00 03 */ cmpwi r0, 0x3
/* 8003B408 00037248 41 82 00 08 */ beq lbl_8003B410
/* 8003B40C 0003724C 48 00 01 90 */ b lbl_8003B59C
.global lbl_8003B410
lbl_8003B410:
/* 8003B410 00037250 3B E0 00 00 */ li r31, 0x0
/* 8003B414 00037254 93 ED E6 70 */ stw r31, ChangedDisc@sda21(r13)
/* 8003B418 00037258 80 8D E6 D0 */ lwz r4, executing@sda21(r13)
/* 8003B41C 0003725C 38 7E 4B C0 */ addi r3, r30, 0x4bc0
/* 8003B420 00037260 80 84 00 24 */ lwz r4, 0x24(r4)
/* 8003B424 00037264 48 00 48 CD */ bl DVDCompareDiskID
/* 8003B428 00037268 2C 03 00 00 */ cmpwi r3, 0x0
/* 8003B42C 0003726C 41 82 00 D8 */ beq lbl_8003B504
/* 8003B430 00037270 80 6D E6 CC */ lwz r3, IDShouldBe@sda21(r13)
/* 8003B434 00037274 38 9E 4B C0 */ addi r4, r30, 0x4bc0
/* 8003B438 00037278 38 A0 00 20 */ li r5, 0x20
/* 8003B43C 0003727C 4B FC 8B C5 */ bl memcpy
/* 8003B440 00037280 80 AD E6 D0 */ lwz r5, executing@sda21(r13)
/* 8003B444 00037284 38 00 00 01 */ li r0, 0x1
/* 8003B448 00037288 38 7E 4B 00 */ addi r3, r30, 0x4b00
/* 8003B44C 0003728C 38 80 00 20 */ li r4, 0x20
/* 8003B450 00037290 90 05 00 0C */ stw r0, 0xc(r5)
/* 8003B454 00037294 4B FE 14 FD */ bl DCInvalidateRange
/* 8003B458 00037298 93 ED E6 58 */ stw r31, NumInternalRetry@sda21(r13)
/* 8003B45C 0003729C 38 60 00 00 */ li r3, 0x0
/* 8003B460 000372A0 48 00 72 91 */ bl DVDLowClearCoverInterrupt
/* 8003B464 000372A4 4B FE 63 BD */ bl OSDisableInterrupts
/* 8003B468 000372A8 80 0D E6 40 */ lwz r0, CommandInfoCounter@sda21(r13)
/* 8003B46C 000372AC 7C 7D 1B 78 */ mr r29, r3
/* 8003B470 000372B0 28 00 00 05 */ cmplwi r0, 0x5
/* 8003B474 000372B4 41 80 00 08 */ blt lbl_8003B47C
/* 8003B478 000372B8 93 ED E6 40 */ stw r31, CommandInfoCounter@sda21(r13)
.global lbl_8003B47C
lbl_8003B47C:
/* 8003B47C 000372BC 80 0D E6 40 */ lwz r0, CommandInfoCounter@sda21(r13)
/* 8003B480 000372C0 3F E0 80 4A */ lis r31, __ErrorInfo@ha
/* 8003B484 000372C4 80 6D E6 40 */ lwz r3, CommandInfoCounter@sda21(r13)
/* 8003B488 000372C8 3B FF FC 40 */ addi r31, r31, __ErrorInfo@l
/* 8003B48C 000372CC 1C C0 00 14 */ mulli r6, r0, 0x14
/* 8003B490 000372D0 80 0D E6 40 */ lwz r0, CommandInfoCounter@sda21(r13)
/* 8003B494 000372D4 38 E0 00 21 */ li r7, 0x21
/* 8003B498 000372D8 3C A0 00 01 */ lis r5, 0x1
/* 8003B49C 000372DC 1C 63 00 14 */ mulli r3, r3, 0x14
/* 8003B4A0 000372E0 38 80 00 20 */ li r4, 0x20
/* 8003B4A4 000372E4 7C DF 32 14 */ add r6, r31, r6
/* 8003B4A8 000372E8 90 E6 00 1C */ stw r7, 0x1c(r6)
/* 8003B4AC 000372EC 7C 7F 1A 14 */ add r3, r31, r3
/* 8003B4B0 000372F0 1C 00 00 14 */ mulli r0, r0, 0x14
/* 8003B4B4 000372F4 90 A3 00 20 */ stw r5, 0x20(r3)
/* 8003B4B8 000372F8 7C 7F 02 14 */ add r3, r31, r0
/* 8003B4BC 000372FC 90 83 00 24 */ stw r4, 0x24(r3)
/* 8003B4C0 00037300 4B FE A6 A1 */ bl OSGetTick
/* 8003B4C4 00037304 80 0D E6 40 */ lwz r0, CommandInfoCounter@sda21(r13)
/* 8003B4C8 00037308 80 8D E6 40 */ lwz r4, CommandInfoCounter@sda21(r13)
/* 8003B4CC 0003730C 1C A0 00 14 */ mulli r5, r0, 0x14
/* 8003B4D0 00037310 38 04 00 01 */ addi r0, r4, 0x1
/* 8003B4D4 00037314 90 0D E6 40 */ stw r0, CommandInfoCounter@sda21(r13)
/* 8003B4D8 00037318 7C 9F 2A 14 */ add r4, r31, r5
/* 8003B4DC 0003731C 90 64 00 2C */ stw r3, 0x2c(r4)
/* 8003B4E0 00037320 7F A3 EB 78 */ mr r3, r29
/* 8003B4E4 00037324 4B FE 63 7D */ bl OSRestoreInterrupts
/* 8003B4E8 00037328 3C C0 80 04 */ lis r6, cbForStateReadingTOC@ha
/* 8003B4EC 0003732C 38 7E 4B E0 */ addi r3, r30, 0x4be0
/* 8003B4F0 00037330 38 C6 B7 20 */ addi r6, r6, cbForStateReadingTOC@l
/* 8003B4F4 00037334 38 80 00 20 */ li r4, 0x20
/* 8003B4F8 00037338 3C A0 00 01 */ lis r5, 0x1
/* 8003B4FC 0003733C 48 00 5D B5 */ bl DVDLowUnencryptedRead
/* 8003B500 00037340 48 00 01 FC */ b lbl_8003B6FC
.global lbl_8003B504
lbl_8003B504:
/* 8003B504 00037344 4B FE 63 1D */ bl OSDisableInterrupts
/* 8003B508 00037348 80 0D E6 40 */ lwz r0, CommandInfoCounter@sda21(r13)
/* 8003B50C 0003734C 7C 7D 1B 78 */ mr r29, r3
/* 8003B510 00037350 28 00 00 05 */ cmplwi r0, 0x5
/* 8003B514 00037354 41 80 00 08 */ blt lbl_8003B51C
/* 8003B518 00037358 93 ED E6 40 */ stw r31, CommandInfoCounter@sda21(r13)
.global lbl_8003B51C
lbl_8003B51C:
/* 8003B51C 0003735C 80 0D E6 40 */ lwz r0, CommandInfoCounter@sda21(r13)
/* 8003B520 00037360 3F C0 80 4A */ lis r30, __ErrorInfo@ha
/* 8003B524 00037364 80 6D E6 40 */ lwz r3, CommandInfoCounter@sda21(r13)
/* 8003B528 00037368 3B DE FC 40 */ addi r30, r30, __ErrorInfo@l
/* 8003B52C 0003736C 1C A0 00 14 */ mulli r5, r0, 0x14
/* 8003B530 00037370 80 0D E6 40 */ lwz r0, CommandInfoCounter@sda21(r13)
/* 8003B534 00037374 38 C0 00 10 */ li r6, 0x10
/* 8003B538 00037378 38 80 00 00 */ li r4, 0x0
/* 8003B53C 0003737C 1C 63 00 14 */ mulli r3, r3, 0x14
/* 8003B540 00037380 7C BE 2A 14 */ add r5, r30, r5
/* 8003B544 00037384 90 C5 00 1C */ stw r6, 0x1c(r5)
/* 8003B548 00037388 7C 7E 1A 14 */ add r3, r30, r3
/* 8003B54C 0003738C 1C 00 00 14 */ mulli r0, r0, 0x14
/* 8003B550 00037390 90 83 00 20 */ stw r4, 0x20(r3)
/* 8003B554 00037394 7C 7E 02 14 */ add r3, r30, r0
/* 8003B558 00037398 90 83 00 24 */ stw r4, 0x24(r3)
/* 8003B55C 0003739C 4B FE A6 05 */ bl OSGetTick
/* 8003B560 000373A0 80 0D E6 40 */ lwz r0, CommandInfoCounter@sda21(r13)
/* 8003B564 000373A4 80 8D E6 40 */ lwz r4, CommandInfoCounter@sda21(r13)
/* 8003B568 000373A8 1C A0 00 14 */ mulli r5, r0, 0x14
/* 8003B56C 000373AC 38 04 00 01 */ addi r0, r4, 0x1
/* 8003B570 000373B0 90 0D E6 40 */ stw r0, CommandInfoCounter@sda21(r13)
/* 8003B574 000373B4 7C 9E 2A 14 */ add r4, r30, r5
/* 8003B578 000373B8 90 64 00 2C */ stw r3, 0x2c(r4)
/* 8003B57C 000373BC 7F A3 EB 78 */ mr r3, r29
/* 8003B580 000373C0 4B FE 62 E1 */ bl OSRestoreInterrupts
/* 8003B584 000373C4 3C A0 80 04 */ lis r5, cbForStateCheckID1@ha
/* 8003B588 000373C8 38 60 00 00 */ li r3, 0x0
/* 8003B58C 000373CC 38 A5 C0 40 */ addi r5, r5, cbForStateCheckID1@l
/* 8003B590 000373D0 38 80 00 00 */ li r4, 0x0
/* 8003B594 000373D4 48 00 5E BD */ bl DVDLowStopMotor
/* 8003B598 000373D8 48 00 01 64 */ b lbl_8003B6FC
.global lbl_8003B59C
lbl_8003B59C:
/* 8003B59C 000373DC 80 8D E6 CC */ lwz r4, IDShouldBe@sda21(r13)
/* 8003B5A0 000373E0 38 7E 4B C0 */ addi r3, r30, 0x4bc0
/* 8003B5A4 000373E4 38 A0 00 20 */ li r5, 0x20
/* 8003B5A8 000373E8 4B FC F8 C9 */ bl memcmp
/* 8003B5AC 000373EC 2C 03 00 00 */ cmpwi r3, 0x0
/* 8003B5B0 000373F0 41 82 00 A0 */ beq lbl_8003B650
/* 8003B5B4 000373F4 4B FE 62 6D */ bl OSDisableInterrupts
/* 8003B5B8 000373F8 80 0D E6 40 */ lwz r0, CommandInfoCounter@sda21(r13)
/* 8003B5BC 000373FC 7C 7D 1B 78 */ mr r29, r3
/* 8003B5C0 00037400 28 00 00 05 */ cmplwi r0, 0x5
/* 8003B5C4 00037404 41 80 00 0C */ blt lbl_8003B5D0
/* 8003B5C8 00037408 38 00 00 00 */ li r0, 0x0
/* 8003B5CC 0003740C 90 0D E6 40 */ stw r0, CommandInfoCounter@sda21(r13)
.global lbl_8003B5D0
lbl_8003B5D0:
/* 8003B5D0 00037410 80 0D E6 40 */ lwz r0, CommandInfoCounter@sda21(r13)
/* 8003B5D4 00037414 3F C0 80 4A */ lis r30, __ErrorInfo@ha
/* 8003B5D8 00037418 80 6D E6 40 */ lwz r3, CommandInfoCounter@sda21(r13)
/* 8003B5DC 0003741C 3B DE FC 40 */ addi r30, r30, __ErrorInfo@l
/* 8003B5E0 00037420 1C A0 00 14 */ mulli r5, r0, 0x14
/* 8003B5E4 00037424 80 0D E6 40 */ lwz r0, CommandInfoCounter@sda21(r13)
/* 8003B5E8 00037428 38 C0 00 10 */ li r6, 0x10
/* 8003B5EC 0003742C 38 80 00 00 */ li r4, 0x0
/* 8003B5F0 00037430 1C 63 00 14 */ mulli r3, r3, 0x14
/* 8003B5F4 00037434 7C BE 2A 14 */ add r5, r30, r5
/* 8003B5F8 00037438 90 C5 00 1C */ stw r6, 0x1c(r5)
/* 8003B5FC 0003743C 7C 7E 1A 14 */ add r3, r30, r3
/* 8003B600 00037440 1C 00 00 14 */ mulli r0, r0, 0x14
/* 8003B604 00037444 90 83 00 20 */ stw r4, 0x20(r3)
/* 8003B608 00037448 7C 7E 02 14 */ add r3, r30, r0
/* 8003B60C 0003744C 90 83 00 24 */ stw r4, 0x24(r3)
/* 8003B610 00037450 4B FE A5 51 */ bl OSGetTick
/* 8003B614 00037454 80 0D E6 40 */ lwz r0, CommandInfoCounter@sda21(r13)
/* 8003B618 00037458 80 8D E6 40 */ lwz r4, CommandInfoCounter@sda21(r13)
/* 8003B61C 0003745C 1C A0 00 14 */ mulli r5, r0, 0x14
/* 8003B620 00037460 38 04 00 01 */ addi r0, r4, 0x1
/* 8003B624 00037464 90 0D E6 40 */ stw r0, CommandInfoCounter@sda21(r13)
/* 8003B628 00037468 7C 9E 2A 14 */ add r4, r30, r5
/* 8003B62C 0003746C 90 64 00 2C */ stw r3, 0x2c(r4)
/* 8003B630 00037470 7F A3 EB 78 */ mr r3, r29
/* 8003B634 00037474 4B FE 62 2D */ bl OSRestoreInterrupts
/* 8003B638 00037478 3C A0 80 04 */ lis r5, cbForStateCheckID1@ha
/* 8003B63C 0003747C 38 60 00 00 */ li r3, 0x0
/* 8003B640 00037480 38 A5 C0 40 */ addi r5, r5, cbForStateCheckID1@l
/* 8003B644 00037484 38 80 00 00 */ li r4, 0x0
/* 8003B648 00037488 48 00 5E 09 */ bl DVDLowStopMotor
/* 8003B64C 0003748C 48 00 00 B0 */ b lbl_8003B6FC
.global lbl_8003B650
lbl_8003B650:
/* 8003B650 00037490 3B E0 00 00 */ li r31, 0x0
/* 8003B654 00037494 93 ED E6 58 */ stw r31, NumInternalRetry@sda21(r13)
/* 8003B658 00037498 38 60 00 00 */ li r3, 0x0
/* 8003B65C 0003749C 48 00 70 95 */ bl DVDLowClearCoverInterrupt
/* 8003B660 000374A0 4B FE 61 C1 */ bl OSDisableInterrupts
/* 8003B664 000374A4 80 0D E6 40 */ lwz r0, CommandInfoCounter@sda21(r13)
/* 8003B668 000374A8 7C 7D 1B 78 */ mr r29, r3
/* 8003B66C 000374AC 28 00 00 05 */ cmplwi r0, 0x5
/* 8003B670 000374B0 41 80 00 08 */ blt lbl_8003B678
/* 8003B674 000374B4 93 ED E6 40 */ stw r31, CommandInfoCounter@sda21(r13)
.global lbl_8003B678
lbl_8003B678:
/* 8003B678 000374B8 80 0D E6 40 */ lwz r0, CommandInfoCounter@sda21(r13)
/* 8003B67C 000374BC 3F E0 80 4A */ lis r31, __ErrorInfo@ha
/* 8003B680 000374C0 80 6D E6 40 */ lwz r3, CommandInfoCounter@sda21(r13)
/* 8003B684 000374C4 3B FF FC 40 */ addi r31, r31, __ErrorInfo@l
/* 8003B688 000374C8 1C C0 00 14 */ mulli r6, r0, 0x14
/* 8003B68C 000374CC 80 0D E6 40 */ lwz r0, CommandInfoCounter@sda21(r13)
/* 8003B690 000374D0 38 E0 00 21 */ li r7, 0x21
/* 8003B694 000374D4 3C A0 00 01 */ lis r5, 0x1
/* 8003B698 000374D8 1C 63 00 14 */ mulli r3, r3, 0x14
/* 8003B69C 000374DC 38 80 00 20 */ li r4, 0x20
/* 8003B6A0 000374E0 7C DF 32 14 */ add r6, r31, r6
/* 8003B6A4 000374E4 90 E6 00 1C */ stw r7, 0x1c(r6)
/* 8003B6A8 000374E8 7C 7F 1A 14 */ add r3, r31, r3
/* 8003B6AC 000374EC 1C 00 00 14 */ mulli r0, r0, 0x14
/* 8003B6B0 000374F0 90 A3 00 20 */ stw r5, 0x20(r3)
/* 8003B6B4 000374F4 7C 7F 02 14 */ add r3, r31, r0
/* 8003B6B8 000374F8 90 83 00 24 */ stw r4, 0x24(r3)
/* 8003B6BC 000374FC 4B FE A4 A5 */ bl OSGetTick
/* 8003B6C0 00037500 80 0D E6 40 */ lwz r0, CommandInfoCounter@sda21(r13)
/* 8003B6C4 00037504 80 8D E6 40 */ lwz r4, CommandInfoCounter@sda21(r13)
/* 8003B6C8 00037508 1C A0 00 14 */ mulli r5, r0, 0x14
/* 8003B6CC 0003750C 38 04 00 01 */ addi r0, r4, 0x1
/* 8003B6D0 00037510 90 0D E6 40 */ stw r0, CommandInfoCounter@sda21(r13)
/* 8003B6D4 00037514 7C 9F 2A 14 */ add r4, r31, r5
/* 8003B6D8 00037518 90 64 00 2C */ stw r3, 0x2c(r4)
/* 8003B6DC 0003751C 7F A3 EB 78 */ mr r3, r29
/* 8003B6E0 00037520 4B FE 61 81 */ bl OSRestoreInterrupts
/* 8003B6E4 00037524 3C C0 80 04 */ lis r6, cbForStateReadingTOC@ha
/* 8003B6E8 00037528 38 7E 4B E0 */ addi r3, r30, 0x4be0
/* 8003B6EC 0003752C 38 C6 B7 20 */ addi r6, r6, cbForStateReadingTOC@l
/* 8003B6F0 00037530 38 80 00 20 */ li r4, 0x20
/* 8003B6F4 00037534 3C A0 00 01 */ lis r5, 0x1
/* 8003B6F8 00037538 48 00 5B B9 */ bl DVDLowUnencryptedRead
.global lbl_8003B6FC
lbl_8003B6FC:
/* 8003B6FC 0003753C 80 01 00 24 */ lwz r0, 0x24(r1)
/* 8003B700 00037540 83 E1 00 1C */ lwz r31, 0x1c(r1)
/* 8003B704 00037544 83 C1 00 18 */ lwz r30, 0x18(r1)
/* 8003B708 00037548 83 A1 00 14 */ lwz r29, 0x14(r1)
/* 8003B70C 0003754C 7C 08 03 A6 */ mtlr r0
/* 8003B710 00037550 38 21 00 20 */ addi r1, r1, 0x20
/* 8003B714 00037554 4E 80 00 20 */ blr
/* 8003B718 00037558 00 00 00 00 */ .4byte 0x00000000
/* 8003B71C 0003755C 00 00 00 00 */ .4byte 0x00000000
.global cbForStateReadingTOC
cbForStateReadingTOC:
/* 8003B720 00037560 94 21 FF E0 */ stwu r1, -0x20(r1)
/* 8003B724 00037564 7C 08 02 A6 */ mflr r0
/* 8003B728 00037568 90 01 00 24 */ stw r0, 0x24(r1)
/* 8003B72C 0003756C 93 E1 00 1C */ stw r31, 0x1c(r1)
/* 8003B730 00037570 93 C1 00 18 */ stw r30, 0x18(r1)
/* 8003B734 00037574 93 A1 00 14 */ stw r29, 0x14(r1)
/* 8003B738 00037578 7C 7D 1B 78 */ mr r29, r3
/* 8003B73C 0003757C 4B FE 60 E5 */ bl OSDisableInterrupts
/* 8003B740 00037580 80 0D E6 40 */ lwz r0, CommandInfoCounter@sda21(r13)
/* 8003B744 00037584 2C 00 00 00 */ cmpwi r0, 0x0
/* 8003B748 00037588 40 82 00 14 */ bne lbl_8003B75C
/* 8003B74C 0003758C 3C 80 80 4A */ lis r4, __ErrorInfo@ha
/* 8003B750 00037590 38 84 FC 40 */ addi r4, r4, __ErrorInfo@l
/* 8003B754 00037594 93 A4 00 78 */ stw r29, 0x78(r4)
/* 8003B758 00037598 48 00 00 20 */ b lbl_8003B778
.global lbl_8003B75C
lbl_8003B75C:
/* 8003B75C 0003759C 80 8D E6 40 */ lwz r4, CommandInfoCounter@sda21(r13)
/* 8003B760 000375A0 3C A0 80 4A */ lis r5, __ErrorInfo@ha
/* 8003B764 000375A4 38 A5 FC 40 */ addi r5, r5, __ErrorInfo@l
/* 8003B768 000375A8 38 04 FF FF */ addi r0, r4, -0x1
/* 8003B76C 000375AC 1C 00 00 14 */ mulli r0, r0, 0x14
/* 8003B770 000375B0 7C 85 02 14 */ add r4, r5, r0
/* 8003B774 000375B4 93 A4 00 28 */ stw r29, 0x28(r4)
.global lbl_8003B778
lbl_8003B778:
/* 8003B778 000375B8 4B FE 60 E9 */ bl OSRestoreInterrupts
/* 8003B77C 000375BC 28 1D 00 10 */ cmplwi r29, 0x10
/* 8003B780 000375C0 40 82 00 1C */ bne lbl_8003B79C
/* 8003B784 000375C4 3C 60 01 23 */ lis r3, 0x123
/* 8003B788 000375C8 3C 80 80 04 */ lis r4, cbForStoreErrorCode2@ha
/* 8003B78C 000375CC 38 63 45 68 */ addi r3, r3, 0x4568
/* 8003B790 000375D0 38 84 A7 C0 */ addi r4, r4, cbForStoreErrorCode2@l
/* 8003B794 000375D4 48 00 44 ED */ bl __DVDStoreErrorCode
/* 8003B798 000375D8 48 00 01 0C */ b lbl_8003B8A4
.global lbl_8003B79C
lbl_8003B79C:
/* 8003B79C 000375DC 28 1D 00 20 */ cmplwi r29, 0x20
/* 8003B7A0 000375E0 40 82 00 1C */ bne lbl_8003B7BC
/* 8003B7A4 000375E4 3C 60 01 23 */ lis r3, 0x123
/* 8003B7A8 000375E8 3C 80 80 04 */ lis r4, cbForStoreErrorCode2@ha
/* 8003B7AC 000375EC 38 63 45 69 */ addi r3, r3, 0x4569
/* 8003B7B0 000375F0 38 84 A7 C0 */ addi r4, r4, cbForStoreErrorCode2@l
/* 8003B7B4 000375F4 48 00 44 CD */ bl __DVDStoreErrorCode
/* 8003B7B8 000375F8 48 00 00 EC */ b lbl_8003B8A4
.global lbl_8003B7BC
lbl_8003B7BC:
/* 8003B7BC 000375FC 57 A0 07 FF */ clrlwi. r0, r29, 31
/* 8003B7C0 00037600 41 82 00 C8 */ beq lbl_8003B888
/* 8003B7C4 00037604 3C 80 80 4A */ lis r4, __DVDGameTocBuffer@ha
/* 8003B7C8 00037608 3B A0 00 00 */ li r29, 0x0
/* 8003B7CC 0003760C 38 84 F9 E0 */ addi r4, r4, __DVDGameTocBuffer@l
/* 8003B7D0 00037610 93 AD E6 58 */ stw r29, NumInternalRetry@sda21(r13)
/* 8003B7D4 00037614 38 60 00 00 */ li r3, 0x0
/* 8003B7D8 00037618 90 8D E6 90 */ stw r4, GameToc@sda21(r13)
/* 8003B7DC 0003761C 48 00 6F 15 */ bl DVDLowClearCoverInterrupt
/* 8003B7E0 00037620 4B FE 60 41 */ bl OSDisableInterrupts
/* 8003B7E4 00037624 80 0D E6 40 */ lwz r0, CommandInfoCounter@sda21(r13)
/* 8003B7E8 00037628 7C 7E 1B 78 */ mr r30, r3
/* 8003B7EC 0003762C 28 00 00 05 */ cmplwi r0, 0x5
/* 8003B7F0 00037630 41 80 00 08 */ blt lbl_8003B7F8
/* 8003B7F4 00037634 93 AD E6 40 */ stw r29, CommandInfoCounter@sda21(r13)
.global lbl_8003B7F8
lbl_8003B7F8:
/* 8003B7F8 00037638 80 0D E6 40 */ lwz r0, CommandInfoCounter@sda21(r13)
/* 8003B7FC 0003763C 3F E0 80 4A */ lis r31, __ErrorInfo@ha
/* 8003B800 00037640 80 6D E6 40 */ lwz r3, CommandInfoCounter@sda21(r13)
/* 8003B804 00037644 3F A0 00 01 */ lis r29, 0x1
/* 8003B808 00037648 1C 80 00 14 */ mulli r4, r0, 0x14
/* 8003B80C 0003764C 3B FF FC 40 */ addi r31, r31, __ErrorInfo@l
/* 8003B810 00037650 80 0D E6 40 */ lwz r0, CommandInfoCounter@sda21(r13)
/* 8003B814 00037654 38 C0 00 21 */ li r6, 0x21
/* 8003B818 00037658 38 BD 00 08 */ addi r5, r29, 0x8
/* 8003B81C 0003765C 1C 63 00 14 */ mulli r3, r3, 0x14
/* 8003B820 00037660 7C 9F 22 14 */ add r4, r31, r4
/* 8003B824 00037664 90 C4 00 1C */ stw r6, 0x1c(r4)
/* 8003B828 00037668 7C 7F 1A 14 */ add r3, r31, r3
/* 8003B82C 0003766C 38 80 00 20 */ li r4, 0x20
/* 8003B830 00037670 1C 00 00 14 */ mulli r0, r0, 0x14
/* 8003B834 00037674 90 A3 00 20 */ stw r5, 0x20(r3)
/* 8003B838 00037678 7C 7F 02 14 */ add r3, r31, r0
/* 8003B83C 0003767C 90 83 00 24 */ stw r4, 0x24(r3)
/* 8003B840 00037680 4B FE A3 21 */ bl OSGetTick
/* 8003B844 00037684 80 0D E6 40 */ lwz r0, CommandInfoCounter@sda21(r13)
/* 8003B848 00037688 80 8D E6 40 */ lwz r4, CommandInfoCounter@sda21(r13)
/* 8003B84C 0003768C 1C A0 00 14 */ mulli r5, r0, 0x14
/* 8003B850 00037690 38 04 00 01 */ addi r0, r4, 0x1
/* 8003B854 00037694 90 0D E6 40 */ stw r0, CommandInfoCounter@sda21(r13)
/* 8003B858 00037698 7C 9F 2A 14 */ add r4, r31, r5
/* 8003B85C 0003769C 90 64 00 2C */ stw r3, 0x2c(r4)
/* 8003B860 000376A0 7F C3 F3 78 */ mr r3, r30
/* 8003B864 000376A4 4B FE 5F FD */ bl OSRestoreInterrupts
/* 8003B868 000376A8 3C 60 80 4A */ lis r3, __DVDPartInfoBuffer@ha
/* 8003B86C 000376AC 3C C0 80 04 */ lis r6, cbForStateReadingPartitionInfo@ha
/* 8003B870 000376B0 38 BD 00 08 */ addi r5, r29, 0x8
/* 8003B874 000376B4 38 80 00 20 */ li r4, 0x20
/* 8003B878 000376B8 38 63 FA 00 */ addi r3, r3, __DVDPartInfoBuffer@l
/* 8003B87C 000376BC 38 C6 B8 C0 */ addi r6, r6, cbForStateReadingPartitionInfo@l
/* 8003B880 000376C0 48 00 5A 31 */ bl DVDLowUnencryptedRead
/* 8003B884 000376C4 48 00 00 20 */ b lbl_8003B8A4
.global lbl_8003B888
lbl_8003B888:
/* 8003B888 000376C8 38 60 00 27 */ li r3, 0x27
/* 8003B88C 000376CC 38 80 00 00 */ li r4, 0x0
/* 8003B890 000376D0 38 A0 00 00 */ li r5, 0x0
/* 8003B894 000376D4 4B FF E8 AD */ bl StampCommand
/* 8003B898 000376D8 3C 60 80 04 */ lis r3, cbForStateGettingError@ha
/* 8003B89C 000376DC 38 63 A9 D0 */ addi r3, r3, cbForStateGettingError@l
/* 8003B8A0 000376E0 48 00 5E C1 */ bl DVDLowRequestError
.global lbl_8003B8A4
lbl_8003B8A4:
/* 8003B8A4 000376E4 80 01 00 24 */ lwz r0, 0x24(r1)
/* 8003B8A8 000376E8 83 E1 00 1C */ lwz r31, 0x1c(r1)
/* 8003B8AC 000376EC 83 C1 00 18 */ lwz r30, 0x18(r1)
/* 8003B8B0 000376F0 83 A1 00 14 */ lwz r29, 0x14(r1)
/* 8003B8B4 000376F4 7C 08 03 A6 */ mtlr r0
/* 8003B8B8 000376F8 38 21 00 20 */ addi r1, r1, 0x20
/* 8003B8BC 000376FC 4E 80 00 20 */ blr
.global cbForStateReadingPartitionInfo
cbForStateReadingPartitionInfo:
/* 8003B8C0 00037700 94 21 FF E0 */ stwu r1, -0x20(r1)
/* 8003B8C4 00037704 7C 08 02 A6 */ mflr r0
/* 8003B8C8 00037708 90 01 00 24 */ stw r0, 0x24(r1)
/* 8003B8CC 0003770C 93 E1 00 1C */ stw r31, 0x1c(r1)
/* 8003B8D0 00037710 3F E0 80 4A */ lis r31, __DVDTicketViewBuffer@ha
/* 8003B8D4 00037714 3B FF AE 00 */ addi r31, r31, __DVDTicketViewBuffer@l
/* 8003B8D8 00037718 93 C1 00 18 */ stw r30, 0x18(r1)
/* 8003B8DC 0003771C 93 A1 00 14 */ stw r29, 0x14(r1)
/* 8003B8E0 00037720 93 81 00 10 */ stw r28, 0x10(r1)
/* 8003B8E4 00037724 7C 7C 1B 78 */ mr r28, r3
/* 8003B8E8 00037728 4B FE 5F 39 */ bl OSDisableInterrupts
/* 8003B8EC 0003772C 80 0D E6 40 */ lwz r0, CommandInfoCounter@sda21(r13)
/* 8003B8F0 00037730 2C 00 00 00 */ cmpwi r0, 0x0
/* 8003B8F4 00037734 40 82 00 14 */ bne lbl_8003B908
/* 8003B8F8 00037738 3C 80 80 4A */ lis r4, __ErrorInfo@ha
/* 8003B8FC 0003773C 38 84 FC 40 */ addi r4, r4, __ErrorInfo@l
/* 8003B900 00037740 93 84 00 78 */ stw r28, 0x78(r4)
/* 8003B904 00037744 48 00 00 20 */ b lbl_8003B924
.global lbl_8003B908
lbl_8003B908:
/* 8003B908 00037748 80 8D E6 40 */ lwz r4, CommandInfoCounter@sda21(r13)
/* 8003B90C 0003774C 3C A0 80 4A */ lis r5, __ErrorInfo@ha
/* 8003B910 00037750 38 A5 FC 40 */ addi r5, r5, __ErrorInfo@l
/* 8003B914 00037754 38 04 FF FF */ addi r0, r4, -0x1
/* 8003B918 00037758 1C 00 00 14 */ mulli r0, r0, 0x14
/* 8003B91C 0003775C 7C 85 02 14 */ add r4, r5, r0
/* 8003B920 00037760 93 84 00 28 */ stw r28, 0x28(r4)
.global lbl_8003B924
lbl_8003B924:
/* 8003B924 00037764 4B FE 5F 3D */ bl OSRestoreInterrupts
/* 8003B928 00037768 28 1C 00 10 */ cmplwi r28, 0x10
/* 8003B92C 0003776C 40 82 00 1C */ bne lbl_8003B948
/* 8003B930 00037770 3C 60 01 23 */ lis r3, 0x123
/* 8003B934 00037774 3C 80 80 04 */ lis r4, cbForStoreErrorCode2@ha
/* 8003B938 00037778 38 63 45 68 */ addi r3, r3, 0x4568
/* 8003B93C 0003777C 38 84 A7 C0 */ addi r4, r4, cbForStoreErrorCode2@l
/* 8003B940 00037780 48 00 43 41 */ bl __DVDStoreErrorCode
/* 8003B944 00037784 48 00 03 D8 */ b lbl_8003BD1C
.global lbl_8003B948
lbl_8003B948:
/* 8003B948 00037788 28 1C 00 20 */ cmplwi r28, 0x20
/* 8003B94C 0003778C 40 82 00 1C */ bne lbl_8003B968
/* 8003B950 00037790 3C 60 01 23 */ lis r3, 0x123
/* 8003B954 00037794 3C 80 80 04 */ lis r4, cbForStoreErrorCode2@ha
/* 8003B958 00037798 38 63 45 69 */ addi r3, r3, 0x4569
/* 8003B95C 0003779C 38 84 A7 C0 */ addi r4, r4, cbForStoreErrorCode2@l
/* 8003B960 000377A0 48 00 43 21 */ bl __DVDStoreErrorCode
/* 8003B964 000377A4 48 00 03 B8 */ b lbl_8003BD1C
.global lbl_8003B968
lbl_8003B968:
/* 8003B968 000377A8 57 80 07 FF */ clrlwi. r0, r28, 31
/* 8003B96C 000377AC 41 82 03 94 */ beq lbl_8003BD00
/* 8003B970 000377B0 38 00 00 00 */ li r0, 0x0
/* 8003B974 000377B4 38 DF 4C 00 */ addi r6, r31, 0x4c00
/* 8003B978 000377B8 90 0D E6 58 */ stw r0, NumInternalRetry@sda21(r13)
/* 8003B97C 000377BC 3C A0 80 00 */ lis r5, 0x80003198@ha
/* 8003B980 000377C0 90 CD E6 8C */ stw r6, PartInfo@sda21(r13)
/* 8003B984 000377C4 90 0D E6 88 */ stw r0, BootGameInfo@sda21(r13)
/* 8003B988 000377C8 80 05 31 98 */ lwz r0, 0x80003198@l(r5)
/* 8003B98C 000377CC 2C 00 00 00 */ cmpwi r0, 0x0
/* 8003B990 000377D0 41 82 00 20 */ beq lbl_8003B9B0
/* 8003B994 000377D4 90 CD E6 88 */ stw r6, BootGameInfo@sda21(r13)
/* 8003B998 000377D8 80 05 31 94 */ lwz r0, 0x3194(r5)
/* 8003B99C 000377DC 90 06 00 04 */ stw r0, 0x4(r6)
/* 8003B9A0 000377E0 80 6D E6 88 */ lwz r3, BootGameInfo@sda21(r13)
/* 8003B9A4 000377E4 80 05 31 98 */ lwz r0, 0x3198(r5)
/* 8003B9A8 000377E8 90 03 00 00 */ stw r0, 0x0(r3)
/* 8003B9AC 000377EC 48 00 00 44 */ b lbl_8003B9F0
.global lbl_8003B9B0
lbl_8003B9B0:
/* 8003B9B0 000377F0 80 6D E6 90 */ lwz r3, GameToc@sda21(r13)
/* 8003B9B4 000377F4 38 E0 00 00 */ li r7, 0x0
/* 8003B9B8 000377F8 48 00 00 28 */ b lbl_8003B9E0
/* 8003B9BC 000377FC 60 00 00 00 */ nop
.global lbl_8003B9C0
lbl_8003B9C0:
/* 8003B9C0 00037800 80 86 00 04 */ lwz r4, 0x4(r6)
/* 8003B9C4 00037804 80 05 31 94 */ lwz r0, 0x3194(r5)
/* 8003B9C8 00037808 7C 04 00 40 */ cmplw r4, r0
/* 8003B9CC 0003780C 40 82 00 08 */ bne lbl_8003B9D4
/* 8003B9D0 00037810 90 CD E6 88 */ stw r6, BootGameInfo@sda21(r13)
.global lbl_8003B9D4
lbl_8003B9D4:
/* 8003B9D4 00037814 38 C6 00 08 */ addi r6, r6, 0x8
/* 8003B9D8 00037818 90 CD E6 8C */ stw r6, PartInfo@sda21(r13)
/* 8003B9DC 0003781C 38 E7 00 01 */ addi r7, r7, 0x1
.global lbl_8003B9E0
lbl_8003B9E0:
/* 8003B9E0 00037820 80 03 00 00 */ lwz r0, 0x0(r3)
/* 8003B9E4 00037824 7C E4 07 34 */ extsh r4, r7
/* 8003B9E8 00037828 7C 04 00 40 */ cmplw r4, r0
/* 8003B9EC 0003782C 41 80 FF D4 */ blt lbl_8003B9C0
.global lbl_8003B9F0
lbl_8003B9F0:
/* 8003B9F0 00037830 80 0D E6 88 */ lwz r0, BootGameInfo@sda21(r13)
/* 8003B9F4 00037834 2C 00 00 00 */ cmpwi r0, 0x0
/* 8003B9F8 00037838 41 82 02 0C */ beq lbl_8003BC04
/* 8003B9FC 0003783C 80 0D E6 C4 */ lwz r0, CurrCommand@sda21(r13)
/* 8003BA00 00037840 2C 00 00 03 */ cmpwi r0, 0x3
/* 8003BA04 00037844 41 82 00 08 */ beq lbl_8003BA0C
/* 8003BA08 00037848 48 00 01 00 */ b lbl_8003BB08
.global lbl_8003BA0C
lbl_8003BA0C:
/* 8003BA0C 0003784C 3B A0 00 00 */ li r29, 0x0
/* 8003BA10 00037850 93 AD E6 58 */ stw r29, NumInternalRetry@sda21(r13)
/* 8003BA14 00037854 38 60 00 00 */ li r3, 0x0
/* 8003BA18 00037858 48 00 6C D9 */ bl DVDLowClearCoverInterrupt
/* 8003BA1C 0003785C 80 6D E6 88 */ lwz r3, BootGameInfo@sda21(r13)
/* 8003BA20 00037860 83 83 00 00 */ lwz r28, 0x0(r3)
/* 8003BA24 00037864 4B FE 5D FD */ bl OSDisableInterrupts
/* 8003BA28 00037868 80 0D E6 40 */ lwz r0, CommandInfoCounter@sda21(r13)
/* 8003BA2C 0003786C 7C 7E 1B 78 */ mr r30, r3
/* 8003BA30 00037870 28 00 00 05 */ cmplwi r0, 0x5
/* 8003BA34 00037874 41 80 00 08 */ blt lbl_8003BA3C
/* 8003BA38 00037878 93 AD E6 40 */ stw r29, CommandInfoCounter@sda21(r13)
.global lbl_8003BA3C
lbl_8003BA3C:
/* 8003BA3C 0003787C 80 0D E6 40 */ lwz r0, CommandInfoCounter@sda21(r13)
/* 8003BA40 00037880 3F A0 80 4A */ lis r29, __ErrorInfo@ha
/* 8003BA44 00037884 80 6D E6 40 */ lwz r3, CommandInfoCounter@sda21(r13)
/* 8003BA48 00037888 3B BD FC 40 */ addi r29, r29, __ErrorInfo@l
/* 8003BA4C 0003788C 1C A0 00 14 */ mulli r5, r0, 0x14
/* 8003BA50 00037890 80 0D E6 40 */ lwz r0, CommandInfoCounter@sda21(r13)
/* 8003BA54 00037894 38 C0 00 22 */ li r6, 0x22
/* 8003BA58 00037898 38 80 00 00 */ li r4, 0x0
/* 8003BA5C 0003789C 1C 63 00 14 */ mulli r3, r3, 0x14
/* 8003BA60 000378A0 7C BD 2A 14 */ add r5, r29, r5
/* 8003BA64 000378A4 90 C5 00 1C */ stw r6, 0x1c(r5)
/* 8003BA68 000378A8 7C 7D 1A 14 */ add r3, r29, r3
/* 8003BA6C 000378AC 1C 00 00 14 */ mulli r0, r0, 0x14
/* 8003BA70 000378B0 93 83 00 20 */ stw r28, 0x20(r3)
/* 8003BA74 000378B4 7C 7D 02 14 */ add r3, r29, r0
/* 8003BA78 000378B8 90 83 00 24 */ stw r4, 0x24(r3)
/* 8003BA7C 000378BC 4B FE A0 E5 */ bl OSGetTick
/* 8003BA80 000378C0 80 0D E6 40 */ lwz r0, CommandInfoCounter@sda21(r13)
/* 8003BA84 000378C4 80 8D E6 40 */ lwz r4, CommandInfoCounter@sda21(r13)
/* 8003BA88 000378C8 1C A0 00 14 */ mulli r5, r0, 0x14
/* 8003BA8C 000378CC 38 04 00 01 */ addi r0, r4, 0x1
/* 8003BA90 000378D0 90 0D E6 40 */ stw r0, CommandInfoCounter@sda21(r13)
/* 8003BA94 000378D4 7C 9D 2A 14 */ add r4, r29, r5
/* 8003BA98 000378D8 90 64 00 2C */ stw r3, 0x2c(r4)
/* 8003BA9C 000378DC 7F C3 F3 78 */ mr r3, r30
/* 8003BAA0 000378E0 4B FE 5D C1 */ bl OSRestoreInterrupts
/* 8003BAA4 000378E4 3C 60 80 00 */ lis r3, 0x80003187@ha
/* 8003BAA8 000378E8 88 03 31 87 */ lbz r0, 0x80003187@l(r3)
/* 8003BAAC 000378EC 28 00 00 80 */ cmplwi r0, 0x80
/* 8003BAB0 000378F0 40 82 00 30 */ bne lbl_8003BAE0
/* 8003BAB4 000378F4 80 6D E6 88 */ lwz r3, BootGameInfo@sda21(r13)
/* 8003BAB8 000378F8 3D 20 80 04 */ lis r9, cbForStateOpenPartition@ha
/* 8003BABC 000378FC 80 AD E6 A0 */ lwz r5, __DVDNumTmdBytes@sda21(r13)
/* 8003BAC0 00037900 38 9F 00 00 */ addi r4, r31, 0x0
/* 8003BAC4 00037904 80 63 00 00 */ lwz r3, 0x0(r3)
/* 8003BAC8 00037908 38 DF 01 00 */ addi r6, r31, 0x100
/* 8003BACC 0003790C 39 29 BD 40 */ addi r9, r9, cbForStateOpenPartition@l
/* 8003BAD0 00037910 38 E0 00 00 */ li r7, 0x0
/* 8003BAD4 00037914 39 00 00 00 */ li r8, 0x0
/* 8003BAD8 00037918 48 00 4F 49 */ bl DVDLowOpenPartitionWithTmdAndTicketView
/* 8003BADC 0003791C 48 00 02 40 */ b lbl_8003BD1C
.global lbl_8003BAE0
lbl_8003BAE0:
/* 8003BAE0 00037920 80 6D E6 88 */ lwz r3, BootGameInfo@sda21(r13)
/* 8003BAE4 00037924 3D 00 80 04 */ lis r8, cbForStateOpenPartition@ha
/* 8003BAE8 00037928 38 FF 01 00 */ addi r7, r31, 0x100
/* 8003BAEC 0003792C 38 80 00 00 */ li r4, 0x0
/* 8003BAF0 00037930 80 63 00 00 */ lwz r3, 0x0(r3)
/* 8003BAF4 00037934 39 08 BD 40 */ addi r8, r8, cbForStateOpenPartition@l
/* 8003BAF8 00037938 38 A0 00 00 */ li r5, 0x0
/* 8003BAFC 0003793C 38 C0 00 00 */ li r6, 0x0
/* 8003BB00 00037940 48 00 4C B1 */ bl DVDLowOpenPartition
/* 8003BB04 00037944 48 00 02 18 */ b lbl_8003BD1C
.global lbl_8003BB08
lbl_8003BB08:
/* 8003BB08 00037948 3B A0 00 00 */ li r29, 0x0
/* 8003BB0C 0003794C 93 AD E6 58 */ stw r29, NumInternalRetry@sda21(r13)
/* 8003BB10 00037950 38 60 00 00 */ li r3, 0x0
/* 8003BB14 00037954 48 00 6B DD */ bl DVDLowClearCoverInterrupt
/* 8003BB18 00037958 80 6D E6 88 */ lwz r3, BootGameInfo@sda21(r13)
/* 8003BB1C 0003795C 83 83 00 00 */ lwz r28, 0x0(r3)
/* 8003BB20 00037960 4B FE 5D 01 */ bl OSDisableInterrupts
/* 8003BB24 00037964 80 0D E6 40 */ lwz r0, CommandInfoCounter@sda21(r13)
/* 8003BB28 00037968 7C 7E 1B 78 */ mr r30, r3
/* 8003BB2C 0003796C 28 00 00 05 */ cmplwi r0, 0x5
/* 8003BB30 00037970 41 80 00 08 */ blt lbl_8003BB38
/* 8003BB34 00037974 93 AD E6 40 */ stw r29, CommandInfoCounter@sda21(r13)
.global lbl_8003BB38
lbl_8003BB38:
/* 8003BB38 00037978 80 0D E6 40 */ lwz r0, CommandInfoCounter@sda21(r13)
/* 8003BB3C 0003797C 3F A0 80 4A */ lis r29, __ErrorInfo@ha
/* 8003BB40 00037980 80 6D E6 40 */ lwz r3, CommandInfoCounter@sda21(r13)
/* 8003BB44 00037984 3B BD FC 40 */ addi r29, r29, __ErrorInfo@l
/* 8003BB48 00037988 1C A0 00 14 */ mulli r5, r0, 0x14
/* 8003BB4C 0003798C 80 0D E6 40 */ lwz r0, CommandInfoCounter@sda21(r13)
/* 8003BB50 00037990 38 C0 00 22 */ li r6, 0x22
/* 8003BB54 00037994 38 80 00 00 */ li r4, 0x0
/* 8003BB58 00037998 1C 63 00 14 */ mulli r3, r3, 0x14
/* 8003BB5C 0003799C 7C BD 2A 14 */ add r5, r29, r5
/* 8003BB60 000379A0 90 C5 00 1C */ stw r6, 0x1c(r5)
/* 8003BB64 000379A4 7C 7D 1A 14 */ add r3, r29, r3
/* 8003BB68 000379A8 1C 00 00 14 */ mulli r0, r0, 0x14
/* 8003BB6C 000379AC 93 83 00 20 */ stw r28, 0x20(r3)
/* 8003BB70 000379B0 7C 7D 02 14 */ add r3, r29, r0
/* 8003BB74 000379B4 90 83 00 24 */ stw r4, 0x24(r3)
/* 8003BB78 000379B8 4B FE 9F E9 */ bl OSGetTick
/* 8003BB7C 000379BC 80 0D E6 40 */ lwz r0, CommandInfoCounter@sda21(r13)
/* 8003BB80 000379C0 80 8D E6 40 */ lwz r4, CommandInfoCounter@sda21(r13)
/* 8003BB84 000379C4 1C A0 00 14 */ mulli r5, r0, 0x14
/* 8003BB88 000379C8 38 04 00 01 */ addi r0, r4, 0x1
/* 8003BB8C 000379CC 90 0D E6 40 */ stw r0, CommandInfoCounter@sda21(r13)
/* 8003BB90 000379D0 7C 9D 2A 14 */ add r4, r29, r5
/* 8003BB94 000379D4 90 64 00 2C */ stw r3, 0x2c(r4)
/* 8003BB98 000379D8 7F C3 F3 78 */ mr r3, r30
/* 8003BB9C 000379DC 4B FE 5C C5 */ bl OSRestoreInterrupts
/* 8003BBA0 000379E0 3C 60 80 00 */ lis r3, 0x80003187@ha
/* 8003BBA4 000379E4 88 03 31 87 */ lbz r0, 0x80003187@l(r3)
/* 8003BBA8 000379E8 28 00 00 80 */ cmplwi r0, 0x80
/* 8003BBAC 000379EC 40 82 00 30 */ bne lbl_8003BBDC
/* 8003BBB0 000379F0 80 6D E6 88 */ lwz r3, BootGameInfo@sda21(r13)
/* 8003BBB4 000379F4 3D 20 80 04 */ lis r9, cbForStateOpenPartition2@ha
/* 8003BBB8 000379F8 80 AD E6 A0 */ lwz r5, __DVDNumTmdBytes@sda21(r13)
/* 8003BBBC 000379FC 38 9F 00 00 */ addi r4, r31, 0x0
/* 8003BBC0 00037A00 80 63 00 00 */ lwz r3, 0x0(r3)
/* 8003BBC4 00037A04 38 DF 01 00 */ addi r6, r31, 0x100
/* 8003BBC8 00037A08 39 29 BE D0 */ addi r9, r9, cbForStateOpenPartition2@l
/* 8003BBCC 00037A0C 38 E0 00 00 */ li r7, 0x0
/* 8003BBD0 00037A10 39 00 00 00 */ li r8, 0x0
/* 8003BBD4 00037A14 48 00 4E 4D */ bl DVDLowOpenPartitionWithTmdAndTicketView
/* 8003BBD8 00037A18 48 00 01 44 */ b lbl_8003BD1C
.global lbl_8003BBDC
lbl_8003BBDC:
/* 8003BBDC 00037A1C 80 6D E6 88 */ lwz r3, BootGameInfo@sda21(r13)
/* 8003BBE0 00037A20 3D 00 80 04 */ lis r8, cbForStateOpenPartition2@ha
/* 8003BBE4 00037A24 38 FF 01 00 */ addi r7, r31, 0x100
/* 8003BBE8 00037A28 38 80 00 00 */ li r4, 0x0
/* 8003BBEC 00037A2C 80 63 00 00 */ lwz r3, 0x0(r3)
/* 8003BBF0 00037A30 39 08 BE D0 */ addi r8, r8, cbForStateOpenPartition2@l
/* 8003BBF4 00037A34 38 A0 00 00 */ li r5, 0x0
/* 8003BBF8 00037A38 38 C0 00 00 */ li r6, 0x0
/* 8003BBFC 00037A3C 48 00 4B B5 */ bl DVDLowOpenPartition
/* 8003BC00 00037A40 48 00 01 1C */ b lbl_8003BD1C
.global lbl_8003BC04
lbl_8003BC04:
/* 8003BC04 00037A44 80 0D E6 50 */ lwz r0, Canceling@sda21(r13)
/* 8003BC08 00037A48 2C 00 00 00 */ cmpwi r0, 0x0
/* 8003BC0C 00037A4C 41 82 00 6C */ beq lbl_8003BC78
/* 8003BC10 00037A50 83 8D E6 D0 */ lwz r28, executing@sda21(r13)
/* 8003BC14 00037A54 38 7F 4B 20 */ addi r3, r31, 0x4b20
/* 8003BC18 00037A58 38 00 00 01 */ li r0, 0x1
/* 8003BC1C 00037A5C 90 0D E6 54 */ stw r0, ResumeFromHere@sda21(r13)
/* 8003BC20 00037A60 38 80 00 00 */ li r4, 0x0
/* 8003BC24 00037A64 90 8D E6 50 */ stw r4, Canceling@sda21(r13)
/* 8003BC28 00037A68 38 00 00 0A */ li r0, 0xa
/* 8003BC2C 00037A6C 90 6D E6 D0 */ stw r3, executing@sda21(r13)
/* 8003BC30 00037A70 90 1C 00 0C */ stw r0, 0xc(r28)
/* 8003BC34 00037A74 81 9C 00 28 */ lwz r12, 0x28(r28)
/* 8003BC38 00037A78 2C 0C 00 00 */ cmpwi r12, 0x0
/* 8003BC3C 00037A7C 41 82 00 14 */ beq lbl_8003BC50
/* 8003BC40 00037A80 7F 84 E3 78 */ mr r4, r28
/* 8003BC44 00037A84 38 60 FF FD */ li r3, -0x3
/* 8003BC48 00037A88 7D 89 03 A6 */ mtctr r12
/* 8003BC4C 00037A8C 4E 80 04 21 */ bctrl
.global lbl_8003BC50
lbl_8003BC50:
/* 8003BC50 00037A90 81 8D E6 C0 */ lwz r12, CancelCallback@sda21(r13)
/* 8003BC54 00037A94 2C 0C 00 00 */ cmpwi r12, 0x0
/* 8003BC58 00037A98 41 82 00 14 */ beq lbl_8003BC6C
/* 8003BC5C 00037A9C 7F 84 E3 78 */ mr r4, r28
/* 8003BC60 00037AA0 38 60 00 00 */ li r3, 0x0
/* 8003BC64 00037AA4 7D 89 03 A6 */ mtctr r12
/* 8003BC68 00037AA8 4E 80 04 21 */ bctrl
.global lbl_8003BC6C
lbl_8003BC6C:
/* 8003BC6C 00037AAC 48 00 12 85 */ bl stateReady
/* 8003BC70 00037AB0 38 00 00 01 */ li r0, 0x1
/* 8003BC74 00037AB4 48 00 00 08 */ b lbl_8003BC7C
.global lbl_8003BC78
lbl_8003BC78:
/* 8003BC78 00037AB8 38 00 00 00 */ li r0, 0x0
.global lbl_8003BC7C
lbl_8003BC7C:
/* 8003BC7C 00037ABC 2C 00 00 00 */ cmpwi r0, 0x0
/* 8003BC80 00037AC0 40 82 00 9C */ bne lbl_8003BD1C
/* 8003BC84 00037AC4 80 8D E6 D0 */ lwz r4, executing@sda21(r13)
/* 8003BC88 00037AC8 38 00 00 06 */ li r0, 0x6
/* 8003BC8C 00037ACC 38 60 00 01 */ li r3, 0x1
/* 8003BC90 00037AD0 90 04 00 0C */ stw r0, 0xc(r4)
/* 8003BC94 00037AD4 80 0D E6 64 */ lwz r0, WaitingForCoverOpen@sda21(r13)
/* 8003BC98 00037AD8 90 6D E6 B0 */ stw r3, MotorState@sda21(r13)
/* 8003BC9C 00037ADC 2C 00 00 00 */ cmpwi r0, 0x0
/* 8003BCA0 00037AE0 40 82 00 7C */ bne lbl_8003BD1C
/* 8003BCA4 00037AE4 80 0D E6 68 */ lwz r0, WaitingForCoverClose@sda21(r13)
/* 8003BCA8 00037AE8 2C 00 00 00 */ cmpwi r0, 0x0
/* 8003BCAC 00037AEC 40 82 00 70 */ bne lbl_8003BD1C
/* 8003BCB0 00037AF0 90 6D E6 64 */ stw r3, WaitingForCoverOpen@sda21(r13)
/* 8003BCB4 00037AF4 38 7F 4B 80 */ addi r3, r31, 0x4b80
/* 8003BCB8 00037AF8 4B FD FB 49 */ bl OSCreateAlarm
/* 8003BCBC 00037AFC 4B FE 9E A5 */ bl OSGetTick
/* 8003BCC0 00037B00 3C A0 80 00 */ lis r5, 0x800000F8@ha
/* 8003BCC4 00037B04 3C 80 10 62 */ lis r4, 0x1062
/* 8003BCC8 00037B08 80 05 00 F8 */ lwz r0, 0x800000F8@l(r5)
/* 8003BCCC 00037B0C 3D 20 80 04 */ lis r9, CoverAlarmHandler@ha
/* 8003BCD0 00037B10 7C 66 1B 78 */ mr r6, r3
/* 8003BCD4 00037B14 38 84 4D D3 */ addi r4, r4, 0x4dd3
/* 8003BCD8 00037B18 54 00 F0 BE */ srwi r0, r0, 2
/* 8003BCDC 00037B1C 38 7F 4B 80 */ addi r3, r31, 0x4b80
/* 8003BCE0 00037B20 7C 04 00 16 */ mulhwu r0, r4, r0
/* 8003BCE4 00037B24 39 29 CE C0 */ addi r9, r9, CoverAlarmHandler@l
/* 8003BCE8 00037B28 38 A0 00 00 */ li r5, 0x0
/* 8003BCEC 00037B2C 38 E0 00 00 */ li r7, 0x0
/* 8003BCF0 00037B30 54 00 D1 BE */ srwi r0, r0, 6
/* 8003BCF4 00037B34 1D 00 00 64 */ mulli r8, r0, 0x64
/* 8003BCF8 00037B38 4B FD FD D9 */ bl OSSetPeriodicAlarm
/* 8003BCFC 00037B3C 48 00 00 20 */ b lbl_8003BD1C
.global lbl_8003BD00
lbl_8003BD00:
/* 8003BD00 00037B40 38 60 00 27 */ li r3, 0x27
/* 8003BD04 00037B44 38 80 00 00 */ li r4, 0x0
/* 8003BD08 00037B48 38 A0 00 00 */ li r5, 0x0
/* 8003BD0C 00037B4C 4B FF E4 35 */ bl StampCommand
/* 8003BD10 00037B50 3C 60 80 04 */ lis r3, cbForStateGettingError@ha
/* 8003BD14 00037B54 38 63 A9 D0 */ addi r3, r3, cbForStateGettingError@l
/* 8003BD18 00037B58 48 00 5A 49 */ bl DVDLowRequestError
.global lbl_8003BD1C
lbl_8003BD1C:
/* 8003BD1C 00037B5C 80 01 00 24 */ lwz r0, 0x24(r1)
/* 8003BD20 00037B60 83 E1 00 1C */ lwz r31, 0x1c(r1)
/* 8003BD24 00037B64 83 C1 00 18 */ lwz r30, 0x18(r1)
/* 8003BD28 00037B68 83 A1 00 14 */ lwz r29, 0x14(r1)
/* 8003BD2C 00037B6C 83 81 00 10 */ lwz r28, 0x10(r1)
/* 8003BD30 00037B70 7C 08 03 A6 */ mtlr r0
/* 8003BD34 00037B74 38 21 00 20 */ addi r1, r1, 0x20
/* 8003BD38 00037B78 4E 80 00 20 */ blr
/* 8003BD3C 00037B7C 00 00 00 00 */ .4byte 0x00000000
.global cbForStateOpenPartition
cbForStateOpenPartition:
/* 8003BD40 00037B80 94 21 FF F0 */ stwu r1, -0x10(r1)
/* 8003BD44 00037B84 7C 08 02 A6 */ mflr r0
/* 8003BD48 00037B88 90 01 00 14 */ stw r0, 0x14(r1)
/* 8003BD4C 00037B8C 93 E1 00 0C */ stw r31, 0xc(r1)
/* 8003BD50 00037B90 93 C1 00 08 */ stw r30, 0x8(r1)
/* 8003BD54 00037B94 7C 7E 1B 78 */ mr r30, r3
/* 8003BD58 00037B98 4B FE 5A C9 */ bl OSDisableInterrupts
/* 8003BD5C 00037B9C 80 0D E6 40 */ lwz r0, CommandInfoCounter@sda21(r13)
/* 8003BD60 00037BA0 2C 00 00 00 */ cmpwi r0, 0x0
/* 8003BD64 00037BA4 40 82 00 14 */ bne lbl_8003BD78
/* 8003BD68 00037BA8 3C 80 80 4A */ lis r4, __ErrorInfo@ha
/* 8003BD6C 00037BAC 38 84 FC 40 */ addi r4, r4, __ErrorInfo@l
/* 8003BD70 00037BB0 93 C4 00 78 */ stw r30, 0x78(r4)
/* 8003BD74 00037BB4 48 00 00 20 */ b lbl_8003BD94
.global lbl_8003BD78
lbl_8003BD78:
/* 8003BD78 00037BB8 80 8D E6 40 */ lwz r4, CommandInfoCounter@sda21(r13)
/* 8003BD7C 00037BBC 3C A0 80 4A */ lis r5, __ErrorInfo@ha
/* 8003BD80 00037BC0 38 A5 FC 40 */ addi r5, r5, __ErrorInfo@l
/* 8003BD84 00037BC4 38 04 FF FF */ addi r0, r4, -0x1
/* 8003BD88 00037BC8 1C 00 00 14 */ mulli r0, r0, 0x14
/* 8003BD8C 00037BCC 7C 85 02 14 */ add r4, r5, r0
/* 8003BD90 00037BD0 93 C4 00 28 */ stw r30, 0x28(r4)
.global lbl_8003BD94
lbl_8003BD94:
/* 8003BD94 00037BD4 4B FE 5A CD */ bl OSRestoreInterrupts
/* 8003BD98 00037BD8 28 1E 00 10 */ cmplwi r30, 0x10
/* 8003BD9C 00037BDC 40 82 00 1C */ bne lbl_8003BDB8
/* 8003BDA0 00037BE0 3C 60 01 23 */ lis r3, 0x123
/* 8003BDA4 00037BE4 3C 80 80 04 */ lis r4, cbForStoreErrorCode2@ha
/* 8003BDA8 00037BE8 38 63 45 68 */ addi r3, r3, 0x4568
/* 8003BDAC 00037BEC 38 84 A7 C0 */ addi r4, r4, cbForStoreErrorCode2@l
/* 8003BDB0 00037BF0 48 00 3E D1 */ bl __DVDStoreErrorCode
/* 8003BDB4 00037BF4 48 00 00 FC */ b lbl_8003BEB0
.global lbl_8003BDB8
lbl_8003BDB8:
/* 8003BDB8 00037BF8 28 1E 00 20 */ cmplwi r30, 0x20
/* 8003BDBC 00037BFC 40 82 00 1C */ bne lbl_8003BDD8
/* 8003BDC0 00037C00 3C 60 01 23 */ lis r3, 0x123
/* 8003BDC4 00037C04 3C 80 80 04 */ lis r4, cbForStoreErrorCode2@ha
/* 8003BDC8 00037C08 38 63 45 69 */ addi r3, r3, 0x4569
/* 8003BDCC 00037C0C 38 84 A7 C0 */ addi r4, r4, cbForStoreErrorCode2@l
/* 8003BDD0 00037C10 48 00 3E B1 */ bl __DVDStoreErrorCode
/* 8003BDD4 00037C14 48 00 00 DC */ b lbl_8003BEB0
.global lbl_8003BDD8
lbl_8003BDD8:
/* 8003BDD8 00037C18 57 C0 07 FF */ clrlwi. r0, r30, 31
/* 8003BDDC 00037C1C 41 82 00 B8 */ beq lbl_8003BE94
/* 8003BDE0 00037C20 3B C0 00 00 */ li r30, 0x0
/* 8003BDE4 00037C24 93 CD E6 58 */ stw r30, NumInternalRetry@sda21(r13)
/* 8003BDE8 00037C28 38 60 00 00 */ li r3, 0x0
/* 8003BDEC 00037C2C 48 00 69 05 */ bl DVDLowClearCoverInterrupt
/* 8003BDF0 00037C30 4B FE 5A 31 */ bl OSDisableInterrupts
/* 8003BDF4 00037C34 80 0D E6 40 */ lwz r0, CommandInfoCounter@sda21(r13)
/* 8003BDF8 00037C38 7C 7F 1B 78 */ mr r31, r3
/* 8003BDFC 00037C3C 28 00 00 05 */ cmplwi r0, 0x5
/* 8003BE00 00037C40 41 80 00 08 */ blt lbl_8003BE08
/* 8003BE04 00037C44 93 CD E6 40 */ stw r30, CommandInfoCounter@sda21(r13)
.global lbl_8003BE08
lbl_8003BE08:
/* 8003BE08 00037C48 80 0D E6 40 */ lwz r0, CommandInfoCounter@sda21(r13)
/* 8003BE0C 00037C4C 3F C0 80 4A */ lis r30, __ErrorInfo@ha
/* 8003BE10 00037C50 80 6D E6 40 */ lwz r3, CommandInfoCounter@sda21(r13)
/* 8003BE14 00037C54 3B DE FC 40 */ addi r30, r30, __ErrorInfo@l
/* 8003BE18 00037C58 1C C0 00 14 */ mulli r6, r0, 0x14
/* 8003BE1C 00037C5C 80 0D E6 40 */ lwz r0, CommandInfoCounter@sda21(r13)
/* 8003BE20 00037C60 38 E0 00 01 */ li r7, 0x1
/* 8003BE24 00037C64 38 A0 01 08 */ li r5, 0x108
/* 8003BE28 00037C68 1C 63 00 14 */ mulli r3, r3, 0x14
/* 8003BE2C 00037C6C 38 80 00 20 */ li r4, 0x20
/* 8003BE30 00037C70 7C DE 32 14 */ add r6, r30, r6
/* 8003BE34 00037C74 90 E6 00 1C */ stw r7, 0x1c(r6)
/* 8003BE38 00037C78 7C 7E 1A 14 */ add r3, r30, r3
/* 8003BE3C 00037C7C 1C 00 00 14 */ mulli r0, r0, 0x14
/* 8003BE40 00037C80 90 A3 00 20 */ stw r5, 0x20(r3)
/* 8003BE44 00037C84 7C 7E 02 14 */ add r3, r30, r0
/* 8003BE48 00037C88 90 83 00 24 */ stw r4, 0x24(r3)
/* 8003BE4C 00037C8C 4B FE 9D 15 */ bl OSGetTick
/* 8003BE50 00037C90 80 0D E6 40 */ lwz r0, CommandInfoCounter@sda21(r13)
/* 8003BE54 00037C94 80 8D E6 40 */ lwz r4, CommandInfoCounter@sda21(r13)
/* 8003BE58 00037C98 1C A0 00 14 */ mulli r5, r0, 0x14
/* 8003BE5C 00037C9C 38 04 00 01 */ addi r0, r4, 0x1
/* 8003BE60 00037CA0 90 0D E6 40 */ stw r0, CommandInfoCounter@sda21(r13)
/* 8003BE64 00037CA4 7C 9E 2A 14 */ add r4, r30, r5
/* 8003BE68 00037CA8 90 64 00 2C */ stw r3, 0x2c(r4)
/* 8003BE6C 00037CAC 7F E3 FB 78 */ mr r3, r31
/* 8003BE70 00037CB0 4B FE 59 F1 */ bl OSRestoreInterrupts
/* 8003BE74 00037CB4 3C 60 80 4A */ lis r3, BB2@ha
/* 8003BE78 00037CB8 3C C0 80 04 */ lis r6, cbForStateCheckID2@ha
/* 8003BE7C 00037CBC 38 63 F9 00 */ addi r3, r3, BB2@l
/* 8003BE80 00037CC0 38 80 00 20 */ li r4, 0x20
/* 8003BE84 00037CC4 38 C6 C2 10 */ addi r6, r6, cbForStateCheckID2@l
/* 8003BE88 00037CC8 38 A0 01 08 */ li r5, 0x108
/* 8003BE8C 00037CCC 48 00 60 A5 */ bl DVDLowRead
/* 8003BE90 00037CD0 48 00 00 20 */ b lbl_8003BEB0
.global lbl_8003BE94
lbl_8003BE94:
/* 8003BE94 00037CD4 38 60 00 27 */ li r3, 0x27
/* 8003BE98 00037CD8 38 80 00 00 */ li r4, 0x0
/* 8003BE9C 00037CDC 38 A0 00 00 */ li r5, 0x0
/* 8003BEA0 00037CE0 4B FF E2 A1 */ bl StampCommand
/* 8003BEA4 00037CE4 3C 60 80 04 */ lis r3, cbForStateGettingError@ha
/* 8003BEA8 00037CE8 38 63 A9 D0 */ addi r3, r3, cbForStateGettingError@l
/* 8003BEAC 00037CEC 48 00 58 B5 */ bl DVDLowRequestError
.global lbl_8003BEB0
lbl_8003BEB0:
/* 8003BEB0 00037CF0 80 01 00 14 */ lwz r0, 0x14(r1)
/* 8003BEB4 00037CF4 83 E1 00 0C */ lwz r31, 0xc(r1)
/* 8003BEB8 00037CF8 83 C1 00 08 */ lwz r30, 0x8(r1)
/* 8003BEBC 00037CFC 7C 08 03 A6 */ mtlr r0
/* 8003BEC0 00037D00 38 21 00 10 */ addi r1, r1, 0x10
/* 8003BEC4 00037D04 4E 80 00 20 */ blr
/* 8003BEC8 00037D08 00 00 00 00 */ .4byte 0x00000000
/* 8003BECC 00037D0C 00 00 00 00 */ .4byte 0x00000000
.global cbForStateOpenPartition2
cbForStateOpenPartition2:
/* 8003BED0 00037D10 94 21 FF F0 */ stwu r1, -0x10(r1)
/* 8003BED4 00037D14 7C 08 02 A6 */ mflr r0
/* 8003BED8 00037D18 90 01 00 14 */ stw r0, 0x14(r1)
/* 8003BEDC 00037D1C 93 E1 00 0C */ stw r31, 0xc(r1)
/* 8003BEE0 00037D20 7C 7F 1B 78 */ mr r31, r3
/* 8003BEE4 00037D24 4B FE 59 3D */ bl OSDisableInterrupts
/* 8003BEE8 00037D28 80 0D E6 40 */ lwz r0, CommandInfoCounter@sda21(r13)
/* 8003BEEC 00037D2C 2C 00 00 00 */ cmpwi r0, 0x0
/* 8003BEF0 00037D30 40 82 00 14 */ bne lbl_8003BF04
/* 8003BEF4 00037D34 3C 80 80 4A */ lis r4, __ErrorInfo@ha
/* 8003BEF8 00037D38 38 84 FC 40 */ addi r4, r4, __ErrorInfo@l
/* 8003BEFC 00037D3C 93 E4 00 78 */ stw r31, 0x78(r4)
/* 8003BF00 00037D40 48 00 00 1C */ b lbl_8003BF1C
.global lbl_8003BF04
lbl_8003BF04:
/* 8003BF04 00037D44 80 0D E6 40 */ lwz r0, CommandInfoCounter@sda21(r13)
/* 8003BF08 00037D48 3C 80 80 4A */ lis r4, __ErrorInfo@ha
/* 8003BF0C 00037D4C 38 84 FC 40 */ addi r4, r4, __ErrorInfo@l
/* 8003BF10 00037D50 1C 00 00 14 */ mulli r0, r0, 0x14
/* 8003BF14 00037D54 7C 84 02 14 */ add r4, r4, r0
/* 8003BF18 00037D58 93 E4 00 14 */ stw r31, 0x14(r4)
.global lbl_8003BF1C
lbl_8003BF1C:
/* 8003BF1C 00037D5C 4B FE 59 45 */ bl OSRestoreInterrupts
/* 8003BF20 00037D60 28 1F 00 10 */ cmplwi r31, 0x10
/* 8003BF24 00037D64 40 82 00 1C */ bne lbl_8003BF40
/* 8003BF28 00037D68 3C 60 01 23 */ lis r3, 0x123
/* 8003BF2C 00037D6C 3C 80 80 04 */ lis r4, cbForStoreErrorCode2@ha
/* 8003BF30 00037D70 38 63 45 68 */ addi r3, r3, 0x4568
/* 8003BF34 00037D74 38 84 A7 C0 */ addi r4, r4, cbForStoreErrorCode2@l
/* 8003BF38 00037D78 48 00 3D 49 */ bl __DVDStoreErrorCode
/* 8003BF3C 00037D7C 48 00 00 E4 */ b lbl_8003C020
.global lbl_8003BF40
lbl_8003BF40:
/* 8003BF40 00037D80 28 1F 00 20 */ cmplwi r31, 0x20
/* 8003BF44 00037D84 40 82 00 1C */ bne lbl_8003BF60
/* 8003BF48 00037D88 3C 60 01 23 */ lis r3, 0x123
/* 8003BF4C 00037D8C 3C 80 80 04 */ lis r4, cbForStoreErrorCode2@ha
/* 8003BF50 00037D90 38 63 45 69 */ addi r3, r3, 0x4569
/* 8003BF54 00037D94 38 84 A7 C0 */ addi r4, r4, cbForStoreErrorCode2@l
/* 8003BF58 00037D98 48 00 3D 29 */ bl __DVDStoreErrorCode
/* 8003BF5C 00037D9C 48 00 00 C4 */ b lbl_8003C020
.global lbl_8003BF60
lbl_8003BF60:
/* 8003BF60 00037DA0 57 E0 07 FF */ clrlwi. r0, r31, 31
/* 8003BF64 00037DA4 41 82 00 A0 */ beq lbl_8003C004
/* 8003BF68 00037DA8 38 80 00 00 */ li r4, 0x0
/* 8003BF6C 00037DAC 90 8D E6 58 */ stw r4, NumInternalRetry@sda21(r13)
/* 8003BF70 00037DB0 80 0D E6 50 */ lwz r0, Canceling@sda21(r13)
/* 8003BF74 00037DB4 2C 00 00 00 */ cmpwi r0, 0x0
/* 8003BF78 00037DB8 41 82 00 68 */ beq lbl_8003BFE0
/* 8003BF7C 00037DBC 83 ED E6 D0 */ lwz r31, executing@sda21(r13)
/* 8003BF80 00037DC0 3C 60 80 4A */ lis r3, DummyCommandBlock@ha
/* 8003BF84 00037DC4 90 8D E6 54 */ stw r4, ResumeFromHere@sda21(r13)
/* 8003BF88 00037DC8 38 63 F9 20 */ addi r3, r3, DummyCommandBlock@l
/* 8003BF8C 00037DCC 38 00 00 0A */ li r0, 0xa
/* 8003BF90 00037DD0 90 8D E6 50 */ stw r4, Canceling@sda21(r13)
/* 8003BF94 00037DD4 90 6D E6 D0 */ stw r3, executing@sda21(r13)
/* 8003BF98 00037DD8 90 1F 00 0C */ stw r0, 0xc(r31)
/* 8003BF9C 00037DDC 81 9F 00 28 */ lwz r12, 0x28(r31)
/* 8003BFA0 00037DE0 2C 0C 00 00 */ cmpwi r12, 0x0
/* 8003BFA4 00037DE4 41 82 00 14 */ beq lbl_8003BFB8
/* 8003BFA8 00037DE8 7F E4 FB 78 */ mr r4, r31
/* 8003BFAC 00037DEC 38 60 FF FD */ li r3, -0x3
/* 8003BFB0 00037DF0 7D 89 03 A6 */ mtctr r12
/* 8003BFB4 00037DF4 4E 80 04 21 */ bctrl
.global lbl_8003BFB8
lbl_8003BFB8:
/* 8003BFB8 00037DF8 81 8D E6 C0 */ lwz r12, CancelCallback@sda21(r13)
/* 8003BFBC 00037DFC 2C 0C 00 00 */ cmpwi r12, 0x0
/* 8003BFC0 00037E00 41 82 00 14 */ beq lbl_8003BFD4
/* 8003BFC4 00037E04 7F E4 FB 78 */ mr r4, r31
/* 8003BFC8 00037E08 38 60 00 00 */ li r3, 0x0
/* 8003BFCC 00037E0C 7D 89 03 A6 */ mtctr r12
/* 8003BFD0 00037E10 4E 80 04 21 */ bctrl
.global lbl_8003BFD4
lbl_8003BFD4:
/* 8003BFD4 00037E14 48 00 0F 1D */ bl stateReady
/* 8003BFD8 00037E18 38 00 00 01 */ li r0, 0x1
/* 8003BFDC 00037E1C 48 00 00 08 */ b lbl_8003BFE4
.global lbl_8003BFE0
lbl_8003BFE0:
/* 8003BFE0 00037E20 38 00 00 00 */ li r0, 0x0
.global lbl_8003BFE4
lbl_8003BFE4:
/* 8003BFE4 00037E24 2C 00 00 00 */ cmpwi r0, 0x0
/* 8003BFE8 00037E28 40 82 00 38 */ bne lbl_8003C020
/* 8003BFEC 00037E2C 80 6D E6 D0 */ lwz r3, executing@sda21(r13)
/* 8003BFF0 00037E30 38 00 00 01 */ li r0, 0x1
/* 8003BFF4 00037E34 90 03 00 0C */ stw r0, 0xc(r3)
/* 8003BFF8 00037E38 80 6D E6 D0 */ lwz r3, executing@sda21(r13)
/* 8003BFFC 00037E3C 48 00 12 15 */ bl stateBusy
/* 8003C000 00037E40 48 00 00 20 */ b lbl_8003C020
.global lbl_8003C004
lbl_8003C004:
/* 8003C004 00037E44 38 60 00 27 */ li r3, 0x27
/* 8003C008 00037E48 38 80 00 00 */ li r4, 0x0
/* 8003C00C 00037E4C 38 A0 00 00 */ li r5, 0x0
/* 8003C010 00037E50 4B FF E1 31 */ bl StampCommand
/* 8003C014 00037E54 3C 60 80 04 */ lis r3, cbForStateGettingError@ha
/* 8003C018 00037E58 38 63 A9 D0 */ addi r3, r3, cbForStateGettingError@l
/* 8003C01C 00037E5C 48 00 57 45 */ bl DVDLowRequestError
.global lbl_8003C020
lbl_8003C020:
/* 8003C020 00037E60 80 01 00 14 */ lwz r0, 0x14(r1)
/* 8003C024 00037E64 83 E1 00 0C */ lwz r31, 0xc(r1)
/* 8003C028 00037E68 7C 08 03 A6 */ mtlr r0
/* 8003C02C 00037E6C 38 21 00 10 */ addi r1, r1, 0x10
/* 8003C030 00037E70 4E 80 00 20 */ blr
/* 8003C034 00037E74 00 00 00 00 */ .4byte 0x00000000
/* 8003C038 00037E78 00 00 00 00 */ .4byte 0x00000000
/* 8003C03C 00037E7C 00 00 00 00 */ .4byte 0x00000000
.global cbForStateCheckID1
cbForStateCheckID1:
/* 8003C040 00037E80 94 21 FF F0 */ stwu r1, -0x10(r1)
/* 8003C044 00037E84 7C 08 02 A6 */ mflr r0
/* 8003C048 00037E88 90 01 00 14 */ stw r0, 0x14(r1)
/* 8003C04C 00037E8C 93 E1 00 0C */ stw r31, 0xc(r1)
/* 8003C050 00037E90 7C 7F 1B 78 */ mr r31, r3
/* 8003C054 00037E94 4B FE 57 CD */ bl OSDisableInterrupts
/* 8003C058 00037E98 80 0D E6 40 */ lwz r0, CommandInfoCounter@sda21(r13)
/* 8003C05C 00037E9C 2C 00 00 00 */ cmpwi r0, 0x0
/* 8003C060 00037EA0 40 82 00 14 */ bne lbl_8003C074
/* 8003C064 00037EA4 3C 80 80 4A */ lis r4, __ErrorInfo@ha
/* 8003C068 00037EA8 38 84 FC 40 */ addi r4, r4, __ErrorInfo@l
/* 8003C06C 00037EAC 93 E4 00 78 */ stw r31, 0x78(r4)
/* 8003C070 00037EB0 48 00 00 1C */ b lbl_8003C08C
.global lbl_8003C074
lbl_8003C074:
/* 8003C074 00037EB4 80 0D E6 40 */ lwz r0, CommandInfoCounter@sda21(r13)
/* 8003C078 00037EB8 3C 80 80 4A */ lis r4, __ErrorInfo@ha
/* 8003C07C 00037EBC 38 84 FC 40 */ addi r4, r4, __ErrorInfo@l
/* 8003C080 00037EC0 1C 00 00 14 */ mulli r0, r0, 0x14
/* 8003C084 00037EC4 7C 84 02 14 */ add r4, r4, r0
/* 8003C088 00037EC8 93 E4 00 14 */ stw r31, 0x14(r4)
.global lbl_8003C08C
lbl_8003C08C:
/* 8003C08C 00037ECC 4B FE 57 D5 */ bl OSRestoreInterrupts
/* 8003C090 00037ED0 28 1F 00 10 */ cmplwi r31, 0x10
/* 8003C094 00037ED4 40 82 00 1C */ bne lbl_8003C0B0
/* 8003C098 00037ED8 3C 60 01 23 */ lis r3, 0x123
/* 8003C09C 00037EDC 3C 80 80 04 */ lis r4, cbForStoreErrorCode2@ha
/* 8003C0A0 00037EE0 38 63 45 68 */ addi r3, r3, 0x4568
/* 8003C0A4 00037EE4 38 84 A7 C0 */ addi r4, r4, cbForStoreErrorCode2@l
/* 8003C0A8 00037EE8 48 00 3B D9 */ bl __DVDStoreErrorCode
/* 8003C0AC 00037EEC 48 00 01 48 */ b lbl_8003C1F4
.global lbl_8003C0B0
lbl_8003C0B0:
/* 8003C0B0 00037EF0 28 1F 00 20 */ cmplwi r31, 0x20
/* 8003C0B4 00037EF4 40 82 00 1C */ bne lbl_8003C0D0
/* 8003C0B8 00037EF8 3C 60 01 23 */ lis r3, 0x123
/* 8003C0BC 00037EFC 3C 80 80 04 */ lis r4, cbForStoreErrorCode2@ha
/* 8003C0C0 00037F00 38 63 45 69 */ addi r3, r3, 0x4569
/* 8003C0C4 00037F04 38 84 A7 C0 */ addi r4, r4, cbForStoreErrorCode2@l
/* 8003C0C8 00037F08 48 00 3B B9 */ bl __DVDStoreErrorCode
/* 8003C0CC 00037F0C 48 00 01 28 */ b lbl_8003C1F4
.global lbl_8003C0D0
lbl_8003C0D0:
/* 8003C0D0 00037F10 57 E0 07 BD */ rlwinm. r0, r31, 0, 30, 30
/* 8003C0D4 00037F14 41 82 00 1C */ beq lbl_8003C0F0
/* 8003C0D8 00037F18 3C 60 01 23 */ lis r3, 0x123
/* 8003C0DC 00037F1C 3C 80 80 04 */ lis r4, cbForStoreErrorCode1@ha
/* 8003C0E0 00037F20 38 63 45 67 */ addi r3, r3, 0x4567
/* 8003C0E4 00037F24 38 84 A7 A0 */ addi r4, r4, cbForStoreErrorCode1@l
/* 8003C0E8 00037F28 48 00 3B 99 */ bl __DVDStoreErrorCode
/* 8003C0EC 00037F2C 48 00 01 08 */ b lbl_8003C1F4
.global lbl_8003C0F0
lbl_8003C0F0:
/* 8003C0F0 00037F30 38 80 00 00 */ li r4, 0x0
/* 8003C0F4 00037F34 90 8D E6 58 */ stw r4, NumInternalRetry@sda21(r13)
/* 8003C0F8 00037F38 80 0D E6 50 */ lwz r0, Canceling@sda21(r13)
/* 8003C0FC 00037F3C 2C 00 00 00 */ cmpwi r0, 0x0
/* 8003C100 00037F40 41 82 00 6C */ beq lbl_8003C16C
/* 8003C104 00037F44 83 ED E6 D0 */ lwz r31, executing@sda21(r13)
/* 8003C108 00037F48 3C 60 80 4A */ lis r3, DummyCommandBlock@ha
/* 8003C10C 00037F4C 38 63 F9 20 */ addi r3, r3, DummyCommandBlock@l
/* 8003C110 00037F50 38 00 00 01 */ li r0, 0x1
/* 8003C114 00037F54 90 0D E6 54 */ stw r0, ResumeFromHere@sda21(r13)
/* 8003C118 00037F58 38 00 00 0A */ li r0, 0xa
/* 8003C11C 00037F5C 90 8D E6 50 */ stw r4, Canceling@sda21(r13)
/* 8003C120 00037F60 90 6D E6 D0 */ stw r3, executing@sda21(r13)
/* 8003C124 00037F64 90 1F 00 0C */ stw r0, 0xc(r31)
/* 8003C128 00037F68 81 9F 00 28 */ lwz r12, 0x28(r31)
/* 8003C12C 00037F6C 2C 0C 00 00 */ cmpwi r12, 0x0
/* 8003C130 00037F70 41 82 00 14 */ beq lbl_8003C144
/* 8003C134 00037F74 7F E4 FB 78 */ mr r4, r31
/* 8003C138 00037F78 38 60 FF FD */ li r3, -0x3
/* 8003C13C 00037F7C 7D 89 03 A6 */ mtctr r12
/* 8003C140 00037F80 4E 80 04 21 */ bctrl
.global lbl_8003C144
lbl_8003C144:
/* 8003C144 00037F84 81 8D E6 C0 */ lwz r12, CancelCallback@sda21(r13)
/* 8003C148 00037F88 2C 0C 00 00 */ cmpwi r12, 0x0
/* 8003C14C 00037F8C 41 82 00 14 */ beq lbl_8003C160
/* 8003C150 00037F90 7F E4 FB 78 */ mr r4, r31
/* 8003C154 00037F94 38 60 00 00 */ li r3, 0x0
/* 8003C158 00037F98 7D 89 03 A6 */ mtctr r12
/* 8003C15C 00037F9C 4E 80 04 21 */ bctrl
.global lbl_8003C160
lbl_8003C160:
/* 8003C160 00037FA0 48 00 0D 91 */ bl stateReady
/* 8003C164 00037FA4 38 00 00 01 */ li r0, 0x1
/* 8003C168 00037FA8 48 00 00 08 */ b lbl_8003C170
.global lbl_8003C16C
lbl_8003C16C:
/* 8003C16C 00037FAC 38 00 00 00 */ li r0, 0x0
.global lbl_8003C170
lbl_8003C170:
/* 8003C170 00037FB0 2C 00 00 00 */ cmpwi r0, 0x0
/* 8003C174 00037FB4 40 82 00 80 */ bne lbl_8003C1F4
/* 8003C178 00037FB8 80 8D E6 D0 */ lwz r4, executing@sda21(r13)
/* 8003C17C 00037FBC 38 00 00 06 */ li r0, 0x6
/* 8003C180 00037FC0 38 60 00 01 */ li r3, 0x1
/* 8003C184 00037FC4 90 04 00 0C */ stw r0, 0xc(r4)
/* 8003C188 00037FC8 80 0D E6 64 */ lwz r0, WaitingForCoverOpen@sda21(r13)
/* 8003C18C 00037FCC 90 6D E6 B0 */ stw r3, MotorState@sda21(r13)
/* 8003C190 00037FD0 2C 00 00 00 */ cmpwi r0, 0x0
/* 8003C194 00037FD4 40 82 00 60 */ bne lbl_8003C1F4
/* 8003C198 00037FD8 80 0D E6 68 */ lwz r0, WaitingForCoverClose@sda21(r13)
/* 8003C19C 00037FDC 2C 00 00 00 */ cmpwi r0, 0x0
/* 8003C1A0 00037FE0 40 82 00 54 */ bne lbl_8003C1F4
/* 8003C1A4 00037FE4 3F E0 80 4A */ lis r31, CoverAlarm@ha
/* 8003C1A8 00037FE8 90 6D E6 64 */ stw r3, WaitingForCoverOpen@sda21(r13)
/* 8003C1AC 00037FEC 38 7F F9 80 */ addi r3, r31, CoverAlarm@l
/* 8003C1B0 00037FF0 4B FD F6 51 */ bl OSCreateAlarm
/* 8003C1B4 00037FF4 4B FE 99 AD */ bl OSGetTick
/* 8003C1B8 00037FF8 3C A0 80 00 */ lis r5, 0x800000F8@ha
/* 8003C1BC 00037FFC 3C 80 10 62 */ lis r4, 0x1062
/* 8003C1C0 00038000 80 05 00 F8 */ lwz r0, 0x800000F8@l(r5)
/* 8003C1C4 00038004 3D 20 80 04 */ lis r9, CoverAlarmHandler@ha
/* 8003C1C8 00038008 7C 66 1B 78 */ mr r6, r3
/* 8003C1CC 0003800C 38 84 4D D3 */ addi r4, r4, 0x4dd3
/* 8003C1D0 00038010 54 00 F0 BE */ srwi r0, r0, 2
/* 8003C1D4 00038014 38 7F F9 80 */ addi r3, r31, -0x680
/* 8003C1D8 00038018 7C 04 00 16 */ mulhwu r0, r4, r0
/* 8003C1DC 0003801C 39 29 CE C0 */ addi r9, r9, CoverAlarmHandler@l
/* 8003C1E0 00038020 38 A0 00 00 */ li r5, 0x0
/* 8003C1E4 00038024 38 E0 00 00 */ li r7, 0x0
/* 8003C1E8 00038028 54 00 D1 BE */ srwi r0, r0, 6
/* 8003C1EC 0003802C 1D 00 00 64 */ mulli r8, r0, 0x64
/* 8003C1F0 00038030 4B FD F8 E1 */ bl OSSetPeriodicAlarm
.global lbl_8003C1F4
lbl_8003C1F4:
/* 8003C1F4 00038034 80 01 00 14 */ lwz r0, 0x14(r1)
/* 8003C1F8 00038038 83 E1 00 0C */ lwz r31, 0xc(r1)
/* 8003C1FC 0003803C 7C 08 03 A6 */ mtlr r0
/* 8003C200 00038040 38 21 00 10 */ addi r1, r1, 0x10
/* 8003C204 00038044 4E 80 00 20 */ blr
/* 8003C208 00038048 00 00 00 00 */ .4byte 0x00000000
/* 8003C20C 0003804C 00 00 00 00 */ .4byte 0x00000000
.global cbForStateCheckID2
cbForStateCheckID2:
/* 8003C210 00038050 94 21 FF F0 */ stwu r1, -0x10(r1)
/* 8003C214 00038054 7C 08 02 A6 */ mflr r0
/* 8003C218 00038058 90 01 00 14 */ stw r0, 0x14(r1)
/* 8003C21C 0003805C 93 E1 00 0C */ stw r31, 0xc(r1)
/* 8003C220 00038060 7C 7F 1B 78 */ mr r31, r3
/* 8003C224 00038064 4B FE 55 FD */ bl OSDisableInterrupts
/* 8003C228 00038068 80 0D E6 40 */ lwz r0, CommandInfoCounter@sda21(r13)
/* 8003C22C 0003806C 2C 00 00 00 */ cmpwi r0, 0x0
/* 8003C230 00038070 40 82 00 14 */ bne lbl_8003C244
/* 8003C234 00038074 3C 80 80 4A */ lis r4, __ErrorInfo@ha
/* 8003C238 00038078 38 84 FC 40 */ addi r4, r4, __ErrorInfo@l
/* 8003C23C 0003807C 93 E4 00 78 */ stw r31, 0x78(r4)
/* 8003C240 00038080 48 00 00 20 */ b lbl_8003C260
.global lbl_8003C244
lbl_8003C244:
/* 8003C244 00038084 80 8D E6 40 */ lwz r4, CommandInfoCounter@sda21(r13)
/* 8003C248 00038088 3C A0 80 4A */ lis r5, __ErrorInfo@ha
/* 8003C24C 0003808C 38 A5 FC 40 */ addi r5, r5, __ErrorInfo@l
/* 8003C250 00038090 38 04 FF FF */ addi r0, r4, -0x1
/* 8003C254 00038094 1C 00 00 14 */ mulli r0, r0, 0x14
/* 8003C258 00038098 7C 85 02 14 */ add r4, r5, r0
/* 8003C25C 0003809C 93 E4 00 28 */ stw r31, 0x28(r4)
.global lbl_8003C260
lbl_8003C260:
/* 8003C260 000380A0 4B FE 56 01 */ bl OSRestoreInterrupts
/* 8003C264 000380A4 28 1F 00 10 */ cmplwi r31, 0x10
/* 8003C268 000380A8 40 82 00 1C */ bne lbl_8003C284
/* 8003C26C 000380AC 3C 60 01 23 */ lis r3, 0x123
/* 8003C270 000380B0 3C 80 80 04 */ lis r4, cbForStoreErrorCode2@ha
/* 8003C274 000380B4 38 63 45 68 */ addi r3, r3, 0x4568
/* 8003C278 000380B8 38 84 A7 C0 */ addi r4, r4, cbForStoreErrorCode2@l
/* 8003C27C 000380BC 48 00 3A 05 */ bl __DVDStoreErrorCode
/* 8003C280 000380C0 48 00 01 10 */ b lbl_8003C390
.global lbl_8003C284
lbl_8003C284:
/* 8003C284 000380C4 28 1F 00 20 */ cmplwi r31, 0x20
/* 8003C288 000380C8 40 82 00 1C */ bne lbl_8003C2A4
/* 8003C28C 000380CC 3C 60 01 23 */ lis r3, 0x123
/* 8003C290 000380D0 3C 80 80 04 */ lis r4, cbForStoreErrorCode2@ha
/* 8003C294 000380D4 38 63 45 69 */ addi r3, r3, 0x4569
/* 8003C298 000380D8 38 84 A7 C0 */ addi r4, r4, cbForStoreErrorCode2@l
/* 8003C29C 000380DC 48 00 39 E5 */ bl __DVDStoreErrorCode
/* 8003C2A0 000380E0 48 00 00 F0 */ b lbl_8003C390
.global lbl_8003C2A4
lbl_8003C2A4:
/* 8003C2A4 000380E4 57 E0 07 FF */ clrlwi. r0, r31, 31
/* 8003C2A8 000380E8 41 82 00 CC */ beq lbl_8003C374
/* 8003C2AC 000380EC 3C A0 80 04 */ lis r5, stateReadingFST@ha
/* 8003C2B0 000380F0 38 00 00 00 */ li r0, 0x0
/* 8003C2B4 000380F4 38 A5 A3 70 */ addi r5, r5, stateReadingFST@l
/* 8003C2B8 000380F8 3C 60 80 4A */ lis r3, BB2@ha
/* 8003C2BC 000380FC 90 0D E6 58 */ stw r0, NumInternalRetry@sda21(r13)
/* 8003C2C0 00038100 38 63 F9 00 */ addi r3, r3, BB2@l
/* 8003C2C4 00038104 80 8D E6 C8 */ lwz r4, bootInfo@sda21(r13)
/* 8003C2C8 00038108 90 AD E6 D4 */ stw r5, LastState@sda21(r13)
/* 8003C2CC 0003810C 80 03 00 08 */ lwz r0, 0x8(r3)
/* 8003C2D0 00038110 80 64 00 3C */ lwz r3, 0x3c(r4)
/* 8003C2D4 00038114 7C 03 00 40 */ cmplw r3, r0
/* 8003C2D8 00038118 40 80 00 1C */ bge lbl_8003C2F4
/* 8003C2DC 0003811C 3C A0 80 43 */ lis r5, "@4255_804312A8"@ha
/* 8003C2E0 00038120 38 6D 81 C4 */ addi r3, r13, "@4254_805565E4"@sda21
/* 8003C2E4 00038124 38 A5 12 A8 */ addi r5, r5, "@4255_804312A8"@l
/* 8003C2E8 00038128 38 80 04 45 */ li r4, 0x445
/* 8003C2EC 0003812C 4C C6 31 82 */ crclr 4*cr1+eq
/* 8003C2F0 00038130 48 14 E5 01 */ bl OSPanic
.global lbl_8003C2F4
lbl_8003C2F4:
/* 8003C2F4 00038134 38 60 00 00 */ li r3, 0x0
/* 8003C2F8 00038138 48 00 63 F9 */ bl DVDLowClearCoverInterrupt
/* 8003C2FC 0003813C 80 CD E6 78 */ lwz r6, __DVDLayoutFormat@sda21(r13)
/* 8003C300 00038140 3F E0 80 4A */ lis r31, BB2@ha
/* 8003C304 00038144 3B FF F9 00 */ addi r31, r31, BB2@l
/* 8003C308 00038148 80 0D E6 78 */ lwz r0, __DVDLayoutFormat@sda21(r13)
/* 8003C30C 0003814C 80 9F 00 08 */ lwz r4, 0x8(r31)
/* 8003C310 00038150 38 60 00 01 */ li r3, 0x1
/* 8003C314 00038154 7C 00 00 F8 */ nor r0, r0, r0
/* 8003C318 00038158 80 FF 00 04 */ lwz r7, 0x4(r31)
/* 8003C31C 0003815C 54 00 07 BC */ rlwinm r0, r0, 0, 30, 30
/* 8003C320 00038160 7C 85 00 30 */ slw r5, r4, r0
/* 8003C324 00038164 7C E4 34 30 */ srw r4, r7, r6
/* 8003C328 00038168 38 05 00 1F */ addi r0, r5, 0x1f
/* 8003C32C 0003816C 54 05 00 34 */ clrrwi r5, r0, 5
/* 8003C330 00038170 4B FF DE 11 */ bl StampCommand
/* 8003C334 00038174 80 0D E6 78 */ lwz r0, __DVDLayoutFormat@sda21(r13)
/* 8003C338 00038178 3C C0 80 04 */ lis r6, cbForStateReadingFST@ha
/* 8003C33C 0003817C 80 7F 00 08 */ lwz r3, 0x8(r31)
/* 8003C340 00038180 38 C6 A4 F0 */ addi r6, r6, cbForStateReadingFST@l
/* 8003C344 00038184 7C 00 00 F8 */ nor r0, r0, r0
/* 8003C348 00038188 80 ED E6 C8 */ lwz r7, bootInfo@sda21(r13)
/* 8003C34C 0003818C 54 00 07 BC */ rlwinm r0, r0, 0, 30, 30
/* 8003C350 00038190 80 BF 00 04 */ lwz r5, 0x4(r31)
/* 8003C354 00038194 7C 63 00 30 */ slw r3, r3, r0
/* 8003C358 00038198 80 0D E6 78 */ lwz r0, __DVDLayoutFormat@sda21(r13)
/* 8003C35C 0003819C 38 83 00 1F */ addi r4, r3, 0x1f
/* 8003C360 000381A0 80 67 00 38 */ lwz r3, 0x38(r7)
/* 8003C364 000381A4 54 84 00 34 */ clrrwi r4, r4, 5
/* 8003C368 000381A8 7C A5 04 30 */ srw r5, r5, r0
/* 8003C36C 000381AC 48 00 5B C5 */ bl DVDLowRead
/* 8003C370 000381B0 48 00 00 20 */ b lbl_8003C390
.global lbl_8003C374
lbl_8003C374:
/* 8003C374 000381B4 38 60 00 27 */ li r3, 0x27
/* 8003C378 000381B8 38 80 00 00 */ li r4, 0x0
/* 8003C37C 000381BC 38 A0 00 00 */ li r5, 0x0
/* 8003C380 000381C0 4B FF DD C1 */ bl StampCommand
/* 8003C384 000381C4 3C 60 80 04 */ lis r3, cbForStateGettingError@ha
/* 8003C388 000381C8 38 63 A9 D0 */ addi r3, r3, cbForStateGettingError@l
/* 8003C38C 000381CC 48 00 53 D5 */ bl DVDLowRequestError
.global lbl_8003C390
lbl_8003C390:
/* 8003C390 000381D0 80 01 00 14 */ lwz r0, 0x14(r1)
/* 8003C394 000381D4 83 E1 00 0C */ lwz r31, 0xc(r1)
/* 8003C398 000381D8 7C 08 03 A6 */ mtlr r0
/* 8003C39C 000381DC 38 21 00 10 */ addi r1, r1, 0x10
/* 8003C3A0 000381E0 4E 80 00 20 */ blr
/* 8003C3A4 000381E4 00 00 00 00 */ .4byte 0x00000000
/* 8003C3A8 000381E8 00 00 00 00 */ .4byte 0x00000000
/* 8003C3AC 000381EC 00 00 00 00 */ .4byte 0x00000000
.global stateCoverClosed
stateCoverClosed:
/* 8003C3B0 000381F0 94 21 FF F0 */ stwu r1, -0x10(r1)
/* 8003C3B4 000381F4 7C 08 02 A6 */ mflr r0
/* 8003C3B8 000381F8 38 60 00 01 */ li r3, 0x1
/* 8003C3BC 000381FC 90 01 00 14 */ stw r0, 0x14(r1)
/* 8003C3C0 00038200 80 0D E6 C4 */ lwz r0, CurrCommand@sda21(r13)
/* 8003C3C4 00038204 90 6D E6 B0 */ stw r3, MotorState@sda21(r13)
/* 8003C3C8 00038208 28 00 00 2A */ cmplwi r0, 0x2a
/* 8003C3CC 0003820C 41 81 00 7C */ bgt lbl_8003C448
/* 8003C3D0 00038210 3C 60 80 43 */ lis r3, "@4490"@ha
/* 8003C3D4 00038214 54 00 10 3A */ slwi r0, r0, 2
/* 8003C3D8 00038218 38 63 12 DC */ addi r3, r3, "@4490"@l
/* 8003C3DC 0003821C 7C 63 00 2E */ lwzx r3, r3, r0
/* 8003C3E0 00038220 7C 69 03 A6 */ mtctr r3
/* 8003C3E4 00038224 4E 80 04 20 */ bctr
.global lbl_8003C3E8
lbl_8003C3E8:
/* 8003C3E8 00038228 48 00 2C 69 */ bl __DVDClearWaitingQueue
/* 8003C3EC 0003822C 80 8D E6 D0 */ lwz r4, executing@sda21(r13)
/* 8003C3F0 00038230 3C 60 80 4A */ lis r3, DummyCommandBlock@ha
/* 8003C3F4 00038234 38 63 F9 20 */ addi r3, r3, DummyCommandBlock@l
/* 8003C3F8 00038238 90 6D E6 D0 */ stw r3, executing@sda21(r13)
/* 8003C3FC 0003823C 81 84 00 28 */ lwz r12, 0x28(r4)
/* 8003C400 00038240 2C 0C 00 00 */ cmpwi r12, 0x0
/* 8003C404 00038244 41 82 00 10 */ beq lbl_8003C414
/* 8003C408 00038248 38 60 FF FC */ li r3, -0x4
/* 8003C40C 0003824C 7D 89 03 A6 */ mtctr r12
/* 8003C410 00038250 4E 80 04 21 */ bctrl
.global lbl_8003C414
lbl_8003C414:
/* 8003C414 00038254 48 00 0A DD */ bl stateReady
/* 8003C418 00038258 48 00 00 4C */ b lbl_8003C464
.global lbl_8003C41C
lbl_8003C41C:
/* 8003C41C 0003825C 38 00 00 00 */ li r0, 0x0
/* 8003C420 00038260 90 0D E6 B0 */ stw r0, MotorState@sda21(r13)
.global lbl_8003C424
lbl_8003C424:
/* 8003C424 00038264 80 6D E6 D0 */ lwz r3, executing@sda21(r13)
/* 8003C428 00038268 38 00 00 01 */ li r0, 0x1
/* 8003C42C 0003826C 90 03 00 0C */ stw r0, 0xc(r3)
/* 8003C430 00038270 80 6D E6 D0 */ lwz r3, executing@sda21(r13)
/* 8003C434 00038274 48 00 0D DD */ bl stateBusy
/* 8003C438 00038278 48 00 00 2C */ b lbl_8003C464
.global lbl_8003C43C
lbl_8003C43C:
/* 8003C43C 0003827C 80 0D E3 58 */ lwz r0, __OSInIPL@sda21(r13)
/* 8003C440 00038280 2C 00 00 00 */ cmpwi r0, 0x0
/* 8003C444 00038284 40 82 00 20 */ bne lbl_8003C464
.global lbl_8003C448
lbl_8003C448:
/* 8003C448 00038288 38 00 00 00 */ li r0, 0x0
/* 8003C44C 0003828C 90 0D E6 B0 */ stw r0, MotorState@sda21(r13)
/* 8003C450 00038290 38 60 00 01 */ li r3, 0x1
/* 8003C454 00038294 48 00 54 7D */ bl DVDLowSetSpinupFlag
/* 8003C458 00038298 3C 60 80 04 */ lis r3, cbForStateReset@ha
/* 8003C45C 0003829C 38 63 C6 D0 */ addi r3, r3, cbForStateReset@l
/* 8003C460 000382A0 48 00 54 81 */ bl DVDLowReset
.global lbl_8003C464
lbl_8003C464:
/* 8003C464 000382A4 80 01 00 14 */ lwz r0, 0x14(r1)
/* 8003C468 000382A8 7C 08 03 A6 */ mtlr r0
/* 8003C46C 000382AC 38 21 00 10 */ addi r1, r1, 0x10
/* 8003C470 000382B0 4E 80 00 20 */ blr
/* 8003C474 000382B4 00 00 00 00 */ .4byte 0x00000000
/* 8003C478 000382B8 00 00 00 00 */ .4byte 0x00000000
/* 8003C47C 000382BC 00 00 00 00 */ .4byte 0x00000000
.global ResetAlarmHandler
ResetAlarmHandler:
/* 8003C480 000382C0 94 21 FF F0 */ stwu r1, -0x10(r1)
/* 8003C484 000382C4 7C 08 02 A6 */ mflr r0
/* 8003C488 000382C8 3C 60 80 00 */ lis r3, 0x800030E6@ha
/* 8003C48C 000382CC 90 01 00 14 */ stw r0, 0x14(r1)
/* 8003C490 000382D0 93 E1 00 0C */ stw r31, 0xc(r1)
/* 8003C494 000382D4 93 C1 00 08 */ stw r30, 0x8(r1)
/* 8003C498 000382D8 A0 03 30 E6 */ lhz r0, 0x800030E6@l(r3)
/* 8003C49C 000382DC 28 00 80 03 */ cmplwi r0, 0x8003
/* 8003C4A0 000382E0 40 82 00 B0 */ bne lbl_8003C550
/* 8003C4A4 000382E4 3C 80 80 04 */ lis r4, stateDownRotation@ha
/* 8003C4A8 000382E8 38 60 00 00 */ li r3, 0x0
/* 8003C4AC 000382EC 38 84 C7 C0 */ addi r4, r4, stateDownRotation@l
/* 8003C4B0 000382F0 90 8D E6 D4 */ stw r4, LastState@sda21(r13)
/* 8003C4B4 000382F4 48 00 62 3D */ bl DVDLowClearCoverInterrupt
/* 8003C4B8 000382F8 4B FE 53 69 */ bl OSDisableInterrupts
/* 8003C4BC 000382FC 80 0D E6 40 */ lwz r0, CommandInfoCounter@sda21(r13)
/* 8003C4C0 00038300 7C 7F 1B 78 */ mr r31, r3
/* 8003C4C4 00038304 28 00 00 05 */ cmplwi r0, 0x5
/* 8003C4C8 00038308 41 80 00 0C */ blt lbl_8003C4D4
/* 8003C4CC 0003830C 38 00 00 00 */ li r0, 0x0
/* 8003C4D0 00038310 90 0D E6 40 */ stw r0, CommandInfoCounter@sda21(r13)
.global lbl_8003C4D4
lbl_8003C4D4:
/* 8003C4D4 00038314 80 0D E6 40 */ lwz r0, CommandInfoCounter@sda21(r13)
/* 8003C4D8 00038318 3F C0 80 4A */ lis r30, __ErrorInfo@ha
/* 8003C4DC 0003831C 80 6D E6 40 */ lwz r3, CommandInfoCounter@sda21(r13)
/* 8003C4E0 00038320 3B DE FC 40 */ addi r30, r30, __ErrorInfo@l
/* 8003C4E4 00038324 1C A0 00 14 */ mulli r5, r0, 0x14
/* 8003C4E8 00038328 80 0D E6 40 */ lwz r0, CommandInfoCounter@sda21(r13)
/* 8003C4EC 0003832C 38 C0 00 25 */ li r6, 0x25
/* 8003C4F0 00038330 38 80 00 00 */ li r4, 0x0
/* 8003C4F4 00038334 1C 63 00 14 */ mulli r3, r3, 0x14
/* 8003C4F8 00038338 7C BE 2A 14 */ add r5, r30, r5
/* 8003C4FC 0003833C 90 C5 00 1C */ stw r6, 0x1c(r5)
/* 8003C500 00038340 7C 7E 1A 14 */ add r3, r30, r3
/* 8003C504 00038344 1C 00 00 14 */ mulli r0, r0, 0x14
/* 8003C508 00038348 90 83 00 20 */ stw r4, 0x20(r3)
/* 8003C50C 0003834C 7C 7E 02 14 */ add r3, r30, r0
/* 8003C510 00038350 90 83 00 24 */ stw r4, 0x24(r3)
/* 8003C514 00038354 4B FE 96 4D */ bl OSGetTick
/* 8003C518 00038358 80 0D E6 40 */ lwz r0, CommandInfoCounter@sda21(r13)
/* 8003C51C 0003835C 80 8D E6 40 */ lwz r4, CommandInfoCounter@sda21(r13)
/* 8003C520 00038360 1C A0 00 14 */ mulli r5, r0, 0x14
/* 8003C524 00038364 38 04 00 01 */ addi r0, r4, 0x1
/* 8003C528 00038368 90 0D E6 40 */ stw r0, CommandInfoCounter@sda21(r13)
/* 8003C52C 0003836C 7C 9E 2A 14 */ add r4, r30, r5
/* 8003C530 00038370 90 64 00 2C */ stw r3, 0x2c(r4)
/* 8003C534 00038374 7F E3 FB 78 */ mr r3, r31
/* 8003C538 00038378 4B FE 53 29 */ bl OSRestoreInterrupts
/* 8003C53C 0003837C 3C 80 80 04 */ lis r4, cbForStateDownRotation@ha
/* 8003C540 00038380 3C 60 00 02 */ lis r3, 0x2
/* 8003C544 00038384 38 84 C8 90 */ addi r4, r4, cbForStateDownRotation@l
/* 8003C548 00038388 48 00 58 59 */ bl DVDLowSetMaximumRotation
/* 8003C54C 0003838C 48 00 01 6C */ b lbl_8003C6B8
.global lbl_8003C550
lbl_8003C550:
/* 8003C550 00038390 3C 60 80 4A */ lis r3, CurrDiskID@ha
/* 8003C554 00038394 38 80 00 20 */ li r4, 0x20
/* 8003C558 00038398 38 63 F9 C0 */ addi r3, r3, CurrDiskID@l
/* 8003C55C 0003839C 4B FE 03 F5 */ bl DCInvalidateRange
/* 8003C560 000383A0 80 0D E6 C4 */ lwz r0, CurrCommand@sda21(r13)
/* 8003C564 000383A4 3C 60 80 04 */ lis r3, stateCoverClosed_CMD@ha
/* 8003C568 000383A8 38 63 CA D0 */ addi r3, r3, stateCoverClosed_CMD@l
/* 8003C56C 000383AC 90 6D E6 D4 */ stw r3, LastState@sda21(r13)
/* 8003C570 000383B0 28 00 00 28 */ cmplwi r0, 0x28
/* 8003C574 000383B4 40 82 00 A0 */ bne lbl_8003C614
/* 8003C578 000383B8 38 80 00 00 */ li r4, 0x0
/* 8003C57C 000383BC 90 8D E6 58 */ stw r4, NumInternalRetry@sda21(r13)
/* 8003C580 000383C0 80 0D E6 50 */ lwz r0, Canceling@sda21(r13)
/* 8003C584 000383C4 2C 00 00 00 */ cmpwi r0, 0x0
/* 8003C588 000383C8 41 82 00 68 */ beq lbl_8003C5F0
/* 8003C58C 000383CC 83 CD E6 D0 */ lwz r30, executing@sda21(r13)
/* 8003C590 000383D0 3C 60 80 4A */ lis r3, DummyCommandBlock@ha
/* 8003C594 000383D4 90 8D E6 54 */ stw r4, ResumeFromHere@sda21(r13)
/* 8003C598 000383D8 38 63 F9 20 */ addi r3, r3, DummyCommandBlock@l
/* 8003C59C 000383DC 38 00 00 0A */ li r0, 0xa
/* 8003C5A0 000383E0 90 8D E6 50 */ stw r4, Canceling@sda21(r13)
/* 8003C5A4 000383E4 90 6D E6 D0 */ stw r3, executing@sda21(r13)
/* 8003C5A8 000383E8 90 1E 00 0C */ stw r0, 0xc(r30)
/* 8003C5AC 000383EC 81 9E 00 28 */ lwz r12, 0x28(r30)
/* 8003C5B0 000383F0 2C 0C 00 00 */ cmpwi r12, 0x0
/* 8003C5B4 000383F4 41 82 00 14 */ beq lbl_8003C5C8
/* 8003C5B8 000383F8 7F C4 F3 78 */ mr r4, r30
/* 8003C5BC 000383FC 38 60 FF FD */ li r3, -0x3
/* 8003C5C0 00038400 7D 89 03 A6 */ mtctr r12
/* 8003C5C4 00038404 4E 80 04 21 */ bctrl
.global lbl_8003C5C8
lbl_8003C5C8:
/* 8003C5C8 00038408 81 8D E6 C0 */ lwz r12, CancelCallback@sda21(r13)
/* 8003C5CC 0003840C 2C 0C 00 00 */ cmpwi r12, 0x0
/* 8003C5D0 00038410 41 82 00 14 */ beq lbl_8003C5E4
/* 8003C5D4 00038414 7F C4 F3 78 */ mr r4, r30
/* 8003C5D8 00038418 38 60 00 00 */ li r3, 0x0
/* 8003C5DC 0003841C 7D 89 03 A6 */ mtctr r12
/* 8003C5E0 00038420 4E 80 04 21 */ bctrl
.global lbl_8003C5E4
lbl_8003C5E4:
/* 8003C5E4 00038424 48 00 09 0D */ bl stateReady
/* 8003C5E8 00038428 38 00 00 01 */ li r0, 0x1
/* 8003C5EC 0003842C 48 00 00 08 */ b lbl_8003C5F4
.global lbl_8003C5F0
lbl_8003C5F0:
/* 8003C5F0 00038430 38 00 00 00 */ li r0, 0x0
.global lbl_8003C5F4
lbl_8003C5F4:
/* 8003C5F4 00038434 2C 00 00 00 */ cmpwi r0, 0x0
/* 8003C5F8 00038438 40 82 00 C0 */ bne lbl_8003C6B8
/* 8003C5FC 0003843C 80 6D E6 D0 */ lwz r3, executing@sda21(r13)
/* 8003C600 00038440 38 00 00 01 */ li r0, 0x1
/* 8003C604 00038444 90 03 00 0C */ stw r0, 0xc(r3)
/* 8003C608 00038448 80 6D E6 D0 */ lwz r3, executing@sda21(r13)
/* 8003C60C 0003844C 48 00 0C 05 */ bl stateBusy
/* 8003C610 00038450 48 00 00 A8 */ b lbl_8003C6B8
.global lbl_8003C614
lbl_8003C614:
/* 8003C614 00038454 38 60 00 00 */ li r3, 0x0
/* 8003C618 00038458 48 00 60 D9 */ bl DVDLowClearCoverInterrupt
/* 8003C61C 0003845C 4B FE 52 05 */ bl OSDisableInterrupts
/* 8003C620 00038460 80 0D E6 40 */ lwz r0, CommandInfoCounter@sda21(r13)
/* 8003C624 00038464 7C 7F 1B 78 */ mr r31, r3
/* 8003C628 00038468 28 00 00 05 */ cmplwi r0, 0x5
/* 8003C62C 0003846C 41 80 00 0C */ blt lbl_8003C638
/* 8003C630 00038470 38 00 00 00 */ li r0, 0x0
/* 8003C634 00038474 90 0D E6 40 */ stw r0, CommandInfoCounter@sda21(r13)
.global lbl_8003C638
lbl_8003C638:
/* 8003C638 00038478 80 0D E6 40 */ lwz r0, CommandInfoCounter@sda21(r13)
/* 8003C63C 0003847C 3F C0 80 4A */ lis r30, __ErrorInfo@ha
/* 8003C640 00038480 80 6D E6 40 */ lwz r3, CommandInfoCounter@sda21(r13)
/* 8003C644 00038484 3B DE FC 40 */ addi r30, r30, __ErrorInfo@l
/* 8003C648 00038488 1C C0 00 14 */ mulli r6, r0, 0x14
/* 8003C64C 0003848C 80 0D E6 40 */ lwz r0, CommandInfoCounter@sda21(r13)
/* 8003C650 00038490 38 E0 00 05 */ li r7, 0x5
/* 8003C654 00038494 38 A0 00 00 */ li r5, 0x0
/* 8003C658 00038498 1C 63 00 14 */ mulli r3, r3, 0x14
/* 8003C65C 0003849C 38 80 00 20 */ li r4, 0x20
/* 8003C660 000384A0 7C DE 32 14 */ add r6, r30, r6
/* 8003C664 000384A4 90 E6 00 1C */ stw r7, 0x1c(r6)
/* 8003C668 000384A8 7C 7E 1A 14 */ add r3, r30, r3
/* 8003C66C 000384AC 1C 00 00 14 */ mulli r0, r0, 0x14
/* 8003C670 000384B0 90 A3 00 20 */ stw r5, 0x20(r3)
/* 8003C674 000384B4 7C 7E 02 14 */ add r3, r30, r0
/* 8003C678 000384B8 90 83 00 24 */ stw r4, 0x24(r3)
/* 8003C67C 000384BC 4B FE 94 E5 */ bl OSGetTick
/* 8003C680 000384C0 80 0D E6 40 */ lwz r0, CommandInfoCounter@sda21(r13)
/* 8003C684 000384C4 80 8D E6 40 */ lwz r4, CommandInfoCounter@sda21(r13)
/* 8003C688 000384C8 1C A0 00 14 */ mulli r5, r0, 0x14
/* 8003C68C 000384CC 38 04 00 01 */ addi r0, r4, 0x1
/* 8003C690 000384D0 90 0D E6 40 */ stw r0, CommandInfoCounter@sda21(r13)
/* 8003C694 000384D4 7C 9E 2A 14 */ add r4, r30, r5
/* 8003C698 000384D8 90 64 00 2C */ stw r3, 0x2c(r4)
/* 8003C69C 000384DC 7F E3 FB 78 */ mr r3, r31
/* 8003C6A0 000384E0 4B FE 51 C1 */ bl OSRestoreInterrupts
/* 8003C6A4 000384E4 3C 60 80 4A */ lis r3, CurrDiskID@ha
/* 8003C6A8 000384E8 3C 80 80 04 */ lis r4, cbForStateCoverClosed@ha
/* 8003C6AC 000384EC 38 63 F9 C0 */ addi r3, r3, CurrDiskID@l
/* 8003C6B0 000384F0 38 84 CC 50 */ addi r4, r4, cbForStateCoverClosed@l
/* 8003C6B4 000384F4 48 00 3F 6D */ bl DVDLowReadDiskID
.global lbl_8003C6B8
lbl_8003C6B8:
/* 8003C6B8 000384F8 80 01 00 14 */ lwz r0, 0x14(r1)
/* 8003C6BC 000384FC 83 E1 00 0C */ lwz r31, 0xc(r1)
/* 8003C6C0 00038500 83 C1 00 08 */ lwz r30, 0x8(r1)
/* 8003C6C4 00038504 7C 08 03 A6 */ mtlr r0
/* 8003C6C8 00038508 38 21 00 10 */ addi r1, r1, 0x10
/* 8003C6CC 0003850C 4E 80 00 20 */ blr
.global cbForStateReset
cbForStateReset:
/* 8003C6D0 00038510 94 21 FF F0 */ stwu r1, -0x10(r1)
/* 8003C6D4 00038514 7C 08 02 A6 */ mflr r0
/* 8003C6D8 00038518 28 03 00 10 */ cmplwi r3, 0x10
/* 8003C6DC 0003851C 90 01 00 14 */ stw r0, 0x14(r1)
/* 8003C6E0 00038520 93 E1 00 0C */ stw r31, 0xc(r1)
/* 8003C6E4 00038524 40 82 00 1C */ bne lbl_8003C700
/* 8003C6E8 00038528 3C 60 01 23 */ lis r3, 0x123
/* 8003C6EC 0003852C 3C 80 80 04 */ lis r4, cbForStoreErrorCode2@ha
/* 8003C6F0 00038530 38 63 45 68 */ addi r3, r3, 0x4568
/* 8003C6F4 00038534 38 84 A7 C0 */ addi r4, r4, cbForStoreErrorCode2@l
/* 8003C6F8 00038538 48 00 35 89 */ bl __DVDStoreErrorCode
/* 8003C6FC 0003853C 48 00 00 A4 */ b lbl_8003C7A0
.global lbl_8003C700
lbl_8003C700:
/* 8003C700 00038540 28 03 00 20 */ cmplwi r3, 0x20
/* 8003C704 00038544 40 82 00 1C */ bne lbl_8003C720
/* 8003C708 00038548 3C 60 01 23 */ lis r3, 0x123
/* 8003C70C 0003854C 3C 80 80 04 */ lis r4, cbForStoreErrorCode2@ha
/* 8003C710 00038550 38 63 45 69 */ addi r3, r3, 0x4569
/* 8003C714 00038554 38 84 A7 C0 */ addi r4, r4, cbForStoreErrorCode2@l
/* 8003C718 00038558 48 00 35 69 */ bl __DVDStoreErrorCode
/* 8003C71C 0003855C 48 00 00 84 */ b lbl_8003C7A0
.global lbl_8003C720
lbl_8003C720:
/* 8003C720 00038560 54 60 07 FF */ clrlwi. r0, r3, 31
/* 8003C724 00038564 41 82 00 60 */ beq lbl_8003C784
/* 8003C728 00038568 4B FE 94 49 */ bl __OSGetSystemTime
/* 8003C72C 0003856C 90 8D E6 AC */ stw r4, lbl_8055CACC@sda21(r13)
/* 8003C730 00038570 38 00 00 00 */ li r0, 0x0
/* 8003C734 00038574 3F E0 80 4A */ lis r31, ResetAlarm@ha
/* 8003C738 00038578 90 6D E6 A8 */ stw r3, LastResetEnd@sda21(r13)
/* 8003C73C 0003857C 38 7F FA 20 */ addi r3, r31, ResetAlarm@l
/* 8003C740 00038580 90 0D E6 B4 */ stw r0, ResetRequired@sda21(r13)
/* 8003C744 00038584 90 0D E6 54 */ stw r0, ResumeFromHere@sda21(r13)
/* 8003C748 00038588 4B FD F0 B9 */ bl OSCreateAlarm
/* 8003C74C 0003858C 3C 80 80 00 */ lis r4, 0x800000F8@ha
/* 8003C750 00038590 3C E0 80 04 */ lis r7, ResetAlarmHandler@ha
/* 8003C754 00038594 80 04 00 F8 */ lwz r0, 0x800000F8@l(r4)
/* 8003C758 00038598 3C 60 10 62 */ lis r3, 0x1062
/* 8003C75C 0003859C 38 83 4D D3 */ addi r4, r3, 0x4dd3
/* 8003C760 000385A0 38 E7 C4 80 */ addi r7, r7, ResetAlarmHandler@l
/* 8003C764 000385A4 54 00 F0 BE */ srwi r0, r0, 2
/* 8003C768 000385A8 38 7F FA 20 */ addi r3, r31, -0x5e0
/* 8003C76C 000385AC 7C 04 00 16 */ mulhwu r0, r4, r0
/* 8003C770 000385B0 38 A0 00 00 */ li r5, 0x0
/* 8003C774 000385B4 54 00 D1 BE */ srwi r0, r0, 6
/* 8003C778 000385B8 1C C0 00 64 */ mulli r6, r0, 0x64
/* 8003C77C 000385BC 4B FD F2 E5 */ bl OSSetAlarm
/* 8003C780 000385C0 48 00 00 20 */ b lbl_8003C7A0
.global lbl_8003C784
lbl_8003C784:
/* 8003C784 000385C4 38 60 00 27 */ li r3, 0x27
/* 8003C788 000385C8 38 80 00 00 */ li r4, 0x0
/* 8003C78C 000385CC 38 A0 00 00 */ li r5, 0x0
/* 8003C790 000385D0 4B FF D9 B1 */ bl StampCommand
/* 8003C794 000385D4 3C 60 80 04 */ lis r3, cbForStateGettingError@ha
/* 8003C798 000385D8 38 63 A9 D0 */ addi r3, r3, cbForStateGettingError@l
/* 8003C79C 000385DC 48 00 4F C5 */ bl DVDLowRequestError
.global lbl_8003C7A0
lbl_8003C7A0:
/* 8003C7A0 000385E0 80 01 00 14 */ lwz r0, 0x14(r1)
/* 8003C7A4 000385E4 83 E1 00 0C */ lwz r31, 0xc(r1)
/* 8003C7A8 000385E8 7C 08 03 A6 */ mtlr r0
/* 8003C7AC 000385EC 38 21 00 10 */ addi r1, r1, 0x10
/* 8003C7B0 000385F0 4E 80 00 20 */ blr
/* 8003C7B4 000385F4 00 00 00 00 */ .4byte 0x00000000
/* 8003C7B8 000385F8 00 00 00 00 */ .4byte 0x00000000
/* 8003C7BC 000385FC 00 00 00 00 */ .4byte 0x00000000
.global stateDownRotation
stateDownRotation:
/* 8003C7C0 00038600 94 21 FF F0 */ stwu r1, -0x10(r1)
/* 8003C7C4 00038604 7C 08 02 A6 */ mflr r0
/* 8003C7C8 00038608 38 60 00 00 */ li r3, 0x0
/* 8003C7CC 0003860C 90 01 00 14 */ stw r0, 0x14(r1)
/* 8003C7D0 00038610 93 E1 00 0C */ stw r31, 0xc(r1)
/* 8003C7D4 00038614 93 C1 00 08 */ stw r30, 0x8(r1)
/* 8003C7D8 00038618 48 00 5F 19 */ bl DVDLowClearCoverInterrupt
/* 8003C7DC 0003861C 4B FE 50 45 */ bl OSDisableInterrupts
/* 8003C7E0 00038620 80 0D E6 40 */ lwz r0, CommandInfoCounter@sda21(r13)
/* 8003C7E4 00038624 7C 7F 1B 78 */ mr r31, r3
/* 8003C7E8 00038628 28 00 00 05 */ cmplwi r0, 0x5
/* 8003C7EC 0003862C 41 80 00 0C */ blt lbl_8003C7F8
/* 8003C7F0 00038630 38 00 00 00 */ li r0, 0x0
/* 8003C7F4 00038634 90 0D E6 40 */ stw r0, CommandInfoCounter@sda21(r13)
.global lbl_8003C7F8
lbl_8003C7F8:
/* 8003C7F8 00038638 80 0D E6 40 */ lwz r0, CommandInfoCounter@sda21(r13)
/* 8003C7FC 0003863C 3F C0 80 4A */ lis r30, __ErrorInfo@ha
/* 8003C800 00038640 80 6D E6 40 */ lwz r3, CommandInfoCounter@sda21(r13)
/* 8003C804 00038644 3B DE FC 40 */ addi r30, r30, __ErrorInfo@l
/* 8003C808 00038648 1C A0 00 14 */ mulli r5, r0, 0x14
/* 8003C80C 0003864C 80 0D E6 40 */ lwz r0, CommandInfoCounter@sda21(r13)
/* 8003C810 00038650 38 C0 00 25 */ li r6, 0x25
/* 8003C814 00038654 38 80 00 00 */ li r4, 0x0
/* 8003C818 00038658 1C 63 00 14 */ mulli r3, r3, 0x14
/* 8003C81C 0003865C 7C BE 2A 14 */ add r5, r30, r5
/* 8003C820 00038660 90 C5 00 1C */ stw r6, 0x1c(r5)
/* 8003C824 00038664 7C 7E 1A 14 */ add r3, r30, r3
/* 8003C828 00038668 1C 00 00 14 */ mulli r0, r0, 0x14
/* 8003C82C 0003866C 90 83 00 20 */ stw r4, 0x20(r3)
/* 8003C830 00038670 7C 7E 02 14 */ add r3, r30, r0
/* 8003C834 00038674 90 83 00 24 */ stw r4, 0x24(r3)
/* 8003C838 00038678 4B FE 93 29 */ bl OSGetTick
/* 8003C83C 0003867C 80 0D E6 40 */ lwz r0, CommandInfoCounter@sda21(r13)
/* 8003C840 00038680 80 8D E6 40 */ lwz r4, CommandInfoCounter@sda21(r13)
/* 8003C844 00038684 1C A0 00 14 */ mulli r5, r0, 0x14
/* 8003C848 00038688 38 04 00 01 */ addi r0, r4, 0x1
/* 8003C84C 0003868C 90 0D E6 40 */ stw r0, CommandInfoCounter@sda21(r13)
/* 8003C850 00038690 7C 9E 2A 14 */ add r4, r30, r5
/* 8003C854 00038694 90 64 00 2C */ stw r3, 0x2c(r4)
/* 8003C858 00038698 7F E3 FB 78 */ mr r3, r31
/* 8003C85C 0003869C 4B FE 50 05 */ bl OSRestoreInterrupts
/* 8003C860 000386A0 3C 80 80 04 */ lis r4, cbForStateDownRotation@ha
/* 8003C864 000386A4 3C 60 00 02 */ lis r3, 0x2
/* 8003C868 000386A8 38 84 C8 90 */ addi r4, r4, cbForStateDownRotation@l
/* 8003C86C 000386AC 48 00 55 35 */ bl DVDLowSetMaximumRotation
/* 8003C870 000386B0 80 01 00 14 */ lwz r0, 0x14(r1)
/* 8003C874 000386B4 83 E1 00 0C */ lwz r31, 0xc(r1)
/* 8003C878 000386B8 83 C1 00 08 */ lwz r30, 0x8(r1)
/* 8003C87C 000386BC 7C 08 03 A6 */ mtlr r0
/* 8003C880 000386C0 38 21 00 10 */ addi r1, r1, 0x10
/* 8003C884 000386C4 4E 80 00 20 */ blr
/* 8003C888 000386C8 00 00 00 00 */ .4byte 0x00000000
/* 8003C88C 000386CC 00 00 00 00 */ .4byte 0x00000000
.global cbForStateDownRotation
cbForStateDownRotation:
/* 8003C890 000386D0 94 21 FF F0 */ stwu r1, -0x10(r1)
/* 8003C894 000386D4 7C 08 02 A6 */ mflr r0
/* 8003C898 000386D8 90 01 00 14 */ stw r0, 0x14(r1)
/* 8003C89C 000386DC 93 E1 00 0C */ stw r31, 0xc(r1)
/* 8003C8A0 000386E0 93 C1 00 08 */ stw r30, 0x8(r1)
/* 8003C8A4 000386E4 7C 7E 1B 78 */ mr r30, r3
/* 8003C8A8 000386E8 4B FE 4F 79 */ bl OSDisableInterrupts
/* 8003C8AC 000386EC 80 0D E6 40 */ lwz r0, CommandInfoCounter@sda21(r13)
/* 8003C8B0 000386F0 2C 00 00 00 */ cmpwi r0, 0x0
/* 8003C8B4 000386F4 40 82 00 14 */ bne lbl_8003C8C8
/* 8003C8B8 000386F8 3C 80 80 4A */ lis r4, __ErrorInfo@ha
/* 8003C8BC 000386FC 38 84 FC 40 */ addi r4, r4, __ErrorInfo@l
/* 8003C8C0 00038700 93 C4 00 78 */ stw r30, 0x78(r4)
/* 8003C8C4 00038704 48 00 00 20 */ b lbl_8003C8E4
.global lbl_8003C8C8
lbl_8003C8C8:
/* 8003C8C8 00038708 80 8D E6 40 */ lwz r4, CommandInfoCounter@sda21(r13)
/* 8003C8CC 0003870C 3C A0 80 4A */ lis r5, __ErrorInfo@ha
/* 8003C8D0 00038710 38 A5 FC 40 */ addi r5, r5, __ErrorInfo@l
/* 8003C8D4 00038714 38 04 FF FF */ addi r0, r4, -0x1
/* 8003C8D8 00038718 1C 00 00 14 */ mulli r0, r0, 0x14
/* 8003C8DC 0003871C 7C 85 02 14 */ add r4, r5, r0
/* 8003C8E0 00038720 93 C4 00 28 */ stw r30, 0x28(r4)
.global lbl_8003C8E4
lbl_8003C8E4:
/* 8003C8E4 00038724 4B FE 4F 7D */ bl OSRestoreInterrupts
/* 8003C8E8 00038728 28 1E 00 10 */ cmplwi r30, 0x10
/* 8003C8EC 0003872C 40 82 00 1C */ bne lbl_8003C908
/* 8003C8F0 00038730 3C 60 01 23 */ lis r3, 0x123
/* 8003C8F4 00038734 3C 80 80 04 */ lis r4, cbForStoreErrorCode2@ha
/* 8003C8F8 00038738 38 63 45 68 */ addi r3, r3, 0x4568
/* 8003C8FC 0003873C 38 84 A7 C0 */ addi r4, r4, cbForStoreErrorCode2@l
/* 8003C900 00038740 48 00 33 81 */ bl __DVDStoreErrorCode
/* 8003C904 00038744 48 00 01 B4 */ b lbl_8003CAB8
.global lbl_8003C908
lbl_8003C908:
/* 8003C908 00038748 28 1E 00 20 */ cmplwi r30, 0x20
/* 8003C90C 0003874C 40 82 00 1C */ bne lbl_8003C928
/* 8003C910 00038750 3C 60 01 23 */ lis r3, 0x123
/* 8003C914 00038754 3C 80 80 04 */ lis r4, cbForStoreErrorCode2@ha
/* 8003C918 00038758 38 63 45 69 */ addi r3, r3, 0x4569
/* 8003C91C 0003875C 38 84 A7 C0 */ addi r4, r4, cbForStoreErrorCode2@l
/* 8003C920 00038760 48 00 33 61 */ bl __DVDStoreErrorCode
/* 8003C924 00038764 48 00 01 94 */ b lbl_8003CAB8
.global lbl_8003C928
lbl_8003C928:
/* 8003C928 00038768 57 C0 07 FF */ clrlwi. r0, r30, 31
/* 8003C92C 0003876C 41 82 01 70 */ beq lbl_8003CA9C
/* 8003C930 00038770 3C 60 80 4A */ lis r3, CurrDiskID@ha
/* 8003C934 00038774 38 80 00 20 */ li r4, 0x20
/* 8003C938 00038778 38 63 F9 C0 */ addi r3, r3, CurrDiskID@l
/* 8003C93C 0003877C 4B FE 00 15 */ bl DCInvalidateRange
/* 8003C940 00038780 80 0D E6 C4 */ lwz r0, CurrCommand@sda21(r13)
/* 8003C944 00038784 3C 60 80 04 */ lis r3, stateCoverClosed_CMD@ha
/* 8003C948 00038788 38 63 CA D0 */ addi r3, r3, stateCoverClosed_CMD@l
/* 8003C94C 0003878C 90 6D E6 D4 */ stw r3, LastState@sda21(r13)
/* 8003C950 00038790 28 00 00 28 */ cmplwi r0, 0x28
/* 8003C954 00038794 40 82 00 A0 */ bne lbl_8003C9F4
/* 8003C958 00038798 38 80 00 00 */ li r4, 0x0
/* 8003C95C 0003879C 90 8D E6 58 */ stw r4, NumInternalRetry@sda21(r13)
/* 8003C960 000387A0 80 0D E6 50 */ lwz r0, Canceling@sda21(r13)
/* 8003C964 000387A4 2C 00 00 00 */ cmpwi r0, 0x0
/* 8003C968 000387A8 41 82 00 68 */ beq lbl_8003C9D0
/* 8003C96C 000387AC 83 CD E6 D0 */ lwz r30, executing@sda21(r13)
/* 8003C970 000387B0 3C 60 80 4A */ lis r3, DummyCommandBlock@ha
/* 8003C974 000387B4 90 8D E6 54 */ stw r4, ResumeFromHere@sda21(r13)
/* 8003C978 000387B8 38 63 F9 20 */ addi r3, r3, DummyCommandBlock@l
/* 8003C97C 000387BC 38 00 00 0A */ li r0, 0xa
/* 8003C980 000387C0 90 8D E6 50 */ stw r4, Canceling@sda21(r13)
/* 8003C984 000387C4 90 6D E6 D0 */ stw r3, executing@sda21(r13)
/* 8003C988 000387C8 90 1E 00 0C */ stw r0, 0xc(r30)
/* 8003C98C 000387CC 81 9E 00 28 */ lwz r12, 0x28(r30)
/* 8003C990 000387D0 2C 0C 00 00 */ cmpwi r12, 0x0
/* 8003C994 000387D4 41 82 00 14 */ beq lbl_8003C9A8
/* 8003C998 000387D8 7F C4 F3 78 */ mr r4, r30
/* 8003C99C 000387DC 38 60 FF FD */ li r3, -0x3
/* 8003C9A0 000387E0 7D 89 03 A6 */ mtctr r12
/* 8003C9A4 000387E4 4E 80 04 21 */ bctrl
.global lbl_8003C9A8
lbl_8003C9A8:
/* 8003C9A8 000387E8 81 8D E6 C0 */ lwz r12, CancelCallback@sda21(r13)
/* 8003C9AC 000387EC 2C 0C 00 00 */ cmpwi r12, 0x0
/* 8003C9B0 000387F0 41 82 00 14 */ beq lbl_8003C9C4
/* 8003C9B4 000387F4 7F C4 F3 78 */ mr r4, r30
/* 8003C9B8 000387F8 38 60 00 00 */ li r3, 0x0
/* 8003C9BC 000387FC 7D 89 03 A6 */ mtctr r12
/* 8003C9C0 00038800 4E 80 04 21 */ bctrl
.global lbl_8003C9C4
lbl_8003C9C4:
/* 8003C9C4 00038804 48 00 05 2D */ bl stateReady
/* 8003C9C8 00038808 38 00 00 01 */ li r0, 0x1
/* 8003C9CC 0003880C 48 00 00 08 */ b lbl_8003C9D4
.global lbl_8003C9D0
lbl_8003C9D0:
/* 8003C9D0 00038810 38 00 00 00 */ li r0, 0x0
.global lbl_8003C9D4
lbl_8003C9D4:
/* 8003C9D4 00038814 2C 00 00 00 */ cmpwi r0, 0x0
/* 8003C9D8 00038818 40 82 00 E0 */ bne lbl_8003CAB8
/* 8003C9DC 0003881C 80 6D E6 D0 */ lwz r3, executing@sda21(r13)
/* 8003C9E0 00038820 38 00 00 01 */ li r0, 0x1
/* 8003C9E4 00038824 90 03 00 0C */ stw r0, 0xc(r3)
/* 8003C9E8 00038828 80 6D E6 D0 */ lwz r3, executing@sda21(r13)
/* 8003C9EC 0003882C 48 00 08 25 */ bl stateBusy
/* 8003C9F0 00038830 48 00 00 C8 */ b lbl_8003CAB8
.global lbl_8003C9F4
lbl_8003C9F4:
/* 8003C9F4 00038834 38 60 00 00 */ li r3, 0x0
/* 8003C9F8 00038838 48 00 5C F9 */ bl DVDLowClearCoverInterrupt
/* 8003C9FC 0003883C 4B FE 4E 25 */ bl OSDisableInterrupts
/* 8003CA00 00038840 80 0D E6 40 */ lwz r0, CommandInfoCounter@sda21(r13)
/* 8003CA04 00038844 7C 7F 1B 78 */ mr r31, r3
/* 8003CA08 00038848 28 00 00 05 */ cmplwi r0, 0x5
/* 8003CA0C 0003884C 41 80 00 0C */ blt lbl_8003CA18
/* 8003CA10 00038850 38 00 00 00 */ li r0, 0x0
/* 8003CA14 00038854 90 0D E6 40 */ stw r0, CommandInfoCounter@sda21(r13)
.global lbl_8003CA18
lbl_8003CA18:
/* 8003CA18 00038858 80 0D E6 40 */ lwz r0, CommandInfoCounter@sda21(r13)
/* 8003CA1C 0003885C 3F C0 80 4A */ lis r30, __ErrorInfo@ha
/* 8003CA20 00038860 80 6D E6 40 */ lwz r3, CommandInfoCounter@sda21(r13)
/* 8003CA24 00038864 3B DE FC 40 */ addi r30, r30, __ErrorInfo@l
/* 8003CA28 00038868 1C C0 00 14 */ mulli r6, r0, 0x14
/* 8003CA2C 0003886C 80 0D E6 40 */ lwz r0, CommandInfoCounter@sda21(r13)
/* 8003CA30 00038870 38 E0 00 05 */ li r7, 0x5
/* 8003CA34 00038874 38 A0 00 00 */ li r5, 0x0
/* 8003CA38 00038878 1C 63 00 14 */ mulli r3, r3, 0x14
/* 8003CA3C 0003887C 38 80 00 20 */ li r4, 0x20
/* 8003CA40 00038880 7C DE 32 14 */ add r6, r30, r6
/* 8003CA44 00038884 90 E6 00 1C */ stw r7, 0x1c(r6)
/* 8003CA48 00038888 7C 7E 1A 14 */ add r3, r30, r3
/* 8003CA4C 0003888C 1C 00 00 14 */ mulli r0, r0, 0x14
/* 8003CA50 00038890 90 A3 00 20 */ stw r5, 0x20(r3)
/* 8003CA54 00038894 7C 7E 02 14 */ add r3, r30, r0
/* 8003CA58 00038898 90 83 00 24 */ stw r4, 0x24(r3)
/* 8003CA5C 0003889C 4B FE 91 05 */ bl OSGetTick
/* 8003CA60 000388A0 80 0D E6 40 */ lwz r0, CommandInfoCounter@sda21(r13)
/* 8003CA64 000388A4 80 8D E6 40 */ lwz r4, CommandInfoCounter@sda21(r13)
/* 8003CA68 000388A8 1C A0 00 14 */ mulli r5, r0, 0x14
/* 8003CA6C 000388AC 38 04 00 01 */ addi r0, r4, 0x1
/* 8003CA70 000388B0 90 0D E6 40 */ stw r0, CommandInfoCounter@sda21(r13)
/* 8003CA74 000388B4 7C 9E 2A 14 */ add r4, r30, r5
/* 8003CA78 000388B8 90 64 00 2C */ stw r3, 0x2c(r4)
/* 8003CA7C 000388BC 7F E3 FB 78 */ mr r3, r31
/* 8003CA80 000388C0 4B FE 4D E1 */ bl OSRestoreInterrupts
/* 8003CA84 000388C4 3C 60 80 4A */ lis r3, CurrDiskID@ha
/* 8003CA88 000388C8 3C 80 80 04 */ lis r4, cbForStateCoverClosed@ha
/* 8003CA8C 000388CC 38 63 F9 C0 */ addi r3, r3, CurrDiskID@l
/* 8003CA90 000388D0 38 84 CC 50 */ addi r4, r4, cbForStateCoverClosed@l
/* 8003CA94 000388D4 48 00 3B 8D */ bl DVDLowReadDiskID
/* 8003CA98 000388D8 48 00 00 20 */ b lbl_8003CAB8
.global lbl_8003CA9C
lbl_8003CA9C:
/* 8003CA9C 000388DC 38 60 00 27 */ li r3, 0x27
/* 8003CAA0 000388E0 38 80 00 00 */ li r4, 0x0
/* 8003CAA4 000388E4 38 A0 00 00 */ li r5, 0x0
/* 8003CAA8 000388E8 4B FF D6 99 */ bl StampCommand
/* 8003CAAC 000388EC 3C 60 80 04 */ lis r3, cbForStateGettingError@ha
/* 8003CAB0 000388F0 38 63 A9 D0 */ addi r3, r3, cbForStateGettingError@l
/* 8003CAB4 000388F4 48 00 4C AD */ bl DVDLowRequestError
.global lbl_8003CAB8
lbl_8003CAB8:
/* 8003CAB8 000388F8 80 01 00 14 */ lwz r0, 0x14(r1)
/* 8003CABC 000388FC 83 E1 00 0C */ lwz r31, 0xc(r1)
/* 8003CAC0 00038900 83 C1 00 08 */ lwz r30, 0x8(r1)
/* 8003CAC4 00038904 7C 08 03 A6 */ mtlr r0
/* 8003CAC8 00038908 38 21 00 10 */ addi r1, r1, 0x10
/* 8003CACC 0003890C 4E 80 00 20 */ blr
.global stateCoverClosed_CMD
stateCoverClosed_CMD:
/* 8003CAD0 00038910 94 21 FF F0 */ stwu r1, -0x10(r1)
/* 8003CAD4 00038914 7C 08 02 A6 */ mflr r0
/* 8003CAD8 00038918 90 01 00 14 */ stw r0, 0x14(r1)
/* 8003CADC 0003891C 93 E1 00 0C */ stw r31, 0xc(r1)
/* 8003CAE0 00038920 93 C1 00 08 */ stw r30, 0x8(r1)
/* 8003CAE4 00038924 80 0D E6 C4 */ lwz r0, CurrCommand@sda21(r13)
/* 8003CAE8 00038928 28 00 00 28 */ cmplwi r0, 0x28
/* 8003CAEC 0003892C 40 82 00 A0 */ bne lbl_8003CB8C
/* 8003CAF0 00038930 38 80 00 00 */ li r4, 0x0
/* 8003CAF4 00038934 90 8D E6 58 */ stw r4, NumInternalRetry@sda21(r13)
/* 8003CAF8 00038938 80 0D E6 50 */ lwz r0, Canceling@sda21(r13)
/* 8003CAFC 0003893C 2C 00 00 00 */ cmpwi r0, 0x0
/* 8003CB00 00038940 41 82 00 68 */ beq lbl_8003CB68
/* 8003CB04 00038944 83 CD E6 D0 */ lwz r30, executing@sda21(r13)
/* 8003CB08 00038948 3C 60 80 4A */ lis r3, DummyCommandBlock@ha
/* 8003CB0C 0003894C 90 8D E6 54 */ stw r4, ResumeFromHere@sda21(r13)
/* 8003CB10 00038950 38 63 F9 20 */ addi r3, r3, DummyCommandBlock@l
/* 8003CB14 00038954 38 00 00 0A */ li r0, 0xa
/* 8003CB18 00038958 90 8D E6 50 */ stw r4, Canceling@sda21(r13)
/* 8003CB1C 0003895C 90 6D E6 D0 */ stw r3, executing@sda21(r13)
/* 8003CB20 00038960 90 1E 00 0C */ stw r0, 0xc(r30)
/* 8003CB24 00038964 81 9E 00 28 */ lwz r12, 0x28(r30)
/* 8003CB28 00038968 2C 0C 00 00 */ cmpwi r12, 0x0
/* 8003CB2C 0003896C 41 82 00 14 */ beq lbl_8003CB40
/* 8003CB30 00038970 7F C4 F3 78 */ mr r4, r30
/* 8003CB34 00038974 38 60 FF FD */ li r3, -0x3
/* 8003CB38 00038978 7D 89 03 A6 */ mtctr r12
/* 8003CB3C 0003897C 4E 80 04 21 */ bctrl
.global lbl_8003CB40
lbl_8003CB40:
/* 8003CB40 00038980 81 8D E6 C0 */ lwz r12, CancelCallback@sda21(r13)
/* 8003CB44 00038984 2C 0C 00 00 */ cmpwi r12, 0x0
/* 8003CB48 00038988 41 82 00 14 */ beq lbl_8003CB5C
/* 8003CB4C 0003898C 7F C4 F3 78 */ mr r4, r30
/* 8003CB50 00038990 38 60 00 00 */ li r3, 0x0
/* 8003CB54 00038994 7D 89 03 A6 */ mtctr r12
/* 8003CB58 00038998 4E 80 04 21 */ bctrl
.global lbl_8003CB5C
lbl_8003CB5C:
/* 8003CB5C 0003899C 48 00 03 95 */ bl stateReady
/* 8003CB60 000389A0 38 00 00 01 */ li r0, 0x1
/* 8003CB64 000389A4 48 00 00 08 */ b lbl_8003CB6C
.global lbl_8003CB68
lbl_8003CB68:
/* 8003CB68 000389A8 38 00 00 00 */ li r0, 0x0
.global lbl_8003CB6C
lbl_8003CB6C:
/* 8003CB6C 000389AC 2C 00 00 00 */ cmpwi r0, 0x0
/* 8003CB70 000389B0 40 82 00 C0 */ bne lbl_8003CC30
/* 8003CB74 000389B4 80 6D E6 D0 */ lwz r3, executing@sda21(r13)
/* 8003CB78 000389B8 38 00 00 01 */ li r0, 0x1
/* 8003CB7C 000389BC 90 03 00 0C */ stw r0, 0xc(r3)
/* 8003CB80 000389C0 80 6D E6 D0 */ lwz r3, executing@sda21(r13)
/* 8003CB84 000389C4 48 00 06 8D */ bl stateBusy
/* 8003CB88 000389C8 48 00 00 A8 */ b lbl_8003CC30
.global lbl_8003CB8C
lbl_8003CB8C:
/* 8003CB8C 000389CC 38 60 00 00 */ li r3, 0x0
/* 8003CB90 000389D0 48 00 5B 61 */ bl DVDLowClearCoverInterrupt
/* 8003CB94 000389D4 4B FE 4C 8D */ bl OSDisableInterrupts
/* 8003CB98 000389D8 80 0D E6 40 */ lwz r0, CommandInfoCounter@sda21(r13)
/* 8003CB9C 000389DC 7C 7F 1B 78 */ mr r31, r3
/* 8003CBA0 000389E0 28 00 00 05 */ cmplwi r0, 0x5
/* 8003CBA4 000389E4 41 80 00 0C */ blt lbl_8003CBB0
/* 8003CBA8 000389E8 38 00 00 00 */ li r0, 0x0
/* 8003CBAC 000389EC 90 0D E6 40 */ stw r0, CommandInfoCounter@sda21(r13)
.global lbl_8003CBB0
lbl_8003CBB0:
/* 8003CBB0 000389F0 80 0D E6 40 */ lwz r0, CommandInfoCounter@sda21(r13)
/* 8003CBB4 000389F4 3F C0 80 4A */ lis r30, __ErrorInfo@ha
/* 8003CBB8 000389F8 80 6D E6 40 */ lwz r3, CommandInfoCounter@sda21(r13)
/* 8003CBBC 000389FC 3B DE FC 40 */ addi r30, r30, __ErrorInfo@l
/* 8003CBC0 00038A00 1C C0 00 14 */ mulli r6, r0, 0x14
/* 8003CBC4 00038A04 80 0D E6 40 */ lwz r0, CommandInfoCounter@sda21(r13)
/* 8003CBC8 00038A08 38 E0 00 05 */ li r7, 0x5
/* 8003CBCC 00038A0C 38 A0 00 00 */ li r5, 0x0
/* 8003CBD0 00038A10 1C 63 00 14 */ mulli r3, r3, 0x14
/* 8003CBD4 00038A14 38 80 00 20 */ li r4, 0x20
/* 8003CBD8 00038A18 7C DE 32 14 */ add r6, r30, r6
/* 8003CBDC 00038A1C 90 E6 00 1C */ stw r7, 0x1c(r6)
/* 8003CBE0 00038A20 7C 7E 1A 14 */ add r3, r30, r3
/* 8003CBE4 00038A24 1C 00 00 14 */ mulli r0, r0, 0x14
/* 8003CBE8 00038A28 90 A3 00 20 */ stw r5, 0x20(r3)
/* 8003CBEC 00038A2C 7C 7E 02 14 */ add r3, r30, r0
/* 8003CBF0 00038A30 90 83 00 24 */ stw r4, 0x24(r3)
/* 8003CBF4 00038A34 4B FE 8F 6D */ bl OSGetTick
/* 8003CBF8 00038A38 80 0D E6 40 */ lwz r0, CommandInfoCounter@sda21(r13)
/* 8003CBFC 00038A3C 80 8D E6 40 */ lwz r4, CommandInfoCounter@sda21(r13)
/* 8003CC00 00038A40 1C A0 00 14 */ mulli r5, r0, 0x14
/* 8003CC04 00038A44 38 04 00 01 */ addi r0, r4, 0x1
/* 8003CC08 00038A48 90 0D E6 40 */ stw r0, CommandInfoCounter@sda21(r13)
/* 8003CC0C 00038A4C 7C 9E 2A 14 */ add r4, r30, r5
/* 8003CC10 00038A50 90 64 00 2C */ stw r3, 0x2c(r4)
/* 8003CC14 00038A54 7F E3 FB 78 */ mr r3, r31
/* 8003CC18 00038A58 4B FE 4C 49 */ bl OSRestoreInterrupts
/* 8003CC1C 00038A5C 3C 60 80 4A */ lis r3, CurrDiskID@ha
/* 8003CC20 00038A60 3C 80 80 04 */ lis r4, cbForStateCoverClosed@ha
/* 8003CC24 00038A64 38 63 F9 C0 */ addi r3, r3, CurrDiskID@l
/* 8003CC28 00038A68 38 84 CC 50 */ addi r4, r4, cbForStateCoverClosed@l
/* 8003CC2C 00038A6C 48 00 39 F5 */ bl DVDLowReadDiskID
.global lbl_8003CC30
lbl_8003CC30:
/* 8003CC30 00038A70 80 01 00 14 */ lwz r0, 0x14(r1)
/* 8003CC34 00038A74 83 E1 00 0C */ lwz r31, 0xc(r1)
/* 8003CC38 00038A78 83 C1 00 08 */ lwz r30, 0x8(r1)
/* 8003CC3C 00038A7C 7C 08 03 A6 */ mtlr r0
/* 8003CC40 00038A80 38 21 00 10 */ addi r1, r1, 0x10
/* 8003CC44 00038A84 4E 80 00 20 */ blr
/* 8003CC48 00038A88 00 00 00 00 */ .4byte 0x00000000
/* 8003CC4C 00038A8C 00 00 00 00 */ .4byte 0x00000000
.global cbForStateCoverClosed
cbForStateCoverClosed:
/* 8003CC50 00038A90 94 21 FF F0 */ stwu r1, -0x10(r1)
/* 8003CC54 00038A94 7C 08 02 A6 */ mflr r0
/* 8003CC58 00038A98 90 01 00 14 */ stw r0, 0x14(r1)
/* 8003CC5C 00038A9C 93 E1 00 0C */ stw r31, 0xc(r1)
/* 8003CC60 00038AA0 7C 7F 1B 78 */ mr r31, r3
/* 8003CC64 00038AA4 4B FE 4B BD */ bl OSDisableInterrupts
/* 8003CC68 00038AA8 80 0D E6 40 */ lwz r0, CommandInfoCounter@sda21(r13)
/* 8003CC6C 00038AAC 2C 00 00 00 */ cmpwi r0, 0x0
/* 8003CC70 00038AB0 40 82 00 14 */ bne lbl_8003CC84
/* 8003CC74 00038AB4 3C 80 80 4A */ lis r4, __ErrorInfo@ha
/* 8003CC78 00038AB8 38 84 FC 40 */ addi r4, r4, __ErrorInfo@l
/* 8003CC7C 00038ABC 93 E4 00 78 */ stw r31, 0x78(r4)
/* 8003CC80 00038AC0 48 00 00 1C */ b lbl_8003CC9C
.global lbl_8003CC84
lbl_8003CC84:
/* 8003CC84 00038AC4 80 0D E6 40 */ lwz r0, CommandInfoCounter@sda21(r13)
/* 8003CC88 00038AC8 3C 80 80 4A */ lis r4, __ErrorInfo@ha
/* 8003CC8C 00038ACC 38 84 FC 40 */ addi r4, r4, __ErrorInfo@l
/* 8003CC90 00038AD0 1C 00 00 14 */ mulli r0, r0, 0x14
/* 8003CC94 00038AD4 7C 84 02 14 */ add r4, r4, r0
/* 8003CC98 00038AD8 93 E4 00 14 */ stw r31, 0x14(r4)
.global lbl_8003CC9C
lbl_8003CC9C:
/* 8003CC9C 00038ADC 4B FE 4B C5 */ bl OSRestoreInterrupts
/* 8003CCA0 00038AE0 28 1F 00 10 */ cmplwi r31, 0x10
/* 8003CCA4 00038AE4 40 82 00 1C */ bne lbl_8003CCC0
/* 8003CCA8 00038AE8 3C 60 01 23 */ lis r3, 0x123
/* 8003CCAC 00038AEC 3C 80 80 04 */ lis r4, cbForStoreErrorCode2@ha
/* 8003CCB0 00038AF0 38 63 45 68 */ addi r3, r3, 0x4568
/* 8003CCB4 00038AF4 38 84 A7 C0 */ addi r4, r4, cbForStoreErrorCode2@l
/* 8003CCB8 00038AF8 48 00 2F C9 */ bl __DVDStoreErrorCode
/* 8003CCBC 00038AFC 48 00 00 58 */ b lbl_8003CD14
.global lbl_8003CCC0
lbl_8003CCC0:
/* 8003CCC0 00038B00 28 1F 00 20 */ cmplwi r31, 0x20
/* 8003CCC4 00038B04 40 82 00 1C */ bne lbl_8003CCE0
/* 8003CCC8 00038B08 3C 60 01 23 */ lis r3, 0x123
/* 8003CCCC 00038B0C 3C 80 80 04 */ lis r4, cbForStoreErrorCode2@ha
/* 8003CCD0 00038B10 38 63 45 69 */ addi r3, r3, 0x4569
/* 8003CCD4 00038B14 38 84 A7 C0 */ addi r4, r4, cbForStoreErrorCode2@l
/* 8003CCD8 00038B18 48 00 2F A9 */ bl __DVDStoreErrorCode
/* 8003CCDC 00038B1C 48 00 00 38 */ b lbl_8003CD14
.global lbl_8003CCE0
lbl_8003CCE0:
/* 8003CCE0 00038B20 57 E0 07 FF */ clrlwi. r0, r31, 31
/* 8003CCE4 00038B24 41 82 00 14 */ beq lbl_8003CCF8
/* 8003CCE8 00038B28 38 00 00 00 */ li r0, 0x0
/* 8003CCEC 00038B2C 90 0D E6 58 */ stw r0, NumInternalRetry@sda21(r13)
/* 8003CCF0 00038B30 4B FF E6 F1 */ bl stateCheckID
/* 8003CCF4 00038B34 48 00 00 20 */ b lbl_8003CD14
.global lbl_8003CCF8
lbl_8003CCF8:
/* 8003CCF8 00038B38 38 60 00 27 */ li r3, 0x27
/* 8003CCFC 00038B3C 38 80 00 00 */ li r4, 0x0
/* 8003CD00 00038B40 38 A0 00 00 */ li r5, 0x0
/* 8003CD04 00038B44 4B FF D4 3D */ bl StampCommand
/* 8003CD08 00038B48 3C 60 80 04 */ lis r3, cbForStateGettingError@ha
/* 8003CD0C 00038B4C 38 63 A9 D0 */ addi r3, r3, cbForStateGettingError@l
/* 8003CD10 00038B50 48 00 4A 51 */ bl DVDLowRequestError
.global lbl_8003CD14
lbl_8003CD14:
/* 8003CD14 00038B54 80 01 00 14 */ lwz r0, 0x14(r1)
/* 8003CD18 00038B58 83 E1 00 0C */ lwz r31, 0xc(r1)
/* 8003CD1C 00038B5C 7C 08 03 A6 */ mtlr r0
/* 8003CD20 00038B60 38 21 00 10 */ addi r1, r1, 0x10
/* 8003CD24 00038B64 4E 80 00 20 */ blr
/* 8003CD28 00038B68 00 00 00 00 */ .4byte 0x00000000
/* 8003CD2C 00038B6C 00 00 00 00 */ .4byte 0x00000000
.global cbForPrepareCoverRegister
cbForPrepareCoverRegister:
/* 8003CD30 00038B70 94 21 FF F0 */ stwu r1, -0x10(r1)
/* 8003CD34 00038B74 7C 08 02 A6 */ mflr r0
/* 8003CD38 00038B78 90 01 00 14 */ stw r0, 0x14(r1)
/* 8003CD3C 00038B7C 93 E1 00 0C */ stw r31, 0xc(r1)
/* 8003CD40 00038B80 3B E0 00 00 */ li r31, 0x0
/* 8003CD44 00038B84 93 ED E6 74 */ stw r31, PreparingCover@sda21(r13)
/* 8003CD48 00038B88 80 0D E6 68 */ lwz r0, WaitingForCoverClose@sda21(r13)
/* 8003CD4C 00038B8C 2C 00 00 00 */ cmpwi r0, 0x0
/* 8003CD50 00038B90 41 82 00 88 */ beq lbl_8003CDD8
/* 8003CD54 00038B94 48 00 55 0D */ bl DVDLowGetCoverRegister
/* 8003CD58 00038B98 54 60 07 FF */ clrlwi. r0, r3, 31
/* 8003CD5C 00038B9C 40 82 01 48 */ bne lbl_8003CEA4
/* 8003CD60 00038BA0 3C 60 80 4A */ lis r3, CoverAlarm@ha
/* 8003CD64 00038BA4 38 63 F9 80 */ addi r3, r3, CoverAlarm@l
/* 8003CD68 00038BA8 4B FD ED F9 */ bl OSCancelAlarm
/* 8003CD6C 00038BAC 93 ED E6 68 */ stw r31, WaitingForCoverClose@sda21(r13)
/* 8003CD70 00038BB0 93 ED E6 68 */ stw r31, WaitingForCoverClose@sda21(r13)
/* 8003CD74 00038BB4 80 0D E6 C4 */ lwz r0, CurrCommand@sda21(r13)
/* 8003CD78 00038BB8 28 00 00 03 */ cmplwi r0, 0x3
/* 8003CD7C 00038BBC 40 82 00 0C */ bne lbl_8003CD88
/* 8003CD80 00038BC0 38 00 00 01 */ li r0, 0x1
/* 8003CD84 00038BC4 90 0D E6 70 */ stw r0, ChangedDisc@sda21(r13)
.global lbl_8003CD88
lbl_8003CD88:
/* 8003CD88 00038BC8 80 0D E6 B0 */ lwz r0, MotorState@sda21(r13)
/* 8003CD8C 00038BCC 28 00 00 02 */ cmplwi r0, 0x2
/* 8003CD90 00038BD0 40 82 00 1C */ bne lbl_8003CDAC
/* 8003CD94 00038BD4 80 6D E6 D0 */ lwz r3, executing@sda21(r13)
/* 8003CD98 00038BD8 2C 03 00 00 */ cmpwi r3, 0x0
/* 8003CD9C 00038BDC 41 82 01 08 */ beq lbl_8003CEA4
/* 8003CDA0 00038BE0 38 00 00 0C */ li r0, 0xc
/* 8003CDA4 00038BE4 90 03 00 0C */ stw r0, 0xc(r3)
/* 8003CDA8 00038BE8 48 00 00 FC */ b lbl_8003CEA4
.global lbl_8003CDAC
lbl_8003CDAC:
/* 8003CDAC 00038BEC 48 0C BC 55 */ bl CanCancel__Q34nw4r2ut13DvdFileStreamCFv
/* 8003CDB0 00038BF0 80 6D E6 D0 */ lwz r3, executing@sda21(r13)
/* 8003CDB4 00038BF4 2C 03 00 00 */ cmpwi r3, 0x0
/* 8003CDB8 00038BF8 41 82 00 14 */ beq lbl_8003CDCC
/* 8003CDBC 00038BFC 38 00 00 03 */ li r0, 0x3
/* 8003CDC0 00038C00 90 03 00 0C */ stw r0, 0xc(r3)
/* 8003CDC4 00038C04 4B FF F5 ED */ bl stateCoverClosed
/* 8003CDC8 00038C08 48 00 00 DC */ b lbl_8003CEA4
.global lbl_8003CDCC
lbl_8003CDCC:
/* 8003CDCC 00038C0C 38 00 00 07 */ li r0, 0x7
/* 8003CDD0 00038C10 90 0D E6 54 */ stw r0, ResumeFromHere@sda21(r13)
/* 8003CDD4 00038C14 48 00 00 D0 */ b lbl_8003CEA4
.global lbl_8003CDD8
lbl_8003CDD8:
/* 8003CDD8 00038C18 48 00 54 89 */ bl DVDLowGetCoverRegister
/* 8003CDDC 00038C1C 54 60 07 FF */ clrlwi. r0, r3, 31
/* 8003CDE0 00038C20 41 82 00 3C */ beq lbl_8003CE1C
/* 8003CDE4 00038C24 80 0D E6 B0 */ lwz r0, MotorState@sda21(r13)
/* 8003CDE8 00038C28 38 60 00 01 */ li r3, 0x1
/* 8003CDEC 00038C2C 93 ED E6 64 */ stw r31, WaitingForCoverOpen@sda21(r13)
/* 8003CDF0 00038C30 28 00 00 02 */ cmplwi r0, 0x2
/* 8003CDF4 00038C34 90 6D E6 68 */ stw r3, WaitingForCoverClose@sda21(r13)
/* 8003CDF8 00038C38 40 82 00 14 */ bne lbl_8003CE0C
/* 8003CDFC 00038C3C 80 6D E6 D0 */ lwz r3, executing@sda21(r13)
/* 8003CE00 00038C40 38 00 00 0C */ li r0, 0xc
/* 8003CE04 00038C44 90 03 00 0C */ stw r0, 0xc(r3)
/* 8003CE08 00038C48 48 00 00 9C */ b lbl_8003CEA4
.global lbl_8003CE0C
lbl_8003CE0C:
/* 8003CE0C 00038C4C 80 6D E6 D0 */ lwz r3, executing@sda21(r13)
/* 8003CE10 00038C50 38 00 00 05 */ li r0, 0x5
/* 8003CE14 00038C54 90 03 00 0C */ stw r0, 0xc(r3)
/* 8003CE18 00038C58 48 00 00 8C */ b lbl_8003CEA4
.global lbl_8003CE1C
lbl_8003CE1C:
/* 8003CE1C 00038C5C 48 00 54 45 */ bl DVDLowGetCoverRegister
/* 8003CE20 00038C60 54 60 07 7B */ rlwinm. r0, r3, 0, 29, 29
/* 8003CE24 00038C64 41 82 00 80 */ beq lbl_8003CEA4
/* 8003CE28 00038C68 3C 60 80 4A */ lis r3, CoverAlarm@ha
/* 8003CE2C 00038C6C 38 63 F9 80 */ addi r3, r3, CoverAlarm@l
/* 8003CE30 00038C70 4B FD ED 31 */ bl OSCancelAlarm
/* 8003CE34 00038C74 93 ED E6 64 */ stw r31, WaitingForCoverOpen@sda21(r13)
/* 8003CE38 00038C78 38 60 00 00 */ li r3, 0x0
/* 8003CE3C 00038C7C 48 00 58 B5 */ bl DVDLowClearCoverInterrupt
/* 8003CE40 00038C80 93 ED E6 68 */ stw r31, WaitingForCoverClose@sda21(r13)
/* 8003CE44 00038C84 80 0D E6 C4 */ lwz r0, CurrCommand@sda21(r13)
/* 8003CE48 00038C88 28 00 00 03 */ cmplwi r0, 0x3
/* 8003CE4C 00038C8C 40 82 00 0C */ bne lbl_8003CE58
/* 8003CE50 00038C90 38 00 00 01 */ li r0, 0x1
/* 8003CE54 00038C94 90 0D E6 70 */ stw r0, ChangedDisc@sda21(r13)
.global lbl_8003CE58
lbl_8003CE58:
/* 8003CE58 00038C98 80 0D E6 B0 */ lwz r0, MotorState@sda21(r13)
/* 8003CE5C 00038C9C 28 00 00 02 */ cmplwi r0, 0x2
/* 8003CE60 00038CA0 40 82 00 1C */ bne lbl_8003CE7C
/* 8003CE64 00038CA4 80 6D E6 D0 */ lwz r3, executing@sda21(r13)
/* 8003CE68 00038CA8 2C 03 00 00 */ cmpwi r3, 0x0
/* 8003CE6C 00038CAC 41 82 00 38 */ beq lbl_8003CEA4
/* 8003CE70 00038CB0 38 00 00 0C */ li r0, 0xc
/* 8003CE74 00038CB4 90 03 00 0C */ stw r0, 0xc(r3)
/* 8003CE78 00038CB8 48 00 00 2C */ b lbl_8003CEA4
.global lbl_8003CE7C
lbl_8003CE7C:
/* 8003CE7C 00038CBC 48 0C BB 85 */ bl CanCancel__Q34nw4r2ut13DvdFileStreamCFv
/* 8003CE80 00038CC0 80 6D E6 D0 */ lwz r3, executing@sda21(r13)
/* 8003CE84 00038CC4 2C 03 00 00 */ cmpwi r3, 0x0
/* 8003CE88 00038CC8 41 82 00 14 */ beq lbl_8003CE9C
/* 8003CE8C 00038CCC 38 00 00 03 */ li r0, 0x3
/* 8003CE90 00038CD0 90 03 00 0C */ stw r0, 0xc(r3)
/* 8003CE94 00038CD4 4B FF F5 1D */ bl stateCoverClosed
/* 8003CE98 00038CD8 48 00 00 0C */ b lbl_8003CEA4
.global lbl_8003CE9C
lbl_8003CE9C:
/* 8003CE9C 00038CDC 38 00 00 07 */ li r0, 0x7
/* 8003CEA0 00038CE0 90 0D E6 54 */ stw r0, ResumeFromHere@sda21(r13)
.global lbl_8003CEA4
lbl_8003CEA4:
/* 8003CEA4 00038CE4 80 01 00 14 */ lwz r0, 0x14(r1)
/* 8003CEA8 00038CE8 83 E1 00 0C */ lwz r31, 0xc(r1)
/* 8003CEAC 00038CEC 7C 08 03 A6 */ mtlr r0
/* 8003CEB0 00038CF0 38 21 00 10 */ addi r1, r1, 0x10
/* 8003CEB4 00038CF4 4E 80 00 20 */ blr
/* 8003CEB8 00038CF8 00 00 00 00 */ .4byte 0x00000000
/* 8003CEBC 00038CFC 00 00 00 00 */ .4byte 0x00000000
.global CoverAlarmHandler
CoverAlarmHandler:
/* 8003CEC0 00038D00 80 0D E6 74 */ lwz r0, PreparingCover@sda21(r13)
/* 8003CEC4 00038D04 2C 00 00 00 */ cmpwi r0, 0x0
/* 8003CEC8 00038D08 4C 82 00 20 */ bnelr
/* 8003CECC 00038D0C 38 00 00 01 */ li r0, 0x1
/* 8003CED0 00038D10 3C 60 80 04 */ lis r3, cbForPrepareCoverRegister@ha
/* 8003CED4 00038D14 90 0D E6 74 */ stw r0, PreparingCover@sda21(r13)
/* 8003CED8 00038D18 38 63 CD 30 */ addi r3, r3, cbForPrepareCoverRegister@l
/* 8003CEDC 00038D1C 48 00 53 B4 */ b DVDLowPrepareCoverRegister
/* 8003CEE0 00038D20 4E 80 00 20 */ blr
/* 8003CEE4 00038D24 00 00 00 00 */ .4byte 0x00000000
/* 8003CEE8 00038D28 00 00 00 00 */ .4byte 0x00000000
/* 8003CEEC 00038D2C 00 00 00 00 */ .4byte 0x00000000
.global stateReady
stateReady:
/* 8003CEF0 00038D30 94 21 FF F0 */ stwu r1, -0x10(r1)
/* 8003CEF4 00038D34 7C 08 02 A6 */ mflr r0
/* 8003CEF8 00038D38 90 01 00 14 */ stw r0, 0x14(r1)
/* 8003CEFC 00038D3C 93 E1 00 0C */ stw r31, 0xc(r1)
/* 8003CF00 00038D40 80 0D E6 44 */ lwz r0, PauseFlag@sda21(r13)
/* 8003CF04 00038D44 2C 00 00 00 */ cmpwi r0, 0x0
/* 8003CF08 00038D48 41 82 00 18 */ beq lbl_8003CF20
/* 8003CF0C 00038D4C 38 60 00 01 */ li r3, 0x1
/* 8003CF10 00038D50 38 00 00 00 */ li r0, 0x0
/* 8003CF14 00038D54 90 6D E6 48 */ stw r3, PausingFlag@sda21(r13)
/* 8003CF18 00038D58 90 0D E6 D0 */ stw r0, executing@sda21(r13)
/* 8003CF1C 00038D5C 48 00 02 DC */ b lbl_8003D1F8
.global lbl_8003CF20
lbl_8003CF20:
/* 8003CF20 00038D60 48 00 22 81 */ bl __DVDCheckWaitingQueue
/* 8003CF24 00038D64 2C 03 00 00 */ cmpwi r3, 0x0
/* 8003CF28 00038D68 40 82 00 10 */ bne lbl_8003CF38
/* 8003CF2C 00038D6C 38 00 00 00 */ li r0, 0x0
/* 8003CF30 00038D70 90 0D E6 D0 */ stw r0, executing@sda21(r13)
/* 8003CF34 00038D74 48 00 02 C4 */ b lbl_8003D1F8
.global lbl_8003CF38
lbl_8003CF38:
/* 8003CF38 00038D78 48 00 21 C9 */ bl __DVDPopWaitingQueue
/* 8003CF3C 00038D7C 80 0D E6 4C */ lwz r0, FatalErrorFlag@sda21(r13)
/* 8003CF40 00038D80 90 6D E6 D0 */ stw r3, executing@sda21(r13)
/* 8003CF44 00038D84 2C 00 00 00 */ cmpwi r0, 0x0
/* 8003CF48 00038D88 41 82 00 3C */ beq lbl_8003CF84
/* 8003CF4C 00038D8C 38 00 FF FF */ li r0, -0x1
/* 8003CF50 00038D90 90 03 00 0C */ stw r0, 0xc(r3)
/* 8003CF54 00038D94 3C 60 80 4A */ lis r3, DummyCommandBlock@ha
/* 8003CF58 00038D98 80 8D E6 D0 */ lwz r4, executing@sda21(r13)
/* 8003CF5C 00038D9C 38 63 F9 20 */ addi r3, r3, DummyCommandBlock@l
/* 8003CF60 00038DA0 90 6D E6 D0 */ stw r3, executing@sda21(r13)
/* 8003CF64 00038DA4 81 84 00 28 */ lwz r12, 0x28(r4)
/* 8003CF68 00038DA8 2C 0C 00 00 */ cmpwi r12, 0x0
/* 8003CF6C 00038DAC 41 82 00 10 */ beq lbl_8003CF7C
/* 8003CF70 00038DB0 38 60 FF FF */ li r3, -0x1
/* 8003CF74 00038DB4 7D 89 03 A6 */ mtctr r12
/* 8003CF78 00038DB8 4E 80 04 21 */ bctrl
.global lbl_8003CF7C
lbl_8003CF7C:
/* 8003CF7C 00038DBC 4B FF FF 75 */ bl stateReady
/* 8003CF80 00038DC0 48 00 02 78 */ b lbl_8003D1F8
.global lbl_8003CF84
lbl_8003CF84:
/* 8003CF84 00038DC4 80 03 00 08 */ lwz r0, 0x8(r3)
/* 8003CF88 00038DC8 90 0D E6 C4 */ stw r0, CurrCommand@sda21(r13)
/* 8003CF8C 00038DCC 80 0D E6 C4 */ lwz r0, CurrCommand@sda21(r13)
/* 8003CF90 00038DD0 28 00 00 20 */ cmplwi r0, 0x20
/* 8003CF94 00038DD4 41 82 00 1C */ beq lbl_8003CFB0
/* 8003CF98 00038DD8 80 0D E6 C4 */ lwz r0, CurrCommand@sda21(r13)
/* 8003CF9C 00038DDC 28 00 00 0E */ cmplwi r0, 0xe
/* 8003CFA0 00038DE0 41 82 00 10 */ beq lbl_8003CFB0
/* 8003CFA4 00038DE4 80 0D E6 C4 */ lwz r0, CurrCommand@sda21(r13)
/* 8003CFA8 00038DE8 28 00 00 23 */ cmplwi r0, 0x23
/* 8003CFAC 00038DEC 40 82 00 0C */ bne lbl_8003CFB8
.global lbl_8003CFB0
lbl_8003CFB0:
/* 8003CFB0 00038DF0 38 00 00 00 */ li r0, 0x0
/* 8003CFB4 00038DF4 90 0D E6 54 */ stw r0, ResumeFromHere@sda21(r13)
.global lbl_8003CFB8
lbl_8003CFB8:
/* 8003CFB8 00038DF8 80 0D E6 54 */ lwz r0, ResumeFromHere@sda21(r13)
/* 8003CFBC 00038DFC 2C 00 00 00 */ cmpwi r0, 0x0
/* 8003CFC0 00038E00 41 82 01 E0 */ beq lbl_8003D1A0
/* 8003CFC4 00038E04 80 8D E6 54 */ lwz r4, ResumeFromHere@sda21(r13)
/* 8003CFC8 00038E08 38 04 FF FA */ addi r0, r4, -0x6
/* 8003CFCC 00038E0C 28 00 00 01 */ cmplwi r0, 0x1
/* 8003CFD0 00038E10 40 81 01 A4 */ ble lbl_8003D174
/* 8003CFD4 00038E14 28 04 00 02 */ cmplwi r4, 0x2
/* 8003CFD8 00038E18 41 82 00 28 */ beq lbl_8003D000
/* 8003CFDC 00038E1C 28 04 00 03 */ cmplwi r4, 0x3
/* 8003CFE0 00038E20 41 82 00 9C */ beq lbl_8003D07C
/* 8003CFE4 00038E24 28 04 00 04 */ cmplwi r4, 0x4
/* 8003CFE8 00038E28 41 82 01 10 */ beq lbl_8003D0F8
/* 8003CFEC 00038E2C 28 04 00 01 */ cmplwi r4, 0x1
/* 8003CFF0 00038E30 41 82 01 84 */ beq lbl_8003D174
/* 8003CFF4 00038E34 28 04 00 05 */ cmplwi r4, 0x5
/* 8003CFF8 00038E38 41 82 01 8C */ beq lbl_8003D184
/* 8003CFFC 00038E3C 48 00 01 98 */ b lbl_8003D194
.global lbl_8003D000
lbl_8003D000:
/* 8003D000 00038E40 38 00 00 0B */ li r0, 0xb
/* 8003D004 00038E44 90 03 00 0C */ stw r0, 0xc(r3)
/* 8003D008 00038E48 38 60 00 01 */ li r3, 0x1
/* 8003D00C 00038E4C 80 0D E6 64 */ lwz r0, WaitingForCoverOpen@sda21(r13)
/* 8003D010 00038E50 90 6D E6 B0 */ stw r3, MotorState@sda21(r13)
/* 8003D014 00038E54 2C 00 00 00 */ cmpwi r0, 0x0
/* 8003D018 00038E58 40 82 01 7C */ bne lbl_8003D194
/* 8003D01C 00038E5C 80 0D E6 68 */ lwz r0, WaitingForCoverClose@sda21(r13)
/* 8003D020 00038E60 2C 00 00 00 */ cmpwi r0, 0x0
/* 8003D024 00038E64 40 82 01 70 */ bne lbl_8003D194
/* 8003D028 00038E68 3F E0 80 4A */ lis r31, CoverAlarm@ha
/* 8003D02C 00038E6C 90 6D E6 64 */ stw r3, WaitingForCoverOpen@sda21(r13)
/* 8003D030 00038E70 38 7F F9 80 */ addi r3, r31, CoverAlarm@l
/* 8003D034 00038E74 4B FD E7 CD */ bl OSCreateAlarm
/* 8003D038 00038E78 4B FE 8B 29 */ bl OSGetTick
/* 8003D03C 00038E7C 3C A0 80 00 */ lis r5, 0x800000F8@ha
/* 8003D040 00038E80 3C 80 10 62 */ lis r4, 0x1062
/* 8003D044 00038E84 80 05 00 F8 */ lwz r0, 0x800000F8@l(r5)
/* 8003D048 00038E88 3D 20 80 04 */ lis r9, CoverAlarmHandler@ha
/* 8003D04C 00038E8C 7C 66 1B 78 */ mr r6, r3
/* 8003D050 00038E90 38 84 4D D3 */ addi r4, r4, 0x4dd3
/* 8003D054 00038E94 54 00 F0 BE */ srwi r0, r0, 2
/* 8003D058 00038E98 38 7F F9 80 */ addi r3, r31, -0x680
/* 8003D05C 00038E9C 7C 04 00 16 */ mulhwu r0, r4, r0
/* 8003D060 00038EA0 39 29 CE C0 */ addi r9, r9, CoverAlarmHandler@l
/* 8003D064 00038EA4 38 A0 00 00 */ li r5, 0x0
/* 8003D068 00038EA8 38 E0 00 00 */ li r7, 0x0
/* 8003D06C 00038EAC 54 00 D1 BE */ srwi r0, r0, 6
/* 8003D070 00038EB0 1D 00 00 64 */ mulli r8, r0, 0x64
/* 8003D074 00038EB4 4B FD EA 5D */ bl OSSetPeriodicAlarm
/* 8003D078 00038EB8 48 00 01 1C */ b lbl_8003D194
.global lbl_8003D07C
lbl_8003D07C:
/* 8003D07C 00038EBC 38 00 00 04 */ li r0, 0x4
/* 8003D080 00038EC0 90 03 00 0C */ stw r0, 0xc(r3)
/* 8003D084 00038EC4 38 60 00 01 */ li r3, 0x1
/* 8003D088 00038EC8 80 0D E6 64 */ lwz r0, WaitingForCoverOpen@sda21(r13)
/* 8003D08C 00038ECC 90 6D E6 B0 */ stw r3, MotorState@sda21(r13)
/* 8003D090 00038ED0 2C 00 00 00 */ cmpwi r0, 0x0
/* 8003D094 00038ED4 40 82 01 00 */ bne lbl_8003D194
/* 8003D098 00038ED8 80 0D E6 68 */ lwz r0, WaitingForCoverClose@sda21(r13)
/* 8003D09C 00038EDC 2C 00 00 00 */ cmpwi r0, 0x0
/* 8003D0A0 00038EE0 40 82 00 F4 */ bne lbl_8003D194
/* 8003D0A4 00038EE4 3F E0 80 4A */ lis r31, CoverAlarm@ha
/* 8003D0A8 00038EE8 90 6D E6 64 */ stw r3, WaitingForCoverOpen@sda21(r13)
/* 8003D0AC 00038EEC 38 7F F9 80 */ addi r3, r31, CoverAlarm@l
/* 8003D0B0 00038EF0 4B FD E7 51 */ bl OSCreateAlarm
/* 8003D0B4 00038EF4 4B FE 8A AD */ bl OSGetTick
/* 8003D0B8 00038EF8 3C A0 80 00 */ lis r5, 0x800000F8@ha
/* 8003D0BC 00038EFC 3C 80 10 62 */ lis r4, 0x1062
/* 8003D0C0 00038F00 80 05 00 F8 */ lwz r0, 0x800000F8@l(r5)
/* 8003D0C4 00038F04 3D 20 80 04 */ lis r9, CoverAlarmHandler@ha
/* 8003D0C8 00038F08 7C 66 1B 78 */ mr r6, r3
/* 8003D0CC 00038F0C 38 84 4D D3 */ addi r4, r4, 0x4dd3
/* 8003D0D0 00038F10 54 00 F0 BE */ srwi r0, r0, 2
/* 8003D0D4 00038F14 38 7F F9 80 */ addi r3, r31, -0x680
/* 8003D0D8 00038F18 7C 04 00 16 */ mulhwu r0, r4, r0
/* 8003D0DC 00038F1C 39 29 CE C0 */ addi r9, r9, CoverAlarmHandler@l
/* 8003D0E0 00038F20 38 A0 00 00 */ li r5, 0x0
/* 8003D0E4 00038F24 38 E0 00 00 */ li r7, 0x0
/* 8003D0E8 00038F28 54 00 D1 BE */ srwi r0, r0, 6
/* 8003D0EC 00038F2C 1D 00 00 64 */ mulli r8, r0, 0x64
/* 8003D0F0 00038F30 4B FD E9 E1 */ bl OSSetPeriodicAlarm
/* 8003D0F4 00038F34 48 00 00 A0 */ b lbl_8003D194
.global lbl_8003D0F8
lbl_8003D0F8:
/* 8003D0F8 00038F38 38 00 00 05 */ li r0, 0x5
/* 8003D0FC 00038F3C 90 03 00 0C */ stw r0, 0xc(r3)
/* 8003D100 00038F40 38 60 00 01 */ li r3, 0x1
/* 8003D104 00038F44 80 0D E6 64 */ lwz r0, WaitingForCoverOpen@sda21(r13)
/* 8003D108 00038F48 90 6D E6 B0 */ stw r3, MotorState@sda21(r13)
/* 8003D10C 00038F4C 2C 00 00 00 */ cmpwi r0, 0x0
/* 8003D110 00038F50 40 82 00 84 */ bne lbl_8003D194
/* 8003D114 00038F54 80 0D E6 68 */ lwz r0, WaitingForCoverClose@sda21(r13)
/* 8003D118 00038F58 2C 00 00 00 */ cmpwi r0, 0x0
/* 8003D11C 00038F5C 40 82 00 78 */ bne lbl_8003D194
/* 8003D120 00038F60 3F E0 80 4A */ lis r31, CoverAlarm@ha
/* 8003D124 00038F64 90 6D E6 64 */ stw r3, WaitingForCoverOpen@sda21(r13)
/* 8003D128 00038F68 38 7F F9 80 */ addi r3, r31, CoverAlarm@l
/* 8003D12C 00038F6C 4B FD E6 D5 */ bl OSCreateAlarm
/* 8003D130 00038F70 4B FE 8A 31 */ bl OSGetTick
/* 8003D134 00038F74 3C A0 80 00 */ lis r5, 0x800000F8@ha
/* 8003D138 00038F78 3C 80 10 62 */ lis r4, 0x1062
/* 8003D13C 00038F7C 80 05 00 F8 */ lwz r0, 0x800000F8@l(r5)
/* 8003D140 00038F80 3D 20 80 04 */ lis r9, CoverAlarmHandler@ha
/* 8003D144 00038F84 7C 66 1B 78 */ mr r6, r3
/* 8003D148 00038F88 38 84 4D D3 */ addi r4, r4, 0x4dd3
/* 8003D14C 00038F8C 54 00 F0 BE */ srwi r0, r0, 2
/* 8003D150 00038F90 38 7F F9 80 */ addi r3, r31, -0x680
/* 8003D154 00038F94 7C 04 00 16 */ mulhwu r0, r4, r0
/* 8003D158 00038F98 39 29 CE C0 */ addi r9, r9, CoverAlarmHandler@l
/* 8003D15C 00038F9C 38 A0 00 00 */ li r5, 0x0
/* 8003D160 00038FA0 38 E0 00 00 */ li r7, 0x0
/* 8003D164 00038FA4 54 00 D1 BE */ srwi r0, r0, 6
/* 8003D168 00038FA8 1D 00 00 64 */ mulli r8, r0, 0x64
/* 8003D16C 00038FAC 4B FD E9 65 */ bl OSSetPeriodicAlarm
/* 8003D170 00038FB0 48 00 00 24 */ b lbl_8003D194
.global lbl_8003D174
lbl_8003D174:
/* 8003D174 00038FB4 38 00 00 03 */ li r0, 0x3
/* 8003D178 00038FB8 90 03 00 0C */ stw r0, 0xc(r3)
/* 8003D17C 00038FBC 4B FF F2 35 */ bl stateCoverClosed
/* 8003D180 00038FC0 48 00 00 14 */ b lbl_8003D194
.global lbl_8003D184
lbl_8003D184:
/* 8003D184 00038FC4 3C 80 80 04 */ lis r4, cbForStoreErrorCode1@ha
/* 8003D188 00038FC8 80 6D E6 BC */ lwz r3, CancelLastError@sda21(r13)
/* 8003D18C 00038FCC 38 84 A7 A0 */ addi r4, r4, cbForStoreErrorCode1@l
/* 8003D190 00038FD0 48 00 2A F1 */ bl __DVDStoreErrorCode
.global lbl_8003D194
lbl_8003D194:
/* 8003D194 00038FD4 38 00 00 00 */ li r0, 0x0
/* 8003D198 00038FD8 90 0D E6 54 */ stw r0, ResumeFromHere@sda21(r13)
/* 8003D19C 00038FDC 48 00 00 5C */ b lbl_8003D1F8
.global lbl_8003D1A0
lbl_8003D1A0:
/* 8003D1A0 00038FE0 80 0D E6 B0 */ lwz r0, MotorState@sda21(r13)
/* 8003D1A4 00038FE4 28 00 00 02 */ cmplwi r0, 0x2
/* 8003D1A8 00038FE8 41 82 00 10 */ beq lbl_8003D1B8
/* 8003D1AC 00038FEC 2C 00 00 00 */ cmpwi r0, 0x0
/* 8003D1B0 00038FF0 41 82 00 30 */ beq lbl_8003D1E0
/* 8003D1B4 00038FF4 48 00 00 40 */ b lbl_8003D1F4
.global lbl_8003D1B8
lbl_8003D1B8:
/* 8003D1B8 00038FF8 80 0D E6 6C */ lwz r0, MotorStopped@sda21(r13)
/* 8003D1BC 00038FFC 2C 00 00 00 */ cmpwi r0, 0x0
/* 8003D1C0 00039000 41 82 00 10 */ beq lbl_8003D1D0
/* 8003D1C4 00039004 38 00 00 0C */ li r0, 0xc
/* 8003D1C8 00039008 90 03 00 0C */ stw r0, 0xc(r3)
/* 8003D1CC 0003900C 48 00 00 2C */ b lbl_8003D1F8
.global lbl_8003D1D0
lbl_8003D1D0:
/* 8003D1D0 00039010 38 00 00 03 */ li r0, 0x3
/* 8003D1D4 00039014 90 03 00 0C */ stw r0, 0xc(r3)
/* 8003D1D8 00039018 4B FF F1 D9 */ bl stateCoverClosed
/* 8003D1DC 0003901C 48 00 00 1C */ b lbl_8003D1F8
.global lbl_8003D1E0
lbl_8003D1E0:
/* 8003D1E0 00039020 38 00 00 01 */ li r0, 0x1
/* 8003D1E4 00039024 90 03 00 0C */ stw r0, 0xc(r3)
/* 8003D1E8 00039028 80 6D E6 D0 */ lwz r3, executing@sda21(r13)
/* 8003D1EC 0003902C 48 00 00 25 */ bl stateBusy
/* 8003D1F0 00039030 48 00 00 08 */ b lbl_8003D1F8
.global lbl_8003D1F4
lbl_8003D1F4:
/* 8003D1F4 00039034 4B FF F1 BD */ bl stateCoverClosed
.global lbl_8003D1F8
lbl_8003D1F8:
/* 8003D1F8 00039038 80 01 00 14 */ lwz r0, 0x14(r1)
/* 8003D1FC 0003903C 83 E1 00 0C */ lwz r31, 0xc(r1)
/* 8003D200 00039040 7C 08 03 A6 */ mtlr r0
/* 8003D204 00039044 38 21 00 10 */ addi r1, r1, 0x10
/* 8003D208 00039048 4E 80 00 20 */ blr
/* 8003D20C 0003904C 00 00 00 00 */ .4byte 0x00000000
.global stateBusy
stateBusy:
/* 8003D210 00039050 94 21 FF D0 */ stwu r1, -0x30(r1)
/* 8003D214 00039054 7C 08 02 A6 */ mflr r0
/* 8003D218 00039058 90 01 00 34 */ stw r0, 0x34(r1)
/* 8003D21C 0003905C 39 61 00 30 */ addi r11, r1, 0x30
/* 8003D220 00039060 4B FC A1 19 */ bl lbl_80007338
/* 8003D224 00039064 3C 80 80 04 */ lis r4, stateBusy@ha
/* 8003D228 00039068 7C 7D 1B 78 */ mr r29, r3
/* 8003D22C 0003906C 38 84 D2 10 */ addi r4, r4, stateBusy@l
/* 8003D230 00039070 90 8D E6 D4 */ stw r4, LastState@sda21(r13)
/* 8003D234 00039074 83 C3 00 08 */ lwz r30, 0x8(r3)
/* 8003D238 00039078 28 1E 00 2A */ cmplwi r30, 0x2a
/* 8003D23C 0003907C 41 81 00 A0 */ bgt lbl_8003D2DC
/* 8003D240 00039080 3C 80 80 43 */ lis r4, "@4657"@ha
/* 8003D244 00039084 57 C0 10 3A */ slwi r0, r30, 2
/* 8003D248 00039088 38 84 14 34 */ addi r4, r4, "@4657"@l
/* 8003D24C 0003908C 7C 84 00 2E */ lwzx r4, r4, r0
/* 8003D250 00039090 7C 89 03 A6 */ mtctr r4
/* 8003D254 00039094 4E 80 04 20 */ bctr
.global lbl_8003D258
lbl_8003D258:
/* 8003D258 00039098 83 43 00 14 */ lwz r26, 0x14(r3)
/* 8003D25C 0003909C 83 63 00 10 */ lwz r27, 0x10(r3)
/* 8003D260 000390A0 4B FE 45 C1 */ bl OSDisableInterrupts
/* 8003D264 000390A4 80 0D E6 40 */ lwz r0, CommandInfoCounter@sda21(r13)
/* 8003D268 000390A8 7C 7F 1B 78 */ mr r31, r3
/* 8003D26C 000390AC 28 00 00 05 */ cmplwi r0, 0x5
/* 8003D270 000390B0 41 80 00 0C */ blt lbl_8003D27C
/* 8003D274 000390B4 38 00 00 00 */ li r0, 0x0
/* 8003D278 000390B8 90 0D E6 40 */ stw r0, CommandInfoCounter@sda21(r13)
.global lbl_8003D27C
lbl_8003D27C:
/* 8003D27C 000390BC 80 0D E6 40 */ lwz r0, CommandInfoCounter@sda21(r13)
/* 8003D280 000390C0 3F 80 80 4A */ lis r28, __ErrorInfo@ha
/* 8003D284 000390C4 80 6D E6 40 */ lwz r3, CommandInfoCounter@sda21(r13)
/* 8003D288 000390C8 3B 9C FC 40 */ addi r28, r28, __ErrorInfo@l
/* 8003D28C 000390CC 1C 80 00 14 */ mulli r4, r0, 0x14
/* 8003D290 000390D0 80 0D E6 40 */ lwz r0, CommandInfoCounter@sda21(r13)
/* 8003D294 000390D4 1C 63 00 14 */ mulli r3, r3, 0x14
/* 8003D298 000390D8 7C 9C 22 14 */ add r4, r28, r4
/* 8003D29C 000390DC 93 C4 00 1C */ stw r30, 0x1c(r4)
/* 8003D2A0 000390E0 7C 7C 1A 14 */ add r3, r28, r3
/* 8003D2A4 000390E4 1C 00 00 14 */ mulli r0, r0, 0x14
/* 8003D2A8 000390E8 93 63 00 20 */ stw r27, 0x20(r3)
/* 8003D2AC 000390EC 7C 7C 02 14 */ add r3, r28, r0
/* 8003D2B0 000390F0 93 43 00 24 */ stw r26, 0x24(r3)
/* 8003D2B4 000390F4 4B FE 88 AD */ bl OSGetTick
/* 8003D2B8 000390F8 80 0D E6 40 */ lwz r0, CommandInfoCounter@sda21(r13)
/* 8003D2BC 000390FC 80 8D E6 40 */ lwz r4, CommandInfoCounter@sda21(r13)
/* 8003D2C0 00039100 1C A0 00 14 */ mulli r5, r0, 0x14
/* 8003D2C4 00039104 38 04 00 01 */ addi r0, r4, 0x1
/* 8003D2C8 00039108 90 0D E6 40 */ stw r0, CommandInfoCounter@sda21(r13)
/* 8003D2CC 0003910C 7C 9C 2A 14 */ add r4, r28, r5
/* 8003D2D0 00039110 90 64 00 2C */ stw r3, 0x2c(r4)
/* 8003D2D4 00039114 7F E3 FB 78 */ mr r3, r31
/* 8003D2D8 00039118 4B FE 45 89 */ bl OSRestoreInterrupts
.global lbl_8003D2DC
lbl_8003D2DC:
/* 8003D2DC 0003911C 80 1D 00 08 */ lwz r0, 0x8(r29)
/* 8003D2E0 00039120 28 00 00 2A */ cmplwi r0, 0x2a
/* 8003D2E4 00039124 41 81 04 AC */ bgt lbl_8003D790
/* 8003D2E8 00039128 3C 60 80 43 */ lis r3, "@4658"@ha
/* 8003D2EC 0003912C 54 00 10 3A */ slwi r0, r0, 2
/* 8003D2F0 00039130 38 63 13 88 */ addi r3, r3, "@4658"@l
/* 8003D2F4 00039134 7C 63 00 2E */ lwzx r3, r3, r0
/* 8003D2F8 00039138 7C 69 03 A6 */ mtctr r3
/* 8003D2FC 0003913C 4E 80 04 20 */ bctr
.global lbl_8003D300
lbl_8003D300:
/* 8003D300 00039140 38 60 00 00 */ li r3, 0x0
/* 8003D304 00039144 48 00 53 ED */ bl DVDLowClearCoverInterrupt
/* 8003D308 00039148 38 00 00 20 */ li r0, 0x20
/* 8003D30C 0003914C 3C 80 80 04 */ lis r4, cbForStateBusy@ha
/* 8003D310 00039150 90 1D 00 1C */ stw r0, 0x1c(r29)
/* 8003D314 00039154 38 84 D7 C0 */ addi r4, r4, cbForStateBusy@l
/* 8003D318 00039158 80 7D 00 18 */ lwz r3, 0x18(r29)
/* 8003D31C 0003915C 48 00 33 05 */ bl DVDLowReadDiskID
/* 8003D320 00039160 48 00 04 88 */ b lbl_8003D7A8
.global lbl_8003D324
lbl_8003D324:
/* 8003D324 00039164 80 1D 00 14 */ lwz r0, 0x14(r29)
/* 8003D328 00039168 2C 00 00 00 */ cmpwi r0, 0x0
/* 8003D32C 0003916C 40 82 00 3C */ bne lbl_8003D368
/* 8003D330 00039170 80 8D E6 D0 */ lwz r4, executing@sda21(r13)
/* 8003D334 00039174 3C 60 80 4A */ lis r3, DummyCommandBlock@ha
/* 8003D338 00039178 38 63 F9 20 */ addi r3, r3, DummyCommandBlock@l
/* 8003D33C 0003917C 38 00 00 00 */ li r0, 0x0
/* 8003D340 00039180 90 6D E6 D0 */ stw r3, executing@sda21(r13)
/* 8003D344 00039184 90 04 00 0C */ stw r0, 0xc(r4)
/* 8003D348 00039188 81 84 00 28 */ lwz r12, 0x28(r4)
/* 8003D34C 0003918C 2C 0C 00 00 */ cmpwi r12, 0x0
/* 8003D350 00039190 41 82 00 10 */ beq lbl_8003D360
/* 8003D354 00039194 38 60 00 00 */ li r3, 0x0
/* 8003D358 00039198 7D 89 03 A6 */ mtctr r12
/* 8003D35C 0003919C 4E 80 04 21 */ bctrl
.global lbl_8003D360
lbl_8003D360:
/* 8003D360 000391A0 4B FF FB 91 */ bl stateReady
/* 8003D364 000391A4 48 00 04 44 */ b lbl_8003D7A8
.global lbl_8003D368
lbl_8003D368:
/* 8003D368 000391A8 38 60 00 00 */ li r3, 0x0
/* 8003D36C 000391AC 48 00 53 85 */ bl DVDLowClearCoverInterrupt
/* 8003D370 000391B0 80 9D 00 20 */ lwz r4, 0x20(r29)
/* 8003D374 000391B4 3C 00 00 08 */ lis r0, 0x8
/* 8003D378 000391B8 80 7D 00 14 */ lwz r3, 0x14(r29)
/* 8003D37C 000391BC 7F C4 18 50 */ subf r30, r4, r3
/* 8003D380 000391C0 7C 1E 00 40 */ cmplw r30, r0
/* 8003D384 000391C4 40 81 00 08 */ ble lbl_8003D38C
/* 8003D388 000391C8 3F C0 00 08 */ lis r30, 0x8
.global lbl_8003D38C
lbl_8003D38C:
/* 8003D38C 000391CC 80 1D 00 20 */ lwz r0, 0x20(r29)
/* 8003D390 000391D0 80 7D 00 10 */ lwz r3, 0x10(r29)
/* 8003D394 000391D4 54 00 F0 BE */ srwi r0, r0, 2
/* 8003D398 000391D8 93 DD 00 1C */ stw r30, 0x1c(r29)
/* 8003D39C 000391DC 83 5D 00 08 */ lwz r26, 0x8(r29)
/* 8003D3A0 000391E0 7F 63 02 14 */ add r27, r3, r0
/* 8003D3A4 000391E4 4B FE 44 7D */ bl OSDisableInterrupts
/* 8003D3A8 000391E8 80 0D E6 40 */ lwz r0, CommandInfoCounter@sda21(r13)
/* 8003D3AC 000391EC 7C 7F 1B 78 */ mr r31, r3
/* 8003D3B0 000391F0 28 00 00 05 */ cmplwi r0, 0x5
/* 8003D3B4 000391F4 41 80 00 0C */ blt lbl_8003D3C0
/* 8003D3B8 000391F8 38 00 00 00 */ li r0, 0x0
/* 8003D3BC 000391FC 90 0D E6 40 */ stw r0, CommandInfoCounter@sda21(r13)
.global lbl_8003D3C0
lbl_8003D3C0:
/* 8003D3C0 00039200 80 0D E6 40 */ lwz r0, CommandInfoCounter@sda21(r13)
/* 8003D3C4 00039204 3F 80 80 4A */ lis r28, __ErrorInfo@ha
/* 8003D3C8 00039208 80 6D E6 40 */ lwz r3, CommandInfoCounter@sda21(r13)
/* 8003D3CC 0003920C 3B 9C FC 40 */ addi r28, r28, __ErrorInfo@l
/* 8003D3D0 00039210 1C 80 00 14 */ mulli r4, r0, 0x14
/* 8003D3D4 00039214 80 0D E6 40 */ lwz r0, CommandInfoCounter@sda21(r13)
/* 8003D3D8 00039218 1C 63 00 14 */ mulli r3, r3, 0x14
/* 8003D3DC 0003921C 7C 9C 22 14 */ add r4, r28, r4
/* 8003D3E0 00039220 93 44 00 1C */ stw r26, 0x1c(r4)
/* 8003D3E4 00039224 7C 7C 1A 14 */ add r3, r28, r3
/* 8003D3E8 00039228 1C 00 00 14 */ mulli r0, r0, 0x14
/* 8003D3EC 0003922C 93 63 00 20 */ stw r27, 0x20(r3)
/* 8003D3F0 00039230 7C 7C 02 14 */ add r3, r28, r0
/* 8003D3F4 00039234 93 C3 00 24 */ stw r30, 0x24(r3)
/* 8003D3F8 00039238 4B FE 87 69 */ bl OSGetTick
/* 8003D3FC 0003923C 80 0D E6 40 */ lwz r0, CommandInfoCounter@sda21(r13)
/* 8003D400 00039240 80 8D E6 40 */ lwz r4, CommandInfoCounter@sda21(r13)
/* 8003D404 00039244 1C A0 00 14 */ mulli r5, r0, 0x14
/* 8003D408 00039248 38 04 00 01 */ addi r0, r4, 0x1
/* 8003D40C 0003924C 90 0D E6 40 */ stw r0, CommandInfoCounter@sda21(r13)
/* 8003D410 00039250 7C 9C 2A 14 */ add r4, r28, r5
/* 8003D414 00039254 90 64 00 2C */ stw r3, 0x2c(r4)
/* 8003D418 00039258 7F E3 FB 78 */ mr r3, r31
/* 8003D41C 0003925C 4B FE 44 45 */ bl OSRestoreInterrupts
/* 8003D420 00039260 80 7D 00 20 */ lwz r3, 0x20(r29)
/* 8003D424 00039264 3C C0 80 04 */ lis r6, cbForStateBusy@ha
/* 8003D428 00039268 80 FD 00 18 */ lwz r7, 0x18(r29)
/* 8003D42C 0003926C 38 C6 D7 C0 */ addi r6, r6, cbForStateBusy@l
/* 8003D430 00039270 54 60 F0 BE */ srwi r0, r3, 2
/* 8003D434 00039274 80 BD 00 10 */ lwz r5, 0x10(r29)
/* 8003D438 00039278 80 9D 00 1C */ lwz r4, 0x1c(r29)
/* 8003D43C 0003927C 7C 67 1A 14 */ add r3, r7, r3
/* 8003D440 00039280 7C A5 02 14 */ add r5, r5, r0
/* 8003D444 00039284 48 00 4A ED */ bl DVDLowRead
/* 8003D448 00039288 48 00 03 60 */ b lbl_8003D7A8
.global lbl_8003D44C
lbl_8003D44C:
/* 8003D44C 0003928C 38 60 00 00 */ li r3, 0x0
/* 8003D450 00039290 48 00 52 A1 */ bl DVDLowClearCoverInterrupt
/* 8003D454 00039294 3C 80 80 04 */ lis r4, cbForStateBusy@ha
/* 8003D458 00039298 80 7D 00 10 */ lwz r3, 0x10(r29)
/* 8003D45C 0003929C 38 84 D7 C0 */ addi r4, r4, cbForStateBusy@l
/* 8003D460 000392A0 48 00 4C 81 */ bl DVDLowSeek
/* 8003D464 000392A4 48 00 03 44 */ b lbl_8003D7A8
.global lbl_8003D468
lbl_8003D468:
/* 8003D468 000392A8 3C A0 80 04 */ lis r5, cbForStateBusy@ha
/* 8003D46C 000392AC 38 60 00 00 */ li r3, 0x0
/* 8003D470 000392B0 38 A5 D7 C0 */ addi r5, r5, cbForStateBusy@l
/* 8003D474 000392B4 38 80 00 00 */ li r4, 0x0
/* 8003D478 000392B8 48 00 3F D9 */ bl DVDLowStopMotor
/* 8003D47C 000392BC 48 00 03 2C */ b lbl_8003D7A8
.global lbl_8003D480
lbl_8003D480:
/* 8003D480 000392C0 3C A0 80 04 */ lis r5, cbForStateBusy@ha
/* 8003D484 000392C4 38 60 00 00 */ li r3, 0x0
/* 8003D488 000392C8 38 A5 D7 C0 */ addi r5, r5, cbForStateBusy@l
/* 8003D48C 000392CC 38 80 00 00 */ li r4, 0x0
/* 8003D490 000392D0 48 00 3F C1 */ bl DVDLowStopMotor
/* 8003D494 000392D4 48 00 03 14 */ b lbl_8003D7A8
.global lbl_8003D498
lbl_8003D498:
/* 8003D498 000392D8 38 60 00 00 */ li r3, 0x0
/* 8003D49C 000392DC 48 00 52 55 */ bl DVDLowClearCoverInterrupt
/* 8003D4A0 000392E0 3C A0 80 04 */ lis r5, cbForStateBusy@ha
/* 8003D4A4 000392E4 80 7D 00 10 */ lwz r3, 0x10(r29)
/* 8003D4A8 000392E8 80 9D 00 14 */ lwz r4, 0x14(r29)
/* 8003D4AC 000392EC 38 A5 D7 C0 */ addi r5, r5, cbForStateBusy@l
/* 8003D4B0 000392F0 48 00 45 B1 */ bl DVDLowAudioBufferConfig
/* 8003D4B4 000392F4 48 00 02 F4 */ b lbl_8003D7A8
.global lbl_8003D4B8
lbl_8003D4B8:
/* 8003D4B8 000392F8 38 60 00 00 */ li r3, 0x0
/* 8003D4BC 000392FC 48 00 52 35 */ bl DVDLowClearCoverInterrupt
/* 8003D4C0 00039300 38 00 00 20 */ li r0, 0x20
/* 8003D4C4 00039304 3C 80 80 04 */ lis r4, cbForStateBusy@ha
/* 8003D4C8 00039308 90 1D 00 1C */ stw r0, 0x1c(r29)
/* 8003D4CC 0003930C 38 84 D7 C0 */ addi r4, r4, cbForStateBusy@l
/* 8003D4D0 00039310 80 7D 00 18 */ lwz r3, 0x18(r29)
/* 8003D4D4 00039314 48 00 41 1D */ bl DVDLowInquiry
/* 8003D4D8 00039318 48 00 02 D0 */ b lbl_8003D7A8
.global lbl_8003D4DC
lbl_8003D4DC:
/* 8003D4DC 0003931C 38 60 00 00 */ li r3, 0x0
/* 8003D4E0 00039320 48 00 52 11 */ bl DVDLowClearCoverInterrupt
/* 8003D4E4 00039324 3C A0 80 04 */ lis r5, cbForStateBusy@ha
/* 8003D4E8 00039328 38 60 00 00 */ li r3, 0x0
/* 8003D4EC 0003932C 38 A5 D7 C0 */ addi r5, r5, cbForStateBusy@l
/* 8003D4F0 00039330 38 80 00 00 */ li r4, 0x0
/* 8003D4F4 00039334 48 00 3F 5D */ bl DVDLowStopMotor
/* 8003D4F8 00039338 48 00 02 B0 */ b lbl_8003D7A8
.global lbl_8003D4FC
lbl_8003D4FC:
/* 8003D4FC 0003933C 38 60 00 01 */ li r3, 0x1
/* 8003D500 00039340 48 00 43 D1 */ bl DVDLowSetSpinupFlag
/* 8003D504 00039344 3C 60 80 04 */ lis r3, cbForStateBusy@ha
/* 8003D508 00039348 38 63 D7 C0 */ addi r3, r3, cbForStateBusy@l
/* 8003D50C 0003934C 48 00 43 D5 */ bl DVDLowReset
/* 8003D510 00039350 48 00 02 98 */ b lbl_8003D7A8
.global lbl_8003D514
lbl_8003D514:
/* 8003D514 00039354 80 1D 00 14 */ lwz r0, 0x14(r29)
/* 8003D518 00039358 2C 00 00 00 */ cmpwi r0, 0x0
/* 8003D51C 0003935C 40 82 00 3C */ bne lbl_8003D558
/* 8003D520 00039360 80 8D E6 D0 */ lwz r4, executing@sda21(r13)
/* 8003D524 00039364 3C 60 80 4A */ lis r3, DummyCommandBlock@ha
/* 8003D528 00039368 38 63 F9 20 */ addi r3, r3, DummyCommandBlock@l
/* 8003D52C 0003936C 38 00 00 00 */ li r0, 0x0
/* 8003D530 00039370 90 6D E6 D0 */ stw r3, executing@sda21(r13)
/* 8003D534 00039374 90 04 00 0C */ stw r0, 0xc(r4)
/* 8003D538 00039378 81 84 00 28 */ lwz r12, 0x28(r4)
/* 8003D53C 0003937C 2C 0C 00 00 */ cmpwi r12, 0x0
/* 8003D540 00039380 41 82 00 10 */ beq lbl_8003D550
/* 8003D544 00039384 38 60 00 00 */ li r3, 0x0
/* 8003D548 00039388 7D 89 03 A6 */ mtctr r12
/* 8003D54C 0003938C 4E 80 04 21 */ bctrl
.global lbl_8003D550
lbl_8003D550:
/* 8003D550 00039390 4B FF F9 A1 */ bl stateReady
/* 8003D554 00039394 48 00 02 54 */ b lbl_8003D7A8
.global lbl_8003D558
lbl_8003D558:
/* 8003D558 00039398 38 60 00 00 */ li r3, 0x0
/* 8003D55C 0003939C 48 00 51 95 */ bl DVDLowClearCoverInterrupt
/* 8003D560 000393A0 80 9D 00 20 */ lwz r4, 0x20(r29)
/* 8003D564 000393A4 3C 00 00 08 */ lis r0, 0x8
/* 8003D568 000393A8 80 7D 00 14 */ lwz r3, 0x14(r29)
/* 8003D56C 000393AC 7F C4 18 50 */ subf r30, r4, r3
/* 8003D570 000393B0 7C 1E 00 40 */ cmplw r30, r0
/* 8003D574 000393B4 40 81 00 08 */ ble lbl_8003D57C
/* 8003D578 000393B8 3F C0 00 08 */ lis r30, 0x8
.global lbl_8003D57C
lbl_8003D57C:
/* 8003D57C 000393BC 80 1D 00 20 */ lwz r0, 0x20(r29)
/* 8003D580 000393C0 80 7D 00 10 */ lwz r3, 0x10(r29)
/* 8003D584 000393C4 54 00 F0 BE */ srwi r0, r0, 2
/* 8003D588 000393C8 93 DD 00 1C */ stw r30, 0x1c(r29)
/* 8003D58C 000393CC 83 5D 00 08 */ lwz r26, 0x8(r29)
/* 8003D590 000393D0 7F 63 02 14 */ add r27, r3, r0
/* 8003D594 000393D4 4B FE 42 8D */ bl OSDisableInterrupts
/* 8003D598 000393D8 80 0D E6 40 */ lwz r0, CommandInfoCounter@sda21(r13)
/* 8003D59C 000393DC 7C 7F 1B 78 */ mr r31, r3
/* 8003D5A0 000393E0 28 00 00 05 */ cmplwi r0, 0x5
/* 8003D5A4 000393E4 41 80 00 0C */ blt lbl_8003D5B0
/* 8003D5A8 000393E8 38 00 00 00 */ li r0, 0x0
/* 8003D5AC 000393EC 90 0D E6 40 */ stw r0, CommandInfoCounter@sda21(r13)
.global lbl_8003D5B0
lbl_8003D5B0:
/* 8003D5B0 000393F0 80 0D E6 40 */ lwz r0, CommandInfoCounter@sda21(r13)
/* 8003D5B4 000393F4 3F 80 80 4A */ lis r28, __ErrorInfo@ha
/* 8003D5B8 000393F8 80 6D E6 40 */ lwz r3, CommandInfoCounter@sda21(r13)
/* 8003D5BC 000393FC 3B 9C FC 40 */ addi r28, r28, __ErrorInfo@l
/* 8003D5C0 00039400 1C 80 00 14 */ mulli r4, r0, 0x14
/* 8003D5C4 00039404 80 0D E6 40 */ lwz r0, CommandInfoCounter@sda21(r13)
/* 8003D5C8 00039408 1C 63 00 14 */ mulli r3, r3, 0x14
/* 8003D5CC 0003940C 7C 9C 22 14 */ add r4, r28, r4
/* 8003D5D0 00039410 93 44 00 1C */ stw r26, 0x1c(r4)
/* 8003D5D4 00039414 7C 7C 1A 14 */ add r3, r28, r3
/* 8003D5D8 00039418 1C 00 00 14 */ mulli r0, r0, 0x14
/* 8003D5DC 0003941C 93 63 00 20 */ stw r27, 0x20(r3)
/* 8003D5E0 00039420 7C 7C 02 14 */ add r3, r28, r0
/* 8003D5E4 00039424 93 C3 00 24 */ stw r30, 0x24(r3)
/* 8003D5E8 00039428 4B FE 85 79 */ bl OSGetTick
/* 8003D5EC 0003942C 80 0D E6 40 */ lwz r0, CommandInfoCounter@sda21(r13)
/* 8003D5F0 00039430 80 8D E6 40 */ lwz r4, CommandInfoCounter@sda21(r13)
/* 8003D5F4 00039434 1C A0 00 14 */ mulli r5, r0, 0x14
/* 8003D5F8 00039438 38 04 00 01 */ addi r0, r4, 0x1
/* 8003D5FC 0003943C 90 0D E6 40 */ stw r0, CommandInfoCounter@sda21(r13)
/* 8003D600 00039440 7C 9C 2A 14 */ add r4, r28, r5
/* 8003D604 00039444 90 64 00 2C */ stw r3, 0x2c(r4)
/* 8003D608 00039448 7F E3 FB 78 */ mr r3, r31
/* 8003D60C 0003944C 4B FE 42 55 */ bl OSRestoreInterrupts
/* 8003D610 00039450 80 7D 00 20 */ lwz r3, 0x20(r29)
/* 8003D614 00039454 3C C0 80 04 */ lis r6, cbForStateBusy@ha
/* 8003D618 00039458 80 FD 00 18 */ lwz r7, 0x18(r29)
/* 8003D61C 0003945C 38 C6 D7 C0 */ addi r6, r6, cbForStateBusy@l
/* 8003D620 00039460 54 60 F0 BE */ srwi r0, r3, 2
/* 8003D624 00039464 80 BD 00 10 */ lwz r5, 0x10(r29)
/* 8003D628 00039468 80 9D 00 1C */ lwz r4, 0x1c(r29)
/* 8003D62C 0003946C 7C 67 1A 14 */ add r3, r7, r3
/* 8003D630 00039470 7C A5 02 14 */ add r5, r5, r0
/* 8003D634 00039474 48 00 3C 7D */ bl DVDLowUnencryptedRead
/* 8003D638 00039478 48 00 01 70 */ b lbl_8003D7A8
.global lbl_8003D63C
lbl_8003D63C:
/* 8003D63C 0003947C 38 60 00 00 */ li r3, 0x0
/* 8003D640 00039480 48 00 50 B1 */ bl DVDLowClearCoverInterrupt
/* 8003D644 00039484 3D 00 80 04 */ lis r8, cbForStateBusy@ha
/* 8003D648 00039488 80 7D 00 10 */ lwz r3, 0x10(r29)
/* 8003D64C 0003948C 80 FD 00 18 */ lwz r7, 0x18(r29)
/* 8003D650 00039490 39 08 D7 C0 */ addi r8, r8, cbForStateBusy@l
/* 8003D654 00039494 38 80 00 00 */ li r4, 0x0
/* 8003D658 00039498 38 A0 00 00 */ li r5, 0x0
/* 8003D65C 0003949C 38 C0 00 00 */ li r6, 0x0
/* 8003D660 000394A0 48 00 31 51 */ bl DVDLowOpenPartition
/* 8003D664 000394A4 48 00 01 44 */ b lbl_8003D7A8
.global lbl_8003D668
lbl_8003D668:
/* 8003D668 000394A8 38 60 00 00 */ li r3, 0x0
/* 8003D66C 000394AC 48 00 50 85 */ bl DVDLowClearCoverInterrupt
/* 8003D670 000394B0 3C 60 80 04 */ lis r3, cbForStateBusy@ha
/* 8003D674 000394B4 38 63 D7 C0 */ addi r3, r3, cbForStateBusy@l
/* 8003D678 000394B8 48 00 3A C9 */ bl DVDLowClosePartition
/* 8003D67C 000394BC 48 00 01 2C */ b lbl_8003D7A8
.global lbl_8003D680
lbl_8003D680:
/* 8003D680 000394C0 3C 60 80 04 */ lis r3, cbForStateBusy@ha
/* 8003D684 000394C4 38 63 D7 C0 */ addi r3, r3, cbForStateBusy@l
/* 8003D688 000394C8 48 00 4C 09 */ bl DVDLowPrepareCoverRegister
/* 8003D68C 000394CC 48 00 01 1C */ b lbl_8003D7A8
.global lbl_8003D690
lbl_8003D690:
/* 8003D690 000394D0 3C 60 80 04 */ lis r3, cbForStateBusy@ha
/* 8003D694 000394D4 38 63 D7 C0 */ addi r3, r3, cbForStateBusy@l
/* 8003D698 000394D8 48 00 4B F9 */ bl DVDLowPrepareCoverRegister
/* 8003D69C 000394DC 48 00 01 0C */ b lbl_8003D7A8
.global lbl_8003D6A0
lbl_8003D6A0:
/* 8003D6A0 000394E0 38 60 00 00 */ li r3, 0x0
/* 8003D6A4 000394E4 48 00 50 4D */ bl DVDLowClearCoverInterrupt
/* 8003D6A8 000394E8 3C 80 80 04 */ lis r4, cbForStateBusy@ha
/* 8003D6AC 000394EC 3C 60 00 02 */ lis r3, 0x2
/* 8003D6B0 000394F0 38 84 D7 C0 */ addi r4, r4, cbForStateBusy@l
/* 8003D6B4 000394F4 48 00 46 ED */ bl DVDLowSetMaximumRotation
/* 8003D6B8 000394F8 48 00 00 F0 */ b lbl_8003D7A8
.global lbl_8003D6BC
lbl_8003D6BC:
/* 8003D6BC 000394FC 38 60 00 00 */ li r3, 0x0
/* 8003D6C0 00039500 48 00 50 31 */ bl DVDLowClearCoverInterrupt
/* 8003D6C4 00039504 3C 60 80 4A */ lis r3, CurrDiskID@ha
/* 8003D6C8 00039508 38 00 00 20 */ li r0, 0x20
/* 8003D6CC 0003950C 38 63 F9 C0 */ addi r3, r3, CurrDiskID@l
/* 8003D6D0 00039510 3C 80 80 04 */ lis r4, cbForStateBusy@ha
/* 8003D6D4 00039514 90 7D 00 18 */ stw r3, 0x18(r29)
/* 8003D6D8 00039518 38 84 D7 C0 */ addi r4, r4, cbForStateBusy@l
/* 8003D6DC 0003951C 90 1D 00 1C */ stw r0, 0x1c(r29)
/* 8003D6E0 00039520 48 00 2F 41 */ bl DVDLowReadDiskID
/* 8003D6E4 00039524 48 00 00 C4 */ b lbl_8003D7A8
.global lbl_8003D6E8
lbl_8003D6E8:
/* 8003D6E8 00039528 38 60 00 00 */ li r3, 0x0
/* 8003D6EC 0003952C 48 00 50 05 */ bl DVDLowClearCoverInterrupt
/* 8003D6F0 00039530 81 5D 00 18 */ lwz r10, 0x18(r29)
/* 8003D6F4 00039534 80 0A 03 A0 */ lwz r0, 0x3a0(r10)
/* 8003D6F8 00039538 2C 00 00 00 */ cmpwi r0, 0x0
/* 8003D6FC 0003953C 40 82 00 2C */ bne lbl_8003D728
/* 8003D700 00039540 80 0A 4D C0 */ lwz r0, 0x4dc0(r10)
/* 8003D704 00039544 2C 00 00 00 */ cmpwi r0, 0x0
/* 8003D708 00039548 40 82 00 20 */ bne lbl_8003D728
/* 8003D70C 0003954C 3C C0 80 04 */ lis r6, cbForStateBusy@ha
/* 8003D710 00039550 80 7D 00 10 */ lwz r3, 0x10(r29)
/* 8003D714 00039554 38 8A 03 A0 */ addi r4, r10, 0x3a0
/* 8003D718 00039558 38 AA 4D C0 */ addi r5, r10, 0x4dc0
/* 8003D71C 0003955C 38 C6 D7 C0 */ addi r6, r6, cbForStateBusy@l
/* 8003D720 00039560 48 00 35 71 */ bl DVDLowGetNoDiscBufferSizes
/* 8003D724 00039564 48 00 00 84 */ b lbl_8003D7A8
.global lbl_8003D728
lbl_8003D728:
/* 8003D728 00039568 3C 60 80 04 */ lis r3, cbForStateBusy@ha
/* 8003D72C 0003956C 7D 44 53 78 */ mr r4, r10
/* 8003D730 00039570 38 63 D7 C0 */ addi r3, r3, cbForStateBusy@l
/* 8003D734 00039574 90 61 00 08 */ stw r3, 0x8(r1)
/* 8003D738 00039578 38 AA 03 A0 */ addi r5, r10, 0x3a0
/* 8003D73C 0003957C 38 CA 03 C0 */ addi r6, r10, 0x3c0
/* 8003D740 00039580 80 7D 00 10 */ lwz r3, 0x10(r29)
/* 8003D744 00039584 38 EA 4D C0 */ addi r7, r10, 0x4dc0
/* 8003D748 00039588 39 0A 4D E0 */ addi r8, r10, 0x4de0
/* 8003D74C 0003958C 39 2A 5D E0 */ addi r9, r10, 0x5de0
/* 8003D750 00039590 39 4A 5E 00 */ addi r10, r10, 0x5e00
/* 8003D754 00039594 48 00 37 4D */ bl DVDLowGetNoDiscOpenPartitionParams
/* 8003D758 00039598 48 00 00 50 */ b lbl_8003D7A8
.global lbl_8003D75C
lbl_8003D75C:
/* 8003D75C 0003959C 38 60 00 00 */ li r3, 0x0
/* 8003D760 000395A0 48 00 4F 91 */ bl DVDLowClearCoverInterrupt
/* 8003D764 000395A4 81 1D 00 18 */ lwz r8, 0x18(r29)
/* 8003D768 000395A8 3D 20 80 04 */ lis r9, cbForStateBusy@ha
/* 8003D76C 000395AC 80 7D 00 10 */ lwz r3, 0x10(r29)
/* 8003D770 000395B0 39 29 D7 C0 */ addi r9, r9, cbForStateBusy@l
/* 8003D774 000395B4 80 A8 03 A0 */ lwz r5, 0x3a0(r8)
/* 8003D778 000395B8 38 88 02 C0 */ addi r4, r8, 0x2c0
/* 8003D77C 000395BC 80 E8 4D C0 */ lwz r7, 0x4dc0(r8)
/* 8003D780 000395C0 38 C8 03 C0 */ addi r6, r8, 0x3c0
/* 8003D784 000395C4 39 08 4D E0 */ addi r8, r8, 0x4de0
/* 8003D788 000395C8 48 00 32 99 */ bl DVDLowOpenPartitionWithTmdAndTicketView
/* 8003D78C 000395CC 48 00 00 1C */ b lbl_8003D7A8
.global lbl_8003D790
lbl_8003D790:
/* 8003D790 000395D0 81 8D 81 C0 */ lwz r12, checkOptionalCommand@sda21(r13)
/* 8003D794 000395D4 3C 80 80 04 */ lis r4, cbForStateBusy@ha
/* 8003D798 000395D8 7F A3 EB 78 */ mr r3, r29
/* 8003D79C 000395DC 38 84 D7 C0 */ addi r4, r4, cbForStateBusy@l
/* 8003D7A0 000395E0 7D 89 03 A6 */ mtctr r12
/* 8003D7A4 000395E4 4E 80 04 21 */ bctrl
.global lbl_8003D7A8
lbl_8003D7A8:
/* 8003D7A8 000395E8 39 61 00 30 */ addi r11, r1, 0x30
/* 8003D7AC 000395EC 4B FC 9B D9 */ bl lbl_80007384
/* 8003D7B0 000395F0 80 01 00 34 */ lwz r0, 0x34(r1)
/* 8003D7B4 000395F4 7C 08 03 A6 */ mtlr r0
/* 8003D7B8 000395F8 38 21 00 30 */ addi r1, r1, 0x30
/* 8003D7BC 000395FC 4E 80 00 20 */ blr
.global cbForStateBusy
cbForStateBusy:
/* 8003D7C0 00039600 94 21 FF E0 */ stwu r1, -0x20(r1)
/* 8003D7C4 00039604 7C 08 02 A6 */ mflr r0
/* 8003D7C8 00039608 90 01 00 24 */ stw r0, 0x24(r1)
/* 8003D7CC 0003960C 93 E1 00 1C */ stw r31, 0x1c(r1)
/* 8003D7D0 00039610 7C 7F 1B 78 */ mr r31, r3
/* 8003D7D4 00039614 93 C1 00 18 */ stw r30, 0x18(r1)
/* 8003D7D8 00039618 3F C0 80 4A */ lis r30, __DVDTicketViewBuffer@ha
/* 8003D7DC 0003961C 3B DE AE 00 */ addi r30, r30, __DVDTicketViewBuffer@l
/* 8003D7E0 00039620 93 A1 00 14 */ stw r29, 0x14(r1)
/* 8003D7E4 00039624 4B FE 40 3D */ bl OSDisableInterrupts
/* 8003D7E8 00039628 80 0D E6 40 */ lwz r0, CommandInfoCounter@sda21(r13)
/* 8003D7EC 0003962C 2C 00 00 00 */ cmpwi r0, 0x0
/* 8003D7F0 00039630 40 82 00 14 */ bne lbl_8003D804
/* 8003D7F4 00039634 3C 80 80 4A */ lis r4, __ErrorInfo@ha
/* 8003D7F8 00039638 38 84 FC 40 */ addi r4, r4, __ErrorInfo@l
/* 8003D7FC 0003963C 93 E4 00 78 */ stw r31, 0x78(r4)
/* 8003D800 00039640 48 00 00 20 */ b lbl_8003D820
.global lbl_8003D804
lbl_8003D804:
/* 8003D804 00039644 80 8D E6 40 */ lwz r4, CommandInfoCounter@sda21(r13)
/* 8003D808 00039648 3C A0 80 4A */ lis r5, __ErrorInfo@ha
/* 8003D80C 0003964C 38 A5 FC 40 */ addi r5, r5, __ErrorInfo@l
/* 8003D810 00039650 38 04 FF FF */ addi r0, r4, -0x1
/* 8003D814 00039654 1C 00 00 14 */ mulli r0, r0, 0x14
/* 8003D818 00039658 7C 85 02 14 */ add r4, r5, r0
/* 8003D81C 0003965C 93 E4 00 28 */ stw r31, 0x28(r4)
.global lbl_8003D820
lbl_8003D820:
/* 8003D820 00039660 4B FE 40 41 */ bl OSRestoreInterrupts
/* 8003D824 00039664 28 1F 00 10 */ cmplwi r31, 0x10
/* 8003D828 00039668 40 82 00 1C */ bne lbl_8003D844
/* 8003D82C 0003966C 3C 60 01 23 */ lis r3, 0x123
/* 8003D830 00039670 3C 80 80 04 */ lis r4, cbForStoreErrorCode2@ha
/* 8003D834 00039674 38 63 45 68 */ addi r3, r3, 0x4568
/* 8003D838 00039678 38 84 A7 C0 */ addi r4, r4, cbForStoreErrorCode2@l
/* 8003D83C 0003967C 48 00 24 45 */ bl __DVDStoreErrorCode
/* 8003D840 00039680 48 00 09 44 */ b lbl_8003E184
.global lbl_8003D844
lbl_8003D844:
/* 8003D844 00039684 28 1F 00 20 */ cmplwi r31, 0x20
/* 8003D848 00039688 40 82 00 1C */ bne lbl_8003D864
/* 8003D84C 0003968C 3C 60 01 23 */ lis r3, 0x123
/* 8003D850 00039690 3C 80 80 04 */ lis r4, cbForStoreErrorCode2@ha
/* 8003D854 00039694 38 63 45 69 */ addi r3, r3, 0x4569
/* 8003D858 00039698 38 84 A7 C0 */ addi r4, r4, cbForStoreErrorCode2@l
/* 8003D85C 0003969C 48 00 24 25 */ bl __DVDStoreErrorCode
/* 8003D860 000396A0 48 00 09 24 */ b lbl_8003E184
.global lbl_8003D864
lbl_8003D864:
/* 8003D864 000396A4 80 0D E6 C4 */ lwz r0, CurrCommand@sda21(r13)
/* 8003D868 000396A8 28 00 00 03 */ cmplwi r0, 0x3
/* 8003D86C 000396AC 41 82 00 10 */ beq lbl_8003D87C
/* 8003D870 000396B0 80 0D E6 C4 */ lwz r0, CurrCommand@sda21(r13)
/* 8003D874 000396B4 28 00 00 0F */ cmplwi r0, 0xf
/* 8003D878 000396B8 40 82 01 48 */ bne lbl_8003D9C0
.global lbl_8003D87C
lbl_8003D87C:
/* 8003D87C 000396BC 57 E0 07 BD */ rlwinm. r0, r31, 0, 30, 30
/* 8003D880 000396C0 41 82 00 1C */ beq lbl_8003D89C
/* 8003D884 000396C4 3C 60 01 23 */ lis r3, 0x123
/* 8003D888 000396C8 3C 80 80 04 */ lis r4, cbForStoreErrorCode1@ha
/* 8003D88C 000396CC 38 63 45 67 */ addi r3, r3, 0x4567
/* 8003D890 000396D0 38 84 A7 A0 */ addi r4, r4, cbForStoreErrorCode1@l
/* 8003D894 000396D4 48 00 23 ED */ bl __DVDStoreErrorCode
/* 8003D898 000396D8 48 00 08 EC */ b lbl_8003E184
.global lbl_8003D89C
lbl_8003D89C:
/* 8003D89C 000396DC 38 00 00 00 */ li r0, 0x0
/* 8003D8A0 000396E0 90 0D E6 58 */ stw r0, NumInternalRetry@sda21(r13)
/* 8003D8A4 000396E4 80 0D E6 C4 */ lwz r0, CurrCommand@sda21(r13)
/* 8003D8A8 000396E8 28 00 00 0F */ cmplwi r0, 0xf
/* 8003D8AC 000396EC 40 82 00 0C */ bne lbl_8003D8B8
/* 8003D8B0 000396F0 38 00 00 01 */ li r0, 0x1
/* 8003D8B4 000396F4 90 0D E6 B4 */ stw r0, ResetRequired@sda21(r13)
.global lbl_8003D8B8
lbl_8003D8B8:
/* 8003D8B8 000396F8 80 0D E6 50 */ lwz r0, Canceling@sda21(r13)
/* 8003D8BC 000396FC 2C 00 00 00 */ cmpwi r0, 0x0
/* 8003D8C0 00039700 41 82 00 6C */ beq lbl_8003D92C
/* 8003D8C4 00039704 83 AD E6 D0 */ lwz r29, executing@sda21(r13)
/* 8003D8C8 00039708 38 7E 4B 20 */ addi r3, r30, 0x4b20
/* 8003D8CC 0003970C 38 00 00 07 */ li r0, 0x7
/* 8003D8D0 00039710 90 0D E6 54 */ stw r0, ResumeFromHere@sda21(r13)
/* 8003D8D4 00039714 38 80 00 00 */ li r4, 0x0
/* 8003D8D8 00039718 90 8D E6 50 */ stw r4, Canceling@sda21(r13)
/* 8003D8DC 0003971C 38 00 00 0A */ li r0, 0xa
/* 8003D8E0 00039720 90 6D E6 D0 */ stw r3, executing@sda21(r13)
/* 8003D8E4 00039724 90 1D 00 0C */ stw r0, 0xc(r29)
/* 8003D8E8 00039728 81 9D 00 28 */ lwz r12, 0x28(r29)
/* 8003D8EC 0003972C 2C 0C 00 00 */ cmpwi r12, 0x0
/* 8003D8F0 00039730 41 82 00 14 */ beq lbl_8003D904
/* 8003D8F4 00039734 7F A4 EB 78 */ mr r4, r29
/* 8003D8F8 00039738 38 60 FF FD */ li r3, -0x3
/* 8003D8FC 0003973C 7D 89 03 A6 */ mtctr r12
/* 8003D900 00039740 4E 80 04 21 */ bctrl
.global lbl_8003D904
lbl_8003D904:
/* 8003D904 00039744 81 8D E6 C0 */ lwz r12, CancelCallback@sda21(r13)
/* 8003D908 00039748 2C 0C 00 00 */ cmpwi r12, 0x0
/* 8003D90C 0003974C 41 82 00 14 */ beq lbl_8003D920
/* 8003D910 00039750 7F A4 EB 78 */ mr r4, r29
/* 8003D914 00039754 38 60 00 00 */ li r3, 0x0
/* 8003D918 00039758 7D 89 03 A6 */ mtctr r12
/* 8003D91C 0003975C 4E 80 04 21 */ bctrl
.global lbl_8003D920
lbl_8003D920:
/* 8003D920 00039760 4B FF F5 D1 */ bl stateReady
/* 8003D924 00039764 38 00 00 01 */ li r0, 0x1
/* 8003D928 00039768 48 00 00 08 */ b lbl_8003D930
.global lbl_8003D92C
lbl_8003D92C:
/* 8003D92C 0003976C 38 00 00 00 */ li r0, 0x0
.global lbl_8003D930
lbl_8003D930:
/* 8003D930 00039770 2C 00 00 00 */ cmpwi r0, 0x0
/* 8003D934 00039774 40 82 08 50 */ bne lbl_8003E184
/* 8003D938 00039778 80 0D E6 B0 */ lwz r0, MotorState@sda21(r13)
/* 8003D93C 0003977C 28 00 00 02 */ cmplwi r0, 0x2
/* 8003D940 00039780 41 82 08 44 */ beq lbl_8003E184
/* 8003D944 00039784 80 8D E6 D0 */ lwz r4, executing@sda21(r13)
/* 8003D948 00039788 38 00 00 07 */ li r0, 0x7
/* 8003D94C 0003978C 38 60 00 01 */ li r3, 0x1
/* 8003D950 00039790 90 04 00 0C */ stw r0, 0xc(r4)
/* 8003D954 00039794 80 0D E6 64 */ lwz r0, WaitingForCoverOpen@sda21(r13)
/* 8003D958 00039798 90 6D E6 B0 */ stw r3, MotorState@sda21(r13)
/* 8003D95C 0003979C 2C 00 00 00 */ cmpwi r0, 0x0
/* 8003D960 000397A0 40 82 08 24 */ bne lbl_8003E184
/* 8003D964 000397A4 80 0D E6 68 */ lwz r0, WaitingForCoverClose@sda21(r13)
/* 8003D968 000397A8 2C 00 00 00 */ cmpwi r0, 0x0
/* 8003D96C 000397AC 40 82 08 18 */ bne lbl_8003E184
/* 8003D970 000397B0 90 6D E6 64 */ stw r3, WaitingForCoverOpen@sda21(r13)
/* 8003D974 000397B4 38 7E 4B 80 */ addi r3, r30, 0x4b80
/* 8003D978 000397B8 4B FD DE 89 */ bl OSCreateAlarm
/* 8003D97C 000397BC 4B FE 81 E5 */ bl OSGetTick
/* 8003D980 000397C0 3C A0 80 00 */ lis r5, 0x800000F8@ha
/* 8003D984 000397C4 3C 80 10 62 */ lis r4, 0x1062
/* 8003D988 000397C8 80 05 00 F8 */ lwz r0, 0x800000F8@l(r5)
/* 8003D98C 000397CC 3D 20 80 04 */ lis r9, CoverAlarmHandler@ha
/* 8003D990 000397D0 7C 66 1B 78 */ mr r6, r3
/* 8003D994 000397D4 38 84 4D D3 */ addi r4, r4, 0x4dd3
/* 8003D998 000397D8 54 00 F0 BE */ srwi r0, r0, 2
/* 8003D99C 000397DC 38 7E 4B 80 */ addi r3, r30, 0x4b80
/* 8003D9A0 000397E0 7C 04 00 16 */ mulhwu r0, r4, r0
/* 8003D9A4 000397E4 39 29 CE C0 */ addi r9, r9, CoverAlarmHandler@l
/* 8003D9A8 000397E8 38 A0 00 00 */ li r5, 0x0
/* 8003D9AC 000397EC 38 E0 00 00 */ li r7, 0x0
/* 8003D9B0 000397F0 54 00 D1 BE */ srwi r0, r0, 6
/* 8003D9B4 000397F4 1D 00 00 64 */ mulli r8, r0, 0x64
/* 8003D9B8 000397F8 4B FD E1 19 */ bl OSSetPeriodicAlarm
/* 8003D9BC 000397FC 48 00 07 C8 */ b lbl_8003E184
.global lbl_8003D9C0
lbl_8003D9C0:
/* 8003D9C0 00039800 80 8D E6 C4 */ lwz r4, CurrCommand@sda21(r13)
/* 8003D9C4 00039804 28 04 00 01 */ cmplwi r4, 0x1
/* 8003D9C8 00039808 41 82 00 24 */ beq lbl_8003D9EC
/* 8003D9CC 0003980C 28 04 00 04 */ cmplwi r4, 0x4
/* 8003D9D0 00039810 41 82 00 1C */ beq lbl_8003D9EC
/* 8003D9D4 00039814 28 04 00 05 */ cmplwi r4, 0x5
/* 8003D9D8 00039818 41 82 00 14 */ beq lbl_8003D9EC
/* 8003D9DC 0003981C 28 04 00 21 */ cmplwi r4, 0x21
/* 8003D9E0 00039820 41 82 00 0C */ beq lbl_8003D9EC
/* 8003D9E4 00039824 28 04 00 0E */ cmplwi r4, 0xe
/* 8003D9E8 00039828 40 82 00 0C */ bne lbl_8003D9F4
.global lbl_8003D9EC
lbl_8003D9EC:
/* 8003D9EC 0003982C 38 00 00 01 */ li r0, 0x1
/* 8003D9F0 00039830 48 00 00 1C */ b lbl_8003DA0C
.global lbl_8003D9F4
lbl_8003D9F4:
/* 8003D9F4 00039834 80 0D 81 CC */ lwz r0, DmaCommand@sda21(r13)
/* 8003D9F8 00039838 7C 04 00 40 */ cmplw r4, r0
/* 8003D9FC 0003983C 40 82 00 0C */ bne lbl_8003DA08
/* 8003DA00 00039840 38 00 00 01 */ li r0, 0x1
/* 8003DA04 00039844 48 00 00 08 */ b lbl_8003DA0C
.global lbl_8003DA08
lbl_8003DA08:
/* 8003DA08 00039848 38 00 00 00 */ li r0, 0x0
.global lbl_8003DA0C
lbl_8003DA0C:
/* 8003DA0C 0003984C 2C 00 00 00 */ cmpwi r0, 0x0
/* 8003DA10 00039850 41 82 00 2C */ beq lbl_8003DA3C
/* 8003DA14 00039854 73 E0 00 09 */ andi. r0, r31, 0x9
/* 8003DA18 00039858 41 82 00 10 */ beq lbl_8003DA28
/* 8003DA1C 0003985C 80 6D E6 D0 */ lwz r3, executing@sda21(r13)
/* 8003DA20 00039860 80 83 00 1C */ lwz r4, 0x1c(r3)
/* 8003DA24 00039864 48 00 00 08 */ b lbl_8003DA2C
.global lbl_8003DA28
lbl_8003DA28:
/* 8003DA28 00039868 38 80 00 00 */ li r4, 0x0
.global lbl_8003DA2C
lbl_8003DA2C:
/* 8003DA2C 0003986C 80 6D E6 D0 */ lwz r3, executing@sda21(r13)
/* 8003DA30 00039870 80 03 00 20 */ lwz r0, 0x20(r3)
/* 8003DA34 00039874 7C 00 22 14 */ add r0, r0, r4
/* 8003DA38 00039878 90 03 00 20 */ stw r0, 0x20(r3)
.global lbl_8003DA3C
lbl_8003DA3C:
/* 8003DA3C 0003987C 80 0D E6 60 */ lwz r0, Breaking@sda21(r13)
/* 8003DA40 00039880 2C 00 00 00 */ cmpwi r0, 0x0
/* 8003DA44 00039884 41 82 00 64 */ beq lbl_8003DAA8
/* 8003DA48 00039888 83 ED E6 D0 */ lwz r31, executing@sda21(r13)
/* 8003DA4C 0003988C 38 80 00 00 */ li r4, 0x0
/* 8003DA50 00039890 90 8D E6 60 */ stw r4, Breaking@sda21(r13)
/* 8003DA54 00039894 38 7E 4B 20 */ addi r3, r30, 0x4b20
/* 8003DA58 00039898 38 00 00 0A */ li r0, 0xa
/* 8003DA5C 0003989C 90 8D E6 50 */ stw r4, Canceling@sda21(r13)
/* 8003DA60 000398A0 90 6D E6 D0 */ stw r3, executing@sda21(r13)
/* 8003DA64 000398A4 90 1F 00 0C */ stw r0, 0xc(r31)
/* 8003DA68 000398A8 81 9F 00 28 */ lwz r12, 0x28(r31)
/* 8003DA6C 000398AC 2C 0C 00 00 */ cmpwi r12, 0x0
/* 8003DA70 000398B0 41 82 00 14 */ beq lbl_8003DA84
/* 8003DA74 000398B4 7F E4 FB 78 */ mr r4, r31
/* 8003DA78 000398B8 38 60 FF FD */ li r3, -0x3
/* 8003DA7C 000398BC 7D 89 03 A6 */ mtctr r12
/* 8003DA80 000398C0 4E 80 04 21 */ bctrl
.global lbl_8003DA84
lbl_8003DA84:
/* 8003DA84 000398C4 81 8D E6 C0 */ lwz r12, CancelCallback@sda21(r13)
/* 8003DA88 000398C8 2C 0C 00 00 */ cmpwi r12, 0x0
/* 8003DA8C 000398CC 41 82 00 14 */ beq lbl_8003DAA0
/* 8003DA90 000398D0 7F E4 FB 78 */ mr r4, r31
/* 8003DA94 000398D4 38 60 00 00 */ li r3, 0x0
/* 8003DA98 000398D8 7D 89 03 A6 */ mtctr r12
/* 8003DA9C 000398DC 4E 80 04 21 */ bctrl
.global lbl_8003DAA0
lbl_8003DAA0:
/* 8003DAA0 000398E0 4B FF F4 51 */ bl stateReady
/* 8003DAA4 000398E4 48 00 06 E0 */ b lbl_8003E184
.global lbl_8003DAA8
lbl_8003DAA8:
/* 8003DAA8 000398E8 57 E0 07 FF */ clrlwi. r0, r31, 31
/* 8003DAAC 000398EC 41 82 05 98 */ beq lbl_8003E044
/* 8003DAB0 000398F0 3B A0 00 00 */ li r29, 0x0
/* 8003DAB4 000398F4 93 AD E6 58 */ stw r29, NumInternalRetry@sda21(r13)
/* 8003DAB8 000398F8 80 0D E6 C4 */ lwz r0, CurrCommand@sda21(r13)
/* 8003DABC 000398FC 28 00 00 10 */ cmplwi r0, 0x10
/* 8003DAC0 00039900 40 82 00 60 */ bne lbl_8003DB20
/* 8003DAC4 00039904 80 6D E6 D0 */ lwz r3, executing@sda21(r13)
/* 8003DAC8 00039908 80 03 00 10 */ lwz r0, 0x10(r3)
/* 8003DACC 0003990C 2C 00 00 00 */ cmpwi r0, 0x0
/* 8003DAD0 00039910 41 82 00 10 */ beq lbl_8003DAE0
/* 8003DAD4 00039914 38 00 00 02 */ li r0, 0x2
/* 8003DAD8 00039918 90 0D E6 B0 */ stw r0, MotorState@sda21(r13)
/* 8003DADC 0003991C 48 00 00 0C */ b lbl_8003DAE8
.global lbl_8003DAE0
lbl_8003DAE0:
/* 8003DAE0 00039920 38 00 00 01 */ li r0, 0x1
/* 8003DAE4 00039924 90 0D E6 B0 */ stw r0, MotorState@sda21(r13)
.global lbl_8003DAE8
lbl_8003DAE8:
/* 8003DAE8 00039928 83 ED E6 D0 */ lwz r31, executing@sda21(r13)
/* 8003DAEC 0003992C 38 7E 4B 20 */ addi r3, r30, 0x4b20
/* 8003DAF0 00039930 38 00 00 00 */ li r0, 0x0
/* 8003DAF4 00039934 90 6D E6 D0 */ stw r3, executing@sda21(r13)
/* 8003DAF8 00039938 90 1F 00 0C */ stw r0, 0xc(r31)
/* 8003DAFC 0003993C 81 9F 00 28 */ lwz r12, 0x28(r31)
/* 8003DB00 00039940 2C 0C 00 00 */ cmpwi r12, 0x0
/* 8003DB04 00039944 41 82 00 14 */ beq lbl_8003DB18
/* 8003DB08 00039948 7F E4 FB 78 */ mr r4, r31
/* 8003DB0C 0003994C 38 60 00 00 */ li r3, 0x0
/* 8003DB10 00039950 7D 89 03 A6 */ mtctr r12
/* 8003DB14 00039954 4E 80 04 21 */ bctrl
.global lbl_8003DB18
lbl_8003DB18:
/* 8003DB18 00039958 4B FF F3 D9 */ bl stateReady
/* 8003DB1C 0003995C 48 00 06 68 */ b lbl_8003E184
.global lbl_8003DB20
lbl_8003DB20:
/* 8003DB20 00039960 80 0D E6 C4 */ lwz r0, CurrCommand@sda21(r13)
/* 8003DB24 00039964 28 00 00 20 */ cmplwi r0, 0x20
/* 8003DB28 00039968 40 82 00 4C */ bne lbl_8003DB74
/* 8003DB2C 0003996C 4B FE 80 45 */ bl __OSGetSystemTime
/* 8003DB30 00039970 83 ED E6 D0 */ lwz r31, executing@sda21(r13)
/* 8003DB34 00039974 38 1E 4B 20 */ addi r0, r30, 0x4b20
/* 8003DB38 00039978 90 8D E6 AC */ stw r4, lbl_8055CACC@sda21(r13)
/* 8003DB3C 0003997C 90 6D E6 A8 */ stw r3, LastResetEnd@sda21(r13)
/* 8003DB40 00039980 93 AD E6 B4 */ stw r29, ResetRequired@sda21(r13)
/* 8003DB44 00039984 90 0D E6 D0 */ stw r0, executing@sda21(r13)
/* 8003DB48 00039988 93 AD E6 54 */ stw r29, ResumeFromHere@sda21(r13)
/* 8003DB4C 0003998C 93 BF 00 0C */ stw r29, 0xc(r31)
/* 8003DB50 00039990 81 9F 00 28 */ lwz r12, 0x28(r31)
/* 8003DB54 00039994 2C 0C 00 00 */ cmpwi r12, 0x0
/* 8003DB58 00039998 41 82 00 14 */ beq lbl_8003DB6C
/* 8003DB5C 0003999C 7F E4 FB 78 */ mr r4, r31
/* 8003DB60 000399A0 38 60 00 00 */ li r3, 0x0
/* 8003DB64 000399A4 7D 89 03 A6 */ mtctr r12
/* 8003DB68 000399A8 4E 80 04 21 */ bctrl
.global lbl_8003DB6C
lbl_8003DB6C:
/* 8003DB6C 000399AC 4B FF F3 85 */ bl stateReady
/* 8003DB70 000399B0 48 00 06 14 */ b lbl_8003E184
.global lbl_8003DB74
lbl_8003DB74:
/* 8003DB74 000399B4 80 0D E6 50 */ lwz r0, Canceling@sda21(r13)
/* 8003DB78 000399B8 2C 00 00 00 */ cmpwi r0, 0x0
/* 8003DB7C 000399BC 41 82 00 64 */ beq lbl_8003DBE0
/* 8003DB80 000399C0 83 ED E6 D0 */ lwz r31, executing@sda21(r13)
/* 8003DB84 000399C4 38 7E 4B 20 */ addi r3, r30, 0x4b20
/* 8003DB88 000399C8 93 AD E6 54 */ stw r29, ResumeFromHere@sda21(r13)
/* 8003DB8C 000399CC 38 00 00 0A */ li r0, 0xa
/* 8003DB90 000399D0 93 AD E6 50 */ stw r29, Canceling@sda21(r13)
/* 8003DB94 000399D4 90 6D E6 D0 */ stw r3, executing@sda21(r13)
/* 8003DB98 000399D8 90 1F 00 0C */ stw r0, 0xc(r31)
/* 8003DB9C 000399DC 81 9F 00 28 */ lwz r12, 0x28(r31)
/* 8003DBA0 000399E0 2C 0C 00 00 */ cmpwi r12, 0x0
/* 8003DBA4 000399E4 41 82 00 14 */ beq lbl_8003DBB8
/* 8003DBA8 000399E8 7F E4 FB 78 */ mr r4, r31
/* 8003DBAC 000399EC 38 60 FF FD */ li r3, -0x3
/* 8003DBB0 000399F0 7D 89 03 A6 */ mtctr r12
/* 8003DBB4 000399F4 4E 80 04 21 */ bctrl
.global lbl_8003DBB8
lbl_8003DBB8:
/* 8003DBB8 000399F8 81 8D E6 C0 */ lwz r12, CancelCallback@sda21(r13)
/* 8003DBBC 000399FC 2C 0C 00 00 */ cmpwi r12, 0x0
/* 8003DBC0 00039A00 41 82 00 14 */ beq lbl_8003DBD4
/* 8003DBC4 00039A04 7F E4 FB 78 */ mr r4, r31
/* 8003DBC8 00039A08 38 60 00 00 */ li r3, 0x0
/* 8003DBCC 00039A0C 7D 89 03 A6 */ mtctr r12
/* 8003DBD0 00039A10 4E 80 04 21 */ bctrl
.global lbl_8003DBD4
lbl_8003DBD4:
/* 8003DBD4 00039A14 4B FF F3 1D */ bl stateReady
/* 8003DBD8 00039A18 38 00 00 01 */ li r0, 0x1
/* 8003DBDC 00039A1C 48 00 00 08 */ b lbl_8003DBE4
.global lbl_8003DBE0
lbl_8003DBE0:
/* 8003DBE0 00039A20 38 00 00 00 */ li r0, 0x0
.global lbl_8003DBE4
lbl_8003DBE4:
/* 8003DBE4 00039A24 2C 00 00 00 */ cmpwi r0, 0x0
/* 8003DBE8 00039A28 40 82 05 9C */ bne lbl_8003E184
/* 8003DBEC 00039A2C 80 0D E6 C4 */ lwz r0, CurrCommand@sda21(r13)
/* 8003DBF0 00039A30 28 00 00 26 */ cmplwi r0, 0x26
/* 8003DBF4 00039A34 40 82 00 B4 */ bne lbl_8003DCA8
/* 8003DBF8 00039A38 48 00 46 69 */ bl DVDLowGetCoverRegister
/* 8003DBFC 00039A3C 7C 7F 1B 78 */ mr r31, r3
/* 8003DC00 00039A40 4B FE 7F 71 */ bl __OSGetSystemTime
/* 8003DC04 00039A44 3C C0 80 00 */ lis r6, 0x800000F8@ha
/* 8003DC08 00039A48 3C A0 10 62 */ lis r5, 0x1062
/* 8003DC0C 00039A4C 80 C6 00 F8 */ lwz r6, 0x800000F8@l(r6)
/* 8003DC10 00039A50 38 E5 4D D3 */ addi r7, r5, 0x4dd3
/* 8003DC14 00039A54 81 0D E6 A8 */ lwz r8, LastResetEnd@sda21(r13)
/* 8003DC18 00039A58 38 00 00 00 */ li r0, 0x0
/* 8003DC1C 00039A5C 54 C5 F0 BE */ srwi r5, r6, 2
/* 8003DC20 00039A60 81 2D E6 AC */ lwz r9, lbl_8055CACC@sda21(r13)
/* 8003DC24 00039A64 7C C7 28 16 */ mulhwu r6, r7, r5
/* 8003DC28 00039A68 7C 89 20 10 */ subfc r4, r9, r4
/* 8003DC2C 00039A6C 6C 05 80 00 */ xoris r5, r0, 0x8000
/* 8003DC30 00039A70 7C 08 19 10 */ subfe r0, r8, r3
/* 8003DC34 00039A74 6C 00 80 00 */ xoris r0, r0, 0x8000
/* 8003DC38 00039A78 54 C3 D1 BE */ srwi r3, r6, 6
/* 8003DC3C 00039A7C 1C 63 00 64 */ mulli r3, r3, 0x64
/* 8003DC40 00039A80 7C 63 20 10 */ subfc r3, r3, r4
/* 8003DC44 00039A84 7C A5 01 10 */ subfe r5, r5, r0
/* 8003DC48 00039A88 7C A0 01 10 */ subfe r5, r0, r0
/* 8003DC4C 00039A8C 7C A5 00 D1 */ neg. r5, r5
/* 8003DC50 00039A90 41 82 00 0C */ beq lbl_8003DC5C
/* 8003DC54 00039A94 38 60 00 00 */ li r3, 0x0
/* 8003DC58 00039A98 48 00 00 18 */ b lbl_8003DC70
.global lbl_8003DC5C
lbl_8003DC5C:
/* 8003DC5C 00039A9C 57 E0 07 FF */ clrlwi. r0, r31, 31
/* 8003DC60 00039AA0 41 82 00 0C */ beq lbl_8003DC6C
/* 8003DC64 00039AA4 38 60 00 01 */ li r3, 0x1
/* 8003DC68 00039AA8 48 00 00 08 */ b lbl_8003DC70
.global lbl_8003DC6C
lbl_8003DC6C:
/* 8003DC6C 00039AAC 38 60 00 02 */ li r3, 0x2
.global lbl_8003DC70
lbl_8003DC70:
/* 8003DC70 00039AB0 83 ED E6 D0 */ lwz r31, executing@sda21(r13)
/* 8003DC74 00039AB4 38 9E 4B 20 */ addi r4, r30, 0x4b20
/* 8003DC78 00039AB8 38 00 00 00 */ li r0, 0x0
/* 8003DC7C 00039ABC 90 8D E6 D0 */ stw r4, executing@sda21(r13)
/* 8003DC80 00039AC0 90 1F 00 0C */ stw r0, 0xc(r31)
/* 8003DC84 00039AC4 90 7F 00 10 */ stw r3, 0x10(r31)
/* 8003DC88 00039AC8 81 9F 00 28 */ lwz r12, 0x28(r31)
/* 8003DC8C 00039ACC 2C 0C 00 00 */ cmpwi r12, 0x0
/* 8003DC90 00039AD0 41 82 00 10 */ beq lbl_8003DCA0
/* 8003DC94 00039AD4 7F E4 FB 78 */ mr r4, r31
/* 8003DC98 00039AD8 7D 89 03 A6 */ mtctr r12
/* 8003DC9C 00039ADC 4E 80 04 21 */ bctrl
.global lbl_8003DCA0
lbl_8003DCA0:
/* 8003DCA0 00039AE0 4B FF F2 51 */ bl stateReady
/* 8003DCA4 00039AE4 48 00 04 E0 */ b lbl_8003E184
.global lbl_8003DCA8
lbl_8003DCA8:
/* 8003DCA8 00039AE8 80 0D E6 C4 */ lwz r0, CurrCommand@sda21(r13)
/* 8003DCAC 00039AEC 28 00 00 24 */ cmplwi r0, 0x24
/* 8003DCB0 00039AF0 40 82 00 70 */ bne lbl_8003DD20
/* 8003DCB4 00039AF4 48 00 45 AD */ bl DVDLowGetCoverRegister
/* 8003DCB8 00039AF8 54 60 F7 FF */ extrwi. r0, r3, 1, 29
/* 8003DCBC 00039AFC 40 82 00 0C */ bne lbl_8003DCC8
/* 8003DCC0 00039B00 54 60 07 FF */ clrlwi. r0, r3, 31
/* 8003DCC4 00039B04 41 82 00 0C */ beq lbl_8003DCD0
.global lbl_8003DCC8
lbl_8003DCC8:
/* 8003DCC8 00039B08 38 60 00 00 */ li r3, 0x0
/* 8003DCCC 00039B0C 48 00 00 1C */ b lbl_8003DCE8
.global lbl_8003DCD0
lbl_8003DCD0:
/* 8003DCD0 00039B10 80 0D E6 54 */ lwz r0, ResumeFromHere@sda21(r13)
/* 8003DCD4 00039B14 2C 00 00 00 */ cmpwi r0, 0x0
/* 8003DCD8 00039B18 41 82 00 0C */ beq lbl_8003DCE4
/* 8003DCDC 00039B1C 38 60 00 00 */ li r3, 0x0
/* 8003DCE0 00039B20 48 00 00 08 */ b lbl_8003DCE8
.global lbl_8003DCE4
lbl_8003DCE4:
/* 8003DCE4 00039B24 38 60 00 01 */ li r3, 0x1
.global lbl_8003DCE8
lbl_8003DCE8:
/* 8003DCE8 00039B28 83 ED E6 D0 */ lwz r31, executing@sda21(r13)
/* 8003DCEC 00039B2C 38 9E 4B 20 */ addi r4, r30, 0x4b20
/* 8003DCF0 00039B30 38 00 00 00 */ li r0, 0x0
/* 8003DCF4 00039B34 90 8D E6 D0 */ stw r4, executing@sda21(r13)
/* 8003DCF8 00039B38 90 1F 00 0C */ stw r0, 0xc(r31)
/* 8003DCFC 00039B3C 90 7F 00 10 */ stw r3, 0x10(r31)
/* 8003DD00 00039B40 81 9F 00 28 */ lwz r12, 0x28(r31)
/* 8003DD04 00039B44 2C 0C 00 00 */ cmpwi r12, 0x0
/* 8003DD08 00039B48 41 82 00 10 */ beq lbl_8003DD18
/* 8003DD0C 00039B4C 7F E4 FB 78 */ mr r4, r31
/* 8003DD10 00039B50 7D 89 03 A6 */ mtctr r12
/* 8003DD14 00039B54 4E 80 04 21 */ bctrl
.global lbl_8003DD18
lbl_8003DD18:
/* 8003DD18 00039B58 4B FF F1 D9 */ bl stateReady
/* 8003DD1C 00039B5C 48 00 04 68 */ b lbl_8003E184
.global lbl_8003DD20
lbl_8003DD20:
/* 8003DD20 00039B60 80 0D E6 C4 */ lwz r0, CurrCommand@sda21(r13)
/* 8003DD24 00039B64 28 00 00 28 */ cmplwi r0, 0x28
/* 8003DD28 00039B68 40 82 01 10 */ bne lbl_8003DE38
/* 8003DD2C 00039B6C 80 8D E6 D0 */ lwz r4, executing@sda21(r13)
/* 8003DD30 00039B70 38 7E 4B C0 */ addi r3, r30, 0x4bc0
/* 8003DD34 00039B74 80 84 00 24 */ lwz r4, 0x24(r4)
/* 8003DD38 00039B78 48 00 1F B9 */ bl DVDCompareDiskID
/* 8003DD3C 00039B7C 2C 03 00 00 */ cmpwi r3, 0x0
/* 8003DD40 00039B80 41 82 00 5C */ beq lbl_8003DD9C
/* 8003DD44 00039B84 80 6D E6 CC */ lwz r3, IDShouldBe@sda21(r13)
/* 8003DD48 00039B88 38 9E 4B C0 */ addi r4, r30, 0x4bc0
/* 8003DD4C 00039B8C 38 A0 00 20 */ li r5, 0x20
/* 8003DD50 00039B90 4B FC 62 B1 */ bl memcpy
/* 8003DD54 00039B94 83 ED E6 D0 */ lwz r31, executing@sda21(r13)
/* 8003DD58 00039B98 38 9E 4B 20 */ addi r4, r30, 0x4b20
/* 8003DD5C 00039B9C 38 60 00 00 */ li r3, 0x0
/* 8003DD60 00039BA0 38 00 00 01 */ li r0, 0x1
/* 8003DD64 00039BA4 90 8D E6 D0 */ stw r4, executing@sda21(r13)
/* 8003DD68 00039BA8 90 7F 00 0C */ stw r3, 0xc(r31)
/* 8003DD6C 00039BAC 90 1F 00 10 */ stw r0, 0x10(r31)
/* 8003DD70 00039BB0 81 9F 00 28 */ lwz r12, 0x28(r31)
/* 8003DD74 00039BB4 2C 0C 00 00 */ cmpwi r12, 0x0
/* 8003DD78 00039BB8 41 82 00 14 */ beq lbl_8003DD8C
/* 8003DD7C 00039BBC 7F E4 FB 78 */ mr r4, r31
/* 8003DD80 00039BC0 38 60 00 01 */ li r3, 0x1
/* 8003DD84 00039BC4 7D 89 03 A6 */ mtctr r12
/* 8003DD88 00039BC8 4E 80 04 21 */ bctrl
.global lbl_8003DD8C
lbl_8003DD8C:
/* 8003DD8C 00039BCC 38 00 00 00 */ li r0, 0x0
/* 8003DD90 00039BD0 90 0D E6 58 */ stw r0, NumInternalRetry@sda21(r13)
/* 8003DD94 00039BD4 4B FF F1 5D */ bl stateReady
/* 8003DD98 00039BD8 48 00 03 EC */ b lbl_8003E184
.global lbl_8003DD9C
lbl_8003DD9C:
/* 8003DD9C 00039BDC 4B FE 3A 85 */ bl OSDisableInterrupts
/* 8003DDA0 00039BE0 80 0D E6 40 */ lwz r0, CommandInfoCounter@sda21(r13)
/* 8003DDA4 00039BE4 7C 7E 1B 78 */ mr r30, r3
/* 8003DDA8 00039BE8 28 00 00 05 */ cmplwi r0, 0x5
/* 8003DDAC 00039BEC 41 80 00 0C */ blt lbl_8003DDB8
/* 8003DDB0 00039BF0 38 00 00 00 */ li r0, 0x0
/* 8003DDB4 00039BF4 90 0D E6 40 */ stw r0, CommandInfoCounter@sda21(r13)
.global lbl_8003DDB8
lbl_8003DDB8:
/* 8003DDB8 00039BF8 80 0D E6 40 */ lwz r0, CommandInfoCounter@sda21(r13)
/* 8003DDBC 00039BFC 3F E0 80 4A */ lis r31, __ErrorInfo@ha
/* 8003DDC0 00039C00 80 6D E6 40 */ lwz r3, CommandInfoCounter@sda21(r13)
/* 8003DDC4 00039C04 3B FF FC 40 */ addi r31, r31, __ErrorInfo@l
/* 8003DDC8 00039C08 1C A0 00 14 */ mulli r5, r0, 0x14
/* 8003DDCC 00039C0C 80 0D E6 40 */ lwz r0, CommandInfoCounter@sda21(r13)
/* 8003DDD0 00039C10 38 C0 00 10 */ li r6, 0x10
/* 8003DDD4 00039C14 38 80 00 00 */ li r4, 0x0
/* 8003DDD8 00039C18 1C 63 00 14 */ mulli r3, r3, 0x14
/* 8003DDDC 00039C1C 7C BF 2A 14 */ add r5, r31, r5
/* 8003DDE0 00039C20 90 C5 00 1C */ stw r6, 0x1c(r5)
/* 8003DDE4 00039C24 7C 7F 1A 14 */ add r3, r31, r3
/* 8003DDE8 00039C28 1C 00 00 14 */ mulli r0, r0, 0x14
/* 8003DDEC 00039C2C 90 83 00 20 */ stw r4, 0x20(r3)
/* 8003DDF0 00039C30 7C 7F 02 14 */ add r3, r31, r0
/* 8003DDF4 00039C34 90 83 00 24 */ stw r4, 0x24(r3)
/* 8003DDF8 00039C38 4B FE 7D 69 */ bl OSGetTick
/* 8003DDFC 00039C3C 80 0D E6 40 */ lwz r0, CommandInfoCounter@sda21(r13)
/* 8003DE00 00039C40 80 8D E6 40 */ lwz r4, CommandInfoCounter@sda21(r13)
/* 8003DE04 00039C44 1C A0 00 14 */ mulli r5, r0, 0x14
/* 8003DE08 00039C48 38 04 00 01 */ addi r0, r4, 0x1
/* 8003DE0C 00039C4C 90 0D E6 40 */ stw r0, CommandInfoCounter@sda21(r13)
/* 8003DE10 00039C50 7C 9F 2A 14 */ add r4, r31, r5
/* 8003DE14 00039C54 90 64 00 2C */ stw r3, 0x2c(r4)
/* 8003DE18 00039C58 7F C3 F3 78 */ mr r3, r30
/* 8003DE1C 00039C5C 4B FE 3A 45 */ bl OSRestoreInterrupts
/* 8003DE20 00039C60 3C A0 80 04 */ lis r5, cbForStateCheckID1@ha
/* 8003DE24 00039C64 38 60 00 00 */ li r3, 0x0
/* 8003DE28 00039C68 38 A5 C0 40 */ addi r5, r5, cbForStateCheckID1@l
/* 8003DE2C 00039C6C 38 80 00 00 */ li r4, 0x0
/* 8003DE30 00039C70 48 00 36 21 */ bl DVDLowStopMotor
/* 8003DE34 00039C74 48 00 03 50 */ b lbl_8003E184
.global lbl_8003DE38
lbl_8003DE38:
/* 8003DE38 00039C78 80 0D E6 C4 */ lwz r0, CurrCommand@sda21(r13)
/* 8003DE3C 00039C7C 28 00 00 29 */ cmplwi r0, 0x29
/* 8003DE40 00039C80 40 82 00 54 */ bne lbl_8003DE94
/* 8003DE44 00039C84 80 6D E6 D0 */ lwz r3, executing@sda21(r13)
/* 8003DE48 00039C88 80 83 00 18 */ lwz r4, 0x18(r3)
/* 8003DE4C 00039C8C 80 04 5D E0 */ lwz r0, 0x5de0(r4)
/* 8003DE50 00039C90 2C 00 00 00 */ cmpwi r0, 0x0
/* 8003DE54 00039C94 40 82 00 0C */ bne lbl_8003DE60
/* 8003DE58 00039C98 4B FF F3 B9 */ bl stateBusy
/* 8003DE5C 00039C9C 48 00 03 28 */ b lbl_8003E184
.global lbl_8003DE60
lbl_8003DE60:
/* 8003DE60 00039CA0 38 1E 4B 20 */ addi r0, r30, 0x4b20
/* 8003DE64 00039CA4 90 0D E6 D0 */ stw r0, executing@sda21(r13)
/* 8003DE68 00039CA8 38 00 00 00 */ li r0, 0x0
/* 8003DE6C 00039CAC 90 03 00 0C */ stw r0, 0xc(r3)
/* 8003DE70 00039CB0 81 83 00 28 */ lwz r12, 0x28(r3)
/* 8003DE74 00039CB4 2C 0C 00 00 */ cmpwi r12, 0x0
/* 8003DE78 00039CB8 41 82 00 14 */ beq lbl_8003DE8C
/* 8003DE7C 00039CBC 7C 64 1B 78 */ mr r4, r3
/* 8003DE80 00039CC0 38 60 00 00 */ li r3, 0x0
/* 8003DE84 00039CC4 7D 89 03 A6 */ mtctr r12
/* 8003DE88 00039CC8 4E 80 04 21 */ bctrl
.global lbl_8003DE8C
lbl_8003DE8C:
/* 8003DE8C 00039CCC 4B FF F0 65 */ bl stateReady
/* 8003DE90 00039CD0 48 00 02 F4 */ b lbl_8003E184
.global lbl_8003DE94
lbl_8003DE94:
/* 8003DE94 00039CD4 80 8D E6 C4 */ lwz r4, CurrCommand@sda21(r13)
/* 8003DE98 00039CD8 28 04 00 01 */ cmplwi r4, 0x1
/* 8003DE9C 00039CDC 41 82 00 24 */ beq lbl_8003DEC0
/* 8003DEA0 00039CE0 28 04 00 04 */ cmplwi r4, 0x4
/* 8003DEA4 00039CE4 41 82 00 1C */ beq lbl_8003DEC0
/* 8003DEA8 00039CE8 28 04 00 05 */ cmplwi r4, 0x5
/* 8003DEAC 00039CEC 41 82 00 14 */ beq lbl_8003DEC0
/* 8003DEB0 00039CF0 28 04 00 21 */ cmplwi r4, 0x21
/* 8003DEB4 00039CF4 41 82 00 0C */ beq lbl_8003DEC0
/* 8003DEB8 00039CF8 28 04 00 0E */ cmplwi r4, 0xe
/* 8003DEBC 00039CFC 40 82 00 0C */ bne lbl_8003DEC8
.global lbl_8003DEC0
lbl_8003DEC0:
/* 8003DEC0 00039D00 38 00 00 01 */ li r0, 0x1
/* 8003DEC4 00039D04 48 00 00 1C */ b lbl_8003DEE0
.global lbl_8003DEC8
lbl_8003DEC8:
/* 8003DEC8 00039D08 80 0D 81 CC */ lwz r0, DmaCommand@sda21(r13)
/* 8003DECC 00039D0C 7C 04 00 40 */ cmplw r4, r0
/* 8003DED0 00039D10 40 82 00 0C */ bne lbl_8003DEDC
/* 8003DED4 00039D14 38 00 00 01 */ li r0, 0x1
/* 8003DED8 00039D18 48 00 00 08 */ b lbl_8003DEE0
.global lbl_8003DEDC
lbl_8003DEDC:
/* 8003DEDC 00039D1C 38 00 00 00 */ li r0, 0x0
.global lbl_8003DEE0
lbl_8003DEE0:
/* 8003DEE0 00039D20 2C 00 00 00 */ cmpwi r0, 0x0
/* 8003DEE4 00039D24 41 82 00 54 */ beq lbl_8003DF38
/* 8003DEE8 00039D28 80 6D E6 D0 */ lwz r3, executing@sda21(r13)
/* 8003DEEC 00039D2C 80 83 00 20 */ lwz r4, 0x20(r3)
/* 8003DEF0 00039D30 80 03 00 14 */ lwz r0, 0x14(r3)
/* 8003DEF4 00039D34 7C 04 00 40 */ cmplw r4, r0
/* 8003DEF8 00039D38 41 82 00 0C */ beq lbl_8003DF04
/* 8003DEFC 00039D3C 4B FF F3 15 */ bl stateBusy
/* 8003DF00 00039D40 48 00 02 84 */ b lbl_8003E184
.global lbl_8003DF04
lbl_8003DF04:
/* 8003DF04 00039D44 38 1E 4B 20 */ addi r0, r30, 0x4b20
/* 8003DF08 00039D48 90 0D E6 D0 */ stw r0, executing@sda21(r13)
/* 8003DF0C 00039D4C 38 00 00 00 */ li r0, 0x0
/* 8003DF10 00039D50 90 03 00 0C */ stw r0, 0xc(r3)
/* 8003DF14 00039D54 81 83 00 28 */ lwz r12, 0x28(r3)
/* 8003DF18 00039D58 2C 0C 00 00 */ cmpwi r12, 0x0
/* 8003DF1C 00039D5C 41 82 00 14 */ beq lbl_8003DF30
/* 8003DF20 00039D60 7C 64 1B 78 */ mr r4, r3
/* 8003DF24 00039D64 80 63 00 20 */ lwz r3, 0x20(r3)
/* 8003DF28 00039D68 7D 89 03 A6 */ mtctr r12
/* 8003DF2C 00039D6C 4E 80 04 21 */ bctrl
.global lbl_8003DF30
lbl_8003DF30:
/* 8003DF30 00039D70 4B FF EF C1 */ bl stateReady
/* 8003DF34 00039D74 48 00 02 50 */ b lbl_8003E184
.global lbl_8003DF38
lbl_8003DF38:
/* 8003DF38 00039D78 80 8D E6 C4 */ lwz r4, CurrCommand@sda21(r13)
/* 8003DF3C 00039D7C 28 04 00 09 */ cmplwi r4, 0x9
/* 8003DF40 00039D80 41 82 00 1C */ beq lbl_8003DF5C
/* 8003DF44 00039D84 28 04 00 0A */ cmplwi r4, 0xa
/* 8003DF48 00039D88 41 82 00 14 */ beq lbl_8003DF5C
/* 8003DF4C 00039D8C 28 04 00 0B */ cmplwi r4, 0xb
/* 8003DF50 00039D90 41 82 00 0C */ beq lbl_8003DF5C
/* 8003DF54 00039D94 28 04 00 0C */ cmplwi r4, 0xc
/* 8003DF58 00039D98 40 82 00 0C */ bne lbl_8003DF64
.global lbl_8003DF5C
lbl_8003DF5C:
/* 8003DF5C 00039D9C 38 00 00 01 */ li r0, 0x1
/* 8003DF60 00039DA0 48 00 00 48 */ b lbl_8003DFA8
.global lbl_8003DF64
lbl_8003DF64:
/* 8003DF64 00039DA4 3C 60 80 43 */ lis r3, ImmCommand@ha
/* 8003DF68 00039DA8 84 03 14 E0 */ lwzu r0, ImmCommand@l(r3)
/* 8003DF6C 00039DAC 7C 04 00 40 */ cmplw r4, r0
/* 8003DF70 00039DB0 40 82 00 0C */ bne lbl_8003DF7C
/* 8003DF74 00039DB4 38 00 00 01 */ li r0, 0x1
/* 8003DF78 00039DB8 48 00 00 30 */ b lbl_8003DFA8
.global lbl_8003DF7C
lbl_8003DF7C:
/* 8003DF7C 00039DBC 80 03 00 04 */ lwz r0, 0x4(r3)
/* 8003DF80 00039DC0 7C 04 00 40 */ cmplw r4, r0
/* 8003DF84 00039DC4 40 82 00 0C */ bne lbl_8003DF90
/* 8003DF88 00039DC8 38 00 00 01 */ li r0, 0x1
/* 8003DF8C 00039DCC 48 00 00 1C */ b lbl_8003DFA8
.global lbl_8003DF90
lbl_8003DF90:
/* 8003DF90 00039DD0 80 03 00 08 */ lwz r0, 0x8(r3)
/* 8003DF94 00039DD4 7C 04 00 40 */ cmplw r4, r0
/* 8003DF98 00039DD8 40 82 00 0C */ bne lbl_8003DFA4
/* 8003DF9C 00039DDC 38 00 00 01 */ li r0, 0x1
/* 8003DFA0 00039DE0 48 00 00 08 */ b lbl_8003DFA8
.global lbl_8003DFA4
lbl_8003DFA4:
/* 8003DFA4 00039DE4 38 00 00 00 */ li r0, 0x0
.global lbl_8003DFA8
lbl_8003DFA8:
/* 8003DFA8 00039DE8 2C 00 00 00 */ cmpwi r0, 0x0
/* 8003DFAC 00039DEC 41 82 00 60 */ beq lbl_8003E00C
/* 8003DFB0 00039DF0 80 0D E6 C4 */ lwz r0, CurrCommand@sda21(r13)
/* 8003DFB4 00039DF4 28 00 00 0B */ cmplwi r0, 0xb
/* 8003DFB8 00039DF8 41 82 00 10 */ beq lbl_8003DFC8
/* 8003DFBC 00039DFC 80 0D E6 C4 */ lwz r0, CurrCommand@sda21(r13)
/* 8003DFC0 00039E00 28 00 00 0A */ cmplwi r0, 0xa
/* 8003DFC4 00039E04 40 82 00 10 */ bne lbl_8003DFD4
.global lbl_8003DFC8
lbl_8003DFC8:
/* 8003DFC8 00039E08 48 00 47 19 */ bl DVDLowGetImmBufferReg
/* 8003DFCC 00039E0C 54 63 10 3A */ slwi r3, r3, 2
/* 8003DFD0 00039E10 48 00 00 08 */ b lbl_8003DFD8
.global lbl_8003DFD4
lbl_8003DFD4:
/* 8003DFD4 00039E14 48 00 47 0D */ bl DVDLowGetImmBufferReg
.global lbl_8003DFD8
lbl_8003DFD8:
/* 8003DFD8 00039E18 83 ED E6 D0 */ lwz r31, executing@sda21(r13)
/* 8003DFDC 00039E1C 38 9E 4B 20 */ addi r4, r30, 0x4b20
/* 8003DFE0 00039E20 38 00 00 00 */ li r0, 0x0
/* 8003DFE4 00039E24 90 8D E6 D0 */ stw r4, executing@sda21(r13)
/* 8003DFE8 00039E28 90 1F 00 0C */ stw r0, 0xc(r31)
/* 8003DFEC 00039E2C 81 9F 00 28 */ lwz r12, 0x28(r31)
/* 8003DFF0 00039E30 2C 0C 00 00 */ cmpwi r12, 0x0
/* 8003DFF4 00039E34 41 82 00 10 */ beq lbl_8003E004
/* 8003DFF8 00039E38 7F E4 FB 78 */ mr r4, r31
/* 8003DFFC 00039E3C 7D 89 03 A6 */ mtctr r12
/* 8003E000 00039E40 4E 80 04 21 */ bctrl
.global lbl_8003E004
lbl_8003E004:
/* 8003E004 00039E44 4B FF EE ED */ bl stateReady
/* 8003E008 00039E48 48 00 01 7C */ b lbl_8003E184
.global lbl_8003E00C
lbl_8003E00C:
/* 8003E00C 00039E4C 83 ED E6 D0 */ lwz r31, executing@sda21(r13)
/* 8003E010 00039E50 38 7E 4B 20 */ addi r3, r30, 0x4b20
/* 8003E014 00039E54 38 00 00 00 */ li r0, 0x0
/* 8003E018 00039E58 90 6D E6 D0 */ stw r3, executing@sda21(r13)
/* 8003E01C 00039E5C 90 1F 00 0C */ stw r0, 0xc(r31)
/* 8003E020 00039E60 81 9F 00 28 */ lwz r12, 0x28(r31)
/* 8003E024 00039E64 2C 0C 00 00 */ cmpwi r12, 0x0
/* 8003E028 00039E68 41 82 00 14 */ beq lbl_8003E03C
/* 8003E02C 00039E6C 7F E4 FB 78 */ mr r4, r31
/* 8003E030 00039E70 38 60 00 00 */ li r3, 0x0
/* 8003E034 00039E74 7D 89 03 A6 */ mtctr r12
/* 8003E038 00039E78 4E 80 04 21 */ bctrl
.global lbl_8003E03C
lbl_8003E03C:
/* 8003E03C 00039E7C 4B FF EE B5 */ bl stateReady
/* 8003E040 00039E80 48 00 01 44 */ b lbl_8003E184
.global lbl_8003E044
lbl_8003E044:
/* 8003E044 00039E84 80 0D E6 C4 */ lwz r0, CurrCommand@sda21(r13)
/* 8003E048 00039E88 28 00 00 0E */ cmplwi r0, 0xe
/* 8003E04C 00039E8C 40 82 00 1C */ bne lbl_8003E068
/* 8003E050 00039E90 3C 60 01 23 */ lis r3, 0x123
/* 8003E054 00039E94 3C 80 80 04 */ lis r4, cbForStoreErrorCode1@ha
/* 8003E058 00039E98 38 63 45 67 */ addi r3, r3, 0x4567
/* 8003E05C 00039E9C 38 84 A7 A0 */ addi r4, r4, cbForStoreErrorCode1@l
/* 8003E060 00039EA0 48 00 1C 21 */ bl __DVDStoreErrorCode
/* 8003E064 00039EA4 48 00 01 20 */ b lbl_8003E184
.global lbl_8003E068
lbl_8003E068:
/* 8003E068 00039EA8 80 0D E6 C4 */ lwz r0, CurrCommand@sda21(r13)
/* 8003E06C 00039EAC 28 00 00 01 */ cmplwi r0, 0x1
/* 8003E070 00039EB0 41 82 00 34 */ beq lbl_8003E0A4
/* 8003E074 00039EB4 80 0D E6 C4 */ lwz r0, CurrCommand@sda21(r13)
/* 8003E078 00039EB8 28 00 00 04 */ cmplwi r0, 0x4
/* 8003E07C 00039EBC 41 82 00 28 */ beq lbl_8003E0A4
/* 8003E080 00039EC0 80 0D E6 C4 */ lwz r0, CurrCommand@sda21(r13)
/* 8003E084 00039EC4 28 00 00 05 */ cmplwi r0, 0x5
/* 8003E088 00039EC8 41 82 00 1C */ beq lbl_8003E0A4
/* 8003E08C 00039ECC 80 0D E6 C4 */ lwz r0, CurrCommand@sda21(r13)
/* 8003E090 00039ED0 28 00 00 21 */ cmplwi r0, 0x21
/* 8003E094 00039ED4 41 82 00 10 */ beq lbl_8003E0A4
/* 8003E098 00039ED8 80 0D E6 C4 */ lwz r0, CurrCommand@sda21(r13)
/* 8003E09C 00039EDC 28 00 00 0E */ cmplwi r0, 0xe
/* 8003E0A0 00039EE0 40 82 00 C8 */ bne lbl_8003E168
.global lbl_8003E0A4
lbl_8003E0A4:
/* 8003E0A4 00039EE4 83 AD E6 D0 */ lwz r29, executing@sda21(r13)
/* 8003E0A8 00039EE8 80 7D 00 20 */ lwz r3, 0x20(r29)
/* 8003E0AC 00039EEC 80 1D 00 14 */ lwz r0, 0x14(r29)
/* 8003E0B0 00039EF0 7C 03 00 40 */ cmplw r3, r0
/* 8003E0B4 00039EF4 40 82 00 B4 */ bne lbl_8003E168
/* 8003E0B8 00039EF8 80 0D E6 50 */ lwz r0, Canceling@sda21(r13)
/* 8003E0BC 00039EFC 2C 00 00 00 */ cmpwi r0, 0x0
/* 8003E0C0 00039F00 41 82 00 64 */ beq lbl_8003E124
/* 8003E0C4 00039F04 38 80 00 00 */ li r4, 0x0
/* 8003E0C8 00039F08 90 8D E6 54 */ stw r4, ResumeFromHere@sda21(r13)
/* 8003E0CC 00039F0C 38 7E 4B 20 */ addi r3, r30, 0x4b20
/* 8003E0D0 00039F10 38 00 00 0A */ li r0, 0xa
/* 8003E0D4 00039F14 90 8D E6 50 */ stw r4, Canceling@sda21(r13)
/* 8003E0D8 00039F18 90 6D E6 D0 */ stw r3, executing@sda21(r13)
/* 8003E0DC 00039F1C 90 1D 00 0C */ stw r0, 0xc(r29)
/* 8003E0E0 00039F20 81 9D 00 28 */ lwz r12, 0x28(r29)
/* 8003E0E4 00039F24 2C 0C 00 00 */ cmpwi r12, 0x0
/* 8003E0E8 00039F28 41 82 00 14 */ beq lbl_8003E0FC
/* 8003E0EC 00039F2C 7F A4 EB 78 */ mr r4, r29
/* 8003E0F0 00039F30 38 60 FF FD */ li r3, -0x3
/* 8003E0F4 00039F34 7D 89 03 A6 */ mtctr r12
/* 8003E0F8 00039F38 4E 80 04 21 */ bctrl
.global lbl_8003E0FC
lbl_8003E0FC:
/* 8003E0FC 00039F3C 81 8D E6 C0 */ lwz r12, CancelCallback@sda21(r13)
/* 8003E100 00039F40 2C 0C 00 00 */ cmpwi r12, 0x0
/* 8003E104 00039F44 41 82 00 14 */ beq lbl_8003E118
/* 8003E108 00039F48 7F A4 EB 78 */ mr r4, r29
/* 8003E10C 00039F4C 38 60 00 00 */ li r3, 0x0
/* 8003E110 00039F50 7D 89 03 A6 */ mtctr r12
/* 8003E114 00039F54 4E 80 04 21 */ bctrl
.global lbl_8003E118
lbl_8003E118:
/* 8003E118 00039F58 4B FF ED D9 */ bl stateReady
/* 8003E11C 00039F5C 38 00 00 01 */ li r0, 0x1
/* 8003E120 00039F60 48 00 00 08 */ b lbl_8003E128
.global lbl_8003E124
lbl_8003E124:
/* 8003E124 00039F64 38 00 00 00 */ li r0, 0x0
.global lbl_8003E128
lbl_8003E128:
/* 8003E128 00039F68 2C 00 00 00 */ cmpwi r0, 0x0
/* 8003E12C 00039F6C 40 82 00 58 */ bne lbl_8003E184
/* 8003E130 00039F70 83 ED E6 D0 */ lwz r31, executing@sda21(r13)
/* 8003E134 00039F74 38 7E 4B 20 */ addi r3, r30, 0x4b20
/* 8003E138 00039F78 38 00 00 00 */ li r0, 0x0
/* 8003E13C 00039F7C 90 6D E6 D0 */ stw r3, executing@sda21(r13)
/* 8003E140 00039F80 90 1F 00 0C */ stw r0, 0xc(r31)
/* 8003E144 00039F84 81 9F 00 28 */ lwz r12, 0x28(r31)
/* 8003E148 00039F88 2C 0C 00 00 */ cmpwi r12, 0x0
/* 8003E14C 00039F8C 41 82 00 14 */ beq lbl_8003E160
/* 8003E150 00039F90 7F E4 FB 78 */ mr r4, r31
/* 8003E154 00039F94 80 7F 00 20 */ lwz r3, 0x20(r31)
/* 8003E158 00039F98 7D 89 03 A6 */ mtctr r12
/* 8003E15C 00039F9C 4E 80 04 21 */ bctrl
.global lbl_8003E160
lbl_8003E160:
/* 8003E160 00039FA0 4B FF ED 91 */ bl stateReady
/* 8003E164 00039FA4 48 00 00 20 */ b lbl_8003E184
.global lbl_8003E168
lbl_8003E168:
/* 8003E168 00039FA8 38 60 00 27 */ li r3, 0x27
/* 8003E16C 00039FAC 38 80 00 00 */ li r4, 0x0
/* 8003E170 00039FB0 38 A0 00 00 */ li r5, 0x0
/* 8003E174 00039FB4 4B FF BF CD */ bl StampCommand
/* 8003E178 00039FB8 3C 60 80 04 */ lis r3, cbForStateGettingError@ha
/* 8003E17C 00039FBC 38 63 A9 D0 */ addi r3, r3, cbForStateGettingError@l
/* 8003E180 00039FC0 48 00 35 E1 */ bl DVDLowRequestError
.global lbl_8003E184
lbl_8003E184:
/* 8003E184 00039FC4 80 01 00 24 */ lwz r0, 0x24(r1)
/* 8003E188 00039FC8 83 E1 00 1C */ lwz r31, 0x1c(r1)
/* 8003E18C 00039FCC 83 C1 00 18 */ lwz r30, 0x18(r1)
/* 8003E190 00039FD0 83 A1 00 14 */ lwz r29, 0x14(r1)
/* 8003E194 00039FD4 7C 08 03 A6 */ mtlr r0
/* 8003E198 00039FD8 38 21 00 20 */ addi r1, r1, 0x20
/* 8003E19C 00039FDC 4E 80 00 20 */ blr
.global DVDReadAbsAsyncPrio
DVDReadAbsAsyncPrio:
/* 8003E1A0 00039FE0 94 21 FF E0 */ stwu r1, -0x20(r1)
/* 8003E1A4 00039FE4 7C 08 02 A6 */ mflr r0
/* 8003E1A8 00039FE8 39 20 00 01 */ li r9, 0x1
/* 8003E1AC 00039FEC 90 01 00 24 */ stw r0, 0x24(r1)
/* 8003E1B0 00039FF0 38 00 00 00 */ li r0, 0x0
/* 8003E1B4 00039FF4 93 E1 00 1C */ stw r31, 0x1c(r1)
/* 8003E1B8 00039FF8 7D 1F 43 78 */ mr r31, r8
/* 8003E1BC 00039FFC 93 C1 00 18 */ stw r30, 0x18(r1)
/* 8003E1C0 0003A000 93 A1 00 14 */ stw r29, 0x14(r1)
/* 8003E1C4 0003A004 7C 7D 1B 78 */ mr r29, r3
/* 8003E1C8 0003A008 91 23 00 08 */ stw r9, 0x8(r3)
/* 8003E1CC 0003A00C 90 83 00 18 */ stw r4, 0x18(r3)
/* 8003E1D0 0003A010 90 A3 00 14 */ stw r5, 0x14(r3)
/* 8003E1D4 0003A014 90 C3 00 10 */ stw r6, 0x10(r3)
/* 8003E1D8 0003A018 90 03 00 20 */ stw r0, 0x20(r3)
/* 8003E1DC 0003A01C 90 E3 00 28 */ stw r7, 0x28(r3)
/* 8003E1E0 0003A020 80 0D 81 BC */ lwz r0, autoInvalidation@sda21(r13)
/* 8003E1E4 0003A024 2C 00 00 00 */ cmpwi r0, 0x0
/* 8003E1E8 0003A028 41 82 00 38 */ beq lbl_8003E220
/* 8003E1EC 0003A02C 28 09 00 01 */ cmplwi r9, 0x1
/* 8003E1F0 0003A030 41 82 00 24 */ beq lbl_8003E214
/* 8003E1F4 0003A034 28 09 00 04 */ cmplwi r9, 0x4
/* 8003E1F8 0003A038 41 82 00 1C */ beq lbl_8003E214
/* 8003E1FC 0003A03C 28 09 00 05 */ cmplwi r9, 0x5
/* 8003E200 0003A040 41 82 00 14 */ beq lbl_8003E214
/* 8003E204 0003A044 28 09 00 21 */ cmplwi r9, 0x21
/* 8003E208 0003A048 41 82 00 0C */ beq lbl_8003E214
/* 8003E20C 0003A04C 28 09 00 0E */ cmplwi r9, 0xe
/* 8003E210 0003A050 40 82 00 10 */ bne lbl_8003E220
.global lbl_8003E214
lbl_8003E214:
/* 8003E214 0003A054 80 63 00 18 */ lwz r3, 0x18(r3)
/* 8003E218 0003A058 80 9D 00 14 */ lwz r4, 0x14(r29)
/* 8003E21C 0003A05C 4B FD E7 35 */ bl DCInvalidateRange
.global lbl_8003E220
lbl_8003E220:
/* 8003E220 0003A060 4B FE 36 01 */ bl OSDisableInterrupts
/* 8003E224 0003A064 38 00 00 02 */ li r0, 0x2
/* 8003E228 0003A068 90 1D 00 0C */ stw r0, 0xc(r29)
/* 8003E22C 0003A06C 7C 7E 1B 78 */ mr r30, r3
/* 8003E230 0003A070 7F E3 FB 78 */ mr r3, r31
/* 8003E234 0003A074 7F A4 EB 78 */ mr r4, r29
/* 8003E238 0003A078 48 00 0E 59 */ bl __DVDPushWaitingQueue
/* 8003E23C 0003A07C 80 0D E6 D0 */ lwz r0, executing@sda21(r13)
/* 8003E240 0003A080 7C 7F 1B 78 */ mr r31, r3
/* 8003E244 0003A084 2C 00 00 00 */ cmpwi r0, 0x0
/* 8003E248 0003A088 40 82 00 14 */ bne lbl_8003E25C
/* 8003E24C 0003A08C 80 0D E6 44 */ lwz r0, PauseFlag@sda21(r13)
/* 8003E250 0003A090 2C 00 00 00 */ cmpwi r0, 0x0
/* 8003E254 0003A094 40 82 00 08 */ bne lbl_8003E25C
/* 8003E258 0003A098 4B FF EC 99 */ bl stateReady
.global lbl_8003E25C
lbl_8003E25C:
/* 8003E25C 0003A09C 7F C3 F3 78 */ mr r3, r30
/* 8003E260 0003A0A0 4B FE 36 01 */ bl OSRestoreInterrupts
/* 8003E264 0003A0A4 7F E3 FB 78 */ mr r3, r31
/* 8003E268 0003A0A8 83 E1 00 1C */ lwz r31, 0x1c(r1)
/* 8003E26C 0003A0AC 83 C1 00 18 */ lwz r30, 0x18(r1)
/* 8003E270 0003A0B0 83 A1 00 14 */ lwz r29, 0x14(r1)
/* 8003E274 0003A0B4 80 01 00 24 */ lwz r0, 0x24(r1)
/* 8003E278 0003A0B8 7C 08 03 A6 */ mtlr r0
/* 8003E27C 0003A0BC 38 21 00 20 */ addi r1, r1, 0x20
/* 8003E280 0003A0C0 4E 80 00 20 */ blr
/* 8003E284 0003A0C4 00 00 00 00 */ .4byte 0x00000000
/* 8003E288 0003A0C8 00 00 00 00 */ .4byte 0x00000000
/* 8003E28C 0003A0CC 00 00 00 00 */ .4byte 0x00000000
.global DVDInquiryAsync
DVDInquiryAsync:
/* 8003E290 0003A0D0 94 21 FF F0 */ stwu r1, -0x10(r1)
/* 8003E294 0003A0D4 7C 08 02 A6 */ mflr r0
/* 8003E298 0003A0D8 38 E0 00 0E */ li r7, 0xe
/* 8003E29C 0003A0DC 38 C0 00 20 */ li r6, 0x20
/* 8003E2A0 0003A0E0 90 01 00 14 */ stw r0, 0x14(r1)
/* 8003E2A4 0003A0E4 38 00 00 00 */ li r0, 0x0
/* 8003E2A8 0003A0E8 93 E1 00 0C */ stw r31, 0xc(r1)
/* 8003E2AC 0003A0EC 7C 7F 1B 78 */ mr r31, r3
/* 8003E2B0 0003A0F0 93 C1 00 08 */ stw r30, 0x8(r1)
/* 8003E2B4 0003A0F4 90 E3 00 08 */ stw r7, 0x8(r3)
/* 8003E2B8 0003A0F8 90 83 00 18 */ stw r4, 0x18(r3)
/* 8003E2BC 0003A0FC 90 C3 00 14 */ stw r6, 0x14(r3)
/* 8003E2C0 0003A100 90 03 00 20 */ stw r0, 0x20(r3)
/* 8003E2C4 0003A104 90 A3 00 28 */ stw r5, 0x28(r3)
/* 8003E2C8 0003A108 80 0D 81 BC */ lwz r0, autoInvalidation@sda21(r13)
/* 8003E2CC 0003A10C 2C 00 00 00 */ cmpwi r0, 0x0
/* 8003E2D0 0003A110 41 82 00 38 */ beq lbl_8003E308
/* 8003E2D4 0003A114 28 07 00 01 */ cmplwi r7, 0x1
/* 8003E2D8 0003A118 41 82 00 24 */ beq lbl_8003E2FC
/* 8003E2DC 0003A11C 28 07 00 04 */ cmplwi r7, 0x4
/* 8003E2E0 0003A120 41 82 00 1C */ beq lbl_8003E2FC
/* 8003E2E4 0003A124 28 07 00 05 */ cmplwi r7, 0x5
/* 8003E2E8 0003A128 41 82 00 14 */ beq lbl_8003E2FC
/* 8003E2EC 0003A12C 28 07 00 21 */ cmplwi r7, 0x21
/* 8003E2F0 0003A130 41 82 00 0C */ beq lbl_8003E2FC
/* 8003E2F4 0003A134 28 07 00 0E */ cmplwi r7, 0xe
/* 8003E2F8 0003A138 40 82 00 10 */ bne lbl_8003E308
.global lbl_8003E2FC
lbl_8003E2FC:
/* 8003E2FC 0003A13C 80 63 00 18 */ lwz r3, 0x18(r3)
/* 8003E300 0003A140 80 9F 00 14 */ lwz r4, 0x14(r31)
/* 8003E304 0003A144 4B FD E6 4D */ bl DCInvalidateRange
.global lbl_8003E308
lbl_8003E308:
/* 8003E308 0003A148 4B FE 35 19 */ bl OSDisableInterrupts
/* 8003E30C 0003A14C 38 00 00 02 */ li r0, 0x2
/* 8003E310 0003A150 90 1F 00 0C */ stw r0, 0xc(r31)
/* 8003E314 0003A154 7C 7E 1B 78 */ mr r30, r3
/* 8003E318 0003A158 7F E4 FB 78 */ mr r4, r31
/* 8003E31C 0003A15C 38 60 00 02 */ li r3, 0x2
/* 8003E320 0003A160 48 00 0D 71 */ bl __DVDPushWaitingQueue
/* 8003E324 0003A164 80 0D E6 D0 */ lwz r0, executing@sda21(r13)
/* 8003E328 0003A168 7C 7F 1B 78 */ mr r31, r3
/* 8003E32C 0003A16C 2C 00 00 00 */ cmpwi r0, 0x0
/* 8003E330 0003A170 40 82 00 14 */ bne lbl_8003E344
/* 8003E334 0003A174 80 0D E6 44 */ lwz r0, PauseFlag@sda21(r13)
/* 8003E338 0003A178 2C 00 00 00 */ cmpwi r0, 0x0
/* 8003E33C 0003A17C 40 82 00 08 */ bne lbl_8003E344
/* 8003E340 0003A180 4B FF EB B1 */ bl stateReady
.global lbl_8003E344
lbl_8003E344:
/* 8003E344 0003A184 7F C3 F3 78 */ mr r3, r30
/* 8003E348 0003A188 4B FE 35 19 */ bl OSRestoreInterrupts
/* 8003E34C 0003A18C 7F E3 FB 78 */ mr r3, r31
/* 8003E350 0003A190 83 E1 00 0C */ lwz r31, 0xc(r1)
/* 8003E354 0003A194 83 C1 00 08 */ lwz r30, 0x8(r1)
/* 8003E358 0003A198 80 01 00 14 */ lwz r0, 0x14(r1)
/* 8003E35C 0003A19C 7C 08 03 A6 */ mtlr r0
/* 8003E360 0003A1A0 38 21 00 10 */ addi r1, r1, 0x10
/* 8003E364 0003A1A4 4E 80 00 20 */ blr
/* 8003E368 0003A1A8 00 00 00 00 */ .4byte 0x00000000
/* 8003E36C 0003A1AC 00 00 00 00 */ .4byte 0x00000000
.global DVDGetCommandBlockStatus
DVDGetCommandBlockStatus:
/* 8003E370 0003A1B0 94 21 FF E0 */ stwu r1, -0x20(r1)
/* 8003E374 0003A1B4 7C 08 02 A6 */ mflr r0
/* 8003E378 0003A1B8 90 01 00 24 */ stw r0, 0x24(r1)
/* 8003E37C 0003A1BC 93 E1 00 1C */ stw r31, 0x1c(r1)
/* 8003E380 0003A1C0 93 C1 00 18 */ stw r30, 0x18(r1)
/* 8003E384 0003A1C4 93 A1 00 14 */ stw r29, 0x14(r1)
/* 8003E388 0003A1C8 7C 7D 1B 78 */ mr r29, r3
/* 8003E38C 0003A1CC 4B FE 34 95 */ bl OSDisableInterrupts
/* 8003E390 0003A1D0 80 1D 00 0C */ lwz r0, 0xc(r29)
/* 8003E394 0003A1D4 7C 7E 1B 78 */ mr r30, r3
/* 8003E398 0003A1D8 2C 00 00 03 */ cmpwi r0, 0x3
/* 8003E39C 0003A1DC 40 82 00 0C */ bne lbl_8003E3A8
/* 8003E3A0 0003A1E0 3B E0 00 01 */ li r31, 0x1
/* 8003E3A4 0003A1E4 48 00 00 6C */ b lbl_8003E410
.global lbl_8003E3A8
lbl_8003E3A8:
/* 8003E3A8 0003A1E8 80 1D 00 0C */ lwz r0, 0xc(r29)
/* 8003E3AC 0003A1EC 2C 00 00 05 */ cmpwi r0, 0x5
/* 8003E3B0 0003A1F0 40 82 00 0C */ bne lbl_8003E3BC
/* 8003E3B4 0003A1F4 3B E0 00 04 */ li r31, 0x4
/* 8003E3B8 0003A1F8 48 00 00 58 */ b lbl_8003E410
.global lbl_8003E3BC
lbl_8003E3BC:
/* 8003E3BC 0003A1FC 3F E0 80 4A */ lis r31, __DVDStopMotorCommandBlock@ha
/* 8003E3C0 0003A200 80 0D E6 D0 */ lwz r0, executing@sda21(r13)
/* 8003E3C4 0003A204 3B FF FA 50 */ addi r31, r31, __DVDStopMotorCommandBlock@l
/* 8003E3C8 0003A208 7C 00 F8 40 */ cmplw r0, r31
/* 8003E3CC 0003A20C 40 82 00 40 */ bne lbl_8003E40C
/* 8003E3D0 0003A210 48 00 0E 31 */ bl __DVDGetNextWaitingQueue
/* 8003E3D4 0003A214 2C 03 00 00 */ cmpwi r3, 0x0
/* 8003E3D8 0003A218 41 82 00 1C */ beq lbl_8003E3F4
/* 8003E3DC 0003A21C 7C 1D 18 40 */ cmplw r29, r3
/* 8003E3E0 0003A220 40 82 00 0C */ bne lbl_8003E3EC
/* 8003E3E4 0003A224 3B E0 00 01 */ li r31, 0x1
/* 8003E3E8 0003A228 48 00 00 28 */ b lbl_8003E410
.global lbl_8003E3EC
lbl_8003E3EC:
/* 8003E3EC 0003A22C 83 FD 00 0C */ lwz r31, 0xc(r29)
/* 8003E3F0 0003A230 48 00 00 20 */ b lbl_8003E410
.global lbl_8003E3F4
lbl_8003E3F4:
/* 8003E3F4 0003A234 7C 1D F8 40 */ cmplw r29, r31
/* 8003E3F8 0003A238 40 82 00 0C */ bne lbl_8003E404
/* 8003E3FC 0003A23C 3B E0 00 00 */ li r31, 0x0
/* 8003E400 0003A240 48 00 00 10 */ b lbl_8003E410
.global lbl_8003E404
lbl_8003E404:
/* 8003E404 0003A244 83 FD 00 0C */ lwz r31, 0xc(r29)
/* 8003E408 0003A248 48 00 00 08 */ b lbl_8003E410
.global lbl_8003E40C
lbl_8003E40C:
/* 8003E40C 0003A24C 83 FD 00 0C */ lwz r31, 0xc(r29)
.global lbl_8003E410
lbl_8003E410:
/* 8003E410 0003A250 7F C3 F3 78 */ mr r3, r30
/* 8003E414 0003A254 4B FE 34 4D */ bl OSRestoreInterrupts
/* 8003E418 0003A258 7F E3 FB 78 */ mr r3, r31
/* 8003E41C 0003A25C 83 E1 00 1C */ lwz r31, 0x1c(r1)
/* 8003E420 0003A260 83 C1 00 18 */ lwz r30, 0x18(r1)
/* 8003E424 0003A264 83 A1 00 14 */ lwz r29, 0x14(r1)
/* 8003E428 0003A268 80 01 00 24 */ lwz r0, 0x24(r1)
/* 8003E42C 0003A26C 7C 08 03 A6 */ mtlr r0
/* 8003E430 0003A270 38 21 00 20 */ addi r1, r1, 0x20
/* 8003E434 0003A274 4E 80 00 20 */ blr
/* 8003E438 0003A278 00 00 00 00 */ .4byte 0x00000000
/* 8003E43C 0003A27C 00 00 00 00 */ .4byte 0x00000000
.global DVDGetDriveStatus
DVDGetDriveStatus:
/* 8003E440 0003A280 94 21 FF F0 */ stwu r1, -0x10(r1)
/* 8003E444 0003A284 7C 08 02 A6 */ mflr r0
/* 8003E448 0003A288 90 01 00 14 */ stw r0, 0x14(r1)
/* 8003E44C 0003A28C 93 E1 00 0C */ stw r31, 0xc(r1)
/* 8003E450 0003A290 93 C1 00 08 */ stw r30, 0x8(r1)
/* 8003E454 0003A294 4B FE 33 CD */ bl OSDisableInterrupts
/* 8003E458 0003A298 80 0D E6 4C */ lwz r0, FatalErrorFlag@sda21(r13)
/* 8003E45C 0003A29C 7C 7F 1B 78 */ mr r31, r3
/* 8003E460 0003A2A0 2C 00 00 00 */ cmpwi r0, 0x0
/* 8003E464 0003A2A4 41 82 00 0C */ beq lbl_8003E470
/* 8003E468 0003A2A8 3B C0 FF FF */ li r30, -0x1
/* 8003E46C 0003A2AC 48 00 00 4C */ b lbl_8003E4B8
.global lbl_8003E470
lbl_8003E470:
/* 8003E470 0003A2B0 80 0D E6 48 */ lwz r0, PausingFlag@sda21(r13)
/* 8003E474 0003A2B4 2C 00 00 00 */ cmpwi r0, 0x0
/* 8003E478 0003A2B8 41 82 00 0C */ beq lbl_8003E484
/* 8003E47C 0003A2BC 3B C0 00 08 */ li r30, 0x8
/* 8003E480 0003A2C0 48 00 00 38 */ b lbl_8003E4B8
.global lbl_8003E484
lbl_8003E484:
/* 8003E484 0003A2C4 80 6D E6 D0 */ lwz r3, executing@sda21(r13)
/* 8003E488 0003A2C8 2C 03 00 00 */ cmpwi r3, 0x0
/* 8003E48C 0003A2CC 40 82 00 0C */ bne lbl_8003E498
/* 8003E490 0003A2D0 3B C0 00 00 */ li r30, 0x0
/* 8003E494 0003A2D4 48 00 00 24 */ b lbl_8003E4B8
.global lbl_8003E498
lbl_8003E498:
/* 8003E498 0003A2D8 3C 80 80 4A */ lis r4, DummyCommandBlock@ha
/* 8003E49C 0003A2DC 38 84 F9 20 */ addi r4, r4, DummyCommandBlock@l
/* 8003E4A0 0003A2E0 7C 03 20 40 */ cmplw r3, r4
/* 8003E4A4 0003A2E4 40 82 00 0C */ bne lbl_8003E4B0
/* 8003E4A8 0003A2E8 38 60 00 00 */ li r3, 0x0
/* 8003E4AC 0003A2EC 48 00 00 08 */ b lbl_8003E4B4
.global lbl_8003E4B0
lbl_8003E4B0:
/* 8003E4B0 0003A2F0 4B FF FE C1 */ bl DVDGetCommandBlockStatus
.global lbl_8003E4B4
lbl_8003E4B4:
/* 8003E4B4 0003A2F4 7C 7E 1B 78 */ mr r30, r3
.global lbl_8003E4B8
lbl_8003E4B8:
/* 8003E4B8 0003A2F8 7F E3 FB 78 */ mr r3, r31
/* 8003E4BC 0003A2FC 4B FE 33 A5 */ bl OSRestoreInterrupts
/* 8003E4C0 0003A300 7F C3 F3 78 */ mr r3, r30
/* 8003E4C4 0003A304 83 E1 00 0C */ lwz r31, 0xc(r1)
/* 8003E4C8 0003A308 83 C1 00 08 */ lwz r30, 0x8(r1)
/* 8003E4CC 0003A30C 80 01 00 14 */ lwz r0, 0x14(r1)
/* 8003E4D0 0003A310 7C 08 03 A6 */ mtlr r0
/* 8003E4D4 0003A314 38 21 00 10 */ addi r1, r1, 0x10
/* 8003E4D8 0003A318 4E 80 00 20 */ blr
/* 8003E4DC 0003A31C 00 00 00 00 */ .4byte 0x00000000
.global DVDSetAutoInvalidation
DVDSetAutoInvalidation:
/* 8003E4E0 0003A320 7C 60 1B 78 */ mr r0, r3
/* 8003E4E4 0003A324 80 6D 81 BC */ lwz r3, autoInvalidation@sda21(r13)
/* 8003E4E8 0003A328 90 0D 81 BC */ stw r0, autoInvalidation@sda21(r13)
/* 8003E4EC 0003A32C 4E 80 00 20 */ blr
.global DVDResume
DVDResume:
/* 8003E4F0 0003A330 94 21 FF F0 */ stwu r1, -0x10(r1)
/* 8003E4F4 0003A334 7C 08 02 A6 */ mflr r0
/* 8003E4F8 0003A338 90 01 00 14 */ stw r0, 0x14(r1)
/* 8003E4FC 0003A33C 93 E1 00 0C */ stw r31, 0xc(r1)
/* 8003E500 0003A340 4B FE 33 21 */ bl OSDisableInterrupts
/* 8003E504 0003A344 38 80 00 00 */ li r4, 0x0
/* 8003E508 0003A348 90 8D E6 44 */ stw r4, PauseFlag@sda21(r13)
/* 8003E50C 0003A34C 80 0D E6 48 */ lwz r0, PausingFlag@sda21(r13)
/* 8003E510 0003A350 7C 7F 1B 78 */ mr r31, r3
/* 8003E514 0003A354 2C 00 00 00 */ cmpwi r0, 0x0
/* 8003E518 0003A358 41 82 00 0C */ beq lbl_8003E524
/* 8003E51C 0003A35C 90 8D E6 48 */ stw r4, PausingFlag@sda21(r13)
/* 8003E520 0003A360 4B FF E9 D1 */ bl stateReady
.global lbl_8003E524
lbl_8003E524:
/* 8003E524 0003A364 7F E3 FB 78 */ mr r3, r31
/* 8003E528 0003A368 4B FE 33 39 */ bl OSRestoreInterrupts
/* 8003E52C 0003A36C 80 01 00 14 */ lwz r0, 0x14(r1)
/* 8003E530 0003A370 83 E1 00 0C */ lwz r31, 0xc(r1)
/* 8003E534 0003A374 7C 08 03 A6 */ mtlr r0
/* 8003E538 0003A378 38 21 00 10 */ addi r1, r1, 0x10
/* 8003E53C 0003A37C 4E 80 00 20 */ blr
.global DVDCancelAsync
DVDCancelAsync:
/* 8003E540 0003A380 94 21 FF E0 */ stwu r1, -0x20(r1)
/* 8003E544 0003A384 7C 08 02 A6 */ mflr r0
/* 8003E548 0003A388 90 01 00 24 */ stw r0, 0x24(r1)
/* 8003E54C 0003A38C 93 E1 00 1C */ stw r31, 0x1c(r1)
/* 8003E550 0003A390 93 C1 00 18 */ stw r30, 0x18(r1)
/* 8003E554 0003A394 7C 9E 23 78 */ mr r30, r4
/* 8003E558 0003A398 93 A1 00 14 */ stw r29, 0x14(r1)
/* 8003E55C 0003A39C 7C 7D 1B 78 */ mr r29, r3
/* 8003E560 0003A3A0 4B FE 32 C1 */ bl OSDisableInterrupts
/* 8003E564 0003A3A4 80 9D 00 0C */ lwz r4, 0xc(r29)
/* 8003E568 0003A3A8 7C 7F 1B 78 */ mr r31, r3
/* 8003E56C 0003A3AC 38 04 00 01 */ addi r0, r4, 0x1
/* 8003E570 0003A3B0 28 00 00 0D */ cmplwi r0, 0xd
/* 8003E574 0003A3B4 41 81 03 08 */ bgt lbl_8003E87C
/* 8003E578 0003A3B8 3C 80 80 43 */ lis r4, "@5032_80431598"@ha
/* 8003E57C 0003A3BC 54 00 10 3A */ slwi r0, r0, 2
/* 8003E580 0003A3C0 38 84 15 98 */ addi r4, r4, "@5032_80431598"@l
/* 8003E584 0003A3C4 7C 84 00 2E */ lwzx r4, r4, r0
/* 8003E588 0003A3C8 7C 89 03 A6 */ mtctr r4
/* 8003E58C 0003A3CC 4E 80 04 20 */ bctr
.global lbl_8003E590
lbl_8003E590:
/* 8003E590 0003A3D0 2C 1E 00 00 */ cmpwi r30, 0x0
/* 8003E594 0003A3D4 41 82 02 E8 */ beq lbl_8003E87C
/* 8003E598 0003A3D8 7F CC F3 78 */ mr r12, r30
/* 8003E59C 0003A3DC 7F A4 EB 78 */ mr r4, r29
/* 8003E5A0 0003A3E0 38 60 00 00 */ li r3, 0x0
/* 8003E5A4 0003A3E4 7D 89 03 A6 */ mtctr r12
/* 8003E5A8 0003A3E8 4E 80 04 21 */ bctrl
/* 8003E5AC 0003A3EC 48 00 02 D0 */ b lbl_8003E87C
.global lbl_8003E5B0
lbl_8003E5B0:
/* 8003E5B0 0003A3F0 80 0D E6 50 */ lwz r0, Canceling@sda21(r13)
/* 8003E5B4 0003A3F4 2C 00 00 00 */ cmpwi r0, 0x0
/* 8003E5B8 0003A3F8 41 82 00 10 */ beq lbl_8003E5C8
/* 8003E5BC 0003A3FC 4B FE 32 A5 */ bl OSRestoreInterrupts
/* 8003E5C0 0003A400 38 60 00 00 */ li r3, 0x0
/* 8003E5C4 0003A404 48 00 02 C4 */ b lbl_8003E888
.global lbl_8003E5C8
lbl_8003E5C8:
/* 8003E5C8 0003A408 38 00 00 01 */ li r0, 0x1
/* 8003E5CC 0003A40C 90 0D E6 50 */ stw r0, Canceling@sda21(r13)
/* 8003E5D0 0003A410 93 CD E6 C0 */ stw r30, CancelCallback@sda21(r13)
/* 8003E5D4 0003A414 80 1D 00 08 */ lwz r0, 0x8(r29)
/* 8003E5D8 0003A418 28 00 00 04 */ cmplwi r0, 0x4
/* 8003E5DC 0003A41C 41 82 00 2C */ beq lbl_8003E608
/* 8003E5E0 0003A420 28 00 00 21 */ cmplwi r0, 0x21
/* 8003E5E4 0003A424 41 82 00 24 */ beq lbl_8003E608
/* 8003E5E8 0003A428 28 00 00 22 */ cmplwi r0, 0x22
/* 8003E5EC 0003A42C 41 82 00 1C */ beq lbl_8003E608
/* 8003E5F0 0003A430 28 00 00 29 */ cmplwi r0, 0x29
/* 8003E5F4 0003A434 41 82 00 14 */ beq lbl_8003E608
/* 8003E5F8 0003A438 28 00 00 2A */ cmplwi r0, 0x2a
/* 8003E5FC 0003A43C 41 82 00 0C */ beq lbl_8003E608
/* 8003E600 0003A440 28 00 00 01 */ cmplwi r0, 0x1
/* 8003E604 0003A444 40 82 02 78 */ bne lbl_8003E87C
.global lbl_8003E608
lbl_8003E608:
/* 8003E608 0003A448 38 00 00 01 */ li r0, 0x1
/* 8003E60C 0003A44C 90 0D E6 60 */ stw r0, Breaking@sda21(r13)
/* 8003E610 0003A450 48 00 02 6C */ b lbl_8003E87C
.global lbl_8003E614
lbl_8003E614:
/* 8003E614 0003A454 7F A3 EB 78 */ mr r3, r29
/* 8003E618 0003A458 48 00 0C 59 */ bl __DVDDequeueWaitingQueue
/* 8003E61C 0003A45C 81 9D 00 28 */ lwz r12, 0x28(r29)
/* 8003E620 0003A460 38 00 00 0A */ li r0, 0xa
/* 8003E624 0003A464 90 1D 00 0C */ stw r0, 0xc(r29)
/* 8003E628 0003A468 2C 0C 00 00 */ cmpwi r12, 0x0
/* 8003E62C 0003A46C 41 82 00 14 */ beq lbl_8003E640
/* 8003E630 0003A470 7F A4 EB 78 */ mr r4, r29
/* 8003E634 0003A474 38 60 FF FD */ li r3, -0x3
/* 8003E638 0003A478 7D 89 03 A6 */ mtctr r12
/* 8003E63C 0003A47C 4E 80 04 21 */ bctrl
.global lbl_8003E640
lbl_8003E640:
/* 8003E640 0003A480 2C 1E 00 00 */ cmpwi r30, 0x0
/* 8003E644 0003A484 41 82 02 38 */ beq lbl_8003E87C
/* 8003E648 0003A488 7F CC F3 78 */ mr r12, r30
/* 8003E64C 0003A48C 7F A4 EB 78 */ mr r4, r29
/* 8003E650 0003A490 38 60 00 00 */ li r3, 0x0
/* 8003E654 0003A494 7D 89 03 A6 */ mtctr r12
/* 8003E658 0003A498 4E 80 04 21 */ bctrl
/* 8003E65C 0003A49C 48 00 02 20 */ b lbl_8003E87C
.global lbl_8003E660
lbl_8003E660:
/* 8003E660 0003A4A0 80 1D 00 08 */ lwz r0, 0x8(r29)
/* 8003E664 0003A4A4 28 00 00 2A */ cmplwi r0, 0x2a
/* 8003E668 0003A4A8 41 81 00 9C */ bgt lbl_8003E704
/* 8003E66C 0003A4AC 3C 60 80 43 */ lis r3, "@5033_804314EC"@ha
/* 8003E670 0003A4B0 54 00 10 3A */ slwi r0, r0, 2
/* 8003E674 0003A4B4 38 63 14 EC */ addi r3, r3, "@5033_804314EC"@l
/* 8003E678 0003A4B8 7C 63 00 2E */ lwzx r3, r3, r0
/* 8003E67C 0003A4BC 7C 69 03 A6 */ mtctr r3
/* 8003E680 0003A4C0 4E 80 04 20 */ bctr
.global lbl_8003E684
lbl_8003E684:
/* 8003E684 0003A4C4 2C 1E 00 00 */ cmpwi r30, 0x0
/* 8003E688 0003A4C8 41 82 01 F4 */ beq lbl_8003E87C
/* 8003E68C 0003A4CC 7F CC F3 78 */ mr r12, r30
/* 8003E690 0003A4D0 7F A4 EB 78 */ mr r4, r29
/* 8003E694 0003A4D4 38 60 00 00 */ li r3, 0x0
/* 8003E698 0003A4D8 7D 89 03 A6 */ mtctr r12
/* 8003E69C 0003A4DC 4E 80 04 21 */ bctrl
/* 8003E6A0 0003A4E0 48 00 01 DC */ b lbl_8003E87C
.global lbl_8003E6A4
lbl_8003E6A4:
/* 8003E6A4 0003A4E4 80 0D E3 58 */ lwz r0, __OSInIPL@sda21(r13)
/* 8003E6A8 0003A4E8 2C 00 00 00 */ cmpwi r0, 0x0
/* 8003E6AC 0003A4EC 41 82 00 58 */ beq lbl_8003E704
/* 8003E6B0 0003A4F0 3C 60 80 4A */ lis r3, DummyCommandBlock@ha
/* 8003E6B4 0003A4F4 38 00 00 0A */ li r0, 0xa
/* 8003E6B8 0003A4F8 38 63 F9 20 */ addi r3, r3, DummyCommandBlock@l
/* 8003E6BC 0003A4FC 90 6D E6 D0 */ stw r3, executing@sda21(r13)
/* 8003E6C0 0003A500 81 9D 00 28 */ lwz r12, 0x28(r29)
/* 8003E6C4 0003A504 90 1D 00 0C */ stw r0, 0xc(r29)
/* 8003E6C8 0003A508 2C 0C 00 00 */ cmpwi r12, 0x0
/* 8003E6CC 0003A50C 41 82 00 14 */ beq lbl_8003E6E0
/* 8003E6D0 0003A510 7F A4 EB 78 */ mr r4, r29
/* 8003E6D4 0003A514 38 60 FF FD */ li r3, -0x3
/* 8003E6D8 0003A518 7D 89 03 A6 */ mtctr r12
/* 8003E6DC 0003A51C 4E 80 04 21 */ bctrl
.global lbl_8003E6E0
lbl_8003E6E0:
/* 8003E6E0 0003A520 2C 1E 00 00 */ cmpwi r30, 0x0
/* 8003E6E4 0003A524 41 82 00 18 */ beq lbl_8003E6FC
/* 8003E6E8 0003A528 7F CC F3 78 */ mr r12, r30
/* 8003E6EC 0003A52C 7F A4 EB 78 */ mr r4, r29
/* 8003E6F0 0003A530 38 60 00 00 */ li r3, 0x0
/* 8003E6F4 0003A534 7D 89 03 A6 */ mtctr r12
/* 8003E6F8 0003A538 4E 80 04 21 */ bctrl
.global lbl_8003E6FC
lbl_8003E6FC:
/* 8003E6FC 0003A53C 4B FF E7 F5 */ bl stateReady
/* 8003E700 0003A540 48 00 01 7C */ b lbl_8003E87C
.global lbl_8003E704
lbl_8003E704:
/* 8003E704 0003A544 80 0D E6 50 */ lwz r0, Canceling@sda21(r13)
/* 8003E708 0003A548 2C 00 00 00 */ cmpwi r0, 0x0
/* 8003E70C 0003A54C 41 82 00 14 */ beq lbl_8003E720
/* 8003E710 0003A550 7F E3 FB 78 */ mr r3, r31
/* 8003E714 0003A554 4B FE 31 4D */ bl OSRestoreInterrupts
/* 8003E718 0003A558 38 60 00 00 */ li r3, 0x0
/* 8003E71C 0003A55C 48 00 01 6C */ b lbl_8003E888
.global lbl_8003E720
lbl_8003E720:
/* 8003E720 0003A560 38 00 00 01 */ li r0, 0x1
/* 8003E724 0003A564 90 0D E6 50 */ stw r0, Canceling@sda21(r13)
/* 8003E728 0003A568 93 CD E6 C0 */ stw r30, CancelCallback@sda21(r13)
/* 8003E72C 0003A56C 48 00 01 50 */ b lbl_8003E87C
.global lbl_8003E730
lbl_8003E730:
/* 8003E730 0003A570 80 0D E6 68 */ lwz r0, WaitingForCoverClose@sda21(r13)
/* 8003E734 0003A574 2C 00 00 00 */ cmpwi r0, 0x0
/* 8003E738 0003A578 40 82 00 1C */ bne lbl_8003E754
/* 8003E73C 0003A57C 80 0D E6 64 */ lwz r0, WaitingForCoverOpen@sda21(r13)
/* 8003E740 0003A580 2C 00 00 00 */ cmpwi r0, 0x0
/* 8003E744 0003A584 40 82 00 10 */ bne lbl_8003E754
/* 8003E748 0003A588 4B FE 31 19 */ bl OSRestoreInterrupts
/* 8003E74C 0003A58C 38 60 00 00 */ li r3, 0x0
/* 8003E750 0003A590 48 00 01 38 */ b lbl_8003E888
.global lbl_8003E754
lbl_8003E754:
/* 8003E754 0003A594 80 0D E6 64 */ lwz r0, WaitingForCoverOpen@sda21(r13)
/* 8003E758 0003A598 2C 00 00 00 */ cmpwi r0, 0x0
/* 8003E75C 0003A59C 41 82 00 18 */ beq lbl_8003E774
/* 8003E760 0003A5A0 3C 60 80 4A */ lis r3, CoverAlarm@ha
/* 8003E764 0003A5A4 38 63 F9 80 */ addi r3, r3, CoverAlarm@l
/* 8003E768 0003A5A8 4B FD D3 F9 */ bl OSCancelAlarm
/* 8003E76C 0003A5AC 38 00 00 00 */ li r0, 0x0
/* 8003E770 0003A5B0 90 0D E6 64 */ stw r0, WaitingForCoverOpen@sda21(r13)
.global lbl_8003E774
lbl_8003E774:
/* 8003E774 0003A5B4 80 1D 00 0C */ lwz r0, 0xc(r29)
/* 8003E778 0003A5B8 2C 00 00 04 */ cmpwi r0, 0x4
/* 8003E77C 0003A5BC 40 82 00 0C */ bne lbl_8003E788
/* 8003E780 0003A5C0 38 00 00 03 */ li r0, 0x3
/* 8003E784 0003A5C4 90 0D E6 54 */ stw r0, ResumeFromHere@sda21(r13)
.global lbl_8003E788
lbl_8003E788:
/* 8003E788 0003A5C8 80 1D 00 0C */ lwz r0, 0xc(r29)
/* 8003E78C 0003A5CC 2C 00 00 05 */ cmpwi r0, 0x5
/* 8003E790 0003A5D0 40 82 00 0C */ bne lbl_8003E79C
/* 8003E794 0003A5D4 38 00 00 04 */ li r0, 0x4
/* 8003E798 0003A5D8 90 0D E6 54 */ stw r0, ResumeFromHere@sda21(r13)
.global lbl_8003E79C
lbl_8003E79C:
/* 8003E79C 0003A5DC 80 1D 00 0C */ lwz r0, 0xc(r29)
/* 8003E7A0 0003A5E0 2C 00 00 06 */ cmpwi r0, 0x6
/* 8003E7A4 0003A5E4 40 82 00 0C */ bne lbl_8003E7B0
/* 8003E7A8 0003A5E8 38 00 00 01 */ li r0, 0x1
/* 8003E7AC 0003A5EC 90 0D E6 54 */ stw r0, ResumeFromHere@sda21(r13)
.global lbl_8003E7B0
lbl_8003E7B0:
/* 8003E7B0 0003A5F0 80 1D 00 0C */ lwz r0, 0xc(r29)
/* 8003E7B4 0003A5F4 2C 00 00 0B */ cmpwi r0, 0xb
/* 8003E7B8 0003A5F8 40 82 00 0C */ bne lbl_8003E7C4
/* 8003E7BC 0003A5FC 38 00 00 02 */ li r0, 0x2
/* 8003E7C0 0003A600 90 0D E6 54 */ stw r0, ResumeFromHere@sda21(r13)
.global lbl_8003E7C4
lbl_8003E7C4:
/* 8003E7C4 0003A604 80 1D 00 0C */ lwz r0, 0xc(r29)
/* 8003E7C8 0003A608 2C 00 00 07 */ cmpwi r0, 0x7
/* 8003E7CC 0003A60C 40 82 00 0C */ bne lbl_8003E7D8
/* 8003E7D0 0003A610 38 00 00 07 */ li r0, 0x7
/* 8003E7D4 0003A614 90 0D E6 54 */ stw r0, ResumeFromHere@sda21(r13)
.global lbl_8003E7D8
lbl_8003E7D8:
/* 8003E7D8 0003A618 3C 60 80 4A */ lis r3, DummyCommandBlock@ha
/* 8003E7DC 0003A61C 38 00 00 0A */ li r0, 0xa
/* 8003E7E0 0003A620 38 63 F9 20 */ addi r3, r3, DummyCommandBlock@l
/* 8003E7E4 0003A624 90 6D E6 D0 */ stw r3, executing@sda21(r13)
/* 8003E7E8 0003A628 81 9D 00 28 */ lwz r12, 0x28(r29)
/* 8003E7EC 0003A62C 90 1D 00 0C */ stw r0, 0xc(r29)
/* 8003E7F0 0003A630 2C 0C 00 00 */ cmpwi r12, 0x0
/* 8003E7F4 0003A634 41 82 00 14 */ beq lbl_8003E808
/* 8003E7F8 0003A638 7F A4 EB 78 */ mr r4, r29
/* 8003E7FC 0003A63C 38 60 FF FD */ li r3, -0x3
/* 8003E800 0003A640 7D 89 03 A6 */ mtctr r12
/* 8003E804 0003A644 4E 80 04 21 */ bctrl
.global lbl_8003E808
lbl_8003E808:
/* 8003E808 0003A648 2C 1E 00 00 */ cmpwi r30, 0x0
/* 8003E80C 0003A64C 41 82 00 18 */ beq lbl_8003E824
/* 8003E810 0003A650 7F CC F3 78 */ mr r12, r30
/* 8003E814 0003A654 7F A4 EB 78 */ mr r4, r29
/* 8003E818 0003A658 38 60 00 00 */ li r3, 0x0
/* 8003E81C 0003A65C 7D 89 03 A6 */ mtctr r12
/* 8003E820 0003A660 4E 80 04 21 */ bctrl
.global lbl_8003E824
lbl_8003E824:
/* 8003E824 0003A664 4B FF E6 CD */ bl stateReady
/* 8003E828 0003A668 48 00 00 54 */ b lbl_8003E87C
.global lbl_8003E82C
lbl_8003E82C:
/* 8003E82C 0003A66C 3C 60 80 4A */ lis r3, DummyCommandBlock@ha
/* 8003E830 0003A670 38 00 00 0A */ li r0, 0xa
/* 8003E834 0003A674 38 63 F9 20 */ addi r3, r3, DummyCommandBlock@l
/* 8003E838 0003A678 90 6D E6 D0 */ stw r3, executing@sda21(r13)
/* 8003E83C 0003A67C 81 9D 00 28 */ lwz r12, 0x28(r29)
/* 8003E840 0003A680 90 1D 00 0C */ stw r0, 0xc(r29)
/* 8003E844 0003A684 2C 0C 00 00 */ cmpwi r12, 0x0
/* 8003E848 0003A688 41 82 00 14 */ beq lbl_8003E85C
/* 8003E84C 0003A68C 7F A4 EB 78 */ mr r4, r29
/* 8003E850 0003A690 38 60 FF FD */ li r3, -0x3
/* 8003E854 0003A694 7D 89 03 A6 */ mtctr r12
/* 8003E858 0003A698 4E 80 04 21 */ bctrl
.global lbl_8003E85C
lbl_8003E85C:
/* 8003E85C 0003A69C 2C 1E 00 00 */ cmpwi r30, 0x0
/* 8003E860 0003A6A0 41 82 00 18 */ beq lbl_8003E878
/* 8003E864 0003A6A4 7F CC F3 78 */ mr r12, r30
/* 8003E868 0003A6A8 7F A4 EB 78 */ mr r4, r29
/* 8003E86C 0003A6AC 38 60 00 00 */ li r3, 0x0
/* 8003E870 0003A6B0 7D 89 03 A6 */ mtctr r12
/* 8003E874 0003A6B4 4E 80 04 21 */ bctrl
.global lbl_8003E878
lbl_8003E878:
/* 8003E878 0003A6B8 4B FF E6 79 */ bl stateReady
.global lbl_8003E87C
lbl_8003E87C:
/* 8003E87C 0003A6BC 7F E3 FB 78 */ mr r3, r31
/* 8003E880 0003A6C0 4B FE 2F E1 */ bl OSRestoreInterrupts
/* 8003E884 0003A6C4 38 60 00 01 */ li r3, 0x1
.global lbl_8003E888
lbl_8003E888:
/* 8003E888 0003A6C8 80 01 00 24 */ lwz r0, 0x24(r1)
/* 8003E88C 0003A6CC 83 E1 00 1C */ lwz r31, 0x1c(r1)
/* 8003E890 0003A6D0 83 C1 00 18 */ lwz r30, 0x18(r1)
/* 8003E894 0003A6D4 83 A1 00 14 */ lwz r29, 0x14(r1)
/* 8003E898 0003A6D8 7C 08 03 A6 */ mtlr r0
/* 8003E89C 0003A6DC 38 21 00 20 */ addi r1, r1, 0x20
/* 8003E8A0 0003A6E0 4E 80 00 20 */ blr
/* 8003E8A4 0003A6E4 00 00 00 00 */ .4byte 0x00000000
/* 8003E8A8 0003A6E8 00 00 00 00 */ .4byte 0x00000000
/* 8003E8AC 0003A6EC 00 00 00 00 */ .4byte 0x00000000
.global DVDCancel
DVDCancel:
/* 8003E8B0 0003A6F0 94 21 FF E0 */ stwu r1, -0x20(r1)
/* 8003E8B4 0003A6F4 7C 08 02 A6 */ mflr r0
/* 8003E8B8 0003A6F8 3C 80 80 04 */ lis r4, cbForCancelSync@ha
/* 8003E8BC 0003A6FC 90 01 00 24 */ stw r0, 0x24(r1)
/* 8003E8C0 0003A700 38 84 E9 70 */ addi r4, r4, cbForCancelSync@l
/* 8003E8C4 0003A704 93 E1 00 1C */ stw r31, 0x1c(r1)
/* 8003E8C8 0003A708 93 C1 00 18 */ stw r30, 0x18(r1)
/* 8003E8CC 0003A70C 93 A1 00 14 */ stw r29, 0x14(r1)
/* 8003E8D0 0003A710 7C 7D 1B 78 */ mr r29, r3
/* 8003E8D4 0003A714 4B FF FC 6D */ bl DVDCancelAsync
/* 8003E8D8 0003A718 2C 03 00 00 */ cmpwi r3, 0x0
/* 8003E8DC 0003A71C 40 82 00 0C */ bne lbl_8003E8E8
/* 8003E8E0 0003A720 38 60 FF FF */ li r3, -0x1
/* 8003E8E4 0003A724 48 00 00 70 */ b lbl_8003E954
.global lbl_8003E8E8
lbl_8003E8E8:
/* 8003E8E8 0003A728 4B FE 2F 39 */ bl OSDisableInterrupts
/* 8003E8EC 0003A72C 7C 7E 1B 78 */ mr r30, r3
/* 8003E8F0 0003A730 3F E0 80 43 */ lis r31, "@5040"@ha
.global lbl_8003E8F4
lbl_8003E8F4:
/* 8003E8F4 0003A734 80 1D 00 0C */ lwz r0, 0xc(r29)
/* 8003E8F8 0003A738 2C 00 00 00 */ cmpwi r0, 0x0
/* 8003E8FC 0003A73C 41 82 00 4C */ beq lbl_8003E948
/* 8003E900 0003A740 2C 00 FF FF */ cmpwi r0, -0x1
/* 8003E904 0003A744 41 82 00 44 */ beq lbl_8003E948
/* 8003E908 0003A748 2C 00 00 0A */ cmpwi r0, 0xa
/* 8003E90C 0003A74C 41 82 00 3C */ beq lbl_8003E948
/* 8003E910 0003A750 2C 00 00 03 */ cmpwi r0, 0x3
/* 8003E914 0003A754 40 82 00 28 */ bne lbl_8003E93C
/* 8003E918 0003A758 80 7D 00 08 */ lwz r3, 0x8(r29)
/* 8003E91C 0003A75C 38 03 FF FC */ addi r0, r3, -0x4
/* 8003E920 0003A760 28 00 00 26 */ cmplwi r0, 0x26
/* 8003E924 0003A764 41 81 00 18 */ bgt lbl_8003E93C
/* 8003E928 0003A768 38 7F 15 D0 */ addi r3, r31, "@5040"@l
/* 8003E92C 0003A76C 54 00 10 3A */ slwi r0, r0, 2
/* 8003E930 0003A770 7C 63 00 2E */ lwzx r3, r3, r0
/* 8003E934 0003A774 7C 69 03 A6 */ mtctr r3
/* 8003E938 0003A778 4E 80 04 20 */ bctr
.global lbl_8003E93C
lbl_8003E93C:
/* 8003E93C 0003A77C 38 6D E6 18 */ addi r3, r13, __DVDThreadQueue@sda21
/* 8003E940 0003A780 4B FE 6E D1 */ bl OSSleepThread
/* 8003E944 0003A784 4B FF FF B0 */ b lbl_8003E8F4
.global lbl_8003E948
lbl_8003E948:
/* 8003E948 0003A788 7F C3 F3 78 */ mr r3, r30
/* 8003E94C 0003A78C 4B FE 2F 15 */ bl OSRestoreInterrupts
/* 8003E950 0003A790 38 60 00 00 */ li r3, 0x0
.global lbl_8003E954
lbl_8003E954:
/* 8003E954 0003A794 80 01 00 24 */ lwz r0, 0x24(r1)
/* 8003E958 0003A798 83 E1 00 1C */ lwz r31, 0x1c(r1)
/* 8003E95C 0003A79C 83 C1 00 18 */ lwz r30, 0x18(r1)
/* 8003E960 0003A7A0 83 A1 00 14 */ lwz r29, 0x14(r1)
/* 8003E964 0003A7A4 7C 08 03 A6 */ mtlr r0
/* 8003E968 0003A7A8 38 21 00 20 */ addi r1, r1, 0x20
/* 8003E96C 0003A7AC 4E 80 00 20 */ blr
.global cbForCancelSync
cbForCancelSync:
/* 8003E970 0003A7B0 4B FF B7 C0 */ b cbForReadSync
/* 8003E974 0003A7B4 00 00 00 00 */ .4byte 0x00000000
/* 8003E978 0003A7B8 00 00 00 00 */ .4byte 0x00000000
/* 8003E97C 0003A7BC 00 00 00 00 */ .4byte 0x00000000
.global __BS2DVDLowCallback
__BS2DVDLowCallback:
/* 8003E980 0003A7C0 90 6D E6 80 */ stw r3, __BS2DVDLowIntType@sda21(r13)
/* 8003E984 0003A7C4 4E 80 00 20 */ blr
/* 8003E988 0003A7C8 00 00 00 00 */ .4byte 0x00000000
/* 8003E98C 0003A7CC 00 00 00 00 */ .4byte 0x00000000
.global __DVDGetCoverStatus
__DVDGetCoverStatus:
/* 8003E990 0003A7D0 94 21 FF F0 */ stwu r1, -0x10(r1)
/* 8003E994 0003A7D4 7C 08 02 A6 */ mflr r0
/* 8003E998 0003A7D8 3C 60 80 04 */ lis r3, __BS2DVDLowCallback@ha
/* 8003E99C 0003A7DC 90 01 00 14 */ stw r0, 0x14(r1)
/* 8003E9A0 0003A7E0 38 00 00 00 */ li r0, 0x0
/* 8003E9A4 0003A7E4 38 63 E9 80 */ addi r3, r3, __BS2DVDLowCallback@l
/* 8003E9A8 0003A7E8 93 E1 00 0C */ stw r31, 0xc(r1)
/* 8003E9AC 0003A7EC 90 0D E6 80 */ stw r0, __BS2DVDLowIntType@sda21(r13)
/* 8003E9B0 0003A7F0 48 00 38 E1 */ bl DVDLowPrepareCoverRegister
/* 8003E9B4 0003A7F4 60 00 00 00 */ nop
.global lbl_8003E9B8
lbl_8003E9B8:
/* 8003E9B8 0003A7F8 80 0D E6 80 */ lwz r0, __BS2DVDLowIntType@sda21(r13)
/* 8003E9BC 0003A7FC 2C 00 00 00 */ cmpwi r0, 0x0
/* 8003E9C0 0003A800 41 82 FF F8 */ beq lbl_8003E9B8
/* 8003E9C4 0003A804 80 0D E6 80 */ lwz r0, __BS2DVDLowIntType@sda21(r13)
/* 8003E9C8 0003A808 54 00 07 FF */ clrlwi. r0, r0, 31
/* 8003E9CC 0003A80C 40 82 00 0C */ bne lbl_8003E9D8
/* 8003E9D0 0003A810 38 60 00 00 */ li r3, 0x0
/* 8003E9D4 0003A814 48 00 00 74 */ b lbl_8003EA48
.global lbl_8003E9D8
lbl_8003E9D8:
/* 8003E9D8 0003A818 48 00 38 89 */ bl DVDLowGetCoverRegister
/* 8003E9DC 0003A81C 7C 7F 1B 78 */ mr r31, r3
/* 8003E9E0 0003A820 4B FE 71 91 */ bl __OSGetSystemTime
/* 8003E9E4 0003A824 3C C0 80 00 */ lis r6, 0x800000F8@ha
/* 8003E9E8 0003A828 3C A0 10 62 */ lis r5, 0x1062
/* 8003E9EC 0003A82C 80 C6 00 F8 */ lwz r6, 0x800000F8@l(r6)
/* 8003E9F0 0003A830 38 E5 4D D3 */ addi r7, r5, 0x4dd3
/* 8003E9F4 0003A834 81 0D E6 A8 */ lwz r8, LastResetEnd@sda21(r13)
/* 8003E9F8 0003A838 38 00 00 00 */ li r0, 0x0
/* 8003E9FC 0003A83C 54 C5 F0 BE */ srwi r5, r6, 2
/* 8003EA00 0003A840 81 2D E6 AC */ lwz r9, lbl_8055CACC@sda21(r13)
/* 8003EA04 0003A844 7C C7 28 16 */ mulhwu r6, r7, r5
/* 8003EA08 0003A848 7C 89 20 10 */ subfc r4, r9, r4
/* 8003EA0C 0003A84C 6C 05 80 00 */ xoris r5, r0, 0x8000
/* 8003EA10 0003A850 7C 08 19 10 */ subfe r0, r8, r3
/* 8003EA14 0003A854 6C 00 80 00 */ xoris r0, r0, 0x8000
/* 8003EA18 0003A858 54 C3 D1 BE */ srwi r3, r6, 6
/* 8003EA1C 0003A85C 1C 63 00 64 */ mulli r3, r3, 0x64
/* 8003EA20 0003A860 7C 63 20 10 */ subfc r3, r3, r4
/* 8003EA24 0003A864 7C A5 01 10 */ subfe r5, r5, r0
/* 8003EA28 0003A868 7C A0 01 10 */ subfe r5, r0, r0
/* 8003EA2C 0003A86C 7C A5 00 D1 */ neg. r5, r5
/* 8003EA30 0003A870 41 82 00 0C */ beq lbl_8003EA3C
/* 8003EA34 0003A874 38 60 00 00 */ li r3, 0x0
/* 8003EA38 0003A878 48 00 00 10 */ b lbl_8003EA48
.global lbl_8003EA3C
lbl_8003EA3C:
/* 8003EA3C 0003A87C 57 E0 07 FE */ clrlwi r0, r31, 31
/* 8003EA40 0003A880 7C 60 00 D0 */ neg r3, r0
/* 8003EA44 0003A884 38 63 00 02 */ addi r3, r3, 0x2
.global lbl_8003EA48
lbl_8003EA48:
/* 8003EA48 0003A888 80 01 00 14 */ lwz r0, 0x14(r1)
/* 8003EA4C 0003A88C 83 E1 00 0C */ lwz r31, 0xc(r1)
/* 8003EA50 0003A890 7C 08 03 A6 */ mtlr r0
/* 8003EA54 0003A894 38 21 00 10 */ addi r1, r1, 0x10
/* 8003EA58 0003A898 4E 80 00 20 */ blr
/* 8003EA5C 0003A89C 00 00 00 00 */ .4byte 0x00000000
.global DVDCheckDiskAsync
DVDCheckDiskAsync:
/* 8003EA60 0003A8A0 94 21 FF E0 */ stwu r1, -0x20(r1)
/* 8003EA64 0003A8A4 7C 08 02 A6 */ mflr r0
/* 8003EA68 0003A8A8 90 01 00 24 */ stw r0, 0x24(r1)
/* 8003EA6C 0003A8AC 93 E1 00 1C */ stw r31, 0x1c(r1)
/* 8003EA70 0003A8B0 7C 7F 1B 78 */ mr r31, r3
/* 8003EA74 0003A8B4 93 C1 00 18 */ stw r30, 0x18(r1)
/* 8003EA78 0003A8B8 93 A1 00 14 */ stw r29, 0x14(r1)
/* 8003EA7C 0003A8BC 93 81 00 10 */ stw r28, 0x10(r1)
/* 8003EA80 0003A8C0 7C 9C 23 78 */ mr r28, r4
/* 8003EA84 0003A8C4 4B FE 2D 9D */ bl OSDisableInterrupts
/* 8003EA88 0003A8C8 80 0D E6 4C */ lwz r0, FatalErrorFlag@sda21(r13)
/* 8003EA8C 0003A8CC 7C 7E 1B 78 */ mr r30, r3
/* 8003EA90 0003A8D0 2C 00 00 00 */ cmpwi r0, 0x0
/* 8003EA94 0003A8D4 41 82 00 0C */ beq lbl_8003EAA0
/* 8003EA98 0003A8D8 38 60 FF FF */ li r3, -0x1
/* 8003EA9C 0003A8DC 48 00 00 B8 */ b lbl_8003EB54
.global lbl_8003EAA0
lbl_8003EAA0:
/* 8003EAA0 0003A8E0 80 0D E6 48 */ lwz r0, PausingFlag@sda21(r13)
/* 8003EAA4 0003A8E4 2C 00 00 00 */ cmpwi r0, 0x0
/* 8003EAA8 0003A8E8 41 82 00 0C */ beq lbl_8003EAB4
/* 8003EAAC 0003A8EC 38 60 00 08 */ li r3, 0x8
/* 8003EAB0 0003A8F0 48 00 00 A4 */ b lbl_8003EB54
.global lbl_8003EAB4
lbl_8003EAB4:
/* 8003EAB4 0003A8F4 80 0D E6 64 */ lwz r0, WaitingForCoverOpen@sda21(r13)
/* 8003EAB8 0003A8F8 80 0D E6 68 */ lwz r0, WaitingForCoverClose@sda21(r13)
/* 8003EABC 0003A8FC 2C 00 00 00 */ cmpwi r0, 0x0
/* 8003EAC0 0003A900 41 82 00 0C */ beq lbl_8003EACC
/* 8003EAC4 0003A904 38 60 00 05 */ li r3, 0x5
/* 8003EAC8 0003A908 48 00 00 8C */ b lbl_8003EB54
.global lbl_8003EACC
lbl_8003EACC:
/* 8003EACC 0003A90C 80 8D E6 D0 */ lwz r4, executing@sda21(r13)
/* 8003EAD0 0003A910 2C 04 00 00 */ cmpwi r4, 0x0
/* 8003EAD4 0003A914 40 82 00 64 */ bne lbl_8003EB38
/* 8003EAD8 0003A918 80 0D E6 54 */ lwz r0, ResumeFromHere@sda21(r13)
/* 8003EADC 0003A91C 28 00 00 03 */ cmplwi r0, 0x3
/* 8003EAE0 0003A920 41 82 00 28 */ beq lbl_8003EB08
/* 8003EAE4 0003A924 28 00 00 04 */ cmplwi r0, 0x4
/* 8003EAE8 0003A928 41 82 00 28 */ beq lbl_8003EB10
/* 8003EAEC 0003A92C 28 00 00 01 */ cmplwi r0, 0x1
/* 8003EAF0 0003A930 41 82 00 28 */ beq lbl_8003EB18
/* 8003EAF4 0003A934 28 00 00 02 */ cmplwi r0, 0x2
/* 8003EAF8 0003A938 41 82 00 28 */ beq lbl_8003EB20
/* 8003EAFC 0003A93C 28 00 00 07 */ cmplwi r0, 0x7
/* 8003EB00 0003A940 41 82 00 28 */ beq lbl_8003EB28
/* 8003EB04 0003A944 48 00 00 2C */ b lbl_8003EB30
.global lbl_8003EB08
lbl_8003EB08:
/* 8003EB08 0003A948 38 60 00 04 */ li r3, 0x4
/* 8003EB0C 0003A94C 48 00 00 48 */ b lbl_8003EB54
.global lbl_8003EB10
lbl_8003EB10:
/* 8003EB10 0003A950 38 60 00 05 */ li r3, 0x5
/* 8003EB14 0003A954 48 00 00 40 */ b lbl_8003EB54
.global lbl_8003EB18
lbl_8003EB18:
/* 8003EB18 0003A958 38 60 00 06 */ li r3, 0x6
/* 8003EB1C 0003A95C 48 00 00 38 */ b lbl_8003EB54
.global lbl_8003EB20
lbl_8003EB20:
/* 8003EB20 0003A960 38 60 00 0B */ li r3, 0xb
/* 8003EB24 0003A964 48 00 00 30 */ b lbl_8003EB54
.global lbl_8003EB28
lbl_8003EB28:
/* 8003EB28 0003A968 38 60 00 07 */ li r3, 0x7
/* 8003EB2C 0003A96C 48 00 00 28 */ b lbl_8003EB54
.global lbl_8003EB30
lbl_8003EB30:
/* 8003EB30 0003A970 38 60 00 00 */ li r3, 0x0
/* 8003EB34 0003A974 48 00 00 20 */ b lbl_8003EB54
.global lbl_8003EB38
lbl_8003EB38:
/* 8003EB38 0003A978 3C 60 80 4A */ lis r3, DummyCommandBlock@ha
/* 8003EB3C 0003A97C 38 63 F9 20 */ addi r3, r3, DummyCommandBlock@l
/* 8003EB40 0003A980 7C 04 18 40 */ cmplw r4, r3
/* 8003EB44 0003A984 40 82 00 0C */ bne lbl_8003EB50
/* 8003EB48 0003A988 38 60 00 00 */ li r3, 0x0
/* 8003EB4C 0003A98C 48 00 00 08 */ b lbl_8003EB54
.global lbl_8003EB50
lbl_8003EB50:
/* 8003EB50 0003A990 80 64 00 0C */ lwz r3, 0xc(r4)
.global lbl_8003EB54
lbl_8003EB54:
/* 8003EB54 0003A994 38 03 00 01 */ addi r0, r3, 0x1
/* 8003EB58 0003A998 3B A0 00 01 */ li r29, 0x1
/* 8003EB5C 0003A99C 28 00 00 0D */ cmplwi r0, 0xd
/* 8003EB60 0003A9A0 41 81 01 14 */ bgt lbl_8003EC74
/* 8003EB64 0003A9A4 3C 60 80 43 */ lis r3, "@5139"@ha
/* 8003EB68 0003A9A8 54 00 10 3A */ slwi r0, r0, 2
/* 8003EB6C 0003A9AC 38 63 16 6C */ addi r3, r3, "@5139"@l
/* 8003EB70 0003A9B0 7C 63 00 2E */ lwzx r3, r3, r0
/* 8003EB74 0003A9B4 7C 69 03 A6 */ mtctr r3
/* 8003EB78 0003A9B8 4E 80 04 20 */ bctr
.global lbl_8003EB7C
lbl_8003EB7C:
/* 8003EB7C 0003A9BC 2C 1C 00 00 */ cmpwi r28, 0x0
/* 8003EB80 0003A9C0 38 00 00 00 */ li r0, 0x0
/* 8003EB84 0003A9C4 90 1F 00 0C */ stw r0, 0xc(r31)
/* 8003EB88 0003A9C8 41 82 00 18 */ beq lbl_8003EBA0
/* 8003EB8C 0003A9CC 7F 8C E3 78 */ mr r12, r28
/* 8003EB90 0003A9D0 7F E4 FB 78 */ mr r4, r31
/* 8003EB94 0003A9D4 38 60 00 01 */ li r3, 0x1
/* 8003EB98 0003A9D8 7D 89 03 A6 */ mtctr r12
/* 8003EB9C 0003A9DC 4E 80 04 21 */ bctrl
.global lbl_8003EBA0
lbl_8003EBA0:
/* 8003EBA0 0003A9E0 7F C3 F3 78 */ mr r3, r30
/* 8003EBA4 0003A9E4 4B FE 2C BD */ bl OSRestoreInterrupts
/* 8003EBA8 0003A9E8 48 00 00 CC */ b lbl_8003EC74
.global lbl_8003EBAC
lbl_8003EBAC:
/* 8003EBAC 0003A9EC 2C 1C 00 00 */ cmpwi r28, 0x0
/* 8003EBB0 0003A9F0 38 00 00 00 */ li r0, 0x0
/* 8003EBB4 0003A9F4 90 1F 00 0C */ stw r0, 0xc(r31)
/* 8003EBB8 0003A9F8 41 82 00 18 */ beq lbl_8003EBD0
/* 8003EBBC 0003A9FC 7F 8C E3 78 */ mr r12, r28
/* 8003EBC0 0003AA00 7F E4 FB 78 */ mr r4, r31
/* 8003EBC4 0003AA04 38 60 00 00 */ li r3, 0x0
/* 8003EBC8 0003AA08 7D 89 03 A6 */ mtctr r12
/* 8003EBCC 0003AA0C 4E 80 04 21 */ bctrl
.global lbl_8003EBD0
lbl_8003EBD0:
/* 8003EBD0 0003AA10 7F C3 F3 78 */ mr r3, r30
/* 8003EBD4 0003AA14 4B FE 2C 8D */ bl OSRestoreInterrupts
/* 8003EBD8 0003AA18 48 00 00 9C */ b lbl_8003EC74
.global lbl_8003EBDC
lbl_8003EBDC:
/* 8003EBDC 0003AA1C 7F C3 F3 78 */ mr r3, r30
/* 8003EBE0 0003AA20 4B FE 2C 81 */ bl OSRestoreInterrupts
/* 8003EBE4 0003AA24 38 60 00 24 */ li r3, 0x24
/* 8003EBE8 0003AA28 90 7F 00 08 */ stw r3, 0x8(r31)
/* 8003EBEC 0003AA2C 93 9F 00 28 */ stw r28, 0x28(r31)
/* 8003EBF0 0003AA30 80 0D 81 BC */ lwz r0, autoInvalidation@sda21(r13)
/* 8003EBF4 0003AA34 2C 00 00 00 */ cmpwi r0, 0x0
/* 8003EBF8 0003AA38 41 82 00 38 */ beq lbl_8003EC30
/* 8003EBFC 0003AA3C 28 03 00 01 */ cmplwi r3, 0x1
/* 8003EC00 0003AA40 41 82 00 24 */ beq lbl_8003EC24
/* 8003EC04 0003AA44 28 03 00 04 */ cmplwi r3, 0x4
/* 8003EC08 0003AA48 41 82 00 1C */ beq lbl_8003EC24
/* 8003EC0C 0003AA4C 28 03 00 05 */ cmplwi r3, 0x5
/* 8003EC10 0003AA50 41 82 00 14 */ beq lbl_8003EC24
/* 8003EC14 0003AA54 28 03 00 21 */ cmplwi r3, 0x21
/* 8003EC18 0003AA58 41 82 00 0C */ beq lbl_8003EC24
/* 8003EC1C 0003AA5C 28 03 00 0E */ cmplwi r3, 0xe
/* 8003EC20 0003AA60 40 82 00 10 */ bne lbl_8003EC30
.global lbl_8003EC24
lbl_8003EC24:
/* 8003EC24 0003AA64 80 7F 00 18 */ lwz r3, 0x18(r31)
/* 8003EC28 0003AA68 80 9F 00 14 */ lwz r4, 0x14(r31)
/* 8003EC2C 0003AA6C 4B FD DD 25 */ bl DCInvalidateRange
.global lbl_8003EC30
lbl_8003EC30:
/* 8003EC30 0003AA70 4B FE 2B F1 */ bl OSDisableInterrupts
/* 8003EC34 0003AA74 38 00 00 02 */ li r0, 0x2
/* 8003EC38 0003AA78 90 1F 00 0C */ stw r0, 0xc(r31)
/* 8003EC3C 0003AA7C 7C 7E 1B 78 */ mr r30, r3
/* 8003EC40 0003AA80 7F E4 FB 78 */ mr r4, r31
/* 8003EC44 0003AA84 38 60 00 02 */ li r3, 0x2
/* 8003EC48 0003AA88 48 00 04 49 */ bl __DVDPushWaitingQueue
/* 8003EC4C 0003AA8C 80 0D E6 D0 */ lwz r0, executing@sda21(r13)
/* 8003EC50 0003AA90 7C 7D 1B 78 */ mr r29, r3
/* 8003EC54 0003AA94 2C 00 00 00 */ cmpwi r0, 0x0
/* 8003EC58 0003AA98 40 82 00 14 */ bne lbl_8003EC6C
/* 8003EC5C 0003AA9C 80 0D E6 44 */ lwz r0, PauseFlag@sda21(r13)
/* 8003EC60 0003AAA0 2C 00 00 00 */ cmpwi r0, 0x0
/* 8003EC64 0003AAA4 40 82 00 08 */ bne lbl_8003EC6C
/* 8003EC68 0003AAA8 4B FF E2 89 */ bl stateReady
.global lbl_8003EC6C
lbl_8003EC6C:
/* 8003EC6C 0003AAAC 7F C3 F3 78 */ mr r3, r30
/* 8003EC70 0003AAB0 4B FE 2B F1 */ bl OSRestoreInterrupts
.global lbl_8003EC74
lbl_8003EC74:
/* 8003EC74 0003AAB4 83 E1 00 1C */ lwz r31, 0x1c(r1)
/* 8003EC78 0003AAB8 7F A3 EB 78 */ mr r3, r29
/* 8003EC7C 0003AABC 83 C1 00 18 */ lwz r30, 0x18(r1)
/* 8003EC80 0003AAC0 83 A1 00 14 */ lwz r29, 0x14(r1)
/* 8003EC84 0003AAC4 83 81 00 10 */ lwz r28, 0x10(r1)
/* 8003EC88 0003AAC8 80 01 00 24 */ lwz r0, 0x24(r1)
/* 8003EC8C 0003AACC 7C 08 03 A6 */ mtlr r0
/* 8003EC90 0003AAD0 38 21 00 20 */ addi r1, r1, 0x20
/* 8003EC94 0003AAD4 4E 80 00 20 */ blr
/* 8003EC98 0003AAD8 00 00 00 00 */ .4byte 0x00000000
/* 8003EC9C 0003AADC 00 00 00 00 */ .4byte 0x00000000
.global DVDIsDiskIdentified
DVDIsDiskIdentified:
/* 8003ECA0 0003AAE0 94 21 FF F0 */ stwu r1, -0x10(r1)
/* 8003ECA4 0003AAE4 7C 08 02 A6 */ mflr r0
/* 8003ECA8 0003AAE8 90 01 00 14 */ stw r0, 0x14(r1)
/* 8003ECAC 0003AAEC 93 E1 00 0C */ stw r31, 0xc(r1)
/* 8003ECB0 0003AAF0 4B FE 2B 71 */ bl OSDisableInterrupts
/* 8003ECB4 0003AAF4 80 0D E6 4C */ lwz r0, FatalErrorFlag@sda21(r13)
/* 8003ECB8 0003AAF8 2C 00 00 00 */ cmpwi r0, 0x0
/* 8003ECBC 0003AAFC 41 82 00 0C */ beq lbl_8003ECC8
/* 8003ECC0 0003AB00 38 80 FF FF */ li r4, -0x1
/* 8003ECC4 0003AB04 48 00 00 B8 */ b lbl_8003ED7C
.global lbl_8003ECC8
lbl_8003ECC8:
/* 8003ECC8 0003AB08 80 0D E6 48 */ lwz r0, PausingFlag@sda21(r13)
/* 8003ECCC 0003AB0C 2C 00 00 00 */ cmpwi r0, 0x0
/* 8003ECD0 0003AB10 41 82 00 0C */ beq lbl_8003ECDC
/* 8003ECD4 0003AB14 38 80 00 08 */ li r4, 0x8
/* 8003ECD8 0003AB18 48 00 00 A4 */ b lbl_8003ED7C
.global lbl_8003ECDC
lbl_8003ECDC:
/* 8003ECDC 0003AB1C 80 0D E6 64 */ lwz r0, WaitingForCoverOpen@sda21(r13)
/* 8003ECE0 0003AB20 80 0D E6 68 */ lwz r0, WaitingForCoverClose@sda21(r13)
/* 8003ECE4 0003AB24 2C 00 00 00 */ cmpwi r0, 0x0
/* 8003ECE8 0003AB28 41 82 00 0C */ beq lbl_8003ECF4
/* 8003ECEC 0003AB2C 38 80 00 05 */ li r4, 0x5
/* 8003ECF0 0003AB30 48 00 00 8C */ b lbl_8003ED7C
.global lbl_8003ECF4
lbl_8003ECF4:
/* 8003ECF4 0003AB34 80 AD E6 D0 */ lwz r5, executing@sda21(r13)
/* 8003ECF8 0003AB38 2C 05 00 00 */ cmpwi r5, 0x0
/* 8003ECFC 0003AB3C 40 82 00 64 */ bne lbl_8003ED60
/* 8003ED00 0003AB40 80 0D E6 54 */ lwz r0, ResumeFromHere@sda21(r13)
/* 8003ED04 0003AB44 28 00 00 03 */ cmplwi r0, 0x3
/* 8003ED08 0003AB48 41 82 00 28 */ beq lbl_8003ED30
/* 8003ED0C 0003AB4C 28 00 00 04 */ cmplwi r0, 0x4
/* 8003ED10 0003AB50 41 82 00 28 */ beq lbl_8003ED38
/* 8003ED14 0003AB54 28 00 00 01 */ cmplwi r0, 0x1
/* 8003ED18 0003AB58 41 82 00 28 */ beq lbl_8003ED40
/* 8003ED1C 0003AB5C 28 00 00 02 */ cmplwi r0, 0x2
/* 8003ED20 0003AB60 41 82 00 28 */ beq lbl_8003ED48
/* 8003ED24 0003AB64 28 00 00 07 */ cmplwi r0, 0x7
/* 8003ED28 0003AB68 41 82 00 28 */ beq lbl_8003ED50
/* 8003ED2C 0003AB6C 48 00 00 2C */ b lbl_8003ED58
.global lbl_8003ED30
lbl_8003ED30:
/* 8003ED30 0003AB70 38 80 00 04 */ li r4, 0x4
/* 8003ED34 0003AB74 48 00 00 48 */ b lbl_8003ED7C
.global lbl_8003ED38
lbl_8003ED38:
/* 8003ED38 0003AB78 38 80 00 05 */ li r4, 0x5
/* 8003ED3C 0003AB7C 48 00 00 40 */ b lbl_8003ED7C
.global lbl_8003ED40
lbl_8003ED40:
/* 8003ED40 0003AB80 38 80 00 06 */ li r4, 0x6
/* 8003ED44 0003AB84 48 00 00 38 */ b lbl_8003ED7C
.global lbl_8003ED48
lbl_8003ED48:
/* 8003ED48 0003AB88 38 80 00 0B */ li r4, 0xb
/* 8003ED4C 0003AB8C 48 00 00 30 */ b lbl_8003ED7C
.global lbl_8003ED50
lbl_8003ED50:
/* 8003ED50 0003AB90 38 80 00 07 */ li r4, 0x7
/* 8003ED54 0003AB94 48 00 00 28 */ b lbl_8003ED7C
.global lbl_8003ED58
lbl_8003ED58:
/* 8003ED58 0003AB98 38 80 00 00 */ li r4, 0x0
/* 8003ED5C 0003AB9C 48 00 00 20 */ b lbl_8003ED7C
.global lbl_8003ED60
lbl_8003ED60:
/* 8003ED60 0003ABA0 3C 80 80 4A */ lis r4, DummyCommandBlock@ha
/* 8003ED64 0003ABA4 38 84 F9 20 */ addi r4, r4, DummyCommandBlock@l
/* 8003ED68 0003ABA8 7C 05 20 40 */ cmplw r5, r4
/* 8003ED6C 0003ABAC 40 82 00 0C */ bne lbl_8003ED78
/* 8003ED70 0003ABB0 38 80 00 00 */ li r4, 0x0
/* 8003ED74 0003ABB4 48 00 00 08 */ b lbl_8003ED7C
.global lbl_8003ED78
lbl_8003ED78:
/* 8003ED78 0003ABB8 80 85 00 0C */ lwz r4, 0xc(r5)
.global lbl_8003ED7C
lbl_8003ED7C:
/* 8003ED7C 0003ABBC 28 04 00 02 */ cmplwi r4, 0x2
/* 8003ED80 0003ABC0 40 81 00 18 */ ble lbl_8003ED98
/* 8003ED84 0003ABC4 38 04 FF F8 */ addi r0, r4, -0x8
/* 8003ED88 0003ABC8 28 00 00 02 */ cmplwi r0, 0x2
/* 8003ED8C 0003ABCC 40 81 00 0C */ ble lbl_8003ED98
/* 8003ED90 0003ABD0 2C 04 00 0C */ cmpwi r4, 0xc
/* 8003ED94 0003ABD4 40 82 00 0C */ bne lbl_8003EDA0
.global lbl_8003ED98
lbl_8003ED98:
/* 8003ED98 0003ABD8 3B E0 00 01 */ li r31, 0x1
/* 8003ED9C 0003ABDC 48 00 00 08 */ b lbl_8003EDA4
.global lbl_8003EDA0
lbl_8003EDA0:
/* 8003EDA0 0003ABE0 3B E0 00 00 */ li r31, 0x0
.global lbl_8003EDA4
lbl_8003EDA4:
/* 8003EDA4 0003ABE4 4B FE 2A BD */ bl OSRestoreInterrupts
/* 8003EDA8 0003ABE8 7F E3 FB 78 */ mr r3, r31
/* 8003EDAC 0003ABEC 83 E1 00 0C */ lwz r31, 0xc(r1)
/* 8003EDB0 0003ABF0 80 01 00 14 */ lwz r0, 0x14(r1)
/* 8003EDB4 0003ABF4 7C 08 03 A6 */ mtlr r0
/* 8003EDB8 0003ABF8 38 21 00 10 */ addi r1, r1, 0x10
/* 8003EDBC 0003ABFC 4E 80 00 20 */ blr
.global __DVDPrepareResetAsync
__DVDPrepareResetAsync:
/* 8003EDC0 0003AC00 94 21 FF E0 */ stwu r1, -0x20(r1)
/* 8003EDC4 0003AC04 7C 08 02 A6 */ mflr r0
/* 8003EDC8 0003AC08 90 01 00 24 */ stw r0, 0x24(r1)
/* 8003EDCC 0003AC0C 93 E1 00 1C */ stw r31, 0x1c(r1)
/* 8003EDD0 0003AC10 7C 7F 1B 78 */ mr r31, r3
/* 8003EDD4 0003AC14 93 C1 00 18 */ stw r30, 0x18(r1)
/* 8003EDD8 0003AC18 93 A1 00 14 */ stw r29, 0x14(r1)
/* 8003EDDC 0003AC1C 4B FE 2A 45 */ bl OSDisableInterrupts
/* 8003EDE0 0003AC20 7C 7D 1B 78 */ mr r29, r3
/* 8003EDE4 0003AC24 48 00 02 6D */ bl __DVDClearWaitingQueue
/* 8003EDE8 0003AC28 80 0D E6 50 */ lwz r0, Canceling@sda21(r13)
/* 8003EDEC 0003AC2C 2C 00 00 00 */ cmpwi r0, 0x0
/* 8003EDF0 0003AC30 41 82 00 0C */ beq lbl_8003EDFC
/* 8003EDF4 0003AC34 93 ED E6 C0 */ stw r31, CancelCallback@sda21(r13)
/* 8003EDF8 0003AC38 48 00 00 C0 */ b lbl_8003EEB8
.global lbl_8003EDFC
lbl_8003EDFC:
/* 8003EDFC 0003AC3C 80 6D E6 D0 */ lwz r3, executing@sda21(r13)
/* 8003EE00 0003AC40 2C 03 00 00 */ cmpwi r3, 0x0
/* 8003EE04 0003AC44 41 82 00 0C */ beq lbl_8003EE10
/* 8003EE08 0003AC48 38 00 00 00 */ li r0, 0x0
/* 8003EE0C 0003AC4C 90 03 00 28 */ stw r0, 0x28(r3)
.global lbl_8003EE10
lbl_8003EE10:
/* 8003EE10 0003AC50 4B FE 2A 11 */ bl OSDisableInterrupts
/* 8003EE14 0003AC54 7C 7E 1B 78 */ mr r30, r3
/* 8003EE18 0003AC58 4B FE 2A 09 */ bl OSDisableInterrupts
/* 8003EE1C 0003AC5C 80 0D E6 D0 */ lwz r0, executing@sda21(r13)
/* 8003EE20 0003AC60 38 80 00 01 */ li r4, 0x1
/* 8003EE24 0003AC64 90 8D E6 44 */ stw r4, PauseFlag@sda21(r13)
/* 8003EE28 0003AC68 2C 00 00 00 */ cmpwi r0, 0x0
/* 8003EE2C 0003AC6C 40 82 00 08 */ bne lbl_8003EE34
/* 8003EE30 0003AC70 90 8D E6 48 */ stw r4, PausingFlag@sda21(r13)
.global lbl_8003EE34
lbl_8003EE34:
/* 8003EE34 0003AC74 4B FE 2A 2D */ bl OSRestoreInterrupts
/* 8003EE38 0003AC78 48 00 00 0C */ b lbl_8003EE44
.global lbl_8003EE3C
lbl_8003EE3C:
/* 8003EE3C 0003AC7C 38 80 00 00 */ li r4, 0x0
/* 8003EE40 0003AC80 4B FF F7 01 */ bl DVDCancelAsync
.global lbl_8003EE44
lbl_8003EE44:
/* 8003EE44 0003AC84 48 00 02 BD */ bl __DVDPopWaitingQueue
/* 8003EE48 0003AC88 2C 03 00 00 */ cmpwi r3, 0x0
/* 8003EE4C 0003AC8C 40 82 FF F0 */ bne lbl_8003EE3C
/* 8003EE50 0003AC90 80 6D E6 D0 */ lwz r3, executing@sda21(r13)
/* 8003EE54 0003AC94 2C 03 00 00 */ cmpwi r3, 0x0
/* 8003EE58 0003AC98 41 82 00 10 */ beq lbl_8003EE68
/* 8003EE5C 0003AC9C 7F E4 FB 78 */ mr r4, r31
/* 8003EE60 0003ACA0 4B FF F6 E1 */ bl DVDCancelAsync
/* 8003EE64 0003ACA4 48 00 00 20 */ b lbl_8003EE84
.global lbl_8003EE68
lbl_8003EE68:
/* 8003EE68 0003ACA8 2C 1F 00 00 */ cmpwi r31, 0x0
/* 8003EE6C 0003ACAC 41 82 00 18 */ beq lbl_8003EE84
/* 8003EE70 0003ACB0 7F EC FB 78 */ mr r12, r31
/* 8003EE74 0003ACB4 38 60 00 00 */ li r3, 0x0
/* 8003EE78 0003ACB8 38 80 00 00 */ li r4, 0x0
/* 8003EE7C 0003ACBC 7D 89 03 A6 */ mtctr r12
/* 8003EE80 0003ACC0 4E 80 04 21 */ bctrl
.global lbl_8003EE84
lbl_8003EE84:
/* 8003EE84 0003ACC4 4B FE 29 9D */ bl OSDisableInterrupts
/* 8003EE88 0003ACC8 38 80 00 00 */ li r4, 0x0
/* 8003EE8C 0003ACCC 90 8D E6 44 */ stw r4, PauseFlag@sda21(r13)
/* 8003EE90 0003ACD0 80 0D E6 48 */ lwz r0, PausingFlag@sda21(r13)
/* 8003EE94 0003ACD4 7C 7F 1B 78 */ mr r31, r3
/* 8003EE98 0003ACD8 2C 00 00 00 */ cmpwi r0, 0x0
/* 8003EE9C 0003ACDC 41 82 00 0C */ beq lbl_8003EEA8
/* 8003EEA0 0003ACE0 90 8D E6 48 */ stw r4, PausingFlag@sda21(r13)
/* 8003EEA4 0003ACE4 4B FF E0 4D */ bl stateReady
.global lbl_8003EEA8
lbl_8003EEA8:
/* 8003EEA8 0003ACE8 7F E3 FB 78 */ mr r3, r31
/* 8003EEAC 0003ACEC 4B FE 29 B5 */ bl OSRestoreInterrupts
/* 8003EEB0 0003ACF0 7F C3 F3 78 */ mr r3, r30
/* 8003EEB4 0003ACF4 4B FE 29 AD */ bl OSRestoreInterrupts
.global lbl_8003EEB8
lbl_8003EEB8:
/* 8003EEB8 0003ACF8 7F A3 EB 78 */ mr r3, r29
/* 8003EEBC 0003ACFC 4B FE 29 A5 */ bl OSRestoreInterrupts
/* 8003EEC0 0003AD00 80 01 00 24 */ lwz r0, 0x24(r1)
/* 8003EEC4 0003AD04 83 E1 00 1C */ lwz r31, 0x1c(r1)
/* 8003EEC8 0003AD08 83 C1 00 18 */ lwz r30, 0x18(r1)
/* 8003EECC 0003AD0C 83 A1 00 14 */ lwz r29, 0x14(r1)
/* 8003EED0 0003AD10 7C 08 03 A6 */ mtlr r0
/* 8003EED4 0003AD14 38 21 00 20 */ addi r1, r1, 0x20
/* 8003EED8 0003AD18 4E 80 00 20 */ blr
/* 8003EEDC 0003AD1C 00 00 00 00 */ .4byte 0x00000000
.global Callback_8003EEE0
Callback_8003EEE0:
/* 8003EEE0 0003AD20 38 00 00 01 */ li r0, 0x1
/* 8003EEE4 0003AD24 90 0D E6 84 */ stw r0, Prepared_8055CAA4@sda21(r13)
/* 8003EEE8 0003AD28 4E 80 00 20 */ blr
/* 8003EEEC 0003AD2C 00 00 00 00 */ .4byte 0x00000000
.global __DVDPrepareReset
__DVDPrepareReset:
/* 8003EEF0 0003AD30 94 21 FF E0 */ stwu r1, -0x20(r1)
/* 8003EEF4 0003AD34 7C 08 02 A6 */ mflr r0
/* 8003EEF8 0003AD38 90 01 00 24 */ stw r0, 0x24(r1)
/* 8003EEFC 0003AD3C 93 E1 00 1C */ stw r31, 0x1c(r1)
/* 8003EF00 0003AD40 93 C1 00 18 */ stw r30, 0x18(r1)
/* 8003EF04 0003AD44 93 A1 00 14 */ stw r29, 0x14(r1)
/* 8003EF08 0003AD48 4B FE 29 19 */ bl OSDisableInterrupts
/* 8003EF0C 0003AD4C 3B E0 00 00 */ li r31, 0x0
/* 8003EF10 0003AD50 93 ED E6 84 */ stw r31, Prepared_8055CAA4@sda21(r13)
/* 8003EF14 0003AD54 4B FE 29 0D */ bl OSDisableInterrupts
/* 8003EF18 0003AD58 7C 7D 1B 78 */ mr r29, r3
/* 8003EF1C 0003AD5C 48 00 01 35 */ bl __DVDClearWaitingQueue
/* 8003EF20 0003AD60 80 0D E6 50 */ lwz r0, Canceling@sda21(r13)
/* 8003EF24 0003AD64 2C 00 00 00 */ cmpwi r0, 0x0
/* 8003EF28 0003AD68 41 82 00 14 */ beq lbl_8003EF3C
/* 8003EF2C 0003AD6C 3C 60 80 04 */ lis r3, Callback_8003EEE0@ha
/* 8003EF30 0003AD70 38 63 EE E0 */ addi r3, r3, Callback_8003EEE0@l
/* 8003EF34 0003AD74 90 6D E6 C0 */ stw r3, CancelCallback@sda21(r13)
/* 8003EF38 0003AD78 48 00 00 B8 */ b lbl_8003EFF0
.global lbl_8003EF3C
lbl_8003EF3C:
/* 8003EF3C 0003AD7C 80 6D E6 D0 */ lwz r3, executing@sda21(r13)
/* 8003EF40 0003AD80 2C 03 00 00 */ cmpwi r3, 0x0
/* 8003EF44 0003AD84 41 82 00 08 */ beq lbl_8003EF4C
/* 8003EF48 0003AD88 93 E3 00 28 */ stw r31, 0x28(r3)
.global lbl_8003EF4C
lbl_8003EF4C:
/* 8003EF4C 0003AD8C 4B FE 28 D5 */ bl OSDisableInterrupts
/* 8003EF50 0003AD90 7C 7F 1B 78 */ mr r31, r3
/* 8003EF54 0003AD94 4B FE 28 CD */ bl OSDisableInterrupts
/* 8003EF58 0003AD98 80 0D E6 D0 */ lwz r0, executing@sda21(r13)
/* 8003EF5C 0003AD9C 38 80 00 01 */ li r4, 0x1
/* 8003EF60 0003ADA0 90 8D E6 44 */ stw r4, PauseFlag@sda21(r13)
/* 8003EF64 0003ADA4 2C 00 00 00 */ cmpwi r0, 0x0
/* 8003EF68 0003ADA8 40 82 00 08 */ bne lbl_8003EF70
/* 8003EF6C 0003ADAC 90 8D E6 48 */ stw r4, PausingFlag@sda21(r13)
.global lbl_8003EF70
lbl_8003EF70:
/* 8003EF70 0003ADB0 4B FE 28 F1 */ bl OSRestoreInterrupts
/* 8003EF74 0003ADB4 48 00 00 0C */ b lbl_8003EF80
.global lbl_8003EF78
lbl_8003EF78:
/* 8003EF78 0003ADB8 38 80 00 00 */ li r4, 0x0
/* 8003EF7C 0003ADBC 4B FF F5 C5 */ bl DVDCancelAsync
.global lbl_8003EF80
lbl_8003EF80:
/* 8003EF80 0003ADC0 48 00 01 81 */ bl __DVDPopWaitingQueue
/* 8003EF84 0003ADC4 2C 03 00 00 */ cmpwi r3, 0x0
/* 8003EF88 0003ADC8 40 82 FF F0 */ bne lbl_8003EF78
/* 8003EF8C 0003ADCC 80 6D E6 D0 */ lwz r3, executing@sda21(r13)
/* 8003EF90 0003ADD0 2C 03 00 00 */ cmpwi r3, 0x0
/* 8003EF94 0003ADD4 41 82 00 14 */ beq lbl_8003EFA8
/* 8003EF98 0003ADD8 3C 80 80 04 */ lis r4, Callback_8003EEE0@ha
/* 8003EF9C 0003ADDC 38 84 EE E0 */ addi r4, r4, Callback_8003EEE0@l
/* 8003EFA0 0003ADE0 4B FF F5 A1 */ bl DVDCancelAsync
/* 8003EFA4 0003ADE4 48 00 00 18 */ b lbl_8003EFBC
.global lbl_8003EFA8
lbl_8003EFA8:
/* 8003EFA8 0003ADE8 3C 00 80 04 */ lis r0, 0x8004
/* 8003EFAC 0003ADEC 34 00 EE E0 */ addic. r0, r0, -0x1120
/* 8003EFB0 0003ADF0 41 82 00 0C */ beq lbl_8003EFBC
/* 8003EFB4 0003ADF4 38 00 00 01 */ li r0, 0x1
/* 8003EFB8 0003ADF8 90 0D E6 84 */ stw r0, Prepared_8055CAA4@sda21(r13)
.global lbl_8003EFBC
lbl_8003EFBC:
/* 8003EFBC 0003ADFC 4B FE 28 65 */ bl OSDisableInterrupts
/* 8003EFC0 0003AE00 38 80 00 00 */ li r4, 0x0
/* 8003EFC4 0003AE04 90 8D E6 44 */ stw r4, PauseFlag@sda21(r13)
/* 8003EFC8 0003AE08 80 0D E6 48 */ lwz r0, PausingFlag@sda21(r13)
/* 8003EFCC 0003AE0C 7C 7E 1B 78 */ mr r30, r3
/* 8003EFD0 0003AE10 2C 00 00 00 */ cmpwi r0, 0x0
/* 8003EFD4 0003AE14 41 82 00 0C */ beq lbl_8003EFE0
/* 8003EFD8 0003AE18 90 8D E6 48 */ stw r4, PausingFlag@sda21(r13)
/* 8003EFDC 0003AE1C 4B FF DF 15 */ bl stateReady
.global lbl_8003EFE0
lbl_8003EFE0:
/* 8003EFE0 0003AE20 7F C3 F3 78 */ mr r3, r30
/* 8003EFE4 0003AE24 4B FE 28 7D */ bl OSRestoreInterrupts
/* 8003EFE8 0003AE28 7F E3 FB 78 */ mr r3, r31
/* 8003EFEC 0003AE2C 4B FE 28 75 */ bl OSRestoreInterrupts
.global lbl_8003EFF0
lbl_8003EFF0:
/* 8003EFF0 0003AE30 7F A3 EB 78 */ mr r3, r29
/* 8003EFF4 0003AE34 4B FE 28 6D */ bl OSRestoreInterrupts
/* 8003EFF8 0003AE38 4B FE 28 49 */ bl OSEnableInterrupts
/* 8003EFFC 0003AE3C 60 00 00 00 */ nop
.global lbl_8003F000
lbl_8003F000:
/* 8003F000 0003AE40 80 0D E6 84 */ lwz r0, Prepared_8055CAA4@sda21(r13)
/* 8003F004 0003AE44 2C 00 00 01 */ cmpwi r0, 0x1
/* 8003F008 0003AE48 40 82 FF F8 */ bne lbl_8003F000
/* 8003F00C 0003AE4C 80 01 00 24 */ lwz r0, 0x24(r1)
/* 8003F010 0003AE50 83 E1 00 1C */ lwz r31, 0x1c(r1)
/* 8003F014 0003AE54 83 C1 00 18 */ lwz r30, 0x18(r1)
/* 8003F018 0003AE58 83 A1 00 14 */ lwz r29, 0x14(r1)
/* 8003F01C 0003AE5C 7C 08 03 A6 */ mtlr r0
/* 8003F020 0003AE60 38 21 00 20 */ addi r1, r1, 0x20
/* 8003F024 0003AE64 4E 80 00 20 */ blr
/* 8003F028 0003AE68 00 00 00 00 */ .4byte 0x00000000
/* 8003F02C 0003AE6C 00 00 00 00 */ .4byte 0x00000000
.global __DVDTestAlarm
__DVDTestAlarm:
/* 8003F030 0003AE70 3C 80 80 4A */ lis r4, ResetAlarm@ha
/* 8003F034 0003AE74 38 84 FA 20 */ addi r4, r4, ResetAlarm@l
/* 8003F038 0003AE78 7C 03 20 40 */ cmplw r3, r4
/* 8003F03C 0003AE7C 40 82 00 0C */ bne lbl_8003F048
/* 8003F040 0003AE80 38 60 00 01 */ li r3, 0x1
/* 8003F044 0003AE84 4E 80 00 20 */ blr
.global lbl_8003F048
lbl_8003F048:
/* 8003F048 0003AE88 48 01 4D A8 */ b __wpadNoAlloc
/* 8003F04C 0003AE8C 4E 80 00 20 */ blr
.include "macros.inc"
.section .data, "wa" # 0x80421040 - 0x80496700 ; 0x000756C0
.global "@1_80431260"
"@1_80431260":
.4byte 0x3C3C2052
.4byte 0x564C5F53
.4byte 0x444B202D
.4byte 0x20445644
.4byte 0x20097265
.4byte 0x6C656173
.4byte 0x65206275
.4byte 0x696C643A
.4byte 0x20417567
.4byte 0x20323320
.4byte 0x32303130
.4byte 0x2031373A
.4byte 0x33303A30
.4byte 0x35202830
.4byte 0x78343330
.4byte 0x325F3134
.4byte 0x3529203E
.4byte 0x3E000000
.global "@4255_804312A8"
"@4255_804312A8":
.4byte 0x44564443
.4byte 0x68616E67
.4byte 0x65446973
.4byte 0x6B28293A
.4byte 0x20465354
.4byte 0x20696E20
.4byte 0x74686520
.4byte 0x6E657720
.4byte 0x64697363
.4byte 0x20697320
.4byte 0x746F6F20
.4byte 0x6269672E
.4byte 0x20202000
.global "@4490"
"@4490":
.4byte lbl_8003C448
.4byte lbl_8003C43C
.4byte lbl_8003C43C
.4byte lbl_8003C448
.4byte lbl_8003C3E8
.4byte lbl_8003C3E8
.4byte lbl_8003C448
.4byte lbl_8003C448
.4byte lbl_8003C448
.4byte lbl_8003C448
.4byte lbl_8003C448
.4byte lbl_8003C448
.4byte lbl_8003C448
.4byte lbl_8003C3E8
.4byte lbl_8003C448
.4byte lbl_8003C3E8
.4byte lbl_8003C448
.4byte lbl_8003C448
.4byte lbl_8003C448
.4byte lbl_8003C448
.4byte lbl_8003C448
.4byte lbl_8003C448
.4byte lbl_8003C448
.4byte lbl_8003C448
.4byte lbl_8003C448
.4byte lbl_8003C448
.4byte lbl_8003C448
.4byte lbl_8003C448
.4byte lbl_8003C448
.4byte lbl_8003C448
.4byte lbl_8003C448
.4byte lbl_8003C448
.4byte lbl_8003C41C
.4byte lbl_8003C3E8
.4byte lbl_8003C3E8
.4byte lbl_8003C424
.4byte lbl_8003C424
.4byte lbl_8003C3E8
.4byte lbl_8003C424
.4byte lbl_8003C448
.4byte lbl_8003C448
.4byte lbl_8003C3E8
.4byte lbl_8003C3E8
.global "@4658"
"@4658":
.4byte lbl_8003D790
.4byte lbl_8003D324
.4byte lbl_8003D44C
.4byte lbl_8003D468
.4byte lbl_8003D324
.4byte lbl_8003D300
.4byte lbl_8003D790
.4byte lbl_8003D790
.4byte lbl_8003D790
.4byte lbl_8003D790
.4byte lbl_8003D790
.4byte lbl_8003D790
.4byte lbl_8003D790
.4byte lbl_8003D498
.4byte lbl_8003D4B8
.4byte lbl_8003D480
.4byte lbl_8003D4DC
.4byte lbl_8003D790
.4byte lbl_8003D790
.4byte lbl_8003D790
.4byte lbl_8003D790
.4byte lbl_8003D790
.4byte lbl_8003D790
.4byte lbl_8003D790
.4byte lbl_8003D790
.4byte lbl_8003D790
.4byte lbl_8003D790
.4byte lbl_8003D790
.4byte lbl_8003D790
.4byte lbl_8003D790
.4byte lbl_8003D790
.4byte lbl_8003D790
.4byte lbl_8003D4FC
.4byte lbl_8003D514
.4byte lbl_8003D63C
.4byte lbl_8003D668
.4byte lbl_8003D690
.4byte lbl_8003D6A0
.4byte lbl_8003D680
.4byte lbl_8003D790
.4byte lbl_8003D6BC
.4byte lbl_8003D6E8
.4byte lbl_8003D75C
.global "@4657"
"@4657":
.4byte lbl_8003D2DC
.4byte lbl_8003D2DC
.4byte lbl_8003D258
.4byte lbl_8003D258
.4byte lbl_8003D2DC
.4byte lbl_8003D258
.4byte lbl_8003D2DC
.4byte lbl_8003D2DC
.4byte lbl_8003D2DC
.4byte lbl_8003D2DC
.4byte lbl_8003D2DC
.4byte lbl_8003D2DC
.4byte lbl_8003D2DC
.4byte lbl_8003D258
.4byte lbl_8003D258
.4byte lbl_8003D258
.4byte lbl_8003D258
.4byte lbl_8003D2DC
.4byte lbl_8003D2DC
.4byte lbl_8003D2DC
.4byte lbl_8003D2DC
.4byte lbl_8003D2DC
.4byte lbl_8003D2DC
.4byte lbl_8003D2DC
.4byte lbl_8003D2DC
.4byte lbl_8003D2DC
.4byte lbl_8003D2DC
.4byte lbl_8003D2DC
.4byte lbl_8003D2DC
.4byte lbl_8003D2DC
.4byte lbl_8003D2DC
.4byte lbl_8003D2DC
.4byte lbl_8003D2DC
.4byte lbl_8003D2DC
.4byte lbl_8003D258
.4byte lbl_8003D2DC
.4byte lbl_8003D2DC
.4byte lbl_8003D258
.4byte lbl_8003D2DC
.4byte lbl_8003D2DC
.4byte lbl_8003D2DC
.4byte lbl_8003D258
.4byte lbl_8003D258
.global ImmCommand
ImmCommand:
.4byte 0xFFFFFFFF
.4byte 0xFFFFFFFF
.4byte 0xFFFFFFFF
.global "@5033_804314EC"
"@5033_804314EC":
.4byte lbl_8003E704
.4byte lbl_8003E6A4
.4byte lbl_8003E6A4
.4byte lbl_8003E704
.4byte lbl_8003E684
.4byte lbl_8003E684
.4byte lbl_8003E704
.4byte lbl_8003E704
.4byte lbl_8003E704
.4byte lbl_8003E704
.4byte lbl_8003E704
.4byte lbl_8003E704
.4byte lbl_8003E704
.4byte lbl_8003E684
.4byte lbl_8003E704
.4byte lbl_8003E684
.4byte lbl_8003E704
.4byte lbl_8003E704
.4byte lbl_8003E704
.4byte lbl_8003E704
.4byte lbl_8003E704
.4byte lbl_8003E704
.4byte lbl_8003E704
.4byte lbl_8003E704
.4byte lbl_8003E704
.4byte lbl_8003E704
.4byte lbl_8003E704
.4byte lbl_8003E704
.4byte lbl_8003E704
.4byte lbl_8003E704
.4byte lbl_8003E704
.4byte lbl_8003E704
.4byte lbl_8003E704
.4byte lbl_8003E684
.4byte lbl_8003E684
.4byte lbl_8003E704
.4byte lbl_8003E704
.4byte lbl_8003E684
.4byte lbl_8003E704
.4byte lbl_8003E704
.4byte lbl_8003E704
.4byte lbl_8003E684
.4byte lbl_8003E684
.global "@5032_80431598"
"@5032_80431598":
.4byte lbl_8003E590
.4byte lbl_8003E590
.4byte lbl_8003E5B0
.4byte lbl_8003E614
.4byte lbl_8003E660
.4byte lbl_8003E730
.4byte lbl_8003E730
.4byte lbl_8003E730
.4byte lbl_8003E730
.4byte lbl_8003E87C
.4byte lbl_8003E87C
.4byte lbl_8003E590
.4byte lbl_8003E730
.4byte lbl_8003E82C
.global "@5040"
"@5040":
.4byte lbl_8003E948
.4byte lbl_8003E948
.4byte lbl_8003E93C
.4byte lbl_8003E93C
.4byte lbl_8003E93C
.4byte lbl_8003E93C
.4byte lbl_8003E93C
.4byte lbl_8003E93C
.4byte lbl_8003E93C
.4byte lbl_8003E948
.4byte lbl_8003E93C
.4byte lbl_8003E948
.4byte lbl_8003E93C
.4byte lbl_8003E93C
.4byte lbl_8003E93C
.4byte lbl_8003E93C
.4byte lbl_8003E93C
.4byte lbl_8003E93C
.4byte lbl_8003E93C
.4byte lbl_8003E93C
.4byte lbl_8003E93C
.4byte lbl_8003E93C
.4byte lbl_8003E93C
.4byte lbl_8003E93C
.4byte lbl_8003E93C
.4byte lbl_8003E93C
.4byte lbl_8003E93C
.4byte lbl_8003E93C
.4byte lbl_8003E93C
.4byte lbl_8003E948
.4byte lbl_8003E948
.4byte lbl_8003E93C
.4byte lbl_8003E93C
.4byte lbl_8003E948
.4byte lbl_8003E93C
.4byte lbl_8003E93C
.4byte lbl_8003E93C
.4byte lbl_8003E948
.4byte lbl_8003E948
.global "@5139"
"@5139":
.4byte lbl_8003EBAC
.4byte lbl_8003EBDC
.4byte lbl_8003EB7C
.4byte lbl_8003EB7C
.4byte lbl_8003EBAC
.4byte lbl_8003EBAC
.4byte lbl_8003EBAC
.4byte lbl_8003EBAC
.4byte lbl_8003EBAC
.4byte lbl_8003EBDC
.4byte lbl_8003EB7C
.4byte lbl_8003EB7C
.4byte lbl_8003EBAC
.4byte lbl_8003EBAC
.4byte 0
.include "macros.inc"
.section .bss, "", @nobits # 0x80496700 - 0x80556420 ; 0x000BFD20
.global __DVDTicketViewBuffer
__DVDTicketViewBuffer:
.skip 0x100
.global __DVDTmdBuffer
__DVDTmdBuffer:
.skip 0x4A00
.global BB2
BB2:
.skip 0x20
.global DummyCommandBlock
DummyCommandBlock:
.skip 0x30
.global FatalAlarm
FatalAlarm:
.skip 0x30
.global CoverAlarm
CoverAlarm:
.skip 0x40
.global CurrDiskID
CurrDiskID:
.skip 0x20
.global __DVDGameTocBuffer
__DVDGameTocBuffer:
.skip 0x20
.global __DVDPartInfoBuffer
__DVDPartInfoBuffer:
.skip 0x20
.global ResetAlarm
ResetAlarm:
.skip 0x30
.global __DVDStopMotorCommandBlock
__DVDStopMotorCommandBlock:
.skip 0x60
.include "macros.inc"
.section .sdata, "wa" # 0x80556420 - 0x8055C6E0 ; 0x000062C0
.global __DVDVersion
__DVDVersion:
.4byte "@1_80431260"
.global autoInvalidation
autoInvalidation:
.4byte 0x00000001
.global checkOptionalCommand
checkOptionalCommand:
.4byte defaultOptionalCommandChecker
.global "@4254_805565E4"
"@4254_805565E4":
.4byte 0x6476642E
.4byte 0x63000000
.global DmaCommand
DmaCommand:
.4byte 0xFFFFFFFF
.include "macros.inc"
.section .sbss, "", @nobits # 0x8055C6E0 - 0x8055DF80 ; 0x000018A0
.global CommandInfoCounter
CommandInfoCounter:
.skip 0x4
.global PauseFlag
PauseFlag:
.skip 0x4
.global PausingFlag
PausingFlag:
.skip 0x4
.global FatalErrorFlag
FatalErrorFlag:
.skip 0x4
.global Canceling
Canceling:
.skip 0x4
.global ResumeFromHere
ResumeFromHere:
.skip 0x4
.global NumInternalRetry
NumInternalRetry:
.skip 0x4
.global FirstTimeInBootrom
FirstTimeInBootrom:
.skip 0x4
.global Breaking
Breaking:
.skip 0x4
.global WaitingForCoverOpen
WaitingForCoverOpen:
.skip 0x4
.global WaitingForCoverClose
WaitingForCoverClose:
.skip 0x4
.global MotorStopped
MotorStopped:
.skip 0x4
.global ChangedDisc
ChangedDisc:
.skip 0x4
.global PreparingCover
PreparingCover:
.skip 0x4
.global __DVDLayoutFormat
__DVDLayoutFormat:
.skip 0x4
.global DVDInitialized
DVDInitialized:
.skip 0x4
.global __BS2DVDLowIntType
__BS2DVDLowIntType:
.skip 0x4
.global Prepared_8055CAA4
Prepared_8055CAA4:
.skip 0x4
.global BootGameInfo
BootGameInfo:
.skip 0x4
.global PartInfo
PartInfo:
.skip 0x4
.global GameToc
GameToc:
.skip 0x10
.global __DVDNumTmdBytes
__DVDNumTmdBytes:
.skip 0x8
.global LastResetEnd
LastResetEnd:
.skip 0x4
.global lbl_8055CACC
lbl_8055CACC:
.skip 0x4
.global MotorState
MotorState:
.skip 0x4
.global ResetRequired
ResetRequired:
.skip 0x4
.global LastError
LastError:
.skip 0x4
.global CancelLastError
CancelLastError:
.skip 0x4
.global CancelCallback
CancelCallback:
.skip 0x4
.global CurrCommand
CurrCommand:
.skip 0x4
.global bootInfo
bootInfo:
.skip 0x4
.global IDShouldBe
IDShouldBe:
.skip 0x4
.global executing
executing:
.skip 0x4
.global LastState
LastState:
.skip 0x4