mirror of
https://github.com/pret/pokerevo.git
synced 2026-10-05 17:02:50 -04:00
start splitting VF
This commit is contained in:
@@ -33,7 +33,7 @@ SRC_DIRS := src src/SDK/OS src/SDK/EXI src/SDK/SI src/SDK/DB src/SDK/VI src/SDK/
|
||||
src/SDK/TPL src/SDK/THP src/SDK/KPAD src/SDK/CX src/SDK/PAD src/SDK/WPAD src/SDK/FS src/SDK/IPC \
|
||||
src/SDK/NdevExi2A src/SDK/USB src/SDK/EUART src/SDK/WUD src/SDK/BTE src/SDK/NAND \
|
||||
src/SDK/SC src/SDK/WENC src/SDK/ARC src/SDK/NCD src/SDK/WD src/SDK/NTR src/SDK/MP src/SDK/MPDL \
|
||||
src/SDK/NET src/SDK/NHTTP src/SDK/SO src/SDK/base src/SDK/HBM src/MSL_C/MSL_Common src/MSL_C/MSL_Common_Embedded \
|
||||
src/SDK/NET src/SDK/NHTTP src/SDK/SSL src/SDK/VF src/SDK/SO src/SDK/base src/SDK/HBM src/MSL_C/MSL_Common src/MSL_C/MSL_Common_Embedded \
|
||||
src/MSL_C/MSL_Common_Embedded/Math src/MSL_C/PPC_EABI src/Runtime \
|
||||
src/MetroTRK src/GameSpy src/nw4r/ut src/nw4r/snd src/nw4r/ut/detail \
|
||||
src/nw4r/snd/detail src/nw4r/math src/nw4r/lyt src/nw4r/lyt/detail
|
||||
@@ -42,7 +42,7 @@ ASM_DIRS := asm asm/SDK/OS asm/SDK/EXI asm/SDK/SI asm/SDK/DB asm/SDK/VI asm/SDK/
|
||||
asm/SDK/TPL asm/SDK/THP asm/SDK/KPAD asm/SDK/CX asm/SDK/PAD asm/SDK/WPAD asm/SDK/FS asm/SDK/IPC \
|
||||
asm/SDK/NdevExi2A asm/SDK/USB asm/SDK/EUART asm/SDK/WUD asm/SDK/BTE asm/SDK/NAND \
|
||||
asm/SDK/SC asm/SDK/WENC asm/SDK/ARC asm/SDK/NCD asm/SDK/WD asm/SDK/NTR asm/SDK/MP asm/SDK/MPDL \
|
||||
asm/SDK/NET asm/SDK/NHTTP asm/SDK/SO asm/SDK/base asm/SDK/HBM asm/MSL_C/MSL_Common asm/MSL_C/MSL_Common_Embedded \
|
||||
asm/SDK/NET asm/SDK/NHTTP asm/SDK/SSL asm/SDK/VF asm/SDK/SO asm/SDK/base asm/SDK/HBM asm/MSL_C/MSL_Common asm/MSL_C/MSL_Common_Embedded \
|
||||
asm/MSL_C/MSL_Common_Embedded/Math asm/MSL_C/PPC_EABI asm/Runtime \
|
||||
asm/MetroTRK asm/GameSpy asm/nw4r/ut asm/nw4r/snd asm/nw4r/ut/detail \
|
||||
asm/nw4r/snd/detail asm/nw4r/math asm/nw4r/lyt asm/nw4r/lyt/detail
|
||||
|
||||
@@ -0,0 +1,597 @@
|
||||
.include "macros.inc"
|
||||
|
||||
.section .text, "ax" # 0x80006980 - 0x803E1E60
|
||||
|
||||
.global VFipdm_bpb_calculate_common_bpb_fields
|
||||
VFipdm_bpb_calculate_common_bpb_fields:
|
||||
/* 803062C4 00301F24 38 00 00 00 */ li r0, 0
|
||||
/* 803062C8 00301F28 A0 A3 00 08 */ lhz r5, 8(r3)
|
||||
/* 803062CC 00301F2C 98 03 00 54 */ stb r0, 0x54(r3)
|
||||
/* 803062D0 00301F30 48 00 00 10 */ b lbl_803062E0
|
||||
lbl_803062D4:
|
||||
/* 803062D4 00301F34 88 83 00 54 */ lbz r4, 0x54(r3)
|
||||
/* 803062D8 00301F38 38 04 00 01 */ addi r0, r4, 1
|
||||
/* 803062DC 00301F3C 98 03 00 54 */ stb r0, 0x54(r3)
|
||||
lbl_803062E0:
|
||||
/* 803062E0 00301F40 54 A5 FC 7F */ rlwinm. r5, r5, 0x1f, 0x11, 0x1f
|
||||
/* 803062E4 00301F44 40 82 FF F0 */ bne lbl_803062D4
|
||||
/* 803062E8 00301F48 38 00 00 00 */ li r0, 0
|
||||
/* 803062EC 00301F4C 88 A3 00 0A */ lbz r5, 0xa(r3)
|
||||
/* 803062F0 00301F50 98 03 00 55 */ stb r0, 0x55(r3)
|
||||
/* 803062F4 00301F54 48 00 00 10 */ b lbl_80306304
|
||||
lbl_803062F8:
|
||||
/* 803062F8 00301F58 88 83 00 55 */ lbz r4, 0x55(r3)
|
||||
/* 803062FC 00301F5C 38 04 00 01 */ addi r0, r4, 1
|
||||
/* 80306300 00301F60 98 03 00 55 */ stb r0, 0x55(r3)
|
||||
lbl_80306304:
|
||||
/* 80306304 00301F64 54 A5 FC 7F */ rlwinm. r5, r5, 0x1f, 0x11, 0x1f
|
||||
/* 80306308 00301F68 40 82 FF F0 */ bne lbl_803062F8
|
||||
/* 8030630C 00301F6C A0 03 00 0E */ lhz r0, 0xe(r3)
|
||||
/* 80306310 00301F70 A0 A3 00 08 */ lhz r5, 8(r3)
|
||||
/* 80306314 00301F74 54 06 28 34 */ slwi r6, r0, 5
|
||||
/* 80306318 00301F78 88 83 00 0B */ lbz r4, 0xb(r3)
|
||||
/* 8030631C 00301F7C 80 03 00 6C */ lwz r0, 0x6c(r3)
|
||||
/* 80306320 00301F80 7C A5 32 14 */ add r5, r5, r6
|
||||
/* 80306324 00301F84 88 E3 00 54 */ lbz r7, 0x54(r3)
|
||||
/* 80306328 00301F88 39 05 FF FF */ addi r8, r5, -1
|
||||
/* 8030632C 00301F8C 7C C4 01 D6 */ mullw r6, r4, r0
|
||||
/* 80306330 00301F90 A0 A3 00 0C */ lhz r5, 0xc(r3)
|
||||
/* 80306334 00301F94 7D 08 3E 30 */ sraw r8, r8, r7
|
||||
/* 80306338 00301F98 80 83 00 68 */ lwz r4, 0x68(r3)
|
||||
/* 8030633C 00301F9C 88 03 00 55 */ lbz r0, 0x55(r3)
|
||||
/* 80306340 00301FA0 55 07 04 3E */ clrlwi r7, r8, 0x10
|
||||
/* 80306344 00301FA4 7C A7 2A 14 */ add r5, r7, r5
|
||||
/* 80306348 00301FA8 B1 03 00 56 */ sth r8, 0x56(r3)
|
||||
/* 8030634C 00301FAC 7C A6 2A 14 */ add r5, r6, r5
|
||||
/* 80306350 00301FB0 7C 85 20 50 */ subf r4, r5, r4
|
||||
/* 80306354 00301FB4 90 A3 00 60 */ stw r5, 0x60(r3)
|
||||
/* 80306358 00301FB8 7C 80 04 30 */ srw r0, r4, r0
|
||||
/* 8030635C 00301FBC 28 00 0F F5 */ cmplwi r0, 0xff5
|
||||
/* 80306360 00301FC0 90 03 00 64 */ stw r0, 0x64(r3)
|
||||
/* 80306364 00301FC4 40 80 00 10 */ bge lbl_80306374
|
||||
/* 80306368 00301FC8 38 00 00 00 */ li r0, 0
|
||||
/* 8030636C 00301FCC 90 03 00 50 */ stw r0, 0x50(r3)
|
||||
/* 80306370 00301FD0 4E 80 00 20 */ blr
|
||||
lbl_80306374:
|
||||
/* 80306374 00301FD4 28 00 FF F5 */ cmplwi r0, 0xfff5
|
||||
/* 80306378 00301FD8 40 80 00 10 */ bge lbl_80306388
|
||||
/* 8030637C 00301FDC 38 00 00 01 */ li r0, 1
|
||||
/* 80306380 00301FE0 90 03 00 50 */ stw r0, 0x50(r3)
|
||||
/* 80306384 00301FE4 4E 80 00 20 */ blr
|
||||
lbl_80306388:
|
||||
/* 80306388 00301FE8 38 00 00 02 */ li r0, 2
|
||||
/* 8030638C 00301FEC 90 03 00 50 */ stw r0, 0x50(r3)
|
||||
/* 80306390 00301FF0 4E 80 00 20 */ blr
|
||||
|
||||
.global VFipdm_bpb_get_bpb_information
|
||||
VFipdm_bpb_get_bpb_information:
|
||||
/* 80306394 00301FF4 94 21 FF E0 */ stwu r1, -0x20(r1)
|
||||
/* 80306398 00301FF8 7C 08 02 A6 */ mflr r0
|
||||
/* 8030639C 00301FFC 2C 83 00 00 */ cmpwi cr1, r3, 0
|
||||
/* 803063A0 00302000 90 01 00 24 */ stw r0, 0x24(r1)
|
||||
/* 803063A4 00302004 93 E1 00 1C */ stw r31, 0x1c(r1)
|
||||
/* 803063A8 00302008 93 C1 00 18 */ stw r30, 0x18(r1)
|
||||
/* 803063AC 0030200C 7C 9E 23 78 */ mr r30, r4
|
||||
/* 803063B0 00302010 93 A1 00 14 */ stw r29, 0x14(r1)
|
||||
/* 803063B4 00302014 7C 7D 1B 78 */ mr r29, r3
|
||||
/* 803063B8 00302018 41 86 00 0C */ beq cr1, lbl_803063C4
|
||||
/* 803063BC 0030201C 2C 04 00 00 */ cmpwi r4, 0
|
||||
/* 803063C0 00302020 40 82 00 0C */ bne lbl_803063CC
|
||||
lbl_803063C4:
|
||||
/* 803063C4 00302024 38 60 00 01 */ li r3, 1
|
||||
/* 803063C8 00302028 48 00 04 E8 */ b lbl_803068B0
|
||||
lbl_803063CC:
|
||||
/* 803063CC 0030202C 3B E0 00 00 */ li r31, 0
|
||||
/* 803063D0 00302030 41 86 00 24 */ beq cr1, lbl_803063F4
|
||||
/* 803063D4 00302034 34 04 00 4C */ addic. r0, r4, 0x4c
|
||||
/* 803063D8 00302038 41 82 00 1C */ beq lbl_803063F4
|
||||
/* 803063DC 0030203C 88 03 00 00 */ lbz r0, 0(r3)
|
||||
/* 803063E0 00302040 98 04 00 4C */ stb r0, 0x4c(r4)
|
||||
/* 803063E4 00302044 88 03 00 01 */ lbz r0, 1(r3)
|
||||
/* 803063E8 00302048 98 04 00 4D */ stb r0, 0x4d(r4)
|
||||
/* 803063EC 0030204C 88 03 00 02 */ lbz r0, 2(r3)
|
||||
/* 803063F0 00302050 98 04 00 4E */ stb r0, 0x4e(r4)
|
||||
lbl_803063F4:
|
||||
/* 803063F4 00302054 34 03 00 03 */ addic. r0, r3, 3
|
||||
/* 803063F8 00302058 41 82 00 4C */ beq lbl_80306444
|
||||
/* 803063FC 0030205C 2C 04 00 00 */ cmpwi r4, 0
|
||||
/* 80306400 00302060 41 82 00 44 */ beq lbl_80306444
|
||||
/* 80306404 00302064 88 03 00 03 */ lbz r0, 3(r3)
|
||||
/* 80306408 00302068 98 04 00 00 */ stb r0, 0(r4)
|
||||
/* 8030640C 0030206C 88 03 00 04 */ lbz r0, 4(r3)
|
||||
/* 80306410 00302070 98 04 00 01 */ stb r0, 1(r4)
|
||||
/* 80306414 00302074 88 03 00 05 */ lbz r0, 5(r3)
|
||||
/* 80306418 00302078 98 04 00 02 */ stb r0, 2(r4)
|
||||
/* 8030641C 0030207C 88 03 00 06 */ lbz r0, 6(r3)
|
||||
/* 80306420 00302080 98 04 00 03 */ stb r0, 3(r4)
|
||||
/* 80306424 00302084 88 03 00 07 */ lbz r0, 7(r3)
|
||||
/* 80306428 00302088 98 04 00 04 */ stb r0, 4(r4)
|
||||
/* 8030642C 0030208C 88 03 00 08 */ lbz r0, 8(r3)
|
||||
/* 80306430 00302090 98 04 00 05 */ stb r0, 5(r4)
|
||||
/* 80306434 00302094 88 03 00 09 */ lbz r0, 9(r3)
|
||||
/* 80306438 00302098 98 04 00 06 */ stb r0, 6(r4)
|
||||
/* 8030643C 0030209C 88 03 00 0A */ lbz r0, 0xa(r3)
|
||||
/* 80306440 003020A0 98 04 00 07 */ stb r0, 7(r4)
|
||||
lbl_80306444:
|
||||
/* 80306444 003020A4 88 A3 00 0C */ lbz r5, 0xc(r3)
|
||||
/* 80306448 003020A8 88 03 00 0B */ lbz r0, 0xb(r3)
|
||||
/* 8030644C 003020AC 50 A0 44 2E */ rlwimi r0, r5, 8, 0x10, 0x17
|
||||
/* 80306450 003020B0 B0 04 00 08 */ sth r0, 8(r4)
|
||||
/* 80306454 003020B4 88 03 00 0D */ lbz r0, 0xd(r3)
|
||||
/* 80306458 003020B8 98 04 00 0A */ stb r0, 0xa(r4)
|
||||
/* 8030645C 003020BC 88 A3 00 0F */ lbz r5, 0xf(r3)
|
||||
/* 80306460 003020C0 88 03 00 0E */ lbz r0, 0xe(r3)
|
||||
/* 80306464 003020C4 50 A0 44 2E */ rlwimi r0, r5, 8, 0x10, 0x17
|
||||
/* 80306468 003020C8 B0 04 00 0C */ sth r0, 0xc(r4)
|
||||
/* 8030646C 003020CC 88 03 00 10 */ lbz r0, 0x10(r3)
|
||||
/* 80306470 003020D0 98 04 00 0B */ stb r0, 0xb(r4)
|
||||
/* 80306474 003020D4 88 A3 00 12 */ lbz r5, 0x12(r3)
|
||||
/* 80306478 003020D8 88 03 00 11 */ lbz r0, 0x11(r3)
|
||||
/* 8030647C 003020DC 50 A0 44 2E */ rlwimi r0, r5, 8, 0x10, 0x17
|
||||
/* 80306480 003020E0 B0 04 00 0E */ sth r0, 0xe(r4)
|
||||
/* 80306484 003020E4 88 03 00 14 */ lbz r0, 0x14(r3)
|
||||
/* 80306488 003020E8 88 E3 00 13 */ lbz r7, 0x13(r3)
|
||||
/* 8030648C 003020EC 50 07 44 2F */ rlwimi. r7, r0, 8, 0x10, 0x17
|
||||
/* 80306490 003020F0 B0 E4 00 10 */ sth r7, 0x10(r4)
|
||||
/* 80306494 003020F4 88 03 00 15 */ lbz r0, 0x15(r3)
|
||||
/* 80306498 003020F8 98 04 00 22 */ stb r0, 0x22(r4)
|
||||
/* 8030649C 003020FC 88 A3 00 17 */ lbz r5, 0x17(r3)
|
||||
/* 803064A0 00302100 88 03 00 16 */ lbz r0, 0x16(r3)
|
||||
/* 803064A4 00302104 50 A0 44 2E */ rlwimi r0, r5, 8, 0x10, 0x17
|
||||
/* 803064A8 00302108 B0 04 00 12 */ sth r0, 0x12(r4)
|
||||
/* 803064AC 0030210C 88 A3 00 19 */ lbz r5, 0x19(r3)
|
||||
/* 803064B0 00302110 88 03 00 18 */ lbz r0, 0x18(r3)
|
||||
/* 803064B4 00302114 50 A0 44 2E */ rlwimi r0, r5, 8, 0x10, 0x17
|
||||
/* 803064B8 00302118 B0 04 00 14 */ sth r0, 0x14(r4)
|
||||
/* 803064BC 0030211C 88 A3 00 1B */ lbz r5, 0x1b(r3)
|
||||
/* 803064C0 00302120 88 03 00 1A */ lbz r0, 0x1a(r3)
|
||||
/* 803064C4 00302124 50 A0 44 2E */ rlwimi r0, r5, 8, 0x10, 0x17
|
||||
/* 803064C8 00302128 B0 04 00 20 */ sth r0, 0x20(r4)
|
||||
/* 803064CC 0030212C 88 A3 00 1D */ lbz r5, 0x1d(r3)
|
||||
/* 803064D0 00302130 88 03 00 1C */ lbz r0, 0x1c(r3)
|
||||
/* 803064D4 00302134 50 A0 44 2E */ rlwimi r0, r5, 8, 0x10, 0x17
|
||||
/* 803064D8 00302138 88 C3 00 1E */ lbz r6, 0x1e(r3)
|
||||
/* 803064DC 0030213C 88 A3 00 1F */ lbz r5, 0x1f(r3)
|
||||
/* 803064E0 00302140 50 C0 82 1E */ rlwimi r0, r6, 0x10, 8, 0xf
|
||||
/* 803064E4 00302144 50 A0 C0 0E */ rlwimi r0, r5, 0x18, 0, 7
|
||||
/* 803064E8 00302148 90 04 00 18 */ stw r0, 0x18(r4)
|
||||
/* 803064EC 0030214C 88 A3 00 21 */ lbz r5, 0x21(r3)
|
||||
/* 803064F0 00302150 88 03 00 20 */ lbz r0, 0x20(r3)
|
||||
/* 803064F4 00302154 50 A0 44 2E */ rlwimi r0, r5, 8, 0x10, 0x17
|
||||
/* 803064F8 00302158 88 C3 00 22 */ lbz r6, 0x22(r3)
|
||||
/* 803064FC 0030215C 88 A3 00 23 */ lbz r5, 0x23(r3)
|
||||
/* 80306500 00302160 50 C0 82 1E */ rlwimi r0, r6, 0x10, 8, 0xf
|
||||
/* 80306504 00302164 50 A0 C0 0E */ rlwimi r0, r5, 0x18, 0, 7
|
||||
/* 80306508 00302168 90 04 00 1C */ stw r0, 0x1c(r4)
|
||||
/* 8030650C 0030216C 40 82 00 08 */ bne lbl_80306514
|
||||
/* 80306510 00302170 48 00 00 08 */ b lbl_80306518
|
||||
lbl_80306514:
|
||||
/* 80306514 00302174 54 E0 04 3E */ clrlwi r0, r7, 0x10
|
||||
lbl_80306518:
|
||||
/* 80306518 00302178 A0 A4 00 12 */ lhz r5, 0x12(r4)
|
||||
/* 8030651C 0030217C 90 04 00 68 */ stw r0, 0x68(r4)
|
||||
/* 80306520 00302180 2C 05 00 00 */ cmpwi r5, 0
|
||||
/* 80306524 00302184 40 82 00 2C */ bne lbl_80306550
|
||||
/* 80306528 00302188 88 A3 00 25 */ lbz r5, 0x25(r3)
|
||||
/* 8030652C 0030218C 88 03 00 24 */ lbz r0, 0x24(r3)
|
||||
/* 80306530 00302190 88 C3 00 26 */ lbz r6, 0x26(r3)
|
||||
/* 80306534 00302194 50 A0 44 2E */ rlwimi r0, r5, 8, 0x10, 0x17
|
||||
/* 80306538 00302198 88 63 00 27 */ lbz r3, 0x27(r3)
|
||||
/* 8030653C 0030219C 50 C0 82 1E */ rlwimi r0, r6, 0x10, 8, 0xf
|
||||
/* 80306540 003021A0 50 60 C0 0E */ rlwimi r0, r3, 0x18, 0, 7
|
||||
/* 80306544 003021A4 90 04 00 3C */ stw r0, 0x3c(r4)
|
||||
/* 80306548 003021A8 90 04 00 6C */ stw r0, 0x6c(r4)
|
||||
/* 8030654C 003021AC 48 00 00 10 */ b lbl_8030655C
|
||||
lbl_80306550:
|
||||
/* 80306550 003021B0 38 00 00 00 */ li r0, 0
|
||||
/* 80306554 003021B4 90 A4 00 6C */ stw r5, 0x6c(r4)
|
||||
/* 80306558 003021B8 90 04 00 3C */ stw r0, 0x3c(r4)
|
||||
lbl_8030655C:
|
||||
/* 8030655C 003021BC 7F C3 F3 78 */ mr r3, r30
|
||||
/* 80306560 003021C0 4B FF FD 65 */ bl VFipdm_bpb_calculate_common_bpb_fields
|
||||
/* 80306564 003021C4 80 1E 00 50 */ lwz r0, 0x50(r30)
|
||||
/* 80306568 003021C8 2C 00 00 02 */ cmpwi r0, 2
|
||||
/* 8030656C 003021CC 41 82 01 28 */ beq lbl_80306694
|
||||
/* 80306570 003021D0 40 80 02 9C */ bge lbl_8030680C
|
||||
/* 80306574 003021D4 2C 00 00 00 */ cmpwi r0, 0
|
||||
/* 80306578 003021D8 40 80 00 08 */ bge lbl_80306580
|
||||
/* 8030657C 003021DC 48 00 02 90 */ b lbl_8030680C
|
||||
lbl_80306580:
|
||||
/* 80306580 003021E0 A0 1E 00 12 */ lhz r0, 0x12(r30)
|
||||
/* 80306584 003021E4 2C 00 00 00 */ cmpwi r0, 0
|
||||
/* 80306588 003021E8 40 82 00 08 */ bne lbl_80306590
|
||||
/* 8030658C 003021EC 3B E0 00 04 */ li r31, 4
|
||||
lbl_80306590:
|
||||
/* 80306590 003021F0 38 60 00 00 */ li r3, 0
|
||||
/* 80306594 003021F4 34 1D 00 2B */ addic. r0, r29, 0x2b
|
||||
/* 80306598 003021F8 B0 7E 00 40 */ sth r3, 0x40(r30)
|
||||
/* 8030659C 003021FC B0 7E 00 42 */ sth r3, 0x42(r30)
|
||||
/* 803065A0 00302200 90 7E 00 44 */ stw r3, 0x44(r30)
|
||||
/* 803065A4 00302204 B0 7E 00 48 */ sth r3, 0x48(r30)
|
||||
/* 803065A8 00302208 B0 7E 00 4A */ sth r3, 0x4a(r30)
|
||||
/* 803065AC 0030220C 88 1D 00 24 */ lbz r0, 0x24(r29)
|
||||
/* 803065B0 00302210 98 1E 00 23 */ stb r0, 0x23(r30)
|
||||
/* 803065B4 00302214 88 1D 00 26 */ lbz r0, 0x26(r29)
|
||||
/* 803065B8 00302218 98 1E 00 28 */ stb r0, 0x28(r30)
|
||||
/* 803065BC 0030221C 88 7D 00 28 */ lbz r3, 0x28(r29)
|
||||
/* 803065C0 00302220 88 1D 00 27 */ lbz r0, 0x27(r29)
|
||||
/* 803065C4 00302224 50 60 44 2E */ rlwimi r0, r3, 8, 0x10, 0x17
|
||||
/* 803065C8 00302228 88 9D 00 29 */ lbz r4, 0x29(r29)
|
||||
/* 803065CC 0030222C 88 7D 00 2A */ lbz r3, 0x2a(r29)
|
||||
/* 803065D0 00302230 50 80 82 1E */ rlwimi r0, r4, 0x10, 8, 0xf
|
||||
/* 803065D4 00302234 50 60 C0 0E */ rlwimi r0, r3, 0x18, 0, 7
|
||||
/* 803065D8 00302238 90 1E 00 24 */ stw r0, 0x24(r30)
|
||||
/* 803065DC 0030223C 41 82 00 64 */ beq lbl_80306640
|
||||
/* 803065E0 00302240 34 1E 00 29 */ addic. r0, r30, 0x29
|
||||
/* 803065E4 00302244 41 82 00 5C */ beq lbl_80306640
|
||||
/* 803065E8 00302248 88 1D 00 2B */ lbz r0, 0x2b(r29)
|
||||
/* 803065EC 0030224C 98 1E 00 29 */ stb r0, 0x29(r30)
|
||||
/* 803065F0 00302250 88 1D 00 2C */ lbz r0, 0x2c(r29)
|
||||
/* 803065F4 00302254 98 1E 00 2A */ stb r0, 0x2a(r30)
|
||||
/* 803065F8 00302258 88 1D 00 2D */ lbz r0, 0x2d(r29)
|
||||
/* 803065FC 0030225C 98 1E 00 2B */ stb r0, 0x2b(r30)
|
||||
/* 80306600 00302260 88 1D 00 2E */ lbz r0, 0x2e(r29)
|
||||
/* 80306604 00302264 98 1E 00 2C */ stb r0, 0x2c(r30)
|
||||
/* 80306608 00302268 88 1D 00 2F */ lbz r0, 0x2f(r29)
|
||||
/* 8030660C 0030226C 98 1E 00 2D */ stb r0, 0x2d(r30)
|
||||
/* 80306610 00302270 88 1D 00 30 */ lbz r0, 0x30(r29)
|
||||
/* 80306614 00302274 98 1E 00 2E */ stb r0, 0x2e(r30)
|
||||
/* 80306618 00302278 88 1D 00 31 */ lbz r0, 0x31(r29)
|
||||
/* 8030661C 0030227C 98 1E 00 2F */ stb r0, 0x2f(r30)
|
||||
/* 80306620 00302280 88 1D 00 32 */ lbz r0, 0x32(r29)
|
||||
/* 80306624 00302284 98 1E 00 30 */ stb r0, 0x30(r30)
|
||||
/* 80306628 00302288 88 1D 00 33 */ lbz r0, 0x33(r29)
|
||||
/* 8030662C 0030228C 98 1E 00 31 */ stb r0, 0x31(r30)
|
||||
/* 80306630 00302290 88 1D 00 34 */ lbz r0, 0x34(r29)
|
||||
/* 80306634 00302294 98 1E 00 32 */ stb r0, 0x32(r30)
|
||||
/* 80306638 00302298 88 1D 00 35 */ lbz r0, 0x35(r29)
|
||||
/* 8030663C 0030229C 98 1E 00 33 */ stb r0, 0x33(r30)
|
||||
lbl_80306640:
|
||||
/* 80306640 003022A0 34 1D 00 36 */ addic. r0, r29, 0x36
|
||||
/* 80306644 003022A4 41 82 01 CC */ beq lbl_80306810
|
||||
/* 80306648 003022A8 34 1E 00 34 */ addic. r0, r30, 0x34
|
||||
/* 8030664C 003022AC 41 82 01 C4 */ beq lbl_80306810
|
||||
/* 80306650 003022B0 88 1D 00 36 */ lbz r0, 0x36(r29)
|
||||
/* 80306654 003022B4 98 1E 00 34 */ stb r0, 0x34(r30)
|
||||
/* 80306658 003022B8 88 1D 00 37 */ lbz r0, 0x37(r29)
|
||||
/* 8030665C 003022BC 98 1E 00 35 */ stb r0, 0x35(r30)
|
||||
/* 80306660 003022C0 88 1D 00 38 */ lbz r0, 0x38(r29)
|
||||
/* 80306664 003022C4 98 1E 00 36 */ stb r0, 0x36(r30)
|
||||
/* 80306668 003022C8 88 1D 00 39 */ lbz r0, 0x39(r29)
|
||||
/* 8030666C 003022CC 98 1E 00 37 */ stb r0, 0x37(r30)
|
||||
/* 80306670 003022D0 88 1D 00 3A */ lbz r0, 0x3a(r29)
|
||||
/* 80306674 003022D4 98 1E 00 38 */ stb r0, 0x38(r30)
|
||||
/* 80306678 003022D8 88 1D 00 3B */ lbz r0, 0x3b(r29)
|
||||
/* 8030667C 003022DC 98 1E 00 39 */ stb r0, 0x39(r30)
|
||||
/* 80306680 003022E0 88 1D 00 3C */ lbz r0, 0x3c(r29)
|
||||
/* 80306684 003022E4 98 1E 00 3A */ stb r0, 0x3a(r30)
|
||||
/* 80306688 003022E8 88 1D 00 3D */ lbz r0, 0x3d(r29)
|
||||
/* 8030668C 003022EC 98 1E 00 3B */ stb r0, 0x3b(r30)
|
||||
/* 80306690 003022F0 48 00 01 80 */ b lbl_80306810
|
||||
lbl_80306694:
|
||||
/* 80306694 003022F4 A0 1E 00 10 */ lhz r0, 0x10(r30)
|
||||
/* 80306698 003022F8 2C 00 00 00 */ cmpwi r0, 0
|
||||
/* 8030669C 003022FC 40 82 00 10 */ bne lbl_803066AC
|
||||
/* 803066A0 00302300 A0 1E 00 12 */ lhz r0, 0x12(r30)
|
||||
/* 803066A4 00302304 2C 00 00 00 */ cmpwi r0, 0
|
||||
/* 803066A8 00302308 41 82 00 08 */ beq lbl_803066B0
|
||||
lbl_803066AC:
|
||||
/* 803066AC 0030230C 3B E0 00 04 */ li r31, 4
|
||||
lbl_803066B0:
|
||||
/* 803066B0 00302310 34 1D 00 47 */ addic. r0, r29, 0x47
|
||||
/* 803066B4 00302314 88 7D 00 29 */ lbz r3, 0x29(r29)
|
||||
/* 803066B8 00302318 88 1D 00 28 */ lbz r0, 0x28(r29)
|
||||
/* 803066BC 0030231C 50 60 44 2E */ rlwimi r0, r3, 8, 0x10, 0x17
|
||||
/* 803066C0 00302320 B0 1E 00 40 */ sth r0, 0x40(r30)
|
||||
/* 803066C4 00302324 88 7D 00 2B */ lbz r3, 0x2b(r29)
|
||||
/* 803066C8 00302328 88 1D 00 2A */ lbz r0, 0x2a(r29)
|
||||
/* 803066CC 0030232C 50 60 44 2E */ rlwimi r0, r3, 8, 0x10, 0x17
|
||||
/* 803066D0 00302330 B0 1E 00 42 */ sth r0, 0x42(r30)
|
||||
/* 803066D4 00302334 88 7D 00 2D */ lbz r3, 0x2d(r29)
|
||||
/* 803066D8 00302338 88 1D 00 2C */ lbz r0, 0x2c(r29)
|
||||
/* 803066DC 0030233C 50 60 44 2E */ rlwimi r0, r3, 8, 0x10, 0x17
|
||||
/* 803066E0 00302340 88 9D 00 2E */ lbz r4, 0x2e(r29)
|
||||
/* 803066E4 00302344 88 7D 00 2F */ lbz r3, 0x2f(r29)
|
||||
/* 803066E8 00302348 50 80 82 1E */ rlwimi r0, r4, 0x10, 8, 0xf
|
||||
/* 803066EC 0030234C 50 60 C0 0E */ rlwimi r0, r3, 0x18, 0, 7
|
||||
/* 803066F0 00302350 90 1E 00 44 */ stw r0, 0x44(r30)
|
||||
/* 803066F4 00302354 88 7D 00 31 */ lbz r3, 0x31(r29)
|
||||
/* 803066F8 00302358 88 1D 00 30 */ lbz r0, 0x30(r29)
|
||||
/* 803066FC 0030235C 50 60 44 2E */ rlwimi r0, r3, 8, 0x10, 0x17
|
||||
/* 80306700 00302360 B0 1E 00 48 */ sth r0, 0x48(r30)
|
||||
/* 80306704 00302364 88 7D 00 33 */ lbz r3, 0x33(r29)
|
||||
/* 80306708 00302368 88 1D 00 32 */ lbz r0, 0x32(r29)
|
||||
/* 8030670C 0030236C 50 60 44 2E */ rlwimi r0, r3, 8, 0x10, 0x17
|
||||
/* 80306710 00302370 B0 1E 00 4A */ sth r0, 0x4a(r30)
|
||||
/* 80306714 00302374 88 1D 00 40 */ lbz r0, 0x40(r29)
|
||||
/* 80306718 00302378 98 1E 00 23 */ stb r0, 0x23(r30)
|
||||
/* 8030671C 0030237C 88 1D 00 42 */ lbz r0, 0x42(r29)
|
||||
/* 80306720 00302380 98 1E 00 28 */ stb r0, 0x28(r30)
|
||||
/* 80306724 00302384 88 7D 00 44 */ lbz r3, 0x44(r29)
|
||||
/* 80306728 00302388 88 1D 00 43 */ lbz r0, 0x43(r29)
|
||||
/* 8030672C 0030238C 50 60 44 2E */ rlwimi r0, r3, 8, 0x10, 0x17
|
||||
/* 80306730 00302390 88 9D 00 45 */ lbz r4, 0x45(r29)
|
||||
/* 80306734 00302394 88 7D 00 46 */ lbz r3, 0x46(r29)
|
||||
/* 80306738 00302398 50 80 82 1E */ rlwimi r0, r4, 0x10, 8, 0xf
|
||||
/* 8030673C 0030239C 50 60 C0 0E */ rlwimi r0, r3, 0x18, 0, 7
|
||||
/* 80306740 003023A0 90 1E 00 24 */ stw r0, 0x24(r30)
|
||||
/* 80306744 003023A4 41 82 00 64 */ beq lbl_803067A8
|
||||
/* 80306748 003023A8 34 1E 00 29 */ addic. r0, r30, 0x29
|
||||
/* 8030674C 003023AC 41 82 00 5C */ beq lbl_803067A8
|
||||
/* 80306750 003023B0 88 1D 00 47 */ lbz r0, 0x47(r29)
|
||||
/* 80306754 003023B4 98 1E 00 29 */ stb r0, 0x29(r30)
|
||||
/* 80306758 003023B8 88 1D 00 48 */ lbz r0, 0x48(r29)
|
||||
/* 8030675C 003023BC 98 1E 00 2A */ stb r0, 0x2a(r30)
|
||||
/* 80306760 003023C0 88 1D 00 49 */ lbz r0, 0x49(r29)
|
||||
/* 80306764 003023C4 98 1E 00 2B */ stb r0, 0x2b(r30)
|
||||
/* 80306768 003023C8 88 1D 00 4A */ lbz r0, 0x4a(r29)
|
||||
/* 8030676C 003023CC 98 1E 00 2C */ stb r0, 0x2c(r30)
|
||||
/* 80306770 003023D0 88 1D 00 4B */ lbz r0, 0x4b(r29)
|
||||
/* 80306774 003023D4 98 1E 00 2D */ stb r0, 0x2d(r30)
|
||||
/* 80306778 003023D8 88 1D 00 4C */ lbz r0, 0x4c(r29)
|
||||
/* 8030677C 003023DC 98 1E 00 2E */ stb r0, 0x2e(r30)
|
||||
/* 80306780 003023E0 88 1D 00 4D */ lbz r0, 0x4d(r29)
|
||||
/* 80306784 003023E4 98 1E 00 2F */ stb r0, 0x2f(r30)
|
||||
/* 80306788 003023E8 88 1D 00 4E */ lbz r0, 0x4e(r29)
|
||||
/* 8030678C 003023EC 98 1E 00 30 */ stb r0, 0x30(r30)
|
||||
/* 80306790 003023F0 88 1D 00 4F */ lbz r0, 0x4f(r29)
|
||||
/* 80306794 003023F4 98 1E 00 31 */ stb r0, 0x31(r30)
|
||||
/* 80306798 003023F8 88 1D 00 50 */ lbz r0, 0x50(r29)
|
||||
/* 8030679C 003023FC 98 1E 00 32 */ stb r0, 0x32(r30)
|
||||
/* 803067A0 00302400 88 1D 00 51 */ lbz r0, 0x51(r29)
|
||||
/* 803067A4 00302404 98 1E 00 33 */ stb r0, 0x33(r30)
|
||||
lbl_803067A8:
|
||||
/* 803067A8 00302408 34 1D 00 52 */ addic. r0, r29, 0x52
|
||||
/* 803067AC 0030240C 41 82 00 4C */ beq lbl_803067F8
|
||||
/* 803067B0 00302410 34 1E 00 34 */ addic. r0, r30, 0x34
|
||||
/* 803067B4 00302414 41 82 00 44 */ beq lbl_803067F8
|
||||
/* 803067B8 00302418 88 1D 00 52 */ lbz r0, 0x52(r29)
|
||||
/* 803067BC 0030241C 98 1E 00 34 */ stb r0, 0x34(r30)
|
||||
/* 803067C0 00302420 88 1D 00 53 */ lbz r0, 0x53(r29)
|
||||
/* 803067C4 00302424 98 1E 00 35 */ stb r0, 0x35(r30)
|
||||
/* 803067C8 00302428 88 1D 00 54 */ lbz r0, 0x54(r29)
|
||||
/* 803067CC 0030242C 98 1E 00 36 */ stb r0, 0x36(r30)
|
||||
/* 803067D0 00302430 88 1D 00 55 */ lbz r0, 0x55(r29)
|
||||
/* 803067D4 00302434 98 1E 00 37 */ stb r0, 0x37(r30)
|
||||
/* 803067D8 00302438 88 1D 00 56 */ lbz r0, 0x56(r29)
|
||||
/* 803067DC 0030243C 98 1E 00 38 */ stb r0, 0x38(r30)
|
||||
/* 803067E0 00302440 88 1D 00 57 */ lbz r0, 0x57(r29)
|
||||
/* 803067E4 00302444 98 1E 00 39 */ stb r0, 0x39(r30)
|
||||
/* 803067E8 00302448 88 1D 00 58 */ lbz r0, 0x58(r29)
|
||||
/* 803067EC 0030244C 98 1E 00 3A */ stb r0, 0x3a(r30)
|
||||
/* 803067F0 00302450 88 1D 00 59 */ lbz r0, 0x59(r29)
|
||||
/* 803067F4 00302454 98 1E 00 3B */ stb r0, 0x3b(r30)
|
||||
lbl_803067F8:
|
||||
/* 803067F8 00302458 A0 1E 00 42 */ lhz r0, 0x42(r30)
|
||||
/* 803067FC 0030245C 2C 00 00 00 */ cmpwi r0, 0
|
||||
/* 80306800 00302460 41 82 00 10 */ beq lbl_80306810
|
||||
/* 80306804 00302464 3B E0 00 04 */ li r31, 4
|
||||
/* 80306808 00302468 48 00 00 08 */ b lbl_80306810
|
||||
lbl_8030680C:
|
||||
/* 8030680C 0030246C 3B E0 00 04 */ li r31, 4
|
||||
lbl_80306810:
|
||||
/* 80306810 00302470 80 1E 00 50 */ lwz r0, 0x50(r30)
|
||||
/* 80306814 00302474 2C 00 00 02 */ cmpwi r0, 2
|
||||
/* 80306818 00302478 41 82 00 38 */ beq lbl_80306850
|
||||
/* 8030681C 0030247C 40 80 00 90 */ bge lbl_803068AC
|
||||
/* 80306820 00302480 2C 00 00 00 */ cmpwi r0, 0
|
||||
/* 80306824 00302484 40 80 00 08 */ bge lbl_8030682C
|
||||
/* 80306828 00302488 48 00 00 84 */ b lbl_803068AC
|
||||
lbl_8030682C:
|
||||
/* 8030682C 0030248C 88 7E 00 0B */ lbz r3, 0xb(r30)
|
||||
/* 80306830 00302490 80 1E 00 6C */ lwz r0, 0x6c(r30)
|
||||
/* 80306834 00302494 A0 9E 00 0C */ lhz r4, 0xc(r30)
|
||||
/* 80306838 00302498 7C 03 01 D6 */ mullw r0, r3, r0
|
||||
/* 8030683C 0030249C 98 7E 00 4F */ stb r3, 0x4f(r30)
|
||||
/* 80306840 003024A0 90 9E 00 58 */ stw r4, 0x58(r30)
|
||||
/* 80306844 003024A4 7C 04 02 14 */ add r0, r4, r0
|
||||
/* 80306848 003024A8 90 1E 00 5C */ stw r0, 0x5c(r30)
|
||||
/* 8030684C 003024AC 48 00 00 60 */ b lbl_803068AC
|
||||
lbl_80306850:
|
||||
/* 80306850 003024B0 A0 7E 00 40 */ lhz r3, 0x40(r30)
|
||||
/* 80306854 003024B4 80 BE 00 44 */ lwz r5, 0x44(r30)
|
||||
/* 80306858 003024B8 88 9E 00 55 */ lbz r4, 0x55(r30)
|
||||
/* 8030685C 003024BC 54 60 06 31 */ rlwinm. r0, r3, 0, 0x18, 0x18
|
||||
/* 80306860 003024C0 38 A5 FF FE */ addi r5, r5, -2
|
||||
/* 80306864 003024C4 80 DE 00 60 */ lwz r6, 0x60(r30)
|
||||
/* 80306868 003024C8 7C A0 20 30 */ slw r0, r5, r4
|
||||
/* 8030686C 003024CC 7C 06 02 14 */ add r0, r6, r0
|
||||
/* 80306870 003024D0 90 1E 00 5C */ stw r0, 0x5c(r30)
|
||||
/* 80306874 003024D4 41 82 00 28 */ beq lbl_8030689C
|
||||
/* 80306878 003024D8 80 1E 00 6C */ lwz r0, 0x6c(r30)
|
||||
/* 8030687C 003024DC 54 63 07 7E */ clrlwi r3, r3, 0x1d
|
||||
/* 80306880 003024E0 38 A0 00 01 */ li r5, 1
|
||||
/* 80306884 003024E4 A0 9E 00 0C */ lhz r4, 0xc(r30)
|
||||
/* 80306888 003024E8 7C 03 01 D6 */ mullw r0, r3, r0
|
||||
/* 8030688C 003024EC 98 BE 00 4F */ stb r5, 0x4f(r30)
|
||||
/* 80306890 003024F0 7C 04 02 14 */ add r0, r4, r0
|
||||
/* 80306894 003024F4 90 1E 00 58 */ stw r0, 0x58(r30)
|
||||
/* 80306898 003024F8 48 00 00 14 */ b lbl_803068AC
|
||||
lbl_8030689C:
|
||||
/* 8030689C 003024FC 88 7E 00 0B */ lbz r3, 0xb(r30)
|
||||
/* 803068A0 00302500 A0 1E 00 0C */ lhz r0, 0xc(r30)
|
||||
/* 803068A4 00302504 98 7E 00 4F */ stb r3, 0x4f(r30)
|
||||
/* 803068A8 00302508 90 1E 00 58 */ stw r0, 0x58(r30)
|
||||
lbl_803068AC:
|
||||
/* 803068AC 0030250C 7F E3 FB 78 */ mr r3, r31
|
||||
lbl_803068B0:
|
||||
/* 803068B0 00302510 80 01 00 24 */ lwz r0, 0x24(r1)
|
||||
/* 803068B4 00302514 83 E1 00 1C */ lwz r31, 0x1c(r1)
|
||||
/* 803068B8 00302518 83 C1 00 18 */ lwz r30, 0x18(r1)
|
||||
/* 803068BC 0030251C 83 A1 00 14 */ lwz r29, 0x14(r1)
|
||||
/* 803068C0 00302520 7C 08 03 A6 */ mtlr r0
|
||||
/* 803068C4 00302524 38 21 00 20 */ addi r1, r1, 0x20
|
||||
/* 803068C8 00302528 4E 80 00 20 */ blr
|
||||
|
||||
.global VFipdm_bpb_get_fsinfo_information
|
||||
VFipdm_bpb_get_fsinfo_information:
|
||||
/* 803068CC 0030252C 2C 03 00 00 */ cmpwi r3, 0
|
||||
/* 803068D0 00302530 41 82 00 0C */ beq lbl_803068DC
|
||||
/* 803068D4 00302534 2C 04 00 00 */ cmpwi r4, 0
|
||||
/* 803068D8 00302538 40 82 00 0C */ bne lbl_803068E4
|
||||
lbl_803068DC:
|
||||
/* 803068DC 0030253C 38 60 00 01 */ li r3, 1
|
||||
/* 803068E0 00302540 4E 80 00 20 */ blr
|
||||
lbl_803068E4:
|
||||
/* 803068E4 00302544 88 A3 01 E9 */ lbz r5, 0x1e9(r3)
|
||||
/* 803068E8 00302548 88 03 01 E8 */ lbz r0, 0x1e8(r3)
|
||||
/* 803068EC 0030254C 50 A0 44 2E */ rlwimi r0, r5, 8, 0x10, 0x17
|
||||
/* 803068F0 00302550 88 C3 01 EA */ lbz r6, 0x1ea(r3)
|
||||
/* 803068F4 00302554 88 A3 01 EB */ lbz r5, 0x1eb(r3)
|
||||
/* 803068F8 00302558 50 C0 82 1E */ rlwimi r0, r6, 0x10, 8, 0xf
|
||||
/* 803068FC 0030255C 50 A0 C0 0E */ rlwimi r0, r5, 0x18, 0, 7
|
||||
/* 80306900 00302560 90 04 00 00 */ stw r0, 0(r4)
|
||||
/* 80306904 00302564 88 C3 01 EE */ lbz r6, 0x1ee(r3)
|
||||
/* 80306908 00302568 88 A3 01 ED */ lbz r5, 0x1ed(r3)
|
||||
/* 8030690C 0030256C 88 03 01 EC */ lbz r0, 0x1ec(r3)
|
||||
/* 80306910 00302570 88 E3 01 EF */ lbz r7, 0x1ef(r3)
|
||||
/* 80306914 00302574 50 A0 44 2E */ rlwimi r0, r5, 8, 0x10, 0x17
|
||||
/* 80306918 00302578 50 C0 82 1E */ rlwimi r0, r6, 0x10, 8, 0xf
|
||||
/* 8030691C 0030257C 38 60 00 00 */ li r3, 0
|
||||
/* 80306920 00302580 50 E0 C0 0E */ rlwimi r0, r7, 0x18, 0, 7
|
||||
/* 80306924 00302584 90 04 00 04 */ stw r0, 4(r4)
|
||||
/* 80306928 00302588 4E 80 00 20 */ blr
|
||||
|
||||
.global VFipdm_bpb_check_boot_sector
|
||||
VFipdm_bpb_check_boot_sector:
|
||||
/* 8030692C 0030258C 2C 03 00 00 */ cmpwi r3, 0
|
||||
/* 80306930 00302590 41 82 00 0C */ beq lbl_8030693C
|
||||
/* 80306934 00302594 2C 04 00 00 */ cmpwi r4, 0
|
||||
/* 80306938 00302598 40 82 00 0C */ bne lbl_80306944
|
||||
lbl_8030693C:
|
||||
/* 8030693C 0030259C 38 60 00 01 */ li r3, 1
|
||||
/* 80306940 003025A0 4E 80 00 20 */ blr
|
||||
lbl_80306944:
|
||||
/* 80306944 003025A4 38 00 00 01 */ li r0, 1
|
||||
/* 80306948 003025A8 90 04 00 00 */ stw r0, 0(r4)
|
||||
/* 8030694C 003025AC 88 A3 00 00 */ lbz r5, 0(r3)
|
||||
/* 80306950 003025B0 28 05 00 EB */ cmplwi r5, 0xeb
|
||||
/* 80306954 003025B4 40 82 00 10 */ bne lbl_80306964
|
||||
/* 80306958 003025B8 88 03 00 02 */ lbz r0, 2(r3)
|
||||
/* 8030695C 003025BC 28 00 00 90 */ cmplwi r0, 0x90
|
||||
/* 80306960 003025C0 41 82 00 14 */ beq lbl_80306974
|
||||
lbl_80306964:
|
||||
/* 80306964 003025C4 28 05 00 E9 */ cmplwi r5, 0xe9
|
||||
/* 80306968 003025C8 41 82 00 0C */ beq lbl_80306974
|
||||
/* 8030696C 003025CC 38 00 00 00 */ li r0, 0
|
||||
/* 80306970 003025D0 90 04 00 00 */ stw r0, 0(r4)
|
||||
lbl_80306974:
|
||||
/* 80306974 003025D4 88 03 01 FE */ lbz r0, 0x1fe(r3)
|
||||
/* 80306978 003025D8 28 00 00 55 */ cmplwi r0, 0x55
|
||||
/* 8030697C 003025DC 40 82 00 10 */ bne lbl_8030698C
|
||||
/* 80306980 003025E0 88 03 01 FF */ lbz r0, 0x1ff(r3)
|
||||
/* 80306984 003025E4 28 00 00 AA */ cmplwi r0, 0xaa
|
||||
/* 80306988 003025E8 41 82 00 0C */ beq lbl_80306994
|
||||
lbl_8030698C:
|
||||
/* 8030698C 003025EC 38 00 00 00 */ li r0, 0
|
||||
/* 80306990 003025F0 90 04 00 00 */ stw r0, 0(r4)
|
||||
lbl_80306994:
|
||||
/* 80306994 003025F4 88 A3 00 0C */ lbz r5, 0xc(r3)
|
||||
/* 80306998 003025F8 88 03 00 0B */ lbz r0, 0xb(r3)
|
||||
/* 8030699C 003025FC 50 A0 44 2E */ rlwimi r0, r5, 8, 0x10, 0x17
|
||||
/* 803069A0 00302600 28 00 02 00 */ cmplwi r0, 0x200
|
||||
/* 803069A4 00302604 41 82 00 28 */ beq lbl_803069CC
|
||||
/* 803069A8 00302608 54 00 04 3E */ clrlwi r0, r0, 0x10
|
||||
/* 803069AC 0030260C 28 00 04 00 */ cmplwi r0, 0x400
|
||||
/* 803069B0 00302610 41 82 00 1C */ beq lbl_803069CC
|
||||
/* 803069B4 00302614 28 00 08 00 */ cmplwi r0, 0x800
|
||||
/* 803069B8 00302618 41 82 00 14 */ beq lbl_803069CC
|
||||
/* 803069BC 0030261C 28 00 10 00 */ cmplwi r0, 0x1000
|
||||
/* 803069C0 00302620 41 82 00 0C */ beq lbl_803069CC
|
||||
/* 803069C4 00302624 38 00 00 00 */ li r0, 0
|
||||
/* 803069C8 00302628 90 04 00 00 */ stw r0, 0(r4)
|
||||
lbl_803069CC:
|
||||
/* 803069CC 0030262C 88 03 00 0D */ lbz r0, 0xd(r3)
|
||||
/* 803069D0 00302630 28 00 00 01 */ cmplwi r0, 1
|
||||
/* 803069D4 00302634 41 82 00 44 */ beq lbl_80306A18
|
||||
/* 803069D8 00302638 28 00 00 02 */ cmplwi r0, 2
|
||||
/* 803069DC 0030263C 41 82 00 3C */ beq lbl_80306A18
|
||||
/* 803069E0 00302640 28 00 00 04 */ cmplwi r0, 4
|
||||
/* 803069E4 00302644 41 82 00 34 */ beq lbl_80306A18
|
||||
/* 803069E8 00302648 28 00 00 08 */ cmplwi r0, 8
|
||||
/* 803069EC 0030264C 41 82 00 2C */ beq lbl_80306A18
|
||||
/* 803069F0 00302650 28 00 00 10 */ cmplwi r0, 0x10
|
||||
/* 803069F4 00302654 41 82 00 24 */ beq lbl_80306A18
|
||||
/* 803069F8 00302658 28 00 00 20 */ cmplwi r0, 0x20
|
||||
/* 803069FC 0030265C 41 82 00 1C */ beq lbl_80306A18
|
||||
/* 80306A00 00302660 28 00 00 40 */ cmplwi r0, 0x40
|
||||
/* 80306A04 00302664 41 82 00 14 */ beq lbl_80306A18
|
||||
/* 80306A08 00302668 28 00 00 80 */ cmplwi r0, 0x80
|
||||
/* 80306A0C 0030266C 41 82 00 0C */ beq lbl_80306A18
|
||||
/* 80306A10 00302670 38 00 00 00 */ li r0, 0
|
||||
/* 80306A14 00302674 90 04 00 00 */ stw r0, 0(r4)
|
||||
lbl_80306A18:
|
||||
/* 80306A18 00302678 88 03 00 15 */ lbz r0, 0x15(r3)
|
||||
/* 80306A1C 0030267C 28 00 00 F0 */ cmplwi r0, 0xf0
|
||||
/* 80306A20 00302680 41 82 00 4C */ beq lbl_80306A6C
|
||||
/* 80306A24 00302684 28 00 00 F8 */ cmplwi r0, 0xf8
|
||||
/* 80306A28 00302688 41 82 00 44 */ beq lbl_80306A6C
|
||||
/* 80306A2C 0030268C 28 00 00 F9 */ cmplwi r0, 0xf9
|
||||
/* 80306A30 00302690 41 82 00 3C */ beq lbl_80306A6C
|
||||
/* 80306A34 00302694 28 00 00 FA */ cmplwi r0, 0xfa
|
||||
/* 80306A38 00302698 41 82 00 34 */ beq lbl_80306A6C
|
||||
/* 80306A3C 0030269C 28 00 00 FB */ cmplwi r0, 0xfb
|
||||
/* 80306A40 003026A0 41 82 00 2C */ beq lbl_80306A6C
|
||||
/* 80306A44 003026A4 28 00 00 FC */ cmplwi r0, 0xfc
|
||||
/* 80306A48 003026A8 41 82 00 24 */ beq lbl_80306A6C
|
||||
/* 80306A4C 003026AC 28 00 00 FD */ cmplwi r0, 0xfd
|
||||
/* 80306A50 003026B0 41 82 00 1C */ beq lbl_80306A6C
|
||||
/* 80306A54 003026B4 28 00 00 FE */ cmplwi r0, 0xfe
|
||||
/* 80306A58 003026B8 41 82 00 14 */ beq lbl_80306A6C
|
||||
/* 80306A5C 003026BC 28 00 00 FF */ cmplwi r0, 0xff
|
||||
/* 80306A60 003026C0 41 82 00 0C */ beq lbl_80306A6C
|
||||
/* 80306A64 003026C4 38 00 00 00 */ li r0, 0
|
||||
/* 80306A68 003026C8 90 04 00 00 */ stw r0, 0(r4)
|
||||
lbl_80306A6C:
|
||||
/* 80306A6C 003026CC 38 60 00 00 */ li r3, 0
|
||||
/* 80306A70 003026D0 4E 80 00 20 */ blr
|
||||
|
||||
.global VFipdm_bpb_check_fsinfo_sector
|
||||
VFipdm_bpb_check_fsinfo_sector:
|
||||
/* 80306A74 003026D4 2C 03 00 00 */ cmpwi r3, 0
|
||||
/* 80306A78 003026D8 41 82 00 0C */ beq lbl_80306A84
|
||||
/* 80306A7C 003026DC 2C 04 00 00 */ cmpwi r4, 0
|
||||
/* 80306A80 003026E0 40 82 00 0C */ bne lbl_80306A8C
|
||||
lbl_80306A84:
|
||||
/* 80306A84 003026E4 38 60 00 01 */ li r3, 1
|
||||
/* 80306A88 003026E8 4E 80 00 20 */ blr
|
||||
lbl_80306A8C:
|
||||
/* 80306A8C 003026EC 88 03 00 01 */ lbz r0, 1(r3)
|
||||
/* 80306A90 003026F0 88 A3 00 00 */ lbz r5, 0(r3)
|
||||
/* 80306A94 003026F4 50 05 44 2E */ rlwimi r5, r0, 8, 0x10, 0x17
|
||||
/* 80306A98 003026F8 88 C3 00 02 */ lbz r6, 2(r3)
|
||||
/* 80306A9C 003026FC 88 03 00 03 */ lbz r0, 3(r3)
|
||||
/* 80306AA0 00302700 50 C5 82 1E */ rlwimi r5, r6, 0x10, 8, 0xf
|
||||
/* 80306AA4 00302704 88 E3 01 E5 */ lbz r7, 0x1e5(r3)
|
||||
/* 80306AA8 00302708 50 05 C0 0E */ rlwimi r5, r0, 0x18, 0, 7
|
||||
/* 80306AAC 0030270C 89 23 01 E4 */ lbz r9, 0x1e4(r3)
|
||||
/* 80306AB0 00302710 3C 05 BE 9F */ addis r0, r5, 0xbe9f
|
||||
/* 80306AB4 00302714 88 A3 01 FD */ lbz r5, 0x1fd(r3)
|
||||
/* 80306AB8 00302718 50 E9 44 2E */ rlwimi r9, r7, 8, 0x10, 0x17
|
||||
/* 80306ABC 0030271C 89 03 01 E6 */ lbz r8, 0x1e6(r3)
|
||||
/* 80306AC0 00302720 88 E3 01 FC */ lbz r7, 0x1fc(r3)
|
||||
/* 80306AC4 00302724 50 A7 44 2E */ rlwimi r7, r5, 8, 0x10, 0x17
|
||||
/* 80306AC8 00302728 88 C3 01 FE */ lbz r6, 0x1fe(r3)
|
||||
/* 80306ACC 0030272C 28 00 52 52 */ cmplwi r0, 0x5252
|
||||
/* 80306AD0 00302730 88 A3 01 E7 */ lbz r5, 0x1e7(r3)
|
||||
/* 80306AD4 00302734 51 09 82 1E */ rlwimi r9, r8, 0x10, 8, 0xf
|
||||
/* 80306AD8 00302738 88 03 01 FF */ lbz r0, 0x1ff(r3)
|
||||
/* 80306ADC 0030273C 50 C7 82 1E */ rlwimi r7, r6, 0x10, 8, 0xf
|
||||
/* 80306AE0 00302740 50 A9 C0 0E */ rlwimi r9, r5, 0x18, 0, 7
|
||||
/* 80306AE4 00302744 50 07 C0 0E */ rlwimi r7, r0, 0x18, 0, 7
|
||||
/* 80306AE8 00302748 40 82 00 28 */ bne lbl_80306B10
|
||||
/* 80306AEC 0030274C 3C 09 9E BF */ addis r0, r9, 0x9ebf
|
||||
/* 80306AF0 00302750 28 00 72 72 */ cmplwi r0, 0x7272
|
||||
/* 80306AF4 00302754 40 82 00 1C */ bne lbl_80306B10
|
||||
/* 80306AF8 00302758 3C 07 55 AB */ addis r0, r7, 0x55ab
|
||||
/* 80306AFC 0030275C 28 00 00 00 */ cmplwi r0, 0
|
||||
/* 80306B00 00302760 40 82 00 10 */ bne lbl_80306B10
|
||||
/* 80306B04 00302764 38 00 00 01 */ li r0, 1
|
||||
/* 80306B08 00302768 90 04 00 00 */ stw r0, 0(r4)
|
||||
/* 80306B0C 0030276C 48 00 00 0C */ b lbl_80306B18
|
||||
lbl_80306B10:
|
||||
/* 80306B10 00302770 38 00 00 00 */ li r0, 0
|
||||
/* 80306B14 00302774 90 04 00 00 */ stw r0, 0(r4)
|
||||
lbl_80306B18:
|
||||
/* 80306B18 00302778 38 60 00 00 */ li r3, 0
|
||||
/* 80306B1C 0030277C 4E 80 00 20 */ blr
|
||||
File diff suppressed because it is too large
Load Diff
@@ -0,0 +1,80 @@
|
||||
.include "macros.inc"
|
||||
|
||||
.section .text, "ax" # 0x80006980 - 0x803E1E60
|
||||
|
||||
.global VFipdm_init_diskmanager
|
||||
VFipdm_init_diskmanager:
|
||||
/* 80308DB0 00304A10 94 21 FF F0 */ stwu r1, -0x10(r1)
|
||||
/* 80308DB4 00304A14 7C 08 02 A6 */ mflr r0
|
||||
/* 80308DB8 00304A18 38 80 00 00 */ li r4, 0
|
||||
/* 80308DBC 00304A1C 38 A0 0B 64 */ li r5, 0xb64
|
||||
/* 80308DC0 00304A20 90 01 00 14 */ stw r0, 0x14(r1)
|
||||
/* 80308DC4 00304A24 93 E1 00 0C */ stw r31, 0xc(r1)
|
||||
/* 80308DC8 00304A28 3F E0 80 58 */ lis r31, lbl_8057EA60@ha
|
||||
/* 80308DCC 00304A2C 38 7F EA 60 */ addi r3, r31, lbl_8057EA60@l
|
||||
/* 80308DD0 00304A30 4B FF C2 05 */ bl VFipf_memset
|
||||
/* 80308DD4 00304A34 38 FF EA 60 */ addi r7, r31, -5536
|
||||
/* 80308DD8 00304A38 38 C0 00 00 */ li r6, 0
|
||||
/* 80308DDC 00304A3C 90 C7 01 B8 */ stw r6, 0x1b8(r7)
|
||||
/* 80308DE0 00304A40 38 00 00 18 */ li r0, 0x18
|
||||
/* 80308DE4 00304A44 1C 60 00 34 */ mulli r3, r0, 0x34
|
||||
/* 80308DE8 00304A48 90 C7 01 EC */ stw r6, 0x1ec(r7)
|
||||
/* 80308DEC 00304A4C 90 C7 02 20 */ stw r6, 0x220(r7)
|
||||
/* 80308DF0 00304A50 7C A7 1A 14 */ add r5, r7, r3
|
||||
/* 80308DF4 00304A54 1C 00 00 2C */ mulli r0, r0, 0x2c
|
||||
/* 80308DF8 00304A58 38 60 00 00 */ li r3, 0
|
||||
/* 80308DFC 00304A5C 90 C7 02 54 */ stw r6, 0x254(r7)
|
||||
/* 80308E00 00304A60 90 C7 02 88 */ stw r6, 0x288(r7)
|
||||
/* 80308E04 00304A64 7C 87 02 14 */ add r4, r7, r0
|
||||
/* 80308E08 00304A68 90 C7 02 BC */ stw r6, 0x2bc(r7)
|
||||
/* 80308E0C 00304A6C 90 C7 02 F0 */ stw r6, 0x2f0(r7)
|
||||
/* 80308E10 00304A70 90 C7 03 24 */ stw r6, 0x324(r7)
|
||||
/* 80308E14 00304A74 90 C7 03 58 */ stw r6, 0x358(r7)
|
||||
/* 80308E18 00304A78 90 C7 03 8C */ stw r6, 0x38c(r7)
|
||||
/* 80308E1C 00304A7C 90 C7 03 C0 */ stw r6, 0x3c0(r7)
|
||||
/* 80308E20 00304A80 90 C7 03 F4 */ stw r6, 0x3f4(r7)
|
||||
/* 80308E24 00304A84 90 C7 04 28 */ stw r6, 0x428(r7)
|
||||
/* 80308E28 00304A88 90 C7 04 5C */ stw r6, 0x45c(r7)
|
||||
/* 80308E2C 00304A8C 90 C7 04 90 */ stw r6, 0x490(r7)
|
||||
/* 80308E30 00304A90 90 C7 04 C4 */ stw r6, 0x4c4(r7)
|
||||
/* 80308E34 00304A94 90 C7 04 F8 */ stw r6, 0x4f8(r7)
|
||||
/* 80308E38 00304A98 90 C7 05 2C */ stw r6, 0x52c(r7)
|
||||
/* 80308E3C 00304A9C 90 C7 05 60 */ stw r6, 0x560(r7)
|
||||
/* 80308E40 00304AA0 90 C7 05 94 */ stw r6, 0x594(r7)
|
||||
/* 80308E44 00304AA4 90 C7 05 C8 */ stw r6, 0x5c8(r7)
|
||||
/* 80308E48 00304AA8 90 C7 05 FC */ stw r6, 0x5fc(r7)
|
||||
/* 80308E4C 00304AAC 90 C7 06 30 */ stw r6, 0x630(r7)
|
||||
/* 80308E50 00304AB0 90 C7 06 64 */ stw r6, 0x664(r7)
|
||||
/* 80308E54 00304AB4 90 C5 01 B8 */ stw r6, 0x1b8(r5)
|
||||
/* 80308E58 00304AB8 90 C5 01 EC */ stw r6, 0x1ec(r5)
|
||||
/* 80308E5C 00304ABC 90 C7 06 FC */ stw r6, 0x6fc(r7)
|
||||
/* 80308E60 00304AC0 90 C7 07 28 */ stw r6, 0x728(r7)
|
||||
/* 80308E64 00304AC4 90 C7 07 54 */ stw r6, 0x754(r7)
|
||||
/* 80308E68 00304AC8 90 C7 07 80 */ stw r6, 0x780(r7)
|
||||
/* 80308E6C 00304ACC 90 C7 07 AC */ stw r6, 0x7ac(r7)
|
||||
/* 80308E70 00304AD0 90 C7 07 D8 */ stw r6, 0x7d8(r7)
|
||||
/* 80308E74 00304AD4 90 C7 08 04 */ stw r6, 0x804(r7)
|
||||
/* 80308E78 00304AD8 90 C7 08 30 */ stw r6, 0x830(r7)
|
||||
/* 80308E7C 00304ADC 90 C7 08 5C */ stw r6, 0x85c(r7)
|
||||
/* 80308E80 00304AE0 90 C7 08 88 */ stw r6, 0x888(r7)
|
||||
/* 80308E84 00304AE4 90 C7 08 B4 */ stw r6, 0x8b4(r7)
|
||||
/* 80308E88 00304AE8 90 C7 08 E0 */ stw r6, 0x8e0(r7)
|
||||
/* 80308E8C 00304AEC 90 C7 09 0C */ stw r6, 0x90c(r7)
|
||||
/* 80308E90 00304AF0 90 C7 09 38 */ stw r6, 0x938(r7)
|
||||
/* 80308E94 00304AF4 90 C7 09 64 */ stw r6, 0x964(r7)
|
||||
/* 80308E98 00304AF8 90 C7 09 90 */ stw r6, 0x990(r7)
|
||||
/* 80308E9C 00304AFC 90 C7 09 BC */ stw r6, 0x9bc(r7)
|
||||
/* 80308EA0 00304B00 90 C7 09 E8 */ stw r6, 0x9e8(r7)
|
||||
/* 80308EA4 00304B04 90 C7 0A 14 */ stw r6, 0xa14(r7)
|
||||
/* 80308EA8 00304B08 90 C7 0A 40 */ stw r6, 0xa40(r7)
|
||||
/* 80308EAC 00304B0C 90 C7 0A 6C */ stw r6, 0xa6c(r7)
|
||||
/* 80308EB0 00304B10 90 C7 0A 98 */ stw r6, 0xa98(r7)
|
||||
/* 80308EB4 00304B14 90 C7 0A C4 */ stw r6, 0xac4(r7)
|
||||
/* 80308EB8 00304B18 90 C7 0A F0 */ stw r6, 0xaf0(r7)
|
||||
/* 80308EBC 00304B1C 90 C4 06 FC */ stw r6, 0x6fc(r4)
|
||||
/* 80308EC0 00304B20 90 C4 07 28 */ stw r6, 0x728(r4)
|
||||
/* 80308EC4 00304B24 83 E1 00 0C */ lwz r31, 0xc(r1)
|
||||
/* 80308EC8 00304B28 80 01 00 14 */ lwz r0, 0x14(r1)
|
||||
/* 80308ECC 00304B2C 7C 08 03 A6 */ mtlr r0
|
||||
/* 80308ED0 00304B30 38 21 00 10 */ addi r1, r1, 0x10
|
||||
/* 80308ED4 00304B34 4E 80 00 20 */ blr
|
||||
@@ -0,0 +1,434 @@
|
||||
.include "macros.inc"
|
||||
|
||||
.section .text, "ax" # 0x80006980 - 0x803E1E60
|
||||
|
||||
.global VFipdm_mbr_get_table
|
||||
VFipdm_mbr_get_table:
|
||||
/* 803087F0 00304450 2C 03 00 00 */ cmpwi r3, 0
|
||||
/* 803087F4 00304454 41 82 00 0C */ beq lbl_80308800
|
||||
/* 803087F8 00304458 2C 05 00 00 */ cmpwi r5, 0
|
||||
/* 803087FC 0030445C 40 82 00 0C */ bne lbl_80308808
|
||||
lbl_80308800:
|
||||
/* 80308800 00304460 38 60 00 01 */ li r3, 1
|
||||
/* 80308804 00304464 4E 80 00 20 */ blr
|
||||
lbl_80308808:
|
||||
/* 80308808 00304468 2C 04 00 00 */ cmpwi r4, 0
|
||||
/* 8030880C 0030446C 40 82 00 14 */ bne lbl_80308820
|
||||
/* 80308810 00304470 38 00 00 00 */ li r0, 0
|
||||
/* 80308814 00304474 90 05 00 04 */ stw r0, 4(r5)
|
||||
/* 80308818 00304478 90 05 00 00 */ stw r0, 0(r5)
|
||||
/* 8030881C 0030447C 48 00 00 18 */ b lbl_80308834
|
||||
lbl_80308820:
|
||||
/* 80308820 00304480 80 05 00 04 */ lwz r0, 4(r5)
|
||||
/* 80308824 00304484 2C 00 00 00 */ cmpwi r0, 0
|
||||
/* 80308828 00304488 40 82 00 08 */ bne lbl_80308830
|
||||
/* 8030882C 0030448C 90 85 00 04 */ stw r4, 4(r5)
|
||||
lbl_80308830:
|
||||
/* 80308830 00304490 90 85 00 00 */ stw r4, 0(r5)
|
||||
lbl_80308834:
|
||||
/* 80308834 00304494 38 00 00 04 */ li r0, 4
|
||||
/* 80308838 00304498 38 63 01 BE */ addi r3, r3, 0x1be
|
||||
/* 8030883C 0030449C 7C 09 03 A6 */ mtctr r0
|
||||
lbl_80308840:
|
||||
/* 80308840 003044A0 88 03 00 00 */ lbz r0, 0(r3)
|
||||
/* 80308844 003044A4 98 05 00 08 */ stb r0, 8(r5)
|
||||
/* 80308848 003044A8 88 03 00 04 */ lbz r0, 4(r3)
|
||||
/* 8030884C 003044AC 98 05 00 09 */ stb r0, 9(r5)
|
||||
/* 80308850 003044B0 88 03 00 01 */ lbz r0, 1(r3)
|
||||
/* 80308854 003044B4 98 05 00 0C */ stb r0, 0xc(r5)
|
||||
/* 80308858 003044B8 88 83 00 03 */ lbz r4, 3(r3)
|
||||
/* 8030885C 003044BC 88 03 00 02 */ lbz r0, 2(r3)
|
||||
/* 80308860 003044C0 50 80 44 2E */ rlwimi r0, r4, 8, 0x10, 0x17
|
||||
/* 80308864 003044C4 54 06 15 AE */ rlwinm r6, r0, 2, 0x16, 0x17
|
||||
/* 80308868 003044C8 7C 04 46 70 */ srawi r4, r0, 8
|
||||
/* 8030886C 003044CC 54 00 06 BE */ clrlwi r0, r0, 0x1a
|
||||
/* 80308870 003044D0 7C 86 22 14 */ add r4, r6, r4
|
||||
/* 80308874 003044D4 B0 85 00 0A */ sth r4, 0xa(r5)
|
||||
/* 80308878 003044D8 98 05 00 0D */ stb r0, 0xd(r5)
|
||||
/* 8030887C 003044DC 88 83 00 06 */ lbz r4, 6(r3)
|
||||
/* 80308880 003044E0 88 03 00 05 */ lbz r0, 5(r3)
|
||||
/* 80308884 003044E4 50 80 44 2E */ rlwimi r0, r4, 8, 0x10, 0x17
|
||||
/* 80308888 003044E8 98 05 00 10 */ stb r0, 0x10(r5)
|
||||
/* 8030888C 003044EC 88 83 00 07 */ lbz r4, 7(r3)
|
||||
/* 80308890 003044F0 88 03 00 06 */ lbz r0, 6(r3)
|
||||
/* 80308894 003044F4 50 80 44 2E */ rlwimi r0, r4, 8, 0x10, 0x17
|
||||
/* 80308898 003044F8 54 06 15 AE */ rlwinm r6, r0, 2, 0x16, 0x17
|
||||
/* 8030889C 003044FC 7C 04 46 70 */ srawi r4, r0, 8
|
||||
/* 803088A0 00304500 54 00 06 BE */ clrlwi r0, r0, 0x1a
|
||||
/* 803088A4 00304504 7C 86 22 14 */ add r4, r6, r4
|
||||
/* 803088A8 00304508 B0 85 00 0E */ sth r4, 0xe(r5)
|
||||
/* 803088AC 0030450C 98 05 00 11 */ stb r0, 0x11(r5)
|
||||
/* 803088B0 00304510 88 83 00 09 */ lbz r4, 9(r3)
|
||||
/* 803088B4 00304514 88 03 00 08 */ lbz r0, 8(r3)
|
||||
/* 803088B8 00304518 50 80 44 2E */ rlwimi r0, r4, 8, 0x10, 0x17
|
||||
/* 803088BC 0030451C 88 C3 00 0A */ lbz r6, 0xa(r3)
|
||||
/* 803088C0 00304520 88 83 00 0B */ lbz r4, 0xb(r3)
|
||||
/* 803088C4 00304524 50 C0 82 1E */ rlwimi r0, r6, 0x10, 8, 0xf
|
||||
/* 803088C8 00304528 50 80 C0 0E */ rlwimi r0, r4, 0x18, 0, 7
|
||||
/* 803088CC 0030452C 90 05 00 14 */ stw r0, 0x14(r5)
|
||||
/* 803088D0 00304530 88 C3 00 0E */ lbz r6, 0xe(r3)
|
||||
/* 803088D4 00304534 88 83 00 0D */ lbz r4, 0xd(r3)
|
||||
/* 803088D8 00304538 88 03 00 0C */ lbz r0, 0xc(r3)
|
||||
/* 803088DC 0030453C 88 E3 00 0F */ lbz r7, 0xf(r3)
|
||||
/* 803088E0 00304540 50 80 44 2E */ rlwimi r0, r4, 8, 0x10, 0x17
|
||||
/* 803088E4 00304544 50 C0 82 1E */ rlwimi r0, r6, 0x10, 8, 0xf
|
||||
/* 803088E8 00304548 38 63 00 10 */ addi r3, r3, 0x10
|
||||
/* 803088EC 0030454C 50 E0 C0 0E */ rlwimi r0, r7, 0x18, 0, 7
|
||||
/* 803088F0 00304550 90 05 00 18 */ stw r0, 0x18(r5)
|
||||
/* 803088F4 00304554 38 A5 00 14 */ addi r5, r5, 0x14
|
||||
/* 803088F8 00304558 42 00 FF 48 */ bdnz lbl_80308840
|
||||
/* 803088FC 0030455C 38 60 00 00 */ li r3, 0
|
||||
/* 80308900 00304560 4E 80 00 20 */ blr
|
||||
|
||||
.global VFipdm_mbr_get_mbr_part_table
|
||||
VFipdm_mbr_get_mbr_part_table:
|
||||
/* 80308904 00304564 94 21 FD E0 */ stwu r1, -0x220(r1)
|
||||
/* 80308908 00304568 7C 08 02 A6 */ mflr r0
|
||||
/* 8030890C 0030456C 2C 03 00 00 */ cmpwi r3, 0
|
||||
/* 80308910 00304570 90 01 02 24 */ stw r0, 0x224(r1)
|
||||
/* 80308914 00304574 93 E1 02 1C */ stw r31, 0x21c(r1)
|
||||
/* 80308918 00304578 7C 9F 23 78 */ mr r31, r4
|
||||
/* 8030891C 0030457C 93 C1 02 18 */ stw r30, 0x218(r1)
|
||||
/* 80308920 00304580 7C 7E 1B 78 */ mr r30, r3
|
||||
/* 80308924 00304584 41 82 00 0C */ beq lbl_80308930
|
||||
/* 80308928 00304588 2C 04 00 00 */ cmpwi r4, 0
|
||||
/* 8030892C 0030458C 40 82 00 0C */ bne lbl_80308938
|
||||
lbl_80308930:
|
||||
/* 80308930 00304590 38 60 00 01 */ li r3, 1
|
||||
/* 80308934 00304594 48 00 00 78 */ b lbl_803089AC
|
||||
lbl_80308938:
|
||||
/* 80308938 00304598 4B FF E4 65 */ bl VFipdm_disk_check_disk_handle
|
||||
/* 8030893C 0030459C 2C 03 00 00 */ cmpwi r3, 0
|
||||
/* 80308940 003045A0 41 82 00 08 */ beq lbl_80308948
|
||||
/* 80308944 003045A4 48 00 00 68 */ b lbl_803089AC
|
||||
lbl_80308948:
|
||||
/* 80308948 003045A8 7F C3 F3 78 */ mr r3, r30
|
||||
/* 8030894C 003045AC 38 81 00 10 */ addi r4, r1, 0x10
|
||||
/* 80308950 003045B0 39 01 00 0C */ addi r8, r1, 0xc
|
||||
/* 80308954 003045B4 38 A0 00 00 */ li r5, 0
|
||||
/* 80308958 003045B8 38 C0 00 01 */ li r6, 1
|
||||
/* 8030895C 003045BC 38 E0 02 00 */ li r7, 0x200
|
||||
/* 80308960 003045C0 4B FF E7 89 */ bl VFipdm_disk_physical_read
|
||||
/* 80308964 003045C4 2C 03 00 00 */ cmpwi r3, 0
|
||||
/* 80308968 003045C8 41 82 00 08 */ beq lbl_80308970
|
||||
/* 8030896C 003045CC 48 00 00 40 */ b lbl_803089AC
|
||||
lbl_80308970:
|
||||
/* 80308970 003045D0 7F C3 F3 78 */ mr r3, r30
|
||||
/* 80308974 003045D4 38 81 00 10 */ addi r4, r1, 0x10
|
||||
/* 80308978 003045D8 38 A1 00 08 */ addi r5, r1, 8
|
||||
/* 8030897C 003045DC 48 00 02 19 */ bl VFipdm_mbr_check_master_boot_record
|
||||
/* 80308980 003045E0 80 01 00 08 */ lwz r0, 8(r1)
|
||||
/* 80308984 003045E4 2C 00 00 00 */ cmpwi r0, 0
|
||||
/* 80308988 003045E8 41 82 00 18 */ beq lbl_803089A0
|
||||
/* 8030898C 003045EC 7F E5 FB 78 */ mr r5, r31
|
||||
/* 80308990 003045F0 38 61 00 10 */ addi r3, r1, 0x10
|
||||
/* 80308994 003045F4 38 80 00 00 */ li r4, 0
|
||||
/* 80308998 003045F8 4B FF FE 59 */ bl VFipdm_mbr_get_table
|
||||
/* 8030899C 003045FC 48 00 00 0C */ b lbl_803089A8
|
||||
lbl_803089A0:
|
||||
/* 803089A0 00304600 38 60 00 05 */ li r3, 5
|
||||
/* 803089A4 00304604 48 00 00 08 */ b lbl_803089AC
|
||||
lbl_803089A8:
|
||||
/* 803089A8 00304608 38 60 00 00 */ li r3, 0
|
||||
lbl_803089AC:
|
||||
/* 803089AC 0030460C 80 01 02 24 */ lwz r0, 0x224(r1)
|
||||
/* 803089B0 00304610 83 E1 02 1C */ lwz r31, 0x21c(r1)
|
||||
/* 803089B4 00304614 83 C1 02 18 */ lwz r30, 0x218(r1)
|
||||
/* 803089B8 00304618 7C 08 03 A6 */ mtlr r0
|
||||
/* 803089BC 0030461C 38 21 02 20 */ addi r1, r1, 0x220
|
||||
/* 803089C0 00304620 4E 80 00 20 */ blr
|
||||
|
||||
.global VFipdm_mbr_get_epbr_part_table
|
||||
VFipdm_mbr_get_epbr_part_table:
|
||||
/* 803089C4 00304624 94 21 FD C0 */ stwu r1, -0x240(r1)
|
||||
/* 803089C8 00304628 7C 08 02 A6 */ mflr r0
|
||||
/* 803089CC 0030462C 2C 03 00 00 */ cmpwi r3, 0
|
||||
/* 803089D0 00304630 90 01 02 44 */ stw r0, 0x244(r1)
|
||||
/* 803089D4 00304634 93 E1 02 3C */ stw r31, 0x23c(r1)
|
||||
/* 803089D8 00304638 93 C1 02 38 */ stw r30, 0x238(r1)
|
||||
/* 803089DC 0030463C 7C 9E 23 78 */ mr r30, r4
|
||||
/* 803089E0 00304640 93 A1 02 34 */ stw r29, 0x234(r1)
|
||||
/* 803089E4 00304644 7C 7D 1B 78 */ mr r29, r3
|
||||
/* 803089E8 00304648 41 82 00 0C */ beq lbl_803089F4
|
||||
/* 803089EC 0030464C 2C 04 00 00 */ cmpwi r4, 0
|
||||
/* 803089F0 00304650 40 82 00 0C */ bne lbl_803089FC
|
||||
lbl_803089F4:
|
||||
/* 803089F4 00304654 38 60 00 01 */ li r3, 1
|
||||
/* 803089F8 00304658 48 00 01 80 */ b lbl_80308B78
|
||||
lbl_803089FC:
|
||||
/* 803089FC 0030465C 4B FF E3 A1 */ bl VFipdm_disk_check_disk_handle
|
||||
/* 80308A00 00304660 2C 03 00 00 */ cmpwi r3, 0
|
||||
/* 80308A04 00304664 41 82 00 08 */ beq lbl_80308A0C
|
||||
/* 80308A08 00304668 48 00 01 70 */ b lbl_80308B78
|
||||
lbl_80308A0C:
|
||||
/* 80308A0C 0030466C 3B E0 00 00 */ li r31, 0
|
||||
/* 80308A10 00304670 38 A0 00 00 */ li r5, 0
|
||||
/* 80308A14 00304674 1C 1F 00 14 */ mulli r0, r31, 0x14
|
||||
/* 80308A18 00304678 7C 7E 02 14 */ add r3, r30, r0
|
||||
/* 80308A1C 0030467C 88 63 00 09 */ lbz r3, 9(r3)
|
||||
/* 80308A20 00304680 28 03 00 05 */ cmplwi r3, 5
|
||||
/* 80308A24 00304684 41 82 00 0C */ beq lbl_80308A30
|
||||
/* 80308A28 00304688 28 03 00 0F */ cmplwi r3, 0xf
|
||||
/* 80308A2C 0030468C 40 82 00 18 */ bne lbl_80308A44
|
||||
lbl_80308A30:
|
||||
/* 80308A30 00304690 7C 7E 02 14 */ add r3, r30, r0
|
||||
/* 80308A34 00304694 80 9E 00 04 */ lwz r4, 4(r30)
|
||||
/* 80308A38 00304698 80 03 00 14 */ lwz r0, 0x14(r3)
|
||||
/* 80308A3C 0030469C 7F E4 02 14 */ add r31, r4, r0
|
||||
/* 80308A40 003046A0 48 00 00 A4 */ b lbl_80308AE4
|
||||
lbl_80308A44:
|
||||
/* 80308A44 003046A4 38 A0 00 01 */ li r5, 1
|
||||
/* 80308A48 003046A8 1C 05 00 14 */ mulli r0, r5, 0x14
|
||||
/* 80308A4C 003046AC 7C 7E 02 14 */ add r3, r30, r0
|
||||
/* 80308A50 003046B0 88 63 00 09 */ lbz r3, 9(r3)
|
||||
/* 80308A54 003046B4 28 03 00 05 */ cmplwi r3, 5
|
||||
/* 80308A58 003046B8 41 82 00 0C */ beq lbl_80308A64
|
||||
/* 80308A5C 003046BC 28 03 00 0F */ cmplwi r3, 0xf
|
||||
/* 80308A60 003046C0 40 82 00 18 */ bne lbl_80308A78
|
||||
lbl_80308A64:
|
||||
/* 80308A64 003046C4 7C 7E 02 14 */ add r3, r30, r0
|
||||
/* 80308A68 003046C8 80 9E 00 04 */ lwz r4, 4(r30)
|
||||
/* 80308A6C 003046CC 80 03 00 14 */ lwz r0, 0x14(r3)
|
||||
/* 80308A70 003046D0 7F E4 02 14 */ add r31, r4, r0
|
||||
/* 80308A74 003046D4 48 00 00 70 */ b lbl_80308AE4
|
||||
lbl_80308A78:
|
||||
/* 80308A78 003046D8 38 A0 00 02 */ li r5, 2
|
||||
/* 80308A7C 003046DC 1C 05 00 14 */ mulli r0, r5, 0x14
|
||||
/* 80308A80 003046E0 7C 7E 02 14 */ add r3, r30, r0
|
||||
/* 80308A84 003046E4 88 63 00 09 */ lbz r3, 9(r3)
|
||||
/* 80308A88 003046E8 28 03 00 05 */ cmplwi r3, 5
|
||||
/* 80308A8C 003046EC 41 82 00 0C */ beq lbl_80308A98
|
||||
/* 80308A90 003046F0 28 03 00 0F */ cmplwi r3, 0xf
|
||||
/* 80308A94 003046F4 40 82 00 18 */ bne lbl_80308AAC
|
||||
lbl_80308A98:
|
||||
/* 80308A98 003046F8 7C 7E 02 14 */ add r3, r30, r0
|
||||
/* 80308A9C 003046FC 80 9E 00 04 */ lwz r4, 4(r30)
|
||||
/* 80308AA0 00304700 80 03 00 14 */ lwz r0, 0x14(r3)
|
||||
/* 80308AA4 00304704 7F E4 02 14 */ add r31, r4, r0
|
||||
/* 80308AA8 00304708 48 00 00 3C */ b lbl_80308AE4
|
||||
lbl_80308AAC:
|
||||
/* 80308AAC 0030470C 38 A0 00 03 */ li r5, 3
|
||||
/* 80308AB0 00304710 1C 05 00 14 */ mulli r0, r5, 0x14
|
||||
/* 80308AB4 00304714 7C 7E 02 14 */ add r3, r30, r0
|
||||
/* 80308AB8 00304718 88 63 00 09 */ lbz r3, 9(r3)
|
||||
/* 80308ABC 0030471C 28 03 00 05 */ cmplwi r3, 5
|
||||
/* 80308AC0 00304720 41 82 00 0C */ beq lbl_80308ACC
|
||||
/* 80308AC4 00304724 28 03 00 0F */ cmplwi r3, 0xf
|
||||
/* 80308AC8 00304728 40 82 00 18 */ bne lbl_80308AE0
|
||||
lbl_80308ACC:
|
||||
/* 80308ACC 0030472C 7C 7E 02 14 */ add r3, r30, r0
|
||||
/* 80308AD0 00304730 80 9E 00 04 */ lwz r4, 4(r30)
|
||||
/* 80308AD4 00304734 80 03 00 14 */ lwz r0, 0x14(r3)
|
||||
/* 80308AD8 00304738 7F E4 02 14 */ add r31, r4, r0
|
||||
/* 80308ADC 0030473C 48 00 00 08 */ b lbl_80308AE4
|
||||
lbl_80308AE0:
|
||||
/* 80308AE0 00304740 38 A0 00 04 */ li r5, 4
|
||||
lbl_80308AE4:
|
||||
/* 80308AE4 00304744 28 05 00 04 */ cmplwi r5, 4
|
||||
/* 80308AE8 00304748 40 82 00 0C */ bne lbl_80308AF4
|
||||
/* 80308AEC 0030474C 38 60 00 07 */ li r3, 7
|
||||
/* 80308AF0 00304750 48 00 00 88 */ b lbl_80308B78
|
||||
lbl_80308AF4:
|
||||
/* 80308AF4 00304754 7F A3 EB 78 */ mr r3, r29
|
||||
/* 80308AF8 00304758 38 81 00 10 */ addi r4, r1, 0x10
|
||||
/* 80308AFC 0030475C 4B FF EB D9 */ bl VFipdm_disk_get_media_information
|
||||
/* 80308B00 00304760 2C 03 00 00 */ cmpwi r3, 0
|
||||
/* 80308B04 00304764 41 82 00 08 */ beq lbl_80308B0C
|
||||
/* 80308B08 00304768 48 00 00 70 */ b lbl_80308B78
|
||||
lbl_80308B0C:
|
||||
/* 80308B0C 0030476C A0 01 00 18 */ lhz r0, 0x18(r1)
|
||||
/* 80308B10 00304770 7F A3 EB 78 */ mr r3, r29
|
||||
/* 80308B14 00304774 38 81 00 28 */ addi r4, r1, 0x28
|
||||
/* 80308B18 00304778 39 01 00 0C */ addi r8, r1, 0xc
|
||||
/* 80308B1C 0030477C 7C 00 4E 70 */ srawi r0, r0, 9
|
||||
/* 80308B20 00304780 38 C0 00 01 */ li r6, 1
|
||||
/* 80308B24 00304784 7C BF 01 D6 */ mullw r5, r31, r0
|
||||
/* 80308B28 00304788 38 E0 02 00 */ li r7, 0x200
|
||||
/* 80308B2C 0030478C 4B FF E5 BD */ bl VFipdm_disk_physical_read
|
||||
/* 80308B30 00304790 2C 03 00 00 */ cmpwi r3, 0
|
||||
/* 80308B34 00304794 41 82 00 08 */ beq lbl_80308B3C
|
||||
/* 80308B38 00304798 48 00 00 40 */ b lbl_80308B78
|
||||
lbl_80308B3C:
|
||||
/* 80308B3C 0030479C 7F A3 EB 78 */ mr r3, r29
|
||||
/* 80308B40 003047A0 38 81 00 28 */ addi r4, r1, 0x28
|
||||
/* 80308B44 003047A4 38 A1 00 08 */ addi r5, r1, 8
|
||||
/* 80308B48 003047A8 48 00 00 4D */ bl VFipdm_mbr_check_master_boot_record
|
||||
/* 80308B4C 003047AC 80 01 00 08 */ lwz r0, 8(r1)
|
||||
/* 80308B50 003047B0 2C 00 00 00 */ cmpwi r0, 0
|
||||
/* 80308B54 003047B4 41 82 00 18 */ beq lbl_80308B6C
|
||||
/* 80308B58 003047B8 7F E4 FB 78 */ mr r4, r31
|
||||
/* 80308B5C 003047BC 7F C5 F3 78 */ mr r5, r30
|
||||
/* 80308B60 003047C0 38 61 00 28 */ addi r3, r1, 0x28
|
||||
/* 80308B64 003047C4 4B FF FC 8D */ bl VFipdm_mbr_get_table
|
||||
/* 80308B68 003047C8 48 00 00 0C */ b lbl_80308B74
|
||||
lbl_80308B6C:
|
||||
/* 80308B6C 003047CC 38 60 00 06 */ li r3, 6
|
||||
/* 80308B70 003047D0 48 00 00 08 */ b lbl_80308B78
|
||||
lbl_80308B74:
|
||||
/* 80308B74 003047D4 38 60 00 00 */ li r3, 0
|
||||
lbl_80308B78:
|
||||
/* 80308B78 003047D8 80 01 02 44 */ lwz r0, 0x244(r1)
|
||||
/* 80308B7C 003047DC 83 E1 02 3C */ lwz r31, 0x23c(r1)
|
||||
/* 80308B80 003047E0 83 C1 02 38 */ lwz r30, 0x238(r1)
|
||||
/* 80308B84 003047E4 83 A1 02 34 */ lwz r29, 0x234(r1)
|
||||
/* 80308B88 003047E8 7C 08 03 A6 */ mtlr r0
|
||||
/* 80308B8C 003047EC 38 21 02 40 */ addi r1, r1, 0x240
|
||||
/* 80308B90 003047F0 4E 80 00 20 */ blr
|
||||
|
||||
.global VFipdm_mbr_check_master_boot_record
|
||||
VFipdm_mbr_check_master_boot_record:
|
||||
/* 80308B94 003047F4 94 21 FF 80 */ stwu r1, -0x80(r1)
|
||||
/* 80308B98 003047F8 7C 08 02 A6 */ mflr r0
|
||||
/* 80308B9C 003047FC 2C 03 00 00 */ cmpwi r3, 0
|
||||
/* 80308BA0 00304800 90 01 00 84 */ stw r0, 0x84(r1)
|
||||
/* 80308BA4 00304804 93 E1 00 7C */ stw r31, 0x7c(r1)
|
||||
/* 80308BA8 00304808 7C BF 2B 78 */ mr r31, r5
|
||||
/* 80308BAC 0030480C 93 C1 00 78 */ stw r30, 0x78(r1)
|
||||
/* 80308BB0 00304810 7C 9E 23 78 */ mr r30, r4
|
||||
/* 80308BB4 00304814 93 A1 00 74 */ stw r29, 0x74(r1)
|
||||
/* 80308BB8 00304818 7C 7D 1B 78 */ mr r29, r3
|
||||
/* 80308BBC 0030481C 41 82 00 14 */ beq lbl_80308BD0
|
||||
/* 80308BC0 00304820 2C 04 00 00 */ cmpwi r4, 0
|
||||
/* 80308BC4 00304824 41 82 00 0C */ beq lbl_80308BD0
|
||||
/* 80308BC8 00304828 2C 05 00 00 */ cmpwi r5, 0
|
||||
/* 80308BCC 0030482C 40 82 00 0C */ bne lbl_80308BD8
|
||||
lbl_80308BD0:
|
||||
/* 80308BD0 00304830 38 60 00 01 */ li r3, 1
|
||||
/* 80308BD4 00304834 48 00 01 C0 */ b lbl_80308D94
|
||||
lbl_80308BD8:
|
||||
/* 80308BD8 00304838 4B FF E1 C5 */ bl VFipdm_disk_check_disk_handle
|
||||
/* 80308BDC 0030483C 2C 03 00 00 */ cmpwi r3, 0
|
||||
/* 80308BE0 00304840 41 82 00 08 */ beq lbl_80308BE8
|
||||
/* 80308BE4 00304844 48 00 01 B0 */ b lbl_80308D94
|
||||
lbl_80308BE8:
|
||||
/* 80308BE8 00304848 38 00 00 00 */ li r0, 0
|
||||
/* 80308BEC 0030484C 90 1F 00 00 */ stw r0, 0(r31)
|
||||
/* 80308BF0 00304850 88 1E 01 FE */ lbz r0, 0x1fe(r30)
|
||||
/* 80308BF4 00304854 28 00 00 55 */ cmplwi r0, 0x55
|
||||
/* 80308BF8 00304858 40 82 00 10 */ bne lbl_80308C08
|
||||
/* 80308BFC 0030485C 88 1E 01 FF */ lbz r0, 0x1ff(r30)
|
||||
/* 80308C00 00304860 28 00 00 AA */ cmplwi r0, 0xaa
|
||||
/* 80308C04 00304864 41 82 00 0C */ beq lbl_80308C10
|
||||
lbl_80308C08:
|
||||
/* 80308C08 00304868 38 60 00 00 */ li r3, 0
|
||||
/* 80308C0C 0030486C 48 00 01 88 */ b lbl_80308D94
|
||||
lbl_80308C10:
|
||||
/* 80308C10 00304870 7F C3 F3 78 */ mr r3, r30
|
||||
/* 80308C14 00304874 38 A1 00 10 */ addi r5, r1, 0x10
|
||||
/* 80308C18 00304878 38 80 00 00 */ li r4, 0
|
||||
/* 80308C1C 0030487C 4B FF FB D5 */ bl VFipdm_mbr_get_table
|
||||
/* 80308C20 00304880 80 E1 00 24 */ lwz r7, 0x24(r1)
|
||||
/* 80308C24 00304884 57 A4 06 3E */ clrlwi r4, r29, 0x18
|
||||
/* 80308C28 00304888 80 C1 00 28 */ lwz r6, 0x28(r1)
|
||||
/* 80308C2C 0030488C 3C A0 80 58 */ lis r5, lbl_8057EA60@ha
|
||||
/* 80308C30 00304890 20 67 FF FF */ subfic r3, r7, -1
|
||||
/* 80308C34 00304894 38 00 00 01 */ li r0, 1
|
||||
/* 80308C38 00304898 1C 84 00 34 */ mulli r4, r4, 0x34
|
||||
/* 80308C3C 0030489C 38 A5 EA 60 */ addi r5, r5, lbl_8057EA60@l
|
||||
/* 80308C40 003048A0 7C 06 18 40 */ cmplw r6, r3
|
||||
/* 80308C44 003048A4 7C A5 22 14 */ add r5, r5, r4
|
||||
/* 80308C48 003048A8 41 81 00 14 */ bgt lbl_80308C5C
|
||||
/* 80308C4C 003048AC 80 65 01 BC */ lwz r3, 0x1bc(r5)
|
||||
/* 80308C50 003048B0 7C 87 32 14 */ add r4, r7, r6
|
||||
/* 80308C54 003048B4 7C 04 18 40 */ cmplw r4, r3
|
||||
/* 80308C58 003048B8 40 81 00 10 */ ble lbl_80308C68
|
||||
lbl_80308C5C:
|
||||
/* 80308C5C 003048BC 38 00 00 00 */ li r0, 0
|
||||
/* 80308C60 003048C0 90 1F 00 00 */ stw r0, 0(r31)
|
||||
/* 80308C64 003048C4 48 00 00 C4 */ b lbl_80308D28
|
||||
lbl_80308C68:
|
||||
/* 80308C68 003048C8 2C 07 00 00 */ cmpwi r7, 0
|
||||
/* 80308C6C 003048CC 41 82 00 08 */ beq lbl_80308C74
|
||||
/* 80308C70 003048D0 90 1F 00 00 */ stw r0, 0(r31)
|
||||
lbl_80308C74:
|
||||
/* 80308C74 003048D4 80 E1 00 38 */ lwz r7, 0x38(r1)
|
||||
/* 80308C78 003048D8 80 C1 00 3C */ lwz r6, 0x3c(r1)
|
||||
/* 80308C7C 003048DC 20 67 FF FF */ subfic r3, r7, -1
|
||||
/* 80308C80 003048E0 7C 06 18 40 */ cmplw r6, r3
|
||||
/* 80308C84 003048E4 41 81 00 14 */ bgt lbl_80308C98
|
||||
/* 80308C88 003048E8 80 65 01 BC */ lwz r3, 0x1bc(r5)
|
||||
/* 80308C8C 003048EC 7C 87 32 14 */ add r4, r7, r6
|
||||
/* 80308C90 003048F0 7C 04 18 40 */ cmplw r4, r3
|
||||
/* 80308C94 003048F4 40 81 00 10 */ ble lbl_80308CA4
|
||||
lbl_80308C98:
|
||||
/* 80308C98 003048F8 38 00 00 00 */ li r0, 0
|
||||
/* 80308C9C 003048FC 90 1F 00 00 */ stw r0, 0(r31)
|
||||
/* 80308CA0 00304900 48 00 00 88 */ b lbl_80308D28
|
||||
lbl_80308CA4:
|
||||
/* 80308CA4 00304904 2C 07 00 00 */ cmpwi r7, 0
|
||||
/* 80308CA8 00304908 41 82 00 08 */ beq lbl_80308CB0
|
||||
/* 80308CAC 0030490C 90 1F 00 00 */ stw r0, 0(r31)
|
||||
lbl_80308CB0:
|
||||
/* 80308CB0 00304910 80 E1 00 4C */ lwz r7, 0x4c(r1)
|
||||
/* 80308CB4 00304914 80 C1 00 50 */ lwz r6, 0x50(r1)
|
||||
/* 80308CB8 00304918 20 67 FF FF */ subfic r3, r7, -1
|
||||
/* 80308CBC 0030491C 7C 06 18 40 */ cmplw r6, r3
|
||||
/* 80308CC0 00304920 41 81 00 14 */ bgt lbl_80308CD4
|
||||
/* 80308CC4 00304924 80 65 01 BC */ lwz r3, 0x1bc(r5)
|
||||
/* 80308CC8 00304928 7C 87 32 14 */ add r4, r7, r6
|
||||
/* 80308CCC 0030492C 7C 04 18 40 */ cmplw r4, r3
|
||||
/* 80308CD0 00304930 40 81 00 10 */ ble lbl_80308CE0
|
||||
lbl_80308CD4:
|
||||
/* 80308CD4 00304934 38 00 00 00 */ li r0, 0
|
||||
/* 80308CD8 00304938 90 1F 00 00 */ stw r0, 0(r31)
|
||||
/* 80308CDC 0030493C 48 00 00 4C */ b lbl_80308D28
|
||||
lbl_80308CE0:
|
||||
/* 80308CE0 00304940 2C 07 00 00 */ cmpwi r7, 0
|
||||
/* 80308CE4 00304944 41 82 00 08 */ beq lbl_80308CEC
|
||||
/* 80308CE8 00304948 90 1F 00 00 */ stw r0, 0(r31)
|
||||
lbl_80308CEC:
|
||||
/* 80308CEC 0030494C 80 E1 00 60 */ lwz r7, 0x60(r1)
|
||||
/* 80308CF0 00304950 80 C1 00 64 */ lwz r6, 0x64(r1)
|
||||
/* 80308CF4 00304954 20 67 FF FF */ subfic r3, r7, -1
|
||||
/* 80308CF8 00304958 7C 06 18 40 */ cmplw r6, r3
|
||||
/* 80308CFC 0030495C 41 81 00 14 */ bgt lbl_80308D10
|
||||
/* 80308D00 00304960 80 65 01 BC */ lwz r3, 0x1bc(r5)
|
||||
/* 80308D04 00304964 7C 87 32 14 */ add r4, r7, r6
|
||||
/* 80308D08 00304968 7C 04 18 40 */ cmplw r4, r3
|
||||
/* 80308D0C 0030496C 40 81 00 10 */ ble lbl_80308D1C
|
||||
lbl_80308D10:
|
||||
/* 80308D10 00304970 38 00 00 00 */ li r0, 0
|
||||
/* 80308D14 00304974 90 1F 00 00 */ stw r0, 0(r31)
|
||||
/* 80308D18 00304978 48 00 00 10 */ b lbl_80308D28
|
||||
lbl_80308D1C:
|
||||
/* 80308D1C 0030497C 2C 07 00 00 */ cmpwi r7, 0
|
||||
/* 80308D20 00304980 41 82 00 08 */ beq lbl_80308D28
|
||||
/* 80308D24 00304984 90 1F 00 00 */ stw r0, 0(r31)
|
||||
lbl_80308D28:
|
||||
/* 80308D28 00304988 80 1F 00 00 */ lwz r0, 0(r31)
|
||||
/* 80308D2C 0030498C 2C 00 00 00 */ cmpwi r0, 0
|
||||
/* 80308D30 00304990 40 82 00 60 */ bne lbl_80308D90
|
||||
/* 80308D34 00304994 80 01 00 24 */ lwz r0, 0x24(r1)
|
||||
/* 80308D38 00304998 2C 00 00 00 */ cmpwi r0, 0
|
||||
/* 80308D3C 0030499C 40 82 00 54 */ bne lbl_80308D90
|
||||
/* 80308D40 003049A0 80 01 00 38 */ lwz r0, 0x38(r1)
|
||||
/* 80308D44 003049A4 2C 00 00 00 */ cmpwi r0, 0
|
||||
/* 80308D48 003049A8 40 82 00 48 */ bne lbl_80308D90
|
||||
/* 80308D4C 003049AC 80 01 00 4C */ lwz r0, 0x4c(r1)
|
||||
/* 80308D50 003049B0 2C 00 00 00 */ cmpwi r0, 0
|
||||
/* 80308D54 003049B4 40 82 00 3C */ bne lbl_80308D90
|
||||
/* 80308D58 003049B8 80 01 00 60 */ lwz r0, 0x60(r1)
|
||||
/* 80308D5C 003049BC 2C 00 00 00 */ cmpwi r0, 0
|
||||
/* 80308D60 003049C0 40 82 00 30 */ bne lbl_80308D90
|
||||
/* 80308D64 003049C4 7F C3 F3 78 */ mr r3, r30
|
||||
/* 80308D68 003049C8 38 81 00 08 */ addi r4, r1, 8
|
||||
/* 80308D6C 003049CC 4B FF DB C1 */ bl VFipdm_bpb_check_boot_sector
|
||||
/* 80308D70 003049D0 80 01 00 08 */ lwz r0, 8(r1)
|
||||
/* 80308D74 003049D4 2C 00 00 00 */ cmpwi r0, 0
|
||||
/* 80308D78 003049D8 40 82 00 10 */ bne lbl_80308D88
|
||||
/* 80308D7C 003049DC 38 00 00 01 */ li r0, 1
|
||||
/* 80308D80 003049E0 90 1F 00 00 */ stw r0, 0(r31)
|
||||
/* 80308D84 003049E4 48 00 00 0C */ b lbl_80308D90
|
||||
lbl_80308D88:
|
||||
/* 80308D88 003049E8 38 00 00 00 */ li r0, 0
|
||||
/* 80308D8C 003049EC 90 1F 00 00 */ stw r0, 0(r31)
|
||||
lbl_80308D90:
|
||||
/* 80308D90 003049F0 38 60 00 00 */ li r3, 0
|
||||
lbl_80308D94:
|
||||
/* 80308D94 003049F4 80 01 00 84 */ lwz r0, 0x84(r1)
|
||||
/* 80308D98 003049F8 83 E1 00 7C */ lwz r31, 0x7c(r1)
|
||||
/* 80308D9C 003049FC 83 C1 00 78 */ lwz r30, 0x78(r1)
|
||||
/* 80308DA0 00304A00 83 A1 00 74 */ lwz r29, 0x74(r1)
|
||||
/* 80308DA4 00304A04 7C 08 03 A6 */ mtlr r0
|
||||
/* 80308DA8 00304A08 38 21 00 80 */ addi r1, r1, 0x80
|
||||
/* 80308DAC 00304A0C 4E 80 00 20 */ blr
|
||||
File diff suppressed because it is too large
Load Diff
File diff suppressed because it is too large
Load Diff
@@ -0,0 +1,246 @@
|
||||
.include "macros.inc"
|
||||
|
||||
.section .text, "ax" # 0x80006980 - 0x803E1E60
|
||||
|
||||
.global VFipf_toupper
|
||||
VFipf_toupper:
|
||||
/* 80304E94 00300AF4 2C 03 00 61 */ cmpwi r3, 0x61
|
||||
/* 80304E98 00300AF8 4D 80 00 20 */ bltlr
|
||||
/* 80304E9C 00300AFC 2C 03 00 7A */ cmpwi r3, 0x7a
|
||||
/* 80304EA0 00300B00 4D 81 00 20 */ bgtlr
|
||||
/* 80304EA4 00300B04 38 63 FF E0 */ addi r3, r3, -32
|
||||
/* 80304EA8 00300B08 4E 80 00 20 */ blr
|
||||
|
||||
.global VFipf_memcpy
|
||||
VFipf_memcpy:
|
||||
/* 80304EAC 00300B0C 54 60 07 BF */ clrlwi. r0, r3, 0x1e
|
||||
/* 80304EB0 00300B10 7C 68 1B 78 */ mr r8, r3
|
||||
/* 80304EB4 00300B14 40 82 00 9C */ bne lbl_80304F50
|
||||
/* 80304EB8 00300B18 54 80 07 BF */ clrlwi. r0, r4, 0x1e
|
||||
/* 80304EBC 00300B1C 40 82 00 94 */ bne lbl_80304F50
|
||||
/* 80304EC0 00300B20 28 05 00 03 */ cmplwi r5, 3
|
||||
/* 80304EC4 00300B24 54 A7 F0 BE */ srwi r7, r5, 2
|
||||
/* 80304EC8 00300B28 40 81 00 88 */ ble lbl_80304F50
|
||||
/* 80304ECC 00300B2C 54 E6 E8 FF */ rlwinm. r6, r7, 0x1d, 3, 0x1f
|
||||
/* 80304ED0 00300B30 54 E0 10 3A */ slwi r0, r7, 2
|
||||
/* 80304ED4 00300B34 7C 00 00 D0 */ neg r0, r0
|
||||
/* 80304ED8 00300B38 7C C9 03 A6 */ mtctr r6
|
||||
/* 80304EDC 00300B3C 41 82 00 58 */ beq lbl_80304F34
|
||||
lbl_80304EE0:
|
||||
/* 80304EE0 00300B40 80 C4 00 00 */ lwz r6, 0(r4)
|
||||
/* 80304EE4 00300B44 90 C8 00 00 */ stw r6, 0(r8)
|
||||
/* 80304EE8 00300B48 80 C4 00 04 */ lwz r6, 4(r4)
|
||||
/* 80304EEC 00300B4C 90 C8 00 04 */ stw r6, 4(r8)
|
||||
/* 80304EF0 00300B50 80 C4 00 08 */ lwz r6, 8(r4)
|
||||
/* 80304EF4 00300B54 90 C8 00 08 */ stw r6, 8(r8)
|
||||
/* 80304EF8 00300B58 80 C4 00 0C */ lwz r6, 0xc(r4)
|
||||
/* 80304EFC 00300B5C 90 C8 00 0C */ stw r6, 0xc(r8)
|
||||
/* 80304F00 00300B60 80 C4 00 10 */ lwz r6, 0x10(r4)
|
||||
/* 80304F04 00300B64 90 C8 00 10 */ stw r6, 0x10(r8)
|
||||
/* 80304F08 00300B68 80 C4 00 14 */ lwz r6, 0x14(r4)
|
||||
/* 80304F0C 00300B6C 90 C8 00 14 */ stw r6, 0x14(r8)
|
||||
/* 80304F10 00300B70 80 C4 00 18 */ lwz r6, 0x18(r4)
|
||||
/* 80304F14 00300B74 90 C8 00 18 */ stw r6, 0x18(r8)
|
||||
/* 80304F18 00300B78 80 C4 00 1C */ lwz r6, 0x1c(r4)
|
||||
/* 80304F1C 00300B7C 38 84 00 20 */ addi r4, r4, 0x20
|
||||
/* 80304F20 00300B80 90 C8 00 1C */ stw r6, 0x1c(r8)
|
||||
/* 80304F24 00300B84 39 08 00 20 */ addi r8, r8, 0x20
|
||||
/* 80304F28 00300B88 42 00 FF B8 */ bdnz lbl_80304EE0
|
||||
/* 80304F2C 00300B8C 70 E7 00 07 */ andi. r7, r7, 7
|
||||
/* 80304F30 00300B90 41 82 00 1C */ beq lbl_80304F4C
|
||||
lbl_80304F34:
|
||||
/* 80304F34 00300B94 7C E9 03 A6 */ mtctr r7
|
||||
lbl_80304F38:
|
||||
/* 80304F38 00300B98 80 C4 00 00 */ lwz r6, 0(r4)
|
||||
/* 80304F3C 00300B9C 38 84 00 04 */ addi r4, r4, 4
|
||||
/* 80304F40 00300BA0 90 C8 00 00 */ stw r6, 0(r8)
|
||||
/* 80304F44 00300BA4 39 08 00 04 */ addi r8, r8, 4
|
||||
/* 80304F48 00300BA8 42 00 FF F0 */ bdnz lbl_80304F38
|
||||
lbl_80304F4C:
|
||||
/* 80304F4C 00300BAC 7C A5 02 14 */ add r5, r5, r0
|
||||
lbl_80304F50:
|
||||
/* 80304F50 00300BB0 2C 05 00 00 */ cmpwi r5, 0
|
||||
/* 80304F54 00300BB4 4D 82 00 20 */ beqlr
|
||||
/* 80304F58 00300BB8 54 A0 E8 FF */ rlwinm. r0, r5, 0x1d, 3, 0x1f
|
||||
/* 80304F5C 00300BBC 7C 09 03 A6 */ mtctr r0
|
||||
/* 80304F60 00300BC0 41 82 00 58 */ beq lbl_80304FB8
|
||||
lbl_80304F64:
|
||||
/* 80304F64 00300BC4 88 04 00 00 */ lbz r0, 0(r4)
|
||||
/* 80304F68 00300BC8 98 08 00 00 */ stb r0, 0(r8)
|
||||
/* 80304F6C 00300BCC 88 04 00 01 */ lbz r0, 1(r4)
|
||||
/* 80304F70 00300BD0 98 08 00 01 */ stb r0, 1(r8)
|
||||
/* 80304F74 00300BD4 88 04 00 02 */ lbz r0, 2(r4)
|
||||
/* 80304F78 00300BD8 98 08 00 02 */ stb r0, 2(r8)
|
||||
/* 80304F7C 00300BDC 88 04 00 03 */ lbz r0, 3(r4)
|
||||
/* 80304F80 00300BE0 98 08 00 03 */ stb r0, 3(r8)
|
||||
/* 80304F84 00300BE4 88 04 00 04 */ lbz r0, 4(r4)
|
||||
/* 80304F88 00300BE8 98 08 00 04 */ stb r0, 4(r8)
|
||||
/* 80304F8C 00300BEC 88 04 00 05 */ lbz r0, 5(r4)
|
||||
/* 80304F90 00300BF0 98 08 00 05 */ stb r0, 5(r8)
|
||||
/* 80304F94 00300BF4 88 04 00 06 */ lbz r0, 6(r4)
|
||||
/* 80304F98 00300BF8 98 08 00 06 */ stb r0, 6(r8)
|
||||
/* 80304F9C 00300BFC 88 04 00 07 */ lbz r0, 7(r4)
|
||||
/* 80304FA0 00300C00 38 84 00 08 */ addi r4, r4, 8
|
||||
/* 80304FA4 00300C04 98 08 00 07 */ stb r0, 7(r8)
|
||||
/* 80304FA8 00300C08 39 08 00 08 */ addi r8, r8, 8
|
||||
/* 80304FAC 00300C0C 42 00 FF B8 */ bdnz lbl_80304F64
|
||||
/* 80304FB0 00300C10 70 A5 00 07 */ andi. r5, r5, 7
|
||||
/* 80304FB4 00300C14 4D 82 00 20 */ beqlr
|
||||
lbl_80304FB8:
|
||||
/* 80304FB8 00300C18 7C A9 03 A6 */ mtctr r5
|
||||
lbl_80304FBC:
|
||||
/* 80304FBC 00300C1C 88 04 00 00 */ lbz r0, 0(r4)
|
||||
/* 80304FC0 00300C20 38 84 00 01 */ addi r4, r4, 1
|
||||
/* 80304FC4 00300C24 98 08 00 00 */ stb r0, 0(r8)
|
||||
/* 80304FC8 00300C28 39 08 00 01 */ addi r8, r8, 1
|
||||
/* 80304FCC 00300C2C 42 00 FF F0 */ bdnz lbl_80304FBC
|
||||
/* 80304FD0 00300C30 4E 80 00 20 */ blr
|
||||
|
||||
.global VFipf_memset
|
||||
VFipf_memset:
|
||||
/* 80304FD4 00300C34 7C 69 1B 78 */ mr r9, r3
|
||||
/* 80304FD8 00300C38 48 00 00 10 */ b lbl_80304FE8
|
||||
lbl_80304FDC:
|
||||
/* 80304FDC 00300C3C 98 89 00 00 */ stb r4, 0(r9)
|
||||
/* 80304FE0 00300C40 39 29 00 01 */ addi r9, r9, 1
|
||||
/* 80304FE4 00300C44 38 A5 FF FF */ addi r5, r5, -1
|
||||
lbl_80304FE8:
|
||||
/* 80304FE8 00300C48 55 20 07 BF */ clrlwi. r0, r9, 0x1e
|
||||
/* 80304FEC 00300C4C 41 82 00 0C */ beq lbl_80304FF8
|
||||
/* 80304FF0 00300C50 2C 05 00 00 */ cmpwi r5, 0
|
||||
/* 80304FF4 00300C54 40 82 FF E8 */ bne lbl_80304FDC
|
||||
lbl_80304FF8:
|
||||
/* 80304FF8 00300C58 54 87 40 2E */ slwi r7, r4, 8
|
||||
/* 80304FFC 00300C5C 28 05 00 03 */ cmplwi r5, 3
|
||||
/* 80305000 00300C60 7C 88 3B 78 */ or r8, r4, r7
|
||||
/* 80305004 00300C64 54 86 C0 0E */ slwi r6, r4, 0x18
|
||||
/* 80305008 00300C68 54 80 80 1E */ slwi r0, r4, 0x10
|
||||
/* 8030500C 00300C6C 54 A7 F0 BE */ srwi r7, r5, 2
|
||||
/* 80305010 00300C70 7C C0 03 78 */ or r0, r6, r0
|
||||
/* 80305014 00300C74 7D 08 03 78 */ or r8, r8, r0
|
||||
/* 80305018 00300C78 40 81 00 5C */ ble lbl_80305074
|
||||
/* 8030501C 00300C7C 54 E6 E8 FF */ rlwinm. r6, r7, 0x1d, 3, 0x1f
|
||||
/* 80305020 00300C80 54 E0 10 3A */ slwi r0, r7, 2
|
||||
/* 80305024 00300C84 7C 00 00 D0 */ neg r0, r0
|
||||
/* 80305028 00300C88 7C C9 03 A6 */ mtctr r6
|
||||
/* 8030502C 00300C8C 41 82 00 34 */ beq lbl_80305060
|
||||
lbl_80305030:
|
||||
/* 80305030 00300C90 91 09 00 00 */ stw r8, 0(r9)
|
||||
/* 80305034 00300C94 91 09 00 04 */ stw r8, 4(r9)
|
||||
/* 80305038 00300C98 91 09 00 08 */ stw r8, 8(r9)
|
||||
/* 8030503C 00300C9C 91 09 00 0C */ stw r8, 0xc(r9)
|
||||
/* 80305040 00300CA0 91 09 00 10 */ stw r8, 0x10(r9)
|
||||
/* 80305044 00300CA4 91 09 00 14 */ stw r8, 0x14(r9)
|
||||
/* 80305048 00300CA8 91 09 00 18 */ stw r8, 0x18(r9)
|
||||
/* 8030504C 00300CAC 91 09 00 1C */ stw r8, 0x1c(r9)
|
||||
/* 80305050 00300CB0 39 29 00 20 */ addi r9, r9, 0x20
|
||||
/* 80305054 00300CB4 42 00 FF DC */ bdnz lbl_80305030
|
||||
/* 80305058 00300CB8 70 E7 00 07 */ andi. r7, r7, 7
|
||||
/* 8030505C 00300CBC 41 82 00 14 */ beq lbl_80305070
|
||||
lbl_80305060:
|
||||
/* 80305060 00300CC0 7C E9 03 A6 */ mtctr r7
|
||||
lbl_80305064:
|
||||
/* 80305064 00300CC4 91 09 00 00 */ stw r8, 0(r9)
|
||||
/* 80305068 00300CC8 39 29 00 04 */ addi r9, r9, 4
|
||||
/* 8030506C 00300CCC 42 00 FF F8 */ bdnz lbl_80305064
|
||||
lbl_80305070:
|
||||
/* 80305070 00300CD0 7C A5 02 14 */ add r5, r5, r0
|
||||
lbl_80305074:
|
||||
/* 80305074 00300CD4 2C 05 00 00 */ cmpwi r5, 0
|
||||
/* 80305078 00300CD8 4D 82 00 20 */ beqlr
|
||||
/* 8030507C 00300CDC 54 A0 E8 FF */ rlwinm. r0, r5, 0x1d, 3, 0x1f
|
||||
/* 80305080 00300CE0 7C 09 03 A6 */ mtctr r0
|
||||
/* 80305084 00300CE4 41 82 00 34 */ beq lbl_803050B8
|
||||
lbl_80305088:
|
||||
/* 80305088 00300CE8 98 89 00 00 */ stb r4, 0(r9)
|
||||
/* 8030508C 00300CEC 98 89 00 01 */ stb r4, 1(r9)
|
||||
/* 80305090 00300CF0 98 89 00 02 */ stb r4, 2(r9)
|
||||
/* 80305094 00300CF4 98 89 00 03 */ stb r4, 3(r9)
|
||||
/* 80305098 00300CF8 98 89 00 04 */ stb r4, 4(r9)
|
||||
/* 8030509C 00300CFC 98 89 00 05 */ stb r4, 5(r9)
|
||||
/* 803050A0 00300D00 98 89 00 06 */ stb r4, 6(r9)
|
||||
/* 803050A4 00300D04 98 89 00 07 */ stb r4, 7(r9)
|
||||
/* 803050A8 00300D08 39 29 00 08 */ addi r9, r9, 8
|
||||
/* 803050AC 00300D0C 42 00 FF DC */ bdnz lbl_80305088
|
||||
/* 803050B0 00300D10 70 A5 00 07 */ andi. r5, r5, 7
|
||||
/* 803050B4 00300D14 4D 82 00 20 */ beqlr
|
||||
lbl_803050B8:
|
||||
/* 803050B8 00300D18 7C A9 03 A6 */ mtctr r5
|
||||
lbl_803050BC:
|
||||
/* 803050BC 00300D1C 98 89 00 00 */ stb r4, 0(r9)
|
||||
/* 803050C0 00300D20 39 29 00 01 */ addi r9, r9, 1
|
||||
/* 803050C4 00300D24 42 00 FF F8 */ bdnz lbl_803050BC
|
||||
/* 803050C8 00300D28 4E 80 00 20 */ blr
|
||||
|
||||
.global VFipf_strlen
|
||||
VFipf_strlen:
|
||||
/* 803050CC 00300D2C 7C 64 1B 78 */ mr r4, r3
|
||||
/* 803050D0 00300D30 48 00 00 08 */ b lbl_803050D8
|
||||
lbl_803050D4:
|
||||
/* 803050D4 00300D34 38 84 00 01 */ addi r4, r4, 1
|
||||
lbl_803050D8:
|
||||
/* 803050D8 00300D38 88 04 00 00 */ lbz r0, 0(r4)
|
||||
/* 803050DC 00300D3C 7C 00 07 75 */ extsb. r0, r0
|
||||
/* 803050E0 00300D40 40 82 FF F4 */ bne lbl_803050D4
|
||||
/* 803050E4 00300D44 7C 63 20 50 */ subf r3, r3, r4
|
||||
/* 803050E8 00300D48 4E 80 00 20 */ blr
|
||||
|
||||
.global VFipf_strcpy
|
||||
VFipf_strcpy:
|
||||
/* 803050EC 00300D4C 7C 66 1B 78 */ mr r6, r3
|
||||
/* 803050F0 00300D50 48 00 00 0C */ b lbl_803050FC
|
||||
lbl_803050F4:
|
||||
/* 803050F4 00300D54 38 84 00 01 */ addi r4, r4, 1
|
||||
/* 803050F8 00300D58 38 C6 00 01 */ addi r6, r6, 1
|
||||
lbl_803050FC:
|
||||
/* 803050FC 00300D5C 88 A4 00 00 */ lbz r5, 0(r4)
|
||||
/* 80305100 00300D60 7C A0 07 75 */ extsb. r0, r5
|
||||
/* 80305104 00300D64 98 A6 00 00 */ stb r5, 0(r6)
|
||||
/* 80305108 00300D68 40 82 FF EC */ bne lbl_803050F4
|
||||
/* 8030510C 00300D6C 4E 80 00 20 */ blr
|
||||
|
||||
.global VFipf_strcmp
|
||||
VFipf_strcmp:
|
||||
/* 80305110 00300D70 48 00 00 0C */ b lbl_8030511C
|
||||
lbl_80305114:
|
||||
/* 80305114 00300D74 38 63 00 01 */ addi r3, r3, 1
|
||||
/* 80305118 00300D78 38 84 00 01 */ addi r4, r4, 1
|
||||
lbl_8030511C:
|
||||
/* 8030511C 00300D7C 88 A3 00 00 */ lbz r5, 0(r3)
|
||||
/* 80305120 00300D80 2C 05 00 00 */ cmpwi r5, 0
|
||||
/* 80305124 00300D84 41 82 00 18 */ beq lbl_8030513C
|
||||
/* 80305128 00300D88 88 04 00 00 */ lbz r0, 0(r4)
|
||||
/* 8030512C 00300D8C 2C 00 00 00 */ cmpwi r0, 0
|
||||
/* 80305130 00300D90 41 82 00 0C */ beq lbl_8030513C
|
||||
/* 80305134 00300D94 7C 05 00 40 */ cmplw r5, r0
|
||||
/* 80305138 00300D98 41 82 FF DC */ beq lbl_80305114
|
||||
lbl_8030513C:
|
||||
/* 8030513C 00300D9C 88 04 00 00 */ lbz r0, 0(r4)
|
||||
/* 80305140 00300DA0 7C 60 28 50 */ subf r3, r0, r5
|
||||
/* 80305144 00300DA4 4E 80 00 20 */ blr
|
||||
|
||||
.global VFipf_strncmp
|
||||
VFipf_strncmp:
|
||||
/* 80305148 00300DA8 7C A9 03 A6 */ mtctr r5
|
||||
/* 8030514C 00300DAC 2C 05 00 00 */ cmpwi r5, 0
|
||||
/* 80305150 00300DB0 41 82 00 3C */ beq lbl_8030518C
|
||||
lbl_80305154:
|
||||
/* 80305154 00300DB4 88 A3 00 00 */ lbz r5, 0(r3)
|
||||
/* 80305158 00300DB8 2C 05 00 00 */ cmpwi r5, 0
|
||||
/* 8030515C 00300DBC 41 82 00 18 */ beq lbl_80305174
|
||||
/* 80305160 00300DC0 88 04 00 00 */ lbz r0, 0(r4)
|
||||
/* 80305164 00300DC4 2C 00 00 00 */ cmpwi r0, 0
|
||||
/* 80305168 00300DC8 41 82 00 0C */ beq lbl_80305174
|
||||
/* 8030516C 00300DCC 7C 05 00 40 */ cmplw r5, r0
|
||||
/* 80305170 00300DD0 41 82 00 10 */ beq lbl_80305180
|
||||
lbl_80305174:
|
||||
/* 80305174 00300DD4 88 04 00 00 */ lbz r0, 0(r4)
|
||||
/* 80305178 00300DD8 7C 60 28 50 */ subf r3, r0, r5
|
||||
/* 8030517C 00300DDC 4E 80 00 20 */ blr
|
||||
lbl_80305180:
|
||||
/* 80305180 00300DE0 38 63 00 01 */ addi r3, r3, 1
|
||||
/* 80305184 00300DE4 38 84 00 01 */ addi r4, r4, 1
|
||||
/* 80305188 00300DE8 42 00 FF CC */ bdnz lbl_80305154
|
||||
lbl_8030518C:
|
||||
/* 8030518C 00300DEC 38 60 00 00 */ li r3, 0
|
||||
/* 80305190 00300DF0 4E 80 00 20 */ blr
|
||||
@@ -0,0 +1,16 @@
|
||||
.include "macros.inc"
|
||||
|
||||
.section .text, "ax" # 0x80006980 - 0x803E1E60
|
||||
|
||||
.global VFiPFCODE_Combine_Width
|
||||
VFiPFCODE_Combine_Width:
|
||||
/* 80305194 00300DF4 54 60 80 1E */ slwi r0, r3, 0x10
|
||||
/* 80305198 00300DF8 7C 60 22 14 */ add r3, r0, r4
|
||||
/* 8030519C 00300DFC 4E 80 00 20 */ blr
|
||||
|
||||
.global VFiPFCODE_Divide_Width
|
||||
VFiPFCODE_Divide_Width:
|
||||
/* 803051A0 00300E00 54 60 84 3E */ srwi r0, r3, 0x10
|
||||
/* 803051A4 00300E04 B0 04 00 00 */ sth r0, 0(r4)
|
||||
/* 803051A8 00300E08 B0 65 00 00 */ sth r3, 0(r5)
|
||||
/* 803051AC 00300E0C 4E 80 00 20 */ blr
|
||||
@@ -0,0 +1,726 @@
|
||||
.include "macros.inc"
|
||||
|
||||
.section .text, "ax" # 0x80006980 - 0x803E1E60
|
||||
|
||||
.global VFiPFDRV_GetBPBInformation
|
||||
VFiPFDRV_GetBPBInformation:
|
||||
/* 803058F4 00301554 94 21 FF 80 */ stwu r1, -0x80(r1)
|
||||
/* 803058F8 00301558 7C 08 02 A6 */ mflr r0
|
||||
/* 803058FC 0030155C 90 01 00 84 */ stw r0, 0x84(r1)
|
||||
/* 80305900 00301560 93 E1 00 7C */ stw r31, 0x7c(r1)
|
||||
/* 80305904 00301564 7C 9F 23 78 */ mr r31, r4
|
||||
/* 80305908 00301568 38 81 00 08 */ addi r4, r1, 8
|
||||
/* 8030590C 0030156C 48 00 0A 89 */ bl VFipdm_bpb_get_bpb_information
|
||||
/* 80305910 00301570 2C 03 00 00 */ cmpwi r3, 0
|
||||
/* 80305914 00301574 41 82 00 0C */ beq lbl_80305920
|
||||
/* 80305918 00301578 38 60 00 07 */ li r3, 7
|
||||
/* 8030591C 0030157C 48 00 00 B0 */ b lbl_803059CC
|
||||
lbl_80305920:
|
||||
/* 80305920 00301580 A0 01 00 10 */ lhz r0, 0x10(r1)
|
||||
/* 80305924 00301584 38 60 00 00 */ li r3, 0
|
||||
/* 80305928 00301588 B0 1F 00 00 */ sth r0, 0(r31)
|
||||
/* 8030592C 0030158C A0 01 00 14 */ lhz r0, 0x14(r1)
|
||||
/* 80305930 00301590 B0 1F 00 02 */ sth r0, 2(r31)
|
||||
/* 80305934 00301594 A0 01 00 16 */ lhz r0, 0x16(r1)
|
||||
/* 80305938 00301598 B0 1F 00 04 */ sth r0, 4(r31)
|
||||
/* 8030593C 0030159C 88 01 00 12 */ lbz r0, 0x12(r1)
|
||||
/* 80305940 003015A0 98 1F 00 06 */ stb r0, 6(r31)
|
||||
/* 80305944 003015A4 88 01 00 13 */ lbz r0, 0x13(r1)
|
||||
/* 80305948 003015A8 98 1F 00 07 */ stb r0, 7(r31)
|
||||
/* 8030594C 003015AC 80 01 00 70 */ lwz r0, 0x70(r1)
|
||||
/* 80305950 003015B0 90 1F 00 08 */ stw r0, 8(r31)
|
||||
/* 80305954 003015B4 80 01 00 74 */ lwz r0, 0x74(r1)
|
||||
/* 80305958 003015B8 90 1F 00 0C */ stw r0, 0xc(r31)
|
||||
/* 8030595C 003015BC 80 01 00 4C */ lwz r0, 0x4c(r1)
|
||||
/* 80305960 003015C0 90 1F 00 10 */ stw r0, 0x10(r31)
|
||||
/* 80305964 003015C4 A0 01 00 50 */ lhz r0, 0x50(r1)
|
||||
/* 80305968 003015C8 B0 1F 00 14 */ sth r0, 0x14(r31)
|
||||
/* 8030596C 003015CC A0 01 00 52 */ lhz r0, 0x52(r1)
|
||||
/* 80305970 003015D0 B0 1F 00 16 */ sth r0, 0x16(r31)
|
||||
/* 80305974 003015D4 A0 01 00 48 */ lhz r0, 0x48(r1)
|
||||
/* 80305978 003015D8 B0 1F 00 18 */ sth r0, 0x18(r31)
|
||||
/* 8030597C 003015DC 88 01 00 2A */ lbz r0, 0x2a(r1)
|
||||
/* 80305980 003015E0 98 1F 00 1A */ stb r0, 0x1a(r31)
|
||||
/* 80305984 003015E4 80 01 00 58 */ lwz r0, 0x58(r1)
|
||||
/* 80305988 003015E8 90 1F 00 1C */ stw r0, 0x1c(r31)
|
||||
/* 8030598C 003015EC 88 01 00 5C */ lbz r0, 0x5c(r1)
|
||||
/* 80305990 003015F0 98 1F 00 20 */ stb r0, 0x20(r31)
|
||||
/* 80305994 003015F4 88 01 00 5D */ lbz r0, 0x5d(r1)
|
||||
/* 80305998 003015F8 98 1F 00 21 */ stb r0, 0x21(r31)
|
||||
/* 8030599C 003015FC 88 01 00 57 */ lbz r0, 0x57(r1)
|
||||
/* 803059A0 00301600 98 1F 00 22 */ stb r0, 0x22(r31)
|
||||
/* 803059A4 00301604 A0 01 00 5E */ lhz r0, 0x5e(r1)
|
||||
/* 803059A8 00301608 B0 1F 00 24 */ sth r0, 0x24(r31)
|
||||
/* 803059AC 0030160C 80 01 00 60 */ lwz r0, 0x60(r1)
|
||||
/* 803059B0 00301610 90 1F 00 28 */ stw r0, 0x28(r31)
|
||||
/* 803059B4 00301614 80 01 00 64 */ lwz r0, 0x64(r1)
|
||||
/* 803059B8 00301618 90 1F 00 2C */ stw r0, 0x2c(r31)
|
||||
/* 803059BC 0030161C 80 01 00 68 */ lwz r0, 0x68(r1)
|
||||
/* 803059C0 00301620 90 1F 00 30 */ stw r0, 0x30(r31)
|
||||
/* 803059C4 00301624 80 01 00 6C */ lwz r0, 0x6c(r1)
|
||||
/* 803059C8 00301628 90 1F 00 34 */ stw r0, 0x34(r31)
|
||||
lbl_803059CC:
|
||||
/* 803059CC 0030162C 80 01 00 84 */ lwz r0, 0x84(r1)
|
||||
/* 803059D0 00301630 83 E1 00 7C */ lwz r31, 0x7c(r1)
|
||||
/* 803059D4 00301634 7C 08 03 A6 */ mtlr r0
|
||||
/* 803059D8 00301638 38 21 00 80 */ addi r1, r1, 0x80
|
||||
/* 803059DC 0030163C 4E 80 00 20 */ blr
|
||||
|
||||
.global VFiPFDRV_GetFSINFOInformation
|
||||
VFiPFDRV_GetFSINFOInformation:
|
||||
/* 803059E0 00301640 94 21 FF D0 */ stwu r1, -0x30(r1)
|
||||
/* 803059E4 00301644 7C 08 02 A6 */ mflr r0
|
||||
/* 803059E8 00301648 38 80 FF FF */ li r4, -1
|
||||
/* 803059EC 0030164C 90 01 00 34 */ stw r0, 0x34(r1)
|
||||
/* 803059F0 00301650 38 A1 00 10 */ addi r5, r1, 0x10
|
||||
/* 803059F4 00301654 93 E1 00 2C */ stw r31, 0x2c(r1)
|
||||
/* 803059F8 00301658 93 C1 00 28 */ stw r30, 0x28(r1)
|
||||
/* 803059FC 0030165C 7C 7E 1B 78 */ mr r30, r3
|
||||
/* 80305A00 00301660 48 00 4C B9 */ bl VFiPFCACHE_AllocateDataPage
|
||||
/* 80305A04 00301664 2C 03 00 00 */ cmpwi r3, 0
|
||||
/* 80305A08 00301668 41 82 00 08 */ beq lbl_80305A10
|
||||
/* 80305A0C 0030166C 48 00 01 78 */ b lbl_80305B84
|
||||
lbl_80305A10:
|
||||
/* 80305A10 00301670 80 81 00 10 */ lwz r4, 0x10(r1)
|
||||
/* 80305A14 00301674 39 01 00 0C */ addi r8, r1, 0xc
|
||||
/* 80305A18 00301678 80 7E 18 8C */ lwz r3, 0x188c(r30)
|
||||
/* 80305A1C 0030167C 38 C0 00 01 */ li r6, 1
|
||||
/* 80305A20 00301680 80 84 00 04 */ lwz r4, 4(r4)
|
||||
/* 80305A24 00301684 A0 BE 00 14 */ lhz r5, 0x14(r30)
|
||||
/* 80305A28 00301688 A0 FE 00 00 */ lhz r7, 0(r30)
|
||||
/* 80305A2C 0030168C 48 00 25 AD */ bl VFipdm_part_logical_read
|
||||
/* 80305A30 00301690 2C 03 00 00 */ cmpwi r3, 0
|
||||
/* 80305A34 00301694 41 82 00 50 */ beq lbl_80305A84
|
||||
/* 80305A38 00301698 2C 03 00 15 */ cmpwi r3, 0x15
|
||||
/* 80305A3C 0030169C 40 82 00 24 */ bne lbl_80305A60
|
||||
/* 80305A40 003016A0 80 7E 18 8C */ lwz r3, 0x188c(r30)
|
||||
/* 80305A44 003016A4 48 00 2D 91 */ bl VFipdm_part_get_driver_error_code
|
||||
/* 80305A48 003016A8 3C 80 80 58 */ lis r4, lbl_8057F5C8@ha
|
||||
/* 80305A4C 003016AC 3B E0 10 00 */ li r31, 0x1000
|
||||
/* 80305A50 003016B0 38 84 F5 C8 */ addi r4, r4, lbl_8057F5C8@l
|
||||
/* 80305A54 003016B4 90 64 00 20 */ stw r3, 0x20(r4)
|
||||
/* 80305A58 003016B8 90 7E 18 70 */ stw r3, 0x1870(r30)
|
||||
/* 80305A5C 003016BC 48 00 00 08 */ b lbl_80305A64
|
||||
lbl_80305A60:
|
||||
/* 80305A60 003016C0 3B E0 FF FF */ li r31, -1
|
||||
lbl_80305A64:
|
||||
/* 80305A64 003016C4 80 81 00 10 */ lwz r4, 0x10(r1)
|
||||
/* 80305A68 003016C8 7F C3 F3 78 */ mr r3, r30
|
||||
/* 80305A6C 003016CC 48 00 4D 51 */ bl VFiPFCACHE_FreeDataPage
|
||||
/* 80305A70 003016D0 80 7E 18 8C */ lwz r3, 0x188c(r30)
|
||||
/* 80305A74 003016D4 38 80 00 01 */ li r4, 1
|
||||
/* 80305A78 003016D8 48 00 22 89 */ bl VFipdm_part_release_permission
|
||||
/* 80305A7C 003016DC 7F E3 FB 78 */ mr r3, r31
|
||||
/* 80305A80 003016E0 48 00 01 04 */ b lbl_80305B84
|
||||
lbl_80305A84:
|
||||
/* 80305A84 003016E4 80 61 00 10 */ lwz r3, 0x10(r1)
|
||||
/* 80305A88 003016E8 38 81 00 08 */ addi r4, r1, 8
|
||||
/* 80305A8C 003016EC 80 63 00 04 */ lwz r3, 4(r3)
|
||||
/* 80305A90 003016F0 48 00 0F E5 */ bl VFipdm_bpb_check_fsinfo_sector
|
||||
/* 80305A94 003016F4 2C 03 00 00 */ cmpwi r3, 0
|
||||
/* 80305A98 003016F8 41 82 00 24 */ beq lbl_80305ABC
|
||||
/* 80305A9C 003016FC 80 81 00 10 */ lwz r4, 0x10(r1)
|
||||
/* 80305AA0 00301700 7F C3 F3 78 */ mr r3, r30
|
||||
/* 80305AA4 00301704 48 00 4D 19 */ bl VFiPFCACHE_FreeDataPage
|
||||
/* 80305AA8 00301708 80 7E 18 8C */ lwz r3, 0x188c(r30)
|
||||
/* 80305AAC 0030170C 38 80 00 01 */ li r4, 1
|
||||
/* 80305AB0 00301710 48 00 22 51 */ bl VFipdm_part_release_permission
|
||||
/* 80305AB4 00301714 38 60 FF FF */ li r3, -1
|
||||
/* 80305AB8 00301718 48 00 00 CC */ b lbl_80305B84
|
||||
lbl_80305ABC:
|
||||
/* 80305ABC 0030171C 80 01 00 08 */ lwz r0, 8(r1)
|
||||
/* 80305AC0 00301720 2C 00 00 00 */ cmpwi r0, 0
|
||||
/* 80305AC4 00301724 40 82 00 24 */ bne lbl_80305AE8
|
||||
/* 80305AC8 00301728 80 81 00 10 */ lwz r4, 0x10(r1)
|
||||
/* 80305ACC 0030172C 7F C3 F3 78 */ mr r3, r30
|
||||
/* 80305AD0 00301730 48 00 4C ED */ bl VFiPFCACHE_FreeDataPage
|
||||
/* 80305AD4 00301734 80 7E 18 8C */ lwz r3, 0x188c(r30)
|
||||
/* 80305AD8 00301738 38 80 00 01 */ li r4, 1
|
||||
/* 80305ADC 0030173C 48 00 22 25 */ bl VFipdm_part_release_permission
|
||||
/* 80305AE0 00301740 38 60 00 07 */ li r3, 7
|
||||
/* 80305AE4 00301744 48 00 00 A0 */ b lbl_80305B84
|
||||
lbl_80305AE8:
|
||||
/* 80305AE8 00301748 80 61 00 10 */ lwz r3, 0x10(r1)
|
||||
/* 80305AEC 0030174C 38 81 00 18 */ addi r4, r1, 0x18
|
||||
/* 80305AF0 00301750 80 63 00 04 */ lwz r3, 4(r3)
|
||||
/* 80305AF4 00301754 48 00 0D D9 */ bl VFipdm_bpb_get_fsinfo_information
|
||||
/* 80305AF8 00301758 2C 03 00 00 */ cmpwi r3, 0
|
||||
/* 80305AFC 0030175C 41 82 00 0C */ beq lbl_80305B08
|
||||
/* 80305B00 00301760 38 00 00 07 */ li r0, 7
|
||||
/* 80305B04 00301764 48 00 00 48 */ b lbl_80305B4C
|
||||
lbl_80305B08:
|
||||
/* 80305B08 00301768 80 81 00 18 */ lwz r4, 0x18(r1)
|
||||
/* 80305B0C 0030176C 28 04 00 02 */ cmplwi r4, 2
|
||||
/* 80305B10 00301770 41 80 00 18 */ blt lbl_80305B28
|
||||
/* 80305B14 00301774 80 7E 00 34 */ lwz r3, 0x34(r30)
|
||||
/* 80305B18 00301778 38 03 00 02 */ addi r0, r3, 2
|
||||
/* 80305B1C 0030177C 7C 04 00 40 */ cmplw r4, r0
|
||||
/* 80305B20 00301780 40 80 00 08 */ bge lbl_80305B28
|
||||
/* 80305B24 00301784 90 9E 00 38 */ stw r4, 0x38(r30)
|
||||
lbl_80305B28:
|
||||
/* 80305B28 00301788 80 81 00 1C */ lwz r4, 0x1c(r1)
|
||||
/* 80305B2C 0030178C 28 04 00 02 */ cmplwi r4, 2
|
||||
/* 80305B30 00301790 41 80 00 18 */ blt lbl_80305B48
|
||||
/* 80305B34 00301794 80 7E 00 34 */ lwz r3, 0x34(r30)
|
||||
/* 80305B38 00301798 38 03 00 02 */ addi r0, r3, 2
|
||||
/* 80305B3C 0030179C 7C 04 00 40 */ cmplw r4, r0
|
||||
/* 80305B40 003017A0 40 80 00 08 */ bge lbl_80305B48
|
||||
/* 80305B44 003017A4 90 9E 00 3C */ stw r4, 0x3c(r30)
|
||||
lbl_80305B48:
|
||||
/* 80305B48 003017A8 38 00 00 00 */ li r0, 0
|
||||
lbl_80305B4C:
|
||||
/* 80305B4C 003017AC 2C 00 00 00 */ cmpwi r0, 0
|
||||
/* 80305B50 003017B0 41 82 00 24 */ beq lbl_80305B74
|
||||
/* 80305B54 003017B4 80 81 00 10 */ lwz r4, 0x10(r1)
|
||||
/* 80305B58 003017B8 7F C3 F3 78 */ mr r3, r30
|
||||
/* 80305B5C 003017BC 48 00 4C 61 */ bl VFiPFCACHE_FreeDataPage
|
||||
/* 80305B60 003017C0 80 7E 18 8C */ lwz r3, 0x188c(r30)
|
||||
/* 80305B64 003017C4 38 80 00 01 */ li r4, 1
|
||||
/* 80305B68 003017C8 48 00 21 99 */ bl VFipdm_part_release_permission
|
||||
/* 80305B6C 003017CC 38 60 FF FF */ li r3, -1
|
||||
/* 80305B70 003017D0 48 00 00 14 */ b lbl_80305B84
|
||||
lbl_80305B74:
|
||||
/* 80305B74 003017D4 80 81 00 10 */ lwz r4, 0x10(r1)
|
||||
/* 80305B78 003017D8 7F C3 F3 78 */ mr r3, r30
|
||||
/* 80305B7C 003017DC 48 00 4C 41 */ bl VFiPFCACHE_FreeDataPage
|
||||
/* 80305B80 003017E0 38 60 00 00 */ li r3, 0
|
||||
lbl_80305B84:
|
||||
/* 80305B84 003017E4 80 01 00 34 */ lwz r0, 0x34(r1)
|
||||
/* 80305B88 003017E8 83 E1 00 2C */ lwz r31, 0x2c(r1)
|
||||
/* 80305B8C 003017EC 83 C1 00 28 */ lwz r30, 0x28(r1)
|
||||
/* 80305B90 003017F0 7C 08 03 A6 */ mtlr r0
|
||||
/* 80305B94 003017F4 38 21 00 30 */ addi r1, r1, 0x30
|
||||
/* 80305B98 003017F8 4E 80 00 20 */ blr
|
||||
|
||||
.global VFiPFDRV_StoreFreeCountToFSINFO
|
||||
VFiPFDRV_StoreFreeCountToFSINFO:
|
||||
/* 80305B9C 003017FC 94 21 FF E0 */ stwu r1, -0x20(r1)
|
||||
/* 80305BA0 00301800 7C 08 02 A6 */ mflr r0
|
||||
/* 80305BA4 00301804 38 80 FF FF */ li r4, -1
|
||||
/* 80305BA8 00301808 90 01 00 24 */ stw r0, 0x24(r1)
|
||||
/* 80305BAC 0030180C 38 A1 00 0C */ addi r5, r1, 0xc
|
||||
/* 80305BB0 00301810 93 E1 00 1C */ stw r31, 0x1c(r1)
|
||||
/* 80305BB4 00301814 7C 7F 1B 78 */ mr r31, r3
|
||||
/* 80305BB8 00301818 93 C1 00 18 */ stw r30, 0x18(r1)
|
||||
/* 80305BBC 0030181C 48 00 4A FD */ bl VFiPFCACHE_AllocateDataPage
|
||||
/* 80305BC0 00301820 2C 03 00 00 */ cmpwi r3, 0
|
||||
/* 80305BC4 00301824 41 82 00 08 */ beq lbl_80305BCC
|
||||
/* 80305BC8 00301828 48 00 01 70 */ b lbl_80305D38
|
||||
lbl_80305BCC:
|
||||
/* 80305BCC 0030182C 80 61 00 0C */ lwz r3, 0xc(r1)
|
||||
/* 80305BD0 00301830 2C 1F 00 00 */ cmpwi r31, 0
|
||||
/* 80305BD4 00301834 A0 BF 00 14 */ lhz r5, 0x14(r31)
|
||||
/* 80305BD8 00301838 80 83 00 08 */ lwz r4, 8(r3)
|
||||
/* 80305BDC 0030183C 40 82 00 0C */ bne lbl_80305BE8
|
||||
/* 80305BE0 00301840 3B C0 00 0A */ li r30, 0xa
|
||||
/* 80305BE4 00301844 48 00 00 54 */ b lbl_80305C38
|
||||
lbl_80305BE8:
|
||||
/* 80305BE8 00301848 80 7F 18 8C */ lwz r3, 0x188c(r31)
|
||||
/* 80305BEC 0030184C 39 01 00 08 */ addi r8, r1, 8
|
||||
/* 80305BF0 00301850 A0 FF 00 00 */ lhz r7, 0(r31)
|
||||
/* 80305BF4 00301854 38 C0 00 01 */ li r6, 1
|
||||
/* 80305BF8 00301858 48 00 23 E1 */ bl VFipdm_part_logical_read
|
||||
/* 80305BFC 0030185C 2C 03 00 00 */ cmpwi r3, 0
|
||||
/* 80305C00 00301860 41 82 00 34 */ beq lbl_80305C34
|
||||
/* 80305C04 00301864 2C 03 00 15 */ cmpwi r3, 0x15
|
||||
/* 80305C08 00301868 40 82 00 24 */ bne lbl_80305C2C
|
||||
/* 80305C0C 0030186C 80 7F 18 8C */ lwz r3, 0x188c(r31)
|
||||
/* 80305C10 00301870 48 00 2B C5 */ bl VFipdm_part_get_driver_error_code
|
||||
/* 80305C14 00301874 3C 80 80 58 */ lis r4, lbl_8057F5C8@ha
|
||||
/* 80305C18 00301878 3B C0 10 00 */ li r30, 0x1000
|
||||
/* 80305C1C 0030187C 38 84 F5 C8 */ addi r4, r4, lbl_8057F5C8@l
|
||||
/* 80305C20 00301880 90 64 00 20 */ stw r3, 0x20(r4)
|
||||
/* 80305C24 00301884 90 7F 18 70 */ stw r3, 0x1870(r31)
|
||||
/* 80305C28 00301888 48 00 00 10 */ b lbl_80305C38
|
||||
lbl_80305C2C:
|
||||
/* 80305C2C 0030188C 3B C0 FF FF */ li r30, -1
|
||||
/* 80305C30 00301890 48 00 00 08 */ b lbl_80305C38
|
||||
lbl_80305C34:
|
||||
/* 80305C34 00301894 3B C0 00 00 */ li r30, 0
|
||||
lbl_80305C38:
|
||||
/* 80305C38 00301898 2C 1E 00 00 */ cmpwi r30, 0
|
||||
/* 80305C3C 0030189C 40 82 00 10 */ bne lbl_80305C4C
|
||||
/* 80305C40 003018A0 80 01 00 08 */ lwz r0, 8(r1)
|
||||
/* 80305C44 003018A4 28 00 00 01 */ cmplwi r0, 1
|
||||
/* 80305C48 003018A8 41 82 00 08 */ beq lbl_80305C50
|
||||
lbl_80305C4C:
|
||||
/* 80305C4C 003018AC 3B C0 00 11 */ li r30, 0x11
|
||||
lbl_80305C50:
|
||||
/* 80305C50 003018B0 2C 1E 00 00 */ cmpwi r30, 0
|
||||
/* 80305C54 003018B4 40 82 00 D4 */ bne lbl_80305D28
|
||||
/* 80305C58 003018B8 80 61 00 0C */ lwz r3, 0xc(r1)
|
||||
/* 80305C5C 003018BC 2C 1F 00 00 */ cmpwi r31, 0
|
||||
/* 80305C60 003018C0 80 1F 00 38 */ lwz r0, 0x38(r31)
|
||||
/* 80305C64 003018C4 80 63 00 08 */ lwz r3, 8(r3)
|
||||
/* 80305C68 003018C8 98 03 01 E8 */ stb r0, 0x1e8(r3)
|
||||
/* 80305C6C 003018CC 80 61 00 0C */ lwz r3, 0xc(r1)
|
||||
/* 80305C70 003018D0 80 1F 00 38 */ lwz r0, 0x38(r31)
|
||||
/* 80305C74 003018D4 80 63 00 08 */ lwz r3, 8(r3)
|
||||
/* 80305C78 003018D8 54 00 C6 3E */ rlwinm r0, r0, 0x18, 0x18, 0x1f
|
||||
/* 80305C7C 003018DC 98 03 01 E9 */ stb r0, 0x1e9(r3)
|
||||
/* 80305C80 003018E0 80 61 00 0C */ lwz r3, 0xc(r1)
|
||||
/* 80305C84 003018E4 80 1F 00 38 */ lwz r0, 0x38(r31)
|
||||
/* 80305C88 003018E8 80 63 00 08 */ lwz r3, 8(r3)
|
||||
/* 80305C8C 003018EC 54 00 86 3E */ rlwinm r0, r0, 0x10, 0x18, 0x1f
|
||||
/* 80305C90 003018F0 98 03 01 EA */ stb r0, 0x1ea(r3)
|
||||
/* 80305C94 003018F4 80 61 00 0C */ lwz r3, 0xc(r1)
|
||||
/* 80305C98 003018F8 80 1F 00 38 */ lwz r0, 0x38(r31)
|
||||
/* 80305C9C 003018FC 80 63 00 08 */ lwz r3, 8(r3)
|
||||
/* 80305CA0 00301900 54 00 46 3E */ srwi r0, r0, 0x18
|
||||
/* 80305CA4 00301904 98 03 01 EB */ stb r0, 0x1eb(r3)
|
||||
/* 80305CA8 00301908 80 61 00 0C */ lwz r3, 0xc(r1)
|
||||
/* 80305CAC 0030190C A0 BF 00 14 */ lhz r5, 0x14(r31)
|
||||
/* 80305CB0 00301910 80 83 00 08 */ lwz r4, 8(r3)
|
||||
/* 80305CB4 00301914 40 82 00 0C */ bne lbl_80305CC0
|
||||
/* 80305CB8 00301918 3B C0 00 0A */ li r30, 0xa
|
||||
/* 80305CBC 0030191C 48 00 00 54 */ b lbl_80305D10
|
||||
lbl_80305CC0:
|
||||
/* 80305CC0 00301920 80 7F 18 8C */ lwz r3, 0x188c(r31)
|
||||
/* 80305CC4 00301924 39 01 00 08 */ addi r8, r1, 8
|
||||
/* 80305CC8 00301928 A0 FF 00 00 */ lhz r7, 0(r31)
|
||||
/* 80305CCC 0030192C 38 C0 00 01 */ li r6, 1
|
||||
/* 80305CD0 00301930 48 00 24 D1 */ bl VFipdm_part_logical_write
|
||||
/* 80305CD4 00301934 2C 03 00 00 */ cmpwi r3, 0
|
||||
/* 80305CD8 00301938 41 82 00 34 */ beq lbl_80305D0C
|
||||
/* 80305CDC 0030193C 2C 03 00 15 */ cmpwi r3, 0x15
|
||||
/* 80305CE0 00301940 40 82 00 24 */ bne lbl_80305D04
|
||||
/* 80305CE4 00301944 80 7F 18 8C */ lwz r3, 0x188c(r31)
|
||||
/* 80305CE8 00301948 48 00 2A ED */ bl VFipdm_part_get_driver_error_code
|
||||
/* 80305CEC 0030194C 3C 80 80 58 */ lis r4, lbl_8057F5C8@ha
|
||||
/* 80305CF0 00301950 3B C0 10 00 */ li r30, 0x1000
|
||||
/* 80305CF4 00301954 38 84 F5 C8 */ addi r4, r4, lbl_8057F5C8@l
|
||||
/* 80305CF8 00301958 90 64 00 20 */ stw r3, 0x20(r4)
|
||||
/* 80305CFC 0030195C 90 7F 18 70 */ stw r3, 0x1870(r31)
|
||||
/* 80305D00 00301960 48 00 00 10 */ b lbl_80305D10
|
||||
lbl_80305D04:
|
||||
/* 80305D04 00301964 3B C0 FF FF */ li r30, -1
|
||||
/* 80305D08 00301968 48 00 00 08 */ b lbl_80305D10
|
||||
lbl_80305D0C:
|
||||
/* 80305D0C 0030196C 3B C0 00 00 */ li r30, 0
|
||||
lbl_80305D10:
|
||||
/* 80305D10 00301970 2C 1E 00 00 */ cmpwi r30, 0
|
||||
/* 80305D14 00301974 40 82 00 10 */ bne lbl_80305D24
|
||||
/* 80305D18 00301978 80 01 00 08 */ lwz r0, 8(r1)
|
||||
/* 80305D1C 0030197C 28 00 00 01 */ cmplwi r0, 1
|
||||
/* 80305D20 00301980 41 82 00 08 */ beq lbl_80305D28
|
||||
lbl_80305D24:
|
||||
/* 80305D24 00301984 3B C0 00 11 */ li r30, 0x11
|
||||
lbl_80305D28:
|
||||
/* 80305D28 00301988 80 81 00 0C */ lwz r4, 0xc(r1)
|
||||
/* 80305D2C 0030198C 7F E3 FB 78 */ mr r3, r31
|
||||
/* 80305D30 00301990 48 00 4A 8D */ bl VFiPFCACHE_FreeDataPage
|
||||
/* 80305D34 00301994 7F C3 F3 78 */ mr r3, r30
|
||||
lbl_80305D38:
|
||||
/* 80305D38 00301998 80 01 00 24 */ lwz r0, 0x24(r1)
|
||||
/* 80305D3C 0030199C 83 E1 00 1C */ lwz r31, 0x1c(r1)
|
||||
/* 80305D40 003019A0 83 C1 00 18 */ lwz r30, 0x18(r1)
|
||||
/* 80305D44 003019A4 7C 08 03 A6 */ mtlr r0
|
||||
/* 80305D48 003019A8 38 21 00 20 */ addi r1, r1, 0x20
|
||||
/* 80305D4C 003019AC 4E 80 00 20 */ blr
|
||||
|
||||
.global VFiPFDRV_IsInserted
|
||||
VFiPFDRV_IsInserted:
|
||||
/* 80305D50 003019B0 94 21 FF F0 */ stwu r1, -0x10(r1)
|
||||
/* 80305D54 003019B4 7C 08 02 A6 */ mflr r0
|
||||
/* 80305D58 003019B8 90 01 00 14 */ stw r0, 0x14(r1)
|
||||
/* 80305D5C 003019BC 38 81 00 08 */ addi r4, r1, 8
|
||||
/* 80305D60 003019C0 80 63 18 8C */ lwz r3, 0x188c(r3)
|
||||
/* 80305D64 003019C4 48 00 28 35 */ bl VFipdm_part_check_media_insert
|
||||
/* 80305D68 003019C8 80 01 00 14 */ lwz r0, 0x14(r1)
|
||||
/* 80305D6C 003019CC 80 61 00 08 */ lwz r3, 8(r1)
|
||||
/* 80305D70 003019D0 7C 08 03 A6 */ mtlr r0
|
||||
/* 80305D74 003019D4 38 21 00 10 */ addi r1, r1, 0x10
|
||||
/* 80305D78 003019D8 4E 80 00 20 */ blr
|
||||
|
||||
.global VFiPFDRV_IsDetected
|
||||
VFiPFDRV_IsDetected:
|
||||
/* 80305D7C 003019DC 94 21 FF F0 */ stwu r1, -0x10(r1)
|
||||
/* 80305D80 003019E0 7C 08 02 A6 */ mflr r0
|
||||
/* 80305D84 003019E4 90 01 00 14 */ stw r0, 0x14(r1)
|
||||
/* 80305D88 003019E8 38 81 00 08 */ addi r4, r1, 8
|
||||
/* 80305D8C 003019EC 80 63 18 8C */ lwz r3, 0x188c(r3)
|
||||
/* 80305D90 003019F0 48 00 29 19 */ bl VFipdm_part_check_media_detect
|
||||
/* 80305D94 003019F4 80 01 00 14 */ lwz r0, 0x14(r1)
|
||||
/* 80305D98 003019F8 80 61 00 08 */ lwz r3, 8(r1)
|
||||
/* 80305D9C 003019FC 7C 08 03 A6 */ mtlr r0
|
||||
/* 80305DA0 00301A00 38 21 00 10 */ addi r1, r1, 0x10
|
||||
/* 80305DA4 00301A04 4E 80 00 20 */ blr
|
||||
|
||||
.global VFiPFDRV_IsWProtected
|
||||
VFiPFDRV_IsWProtected:
|
||||
/* 80305DA8 00301A08 94 21 FF F0 */ stwu r1, -0x10(r1)
|
||||
/* 80305DAC 00301A0C 7C 08 02 A6 */ mflr r0
|
||||
/* 80305DB0 00301A10 90 01 00 14 */ stw r0, 0x14(r1)
|
||||
/* 80305DB4 00301A14 38 81 00 08 */ addi r4, r1, 8
|
||||
/* 80305DB8 00301A18 80 63 18 8C */ lwz r3, 0x188c(r3)
|
||||
/* 80305DBC 00301A1C 48 00 26 CD */ bl VFipdm_part_check_media_write_protect
|
||||
/* 80305DC0 00301A20 80 01 00 14 */ lwz r0, 0x14(r1)
|
||||
/* 80305DC4 00301A24 80 61 00 08 */ lwz r3, 8(r1)
|
||||
/* 80305DC8 00301A28 7C 08 03 A6 */ mtlr r0
|
||||
/* 80305DCC 00301A2C 38 21 00 10 */ addi r1, r1, 0x10
|
||||
/* 80305DD0 00301A30 4E 80 00 20 */ blr
|
||||
|
||||
.global VFiPFDRV_mount
|
||||
VFiPFDRV_mount:
|
||||
/* 80305DD4 00301A34 94 21 FF D0 */ stwu r1, -0x30(r1)
|
||||
/* 80305DD8 00301A38 7C 08 02 A6 */ mflr r0
|
||||
/* 80305DDC 00301A3C 2C 03 00 00 */ cmpwi r3, 0
|
||||
/* 80305DE0 00301A40 90 01 00 34 */ stw r0, 0x34(r1)
|
||||
/* 80305DE4 00301A44 93 E1 00 2C */ stw r31, 0x2c(r1)
|
||||
/* 80305DE8 00301A48 7C 7F 1B 78 */ mr r31, r3
|
||||
/* 80305DEC 00301A4C 93 C1 00 28 */ stw r30, 0x28(r1)
|
||||
/* 80305DF0 00301A50 40 82 00 0C */ bne lbl_80305DFC
|
||||
/* 80305DF4 00301A54 38 60 00 0A */ li r3, 0xa
|
||||
/* 80305DF8 00301A58 48 00 01 FC */ b lbl_80305FF4
|
||||
lbl_80305DFC:
|
||||
/* 80305DFC 00301A5C 80 63 18 8C */ lwz r3, 0x188c(r3)
|
||||
/* 80305E00 00301A60 48 00 1D 1D */ bl VFipdm_part_get_permission
|
||||
/* 80305E04 00301A64 2C 03 00 00 */ cmpwi r3, 0
|
||||
/* 80305E08 00301A68 41 82 00 34 */ beq lbl_80305E3C
|
||||
/* 80305E0C 00301A6C 2C 03 00 15 */ cmpwi r3, 0x15
|
||||
/* 80305E10 00301A70 40 82 00 24 */ bne lbl_80305E34
|
||||
/* 80305E14 00301A74 80 7F 18 8C */ lwz r3, 0x188c(r31)
|
||||
/* 80305E18 00301A78 48 00 29 BD */ bl VFipdm_part_get_driver_error_code
|
||||
/* 80305E1C 00301A7C 3C 80 80 58 */ lis r4, lbl_8057F5C8@ha
|
||||
/* 80305E20 00301A80 38 84 F5 C8 */ addi r4, r4, lbl_8057F5C8@l
|
||||
/* 80305E24 00301A84 90 64 00 20 */ stw r3, 0x20(r4)
|
||||
/* 80305E28 00301A88 90 7F 18 70 */ stw r3, 0x1870(r31)
|
||||
/* 80305E2C 00301A8C 38 60 10 00 */ li r3, 0x1000
|
||||
/* 80305E30 00301A90 48 00 01 C4 */ b lbl_80305FF4
|
||||
lbl_80305E34:
|
||||
/* 80305E34 00301A94 38 60 FF FF */ li r3, -1
|
||||
/* 80305E38 00301A98 48 00 01 BC */ b lbl_80305FF4
|
||||
lbl_80305E3C:
|
||||
/* 80305E3C 00301A9C 80 7F 18 8C */ lwz r3, 0x188c(r31)
|
||||
/* 80305E40 00301AA0 38 81 00 14 */ addi r4, r1, 0x14
|
||||
/* 80305E44 00301AA4 48 00 25 25 */ bl VFipdm_part_get_media_information
|
||||
/* 80305E48 00301AA8 2C 03 00 00 */ cmpwi r3, 0
|
||||
/* 80305E4C 00301AAC 41 82 00 18 */ beq lbl_80305E64
|
||||
/* 80305E50 00301AB0 80 7F 18 8C */ lwz r3, 0x188c(r31)
|
||||
/* 80305E54 00301AB4 38 80 00 01 */ li r4, 1
|
||||
/* 80305E58 00301AB8 48 00 1E A9 */ bl VFipdm_part_release_permission
|
||||
/* 80305E5C 00301ABC 38 60 FF FF */ li r3, -1
|
||||
/* 80305E60 00301AC0 48 00 01 94 */ b lbl_80305FF4
|
||||
lbl_80305E64:
|
||||
/* 80305E64 00301AC4 80 01 00 20 */ lwz r0, 0x20(r1)
|
||||
/* 80305E68 00301AC8 54 00 07 BD */ rlwinm. r0, r0, 0, 0x1e, 0x1e
|
||||
/* 80305E6C 00301ACC 41 82 00 18 */ beq lbl_80305E84
|
||||
/* 80305E70 00301AD0 A0 1F 18 78 */ lhz r0, 0x1878(r31)
|
||||
/* 80305E74 00301AD4 80 61 00 24 */ lwz r3, 0x24(r1)
|
||||
/* 80305E78 00301AD8 60 00 00 10 */ ori r0, r0, 0x10
|
||||
/* 80305E7C 00301ADC B0 1F 18 78 */ sth r0, 0x1878(r31)
|
||||
/* 80305E80 00301AE0 90 7F 18 94 */ stw r3, 0x1894(r31)
|
||||
lbl_80305E84:
|
||||
/* 80305E84 00301AE4 80 01 00 20 */ lwz r0, 0x20(r1)
|
||||
/* 80305E88 00301AE8 54 00 07 39 */ rlwinm. r0, r0, 0, 0x1c, 0x1c
|
||||
/* 80305E8C 00301AEC 41 82 00 10 */ beq lbl_80305E9C
|
||||
/* 80305E90 00301AF0 A0 1F 18 78 */ lhz r0, 0x1878(r31)
|
||||
/* 80305E94 00301AF4 60 00 00 20 */ ori r0, r0, 0x20
|
||||
/* 80305E98 00301AF8 B0 1F 18 78 */ sth r0, 0x1878(r31)
|
||||
lbl_80305E9C:
|
||||
/* 80305E9C 00301AFC 7F E3 FB 78 */ mr r3, r31
|
||||
/* 80305EA0 00301B00 38 A1 00 10 */ addi r5, r1, 0x10
|
||||
/* 80305EA4 00301B04 38 80 FF FF */ li r4, -1
|
||||
/* 80305EA8 00301B08 48 00 48 11 */ bl VFiPFCACHE_AllocateDataPage
|
||||
/* 80305EAC 00301B0C 80 81 00 10 */ lwz r4, 0x10(r1)
|
||||
/* 80305EB0 00301B10 39 01 00 0C */ addi r8, r1, 0xc
|
||||
/* 80305EB4 00301B14 80 7F 18 8C */ lwz r3, 0x188c(r31)
|
||||
/* 80305EB8 00301B18 38 A0 00 00 */ li r5, 0
|
||||
/* 80305EBC 00301B1C 80 84 00 04 */ lwz r4, 4(r4)
|
||||
/* 80305EC0 00301B20 38 C0 00 01 */ li r6, 1
|
||||
/* 80305EC4 00301B24 38 E0 02 00 */ li r7, 0x200
|
||||
/* 80305EC8 00301B28 48 00 21 11 */ bl VFipdm_part_logical_read
|
||||
/* 80305ECC 00301B2C 2C 03 00 00 */ cmpwi r3, 0
|
||||
/* 80305ED0 00301B30 41 82 00 50 */ beq lbl_80305F20
|
||||
/* 80305ED4 00301B34 2C 03 00 15 */ cmpwi r3, 0x15
|
||||
/* 80305ED8 00301B38 40 82 00 24 */ bne lbl_80305EFC
|
||||
/* 80305EDC 00301B3C 80 7F 18 8C */ lwz r3, 0x188c(r31)
|
||||
/* 80305EE0 00301B40 48 00 28 F5 */ bl VFipdm_part_get_driver_error_code
|
||||
/* 80305EE4 00301B44 3C 80 80 58 */ lis r4, lbl_8057F5C8@ha
|
||||
/* 80305EE8 00301B48 3B C0 10 00 */ li r30, 0x1000
|
||||
/* 80305EEC 00301B4C 38 84 F5 C8 */ addi r4, r4, lbl_8057F5C8@l
|
||||
/* 80305EF0 00301B50 90 64 00 20 */ stw r3, 0x20(r4)
|
||||
/* 80305EF4 00301B54 90 7F 18 70 */ stw r3, 0x1870(r31)
|
||||
/* 80305EF8 00301B58 48 00 00 08 */ b lbl_80305F00
|
||||
lbl_80305EFC:
|
||||
/* 80305EFC 00301B5C 3B C0 FF FF */ li r30, -1
|
||||
lbl_80305F00:
|
||||
/* 80305F00 00301B60 80 81 00 10 */ lwz r4, 0x10(r1)
|
||||
/* 80305F04 00301B64 7F E3 FB 78 */ mr r3, r31
|
||||
/* 80305F08 00301B68 48 00 48 B5 */ bl VFiPFCACHE_FreeDataPage
|
||||
/* 80305F0C 00301B6C 80 7F 18 8C */ lwz r3, 0x188c(r31)
|
||||
/* 80305F10 00301B70 38 80 00 01 */ li r4, 1
|
||||
/* 80305F14 00301B74 48 00 1D ED */ bl VFipdm_part_release_permission
|
||||
/* 80305F18 00301B78 7F C3 F3 78 */ mr r3, r30
|
||||
/* 80305F1C 00301B7C 48 00 00 D8 */ b lbl_80305FF4
|
||||
lbl_80305F20:
|
||||
/* 80305F20 00301B80 80 61 00 10 */ lwz r3, 0x10(r1)
|
||||
/* 80305F24 00301B84 38 81 00 08 */ addi r4, r1, 8
|
||||
/* 80305F28 00301B88 80 63 00 04 */ lwz r3, 4(r3)
|
||||
/* 80305F2C 00301B8C 48 00 0A 01 */ bl VFipdm_bpb_check_boot_sector
|
||||
/* 80305F30 00301B90 2C 03 00 00 */ cmpwi r3, 0
|
||||
/* 80305F34 00301B94 41 82 00 24 */ beq lbl_80305F58
|
||||
/* 80305F38 00301B98 80 81 00 10 */ lwz r4, 0x10(r1)
|
||||
/* 80305F3C 00301B9C 7F E3 FB 78 */ mr r3, r31
|
||||
/* 80305F40 00301BA0 48 00 48 7D */ bl VFiPFCACHE_FreeDataPage
|
||||
/* 80305F44 00301BA4 80 7F 18 8C */ lwz r3, 0x188c(r31)
|
||||
/* 80305F48 00301BA8 38 80 00 01 */ li r4, 1
|
||||
/* 80305F4C 00301BAC 48 00 1D B5 */ bl VFipdm_part_release_permission
|
||||
/* 80305F50 00301BB0 38 60 FF FF */ li r3, -1
|
||||
/* 80305F54 00301BB4 48 00 00 A0 */ b lbl_80305FF4
|
||||
lbl_80305F58:
|
||||
/* 80305F58 00301BB8 80 01 00 08 */ lwz r0, 8(r1)
|
||||
/* 80305F5C 00301BBC 2C 00 00 00 */ cmpwi r0, 0
|
||||
/* 80305F60 00301BC0 40 82 00 24 */ bne lbl_80305F84
|
||||
/* 80305F64 00301BC4 80 81 00 10 */ lwz r4, 0x10(r1)
|
||||
/* 80305F68 00301BC8 7F E3 FB 78 */ mr r3, r31
|
||||
/* 80305F6C 00301BCC 48 00 48 51 */ bl VFiPFCACHE_FreeDataPage
|
||||
/* 80305F70 00301BD0 80 7F 18 8C */ lwz r3, 0x188c(r31)
|
||||
/* 80305F74 00301BD4 38 80 00 01 */ li r4, 1
|
||||
/* 80305F78 00301BD8 48 00 1D 89 */ bl VFipdm_part_release_permission
|
||||
/* 80305F7C 00301BDC 38 60 00 07 */ li r3, 7
|
||||
/* 80305F80 00301BE0 48 00 00 74 */ b lbl_80305FF4
|
||||
lbl_80305F84:
|
||||
/* 80305F84 00301BE4 80 61 00 10 */ lwz r3, 0x10(r1)
|
||||
/* 80305F88 00301BE8 7F E4 FB 78 */ mr r4, r31
|
||||
/* 80305F8C 00301BEC 80 63 00 04 */ lwz r3, 4(r3)
|
||||
/* 80305F90 00301BF0 4B FF F9 65 */ bl VFiPFDRV_GetBPBInformation
|
||||
/* 80305F94 00301BF4 2C 03 00 00 */ cmpwi r3, 0
|
||||
/* 80305F98 00301BF8 7C 7E 1B 78 */ mr r30, r3
|
||||
/* 80305F9C 00301BFC 41 82 00 24 */ beq lbl_80305FC0
|
||||
/* 80305FA0 00301C00 80 81 00 10 */ lwz r4, 0x10(r1)
|
||||
/* 80305FA4 00301C04 7F E3 FB 78 */ mr r3, r31
|
||||
/* 80305FA8 00301C08 48 00 48 15 */ bl VFiPFCACHE_FreeDataPage
|
||||
/* 80305FAC 00301C0C 80 7F 18 8C */ lwz r3, 0x188c(r31)
|
||||
/* 80305FB0 00301C10 38 80 00 01 */ li r4, 1
|
||||
/* 80305FB4 00301C14 48 00 1D 4D */ bl VFipdm_part_release_permission
|
||||
/* 80305FB8 00301C18 7F C3 F3 78 */ mr r3, r30
|
||||
/* 80305FBC 00301C1C 48 00 00 38 */ b lbl_80305FF4
|
||||
lbl_80305FC0:
|
||||
/* 80305FC0 00301C20 80 81 00 10 */ lwz r4, 0x10(r1)
|
||||
/* 80305FC4 00301C24 7F E3 FB 78 */ mr r3, r31
|
||||
/* 80305FC8 00301C28 48 00 47 F5 */ bl VFiPFCACHE_FreeDataPage
|
||||
/* 80305FCC 00301C2C 80 1F 00 1C */ lwz r0, 0x1c(r31)
|
||||
/* 80305FD0 00301C30 38 60 FF FF */ li r3, -1
|
||||
/* 80305FD4 00301C34 90 7F 00 38 */ stw r3, 0x38(r31)
|
||||
/* 80305FD8 00301C38 2C 00 00 02 */ cmpwi r0, 2
|
||||
/* 80305FDC 00301C3C 90 7F 00 3C */ stw r3, 0x3c(r31)
|
||||
/* 80305FE0 00301C40 40 82 00 10 */ bne lbl_80305FF0
|
||||
/* 80305FE4 00301C44 7F E3 FB 78 */ mr r3, r31
|
||||
/* 80305FE8 00301C48 4B FF F9 F9 */ bl VFiPFDRV_GetFSINFOInformation
|
||||
/* 80305FEC 00301C4C 7C 7E 1B 78 */ mr r30, r3
|
||||
lbl_80305FF0:
|
||||
/* 80305FF0 00301C50 7F C3 F3 78 */ mr r3, r30
|
||||
lbl_80305FF4:
|
||||
/* 80305FF4 00301C54 80 01 00 34 */ lwz r0, 0x34(r1)
|
||||
/* 80305FF8 00301C58 83 E1 00 2C */ lwz r31, 0x2c(r1)
|
||||
/* 80305FFC 00301C5C 83 C1 00 28 */ lwz r30, 0x28(r1)
|
||||
/* 80306000 00301C60 7C 08 03 A6 */ mtlr r0
|
||||
/* 80306004 00301C64 38 21 00 30 */ addi r1, r1, 0x30
|
||||
/* 80306008 00301C68 4E 80 00 20 */ blr
|
||||
|
||||
.global VFiPFDRV_unmount
|
||||
VFiPFDRV_unmount:
|
||||
/* 8030600C 00301C6C 94 21 FF F0 */ stwu r1, -0x10(r1)
|
||||
/* 80306010 00301C70 7C 08 02 A6 */ mflr r0
|
||||
/* 80306014 00301C74 2C 03 00 00 */ cmpwi r3, 0
|
||||
/* 80306018 00301C78 90 01 00 14 */ stw r0, 0x14(r1)
|
||||
/* 8030601C 00301C7C 93 E1 00 0C */ stw r31, 0xc(r1)
|
||||
/* 80306020 00301C80 7C 7F 1B 78 */ mr r31, r3
|
||||
/* 80306024 00301C84 40 82 00 0C */ bne lbl_80306030
|
||||
/* 80306028 00301C88 38 60 00 0A */ li r3, 0xa
|
||||
/* 8030602C 00301C8C 48 00 00 54 */ b lbl_80306080
|
||||
lbl_80306030:
|
||||
/* 80306030 00301C90 38 04 FF FF */ addi r0, r4, -1
|
||||
/* 80306034 00301C94 80 63 18 8C */ lwz r3, 0x188c(r3)
|
||||
/* 80306038 00301C98 7C 00 00 34 */ cntlzw r0, r0
|
||||
/* 8030603C 00301C9C 54 04 D9 7E */ srwi r4, r0, 5
|
||||
/* 80306040 00301CA0 48 00 1C C1 */ bl VFipdm_part_release_permission
|
||||
/* 80306044 00301CA4 2C 03 00 00 */ cmpwi r3, 0
|
||||
/* 80306048 00301CA8 41 82 00 34 */ beq lbl_8030607C
|
||||
/* 8030604C 00301CAC 2C 03 00 15 */ cmpwi r3, 0x15
|
||||
/* 80306050 00301CB0 40 82 00 24 */ bne lbl_80306074
|
||||
/* 80306054 00301CB4 80 7F 18 8C */ lwz r3, 0x188c(r31)
|
||||
/* 80306058 00301CB8 48 00 27 7D */ bl VFipdm_part_get_driver_error_code
|
||||
/* 8030605C 00301CBC 3C 80 80 58 */ lis r4, lbl_8057F5C8@ha
|
||||
/* 80306060 00301CC0 38 84 F5 C8 */ addi r4, r4, lbl_8057F5C8@l
|
||||
/* 80306064 00301CC4 90 64 00 20 */ stw r3, 0x20(r4)
|
||||
/* 80306068 00301CC8 90 7F 18 70 */ stw r3, 0x1870(r31)
|
||||
/* 8030606C 00301CCC 38 60 10 00 */ li r3, 0x1000
|
||||
/* 80306070 00301CD0 48 00 00 10 */ b lbl_80306080
|
||||
lbl_80306074:
|
||||
/* 80306074 00301CD4 38 60 FF FF */ li r3, -1
|
||||
/* 80306078 00301CD8 48 00 00 08 */ b lbl_80306080
|
||||
lbl_8030607C:
|
||||
/* 8030607C 00301CDC 38 60 00 00 */ li r3, 0
|
||||
lbl_80306080:
|
||||
/* 80306080 00301CE0 80 01 00 14 */ lwz r0, 0x14(r1)
|
||||
/* 80306084 00301CE4 83 E1 00 0C */ lwz r31, 0xc(r1)
|
||||
/* 80306088 00301CE8 7C 08 03 A6 */ mtlr r0
|
||||
/* 8030608C 00301CEC 38 21 00 10 */ addi r1, r1, 0x10
|
||||
/* 80306090 00301CF0 4E 80 00 20 */ blr
|
||||
|
||||
.global VFiPFDRV_format
|
||||
VFiPFDRV_format:
|
||||
/* 80306094 00301CF4 94 21 FF F0 */ stwu r1, -0x10(r1)
|
||||
/* 80306098 00301CF8 7C 08 02 A6 */ mflr r0
|
||||
/* 8030609C 00301CFC 2C 03 00 00 */ cmpwi r3, 0
|
||||
/* 803060A0 00301D00 90 01 00 14 */ stw r0, 0x14(r1)
|
||||
/* 803060A4 00301D04 93 E1 00 0C */ stw r31, 0xc(r1)
|
||||
/* 803060A8 00301D08 7C 9F 23 78 */ mr r31, r4
|
||||
/* 803060AC 00301D0C 93 C1 00 08 */ stw r30, 8(r1)
|
||||
/* 803060B0 00301D10 7C 7E 1B 78 */ mr r30, r3
|
||||
/* 803060B4 00301D14 40 82 00 0C */ bne lbl_803060C0
|
||||
/* 803060B8 00301D18 38 60 00 0A */ li r3, 0xa
|
||||
/* 803060BC 00301D1C 48 00 00 E8 */ b lbl_803061A4
|
||||
lbl_803060C0:
|
||||
/* 803060C0 00301D20 A0 03 18 78 */ lhz r0, 0x1878(r3)
|
||||
/* 803060C4 00301D24 54 00 07 BD */ rlwinm. r0, r0, 0, 0x1e, 0x1e
|
||||
/* 803060C8 00301D28 40 82 00 44 */ bne lbl_8030610C
|
||||
/* 803060CC 00301D2C 80 63 18 8C */ lwz r3, 0x188c(r3)
|
||||
/* 803060D0 00301D30 48 00 1A 4D */ bl VFipdm_part_get_permission
|
||||
/* 803060D4 00301D34 2C 03 00 00 */ cmpwi r3, 0
|
||||
/* 803060D8 00301D38 41 82 00 34 */ beq lbl_8030610C
|
||||
/* 803060DC 00301D3C 2C 03 00 15 */ cmpwi r3, 0x15
|
||||
/* 803060E0 00301D40 40 82 00 24 */ bne lbl_80306104
|
||||
/* 803060E4 00301D44 80 7E 18 8C */ lwz r3, 0x188c(r30)
|
||||
/* 803060E8 00301D48 48 00 26 ED */ bl VFipdm_part_get_driver_error_code
|
||||
/* 803060EC 00301D4C 3C 80 80 58 */ lis r4, lbl_8057F5C8@ha
|
||||
/* 803060F0 00301D50 38 84 F5 C8 */ addi r4, r4, lbl_8057F5C8@l
|
||||
/* 803060F4 00301D54 90 64 00 20 */ stw r3, 0x20(r4)
|
||||
/* 803060F8 00301D58 90 7E 18 70 */ stw r3, 0x1870(r30)
|
||||
/* 803060FC 00301D5C 38 60 10 00 */ li r3, 0x1000
|
||||
/* 80306100 00301D60 48 00 00 A4 */ b lbl_803061A4
|
||||
lbl_80306104:
|
||||
/* 80306104 00301D64 38 60 FF FF */ li r3, -1
|
||||
/* 80306108 00301D68 48 00 00 9C */ b lbl_803061A4
|
||||
lbl_8030610C:
|
||||
/* 8030610C 00301D6C 80 7E 18 8C */ lwz r3, 0x188c(r30)
|
||||
/* 80306110 00301D70 7F E4 FB 78 */ mr r4, r31
|
||||
/* 80306114 00301D74 48 00 1D 79 */ bl VFipdm_part_format
|
||||
/* 80306118 00301D78 2C 03 00 00 */ cmpwi r3, 0
|
||||
/* 8030611C 00301D7C 41 82 00 34 */ beq lbl_80306150
|
||||
/* 80306120 00301D80 2C 03 00 15 */ cmpwi r3, 0x15
|
||||
/* 80306124 00301D84 40 82 00 24 */ bne lbl_80306148
|
||||
/* 80306128 00301D88 80 7E 18 8C */ lwz r3, 0x188c(r30)
|
||||
/* 8030612C 00301D8C 48 00 26 A9 */ bl VFipdm_part_get_driver_error_code
|
||||
/* 80306130 00301D90 3C 80 80 58 */ lis r4, lbl_8057F5C8@ha
|
||||
/* 80306134 00301D94 38 84 F5 C8 */ addi r4, r4, lbl_8057F5C8@l
|
||||
/* 80306138 00301D98 90 64 00 20 */ stw r3, 0x20(r4)
|
||||
/* 8030613C 00301D9C 90 7E 18 70 */ stw r3, 0x1870(r30)
|
||||
/* 80306140 00301DA0 38 60 10 00 */ li r3, 0x1000
|
||||
/* 80306144 00301DA4 48 00 00 60 */ b lbl_803061A4
|
||||
lbl_80306148:
|
||||
/* 80306148 00301DA8 38 60 FF FF */ li r3, -1
|
||||
/* 8030614C 00301DAC 48 00 00 58 */ b lbl_803061A4
|
||||
lbl_80306150:
|
||||
/* 80306150 00301DB0 A0 1E 18 78 */ lhz r0, 0x1878(r30)
|
||||
/* 80306154 00301DB4 54 00 07 BD */ rlwinm. r0, r0, 0, 0x1e, 0x1e
|
||||
/* 80306158 00301DB8 40 82 00 48 */ bne lbl_803061A0
|
||||
/* 8030615C 00301DBC 80 7E 18 8C */ lwz r3, 0x188c(r30)
|
||||
/* 80306160 00301DC0 38 80 00 01 */ li r4, 1
|
||||
/* 80306164 00301DC4 48 00 1B 9D */ bl VFipdm_part_release_permission
|
||||
/* 80306168 00301DC8 2C 03 00 00 */ cmpwi r3, 0
|
||||
/* 8030616C 00301DCC 41 82 00 34 */ beq lbl_803061A0
|
||||
/* 80306170 00301DD0 2C 03 00 15 */ cmpwi r3, 0x15
|
||||
/* 80306174 00301DD4 40 82 00 24 */ bne lbl_80306198
|
||||
/* 80306178 00301DD8 80 7E 18 8C */ lwz r3, 0x188c(r30)
|
||||
/* 8030617C 00301DDC 48 00 26 59 */ bl VFipdm_part_get_driver_error_code
|
||||
/* 80306180 00301DE0 3C 80 80 58 */ lis r4, lbl_8057F5C8@ha
|
||||
/* 80306184 00301DE4 38 84 F5 C8 */ addi r4, r4, lbl_8057F5C8@l
|
||||
/* 80306188 00301DE8 90 64 00 20 */ stw r3, 0x20(r4)
|
||||
/* 8030618C 00301DEC 90 7E 18 70 */ stw r3, 0x1870(r30)
|
||||
/* 80306190 00301DF0 38 60 10 00 */ li r3, 0x1000
|
||||
/* 80306194 00301DF4 48 00 00 10 */ b lbl_803061A4
|
||||
lbl_80306198:
|
||||
/* 80306198 00301DF8 38 60 FF FF */ li r3, -1
|
||||
/* 8030619C 00301DFC 48 00 00 08 */ b lbl_803061A4
|
||||
lbl_803061A0:
|
||||
/* 803061A0 00301E00 38 60 00 00 */ li r3, 0
|
||||
lbl_803061A4:
|
||||
/* 803061A4 00301E04 80 01 00 14 */ lwz r0, 0x14(r1)
|
||||
/* 803061A8 00301E08 83 E1 00 0C */ lwz r31, 0xc(r1)
|
||||
/* 803061AC 00301E0C 83 C1 00 08 */ lwz r30, 8(r1)
|
||||
/* 803061B0 00301E10 7C 08 03 A6 */ mtlr r0
|
||||
/* 803061B4 00301E14 38 21 00 10 */ addi r1, r1, 0x10
|
||||
/* 803061B8 00301E18 4E 80 00 20 */ blr
|
||||
|
||||
.global VFiPFDRV_lread
|
||||
VFiPFDRV_lread:
|
||||
/* 803061BC 00301E1C 94 21 FF F0 */ stwu r1, -0x10(r1)
|
||||
/* 803061C0 00301E20 7C 08 02 A6 */ mflr r0
|
||||
/* 803061C4 00301E24 2C 03 00 00 */ cmpwi r3, 0
|
||||
/* 803061C8 00301E28 90 01 00 14 */ stw r0, 0x14(r1)
|
||||
/* 803061CC 00301E2C 93 E1 00 0C */ stw r31, 0xc(r1)
|
||||
/* 803061D0 00301E30 7C 7F 1B 78 */ mr r31, r3
|
||||
/* 803061D4 00301E34 40 82 00 0C */ bne lbl_803061E0
|
||||
/* 803061D8 00301E38 38 60 00 0A */ li r3, 0xa
|
||||
/* 803061DC 00301E3C 48 00 00 50 */ b lbl_8030622C
|
||||
lbl_803061E0:
|
||||
/* 803061E0 00301E40 7C E8 3B 78 */ mr r8, r7
|
||||
/* 803061E4 00301E44 80 63 18 8C */ lwz r3, 0x188c(r3)
|
||||
/* 803061E8 00301E48 A0 FF 00 00 */ lhz r7, 0(r31)
|
||||
/* 803061EC 00301E4C 48 00 1D ED */ bl VFipdm_part_logical_read
|
||||
/* 803061F0 00301E50 2C 03 00 00 */ cmpwi r3, 0
|
||||
/* 803061F4 00301E54 41 82 00 34 */ beq lbl_80306228
|
||||
/* 803061F8 00301E58 2C 03 00 15 */ cmpwi r3, 0x15
|
||||
/* 803061FC 00301E5C 40 82 00 24 */ bne lbl_80306220
|
||||
/* 80306200 00301E60 80 7F 18 8C */ lwz r3, 0x188c(r31)
|
||||
/* 80306204 00301E64 48 00 25 D1 */ bl VFipdm_part_get_driver_error_code
|
||||
/* 80306208 00301E68 3C 80 80 58 */ lis r4, lbl_8057F5C8@ha
|
||||
/* 8030620C 00301E6C 38 84 F5 C8 */ addi r4, r4, lbl_8057F5C8@l
|
||||
/* 80306210 00301E70 90 64 00 20 */ stw r3, 0x20(r4)
|
||||
/* 80306214 00301E74 90 7F 18 70 */ stw r3, 0x1870(r31)
|
||||
/* 80306218 00301E78 38 60 10 00 */ li r3, 0x1000
|
||||
/* 8030621C 00301E7C 48 00 00 10 */ b lbl_8030622C
|
||||
lbl_80306220:
|
||||
/* 80306220 00301E80 38 60 FF FF */ li r3, -1
|
||||
/* 80306224 00301E84 48 00 00 08 */ b lbl_8030622C
|
||||
lbl_80306228:
|
||||
/* 80306228 00301E88 38 60 00 00 */ li r3, 0
|
||||
lbl_8030622C:
|
||||
/* 8030622C 00301E8C 80 01 00 14 */ lwz r0, 0x14(r1)
|
||||
/* 80306230 00301E90 83 E1 00 0C */ lwz r31, 0xc(r1)
|
||||
/* 80306234 00301E94 7C 08 03 A6 */ mtlr r0
|
||||
/* 80306238 00301E98 38 21 00 10 */ addi r1, r1, 0x10
|
||||
/* 8030623C 00301E9C 4E 80 00 20 */ blr
|
||||
|
||||
.global VFiPFDRV_lwrite
|
||||
VFiPFDRV_lwrite:
|
||||
/* 80306240 00301EA0 94 21 FF F0 */ stwu r1, -0x10(r1)
|
||||
/* 80306244 00301EA4 7C 08 02 A6 */ mflr r0
|
||||
/* 80306248 00301EA8 2C 03 00 00 */ cmpwi r3, 0
|
||||
/* 8030624C 00301EAC 90 01 00 14 */ stw r0, 0x14(r1)
|
||||
/* 80306250 00301EB0 93 E1 00 0C */ stw r31, 0xc(r1)
|
||||
/* 80306254 00301EB4 7C 7F 1B 78 */ mr r31, r3
|
||||
/* 80306258 00301EB8 40 82 00 0C */ bne lbl_80306264
|
||||
/* 8030625C 00301EBC 38 60 00 0A */ li r3, 0xa
|
||||
/* 80306260 00301EC0 48 00 00 50 */ b lbl_803062B0
|
||||
lbl_80306264:
|
||||
/* 80306264 00301EC4 7C E8 3B 78 */ mr r8, r7
|
||||
/* 80306268 00301EC8 80 63 18 8C */ lwz r3, 0x188c(r3)
|
||||
/* 8030626C 00301ECC A0 FF 00 00 */ lhz r7, 0(r31)
|
||||
/* 80306270 00301ED0 48 00 1F 31 */ bl VFipdm_part_logical_write
|
||||
/* 80306274 00301ED4 2C 03 00 00 */ cmpwi r3, 0
|
||||
/* 80306278 00301ED8 41 82 00 34 */ beq lbl_803062AC
|
||||
/* 8030627C 00301EDC 2C 03 00 15 */ cmpwi r3, 0x15
|
||||
/* 80306280 00301EE0 40 82 00 24 */ bne lbl_803062A4
|
||||
/* 80306284 00301EE4 80 7F 18 8C */ lwz r3, 0x188c(r31)
|
||||
/* 80306288 00301EE8 48 00 25 4D */ bl VFipdm_part_get_driver_error_code
|
||||
/* 8030628C 00301EEC 3C 80 80 58 */ lis r4, lbl_8057F5C8@ha
|
||||
/* 80306290 00301EF0 38 84 F5 C8 */ addi r4, r4, lbl_8057F5C8@l
|
||||
/* 80306294 00301EF4 90 64 00 20 */ stw r3, 0x20(r4)
|
||||
/* 80306298 00301EF8 90 7F 18 70 */ stw r3, 0x1870(r31)
|
||||
/* 8030629C 00301EFC 38 60 10 00 */ li r3, 0x1000
|
||||
/* 803062A0 00301F00 48 00 00 10 */ b lbl_803062B0
|
||||
lbl_803062A4:
|
||||
/* 803062A4 00301F04 38 60 FF FF */ li r3, -1
|
||||
/* 803062A8 00301F08 48 00 00 08 */ b lbl_803062B0
|
||||
lbl_803062AC:
|
||||
/* 803062AC 00301F0C 38 60 00 00 */ li r3, 0
|
||||
lbl_803062B0:
|
||||
/* 803062B0 00301F10 80 01 00 14 */ lwz r0, 0x14(r1)
|
||||
/* 803062B4 00301F14 83 E1 00 0C */ lwz r31, 0xc(r1)
|
||||
/* 803062B8 00301F18 7C 08 03 A6 */ mtlr r0
|
||||
/* 803062BC 00301F1C 38 21 00 10 */ addi r1, r1, 0x10
|
||||
/* 803062C0 00301F20 4E 80 00 20 */ blr
|
||||
@@ -0,0 +1,87 @@
|
||||
.include "macros.inc"
|
||||
|
||||
.section .text, "ax" # 0x80006980 - 0x803E1E60
|
||||
|
||||
.global VFiPF_GET_LE_U16
|
||||
VFiPF_GET_LE_U16:
|
||||
/* 803051B0 00300E10 88 03 00 01 */ lbz r0, 1(r3)
|
||||
/* 803051B4 00300E14 88 63 00 00 */ lbz r3, 0(r3)
|
||||
/* 803051B8 00300E18 50 03 44 2E */ rlwimi r3, r0, 8, 0x10, 0x17
|
||||
/* 803051BC 00300E1C 4E 80 00 20 */ blr
|
||||
|
||||
.global VFiPF_LE16_TO_U16_STR
|
||||
VFiPF_LE16_TO_U16_STR:
|
||||
/* 803051C0 00300E20 2C 04 00 00 */ cmpwi r4, 0
|
||||
/* 803051C4 00300E24 38 A0 00 00 */ li r5, 0
|
||||
/* 803051C8 00300E28 4D 82 00 20 */ beqlr
|
||||
/* 803051CC 00300E2C 38 C4 00 01 */ addi r6, r4, 1
|
||||
/* 803051D0 00300E30 38 E4 FF F0 */ addi r7, r4, -16
|
||||
/* 803051D4 00300E34 54 C0 F8 7E */ srwi r0, r6, 1
|
||||
/* 803051D8 00300E38 28 00 00 08 */ cmplwi r0, 8
|
||||
/* 803051DC 00300E3C 40 81 00 C4 */ ble lbl_803052A0
|
||||
/* 803051E0 00300E40 28 06 00 01 */ cmplwi r6, 1
|
||||
/* 803051E4 00300E44 38 00 00 00 */ li r0, 0
|
||||
/* 803051E8 00300E48 41 80 00 10 */ blt lbl_803051F8
|
||||
/* 803051EC 00300E4C 7C 04 30 40 */ cmplw r4, r6
|
||||
/* 803051F0 00300E50 41 81 00 08 */ bgt lbl_803051F8
|
||||
/* 803051F4 00300E54 38 00 00 01 */ li r0, 1
|
||||
lbl_803051F8:
|
||||
/* 803051F8 00300E58 2C 00 00 00 */ cmpwi r0, 0
|
||||
/* 803051FC 00300E5C 41 82 00 A4 */ beq lbl_803052A0
|
||||
/* 80305200 00300E60 38 07 00 0F */ addi r0, r7, 0xf
|
||||
/* 80305204 00300E64 54 00 E1 3E */ srwi r0, r0, 4
|
||||
/* 80305208 00300E68 7C 09 03 A6 */ mtctr r0
|
||||
/* 8030520C 00300E6C 28 07 00 00 */ cmplwi r7, 0
|
||||
/* 80305210 00300E70 40 81 00 90 */ ble lbl_803052A0
|
||||
lbl_80305214:
|
||||
/* 80305214 00300E74 7C E3 2A 14 */ add r7, r3, r5
|
||||
/* 80305218 00300E78 7C C3 28 AE */ lbzx r6, r3, r5
|
||||
/* 8030521C 00300E7C 88 07 00 01 */ lbz r0, 1(r7)
|
||||
/* 80305220 00300E80 7C 03 29 AE */ stbx r0, r3, r5
|
||||
/* 80305224 00300E84 38 A5 00 10 */ addi r5, r5, 0x10
|
||||
/* 80305228 00300E88 98 C7 00 01 */ stb r6, 1(r7)
|
||||
/* 8030522C 00300E8C 88 C7 00 02 */ lbz r6, 2(r7)
|
||||
/* 80305230 00300E90 88 07 00 03 */ lbz r0, 3(r7)
|
||||
/* 80305234 00300E94 98 07 00 02 */ stb r0, 2(r7)
|
||||
/* 80305238 00300E98 98 C7 00 03 */ stb r6, 3(r7)
|
||||
/* 8030523C 00300E9C 88 C7 00 04 */ lbz r6, 4(r7)
|
||||
/* 80305240 00300EA0 88 07 00 05 */ lbz r0, 5(r7)
|
||||
/* 80305244 00300EA4 98 07 00 04 */ stb r0, 4(r7)
|
||||
/* 80305248 00300EA8 98 C7 00 05 */ stb r6, 5(r7)
|
||||
/* 8030524C 00300EAC 88 C7 00 06 */ lbz r6, 6(r7)
|
||||
/* 80305250 00300EB0 88 07 00 07 */ lbz r0, 7(r7)
|
||||
/* 80305254 00300EB4 98 07 00 06 */ stb r0, 6(r7)
|
||||
/* 80305258 00300EB8 98 C7 00 07 */ stb r6, 7(r7)
|
||||
/* 8030525C 00300EBC 88 C7 00 08 */ lbz r6, 8(r7)
|
||||
/* 80305260 00300EC0 88 07 00 09 */ lbz r0, 9(r7)
|
||||
/* 80305264 00300EC4 98 07 00 08 */ stb r0, 8(r7)
|
||||
/* 80305268 00300EC8 98 C7 00 09 */ stb r6, 9(r7)
|
||||
/* 8030526C 00300ECC 88 C7 00 0A */ lbz r6, 0xa(r7)
|
||||
/* 80305270 00300ED0 88 07 00 0B */ lbz r0, 0xb(r7)
|
||||
/* 80305274 00300ED4 98 07 00 0A */ stb r0, 0xa(r7)
|
||||
/* 80305278 00300ED8 98 C7 00 0B */ stb r6, 0xb(r7)
|
||||
/* 8030527C 00300EDC 88 C7 00 0C */ lbz r6, 0xc(r7)
|
||||
/* 80305280 00300EE0 88 07 00 0D */ lbz r0, 0xd(r7)
|
||||
/* 80305284 00300EE4 98 07 00 0C */ stb r0, 0xc(r7)
|
||||
/* 80305288 00300EE8 98 C7 00 0D */ stb r6, 0xd(r7)
|
||||
/* 8030528C 00300EEC 88 C7 00 0E */ lbz r6, 0xe(r7)
|
||||
/* 80305290 00300EF0 88 07 00 0F */ lbz r0, 0xf(r7)
|
||||
/* 80305294 00300EF4 98 07 00 0E */ stb r0, 0xe(r7)
|
||||
/* 80305298 00300EF8 98 C7 00 0F */ stb r6, 0xf(r7)
|
||||
/* 8030529C 00300EFC 42 00 FF 78 */ bdnz lbl_80305214
|
||||
lbl_803052A0:
|
||||
/* 803052A0 00300F00 38 04 00 01 */ addi r0, r4, 1
|
||||
/* 803052A4 00300F04 7C 05 00 50 */ subf r0, r5, r0
|
||||
/* 803052A8 00300F08 54 00 F8 7E */ srwi r0, r0, 1
|
||||
/* 803052AC 00300F0C 7C 09 03 A6 */ mtctr r0
|
||||
/* 803052B0 00300F10 7C 05 20 40 */ cmplw r5, r4
|
||||
/* 803052B4 00300F14 4C 80 00 20 */ bgelr
|
||||
lbl_803052B8:
|
||||
/* 803052B8 00300F18 7C C3 2A 14 */ add r6, r3, r5
|
||||
/* 803052BC 00300F1C 7C 83 28 AE */ lbzx r4, r3, r5
|
||||
/* 803052C0 00300F20 88 06 00 01 */ lbz r0, 1(r6)
|
||||
/* 803052C4 00300F24 7C 03 29 AE */ stbx r0, r3, r5
|
||||
/* 803052C8 00300F28 38 A5 00 02 */ addi r5, r5, 2
|
||||
/* 803052CC 00300F2C 98 86 00 01 */ stb r4, 1(r6)
|
||||
/* 803052D0 00300F30 42 00 FF E8 */ bdnz lbl_803052B8
|
||||
/* 803052D4 00300F34 4E 80 00 20 */ blr
|
||||
@@ -0,0 +1,439 @@
|
||||
.include "macros.inc"
|
||||
|
||||
.section .text, "ax" # 0x80006980 - 0x803E1E60
|
||||
|
||||
.global VFiPFSTR_SetCodeMode
|
||||
VFiPFSTR_SetCodeMode:
|
||||
/* 803052D8 00300F38 90 83 00 0C */ stw r4, 0xc(r3)
|
||||
/* 803052DC 00300F3C 4E 80 00 20 */ blr
|
||||
|
||||
.global VFiPFSTR_GetCodeMode
|
||||
VFiPFSTR_GetCodeMode:
|
||||
/* 803052E0 00300F40 80 63 00 0C */ lwz r3, 0xc(r3)
|
||||
/* 803052E4 00300F44 4E 80 00 20 */ blr
|
||||
|
||||
.global VFiPFSTR_SetLocalStr
|
||||
VFiPFSTR_SetLocalStr:
|
||||
/* 803052E8 00300F48 80 03 00 0C */ lwz r0, 0xc(r3)
|
||||
/* 803052EC 00300F4C 28 00 00 01 */ cmplwi r0, 1
|
||||
/* 803052F0 00300F50 41 82 00 0C */ beq lbl_803052FC
|
||||
/* 803052F4 00300F54 2C 04 00 00 */ cmpwi r4, 0
|
||||
/* 803052F8 00300F58 40 82 00 10 */ bne lbl_80305308
|
||||
lbl_803052FC:
|
||||
/* 803052FC 00300F5C 80 03 00 00 */ lwz r0, 0(r3)
|
||||
/* 80305300 00300F60 90 03 00 08 */ stw r0, 8(r3)
|
||||
/* 80305304 00300F64 4E 80 00 20 */ blr
|
||||
lbl_80305308:
|
||||
/* 80305308 00300F68 90 83 00 08 */ stw r4, 8(r3)
|
||||
/* 8030530C 00300F6C 4E 80 00 20 */ blr
|
||||
|
||||
.global VFiPFSTR_GetStrPos
|
||||
VFiPFSTR_GetStrPos:
|
||||
/* 80305310 00300F70 28 04 00 01 */ cmplwi r4, 1
|
||||
/* 80305314 00300F74 40 82 00 0C */ bne lbl_80305320
|
||||
/* 80305318 00300F78 80 63 00 00 */ lwz r3, 0(r3)
|
||||
/* 8030531C 00300F7C 4E 80 00 20 */ blr
|
||||
lbl_80305320:
|
||||
/* 80305320 00300F80 28 04 00 02 */ cmplwi r4, 2
|
||||
/* 80305324 00300F84 40 82 00 0C */ bne lbl_80305330
|
||||
/* 80305328 00300F88 80 63 00 04 */ lwz r3, 4(r3)
|
||||
/* 8030532C 00300F8C 4E 80 00 20 */ blr
|
||||
lbl_80305330:
|
||||
/* 80305330 00300F90 80 63 00 08 */ lwz r3, 8(r3)
|
||||
/* 80305334 00300F94 4E 80 00 20 */ blr
|
||||
|
||||
.global VFiPFSTR_MoveStrPos
|
||||
VFiPFSTR_MoveStrPos:
|
||||
/* 80305338 00300F98 94 21 FF E0 */ stwu r1, -0x20(r1)
|
||||
/* 8030533C 00300F9C 7C 08 02 A6 */ mflr r0
|
||||
/* 80305340 00300FA0 90 01 00 24 */ stw r0, 0x24(r1)
|
||||
/* 80305344 00300FA4 39 61 00 20 */ addi r11, r1, 0x20
|
||||
/* 80305348 00300FA8 4B EC 1D DD */ bl _savegpr_26
|
||||
/* 8030534C 00300FAC 80 03 00 0C */ lwz r0, 0xc(r3)
|
||||
/* 80305350 00300FB0 7C 7F 1B 78 */ mr r31, r3
|
||||
/* 80305354 00300FB4 7C 9A 23 78 */ mr r26, r4
|
||||
/* 80305358 00300FB8 3B 80 00 00 */ li r28, 0
|
||||
/* 8030535C 00300FBC 28 00 00 01 */ cmplwi r0, 1
|
||||
/* 80305360 00300FC0 40 82 00 50 */ bne lbl_803053B0
|
||||
/* 80305364 00300FC4 3F C0 80 58 */ lis r30, lbl_8057F5C8@ha
|
||||
/* 80305368 00300FC8 83 A3 00 00 */ lwz r29, 0(r3)
|
||||
/* 8030536C 00300FCC 3B DE F5 C8 */ addi r30, r30, lbl_8057F5C8@l
|
||||
/* 80305370 00300FD0 48 00 00 34 */ b lbl_803053A4
|
||||
lbl_80305374:
|
||||
/* 80305374 00300FD4 88 1D 00 00 */ lbz r0, 0(r29)
|
||||
/* 80305378 00300FD8 38 80 00 01 */ li r4, 1
|
||||
/* 8030537C 00300FDC 81 9E 00 30 */ lwz r12, 0x30(r30)
|
||||
/* 80305380 00300FE0 7C 03 07 74 */ extsb r3, r0
|
||||
/* 80305384 00300FE4 7D 89 03 A6 */ mtctr r12
|
||||
/* 80305388 00300FE8 4E 80 04 21 */ bctrl
|
||||
/* 8030538C 00300FEC 2C 03 00 00 */ cmpwi r3, 0
|
||||
/* 80305390 00300FF0 41 82 00 0C */ beq lbl_8030539C
|
||||
/* 80305394 00300FF4 38 1C 00 01 */ addi r0, r28, 1
|
||||
/* 80305398 00300FF8 7C 1C 07 34 */ extsh r28, r0
|
||||
lbl_8030539C:
|
||||
/* 8030539C 00300FFC 3B 9C 00 01 */ addi r28, r28, 1
|
||||
/* 803053A0 00301000 3B 5A FF FF */ addi r26, r26, -1
|
||||
lbl_803053A4:
|
||||
/* 803053A4 00301004 7F 40 07 35 */ extsh. r0, r26
|
||||
/* 803053A8 00301008 40 82 FF CC */ bne lbl_80305374
|
||||
/* 803053AC 0030100C 48 00 00 48 */ b lbl_803053F4
|
||||
lbl_803053B0:
|
||||
/* 803053B0 00301010 3F C0 80 58 */ lis r30, lbl_8057F5C8@ha
|
||||
/* 803053B4 00301014 83 63 00 00 */ lwz r27, 0(r3)
|
||||
/* 803053B8 00301018 3B DE F5 C8 */ addi r30, r30, lbl_8057F5C8@l
|
||||
/* 803053BC 0030101C 3B A0 00 00 */ li r29, 0
|
||||
/* 803053C0 00301020 48 00 00 28 */ b lbl_803053E8
|
||||
lbl_803053C4:
|
||||
/* 803053C4 00301024 81 9E 00 34 */ lwz r12, 0x34(r30)
|
||||
/* 803053C8 00301028 7F 63 DB 78 */ mr r3, r27
|
||||
/* 803053CC 0030102C 7D 89 03 A6 */ mtctr r12
|
||||
/* 803053D0 00301030 4E 80 04 21 */ bctrl
|
||||
/* 803053D4 00301034 54 64 08 3C */ slwi r4, r3, 1
|
||||
/* 803053D8 00301038 7C 60 07 34 */ extsh r0, r3
|
||||
/* 803053DC 0030103C 7F 7B 22 14 */ add r27, r27, r4
|
||||
/* 803053E0 00301040 3B BD 00 01 */ addi r29, r29, 1
|
||||
/* 803053E4 00301044 7F 9C 02 14 */ add r28, r28, r0
|
||||
lbl_803053E8:
|
||||
/* 803053E8 00301048 7F A0 07 34 */ extsh r0, r29
|
||||
/* 803053EC 0030104C 7C 00 D0 00 */ cmpw r0, r26
|
||||
/* 803053F0 00301050 41 80 FF D4 */ blt lbl_803053C4
|
||||
lbl_803053F4:
|
||||
/* 803053F4 00301054 80 7F 00 00 */ lwz r3, 0(r31)
|
||||
/* 803053F8 00301058 7F 80 07 34 */ extsh r0, r28
|
||||
/* 803053FC 0030105C 39 61 00 20 */ addi r11, r1, 0x20
|
||||
/* 80305400 00301060 7C 03 02 14 */ add r0, r3, r0
|
||||
/* 80305404 00301064 90 1F 00 00 */ stw r0, 0(r31)
|
||||
/* 80305408 00301068 4B EC 1D 69 */ bl _restgpr_26
|
||||
/* 8030540C 0030106C 80 01 00 24 */ lwz r0, 0x24(r1)
|
||||
/* 80305410 00301070 7C 08 03 A6 */ mtlr r0
|
||||
/* 80305414 00301074 38 21 00 20 */ addi r1, r1, 0x20
|
||||
/* 80305418 00301078 4E 80 00 20 */ blr
|
||||
|
||||
.global VFiPFSTR_InitStr
|
||||
VFiPFSTR_InitStr:
|
||||
/* 8030541C 0030107C 94 21 FF E0 */ stwu r1, -0x20(r1)
|
||||
/* 80305420 00301080 7C 08 02 A6 */ mflr r0
|
||||
/* 80305424 00301084 2C 03 00 00 */ cmpwi r3, 0
|
||||
/* 80305428 00301088 90 01 00 24 */ stw r0, 0x24(r1)
|
||||
/* 8030542C 0030108C 93 E1 00 1C */ stw r31, 0x1c(r1)
|
||||
/* 80305430 00301090 7C BF 2B 78 */ mr r31, r5
|
||||
/* 80305434 00301094 93 C1 00 18 */ stw r30, 0x18(r1)
|
||||
/* 80305438 00301098 7C 9E 23 78 */ mr r30, r4
|
||||
/* 8030543C 0030109C 93 A1 00 14 */ stw r29, 0x14(r1)
|
||||
/* 80305440 003010A0 7C 7D 1B 78 */ mr r29, r3
|
||||
/* 80305444 003010A4 41 82 00 0C */ beq lbl_80305450
|
||||
/* 80305448 003010A8 2C 04 00 00 */ cmpwi r4, 0
|
||||
/* 8030544C 003010AC 40 82 00 0C */ bne lbl_80305458
|
||||
lbl_80305450:
|
||||
/* 80305450 003010B0 38 60 00 0A */ li r3, 0xa
|
||||
/* 80305454 003010B4 48 00 00 58 */ b lbl_803054AC
|
||||
lbl_80305458:
|
||||
/* 80305458 003010B8 28 05 00 01 */ cmplwi r5, 1
|
||||
/* 8030545C 003010BC 40 82 00 1C */ bne lbl_80305478
|
||||
/* 80305460 003010C0 90 83 00 00 */ stw r4, 0(r3)
|
||||
/* 80305464 003010C4 7F C3 F3 78 */ mr r3, r30
|
||||
/* 80305468 003010C8 4B FF FC 65 */ bl VFipf_strlen
|
||||
/* 8030546C 003010CC 7C 1E 1A 14 */ add r0, r30, r3
|
||||
/* 80305470 003010D0 90 1D 00 04 */ stw r0, 4(r29)
|
||||
/* 80305474 003010D4 48 00 00 30 */ b lbl_803054A4
|
||||
lbl_80305478:
|
||||
/* 80305478 003010D8 28 05 00 02 */ cmplwi r5, 2
|
||||
/* 8030547C 003010DC 40 82 00 20 */ bne lbl_8030549C
|
||||
/* 80305480 003010E0 90 83 00 00 */ stw r4, 0(r3)
|
||||
/* 80305484 003010E4 7F C3 F3 78 */ mr r3, r30
|
||||
/* 80305488 003010E8 48 00 03 D9 */ bl VFipf_w_strlen
|
||||
/* 8030548C 003010EC 54 60 08 3C */ slwi r0, r3, 1
|
||||
/* 80305490 003010F0 7C 1E 02 14 */ add r0, r30, r0
|
||||
/* 80305494 003010F4 90 1D 00 04 */ stw r0, 4(r29)
|
||||
/* 80305498 003010F8 48 00 00 0C */ b lbl_803054A4
|
||||
lbl_8030549C:
|
||||
/* 8030549C 003010FC 38 60 00 0A */ li r3, 0xa
|
||||
/* 803054A0 00301100 48 00 00 0C */ b lbl_803054AC
|
||||
lbl_803054A4:
|
||||
/* 803054A4 00301104 93 FD 00 0C */ stw r31, 0xc(r29)
|
||||
/* 803054A8 00301108 38 60 00 00 */ li r3, 0
|
||||
lbl_803054AC:
|
||||
/* 803054AC 0030110C 80 01 00 24 */ lwz r0, 0x24(r1)
|
||||
/* 803054B0 00301110 83 E1 00 1C */ lwz r31, 0x1c(r1)
|
||||
/* 803054B4 00301114 83 C1 00 18 */ lwz r30, 0x18(r1)
|
||||
/* 803054B8 00301118 83 A1 00 14 */ lwz r29, 0x14(r1)
|
||||
/* 803054BC 0030111C 7C 08 03 A6 */ mtlr r0
|
||||
/* 803054C0 00301120 38 21 00 20 */ addi r1, r1, 0x20
|
||||
/* 803054C4 00301124 4E 80 00 20 */ blr
|
||||
|
||||
.global VFiPFSTR_StrLen
|
||||
VFiPFSTR_StrLen:
|
||||
/* 803054C8 00301128 80 83 00 00 */ lwz r4, 0(r3)
|
||||
/* 803054CC 0030112C 80 03 00 04 */ lwz r0, 4(r3)
|
||||
/* 803054D0 00301130 7C 04 00 50 */ subf r0, r4, r0
|
||||
/* 803054D4 00301134 54 03 04 3E */ clrlwi r3, r0, 0x10
|
||||
/* 803054D8 00301138 4E 80 00 20 */ blr
|
||||
|
||||
.global VFiPFSTR_StrNumChar
|
||||
VFiPFSTR_StrNumChar:
|
||||
/* 803054DC 0030113C 94 21 FF E0 */ stwu r1, -0x20(r1)
|
||||
/* 803054E0 00301140 7C 08 02 A6 */ mflr r0
|
||||
/* 803054E4 00301144 28 04 00 01 */ cmplwi r4, 1
|
||||
/* 803054E8 00301148 90 01 00 24 */ stw r0, 0x24(r1)
|
||||
/* 803054EC 0030114C 93 E1 00 1C */ stw r31, 0x1c(r1)
|
||||
/* 803054F0 00301150 93 C1 00 18 */ stw r30, 0x18(r1)
|
||||
/* 803054F4 00301154 93 A1 00 14 */ stw r29, 0x14(r1)
|
||||
/* 803054F8 00301158 40 82 00 0C */ bne lbl_80305504
|
||||
/* 803054FC 0030115C 83 C3 00 00 */ lwz r30, 0(r3)
|
||||
/* 80305500 00301160 48 00 00 08 */ b lbl_80305508
|
||||
lbl_80305504:
|
||||
/* 80305504 00301164 83 C3 00 04 */ lwz r30, 4(r3)
|
||||
lbl_80305508:
|
||||
/* 80305508 00301168 80 03 00 0C */ lwz r0, 0xc(r3)
|
||||
/* 8030550C 0030116C 28 00 00 01 */ cmplwi r0, 1
|
||||
/* 80305510 00301170 40 82 00 4C */ bne lbl_8030555C
|
||||
/* 80305514 00301174 3F E0 80 58 */ lis r31, lbl_8057F5C8@ha
|
||||
/* 80305518 00301178 3B A0 00 00 */ li r29, 0
|
||||
/* 8030551C 0030117C 3B FF F5 C8 */ addi r31, r31, lbl_8057F5C8@l
|
||||
/* 80305520 00301180 48 00 00 2C */ b lbl_8030554C
|
||||
lbl_80305524:
|
||||
/* 80305524 00301184 81 9F 00 30 */ lwz r12, 0x30(r31)
|
||||
/* 80305528 00301188 7C 63 07 74 */ extsb r3, r3
|
||||
/* 8030552C 0030118C 38 80 00 01 */ li r4, 1
|
||||
/* 80305530 00301190 7D 89 03 A6 */ mtctr r12
|
||||
/* 80305534 00301194 4E 80 04 21 */ bctrl
|
||||
/* 80305538 00301198 2C 03 00 00 */ cmpwi r3, 0
|
||||
/* 8030553C 0030119C 41 82 00 08 */ beq lbl_80305544
|
||||
/* 80305540 003011A0 3B DE 00 01 */ addi r30, r30, 1
|
||||
lbl_80305544:
|
||||
/* 80305544 003011A4 3B DE 00 01 */ addi r30, r30, 1
|
||||
/* 80305548 003011A8 3B BD 00 01 */ addi r29, r29, 1
|
||||
lbl_8030554C:
|
||||
/* 8030554C 003011AC 88 7E 00 00 */ lbz r3, 0(r30)
|
||||
/* 80305550 003011B0 7C 60 07 75 */ extsb. r0, r3
|
||||
/* 80305554 003011B4 40 82 FF D0 */ bne lbl_80305524
|
||||
/* 80305558 003011B8 48 00 00 44 */ b lbl_8030559C
|
||||
lbl_8030555C:
|
||||
/* 8030555C 003011BC 3F E0 80 58 */ lis r31, lbl_8057F5C8@ha
|
||||
/* 80305560 003011C0 3B A0 00 00 */ li r29, 0
|
||||
/* 80305564 003011C4 3B FF F5 C8 */ addi r31, r31, lbl_8057F5C8@l
|
||||
/* 80305568 003011C8 48 00 00 1C */ b lbl_80305584
|
||||
lbl_8030556C:
|
||||
/* 8030556C 003011CC 81 9F 00 34 */ lwz r12, 0x34(r31)
|
||||
/* 80305570 003011D0 7F C3 F3 78 */ mr r3, r30
|
||||
/* 80305574 003011D4 7D 89 03 A6 */ mtctr r12
|
||||
/* 80305578 003011D8 4E 80 04 21 */ bctrl
|
||||
/* 8030557C 003011DC 7F DE 1A 14 */ add r30, r30, r3
|
||||
/* 80305580 003011E0 3B BD 00 01 */ addi r29, r29, 1
|
||||
lbl_80305584:
|
||||
/* 80305584 003011E4 88 1E 00 00 */ lbz r0, 0(r30)
|
||||
/* 80305588 003011E8 7C 00 07 75 */ extsb. r0, r0
|
||||
/* 8030558C 003011EC 40 82 FF E0 */ bne lbl_8030556C
|
||||
/* 80305590 003011F0 88 1E 00 01 */ lbz r0, 1(r30)
|
||||
/* 80305594 003011F4 7C 00 07 75 */ extsb. r0, r0
|
||||
/* 80305598 003011F8 40 82 FF D4 */ bne lbl_8030556C
|
||||
lbl_8030559C:
|
||||
/* 8030559C 003011FC 83 E1 00 1C */ lwz r31, 0x1c(r1)
|
||||
/* 803055A0 00301200 7F A3 EB 78 */ mr r3, r29
|
||||
/* 803055A4 00301204 83 C1 00 18 */ lwz r30, 0x18(r1)
|
||||
/* 803055A8 00301208 83 A1 00 14 */ lwz r29, 0x14(r1)
|
||||
/* 803055AC 0030120C 80 01 00 24 */ lwz r0, 0x24(r1)
|
||||
/* 803055B0 00301210 7C 08 03 A6 */ mtlr r0
|
||||
/* 803055B4 00301214 38 21 00 20 */ addi r1, r1, 0x20
|
||||
/* 803055B8 00301218 4E 80 00 20 */ blr
|
||||
|
||||
.global VFiPFSTR_StrCmp
|
||||
VFiPFSTR_StrCmp:
|
||||
/* 803055BC 0030121C 94 21 FF E0 */ stwu r1, -0x20(r1)
|
||||
/* 803055C0 00301220 7C 08 02 A6 */ mflr r0
|
||||
/* 803055C4 00301224 90 01 00 24 */ stw r0, 0x24(r1)
|
||||
/* 803055C8 00301228 80 03 00 0C */ lwz r0, 0xc(r3)
|
||||
/* 803055CC 0030122C 93 E1 00 1C */ stw r31, 0x1c(r1)
|
||||
/* 803055D0 00301230 28 00 00 01 */ cmplwi r0, 1
|
||||
/* 803055D4 00301234 93 C1 00 18 */ stw r30, 0x18(r1)
|
||||
/* 803055D8 00301238 93 A1 00 14 */ stw r29, 0x14(r1)
|
||||
/* 803055DC 0030123C 7C 9D 23 78 */ mr r29, r4
|
||||
/* 803055E0 00301240 40 82 00 10 */ bne lbl_803055F0
|
||||
/* 803055E4 00301244 80 63 00 00 */ lwz r3, 0(r3)
|
||||
/* 803055E8 00301248 4B FF FB 29 */ bl VFipf_strcmp
|
||||
/* 803055EC 0030124C 48 00 00 58 */ b lbl_80305644
|
||||
lbl_803055F0:
|
||||
/* 803055F0 00301250 3F E0 80 58 */ lis r31, lbl_8057F5C8@ha
|
||||
/* 803055F4 00301254 83 C3 00 00 */ lwz r30, 0(r3)
|
||||
/* 803055F8 00301258 3B FF F5 C8 */ addi r31, r31, lbl_8057F5C8@l
|
||||
lbl_803055FC:
|
||||
/* 803055FC 0030125C 81 9F 00 24 */ lwz r12, 0x24(r31)
|
||||
/* 80305600 00301260 7F A3 EB 78 */ mr r3, r29
|
||||
/* 80305604 00301264 38 81 00 08 */ addi r4, r1, 8
|
||||
/* 80305608 00301268 7D 89 03 A6 */ mtctr r12
|
||||
/* 8030560C 0030126C 4E 80 04 21 */ bctrl
|
||||
/* 80305610 00301270 A0 1E 00 00 */ lhz r0, 0(r30)
|
||||
/* 80305614 00301274 3B BD 00 01 */ addi r29, r29, 1
|
||||
/* 80305618 00301278 A0 61 00 08 */ lhz r3, 8(r1)
|
||||
/* 8030561C 0030127C 3B DE 00 02 */ addi r30, r30, 2
|
||||
/* 80305620 00301280 7C 00 18 40 */ cmplw r0, r3
|
||||
/* 80305624 00301284 40 82 00 18 */ bne lbl_8030563C
|
||||
/* 80305628 00301288 A0 1E FF FE */ lhz r0, -2(r30)
|
||||
/* 8030562C 0030128C 2C 00 00 00 */ cmpwi r0, 0
|
||||
/* 80305630 00301290 41 82 00 0C */ beq lbl_8030563C
|
||||
/* 80305634 00301294 2C 03 00 00 */ cmpwi r3, 0
|
||||
/* 80305638 00301298 40 82 FF C4 */ bne lbl_803055FC
|
||||
lbl_8030563C:
|
||||
/* 8030563C 0030129C A0 1E FF FE */ lhz r0, -2(r30)
|
||||
/* 80305640 003012A0 7C 63 00 50 */ subf r3, r3, r0
|
||||
lbl_80305644:
|
||||
/* 80305644 003012A4 80 01 00 24 */ lwz r0, 0x24(r1)
|
||||
/* 80305648 003012A8 83 E1 00 1C */ lwz r31, 0x1c(r1)
|
||||
/* 8030564C 003012AC 83 C1 00 18 */ lwz r30, 0x18(r1)
|
||||
/* 80305650 003012B0 83 A1 00 14 */ lwz r29, 0x14(r1)
|
||||
/* 80305654 003012B4 7C 08 03 A6 */ mtlr r0
|
||||
/* 80305658 003012B8 38 21 00 20 */ addi r1, r1, 0x20
|
||||
/* 8030565C 003012BC 4E 80 00 20 */ blr
|
||||
|
||||
.global VFiPFSTR_StrNCmp
|
||||
VFiPFSTR_StrNCmp:
|
||||
/* 80305660 003012C0 94 21 FF E0 */ stwu r1, -0x20(r1)
|
||||
/* 80305664 003012C4 7C 08 02 A6 */ mflr r0
|
||||
/* 80305668 003012C8 90 01 00 24 */ stw r0, 0x24(r1)
|
||||
/* 8030566C 003012CC 93 E1 00 1C */ stw r31, 0x1c(r1)
|
||||
/* 80305670 003012D0 93 C1 00 18 */ stw r30, 0x18(r1)
|
||||
/* 80305674 003012D4 93 A1 00 14 */ stw r29, 0x14(r1)
|
||||
/* 80305678 003012D8 7C FD 3B 78 */ mr r29, r7
|
||||
/* 8030567C 003012DC 93 81 00 10 */ stw r28, 0x10(r1)
|
||||
/* 80305680 003012E0 7C 9C 23 78 */ mr r28, r4
|
||||
/* 80305684 003012E4 80 03 00 0C */ lwz r0, 0xc(r3)
|
||||
/* 80305688 003012E8 28 00 00 01 */ cmplwi r0, 1
|
||||
/* 8030568C 003012EC 41 82 00 0C */ beq lbl_80305698
|
||||
/* 80305690 003012F0 28 05 00 03 */ cmplwi r5, 3
|
||||
/* 80305694 003012F4 40 82 00 44 */ bne lbl_803056D8
|
||||
lbl_80305698:
|
||||
/* 80305698 003012F8 28 05 00 01 */ cmplwi r5, 1
|
||||
/* 8030569C 003012FC 40 82 00 10 */ bne lbl_803056AC
|
||||
/* 803056A0 00301300 80 03 00 00 */ lwz r0, 0(r3)
|
||||
/* 803056A4 00301304 7C 60 32 14 */ add r3, r0, r6
|
||||
/* 803056A8 00301308 48 00 00 20 */ b lbl_803056C8
|
||||
lbl_803056AC:
|
||||
/* 803056AC 0030130C 28 05 00 02 */ cmplwi r5, 2
|
||||
/* 803056B0 00301310 40 82 00 10 */ bne lbl_803056C0
|
||||
/* 803056B4 00301314 80 03 00 04 */ lwz r0, 4(r3)
|
||||
/* 803056B8 00301318 7C 60 32 14 */ add r3, r0, r6
|
||||
/* 803056BC 0030131C 48 00 00 0C */ b lbl_803056C8
|
||||
lbl_803056C0:
|
||||
/* 803056C0 00301320 80 03 00 08 */ lwz r0, 8(r3)
|
||||
/* 803056C4 00301324 7C 60 32 14 */ add r3, r0, r6
|
||||
lbl_803056C8:
|
||||
/* 803056C8 00301328 7F 84 E3 78 */ mr r4, r28
|
||||
/* 803056CC 0030132C 7F A5 EB 78 */ mr r5, r29
|
||||
/* 803056D0 00301330 4B FF FA 79 */ bl VFipf_strncmp
|
||||
/* 803056D4 00301334 48 00 00 84 */ b lbl_80305758
|
||||
lbl_803056D8:
|
||||
/* 803056D8 00301338 28 05 00 01 */ cmplwi r5, 1
|
||||
/* 803056DC 0030133C 40 82 00 14 */ bne lbl_803056F0
|
||||
/* 803056E0 00301340 80 63 00 00 */ lwz r3, 0(r3)
|
||||
/* 803056E4 00301344 54 C0 08 3C */ slwi r0, r6, 1
|
||||
/* 803056E8 00301348 7F C3 02 14 */ add r30, r3, r0
|
||||
/* 803056EC 0030134C 48 00 00 10 */ b lbl_803056FC
|
||||
lbl_803056F0:
|
||||
/* 803056F0 00301350 80 63 00 04 */ lwz r3, 4(r3)
|
||||
/* 803056F4 00301354 54 C0 08 3C */ slwi r0, r6, 1
|
||||
/* 803056F8 00301358 7F C3 02 14 */ add r30, r3, r0
|
||||
lbl_803056FC:
|
||||
/* 803056FC 0030135C 3F E0 80 58 */ lis r31, lbl_8057F5C8@ha
|
||||
/* 80305700 00301360 3B FF F5 C8 */ addi r31, r31, lbl_8057F5C8@l
|
||||
lbl_80305704:
|
||||
/* 80305704 00301364 81 9F 00 24 */ lwz r12, 0x24(r31)
|
||||
/* 80305708 00301368 7F 83 E3 78 */ mr r3, r28
|
||||
/* 8030570C 0030136C 38 81 00 08 */ addi r4, r1, 8
|
||||
/* 80305710 00301370 7D 89 03 A6 */ mtctr r12
|
||||
/* 80305714 00301374 4E 80 04 21 */ bctrl
|
||||
/* 80305718 00301378 A0 1E 00 00 */ lhz r0, 0(r30)
|
||||
/* 8030571C 0030137C 3B 9C 00 01 */ addi r28, r28, 1
|
||||
/* 80305720 00301380 A0 61 00 08 */ lhz r3, 8(r1)
|
||||
/* 80305724 00301384 3B BD FF FF */ addi r29, r29, -1
|
||||
/* 80305728 00301388 3B DE 00 02 */ addi r30, r30, 2
|
||||
/* 8030572C 0030138C 7C 00 18 40 */ cmplw r0, r3
|
||||
/* 80305730 00301390 40 82 00 20 */ bne lbl_80305750
|
||||
/* 80305734 00301394 57 A0 04 3F */ clrlwi. r0, r29, 0x10
|
||||
/* 80305738 00301398 41 82 00 18 */ beq lbl_80305750
|
||||
/* 8030573C 0030139C A0 1E FF FE */ lhz r0, -2(r30)
|
||||
/* 80305740 003013A0 2C 00 00 00 */ cmpwi r0, 0
|
||||
/* 80305744 003013A4 41 82 00 0C */ beq lbl_80305750
|
||||
/* 80305748 003013A8 2C 03 00 00 */ cmpwi r3, 0
|
||||
/* 8030574C 003013AC 40 82 FF B8 */ bne lbl_80305704
|
||||
lbl_80305750:
|
||||
/* 80305750 003013B0 A0 1E FF FE */ lhz r0, -2(r30)
|
||||
/* 80305754 003013B4 7C 63 00 50 */ subf r3, r3, r0
|
||||
lbl_80305758:
|
||||
/* 80305758 003013B8 80 01 00 24 */ lwz r0, 0x24(r1)
|
||||
/* 8030575C 003013BC 83 E1 00 1C */ lwz r31, 0x1c(r1)
|
||||
/* 80305760 003013C0 83 C1 00 18 */ lwz r30, 0x18(r1)
|
||||
/* 80305764 003013C4 83 A1 00 14 */ lwz r29, 0x14(r1)
|
||||
/* 80305768 003013C8 83 81 00 10 */ lwz r28, 0x10(r1)
|
||||
/* 8030576C 003013CC 7C 08 03 A6 */ mtlr r0
|
||||
/* 80305770 003013D0 38 21 00 20 */ addi r1, r1, 0x20
|
||||
/* 80305774 003013D4 4E 80 00 20 */ blr
|
||||
|
||||
.global VFiPFSTR_ToUpperNStr
|
||||
VFiPFSTR_ToUpperNStr:
|
||||
/* 80305778 003013D8 94 21 FF E0 */ stwu r1, -0x20(r1)
|
||||
/* 8030577C 003013DC 7C 08 02 A6 */ mflr r0
|
||||
/* 80305780 003013E0 90 01 00 24 */ stw r0, 0x24(r1)
|
||||
/* 80305784 003013E4 93 E1 00 1C */ stw r31, 0x1c(r1)
|
||||
/* 80305788 003013E8 93 C1 00 18 */ stw r30, 0x18(r1)
|
||||
/* 8030578C 003013EC 7C BE 2B 78 */ mr r30, r5
|
||||
/* 80305790 003013F0 93 A1 00 14 */ stw r29, 0x14(r1)
|
||||
/* 80305794 003013F4 7C 9D 23 78 */ mr r29, r4
|
||||
/* 80305798 003013F8 80 03 00 0C */ lwz r0, 0xc(r3)
|
||||
/* 8030579C 003013FC 28 00 00 01 */ cmplwi r0, 1
|
||||
/* 803057A0 00301400 40 82 00 3C */ bne lbl_803057DC
|
||||
/* 803057A4 00301404 83 E3 00 00 */ lwz r31, 0(r3)
|
||||
/* 803057A8 00301408 48 00 00 1C */ b lbl_803057C4
|
||||
lbl_803057AC:
|
||||
/* 803057AC 0030140C 7C 63 07 74 */ extsb r3, r3
|
||||
/* 803057B0 00301410 4B FF F6 E5 */ bl VFipf_toupper
|
||||
/* 803057B4 00301414 98 7E 00 00 */ stb r3, 0(r30)
|
||||
/* 803057B8 00301418 3B DE 00 01 */ addi r30, r30, 1
|
||||
/* 803057BC 0030141C 3B FF 00 01 */ addi r31, r31, 1
|
||||
/* 803057C0 00301420 3B BD FF FF */ addi r29, r29, -1
|
||||
lbl_803057C4:
|
||||
/* 803057C4 00301424 57 A0 04 3F */ clrlwi. r0, r29, 0x10
|
||||
/* 803057C8 00301428 41 82 00 74 */ beq lbl_8030583C
|
||||
/* 803057CC 0030142C 88 7F 00 00 */ lbz r3, 0(r31)
|
||||
/* 803057D0 00301430 7C 60 07 75 */ extsb. r0, r3
|
||||
/* 803057D4 00301434 40 82 FF D8 */ bne lbl_803057AC
|
||||
/* 803057D8 00301438 48 00 00 64 */ b lbl_8030583C
|
||||
lbl_803057DC:
|
||||
/* 803057DC 0030143C 80 83 00 00 */ lwz r4, 0(r3)
|
||||
/* 803057E0 00301440 48 00 00 40 */ b lbl_80305820
|
||||
lbl_803057E4:
|
||||
/* 803057E4 00301444 28 03 00 61 */ cmplwi r3, 0x61
|
||||
/* 803057E8 00301448 38 00 00 00 */ li r0, 0
|
||||
/* 803057EC 0030144C 41 80 00 10 */ blt lbl_803057FC
|
||||
/* 803057F0 00301450 28 03 00 7A */ cmplwi r3, 0x7a
|
||||
/* 803057F4 00301454 41 81 00 08 */ bgt lbl_803057FC
|
||||
/* 803057F8 00301458 38 00 00 01 */ li r0, 1
|
||||
lbl_803057FC:
|
||||
/* 803057FC 0030145C 2C 00 00 00 */ cmpwi r0, 0
|
||||
/* 80305800 00301460 41 82 00 08 */ beq lbl_80305808
|
||||
/* 80305804 00301464 38 63 FF E0 */ addi r3, r3, -32
|
||||
lbl_80305808:
|
||||
/* 80305808 00301468 98 7E 00 00 */ stb r3, 0(r30)
|
||||
/* 8030580C 0030146C 54 60 C6 3E */ rlwinm r0, r3, 0x18, 0x18, 0x1f
|
||||
/* 80305810 00301470 38 84 00 02 */ addi r4, r4, 2
|
||||
/* 80305814 00301474 3B BD FF FF */ addi r29, r29, -1
|
||||
/* 80305818 00301478 98 1E 00 01 */ stb r0, 1(r30)
|
||||
/* 8030581C 0030147C 3B DE 00 02 */ addi r30, r30, 2
|
||||
lbl_80305820:
|
||||
/* 80305820 00301480 57 A0 04 3F */ clrlwi. r0, r29, 0x10
|
||||
/* 80305824 00301484 41 82 00 10 */ beq lbl_80305834
|
||||
/* 80305828 00301488 A0 64 00 00 */ lhz r3, 0(r4)
|
||||
/* 8030582C 0030148C 2C 03 00 00 */ cmpwi r3, 0
|
||||
/* 80305830 00301490 40 82 FF B4 */ bne lbl_803057E4
|
||||
lbl_80305834:
|
||||
/* 80305834 00301494 38 00 00 00 */ li r0, 0
|
||||
/* 80305838 00301498 98 1E 00 00 */ stb r0, 0(r30)
|
||||
lbl_8030583C:
|
||||
/* 8030583C 0030149C 38 00 00 00 */ li r0, 0
|
||||
/* 80305840 003014A0 98 1E 00 00 */ stb r0, 0(r30)
|
||||
/* 80305844 003014A4 83 E1 00 1C */ lwz r31, 0x1c(r1)
|
||||
/* 80305848 003014A8 83 C1 00 18 */ lwz r30, 0x18(r1)
|
||||
/* 8030584C 003014AC 83 A1 00 14 */ lwz r29, 0x14(r1)
|
||||
/* 80305850 003014B0 80 01 00 24 */ lwz r0, 0x24(r1)
|
||||
/* 80305854 003014B4 7C 08 03 A6 */ mtlr r0
|
||||
/* 80305858 003014B8 38 21 00 20 */ addi r1, r1, 0x20
|
||||
/* 8030585C 003014BC 4E 80 00 20 */ blr
|
||||
@@ -0,0 +1,57 @@
|
||||
.include "macros.inc"
|
||||
|
||||
.section .text, "ax" # 0x80006980 - 0x803E1E60
|
||||
|
||||
.global VFipf_w_strlen
|
||||
VFipf_w_strlen:
|
||||
/* 80305860 003014C0 7C 64 1B 78 */ mr r4, r3
|
||||
/* 80305864 003014C4 48 00 00 08 */ b lbl_8030586C
|
||||
lbl_80305868:
|
||||
/* 80305868 003014C8 38 84 00 02 */ addi r4, r4, 2
|
||||
lbl_8030586C:
|
||||
/* 8030586C 003014CC A0 04 00 00 */ lhz r0, 0(r4)
|
||||
/* 80305870 003014D0 2C 00 00 00 */ cmpwi r0, 0
|
||||
/* 80305874 003014D4 40 82 FF F4 */ bne lbl_80305868
|
||||
/* 80305878 003014D8 7C 03 20 50 */ subf r0, r3, r4
|
||||
/* 8030587C 003014DC 7C 03 0E 70 */ srawi r3, r0, 1
|
||||
/* 80305880 003014E0 4E 80 00 20 */ blr
|
||||
|
||||
.global VFipf_w_strcpy
|
||||
VFipf_w_strcpy:
|
||||
/* 80305884 003014E4 7C 65 1B 78 */ mr r5, r3
|
||||
/* 80305888 003014E8 48 00 00 0C */ b lbl_80305894
|
||||
lbl_8030588C:
|
||||
/* 8030588C 003014EC 38 84 00 02 */ addi r4, r4, 2
|
||||
/* 80305890 003014F0 38 A5 00 02 */ addi r5, r5, 2
|
||||
lbl_80305894:
|
||||
/* 80305894 003014F4 A0 04 00 00 */ lhz r0, 0(r4)
|
||||
/* 80305898 003014F8 2C 00 00 00 */ cmpwi r0, 0
|
||||
/* 8030589C 003014FC B0 05 00 00 */ sth r0, 0(r5)
|
||||
/* 803058A0 00301500 40 82 FF EC */ bne lbl_8030588C
|
||||
/* 803058A4 00301504 4E 80 00 20 */ blr
|
||||
|
||||
.global VFipf_w_strncmp
|
||||
VFipf_w_strncmp:
|
||||
/* 803058A8 00301508 7C A9 03 A6 */ mtctr r5
|
||||
/* 803058AC 0030150C 2C 05 00 00 */ cmpwi r5, 0
|
||||
/* 803058B0 00301510 41 82 00 3C */ beq lbl_803058EC
|
||||
lbl_803058B4:
|
||||
/* 803058B4 00301514 A0 A3 00 00 */ lhz r5, 0(r3)
|
||||
/* 803058B8 00301518 2C 05 00 00 */ cmpwi r5, 0
|
||||
/* 803058BC 0030151C 41 82 00 18 */ beq lbl_803058D4
|
||||
/* 803058C0 00301520 A0 04 00 00 */ lhz r0, 0(r4)
|
||||
/* 803058C4 00301524 2C 00 00 00 */ cmpwi r0, 0
|
||||
/* 803058C8 00301528 41 82 00 0C */ beq lbl_803058D4
|
||||
/* 803058CC 0030152C 7C 05 00 40 */ cmplw r5, r0
|
||||
/* 803058D0 00301530 41 82 00 10 */ beq lbl_803058E0
|
||||
lbl_803058D4:
|
||||
/* 803058D4 00301534 A0 04 00 00 */ lhz r0, 0(r4)
|
||||
/* 803058D8 00301538 7C 60 28 50 */ subf r3, r0, r5
|
||||
/* 803058DC 0030153C 4E 80 00 20 */ blr
|
||||
lbl_803058E0:
|
||||
/* 803058E0 00301540 38 63 00 02 */ addi r3, r3, 2
|
||||
/* 803058E4 00301544 38 84 00 02 */ addi r4, r4, 2
|
||||
/* 803058E8 00301548 42 00 FF CC */ bdnz lbl_803058B4
|
||||
lbl_803058EC:
|
||||
/* 803058EC 0030154C 38 60 00 00 */ li r3, 0
|
||||
/* 803058F0 00301550 4E 80 00 20 */ blr
|
||||
+5868
-47601
File diff suppressed because it is too large
Load Diff
+34690
File diff suppressed because it is too large
Load Diff
@@ -349,6 +349,19 @@ TEXT_O_FILES := \
|
||||
$(BUILD_DIR)/asm/SDK/NHTTP/d_nhttp.o \
|
||||
$(BUILD_DIR)/asm/SDK/NHTTP/d_nhttp_common.o \
|
||||
$(BUILD_DIR)/asm/text_9.o \
|
||||
$(BUILD_DIR)/asm/SDK/VF/pf_clib.o \
|
||||
$(BUILD_DIR)/asm/SDK/VF/pf_code.o \
|
||||
$(BUILD_DIR)/asm/SDK/VF/pf_service.o \
|
||||
$(BUILD_DIR)/asm/SDK/VF/pf_str.o \
|
||||
$(BUILD_DIR)/asm/SDK/VF/pf_w_clib.o \
|
||||
$(BUILD_DIR)/asm/SDK/VF/pf_driver.o \
|
||||
$(BUILD_DIR)/asm/SDK/VF/pdm_bpb.o \
|
||||
$(BUILD_DIR)/asm/SDK/VF/pdm_disk.o \
|
||||
$(BUILD_DIR)/asm/SDK/VF/pdm_partition.o \
|
||||
$(BUILD_DIR)/asm/SDK/VF/pdm_mbr.o \
|
||||
$(BUILD_DIR)/asm/SDK/VF/pdm_dskmng.o \
|
||||
$(BUILD_DIR)/asm/SDK/VF/pf_cache.o \
|
||||
$(BUILD_DIR)/asm/text_9_2.o \
|
||||
$(BUILD_DIR)/asm/text_10.o \
|
||||
$(BUILD_DIR)/src/GameSpy/darray.o \
|
||||
$(BUILD_DIR)/src/GameSpy/hashtable.o \
|
||||
|
||||
Reference in New Issue
Block a user