diff options
Diffstat (limited to 'asm/SDK/DVD/dvdfs.s')
-rw-r--r-- | asm/SDK/DVD/dvdfs.s | 845 |
1 files changed, 845 insertions, 0 deletions
diff --git a/asm/SDK/DVD/dvdfs.s b/asm/SDK/DVD/dvdfs.s new file mode 100644 index 0000000..ebcd854 --- /dev/null +++ b/asm/SDK/DVD/dvdfs.s @@ -0,0 +1,845 @@ +.include "macros.inc"
+
+.section .text, "ax" # 0x80006980 - 0x803E1E60
+
+.global __DVDFSInit
+__DVDFSInit:
+/* 8028768C 002832EC 3C 60 80 00 */ lis r3, 0x80000038@ha
+/* 80287690 002832F0 90 6D AA 0C */ stw r3, lbl_8063FCCC-_SDA_BASE_(r13)
+/* 80287694 002832F4 80 83 00 38 */ lwz r4, 0x80000038@l(r3)
+/* 80287698 002832F8 2C 04 00 00 */ cmpwi r4, 0
+/* 8028769C 002832FC 90 8D AA 08 */ stw r4, lbl_8063FCC8-_SDA_BASE_(r13)
+/* 802876A0 00283300 4D 82 00 20 */ beqlr
+/* 802876A4 00283304 80 64 00 08 */ lwz r3, 8(r4)
+/* 802876A8 00283308 1C 03 00 0C */ mulli r0, r3, 0xc
+/* 802876AC 0028330C 90 6D AA 00 */ stw r3, lbl_8063FCC0-_SDA_BASE_(r13)
+/* 802876B0 00283310 7C 04 02 14 */ add r0, r4, r0
+/* 802876B4 00283314 90 0D AA 04 */ stw r0, lbl_8063FCC4-_SDA_BASE_(r13)
+/* 802876B8 00283318 4E 80 00 20 */ blr
+
+.global DVDConvertPathToEntrynum
+DVDConvertPathToEntrynum:
+/* 802876BC 0028331C 94 21 FF D0 */ stwu r1, -0x30(r1)
+/* 802876C0 00283320 7C 08 02 A6 */ mflr r0
+/* 802876C4 00283324 90 01 00 34 */ stw r0, 0x34(r1)
+/* 802876C8 00283328 39 61 00 30 */ addi r11, r1, 0x30
+/* 802876CC 0028332C 4B F3 FA 51 */ bl _savegpr_24
+/* 802876D0 00283330 7C 7A 1B 78 */ mr r26, r3
+/* 802876D4 00283334 3F E0 80 42 */ lis r31, lbl_80422D48@ha
+/* 802876D8 00283338 83 AD A9 F0 */ lwz r29, lbl_8063FCB0-_SDA_BASE_(r13)
+/* 802876DC 0028333C 7F 5C D3 78 */ mr r28, r26
+/* 802876E0 00283340 3B FF 2D 48 */ addi r31, r31, lbl_80422D48@l
+/* 802876E4 00283344 3F C0 80 43 */ lis r30, 0x8043
+lbl_802876E8:
+/* 802876E8 00283348 88 1A 00 00 */ lbz r0, 0(r26)
+/* 802876EC 0028334C 7C 00 07 75 */ extsb. r0, r0
+/* 802876F0 00283350 40 82 00 0C */ bne lbl_802876FC
+/* 802876F4 00283354 7F A3 EB 78 */ mr r3, r29
+/* 802876F8 00283358 48 00 02 B4 */ b lbl_802879AC
+lbl_802876FC:
+/* 802876FC 0028335C 2C 00 00 2F */ cmpwi r0, 0x2f
+/* 80287700 00283360 40 82 00 10 */ bne lbl_80287710
+/* 80287704 00283364 3B A0 00 00 */ li r29, 0
+/* 80287708 00283368 3B 5A 00 01 */ addi r26, r26, 1
+/* 8028770C 0028336C 4B FF FF DC */ b lbl_802876E8
+lbl_80287710:
+/* 80287710 00283370 2C 00 00 2E */ cmpwi r0, 0x2e
+/* 80287714 00283374 40 82 00 78 */ bne lbl_8028778C
+/* 80287718 00283378 88 1A 00 01 */ lbz r0, 1(r26)
+/* 8028771C 0028337C 7C 00 07 74 */ extsb r0, r0
+/* 80287720 00283380 2C 00 00 2E */ cmpwi r0, 0x2e
+/* 80287724 00283384 40 82 00 48 */ bne lbl_8028776C
+/* 80287728 00283388 88 1A 00 02 */ lbz r0, 2(r26)
+/* 8028772C 0028338C 7C 00 07 74 */ extsb r0, r0
+/* 80287730 00283390 2C 00 00 2F */ cmpwi r0, 0x2f
+/* 80287734 00283394 40 82 00 1C */ bne lbl_80287750
+/* 80287738 00283398 1C 1D 00 0C */ mulli r0, r29, 0xc
+/* 8028773C 0028339C 80 6D AA 08 */ lwz r3, lbl_8063FCC8-_SDA_BASE_(r13)
+/* 80287740 002833A0 3B 5A 00 03 */ addi r26, r26, 3
+/* 80287744 002833A4 7C 63 02 14 */ add r3, r3, r0
+/* 80287748 002833A8 83 A3 00 04 */ lwz r29, 4(r3)
+/* 8028774C 002833AC 4B FF FF 9C */ b lbl_802876E8
+lbl_80287750:
+/* 80287750 002833B0 2C 00 00 00 */ cmpwi r0, 0
+/* 80287754 002833B4 40 82 00 38 */ bne lbl_8028778C
+/* 80287758 002833B8 1C 1D 00 0C */ mulli r0, r29, 0xc
+/* 8028775C 002833BC 80 6D AA 08 */ lwz r3, lbl_8063FCC8-_SDA_BASE_(r13)
+/* 80287760 002833C0 7C 63 02 14 */ add r3, r3, r0
+/* 80287764 002833C4 80 63 00 04 */ lwz r3, 4(r3)
+/* 80287768 002833C8 48 00 02 44 */ b lbl_802879AC
+lbl_8028776C:
+/* 8028776C 002833CC 2C 00 00 2F */ cmpwi r0, 0x2f
+/* 80287770 002833D0 40 82 00 0C */ bne lbl_8028777C
+/* 80287774 002833D4 3B 5A 00 02 */ addi r26, r26, 2
+/* 80287778 002833D8 4B FF FF 70 */ b lbl_802876E8
+lbl_8028777C:
+/* 8028777C 002833DC 2C 00 00 00 */ cmpwi r0, 0
+/* 80287780 002833E0 40 82 00 0C */ bne lbl_8028778C
+/* 80287784 002833E4 7F A3 EB 78 */ mr r3, r29
+/* 80287788 002833E8 48 00 02 24 */ b lbl_802879AC
+lbl_8028778C:
+/* 8028778C 002833EC 80 0D 88 A8 */ lwz r0, lbl_8063DB68-_SDA_BASE_(r13)
+/* 80287790 002833F0 2C 00 00 00 */ cmpwi r0, 0
+/* 80287794 002833F4 40 82 00 A8 */ bne lbl_8028783C
+/* 80287798 002833F8 7F 58 D3 78 */ mr r24, r26
+/* 8028779C 002833FC 38 A0 00 00 */ li r5, 0
+/* 802877A0 00283400 38 80 00 00 */ li r4, 0
+/* 802877A4 00283404 48 00 00 48 */ b lbl_802877EC
+lbl_802877A8:
+/* 802877A8 00283408 7C 60 07 74 */ extsb r0, r3
+/* 802877AC 0028340C 2C 00 00 2E */ cmpwi r0, 0x2e
+/* 802877B0 00283410 40 82 00 2C */ bne lbl_802877DC
+/* 802877B4 00283414 7C 1A C0 50 */ subf r0, r26, r24
+/* 802877B8 00283418 2C 00 00 08 */ cmpwi r0, 8
+/* 802877BC 0028341C 41 81 00 0C */ bgt lbl_802877C8
+/* 802877C0 00283420 2C 05 00 01 */ cmpwi r5, 1
+/* 802877C4 00283424 40 82 00 0C */ bne lbl_802877D0
+lbl_802877C8:
+/* 802877C8 00283428 38 80 00 01 */ li r4, 1
+/* 802877CC 0028342C 48 00 00 34 */ b lbl_80287800
+lbl_802877D0:
+/* 802877D0 00283430 3B 78 00 01 */ addi r27, r24, 1
+/* 802877D4 00283434 38 A0 00 01 */ li r5, 1
+/* 802877D8 00283438 48 00 00 10 */ b lbl_802877E8
+lbl_802877DC:
+/* 802877DC 0028343C 2C 00 00 20 */ cmpwi r0, 0x20
+/* 802877E0 00283440 40 82 00 08 */ bne lbl_802877E8
+/* 802877E4 00283444 38 80 00 01 */ li r4, 1
+lbl_802877E8:
+/* 802877E8 00283448 3B 18 00 01 */ addi r24, r24, 1
+lbl_802877EC:
+/* 802877EC 0028344C 88 78 00 00 */ lbz r3, 0(r24)
+/* 802877F0 00283450 7C 60 07 75 */ extsb. r0, r3
+/* 802877F4 00283454 41 82 00 0C */ beq lbl_80287800
+/* 802877F8 00283458 2C 00 00 2F */ cmpwi r0, 0x2f
+/* 802877FC 0028345C 40 82 FF AC */ bne lbl_802877A8
+lbl_80287800:
+/* 80287800 00283460 2C 05 00 01 */ cmpwi r5, 1
+/* 80287804 00283464 40 82 00 14 */ bne lbl_80287818
+/* 80287808 00283468 7C 1B C0 50 */ subf r0, r27, r24
+/* 8028780C 0028346C 2C 00 00 03 */ cmpwi r0, 3
+/* 80287810 00283470 40 81 00 08 */ ble lbl_80287818
+/* 80287814 00283474 38 80 00 01 */ li r4, 1
+lbl_80287818:
+/* 80287818 00283478 2C 04 00 00 */ cmpwi r4, 0
+/* 8028781C 0028347C 41 82 00 40 */ beq lbl_8028785C
+/* 80287820 00283480 7F 86 E3 78 */ mr r6, r28
+/* 80287824 00283484 38 BE 5D 68 */ addi r5, r30, 0x5d68
+/* 80287828 00283488 38 6D 88 B0 */ addi r3, r13, lbl_8063DB70-_SDA_BASE_
+/* 8028782C 0028348C 38 80 01 BB */ li r4, 0x1bb
+/* 80287830 00283490 4C C6 31 82 */ crclr 6
+/* 80287834 00283494 4B FE 3C 69 */ bl OSPanic
+/* 80287838 00283498 48 00 00 24 */ b lbl_8028785C
+lbl_8028783C:
+/* 8028783C 0028349C 7F 58 D3 78 */ mr r24, r26
+/* 80287840 002834A0 48 00 00 08 */ b lbl_80287848
+lbl_80287844:
+/* 80287844 002834A4 3B 18 00 01 */ addi r24, r24, 1
+lbl_80287848:
+/* 80287848 002834A8 88 18 00 00 */ lbz r0, 0(r24)
+/* 8028784C 002834AC 7C 00 07 75 */ extsb. r0, r0
+/* 80287850 002834B0 41 82 00 0C */ beq lbl_8028785C
+/* 80287854 002834B4 2C 00 00 2F */ cmpwi r0, 0x2f
+/* 80287858 002834B8 40 82 FF EC */ bne lbl_80287844
+lbl_8028785C:
+/* 8028785C 002834BC 88 78 00 00 */ lbz r3, 0(r24)
+/* 80287860 002834C0 1C 1D 00 0C */ mulli r0, r29, 0xc
+/* 80287864 002834C4 81 0D AA 08 */ lwz r8, lbl_8063FCC8-_SDA_BASE_(r13)
+/* 80287868 002834C8 7D 3A C0 50 */ subf r9, r26, r24
+/* 8028786C 002834CC 7C 66 07 74 */ extsb r6, r3
+/* 80287870 002834D0 80 8D AA 04 */ lwz r4, lbl_8063FCC4-_SDA_BASE_(r13)
+/* 80287874 002834D4 7C A6 00 D0 */ neg r5, r6
+/* 80287878 002834D8 7C 68 02 14 */ add r3, r8, r0
+/* 8028787C 002834DC 81 9F 00 38 */ lwz r12, 0x38(r31)
+/* 80287880 002834E0 7C A0 33 78 */ or r0, r5, r6
+/* 80287884 002834E4 80 A3 00 08 */ lwz r5, 8(r3)
+/* 80287888 002834E8 54 00 0F FE */ srwi r0, r0, 0x1f
+/* 8028788C 002834EC 38 7D 00 01 */ addi r3, r29, 1
+/* 80287890 002834F0 48 00 00 F0 */ b lbl_80287980
+lbl_80287894:
+/* 80287894 002834F4 1C C3 00 0C */ mulli r6, r3, 0xc
+/* 80287898 002834F8 7D 46 40 6E */ lwzux r10, r6, r8
+/* 8028789C 002834FC 55 47 00 0F */ rlwinm. r7, r10, 0, 0, 7
+/* 802878A0 00283500 40 82 00 0C */ bne lbl_802878AC
+/* 802878A4 00283504 2C 00 00 01 */ cmpwi r0, 1
+/* 802878A8 00283508 41 82 00 C4 */ beq lbl_8028796C
+lbl_802878AC:
+/* 802878AC 0028350C 55 4A 02 3E */ clrlwi r10, r10, 8
+/* 802878B0 00283510 7F 5D D3 78 */ mr r29, r26
+/* 802878B4 00283514 7F 24 52 14 */ add r25, r4, r10
+/* 802878B8 00283518 48 00 00 7C */ b lbl_80287934
+lbl_802878BC:
+/* 802878BC 0028351C 89 79 00 00 */ lbz r11, 0(r25)
+/* 802878C0 00283520 39 40 00 00 */ li r10, 0
+/* 802878C4 00283524 3B 39 00 01 */ addi r25, r25, 1
+/* 802878C8 00283528 7D 78 07 75 */ extsb. r24, r11
+/* 802878CC 0028352C 41 80 00 0C */ blt lbl_802878D8
+/* 802878D0 00283530 2C 18 01 00 */ cmpwi r24, 0x100
+/* 802878D4 00283534 41 80 00 08 */ blt lbl_802878DC
+lbl_802878D8:
+/* 802878D8 00283538 39 40 00 01 */ li r10, 1
+lbl_802878DC:
+/* 802878DC 0028353C 2C 0A 00 00 */ cmpwi r10, 0
+/* 802878E0 00283540 41 82 00 08 */ beq lbl_802878E8
+/* 802878E4 00283544 48 00 00 0C */ b lbl_802878F0
+lbl_802878E8:
+/* 802878E8 00283548 81 4C 00 10 */ lwz r10, 0x10(r12)
+/* 802878EC 0028354C 7F 0A C0 AE */ lbzx r24, r10, r24
+lbl_802878F0:
+/* 802878F0 00283550 89 7D 00 00 */ lbz r11, 0(r29)
+/* 802878F4 00283554 39 40 00 00 */ li r10, 0
+/* 802878F8 00283558 3B BD 00 01 */ addi r29, r29, 1
+/* 802878FC 0028355C 7D 6B 07 75 */ extsb. r11, r11
+/* 80287900 00283560 41 80 00 0C */ blt lbl_8028790C
+/* 80287904 00283564 2C 0B 01 00 */ cmpwi r11, 0x100
+/* 80287908 00283568 41 80 00 08 */ blt lbl_80287910
+lbl_8028790C:
+/* 8028790C 0028356C 39 40 00 01 */ li r10, 1
+lbl_80287910:
+/* 80287910 00283570 2C 0A 00 00 */ cmpwi r10, 0
+/* 80287914 00283574 41 82 00 08 */ beq lbl_8028791C
+/* 80287918 00283578 48 00 00 0C */ b lbl_80287924
+lbl_8028791C:
+/* 8028791C 0028357C 81 4C 00 10 */ lwz r10, 0x10(r12)
+/* 80287920 00283580 7D 6A 58 AE */ lbzx r11, r10, r11
+lbl_80287924:
+/* 80287924 00283584 7C 0B C0 00 */ cmpw r11, r24
+/* 80287928 00283588 41 82 00 0C */ beq lbl_80287934
+/* 8028792C 0028358C 39 40 00 00 */ li r10, 0
+/* 80287930 00283590 48 00 00 34 */ b lbl_80287964
+lbl_80287934:
+/* 80287934 00283594 89 59 00 00 */ lbz r10, 0(r25)
+/* 80287938 00283598 7D 4A 07 75 */ extsb. r10, r10
+/* 8028793C 0028359C 40 82 FF 80 */ bne lbl_802878BC
+/* 80287940 002835A0 89 5D 00 00 */ lbz r10, 0(r29)
+/* 80287944 002835A4 7D 4A 07 74 */ extsb r10, r10
+/* 80287948 002835A8 2C 0A 00 2F */ cmpwi r10, 0x2f
+/* 8028794C 002835AC 41 82 00 0C */ beq lbl_80287958
+/* 80287950 002835B0 2C 0A 00 00 */ cmpwi r10, 0
+/* 80287954 002835B4 40 82 00 0C */ bne lbl_80287960
+lbl_80287958:
+/* 80287958 002835B8 39 40 00 01 */ li r10, 1
+/* 8028795C 002835BC 48 00 00 08 */ b lbl_80287964
+lbl_80287960:
+/* 80287960 002835C0 39 40 00 00 */ li r10, 0
+lbl_80287964:
+/* 80287964 002835C4 2C 0A 00 01 */ cmpwi r10, 1
+/* 80287968 002835C8 41 82 00 28 */ beq lbl_80287990
+lbl_8028796C:
+/* 8028796C 002835CC 2C 07 00 00 */ cmpwi r7, 0
+/* 80287970 002835D0 41 82 00 0C */ beq lbl_8028797C
+/* 80287974 002835D4 80 66 00 08 */ lwz r3, 8(r6)
+/* 80287978 002835D8 48 00 00 08 */ b lbl_80287980
+lbl_8028797C:
+/* 8028797C 002835DC 38 63 00 01 */ addi r3, r3, 1
+lbl_80287980:
+/* 80287980 002835E0 7C 03 28 40 */ cmplw r3, r5
+/* 80287984 002835E4 41 80 FF 10 */ blt lbl_80287894
+/* 80287988 002835E8 38 60 FF FF */ li r3, -1
+/* 8028798C 002835EC 48 00 00 20 */ b lbl_802879AC
+lbl_80287990:
+/* 80287990 002835F0 2C 00 00 00 */ cmpwi r0, 0
+/* 80287994 002835F4 40 82 00 08 */ bne lbl_8028799C
+/* 80287998 002835F8 48 00 00 14 */ b lbl_802879AC
+lbl_8028799C:
+/* 8028799C 002835FC 7C 89 D2 14 */ add r4, r9, r26
+/* 802879A0 00283600 7C 7D 1B 78 */ mr r29, r3
+/* 802879A4 00283604 3B 44 00 01 */ addi r26, r4, 1
+/* 802879A8 00283608 4B FF FD 40 */ b lbl_802876E8
+lbl_802879AC:
+/* 802879AC 0028360C 39 61 00 30 */ addi r11, r1, 0x30
+/* 802879B0 00283610 4B F3 F7 B9 */ bl _restgpr_24
+/* 802879B4 00283614 80 01 00 34 */ lwz r0, 0x34(r1)
+/* 802879B8 00283618 7C 08 03 A6 */ mtlr r0
+/* 802879BC 0028361C 38 21 00 30 */ addi r1, r1, 0x30
+/* 802879C0 00283620 4E 80 00 20 */ blr
+
+.global DVDFastOpen
+DVDFastOpen:
+/* 802879C4 00283624 2C 03 00 00 */ cmpwi r3, 0
+/* 802879C8 00283628 41 80 00 24 */ blt lbl_802879EC
+/* 802879CC 0028362C 80 0D AA 00 */ lwz r0, lbl_8063FCC0-_SDA_BASE_(r13)
+/* 802879D0 00283630 7C 03 00 40 */ cmplw r3, r0
+/* 802879D4 00283634 40 80 00 18 */ bge lbl_802879EC
+/* 802879D8 00283638 1C E3 00 0C */ mulli r7, r3, 0xc
+/* 802879DC 0028363C 80 6D AA 08 */ lwz r3, lbl_8063FCC8-_SDA_BASE_(r13)
+/* 802879E0 00283640 7C 03 38 2E */ lwzx r0, r3, r7
+/* 802879E4 00283644 54 00 00 0F */ rlwinm. r0, r0, 0, 0, 7
+/* 802879E8 00283648 41 82 00 0C */ beq lbl_802879F4
+lbl_802879EC:
+/* 802879EC 0028364C 38 60 00 00 */ li r3, 0
+/* 802879F0 00283650 4E 80 00 20 */ blr
+lbl_802879F4:
+/* 802879F4 00283654 7C 63 3A 14 */ add r3, r3, r7
+/* 802879F8 00283658 80 AD AA 48 */ lwz r5, lbl_8063FD08-_SDA_BASE_(r13)
+/* 802879FC 0028365C 80 C3 00 04 */ lwz r6, 4(r3)
+/* 80287A00 00283660 38 00 00 00 */ li r0, 0
+/* 80287A04 00283664 38 60 00 01 */ li r3, 1
+/* 80287A08 00283668 7C C5 2C 30 */ srw r5, r6, r5
+/* 80287A0C 0028366C 90 A4 00 30 */ stw r5, 0x30(r4)
+/* 80287A10 00283670 80 AD AA 08 */ lwz r5, lbl_8063FCC8-_SDA_BASE_(r13)
+/* 80287A14 00283674 7C A5 3A 14 */ add r5, r5, r7
+/* 80287A18 00283678 80 A5 00 08 */ lwz r5, 8(r5)
+/* 80287A1C 0028367C 90 A4 00 34 */ stw r5, 0x34(r4)
+/* 80287A20 00283680 90 04 00 38 */ stw r0, 0x38(r4)
+/* 80287A24 00283684 90 04 00 0C */ stw r0, 0xc(r4)
+/* 80287A28 00283688 4E 80 00 20 */ blr
+
+.global DVDOpen
+DVDOpen:
+/* 80287A2C 0028368C 94 21 FF 60 */ stwu r1, -0xa0(r1)
+/* 80287A30 00283690 7C 08 02 A6 */ mflr r0
+/* 80287A34 00283694 90 01 00 A4 */ stw r0, 0xa4(r1)
+/* 80287A38 00283698 39 61 00 A0 */ addi r11, r1, 0xa0
+/* 80287A3C 0028369C 4B F3 F6 ED */ bl _savegpr_27
+/* 80287A40 002836A0 7C 7C 1B 78 */ mr r28, r3
+/* 80287A44 002836A4 7C 9B 23 78 */ mr r27, r4
+/* 80287A48 002836A8 4B FF FC 75 */ bl DVDConvertPathToEntrynum
+/* 80287A4C 002836AC 2C 03 00 00 */ cmpwi r3, 0
+/* 80287A50 002836B0 40 80 02 20 */ bge lbl_80287C70
+/* 80287A54 002836B4 83 AD A9 F0 */ lwz r29, lbl_8063FCB0-_SDA_BASE_(r13)
+/* 80287A58 002836B8 2C 1D 00 00 */ cmpwi r29, 0
+/* 80287A5C 002836BC 40 82 00 0C */ bne lbl_80287A68
+/* 80287A60 002836C0 38 80 00 00 */ li r4, 0
+/* 80287A64 002836C4 48 00 01 90 */ b lbl_80287BF4
+lbl_80287A68:
+/* 80287A68 002836C8 81 0D AA 08 */ lwz r8, lbl_8063FCC8-_SDA_BASE_(r13)
+/* 80287A6C 002836CC 1C 1D 00 0C */ mulli r0, r29, 0xc
+/* 80287A70 002836D0 80 ED AA 04 */ lwz r7, lbl_8063FCC4-_SDA_BASE_(r13)
+/* 80287A74 002836D4 38 C8 00 04 */ addi r6, r8, 4
+/* 80287A78 002836D8 7C 66 00 2E */ lwzx r3, r6, r0
+/* 80287A7C 002836DC 7C 08 00 2E */ lwzx r0, r8, r0
+/* 80287A80 002836E0 2C 03 00 00 */ cmpwi r3, 0
+/* 80287A84 002836E4 54 00 02 3E */ clrlwi r0, r0, 8
+/* 80287A88 002836E8 7F C7 02 14 */ add r30, r7, r0
+/* 80287A8C 002836EC 40 82 00 0C */ bne lbl_80287A98
+/* 80287A90 002836F0 38 80 00 00 */ li r4, 0
+/* 80287A94 002836F4 48 00 01 04 */ b lbl_80287B98
+lbl_80287A98:
+/* 80287A98 002836F8 1C 03 00 0C */ mulli r0, r3, 0xc
+/* 80287A9C 002836FC 7C 66 00 2E */ lwzx r3, r6, r0
+/* 80287AA0 00283700 7C 08 00 2E */ lwzx r0, r8, r0
+/* 80287AA4 00283704 2C 03 00 00 */ cmpwi r3, 0
+/* 80287AA8 00283708 54 00 02 3E */ clrlwi r0, r0, 8
+/* 80287AAC 0028370C 7F E7 02 14 */ add r31, r7, r0
+/* 80287AB0 00283710 40 82 00 0C */ bne lbl_80287ABC
+/* 80287AB4 00283714 38 80 00 00 */ li r4, 0
+/* 80287AB8 00283718 48 00 00 84 */ b lbl_80287B3C
+lbl_80287ABC:
+/* 80287ABC 0028371C 1C 63 00 0C */ mulli r3, r3, 0xc
+/* 80287AC0 00283720 38 81 00 08 */ addi r4, r1, 8
+/* 80287AC4 00283724 38 A0 00 80 */ li r5, 0x80
+/* 80287AC8 00283728 7C 08 18 2E */ lwzx r0, r8, r3
+/* 80287ACC 0028372C 7C 66 18 2E */ lwzx r3, r6, r3
+/* 80287AD0 00283730 54 00 02 3E */ clrlwi r0, r0, 8
+/* 80287AD4 00283734 7F 67 02 14 */ add r27, r7, r0
+/* 80287AD8 00283738 48 00 02 25 */ bl entryToPath
+/* 80287ADC 0028373C 28 03 00 80 */ cmplwi r3, 0x80
+/* 80287AE0 00283740 7C 64 1B 78 */ mr r4, r3
+/* 80287AE4 00283744 40 82 00 08 */ bne lbl_80287AEC
+/* 80287AE8 00283748 48 00 00 54 */ b lbl_80287B3C
+lbl_80287AEC:
+/* 80287AEC 0028374C 38 83 00 01 */ addi r4, r3, 1
+/* 80287AF0 00283750 38 A1 00 08 */ addi r5, r1, 8
+/* 80287AF4 00283754 38 00 00 2F */ li r0, 0x2f
+/* 80287AF8 00283758 7C 05 19 AE */ stbx r0, r5, r3
+/* 80287AFC 0028375C 20 C4 00 80 */ subfic r6, r4, 0x80
+/* 80287B00 00283760 7C C3 33 78 */ mr r3, r6
+/* 80287B04 00283764 7C A5 22 14 */ add r5, r5, r4
+/* 80287B08 00283768 48 00 00 18 */ b lbl_80287B20
+lbl_80287B0C:
+/* 80287B0C 0028376C 88 1B 00 00 */ lbz r0, 0(r27)
+/* 80287B10 00283770 38 63 FF FF */ addi r3, r3, -1
+/* 80287B14 00283774 3B 7B 00 01 */ addi r27, r27, 1
+/* 80287B18 00283778 98 05 00 00 */ stb r0, 0(r5)
+/* 80287B1C 0028377C 38 A5 00 01 */ addi r5, r5, 1
+lbl_80287B20:
+/* 80287B20 00283780 2C 03 00 00 */ cmpwi r3, 0
+/* 80287B24 00283784 41 82 00 10 */ beq lbl_80287B34
+/* 80287B28 00283788 88 1B 00 00 */ lbz r0, 0(r27)
+/* 80287B2C 0028378C 7C 00 07 75 */ extsb. r0, r0
+/* 80287B30 00283790 40 82 FF DC */ bne lbl_80287B0C
+lbl_80287B34:
+/* 80287B34 00283794 7C 03 30 50 */ subf r0, r3, r6
+/* 80287B38 00283798 7C 84 02 14 */ add r4, r4, r0
+lbl_80287B3C:
+/* 80287B3C 0028379C 28 04 00 80 */ cmplwi r4, 0x80
+/* 80287B40 002837A0 40 82 00 08 */ bne lbl_80287B48
+/* 80287B44 002837A4 48 00 00 54 */ b lbl_80287B98
+lbl_80287B48:
+/* 80287B48 002837A8 38 A4 00 01 */ addi r5, r4, 1
+/* 80287B4C 002837AC 38 61 00 08 */ addi r3, r1, 8
+/* 80287B50 002837B0 38 00 00 2F */ li r0, 0x2f
+/* 80287B54 002837B4 7C 03 21 AE */ stbx r0, r3, r4
+/* 80287B58 002837B8 20 C5 00 80 */ subfic r6, r5, 0x80
+/* 80287B5C 002837BC 7C C4 33 78 */ mr r4, r6
+/* 80287B60 002837C0 7C 63 2A 14 */ add r3, r3, r5
+/* 80287B64 002837C4 48 00 00 18 */ b lbl_80287B7C
+lbl_80287B68:
+/* 80287B68 002837C8 88 1F 00 00 */ lbz r0, 0(r31)
+/* 80287B6C 002837CC 38 84 FF FF */ addi r4, r4, -1
+/* 80287B70 002837D0 3B FF 00 01 */ addi r31, r31, 1
+/* 80287B74 002837D4 98 03 00 00 */ stb r0, 0(r3)
+/* 80287B78 002837D8 38 63 00 01 */ addi r3, r3, 1
+lbl_80287B7C:
+/* 80287B7C 002837DC 2C 04 00 00 */ cmpwi r4, 0
+/* 80287B80 002837E0 41 82 00 10 */ beq lbl_80287B90
+/* 80287B84 002837E4 88 1F 00 00 */ lbz r0, 0(r31)
+/* 80287B88 002837E8 7C 00 07 75 */ extsb. r0, r0
+/* 80287B8C 002837EC 40 82 FF DC */ bne lbl_80287B68
+lbl_80287B90:
+/* 80287B90 002837F0 7C 04 30 50 */ subf r0, r4, r6
+/* 80287B94 002837F4 7C 85 02 14 */ add r4, r5, r0
+lbl_80287B98:
+/* 80287B98 002837F8 28 04 00 80 */ cmplwi r4, 0x80
+/* 80287B9C 002837FC 40 82 00 08 */ bne lbl_80287BA4
+/* 80287BA0 00283800 48 00 00 54 */ b lbl_80287BF4
+lbl_80287BA4:
+/* 80287BA4 00283804 38 A4 00 01 */ addi r5, r4, 1
+/* 80287BA8 00283808 38 61 00 08 */ addi r3, r1, 8
+/* 80287BAC 0028380C 38 00 00 2F */ li r0, 0x2f
+/* 80287BB0 00283810 7C 03 21 AE */ stbx r0, r3, r4
+/* 80287BB4 00283814 20 C5 00 80 */ subfic r6, r5, 0x80
+/* 80287BB8 00283818 7C C4 33 78 */ mr r4, r6
+/* 80287BBC 0028381C 7C 63 2A 14 */ add r3, r3, r5
+/* 80287BC0 00283820 48 00 00 18 */ b lbl_80287BD8
+lbl_80287BC4:
+/* 80287BC4 00283824 88 1E 00 00 */ lbz r0, 0(r30)
+/* 80287BC8 00283828 38 84 FF FF */ addi r4, r4, -1
+/* 80287BCC 0028382C 3B DE 00 01 */ addi r30, r30, 1
+/* 80287BD0 00283830 98 03 00 00 */ stb r0, 0(r3)
+/* 80287BD4 00283834 38 63 00 01 */ addi r3, r3, 1
+lbl_80287BD8:
+/* 80287BD8 00283838 2C 04 00 00 */ cmpwi r4, 0
+/* 80287BDC 0028383C 41 82 00 10 */ beq lbl_80287BEC
+/* 80287BE0 00283840 88 1E 00 00 */ lbz r0, 0(r30)
+/* 80287BE4 00283844 7C 00 07 75 */ extsb. r0, r0
+/* 80287BE8 00283848 40 82 FF DC */ bne lbl_80287BC4
+lbl_80287BEC:
+/* 80287BEC 0028384C 7C 04 30 50 */ subf r0, r4, r6
+/* 80287BF0 00283850 7C 85 02 14 */ add r4, r5, r0
+lbl_80287BF4:
+/* 80287BF4 00283854 28 04 00 80 */ cmplwi r4, 0x80
+/* 80287BF8 00283858 40 82 00 10 */ bne lbl_80287C08
+/* 80287BFC 0028385C 38 00 00 00 */ li r0, 0
+/* 80287C00 00283860 98 01 00 87 */ stb r0, 0x87(r1)
+/* 80287C04 00283864 48 00 00 4C */ b lbl_80287C50
+lbl_80287C08:
+/* 80287C08 00283868 1C 1D 00 0C */ mulli r0, r29, 0xc
+/* 80287C0C 0028386C 80 6D AA 08 */ lwz r3, lbl_8063FCC8-_SDA_BASE_(r13)
+/* 80287C10 00283870 7C 03 00 2E */ lwzx r0, r3, r0
+/* 80287C14 00283874 54 00 00 0F */ rlwinm. r0, r0, 0, 0, 7
+/* 80287C18 00283878 41 82 00 2C */ beq lbl_80287C44
+/* 80287C1C 0028387C 28 04 00 7F */ cmplwi r4, 0x7f
+/* 80287C20 00283880 40 82 00 14 */ bne lbl_80287C34
+/* 80287C24 00283884 38 61 00 08 */ addi r3, r1, 8
+/* 80287C28 00283888 38 00 00 00 */ li r0, 0
+/* 80287C2C 0028388C 7C 03 21 AE */ stbx r0, r3, r4
+/* 80287C30 00283890 48 00 00 20 */ b lbl_80287C50
+lbl_80287C34:
+/* 80287C34 00283894 38 61 00 08 */ addi r3, r1, 8
+/* 80287C38 00283898 38 00 00 2F */ li r0, 0x2f
+/* 80287C3C 0028389C 7C 03 21 AE */ stbx r0, r3, r4
+/* 80287C40 002838A0 38 84 00 01 */ addi r4, r4, 1
+lbl_80287C44:
+/* 80287C44 002838A4 38 61 00 08 */ addi r3, r1, 8
+/* 80287C48 002838A8 38 00 00 00 */ li r0, 0
+/* 80287C4C 002838AC 7C 03 21 AE */ stbx r0, r3, r4
+lbl_80287C50:
+/* 80287C50 002838B0 3C 60 80 43 */ lis r3, lbl_80435E30@ha
+/* 80287C54 002838B4 7F 84 E3 78 */ mr r4, r28
+/* 80287C58 002838B8 38 63 5E 30 */ addi r3, r3, lbl_80435E30@l
+/* 80287C5C 002838BC 38 A1 00 08 */ addi r5, r1, 8
+/* 80287C60 002838C0 4C C6 31 82 */ crclr 6
+/* 80287C64 002838C4 4B D7 FE 61 */ bl func_80007AC4
+/* 80287C68 002838C8 38 60 00 00 */ li r3, 0
+/* 80287C6C 002838CC 48 00 00 54 */ b lbl_80287CC0
+lbl_80287C70:
+/* 80287C70 002838D0 1C C3 00 0C */ mulli r6, r3, 0xc
+/* 80287C74 002838D4 80 6D AA 08 */ lwz r3, lbl_8063FCC8-_SDA_BASE_(r13)
+/* 80287C78 002838D8 7C 03 30 2E */ lwzx r0, r3, r6
+/* 80287C7C 002838DC 54 00 00 0F */ rlwinm. r0, r0, 0, 0, 7
+/* 80287C80 002838E0 41 82 00 0C */ beq lbl_80287C8C
+/* 80287C84 002838E4 38 60 00 00 */ li r3, 0
+/* 80287C88 002838E8 48 00 00 38 */ b lbl_80287CC0
+lbl_80287C8C:
+/* 80287C8C 002838EC 7C 63 32 14 */ add r3, r3, r6
+/* 80287C90 002838F0 80 8D AA 48 */ lwz r4, lbl_8063FD08-_SDA_BASE_(r13)
+/* 80287C94 002838F4 80 A3 00 04 */ lwz r5, 4(r3)
+/* 80287C98 002838F8 38 00 00 00 */ li r0, 0
+/* 80287C9C 002838FC 38 60 00 01 */ li r3, 1
+/* 80287CA0 00283900 7C A4 24 30 */ srw r4, r5, r4
+/* 80287CA4 00283904 90 9B 00 30 */ stw r4, 0x30(r27)
+/* 80287CA8 00283908 80 8D AA 08 */ lwz r4, lbl_8063FCC8-_SDA_BASE_(r13)
+/* 80287CAC 0028390C 7C 84 32 14 */ add r4, r4, r6
+/* 80287CB0 00283910 80 84 00 08 */ lwz r4, 8(r4)
+/* 80287CB4 00283914 90 9B 00 34 */ stw r4, 0x34(r27)
+/* 80287CB8 00283918 90 1B 00 38 */ stw r0, 0x38(r27)
+/* 80287CBC 0028391C 90 1B 00 0C */ stw r0, 0xc(r27)
+lbl_80287CC0:
+/* 80287CC0 00283920 39 61 00 A0 */ addi r11, r1, 0xa0
+/* 80287CC4 00283924 4B F3 F4 B1 */ bl _restgpr_27
+/* 80287CC8 00283928 80 01 00 A4 */ lwz r0, 0xa4(r1)
+/* 80287CCC 0028392C 7C 08 03 A6 */ mtlr r0
+/* 80287CD0 00283930 38 21 00 A0 */ addi r1, r1, 0xa0
+/* 80287CD4 00283934 4E 80 00 20 */ blr
+
+.global DVDClose
+DVDClose:
+/* 80287CD8 00283938 94 21 FF F0 */ stwu r1, -0x10(r1)
+/* 80287CDC 0028393C 7C 08 02 A6 */ mflr r0
+/* 80287CE0 00283940 90 01 00 14 */ stw r0, 0x14(r1)
+/* 80287CE4 00283944 48 00 46 39 */ bl DVDCancel
+/* 80287CE8 00283948 80 01 00 14 */ lwz r0, 0x14(r1)
+/* 80287CEC 0028394C 38 60 00 01 */ li r3, 1
+/* 80287CF0 00283950 7C 08 03 A6 */ mtlr r0
+/* 80287CF4 00283954 38 21 00 10 */ addi r1, r1, 0x10
+/* 80287CF8 00283958 4E 80 00 20 */ blr
+
+.global entryToPath
+entryToPath:
+/* 80287CFC 0028395C 94 21 FF E0 */ stwu r1, -0x20(r1)
+/* 80287D00 00283960 7C 08 02 A6 */ mflr r0
+/* 80287D04 00283964 90 01 00 24 */ stw r0, 0x24(r1)
+/* 80287D08 00283968 39 61 00 20 */ addi r11, r1, 0x20
+/* 80287D0C 0028396C 4B F3 F4 1D */ bl _savegpr_27
+/* 80287D10 00283970 2C 03 00 00 */ cmpwi r3, 0
+/* 80287D14 00283974 7C 9C 23 78 */ mr r28, r4
+/* 80287D18 00283978 7C BD 2B 78 */ mr r29, r5
+/* 80287D1C 0028397C 40 82 00 0C */ bne lbl_80287D28
+/* 80287D20 00283980 38 60 00 00 */ li r3, 0
+/* 80287D24 00283984 48 00 01 80 */ b lbl_80287EA4
+lbl_80287D28:
+/* 80287D28 00283988 81 0D AA 08 */ lwz r8, lbl_8063FCC8-_SDA_BASE_(r13)
+/* 80287D2C 0028398C 1C 03 00 0C */ mulli r0, r3, 0xc
+/* 80287D30 00283990 80 ED AA 04 */ lwz r7, lbl_8063FCC4-_SDA_BASE_(r13)
+/* 80287D34 00283994 38 C8 00 04 */ addi r6, r8, 4
+/* 80287D38 00283998 7C 66 00 2E */ lwzx r3, r6, r0
+/* 80287D3C 0028399C 7C 08 00 2E */ lwzx r0, r8, r0
+/* 80287D40 002839A0 2C 03 00 00 */ cmpwi r3, 0
+/* 80287D44 002839A4 54 00 02 3E */ clrlwi r0, r0, 8
+/* 80287D48 002839A8 7F C7 02 14 */ add r30, r7, r0
+/* 80287D4C 002839AC 40 82 00 0C */ bne lbl_80287D58
+/* 80287D50 002839B0 38 80 00 00 */ li r4, 0
+/* 80287D54 002839B4 48 00 00 F4 */ b lbl_80287E48
+lbl_80287D58:
+/* 80287D58 002839B8 1C 03 00 0C */ mulli r0, r3, 0xc
+/* 80287D5C 002839BC 7C 66 00 2E */ lwzx r3, r6, r0
+/* 80287D60 002839C0 7C 08 00 2E */ lwzx r0, r8, r0
+/* 80287D64 002839C4 2C 03 00 00 */ cmpwi r3, 0
+/* 80287D68 002839C8 54 00 02 3E */ clrlwi r0, r0, 8
+/* 80287D6C 002839CC 7F E7 02 14 */ add r31, r7, r0
+/* 80287D70 002839D0 40 82 00 0C */ bne lbl_80287D7C
+/* 80287D74 002839D4 38 80 00 00 */ li r4, 0
+/* 80287D78 002839D8 48 00 00 78 */ b lbl_80287DF0
+lbl_80287D7C:
+/* 80287D7C 002839DC 1C 63 00 0C */ mulli r3, r3, 0xc
+/* 80287D80 002839E0 7C 08 18 2E */ lwzx r0, r8, r3
+/* 80287D84 002839E4 7C 66 18 2E */ lwzx r3, r6, r3
+/* 80287D88 002839E8 54 00 02 3E */ clrlwi r0, r0, 8
+/* 80287D8C 002839EC 7F 67 02 14 */ add r27, r7, r0
+/* 80287D90 002839F0 4B FF FF 6D */ bl entryToPath
+/* 80287D94 002839F4 7C 03 E8 40 */ cmplw r3, r29
+/* 80287D98 002839F8 7C 64 1B 78 */ mr r4, r3
+/* 80287D9C 002839FC 40 82 00 08 */ bne lbl_80287DA4
+/* 80287DA0 00283A00 48 00 00 50 */ b lbl_80287DF0
+lbl_80287DA4:
+/* 80287DA4 00283A04 38 83 00 01 */ addi r4, r3, 1
+/* 80287DA8 00283A08 38 00 00 2F */ li r0, 0x2f
+/* 80287DAC 00283A0C 7C C4 E8 50 */ subf r6, r4, r29
+/* 80287DB0 00283A10 7C 1C 19 AE */ stbx r0, r28, r3
+/* 80287DB4 00283A14 7C 7C 22 14 */ add r3, r28, r4
+/* 80287DB8 00283A18 7C C5 33 78 */ mr r5, r6
+/* 80287DBC 00283A1C 48 00 00 18 */ b lbl_80287DD4
+lbl_80287DC0:
+/* 80287DC0 00283A20 88 1B 00 00 */ lbz r0, 0(r27)
+/* 80287DC4 00283A24 38 A5 FF FF */ addi r5, r5, -1
+/* 80287DC8 00283A28 3B 7B 00 01 */ addi r27, r27, 1
+/* 80287DCC 00283A2C 98 03 00 00 */ stb r0, 0(r3)
+/* 80287DD0 00283A30 38 63 00 01 */ addi r3, r3, 1
+lbl_80287DD4:
+/* 80287DD4 00283A34 2C 05 00 00 */ cmpwi r5, 0
+/* 80287DD8 00283A38 41 82 00 10 */ beq lbl_80287DE8
+/* 80287DDC 00283A3C 88 1B 00 00 */ lbz r0, 0(r27)
+/* 80287DE0 00283A40 7C 00 07 75 */ extsb. r0, r0
+/* 80287DE4 00283A44 40 82 FF DC */ bne lbl_80287DC0
+lbl_80287DE8:
+/* 80287DE8 00283A48 7C 05 30 50 */ subf r0, r5, r6
+/* 80287DEC 00283A4C 7C 84 02 14 */ add r4, r4, r0
+lbl_80287DF0:
+/* 80287DF0 00283A50 7C 04 E8 40 */ cmplw r4, r29
+/* 80287DF4 00283A54 40 82 00 08 */ bne lbl_80287DFC
+/* 80287DF8 00283A58 48 00 00 50 */ b lbl_80287E48
+lbl_80287DFC:
+/* 80287DFC 00283A5C 38 64 00 01 */ addi r3, r4, 1
+/* 80287E00 00283A60 38 00 00 2F */ li r0, 0x2f
+/* 80287E04 00283A64 7C C3 E8 50 */ subf r6, r3, r29
+/* 80287E08 00283A68 7C 1C 21 AE */ stbx r0, r28, r4
+/* 80287E0C 00283A6C 7C 9C 1A 14 */ add r4, r28, r3
+/* 80287E10 00283A70 7C C5 33 78 */ mr r5, r6
+/* 80287E14 00283A74 48 00 00 18 */ b lbl_80287E2C
+lbl_80287E18:
+/* 80287E18 00283A78 88 1F 00 00 */ lbz r0, 0(r31)
+/* 80287E1C 00283A7C 38 A5 FF FF */ addi r5, r5, -1
+/* 80287E20 00283A80 3B FF 00 01 */ addi r31, r31, 1
+/* 80287E24 00283A84 98 04 00 00 */ stb r0, 0(r4)
+/* 80287E28 00283A88 38 84 00 01 */ addi r4, r4, 1
+lbl_80287E2C:
+/* 80287E2C 00283A8C 2C 05 00 00 */ cmpwi r5, 0
+/* 80287E30 00283A90 41 82 00 10 */ beq lbl_80287E40
+/* 80287E34 00283A94 88 1F 00 00 */ lbz r0, 0(r31)
+/* 80287E38 00283A98 7C 00 07 75 */ extsb. r0, r0
+/* 80287E3C 00283A9C 40 82 FF DC */ bne lbl_80287E18
+lbl_80287E40:
+/* 80287E40 00283AA0 7C 05 30 50 */ subf r0, r5, r6
+/* 80287E44 00283AA4 7C 83 02 14 */ add r4, r3, r0
+lbl_80287E48:
+/* 80287E48 00283AA8 7C 04 E8 40 */ cmplw r4, r29
+/* 80287E4C 00283AAC 40 82 00 0C */ bne lbl_80287E58
+/* 80287E50 00283AB0 7C 83 23 78 */ mr r3, r4
+/* 80287E54 00283AB4 48 00 00 50 */ b lbl_80287EA4
+lbl_80287E58:
+/* 80287E58 00283AB8 38 C4 00 01 */ addi r6, r4, 1
+/* 80287E5C 00283ABC 38 00 00 2F */ li r0, 0x2f
+/* 80287E60 00283AC0 7C A6 E8 50 */ subf r5, r6, r29
+/* 80287E64 00283AC4 7C 1C 21 AE */ stbx r0, r28, r4
+/* 80287E68 00283AC8 7C 7C 32 14 */ add r3, r28, r6
+/* 80287E6C 00283ACC 7C A4 2B 78 */ mr r4, r5
+/* 80287E70 00283AD0 48 00 00 18 */ b lbl_80287E88
+lbl_80287E74:
+/* 80287E74 00283AD4 88 1E 00 00 */ lbz r0, 0(r30)
+/* 80287E78 00283AD8 38 84 FF FF */ addi r4, r4, -1
+/* 80287E7C 00283ADC 3B DE 00 01 */ addi r30, r30, 1
+/* 80287E80 00283AE0 98 03 00 00 */ stb r0, 0(r3)
+/* 80287E84 00283AE4 38 63 00 01 */ addi r3, r3, 1
+lbl_80287E88:
+/* 80287E88 00283AE8 2C 04 00 00 */ cmpwi r4, 0
+/* 80287E8C 00283AEC 41 82 00 10 */ beq lbl_80287E9C
+/* 80287E90 00283AF0 88 1E 00 00 */ lbz r0, 0(r30)
+/* 80287E94 00283AF4 7C 00 07 75 */ extsb. r0, r0
+/* 80287E98 00283AF8 40 82 FF DC */ bne lbl_80287E74
+lbl_80287E9C:
+/* 80287E9C 00283AFC 7C 04 28 50 */ subf r0, r4, r5
+/* 80287EA0 00283B00 7C 66 02 14 */ add r3, r6, r0
+lbl_80287EA4:
+/* 80287EA4 00283B04 39 61 00 20 */ addi r11, r1, 0x20
+/* 80287EA8 00283B08 4B F3 F2 CD */ bl _restgpr_27
+/* 80287EAC 00283B0C 80 01 00 24 */ lwz r0, 0x24(r1)
+/* 80287EB0 00283B10 7C 08 03 A6 */ mtlr r0
+/* 80287EB4 00283B14 38 21 00 20 */ addi r1, r1, 0x20
+/* 80287EB8 00283B18 4E 80 00 20 */ blr
+
+.global DVDReadAsyncPrio
+DVDReadAsyncPrio:
+/* 80287EBC 00283B1C 94 21 FF E0 */ stwu r1, -0x20(r1)
+/* 80287EC0 00283B20 7C 08 02 A6 */ mflr r0
+/* 80287EC4 00283B24 90 01 00 24 */ stw r0, 0x24(r1)
+/* 80287EC8 00283B28 39 61 00 20 */ addi r11, r1, 0x20
+/* 80287ECC 00283B2C 4B F3 F2 59 */ bl _savegpr_26
+/* 80287ED0 00283B30 2C 06 00 00 */ cmpwi r6, 0
+/* 80287ED4 00283B34 7C 7A 1B 78 */ mr r26, r3
+/* 80287ED8 00283B38 7C 9B 23 78 */ mr r27, r4
+/* 80287EDC 00283B3C 7C BC 2B 78 */ mr r28, r5
+/* 80287EE0 00283B40 7C DD 33 78 */ mr r29, r6
+/* 80287EE4 00283B44 7C FE 3B 78 */ mr r30, r7
+/* 80287EE8 00283B48 7D 1F 43 78 */ mr r31, r8
+/* 80287EEC 00283B4C 41 80 00 10 */ blt lbl_80287EFC
+/* 80287EF0 00283B50 80 03 00 34 */ lwz r0, 0x34(r3)
+/* 80287EF4 00283B54 7C 06 00 40 */ cmplw r6, r0
+/* 80287EF8 00283B58 40 81 00 1C */ ble lbl_80287F14
+lbl_80287EFC:
+/* 80287EFC 00283B5C 3C A0 80 43 */ lis r5, lbl_80435E68@ha
+/* 80287F00 00283B60 38 6D 88 B0 */ addi r3, r13, lbl_8063DB70-_SDA_BASE_
+/* 80287F04 00283B64 38 A5 5E 68 */ addi r5, r5, lbl_80435E68@l
+/* 80287F08 00283B68 38 80 03 37 */ li r4, 0x337
+/* 80287F0C 00283B6C 4C C6 31 82 */ crclr 6
+/* 80287F10 00283B70 4B FE 35 8D */ bl OSPanic
+lbl_80287F14:
+/* 80287F14 00283B74 7C 9D E2 15 */ add. r4, r29, r28
+/* 80287F18 00283B78 41 80 00 14 */ blt lbl_80287F2C
+/* 80287F1C 00283B7C 80 7A 00 34 */ lwz r3, 0x34(r26)
+/* 80287F20 00283B80 38 03 00 20 */ addi r0, r3, 0x20
+/* 80287F24 00283B84 7C 04 00 40 */ cmplw r4, r0
+/* 80287F28 00283B88 41 80 00 1C */ blt lbl_80287F44
+lbl_80287F2C:
+/* 80287F2C 00283B8C 3C A0 80 43 */ lis r5, lbl_80435E68@ha
+/* 80287F30 00283B90 38 6D 88 B0 */ addi r3, r13, lbl_8063DB70-_SDA_BASE_
+/* 80287F34 00283B94 38 A5 5E 68 */ addi r5, r5, lbl_80435E68@l
+/* 80287F38 00283B98 38 80 03 3D */ li r4, 0x33d
+/* 80287F3C 00283B9C 4C C6 31 82 */ crclr 6
+/* 80287F40 00283BA0 4B FE 35 5D */ bl OSPanic
+lbl_80287F44:
+/* 80287F44 00283BA4 80 DA 00 30 */ lwz r6, 0x30(r26)
+/* 80287F48 00283BA8 7F A0 16 70 */ srawi r0, r29, 2
+/* 80287F4C 00283BAC 3C E0 80 28 */ lis r7, cbForReadAsync@ha
+/* 80287F50 00283BB0 93 DA 00 38 */ stw r30, 0x38(r26)
+/* 80287F54 00283BB4 7F 43 D3 78 */ mr r3, r26
+/* 80287F58 00283BB8 7F 64 DB 78 */ mr r4, r27
+/* 80287F5C 00283BBC 7F 85 E3 78 */ mr r5, r28
+/* 80287F60 00283BC0 7F E8 FB 78 */ mr r8, r31
+/* 80287F64 00283BC4 7C C6 02 14 */ add r6, r6, r0
+/* 80287F68 00283BC8 38 E7 7F 8C */ addi r7, r7, cbForReadAsync@l
+/* 80287F6C 00283BCC 48 00 3C 09 */ bl DVDReadAbsAsyncPrio
+/* 80287F70 00283BD0 39 61 00 20 */ addi r11, r1, 0x20
+/* 80287F74 00283BD4 38 60 00 01 */ li r3, 1
+/* 80287F78 00283BD8 4B F3 F1 F9 */ bl _restgpr_26
+/* 80287F7C 00283BDC 80 01 00 24 */ lwz r0, 0x24(r1)
+/* 80287F80 00283BE0 7C 08 03 A6 */ mtlr r0
+/* 80287F84 00283BE4 38 21 00 20 */ addi r1, r1, 0x20
+/* 80287F88 00283BE8 4E 80 00 20 */ blr
+
+.global cbForReadAsync
+cbForReadAsync:
+/* 80287F8C 00283BEC 81 84 00 38 */ lwz r12, 0x38(r4)
+/* 80287F90 00283BF0 2C 0C 00 00 */ cmpwi r12, 0
+/* 80287F94 00283BF4 4D 82 00 20 */ beqlr
+/* 80287F98 00283BF8 7D 89 03 A6 */ mtctr r12
+/* 80287F9C 00283BFC 4E 80 04 20 */ bctr
+/* 80287FA0 00283C00 4E 80 00 20 */ blr
+
+.global DVDReadPrio
+DVDReadPrio:
+/* 80287FA4 00283C04 94 21 FF E0 */ stwu r1, -0x20(r1)
+/* 80287FA8 00283C08 7C 08 02 A6 */ mflr r0
+/* 80287FAC 00283C0C 90 01 00 24 */ stw r0, 0x24(r1)
+/* 80287FB0 00283C10 39 61 00 20 */ addi r11, r1, 0x20
+/* 80287FB4 00283C14 4B F3 F1 75 */ bl _savegpr_27
+/* 80287FB8 00283C18 2C 06 00 00 */ cmpwi r6, 0
+/* 80287FBC 00283C1C 7C 7B 1B 78 */ mr r27, r3
+/* 80287FC0 00283C20 7C 9C 23 78 */ mr r28, r4
+/* 80287FC4 00283C24 7C BD 2B 78 */ mr r29, r5
+/* 80287FC8 00283C28 7C DF 33 78 */ mr r31, r6
+/* 80287FCC 00283C2C 7C FE 3B 78 */ mr r30, r7
+/* 80287FD0 00283C30 41 80 00 10 */ blt lbl_80287FE0
+/* 80287FD4 00283C34 80 03 00 34 */ lwz r0, 0x34(r3)
+/* 80287FD8 00283C38 7C 06 00 40 */ cmplw r6, r0
+/* 80287FDC 00283C3C 40 81 00 1C */ ble lbl_80287FF8
+lbl_80287FE0:
+/* 80287FE0 00283C40 3C A0 80 43 */ lis r5, lbl_80435E9C@ha
+/* 80287FE4 00283C44 38 6D 88 B0 */ addi r3, r13, lbl_8063DB70-_SDA_BASE_
+/* 80287FE8 00283C48 38 A5 5E 9C */ addi r5, r5, lbl_80435E9C@l
+/* 80287FEC 00283C4C 38 80 03 7D */ li r4, 0x37d
+/* 80287FF0 00283C50 4C C6 31 82 */ crclr 6
+/* 80287FF4 00283C54 4B FE 34 A9 */ bl OSPanic
+lbl_80287FF8:
+/* 80287FF8 00283C58 7C 9F EA 15 */ add. r4, r31, r29
+/* 80287FFC 00283C5C 41 80 00 14 */ blt lbl_80288010
+/* 80288000 00283C60 80 7B 00 34 */ lwz r3, 0x34(r27)
+/* 80288004 00283C64 38 03 00 20 */ addi r0, r3, 0x20
+/* 80288008 00283C68 7C 04 00 40 */ cmplw r4, r0
+/* 8028800C 00283C6C 41 80 00 1C */ blt lbl_80288028
+lbl_80288010:
+/* 80288010 00283C70 3C A0 80 43 */ lis r5, lbl_80435E9C@ha
+/* 80288014 00283C74 38 6D 88 B0 */ addi r3, r13, lbl_8063DB70-_SDA_BASE_
+/* 80288018 00283C78 38 A5 5E 9C */ addi r5, r5, lbl_80435E9C@l
+/* 8028801C 00283C7C 38 80 03 83 */ li r4, 0x383
+/* 80288020 00283C80 4C C6 31 82 */ crclr 6
+/* 80288024 00283C84 4B FE 34 79 */ bl OSPanic
+lbl_80288028:
+/* 80288028 00283C88 80 DB 00 30 */ lwz r6, 0x30(r27)
+/* 8028802C 00283C8C 7F E0 16 70 */ srawi r0, r31, 2
+/* 80288030 00283C90 3C E0 80 29 */ lis r7, cbForReadSync@ha
+/* 80288034 00283C94 7F 63 DB 78 */ mr r3, r27
+/* 80288038 00283C98 7F 84 E3 78 */ mr r4, r28
+/* 8028803C 00283C9C 7F A5 EB 78 */ mr r5, r29
+/* 80288040 00283CA0 7F C8 F3 78 */ mr r8, r30
+/* 80288044 00283CA4 7C C6 02 14 */ add r6, r6, r0
+/* 80288048 00283CA8 38 E7 80 CC */ addi r7, r7, cbForReadSync@l
+/* 8028804C 00283CAC 48 00 3B 29 */ bl DVDReadAbsAsyncPrio
+/* 80288050 00283CB0 2C 03 00 00 */ cmpwi r3, 0
+/* 80288054 00283CB4 40 82 00 0C */ bne lbl_80288060
+/* 80288058 00283CB8 38 60 FF FF */ li r3, -1
+/* 8028805C 00283CBC 48 00 00 58 */ b lbl_802880B4
+lbl_80288060:
+/* 80288060 00283CC0 4B FE 66 FD */ bl OSDisableInterrupts
+/* 80288064 00283CC4 7C 7F 1B 78 */ mr r31, r3
+lbl_80288068:
+/* 80288068 00283CC8 80 1B 00 0C */ lwz r0, 0xc(r27)
+/* 8028806C 00283CCC 2C 00 00 00 */ cmpwi r0, 0
+/* 80288070 00283CD0 40 82 00 0C */ bne lbl_8028807C
+/* 80288074 00283CD4 83 DB 00 20 */ lwz r30, 0x20(r27)
+/* 80288078 00283CD8 48 00 00 30 */ b lbl_802880A8
+lbl_8028807C:
+/* 8028807C 00283CDC 2C 00 FF FF */ cmpwi r0, -1
+/* 80288080 00283CE0 40 82 00 0C */ bne lbl_8028808C
+/* 80288084 00283CE4 3B C0 FF FF */ li r30, -1
+/* 80288088 00283CE8 48 00 00 20 */ b lbl_802880A8
+lbl_8028808C:
+/* 8028808C 00283CEC 2C 00 00 0A */ cmpwi r0, 0xa
+/* 80288090 00283CF0 40 82 00 0C */ bne lbl_8028809C
+/* 80288094 00283CF4 3B C0 FF FD */ li r30, -3
+/* 80288098 00283CF8 48 00 00 10 */ b lbl_802880A8
+lbl_8028809C:
+/* 8028809C 00283CFC 38 6D A9 F8 */ addi r3, r13, lbl_8063FCB8-_SDA_BASE_
+/* 802880A0 00283D00 4B FE A2 D5 */ bl OSSleepThread
+/* 802880A4 00283D04 4B FF FF C4 */ b lbl_80288068
+lbl_802880A8:
+/* 802880A8 00283D08 7F E3 FB 78 */ mr r3, r31
+/* 802880AC 00283D0C 4B FE 66 D9 */ bl OSRestoreInterrupts
+/* 802880B0 00283D10 7F C3 F3 78 */ mr r3, r30
+lbl_802880B4:
+/* 802880B4 00283D14 39 61 00 20 */ addi r11, r1, 0x20
+/* 802880B8 00283D18 4B F3 F0 BD */ bl _restgpr_27
+/* 802880BC 00283D1C 80 01 00 24 */ lwz r0, 0x24(r1)
+/* 802880C0 00283D20 7C 08 03 A6 */ mtlr r0
+/* 802880C4 00283D24 38 21 00 20 */ addi r1, r1, 0x20
+/* 802880C8 00283D28 4E 80 00 20 */ blr
+
+.global cbForReadSync
+cbForReadSync:
+/* 802880CC 00283D2C 38 6D A9 F8 */ addi r3, r13, lbl_8063FCB8-_SDA_BASE_
+/* 802880D0 00283D30 4B FE A3 90 */ b OSWakeupThread
+
+.global DVDSeekAsyncPrio
+DVDSeekAsyncPrio:
+/* 802880D4 00283D34 94 21 FF E0 */ stwu r1, -0x20(r1)
+/* 802880D8 00283D38 7C 08 02 A6 */ mflr r0
+/* 802880DC 00283D3C 2C 04 00 00 */ cmpwi r4, 0
+/* 802880E0 00283D40 90 01 00 24 */ stw r0, 0x24(r1)
+/* 802880E4 00283D44 93 E1 00 1C */ stw r31, 0x1c(r1)
+/* 802880E8 00283D48 7C DF 33 78 */ mr r31, r6
+/* 802880EC 00283D4C 93 C1 00 18 */ stw r30, 0x18(r1)
+/* 802880F0 00283D50 7C BE 2B 78 */ mr r30, r5
+/* 802880F4 00283D54 93 A1 00 14 */ stw r29, 0x14(r1)
+/* 802880F8 00283D58 7C 9D 23 78 */ mr r29, r4
+/* 802880FC 00283D5C 93 81 00 10 */ stw r28, 0x10(r1)
+/* 80288100 00283D60 7C 7C 1B 78 */ mr r28, r3
+/* 80288104 00283D64 41 80 00 10 */ blt lbl_80288114
+/* 80288108 00283D68 80 03 00 34 */ lwz r0, 0x34(r3)
+/* 8028810C 00283D6C 7C 04 00 40 */ cmplw r4, r0
+/* 80288110 00283D70 40 81 00 1C */ ble lbl_8028812C
+lbl_80288114:
+/* 80288114 00283D74 3C A0 80 43 */ lis r5, lbl_80435ECC@ha
+/* 80288118 00283D78 38 6D 88 B0 */ addi r3, r13, lbl_8063DB70-_SDA_BASE_
+/* 8028811C 00283D7C 38 A5 5E CC */ addi r5, r5, lbl_80435ECC@l
+/* 80288120 00283D80 38 80 03 D4 */ li r4, 0x3d4
+/* 80288124 00283D84 4C C6 31 82 */ crclr 6
+/* 80288128 00283D88 4B FE 33 75 */ bl OSPanic
+lbl_8028812C:
+/* 8028812C 00283D8C 80 9C 00 30 */ lwz r4, 0x30(r28)
+/* 80288130 00283D90 7F A0 16 70 */ srawi r0, r29, 2
+/* 80288134 00283D94 3C A0 80 29 */ lis r5, cbForSeekAsync@ha
+/* 80288138 00283D98 93 DC 00 38 */ stw r30, 0x38(r28)
+/* 8028813C 00283D9C 7F 83 E3 78 */ mr r3, r28
+/* 80288140 00283DA0 7F E6 FB 78 */ mr r6, r31
+/* 80288144 00283DA4 7C 84 02 14 */ add r4, r4, r0
+/* 80288148 00283DA8 38 A5 81 74 */ addi r5, r5, cbForSeekAsync@l
+/* 8028814C 00283DAC 48 00 3B 0D */ bl DVDSeekAbsAsyncPrio
+/* 80288150 00283DB0 83 E1 00 1C */ lwz r31, 0x1c(r1)
+/* 80288154 00283DB4 38 60 00 01 */ li r3, 1
+/* 80288158 00283DB8 83 C1 00 18 */ lwz r30, 0x18(r1)
+/* 8028815C 00283DBC 83 A1 00 14 */ lwz r29, 0x14(r1)
+/* 80288160 00283DC0 83 81 00 10 */ lwz r28, 0x10(r1)
+/* 80288164 00283DC4 80 01 00 24 */ lwz r0, 0x24(r1)
+/* 80288168 00283DC8 7C 08 03 A6 */ mtlr r0
+/* 8028816C 00283DCC 38 21 00 20 */ addi r1, r1, 0x20
+/* 80288170 00283DD0 4E 80 00 20 */ blr
+
+.global cbForSeekAsync
+cbForSeekAsync:
+/* 80288174 00283DD4 81 84 00 38 */ lwz r12, 0x38(r4)
+/* 80288178 00283DD8 2C 0C 00 00 */ cmpwi r12, 0
+/* 8028817C 00283DDC 4D 82 00 20 */ beqlr
+/* 80288180 00283DE0 7D 89 03 A6 */ mtctr r12
+/* 80288184 00283DE4 4E 80 04 20 */ bctr
+/* 80288188 00283DE8 4E 80 00 20 */ blr
|