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
|
.include "macros.inc"
.section .text, "ax" # 0x80006980 - 0x803E1E60
.global GXCPInterruptHandler
GXCPInterruptHandler:
/* 8027E7EC 0027A44C 94 21 FD 20 */ stwu r1, -0x2e0(r1)
/* 8027E7F0 0027A450 7C 08 02 A6 */ mflr r0
/* 8027E7F4 0027A454 90 01 02 E4 */ stw r0, 0x2e4(r1)
/* 8027E7F8 0027A458 93 E1 02 DC */ stw r31, 0x2dc(r1)
/* 8027E7FC 0027A45C 83 E2 A0 D0 */ lwz r31, lbl_806426D0-_SDA2_BASE_(r2)
/* 8027E800 0027A460 93 C1 02 D8 */ stw r30, 0x2d8(r1)
/* 8027E804 0027A464 7C 9E 23 78 */ mr r30, r4
/* 8027E808 0027A468 80 6D A9 94 */ lwz r3, lbl_8063FC54-_SDA_BASE_(r13)
/* 8027E80C 0027A46C A0 03 00 00 */ lhz r0, 0(r3)
/* 8027E810 0027A470 90 1F 00 0C */ stw r0, 0xc(r31)
/* 8027E814 0027A474 80 1F 00 08 */ lwz r0, 8(r31)
/* 8027E818 0027A478 54 00 EF FF */ rlwinm. r0, r0, 0x1d, 0x1f, 0x1f
/* 8027E81C 0027A47C 41 82 00 50 */ beq lbl_8027E86C
/* 8027E820 0027A480 80 1F 00 0C */ lwz r0, 0xc(r31)
/* 8027E824 0027A484 54 00 FF FF */ rlwinm. r0, r0, 0x1f, 0x1f, 0x1f
/* 8027E828 0027A488 41 82 00 44 */ beq lbl_8027E86C
/* 8027E82C 0027A48C 80 6D A9 CC */ lwz r3, lbl_8063FC8C-_SDA_BASE_(r13)
/* 8027E830 0027A490 4B FF 37 19 */ bl OSResumeThread
/* 8027E834 0027A494 38 00 00 00 */ li r0, 0
/* 8027E838 0027A498 80 62 A0 D0 */ lwz r3, lbl_806426D0-_SDA2_BASE_(r2)
/* 8027E83C 0027A49C 90 0D A9 C8 */ stw r0, lbl_8063FC88-_SDA_BASE_(r13)
/* 8027E840 0027A4A0 80 03 00 10 */ lwz r0, 0x10(r3)
/* 8027E844 0027A4A4 60 00 00 03 */ ori r0, r0, 3
/* 8027E848 0027A4A8 90 03 00 10 */ stw r0, 0x10(r3)
/* 8027E84C 0027A4AC 80 6D A9 94 */ lwz r3, lbl_8063FC54-_SDA_BASE_(r13)
/* 8027E850 0027A4B0 B0 03 00 04 */ sth r0, 4(r3)
/* 8027E854 0027A4B4 80 1F 00 08 */ lwz r0, 8(r31)
/* 8027E858 0027A4B8 60 00 00 04 */ ori r0, r0, 4
/* 8027E85C 0027A4BC 54 00 07 76 */ rlwinm r0, r0, 0, 0x1d, 0x1b
/* 8027E860 0027A4C0 90 1F 00 08 */ stw r0, 8(r31)
/* 8027E864 0027A4C4 80 6D A9 94 */ lwz r3, lbl_8063FC54-_SDA_BASE_(r13)
/* 8027E868 0027A4C8 B0 03 00 02 */ sth r0, 2(r3)
lbl_8027E86C:
/* 8027E86C 0027A4CC 80 1F 00 08 */ lwz r0, 8(r31)
/* 8027E870 0027A4D0 54 00 F7 FF */ rlwinm. r0, r0, 0x1e, 0x1f, 0x1f
/* 8027E874 0027A4D4 41 82 00 60 */ beq lbl_8027E8D4
/* 8027E878 0027A4D8 80 1F 00 0C */ lwz r0, 0xc(r31)
/* 8027E87C 0027A4DC 54 00 07 FF */ clrlwi. r0, r0, 0x1f
/* 8027E880 0027A4E0 41 82 00 54 */ beq lbl_8027E8D4
/* 8027E884 0027A4E4 80 6D A9 BC */ lwz r3, lbl_8063FC7C-_SDA_BASE_(r13)
/* 8027E888 0027A4E8 38 00 00 01 */ li r0, 1
/* 8027E88C 0027A4EC 80 A2 A0 D0 */ lwz r5, lbl_806426D0-_SDA2_BASE_(r2)
/* 8027E890 0027A4F0 38 63 00 01 */ addi r3, r3, 1
/* 8027E894 0027A4F4 90 6D A9 BC */ stw r3, lbl_8063FC7C-_SDA_BASE_(r13)
/* 8027E898 0027A4F8 80 7F 00 08 */ lwz r3, 8(r31)
/* 8027E89C 0027A4FC 54 64 07 B8 */ rlwinm r4, r3, 0, 0x1e, 0x1c
/* 8027E8A0 0027A500 60 84 00 08 */ ori r4, r4, 8
/* 8027E8A4 0027A504 90 9F 00 08 */ stw r4, 8(r31)
/* 8027E8A8 0027A508 80 6D A9 94 */ lwz r3, lbl_8063FC54-_SDA_BASE_(r13)
/* 8027E8AC 0027A50C B0 83 00 02 */ sth r4, 2(r3)
/* 8027E8B0 0027A510 80 65 00 10 */ lwz r3, 0x10(r5)
/* 8027E8B4 0027A514 60 63 00 01 */ ori r3, r3, 1
/* 8027E8B8 0027A518 54 64 07 FA */ rlwinm r4, r3, 0, 0x1f, 0x1d
/* 8027E8BC 0027A51C 90 85 00 10 */ stw r4, 0x10(r5)
/* 8027E8C0 0027A520 80 6D A9 94 */ lwz r3, lbl_8063FC54-_SDA_BASE_(r13)
/* 8027E8C4 0027A524 B0 83 00 04 */ sth r4, 4(r3)
/* 8027E8C8 0027A528 90 0D A9 C8 */ stw r0, lbl_8063FC88-_SDA_BASE_(r13)
/* 8027E8CC 0027A52C 80 6D A9 CC */ lwz r3, lbl_8063FC8C-_SDA_BASE_(r13)
/* 8027E8D0 0027A530 4B FF 39 11 */ bl OSSuspendThread
lbl_8027E8D4:
/* 8027E8D4 0027A534 80 7F 00 08 */ lwz r3, 8(r31)
/* 8027E8D8 0027A538 54 60 DF FF */ rlwinm. r0, r3, 0x1b, 0x1f, 0x1f
/* 8027E8DC 0027A53C 41 82 00 58 */ beq lbl_8027E934
/* 8027E8E0 0027A540 80 1F 00 0C */ lwz r0, 0xc(r31)
/* 8027E8E4 0027A544 54 00 E7 FF */ rlwinm. r0, r0, 0x1c, 0x1f, 0x1f
/* 8027E8E8 0027A548 41 82 00 4C */ beq lbl_8027E934
/* 8027E8EC 0027A54C 54 60 06 F2 */ rlwinm r0, r3, 0, 0x1b, 0x19
/* 8027E8F0 0027A550 90 1F 00 08 */ stw r0, 8(r31)
/* 8027E8F4 0027A554 80 6D A9 94 */ lwz r3, lbl_8063FC54-_SDA_BASE_(r13)
/* 8027E8F8 0027A558 B0 03 00 02 */ sth r0, 2(r3)
/* 8027E8FC 0027A55C 80 0D A9 C4 */ lwz r0, lbl_8063FC84-_SDA_BASE_(r13)
/* 8027E900 0027A560 2C 00 00 00 */ cmpwi r0, 0
/* 8027E904 0027A564 41 82 00 30 */ beq lbl_8027E934
/* 8027E908 0027A568 38 61 00 08 */ addi r3, r1, 8
/* 8027E90C 0027A56C 4B FE C7 85 */ bl OSClearContext
/* 8027E910 0027A570 38 61 00 08 */ addi r3, r1, 8
/* 8027E914 0027A574 4B FE C5 55 */ bl OSSetCurrentContext
/* 8027E918 0027A578 81 8D A9 C4 */ lwz r12, lbl_8063FC84-_SDA_BASE_(r13)
/* 8027E91C 0027A57C 7D 89 03 A6 */ mtctr r12
/* 8027E920 0027A580 4E 80 04 21 */ bctrl
/* 8027E924 0027A584 38 61 00 08 */ addi r3, r1, 8
/* 8027E928 0027A588 4B FE C7 69 */ bl OSClearContext
/* 8027E92C 0027A58C 7F C3 F3 78 */ mr r3, r30
/* 8027E930 0027A590 4B FE C5 39 */ bl OSSetCurrentContext
lbl_8027E934:
/* 8027E934 0027A594 80 01 02 E4 */ lwz r0, 0x2e4(r1)
/* 8027E938 0027A598 83 E1 02 DC */ lwz r31, 0x2dc(r1)
/* 8027E93C 0027A59C 83 C1 02 D8 */ lwz r30, 0x2d8(r1)
/* 8027E940 0027A5A0 7C 08 03 A6 */ mtlr r0
/* 8027E944 0027A5A4 38 21 02 E0 */ addi r1, r1, 0x2e0
/* 8027E948 0027A5A8 4E 80 00 20 */ blr
.global GXInitFifoBase
GXInitFifoBase:
/* 8027E94C 0027A5AC 94 21 FF E0 */ stwu r1, -0x20(r1)
/* 8027E950 0027A5B0 7C 08 02 A6 */ mflr r0
/* 8027E954 0027A5B4 7C E4 2A 14 */ add r7, r4, r5
/* 8027E958 0027A5B8 38 C5 C0 00 */ addi r6, r5, -16384
/* 8027E95C 0027A5BC 90 01 00 24 */ stw r0, 0x24(r1)
/* 8027E960 0027A5C0 38 E7 FF FC */ addi r7, r7, -4
/* 8027E964 0027A5C4 54 A0 F8 74 */ rlwinm r0, r5, 0x1f, 1, 0x1a
/* 8027E968 0027A5C8 93 E1 00 1C */ stw r31, 0x1c(r1)
/* 8027E96C 0027A5CC 3B E0 00 00 */ li r31, 0
/* 8027E970 0027A5D0 93 C1 00 18 */ stw r30, 0x18(r1)
/* 8027E974 0027A5D4 7C 9E 23 78 */ mr r30, r4
/* 8027E978 0027A5D8 93 A1 00 14 */ stw r29, 0x14(r1)
/* 8027E97C 0027A5DC 7C 7D 1B 78 */ mr r29, r3
/* 8027E980 0027A5E0 90 83 00 00 */ stw r4, 0(r3)
/* 8027E984 0027A5E4 90 E3 00 04 */ stw r7, 4(r3)
/* 8027E988 0027A5E8 90 A3 00 08 */ stw r5, 8(r3)
/* 8027E98C 0027A5EC 93 E3 00 1C */ stw r31, 0x1c(r3)
/* 8027E990 0027A5F0 90 C3 00 0C */ stw r6, 0xc(r3)
/* 8027E994 0027A5F4 90 03 00 10 */ stw r0, 0x10(r3)
/* 8027E998 0027A5F8 4B FE FD C5 */ bl OSDisableInterrupts
/* 8027E99C 0027A5FC 2C 1F 00 00 */ cmpwi r31, 0
/* 8027E9A0 0027A600 93 DD 00 14 */ stw r30, 0x14(r29)
/* 8027E9A4 0027A604 93 DD 00 18 */ stw r30, 0x18(r29)
/* 8027E9A8 0027A608 93 FD 00 1C */ stw r31, 0x1c(r29)
/* 8027E9AC 0027A60C 40 80 00 0C */ bge lbl_8027E9B8
/* 8027E9B0 0027A610 80 1D 00 08 */ lwz r0, 8(r29)
/* 8027E9B4 0027A614 90 1D 00 1C */ stw r0, 0x1c(r29)
lbl_8027E9B8:
/* 8027E9B8 0027A618 4B FE FD CD */ bl OSRestoreInterrupts
/* 8027E9BC 0027A61C 80 01 00 24 */ lwz r0, 0x24(r1)
/* 8027E9C0 0027A620 83 E1 00 1C */ lwz r31, 0x1c(r1)
/* 8027E9C4 0027A624 83 C1 00 18 */ lwz r30, 0x18(r1)
/* 8027E9C8 0027A628 83 A1 00 14 */ lwz r29, 0x14(r1)
/* 8027E9CC 0027A62C 7C 08 03 A6 */ mtlr r0
/* 8027E9D0 0027A630 38 21 00 20 */ addi r1, r1, 0x20
/* 8027E9D4 0027A634 4E 80 00 20 */ blr
.global CPGPLinkCheck
CPGPLinkCheck:
/* 8027E9D8 0027A638 94 21 FF F0 */ stwu r1, -0x10(r1)
/* 8027E9DC 0027A63C 7C 08 02 A6 */ mflr r0
/* 8027E9E0 0027A640 38 E0 00 00 */ li r7, 0
/* 8027E9E4 0027A644 90 01 00 14 */ stw r0, 0x14(r1)
/* 8027E9E8 0027A648 88 0D A9 B8 */ lbz r0, lbl_8063FC78-_SDA_BASE_(r13)
/* 8027E9EC 0027A64C 2C 00 00 00 */ cmpwi r0, 0
/* 8027E9F0 0027A650 41 82 00 10 */ beq lbl_8027EA00
/* 8027E9F4 0027A654 88 0D A9 B9 */ lbz r0, lbl_8063FC79-_SDA_BASE_(r13)
/* 8027E9F8 0027A658 2C 00 00 00 */ cmpwi r0, 0
/* 8027E9FC 0027A65C 40 82 00 0C */ bne lbl_8027EA08
lbl_8027EA00:
/* 8027EA00 0027A660 38 60 00 00 */ li r3, 0
/* 8027EA04 0027A664 48 00 00 BC */ b lbl_8027EAC0
lbl_8027EA08:
/* 8027EA08 0027A668 3C 80 80 51 */ lis r4, lbl_80515FB0@ha
/* 8027EA0C 0027A66C 3C 60 80 51 */ lis r3, lbl_80515FD4@ha
/* 8027EA10 0027A670 80 C4 5F B0 */ lwz r6, lbl_80515FB0@l(r4)
/* 8027EA14 0027A674 80 83 5F D4 */ lwz r4, lbl_80515FD4@l(r3)
/* 8027EA18 0027A678 7C 04 30 40 */ cmplw r4, r6
/* 8027EA1C 0027A67C 40 82 00 08 */ bne lbl_8027EA24
/* 8027EA20 0027A680 38 E0 00 01 */ li r7, 1
lbl_8027EA24:
/* 8027EA24 0027A684 3C A0 80 51 */ lis r5, lbl_80515FB0@ha
/* 8027EA28 0027A688 3C 60 80 51 */ lis r3, lbl_80515FD4@ha
/* 8027EA2C 0027A68C 38 A5 5F B0 */ addi r5, r5, lbl_80515FB0@l
/* 8027EA30 0027A690 38 63 5F D4 */ addi r3, r3, lbl_80515FD4@l
/* 8027EA34 0027A694 80 05 00 04 */ lwz r0, 4(r5)
/* 8027EA38 0027A698 80 A3 00 04 */ lwz r5, 4(r3)
/* 8027EA3C 0027A69C 7C 05 00 40 */ cmplw r5, r0
/* 8027EA40 0027A6A0 40 82 00 08 */ bne lbl_8027EA48
/* 8027EA44 0027A6A4 38 E7 00 01 */ addi r7, r7, 1
lbl_8027EA48:
/* 8027EA48 0027A6A8 28 07 00 02 */ cmplwi r7, 2
/* 8027EA4C 0027A6AC 40 82 00 0C */ bne lbl_8027EA58
/* 8027EA50 0027A6B0 38 60 00 01 */ li r3, 1
/* 8027EA54 0027A6B4 48 00 00 6C */ b lbl_8027EAC0
lbl_8027EA58:
/* 8027EA58 0027A6B8 7C 66 28 51 */ subf. r3, r6, r5
/* 8027EA5C 0027A6BC 7C C4 00 50 */ subf r6, r4, r0
/* 8027EA60 0027A6C0 38 00 00 00 */ li r0, 0
/* 8027EA64 0027A6C4 40 81 00 0C */ ble lbl_8027EA70
/* 8027EA68 0027A6C8 2C 06 00 00 */ cmpwi r6, 0
/* 8027EA6C 0027A6CC 41 81 00 14 */ bgt lbl_8027EA80
lbl_8027EA70:
/* 8027EA70 0027A6D0 2C 03 00 00 */ cmpwi r3, 0
/* 8027EA74 0027A6D4 40 80 00 10 */ bge lbl_8027EA84
/* 8027EA78 0027A6D8 2C 06 00 00 */ cmpwi r6, 0
/* 8027EA7C 0027A6DC 40 80 00 08 */ bge lbl_8027EA84
lbl_8027EA80:
/* 8027EA80 0027A6E0 38 00 00 01 */ li r0, 1
lbl_8027EA84:
/* 8027EA84 0027A6E4 2C 00 00 00 */ cmpwi r0, 0
/* 8027EA88 0027A6E8 41 82 00 34 */ beq lbl_8027EABC
/* 8027EA8C 0027A6EC 3C 60 80 43 */ lis r3, lbl_80434CE0@ha
/* 8027EA90 0027A6F0 38 63 4C E0 */ addi r3, r3, lbl_80434CE0@l
/* 8027EA94 0027A6F4 4C C6 31 82 */ crclr 6
/* 8027EA98 0027A6F8 4B D8 90 2D */ bl OSReport
/* 8027EA9C 0027A6FC 3C 80 80 51 */ lis r4, lbl_80515FB0@ha
/* 8027EAA0 0027A700 3C 60 80 43 */ lis r3, lbl_80434CF8@ha
/* 8027EAA4 0027A704 38 A4 5F B0 */ addi r5, r4, lbl_80515FB0@l
/* 8027EAA8 0027A708 80 84 5F B0 */ lwz r4, 0x5fb0(r4)
/* 8027EAAC 0027A70C 80 A5 00 04 */ lwz r5, 4(r5)
/* 8027EAB0 0027A710 38 63 4C F8 */ addi r3, r3, lbl_80434CF8@l
/* 8027EAB4 0027A714 4C C6 31 82 */ crclr 6
/* 8027EAB8 0027A718 4B D8 90 0D */ bl OSReport
lbl_8027EABC:
/* 8027EABC 0027A71C 38 60 00 00 */ li r3, 0
lbl_8027EAC0:
/* 8027EAC0 0027A720 80 01 00 14 */ lwz r0, 0x14(r1)
/* 8027EAC4 0027A724 7C 08 03 A6 */ mtlr r0
/* 8027EAC8 0027A728 38 21 00 10 */ addi r1, r1, 0x10
/* 8027EACC 0027A72C 4E 80 00 20 */ blr
.global GXSetCPUFifo
GXSetCPUFifo:
/* 8027EAD0 0027A730 94 21 FF E0 */ stwu r1, -0x20(r1)
/* 8027EAD4 0027A734 7C 08 02 A6 */ mflr r0
/* 8027EAD8 0027A738 90 01 00 24 */ stw r0, 0x24(r1)
/* 8027EADC 0027A73C 39 61 00 20 */ addi r11, r1, 0x20
/* 8027EAE0 0027A740 4B F4 86 49 */ bl _savegpr_27
/* 8027EAE4 0027A744 7C 7B 1B 78 */ mr r27, r3
/* 8027EAE8 0027A748 4B FE FC 75 */ bl OSDisableInterrupts
/* 8027EAEC 0027A74C 2C 1B 00 00 */ cmpwi r27, 0
/* 8027EAF0 0027A750 7C 7E 1B 78 */ mr r30, r3
/* 8027EAF4 0027A754 40 82 00 28 */ bne lbl_8027EB1C
/* 8027EAF8 0027A758 3C 80 80 51 */ lis r4, lbl_80515FD4@ha
/* 8027EAFC 0027A75C 38 00 00 00 */ li r0, 0
/* 8027EB00 0027A760 38 84 5F D4 */ addi r4, r4, lbl_80515FD4@l
/* 8027EB04 0027A764 98 0D A9 B8 */ stb r0, lbl_8063FC78-_SDA_BASE_(r13)
/* 8027EB08 0027A768 98 0D A9 D0 */ stb r0, lbl_8063FC90-_SDA_BASE_(r13)
/* 8027EB0C 0027A76C 98 04 00 22 */ stb r0, 0x22(r4)
/* 8027EB10 0027A770 98 04 00 21 */ stb r0, 0x21(r4)
/* 8027EB14 0027A774 4B FE FC 71 */ bl OSRestoreInterrupts
/* 8027EB18 0027A778 48 00 01 80 */ b lbl_8027EC98
lbl_8027EB1C:
/* 8027EB1C 0027A77C 3F 80 80 51 */ lis r28, lbl_80515FD4@ha
/* 8027EB20 0027A780 80 7B 00 00 */ lwz r3, 0(r27)
/* 8027EB24 0027A784 80 1B 00 04 */ lwz r0, 4(r27)
/* 8027EB28 0027A788 3B FC 5F D4 */ addi r31, r28, lbl_80515FD4@l
/* 8027EB2C 0027A78C 3B A0 00 01 */ li r29, 1
/* 8027EB30 0027A790 90 7F 00 00 */ stw r3, 0(r31)
/* 8027EB34 0027A794 90 1F 00 04 */ stw r0, 4(r31)
/* 8027EB38 0027A798 80 7B 00 08 */ lwz r3, 8(r27)
/* 8027EB3C 0027A79C 80 1B 00 0C */ lwz r0, 0xc(r27)
/* 8027EB40 0027A7A0 90 7F 00 08 */ stw r3, 8(r31)
/* 8027EB44 0027A7A4 90 1F 00 0C */ stw r0, 0xc(r31)
/* 8027EB48 0027A7A8 80 7B 00 10 */ lwz r3, 0x10(r27)
/* 8027EB4C 0027A7AC 80 1B 00 14 */ lwz r0, 0x14(r27)
/* 8027EB50 0027A7B0 90 7F 00 10 */ stw r3, 0x10(r31)
/* 8027EB54 0027A7B4 90 1F 00 14 */ stw r0, 0x14(r31)
/* 8027EB58 0027A7B8 80 7B 00 18 */ lwz r3, 0x18(r27)
/* 8027EB5C 0027A7BC 80 1B 00 1C */ lwz r0, 0x1c(r27)
/* 8027EB60 0027A7C0 90 7F 00 18 */ stw r3, 0x18(r31)
/* 8027EB64 0027A7C4 90 1F 00 1C */ stw r0, 0x1c(r31)
/* 8027EB68 0027A7C8 80 1B 00 20 */ lwz r0, 0x20(r27)
/* 8027EB6C 0027A7CC 90 1F 00 20 */ stw r0, 0x20(r31)
/* 8027EB70 0027A7D0 9B AD A9 B8 */ stb r29, lbl_8063FC78-_SDA_BASE_(r13)
/* 8027EB74 0027A7D4 9B BF 00 21 */ stb r29, 0x21(r31)
/* 8027EB78 0027A7D8 4B FF FE 61 */ bl CPGPLinkCheck
/* 8027EB7C 0027A7DC 54 60 06 3F */ clrlwi. r0, r3, 0x18
/* 8027EB80 0027A7E0 41 82 00 88 */ beq lbl_8027EC08
/* 8027EB84 0027A7E4 80 9C 5F D4 */ lwz r4, 0x5fd4(r28)
/* 8027EB88 0027A7E8 38 00 00 00 */ li r0, 0
/* 8027EB8C 0027A7EC 9B AD A9 D0 */ stb r29, lbl_8063FC90-_SDA_BASE_(r13)
/* 8027EB90 0027A7F0 80 6D A9 90 */ lwz r3, lbl_8063FC50-_SDA_BASE_(r13)
/* 8027EB94 0027A7F4 54 84 00 BE */ clrlwi r4, r4, 2
/* 8027EB98 0027A7F8 9B BF 00 22 */ stb r29, 0x22(r31)
/* 8027EB9C 0027A7FC 80 A2 A0 D0 */ lwz r5, lbl_806426D0-_SDA2_BASE_(r2)
/* 8027EBA0 0027A800 90 83 00 0C */ stw r4, 0xc(r3)
/* 8027EBA4 0027A804 80 9F 00 04 */ lwz r4, 4(r31)
/* 8027EBA8 0027A808 80 6D A9 90 */ lwz r3, lbl_8063FC50-_SDA_BASE_(r13)
/* 8027EBAC 0027A80C 54 84 00 BE */ clrlwi r4, r4, 2
/* 8027EBB0 0027A810 90 83 00 10 */ stw r4, 0x10(r3)
/* 8027EBB4 0027A814 80 9F 00 18 */ lwz r4, 0x18(r31)
/* 8027EBB8 0027A818 80 6D A9 90 */ lwz r3, lbl_8063FC50-_SDA_BASE_(r13)
/* 8027EBBC 0027A81C 50 80 00 F4 */ rlwimi r0, r4, 0, 3, 0x1a
/* 8027EBC0 0027A820 90 03 00 14 */ stw r0, 0x14(r3)
/* 8027EBC4 0027A824 80 05 00 10 */ lwz r0, 0x10(r5)
/* 8027EBC8 0027A828 60 00 00 03 */ ori r0, r0, 3
/* 8027EBCC 0027A82C 90 05 00 10 */ stw r0, 0x10(r5)
/* 8027EBD0 0027A830 80 6D A9 94 */ lwz r3, lbl_8063FC54-_SDA_BASE_(r13)
/* 8027EBD4 0027A834 B0 03 00 04 */ sth r0, 4(r3)
/* 8027EBD8 0027A838 80 05 00 08 */ lwz r0, 8(r5)
/* 8027EBDC 0027A83C 60 00 00 04 */ ori r0, r0, 4
/* 8027EBE0 0027A840 54 00 07 76 */ rlwinm r0, r0, 0, 0x1d, 0x1b
/* 8027EBE4 0027A844 90 05 00 08 */ stw r0, 8(r5)
/* 8027EBE8 0027A848 80 6D A9 94 */ lwz r3, lbl_8063FC54-_SDA_BASE_(r13)
/* 8027EBEC 0027A84C B0 03 00 02 */ sth r0, 2(r3)
/* 8027EBF0 0027A850 80 05 00 08 */ lwz r0, 8(r5)
/* 8027EBF4 0027A854 60 00 00 10 */ ori r0, r0, 0x10
/* 8027EBF8 0027A858 90 05 00 08 */ stw r0, 8(r5)
/* 8027EBFC 0027A85C 80 6D A9 94 */ lwz r3, lbl_8063FC54-_SDA_BASE_(r13)
/* 8027EC00 0027A860 B0 03 00 02 */ sth r0, 2(r3)
/* 8027EC04 0027A864 48 00 00 88 */ b lbl_8027EC8C
lbl_8027EC08:
/* 8027EC08 0027A868 88 0D A9 D0 */ lbz r0, lbl_8063FC90-_SDA_BASE_(r13)
/* 8027EC0C 0027A86C 38 80 00 00 */ li r4, 0
/* 8027EC10 0027A870 98 9F 00 22 */ stb r4, 0x22(r31)
/* 8027EC14 0027A874 2C 00 00 00 */ cmpwi r0, 0
/* 8027EC18 0027A878 41 82 00 20 */ beq lbl_8027EC38
/* 8027EC1C 0027A87C 80 62 A0 D0 */ lwz r3, lbl_806426D0-_SDA2_BASE_(r2)
/* 8027EC20 0027A880 80 03 00 08 */ lwz r0, 8(r3)
/* 8027EC24 0027A884 54 00 07 34 */ rlwinm r0, r0, 0, 0x1c, 0x1a
/* 8027EC28 0027A888 90 03 00 08 */ stw r0, 8(r3)
/* 8027EC2C 0027A88C 80 6D A9 94 */ lwz r3, lbl_8063FC54-_SDA_BASE_(r13)
/* 8027EC30 0027A890 B0 03 00 02 */ sth r0, 2(r3)
/* 8027EC34 0027A894 98 8D A9 D0 */ stb r4, lbl_8063FC90-_SDA_BASE_(r13)
lbl_8027EC38:
/* 8027EC38 0027A898 80 E2 A0 D0 */ lwz r7, lbl_806426D0-_SDA2_BASE_(r2)
/* 8027EC3C 0027A89C 3C 60 80 51 */ lis r3, lbl_80515FD4@ha
/* 8027EC40 0027A8A0 38 A3 5F D4 */ addi r5, r3, lbl_80515FD4@l
/* 8027EC44 0027A8A4 38 00 00 00 */ li r0, 0
/* 8027EC48 0027A8A8 80 87 00 08 */ lwz r4, 8(r7)
/* 8027EC4C 0027A8AC 54 86 07 B6 */ rlwinm r6, r4, 0, 0x1e, 0x1b
/* 8027EC50 0027A8B0 90 C7 00 08 */ stw r6, 8(r7)
/* 8027EC54 0027A8B4 80 8D A9 94 */ lwz r4, lbl_8063FC54-_SDA_BASE_(r13)
/* 8027EC58 0027A8B8 B0 C4 00 02 */ sth r6, 2(r4)
/* 8027EC5C 0027A8BC 80 83 5F D4 */ lwz r4, 0x5fd4(r3)
/* 8027EC60 0027A8C0 80 6D A9 90 */ lwz r3, lbl_8063FC50-_SDA_BASE_(r13)
/* 8027EC64 0027A8C4 54 84 00 BE */ clrlwi r4, r4, 2
/* 8027EC68 0027A8C8 90 83 00 0C */ stw r4, 0xc(r3)
/* 8027EC6C 0027A8CC 80 85 00 04 */ lwz r4, 4(r5)
/* 8027EC70 0027A8D0 80 6D A9 90 */ lwz r3, lbl_8063FC50-_SDA_BASE_(r13)
/* 8027EC74 0027A8D4 54 84 00 BE */ clrlwi r4, r4, 2
/* 8027EC78 0027A8D8 90 83 00 10 */ stw r4, 0x10(r3)
/* 8027EC7C 0027A8DC 80 85 00 18 */ lwz r4, 0x18(r5)
/* 8027EC80 0027A8E0 80 6D A9 90 */ lwz r3, lbl_8063FC50-_SDA_BASE_(r13)
/* 8027EC84 0027A8E4 50 80 00 F4 */ rlwimi r0, r4, 0, 3, 0x1a
/* 8027EC88 0027A8E8 90 03 00 14 */ stw r0, 0x14(r3)
lbl_8027EC8C:
/* 8027EC8C 0027A8EC 4B FE 95 D5 */ bl PPCSync
/* 8027EC90 0027A8F0 7F C3 F3 78 */ mr r3, r30
/* 8027EC94 0027A8F4 4B FE FA F1 */ bl OSRestoreInterrupts
lbl_8027EC98:
/* 8027EC98 0027A8F8 39 61 00 20 */ addi r11, r1, 0x20
/* 8027EC9C 0027A8FC 4B F4 84 D9 */ bl _restgpr_27
/* 8027ECA0 0027A900 80 01 00 24 */ lwz r0, 0x24(r1)
/* 8027ECA4 0027A904 7C 08 03 A6 */ mtlr r0
/* 8027ECA8 0027A908 38 21 00 20 */ addi r1, r1, 0x20
/* 8027ECAC 0027A90C 4E 80 00 20 */ blr
.global GXSetGPFifo
GXSetGPFifo:
/* 8027ECB0 0027A910 94 21 FF E0 */ stwu r1, -0x20(r1)
/* 8027ECB4 0027A914 7C 08 02 A6 */ mflr r0
/* 8027ECB8 0027A918 90 01 00 24 */ stw r0, 0x24(r1)
/* 8027ECBC 0027A91C 39 61 00 20 */ addi r11, r1, 0x20
/* 8027ECC0 0027A920 4B F4 84 69 */ bl _savegpr_27
/* 8027ECC4 0027A924 7C 7B 1B 78 */ mr r27, r3
/* 8027ECC8 0027A928 4B FE FA 95 */ bl OSDisableInterrupts
/* 8027ECCC 0027A92C 83 A2 A0 D0 */ lwz r29, lbl_806426D0-_SDA2_BASE_(r2)
/* 8027ECD0 0027A930 2C 1B 00 00 */ cmpwi r27, 0
/* 8027ECD4 0027A934 7C 7C 1B 78 */ mr r28, r3
/* 8027ECD8 0027A938 80 1D 00 08 */ lwz r0, 8(r29)
/* 8027ECDC 0027A93C 54 00 00 3C */ rlwinm r0, r0, 0, 0, 0x1e
/* 8027ECE0 0027A940 90 1D 00 08 */ stw r0, 8(r29)
/* 8027ECE4 0027A944 80 8D A9 94 */ lwz r4, lbl_8063FC54-_SDA_BASE_(r13)
/* 8027ECE8 0027A948 B0 04 00 02 */ sth r0, 2(r4)
/* 8027ECEC 0027A94C 80 1D 00 08 */ lwz r0, 8(r29)
/* 8027ECF0 0027A950 54 00 07 B6 */ rlwinm r0, r0, 0, 0x1e, 0x1b
/* 8027ECF4 0027A954 90 1D 00 08 */ stw r0, 8(r29)
/* 8027ECF8 0027A958 80 8D A9 94 */ lwz r4, lbl_8063FC54-_SDA_BASE_(r13)
/* 8027ECFC 0027A95C B0 04 00 02 */ sth r0, 2(r4)
/* 8027ED00 0027A960 40 82 00 3C */ bne lbl_8027ED3C
/* 8027ED04 0027A964 38 C0 00 00 */ li r6, 0
/* 8027ED08 0027A968 3C 80 80 51 */ lis r4, lbl_80515FB0@ha
/* 8027ED0C 0027A96C 98 CD A9 B9 */ stb r6, lbl_8063FC79-_SDA_BASE_(r13)
/* 8027ED10 0027A970 38 84 5F B0 */ addi r4, r4, lbl_80515FB0@l
/* 8027ED14 0027A974 98 CD A9 D0 */ stb r6, lbl_8063FC90-_SDA_BASE_(r13)
/* 8027ED18 0027A978 80 1D 00 08 */ lwz r0, 8(r29)
/* 8027ED1C 0027A97C 54 00 07 34 */ rlwinm r0, r0, 0, 0x1c, 0x1a
/* 8027ED20 0027A980 90 1D 00 08 */ stw r0, 8(r29)
/* 8027ED24 0027A984 80 AD A9 94 */ lwz r5, lbl_8063FC54-_SDA_BASE_(r13)
/* 8027ED28 0027A988 B0 05 00 02 */ sth r0, 2(r5)
/* 8027ED2C 0027A98C 98 C4 00 21 */ stb r6, 0x21(r4)
/* 8027ED30 0027A990 98 C4 00 22 */ stb r6, 0x22(r4)
/* 8027ED34 0027A994 4B FE FA 51 */ bl OSRestoreInterrupts
/* 8027ED38 0027A998 48 00 01 F0 */ b lbl_8027EF28
lbl_8027ED3C:
/* 8027ED3C 0027A99C 3C 60 80 51 */ lis r3, lbl_80515FB0@ha
/* 8027ED40 0027A9A0 80 DB 00 00 */ lwz r6, 0(r27)
/* 8027ED44 0027A9A4 80 1B 00 04 */ lwz r0, 4(r27)
/* 8027ED48 0027A9A8 3B C3 5F B0 */ addi r30, r3, lbl_80515FB0@l
/* 8027ED4C 0027A9AC 3B E0 00 01 */ li r31, 1
/* 8027ED50 0027A9B0 80 8D A9 94 */ lwz r4, lbl_8063FC54-_SDA_BASE_(r13)
/* 8027ED54 0027A9B4 90 DE 00 00 */ stw r6, 0(r30)
/* 8027ED58 0027A9B8 90 1E 00 04 */ stw r0, 4(r30)
/* 8027ED5C 0027A9BC 80 BB 00 08 */ lwz r5, 8(r27)
/* 8027ED60 0027A9C0 80 1B 00 0C */ lwz r0, 0xc(r27)
/* 8027ED64 0027A9C4 90 BE 00 08 */ stw r5, 8(r30)
/* 8027ED68 0027A9C8 90 1E 00 0C */ stw r0, 0xc(r30)
/* 8027ED6C 0027A9CC 80 BB 00 10 */ lwz r5, 0x10(r27)
/* 8027ED70 0027A9D0 80 1B 00 14 */ lwz r0, 0x14(r27)
/* 8027ED74 0027A9D4 90 BE 00 10 */ stw r5, 0x10(r30)
/* 8027ED78 0027A9D8 90 1E 00 14 */ stw r0, 0x14(r30)
/* 8027ED7C 0027A9DC 80 BB 00 18 */ lwz r5, 0x18(r27)
/* 8027ED80 0027A9E0 80 1B 00 1C */ lwz r0, 0x1c(r27)
/* 8027ED84 0027A9E4 90 BE 00 18 */ stw r5, 0x18(r30)
/* 8027ED88 0027A9E8 90 1E 00 1C */ stw r0, 0x1c(r30)
/* 8027ED8C 0027A9EC 80 1B 00 20 */ lwz r0, 0x20(r27)
/* 8027ED90 0027A9F0 90 1E 00 20 */ stw r0, 0x20(r30)
/* 8027ED94 0027A9F4 9B ED A9 B9 */ stb r31, lbl_8063FC79-_SDA_BASE_(r13)
/* 8027ED98 0027A9F8 9B FE 00 22 */ stb r31, 0x22(r30)
/* 8027ED9C 0027A9FC B0 C4 00 20 */ sth r6, 0x20(r4)
/* 8027EDA0 0027AA00 80 1E 00 04 */ lwz r0, 4(r30)
/* 8027EDA4 0027AA04 80 8D A9 94 */ lwz r4, lbl_8063FC54-_SDA_BASE_(r13)
/* 8027EDA8 0027AA08 B0 04 00 24 */ sth r0, 0x24(r4)
/* 8027EDAC 0027AA0C 80 1E 00 1C */ lwz r0, 0x1c(r30)
/* 8027EDB0 0027AA10 80 8D A9 94 */ lwz r4, lbl_8063FC54-_SDA_BASE_(r13)
/* 8027EDB4 0027AA14 B0 04 00 30 */ sth r0, 0x30(r4)
/* 8027EDB8 0027AA18 80 1E 00 18 */ lwz r0, 0x18(r30)
/* 8027EDBC 0027AA1C 80 8D A9 94 */ lwz r4, lbl_8063FC54-_SDA_BASE_(r13)
/* 8027EDC0 0027AA20 B0 04 00 34 */ sth r0, 0x34(r4)
/* 8027EDC4 0027AA24 80 1E 00 14 */ lwz r0, 0x14(r30)
/* 8027EDC8 0027AA28 80 8D A9 94 */ lwz r4, lbl_8063FC54-_SDA_BASE_(r13)
/* 8027EDCC 0027AA2C B0 04 00 38 */ sth r0, 0x38(r4)
/* 8027EDD0 0027AA30 80 1E 00 0C */ lwz r0, 0xc(r30)
/* 8027EDD4 0027AA34 80 8D A9 94 */ lwz r4, lbl_8063FC54-_SDA_BASE_(r13)
/* 8027EDD8 0027AA38 B0 04 00 28 */ sth r0, 0x28(r4)
/* 8027EDDC 0027AA3C 80 1E 00 10 */ lwz r0, 0x10(r30)
/* 8027EDE0 0027AA40 80 8D A9 94 */ lwz r4, lbl_8063FC54-_SDA_BASE_(r13)
/* 8027EDE4 0027AA44 B0 04 00 2C */ sth r0, 0x2c(r4)
/* 8027EDE8 0027AA48 80 03 5F B0 */ lwz r0, 0x5fb0(r3)
/* 8027EDEC 0027AA4C 80 6D A9 94 */ lwz r3, lbl_8063FC54-_SDA_BASE_(r13)
/* 8027EDF0 0027AA50 54 00 84 BE */ rlwinm r0, r0, 0x10, 0x12, 0x1f
/* 8027EDF4 0027AA54 B0 03 00 22 */ sth r0, 0x22(r3)
/* 8027EDF8 0027AA58 80 1E 00 04 */ lwz r0, 4(r30)
/* 8027EDFC 0027AA5C 80 6D A9 94 */ lwz r3, lbl_8063FC54-_SDA_BASE_(r13)
/* 8027EE00 0027AA60 54 00 84 BE */ rlwinm r0, r0, 0x10, 0x12, 0x1f
/* 8027EE04 0027AA64 B0 03 00 26 */ sth r0, 0x26(r3)
/* 8027EE08 0027AA68 80 1E 00 1C */ lwz r0, 0x1c(r30)
/* 8027EE0C 0027AA6C 80 6D A9 94 */ lwz r3, lbl_8063FC54-_SDA_BASE_(r13)
/* 8027EE10 0027AA70 7C 00 86 70 */ srawi r0, r0, 0x10
/* 8027EE14 0027AA74 B0 03 00 32 */ sth r0, 0x32(r3)
/* 8027EE18 0027AA78 80 1E 00 18 */ lwz r0, 0x18(r30)
/* 8027EE1C 0027AA7C 80 6D A9 94 */ lwz r3, lbl_8063FC54-_SDA_BASE_(r13)
/* 8027EE20 0027AA80 54 00 84 BE */ rlwinm r0, r0, 0x10, 0x12, 0x1f
/* 8027EE24 0027AA84 B0 03 00 36 */ sth r0, 0x36(r3)
/* 8027EE28 0027AA88 80 1E 00 14 */ lwz r0, 0x14(r30)
/* 8027EE2C 0027AA8C 80 6D A9 94 */ lwz r3, lbl_8063FC54-_SDA_BASE_(r13)
/* 8027EE30 0027AA90 54 00 84 BE */ rlwinm r0, r0, 0x10, 0x12, 0x1f
/* 8027EE34 0027AA94 B0 03 00 3A */ sth r0, 0x3a(r3)
/* 8027EE38 0027AA98 80 1E 00 0C */ lwz r0, 0xc(r30)
/* 8027EE3C 0027AA9C 80 6D A9 94 */ lwz r3, lbl_8063FC54-_SDA_BASE_(r13)
/* 8027EE40 0027AAA0 54 00 84 3E */ srwi r0, r0, 0x10
/* 8027EE44 0027AAA4 B0 03 00 2A */ sth r0, 0x2a(r3)
/* 8027EE48 0027AAA8 80 1E 00 10 */ lwz r0, 0x10(r30)
/* 8027EE4C 0027AAAC 80 6D A9 94 */ lwz r3, lbl_8063FC54-_SDA_BASE_(r13)
/* 8027EE50 0027AAB0 54 00 84 3E */ srwi r0, r0, 0x10
/* 8027EE54 0027AAB4 B0 03 00 2E */ sth r0, 0x2e(r3)
/* 8027EE58 0027AAB8 4B FE 94 09 */ bl PPCSync
/* 8027EE5C 0027AABC 4B FF FB 7D */ bl CPGPLinkCheck
/* 8027EE60 0027AAC0 54 60 06 3F */ clrlwi. r0, r3, 0x18
/* 8027EE64 0027AAC4 41 82 00 3C */ beq lbl_8027EEA0
/* 8027EE68 0027AAC8 9B ED A9 D0 */ stb r31, lbl_8063FC90-_SDA_BASE_(r13)
/* 8027EE6C 0027AACC 9B FE 00 21 */ stb r31, 0x21(r30)
/* 8027EE70 0027AAD0 80 1D 00 08 */ lwz r0, 8(r29)
/* 8027EE74 0027AAD4 60 00 00 04 */ ori r0, r0, 4
/* 8027EE78 0027AAD8 54 00 07 76 */ rlwinm r0, r0, 0, 0x1d, 0x1b
/* 8027EE7C 0027AADC 90 1D 00 08 */ stw r0, 8(r29)
/* 8027EE80 0027AAE0 80 6D A9 94 */ lwz r3, lbl_8063FC54-_SDA_BASE_(r13)
/* 8027EE84 0027AAE4 B0 03 00 02 */ sth r0, 2(r3)
/* 8027EE88 0027AAE8 80 1D 00 08 */ lwz r0, 8(r29)
/* 8027EE8C 0027AAEC 60 00 00 10 */ ori r0, r0, 0x10
/* 8027EE90 0027AAF0 90 1D 00 08 */ stw r0, 8(r29)
/* 8027EE94 0027AAF4 80 6D A9 94 */ lwz r3, lbl_8063FC54-_SDA_BASE_(r13)
/* 8027EE98 0027AAF8 B0 03 00 02 */ sth r0, 2(r3)
/* 8027EE9C 0027AAFC 48 00 00 38 */ b lbl_8027EED4
lbl_8027EEA0:
/* 8027EEA0 0027AB00 38 00 00 00 */ li r0, 0
/* 8027EEA4 0027AB04 98 0D A9 D0 */ stb r0, lbl_8063FC90-_SDA_BASE_(r13)
/* 8027EEA8 0027AB08 98 1E 00 21 */ stb r0, 0x21(r30)
/* 8027EEAC 0027AB0C 80 1D 00 08 */ lwz r0, 8(r29)
/* 8027EEB0 0027AB10 54 00 07 B6 */ rlwinm r0, r0, 0, 0x1e, 0x1b
/* 8027EEB4 0027AB14 90 1D 00 08 */ stw r0, 8(r29)
/* 8027EEB8 0027AB18 80 6D A9 94 */ lwz r3, lbl_8063FC54-_SDA_BASE_(r13)
/* 8027EEBC 0027AB1C B0 03 00 02 */ sth r0, 2(r3)
/* 8027EEC0 0027AB20 80 1D 00 08 */ lwz r0, 8(r29)
/* 8027EEC4 0027AB24 54 00 07 34 */ rlwinm r0, r0, 0, 0x1c, 0x1a
/* 8027EEC8 0027AB28 90 1D 00 08 */ stw r0, 8(r29)
/* 8027EECC 0027AB2C 80 6D A9 94 */ lwz r3, lbl_8063FC54-_SDA_BASE_(r13)
/* 8027EED0 0027AB30 B0 03 00 02 */ sth r0, 2(r3)
lbl_8027EED4:
/* 8027EED4 0027AB34 80 1D 00 08 */ lwz r0, 8(r29)
/* 8027EED8 0027AB38 7F 83 E3 78 */ mr r3, r28
/* 8027EEDC 0027AB3C 80 8D A9 94 */ lwz r4, lbl_8063FC54-_SDA_BASE_(r13)
/* 8027EEE0 0027AB40 54 00 07 FA */ rlwinm r0, r0, 0, 0x1f, 0x1d
/* 8027EEE4 0027AB44 80 A2 A0 D0 */ lwz r5, lbl_806426D0-_SDA2_BASE_(r2)
/* 8027EEE8 0027AB48 54 00 06 F2 */ rlwinm r0, r0, 0, 0x1b, 0x19
/* 8027EEEC 0027AB4C B0 04 00 02 */ sth r0, 2(r4)
/* 8027EEF0 0027AB50 80 1D 00 08 */ lwz r0, 8(r29)
/* 8027EEF4 0027AB54 80 8D A9 94 */ lwz r4, lbl_8063FC54-_SDA_BASE_(r13)
/* 8027EEF8 0027AB58 B0 04 00 02 */ sth r0, 2(r4)
/* 8027EEFC 0027AB5C 80 05 00 10 */ lwz r0, 0x10(r5)
/* 8027EF00 0027AB60 60 00 00 03 */ ori r0, r0, 3
/* 8027EF04 0027AB64 90 05 00 10 */ stw r0, 0x10(r5)
/* 8027EF08 0027AB68 80 8D A9 94 */ lwz r4, lbl_8063FC54-_SDA_BASE_(r13)
/* 8027EF0C 0027AB6C B0 04 00 04 */ sth r0, 4(r4)
/* 8027EF10 0027AB70 80 1D 00 08 */ lwz r0, 8(r29)
/* 8027EF14 0027AB74 60 00 00 01 */ ori r0, r0, 1
/* 8027EF18 0027AB78 90 1D 00 08 */ stw r0, 8(r29)
/* 8027EF1C 0027AB7C 80 8D A9 94 */ lwz r4, lbl_8063FC54-_SDA_BASE_(r13)
/* 8027EF20 0027AB80 B0 04 00 02 */ sth r0, 2(r4)
/* 8027EF24 0027AB84 4B FE F8 61 */ bl OSRestoreInterrupts
lbl_8027EF28:
/* 8027EF28 0027AB88 39 61 00 20 */ addi r11, r1, 0x20
/* 8027EF2C 0027AB8C 4B F4 82 49 */ bl _restgpr_27
/* 8027EF30 0027AB90 80 01 00 24 */ lwz r0, 0x24(r1)
/* 8027EF34 0027AB94 7C 08 03 A6 */ mtlr r0
/* 8027EF38 0027AB98 38 21 00 20 */ addi r1, r1, 0x20
/* 8027EF3C 0027AB9C 4E 80 00 20 */ blr
.global __GXSaveFifo
__GXSaveFifo:
/* 8027EF40 0027ABA0 94 21 FF F0 */ stwu r1, -0x10(r1)
/* 8027EF44 0027ABA4 7C 08 02 A6 */ mflr r0
/* 8027EF48 0027ABA8 90 01 00 14 */ stw r0, 0x14(r1)
/* 8027EF4C 0027ABAC 4B FE F8 11 */ bl OSDisableInterrupts
/* 8027EF50 0027ABB0 88 CD A9 B8 */ lbz r6, lbl_8063FC78-_SDA_BASE_(r13)
/* 8027EF54 0027ABB4 2C 06 00 00 */ cmpwi r6, 0
/* 8027EF58 0027ABB8 41 82 00 28 */ beq lbl_8027EF80
/* 8027EF5C 0027ABBC 80 AD A9 90 */ lwz r5, lbl_8063FC50-_SDA_BASE_(r13)
/* 8027EF60 0027ABC0 3C 80 80 51 */ lis r4, lbl_80515FD4@ha
/* 8027EF64 0027ABC4 38 84 5F D4 */ addi r4, r4, lbl_80515FD4@l
/* 8027EF68 0027ABC8 80 05 00 14 */ lwz r0, 0x14(r5)
/* 8027EF6C 0027ABCC 54 05 00 F4 */ rlwinm r5, r0, 0, 3, 0x1a
/* 8027EF70 0027ABD0 54 00 1F FE */ rlwinm r0, r0, 3, 0x1f, 0x1f
/* 8027EF74 0027ABD4 3C A5 80 00 */ addis r5, r5, 0x8000
/* 8027EF78 0027ABD8 98 04 00 20 */ stb r0, 0x20(r4)
/* 8027EF7C 0027ABDC 90 A4 00 18 */ stw r5, 0x18(r4)
lbl_8027EF80:
/* 8027EF80 0027ABE0 88 0D A9 B9 */ lbz r0, lbl_8063FC79-_SDA_BASE_(r13)
/* 8027EF84 0027ABE4 2C 00 00 00 */ cmpwi r0, 0
/* 8027EF88 0027ABE8 41 82 00 34 */ beq lbl_8027EFBC
/* 8027EF8C 0027ABEC 80 ED A9 94 */ lwz r7, lbl_8063FC54-_SDA_BASE_(r13)
/* 8027EF90 0027ABF0 3C 80 80 51 */ lis r4, lbl_80515FB0@ha
/* 8027EF94 0027ABF4 38 84 5F B0 */ addi r4, r4, lbl_80515FB0@l
/* 8027EF98 0027ABF8 A0 07 00 3A */ lhz r0, 0x3a(r7)
/* 8027EF9C 0027ABFC A0 A7 00 38 */ lhz r5, 0x38(r7)
/* 8027EFA0 0027AC00 50 05 80 1E */ rlwimi r5, r0, 0x10, 0, 0xf
/* 8027EFA4 0027AC04 3C 05 80 00 */ addis r0, r5, 0x8000
/* 8027EFA8 0027AC08 90 04 00 14 */ stw r0, 0x14(r4)
/* 8027EFAC 0027AC0C A0 07 00 32 */ lhz r0, 0x32(r7)
/* 8027EFB0 0027AC10 A0 A7 00 30 */ lhz r5, 0x30(r7)
/* 8027EFB4 0027AC14 50 05 80 1E */ rlwimi r5, r0, 0x10, 0, 0xf
/* 8027EFB8 0027AC18 90 A4 00 1C */ stw r5, 0x1c(r4)
lbl_8027EFBC:
/* 8027EFBC 0027AC1C 88 0D A9 D0 */ lbz r0, lbl_8063FC90-_SDA_BASE_(r13)
/* 8027EFC0 0027AC20 2C 00 00 00 */ cmpwi r0, 0
/* 8027EFC4 0027AC24 41 82 00 38 */ beq lbl_8027EFFC
/* 8027EFC8 0027AC28 3D 00 80 51 */ lis r8, lbl_80515FB0@ha
/* 8027EFCC 0027AC2C 3C C0 80 51 */ lis r6, lbl_80515FD4@ha
/* 8027EFD0 0027AC30 39 08 5F B0 */ addi r8, r8, lbl_80515FB0@l
/* 8027EFD4 0027AC34 38 C6 5F D4 */ addi r6, r6, lbl_80515FD4@l
/* 8027EFD8 0027AC38 80 E8 00 14 */ lwz r7, 0x14(r8)
/* 8027EFDC 0027AC3C 80 A8 00 1C */ lwz r5, 0x1c(r8)
/* 8027EFE0 0027AC40 80 86 00 18 */ lwz r4, 0x18(r6)
/* 8027EFE4 0027AC44 88 06 00 20 */ lbz r0, 0x20(r6)
/* 8027EFE8 0027AC48 90 E6 00 14 */ stw r7, 0x14(r6)
/* 8027EFEC 0027AC4C 90 A6 00 1C */ stw r5, 0x1c(r6)
/* 8027EFF0 0027AC50 90 88 00 18 */ stw r4, 0x18(r8)
/* 8027EFF4 0027AC54 98 08 00 20 */ stb r0, 0x20(r8)
/* 8027EFF8 0027AC58 48 00 00 34 */ b lbl_8027F02C
lbl_8027EFFC:
/* 8027EFFC 0027AC5C 2C 06 00 00 */ cmpwi r6, 0
/* 8027F000 0027AC60 41 82 00 2C */ beq lbl_8027F02C
/* 8027F004 0027AC64 3C A0 80 51 */ lis r5, lbl_80515FD4@ha
/* 8027F008 0027AC68 38 A5 5F D4 */ addi r5, r5, lbl_80515FD4@l
/* 8027F00C 0027AC6C 80 85 00 14 */ lwz r4, 0x14(r5)
/* 8027F010 0027AC70 80 05 00 18 */ lwz r0, 0x18(r5)
/* 8027F014 0027AC74 7C 84 00 51 */ subf. r4, r4, r0
/* 8027F018 0027AC78 90 85 00 1C */ stw r4, 0x1c(r5)
/* 8027F01C 0027AC7C 40 80 00 10 */ bge lbl_8027F02C
/* 8027F020 0027AC80 80 05 00 08 */ lwz r0, 8(r5)
/* 8027F024 0027AC84 7C 04 02 14 */ add r0, r4, r0
/* 8027F028 0027AC88 90 05 00 1C */ stw r0, 0x1c(r5)
lbl_8027F02C:
/* 8027F02C 0027AC8C 4B FE F7 59 */ bl OSRestoreInterrupts
/* 8027F030 0027AC90 80 01 00 14 */ lwz r0, 0x14(r1)
/* 8027F034 0027AC94 7C 08 03 A6 */ mtlr r0
/* 8027F038 0027AC98 38 21 00 10 */ addi r1, r1, 0x10
/* 8027F03C 0027AC9C 4E 80 00 20 */ blr
.global __GXIsGPFifoReady
__GXIsGPFifoReady:
/* 8027F040 0027ACA0 88 6D A9 B9 */ lbz r3, lbl_8063FC79-_SDA_BASE_(r13)
/* 8027F044 0027ACA4 4E 80 00 20 */ blr
.global GXGetGPStatus
GXGetGPStatus:
/* 8027F048 0027ACA8 81 0D A9 94 */ lwz r8, lbl_8063FC54-_SDA_BASE_(r13)
/* 8027F04C 0027ACAC 81 22 A0 D0 */ lwz r9, lbl_806426D0-_SDA2_BASE_(r2)
/* 8027F050 0027ACB0 A0 08 00 00 */ lhz r0, 0(r8)
/* 8027F054 0027ACB4 90 09 00 0C */ stw r0, 0xc(r9)
/* 8027F058 0027ACB8 54 00 07 FE */ clrlwi r0, r0, 0x1f
/* 8027F05C 0027ACBC 98 03 00 00 */ stb r0, 0(r3)
/* 8027F060 0027ACC0 80 09 00 0C */ lwz r0, 0xc(r9)
/* 8027F064 0027ACC4 54 00 FF FE */ rlwinm r0, r0, 0x1f, 0x1f, 0x1f
/* 8027F068 0027ACC8 98 04 00 00 */ stb r0, 0(r4)
/* 8027F06C 0027ACCC 80 09 00 0C */ lwz r0, 0xc(r9)
/* 8027F070 0027ACD0 54 00 F7 FE */ rlwinm r0, r0, 0x1e, 0x1f, 0x1f
/* 8027F074 0027ACD4 98 05 00 00 */ stb r0, 0(r5)
/* 8027F078 0027ACD8 80 09 00 0C */ lwz r0, 0xc(r9)
/* 8027F07C 0027ACDC 54 00 EF FE */ rlwinm r0, r0, 0x1d, 0x1f, 0x1f
/* 8027F080 0027ACE0 98 06 00 00 */ stb r0, 0(r6)
/* 8027F084 0027ACE4 80 09 00 0C */ lwz r0, 0xc(r9)
/* 8027F088 0027ACE8 54 00 E7 FE */ rlwinm r0, r0, 0x1c, 0x1f, 0x1f
/* 8027F08C 0027ACEC 98 07 00 00 */ stb r0, 0(r7)
/* 8027F090 0027ACF0 4E 80 00 20 */ blr
.global GXGetCPUFifo
GXGetCPUFifo:
/* 8027F094 0027ACF4 94 21 FF F0 */ stwu r1, -0x10(r1)
/* 8027F098 0027ACF8 7C 08 02 A6 */ mflr r0
/* 8027F09C 0027ACFC 90 01 00 14 */ stw r0, 0x14(r1)
/* 8027F0A0 0027AD00 93 E1 00 0C */ stw r31, 0xc(r1)
/* 8027F0A4 0027AD04 7C 7F 1B 78 */ mr r31, r3
/* 8027F0A8 0027AD08 88 0D A9 B8 */ lbz r0, lbl_8063FC78-_SDA_BASE_(r13)
/* 8027F0AC 0027AD0C 2C 00 00 00 */ cmpwi r0, 0
/* 8027F0B0 0027AD10 40 82 00 0C */ bne lbl_8027F0BC
/* 8027F0B4 0027AD14 38 60 00 00 */ li r3, 0
/* 8027F0B8 0027AD18 48 00 00 5C */ b lbl_8027F114
lbl_8027F0BC:
/* 8027F0BC 0027AD1C 48 00 15 E9 */ bl GXFlush
/* 8027F0C0 0027AD20 4B FF FE 81 */ bl __GXSaveFifo
/* 8027F0C4 0027AD24 3C A0 80 51 */ lis r5, lbl_80510004@ha
/* 8027F0C8 0027AD28 84 85 5F D4 */ lwzu r4, 0x5fd4(r5)
/* 8027F0CC 0027AD2C 38 60 00 01 */ li r3, 1
/* 8027F0D0 0027AD30 80 05 00 04 */ lwz r0, lbl_80510004@l(r5)
/* 8027F0D4 0027AD34 90 9F 00 00 */ stw r4, 0(r31)
/* 8027F0D8 0027AD38 90 1F 00 04 */ stw r0, 4(r31)
/* 8027F0DC 0027AD3C 80 85 00 08 */ lwz r4, 8(r5)
/* 8027F0E0 0027AD40 80 05 00 0C */ lwz r0, 0xc(r5)
/* 8027F0E4 0027AD44 90 9F 00 08 */ stw r4, 8(r31)
/* 8027F0E8 0027AD48 90 1F 00 0C */ stw r0, 0xc(r31)
/* 8027F0EC 0027AD4C 80 85 00 10 */ lwz r4, 0x10(r5)
/* 8027F0F0 0027AD50 80 05 00 14 */ lwz r0, 0x14(r5)
/* 8027F0F4 0027AD54 90 9F 00 10 */ stw r4, 0x10(r31)
/* 8027F0F8 0027AD58 90 1F 00 14 */ stw r0, 0x14(r31)
/* 8027F0FC 0027AD5C 80 85 00 18 */ lwz r4, 0x18(r5)
/* 8027F100 0027AD60 80 05 00 1C */ lwz r0, 0x1c(r5)
/* 8027F104 0027AD64 90 9F 00 18 */ stw r4, 0x18(r31)
/* 8027F108 0027AD68 90 1F 00 1C */ stw r0, 0x1c(r31)
/* 8027F10C 0027AD6C 80 05 00 20 */ lwz r0, 0x20(r5)
/* 8027F110 0027AD70 90 1F 00 20 */ stw r0, 0x20(r31)
lbl_8027F114:
/* 8027F114 0027AD74 80 01 00 14 */ lwz r0, 0x14(r1)
/* 8027F118 0027AD78 83 E1 00 0C */ lwz r31, 0xc(r1)
/* 8027F11C 0027AD7C 7C 08 03 A6 */ mtlr r0
/* 8027F120 0027AD80 38 21 00 10 */ addi r1, r1, 0x10
/* 8027F124 0027AD84 4E 80 00 20 */ blr
# either GXGetFifoPtrs or GXGetFifoLimits
.global func_8027F128
func_8027F128:
/* 8027F128 0027AD88 80 C3 00 14 */ lwz r6, 0x14(r3)
/* 8027F12C 0027AD8C 80 03 00 18 */ lwz r0, 0x18(r3)
/* 8027F130 0027AD90 90 C4 00 00 */ stw r6, 0(r4)
/* 8027F134 0027AD94 90 05 00 00 */ stw r0, 0(r5)
/* 8027F138 0027AD98 4E 80 00 20 */ blr
.global GXGetFifoCount
GXGetFifoCount:
/* 8027F13C 0027AD9C 80 63 00 1C */ lwz r3, 0x1c(r3)
/* 8027F140 0027ADA0 4E 80 00 20 */ blr
.global GXGetFifoWrap
GXGetFifoWrap:
/* 8027F144 0027ADA4 88 63 00 20 */ lbz r3, 0x20(r3)
/* 8027F148 0027ADA8 4E 80 00 20 */ blr
.global GXSetBreakPtCallback
GXSetBreakPtCallback:
/* 8027F14C 0027ADAC 94 21 FF F0 */ stwu r1, -0x10(r1)
/* 8027F150 0027ADB0 7C 08 02 A6 */ mflr r0
/* 8027F154 0027ADB4 90 01 00 14 */ stw r0, 0x14(r1)
/* 8027F158 0027ADB8 93 E1 00 0C */ stw r31, 0xc(r1)
/* 8027F15C 0027ADBC 93 C1 00 08 */ stw r30, 8(r1)
/* 8027F160 0027ADC0 7C 7E 1B 78 */ mr r30, r3
/* 8027F164 0027ADC4 83 ED A9 C4 */ lwz r31, lbl_8063FC84-_SDA_BASE_(r13)
/* 8027F168 0027ADC8 4B FE F5 F5 */ bl OSDisableInterrupts
/* 8027F16C 0027ADCC 93 CD A9 C4 */ stw r30, lbl_8063FC84-_SDA_BASE_(r13)
/* 8027F170 0027ADD0 4B FE F6 15 */ bl OSRestoreInterrupts
/* 8027F174 0027ADD4 7F E3 FB 78 */ mr r3, r31
/* 8027F178 0027ADD8 83 E1 00 0C */ lwz r31, 0xc(r1)
/* 8027F17C 0027ADDC 83 C1 00 08 */ lwz r30, 8(r1)
/* 8027F180 0027ADE0 80 01 00 14 */ lwz r0, 0x14(r1)
/* 8027F184 0027ADE4 7C 08 03 A6 */ mtlr r0
/* 8027F188 0027ADE8 38 21 00 10 */ addi r1, r1, 0x10
/* 8027F18C 0027ADEC 4E 80 00 20 */ blr
.global GXDisableBreakPt
GXDisableBreakPt:
/* 8027F190 0027ADF0 94 21 FF F0 */ stwu r1, -0x10(r1)
/* 8027F194 0027ADF4 7C 08 02 A6 */ mflr r0
/* 8027F198 0027ADF8 90 01 00 14 */ stw r0, 0x14(r1)
/* 8027F19C 0027ADFC 4B FE F5 C1 */ bl OSDisableInterrupts
/* 8027F1A0 0027AE00 80 C2 A0 D0 */ lwz r6, lbl_806426D0-_SDA2_BASE_(r2)
/* 8027F1A4 0027AE04 38 00 00 00 */ li r0, 0
/* 8027F1A8 0027AE08 80 86 00 08 */ lwz r4, 8(r6)
/* 8027F1AC 0027AE0C 54 84 07 FA */ rlwinm r4, r4, 0, 0x1f, 0x1d
/* 8027F1B0 0027AE10 54 85 06 F2 */ rlwinm r5, r4, 0, 0x1b, 0x19
/* 8027F1B4 0027AE14 90 A6 00 08 */ stw r5, 8(r6)
/* 8027F1B8 0027AE18 80 8D A9 94 */ lwz r4, lbl_8063FC54-_SDA_BASE_(r13)
/* 8027F1BC 0027AE1C B0 A4 00 02 */ sth r5, 2(r4)
/* 8027F1C0 0027AE20 90 0D A9 C0 */ stw r0, lbl_8063FC80-_SDA_BASE_(r13)
/* 8027F1C4 0027AE24 4B FE F5 C1 */ bl OSRestoreInterrupts
/* 8027F1C8 0027AE28 80 01 00 14 */ lwz r0, 0x14(r1)
/* 8027F1CC 0027AE2C 7C 08 03 A6 */ mtlr r0
/* 8027F1D0 0027AE30 38 21 00 10 */ addi r1, r1, 0x10
/* 8027F1D4 0027AE34 4E 80 00 20 */ blr
.global __GXFifoInit
__GXFifoInit:
/* 8027F1D8 0027AE38 94 21 FF F0 */ stwu r1, -0x10(r1)
/* 8027F1DC 0027AE3C 7C 08 02 A6 */ mflr r0
/* 8027F1E0 0027AE40 3C 80 80 28 */ lis r4, GXCPInterruptHandler@ha
/* 8027F1E4 0027AE44 38 60 00 11 */ li r3, 0x11
/* 8027F1E8 0027AE48 90 01 00 14 */ stw r0, 0x14(r1)
/* 8027F1EC 0027AE4C 38 84 E7 EC */ addi r4, r4, GXCPInterruptHandler@l
/* 8027F1F0 0027AE50 93 E1 00 0C */ stw r31, 0xc(r1)
/* 8027F1F4 0027AE54 4B FE F5 B5 */ bl __OSSetInterruptHandler
/* 8027F1F8 0027AE58 38 60 40 00 */ li r3, 0x4000
/* 8027F1FC 0027AE5C 4B FE F9 71 */ bl __OSUnmaskInterrupts
/* 8027F200 0027AE60 4B FF 20 F9 */ bl OSGetCurrentThread
/* 8027F204 0027AE64 3B E0 00 00 */ li r31, 0
/* 8027F208 0027AE68 90 6D A9 CC */ stw r3, lbl_8063FC8C-_SDA_BASE_(r13)
/* 8027F20C 0027AE6C 3C 60 80 51 */ lis r3, lbl_80515FD4@ha
/* 8027F210 0027AE70 38 80 00 00 */ li r4, 0
/* 8027F214 0027AE74 93 ED A9 C8 */ stw r31, lbl_8063FC88-_SDA_BASE_(r13)
/* 8027F218 0027AE78 38 63 5F D4 */ addi r3, r3, lbl_80515FD4@l
/* 8027F21C 0027AE7C 38 A0 00 24 */ li r5, 0x24
/* 8027F220 0027AE80 4B D8 4E E5 */ bl memset
/* 8027F224 0027AE84 3C 60 80 51 */ lis r3, lbl_80515FB0@ha
/* 8027F228 0027AE88 38 80 00 00 */ li r4, 0
/* 8027F22C 0027AE8C 38 63 5F B0 */ addi r3, r3, lbl_80515FB0@l
/* 8027F230 0027AE90 38 A0 00 24 */ li r5, 0x24
/* 8027F234 0027AE94 4B D8 4E D1 */ bl memset
/* 8027F238 0027AE98 9B ED A9 B8 */ stb r31, lbl_8063FC78-_SDA_BASE_(r13)
/* 8027F23C 0027AE9C 9B ED A9 B9 */ stb r31, lbl_8063FC79-_SDA_BASE_(r13)
/* 8027F240 0027AEA0 83 E1 00 0C */ lwz r31, 0xc(r1)
/* 8027F244 0027AEA4 80 01 00 14 */ lwz r0, 0x14(r1)
/* 8027F248 0027AEA8 7C 08 03 A6 */ mtlr r0
/* 8027F24C 0027AEAC 38 21 00 10 */ addi r1, r1, 0x10
/* 8027F250 0027AEB0 4E 80 00 20 */ blr
.global __GXCleanGPFifo
__GXCleanGPFifo:
/* 8027F254 0027AEB4 94 21 FF E0 */ stwu r1, -0x20(r1)
/* 8027F258 0027AEB8 7C 08 02 A6 */ mflr r0
/* 8027F25C 0027AEBC 90 01 00 24 */ stw r0, 0x24(r1)
/* 8027F260 0027AEC0 93 E1 00 1C */ stw r31, 0x1c(r1)
/* 8027F264 0027AEC4 93 C1 00 18 */ stw r30, 0x18(r1)
/* 8027F268 0027AEC8 93 A1 00 14 */ stw r29, 0x14(r1)
/* 8027F26C 0027AECC 93 81 00 10 */ stw r28, 0x10(r1)
/* 8027F270 0027AED0 88 0D A9 B9 */ lbz r0, lbl_8063FC79-_SDA_BASE_(r13)
/* 8027F274 0027AED4 2C 00 00 00 */ cmpwi r0, 0
/* 8027F278 0027AED8 41 82 01 5C */ beq lbl_8027F3D4
/* 8027F27C 0027AEDC 4B FE F4 E1 */ bl OSDisableInterrupts
/* 8027F280 0027AEE0 83 A2 A0 D0 */ lwz r29, lbl_806426D0-_SDA2_BASE_(r2)
/* 8027F284 0027AEE4 3F C0 80 51 */ lis r30, lbl_80515FB0@ha
/* 8027F288 0027AEE8 7C 7C 1B 78 */ mr r28, r3
/* 8027F28C 0027AEEC 3B E0 00 00 */ li r31, 0
/* 8027F290 0027AEF0 80 1D 00 08 */ lwz r0, 8(r29)
/* 8027F294 0027AEF4 3B DE 5F B0 */ addi r30, r30, lbl_80515FB0@l
/* 8027F298 0027AEF8 54 00 00 3C */ rlwinm r0, r0, 0, 0, 0x1e
/* 8027F29C 0027AEFC 90 1D 00 08 */ stw r0, 8(r29)
/* 8027F2A0 0027AF00 80 6D A9 94 */ lwz r3, lbl_8063FC54-_SDA_BASE_(r13)
/* 8027F2A4 0027AF04 B0 03 00 02 */ sth r0, 2(r3)
/* 8027F2A8 0027AF08 80 1D 00 08 */ lwz r0, 8(r29)
/* 8027F2AC 0027AF0C 54 00 07 B6 */ rlwinm r0, r0, 0, 0x1e, 0x1b
/* 8027F2B0 0027AF10 90 1D 00 08 */ stw r0, 8(r29)
/* 8027F2B4 0027AF14 80 6D A9 94 */ lwz r3, lbl_8063FC54-_SDA_BASE_(r13)
/* 8027F2B8 0027AF18 B0 03 00 02 */ sth r0, 2(r3)
/* 8027F2BC 0027AF1C 80 1E 00 18 */ lwz r0, 0x18(r30)
/* 8027F2C0 0027AF20 93 FE 00 1C */ stw r31, 0x1c(r30)
/* 8027F2C4 0027AF24 80 6D A9 94 */ lwz r3, lbl_8063FC54-_SDA_BASE_(r13)
/* 8027F2C8 0027AF28 90 1E 00 14 */ stw r0, 0x14(r30)
/* 8027F2CC 0027AF2C B3 E3 00 30 */ sth r31, 0x30(r3)
/* 8027F2D0 0027AF30 80 1E 00 18 */ lwz r0, 0x18(r30)
/* 8027F2D4 0027AF34 80 6D A9 94 */ lwz r3, lbl_8063FC54-_SDA_BASE_(r13)
/* 8027F2D8 0027AF38 B0 03 00 34 */ sth r0, 0x34(r3)
/* 8027F2DC 0027AF3C 80 1E 00 14 */ lwz r0, 0x14(r30)
/* 8027F2E0 0027AF40 80 6D A9 94 */ lwz r3, lbl_8063FC54-_SDA_BASE_(r13)
/* 8027F2E4 0027AF44 B0 03 00 38 */ sth r0, 0x38(r3)
/* 8027F2E8 0027AF48 80 1E 00 1C */ lwz r0, 0x1c(r30)
/* 8027F2EC 0027AF4C 80 6D A9 94 */ lwz r3, lbl_8063FC54-_SDA_BASE_(r13)
/* 8027F2F0 0027AF50 7C 00 86 70 */ srawi r0, r0, 0x10
/* 8027F2F4 0027AF54 B0 03 00 32 */ sth r0, 0x32(r3)
/* 8027F2F8 0027AF58 80 1E 00 18 */ lwz r0, 0x18(r30)
/* 8027F2FC 0027AF5C 80 6D A9 94 */ lwz r3, lbl_8063FC54-_SDA_BASE_(r13)
/* 8027F300 0027AF60 54 00 84 BE */ rlwinm r0, r0, 0x10, 0x12, 0x1f
/* 8027F304 0027AF64 B0 03 00 36 */ sth r0, 0x36(r3)
/* 8027F308 0027AF68 80 1E 00 14 */ lwz r0, 0x14(r30)
/* 8027F30C 0027AF6C 80 6D A9 94 */ lwz r3, lbl_8063FC54-_SDA_BASE_(r13)
/* 8027F310 0027AF70 54 00 84 BE */ rlwinm r0, r0, 0x10, 0x12, 0x1f
/* 8027F314 0027AF74 B0 03 00 3A */ sth r0, 0x3a(r3)
/* 8027F318 0027AF78 4B FE 8F 49 */ bl PPCSync
/* 8027F31C 0027AF7C 88 0D A9 D0 */ lbz r0, lbl_8063FC90-_SDA_BASE_(r13)
/* 8027F320 0027AF80 2C 00 00 00 */ cmpwi r0, 0
/* 8027F324 0027AF84 41 82 00 5C */ beq lbl_8027F380
/* 8027F328 0027AF88 3C A0 80 51 */ lis r5, lbl_80515FD4@ha
/* 8027F32C 0027AF8C 80 9E 00 18 */ lwz r4, 0x18(r30)
/* 8027F330 0027AF90 38 A5 5F D4 */ addi r5, r5, lbl_80515FD4@l
/* 8027F334 0027AF94 80 7E 00 14 */ lwz r3, 0x14(r30)
/* 8027F338 0027AF98 80 1E 00 1C */ lwz r0, 0x1c(r30)
/* 8027F33C 0027AF9C 50 9F 00 F4 */ rlwimi r31, r4, 0, 3, 0x1a
/* 8027F340 0027AFA0 90 65 00 14 */ stw r3, 0x14(r5)
/* 8027F344 0027AFA4 80 6D A9 90 */ lwz r3, lbl_8063FC50-_SDA_BASE_(r13)
/* 8027F348 0027AFA8 90 85 00 18 */ stw r4, 0x18(r5)
/* 8027F34C 0027AFAC 90 05 00 1C */ stw r0, 0x1c(r5)
/* 8027F350 0027AFB0 93 E3 00 14 */ stw r31, 0x14(r3)
/* 8027F354 0027AFB4 80 1D 00 08 */ lwz r0, 8(r29)
/* 8027F358 0027AFB8 60 00 00 04 */ ori r0, r0, 4
/* 8027F35C 0027AFBC 54 00 07 76 */ rlwinm r0, r0, 0, 0x1d, 0x1b
/* 8027F360 0027AFC0 90 1D 00 08 */ stw r0, 8(r29)
/* 8027F364 0027AFC4 80 6D A9 94 */ lwz r3, lbl_8063FC54-_SDA_BASE_(r13)
/* 8027F368 0027AFC8 B0 03 00 02 */ sth r0, 2(r3)
/* 8027F36C 0027AFCC 80 1D 00 08 */ lwz r0, 8(r29)
/* 8027F370 0027AFD0 60 00 00 10 */ ori r0, r0, 0x10
/* 8027F374 0027AFD4 90 1D 00 08 */ stw r0, 8(r29)
/* 8027F378 0027AFD8 80 6D A9 94 */ lwz r3, lbl_8063FC54-_SDA_BASE_(r13)
/* 8027F37C 0027AFDC B0 03 00 02 */ sth r0, 2(r3)
lbl_8027F380:
/* 8027F380 0027AFE0 80 9D 00 08 */ lwz r4, 8(r29)
/* 8027F384 0027AFE4 38 00 00 00 */ li r0, 0
/* 8027F388 0027AFE8 80 C2 A0 D0 */ lwz r6, lbl_806426D0-_SDA2_BASE_(r2)
/* 8027F38C 0027AFEC 7F 83 E3 78 */ mr r3, r28
/* 8027F390 0027AFF0 54 84 07 FA */ rlwinm r4, r4, 0, 0x1f, 0x1d
/* 8027F394 0027AFF4 54 85 06 F2 */ rlwinm r5, r4, 0, 0x1b, 0x19
/* 8027F398 0027AFF8 90 BD 00 08 */ stw r5, 8(r29)
/* 8027F39C 0027AFFC 80 8D A9 94 */ lwz r4, lbl_8063FC54-_SDA_BASE_(r13)
/* 8027F3A0 0027B000 B0 A4 00 02 */ sth r5, 2(r4)
/* 8027F3A4 0027B004 90 0D A9 C0 */ stw r0, lbl_8063FC80-_SDA_BASE_(r13)
/* 8027F3A8 0027B008 80 06 00 10 */ lwz r0, 0x10(r6)
/* 8027F3AC 0027B00C 60 00 00 03 */ ori r0, r0, 3
/* 8027F3B0 0027B010 90 06 00 10 */ stw r0, 0x10(r6)
/* 8027F3B4 0027B014 80 8D A9 94 */ lwz r4, lbl_8063FC54-_SDA_BASE_(r13)
/* 8027F3B8 0027B018 B0 04 00 04 */ sth r0, 4(r4)
/* 8027F3BC 0027B01C 80 1D 00 08 */ lwz r0, 8(r29)
/* 8027F3C0 0027B020 60 00 00 01 */ ori r0, r0, 1
/* 8027F3C4 0027B024 90 1D 00 08 */ stw r0, 8(r29)
/* 8027F3C8 0027B028 80 8D A9 94 */ lwz r4, lbl_8063FC54-_SDA_BASE_(r13)
/* 8027F3CC 0027B02C B0 04 00 02 */ sth r0, 2(r4)
/* 8027F3D0 0027B030 4B FE F3 B5 */ bl OSRestoreInterrupts
lbl_8027F3D4:
/* 8027F3D4 0027B034 80 01 00 24 */ lwz r0, 0x24(r1)
/* 8027F3D8 0027B038 83 E1 00 1C */ lwz r31, 0x1c(r1)
/* 8027F3DC 0027B03C 83 C1 00 18 */ lwz r30, 0x18(r1)
/* 8027F3E0 0027B040 83 A1 00 14 */ lwz r29, 0x14(r1)
/* 8027F3E4 0027B044 83 81 00 10 */ lwz r28, 0x10(r1)
/* 8027F3E8 0027B048 7C 08 03 A6 */ mtlr r0
/* 8027F3EC 0027B04C 38 21 00 20 */ addi r1, r1, 0x20
/* 8027F3F0 0027B050 4E 80 00 20 */ blr
|