1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
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 VFi_NandFlushNANDFromHandleIdx
/* 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
|