summaryrefslogtreecommitdiff
path: root/asm/SDK/GX/GXInit.s
blob: b4ec32a175077234827143c46392a4ca7d97be0e (plain)
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
494
495
496
497
498
499
500
501
502
503
504
505
506
507
508
509
510
511
512
513
514
515
516
517
518
519
520
521
522
523
524
525
526
527
528
529
530
531
532
533
534
535
536
537
538
539
540
541
542
543
544
545
546
547
548
549
550
551
552
553
554
555
556
557
558
559
560
561
562
563
564
565
566
567
568
569
570
571
572
573
574
575
576
577
578
579
580
581
582
583
584
585
586
587
588
589
590
591
592
593
594
595
596
597
598
599
600
601
602
603
604
605
606
607
608
609
610
611
612
613
614
615
616
617
618
619
620
621
622
623
624
625
626
627
628
629
630
631
632
633
634
635
636
637
638
639
640
641
642
643
644
645
646
647
648
649
650
651
652
653
654
655
656
657
658
659
660
661
662
663
664
665
666
667
668
669
670
671
672
673
674
675
676
677
678
679
680
681
682
683
684
685
686
687
688
689
690
691
692
693
694
695
696
697
698
699
700
701
702
703
704
705
706
707
708
709
710
711
712
713
714
715
716
717
718
719
720
721
722
723
724
725
726
727
728
729
730
731
732
733
734
735
736
737
738
739
740
741
742
743
744
745
746
747
748
749
750
751
752
753
754
755
756
757
758
759
760
761
762
763
764
765
766
767
768
769
770
771
772
773
774
775
776
777
778
779
780
781
782
783
784
785
786
787
788
789
790
791
792
793
794
795
796
797
798
799
800
801
802
803
804
805
806
807
808
809
810
811
812
813
814
815
816
817
818
819
820
821
822
823
824
825
826
827
828
829
830
831
832
833
834
835
836
837
838
839
840
841
842
843
844
845
846
847
848
849
850
851
852
853
854
855
856
857
858
859
860
861
862
863
864
865
866
867
868
869
870
871
872
873
874
875
876
877
878
879
880
881
882
883
884
885
886
887
888
889
890
891
892
893
894
895
896
897
898
899
900
901
902
903
904
905
906
907
908
909
910
911
912
913
914
915
916
917
918
919
920
921
922
923
924
925
926
927
928
929
930
931
932
933
934
935
936
937
938
939
940
941
942
943
944
945
946
947
948
949
950
951
952
953
954
955
956
957
958
959
960
961
962
963
964
965
966
967
968
969
970
971
972
973
974
975
976
977
978
979
980
981
982
983
984
985
986
987
988
989
990
991
992
993
994
995
996
997
998
999
1000
1001
1002
1003
1004
1005
1006
1007
1008
1009
1010
1011
1012
1013
1014
1015
1016
1017
1018
1019
1020
1021
1022
1023
1024
1025
1026
1027
1028
1029
1030
1031
1032
1033
1034
1035
1036
1037
1038
1039
1040
1041
1042
1043
1044
1045
1046
1047
1048
1049
1050
1051
1052
1053
1054
1055
1056
1057
1058
1059
1060
1061
1062
1063
1064
1065
1066
1067
1068
1069
1070
1071
1072
1073
1074
1075
1076
1077
1078
1079
1080
1081
1082
1083
1084
1085
1086
1087
1088
1089
1090
1091
1092
1093
1094
1095
1096
1097
1098
1099
1100
1101
1102
1103
1104
1105
1106
1107
1108
1109
1110
1111
1112
1113
1114
1115
1116
1117
1118
1119
1120
1121
1122
1123
1124
1125
1126
1127
1128
1129
1130
1131
1132
1133
1134
1135
1136
1137
1138
1139
1140
1141
1142
1143
1144
1145
1146
1147
1148
1149
1150
1151
1152
1153
1154
1155
1156
1157
1158
1159
1160
1161
1162
1163
1164
1165
1166
1167
1168
1169
1170
1171
1172
1173
1174
1175
1176
1177
1178
1179
1180
1181
1182
1183
1184
1185
1186
1187
1188
1189
1190
1191
1192
1193
1194
.include "macros.inc"

.section .text, "ax"  # 0x80006980 - 0x803E1E60

.global __GXDefaultTexRegionCallback
__GXDefaultTexRegionCallback:
/* 8027D624 00279284  94 21 FF E0 */	stwu r1, -0x20(r1)
/* 8027D628 00279288  7C 08 02 A6 */	mflr r0
/* 8027D62C 0027928C  90 01 00 24 */	stw r0, 0x24(r1)
/* 8027D630 00279290  93 E1 00 1C */	stw r31, 0x1c(r1)
/* 8027D634 00279294  93 C1 00 18 */	stw r30, 0x18(r1)
/* 8027D638 00279298  7C 9E 23 78 */	mr r30, r4
/* 8027D63C 0027929C  93 A1 00 14 */	stw r29, 0x14(r1)
/* 8027D640 002792A0  7C 7D 1B 78 */	mr r29, r3
/* 8027D644 002792A4  48 00 54 01 */	bl GXGetTexObjFmt
/* 8027D648 002792A8  7C 7F 1B 78 */	mr r31, r3
/* 8027D64C 002792AC  7F A3 EB 78 */	mr r3, r29
/* 8027D650 002792B0  48 00 53 FD */	bl GXGetTexObjMipMap
/* 8027D654 002792B4  57 C0 E8 04 */	slwi r0, r30, 0x1d
/* 8027D658 002792B8  57 C4 0F FE */	srwi r4, r30, 0x1f
/* 8027D65C 002792BC  7C 04 00 50 */	subf r0, r4, r0
/* 8027D660 002792C0  2C 1F 00 07 */	cmpwi r31, 7
/* 8027D664 002792C4  54 00 18 3E */	rotlwi r0, r0, 3
/* 8027D668 002792C8  7F C0 22 14 */	add r30, r0, r4
/* 8027D66C 002792CC  41 82 00 64 */	beq lbl_8027D6D0
/* 8027D670 002792D0  40 80 00 10 */	bge lbl_8027D680
/* 8027D674 002792D4  2C 1F 00 06 */	cmpwi r31, 6
/* 8027D678 002792D8  40 80 00 14 */	bge lbl_8027D68C
/* 8027D67C 002792DC  48 00 00 54 */	b lbl_8027D6D0
lbl_8027D680:
/* 8027D680 002792E0  2C 1F 00 0B */	cmpwi r31, 0xb
/* 8027D684 002792E4  40 80 00 4C */	bge lbl_8027D6D0
/* 8027D688 002792E8  48 00 00 34 */	b lbl_8027D6BC
lbl_8027D68C:
/* 8027D68C 002792EC  54 60 06 3F */	clrlwi. r0, r3, 0x18
/* 8027D690 002792F0  41 82 00 18 */	beq lbl_8027D6A8
/* 8027D694 002792F4  80 62 A0 D0 */	lwz r3, lbl_806426D0-_SDA2_BASE_(r2)
/* 8027D698 002792F8  57 C0 20 36 */	slwi r0, r30, 4
/* 8027D69C 002792FC  7C 63 02 14 */	add r3, r3, r0
/* 8027D6A0 00279300  38 63 03 58 */	addi r3, r3, 0x358
/* 8027D6A4 00279304  48 00 00 58 */	b lbl_8027D6FC
lbl_8027D6A8:
/* 8027D6A8 00279308  80 62 A0 D0 */	lwz r3, lbl_806426D0-_SDA2_BASE_(r2)
/* 8027D6AC 0027930C  57 C0 20 36 */	slwi r0, r30, 4
/* 8027D6B0 00279310  7C 63 02 14 */	add r3, r3, r0
/* 8027D6B4 00279314  38 63 02 D8 */	addi r3, r3, 0x2d8
/* 8027D6B8 00279318  48 00 00 44 */	b lbl_8027D6FC
lbl_8027D6BC:
/* 8027D6BC 0027931C  80 62 A0 D0 */	lwz r3, lbl_806426D0-_SDA2_BASE_(r2)
/* 8027D6C0 00279320  57 C0 20 36 */	slwi r0, r30, 4
/* 8027D6C4 00279324  7C 63 02 14 */	add r3, r3, r0
/* 8027D6C8 00279328  38 63 02 58 */	addi r3, r3, 0x258
/* 8027D6CC 0027932C  48 00 00 30 */	b lbl_8027D6FC
lbl_8027D6D0:
/* 8027D6D0 00279330  54 60 06 3F */	clrlwi. r0, r3, 0x18
/* 8027D6D4 00279334  41 82 00 18 */	beq lbl_8027D6EC
/* 8027D6D8 00279338  80 62 A0 D0 */	lwz r3, lbl_806426D0-_SDA2_BASE_(r2)
/* 8027D6DC 0027933C  57 C0 20 36 */	slwi r0, r30, 4
/* 8027D6E0 00279340  7C 63 02 14 */	add r3, r3, r0
/* 8027D6E4 00279344  38 63 02 D8 */	addi r3, r3, 0x2d8
/* 8027D6E8 00279348  48 00 00 14 */	b lbl_8027D6FC
lbl_8027D6EC:
/* 8027D6EC 0027934C  80 62 A0 D0 */	lwz r3, lbl_806426D0-_SDA2_BASE_(r2)
/* 8027D6F0 00279350  57 C0 20 36 */	slwi r0, r30, 4
/* 8027D6F4 00279354  7C 63 02 14 */	add r3, r3, r0
/* 8027D6F8 00279358  38 63 02 58 */	addi r3, r3, 0x258
lbl_8027D6FC:
/* 8027D6FC 0027935C  80 01 00 24 */	lwz r0, 0x24(r1)
/* 8027D700 00279360  83 E1 00 1C */	lwz r31, 0x1c(r1)
/* 8027D704 00279364  83 C1 00 18 */	lwz r30, 0x18(r1)
/* 8027D708 00279368  83 A1 00 14 */	lwz r29, 0x14(r1)
/* 8027D70C 0027936C  7C 08 03 A6 */	mtlr r0
/* 8027D710 00279370  38 21 00 20 */	addi r1, r1, 0x20
/* 8027D714 00279374  4E 80 00 20 */	blr

.global __GXDefaultTlutRegionCallback
__GXDefaultTlutRegionCallback:
/* 8027D718 00279378  28 03 00 14 */	cmplwi r3, 0x14
/* 8027D71C 0027937C  41 80 00 0C */	blt lbl_8027D728
/* 8027D720 00279380  38 60 00 00 */	li r3, 0
/* 8027D724 00279384  4E 80 00 20 */	blr
lbl_8027D728:
/* 8027D728 00279388  80 82 A0 D0 */	lwz r4, lbl_806426D0-_SDA2_BASE_(r2)
/* 8027D72C 0027938C  54 60 20 36 */	slwi r0, r3, 4
/* 8027D730 00279390  7C 64 02 14 */	add r3, r4, r0
/* 8027D734 00279394  38 63 03 D8 */	addi r3, r3, 0x3d8
/* 8027D738 00279398  4E 80 00 20 */	blr

