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
216
217
218
219
220
221
222
223
224
225
226
227
228
229
230
231
232
233
234
235
236
237
238
239
240
241
242
243
244
245
246
247
248
249
250
251
252
253
254
255
256
257
258
259
260
261
262
263
264
265
266
267
268
269
270
271
272
273
274
275
276
277
278
279
280
281
282
283
284
285
286
287
288
289
290
291
292
293
294
295
296
297
298
299
300
301
302
303
304
305
306
307
308
309
310
311
312
313
314
315
316
317
318
319
320
321
322
323
324
325
326
327
328
329
330
331
332
333
334
335
336
337
338
339
340
341
342
343
344
345
346
347
348
349
350
351
352
353
354
355
356
357
358
359
360
361
362
363
364
365
366
367
368
369
370
371
372
373
374
375
376
377
378
379
380
381
382
383
384
385
386
387
388
389
390
391
392
393
394
395
396
397
398
399
400
401
402
403
404
405
406
407
408
409
410
411
412
413
414
415
416
417
418
419
420
421
422
423
424
425
426
427
428
429
430
431
432
433
434
435
436
437
438
439
440
441
442
443
444
445
446
447
448
449
450
451
452
453
454
455
456
457
458
459
460
461
462
463
464
465
466
467
468
469
470
471
472
473
474
475
476
477
478
479
480
481
482
483
484
485
486
487
488
489
490
491
492
493
|
.include "macros.inc"
.section .text, "ax" # 0x80006980 - 0x803E1E60
.global GXSetTevOp
GXSetTevOp:
/* 80283B40 0027F7A0 2C 03 00 00 */ cmpwi r3, 0
/* 80283B44 0027F7A4 3C A0 80 43 */ lis r5, lbl_804358D0@ha
/* 80283B48 0027F7A8 38 A5 58 D0 */ addi r5, r5, lbl_804358D0@l
/* 80283B4C 0027F7AC 40 82 00 1C */ bne lbl_80283B68
/* 80283B50 0027F7B0 54 86 10 3A */ slwi r6, r4, 2
/* 80283B54 0027F7B4 38 85 00 00 */ addi r4, r5, 0
/* 80283B58 0027F7B8 38 05 00 28 */ addi r0, r5, 0x28
/* 80283B5C 0027F7BC 7D 04 32 14 */ add r8, r4, r6
/* 80283B60 0027F7C0 7D 20 32 14 */ add r9, r0, r6
/* 80283B64 0027F7C4 48 00 00 18 */ b lbl_80283B7C
lbl_80283B68:
/* 80283B68 0027F7C8 54 86 10 3A */ slwi r6, r4, 2
/* 80283B6C 0027F7CC 38 85 00 14 */ addi r4, r5, 0x14
/* 80283B70 0027F7D0 38 05 00 3C */ addi r0, r5, 0x3c
/* 80283B74 0027F7D4 7D 04 32 14 */ add r8, r4, r6
/* 80283B78 0027F7D8 7D 20 32 14 */ add r9, r0, r6
lbl_80283B7C:
/* 80283B7C 0027F7DC 80 E2 A0 D0 */ lwz r7, lbl_806426D0-_SDA2_BASE_(r2)
/* 80283B80 0027F7E0 54 60 10 3A */ slwi r0, r3, 2
/* 80283B84 0027F7E4 80 68 00 00 */ lwz r3, 0(r8)
/* 80283B88 0027F7E8 3C 80 CC 01 */ lis r4, 0xCC008000@ha
/* 80283B8C 0027F7EC 7C C7 02 14 */ add r6, r7, r0
/* 80283B90 0027F7F0 38 A0 00 61 */ li r5, 0x61
/* 80283B94 0027F7F4 81 06 01 80 */ lwz r8, 0x180(r6)
/* 80283B98 0027F7F8 38 00 00 00 */ li r0, 0
/* 80283B9C 0027F7FC 98 A4 80 00 */ stb r5, 0xCC008000@l(r4)
/* 80283BA0 0027F800 55 08 00 0E */ rlwinm r8, r8, 0, 0, 7
/* 80283BA4 0027F804 50 68 02 3E */ rlwimi r8, r3, 0, 8, 0x1f
/* 80283BA8 0027F808 91 04 80 00 */ stw r8, -0x8000(r4)
/* 80283BAC 0027F80C 91 06 01 80 */ stw r8, 0x180(r6)
/* 80283BB0 0027F810 81 06 01 C0 */ lwz r8, 0x1c0(r6)
/* 80283BB4 0027F814 80 69 00 00 */ lwz r3, 0(r9)
/* 80283BB8 0027F818 55 08 07 0E */ rlwinm r8, r8, 0, 0x1c, 7
/* 80283BBC 0027F81C 98 A4 80 00 */ stb r5, -0x8000(r4)
/* 80283BC0 0027F820 50 68 02 36 */ rlwimi r8, r3, 0, 8, 0x1b
/* 80283BC4 0027F824 91 04 80 00 */ stw r8, -0x8000(r4)
/* 80283BC8 0027F828 91 06 01 C0 */ stw r8, 0x1c0(r6)
/* 80283BCC 0027F82C B0 07 00 02 */ sth r0, 2(r7)
/* 80283BD0 0027F830 4E 80 00 20 */ blr
.global GXSetTevColorIn
GXSetTevColorIn:
/* 80283BD4 0027F834 81 62 A0 D0 */ lwz r11, lbl_806426D0-_SDA2_BASE_(r2)
/* 80283BD8 0027F838 54 60 10 3A */ slwi r0, r3, 2
/* 80283BDC 0027F83C 3C 60 CC 01 */ lis r3, 0xCC008000@ha
/* 80283BE0 0027F840 39 00 00 61 */ li r8, 0x61
/* 80283BE4 0027F844 7D 4B 02 14 */ add r10, r11, r0
/* 80283BE8 0027F848 38 00 00 00 */ li r0, 0
/* 80283BEC 0027F84C 81 2A 01 80 */ lwz r9, 0x180(r10)
/* 80283BF0 0027F850 50 89 64 26 */ rlwimi r9, r4, 0xc, 0x10, 0x13
/* 80283BF4 0027F854 50 A9 45 2E */ rlwimi r9, r5, 8, 0x14, 0x17
/* 80283BF8 0027F858 99 03 80 00 */ stb r8, 0xCC008000@l(r3)
/* 80283BFC 0027F85C 50 C9 26 36 */ rlwimi r9, r6, 4, 0x18, 0x1b
/* 80283C00 0027F860 50 E9 07 3E */ rlwimi r9, r7, 0, 0x1c, 0x1f
/* 80283C04 0027F864 91 23 80 00 */ stw r9, -0x8000(r3)
/* 80283C08 0027F868 91 2A 01 80 */ stw r9, 0x180(r10)
/* 80283C0C 0027F86C B0 0B 00 02 */ sth r0, 2(r11)
/* 80283C10 0027F870 4E 80 00 20 */ blr
.global GXSetTevAlphaIn
GXSetTevAlphaIn:
/* 80283C14 0027F874 81 62 A0 D0 */ lwz r11, lbl_806426D0-_SDA2_BASE_(r2)
/* 80283C18 0027F878 54 60 10 3A */ slwi r0, r3, 2
/* 80283C1C 0027F87C 3C 60 CC 01 */ lis r3, 0xCC008000@ha
/* 80283C20 0027F880 39 00 00 61 */ li r8, 0x61
/* 80283C24 0027F884 7D 4B 02 14 */ add r10, r11, r0
/* 80283C28 0027F888 38 00 00 00 */ li r0, 0
/* 80283C2C 0027F88C 81 2A 01 C0 */ lwz r9, 0x1c0(r10)
/* 80283C30 0027F890 50 89 6C 24 */ rlwimi r9, r4, 0xd, 0x10, 0x12
/* 80283C34 0027F894 50 A9 54 EA */ rlwimi r9, r5, 0xa, 0x13, 0x15
/* 80283C38 0027F898 99 03 80 00 */ stb r8, 0xCC008000@l(r3)
/* 80283C3C 0027F89C 50 C9 3D B0 */ rlwimi r9, r6, 7, 0x16, 0x18
/* 80283C40 0027F8A0 50 E9 26 76 */ rlwimi r9, r7, 4, 0x19, 0x1b
/* 80283C44 0027F8A4 91 23 80 00 */ stw r9, -0x8000(r3)
/* 80283C48 0027F8A8 91 2A 01 C0 */ stw r9, 0x1c0(r10)
/* 80283C4C 0027F8AC B0 0B 00 02 */ sth r0, 2(r11)
/* 80283C50 0027F8B0 4E 80 00 20 */ blr
.global GXSetTevColorOp
GXSetTevColorOp:
/* 80283C54 0027F8B4 81 42 A0 D0 */ lwz r10, lbl_806426D0-_SDA2_BASE_(r2)
/* 80283C58 0027F8B8 54 60 10 3A */ slwi r0, r3, 2
/* 80283C5C 0027F8BC 2C 04 00 01 */ cmpwi r4, 1
/* 80283C60 0027F8C0 7D 2A 02 14 */ add r9, r10, r0
/* 80283C64 0027F8C4 81 69 01 80 */ lwz r11, 0x180(r9)
/* 80283C68 0027F8C8 50 8B 93 5A */ rlwimi r11, r4, 0x12, 0xd, 0xd
/* 80283C6C 0027F8CC 41 81 00 10 */ bgt lbl_80283C7C
/* 80283C70 0027F8D0 50 CB A2 96 */ rlwimi r11, r6, 0x14, 0xa, 0xb
/* 80283C74 0027F8D4 50 AB 83 9E */ rlwimi r11, r5, 0x10, 0xe, 0xf
/* 80283C78 0027F8D8 48 00 00 0C */ b lbl_80283C84
lbl_80283C7C:
/* 80283C7C 0027F8DC 50 8B 9A 96 */ rlwimi r11, r4, 0x13, 0xa, 0xb
/* 80283C80 0027F8E0 65 6B 00 03 */ oris r11, r11, 3
lbl_80283C84:
/* 80283C84 0027F8E4 3C 60 CC 01 */ lis r3, 0xCC008000@ha
/* 80283C88 0027F8E8 38 00 00 61 */ li r0, 0x61
/* 80283C8C 0027F8EC 98 03 80 00 */ stb r0, 0xCC008000@l(r3)
/* 80283C90 0027F8F0 50 EB 9B 18 */ rlwimi r11, r7, 0x13, 0xc, 0xc
/* 80283C94 0027F8F4 51 0B B2 12 */ rlwimi r11, r8, 0x16, 8, 9
/* 80283C98 0027F8F8 38 00 00 00 */ li r0, 0
/* 80283C9C 0027F8FC 91 63 80 00 */ stw r11, -0x8000(r3)
/* 80283CA0 0027F900 91 69 01 80 */ stw r11, 0x180(r9)
/* 80283CA4 0027F904 B0 0A 00 02 */ sth r0, 2(r10)
/* 80283CA8 0027F908 4E 80 00 20 */ blr
.global GXSetTevAlphaOp
GXSetTevAlphaOp:
/* 80283CAC 0027F90C 81 42 A0 D0 */ lwz r10, lbl_806426D0-_SDA2_BASE_(r2)
/* 80283CB0 0027F910 54 60 10 3A */ slwi r0, r3, 2
/* 80283CB4 0027F914 2C 04 00 01 */ cmpwi r4, 1
/* 80283CB8 0027F918 7D 2A 02 14 */ add r9, r10, r0
/* 80283CBC 0027F91C 81 69 01 C0 */ lwz r11, 0x1c0(r9)
/* 80283CC0 0027F920 50 8B 93 5A */ rlwimi r11, r4, 0x12, 0xd, 0xd
/* 80283CC4 0027F924 41 81 00 10 */ bgt lbl_80283CD4
/* 80283CC8 0027F928 50 CB A2 96 */ rlwimi r11, r6, 0x14, 0xa, 0xb
/* 80283CCC 0027F92C 50 AB 83 9E */ rlwimi r11, r5, 0x10, 0xe, 0xf
/* 80283CD0 0027F930 48 00 00 0C */ b lbl_80283CDC
lbl_80283CD4:
/* 80283CD4 0027F934 50 8B 9A 96 */ rlwimi r11, r4, 0x13, 0xa, 0xb
/* 80283CD8 0027F938 65 6B 00 03 */ oris r11, r11, 3
lbl_80283CDC:
/* 80283CDC 0027F93C 3C 60 CC 01 */ lis r3, 0xCC008000@ha
/* 80283CE0 0027F940 38 00 00 61 */ li r0, 0x61
/* 80283CE4 0027F944 98 03 80 00 */ stb r0, 0xCC008000@l(r3)
/* 80283CE8 0027F948 50 EB 9B 18 */ rlwimi r11, r7, 0x13, 0xc, 0xc
/* 80283CEC 0027F94C 51 0B B2 12 */ rlwimi r11, r8, 0x16, 8, 9
/* 80283CF0 0027F950 38 00 00 00 */ li r0, 0
/* 80283CF4 0027F954 91 63 80 00 */ stw r11, -0x8000(r3)
/* 80283CF8 0027F958 91 69 01 C0 */ stw r11, 0x1c0(r9)
/* 80283CFC 0027F95C B0 0A 00 02 */ sth r0, 2(r10)
/* 80283D00 0027F960 4E 80 00 20 */ blr
.global GXSetTevColor
GXSetTevColor:
/* 80283D04 0027F964 54 63 08 3C */ slwi r3, r3, 1
/* 80283D08 0027F968 81 04 00 00 */ lwz r8, 0(r4)
/* 80283D0C 0027F96C 38 03 00 E0 */ addi r0, r3, 0xe0
/* 80283D10 0027F970 3C 80 CC 01 */ lis r4, 0xCC008000@ha
/* 80283D14 0027F974 54 07 C0 0E */ slwi r7, r0, 0x18
/* 80283D18 0027F978 38 A0 00 61 */ li r5, 0x61
/* 80283D1C 0027F97C 51 07 46 3E */ rlwimi r7, r8, 8, 0x18, 0x1f
/* 80283D20 0027F980 98 A4 80 00 */ stb r5, 0xCC008000@l(r4)
/* 80283D24 0027F984 51 07 63 26 */ rlwimi r7, r8, 0xc, 0xc, 0x13
/* 80283D28 0027F988 38 03 00 E1 */ addi r0, r3, 0xe1
/* 80283D2C 0027F98C 90 E4 80 00 */ stw r7, -0x8000(r4)
/* 80283D30 0027F990 54 06 C0 0E */ slwi r6, r0, 0x18
/* 80283D34 0027F994 51 06 C6 3E */ rlwimi r6, r8, 0x18, 0x18, 0x1f
/* 80283D38 0027F998 80 62 A0 D0 */ lwz r3, lbl_806426D0-_SDA2_BASE_(r2)
/* 80283D3C 0027F99C 98 A4 80 00 */ stb r5, -0x8000(r4)
/* 80283D40 0027F9A0 51 06 E3 26 */ rlwimi r6, r8, 0x1c, 0xc, 0x13
/* 80283D44 0027F9A4 38 00 00 00 */ li r0, 0
/* 80283D48 0027F9A8 90 C4 80 00 */ stw r6, -0x8000(r4)
/* 80283D4C 0027F9AC 98 A4 80 00 */ stb r5, -0x8000(r4)
/* 80283D50 0027F9B0 90 C4 80 00 */ stw r6, -0x8000(r4)
/* 80283D54 0027F9B4 98 A4 80 00 */ stb r5, -0x8000(r4)
/* 80283D58 0027F9B8 90 C4 80 00 */ stw r6, -0x8000(r4)
/* 80283D5C 0027F9BC B0 03 00 02 */ sth r0, 2(r3)
/* 80283D60 0027F9C0 4E 80 00 20 */ blr
.global GXSetTevColorS10
GXSetTevColorS10:
/* 80283D64 0027F9C4 54 63 08 3C */ slwi r3, r3, 1
/* 80283D68 0027F9C8 81 04 00 00 */ lwz r8, 0(r4)
/* 80283D6C 0027F9CC 38 03 00 E0 */ addi r0, r3, 0xe0
/* 80283D70 0027F9D0 3C A0 CC 01 */ lis r5, 0xCC008000@ha
/* 80283D74 0027F9D4 54 07 C0 0E */ slwi r7, r0, 0x18
/* 80283D78 0027F9D8 38 C0 00 61 */ li r6, 0x61
/* 80283D7C 0027F9DC 81 24 00 04 */ lwz r9, 4(r4)
/* 80283D80 0027F9E0 51 07 85 7E */ rlwimi r7, r8, 0x10, 0x15, 0x1f
/* 80283D84 0027F9E4 98 C5 80 00 */ stb r6, 0xCC008000@l(r5)
/* 80283D88 0027F9E8 38 03 00 E1 */ addi r0, r3, 0xe1
/* 80283D8C 0027F9EC 51 27 62 66 */ rlwimi r7, r9, 0xc, 9, 0x13
/* 80283D90 0027F9F0 80 62 A0 D0 */ lwz r3, lbl_806426D0-_SDA2_BASE_(r2)
/* 80283D94 0027F9F4 54 04 C0 0E */ slwi r4, r0, 0x18
/* 80283D98 0027F9F8 90 E5 80 00 */ stw r7, -0x8000(r5)
/* 80283D9C 0027F9FC 51 24 85 7E */ rlwimi r4, r9, 0x10, 0x15, 0x1f
/* 80283DA0 0027FA00 38 00 00 00 */ li r0, 0
/* 80283DA4 0027FA04 98 C5 80 00 */ stb r6, -0x8000(r5)
/* 80283DA8 0027FA08 51 04 62 66 */ rlwimi r4, r8, 0xc, 9, 0x13
/* 80283DAC 0027FA0C 90 85 80 00 */ stw r4, -0x8000(r5)
/* 80283DB0 0027FA10 98 C5 80 00 */ stb r6, -0x8000(r5)
/* 80283DB4 0027FA14 90 85 80 00 */ stw r4, -0x8000(r5)
/* 80283DB8 0027FA18 98 C5 80 00 */ stb r6, -0x8000(r5)
/* 80283DBC 0027FA1C 90 85 80 00 */ stw r4, -0x8000(r5)
/* 80283DC0 0027FA20 B0 03 00 02 */ sth r0, 2(r3)
/* 80283DC4 0027FA24 4E 80 00 20 */ blr
.global GXSetTevKColor
GXSetTevKColor:
/* 80283DC8 0027FA28 54 66 08 3C */ slwi r6, r3, 1
/* 80283DCC 0027FA2C 81 24 00 00 */ lwz r9, 0(r4)
/* 80283DD0 0027FA30 38 66 00 E0 */ addi r3, r6, 0xe0
/* 80283DD4 0027FA34 3C 80 CC 01 */ lis r4, 0xCC008000@ha
/* 80283DD8 0027FA38 54 68 C0 0E */ slwi r8, r3, 0x18
/* 80283DDC 0027FA3C 38 A0 00 61 */ li r5, 0x61
/* 80283DE0 0027FA40 51 28 46 3E */ rlwimi r8, r9, 8, 0x18, 0x1f
/* 80283DE4 0027FA44 98 A4 80 00 */ stb r5, 0xCC008000@l(r4)
/* 80283DE8 0027FA48 38 E0 00 08 */ li r7, 8
/* 80283DEC 0027FA4C 38 06 00 E1 */ addi r0, r6, 0xe1
/* 80283DF0 0027FA50 51 28 63 26 */ rlwimi r8, r9, 0xc, 0xc, 0x13
/* 80283DF4 0027FA54 80 62 A0 D0 */ lwz r3, lbl_806426D0-_SDA2_BASE_(r2)
/* 80283DF8 0027FA58 54 06 C0 0E */ slwi r6, r0, 0x18
/* 80283DFC 0027FA5C 38 00 00 00 */ li r0, 0
/* 80283E00 0027FA60 50 E8 A2 16 */ rlwimi r8, r7, 0x14, 8, 0xb
/* 80283E04 0027FA64 91 04 80 00 */ stw r8, -0x8000(r4)
/* 80283E08 0027FA68 51 26 C6 3E */ rlwimi r6, r9, 0x18, 0x18, 0x1f
/* 80283E0C 0027FA6C 51 26 E3 26 */ rlwimi r6, r9, 0x1c, 0xc, 0x13
/* 80283E10 0027FA70 98 A4 80 00 */ stb r5, -0x8000(r4)
/* 80283E14 0027FA74 50 E6 A2 16 */ rlwimi r6, r7, 0x14, 8, 0xb
/* 80283E18 0027FA78 90 C4 80 00 */ stw r6, -0x8000(r4)
/* 80283E1C 0027FA7C B0 03 00 02 */ sth r0, 2(r3)
/* 80283E20 0027FA80 4E 80 00 20 */ blr
.global GXSetTevKColorSel
GXSetTevKColorSel:
/* 80283E24 0027FA84 54 60 07 FF */ clrlwi. r0, r3, 0x1f
/* 80283E28 0027FA88 80 A2 A0 D0 */ lwz r5, lbl_806426D0-_SDA2_BASE_(r2)
/* 80283E2C 0027FA8C 54 60 08 3A */ rlwinm r0, r3, 1, 0, 0x1d
/* 80283E30 0027FA90 7C 65 02 14 */ add r3, r5, r0
/* 80283E34 0027FA94 41 82 00 14 */ beq lbl_80283E48
/* 80283E38 0027FA98 80 03 02 00 */ lwz r0, 0x200(r3)
/* 80283E3C 0027FA9C 50 80 73 62 */ rlwimi r0, r4, 0xe, 0xd, 0x11
/* 80283E40 0027FAA0 90 03 02 00 */ stw r0, 0x200(r3)
/* 80283E44 0027FAA4 48 00 00 10 */ b lbl_80283E54
lbl_80283E48:
/* 80283E48 0027FAA8 80 03 02 00 */ lwz r0, 0x200(r3)
/* 80283E4C 0027FAAC 50 80 25 F6 */ rlwimi r0, r4, 4, 0x17, 0x1b
/* 80283E50 0027FAB0 90 03 02 00 */ stw r0, 0x200(r3)
lbl_80283E54:
/* 80283E54 0027FAB4 3C 80 CC 01 */ lis r4, 0xCC008000@ha
/* 80283E58 0027FAB8 38 00 00 61 */ li r0, 0x61
/* 80283E5C 0027FABC 98 04 80 00 */ stb r0, 0xCC008000@l(r4)
/* 80283E60 0027FAC0 38 00 00 00 */ li r0, 0
/* 80283E64 0027FAC4 80 63 02 00 */ lwz r3, 0x200(r3)
/* 80283E68 0027FAC8 90 64 80 00 */ stw r3, -0x8000(r4)
/* 80283E6C 0027FACC B0 05 00 02 */ sth r0, 2(r5)
/* 80283E70 0027FAD0 4E 80 00 20 */ blr
.global GXSetTevKAlphaSel
GXSetTevKAlphaSel:
/* 80283E74 0027FAD4 54 60 07 FF */ clrlwi. r0, r3, 0x1f
/* 80283E78 0027FAD8 80 A2 A0 D0 */ lwz r5, lbl_806426D0-_SDA2_BASE_(r2)
/* 80283E7C 0027FADC 54 60 08 3A */ rlwinm r0, r3, 1, 0, 0x1d
/* 80283E80 0027FAE0 7C 65 02 14 */ add r3, r5, r0
/* 80283E84 0027FAE4 41 82 00 14 */ beq lbl_80283E98
/* 80283E88 0027FAE8 80 03 02 00 */ lwz r0, 0x200(r3)
/* 80283E8C 0027FAEC 50 80 9A 18 */ rlwimi r0, r4, 0x13, 8, 0xc
/* 80283E90 0027FAF0 90 03 02 00 */ stw r0, 0x200(r3)
/* 80283E94 0027FAF4 48 00 00 10 */ b lbl_80283EA4
lbl_80283E98:
/* 80283E98 0027FAF8 80 03 02 00 */ lwz r0, 0x200(r3)
/* 80283E9C 0027FAFC 50 80 4C AC */ rlwimi r0, r4, 9, 0x12, 0x16
/* 80283EA0 0027FB00 90 03 02 00 */ stw r0, 0x200(r3)
lbl_80283EA4:
/* 80283EA4 0027FB04 3C 80 CC 01 */ lis r4, 0xCC008000@ha
/* 80283EA8 0027FB08 38 00 00 61 */ li r0, 0x61
/* 80283EAC 0027FB0C 98 04 80 00 */ stb r0, 0xCC008000@l(r4)
/* 80283EB0 0027FB10 38 00 00 00 */ li r0, 0
/* 80283EB4 0027FB14 80 63 02 00 */ lwz r3, 0x200(r3)
/* 80283EB8 0027FB18 90 64 80 00 */ stw r3, -0x8000(r4)
/* 80283EBC 0027FB1C B0 05 00 02 */ sth r0, 2(r5)
/* 80283EC0 0027FB20 4E 80 00 20 */ blr
.global GXSetTevSwapMode
GXSetTevSwapMode:
/* 80283EC4 0027FB24 81 22 A0 D0 */ lwz r9, lbl_806426D0-_SDA2_BASE_(r2)
/* 80283EC8 0027FB28 54 60 10 3A */ slwi r0, r3, 2
/* 80283ECC 0027FB2C 3C C0 CC 01 */ lis r6, 0xCC008000@ha
/* 80283ED0 0027FB30 38 60 00 61 */ li r3, 0x61
/* 80283ED4 0027FB34 7D 09 02 14 */ add r8, r9, r0
/* 80283ED8 0027FB38 38 00 00 00 */ li r0, 0
/* 80283EDC 0027FB3C 80 E8 01 C0 */ lwz r7, 0x1c0(r8)
/* 80283EE0 0027FB40 50 87 07 BE */ rlwimi r7, r4, 0, 0x1e, 0x1f
/* 80283EE4 0027FB44 50 A7 17 3A */ rlwimi r7, r5, 2, 0x1c, 0x1d
/* 80283EE8 0027FB48 90 E8 01 C0 */ stw r7, 0x1c0(r8)
/* 80283EEC 0027FB4C 98 66 80 00 */ stb r3, 0xCC008000@l(r6)
/* 80283EF0 0027FB50 80 68 01 C0 */ lwz r3, 0x1c0(r8)
/* 80283EF4 0027FB54 90 66 80 00 */ stw r3, -0x8000(r6)
/* 80283EF8 0027FB58 B0 09 00 02 */ sth r0, 2(r9)
/* 80283EFC 0027FB5C 4E 80 00 20 */ blr
.global GXSetTevSwapModeTable
GXSetTevSwapModeTable:
/* 80283F00 0027FB60 94 21 FF F0 */ stwu r1, -0x10(r1)
/* 80283F04 0027FB64 54 6B 18 38 */ slwi r11, r3, 3
/* 80283F08 0027FB68 54 6C 08 3C */ slwi r12, r3, 1
/* 80283F0C 0027FB6C 3D 00 CC 01 */ lis r8, 0xCC008000@ha
/* 80283F10 0027FB70 93 E1 00 0C */ stw r31, 0xc(r1)
/* 80283F14 0027FB74 39 20 00 61 */ li r9, 0x61
/* 80283F18 0027FB78 38 6C 00 01 */ addi r3, r12, 1
/* 80283F1C 0027FB7C 38 00 00 00 */ li r0, 0
/* 80283F20 0027FB80 93 C1 00 08 */ stw r30, 8(r1)
/* 80283F24 0027FB84 83 C2 A0 D0 */ lwz r30, lbl_806426D0-_SDA2_BASE_(r2)
/* 80283F28 0027FB88 3B FE 02 00 */ addi r31, r30, 0x200
/* 80283F2C 0027FB8C 7D 5F 58 2E */ lwzx r10, r31, r11
/* 80283F30 0027FB90 50 8A 07 BE */ rlwimi r10, r4, 0, 0x1e, 0x1f
/* 80283F34 0027FB94 50 AA 17 3A */ rlwimi r10, r5, 2, 0x1c, 0x1d
/* 80283F38 0027FB98 54 64 10 3A */ slwi r4, r3, 2
/* 80283F3C 0027FB9C 7D 5F 59 2E */ stwx r10, r31, r11
/* 80283F40 0027FBA0 99 28 80 00 */ stb r9, 0xCC008000@l(r8)
/* 80283F44 0027FBA4 7C 7F 58 2E */ lwzx r3, r31, r11
/* 80283F48 0027FBA8 90 68 80 00 */ stw r3, -0x8000(r8)
/* 80283F4C 0027FBAC 7C 7F 20 2E */ lwzx r3, r31, r4
/* 80283F50 0027FBB0 50 C3 07 BE */ rlwimi r3, r6, 0, 0x1e, 0x1f
/* 80283F54 0027FBB4 50 E3 17 3A */ rlwimi r3, r7, 2, 0x1c, 0x1d
/* 80283F58 0027FBB8 7C 7F 21 2E */ stwx r3, r31, r4
/* 80283F5C 0027FBBC 99 28 80 00 */ stb r9, -0x8000(r8)
/* 80283F60 0027FBC0 7C 7F 20 2E */ lwzx r3, r31, r4
/* 80283F64 0027FBC4 90 68 80 00 */ stw r3, -0x8000(r8)
/* 80283F68 0027FBC8 B0 1E 00 02 */ sth r0, 2(r30)
/* 80283F6C 0027FBCC 83 E1 00 0C */ lwz r31, 0xc(r1)
/* 80283F70 0027FBD0 83 C1 00 08 */ lwz r30, 8(r1)
/* 80283F74 0027FBD4 38 21 00 10 */ addi r1, r1, 0x10
/* 80283F78 0027FBD8 4E 80 00 20 */ blr
.global GXSetAlphaCompare
GXSetAlphaCompare:
/* 80283F7C 0027FBDC 3D 00 CC 01 */ lis r8, 0xCC008000@ha
/* 80283F80 0027FBE0 38 00 00 61 */ li r0, 0x61
/* 80283F84 0027FBE4 98 08 80 00 */ stb r0, 0xCC008000@l(r8)
/* 80283F88 0027FBE8 3D 20 F3 00 */ lis r9, 0xf300
/* 80283F8C 0027FBEC 50 89 06 3E */ rlwimi r9, r4, 0, 0x18, 0x1f
/* 80283F90 0027FBF0 80 82 A0 D0 */ lwz r4, lbl_806426D0-_SDA2_BASE_(r2)
/* 80283F94 0027FBF4 50 E9 44 2E */ rlwimi r9, r7, 8, 0x10, 0x17
/* 80283F98 0027FBF8 38 00 00 00 */ li r0, 0
/* 80283F9C 0027FBFC 50 69 83 5E */ rlwimi r9, r3, 0x10, 0xd, 0xf
/* 80283FA0 0027FC00 50 C9 9A 98 */ rlwimi r9, r6, 0x13, 0xa, 0xc
/* 80283FA4 0027FC04 50 A9 B2 12 */ rlwimi r9, r5, 0x16, 8, 9
/* 80283FA8 0027FC08 91 28 80 00 */ stw r9, -0x8000(r8)
/* 80283FAC 0027FC0C B0 04 00 02 */ sth r0, 2(r4)
/* 80283FB0 0027FC10 4E 80 00 20 */ blr
.global GXSetZTexture
GXSetZTexture:
/* 80283FB4 0027FC14 2C 04 00 13 */ cmpwi r4, 0x13
/* 80283FB8 0027FC18 38 E0 00 00 */ li r7, 0
/* 80283FBC 0027FC1C 38 00 00 F4 */ li r0, 0xf4
/* 80283FC0 0027FC20 50 A7 02 3E */ rlwimi r7, r5, 0, 8, 0x1f
/* 80283FC4 0027FC24 50 07 C0 0E */ rlwimi r7, r0, 0x18, 0, 7
/* 80283FC8 0027FC28 41 82 00 28 */ beq lbl_80283FF0
/* 80283FCC 0027FC2C 40 80 00 10 */ bge lbl_80283FDC
/* 80283FD0 0027FC30 2C 04 00 11 */ cmpwi r4, 0x11
/* 80283FD4 0027FC34 41 82 00 14 */ beq lbl_80283FE8
/* 80283FD8 0027FC38 48 00 00 28 */ b lbl_80284000
lbl_80283FDC:
/* 80283FDC 0027FC3C 2C 04 00 16 */ cmpwi r4, 0x16
/* 80283FE0 0027FC40 41 82 00 18 */ beq lbl_80283FF8
/* 80283FE4 0027FC44 48 00 00 1C */ b lbl_80284000
lbl_80283FE8:
/* 80283FE8 0027FC48 38 A0 00 00 */ li r5, 0
/* 80283FEC 0027FC4C 48 00 00 18 */ b lbl_80284004
lbl_80283FF0:
/* 80283FF0 0027FC50 38 A0 00 01 */ li r5, 1
/* 80283FF4 0027FC54 48 00 00 10 */ b lbl_80284004
lbl_80283FF8:
/* 80283FF8 0027FC58 38 A0 00 02 */ li r5, 2
/* 80283FFC 0027FC5C 48 00 00 08 */ b lbl_80284004
lbl_80284000:
/* 80284000 0027FC60 38 A0 00 02 */ li r5, 2
lbl_80284004:
/* 80284004 0027FC64 3C 80 CC 01 */ lis r4, 0xCC008000@ha
/* 80284008 0027FC68 38 00 00 61 */ li r0, 0x61
/* 8028400C 0027FC6C 98 04 80 00 */ stb r0, 0xCC008000@l(r4)
/* 80284010 0027FC70 38 C0 00 00 */ li r6, 0
/* 80284014 0027FC74 50 A6 07 BE */ rlwimi r6, r5, 0, 0x1e, 0x1f
/* 80284018 0027FC78 38 A0 00 F5 */ li r5, 0xf5
/* 8028401C 0027FC7C 90 E4 80 00 */ stw r7, -0x8000(r4)
/* 80284020 0027FC80 50 66 17 3A */ rlwimi r6, r3, 2, 0x1c, 0x1d
/* 80284024 0027FC84 50 A6 C0 0E */ rlwimi r6, r5, 0x18, 0, 7
/* 80284028 0027FC88 80 62 A0 D0 */ lwz r3, lbl_806426D0-_SDA2_BASE_(r2)
/* 8028402C 0027FC8C 98 04 80 00 */ stb r0, -0x8000(r4)
/* 80284030 0027FC90 38 00 00 00 */ li r0, 0
/* 80284034 0027FC94 90 C4 80 00 */ stw r6, -0x8000(r4)
/* 80284038 0027FC98 B0 03 00 02 */ sth r0, 2(r3)
/* 8028403C 0027FC9C 4E 80 00 20 */ blr
.global GXSetTevOrder
GXSetTevOrder:
/* 80284040 0027FCA0 54 AB 06 2C */ rlwinm r11, r5, 0, 0x18, 0x16
/* 80284044 0027FCA4 38 E0 00 08 */ li r7, 8
/* 80284048 0027FCA8 54 69 0F FE */ srwi r9, r3, 0x1f
/* 8028404C 0027FCAC 81 42 A0 D0 */ lwz r10, lbl_806426D0-_SDA2_BASE_(r2)
/* 80284050 0027FCB0 7C 07 58 10 */ subfc r0, r7, r11
/* 80284054 0027FCB4 54 68 10 3A */ slwi r8, r3, 2
/* 80284058 0027FCB8 7C 07 01 94 */ addze r0, r7
/* 8028405C 0027FCBC 7D 29 1A 14 */ add r9, r9, r3
/* 80284060 0027FCC0 7C EA 42 14 */ add r7, r10, r8
/* 80284064 0027FCC4 2C 04 00 08 */ cmpwi r4, 8
/* 80284068 0027FCC8 55 28 08 3A */ rlwinm r8, r9, 1, 0, 0x1d
/* 8028406C 0027FCCC 20 00 00 08 */ subfic r0, r0, 8
/* 80284070 0027FCD0 90 A7 05 A4 */ stw r5, 0x5a4(r7)
/* 80284074 0027FCD4 7C EA 42 14 */ add r7, r10, r8
/* 80284078 0027FCD8 7D 69 00 78 */ andc r9, r11, r0
/* 8028407C 0027FCDC 41 80 00 20 */ blt lbl_8028409C
/* 80284080 0027FCE0 38 00 00 01 */ li r0, 1
/* 80284084 0027FCE4 81 0A 05 E8 */ lwz r8, 0x5e8(r10)
/* 80284088 0027FCE8 7C 00 18 30 */ slw r0, r0, r3
/* 8028408C 0027FCEC 38 80 00 00 */ li r4, 0
/* 80284090 0027FCF0 7D 00 00 78 */ andc r0, r8, r0
/* 80284094 0027FCF4 90 0A 05 E8 */ stw r0, 0x5e8(r10)
/* 80284098 0027FCF8 48 00 00 18 */ b lbl_802840B0
lbl_8028409C:
/* 8028409C 0027FCFC 38 00 00 01 */ li r0, 1
/* 802840A0 0027FD00 81 0A 05 E8 */ lwz r8, 0x5e8(r10)
/* 802840A4 0027FD04 7C 00 18 30 */ slw r0, r0, r3
/* 802840A8 0027FD08 7D 00 03 78 */ or r0, r8, r0
/* 802840AC 0027FD0C 90 0A 05 E8 */ stw r0, 0x5e8(r10)
lbl_802840B0:
/* 802840B0 0027FD10 54 60 07 FF */ clrlwi. r0, r3, 0x1f
/* 802840B4 0027FD14 41 82 00 60 */ beq lbl_80284114
/* 802840B8 0027FD18 81 07 01 50 */ lwz r8, 0x150(r7)
/* 802840BC 0027FD1C 51 28 64 66 */ rlwimi r8, r9, 0xc, 0x11, 0x13
/* 802840C0 0027FD20 50 88 7B A0 */ rlwimi r8, r4, 0xf, 0xe, 0x10
/* 802840C4 0027FD24 2C 06 00 FF */ cmpwi r6, 0xff
/* 802840C8 0027FD28 91 07 01 50 */ stw r8, 0x150(r7)
/* 802840CC 0027FD2C 40 82 00 0C */ bne lbl_802840D8
/* 802840D0 0027FD30 38 00 00 07 */ li r0, 7
/* 802840D4 0027FD34 48 00 00 14 */ b lbl_802840E8
lbl_802840D8:
/* 802840D8 0027FD38 3C 60 80 43 */ lis r3, lbl_80435920@ha
/* 802840DC 0027FD3C 54 C0 10 3A */ slwi r0, r6, 2
/* 802840E0 0027FD40 38 63 59 20 */ addi r3, r3, lbl_80435920@l
/* 802840E4 0027FD44 7C 03 00 2E */ lwzx r0, r3, r0
lbl_802840E8:
/* 802840E8 0027FD48 50 08 9A 98 */ rlwimi r8, r0, 0x13, 0xa, 0xc
/* 802840EC 0027FD4C 2C 05 00 FF */ cmpwi r5, 0xff
/* 802840F0 0027FD50 91 07 01 50 */ stw r8, 0x150(r7)
/* 802840F4 0027FD54 38 60 00 00 */ li r3, 0
/* 802840F8 0027FD58 41 82 00 10 */ beq lbl_80284108
/* 802840FC 0027FD5C 54 A0 05 EF */ rlwinm. r0, r5, 0, 0x17, 0x17
/* 80284100 0027FD60 40 82 00 08 */ bne lbl_80284108
/* 80284104 0027FD64 38 60 00 01 */ li r3, 1
lbl_80284108:
/* 80284108 0027FD68 50 68 93 5A */ rlwimi r8, r3, 0x12, 0xd, 0xd
/* 8028410C 0027FD6C 91 07 01 50 */ stw r8, 0x150(r7)
/* 80284110 0027FD70 48 00 00 5C */ b lbl_8028416C
lbl_80284114:
/* 80284114 0027FD74 81 07 01 50 */ lwz r8, 0x150(r7)
/* 80284118 0027FD78 51 28 07 7E */ rlwimi r8, r9, 0, 0x1d, 0x1f
/* 8028411C 0027FD7C 50 88 1E B8 */ rlwimi r8, r4, 3, 0x1a, 0x1c
/* 80284120 0027FD80 2C 06 00 FF */ cmpwi r6, 0xff
/* 80284124 0027FD84 91 07 01 50 */ stw r8, 0x150(r7)
/* 80284128 0027FD88 40 82 00 0C */ bne lbl_80284134
/* 8028412C 0027FD8C 38 00 00 07 */ li r0, 7
/* 80284130 0027FD90 48 00 00 14 */ b lbl_80284144
lbl_80284134:
/* 80284134 0027FD94 3C 60 80 43 */ lis r3, lbl_80435920@ha
/* 80284138 0027FD98 54 C0 10 3A */ slwi r0, r6, 2
/* 8028413C 0027FD9C 38 63 59 20 */ addi r3, r3, lbl_80435920@l
/* 80284140 0027FDA0 7C 03 00 2E */ lwzx r0, r3, r0
lbl_80284144:
/* 80284144 0027FDA4 50 08 3D B0 */ rlwimi r8, r0, 7, 0x16, 0x18
/* 80284148 0027FDA8 2C 05 00 FF */ cmpwi r5, 0xff
/* 8028414C 0027FDAC 91 07 01 50 */ stw r8, 0x150(r7)
/* 80284150 0027FDB0 38 60 00 00 */ li r3, 0
/* 80284154 0027FDB4 41 82 00 10 */ beq lbl_80284164
/* 80284158 0027FDB8 54 A0 05 EF */ rlwinm. r0, r5, 0, 0x17, 0x17
/* 8028415C 0027FDBC 40 82 00 08 */ bne lbl_80284164
/* 80284160 0027FDC0 38 60 00 01 */ li r3, 1
lbl_80284164:
/* 80284164 0027FDC4 50 68 36 72 */ rlwimi r8, r3, 6, 0x19, 0x19
/* 80284168 0027FDC8 91 07 01 50 */ stw r8, 0x150(r7)
lbl_8028416C:
/* 8028416C 0027FDCC 3C 80 CC 01 */ lis r4, 0xCC008000@ha
/* 80284170 0027FDD0 38 00 00 61 */ li r0, 0x61
/* 80284174 0027FDD4 98 04 80 00 */ stb r0, 0xCC008000@l(r4)
/* 80284178 0027FDD8 38 00 00 00 */ li r0, 0
/* 8028417C 0027FDDC 80 A2 A0 D0 */ lwz r5, lbl_806426D0-_SDA2_BASE_(r2)
/* 80284180 0027FDE0 80 67 01 50 */ lwz r3, 0x150(r7)
/* 80284184 0027FDE4 90 64 80 00 */ stw r3, -0x8000(r4)
/* 80284188 0027FDE8 B0 05 00 02 */ sth r0, 2(r5)
/* 8028418C 0027FDEC 80 05 05 FC */ lwz r0, 0x5fc(r5)
/* 80284190 0027FDF0 60 00 00 01 */ ori r0, r0, 1
/* 80284194 0027FDF4 90 05 05 FC */ stw r0, 0x5fc(r5)
/* 80284198 0027FDF8 4E 80 00 20 */ blr
.global GXSetNumTevStages
GXSetNumTevStages:
/* 8028419C 0027FDFC 80 82 A0 D0 */ lwz r4, lbl_806426D0-_SDA2_BASE_(r2)
/* 802841A0 0027FE00 38 03 FF FF */ addi r0, r3, -1
/* 802841A4 0027FE04 80 64 02 54 */ lwz r3, 0x254(r4)
/* 802841A8 0027FE08 50 03 54 AA */ rlwimi r3, r0, 0xa, 0x12, 0x15
/* 802841AC 0027FE0C 90 64 02 54 */ stw r3, 0x254(r4)
/* 802841B0 0027FE10 80 04 05 FC */ lwz r0, 0x5fc(r4)
/* 802841B4 0027FE14 60 00 00 04 */ ori r0, r0, 4
/* 802841B8 0027FE18 90 04 05 FC */ stw r0, 0x5fc(r4)
/* 802841BC 0027FE1C 4E 80 00 20 */ blr
|