donut-decomp/asm/gx/GXMisc_80034710.s

665 lines
32 KiB
ArmAsm

.include "macros.inc"
.section .text, "ax" # 0x80006A00 - 0x80406260 ; 0x003FF860
.global GXSetMisc
GXSetMisc:
/* 80034710 00030550 2C 03 00 01 */ cmpwi r3, 0x1
/* 80034714 00030554 41 82 00 18 */ beq lbl_8003472C
/* 80034718 00030558 2C 03 00 02 */ cmpwi r3, 0x2
/* 8003471C 0003055C 41 82 00 44 */ beq lbl_80034760
/* 80034720 00030560 2C 03 00 03 */ cmpwi r3, 0x3
/* 80034724 00030564 41 82 00 54 */ beq lbl_80034778
/* 80034728 00030568 4E 80 00 20 */ blr
.global lbl_8003472C
lbl_8003472C:
/* 8003472C 0003056C 80 A2 86 08 */ lwz r5, __GXData@sda21(r2)
/* 80034730 00030570 54 80 04 3F */ clrlwi. r0, r4, 16
/* 80034734 00030574 B0 85 00 04 */ sth r4, 0x4(r5)
/* 80034738 00030578 7C 03 00 34 */ cntlzw r3, r0
/* 8003473C 0003057C 38 00 00 01 */ li r0, 0x1
/* 80034740 00030580 54 63 DC 3E */ extrwi r3, r3, 16, 11
/* 80034744 00030584 B0 65 00 00 */ sth r3, 0x0(r5)
/* 80034748 00030588 B0 05 00 02 */ sth r0, 0x2(r5)
/* 8003474C 0003058C 4D 82 00 20 */ beqlr
/* 80034750 00030590 80 05 05 FC */ lwz r0, 0x5fc(r5)
/* 80034754 00030594 60 00 00 08 */ ori r0, r0, 0x8
/* 80034758 00030598 90 05 05 FC */ stw r0, 0x5fc(r5)
/* 8003475C 0003059C 4E 80 00 20 */ blr
.global lbl_80034760
lbl_80034760:
/* 80034760 000305A0 7C 04 00 D0 */ neg r0, r4
/* 80034764 000305A4 80 62 86 08 */ lwz r3, __GXData@sda21(r2)
/* 80034768 000305A8 7C 00 23 78 */ or r0, r0, r4
/* 8003476C 000305AC 54 00 0F FE */ srwi r0, r0, 31
/* 80034770 000305B0 98 03 05 F9 */ stb r0, 0x5f9(r3)
/* 80034774 000305B4 4E 80 00 20 */ blr
.global lbl_80034778
lbl_80034778:
/* 80034778 000305B8 7C 04 00 D0 */ neg r0, r4
/* 8003477C 000305BC 80 62 86 08 */ lwz r3, __GXData@sda21(r2)
/* 80034780 000305C0 7C 00 23 78 */ or r0, r0, r4
/* 80034784 000305C4 54 00 0F FE */ srwi r0, r0, 31
/* 80034788 000305C8 98 03 05 FA */ stb r0, 0x5fa(r3)
/* 8003478C 000305CC 4E 80 00 20 */ blr
.global __GXAbort
__GXAbort:
/* 80034790 000305D0 94 21 FF E0 */ stwu r1, -0x20(r1)
/* 80034794 000305D4 7C 08 02 A6 */ mflr r0
/* 80034798 000305D8 90 01 00 24 */ stw r0, 0x24(r1)
/* 8003479C 000305DC 39 61 00 20 */ addi r11, r1, 0x20
/* 800347A0 000305E0 4B FD 2B 9D */ bl lbl_8000733C
/* 800347A4 000305E4 80 62 86 08 */ lwz r3, __GXData@sda21(r2)
/* 800347A8 000305E8 88 03 05 FA */ lbz r0, 0x5fa(r3)
/* 800347AC 000305EC 2C 00 00 00 */ cmpwi r0, 0x0
/* 800347B0 000305F0 41 82 00 A0 */ beq lbl_80034850
/* 800347B4 000305F4 4B FF ED 5D */ bl __GXIsGPFifoReady
/* 800347B8 000305F8 54 60 06 3F */ clrlwi. r0, r3, 24
/* 800347BC 000305FC 41 82 00 94 */ beq lbl_80034850
/* 800347C0 00030600 80 AD E5 BC */ lwz r5, __memReg@sda21(r13)
/* 800347C4 00030604 A0 05 00 4E */ lhz r0, 0x4e(r5)
.global lbl_800347C8
lbl_800347C8:
/* 800347C8 00030608 7C 03 03 78 */ mr r3, r0
/* 800347CC 0003060C A0 85 00 50 */ lhz r4, 0x50(r5)
/* 800347D0 00030610 A0 05 00 4E */ lhz r0, 0x4e(r5)
/* 800347D4 00030614 7C 00 18 40 */ cmplw r0, r3
/* 800347D8 00030618 40 82 FF F0 */ bne lbl_800347C8
/* 800347DC 0003061C 54 03 80 1E */ slwi r3, r0, 16
/* 800347E0 00030620 38 00 00 00 */ li r0, 0x0
/* 800347E4 00030624 7C 7B 23 78 */ or r27, r3, r4
/* 800347E8 00030628 3B A0 00 08 */ li r29, 0x8
/* 800347EC 0003062C 6C 1C 80 00 */ xoris r28, r0, 0x8000
.global lbl_800347F0
lbl_800347F0:
/* 800347F0 00030630 4B FF 13 51 */ bl OSGetTime
/* 800347F4 00030634 7C 9F 23 78 */ mr r31, r4
/* 800347F8 00030638 7C 7E 1B 78 */ mr r30, r3
.global lbl_800347FC
lbl_800347FC:
/* 800347FC 0003063C 4B FF 13 45 */ bl OSGetTime
/* 80034800 00030640 7C 9F 20 10 */ subfc r4, r31, r4
/* 80034804 00030644 7C 1E 19 10 */ subfe r0, r30, r3
/* 80034808 00030648 6C 03 80 00 */ xoris r3, r0, 0x8000
/* 8003480C 0003064C 7C 04 E8 10 */ subfc r0, r4, r29
/* 80034810 00030650 7C 63 E1 10 */ subfe r3, r3, r28
/* 80034814 00030654 7C 7C E1 10 */ subfe r3, r28, r28
/* 80034818 00030658 7C 63 00 D1 */ neg. r3, r3
/* 8003481C 0003065C 41 82 FF E0 */ beq lbl_800347FC
/* 80034820 00030660 80 AD E5 BC */ lwz r5, __memReg@sda21(r13)
/* 80034824 00030664 A0 05 00 4E */ lhz r0, 0x4e(r5)
.global lbl_80034828
lbl_80034828:
/* 80034828 00030668 7C 03 03 78 */ mr r3, r0
/* 8003482C 0003066C A0 85 00 50 */ lhz r4, 0x50(r5)
/* 80034830 00030670 A0 05 00 4E */ lhz r0, 0x4e(r5)
/* 80034834 00030674 7C 00 18 40 */ cmplw r0, r3
/* 80034838 00030678 40 82 FF F0 */ bne lbl_80034828
/* 8003483C 0003067C 54 00 80 1E */ slwi r0, r0, 16
/* 80034840 00030680 7C 00 23 78 */ or r0, r0, r4
/* 80034844 00030684 7C 00 D8 40 */ cmplw r0, r27
/* 80034848 00030688 7C 1B 03 78 */ mr r27, r0
/* 8003484C 0003068C 40 82 FF A4 */ bne lbl_800347F0
.global lbl_80034850
lbl_80034850:
/* 80034850 00030690 3C 60 CC 00 */ lis r3, 0xCC003018@ha
/* 80034854 00030694 38 00 00 01 */ li r0, 0x1
/* 80034858 00030698 90 03 30 18 */ stw r0, 0xCC003018@l(r3)
/* 8003485C 0003069C 4B FF 12 E5 */ bl OSGetTime
/* 80034860 000306A0 38 00 00 00 */ li r0, 0x0
/* 80034864 000306A4 7C 9F 23 78 */ mr r31, r4
/* 80034868 000306A8 7C 7E 1B 78 */ mr r30, r3
/* 8003486C 000306AC 3B A0 00 32 */ li r29, 0x32
/* 80034870 000306B0 6C 1C 80 00 */ xoris r28, r0, 0x8000
.global lbl_80034874
lbl_80034874:
/* 80034874 000306B4 4B FF 12 CD */ bl OSGetTime
/* 80034878 000306B8 7C 9F 20 10 */ subfc r4, r31, r4
/* 8003487C 000306BC 7C 1E 19 10 */ subfe r0, r30, r3
/* 80034880 000306C0 6C 03 80 00 */ xoris r3, r0, 0x8000
/* 80034884 000306C4 7C 04 E8 10 */ subfc r0, r4, r29
/* 80034888 000306C8 7C 63 E1 10 */ subfe r3, r3, r28
/* 8003488C 000306CC 7C 7C E1 10 */ subfe r3, r28, r28
/* 80034890 000306D0 7C 63 00 D1 */ neg. r3, r3
/* 80034894 000306D4 41 82 FF E0 */ beq lbl_80034874
/* 80034898 000306D8 3C 60 CC 00 */ lis r3, 0xCC003018@ha
/* 8003489C 000306DC 3B C0 00 00 */ li r30, 0x0
/* 800348A0 000306E0 93 C3 30 18 */ stw r30, 0xCC003018@l(r3)
/* 800348A4 000306E4 4B FF 12 9D */ bl OSGetTime
/* 800348A8 000306E8 6F DF 80 00 */ xoris r31, r30, 0x8000
/* 800348AC 000306EC 7C 9C 23 78 */ mr r28, r4
/* 800348B0 000306F0 7C 7D 1B 78 */ mr r29, r3
/* 800348B4 000306F4 3B C0 00 05 */ li r30, 0x5
.global lbl_800348B8
lbl_800348B8:
/* 800348B8 000306F8 4B FF 12 89 */ bl OSGetTime
/* 800348BC 000306FC 7C 9C 20 10 */ subfc r4, r28, r4
/* 800348C0 00030700 7C 1D 19 10 */ subfe r0, r29, r3
/* 800348C4 00030704 6C 03 80 00 */ xoris r3, r0, 0x8000
/* 800348C8 00030708 7C 04 F0 10 */ subfc r0, r4, r30
/* 800348CC 0003070C 7C 63 F9 10 */ subfe r3, r3, r31
/* 800348D0 00030710 7C 7F F9 10 */ subfe r3, r31, r31
/* 800348D4 00030714 7C 63 00 D1 */ neg. r3, r3
/* 800348D8 00030718 41 82 FF E0 */ beq lbl_800348B8
/* 800348DC 0003071C 39 61 00 20 */ addi r11, r1, 0x20
/* 800348E0 00030720 4B FD 2A A9 */ bl lbl_80007388
/* 800348E4 00030724 80 01 00 24 */ lwz r0, 0x24(r1)
/* 800348E8 00030728 7C 08 03 A6 */ mtlr r0
/* 800348EC 0003072C 38 21 00 20 */ addi r1, r1, 0x20
/* 800348F0 00030730 4E 80 00 20 */ blr
/* 800348F4 00030734 00 00 00 00 */ .4byte 0x00000000
/* 800348F8 00030738 00 00 00 00 */ .4byte 0x00000000
/* 800348FC 0003073C 00 00 00 00 */ .4byte 0x00000000
.global GXAbortFrame
GXAbortFrame:
/* 80034900 00030740 94 21 FF E0 */ stwu r1, -0x20(r1)
/* 80034904 00030744 7C 08 02 A6 */ mflr r0
/* 80034908 00030748 90 01 00 24 */ stw r0, 0x24(r1)
/* 8003490C 0003074C 39 61 00 20 */ addi r11, r1, 0x20
/* 80034910 00030750 4B FD 2A 29 */ bl lbl_80007338
/* 80034914 00030754 83 E2 86 08 */ lwz r31, __GXData@sda21(r2)
/* 80034918 00030758 88 1F 05 FA */ lbz r0, 0x5fa(r31)
/* 8003491C 0003075C 2C 00 00 00 */ cmpwi r0, 0x0
/* 80034920 00030760 41 82 00 A0 */ beq lbl_800349C0
/* 80034924 00030764 4B FF EB ED */ bl __GXIsGPFifoReady
/* 80034928 00030768 54 60 06 3F */ clrlwi. r0, r3, 24
/* 8003492C 0003076C 41 82 00 94 */ beq lbl_800349C0
/* 80034930 00030770 80 AD E5 BC */ lwz r5, __memReg@sda21(r13)
/* 80034934 00030774 A0 65 00 4E */ lhz r3, 0x4e(r5)
.global lbl_80034938
lbl_80034938:
/* 80034938 00030778 7C 60 1B 78 */ mr r0, r3
/* 8003493C 0003077C A0 85 00 50 */ lhz r4, 0x50(r5)
/* 80034940 00030780 A0 65 00 4E */ lhz r3, 0x4e(r5)
/* 80034944 00030784 7C 03 00 40 */ cmplw r3, r0
/* 80034948 00030788 40 82 FF F0 */ bne lbl_80034938
/* 8003494C 0003078C 54 63 80 1E */ slwi r3, r3, 16
/* 80034950 00030790 38 00 00 00 */ li r0, 0x0
/* 80034954 00030794 7C 7A 23 78 */ or r26, r3, r4
/* 80034958 00030798 3B 80 00 08 */ li r28, 0x8
/* 8003495C 0003079C 6C 1B 80 00 */ xoris r27, r0, 0x8000
.global lbl_80034960
lbl_80034960:
/* 80034960 000307A0 4B FF 11 E1 */ bl OSGetTime
/* 80034964 000307A4 7C 9E 23 78 */ mr r30, r4
/* 80034968 000307A8 7C 7D 1B 78 */ mr r29, r3
.global lbl_8003496C
lbl_8003496C:
/* 8003496C 000307AC 4B FF 11 D5 */ bl OSGetTime
/* 80034970 000307B0 7C 9E 20 10 */ subfc r4, r30, r4
/* 80034974 000307B4 7C 1D 19 10 */ subfe r0, r29, r3
/* 80034978 000307B8 6C 03 80 00 */ xoris r3, r0, 0x8000
/* 8003497C 000307BC 7C 04 E0 10 */ subfc r0, r4, r28
/* 80034980 000307C0 7C 63 D9 10 */ subfe r3, r3, r27
/* 80034984 000307C4 7C 7B D9 10 */ subfe r3, r27, r27
/* 80034988 000307C8 7C 63 00 D1 */ neg. r3, r3
/* 8003498C 000307CC 41 82 FF E0 */ beq lbl_8003496C
/* 80034990 000307D0 80 AD E5 BC */ lwz r5, __memReg@sda21(r13)
/* 80034994 000307D4 A0 85 00 4E */ lhz r4, 0x4e(r5)
.global lbl_80034998
lbl_80034998:
/* 80034998 000307D8 7C 80 23 78 */ mr r0, r4
/* 8003499C 000307DC A0 65 00 50 */ lhz r3, 0x50(r5)
/* 800349A0 000307E0 A0 85 00 4E */ lhz r4, 0x4e(r5)
/* 800349A4 000307E4 7C 04 00 40 */ cmplw r4, r0
/* 800349A8 000307E8 40 82 FF F0 */ bne lbl_80034998
/* 800349AC 000307EC 54 80 80 1E */ slwi r0, r4, 16
/* 800349B0 000307F0 7C 00 1B 78 */ or r0, r0, r3
/* 800349B4 000307F4 7C 00 D0 40 */ cmplw r0, r26
/* 800349B8 000307F8 7C 1A 03 78 */ mr r26, r0
/* 800349BC 000307FC 40 82 FF A4 */ bne lbl_80034960
.global lbl_800349C0
lbl_800349C0:
/* 800349C0 00030800 3C 60 CC 00 */ lis r3, 0xCC003018@ha
/* 800349C4 00030804 38 00 00 01 */ li r0, 0x1
/* 800349C8 00030808 90 03 30 18 */ stw r0, 0xCC003018@l(r3)
/* 800349CC 0003080C 4B FF 11 75 */ bl OSGetTime
/* 800349D0 00030810 38 00 00 00 */ li r0, 0x0
/* 800349D4 00030814 7C 9E 23 78 */ mr r30, r4
/* 800349D8 00030818 7C 7D 1B 78 */ mr r29, r3
/* 800349DC 0003081C 3B 80 00 32 */ li r28, 0x32
/* 800349E0 00030820 6C 1B 80 00 */ xoris r27, r0, 0x8000
.global lbl_800349E4
lbl_800349E4:
/* 800349E4 00030824 4B FF 11 5D */ bl OSGetTime
/* 800349E8 00030828 7C 9E 20 10 */ subfc r4, r30, r4
/* 800349EC 0003082C 7C 1D 19 10 */ subfe r0, r29, r3
/* 800349F0 00030830 6C 03 80 00 */ xoris r3, r0, 0x8000
/* 800349F4 00030834 7C 04 E0 10 */ subfc r0, r4, r28
/* 800349F8 00030838 7C 63 D9 10 */ subfe r3, r3, r27
/* 800349FC 0003083C 7C 7B D9 10 */ subfe r3, r27, r27
/* 80034A00 00030840 7C 63 00 D1 */ neg. r3, r3
/* 80034A04 00030844 41 82 FF E0 */ beq lbl_800349E4
/* 80034A08 00030848 3C 60 CC 00 */ lis r3, 0xCC003018@ha
/* 80034A0C 0003084C 3B A0 00 00 */ li r29, 0x0
/* 80034A10 00030850 93 A3 30 18 */ stw r29, 0xCC003018@l(r3)
/* 80034A14 00030854 4B FF 11 2D */ bl OSGetTime
/* 80034A18 00030858 6F BE 80 00 */ xoris r30, r29, 0x8000
/* 80034A1C 0003085C 7C 9B 23 78 */ mr r27, r4
/* 80034A20 00030860 7C 7C 1B 78 */ mr r28, r3
/* 80034A24 00030864 3B A0 00 05 */ li r29, 0x5
.global lbl_80034A28
lbl_80034A28:
/* 80034A28 00030868 4B FF 11 19 */ bl OSGetTime
/* 80034A2C 0003086C 7C 9B 20 10 */ subfc r4, r27, r4
/* 80034A30 00030870 7C 1C 19 10 */ subfe r0, r28, r3
/* 80034A34 00030874 6C 03 80 00 */ xoris r3, r0, 0x8000
/* 80034A38 00030878 7C 04 E8 10 */ subfc r0, r4, r29
/* 80034A3C 0003087C 7C 63 F1 10 */ subfe r3, r3, r30
/* 80034A40 00030880 7C 7E F1 10 */ subfe r3, r30, r30
/* 80034A44 00030884 7C 63 00 D1 */ neg. r3, r3
/* 80034A48 00030888 41 82 FF E0 */ beq lbl_80034A28
/* 80034A4C 0003088C 4B FF EA C5 */ bl __GXIsGPFifoReady
/* 80034A50 00030890 54 60 06 3F */ clrlwi. r0, r3, 24
/* 80034A54 00030894 41 82 00 48 */ beq lbl_80034A9C
/* 80034A58 00030898 4B FF EB 99 */ bl __GXCleanGPFifo
/* 80034A5C 0003089C 4B FF D4 55 */ bl __GXInitRevisionBits
/* 80034A60 000308A0 38 00 00 00 */ li r0, 0x0
/* 80034A64 000308A4 90 1F 05 FC */ stw r0, 0x5fc(r31)
/* 80034A68 000308A8 48 00 00 08 */ b lbl_80034A70
/* 80034A6C 000308AC 48 00 05 85 */ bl __GXSetDirtyState
.global lbl_80034A70
lbl_80034A70:
/* 80034A70 000308B0 3C 60 CC 01 */ lis r3, 0xCC008000@ha
/* 80034A74 000308B4 38 00 00 00 */ li r0, 0x0
/* 80034A78 000308B8 90 03 80 00 */ stw r0, 0xCC008000@l(r3)
/* 80034A7C 000308BC 90 03 80 00 */ stw r0, -0x8000(r3)
/* 80034A80 000308C0 90 03 80 00 */ stw r0, -0x8000(r3)
/* 80034A84 000308C4 90 03 80 00 */ stw r0, -0x8000(r3)
/* 80034A88 000308C8 90 03 80 00 */ stw r0, -0x8000(r3)
/* 80034A8C 000308CC 90 03 80 00 */ stw r0, -0x8000(r3)
/* 80034A90 000308D0 90 03 80 00 */ stw r0, -0x8000(r3)
/* 80034A94 000308D4 90 03 80 00 */ stw r0, -0x8000(r3)
/* 80034A98 000308D8 4B FE 56 89 */ bl PPCSync
.global lbl_80034A9C
lbl_80034A9C:
/* 80034A9C 000308DC 39 61 00 20 */ addi r11, r1, 0x20
/* 80034AA0 000308E0 4B FD 28 E5 */ bl lbl_80007384
/* 80034AA4 000308E4 80 01 00 24 */ lwz r0, 0x24(r1)
/* 80034AA8 000308E8 7C 08 03 A6 */ mtlr r0
/* 80034AAC 000308EC 38 21 00 20 */ addi r1, r1, 0x20
/* 80034AB0 000308F0 4E 80 00 20 */ blr
/* 80034AB4 000308F4 00 00 00 00 */ .4byte 0x00000000
/* 80034AB8 000308F8 00 00 00 00 */ .4byte 0x00000000
/* 80034ABC 000308FC 00 00 00 00 */ .4byte 0x00000000
.global GXSetDrawDone
GXSetDrawDone:
/* 80034AC0 00030900 94 21 FF E0 */ stwu r1, -0x20(r1)
/* 80034AC4 00030904 7C 08 02 A6 */ mflr r0
/* 80034AC8 00030908 90 01 00 24 */ stw r0, 0x24(r1)
/* 80034ACC 0003090C 93 E1 00 1C */ stw r31, 0x1c(r1)
/* 80034AD0 00030910 93 C1 00 18 */ stw r30, 0x18(r1)
/* 80034AD4 00030914 93 A1 00 14 */ stw r29, 0x14(r1)
/* 80034AD8 00030918 4B FE CD 49 */ bl OSDisableInterrupts
/* 80034ADC 0003091C 3C A0 CC 01 */ lis r5, 0xCC008000@ha
/* 80034AE0 00030920 38 00 00 61 */ li r0, 0x61
/* 80034AE4 00030924 98 05 80 00 */ stb r0, 0xCC008000@l(r5)
/* 80034AE8 00030928 3C 80 45 00 */ lis r4, 0x4500
/* 80034AEC 0003092C 38 04 00 02 */ addi r0, r4, 0x2
/* 80034AF0 00030930 83 C2 86 08 */ lwz r30, __GXData@sda21(r2)
/* 80034AF4 00030934 90 05 80 00 */ stw r0, -0x8000(r5)
/* 80034AF8 00030938 7C 7D 1B 78 */ mr r29, r3
/* 80034AFC 0003093C 80 1E 05 FC */ lwz r0, 0x5fc(r30)
/* 80034B00 00030940 2C 00 00 00 */ cmpwi r0, 0x0
/* 80034B04 00030944 41 82 00 08 */ beq lbl_80034B0C
/* 80034B08 00030948 48 00 04 E9 */ bl __GXSetDirtyState
.global lbl_80034B0C
lbl_80034B0C:
/* 80034B0C 0003094C 3C 60 CC 01 */ lis r3, 0xCC008000@ha
/* 80034B10 00030950 3B E0 00 00 */ li r31, 0x0
/* 80034B14 00030954 93 E3 80 00 */ stw r31, 0xCC008000@l(r3)
/* 80034B18 00030958 93 E3 80 00 */ stw r31, -0x8000(r3)
/* 80034B1C 0003095C 93 E3 80 00 */ stw r31, -0x8000(r3)
/* 80034B20 00030960 93 E3 80 00 */ stw r31, -0x8000(r3)
/* 80034B24 00030964 93 E3 80 00 */ stw r31, -0x8000(r3)
/* 80034B28 00030968 93 E3 80 00 */ stw r31, -0x8000(r3)
/* 80034B2C 0003096C 93 E3 80 00 */ stw r31, -0x8000(r3)
/* 80034B30 00030970 93 E3 80 00 */ stw r31, -0x8000(r3)
/* 80034B34 00030974 4B FE 55 ED */ bl PPCSync
/* 80034B38 00030978 9B ED E6 00 */ stb r31, DrawDone@sda21(r13)
/* 80034B3C 0003097C 7F A3 EB 78 */ mr r3, r29
/* 80034B40 00030980 4B FE CD 21 */ bl OSRestoreInterrupts
/* 80034B44 00030984 B3 FE 00 02 */ sth r31, 0x2(r30)
/* 80034B48 00030988 83 E1 00 1C */ lwz r31, 0x1c(r1)
/* 80034B4C 0003098C 83 C1 00 18 */ lwz r30, 0x18(r1)
/* 80034B50 00030990 83 A1 00 14 */ lwz r29, 0x14(r1)
/* 80034B54 00030994 80 01 00 24 */ lwz r0, 0x24(r1)
/* 80034B58 00030998 7C 08 03 A6 */ mtlr r0
/* 80034B5C 0003099C 38 21 00 20 */ addi r1, r1, 0x20
/* 80034B60 000309A0 4E 80 00 20 */ blr
/* 80034B64 000309A4 00 00 00 00 */ .4byte 0x00000000
/* 80034B68 000309A8 00 00 00 00 */ .4byte 0x00000000
/* 80034B6C 000309AC 00 00 00 00 */ .4byte 0x00000000
.global GXDrawDone
GXDrawDone:
/* 80034B70 000309B0 94 21 FF E0 */ stwu r1, -0x20(r1)
/* 80034B74 000309B4 7C 08 02 A6 */ mflr r0
/* 80034B78 000309B8 90 01 00 24 */ stw r0, 0x24(r1)
/* 80034B7C 000309BC 93 E1 00 1C */ stw r31, 0x1c(r1)
/* 80034B80 000309C0 93 C1 00 18 */ stw r30, 0x18(r1)
/* 80034B84 000309C4 93 A1 00 14 */ stw r29, 0x14(r1)
/* 80034B88 000309C8 4B FE CC 99 */ bl OSDisableInterrupts
/* 80034B8C 000309CC 3C A0 CC 01 */ lis r5, 0xCC008000@ha
/* 80034B90 000309D0 38 00 00 61 */ li r0, 0x61
/* 80034B94 000309D4 98 05 80 00 */ stb r0, 0xCC008000@l(r5)
/* 80034B98 000309D8 3C 80 45 00 */ lis r4, 0x4500
/* 80034B9C 000309DC 38 04 00 02 */ addi r0, r4, 0x2
/* 80034BA0 000309E0 83 A2 86 08 */ lwz r29, __GXData@sda21(r2)
/* 80034BA4 000309E4 90 05 80 00 */ stw r0, -0x8000(r5)
/* 80034BA8 000309E8 7C 7E 1B 78 */ mr r30, r3
/* 80034BAC 000309EC 80 1D 05 FC */ lwz r0, 0x5fc(r29)
/* 80034BB0 000309F0 2C 00 00 00 */ cmpwi r0, 0x0
/* 80034BB4 000309F4 41 82 00 08 */ beq lbl_80034BBC
/* 80034BB8 000309F8 48 00 04 39 */ bl __GXSetDirtyState
.global lbl_80034BBC
lbl_80034BBC:
/* 80034BBC 000309FC 3C 60 CC 01 */ lis r3, 0xCC008000@ha
/* 80034BC0 00030A00 3B E0 00 00 */ li r31, 0x0
/* 80034BC4 00030A04 93 E3 80 00 */ stw r31, 0xCC008000@l(r3)
/* 80034BC8 00030A08 93 E3 80 00 */ stw r31, -0x8000(r3)
/* 80034BCC 00030A0C 93 E3 80 00 */ stw r31, -0x8000(r3)
/* 80034BD0 00030A10 93 E3 80 00 */ stw r31, -0x8000(r3)
/* 80034BD4 00030A14 93 E3 80 00 */ stw r31, -0x8000(r3)
/* 80034BD8 00030A18 93 E3 80 00 */ stw r31, -0x8000(r3)
/* 80034BDC 00030A1C 93 E3 80 00 */ stw r31, -0x8000(r3)
/* 80034BE0 00030A20 93 E3 80 00 */ stw r31, -0x8000(r3)
/* 80034BE4 00030A24 4B FE 55 3D */ bl PPCSync
/* 80034BE8 00030A28 9B ED E6 00 */ stb r31, DrawDone@sda21(r13)
/* 80034BEC 00030A2C 7F C3 F3 78 */ mr r3, r30
/* 80034BF0 00030A30 4B FE CC 71 */ bl OSRestoreInterrupts
/* 80034BF4 00030A34 B3 FD 00 02 */ sth r31, 0x2(r29)
/* 80034BF8 00030A38 4B FE CC 29 */ bl OSDisableInterrupts
/* 80034BFC 00030A3C 7C 7E 1B 78 */ mr r30, r3
/* 80034C00 00030A40 48 00 00 0C */ b lbl_80034C0C
.global lbl_80034C04
lbl_80034C04:
/* 80034C04 00030A44 38 6D E5 F8 */ addi r3, r13, FinishQueue@sda21
/* 80034C08 00030A48 4B FF 0C 09 */ bl OSSleepThread
.global lbl_80034C0C
lbl_80034C0C:
/* 80034C0C 00030A4C 88 0D E6 00 */ lbz r0, DrawDone@sda21(r13)
/* 80034C10 00030A50 2C 00 00 00 */ cmpwi r0, 0x0
/* 80034C14 00030A54 41 82 FF F0 */ beq lbl_80034C04
/* 80034C18 00030A58 7F C3 F3 78 */ mr r3, r30
/* 80034C1C 00030A5C 4B FE CC 45 */ bl OSRestoreInterrupts
/* 80034C20 00030A60 80 01 00 24 */ lwz r0, 0x24(r1)
/* 80034C24 00030A64 83 E1 00 1C */ lwz r31, 0x1c(r1)
/* 80034C28 00030A68 83 C1 00 18 */ lwz r30, 0x18(r1)
/* 80034C2C 00030A6C 83 A1 00 14 */ lwz r29, 0x14(r1)
/* 80034C30 00030A70 7C 08 03 A6 */ mtlr r0
/* 80034C34 00030A74 38 21 00 20 */ addi r1, r1, 0x20
/* 80034C38 00030A78 4E 80 00 20 */ blr
/* 80034C3C 00030A7C 00 00 00 00 */ .4byte 0x00000000
.global GXPixModeSync
GXPixModeSync:
/* 80034C40 00030A80 3C 80 CC 01 */ lis r4, 0xCC008000@ha
/* 80034C44 00030A84 38 00 00 61 */ li r0, 0x61
/* 80034C48 00030A88 98 04 80 00 */ stb r0, 0xCC008000@l(r4)
/* 80034C4C 00030A8C 38 00 00 00 */ li r0, 0x0
/* 80034C50 00030A90 80 A2 86 08 */ lwz r5, __GXData@sda21(r2)
/* 80034C54 00030A94 80 65 02 2C */ lwz r3, 0x22c(r5)
/* 80034C58 00030A98 90 64 80 00 */ stw r3, -0x8000(r4)
/* 80034C5C 00030A9C B0 05 00 02 */ sth r0, 0x2(r5)
/* 80034C60 00030AA0 4E 80 00 20 */ blr
/* 80034C64 00030AA4 00 00 00 00 */ .4byte 0x00000000
/* 80034C68 00030AA8 00 00 00 00 */ .4byte 0x00000000
/* 80034C6C 00030AAC 00 00 00 00 */ .4byte 0x00000000
.global GXTexModeSync
GXTexModeSync:
/* 80034C70 00030AB0 3C A0 CC 01 */ lis r5, 0xCC008000@ha
/* 80034C74 00030AB4 38 00 00 61 */ li r0, 0x61
/* 80034C78 00030AB8 98 05 80 00 */ stb r0, 0xCC008000@l(r5)
/* 80034C7C 00030ABC 3C 80 63 00 */ lis r4, 0x6300
/* 80034C80 00030AC0 80 62 86 08 */ lwz r3, __GXData@sda21(r2)
/* 80034C84 00030AC4 38 00 00 00 */ li r0, 0x0
/* 80034C88 00030AC8 90 85 80 00 */ stw r4, -0x8000(r5)
/* 80034C8C 00030ACC B0 03 00 02 */ sth r0, 0x2(r3)
/* 80034C90 00030AD0 4E 80 00 20 */ blr
/* 80034C94 00030AD4 00 00 00 00 */ .4byte 0x00000000
/* 80034C98 00030AD8 00 00 00 00 */ .4byte 0x00000000
/* 80034C9C 00030ADC 00 00 00 00 */ .4byte 0x00000000
.global GXPokeAlphaMode
GXPokeAlphaMode:
/* 80034CA0 00030AE0 80 AD E5 B8 */ lwz r5, __peReg@sda21(r13)
/* 80034CA4 00030AE4 50 64 40 2E */ rlwimi r4, r3, 8, 0, 23
/* 80034CA8 00030AE8 B0 85 00 06 */ sth r4, 0x6(r5)
/* 80034CAC 00030AEC 4E 80 00 20 */ blr
.global GXPokeAlphaRead
GXPokeAlphaRead:
/* 80034CB0 00030AF0 80 8D E5 B8 */ lwz r4, __peReg@sda21(r13)
/* 80034CB4 00030AF4 38 00 00 00 */ li r0, 0x0
/* 80034CB8 00030AF8 50 60 07 BE */ rlwimi r0, r3, 0, 30, 31
/* 80034CBC 00030AFC 60 00 00 04 */ ori r0, r0, 0x4
/* 80034CC0 00030B00 B0 04 00 08 */ sth r0, 0x8(r4)
/* 80034CC4 00030B04 4E 80 00 20 */ blr
/* 80034CC8 00030B08 00 00 00 00 */ .4byte 0x00000000
/* 80034CCC 00030B0C 00 00 00 00 */ .4byte 0x00000000
.global GXPokeAlphaUpdate
GXPokeAlphaUpdate:
/* 80034CD0 00030B10 80 8D E5 B8 */ lwz r4, __peReg@sda21(r13)
/* 80034CD4 00030B14 A0 04 00 02 */ lhz r0, 0x2(r4)
/* 80034CD8 00030B18 50 60 26 F6 */ rlwimi r0, r3, 4, 27, 27
/* 80034CDC 00030B1C B0 04 00 02 */ sth r0, 0x2(r4)
/* 80034CE0 00030B20 4E 80 00 20 */ blr
/* 80034CE4 00030B24 00 00 00 00 */ .4byte 0x00000000
/* 80034CE8 00030B28 00 00 00 00 */ .4byte 0x00000000
/* 80034CEC 00030B2C 00 00 00 00 */ .4byte 0x00000000
.global GXPokeBlendMode
GXPokeBlendMode:
/* 80034CF0 00030B30 80 ED E5 B8 */ lwz r7, __peReg@sda21(r13)
/* 80034CF4 00030B34 2C 03 00 01 */ cmpwi r3, 0x1
/* 80034CF8 00030B38 38 00 00 00 */ li r0, 0x0
/* 80034CFC 00030B3C A1 27 00 02 */ lhz r9, 0x2(r7)
/* 80034D00 00030B40 41 82 00 0C */ beq lbl_80034D0C
/* 80034D04 00030B44 2C 03 00 03 */ cmpwi r3, 0x3
/* 80034D08 00030B48 40 82 00 08 */ bne lbl_80034D10
.global lbl_80034D0C
lbl_80034D0C:
/* 80034D0C 00030B4C 38 00 00 01 */ li r0, 0x1
.global lbl_80034D10
lbl_80034D10:
/* 80034D10 00030B50 38 E3 FF FD */ addi r7, r3, -0x3
/* 80034D14 00030B54 50 09 07 FE */ rlwimi r9, r0, 0, 31, 31
/* 80034D18 00030B58 38 03 FF FE */ addi r0, r3, -0x2
/* 80034D1C 00030B5C 80 6D E5 B8 */ lwz r3, __peReg@sda21(r13)
/* 80034D20 00030B60 7C E8 00 34 */ cntlzw r8, r7
/* 80034D24 00030B64 7C 07 00 34 */ cntlzw r7, r0
/* 80034D28 00030B68 38 00 00 41 */ li r0, 0x41
/* 80034D2C 00030B6C 51 09 35 28 */ rlwimi r9, r8, 6, 20, 20
/* 80034D30 00030B70 50 E9 E7 BC */ rlwimi r9, r7, 28, 30, 30
/* 80034D34 00030B74 50 C9 64 26 */ rlwimi r9, r6, 12, 16, 19
/* 80034D38 00030B78 50 89 45 6E */ rlwimi r9, r4, 8, 21, 23
/* 80034D3C 00030B7C 50 A9 2E 34 */ rlwimi r9, r5, 5, 24, 26
/* 80034D40 00030B80 50 09 C0 0E */ rlwimi r9, r0, 24, 0, 7
/* 80034D44 00030B84 B1 23 00 02 */ sth r9, 0x2(r3)
/* 80034D48 00030B88 4E 80 00 20 */ blr
/* 80034D4C 00030B8C 00 00 00 00 */ .4byte 0x00000000
.global GXPokeColorUpdate
GXPokeColorUpdate:
/* 80034D50 00030B90 80 8D E5 B8 */ lwz r4, __peReg@sda21(r13)
/* 80034D54 00030B94 A0 04 00 02 */ lhz r0, 0x2(r4)
/* 80034D58 00030B98 50 60 1F 38 */ rlwimi r0, r3, 3, 28, 28
/* 80034D5C 00030B9C B0 04 00 02 */ sth r0, 0x2(r4)
/* 80034D60 00030BA0 4E 80 00 20 */ blr
/* 80034D64 00030BA4 00 00 00 00 */ .4byte 0x00000000
/* 80034D68 00030BA8 00 00 00 00 */ .4byte 0x00000000
/* 80034D6C 00030BAC 00 00 00 00 */ .4byte 0x00000000
.global GXPokeDstAlpha
GXPokeDstAlpha:
/* 80034D70 00030BB0 80 AD E5 B8 */ lwz r5, __peReg@sda21(r13)
/* 80034D74 00030BB4 38 00 00 00 */ li r0, 0x0
/* 80034D78 00030BB8 50 80 06 3E */ rlwimi r0, r4, 0, 24, 31
/* 80034D7C 00030BBC 50 60 45 EE */ rlwimi r0, r3, 8, 23, 23
/* 80034D80 00030BC0 B0 05 00 04 */ sth r0, 0x4(r5)
/* 80034D84 00030BC4 4E 80 00 20 */ blr
/* 80034D88 00030BC8 00 00 00 00 */ .4byte 0x00000000
/* 80034D8C 00030BCC 00 00 00 00 */ .4byte 0x00000000
.global GXPokeDither
GXPokeDither:
/* 80034D90 00030BD0 80 8D E5 B8 */ lwz r4, __peReg@sda21(r13)
/* 80034D94 00030BD4 A0 04 00 02 */ lhz r0, 0x2(r4)
/* 80034D98 00030BD8 50 60 17 7A */ rlwimi r0, r3, 2, 29, 29
/* 80034D9C 00030BDC B0 04 00 02 */ sth r0, 0x2(r4)
/* 80034DA0 00030BE0 4E 80 00 20 */ blr
/* 80034DA4 00030BE4 00 00 00 00 */ .4byte 0x00000000
/* 80034DA8 00030BE8 00 00 00 00 */ .4byte 0x00000000
/* 80034DAC 00030BEC 00 00 00 00 */ .4byte 0x00000000
.global GXPokeZMode
GXPokeZMode:
/* 80034DB0 00030BF0 80 CD E5 B8 */ lwz r6, __peReg@sda21(r13)
/* 80034DB4 00030BF4 38 00 00 00 */ li r0, 0x0
/* 80034DB8 00030BF8 50 60 07 FE */ rlwimi r0, r3, 0, 31, 31
/* 80034DBC 00030BFC 50 80 0F 3C */ rlwimi r0, r4, 1, 28, 30
/* 80034DC0 00030C00 50 A0 26 F6 */ rlwimi r0, r5, 4, 27, 27
/* 80034DC4 00030C04 B0 06 00 00 */ sth r0, 0x0(r6)
/* 80034DC8 00030C08 4E 80 00 20 */ blr
/* 80034DCC 00030C0C 00 00 00 00 */ .4byte 0x00000000
.global GXSetDrawSyncCallback
GXSetDrawSyncCallback:
/* 80034DD0 00030C10 94 21 FF F0 */ stwu r1, -0x10(r1)
/* 80034DD4 00030C14 7C 08 02 A6 */ mflr r0
/* 80034DD8 00030C18 90 01 00 14 */ stw r0, 0x14(r1)
/* 80034DDC 00030C1C 93 E1 00 0C */ stw r31, 0xc(r1)
/* 80034DE0 00030C20 93 C1 00 08 */ stw r30, 0x8(r1)
/* 80034DE4 00030C24 7C 7E 1B 78 */ mr r30, r3
/* 80034DE8 00030C28 83 ED E6 08 */ lwz r31, TokenCB@sda21(r13)
/* 80034DEC 00030C2C 4B FE CA 35 */ bl OSDisableInterrupts
/* 80034DF0 00030C30 93 CD E6 08 */ stw r30, TokenCB@sda21(r13)
/* 80034DF4 00030C34 4B FE CA 6D */ bl OSRestoreInterrupts
/* 80034DF8 00030C38 7F E3 FB 78 */ mr r3, r31
/* 80034DFC 00030C3C 83 E1 00 0C */ lwz r31, 0xc(r1)
/* 80034E00 00030C40 83 C1 00 08 */ lwz r30, 0x8(r1)
/* 80034E04 00030C44 80 01 00 14 */ lwz r0, 0x14(r1)
/* 80034E08 00030C48 7C 08 03 A6 */ mtlr r0
/* 80034E0C 00030C4C 38 21 00 10 */ addi r1, r1, 0x10
/* 80034E10 00030C50 4E 80 00 20 */ blr
/* 80034E14 00030C54 00 00 00 00 */ .4byte 0x00000000
/* 80034E18 00030C58 00 00 00 00 */ .4byte 0x00000000
/* 80034E1C 00030C5C 00 00 00 00 */ .4byte 0x00000000
.global GXTokenInterruptHandler
GXTokenInterruptHandler:
/* 80034E20 00030C60 94 21 FD 20 */ stwu r1, -0x2e0(r1)
/* 80034E24 00030C64 7C 08 02 A6 */ mflr r0
/* 80034E28 00030C68 90 01 02 E4 */ stw r0, 0x2e4(r1)
/* 80034E2C 00030C6C 93 E1 02 DC */ stw r31, 0x2dc(r1)
/* 80034E30 00030C70 93 C1 02 D8 */ stw r30, 0x2d8(r1)
/* 80034E34 00030C74 7C 9E 23 78 */ mr r30, r4
/* 80034E38 00030C78 80 0D E6 08 */ lwz r0, TokenCB@sda21(r13)
/* 80034E3C 00030C7C 80 6D E5 B8 */ lwz r3, __peReg@sda21(r13)
/* 80034E40 00030C80 2C 00 00 00 */ cmpwi r0, 0x0
/* 80034E44 00030C84 A3 E3 00 0E */ lhz r31, 0xe(r3)
/* 80034E48 00030C88 41 82 00 34 */ beq lbl_80034E7C
/* 80034E4C 00030C8C 38 61 00 08 */ addi r3, r1, 0x8
/* 80034E50 00030C90 4B FE 85 F1 */ bl OSClearContext
/* 80034E54 00030C94 38 61 00 08 */ addi r3, r1, 0x8
/* 80034E58 00030C98 4B FE 83 A9 */ bl OSSetCurrentContext
/* 80034E5C 00030C9C 81 8D E6 08 */ lwz r12, TokenCB@sda21(r13)
/* 80034E60 00030CA0 7F E3 FB 78 */ mr r3, r31
/* 80034E64 00030CA4 7D 89 03 A6 */ mtctr r12
/* 80034E68 00030CA8 4E 80 04 21 */ bctrl
/* 80034E6C 00030CAC 38 61 00 08 */ addi r3, r1, 0x8
/* 80034E70 00030CB0 4B FE 85 D1 */ bl OSClearContext
/* 80034E74 00030CB4 7F C3 F3 78 */ mr r3, r30
/* 80034E78 00030CB8 4B FE 83 89 */ bl OSSetCurrentContext
.global lbl_80034E7C
lbl_80034E7C:
/* 80034E7C 00030CBC 80 6D E5 B8 */ lwz r3, __peReg@sda21(r13)
/* 80034E80 00030CC0 A0 03 00 0A */ lhz r0, 0xa(r3)
/* 80034E84 00030CC4 60 00 00 04 */ ori r0, r0, 0x4
/* 80034E88 00030CC8 B0 03 00 0A */ sth r0, 0xa(r3)
/* 80034E8C 00030CCC 80 01 02 E4 */ lwz r0, 0x2e4(r1)
/* 80034E90 00030CD0 83 E1 02 DC */ lwz r31, 0x2dc(r1)
/* 80034E94 00030CD4 83 C1 02 D8 */ lwz r30, 0x2d8(r1)
/* 80034E98 00030CD8 7C 08 03 A6 */ mtlr r0
/* 80034E9C 00030CDC 38 21 02 E0 */ addi r1, r1, 0x2e0
/* 80034EA0 00030CE0 4E 80 00 20 */ blr
/* 80034EA4 00030CE4 00 00 00 00 */ .4byte 0x00000000
/* 80034EA8 00030CE8 00 00 00 00 */ .4byte 0x00000000
/* 80034EAC 00030CEC 00 00 00 00 */ .4byte 0x00000000
.global GXSetDrawDoneCallback
GXSetDrawDoneCallback:
/* 80034EB0 00030CF0 94 21 FF F0 */ stwu r1, -0x10(r1)
/* 80034EB4 00030CF4 7C 08 02 A6 */ mflr r0
/* 80034EB8 00030CF8 90 01 00 14 */ stw r0, 0x14(r1)
/* 80034EBC 00030CFC 93 E1 00 0C */ stw r31, 0xc(r1)
/* 80034EC0 00030D00 93 C1 00 08 */ stw r30, 0x8(r1)
/* 80034EC4 00030D04 7C 7E 1B 78 */ mr r30, r3
/* 80034EC8 00030D08 83 ED E6 04 */ lwz r31, DrawDoneCB@sda21(r13)
/* 80034ECC 00030D0C 4B FE C9 55 */ bl OSDisableInterrupts
/* 80034ED0 00030D10 93 CD E6 04 */ stw r30, DrawDoneCB@sda21(r13)
/* 80034ED4 00030D14 4B FE C9 8D */ bl OSRestoreInterrupts
/* 80034ED8 00030D18 7F E3 FB 78 */ mr r3, r31
/* 80034EDC 00030D1C 83 E1 00 0C */ lwz r31, 0xc(r1)
/* 80034EE0 00030D20 83 C1 00 08 */ lwz r30, 0x8(r1)
/* 80034EE4 00030D24 80 01 00 14 */ lwz r0, 0x14(r1)
/* 80034EE8 00030D28 7C 08 03 A6 */ mtlr r0
/* 80034EEC 00030D2C 38 21 00 10 */ addi r1, r1, 0x10
/* 80034EF0 00030D30 4E 80 00 20 */ blr
/* 80034EF4 00030D34 00 00 00 00 */ .4byte 0x00000000
/* 80034EF8 00030D38 00 00 00 00 */ .4byte 0x00000000
/* 80034EFC 00030D3C 00 00 00 00 */ .4byte 0x00000000
.global GXFinishInterruptHandler
GXFinishInterruptHandler:
/* 80034F00 00030D40 94 21 FD 20 */ stwu r1, -0x2e0(r1)
/* 80034F04 00030D44 7C 08 02 A6 */ mflr r0
/* 80034F08 00030D48 38 60 00 01 */ li r3, 0x1
/* 80034F0C 00030D4C 90 01 02 E4 */ stw r0, 0x2e4(r1)
/* 80034F10 00030D50 93 E1 02 DC */ stw r31, 0x2dc(r1)
/* 80034F14 00030D54 7C 9F 23 78 */ mr r31, r4
/* 80034F18 00030D58 80 AD E5 B8 */ lwz r5, __peReg@sda21(r13)
/* 80034F1C 00030D5C A0 05 00 0A */ lhz r0, 0xa(r5)
/* 80034F20 00030D60 60 00 00 08 */ ori r0, r0, 0x8
/* 80034F24 00030D64 B0 05 00 0A */ sth r0, 0xa(r5)
/* 80034F28 00030D68 80 0D E6 04 */ lwz r0, DrawDoneCB@sda21(r13)
/* 80034F2C 00030D6C 98 6D E6 00 */ stb r3, DrawDone@sda21(r13)
/* 80034F30 00030D70 2C 00 00 00 */ cmpwi r0, 0x0
/* 80034F34 00030D74 41 82 00 30 */ beq lbl_80034F64
/* 80034F38 00030D78 38 61 00 08 */ addi r3, r1, 0x8
/* 80034F3C 00030D7C 4B FE 85 05 */ bl OSClearContext
/* 80034F40 00030D80 38 61 00 08 */ addi r3, r1, 0x8
/* 80034F44 00030D84 4B FE 82 BD */ bl OSSetCurrentContext
/* 80034F48 00030D88 81 8D E6 04 */ lwz r12, DrawDoneCB@sda21(r13)
/* 80034F4C 00030D8C 7D 89 03 A6 */ mtctr r12
/* 80034F50 00030D90 4E 80 04 21 */ bctrl
/* 80034F54 00030D94 38 61 00 08 */ addi r3, r1, 0x8
/* 80034F58 00030D98 4B FE 84 E9 */ bl OSClearContext
/* 80034F5C 00030D9C 7F E3 FB 78 */ mr r3, r31
/* 80034F60 00030DA0 4B FE 82 A1 */ bl OSSetCurrentContext
.global lbl_80034F64
lbl_80034F64:
/* 80034F64 00030DA4 38 6D E5 F8 */ addi r3, r13, FinishQueue@sda21
/* 80034F68 00030DA8 4B FF 09 99 */ bl OSWakeupThread
/* 80034F6C 00030DAC 80 01 02 E4 */ lwz r0, 0x2e4(r1)
/* 80034F70 00030DB0 83 E1 02 DC */ lwz r31, 0x2dc(r1)
/* 80034F74 00030DB4 7C 08 03 A6 */ mtlr r0
/* 80034F78 00030DB8 38 21 02 E0 */ addi r1, r1, 0x2e0
/* 80034F7C 00030DBC 4E 80 00 20 */ blr
.global __GXPEInit
__GXPEInit:
/* 80034F80 00030DC0 94 21 FF F0 */ stwu r1, -0x10(r1)
/* 80034F84 00030DC4 7C 08 02 A6 */ mflr r0
/* 80034F88 00030DC8 3C 80 80 03 */ lis r4, GXTokenInterruptHandler@ha
/* 80034F8C 00030DCC 38 60 00 12 */ li r3, 0x12
/* 80034F90 00030DD0 90 01 00 14 */ stw r0, 0x14(r1)
/* 80034F94 00030DD4 38 84 4E 20 */ addi r4, r4, GXTokenInterruptHandler@l
/* 80034F98 00030DD8 4B FE C8 F9 */ bl __OSSetInterruptHandler
/* 80034F9C 00030DDC 3C 80 80 03 */ lis r4, GXFinishInterruptHandler@ha
/* 80034FA0 00030DE0 38 60 00 13 */ li r3, 0x13
/* 80034FA4 00030DE4 38 84 4F 00 */ addi r4, r4, GXFinishInterruptHandler@l
/* 80034FA8 00030DE8 4B FE C8 E9 */ bl __OSSetInterruptHandler
/* 80034FAC 00030DEC 38 6D E5 F8 */ addi r3, r13, FinishQueue@sda21
/* 80034FB0 00030DF0 4B FE F7 91 */ bl OSInitThreadQueue
/* 80034FB4 00030DF4 38 60 20 00 */ li r3, 0x2000
/* 80034FB8 00030DF8 4B FE CC B9 */ bl __OSUnmaskInterrupts
/* 80034FBC 00030DFC 38 60 10 00 */ li r3, 0x1000
/* 80034FC0 00030E00 4B FE CC B1 */ bl __OSUnmaskInterrupts
/* 80034FC4 00030E04 80 6D E5 B8 */ lwz r3, __peReg@sda21(r13)
/* 80034FC8 00030E08 A0 03 00 0A */ lhz r0, 0xa(r3)
/* 80034FCC 00030E0C 60 00 00 0F */ ori r0, r0, 0xf
/* 80034FD0 00030E10 B0 03 00 0A */ sth r0, 0xa(r3)
/* 80034FD4 00030E14 80 01 00 14 */ lwz r0, 0x14(r1)
/* 80034FD8 00030E18 7C 08 03 A6 */ mtlr r0
/* 80034FDC 00030E1C 38 21 00 10 */ addi r1, r1, 0x10
/* 80034FE0 00030E20 4E 80 00 20 */ blr
/* 80034FE4 00030E24 00 00 00 00 */ .4byte 0x00000000
/* 80034FE8 00030E28 00 00 00 00 */ .4byte 0x00000000
/* 80034FEC 00030E2C 00 00 00 00 */ .4byte 0x00000000