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
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
207
208
209
210
211
212
213
214
215
|
.include "macros.inc"
.section .text, "ax" # 0x80006980 - 0x803E1E60
.global Get__Q34nw4r3lyt6TexMapCFP9_GXTexObj
Get__Q34nw4r3lyt6TexMapCFP9_GXTexObj:
/* 8038D388 00388FE8 94 21 FF E0 */ stwu r1, -0x20(r1)
/* 8038D38C 00388FEC 7C 08 02 A6 */ mflr r0
/* 8038D390 00388FF0 81 43 00 18 */ lwz r10, 0x18(r3)
/* 8038D394 00388FF4 90 01 00 24 */ stw r0, 0x24(r1)
/* 8038D398 00388FF8 55 47 27 3E */ srwi r7, r10, 0x1c
/* 8038D39C 00388FFC 93 E1 00 1C */ stw r31, 0x1c(r1)
/* 8038D3A0 00389000 38 07 FF F8 */ addi r0, r7, -8
/* 8038D3A4 00389004 28 00 00 02 */ cmplwi r0, 2
/* 8038D3A8 00389008 7C 9F 23 78 */ mr r31, r4
/* 8038D3AC 0038900C 93 C1 00 18 */ stw r30, 0x18(r1)
/* 8038D3B0 00389010 7C 7E 1B 78 */ mr r30, r3
/* 8038D3B4 00389014 41 81 00 3C */ bgt lbl_8038D3F0
/* 8038D3B8 00389018 7F E3 FB 78 */ mr r3, r31
/* 8038D3BC 0038901C 4B EF 56 9D */ bl GXGetTexObjTlut
/* 8038D3C0 00389020 80 1E 00 18 */ lwz r0, 0x18(r30)
/* 8038D3C4 00389024 90 61 00 08 */ stw r3, 8(r1)
/* 8038D3C8 00389028 7F E3 FB 78 */ mr r3, r31
/* 8038D3CC 0038902C 80 9E 00 00 */ lwz r4, 0(r30)
/* 8038D3D0 00389030 54 07 27 3E */ srwi r7, r0, 0x1c
/* 8038D3D4 00389034 A0 BE 00 08 */ lhz r5, 8(r30)
/* 8038D3D8 00389038 54 08 3F BE */ rlwinm r8, r0, 7, 0x1e, 0x1f
/* 8038D3DC 0038903C A0 DE 00 0A */ lhz r6, 0xa(r30)
/* 8038D3E0 00389040 54 09 4F BE */ rlwinm r9, r0, 9, 0x1e, 0x1f
/* 8038D3E4 00389044 54 0A 2F FE */ rlwinm r10, r0, 5, 0x1f, 0x1f
/* 8038D3E8 00389048 4B EF 54 F5 */ bl GXInitTexObjCI
/* 8038D3EC 0038904C 48 00 00 24 */ b lbl_8038D410
lbl_8038D3F0:
/* 8038D3F0 00389050 80 9E 00 00 */ lwz r4, 0(r30)
/* 8038D3F4 00389054 7F E3 FB 78 */ mr r3, r31
/* 8038D3F8 00389058 A0 BE 00 08 */ lhz r5, 8(r30)
/* 8038D3FC 0038905C 55 48 3F BE */ rlwinm r8, r10, 7, 0x1e, 0x1f
/* 8038D400 00389060 55 49 4F BE */ rlwinm r9, r10, 9, 0x1e, 0x1f
/* 8038D404 00389064 A0 DE 00 0A */ lhz r6, 0xa(r30)
/* 8038D408 00389068 55 4A 2F FE */ rlwinm r10, r10, 5, 0x1f, 0x1f
/* 8038D40C 0038906C 4B EF 52 C5 */ bl GXInitTexObj
lbl_8038D410:
/* 8038D410 00389070 A0 9E 00 14 */ lhz r4, 0x14(r30)
/* 8038D414 00389074 3C A0 43 30 */ lis r5, 0x4330
/* 8038D418 00389078 80 1E 00 18 */ lwz r0, 0x18(r30)
/* 8038D41C 0038907C 7F E3 FB 78 */ mr r3, r31
/* 8038D420 00389080 90 81 00 14 */ stw r4, 0x14(r1)
/* 8038D424 00389084 C8 62 A8 C8 */ lfd f3, lbl_80642EC8-_SDA2_BASE_(r2)
/* 8038D428 00389088 54 04 67 7E */ rlwinm r4, r0, 0xc, 0x1d, 0x1f
/* 8038D42C 0038908C 90 A1 00 10 */ stw r5, 0x10(r1)
/* 8038D430 00389090 54 05 7F 7E */ rlwinm r5, r0, 0xf, 0x1d, 0x1f
/* 8038D434 00389094 C0 02 A8 C0 */ lfs f0, lbl_80642EC0-_SDA2_BASE_(r2)
/* 8038D438 00389098 54 06 87 FE */ rlwinm r6, r0, 0x10, 0x1f, 0x1f
/* 8038D43C 0038909C C8 21 00 10 */ lfd f1, 0x10(r1)
/* 8038D440 003890A0 54 07 8F FE */ rlwinm r7, r0, 0x11, 0x1f, 0x1f
/* 8038D444 003890A4 C0 5E 00 10 */ lfs f2, 0x10(r30)
/* 8038D448 003890A8 54 08 9F BE */ rlwinm r8, r0, 0x13, 0x1e, 0x1f
/* 8038D44C 003890AC EC 61 18 28 */ fsubs f3, f1, f3
/* 8038D450 003890B0 C0 3E 00 0C */ lfs f1, 0xc(r30)
/* 8038D454 003890B4 EC 63 00 32 */ fmuls f3, f3, f0
/* 8038D458 003890B8 4B EF 54 CD */ bl GXInitTexObjLOD
/* 8038D45C 003890BC 80 01 00 24 */ lwz r0, 0x24(r1)
/* 8038D460 003890C0 83 E1 00 1C */ lwz r31, 0x1c(r1)
/* 8038D464 003890C4 83 C1 00 18 */ lwz r30, 0x18(r1)
/* 8038D468 003890C8 7C 08 03 A6 */ mtlr r0
/* 8038D46C 003890CC 38 21 00 20 */ addi r1, r1, 0x20
/* 8038D470 003890D0 4E 80 00 20 */ blr
.global Get__Q34nw4r3lyt6TexMapCFP10_GXTlutObj
Get__Q34nw4r3lyt6TexMapCFP10_GXTlutObj:
/* 8038D474 003890D4 7C 65 1B 78 */ mr r5, r3
/* 8038D478 003890D8 7C 83 23 78 */ mr r3, r4
/* 8038D47C 003890DC 80 05 00 18 */ lwz r0, 0x18(r5)
/* 8038D480 003890E0 80 85 00 04 */ lwz r4, 4(r5)
/* 8038D484 003890E4 A0 C5 00 16 */ lhz r6, 0x16(r5)
/* 8038D488 003890E8 54 05 AF BE */ rlwinm r5, r0, 0x15, 0x1e, 0x1f
/* 8038D48C 003890EC 4B EF 57 8C */ b GXInitTlutObj
.global Set__Q34nw4r3lyt6TexMapFP10TPLPaletteUl
Set__Q34nw4r3lyt6TexMapFP10TPLPaletteUl:
/* 8038D490 003890F0 94 21 FF E0 */ stwu r1, -0x20(r1)
/* 8038D494 003890F4 7C 08 02 A6 */ mflr r0
/* 8038D498 003890F8 90 01 00 24 */ stw r0, 0x24(r1)
/* 8038D49C 003890FC 3C 00 80 00 */ lis r0, 0x8000
/* 8038D4A0 00389100 93 E1 00 1C */ stw r31, 0x1c(r1)
/* 8038D4A4 00389104 7C BF 2B 78 */ mr r31, r5
/* 8038D4A8 00389108 93 C1 00 18 */ stw r30, 0x18(r1)
/* 8038D4AC 0038910C 7C 9E 23 78 */ mr r30, r4
/* 8038D4B0 00389110 93 A1 00 14 */ stw r29, 0x14(r1)
/* 8038D4B4 00389114 7C 7D 1B 78 */ mr r29, r3
/* 8038D4B8 00389118 80 C4 00 08 */ lwz r6, 8(r4)
/* 8038D4BC 0038911C 7C 06 00 40 */ cmplw r6, r0
/* 8038D4C0 00389120 40 80 00 0C */ bge lbl_8038D4CC
/* 8038D4C4 00389124 7F C3 F3 78 */ mr r3, r30
/* 8038D4C8 00389128 4B F0 E4 51 */ bl TPLBind
lbl_8038D4CC:
/* 8038D4CC 0038912C 7F C3 F3 78 */ mr r3, r30
/* 8038D4D0 00389130 7F E4 FB 78 */ mr r4, r31
/* 8038D4D4 00389134 4B F0 E5 59 */ bl TPLGet
/* 8038D4D8 00389138 7C 7F 1B 78 */ mr r31, r3
/* 8038D4DC 0038913C 7F A3 EB 78 */ mr r3, r29
/* 8038D4E0 00389140 7F E4 FB 78 */ mr r4, r31
/* 8038D4E4 00389144 48 00 00 95 */ bl SetNoWrap__Q34nw4r3lyt6TexMapFPC13TPLDescriptor
/* 8038D4E8 00389148 80 7F 00 00 */ lwz r3, 0(r31)
/* 8038D4EC 0038914C 80 1D 00 18 */ lwz r0, 0x18(r29)
/* 8038D4F0 00389150 80 83 00 0C */ lwz r4, 0xc(r3)
/* 8038D4F4 00389154 80 63 00 10 */ lwz r3, 0x10(r3)
/* 8038D4F8 00389158 50 80 C9 4C */ rlwimi r0, r4, 0x19, 5, 6
/* 8038D4FC 0038915C 50 60 B9 D0 */ rlwimi r0, r3, 0x17, 7, 8
/* 8038D500 00389160 90 1D 00 18 */ stw r0, 0x18(r29)
/* 8038D504 00389164 83 E1 00 1C */ lwz r31, 0x1c(r1)
/* 8038D508 00389168 83 C1 00 18 */ lwz r30, 0x18(r1)
/* 8038D50C 0038916C 83 A1 00 14 */ lwz r29, 0x14(r1)
/* 8038D510 00389170 80 01 00 24 */ lwz r0, 0x24(r1)
/* 8038D514 00389174 7C 08 03 A6 */ mtlr r0
/* 8038D518 00389178 38 21 00 20 */ addi r1, r1, 0x20
/* 8038D51C 0038917C 4E 80 00 20 */ blr
.global SetNoWrap__Q34nw4r3lyt6TexMapFRCQ34nw4r3lyt6TexMap
SetNoWrap__Q34nw4r3lyt6TexMapFRCQ34nw4r3lyt6TexMap:
/* 8038D520 00389180 80 A3 00 18 */ lwz r5, 0x18(r3)
/* 8038D524 00389184 80 04 00 18 */ lwz r0, 0x18(r4)
/* 8038D528 00389188 50 A0 01 4C */ rlwimi r0, r5, 0, 5, 6
/* 8038D52C 0038918C 81 24 00 00 */ lwz r9, 0(r4)
/* 8038D530 00389190 50 A0 01 D0 */ rlwimi r0, r5, 0, 7, 8
/* 8038D534 00389194 81 04 00 04 */ lwz r8, 4(r4)
/* 8038D538 00389198 A0 E4 00 08 */ lhz r7, 8(r4)
/* 8038D53C 0038919C A0 C4 00 0A */ lhz r6, 0xa(r4)
/* 8038D540 003891A0 C0 24 00 0C */ lfs f1, 0xc(r4)
/* 8038D544 003891A4 C0 04 00 10 */ lfs f0, 0x10(r4)
/* 8038D548 003891A8 A0 A4 00 14 */ lhz r5, 0x14(r4)
/* 8038D54C 003891AC A0 84 00 16 */ lhz r4, 0x16(r4)
/* 8038D550 003891B0 91 23 00 00 */ stw r9, 0(r3)
/* 8038D554 003891B4 91 03 00 04 */ stw r8, 4(r3)
/* 8038D558 003891B8 B0 E3 00 08 */ sth r7, 8(r3)
/* 8038D55C 003891BC B0 C3 00 0A */ sth r6, 0xa(r3)
/* 8038D560 003891C0 D0 23 00 0C */ stfs f1, 0xc(r3)
/* 8038D564 003891C4 D0 03 00 10 */ stfs f0, 0x10(r3)
/* 8038D568 003891C8 B0 A3 00 14 */ sth r5, 0x14(r3)
/* 8038D56C 003891CC B0 83 00 16 */ sth r4, 0x16(r3)
/* 8038D570 003891D0 90 03 00 18 */ stw r0, 0x18(r3)
/* 8038D574 003891D4 4E 80 00 20 */ blr
.global SetNoWrap__Q34nw4r3lyt6TexMapFPC13TPLDescriptor
SetNoWrap__Q34nw4r3lyt6TexMapFPC13TPLDescriptor:
/* 8038D578 003891D8 94 21 FF E0 */ stwu r1, -0x20(r1)
/* 8038D57C 003891DC 3C 00 43 30 */ lis r0, 0x4330
/* 8038D580 003891E0 80 E4 00 00 */ lwz r7, 0(r4)
/* 8038D584 003891E4 81 04 00 04 */ lwz r8, 4(r4)
/* 8038D588 003891E8 80 87 00 08 */ lwz r4, 8(r7)
/* 8038D58C 003891EC 80 C3 00 18 */ lwz r6, 0x18(r3)
/* 8038D590 003891F0 2C 08 00 00 */ cmpwi r8, 0
/* 8038D594 003891F4 90 83 00 00 */ stw r4, 0(r3)
/* 8038D598 003891F8 C8 62 A8 C8 */ lfd f3, lbl_80642EC8-_SDA2_BASE_(r2)
/* 8038D59C 003891FC A0 A7 00 00 */ lhz r5, 0(r7)
/* 8038D5A0 00389200 A0 87 00 02 */ lhz r4, 2(r7)
/* 8038D5A4 00389204 90 01 00 08 */ stw r0, 8(r1)
/* 8038D5A8 00389208 C0 02 A8 D0 */ lfs f0, lbl_80642ED0-_SDA2_BASE_(r2)
/* 8038D5AC 0038920C B0 83 00 08 */ sth r4, 8(r3)
/* 8038D5B0 00389210 B0 A3 00 0A */ sth r5, 0xa(r3)
/* 8038D5B4 00389214 80 87 00 04 */ lwz r4, 4(r7)
/* 8038D5B8 00389218 90 01 00 10 */ stw r0, 0x10(r1)
/* 8038D5BC 0038921C 50 86 E0 06 */ rlwimi r6, r4, 0x1c, 0, 3
/* 8038D5C0 00389220 90 C3 00 18 */ stw r6, 0x18(r3)
/* 8038D5C4 00389224 88 A7 00 21 */ lbz r5, 0x21(r7)
/* 8038D5C8 00389228 88 07 00 22 */ lbz r0, 0x22(r7)
/* 8038D5CC 0038922C 7C 85 00 50 */ subf r4, r5, r0
/* 8038D5D0 00389230 7C 00 28 50 */ subf r0, r0, r5
/* 8038D5D4 00389234 7C 80 03 78 */ or r0, r4, r0
/* 8038D5D8 00389238 50 06 E1 08 */ rlwimi r6, r0, 0x1c, 4, 4
/* 8038D5DC 0038923C 90 C3 00 18 */ stw r6, 0x18(r3)
/* 8038D5E0 00389240 80 07 00 14 */ lwz r0, 0x14(r7)
/* 8038D5E4 00389244 80 87 00 18 */ lwz r4, 0x18(r7)
/* 8038D5E8 00389248 50 06 A2 56 */ rlwimi r6, r0, 0x14, 9, 0xb
/* 8038D5EC 0038924C 50 86 8B 1C */ rlwimi r6, r4, 0x11, 0xc, 0xe
/* 8038D5F0 00389250 90 C3 00 18 */ stw r6, 0x18(r3)
/* 8038D5F4 00389254 88 87 00 22 */ lbz r4, 0x22(r7)
/* 8038D5F8 00389258 88 07 00 21 */ lbz r0, 0x21(r7)
/* 8038D5FC 0038925C 90 81 00 0C */ stw r4, 0xc(r1)
/* 8038D600 00389260 90 01 00 14 */ stw r0, 0x14(r1)
/* 8038D604 00389264 C8 41 00 08 */ lfd f2, 8(r1)
/* 8038D608 00389268 C8 21 00 10 */ lfd f1, 0x10(r1)
/* 8038D60C 0038926C EC 42 18 28 */ fsubs f2, f2, f3
/* 8038D610 00389270 EC 21 18 28 */ fsubs f1, f1, f3
/* 8038D614 00389274 D0 43 00 10 */ stfs f2, 0x10(r3)
/* 8038D618 00389278 D0 23 00 0C */ stfs f1, 0xc(r3)
/* 8038D61C 0038927C C0 27 00 1C */ lfs f1, 0x1c(r7)
/* 8038D620 00389280 EC 00 00 72 */ fmuls f0, f0, f1
/* 8038D624 00389284 FC 00 00 1E */ fctiwz f0, f0
/* 8038D628 00389288 D8 01 00 18 */ stfd f0, 0x18(r1)
/* 8038D62C 0038928C 80 01 00 1C */ lwz r0, 0x1c(r1)
/* 8038D630 00389290 B0 03 00 14 */ sth r0, 0x14(r3)
/* 8038D634 00389294 88 87 00 20 */ lbz r4, 0x20(r7)
/* 8038D638 00389298 7C 04 00 D0 */ neg r0, r4
/* 8038D63C 0038929C 7C 00 23 78 */ or r0, r0, r4
/* 8038D640 003892A0 50 06 84 20 */ rlwimi r6, r0, 0x10, 0x10, 0x10
/* 8038D644 003892A4 90 C3 00 18 */ stw r6, 0x18(r3)
/* 8038D648 003892A8 41 82 00 24 */ beq lbl_8038D66C
/* 8038D64C 003892AC 80 08 00 08 */ lwz r0, 8(r8)
/* 8038D650 003892B0 90 03 00 04 */ stw r0, 4(r3)
/* 8038D654 003892B4 80 08 00 04 */ lwz r0, 4(r8)
/* 8038D658 003892B8 50 06 5C E8 */ rlwimi r6, r0, 0xb, 0x13, 0x14
/* 8038D65C 003892BC 90 C3 00 18 */ stw r6, 0x18(r3)
/* 8038D660 003892C0 A0 08 00 00 */ lhz r0, 0(r8)
/* 8038D664 003892C4 B0 03 00 16 */ sth r0, 0x16(r3)
/* 8038D668 003892C8 48 00 00 18 */ b lbl_8038D680
lbl_8038D66C:
/* 8038D66C 003892CC 38 80 00 00 */ li r4, 0
/* 8038D670 003892D0 54 C0 05 64 */ rlwinm r0, r6, 0, 0x15, 0x12
/* 8038D674 003892D4 90 83 00 04 */ stw r4, 4(r3)
/* 8038D678 003892D8 90 03 00 18 */ stw r0, 0x18(r3)
/* 8038D67C 003892DC B0 83 00 16 */ sth r4, 0x16(r3)
lbl_8038D680:
/* 8038D680 003892E0 38 21 00 20 */ addi r1, r1, 0x20
/* 8038D684 003892E4 4E 80 00 20 */ blr
|