.global __GXShutdown
__GXShutdown:
/* 8027D73C 0027939C  94 21 FF F0 */	stwu r1, -0x10(r1)
/* 8027D740 002793A0  7C 08 02 A6 */	mflr r0
/* 8027D744 002793A4  2C 03 00 00 */	cmpwi r3, 0
/* 8027D748 002793A8  90 01 00 14 */	stw r0, 0x14(r1)
/* 8027D74C 002793AC  93 E1 00 0C */	stw r31, 0xc(r1)
/* 8027D750 002793B0  40 82 00 D8 */	bne lbl_8027D828
/* 8027D754 002793B4  80 0D A9 B0 */	lwz r0, lbl_8063FC70-_SDA_BASE_(r13)
/* 8027D758 002793B8  2C 00 00 00 */	cmpwi r0, 0
/* 8027D75C 002793BC  40 82 00 48 */	bne lbl_8027D7A4
/* 8027D760 002793C0  80 AD A9 9C */	lwz r5, lbl_8063FC5C-_SDA_BASE_(r13)
/* 8027D764 002793C4  A0 85 00 4E */	lhz r4, 0x4e(r5)
lbl_8027D768:
/* 8027D768 002793C8  7C 80 23 78 */	mr r0, r4
/* 8027D76C 002793CC  A0 65 00 50 */	lhz r3, 0x50(r5)
/* 8027D770 002793D0  A0 85 00 4E */	lhz r4, 0x4e(r5)
/* 8027D774 002793D4  7C 04 00 40 */	cmplw r4, r0
/* 8027D778 002793D8  40 82 FF F0 */	bne lbl_8027D768
/* 8027D77C 002793DC  54 80 80 1E */	slwi r0, r4, 0x10
/* 8027D780 002793E0  7C 00 1B 78 */	or r0, r0, r3
/* 8027D784 002793E4  90 0D A9 A0 */	stw r0, lbl_8063FC60-_SDA_BASE_(r13)
/* 8027D788 002793E8  4B FF 50 31 */	bl OSGetTime
/* 8027D78C 002793EC  38 00 00 01 */	li r0, 1
/* 8027D790 002793F0  90 6D A9 A8 */	stw r3, lbl_8063FC68-_SDA_BASE_(r13)
/* 8027D794 002793F4  38 60 00 00 */	li r3, 0
/* 8027D798 002793F8  90 8D A9 AC */	stw r4, lbl_8063FC6C-_SDA_BASE_(r13)
/* 8027D79C 002793FC  90 0D A9 B0 */	stw r0, lbl_8063FC70-_SDA_BASE_(r13)
/* 8027D7A0 00279400  48 00 00 F4 */	b lbl_8027D894
lbl_8027D7A4:
/* 8027D7A4 00279404  4B FF 50 15 */	bl OSGetTime
/* 8027D7A8 00279408  80 AD A9 9C */	lwz r5, lbl_8063FC5C-_SDA_BASE_(r13)
/* 8027D7AC 0027940C  A0 E5 00 4E */	lhz r7, 0x4e(r5)
lbl_8027D7B0:
/* 8027D7B0 00279410  7C E0 3B 78 */	mr r0, r7
/* 8027D7B4 00279414  A1 45 00 50 */	lhz r10, 0x50(r5)
/* 8027D7B8 00279418  A0 E5 00 4E */	lhz r7, 0x4e(r5)
/* 8027D7BC 0027941C  7C 07 00 40 */	cmplw r7, r0
/* 8027D7C0 00279420  40 82 FF F0 */	bne lbl_8027D7B0
/* 8027D7C4 00279424  80 AD A9 AC */	lwz r5, lbl_8063FC6C-_SDA_BASE_(r13)
/* 8027D7C8 00279428  38 00 00 00 */	li r0, 0
/* 8027D7CC 0027942C  80 CD A9 A8 */	lwz r6, lbl_8063FC68-_SDA_BASE_(r13)
/* 8027D7D0 00279430  54 E9 80 1E */	slwi r9, r7, 0x10
/* 8027D7D4 00279434  7D 05 20 10 */	subfc r8, r5, r4
/* 8027D7D8 00279438  38 A0 00 0A */	li r5, 0xa
/* 8027D7DC 0027943C  7C E6 19 10 */	subfe r7, r6, r3
/* 8027D7E0 00279440  6C 06 80 00 */	xoris r6, r0, 0x8000
/* 8027D7E4 00279444  7C A5 40 10 */	subfc r5, r5, r8
/* 8027D7E8 00279448  6C E0 80 00 */	xoris r0, r7, 0x8000
/* 8027D7EC 0027944C  7C C6 01 10 */	subfe r6, r6, r0
/* 8027D7F0 00279450  7D 25 53 78 */	or r5, r9, r10
/* 8027D7F4 00279454  7C C0 01 10 */	subfe r6, r0, r0
/* 8027D7F8 00279458  7C C6 00 D1 */	neg. r6, r6
/* 8027D7FC 0027945C  41 82 00 0C */	beq lbl_8027D808
/* 8027D800 00279460  38 60 00 00 */	li r3, 0
/* 8027D804 00279464  48 00 00 90 */	b lbl_8027D894
lbl_8027D808:
/* 8027D808 00279468  80 0D A9 A0 */	lwz r0, lbl_8063FC60-_SDA_BASE_(r13)
/* 8027D80C 0027946C  7C 05 00 40 */	cmplw r5, r0
/* 8027D810 00279470  41 82 00 80 */	beq lbl_8027D890
/* 8027D814 00279474  90 6D A9 A8 */	stw r3, lbl_8063FC68-_SDA_BASE_(r13)
/* 8027D818 00279478  38 60 00 00 */	li r3, 0
/* 8027D81C 0027947C  90 AD A9 A0 */	stw r5, lbl_8063FC60-_SDA_BASE_(r13)
/* 8027D820 00279480  90 8D A9 AC */	stw r4, lbl_8063FC6C-_SDA_BASE_(r13)
/* 8027D824 00279484  48 00 00 70 */	b lbl_8027D894
lbl_8027D828:
/* 8027D828 00279488  38 60 00 00 */	li r3, 0
/* 8027D82C 0027948C  48 00 19 21 */	bl GXSetBreakPtCallback
/* 8027D830 00279490  38 60 00 00 */	li r3, 0
/* 8027D834 00279494  48 00 34 AD */	bl GXSetDrawSyncCallback
/* 8027D838 00279498  38 60 00 00 */	li r3, 0
/* 8027D83C 0027949C  48 00 35 6D */	bl GXSetDrawDoneCallback
/* 8027D840 002794A0  3B E0 00 00 */	li r31, 0
/* 8027D844 002794A4  3C 60 CC 01 */	lis r3, 0xCC008000@ha
/* 8027D848 002794A8  93 E3 80 00 */	stw r31, 0xCC008000@l(r3)
/* 8027D84C 002794AC  93 E3 80 00 */	stw r31, -0x8000(r3)
/* 8027D850 002794B0  93 E3 80 00 */	stw r31, -0x8000(r3)
/* 8027D854 002794B4  93 E3 80 00 */	stw r31, -0x8000(r3)
/* 8027D858 002794B8  93 E3 80 00 */	stw r31, -0x8000(r3)
/* 8027D85C 002794BC  93 E3 80 00 */	stw r31, -0x8000(r3)
/* 8027D860 002794C0  93 E3 80 00 */	stw r31, -0x8000(r3)
/* 8027D864 002794C4  93 E3 80 00 */	stw r31, -0x8000(r3)
/* 8027D868 002794C8  4B FE A9 F9 */	bl PPCSync
/* 8027D86C 002794CC  80 8D A9 94 */	lwz r4, lbl_8063FC54-_SDA_BASE_(r13)
/* 8027D870 002794D0  38 A0 00 03 */	li r5, 3
/* 8027D874 002794D4  80 62 A0 D0 */	lwz r3, lbl_806426D0-_SDA2_BASE_(r2)
/* 8027D878 002794D8  38 00 00 01 */	li r0, 1
/* 8027D87C 002794DC  B3 E4 00 02 */	sth r31, 2(r4)
/* 8027D880 002794E0  80 8D A9 94 */	lwz r4, lbl_8063FC54-_SDA_BASE_(r13)
/* 8027D884 002794E4  B0 A4 00 04 */	sth r5, 4(r4)
/* 8027D888 002794E8  98 03 05 FA */	stb r0, 0x5fa(r3)
/* 8027D88C 002794EC  48 00 2E A9 */	bl __GXAbort
lbl_8027D890:
/* 8027D890 002794F0  38 60 00 01 */	li r3, 1
lbl_8027D894:
/* 8027D894 002794F4  80 01 00 14 */	lwz r0, 0x14(r1)
/* 8027D898 002794F8  83 E1 00 0C */	lwz r31, 0xc(r1)
/* 8027D89C 002794FC  7C 08 03 A6 */	mtlr r0
/* 8027D8A0 00279500  38 21 00 10 */	addi r1, r1, 0x10
/* 8027D8A4 00279504  4E 80 00 20 */	blr

.global __GXInitRevisionBits
__GXInitRevisionBits:
/* 8027D8A8 00279508  38 00 00 02 */	li r0, 2
/* 8027D8AC 0027950C  80 C2 A0 D0 */	lwz r6, lbl_806426D0-_SDA2_BASE_(r2)
/* 8027D8B0 00279510  38 E0 00 00 */	li r7, 0
/* 8027D8B4 00279514  38 A0 00 08 */	li r5, 8
/* 8027D8B8 00279518  3C 80 CC 01 */	lis r4, 0xCC008000@ha
/* 8027D8BC 0027951C  7C 09 03 A6 */	mtctr r0
lbl_8027D8C0:
/* 8027D8C0 00279520  80 06 00 1C */	lwz r0, 0x1c(r6)
/* 8027D8C4 00279524  60 E3 00 80 */	ori r3, r7, 0x80
/* 8027D8C8 00279528  38 E7 00 01 */	addi r7, r7, 1
/* 8027D8CC 0027952C  64 00 40 00 */	oris r0, r0, 0x4000
/* 8027D8D0 00279530  90 06 00 1C */	stw r0, 0x1c(r6)
/* 8027D8D4 00279534  80 06 00 3C */	lwz r0, 0x3c(r6)
/* 8027D8D8 00279538  64 00 80 00 */	oris r0, r0, 0x8000
/* 8027D8DC 0027953C  90 06 00 3C */	stw r0, 0x3c(r6)
/* 8027D8E0 00279540  98 A4 80 00 */	stb r5, 0xCC008000@l(r4)
/* 8027D8E4 00279544  98 64 80 00 */	stb r3, -0x8000(r4)
/* 8027D8E8 00279548  60 E3 00 80 */	ori r3, r7, 0x80
/* 8027D8EC 0027954C  38 E7 00 01 */	addi r7, r7, 1
/* 8027D8F0 00279550  80 06 00 3C */	lwz r0, 0x3c(r6)
/* 8027D8F4 00279554  90 04 80 00 */	stw r0, -0x8000(r4)
/* 8027D8F8 00279558  80 06 00 20 */	lwz r0, 0x20(r6)
/* 8027D8FC 0027955C  64 00 40 00 */	oris r0, r0, 0x4000
/* 8027D900 00279560  90 06 00 20 */	stw r0, 0x20(r6)
/* 8027D904 00279564  80 06 00 40 */	lwz r0, 0x40(r6)
/* 8027D908 00279568  64 00 80 00 */	oris r0, r0, 0x8000
/* 8027D90C 0027956C  90 06 00 40 */	stw r0, 0x40(r6)
/* 8027D910 00279570  98 A4 80 00 */	stb r5, -0x8000(r4)
/* 8027D914 00279574  98 64 80 00 */	stb r3, -0x8000(r4)
/* 8027D918 00279578  60 E3 00 80 */	ori r3, r7, 0x80
/* 8027D91C 0027957C  38 E7 00 01 */	addi r7, r7, 1
/* 8027D920 00279580  80 06 00 40 */	lwz r0, 0x40(r6)
/* 8027D924 00279584  90 04 80 00 */	stw r0, -0x8000(r4)
/* 8027D928 00279588  80 06 00 24 */	lwz r0, 0x24(r6)
/* 8027D92C 0027958C  64 00 40 00 */	oris r0, r0, 0x4000
/* 8027D930 00279590  90 06 00 24 */	stw r0, 0x24(r6)
/* 8027D934 00279594  80 06 00 44 */	lwz r0, 0x44(r6)
/* 8027D938 00279598  64 00 80 00 */	oris r0, r0, 0x8000
/* 8027D93C 0027959C  90 06 00 44 */	stw r0, 0x44(r6)
/* 8027D940 002795A0  98 A4 80 00 */	stb r5, -0x8000(r4)
/* 8027D944 002795A4  98 64 80 00 */	stb r3, -0x8000(r4)
/* 8027D948 002795A8  60 E3 00 80 */	ori r3, r7, 0x80
/* 8027D94C 002795AC  38 E7 00 01 */	addi r7, r7, 1
/* 8027D950 002795B0  80 06 00 44 */	lwz r0, 0x44(r6)
/* 8027D954 002795B4  90 04 80 00 */	stw r0, -0x8000(r4)
/* 8027D958 002795B8  80 06 00 28 */	lwz r0, 0x28(r6)
/* 8027D95C 002795BC  64 00 40 00 */	oris r0, r0, 0x4000
/* 8027D960 002795C0  90 06 00 28 */	stw r0, 0x28(r6)
/* 8027D964 002795C4  80 06 00 48 */	lwz r0, 0x48(r6)
/* 8027D968 002795C8  64 00 80 00 */	oris r0, r0, 0x8000
/* 8027D96C 002795CC  90 06 00 48 */	stw r0, 0x48(r6)
/* 8027D970 002795D0  98 A4 80 00 */	stb r5, -0x8000(r4)
/* 8027D974 002795D4  98 64 80 00 */	stb r3, -0x8000(r4)
/* 8027D978 002795D8  80 06 00 48 */	lwz r0, 0x48(r6)
/* 8027D97C 002795DC  38 C6 00 10 */	addi r6, r6, 0x10
/* 8027D980 002795E0  90 04 80 00 */	stw r0, -0x8000(r4)
/* 8027D984 002795E4  42 00 FF 3C */	bdnz lbl_8027D8C0
/* 8027D988 002795E8  3C E0 CC 01 */	lis r7, 0xCC008000@ha
/* 8027D98C 002795EC  39 00 00 10 */	li r8, 0x10
/* 8027D990 002795F0  99 07 80 00 */	stb r8, 0xCC008000@l(r7)
/* 8027D994 002795F4  38 80 00 00 */	li r4, 0
/* 8027D998 002795F8  38 00 10 00 */	li r0, 0x1000
/* 8027D99C 002795FC  38 A0 10 12 */	li r5, 0x1012
/* 8027D9A0 00279600  90 07 80 00 */	stw r0, -0x8000(r7)
/* 8027D9A4 00279604  60 83 00 3F */	ori r3, r4, 0x3f
/* 8027D9A8 00279608  60 86 00 01 */	ori r6, r4, 1
/* 8027D9AC 0027960C  38 00 00 61 */	li r0, 0x61
/* 8027D9B0 00279610  90 67 80 00 */	stw r3, -0x8000(r7)
/* 8027D9B4 00279614  38 60 00 58 */	li r3, 0x58
/* 8027D9B8 00279618  60 84 00 0F */	ori r4, r4, 0xf
/* 8027D9BC 0027961C  99 07 80 00 */	stb r8, -0x8000(r7)
/* 8027D9C0 00279620  50 64 C0 0E */	rlwimi r4, r3, 0x18, 0, 7
/* 8027D9C4 00279624  90 A7 80 00 */	stw r5, -0x8000(r7)
/* 8027D9C8 00279628  90 C7 80 00 */	stw r6, -0x8000(r7)
/* 8027D9CC 0027962C  98 07 80 00 */	stb r0, -0x8000(r7)
/* 8027D9D0 00279630  90 87 80 00 */	stw r4, -0x8000(r7)
/* 8027D9D4 00279634  4E 80 00 20 */	blr

