diff options
Diffstat (limited to 'asm/SDK/VF/d_common.s')
-rw-r--r-- | asm/SDK/VF/d_common.s | 171 |
1 files changed, 171 insertions, 0 deletions
diff --git a/asm/SDK/VF/d_common.s b/asm/SDK/VF/d_common.s new file mode 100644 index 0000000..68c7988 --- /dev/null +++ b/asm/SDK/VF/d_common.s @@ -0,0 +1,171 @@ +.include "macros.inc"
+
+.section .text, "ax" # 0x80006980 - 0x803E1E60
+
+.global dCommon_initDriveInfo
+dCommon_initDriveInfo:
+/* 8031BBE0 00317840 3C 80 80 61 */ lis r4, lbl_8060F848@ha
+/* 8031BBE4 00317844 38 00 00 03 */ li r0, 3
+/* 8031BBE8 00317848 38 84 F8 48 */ addi r4, r4, lbl_8060F848@l
+/* 8031BBEC 0031784C 38 60 00 00 */ li r3, 0
+/* 8031BBF0 00317850 7C 09 03 A6 */ mtctr r0
+lbl_8031BBF4:
+/* 8031BBF4 00317854 90 64 00 00 */ stw r3, 0(r4)
+/* 8031BBF8 00317858 90 64 00 04 */ stw r3, 4(r4)
+/* 8031BBFC 0031785C 90 64 00 08 */ stw r3, 8(r4)
+/* 8031BC00 00317860 90 64 00 0C */ stw r3, 0xc(r4)
+/* 8031BC04 00317864 90 64 00 10 */ stw r3, 0x10(r4)
+/* 8031BC08 00317868 90 64 00 14 */ stw r3, 0x14(r4)
+/* 8031BC0C 0031786C 90 64 00 18 */ stw r3, 0x18(r4)
+/* 8031BC10 00317870 90 64 00 1C */ stw r3, 0x1c(r4)
+/* 8031BC14 00317874 90 64 00 20 */ stw r3, 0x20(r4)
+/* 8031BC18 00317878 90 64 00 24 */ stw r3, 0x24(r4)
+/* 8031BC1C 0031787C 90 64 00 28 */ stw r3, 0x28(r4)
+/* 8031BC20 00317880 90 64 00 2C */ stw r3, 0x2c(r4)
+/* 8031BC24 00317884 90 64 00 30 */ stw r3, 0x30(r4)
+/* 8031BC28 00317888 90 64 00 34 */ stw r3, 0x34(r4)
+/* 8031BC2C 0031788C 90 64 00 38 */ stw r3, 0x38(r4)
+/* 8031BC30 00317890 90 64 00 3C */ stw r3, 0x3c(r4)
+/* 8031BC34 00317894 90 64 00 40 */ stw r3, 0x40(r4)
+/* 8031BC38 00317898 90 64 00 44 */ stw r3, 0x44(r4)
+/* 8031BC3C 0031789C 90 64 00 48 */ stw r3, 0x48(r4)
+/* 8031BC40 003178A0 90 64 00 4C */ stw r3, 0x4c(r4)
+/* 8031BC44 003178A4 90 64 00 50 */ stw r3, 0x50(r4)
+/* 8031BC48 003178A8 90 64 00 54 */ stw r3, 0x54(r4)
+/* 8031BC4C 003178AC 90 64 00 58 */ stw r3, 0x58(r4)
+/* 8031BC50 003178B0 90 64 00 5C */ stw r3, 0x5c(r4)
+/* 8031BC54 003178B4 90 64 00 60 */ stw r3, 0x60(r4)
+/* 8031BC58 003178B8 90 64 00 64 */ stw r3, 0x64(r4)
+/* 8031BC5C 003178BC 90 64 00 68 */ stw r3, 0x68(r4)
+/* 8031BC60 003178C0 90 64 00 6C */ stw r3, 0x6c(r4)
+/* 8031BC64 003178C4 90 64 00 70 */ stw r3, 0x70(r4)
+/* 8031BC68 003178C8 90 64 00 74 */ stw r3, 0x74(r4)
+/* 8031BC6C 003178CC 90 64 00 78 */ stw r3, 0x78(r4)
+/* 8031BC70 003178D0 90 64 00 7C */ stw r3, 0x7c(r4)
+/* 8031BC74 003178D4 90 64 00 80 */ stw r3, 0x80(r4)
+/* 8031BC78 003178D8 90 64 00 84 */ stw r3, 0x84(r4)
+/* 8031BC7C 003178DC 90 64 00 88 */ stw r3, 0x88(r4)
+/* 8031BC80 003178E0 90 64 00 8C */ stw r3, 0x8c(r4)
+/* 8031BC84 003178E4 90 64 00 90 */ stw r3, 0x90(r4)
+/* 8031BC88 003178E8 90 64 00 94 */ stw r3, 0x94(r4)
+/* 8031BC8C 003178EC 90 64 00 98 */ stw r3, 0x98(r4)
+/* 8031BC90 003178F0 90 64 00 9C */ stw r3, 0x9c(r4)
+/* 8031BC94 003178F4 38 84 00 A0 */ addi r4, r4, 0xa0
+/* 8031BC98 003178F8 42 00 FF 5C */ bdnz lbl_8031BBF4
+/* 8031BC9C 003178FC 38 00 00 00 */ li r0, 0
+/* 8031BCA0 00317900 90 04 00 00 */ stw r0, 0(r4)
+/* 8031BCA4 00317904 90 04 00 04 */ stw r0, 4(r4)
+/* 8031BCA8 00317908 90 04 00 08 */ stw r0, 8(r4)
+/* 8031BCAC 0031790C 90 04 00 0C */ stw r0, 0xc(r4)
+/* 8031BCB0 00317910 90 04 00 10 */ stw r0, 0x10(r4)
+/* 8031BCB4 00317914 90 04 00 14 */ stw r0, 0x14(r4)
+/* 8031BCB8 00317918 90 04 00 18 */ stw r0, 0x18(r4)
+/* 8031BCBC 0031791C 90 04 00 1C */ stw r0, 0x1c(r4)
+/* 8031BCC0 00317920 90 04 00 20 */ stw r0, 0x20(r4)
+/* 8031BCC4 00317924 90 04 00 24 */ stw r0, 0x24(r4)
+/* 8031BCC8 00317928 4E 80 00 20 */ blr
+
+.global dCommon_getLastDeviceErrorFromDisk
+dCommon_getLastDeviceErrorFromDisk:
+/* 8031BCCC 0031792C 94 21 FF F0 */ stwu r1, -0x10(r1)
+/* 8031BCD0 00317930 7C 08 02 A6 */ mflr r0
+/* 8031BCD4 00317934 90 01 00 14 */ stw r0, 0x14(r1)
+/* 8031BCD8 00317938 4B FF EE A5 */ bl VFSysPDMDisk2HandleIdx
+/* 8031BCDC 0031793C 28 03 00 1A */ cmplwi r3, 0x1a
+/* 8031BCE0 00317940 40 80 00 18 */ bge lbl_8031BCF8
+/* 8031BCE4 00317944 1C 03 00 14 */ mulli r0, r3, 0x14
+/* 8031BCE8 00317948 3C 60 80 61 */ lis r3, lbl_8060F848@ha
+/* 8031BCEC 0031794C 38 63 F8 48 */ addi r3, r3, lbl_8060F848@l
+/* 8031BCF0 00317950 7C 63 02 14 */ add r3, r3, r0
+/* 8031BCF4 00317954 48 00 00 08 */ b lbl_8031BCFC
+lbl_8031BCF8:
+/* 8031BCF8 00317958 38 60 00 00 */ li r3, 0
+lbl_8031BCFC:
+/* 8031BCFC 0031795C 2C 03 00 00 */ cmpwi r3, 0
+/* 8031BD00 00317960 41 82 00 0C */ beq lbl_8031BD0C
+/* 8031BD04 00317964 80 63 00 04 */ lwz r3, 4(r3)
+/* 8031BD08 00317968 48 00 00 08 */ b lbl_8031BD10
+lbl_8031BD0C:
+/* 8031BD0C 0031796C 38 60 00 00 */ li r3, 0
+lbl_8031BD10:
+/* 8031BD10 00317970 80 01 00 14 */ lwz r0, 0x14(r1)
+/* 8031BD14 00317974 7C 08 03 A6 */ mtlr r0
+/* 8031BD18 00317978 38 21 00 10 */ addi r1, r1, 0x10
+/* 8031BD1C 0031797C 4E 80 00 20 */ blr
+
+.global dCommon_setLastDeviceErrorToDisk
+dCommon_setLastDeviceErrorToDisk:
+/* 8031BD20 00317980 94 21 FF F0 */ stwu r1, -0x10(r1)
+/* 8031BD24 00317984 7C 08 02 A6 */ mflr r0
+/* 8031BD28 00317988 90 01 00 14 */ stw r0, 0x14(r1)
+/* 8031BD2C 0031798C 93 E1 00 0C */ stw r31, 0xc(r1)
+/* 8031BD30 00317990 7C 9F 23 78 */ mr r31, r4
+/* 8031BD34 00317994 4B FF EE 49 */ bl VFSysPDMDisk2HandleIdx
+/* 8031BD38 00317998 28 03 00 1A */ cmplwi r3, 0x1a
+/* 8031BD3C 0031799C 40 80 00 18 */ bge lbl_8031BD54
+/* 8031BD40 003179A0 1C 03 00 14 */ mulli r0, r3, 0x14
+/* 8031BD44 003179A4 3C 60 80 61 */ lis r3, lbl_8060F848@ha
+/* 8031BD48 003179A8 38 63 F8 48 */ addi r3, r3, lbl_8060F848@l
+/* 8031BD4C 003179AC 7C 63 02 14 */ add r3, r3, r0
+/* 8031BD50 003179B0 48 00 00 08 */ b lbl_8031BD58
+lbl_8031BD54:
+/* 8031BD54 003179B4 38 60 00 00 */ li r3, 0
+lbl_8031BD58:
+/* 8031BD58 003179B8 2C 03 00 00 */ cmpwi r3, 0
+/* 8031BD5C 003179BC 41 82 00 08 */ beq lbl_8031BD64
+/* 8031BD60 003179C0 93 E3 00 04 */ stw r31, 4(r3)
+lbl_8031BD64:
+/* 8031BD64 003179C4 80 01 00 14 */ lwz r0, 0x14(r1)
+/* 8031BD68 003179C8 83 E1 00 0C */ lwz r31, 0xc(r1)
+/* 8031BD6C 003179CC 7C 08 03 A6 */ mtlr r0
+/* 8031BD70 003179D0 38 21 00 10 */ addi r1, r1, 0x10
+/* 8031BD74 003179D4 4E 80 00 20 */ blr
+
+.global dCommon_setLastDeviceErrorToDisk2
+dCommon_setLastDeviceErrorToDisk2:
+/* 8031BD78 003179D8 2C 03 00 00 */ cmpwi r3, 0
+/* 8031BD7C 003179DC 4D 80 00 20 */ bltlr
+/* 8031BD80 003179E0 2C 03 00 1A */ cmpwi r3, 0x1a
+/* 8031BD84 003179E4 4C 80 00 20 */ bgelr
+/* 8031BD88 003179E8 1C 03 00 14 */ mulli r0, r3, 0x14
+/* 8031BD8C 003179EC 3C 60 80 61 */ lis r3, lbl_8060F848@ha
+/* 8031BD90 003179F0 38 63 F8 48 */ addi r3, r3, lbl_8060F848@l
+/* 8031BD94 003179F4 7C 63 02 14 */ add r3, r3, r0
+/* 8031BD98 003179F8 90 83 00 04 */ stw r4, 4(r3)
+/* 8031BD9C 003179FC 4E 80 00 20 */ blr
+
+.global dCommon_FlushFromVol
+dCommon_FlushFromVol:
+/* 8031BDA0 00317A00 94 21 FF F0 */ stwu r1, -0x10(r1)
+/* 8031BDA4 00317A04 7C 08 02 A6 */ mflr r0
+/* 8031BDA8 00317A08 90 01 00 14 */ stw r0, 0x14(r1)
+/* 8031BDAC 00317A0C 93 E1 00 0C */ stw r31, 0xc(r1)
+/* 8031BDB0 00317A10 93 C1 00 08 */ stw r30, 8(r1)
+/* 8031BDB4 00317A14 7C 9E 23 78 */ mr r30, r4
+/* 8031BDB8 00317A18 4B FF ED 51 */ bl VFSysVol2HandleP
+/* 8031BDBC 00317A1C 2C 03 00 00 */ cmpwi r3, 0
+/* 8031BDC0 00317A20 3B E0 FF FF */ li r31, -1
+/* 8031BDC4 00317A24 41 82 00 3C */ beq lbl_8031BE00
+/* 8031BDC8 00317A28 80 83 00 00 */ lwz r4, 0(r3)
+/* 8031BDCC 00317A2C 2C 04 00 00 */ cmpwi r4, 0
+/* 8031BDD0 00317A30 41 82 00 30 */ beq lbl_8031BE00
+/* 8031BDD4 00317A34 80 04 00 08 */ lwz r0, 8(r4)
+/* 8031BDD8 00317A38 2C 00 00 00 */ cmpwi r0, 0
+/* 8031BDDC 00317A3C 40 82 00 20 */ bne lbl_8031BDFC
+/* 8031BDE0 00317A40 4B FF EC C9 */ bl VFSysHandleP2Idx
+/* 8031BDE4 00317A44 2C 03 FF FF */ cmpwi r3, -1
+/* 8031BDE8 00317A48 41 82 00 18 */ beq lbl_8031BE00
+/* 8031BDEC 00317A4C 7F C4 F3 78 */ mr r4, r30
+/* 8031BDF0 00317A50 48 00 00 2D */ bl func_8031BE1C
+/* 8031BDF4 00317A54 7C 7F 1B 78 */ mr r31, r3
+/* 8031BDF8 00317A58 48 00 00 08 */ b lbl_8031BE00
+lbl_8031BDFC:
+/* 8031BDFC 00317A5C 3B E0 00 00 */ li r31, 0
+lbl_8031BE00:
+/* 8031BE00 00317A60 7F E3 FB 78 */ mr r3, r31
+/* 8031BE04 00317A64 83 E1 00 0C */ lwz r31, 0xc(r1)
+/* 8031BE08 00317A68 83 C1 00 08 */ lwz r30, 8(r1)
+/* 8031BE0C 00317A6C 80 01 00 14 */ lwz r0, 0x14(r1)
+/* 8031BE10 00317A70 7C 08 03 A6 */ mtlr r0
+/* 8031BE14 00317A74 38 21 00 10 */ addi r1, r1, 0x10
+/* 8031BE18 00317A78 4E 80 00 20 */ blr
|