847 lines
33 KiB
ArmAsm
847 lines
33 KiB
ArmAsm
.include "macros.inc"
|
|
|
|
.section .text, "ax" # 0x80006A00 - 0x80406260 ; 0x003FF860
|
|
.global __DVDFSInit
|
|
__DVDFSInit:
|
|
/* 800398F0 00035730 3C 60 80 00 */ lis r3, 0x80000038@ha
|
|
/* 800398F4 00035734 90 6D E6 2C */ stw r3, BootInfo_8055CA4C@sda21(r13)
|
|
/* 800398F8 00035738 80 63 00 38 */ lwz r3, 0x80000038@l(r3)
|
|
/* 800398FC 0003573C 90 6D E6 28 */ stw r3, FstStart@sda21(r13)
|
|
/* 80039900 00035740 2C 03 00 00 */ cmpwi r3, 0x0
|
|
/* 80039904 00035744 4D 82 00 20 */ beqlr
|
|
/* 80039908 00035748 80 03 00 08 */ lwz r0, 0x8(r3)
|
|
/* 8003990C 0003574C 90 0D E6 20 */ stw r0, MaxEntryNum@sda21(r13)
|
|
/* 80039910 00035750 1C 00 00 0C */ mulli r0, r0, 0xc
|
|
/* 80039914 00035754 7C 03 02 14 */ add r0, r3, r0
|
|
/* 80039918 00035758 90 0D E6 24 */ stw r0, FstStringStart@sda21(r13)
|
|
/* 8003991C 0003575C 4E 80 00 20 */ blr
|
|
.global DVDConvertPathToEntrynum
|
|
DVDConvertPathToEntrynum:
|
|
/* 80039920 00035760 94 21 FF D0 */ stwu r1, -0x30(r1)
|
|
/* 80039924 00035764 7C 08 02 A6 */ mflr r0
|
|
/* 80039928 00035768 90 01 00 34 */ stw r0, 0x34(r1)
|
|
/* 8003992C 0003576C 39 61 00 30 */ addi r11, r1, 0x30
|
|
/* 80039930 00035770 4B FC D9 FD */ bl lbl_8000732C
|
|
/* 80039934 00035774 7C 7A 1B 78 */ mr r26, r3
|
|
/* 80039938 00035778 3F E0 80 42 */ lis r31, _current_locale@ha
|
|
/* 8003993C 0003577C 83 AD E6 10 */ lwz r29, currentDirectory@sda21(r13)
|
|
/* 80039940 00035780 7F 5C D3 78 */ mr r28, r26
|
|
/* 80039944 00035784 3B FF 15 10 */ addi r31, r31, _current_locale@l
|
|
/* 80039948 00035788 3F C0 80 43 */ lis r30, "@1638_804310F8"@ha
|
|
.global lbl_8003994C
|
|
lbl_8003994C:
|
|
/* 8003994C 0003578C 88 1A 00 00 */ lbz r0, 0x0(r26)
|
|
/* 80039950 00035790 7C 00 07 75 */ extsb. r0, r0
|
|
/* 80039954 00035794 40 82 00 0C */ bne lbl_80039960
|
|
/* 80039958 00035798 7F A3 EB 78 */ mr r3, r29
|
|
/* 8003995C 0003579C 48 00 02 B4 */ b lbl_80039C10
|
|
.global lbl_80039960
|
|
lbl_80039960:
|
|
/* 80039960 000357A0 2C 00 00 2F */ cmpwi r0, 0x2f
|
|
/* 80039964 000357A4 40 82 00 10 */ bne lbl_80039974
|
|
/* 80039968 000357A8 3B A0 00 00 */ li r29, 0x0
|
|
/* 8003996C 000357AC 3B 5A 00 01 */ addi r26, r26, 0x1
|
|
/* 80039970 000357B0 4B FF FF DC */ b lbl_8003994C
|
|
.global lbl_80039974
|
|
lbl_80039974:
|
|
/* 80039974 000357B4 2C 00 00 2E */ cmpwi r0, 0x2e
|
|
/* 80039978 000357B8 40 82 00 78 */ bne lbl_800399F0
|
|
/* 8003997C 000357BC 88 1A 00 01 */ lbz r0, 0x1(r26)
|
|
/* 80039980 000357C0 7C 00 07 74 */ extsb r0, r0
|
|
/* 80039984 000357C4 2C 00 00 2E */ cmpwi r0, 0x2e
|
|
/* 80039988 000357C8 40 82 00 48 */ bne lbl_800399D0
|
|
/* 8003998C 000357CC 88 1A 00 02 */ lbz r0, 0x2(r26)
|
|
/* 80039990 000357D0 7C 00 07 74 */ extsb r0, r0
|
|
/* 80039994 000357D4 2C 00 00 2F */ cmpwi r0, 0x2f
|
|
/* 80039998 000357D8 40 82 00 1C */ bne lbl_800399B4
|
|
/* 8003999C 000357DC 1C 1D 00 0C */ mulli r0, r29, 0xc
|
|
/* 800399A0 000357E0 80 6D E6 28 */ lwz r3, FstStart@sda21(r13)
|
|
/* 800399A4 000357E4 3B 5A 00 03 */ addi r26, r26, 0x3
|
|
/* 800399A8 000357E8 7C 63 02 14 */ add r3, r3, r0
|
|
/* 800399AC 000357EC 83 A3 00 04 */ lwz r29, 0x4(r3)
|
|
/* 800399B0 000357F0 4B FF FF 9C */ b lbl_8003994C
|
|
.global lbl_800399B4
|
|
lbl_800399B4:
|
|
/* 800399B4 000357F4 2C 00 00 00 */ cmpwi r0, 0x0
|
|
/* 800399B8 000357F8 40 82 00 38 */ bne lbl_800399F0
|
|
/* 800399BC 000357FC 1C 1D 00 0C */ mulli r0, r29, 0xc
|
|
/* 800399C0 00035800 80 6D E6 28 */ lwz r3, FstStart@sda21(r13)
|
|
/* 800399C4 00035804 7C 63 02 14 */ add r3, r3, r0
|
|
/* 800399C8 00035808 80 63 00 04 */ lwz r3, 0x4(r3)
|
|
/* 800399CC 0003580C 48 00 02 44 */ b lbl_80039C10
|
|
.global lbl_800399D0
|
|
lbl_800399D0:
|
|
/* 800399D0 00035810 2C 00 00 2F */ cmpwi r0, 0x2f
|
|
/* 800399D4 00035814 40 82 00 0C */ bne lbl_800399E0
|
|
/* 800399D8 00035818 3B 5A 00 02 */ addi r26, r26, 0x2
|
|
/* 800399DC 0003581C 4B FF FF 70 */ b lbl_8003994C
|
|
.global lbl_800399E0
|
|
lbl_800399E0:
|
|
/* 800399E0 00035820 2C 00 00 00 */ cmpwi r0, 0x0
|
|
/* 800399E4 00035824 40 82 00 0C */ bne lbl_800399F0
|
|
/* 800399E8 00035828 7F A3 EB 78 */ mr r3, r29
|
|
/* 800399EC 0003582C 48 00 02 24 */ b lbl_80039C10
|
|
.global lbl_800399F0
|
|
lbl_800399F0:
|
|
/* 800399F0 00035830 80 0D 81 A8 */ lwz r0, __DVDLongFileNameFlag@sda21(r13)
|
|
/* 800399F4 00035834 2C 00 00 00 */ cmpwi r0, 0x0
|
|
/* 800399F8 00035838 40 82 00 AC */ bne lbl_80039AA4
|
|
/* 800399FC 0003583C 7F 57 D3 78 */ mr r23, r26
|
|
/* 80039A00 00035840 38 A0 00 00 */ li r5, 0x0
|
|
/* 80039A04 00035844 38 80 00 00 */ li r4, 0x0
|
|
/* 80039A08 00035848 48 00 00 4C */ b lbl_80039A54
|
|
/* 80039A0C 0003584C 60 00 00 00 */ nop
|
|
.global lbl_80039A10
|
|
lbl_80039A10:
|
|
/* 80039A10 00035850 7C 60 07 74 */ extsb r0, r3
|
|
/* 80039A14 00035854 2C 00 00 2E */ cmpwi r0, 0x2e
|
|
/* 80039A18 00035858 40 82 00 2C */ bne lbl_80039A44
|
|
/* 80039A1C 0003585C 7C 1A B8 50 */ subf r0, r26, r23
|
|
/* 80039A20 00035860 2C 00 00 08 */ cmpwi r0, 0x8
|
|
/* 80039A24 00035864 41 81 00 0C */ bgt lbl_80039A30
|
|
/* 80039A28 00035868 2C 05 00 01 */ cmpwi r5, 0x1
|
|
/* 80039A2C 0003586C 40 82 00 0C */ bne lbl_80039A38
|
|
.global lbl_80039A30
|
|
lbl_80039A30:
|
|
/* 80039A30 00035870 38 80 00 01 */ li r4, 0x1
|
|
/* 80039A34 00035874 48 00 00 34 */ b lbl_80039A68
|
|
.global lbl_80039A38
|
|
lbl_80039A38:
|
|
/* 80039A38 00035878 3B 77 00 01 */ addi r27, r23, 0x1
|
|
/* 80039A3C 0003587C 38 A0 00 01 */ li r5, 0x1
|
|
/* 80039A40 00035880 48 00 00 10 */ b lbl_80039A50
|
|
.global lbl_80039A44
|
|
lbl_80039A44:
|
|
/* 80039A44 00035884 2C 00 00 20 */ cmpwi r0, 0x20
|
|
/* 80039A48 00035888 40 82 00 08 */ bne lbl_80039A50
|
|
/* 80039A4C 0003588C 38 80 00 01 */ li r4, 0x1
|
|
.global lbl_80039A50
|
|
lbl_80039A50:
|
|
/* 80039A50 00035890 3A F7 00 01 */ addi r23, r23, 0x1
|
|
.global lbl_80039A54
|
|
lbl_80039A54:
|
|
/* 80039A54 00035894 88 77 00 00 */ lbz r3, 0x0(r23)
|
|
/* 80039A58 00035898 7C 60 07 75 */ extsb. r0, r3
|
|
/* 80039A5C 0003589C 41 82 00 0C */ beq lbl_80039A68
|
|
/* 80039A60 000358A0 2C 00 00 2F */ cmpwi r0, 0x2f
|
|
/* 80039A64 000358A4 40 82 FF AC */ bne lbl_80039A10
|
|
.global lbl_80039A68
|
|
lbl_80039A68:
|
|
/* 80039A68 000358A8 2C 05 00 01 */ cmpwi r5, 0x1
|
|
/* 80039A6C 000358AC 40 82 00 14 */ bne lbl_80039A80
|
|
/* 80039A70 000358B0 7C 1B B8 50 */ subf r0, r27, r23
|
|
/* 80039A74 000358B4 2C 00 00 03 */ cmpwi r0, 0x3
|
|
/* 80039A78 000358B8 40 81 00 08 */ ble lbl_80039A80
|
|
/* 80039A7C 000358BC 38 80 00 01 */ li r4, 0x1
|
|
.global lbl_80039A80
|
|
lbl_80039A80:
|
|
/* 80039A80 000358C0 2C 04 00 00 */ cmpwi r4, 0x0
|
|
/* 80039A84 000358C4 41 82 00 44 */ beq lbl_80039AC8
|
|
/* 80039A88 000358C8 7F 86 E3 78 */ mr r6, r28
|
|
/* 80039A8C 000358CC 38 BE 10 F8 */ addi r5, r30, "@1638_804310F8"@l
|
|
/* 80039A90 000358D0 38 6D 81 B0 */ addi r3, r13, "@1637_805565D0"@sda21
|
|
/* 80039A94 000358D4 38 80 01 C4 */ li r4, 0x1c4
|
|
/* 80039A98 000358D8 4C C6 31 82 */ crclr 4*cr1+eq
|
|
/* 80039A9C 000358DC 48 15 0D 55 */ bl OSPanic
|
|
/* 80039AA0 000358E0 48 00 00 28 */ b lbl_80039AC8
|
|
.global lbl_80039AA4
|
|
lbl_80039AA4:
|
|
/* 80039AA4 000358E4 7F 57 D3 78 */ mr r23, r26
|
|
/* 80039AA8 000358E8 48 00 00 0C */ b lbl_80039AB4
|
|
/* 80039AAC 000358EC 60 00 00 00 */ nop
|
|
.global lbl_80039AB0
|
|
lbl_80039AB0:
|
|
/* 80039AB0 000358F0 3A F7 00 01 */ addi r23, r23, 0x1
|
|
.global lbl_80039AB4
|
|
lbl_80039AB4:
|
|
/* 80039AB4 000358F4 88 17 00 00 */ lbz r0, 0x0(r23)
|
|
/* 80039AB8 000358F8 7C 00 07 75 */ extsb. r0, r0
|
|
/* 80039ABC 000358FC 41 82 00 0C */ beq lbl_80039AC8
|
|
/* 80039AC0 00035900 2C 00 00 2F */ cmpwi r0, 0x2f
|
|
/* 80039AC4 00035904 40 82 FF EC */ bne lbl_80039AB0
|
|
.global lbl_80039AC8
|
|
lbl_80039AC8:
|
|
/* 80039AC8 00035908 88 17 00 00 */ lbz r0, 0x0(r23)
|
|
/* 80039ACC 0003590C 1C 7D 00 0C */ mulli r3, r29, 0xc
|
|
/* 80039AD0 00035910 80 ED E6 28 */ lwz r7, FstStart@sda21(r13)
|
|
/* 80039AD4 00035914 7D 1A B8 50 */ subf r8, r26, r23
|
|
/* 80039AD8 00035918 7C 05 07 74 */ extsb r5, r0
|
|
/* 80039ADC 0003591C 80 0D E6 24 */ lwz r0, FstStringStart@sda21(r13)
|
|
/* 80039AE0 00035920 7C 85 00 D0 */ neg r4, r5
|
|
/* 80039AE4 00035924 7C 85 2B 78 */ or r5, r4, r5
|
|
/* 80039AE8 00035928 7C 67 1A 14 */ add r3, r7, r3
|
|
/* 80039AEC 0003592C 80 83 00 08 */ lwz r4, 0x8(r3)
|
|
/* 80039AF0 00035930 54 B9 0F FE */ srwi r25, r5, 31
|
|
/* 80039AF4 00035934 81 5F 00 38 */ lwz r10, 0x38(r31)
|
|
/* 80039AF8 00035938 38 7D 00 01 */ addi r3, r29, 0x1
|
|
/* 80039AFC 0003593C 48 00 00 E8 */ b lbl_80039BE4
|
|
.global lbl_80039B00
|
|
lbl_80039B00:
|
|
/* 80039B00 00035940 1C A3 00 0C */ mulli r5, r3, 0xc
|
|
/* 80039B04 00035944 7D 25 38 6E */ lwzux r9, r5, r7
|
|
/* 80039B08 00035948 55 26 00 0F */ clrrwi. r6, r9, 24
|
|
/* 80039B0C 0003594C 40 82 00 0C */ bne lbl_80039B18
|
|
/* 80039B10 00035950 2C 19 00 01 */ cmpwi r25, 0x1
|
|
/* 80039B14 00035954 41 82 00 BC */ beq lbl_80039BD0
|
|
.global lbl_80039B18
|
|
lbl_80039B18:
|
|
/* 80039B18 00035958 55 29 02 3E */ clrlwi r9, r9, 8
|
|
/* 80039B1C 0003595C 7F 4B D3 78 */ mr r11, r26
|
|
/* 80039B20 00035960 7D 80 4A 14 */ add r12, r0, r9
|
|
/* 80039B24 00035964 48 00 00 74 */ b lbl_80039B98
|
|
.global lbl_80039B28
|
|
lbl_80039B28:
|
|
/* 80039B28 00035968 89 2C 00 00 */ lbz r9, 0x0(r12)
|
|
/* 80039B2C 0003596C 3B A0 00 01 */ li r29, 0x1
|
|
/* 80039B30 00035970 39 8C 00 01 */ addi r12, r12, 0x1
|
|
/* 80039B34 00035974 7D 38 07 74 */ extsb r24, r9
|
|
/* 80039B38 00035978 28 18 00 FF */ cmplwi r24, 0xff
|
|
/* 80039B3C 0003597C 41 81 00 08 */ bgt lbl_80039B44
|
|
/* 80039B40 00035980 3B A0 00 00 */ li r29, 0x0
|
|
.global lbl_80039B44
|
|
lbl_80039B44:
|
|
/* 80039B44 00035984 2C 1D 00 00 */ cmpwi r29, 0x0
|
|
/* 80039B48 00035988 41 82 00 08 */ beq lbl_80039B50
|
|
/* 80039B4C 0003598C 48 00 00 0C */ b lbl_80039B58
|
|
.global lbl_80039B50
|
|
lbl_80039B50:
|
|
/* 80039B50 00035990 81 2A 00 10 */ lwz r9, 0x10(r10)
|
|
/* 80039B54 00035994 7F 09 C0 AE */ lbzx r24, r9, r24
|
|
.global lbl_80039B58
|
|
lbl_80039B58:
|
|
/* 80039B58 00035998 89 2B 00 00 */ lbz r9, 0x0(r11)
|
|
/* 80039B5C 0003599C 3A E0 00 01 */ li r23, 0x1
|
|
/* 80039B60 000359A0 39 6B 00 01 */ addi r11, r11, 0x1
|
|
/* 80039B64 000359A4 7D 3D 07 74 */ extsb r29, r9
|
|
/* 80039B68 000359A8 28 1D 00 FF */ cmplwi r29, 0xff
|
|
/* 80039B6C 000359AC 41 81 00 08 */ bgt lbl_80039B74
|
|
/* 80039B70 000359B0 3A E0 00 00 */ li r23, 0x0
|
|
.global lbl_80039B74
|
|
lbl_80039B74:
|
|
/* 80039B74 000359B4 2C 17 00 00 */ cmpwi r23, 0x0
|
|
/* 80039B78 000359B8 41 82 00 08 */ beq lbl_80039B80
|
|
/* 80039B7C 000359BC 48 00 00 0C */ b lbl_80039B88
|
|
.global lbl_80039B80
|
|
lbl_80039B80:
|
|
/* 80039B80 000359C0 81 2A 00 10 */ lwz r9, 0x10(r10)
|
|
/* 80039B84 000359C4 7F A9 E8 AE */ lbzx r29, r9, r29
|
|
.global lbl_80039B88
|
|
lbl_80039B88:
|
|
/* 80039B88 000359C8 7C 1D C0 00 */ cmpw r29, r24
|
|
/* 80039B8C 000359CC 41 82 00 0C */ beq lbl_80039B98
|
|
/* 80039B90 000359D0 39 20 00 00 */ li r9, 0x0
|
|
/* 80039B94 000359D4 48 00 00 34 */ b lbl_80039BC8
|
|
.global lbl_80039B98
|
|
lbl_80039B98:
|
|
/* 80039B98 000359D8 89 2C 00 00 */ lbz r9, 0x0(r12)
|
|
/* 80039B9C 000359DC 7D 29 07 75 */ extsb. r9, r9
|
|
/* 80039BA0 000359E0 40 82 FF 88 */ bne lbl_80039B28
|
|
/* 80039BA4 000359E4 89 2B 00 00 */ lbz r9, 0x0(r11)
|
|
/* 80039BA8 000359E8 7D 29 07 74 */ extsb r9, r9
|
|
/* 80039BAC 000359EC 2C 09 00 2F */ cmpwi r9, 0x2f
|
|
/* 80039BB0 000359F0 41 82 00 0C */ beq lbl_80039BBC
|
|
/* 80039BB4 000359F4 2C 09 00 00 */ cmpwi r9, 0x0
|
|
/* 80039BB8 000359F8 40 82 00 0C */ bne lbl_80039BC4
|
|
.global lbl_80039BBC
|
|
lbl_80039BBC:
|
|
/* 80039BBC 000359FC 39 20 00 01 */ li r9, 0x1
|
|
/* 80039BC0 00035A00 48 00 00 08 */ b lbl_80039BC8
|
|
.global lbl_80039BC4
|
|
lbl_80039BC4:
|
|
/* 80039BC4 00035A04 39 20 00 00 */ li r9, 0x0
|
|
.global lbl_80039BC8
|
|
lbl_80039BC8:
|
|
/* 80039BC8 00035A08 2C 09 00 01 */ cmpwi r9, 0x1
|
|
/* 80039BCC 00035A0C 41 82 00 28 */ beq lbl_80039BF4
|
|
.global lbl_80039BD0
|
|
lbl_80039BD0:
|
|
/* 80039BD0 00035A10 2C 06 00 00 */ cmpwi r6, 0x0
|
|
/* 80039BD4 00035A14 41 82 00 0C */ beq lbl_80039BE0
|
|
/* 80039BD8 00035A18 80 65 00 08 */ lwz r3, 0x8(r5)
|
|
/* 80039BDC 00035A1C 48 00 00 08 */ b lbl_80039BE4
|
|
.global lbl_80039BE0
|
|
lbl_80039BE0:
|
|
/* 80039BE0 00035A20 38 63 00 01 */ addi r3, r3, 0x1
|
|
.global lbl_80039BE4
|
|
lbl_80039BE4:
|
|
/* 80039BE4 00035A24 7C 03 20 40 */ cmplw r3, r4
|
|
/* 80039BE8 00035A28 41 80 FF 18 */ blt lbl_80039B00
|
|
/* 80039BEC 00035A2C 38 60 FF FF */ li r3, -0x1
|
|
/* 80039BF0 00035A30 48 00 00 20 */ b lbl_80039C10
|
|
.global lbl_80039BF4
|
|
lbl_80039BF4:
|
|
/* 80039BF4 00035A34 2C 19 00 00 */ cmpwi r25, 0x0
|
|
/* 80039BF8 00035A38 40 82 00 08 */ bne lbl_80039C00
|
|
/* 80039BFC 00035A3C 48 00 00 14 */ b lbl_80039C10
|
|
.global lbl_80039C00
|
|
lbl_80039C00:
|
|
/* 80039C00 00035A40 7C 88 D2 14 */ add r4, r8, r26
|
|
/* 80039C04 00035A44 7C 7D 1B 78 */ mr r29, r3
|
|
/* 80039C08 00035A48 3B 44 00 01 */ addi r26, r4, 0x1
|
|
/* 80039C0C 00035A4C 4B FF FD 40 */ b lbl_8003994C
|
|
.global lbl_80039C10
|
|
lbl_80039C10:
|
|
/* 80039C10 00035A50 39 61 00 30 */ addi r11, r1, 0x30
|
|
/* 80039C14 00035A54 4B FC D7 65 */ bl lbl_80007378
|
|
/* 80039C18 00035A58 80 01 00 34 */ lwz r0, 0x34(r1)
|
|
/* 80039C1C 00035A5C 7C 08 03 A6 */ mtlr r0
|
|
/* 80039C20 00035A60 38 21 00 30 */ addi r1, r1, 0x30
|
|
/* 80039C24 00035A64 4E 80 00 20 */ blr
|
|
/* 80039C28 00035A68 00 00 00 00 */ .4byte 0x00000000
|
|
/* 80039C2C 00035A6C 00 00 00 00 */ .4byte 0x00000000
|
|
.global DVDFastOpen
|
|
DVDFastOpen:
|
|
/* 80039C30 00035A70 2C 03 00 00 */ cmpwi r3, 0x0
|
|
/* 80039C34 00035A74 41 80 00 24 */ blt lbl_80039C58
|
|
/* 80039C38 00035A78 80 0D E6 20 */ lwz r0, MaxEntryNum@sda21(r13)
|
|
/* 80039C3C 00035A7C 7C 03 00 40 */ cmplw r3, r0
|
|
/* 80039C40 00035A80 40 80 00 18 */ bge lbl_80039C58
|
|
/* 80039C44 00035A84 1C E3 00 0C */ mulli r7, r3, 0xc
|
|
/* 80039C48 00035A88 80 6D E6 28 */ lwz r3, FstStart@sda21(r13)
|
|
/* 80039C4C 00035A8C 7C 03 38 2E */ lwzx r0, r3, r7
|
|
/* 80039C50 00035A90 54 00 00 0F */ clrrwi. r0, r0, 24
|
|
/* 80039C54 00035A94 41 82 00 0C */ beq lbl_80039C60
|
|
.global lbl_80039C58
|
|
lbl_80039C58:
|
|
/* 80039C58 00035A98 38 60 00 00 */ li r3, 0x0
|
|
/* 80039C5C 00035A9C 4E 80 00 20 */ blr
|
|
.global lbl_80039C60
|
|
lbl_80039C60:
|
|
/* 80039C60 00035AA0 7C 63 3A 14 */ add r3, r3, r7
|
|
/* 80039C64 00035AA4 80 AD E6 78 */ lwz r5, __DVDLayoutFormat@sda21(r13)
|
|
/* 80039C68 00035AA8 80 C3 00 04 */ lwz r6, 0x4(r3)
|
|
/* 80039C6C 00035AAC 38 00 00 00 */ li r0, 0x0
|
|
/* 80039C70 00035AB0 38 60 00 01 */ li r3, 0x1
|
|
/* 80039C74 00035AB4 7C C5 2C 30 */ srw r5, r6, r5
|
|
/* 80039C78 00035AB8 90 A4 00 30 */ stw r5, 0x30(r4)
|
|
/* 80039C7C 00035ABC 80 AD E6 28 */ lwz r5, FstStart@sda21(r13)
|
|
/* 80039C80 00035AC0 7C A5 3A 14 */ add r5, r5, r7
|
|
/* 80039C84 00035AC4 80 A5 00 08 */ lwz r5, 0x8(r5)
|
|
/* 80039C88 00035AC8 90 A4 00 34 */ stw r5, 0x34(r4)
|
|
/* 80039C8C 00035ACC 90 04 00 38 */ stw r0, 0x38(r4)
|
|
/* 80039C90 00035AD0 90 04 00 0C */ stw r0, 0xc(r4)
|
|
/* 80039C94 00035AD4 4E 80 00 20 */ blr
|
|
/* 80039C98 00035AD8 00 00 00 00 */ .4byte 0x00000000
|
|
/* 80039C9C 00035ADC 00 00 00 00 */ .4byte 0x00000000
|
|
.global DVDOpen
|
|
DVDOpen:
|
|
/* 80039CA0 00035AE0 94 21 FF 70 */ stwu r1, -0x90(r1)
|
|
/* 80039CA4 00035AE4 7C 08 02 A6 */ mflr r0
|
|
/* 80039CA8 00035AE8 90 01 00 94 */ stw r0, 0x94(r1)
|
|
/* 80039CAC 00035AEC 93 E1 00 8C */ stw r31, 0x8c(r1)
|
|
/* 80039CB0 00035AF0 7C 9F 23 78 */ mr r31, r4
|
|
/* 80039CB4 00035AF4 93 C1 00 88 */ stw r30, 0x88(r1)
|
|
/* 80039CB8 00035AF8 7C 7E 1B 78 */ mr r30, r3
|
|
/* 80039CBC 00035AFC 4B FF FC 65 */ bl DVDConvertPathToEntrynum
|
|
/* 80039CC0 00035B00 2C 03 00 00 */ cmpwi r3, 0x0
|
|
/* 80039CC4 00035B04 40 80 00 94 */ bge lbl_80039D58
|
|
/* 80039CC8 00035B08 83 ED E6 10 */ lwz r31, currentDirectory@sda21(r13)
|
|
/* 80039CCC 00035B0C 38 81 00 08 */ addi r4, r1, 0x8
|
|
/* 80039CD0 00035B10 38 A0 00 80 */ li r5, 0x80
|
|
/* 80039CD4 00035B14 7F E3 FB 78 */ mr r3, r31
|
|
/* 80039CD8 00035B18 48 00 01 19 */ bl entryToPath_80039DF0
|
|
/* 80039CDC 00035B1C 28 03 00 80 */ cmplwi r3, 0x80
|
|
/* 80039CE0 00035B20 40 82 00 10 */ bne lbl_80039CF0
|
|
/* 80039CE4 00035B24 38 00 00 00 */ li r0, 0x0
|
|
/* 80039CE8 00035B28 98 01 00 87 */ stb r0, 0x87(r1)
|
|
/* 80039CEC 00035B2C 48 00 00 4C */ b lbl_80039D38
|
|
.global lbl_80039CF0
|
|
lbl_80039CF0:
|
|
/* 80039CF0 00035B30 1C 1F 00 0C */ mulli r0, r31, 0xc
|
|
/* 80039CF4 00035B34 80 8D E6 28 */ lwz r4, FstStart@sda21(r13)
|
|
/* 80039CF8 00035B38 7C 04 00 2E */ lwzx r0, r4, r0
|
|
/* 80039CFC 00035B3C 54 00 00 0F */ clrrwi. r0, r0, 24
|
|
/* 80039D00 00035B40 41 82 00 2C */ beq lbl_80039D2C
|
|
/* 80039D04 00035B44 28 03 00 7F */ cmplwi r3, 0x7f
|
|
/* 80039D08 00035B48 40 82 00 14 */ bne lbl_80039D1C
|
|
/* 80039D0C 00035B4C 38 81 00 08 */ addi r4, r1, 0x8
|
|
/* 80039D10 00035B50 38 00 00 00 */ li r0, 0x0
|
|
/* 80039D14 00035B54 7C 04 19 AE */ stbx r0, r4, r3
|
|
/* 80039D18 00035B58 48 00 00 20 */ b lbl_80039D38
|
|
.global lbl_80039D1C
|
|
lbl_80039D1C:
|
|
/* 80039D1C 00035B5C 38 81 00 08 */ addi r4, r1, 0x8
|
|
/* 80039D20 00035B60 38 00 00 2F */ li r0, 0x2f
|
|
/* 80039D24 00035B64 7C 04 19 AE */ stbx r0, r4, r3
|
|
/* 80039D28 00035B68 38 63 00 01 */ addi r3, r3, 0x1
|
|
.global lbl_80039D2C
|
|
lbl_80039D2C:
|
|
/* 80039D2C 00035B6C 38 81 00 08 */ addi r4, r1, 0x8
|
|
/* 80039D30 00035B70 38 00 00 00 */ li r0, 0x0
|
|
/* 80039D34 00035B74 7C 04 19 AE */ stbx r0, r4, r3
|
|
.global lbl_80039D38
|
|
lbl_80039D38:
|
|
/* 80039D38 00035B78 3C 60 80 43 */ lis r3, "@1688_804311C0"@ha
|
|
/* 80039D3C 00035B7C 7F C4 F3 78 */ mr r4, r30
|
|
/* 80039D40 00035B80 38 63 11 C0 */ addi r3, r3, "@1688_804311C0"@l
|
|
/* 80039D44 00035B84 38 A1 00 08 */ addi r5, r1, 0x8
|
|
/* 80039D48 00035B88 4C C6 31 82 */ crclr 4*cr1+eq
|
|
/* 80039D4C 00035B8C 4B FE 3C 45 */ bl OSReport
|
|
/* 80039D50 00035B90 38 60 00 00 */ li r3, 0x0
|
|
/* 80039D54 00035B94 48 00 00 54 */ b lbl_80039DA8
|
|
.global lbl_80039D58
|
|
lbl_80039D58:
|
|
/* 80039D58 00035B98 1C C3 00 0C */ mulli r6, r3, 0xc
|
|
/* 80039D5C 00035B9C 80 6D E6 28 */ lwz r3, FstStart@sda21(r13)
|
|
/* 80039D60 00035BA0 7C 03 30 2E */ lwzx r0, r3, r6
|
|
/* 80039D64 00035BA4 54 00 00 0F */ clrrwi. r0, r0, 24
|
|
/* 80039D68 00035BA8 41 82 00 0C */ beq lbl_80039D74
|
|
/* 80039D6C 00035BAC 38 60 00 00 */ li r3, 0x0
|
|
/* 80039D70 00035BB0 48 00 00 38 */ b lbl_80039DA8
|
|
.global lbl_80039D74
|
|
lbl_80039D74:
|
|
/* 80039D74 00035BB4 7C 63 32 14 */ add r3, r3, r6
|
|
/* 80039D78 00035BB8 80 8D E6 78 */ lwz r4, __DVDLayoutFormat@sda21(r13)
|
|
/* 80039D7C 00035BBC 80 A3 00 04 */ lwz r5, 0x4(r3)
|
|
/* 80039D80 00035BC0 38 00 00 00 */ li r0, 0x0
|
|
/* 80039D84 00035BC4 38 60 00 01 */ li r3, 0x1
|
|
/* 80039D88 00035BC8 7C A4 24 30 */ srw r4, r5, r4
|
|
/* 80039D8C 00035BCC 90 9F 00 30 */ stw r4, 0x30(r31)
|
|
/* 80039D90 00035BD0 80 8D E6 28 */ lwz r4, FstStart@sda21(r13)
|
|
/* 80039D94 00035BD4 7C 84 32 14 */ add r4, r4, r6
|
|
/* 80039D98 00035BD8 80 84 00 08 */ lwz r4, 0x8(r4)
|
|
/* 80039D9C 00035BDC 90 9F 00 34 */ stw r4, 0x34(r31)
|
|
/* 80039DA0 00035BE0 90 1F 00 38 */ stw r0, 0x38(r31)
|
|
/* 80039DA4 00035BE4 90 1F 00 0C */ stw r0, 0xc(r31)
|
|
.global lbl_80039DA8
|
|
lbl_80039DA8:
|
|
/* 80039DA8 00035BE8 80 01 00 94 */ lwz r0, 0x94(r1)
|
|
/* 80039DAC 00035BEC 83 E1 00 8C */ lwz r31, 0x8c(r1)
|
|
/* 80039DB0 00035BF0 83 C1 00 88 */ lwz r30, 0x88(r1)
|
|
/* 80039DB4 00035BF4 7C 08 03 A6 */ mtlr r0
|
|
/* 80039DB8 00035BF8 38 21 00 90 */ addi r1, r1, 0x90
|
|
/* 80039DBC 00035BFC 4E 80 00 20 */ blr
|
|
.global DVDClose
|
|
DVDClose:
|
|
/* 80039DC0 00035C00 94 21 FF F0 */ stwu r1, -0x10(r1)
|
|
/* 80039DC4 00035C04 7C 08 02 A6 */ mflr r0
|
|
/* 80039DC8 00035C08 90 01 00 14 */ stw r0, 0x14(r1)
|
|
/* 80039DCC 00035C0C 48 00 4A E5 */ bl DVDCancel
|
|
/* 80039DD0 00035C10 80 01 00 14 */ lwz r0, 0x14(r1)
|
|
/* 80039DD4 00035C14 38 60 00 01 */ li r3, 0x1
|
|
/* 80039DD8 00035C18 7C 08 03 A6 */ mtlr r0
|
|
/* 80039DDC 00035C1C 38 21 00 10 */ addi r1, r1, 0x10
|
|
/* 80039DE0 00035C20 4E 80 00 20 */ blr
|
|
/* 80039DE4 00035C24 00 00 00 00 */ .4byte 0x00000000
|
|
/* 80039DE8 00035C28 00 00 00 00 */ .4byte 0x00000000
|
|
/* 80039DEC 00035C2C 00 00 00 00 */ .4byte 0x00000000
|
|
.global entryToPath_80039DF0
|
|
entryToPath_80039DF0:
|
|
/* 80039DF0 00035C30 94 21 FF E0 */ stwu r1, -0x20(r1)
|
|
/* 80039DF4 00035C34 7C 08 02 A6 */ mflr r0
|
|
/* 80039DF8 00035C38 2C 83 00 00 */ cmpwi cr1, r3, 0x0
|
|
/* 80039DFC 00035C3C 90 01 00 24 */ stw r0, 0x24(r1)
|
|
/* 80039E00 00035C40 93 E1 00 1C */ stw r31, 0x1c(r1)
|
|
/* 80039E04 00035C44 93 C1 00 18 */ stw r30, 0x18(r1)
|
|
/* 80039E08 00035C48 7C BE 2B 78 */ mr r30, r5
|
|
/* 80039E0C 00035C4C 93 A1 00 14 */ stw r29, 0x14(r1)
|
|
/* 80039E10 00035C50 7C 9D 23 78 */ mr r29, r4
|
|
/* 80039E14 00035C54 40 86 00 0C */ bne cr1, lbl_80039E20
|
|
/* 80039E18 00035C58 38 60 00 00 */ li r3, 0x0
|
|
/* 80039E1C 00035C5C 48 00 00 CC */ b lbl_80039EE8
|
|
.global lbl_80039E20
|
|
lbl_80039E20:
|
|
/* 80039E20 00035C60 1C 03 00 0C */ mulli r0, r3, 0xc
|
|
/* 80039E24 00035C64 80 AD E6 28 */ lwz r5, FstStart@sda21(r13)
|
|
/* 80039E28 00035C68 80 8D E6 24 */ lwz r4, FstStringStart@sda21(r13)
|
|
/* 80039E2C 00035C6C 7C C5 00 6E */ lwzux r6, r5, r0
|
|
/* 80039E30 00035C70 54 C0 00 0F */ clrrwi. r0, r6, 24
|
|
/* 80039E34 00035C74 54 C0 02 3E */ clrlwi r0, r6, 8
|
|
/* 80039E38 00035C78 7F E4 02 14 */ add r31, r4, r0
|
|
/* 80039E3C 00035C7C 41 82 00 0C */ beq lbl_80039E48
|
|
/* 80039E40 00035C80 80 85 00 04 */ lwz r4, 0x4(r5)
|
|
/* 80039E44 00035C84 48 00 00 38 */ b lbl_80039E7C
|
|
.global lbl_80039E48
|
|
lbl_80039E48:
|
|
/* 80039E48 00035C88 7C 64 1B 78 */ mr r4, r3
|
|
/* 80039E4C 00035C8C 7C 69 03 A6 */ mtctr r3
|
|
/* 80039E50 00035C90 41 86 00 2C */ beq cr1, lbl_80039E7C
|
|
/* 80039E54 00035C94 60 00 00 00 */ nop
|
|
.global lbl_80039E58
|
|
lbl_80039E58:
|
|
/* 80039E58 00035C98 80 05 00 00 */ lwz r0, 0x0(r5)
|
|
/* 80039E5C 00035C9C 54 00 00 0F */ clrrwi. r0, r0, 24
|
|
/* 80039E60 00035CA0 41 82 00 10 */ beq lbl_80039E70
|
|
/* 80039E64 00035CA4 80 05 00 08 */ lwz r0, 0x8(r5)
|
|
/* 80039E68 00035CA8 7C 00 18 40 */ cmplw r0, r3
|
|
/* 80039E6C 00035CAC 41 81 00 10 */ bgt lbl_80039E7C
|
|
.global lbl_80039E70
|
|
lbl_80039E70:
|
|
/* 80039E70 00035CB0 38 A5 FF F4 */ addi r5, r5, -0xc
|
|
/* 80039E74 00035CB4 38 84 FF FF */ addi r4, r4, -0x1
|
|
/* 80039E78 00035CB8 42 00 FF E0 */ bdnz lbl_80039E58
|
|
.global lbl_80039E7C
|
|
lbl_80039E7C:
|
|
/* 80039E7C 00035CBC 7C 83 23 78 */ mr r3, r4
|
|
/* 80039E80 00035CC0 7F A4 EB 78 */ mr r4, r29
|
|
/* 80039E84 00035CC4 7F C5 F3 78 */ mr r5, r30
|
|
/* 80039E88 00035CC8 4B FF FF 69 */ bl entryToPath_80039DF0
|
|
/* 80039E8C 00035CCC 7C 03 F0 40 */ cmplw r3, r30
|
|
/* 80039E90 00035CD0 40 82 00 08 */ bne lbl_80039E98
|
|
/* 80039E94 00035CD4 48 00 00 54 */ b lbl_80039EE8
|
|
.global lbl_80039E98
|
|
lbl_80039E98:
|
|
/* 80039E98 00035CD8 38 C3 00 01 */ addi r6, r3, 0x1
|
|
/* 80039E9C 00035CDC 38 00 00 2F */ li r0, 0x2f
|
|
/* 80039EA0 00035CE0 7C A6 F0 50 */ subf r5, r6, r30
|
|
/* 80039EA4 00035CE4 7C 1D 19 AE */ stbx r0, r29, r3
|
|
/* 80039EA8 00035CE8 7C 7D 32 14 */ add r3, r29, r6
|
|
/* 80039EAC 00035CEC 7C A4 2B 78 */ mr r4, r5
|
|
/* 80039EB0 00035CF0 48 00 00 1C */ b lbl_80039ECC
|
|
/* 80039EB4 00035CF4 60 00 00 00 */ nop
|
|
.global lbl_80039EB8
|
|
lbl_80039EB8:
|
|
/* 80039EB8 00035CF8 88 1F 00 00 */ lbz r0, 0x0(r31)
|
|
/* 80039EBC 00035CFC 3B FF 00 01 */ addi r31, r31, 0x1
|
|
/* 80039EC0 00035D00 98 03 00 00 */ stb r0, 0x0(r3)
|
|
/* 80039EC4 00035D04 38 63 00 01 */ addi r3, r3, 0x1
|
|
/* 80039EC8 00035D08 38 84 FF FF */ addi r4, r4, -0x1
|
|
.global lbl_80039ECC
|
|
lbl_80039ECC:
|
|
/* 80039ECC 00035D0C 2C 04 00 00 */ cmpwi r4, 0x0
|
|
/* 80039ED0 00035D10 41 82 00 10 */ beq lbl_80039EE0
|
|
/* 80039ED4 00035D14 88 1F 00 00 */ lbz r0, 0x0(r31)
|
|
/* 80039ED8 00035D18 7C 00 07 75 */ extsb. r0, r0
|
|
/* 80039EDC 00035D1C 40 82 FF DC */ bne lbl_80039EB8
|
|
.global lbl_80039EE0
|
|
lbl_80039EE0:
|
|
/* 80039EE0 00035D20 7C 04 28 50 */ subf r0, r4, r5
|
|
/* 80039EE4 00035D24 7C 66 02 14 */ add r3, r6, r0
|
|
.global lbl_80039EE8
|
|
lbl_80039EE8:
|
|
/* 80039EE8 00035D28 80 01 00 24 */ lwz r0, 0x24(r1)
|
|
/* 80039EEC 00035D2C 83 E1 00 1C */ lwz r31, 0x1c(r1)
|
|
/* 80039EF0 00035D30 83 C1 00 18 */ lwz r30, 0x18(r1)
|
|
/* 80039EF4 00035D34 83 A1 00 14 */ lwz r29, 0x14(r1)
|
|
/* 80039EF8 00035D38 7C 08 03 A6 */ mtlr r0
|
|
/* 80039EFC 00035D3C 38 21 00 20 */ addi r1, r1, 0x20
|
|
/* 80039F00 00035D40 4E 80 00 20 */ blr
|
|
/* 80039F04 00035D44 00 00 00 00 */ .4byte 0x00000000
|
|
/* 80039F08 00035D48 00 00 00 00 */ .4byte 0x00000000
|
|
/* 80039F0C 00035D4C 00 00 00 00 */ .4byte 0x00000000
|
|
.global DVDReadAsyncPrio
|
|
DVDReadAsyncPrio:
|
|
/* 80039F10 00035D50 94 21 FF E0 */ stwu r1, -0x20(r1)
|
|
/* 80039F14 00035D54 7C 08 02 A6 */ mflr r0
|
|
/* 80039F18 00035D58 90 01 00 24 */ stw r0, 0x24(r1)
|
|
/* 80039F1C 00035D5C 39 61 00 20 */ addi r11, r1, 0x20
|
|
/* 80039F20 00035D60 4B FC D4 19 */ bl lbl_80007338
|
|
/* 80039F24 00035D64 2C 06 00 00 */ cmpwi r6, 0x0
|
|
/* 80039F28 00035D68 7C 7A 1B 78 */ mr r26, r3
|
|
/* 80039F2C 00035D6C 7C 9B 23 78 */ mr r27, r4
|
|
/* 80039F30 00035D70 7C BC 2B 78 */ mr r28, r5
|
|
/* 80039F34 00035D74 7C DD 33 78 */ mr r29, r6
|
|
/* 80039F38 00035D78 7C FE 3B 78 */ mr r30, r7
|
|
/* 80039F3C 00035D7C 7D 1F 43 78 */ mr r31, r8
|
|
/* 80039F40 00035D80 41 80 00 10 */ blt lbl_80039F50
|
|
/* 80039F44 00035D84 80 03 00 34 */ lwz r0, 0x34(r3)
|
|
/* 80039F48 00035D88 7C 06 00 40 */ cmplw r6, r0
|
|
/* 80039F4C 00035D8C 40 81 00 1C */ ble lbl_80039F68
|
|
.global lbl_80039F50
|
|
lbl_80039F50:
|
|
/* 80039F50 00035D90 3C A0 80 43 */ lis r5, "@1762_804311F8"@ha
|
|
/* 80039F54 00035D94 38 6D 81 B0 */ addi r3, r13, "@1637_805565D0"@sda21
|
|
/* 80039F58 00035D98 38 A5 11 F8 */ addi r5, r5, "@1762_804311F8"@l
|
|
/* 80039F5C 00035D9C 38 80 03 4D */ li r4, 0x34d
|
|
/* 80039F60 00035DA0 4C C6 31 82 */ crclr 4*cr1+eq
|
|
/* 80039F64 00035DA4 48 15 08 8D */ bl OSPanic
|
|
.global lbl_80039F68
|
|
lbl_80039F68:
|
|
/* 80039F68 00035DA8 7C 9D E2 15 */ add. r4, r29, r28
|
|
/* 80039F6C 00035DAC 41 80 00 14 */ blt lbl_80039F80
|
|
/* 80039F70 00035DB0 80 7A 00 34 */ lwz r3, 0x34(r26)
|
|
/* 80039F74 00035DB4 38 03 00 20 */ addi r0, r3, 0x20
|
|
/* 80039F78 00035DB8 7C 04 00 40 */ cmplw r4, r0
|
|
/* 80039F7C 00035DBC 41 80 00 1C */ blt lbl_80039F98
|
|
.global lbl_80039F80
|
|
lbl_80039F80:
|
|
/* 80039F80 00035DC0 3C A0 80 43 */ lis r5, "@1762_804311F8"@ha
|
|
/* 80039F84 00035DC4 38 6D 81 B0 */ addi r3, r13, "@1637_805565D0"@sda21
|
|
/* 80039F88 00035DC8 38 A5 11 F8 */ addi r5, r5, "@1762_804311F8"@l
|
|
/* 80039F8C 00035DCC 38 80 03 53 */ li r4, 0x353
|
|
/* 80039F90 00035DD0 4C C6 31 82 */ crclr 4*cr1+eq
|
|
/* 80039F94 00035DD4 48 15 08 5D */ bl OSPanic
|
|
.global lbl_80039F98
|
|
lbl_80039F98:
|
|
/* 80039F98 00035DD8 80 DA 00 30 */ lwz r6, 0x30(r26)
|
|
/* 80039F9C 00035DDC 7F A0 16 70 */ srawi r0, r29, 2
|
|
/* 80039FA0 00035DE0 3C E0 80 04 */ lis r7, cbForReadAsync@ha
|
|
/* 80039FA4 00035DE4 93 DA 00 38 */ stw r30, 0x38(r26)
|
|
/* 80039FA8 00035DE8 7F 43 D3 78 */ mr r3, r26
|
|
/* 80039FAC 00035DEC 7F 64 DB 78 */ mr r4, r27
|
|
/* 80039FB0 00035DF0 7F 85 E3 78 */ mr r5, r28
|
|
/* 80039FB4 00035DF4 7F E8 FB 78 */ mr r8, r31
|
|
/* 80039FB8 00035DF8 7C C6 02 14 */ add r6, r6, r0
|
|
/* 80039FBC 00035DFC 38 E7 9F E0 */ addi r7, r7, cbForReadAsync@l
|
|
/* 80039FC0 00035E00 48 00 41 E1 */ bl DVDReadAbsAsyncPrio
|
|
/* 80039FC4 00035E04 39 61 00 20 */ addi r11, r1, 0x20
|
|
/* 80039FC8 00035E08 38 60 00 01 */ li r3, 0x1
|
|
/* 80039FCC 00035E0C 4B FC D3 B9 */ bl lbl_80007384
|
|
/* 80039FD0 00035E10 80 01 00 24 */ lwz r0, 0x24(r1)
|
|
/* 80039FD4 00035E14 7C 08 03 A6 */ mtlr r0
|
|
/* 80039FD8 00035E18 38 21 00 20 */ addi r1, r1, 0x20
|
|
/* 80039FDC 00035E1C 4E 80 00 20 */ blr
|
|
.global cbForReadAsync
|
|
cbForReadAsync:
|
|
/* 80039FE0 00035E20 81 84 00 38 */ lwz r12, 0x38(r4)
|
|
/* 80039FE4 00035E24 2C 0C 00 00 */ cmpwi r12, 0x0
|
|
/* 80039FE8 00035E28 4D 82 00 20 */ beqlr
|
|
/* 80039FEC 00035E2C 7D 89 03 A6 */ mtctr r12
|
|
/* 80039FF0 00035E30 4E 80 04 20 */ bctr
|
|
/* 80039FF4 00035E34 4E 80 00 20 */ blr
|
|
/* 80039FF8 00035E38 00 00 00 00 */ .4byte 0x00000000
|
|
/* 80039FFC 00035E3C 00 00 00 00 */ .4byte 0x00000000
|
|
.global DVDReadPrio
|
|
DVDReadPrio:
|
|
/* 8003A000 00035E40 94 21 FF E0 */ stwu r1, -0x20(r1)
|
|
/* 8003A004 00035E44 7C 08 02 A6 */ mflr r0
|
|
/* 8003A008 00035E48 90 01 00 24 */ stw r0, 0x24(r1)
|
|
/* 8003A00C 00035E4C 39 61 00 20 */ addi r11, r1, 0x20
|
|
/* 8003A010 00035E50 4B FC D3 2D */ bl lbl_8000733C
|
|
/* 8003A014 00035E54 2C 06 00 00 */ cmpwi r6, 0x0
|
|
/* 8003A018 00035E58 7C 7B 1B 78 */ mr r27, r3
|
|
/* 8003A01C 00035E5C 7C 9C 23 78 */ mr r28, r4
|
|
/* 8003A020 00035E60 7C BD 2B 78 */ mr r29, r5
|
|
/* 8003A024 00035E64 7C DF 33 78 */ mr r31, r6
|
|
/* 8003A028 00035E68 7C FE 3B 78 */ mr r30, r7
|
|
/* 8003A02C 00035E6C 41 80 00 10 */ blt lbl_8003A03C
|
|
/* 8003A030 00035E70 80 03 00 34 */ lwz r0, 0x34(r3)
|
|
/* 8003A034 00035E74 7C 06 00 40 */ cmplw r6, r0
|
|
/* 8003A038 00035E78 40 81 00 1C */ ble lbl_8003A054
|
|
.global lbl_8003A03C
|
|
lbl_8003A03C:
|
|
/* 8003A03C 00035E7C 3C A0 80 43 */ lis r5, "@1787_8043122C"@ha
|
|
/* 8003A040 00035E80 38 6D 81 B0 */ addi r3, r13, "@1637_805565D0"@sda21
|
|
/* 8003A044 00035E84 38 A5 12 2C */ addi r5, r5, "@1787_8043122C"@l
|
|
/* 8003A048 00035E88 38 80 03 93 */ li r4, 0x393
|
|
/* 8003A04C 00035E8C 4C C6 31 82 */ crclr 4*cr1+eq
|
|
/* 8003A050 00035E90 48 15 07 A1 */ bl OSPanic
|
|
.global lbl_8003A054
|
|
lbl_8003A054:
|
|
/* 8003A054 00035E94 7C 9F EA 15 */ add. r4, r31, r29
|
|
/* 8003A058 00035E98 41 80 00 14 */ blt lbl_8003A06C
|
|
/* 8003A05C 00035E9C 80 7B 00 34 */ lwz r3, 0x34(r27)
|
|
/* 8003A060 00035EA0 38 03 00 20 */ addi r0, r3, 0x20
|
|
/* 8003A064 00035EA4 7C 04 00 40 */ cmplw r4, r0
|
|
/* 8003A068 00035EA8 41 80 00 1C */ blt lbl_8003A084
|
|
.global lbl_8003A06C
|
|
lbl_8003A06C:
|
|
/* 8003A06C 00035EAC 3C A0 80 43 */ lis r5, "@1787_8043122C"@ha
|
|
/* 8003A070 00035EB0 38 6D 81 B0 */ addi r3, r13, "@1637_805565D0"@sda21
|
|
/* 8003A074 00035EB4 38 A5 12 2C */ addi r5, r5, "@1787_8043122C"@l
|
|
/* 8003A078 00035EB8 38 80 03 99 */ li r4, 0x399
|
|
/* 8003A07C 00035EBC 4C C6 31 82 */ crclr 4*cr1+eq
|
|
/* 8003A080 00035EC0 48 15 07 71 */ bl OSPanic
|
|
.global lbl_8003A084
|
|
lbl_8003A084:
|
|
/* 8003A084 00035EC4 80 DB 00 30 */ lwz r6, 0x30(r27)
|
|
/* 8003A088 00035EC8 7F E0 16 70 */ srawi r0, r31, 2
|
|
/* 8003A08C 00035ECC 3C E0 80 04 */ lis r7, cbForReadSync@ha
|
|
/* 8003A090 00035ED0 7F 63 DB 78 */ mr r3, r27
|
|
/* 8003A094 00035ED4 7F 84 E3 78 */ mr r4, r28
|
|
/* 8003A098 00035ED8 7F A5 EB 78 */ mr r5, r29
|
|
/* 8003A09C 00035EDC 7F C8 F3 78 */ mr r8, r30
|
|
/* 8003A0A0 00035EE0 7C C6 02 14 */ add r6, r6, r0
|
|
/* 8003A0A4 00035EE4 38 E7 A1 30 */ addi r7, r7, cbForReadSync@l
|
|
/* 8003A0A8 00035EE8 48 00 40 F9 */ bl DVDReadAbsAsyncPrio
|
|
/* 8003A0AC 00035EEC 2C 03 00 00 */ cmpwi r3, 0x0
|
|
/* 8003A0B0 00035EF0 40 82 00 0C */ bne lbl_8003A0BC
|
|
/* 8003A0B4 00035EF4 38 60 FF FF */ li r3, -0x1
|
|
/* 8003A0B8 00035EF8 48 00 00 58 */ b lbl_8003A110
|
|
.global lbl_8003A0BC
|
|
lbl_8003A0BC:
|
|
/* 8003A0BC 00035EFC 4B FE 77 65 */ bl OSDisableInterrupts
|
|
/* 8003A0C0 00035F00 7C 7F 1B 78 */ mr r31, r3
|
|
.global lbl_8003A0C4
|
|
lbl_8003A0C4:
|
|
/* 8003A0C4 00035F04 80 1B 00 0C */ lwz r0, 0xc(r27)
|
|
/* 8003A0C8 00035F08 2C 00 00 00 */ cmpwi r0, 0x0
|
|
/* 8003A0CC 00035F0C 40 82 00 0C */ bne lbl_8003A0D8
|
|
/* 8003A0D0 00035F10 83 DB 00 20 */ lwz r30, 0x20(r27)
|
|
/* 8003A0D4 00035F14 48 00 00 30 */ b lbl_8003A104
|
|
.global lbl_8003A0D8
|
|
lbl_8003A0D8:
|
|
/* 8003A0D8 00035F18 2C 00 FF FF */ cmpwi r0, -0x1
|
|
/* 8003A0DC 00035F1C 40 82 00 0C */ bne lbl_8003A0E8
|
|
/* 8003A0E0 00035F20 3B C0 FF FF */ li r30, -0x1
|
|
/* 8003A0E4 00035F24 48 00 00 20 */ b lbl_8003A104
|
|
.global lbl_8003A0E8
|
|
lbl_8003A0E8:
|
|
/* 8003A0E8 00035F28 2C 00 00 0A */ cmpwi r0, 0xa
|
|
/* 8003A0EC 00035F2C 40 82 00 0C */ bne lbl_8003A0F8
|
|
/* 8003A0F0 00035F30 3B C0 FF FD */ li r30, -0x3
|
|
/* 8003A0F4 00035F34 48 00 00 10 */ b lbl_8003A104
|
|
.global lbl_8003A0F8
|
|
lbl_8003A0F8:
|
|
/* 8003A0F8 00035F38 38 6D E6 18 */ addi r3, r13, __DVDThreadQueue@sda21
|
|
/* 8003A0FC 00035F3C 4B FE B7 15 */ bl OSSleepThread
|
|
/* 8003A100 00035F40 4B FF FF C4 */ b lbl_8003A0C4
|
|
.global lbl_8003A104
|
|
lbl_8003A104:
|
|
/* 8003A104 00035F44 7F E3 FB 78 */ mr r3, r31
|
|
/* 8003A108 00035F48 4B FE 77 59 */ bl OSRestoreInterrupts
|
|
/* 8003A10C 00035F4C 7F C3 F3 78 */ mr r3, r30
|
|
.global lbl_8003A110
|
|
lbl_8003A110:
|
|
/* 8003A110 00035F50 39 61 00 20 */ addi r11, r1, 0x20
|
|
/* 8003A114 00035F54 4B FC D2 75 */ bl lbl_80007388
|
|
/* 8003A118 00035F58 80 01 00 24 */ lwz r0, 0x24(r1)
|
|
/* 8003A11C 00035F5C 7C 08 03 A6 */ mtlr r0
|
|
/* 8003A120 00035F60 38 21 00 20 */ addi r1, r1, 0x20
|
|
/* 8003A124 00035F64 4E 80 00 20 */ blr
|
|
/* 8003A128 00035F68 00 00 00 00 */ .4byte 0x00000000
|
|
/* 8003A12C 00035F6C 00 00 00 00 */ .4byte 0x00000000
|
|
.global cbForReadSync
|
|
cbForReadSync:
|
|
/* 8003A130 00035F70 38 6D E6 18 */ addi r3, r13, __DVDThreadQueue@sda21
|
|
/* 8003A134 00035F74 4B FE B7 CC */ b OSWakeupThread
|
|
/* 8003A138 00035F78 00 00 00 00 */ .4byte 0x00000000
|
|
/* 8003A13C 00035F7C 00 00 00 00 */ .4byte 0x00000000
|
|
.include "macros.inc"
|
|
|
|
.section .data, "wa" # 0x80421040 - 0x80496700 ; 0x000756C0
|
|
.global "@1638_804310F8"
|
|
"@1638_804310F8":
|
|
|
|
.4byte 0x44564443
|
|
.4byte 0x6F6E7665
|
|
.4byte 0x7274456E
|
|
.4byte 0x7472796E
|
|
.4byte 0x756D546F
|
|
.4byte 0x50617468
|
|
.4byte 0x28706F73
|
|
.4byte 0x7369626C
|
|
.4byte 0x79204456
|
|
.4byte 0x444F7065
|
|
.4byte 0x6E206F72
|
|
.4byte 0x20445644
|
|
.4byte 0x4368616E
|
|
.4byte 0x67654469
|
|
.4byte 0x72206F72
|
|
.4byte 0x20445644
|
|
.4byte 0x4F70656E
|
|
.4byte 0x44697229
|
|
.4byte 0x3A207370
|
|
.4byte 0x65636966
|
|
.4byte 0x69656420
|
|
.4byte 0x64697265
|
|
.4byte 0x63746F72
|
|
.4byte 0x79206F72
|
|
.4byte 0x2066696C
|
|
.4byte 0x65202825
|
|
.4byte 0x73292064
|
|
.4byte 0x6F65736E
|
|
.4byte 0x2774206D
|
|
.4byte 0x61746368
|
|
.4byte 0x20737461
|
|
.4byte 0x6E646172
|
|
.4byte 0x6420382E
|
|
.4byte 0x3320666F
|
|
.4byte 0x726D6174
|
|
.4byte 0x2E205468
|
|
.4byte 0x69732069
|
|
.4byte 0x73206120
|
|
.4byte 0x74656D70
|
|
.4byte 0x6F726172
|
|
.4byte 0x79207265
|
|
.4byte 0x73747269
|
|
.4byte 0x6374696F
|
|
.4byte 0x6E20616E
|
|
.4byte 0x64207769
|
|
.4byte 0x6C6C2062
|
|
.4byte 0x65207265
|
|
.4byte 0x6D6F7665
|
|
.4byte 0x6420736F
|
|
.4byte 0x6F6E0A00
|
|
|
|
.global "@1688_804311C0"
|
|
"@1688_804311C0":
|
|
|
|
.4byte 0x5761726E
|
|
.4byte 0x696E673A
|
|
.4byte 0x20445644
|
|
.4byte 0x4F70656E
|
|
.4byte 0x28293A20
|
|
.4byte 0x66696C65
|
|
.4byte 0x20272573
|
|
.4byte 0x27207761
|
|
.4byte 0x73206E6F
|
|
.4byte 0x7420666F
|
|
.4byte 0x756E6420
|
|
.4byte 0x756E6465
|
|
.4byte 0x72202573
|
|
.4byte 0x2E0A0000
|
|
|
|
.global "@1762_804311F8"
|
|
"@1762_804311F8":
|
|
|
|
.4byte 0x44564452
|
|
.4byte 0x65616441
|
|
.4byte 0x73796E63
|
|
.4byte 0x28293A20
|
|
.4byte 0x73706563
|
|
.4byte 0x69666965
|
|
.4byte 0x64206172
|
|
.4byte 0x65612069
|
|
.4byte 0x73206F75
|
|
.4byte 0x74206F66
|
|
.4byte 0x20746865
|
|
.4byte 0x2066696C
|
|
.4byte 0x65202000
|
|
|
|
.global "@1787_8043122C"
|
|
"@1787_8043122C":
|
|
|
|
.4byte 0x44564452
|
|
.4byte 0x65616428
|
|
.4byte 0x293A2073
|
|
.4byte 0x70656369
|
|
.4byte 0x66696564
|
|
.4byte 0x20617265
|
|
.4byte 0x61206973
|
|
.4byte 0x206F7574
|
|
.4byte 0x206F6620
|
|
.4byte 0x74686520
|
|
.4byte 0x66696C65
|
|
.4byte 0x20200000
|
|
.4byte 0
|
|
.include "macros.inc"
|
|
|
|
.section .sdata, "wa" # 0x80556420 - 0x8055C6E0 ; 0x000062C0
|
|
.global __DVDLongFileNameFlag
|
|
__DVDLongFileNameFlag:
|
|
|
|
.4byte 0x00000001
|
|
.4byte 0
|
|
|
|
.global "@1637_805565D0"
|
|
"@1637_805565D0":
|
|
|
|
.4byte 0x64766466
|
|
.4byte 0x732E6300
|
|
.include "macros.inc"
|
|
|
|
.section .sbss, "", @nobits # 0x8055C6E0 - 0x8055DF80 ; 0x000018A0
|
|
.global currentDirectory
|
|
currentDirectory:
|
|
.skip 0x8
|
|
|
|
.global __DVDThreadQueue
|
|
__DVDThreadQueue:
|
|
.skip 0x8
|
|
|
|
.global MaxEntryNum
|
|
MaxEntryNum:
|
|
.skip 0x4
|
|
|
|
.global FstStringStart
|
|
FstStringStart:
|
|
.skip 0x4
|
|
|
|
.global FstStart
|
|
FstStart:
|
|
.skip 0x4
|
|
|
|
.global BootInfo_8055CA4C
|
|
BootInfo_8055CA4C:
|
|
.skip 0x14
|