.global GXInit
GXInit:
/* 8027D9D8 00279638  94 21 FF E0 */	stwu r1, -0x20(r1)
/* 8027D9DC 0027963C  7C 08 02 A6 */	mflr r0
/* 8027D9E0 00279640  90 01 00 24 */	stw r0, 0x24(r1)
/* 8027D9E4 00279644  39 61 00 20 */	addi r11, r1, 0x20
/* 8027D9E8 00279648  4B F4 97 3D */	bl _savegpr_26
/* 8027D9EC 0027964C  7C 7B 1B 78 */	mr r27, r3
/* 8027D9F0 00279650  80 6D 88 50 */	lwz r3, lbl_8063DB10-_SDA_BASE_(r13)
/* 8027D9F4 00279654  7C 9A 23 78 */	mr r26, r4
/* 8027D9F8 00279658  4B FE BC 59 */	bl OSRegisterVersion
/* 8027D9FC 0027965C  83 E2 A0 D0 */	lwz r31, lbl_806426D0-_SDA2_BASE_(r2)
/* 8027DA00 00279660  38 00 00 00 */	li r0, 0
/* 8027DA04 00279664  3B A0 00 01 */	li r29, 1
/* 8027DA08 00279668  38 60 00 01 */	li r3, 1
/* 8027DA0C 0027966C  98 1F 05 F8 */	stb r0, 0x5f8(r31)
/* 8027DA10 00279670  38 80 00 00 */	li r4, 0
/* 8027DA14 00279674  9B BF 05 F9 */	stb r29, 0x5f9(r31)
/* 8027DA18 00279678  9B BF 05 FA */	stb r29, 0x5fa(r31)
/* 8027DA1C 0027967C  90 1F 05 E4 */	stw r0, 0x5e4(r31)
/* 8027DA20 00279680  90 1F 05 E8 */	stw r0, 0x5e8(r31)
/* 8027DA24 00279684  48 00 2B F5 */	bl GXSetMisc
/* 8027DA28 00279688  3C 80 CC 00 */	lis r4, 0xCC003000@ha
/* 8027DA2C 0027968C  38 A4 30 00 */	addi r5, r4, 0xCC003000@l
/* 8027DA30 00279690  90 8D A9 94 */	stw r4, lbl_8063FC54-_SDA_BASE_(r13)
/* 8027DA34 00279694  38 64 10 00 */	addi r3, r4, 0x1000
/* 8027DA38 00279698  38 04 40 00 */	addi r0, r4, 0x4000
/* 8027DA3C 0027969C  90 AD A9 90 */	stw r5, lbl_8063FC50-_SDA_BASE_(r13)
/* 8027DA40 002796A0  90 6D A9 98 */	stw r3, lbl_8063FC58-_SDA_BASE_(r13)
/* 8027DA44 002796A4  90 0D A9 9C */	stw r0, lbl_8063FC5C-_SDA_BASE_(r13)
/* 8027DA48 002796A8  48 00 17 91 */	bl __GXFifoInit
/* 8027DA4C 002796AC  3F 80 80 51 */	lis r28, lbl_80515930@ha
/* 8027DA50 002796B0  7F 64 DB 78 */	mr r4, r27
/* 8027DA54 002796B4  7F 45 D3 78 */	mr r5, r26
/* 8027DA58 002796B8  38 7C 59 30 */	addi r3, r28, lbl_80515930@l
/* 8027DA5C 002796BC  48 00 0E F1 */	bl GXInitFifoBase
/* 8027DA60 002796C0  38 7C 59 30 */	addi r3, r28, 0x5930
/* 8027DA64 002796C4  48 00 10 6D */	bl GXSetCPUFifo
/* 8027DA68 002796C8  38 7C 59 30 */	addi r3, r28, 0x5930
/* 8027DA6C 002796CC  48 00 12 45 */	bl GXSetGPFifo
/* 8027DA70 002796D0  80 0D A9 B4 */	lwz r0, lbl_8063FC74-_SDA_BASE_(r13)
/* 8027DA74 002796D4  2C 00 00 00 */	cmpwi r0, 0
/* 8027DA78 002796D8  40 82 00 14 */	bne lbl_8027DA8C
/* 8027DA7C 002796DC  3C 60 80 43 */	lis r3, lbl_80434CD0@ha
/* 8027DA80 002796E0  38 63 4C D0 */	addi r3, r3, lbl_80434CD0@l
/* 8027DA84 002796E4  4B FF 22 0D */	bl OSRegisterShutdownFunction
/* 8027DA88 002796E8  93 AD A9 B4 */	stw r29, lbl_8063FC74-_SDA_BASE_(r13)
lbl_8027DA8C:
/* 8027DA8C 002796EC  48 00 33 E1 */	bl __GXPEInit
/* 8027DA90 002796F0  4B FE A8 65 */	bl PPCMfhid2
/* 8027DA94 002796F4  3C 80 0C 01 */	lis r4, 0x0C008000@ha
/* 8027DA98 002796F8  7C 7C 1B 78 */	mr r28, r3
/* 8027DA9C 002796FC  38 64 80 00 */	addi r3, r4, 0x0C008000@l
/* 8027DAA0 00279700  4B FE A8 71 */	bl PPCMtwpar
/* 8027DAA4 00279704  67 83 40 00 */	oris r3, r28, 0x4000
/* 8027DAA8 00279708  4B FE A8 55 */	bl PPCMthid2
/* 8027DAAC 0027970C  80 62 A0 D0 */	lwz r3, lbl_806426D0-_SDA2_BASE_(r2)
/* 8027DAB0 00279710  39 00 00 00 */	li r8, 0
/* 8027DAB4 00279714  38 00 00 0F */	li r0, 0xf
/* 8027DAB8 00279718  38 A0 00 FF */	li r5, 0xff
/* 8027DABC 0027971C  91 03 02 54 */	stw r8, 0x254(r3)
/* 8027DAC0 00279720  50 05 C0 0E */	rlwimi r5, r0, 0x18, 0, 7
/* 8027DAC4 00279724  38 00 00 22 */	li r0, 0x22
/* 8027DAC8 00279728  38 80 00 00 */	li r4, 0
/* 8027DACC 0027972C  90 A3 01 74 */	stw r5, 0x174(r3)
/* 8027DAD0 00279730  50 04 C0 0E */	rlwimi r4, r0, 0x18, 0, 7
/* 8027DAD4 00279734  38 00 00 08 */	li r0, 8
/* 8027DAD8 00279738  7C 69 1B 78 */	mr r9, r3
/* 8027DADC 0027973C  90 83 00 7C */	stw r4, 0x7c(r3)
/* 8027DAE0 00279740  3B 40 00 00 */	li r26, 0
/* 8027DAE4 00279744  39 40 00 C0 */	li r10, 0xc0
/* 8027DAE8 00279748  38 C0 00 FF */	li r6, 0xff
/* 8027DAEC 0027974C  7C 09 03 A6 */	mtctr r0
lbl_8027DAF0:
/* 8027DAF0 00279750  91 09 01 80 */	stw r8, 0x180(r9)
/* 8027DAF4 00279754  57 4C F8 7E */	srwi r12, r26, 1
/* 8027DAF8 00279758  57 47 08 3A */	rlwinm r7, r26, 1, 0, 0x1d
/* 8027DAFC 0027975C  39 6A 00 01 */	addi r11, r10, 1
/* 8027DB00 00279760  91 09 01 C0 */	stw r8, 0x1c0(r9)
/* 8027DB04 00279764  7F 63 3A 14 */	add r27, r3, r7
/* 8027DB08 00279768  3B 5A 00 01 */	addi r26, r26, 1
/* 8027DB0C 0027976C  38 AC 00 F6 */	addi r5, r12, 0xf6
/* 8027DB10 00279770  91 1B 01 50 */	stw r8, 0x150(r27)
/* 8027DB14 00279774  38 0C 00 28 */	addi r0, r12, 0x28
/* 8027DB18 00279778  57 47 08 3A */	rlwinm r7, r26, 1, 0, 0x1d
/* 8027DB1C 0027977C  57 4C F8 7E */	srwi r12, r26, 1
/* 8027DB20 00279780  90 C9 05 A4 */	stw r6, 0x5a4(r9)
/* 8027DB24 00279784  3B 5A 00 01 */	addi r26, r26, 1
/* 8027DB28 00279788  80 89 01 80 */	lwz r4, 0x180(r9)
/* 8027DB2C 0027978C  51 44 C0 0E */	rlwimi r4, r10, 0x18, 0, 7
/* 8027DB30 00279790  90 89 01 80 */	stw r4, 0x180(r9)
/* 8027DB34 00279794  80 89 01 C0 */	lwz r4, 0x1c0(r9)
/* 8027DB38 00279798  51 64 C0 0E */	rlwimi r4, r11, 0x18, 0, 7
/* 8027DB3C 0027979C  39 6A 00 03 */	addi r11, r10, 3
/* 8027DB40 002797A0  39 4A 00 02 */	addi r10, r10, 2
/* 8027DB44 002797A4  90 89 01 C0 */	stw r4, 0x1c0(r9)
/* 8027DB48 002797A8  80 9B 02 00 */	lwz r4, 0x200(r27)
/* 8027DB4C 002797AC  50 A4 C0 0E */	rlwimi r4, r5, 0x18, 0, 7
/* 8027DB50 002797B0  38 AC 00 F6 */	addi r5, r12, 0xf6
/* 8027DB54 002797B4  90 9B 02 00 */	stw r4, 0x200(r27)
/* 8027DB58 002797B8  80 9B 01 50 */	lwz r4, 0x150(r27)
/* 8027DB5C 002797BC  50 04 C0 0E */	rlwimi r4, r0, 0x18, 0, 7
/* 8027DB60 002797C0  38 0C 00 28 */	addi r0, r12, 0x28
/* 8027DB64 002797C4  90 9B 01 50 */	stw r4, 0x150(r27)
/* 8027DB68 002797C8  7F 63 3A 14 */	add r27, r3, r7
/* 8027DB6C 002797CC  91 09 01 84 */	stw r8, 0x184(r9)
/* 8027DB70 002797D0  91 09 01 C4 */	stw r8, 0x1c4(r9)
/* 8027DB74 002797D4  91 1B 01 50 */	stw r8, 0x150(r27)
/* 8027DB78 002797D8  90 C9 05 A8 */	stw r6, 0x5a8(r9)
/* 8027DB7C 002797DC  80 89 01 84 */	lwz r4, 0x184(r9)
/* 8027DB80 002797E0  51 44 C0 0E */	rlwimi r4, r10, 0x18, 0, 7
/* 8027DB84 002797E4  39 4A 00 02 */	addi r10, r10, 2
/* 8027DB88 002797E8  90 89 01 84 */	stw r4, 0x184(r9)
/* 8027DB8C 002797EC  80 89 01 C4 */	lwz r4, 0x1c4(r9)
/* 8027DB90 002797F0  51 64 C0 0E */	rlwimi r4, r11, 0x18, 0, 7
/* 8027DB94 002797F4  90 89 01 C4 */	stw r4, 0x1c4(r9)
/* 8027DB98 002797F8  39 29 00 08 */	addi r9, r9, 8
/* 8027DB9C 002797FC  80 9B 02 00 */	lwz r4, 0x200(r27)
/* 8027DBA0 00279800  50 A4 C0 0E */	rlwimi r4, r5, 0x18, 0, 7
/* 8027DBA4 00279804  90 9B 02 00 */	stw r4, 0x200(r27)
/* 8027DBA8 00279808  80 9B 01 50 */	lwz r4, 0x150(r27)
/* 8027DBAC 0027980C  50 04 C0 0E */	rlwimi r4, r0, 0x18, 0, 7
/* 8027DBB0 00279810  90 9B 01 50 */	stw r4, 0x150(r27)
/* 8027DBB4 00279814  42 00 FF 3C */	bdnz lbl_8027DAF0
/* 8027DBB8 00279818  38 00 00 27 */	li r0, 0x27
/* 8027DBBC 0027981C  38 80 00 00 */	li r4, 0
/* 8027DBC0 00279820  50 04 C0 0E */	rlwimi r4, r0, 0x18, 0, 7
/* 8027DBC4 00279824  38 A0 00 30 */	li r5, 0x30
/* 8027DBC8 00279828  38 00 00 02 */	li r0, 2
/* 8027DBCC 0027982C  90 9F 01 70 */	stw r4, 0x170(r31)
/* 8027DBD0 00279830  7C 09 03 A6 */	mtctr r0
lbl_8027DBD4:
/* 8027DBD4 00279834  38 80 00 00 */	li r4, 0
/* 8027DBD8 00279838  38 C5 00 01 */	addi r6, r5, 1
/* 8027DBDC 0027983C  50 A4 C0 0E */	rlwimi r4, r5, 0x18, 0, 7
/* 8027DBE0 00279840  38 00 00 00 */	li r0, 0
/* 8027DBE4 00279844  90 83 01 08 */	stw r4, 0x108(r3)
/* 8027DBE8 00279848  50 C0 C0 0E */	rlwimi r0, r6, 0x18, 0, 7
/* 8027DBEC 0027984C  38 C5 00 03 */	addi r6, r5, 3
/* 8027DBF0 00279850  38 A5 00 02 */	addi r5, r5, 2
/* 8027DBF4 00279854  90 03 01 28 */	stw r0, 0x128(r3)
/* 8027DBF8 00279858  38 80 00 00 */	li r4, 0
/* 8027DBFC 0027985C  50 A4 C0 0E */	rlwimi r4, r5, 0x18, 0, 7
/* 8027DC00 00279860  38 00 00 00 */	li r0, 0
/* 8027DC04 00279864  90 83 01 0C */	stw r4, 0x10c(r3)
/* 8027DC08 00279868  50 C0 C0 0E */	rlwimi r0, r6, 0x18, 0, 7
/* 8027DC0C 0027986C  38 C5 00 03 */	addi r6, r5, 3
/* 8027DC10 00279870  38 A5 00 02 */	addi r5, r5, 2
/* 8027DC14 00279874  90 03 01 2C */	stw r0, 0x12c(r3)
/* 8027DC18 00279878  38 80 00 00 */	li r4, 0
/* 8027DC1C 0027987C  50 A4 C0 0E */	rlwimi r4, r5, 0x18, 0, 7
/* 8027DC20 00279880  38 00 00 00 */	li r0, 0
/* 8027DC24 00279884  90 83 01 10 */	stw r4, 0x110(r3)
/* 8027DC28 00279888  50 C0 C0 0E */	rlwimi r0, r6, 0x18, 0, 7
/* 8027DC2C 0027988C  38 C5 00 03 */	addi r6, r5, 3
/* 8027DC30 00279890  38 A5 00 02 */	addi r5, r5, 2
/* 8027DC34 00279894  90 03 01 30 */	stw r0, 0x130(r3)
/* 8027DC38 00279898  38 80 00 00 */	li r4, 0
/* 8027DC3C 0027989C  50 A4 C0 0E */	rlwimi r4, r5, 0x18, 0, 7
/* 8027DC40 002798A0  38 00 00 00 */	li r0, 0
/* 8027DC44 002798A4  90 83 01 14 */	stw r4, 0x114(r3)
/* 8027DC48 002798A8  50 C0 C0 0E */	rlwimi r0, r6, 0x18, 0, 7
/* 8027DC4C 002798AC  38 A5 00 02 */	addi r5, r5, 2
/* 8027DC50 002798B0  90 03 01 34 */	stw r0, 0x134(r3)
/* 8027DC54 002798B4  38 63 00 10 */	addi r3, r3, 0x10
/* 8027DC58 002798B8  42 00 FF 7C */	bdnz lbl_8027DBD4
/* 8027DC5C 002798BC  83 C2 A0 D0 */	lwz r30, lbl_806426D0-_SDA2_BASE_(r2)
/* 8027DC60 002798C0  3C 60 10 62 */	lis r3, 0x10624DD3@ha
/* 8027DC64 002798C4  38 80 00 20 */	li r4, 0x20
/* 8027DC68 002798C8  38 00 00 21 */	li r0, 0x21
/* 8027DC6C 002798CC  80 BE 01 48 */	lwz r5, 0x148(r30)
/* 8027DC70 002798D0  50 85 C0 0E */	rlwimi r5, r4, 0x18, 0, 7
/* 8027DC74 002798D4  39 00 00 41 */	li r8, 0x41
/* 8027DC78 002798D8  38 E0 00 42 */	li r7, 0x42
/* 8027DC7C 002798DC  90 BE 01 48 */	stw r5, 0x148(r30)
/* 8027DC80 002798E0  38 C0 00 40 */	li r6, 0x40
/* 8027DC84 002798E4  38 A0 00 43 */	li r5, 0x43
/* 8027DC88 002798E8  C0 22 A0 D4 */	lfs f1, lbl_806426D4-_SDA2_BASE_(r2)
/* 8027DC8C 002798EC  80 9E 01 4C */	lwz r4, 0x14c(r30)
/* 8027DC90 002798F0  50 04 C0 0E */	rlwimi r4, r0, 0x18, 0, 7
/* 8027DC94 002798F4  C0 02 A0 D8 */	lfs f0, lbl_806426D8-_SDA2_BASE_(r2)
/* 8027DC98 002798F8  38 00 00 00 */	li r0, 0
/* 8027DC9C 002798FC  90 9E 01 4C */	stw r4, 0x14c(r30)
/* 8027DCA0 00279900  3C 80 80 00 */	lis r4, 0x800000F8@ha
/* 8027DCA4 00279904  38 63 4D D3 */	addi r3, r3, 0x10624DD3@l
/* 8027DCA8 00279908  81 3E 02 20 */	lwz r9, 0x220(r30)
/* 8027DCAC 0027990C  51 09 C0 0E */	rlwimi r9, r8, 0x18, 0, 7
/* 8027DCB0 00279910  91 3E 02 20 */	stw r9, 0x220(r30)
/* 8027DCB4 00279914  81 1E 02 24 */	lwz r8, 0x224(r30)
/* 8027DCB8 00279918  50 E8 C0 0E */	rlwimi r8, r7, 0x18, 0, 7
/* 8027DCBC 0027991C  91 1E 02 24 */	stw r8, 0x224(r30)
/* 8027DCC0 00279920  80 FE 02 28 */	lwz r7, 0x228(r30)
/* 8027DCC4 00279924  50 C7 C0 0E */	rlwimi r7, r6, 0x18, 0, 7
/* 8027DCC8 00279928  90 FE 02 28 */	stw r7, 0x228(r30)
/* 8027DCCC 0027992C  80 DE 02 2C */	lwz r6, 0x22c(r30)
/* 8027DCD0 00279930  50 A6 C0 0E */	rlwimi r6, r5, 0x18, 0, 7
/* 8027DCD4 00279934  90 DE 02 2C */	stw r6, 0x22c(r30)
/* 8027DCD8 00279938  80 BE 02 4C */	lwz r5, 0x24c(r30)
/* 8027DCDC 0027993C  54 A5 06 6C */	rlwinm r5, r5, 0, 0x19, 0x16
/* 8027DCE0 00279940  90 BE 02 4C */	stw r5, 0x24c(r30)
/* 8027DCE4 00279944  D0 3E 05 60 */	stfs f1, 0x560(r30)
/* 8027DCE8 00279948  D0 1E 05 5C */	stfs f0, 0x55c(r30)
/* 8027DCEC 0027994C  90 1E 05 FC */	stw r0, 0x5fc(r30)
/* 8027DCF0 00279950  98 1E 05 FB */	stb r0, 0x5fb(r30)
/* 8027DCF4 00279954  80 04 00 F8 */	lwz r0, 0x800000F8@l(r4)
/* 8027DCF8 00279958  7C 03 00 16 */	mulhwu r0, r3, r0
/* 8027DCFC 0027995C  54 1A D9 7E */	srwi r26, r0, 5
/* 8027DD00 00279960  48 00 5E 1D */	bl __GXFlushTextureState
/* 8027DD04 00279964  57 40 AA FE */	srwi r0, r26, 0xb
/* 8027DD08 00279968  3F A0 CC 01 */	lis r29, 0xCC008000@ha
/* 8027DD0C 0027996C  3B 80 00 61 */	li r28, 0x61
/* 8027DD10 00279970  64 00 69 00 */	oris r0, r0, 0x6900
/* 8027DD14 00279974  9B 9D 80 00 */	stb r28, 0xCC008000@l(r29)
/* 8027DD18 00279978  60 00 04 00 */	ori r0, r0, 0x400
/* 8027DD1C 0027997C  90 1D 80 00 */	stw r0, -0x8000(r29)
/* 8027DD20 00279980  48 00 5D FD */	bl __GXFlushTextureState
/* 8027DD24 00279984  3C 60 3E 10 */	lis r3, 0x3E0F83E1@ha
/* 8027DD28 00279988  9B 9D 80 00 */	stb r28, -0x8000(r29)
/* 8027DD2C 0027998C  38 03 83 E1 */	addi r0, r3, 0x3E0F83E1@l
/* 8027DD30 00279990  7C 00 D0 16 */	mulhwu r0, r0, r26
/* 8027DD34 00279994  54 00 B2 BE */	srwi r0, r0, 0xa
/* 8027DD38 00279998  64 00 46 00 */	oris r0, r0, 0x4600
/* 8027DD3C 0027999C  60 00 02 00 */	ori r0, r0, 0x200
/* 8027DD40 002799A0  90 1D 80 00 */	stw r0, -0x8000(r29)
/* 8027DD44 002799A4  4B FF FB 65 */	bl __GXInitRevisionBits
/* 8027DD48 002799A8  3F 80 80 43 */	lis r28, lbl_80434C10@ha
/* 8027DD4C 002799AC  3B BE 02 58 */	addi r29, r30, 0x258
/* 8027DD50 002799B0  3B 7E 02 D8 */	addi r27, r30, 0x2d8
/* 8027DD54 002799B4  3B DE 03 58 */	addi r30, r30, 0x358
/* 8027DD58 002799B8  3B 9C 4C 10 */	addi r28, r28, lbl_80434C10@l
/* 8027DD5C 002799BC  3B 40 00 00 */	li r26, 0
lbl_8027DD60:
/* 8027DD60 002799C0  80 BC 00 00 */	lwz r5, 0(r28)
/* 8027DD64 002799C4  7F A3 EB 78 */	mr r3, r29
/* 8027DD68 002799C8  80 FC 00 20 */	lwz r7, 0x20(r28)
/* 8027DD6C 002799CC  38 80 00 00 */	li r4, 0
/* 8027DD70 002799D0  38 C0 00 00 */	li r6, 0
/* 8027DD74 002799D4  39 00 00 00 */	li r8, 0
/* 8027DD78 002799D8  48 00 4F 5D */	bl GXInitTexCacheRegion
/* 8027DD7C 002799DC  80 BC 00 40 */	lwz r5, 0x40(r28)
/* 8027DD80 002799E0  7F 63 DB 78 */	mr r3, r27
/* 8027DD84 002799E4  80 FC 00 60 */	lwz r7, 0x60(r28)
/* 8027DD88 002799E8  38 80 00 00 */	li r4, 0
/* 8027DD8C 002799EC  38 C0 00 00 */	li r6, 0
/* 8027DD90 002799F0  39 00 00 00 */	li r8, 0
/* 8027DD94 002799F4  48 00 4F 41 */	bl GXInitTexCacheRegion
/* 8027DD98 002799F8  80 BC 00 80 */	lwz r5, 0x80(r28)
/* 8027DD9C 002799FC  7F C3 F3 78 */	mr r3, r30
/* 8027DDA0 00279A00  80 FC 00 A0 */	lwz r7, 0xa0(r28)
/* 8027DDA4 00279A04  38 80 00 01 */	li r4, 1
/* 8027DDA8 00279A08  38 C0 00 00 */	li r6, 0
/* 8027DDAC 00279A0C  39 00 00 00 */	li r8, 0
/* 8027DDB0 00279A10  48 00 4F 25 */	bl GXInitTexCacheRegion
/* 8027DDB4 00279A14  3B 5A 00 01 */	addi r26, r26, 1
/* 8027DDB8 00279A18  3B BD 00 10 */	addi r29, r29, 0x10
/* 8027DDBC 00279A1C  28 1A 00 08 */	cmplwi r26, 8
/* 8027DDC0 00279A20  3B 7B 00 10 */	addi r27, r27, 0x10
/* 8027DDC4 00279A24  3B DE 00 10 */	addi r30, r30, 0x10
/* 8027DDC8 00279A28  3B 9C 00 04 */	addi r28, r28, 4
/* 8027DDCC 00279A2C  41 80 FF 94 */	blt lbl_8027DD60
/* 8027DDD0 00279A30  3B BF 03 D8 */	addi r29, r31, 0x3d8
/* 8027DDD4 00279A34  3B 60 00 00 */	li r27, 0
/* 8027DDD8 00279A38  3F 80 00 0C */	lis r28, 0xc
lbl_8027DDDC:
/* 8027DDDC 00279A3C  7F A3 EB 78 */	mr r3, r29
/* 8027DDE0 00279A40  7F 84 E3 78 */	mr r4, r28
/* 8027DDE4 00279A44  38 A0 00 10 */	li r5, 0x10
/* 8027DDE8 00279A48  48 00 4F A1 */	bl GXInitTlutRegion
/* 8027DDEC 00279A4C  3B 7B 00 01 */	addi r27, r27, 1
/* 8027DDF0 00279A50  3B BD 00 10 */	addi r29, r29, 0x10
/* 8027DDF4 00279A54  28 1B 00 10 */	cmplwi r27, 0x10
/* 8027DDF8 00279A58  3B 9C 20 00 */	addi r28, r28, 0x2000
/* 8027DDFC 00279A5C  41 80 FF E0 */	blt lbl_8027DDDC
/* 8027DE00 00279A60  3B BF 03 D8 */	addi r29, r31, 0x3d8
/* 8027DE04 00279A64  3B 60 00 00 */	li r27, 0
/* 8027DE08 00279A68  3F 80 00 0E */	lis r28, 0xe
lbl_8027DE0C:
/* 8027DE0C 00279A6C  38 1B 00 10 */	addi r0, r27, 0x10
/* 8027DE10 00279A70  7F 84 E3 78 */	mr r4, r28
/* 8027DE14 00279A74  54 00 20 36 */	slwi r0, r0, 4
/* 8027DE18 00279A78  38 A0 00 40 */	li r5, 0x40
/* 8027DE1C 00279A7C  7C 7D 02 14 */	add r3, r29, r0
/* 8027DE20 00279A80  48 00 4F 69 */	bl GXInitTlutRegion
/* 8027DE24 00279A84  3B 7B 00 01 */	addi r27, r27, 1
/* 8027DE28 00279A88  3F 9C 00 01 */	addis r28, r28, 1
/* 8027DE2C 00279A8C  28 1B 00 04 */	cmplwi r27, 4
/* 8027DE30 00279A90  3B 9C 80 00 */	addi r28, r28, -32768
/* 8027DE34 00279A94  41 80 FF D8 */	blt lbl_8027DE0C
/* 8027DE38 00279A98  80 6D A9 94 */	lwz r3, lbl_8063FC54-_SDA_BASE_(r13)
/* 8027DE3C 00279A9C  39 80 00 00 */	li r12, 0
/* 8027DE40 00279AA0  3D 20 CC 01 */	lis r9, 0xCC008000@ha
/* 8027DE44 00279AA4  39 40 00 08 */	li r10, 8
/* 8027DE48 00279AA8  B1 83 00 06 */	sth r12, 6(r3)
/* 8027DE4C 00279AAC  38 60 00 20 */	li r3, 0x20
/* 8027DE50 00279AB0  39 00 00 10 */	li r8, 0x10
/* 8027DE54 00279AB4  38 E0 10 06 */	li r7, 0x1006
/* 8027DE58 00279AB8  80 1F 05 F4 */	lwz r0, 0x5f4(r31)
/* 8027DE5C 00279ABC  38 C0 00 61 */	li r6, 0x61
/* 8027DE60 00279AC0  3C A0 23 00 */	lis r5, 0x2300
/* 8027DE64 00279AC4  3C 80 24 00 */	lis r4, 0x2400
/* 8027DE68 00279AC8  54 0B 07 2E */	rlwinm r11, r0, 0, 0x1c, 0x17
/* 8027DE6C 00279ACC  3C 00 67 00 */	lis r0, 0x6700
/* 8027DE70 00279AD0  91 7F 05 F4 */	stw r11, 0x5f4(r31)
/* 8027DE74 00279AD4  99 49 80 00 */	stb r10, 0xCC008000@l(r9)
/* 8027DE78 00279AD8  98 69 80 00 */	stb r3, -0x8000(r9)
/* 8027DE7C 00279ADC  80 7F 05 F4 */	lwz r3, 0x5f4(r31)
/* 8027DE80 00279AE0  90 69 80 00 */	stw r3, -0x8000(r9)
/* 8027DE84 00279AE4  38 60 00 00 */	li r3, 0
/* 8027DE88 00279AE8  99 09 80 00 */	stb r8, -0x8000(r9)
/* 8027DE8C 00279AEC  90 E9 80 00 */	stw r7, -0x8000(r9)
/* 8027DE90 00279AF0  91 89 80 00 */	stw r12, -0x8000(r9)
/* 8027DE94 00279AF4  98 C9 80 00 */	stb r6, -0x8000(r9)
/* 8027DE98 00279AF8  90 A9 80 00 */	stw r5, -0x8000(r9)
/* 8027DE9C 00279AFC  98 C9 80 00 */	stb r6, -0x8000(r9)
/* 8027DEA0 00279B00  90 89 80 00 */	stw r4, -0x8000(r9)
/* 8027DEA4 00279B04  98 C9 80 00 */	stb r6, -0x8000(r9)
/* 8027DEA8 00279B08  90 09 80 00 */	stw r0, -0x8000(r9)
/* 8027DEAC 00279B0C  48 00 5C 41 */	bl __GXSetIndirectMask
/* 8027DEB0 00279B10  38 60 00 02 */	li r3, 2
/* 8027DEB4 00279B14  48 00 51 5D */	bl __GXSetTmemConfig
/* 8027DEB8 00279B18  48 00 00 25 */	bl __GXInitGX
/* 8027DEBC 00279B1C  3C 60 80 51 */	lis r3, lbl_80515930@ha
/* 8027DEC0 00279B20  39 61 00 20 */	addi r11, r1, 0x20
/* 8027DEC4 00279B24  38 63 59 30 */	addi r3, r3, lbl_80515930@l
/* 8027DEC8 00279B28  4B F4 92 A9 */	bl _restgpr_26
/* 8027DECC 00279B2C  80 01 00 24 */	lwz r0, 0x24(r1)
/* 8027DED0 00279B30  7C 08 03 A6 */	mtlr r0
/* 8027DED4 00279B34  38 21 00 20 */	addi r1, r1, 0x20
/* 8027DED8 00279B38  4E 80 00 20 */	blr

