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

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