.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