.global __GXInitGX
__GXInitGX:
/* 8027DEDC 00279B3C  94 21 FF 60 */	stwu r1, -0xa0(r1)
/* 8027DEE0 00279B40  7C 08 02 A6 */	mflr r0
/* 8027DEE4 00279B44  3D 40 43 30 */	lis r10, 0x4330
/* 8027DEE8 00279B48  90 01 00 A4 */	stw r0, 0xa4(r1)
/* 8027DEEC 00279B4C  93 E1 00 9C */	stw r31, 0x9c(r1)
/* 8027DEF0 00279B50  3B E0 00 00 */	li r31, 0
/* 8027DEF4 00279B54  93 C1 00 98 */	stw r30, 0x98(r1)
/* 8027DEF8 00279B58  3F C0 80 43 */	lis r30, lbl_80434AA0@ha
/* 8027DEFC 00279B5C  3B DE 4A A0 */	addi r30, r30, lbl_80434AA0@l
/* 8027DF00 00279B60  93 A1 00 94 */	stw r29, 0x94(r1)
/* 8027DF04 00279B64  93 81 00 90 */	stw r28, 0x90(r1)
/* 8027DF08 00279B68  89 22 A0 DC */	lbz r9, lbl_806426DC-_SDA2_BASE_(r2)
/* 8027DF0C 00279B6C  89 02 A0 DD */	lbz r8, lbl_806426DD-_SDA2_BASE_(r2)
/* 8027DF10 00279B70  88 E2 A0 DE */	lbz r7, lbl_806426DE-_SDA2_BASE_(r2)
/* 8027DF14 00279B74  88 C2 A0 DF */	lbz r6, lbl_806426DF-_SDA2_BASE_(r2)
/* 8027DF18 00279B78  88 A2 A0 E0 */	lbz r5, lbl_806426E0-_SDA2_BASE_(r2)
/* 8027DF1C 00279B7C  88 82 A0 E1 */	lbz r4, lbl_806426E1-_SDA2_BASE_(r2)
/* 8027DF20 00279B80  88 62 A0 E2 */	lbz r3, lbl_806426E2-_SDA2_BASE_(r2)
/* 8027DF24 00279B84  88 02 A0 E3 */	lbz r0, lbl_806426E3-_SDA2_BASE_(r2)
/* 8027DF28 00279B88  91 41 00 78 */	stw r10, 0x78(r1)
/* 8027DF2C 00279B8C  91 41 00 80 */	stw r10, 0x80(r1)
/* 8027DF30 00279B90  99 21 00 24 */	stb r9, 0x24(r1)
/* 8027DF34 00279B94  99 01 00 25 */	stb r8, 0x25(r1)
/* 8027DF38 00279B98  98 E1 00 26 */	stb r7, 0x26(r1)
/* 8027DF3C 00279B9C  98 C1 00 27 */	stb r6, 0x27(r1)
/* 8027DF40 00279BA0  98 A1 00 20 */	stb r5, 0x20(r1)
/* 8027DF44 00279BA4  98 81 00 21 */	stb r4, 0x21(r1)
/* 8027DF48 00279BA8  98 61 00 22 */	stb r3, 0x22(r1)
/* 8027DF4C 00279BAC  98 01 00 23 */	stb r0, 0x23(r1)
/* 8027DF50 00279BB0  4B FF BA 85 */	bl VIGetTvFormat
/* 8027DF54 00279BB4  2C 03 00 02 */	cmpwi r3, 2
/* 8027DF58 00279BB8  41 82 00 48 */	beq lbl_8027DFA0
/* 8027DF5C 00279BBC  40 80 00 14 */	bge lbl_8027DF70
/* 8027DF60 00279BC0  2C 03 00 00 */	cmpwi r3, 0
/* 8027DF64 00279BC4  41 82 00 18 */	beq lbl_8027DF7C
/* 8027DF68 00279BC8  40 80 00 20 */	bge lbl_8027DF88
/* 8027DF6C 00279BCC  48 00 00 40 */	b lbl_8027DFAC
lbl_8027DF70:
/* 8027DF70 00279BD0  2C 03 00 05 */	cmpwi r3, 5
/* 8027DF74 00279BD4  41 82 00 20 */	beq lbl_8027DF94
/* 8027DF78 00279BD8  48 00 00 34 */	b lbl_8027DFAC
lbl_8027DF7C:
/* 8027DF7C 00279BDC  3F A0 80 43 */	lis r29, lbl_80435078@ha
/* 8027DF80 00279BE0  3B BD 50 78 */	addi r29, r29, lbl_80435078@l
/* 8027DF84 00279BE4  48 00 00 30 */	b lbl_8027DFB4
lbl_8027DF88:
/* 8027DF88 00279BE8  3F A0 80 43 */	lis r29, lbl_80435474@ha
/* 8027DF8C 00279BEC  3B BD 54 74 */	addi r29, r29, lbl_80435474@l
/* 8027DF90 00279BF0  48 00 00 24 */	b lbl_8027DFB4
lbl_8027DF94:
/* 8027DF94 00279BF4  3F A0 80 43 */	lis r29, lbl_80435618@ha
/* 8027DF98 00279BF8  3B BD 56 18 */	addi r29, r29, lbl_80435618@l
/* 8027DF9C 00279BFC  48 00 00 18 */	b lbl_8027DFB4
lbl_8027DFA0:
/* 8027DFA0 00279C00  3F A0 80 43 */	lis r29, lbl_804352D0@ha
/* 8027DFA4 00279C04  3B BD 52 D0 */	addi r29, r29, lbl_804352D0@l
/* 8027DFA8 00279C08  48 00 00 0C */	b lbl_8027DFB4
lbl_8027DFAC:
/* 8027DFAC 00279C0C  3F A0 80 43 */	lis r29, lbl_80435078@ha
/* 8027DFB0 00279C10  3B BD 50 78 */	addi r29, r29, lbl_80435078@l
lbl_8027DFB4:
/* 8027DFB4 00279C14  80 01 00 24 */	lwz r0, 0x24(r1)
/* 8027DFB8 00279C18  3C 80 01 00 */	lis r4, 0x00FFFFFF@ha
/* 8027DFBC 00279C1C  38 61 00 1C */	addi r3, r1, 0x1c
/* 8027DFC0 00279C20  90 01 00 1C */	stw r0, 0x1c(r1)
/* 8027DFC4 00279C24  38 84 FF FF */	addi r4, r4, 0x00FFFFFF@l
/* 8027DFC8 00279C28  48 00 3A 35 */	bl GXSetCopyClear
/* 8027DFCC 00279C2C  38 60 00 00 */	li r3, 0
/* 8027DFD0 00279C30  38 80 00 01 */	li r4, 1
/* 8027DFD4 00279C34  38 A0 00 04 */	li r5, 4
/* 8027DFD8 00279C38  38 C0 00 3C */	li r6, 0x3c
/* 8027DFDC 00279C3C  38 E0 00 00 */	li r7, 0
/* 8027DFE0 00279C40  39 00 00 7D */	li r8, 0x7d
/* 8027DFE4 00279C44  48 00 23 E9 */	bl GXSetTexCoordGen2
/* 8027DFE8 00279C48  38 60 00 01 */	li r3, 1
/* 8027DFEC 00279C4C  38 80 00 01 */	li r4, 1
/* 8027DFF0 00279C50  38 A0 00 05 */	li r5, 5
/* 8027DFF4 00279C54  38 C0 00 3C */	li r6, 0x3c
/* 8027DFF8 00279C58  38 E0 00 00 */	li r7, 0
/* 8027DFFC 00279C5C  39 00 00 7D */	li r8, 0x7d
/* 8027E000 00279C60  48 00 23 CD */	bl GXSetTexCoordGen2
/* 8027E004 00279C64  38 60 00 02 */	li r3, 2
/* 8027E008 00279C68  38 80 00 01 */	li r4, 1
/* 8027E00C 00279C6C  38 A0 00 06 */	li r5, 6
/* 8027E010 00279C70  38 C0 00 3C */	li r6, 0x3c
/* 8027E014 00279C74  38 E0 00 00 */	li r7, 0
/* 8027E018 00279C78  39 00 00 7D */	li r8, 0x7d
/* 8027E01C 00279C7C  48 00 23 B1 */	bl GXSetTexCoordGen2
/* 8027E020 00279C80  38 60 00 03 */	li r3, 3
/* 8027E024 00279C84  38 80 00 01 */	li r4, 1
/* 8027E028 00279C88  38 A0 00 07 */	li r5, 7
/* 8027E02C 00279C8C  38 C0 00 3C */	li r6, 0x3c
/* 8027E030 00279C90  38 E0 00 00 */	li r7, 0
/* 8027E034 00279C94  39 00 00 7D */	li r8, 0x7d
/* 8027E038 00279C98  48 00 23 95 */	bl GXSetTexCoordGen2
/* 8027E03C 00279C9C  38 60 00 04 */	li r3, 4
/* 8027E040 00279CA0  38 80 00 01 */	li r4, 1
/* 8027E044 00279CA4  38 A0 00 08 */	li r5, 8
/* 8027E048 00279CA8  38 C0 00 3C */	li r6, 0x3c
/* 8027E04C 00279CAC  38 E0 00 00 */	li r7, 0
/* 8027E050 00279CB0  39 00 00 7D */	li r8, 0x7d
/* 8027E054 00279CB4  48 00 23 79 */	bl GXSetTexCoordGen2
/* 8027E058 00279CB8  38 60 00 05 */	li r3, 5
/* 8027E05C 00279CBC  38 80 00 01 */	li r4, 1
/* 8027E060 00279CC0  38 A0 00 09 */	li r5, 9
/* 8027E064 00279CC4  38 C0 00 3C */	li r6, 0x3c
/* 8027E068 00279CC8  38 E0 00 00 */	li r7, 0
/* 8027E06C 00279CCC  39 00 00 7D */	li r8, 0x7d
/* 8027E070 00279CD0  48 00 23 5D */	bl GXSetTexCoordGen2
/* 8027E074 00279CD4  38 60 00 06 */	li r3, 6
/* 8027E078 00279CD8  38 80 00 01 */	li r4, 1
/* 8027E07C 00279CDC  38 A0 00 0A */	li r5, 0xa
/* 8027E080 00279CE0  38 C0 00 3C */	li r6, 0x3c
/* 8027E084 00279CE4  38 E0 00 00 */	li r7, 0
/* 8027E088 00279CE8  39 00 00 7D */	li r8, 0x7d
/* 8027E08C 00279CEC  48 00 23 41 */	bl GXSetTexCoordGen2
/* 8027E090 00279CF0  38 60 00 07 */	li r3, 7
/* 8027E094 00279CF4  38 80 00 01 */	li r4, 1
/* 8027E098 00279CF8  38 A0 00 0B */	li r5, 0xb
/* 8027E09C 00279CFC  38 C0 00 3C */	li r6, 0x3c
/* 8027E0A0 00279D00  38 E0 00 00 */	li r7, 0
/* 8027E0A4 00279D04  39 00 00 7D */	li r8, 0x7d
/* 8027E0A8 00279D08  48 00 23 25 */	bl GXSetTexCoordGen2
/* 8027E0AC 00279D0C  38 60 00 01 */	li r3, 1
/* 8027E0B0 00279D10  48 00 25 45 */	bl GXSetNumTexGens
/* 8027E0B4 00279D14  48 00 1B D1 */	bl GXClearVtxDesc
/* 8027E0B8 00279D18  48 00 23 05 */	bl GXInvalidateVtxCache
/* 8027E0BC 00279D1C  3B 80 00 09 */	li r28, 9
lbl_8027E0C0:
/* 8027E0C0 00279D20  80 82 A0 D0 */	lwz r4, lbl_806426D0-_SDA2_BASE_(r2)
/* 8027E0C4 00279D24  7F 83 E3 78 */	mr r3, r28
/* 8027E0C8 00279D28  38 A0 00 00 */	li r5, 0
/* 8027E0CC 00279D2C  48 00 22 B1 */	bl GXSetArray
/* 8027E0D0 00279D30  3B 9C 00 01 */	addi r28, r28, 1
/* 8027E0D4 00279D34  28 1C 00 18 */	cmplwi r28, 0x18
/* 8027E0D8 00279D38  40 81 FF E8 */	ble lbl_8027E0C0
/* 8027E0DC 00279D3C  3B 80 00 00 */	li r28, 0
lbl_8027E0E0:
/* 8027E0E0 00279D40  7F 83 E3 78 */	mr r3, r28
/* 8027E0E4 00279D44  38 9E 00 80 */	addi r4, r30, 0x80
/* 8027E0E8 00279D48  48 00 1D 71 */	bl GXSetVtxAttrFmtv
/* 8027E0EC 00279D4C  3B 9C 00 01 */	addi r28, r28, 1
/* 8027E0F0 00279D50  28 1C 00 08 */	cmplwi r28, 8
/* 8027E0F4 00279D54  41 80 FF EC */	blt lbl_8027E0E0
/* 8027E0F8 00279D58  38 60 00 06 */	li r3, 6
/* 8027E0FC 00279D5C  38 80 00 00 */	li r4, 0
/* 8027E100 00279D60  48 00 32 6D */	bl GXSetLineWidth
/* 8027E104 00279D64  38 60 00 06 */	li r3, 6
/* 8027E108 00279D68  38 80 00 00 */	li r4, 0
/* 8027E10C 00279D6C  48 00 32 95 */	bl GXSetPointSize
/* 8027E110 00279D70  38 60 00 00 */	li r3, 0
/* 8027E114 00279D74  38 80 00 00 */	li r4, 0
/* 8027E118 00279D78  38 A0 00 00 */	li r5, 0
/* 8027E11C 00279D7C  48 00 32 B9 */	bl GXEnableTexOffsets
/* 8027E120 00279D80  38 60 00 01 */	li r3, 1
/* 8027E124 00279D84  38 80 00 00 */	li r4, 0
/* 8027E128 00279D88  38 A0 00 00 */	li r5, 0
/* 8027E12C 00279D8C  48 00 32 A9 */	bl GXEnableTexOffsets
/* 8027E130 00279D90  38 60 00 02 */	li r3, 2
/* 8027E134 00279D94  38 80 00 00 */	li r4, 0
/* 8027E138 00279D98  38 A0 00 00 */	li r5, 0
/* 8027E13C 00279D9C  48 00 32 99 */	bl GXEnableTexOffsets
/* 8027E140 00279DA0  38 60 00 03 */	li r3, 3
/* 8027E144 00279DA4  38 80 00 00 */	li r4, 0
/* 8027E148 00279DA8  38 A0 00 00 */	li r5, 0
/* 8027E14C 00279DAC  48 00 32 89 */	bl GXEnableTexOffsets
/* 8027E150 00279DB0  38 60 00 04 */	li r3, 4
/* 8027E154 00279DB4  38 80 00 00 */	li r4, 0
/* 8027E158 00279DB8  38 A0 00 00 */	li r5, 0
/* 8027E15C 00279DBC  48 00 32 79 */	bl GXEnableTexOffsets
/* 8027E160 00279DC0  38 60 00 05 */	li r3, 5
/* 8027E164 00279DC4  38 80 00 00 */	li r4, 0
/* 8027E168 00279DC8  38 A0 00 00 */	li r5, 0
/* 8027E16C 00279DCC  48 00 32 69 */	bl GXEnableTexOffsets
/* 8027E170 00279DD0  38 60 00 06 */	li r3, 6
/* 8027E174 00279DD4  38 80 00 00 */	li r4, 0
/* 8027E178 00279DD8  38 A0 00 00 */	li r5, 0
/* 8027E17C 00279DDC  48 00 32 59 */	bl GXEnableTexOffsets
/* 8027E180 00279DE0  38 60 00 07 */	li r3, 7
/* 8027E184 00279DE4  38 80 00 00 */	li r4, 0
/* 8027E188 00279DE8  38 A0 00 00 */	li r5, 0
/* 8027E18C 00279DEC  48 00 32 49 */	bl GXEnableTexOffsets
/* 8027E190 00279DF0  C0 02 A0 D8 */	lfs f0, lbl_806426D8-_SDA2_BASE_(r2)
/* 8027E194 00279DF4  38 61 00 48 */	addi r3, r1, 0x48
/* 8027E198 00279DF8  C0 22 A0 E4 */	lfs f1, lbl_806426E4-_SDA2_BASE_(r2)
/* 8027E19C 00279DFC  38 80 00 00 */	li r4, 0
/* 8027E1A0 00279E00  D0 01 00 4C */	stfs f0, 0x4c(r1)
/* 8027E1A4 00279E04  D0 21 00 48 */	stfs f1, 0x48(r1)
/* 8027E1A8 00279E08  D0 01 00 50 */	stfs f0, 0x50(r1)
/* 8027E1AC 00279E0C  D0 01 00 54 */	stfs f0, 0x54(r1)
/* 8027E1B0 00279E10  D0 01 00 58 */	stfs f0, 0x58(r1)
/* 8027E1B4 00279E14  D0 21 00 5C */	stfs f1, 0x5c(r1)
/* 8027E1B8 00279E18  D0 01 00 60 */	stfs f0, 0x60(r1)
/* 8027E1BC 00279E1C  D0 01 00 64 */	stfs f0, 0x64(r1)
/* 8027E1C0 00279E20  D0 01 00 68 */	stfs f0, 0x68(r1)
/* 8027E1C4 00279E24  D0 01 00 6C */	stfs f0, 0x6c(r1)
/* 8027E1C8 00279E28  D0 21 00 70 */	stfs f1, 0x70(r1)
/* 8027E1CC 00279E2C  D0 01 00 74 */	stfs f0, 0x74(r1)
/* 8027E1D0 00279E30  48 00 88 B9 */	bl GXLoadPosMtxImm
/* 8027E1D4 00279E34  38 61 00 48 */	addi r3, r1, 0x48
/* 8027E1D8 00279E38  38 80 00 00 */	li r4, 0
/* 8027E1DC 00279E3C  48 00 88 FD */	bl GXLoadNrmMtxImm
/* 8027E1E0 00279E40  38 60 00 00 */	li r3, 0
/* 8027E1E4 00279E44  48 00 89 4D */	bl GXSetCurrentMtx
/* 8027E1E8 00279E48  38 61 00 48 */	addi r3, r1, 0x48
/* 8027E1EC 00279E4C  38 80 00 3C */	li r4, 0x3c
/* 8027E1F0 00279E50  38 A0 00 00 */	li r5, 0
/* 8027E1F4 00279E54  48 00 89 5D */	bl GXLoadTexMtxImm
/* 8027E1F8 00279E58  38 61 00 48 */	addi r3, r1, 0x48
/* 8027E1FC 00279E5C  38 80 00 7D */	li r4, 0x7d
/* 8027E200 00279E60  38 A0 00 00 */	li r5, 0
/* 8027E204 00279E64  48 00 89 4D */	bl GXLoadTexMtxImm
/* 8027E208 00279E68  A0 7D 00 04 */	lhz r3, 4(r29)
/* 8027E20C 00279E6C  A0 1D 00 08 */	lhz r0, 8(r29)
/* 8027E210 00279E70  90 61 00 7C */	stw r3, 0x7c(r1)
/* 8027E214 00279E74  C0 22 A0 D8 */	lfs f1, lbl_806426D8-_SDA2_BASE_(r2)
/* 8027E218 00279E78  90 01 00 84 */	stw r0, 0x84(r1)
/* 8027E21C 00279E7C  C8 82 A0 F0 */	lfd f4, lbl_806426F0-_SDA2_BASE_(r2)
/* 8027E220 00279E80  FC 40 08 90 */	fmr f2, f1
/* 8027E224 00279E84  C8 61 00 78 */	lfd f3, 0x78(r1)
/* 8027E228 00279E88  FC A0 08 90 */	fmr f5, f1
/* 8027E22C 00279E8C  C8 01 00 80 */	lfd f0, 0x80(r1)
/* 8027E230 00279E90  EC 63 20 28 */	fsubs f3, f3, f4
/* 8027E234 00279E94  C0 C2 A0 E4 */	lfs f6, lbl_806426E4-_SDA2_BASE_(r2)
/* 8027E238 00279E98  EC 80 20 28 */	fsubs f4, f0, f4
/* 8027E23C 00279E9C  48 00 8A 95 */	bl GXSetViewport
/* 8027E240 00279EA0  38 7E 01 50 */	addi r3, r30, 0x150
/* 8027E244 00279EA4  48 00 87 F9 */	bl GXSetProjectionv
/* 8027E248 00279EA8  38 60 00 00 */	li r3, 0
/* 8027E24C 00279EAC  48 00 31 ED */	bl GXSetCoPlanar
/* 8027E250 00279EB0  38 60 00 02 */	li r3, 2
/* 8027E254 00279EB4  48 00 31 BD */	bl GXSetCullMode
/* 8027E258 00279EB8  38 60 00 00 */	li r3, 0
/* 8027E25C 00279EBC  48 00 8B 45 */	bl GXSetClipMode
/* 8027E260 00279EC0  A0 BD 00 04 */	lhz r5, 4(r29)
/* 8027E264 00279EC4  38 60 00 00 */	li r3, 0
/* 8027E268 00279EC8  A0 DD 00 06 */	lhz r6, 6(r29)
/* 8027E26C 00279ECC  38 80 00 00 */	li r4, 0
/* 8027E270 00279ED0  48 00 8A 8D */	bl GXSetScissor
/* 8027E274 00279ED4  38 60 00 00 */	li r3, 0
/* 8027E278 00279ED8  38 80 00 00 */	li r4, 0
/* 8027E27C 00279EDC  48 00 8A E9 */	bl GXSetScissorBoxOffset
/* 8027E280 00279EE0  38 60 00 00 */	li r3, 0
/* 8027E284 00279EE4  48 00 42 C5 */	bl GXSetNumChans
/* 8027E288 00279EE8  38 60 00 04 */	li r3, 4
/* 8027E28C 00279EEC  38 80 00 00 */	li r4, 0
/* 8027E290 00279EF0  38 A0 00 00 */	li r5, 0
/* 8027E294 00279EF4  38 C0 00 01 */	li r6, 1
/* 8027E298 00279EF8  38 E0 00 00 */	li r7, 0
/* 8027E29C 00279EFC  39 00 00 00 */	li r8, 0
/* 8027E2A0 00279F00  39 20 00 02 */	li r9, 2
/* 8027E2A4 00279F04  48 00 42 C9 */	bl GXSetChanCtrl
/* 8027E2A8 00279F08  93 E1 00 18 */	stw r31, 0x18(r1)
/* 8027E2AC 00279F0C  38 81 00 18 */	addi r4, r1, 0x18
/* 8027E2B0 00279F10  38 60 00 04 */	li r3, 4
/* 8027E2B4 00279F14  48 00 40 E5 */	bl GXSetChanAmbColor
/* 8027E2B8 00279F18  80 01 00 20 */	lwz r0, 0x20(r1)
/* 8027E2BC 00279F1C  38 81 00 14 */	addi r4, r1, 0x14
/* 8027E2C0 00279F20  38 60 00 04 */	li r3, 4
/* 8027E2C4 00279F24  90 01 00 14 */	stw r0, 0x14(r1)
/* 8027E2C8 00279F28  48 00 41 A9 */	bl GXSetChanMatColor
/* 8027E2CC 00279F2C  38 60 00 05 */	li r3, 5
/* 8027E2D0 00279F30  38 80 00 00 */	li r4, 0
/* 8027E2D4 00279F34  38 A0 00 00 */	li r5, 0
/* 8027E2D8 00279F38  38 C0 00 01 */	li r6, 1
/* 8027E2DC 00279F3C  38 E0 00 00 */	li r7, 0
/* 8027E2E0 00279F40  39 00 00 00 */	li r8, 0
/* 8027E2E4 00279F44  39 20 00 02 */	li r9, 2
/* 8027E2E8 00279F48  48 00 42 85 */	bl GXSetChanCtrl
/* 8027E2EC 00279F4C  93 E1 00 10 */	stw r31, 0x10(r1)
/* 8027E2F0 00279F50  38 81 00 10 */	addi r4, r1, 0x10
/* 8027E2F4 00279F54  38 60 00 05 */	li r3, 5
/* 8027E2F8 00279F58  48 00 40 A1 */	bl GXSetChanAmbColor
/* 8027E2FC 00279F5C  80 01 00 20 */	lwz r0, 0x20(r1)
/* 8027E300 00279F60  38 81 00 0C */	addi r4, r1, 0xc
/* 8027E304 00279F64  38 60 00 05 */	li r3, 5
/* 8027E308 00279F68  90 01 00 0C */	stw r0, 0xc(r1)
/* 8027E30C 00279F6C  48 00 41 65 */	bl GXSetChanMatColor
/* 8027E310 00279F70  48 00 4A 99 */	bl GXInvalidateTexAll
/* 8027E314 00279F74  3C 60 80 28 */	lis r3, __GXDefaultTexRegionCallback@ha
/* 8027E318 00279F78  38 63 D6 24 */	addi r3, r3, __GXDefaultTexRegionCallback@l
/* 8027E31C 00279F7C  48 00 4A D5 */	bl GXSetTexRegionCallback
/* 8027E320 00279F80  3C 60 80 28 */	lis r3, __GXDefaultTlutRegionCallback@ha
/* 8027E324 00279F84  38 63 D7 18 */	addi r3, r3, __GXDefaultTlutRegionCallback@l
/* 8027E328 00279F88  48 00 4A DD */	bl GXSetTlutRegionCallback
/* 8027E32C 00279F8C  38 61 00 28 */	addi r3, r1, 0x28
/* 8027E330 00279F90  38 9E 00 60 */	addi r4, r30, 0x60
/* 8027E334 00279F94  38 A0 00 04 */	li r5, 4
/* 8027E338 00279F98  38 C0 00 04 */	li r6, 4
/* 8027E33C 00279F9C  38 E0 00 03 */	li r7, 3
/* 8027E340 00279FA0  39 00 00 00 */	li r8, 0
/* 8027E344 00279FA4  39 20 00 00 */	li r9, 0
/* 8027E348 00279FA8  39 40 00 00 */	li r10, 0
/* 8027E34C 00279FAC  48 00 43 85 */	bl GXInitTexObj
/* 8027E350 00279FB0  38 61 00 28 */	addi r3, r1, 0x28
/* 8027E354 00279FB4  38 80 00 00 */	li r4, 0
/* 8027E358 00279FB8  48 00 48 6D */	bl GXLoadTexObj
/* 8027E35C 00279FBC  38 61 00 28 */	addi r3, r1, 0x28
/* 8027E360 00279FC0  38 80 00 01 */	li r4, 1
/* 8027E364 00279FC4  48 00 48 61 */	bl GXLoadTexObj
/* 8027E368 00279FC8  38 61 00 28 */	addi r3, r1, 0x28
/* 8027E36C 00279FCC  38 80 00 02 */	li r4, 2
/* 8027E370 00279FD0  48 00 48 55 */	bl GXLoadTexObj
/* 8027E374 00279FD4  38 61 00 28 */	addi r3, r1, 0x28
/* 8027E378 00279FD8  38 80 00 03 */	li r4, 3
/* 8027E37C 00279FDC  48 00 48 49 */	bl GXLoadTexObj
/* 8027E380 00279FE0  38 61 00 28 */	addi r3, r1, 0x28
/* 8027E384 00279FE4  38 80 00 04 */	li r4, 4
/* 8027E388 00279FE8  48 00 48 3D */	bl GXLoadTexObj
/* 8027E38C 00279FEC  38 61 00 28 */	addi r3, r1, 0x28
/* 8027E390 00279FF0  38 80 00 05 */	li r4, 5
/* 8027E394 00279FF4  48 00 48 31 */	bl GXLoadTexObj
/* 8027E398 00279FF8  38 61 00 28 */	addi r3, r1, 0x28
/* 8027E39C 00279FFC  38 80 00 06 */	li r4, 6
/* 8027E3A0 0027A000  48 00 48 25 */	bl GXLoadTexObj
/* 8027E3A4 0027A004  38 61 00 28 */	addi r3, r1, 0x28
/* 8027E3A8 0027A008  38 80 00 07 */	li r4, 7
/* 8027E3AC 0027A00C  48 00 48 19 */	bl GXLoadTexObj
/* 8027E3B0 0027A010  38 60 00 00 */	li r3, 0
/* 8027E3B4 0027A014  38 80 00 00 */	li r4, 0
/* 8027E3B8 0027A018  38 A0 00 00 */	li r5, 0
/* 8027E3BC 0027A01C  38 C0 00 04 */	li r6, 4
/* 8027E3C0 0027A020  48 00 5C 81 */	bl GXSetTevOrder
/* 8027E3C4 0027A024  38 60 00 01 */	li r3, 1
/* 8027E3C8 0027A028  38 80 00 01 */	li r4, 1
/* 8027E3CC 0027A02C  38 A0 00 01 */	li r5, 1
/* 8027E3D0 0027A030  38 C0 00 04 */	li r6, 4
/* 8027E3D4 0027A034  48 00 5C 6D */	bl GXSetTevOrder
/* 8027E3D8 0027A038  38 60 00 02 */	li r3, 2
/* 8027E3DC 0027A03C  38 80 00 02 */	li r4, 2
/* 8027E3E0 0027A040  38 A0 00 02 */	li r5, 2
/* 8027E3E4 0027A044  38 C0 00 04 */	li r6, 4
/* 8027E3E8 0027A048  48 00 5C 59 */	bl GXSetTevOrder
/* 8027E3EC 0027A04C  38 60 00 03 */	li r3, 3
/* 8027E3F0 0027A050  38 80 00 03 */	li r4, 3
/* 8027E3F4 0027A054  38 A0 00 03 */	li r5, 3
/* 8027E3F8 0027A058  38 C0 00 04 */	li r6, 4
/* 8027E3FC 0027A05C  48 00 5C 45 */	bl GXSetTevOrder
/* 8027E400 0027A060  38 60 00 04 */	li r3, 4
/* 8027E404 0027A064  38 80 00 04 */	li r4, 4
/* 8027E408 0027A068  38 A0 00 04 */	li r5, 4
/* 8027E40C 0027A06C  38 C0 00 04 */	li r6, 4
/* 8027E410 0027A070  48 00 5C 31 */	bl GXSetTevOrder
/* 8027E414 0027A074  38 60 00 05 */	li r3, 5
/* 8027E418 0027A078  38 80 00 05 */	li r4, 5
/* 8027E41C 0027A07C  38 A0 00 05 */	li r5, 5
/* 8027E420 0027A080  38 C0 00 04 */	li r6, 4
/* 8027E424 0027A084  48 00 5C 1D */	bl GXSetTevOrder
/* 8027E428 0027A088  38 60 00 06 */	li r3, 6
/* 8027E42C 0027A08C  38 80 00 06 */	li r4, 6
/* 8027E430 0027A090  38 A0 00 06 */	li r5, 6
/* 8027E434 0027A094  38 C0 00 04 */	li r6, 4
/* 8027E438 0027A098  48 00 5C 09 */	bl GXSetTevOrder
/* 8027E43C 0027A09C  38 60 00 07 */	li r3, 7
/* 8027E440 0027A0A0  38 80 00 07 */	li r4, 7
/* 8027E444 0027A0A4  38 A0 00 07 */	li r5, 7
/* 8027E448 0027A0A8  38 C0 00 04 */	li r6, 4
/* 8027E44C 0027A0AC  48 00 5B F5 */	bl GXSetTevOrder
/* 8027E450 0027A0B0  38 60 00 08 */	li r3, 8
/* 8027E454 0027A0B4  38 80 00 FF */	li r4, 0xff
/* 8027E458 0027A0B8  38 A0 00 FF */	li r5, 0xff
/* 8027E45C 0027A0BC  38 C0 00 FF */	li r6, 0xff
/* 8027E460 0027A0C0  48 00 5B E1 */	bl GXSetTevOrder
/* 8027E464 0027A0C4  38 60 00 09 */	li r3, 9
/* 8027E468 0027A0C8  38 80 00 FF */	li r4, 0xff
/* 8027E46C 0027A0CC  38 A0 00 FF */	li r5, 0xff
/* 8027E470 0027A0D0  38 C0 00 FF */	li r6, 0xff
/* 8027E474 0027A0D4  48 00 5B CD */	bl GXSetTevOrder
/* 8027E478 0027A0D8  38 60 00 0A */	li r3, 0xa
/* 8027E47C 0027A0DC  38 80 00 FF */	li r4, 0xff
/* 8027E480 0027A0E0  38 A0 00 FF */	li r5, 0xff
/* 8027E484 0027A0E4  38 C0 00 FF */	li r6, 0xff
/* 8027E488 0027A0E8  48 00 5B B9 */	bl GXSetTevOrder
/* 8027E48C 0027A0EC  38 60 00 0B */	li r3, 0xb
/* 8027E490 0027A0F0  38 80 00 FF */	li r4, 0xff
/* 8027E494 0027A0F4  38 A0 00 FF */	li r5, 0xff
/* 8027E498 0027A0F8  38 C0 00 FF */	li r6, 0xff
/* 8027E49C 0027A0FC  48 00 5B A5 */	bl GXSetTevOrder
/* 8027E4A0 0027A100  38 60 00 0C */	li r3, 0xc
/* 8027E4A4 0027A104  38 80 00 FF */	li r4, 0xff
/* 8027E4A8 0027A108  38 A0 00 FF */	li r5, 0xff
/* 8027E4AC 0027A10C  38 C0 00 FF */	li r6, 0xff
/* 8027E4B0 0027A110  48 00 5B 91 */	bl GXSetTevOrder
/* 8027E4B4 0027A114  38 60 00 0D */	li r3, 0xd
/* 8027E4B8 0027A118  38 80 00 FF */	li r4, 0xff
/* 8027E4BC 0027A11C  38 A0 00 FF */	li r5, 0xff
/* 8027E4C0 0027A120  38 C0 00 FF */	li r6, 0xff
/* 8027E4C4 0027A124  48 00 5B 7D */	bl GXSetTevOrder
/* 8027E4C8 0027A128  38 60 00 0E */	li r3, 0xe
/* 8027E4CC 0027A12C  38 80 00 FF */	li r4, 0xff
/* 8027E4D0 0027A130  38 A0 00 FF */	li r5, 0xff
/* 8027E4D4 0027A134  38 C0 00 FF */	li r6, 0xff
/* 8027E4D8 0027A138  48 00 5B 69 */	bl GXSetTevOrder
/* 8027E4DC 0027A13C  38 60 00 0F */	li r3, 0xf
/* 8027E4E0 0027A140  38 80 00 FF */	li r4, 0xff
/* 8027E4E4 0027A144  38 A0 00 FF */	li r5, 0xff
/* 8027E4E8 0027A148  38 C0 00 FF */	li r6, 0xff
/* 8027E4EC 0027A14C  48 00 5B 55 */	bl GXSetTevOrder
/* 8027E4F0 0027A150  38 60 00 01 */	li r3, 1
/* 8027E4F4 0027A154  48 00 5C A9 */	bl GXSetNumTevStages
/* 8027E4F8 0027A158  38 60 00 00 */	li r3, 0
/* 8027E4FC 0027A15C  38 80 00 03 */	li r4, 3
/* 8027E500 0027A160  48 00 56 41 */	bl GXSetTevOp
/* 8027E504 0027A164  38 60 00 07 */	li r3, 7
/* 8027E508 0027A168  38 80 00 00 */	li r4, 0
/* 8027E50C 0027A16C  38 A0 00 00 */	li r5, 0
/* 8027E510 0027A170  38 C0 00 07 */	li r6, 7
/* 8027E514 0027A174  38 E0 00 00 */	li r7, 0
/* 8027E518 0027A178  48 00 5A 65 */	bl GXSetAlphaCompare
/* 8027E51C 0027A17C  38 60 00 00 */	li r3, 0
/* 8027E520 0027A180  38 80 00 11 */	li r4, 0x11
/* 8027E524 0027A184  38 A0 00 00 */	li r5, 0
/* 8027E528 0027A188  48 00 5A 8D */	bl GXSetZTexture
/* 8027E52C 0027A18C  3B 80 00 00 */	li r28, 0
lbl_8027E530:
/* 8027E530 0027A190  7F 83 E3 78 */	mr r3, r28
/* 8027E534 0027A194  38 80 00 06 */	li r4, 6
/* 8027E538 0027A198  48 00 58 ED */	bl GXSetTevKColorSel
/* 8027E53C 0027A19C  7F 83 E3 78 */	mr r3, r28
/* 8027E540 0027A1A0  38 80 00 00 */	li r4, 0
/* 8027E544 0027A1A4  48 00 59 31 */	bl GXSetTevKAlphaSel
/* 8027E548 0027A1A8  7F 83 E3 78 */	mr r3, r28
/* 8027E54C 0027A1AC  38 80 00 00 */	li r4, 0
/* 8027E550 0027A1B0  38 A0 00 00 */	li r5, 0
/* 8027E554 0027A1B4  48 00 59 71 */	bl GXSetTevSwapMode
/* 8027E558 0027A1B8  3B 9C 00 01 */	addi r28, r28, 1
/* 8027E55C 0027A1BC  28 1C 00 10 */	cmplwi r28, 0x10
/* 8027E560 0027A1C0  41 80 FF D0 */	blt lbl_8027E530
/* 8027E564 0027A1C4  38 60 00 00 */	li r3, 0
/* 8027E568 0027A1C8  38 80 00 00 */	li r4, 0
/* 8027E56C 0027A1CC  38 A0 00 01 */	li r5, 1
/* 8027E570 0027A1D0  38 C0 00 02 */	li r6, 2
/* 8027E574 0027A1D4  38 E0 00 03 */	li r7, 3
/* 8027E578 0027A1D8  48 00 59 89 */	bl GXSetTevSwapModeTable
/* 8027E57C 0027A1DC  38 60 00 01 */	li r3, 1
/* 8027E580 0027A1E0  38 80 00 00 */	li r4, 0
/* 8027E584 0027A1E4  38 A0 00 00 */	li r5, 0
/* 8027E588 0027A1E8  38 C0 00 00 */	li r6, 0
/* 8027E58C 0027A1EC  38 E0 00 03 */	li r7, 3
/* 8027E590 0027A1F0  48 00 59 71 */	bl GXSetTevSwapModeTable
/* 8027E594 0027A1F4  38 60 00 02 */	li r3, 2
/* 8027E598 0027A1F8  38 80 00 01 */	li r4, 1
/* 8027E59C 0027A1FC  38 A0 00 01 */	li r5, 1
/* 8027E5A0 0027A200  38 C0 00 01 */	li r6, 1
/* 8027E5A4 0027A204  38 E0 00 03 */	li r7, 3
/* 8027E5A8 0027A208  48 00 59 59 */	bl GXSetTevSwapModeTable
/* 8027E5AC 0027A20C  38 60 00 03 */	li r3, 3
/* 8027E5B0 0027A210  38 80 00 02 */	li r4, 2
/* 8027E5B4 0027A214  38 A0 00 02 */	li r5, 2
/* 8027E5B8 0027A218  38 C0 00 02 */	li r6, 2
/* 8027E5BC 0027A21C  38 E0 00 03 */	li r7, 3
/* 8027E5C0 0027A220  48 00 59 41 */	bl GXSetTevSwapModeTable
/* 8027E5C4 0027A224  3B 80 00 00 */	li r28, 0
lbl_8027E5C8:
/* 8027E5C8 0027A228  7F 83 E3 78 */	mr r3, r28
/* 8027E5CC 0027A22C  48 00 51 45 */	bl GXSetTevDirect
/* 8027E5D0 0027A230  3B 9C 00 01 */	addi r28, r28, 1
/* 8027E5D4 0027A234  28 1C 00 10 */	cmplwi r28, 0x10
/* 8027E5D8 0027A238  41 80 FF F0 */	blt lbl_8027E5C8
/* 8027E5DC 0027A23C  38 60 00 00 */	li r3, 0
/* 8027E5E0 0027A240  48 00 51 11 */	bl GXSetNumIndStages
/* 8027E5E4 0027A244  38 60 00 00 */	li r3, 0
/* 8027E5E8 0027A248  38 80 00 00 */	li r4, 0
/* 8027E5EC 0027A24C  38 A0 00 00 */	li r5, 0
/* 8027E5F0 0027A250  48 00 4F 31 */	bl GXSetIndTexCoordScale
/* 8027E5F4 0027A254  38 60 00 01 */	li r3, 1
/* 8027E5F8 0027A258  38 80 00 00 */	li r4, 0
/* 8027E5FC 0027A25C  38 A0 00 00 */	li r5, 0
/* 8027E600 0027A260  48 00 4F 21 */	bl GXSetIndTexCoordScale
/* 8027E604 0027A264  38 60 00 02 */	li r3, 2
/* 8027E608 0027A268  38 80 00 00 */	li r4, 0
/* 8027E60C 0027A26C  38 A0 00 00 */	li r5, 0
/* 8027E610 0027A270  48 00 4F 11 */	bl GXSetIndTexCoordScale
/* 8027E614 0027A274  38 60 00 03 */	li r3, 3
/* 8027E618 0027A278  38 80 00 00 */	li r4, 0
/* 8027E61C 0027A27C  38 A0 00 00 */	li r5, 0
/* 8027E620 0027A280  48 00 4F 01 */	bl GXSetIndTexCoordScale
/* 8027E624 0027A284  C0 42 A0 E4 */	lfs f2, lbl_806426E4-_SDA2_BASE_(r2)
/* 8027E628 0027A288  38 81 00 08 */	addi r4, r1, 8
/* 8027E62C 0027A28C  93 E1 00 08 */	stw r31, 8(r1)
/* 8027E630 0027A290  38 60 00 00 */	li r3, 0
/* 8027E634 0027A294  FC 80 10 90 */	fmr f4, f2
/* 8027E638 0027A298  C0 22 A0 D8 */	lfs f1, lbl_806426D8-_SDA2_BASE_(r2)
/* 8027E63C 0027A29C  C0 62 A0 E8 */	lfs f3, lbl_806426E8-_SDA2_BASE_(r2)
/* 8027E640 0027A2A0  48 00 5B 81 */	bl GXSetFog
/* 8027E644 0027A2A4  38 60 00 00 */	li r3, 0
/* 8027E648 0027A2A8  38 80 00 00 */	li r4, 0
/* 8027E64C 0027A2AC  38 A0 00 00 */	li r5, 0
/* 8027E650 0027A2B0  48 00 5F 29 */	bl GXSetFogRangeAdj
/* 8027E654 0027A2B4  38 60 00 00 */	li r3, 0
/* 8027E658 0027A2B8  38 80 00 04 */	li r4, 4
/* 8027E65C 0027A2BC  38 A0 00 05 */	li r5, 5
/* 8027E660 0027A2C0  38 C0 00 00 */	li r6, 0
/* 8027E664 0027A2C4  48 00 60 39 */	bl GXSetBlendMode
/* 8027E668 0027A2C8  38 60 00 01 */	li r3, 1
/* 8027E66C 0027A2CC  48 00 60 81 */	bl GXSetColorUpdate
/* 8027E670 0027A2D0  38 60 00 01 */	li r3, 1
/* 8027E674 0027A2D4  48 00 60 A5 */	bl GXSetAlphaUpdate
/* 8027E678 0027A2D8  38 60 00 01 */	li r3, 1
/* 8027E67C 0027A2DC  38 80 00 03 */	li r4, 3
/* 8027E680 0027A2E0  38 A0 00 01 */	li r5, 1
/* 8027E684 0027A2E4  48 00 60 C1 */	bl GXSetZMode
/* 8027E688 0027A2E8  38 60 00 01 */	li r3, 1
/* 8027E68C 0027A2EC  48 00 60 ED */	bl GXSetZCompLoc
/* 8027E690 0027A2F0  38 60 00 01 */	li r3, 1
/* 8027E694 0027A2F4  48 00 61 BD */	bl GXSetDither
/* 8027E698 0027A2F8  38 60 00 00 */	li r3, 0
/* 8027E69C 0027A2FC  38 80 00 00 */	li r4, 0
/* 8027E6A0 0027A300  48 00 61 DD */	bl GXSetDstAlpha
/* 8027E6A4 0027A304  38 60 00 00 */	li r3, 0
/* 8027E6A8 0027A308  38 80 00 00 */	li r4, 0
/* 8027E6AC 0027A30C  48 00 60 FD */	bl GXSetPixelFmt
/* 8027E6B0 0027A310  38 60 00 01 */	li r3, 1
/* 8027E6B4 0027A314  38 80 00 01 */	li r4, 1
/* 8027E6B8 0027A318  48 00 61 F5 */	bl GXSetFieldMask
/* 8027E6BC 0027A31C  A0 1D 00 08 */	lhz r0, 8(r29)
/* 8027E6C0 0027A320  A0 7D 00 10 */	lhz r3, 0x10(r29)
/* 8027E6C4 0027A324  54 00 08 3C */	slwi r0, r0, 1
/* 8027E6C8 0027A328  7C 03 00 00 */	cmpw r3, r0
/* 8027E6CC 0027A32C  40 82 00 0C */	bne lbl_8027E6D8
/* 8027E6D0 0027A330  38 80 00 01 */	li r4, 1
/* 8027E6D4 0027A334  48 00 00 08 */	b lbl_8027E6DC
lbl_8027E6D8:
/* 8027E6D8 0027A338  38 80 00 00 */	li r4, 0
lbl_8027E6DC:
/* 8027E6DC 0027A33C  88 7D 00 18 */	lbz r3, 0x18(r29)
/* 8027E6E0 0027A340  48 00 62 01 */	bl GXSetFieldMode
/* 8027E6E4 0027A344  A0 BD 00 04 */	lhz r5, 4(r29)
/* 8027E6E8 0027A348  38 60 00 00 */	li r3, 0
/* 8027E6EC 0027A34C  A0 DD 00 06 */	lhz r6, 6(r29)
/* 8027E6F0 0027A350  38 80 00 00 */	li r4, 0
/* 8027E6F4 0027A354  48 00 2D 79 */	bl GXSetDispCopySrc
/* 8027E6F8 0027A358  A0 7D 00 04 */	lhz r3, 4(r29)
/* 8027E6FC 0027A35C  A0 9D 00 06 */	lhz r4, 6(r29)
/* 8027E700 0027A360  48 00 2D ED */	bl GXSetDispCopyDst
/* 8027E704 0027A364  A0 7D 00 08 */	lhz r3, 8(r29)
/* 8027E708 0027A368  A0 1D 00 06 */	lhz r0, 6(r29)
/* 8027E70C 0027A36C  90 61 00 7C */	stw r3, 0x7c(r1)
/* 8027E710 0027A370  C8 42 A0 F0 */	lfd f2, lbl_806426F0-_SDA2_BASE_(r2)
/* 8027E714 0027A374  90 01 00 84 */	stw r0, 0x84(r1)
/* 8027E718 0027A378  C8 21 00 78 */	lfd f1, 0x78(r1)
/* 8027E71C 0027A37C  C8 01 00 80 */	lfd f0, 0x80(r1)
/* 8027E720 0027A380  EC 21 10 28 */	fsubs f1, f1, f2
/* 8027E724 0027A384  EC 00 10 28 */	fsubs f0, f0, f2
/* 8027E728 0027A388  EC 21 00 24 */	fdivs f1, f1, f0
/* 8027E72C 0027A38C  48 00 32 05 */	bl GXSetDispCopyYScale
/* 8027E730 0027A390  38 60 00 03 */	li r3, 3
/* 8027E734 0027A394  48 00 2F 19 */	bl GXSetCopyClamp
/* 8027E738 0027A398  88 7D 00 19 */	lbz r3, 0x19(r29)
/* 8027E73C 0027A39C  38 9D 00 1A */	addi r4, r29, 0x1a
/* 8027E740 0027A3A0  38 DD 00 32 */	addi r6, r29, 0x32
/* 8027E744 0027A3A4  38 A0 00 01 */	li r5, 1
/* 8027E748 0027A3A8  48 00 33 2D */	bl GXSetCopyFilter
/* 8027E74C 0027A3AC  38 60 00 00 */	li r3, 0
/* 8027E750 0027A3B0  48 00 35 09 */	bl GXSetDispCopyGamma
/* 8027E754 0027A3B4  38 60 00 00 */	li r3, 0
/* 8027E758 0027A3B8  48 00 2E D5 */	bl GXSetDispCopyFrame2Field
/* 8027E75C 0027A3BC  48 00 37 A5 */	bl GXClearBoundingBox
/* 8027E760 0027A3C0  38 60 00 01 */	li r3, 1
/* 8027E764 0027A3C4  48 00 25 21 */	bl GXPokeColorUpdate
/* 8027E768 0027A3C8  38 60 00 01 */	li r3, 1
/* 8027E76C 0027A3CC  48 00 24 A9 */	bl GXPokeAlphaUpdate
/* 8027E770 0027A3D0  38 60 00 00 */	li r3, 0
/* 8027E774 0027A3D4  48 00 25 3D */	bl GXPokeDither
/* 8027E778 0027A3D8  38 60 00 00 */	li r3, 0
/* 8027E77C 0027A3DC  38 80 00 00 */	li r4, 0
/* 8027E780 0027A3E0  38 A0 00 01 */	li r5, 1
/* 8027E784 0027A3E4  38 C0 00 0F */	li r6, 0xf
/* 8027E788 0027A3E8  48 00 24 A1 */	bl GXPokeBlendMode
/* 8027E78C 0027A3EC  38 60 00 07 */	li r3, 7
/* 8027E790 0027A3F0  38 80 00 00 */	li r4, 0
/* 8027E794 0027A3F4  48 00 24 59 */	bl GXPokeAlphaMode
/* 8027E798 0027A3F8  38 60 00 01 */	li r3, 1
/* 8027E79C 0027A3FC  48 00 24 61 */	bl GXPokeAlphaRead
/* 8027E7A0 0027A400  38 60 00 00 */	li r3, 0
/* 8027E7A4 0027A404  38 80 00 00 */	li r4, 0
/* 8027E7A8 0027A408  48 00 24 F1 */	bl GXPokeDstAlpha
/* 8027E7AC 0027A40C  38 60 00 01 */	li r3, 1
/* 8027E7B0 0027A410  38 80 00 07 */	li r4, 7
/* 8027E7B4 0027A414  38 A0 00 01 */	li r5, 1
/* 8027E7B8 0027A418  48 00 25 0D */	bl GXPokeZMode
/* 8027E7BC 0027A41C  38 60 00 23 */	li r3, 0x23
/* 8027E7C0 0027A420  38 80 00 16 */	li r4, 0x16
/* 8027E7C4 0027A424  48 00 86 8D */	bl GXSetGPMetric
/* 8027E7C8 0027A428  48 00 8E B5 */	bl GXClearGPMetric
/* 8027E7CC 0027A42C  80 01 00 A4 */	lwz r0, 0xa4(r1)
/* 8027E7D0 0027A430  83 E1 00 9C */	lwz r31, 0x9c(r1)
/* 8027E7D4 0027A434  83 C1 00 98 */	lwz r30, 0x98(r1)
/* 8027E7D8 0027A438  83 A1 00 94 */	lwz r29, 0x94(r1)
/* 8027E7DC 0027A43C  83 81 00 90 */	lwz r28, 0x90(r1)
/* 8027E7E0 0027A440  7C 08 03 A6 */	mtlr r0
/* 8027E7E4 0027A444  38 21 00 A0 */	addi r1, r1, 0xa0
/* 8027E7E8 0027A448  4E 80 00 20 */	blr