.include "macros.inc" .section .text, "ax" # 0x80006980 - 0x803E1E60 .global TRKNubMainLoop TRKNubMainLoop: /* 801D4838 001D0498 94 21 FF E0 */ stwu r1, -0x20(r1) /* 801D483C 001D049C 7C 08 02 A6 */ mflr r0 /* 801D4840 001D04A0 90 01 00 24 */ stw r0, 0x24(r1) /* 801D4844 001D04A4 93 E1 00 1C */ stw r31, 0x1c(r1) /* 801D4848 001D04A8 3B E0 00 00 */ li r31, 0 /* 801D484C 001D04AC 93 C1 00 18 */ stw r30, 0x18(r1) /* 801D4850 001D04B0 3B C0 00 00 */ li r30, 0 /* 801D4854 001D04B4 48 00 00 BC */ b lbl_801D4910 lbl_801D4858: /* 801D4858 001D04B8 38 61 00 08 */ addi r3, r1, 8 /* 801D485C 001D04BC 48 00 01 F1 */ bl TRKGetNextEvent /* 801D4860 001D04C0 2C 03 00 00 */ cmpwi r3, 0 /* 801D4864 001D04C4 41 82 00 6C */ beq lbl_801D48D0 /* 801D4868 001D04C8 80 01 00 08 */ lwz r0, 8(r1) /* 801D486C 001D04CC 3B C0 00 00 */ li r30, 0 /* 801D4870 001D04D0 2C 00 00 02 */ cmpwi r0, 2 /* 801D4874 001D04D4 41 82 00 28 */ beq lbl_801D489C /* 801D4878 001D04D8 40 80 00 14 */ bge lbl_801D488C /* 801D487C 001D04DC 2C 00 00 00 */ cmpwi r0, 0 /* 801D4880 001D04E0 41 82 00 44 */ beq lbl_801D48C4 /* 801D4884 001D04E4 40 80 00 28 */ bge lbl_801D48AC /* 801D4888 001D04E8 48 00 00 3C */ b lbl_801D48C4 lbl_801D488C: /* 801D488C 001D04EC 2C 00 00 05 */ cmpwi r0, 5 /* 801D4890 001D04F0 41 82 00 30 */ beq lbl_801D48C0 /* 801D4894 001D04F4 40 80 00 30 */ bge lbl_801D48C4 /* 801D4898 001D04F8 48 00 00 1C */ b lbl_801D48B4 lbl_801D489C: /* 801D489C 001D04FC 80 61 00 10 */ lwz r3, 0x10(r1) /* 801D48A0 001D0500 48 00 0B 3D */ bl TRKGetBuffer /* 801D48A4 001D0504 48 00 0E D9 */ bl TRKDispatchMessage /* 801D48A8 001D0508 48 00 00 1C */ b lbl_801D48C4 lbl_801D48AC: /* 801D48AC 001D050C 3B E0 00 01 */ li r31, 1 /* 801D48B0 001D0510 48 00 00 14 */ b lbl_801D48C4 lbl_801D48B4: /* 801D48B4 001D0514 38 61 00 08 */ addi r3, r1, 8 /* 801D48B8 001D0518 48 00 31 85 */ bl TRKTargetInterrupt /* 801D48BC 001D051C 48 00 00 08 */ b lbl_801D48C4 lbl_801D48C0: /* 801D48C0 001D0520 48 00 2D 75 */ bl TRKTargetSupportRequest lbl_801D48C4: /* 801D48C4 001D0524 38 61 00 08 */ addi r3, r1, 8 /* 801D48C8 001D0528 48 00 00 69 */ bl TRKDestructEvent /* 801D48CC 001D052C 48 00 00 44 */ b lbl_801D4910 lbl_801D48D0: /* 801D48D0 001D0530 2C 1E 00 00 */ cmpwi r30, 0 /* 801D48D4 001D0534 41 82 00 1C */ beq lbl_801D48F0 /* 801D48D8 001D0538 3C 60 80 64 */ lis r3, lbl_8063F2A0@ha /* 801D48DC 001D053C 38 63 F2 A0 */ addi r3, r3, lbl_8063F2A0@l /* 801D48E0 001D0540 80 63 00 00 */ lwz r3, 0(r3) /* 801D48E4 001D0544 88 03 00 00 */ lbz r0, 0(r3) /* 801D48E8 001D0548 28 00 00 00 */ cmplwi r0, 0 /* 801D48EC 001D054C 41 82 00 10 */ beq lbl_801D48FC lbl_801D48F0: /* 801D48F0 001D0550 3B C0 00 01 */ li r30, 1 /* 801D48F4 001D0554 48 00 0C CD */ bl TRKGetInput /* 801D48F8 001D0558 48 00 00 18 */ b lbl_801D4910 lbl_801D48FC: /* 801D48FC 001D055C 48 00 2D 29 */ bl TRKTargetStopped /* 801D4900 001D0560 2C 03 00 00 */ cmpwi r3, 0 /* 801D4904 001D0564 40 82 00 08 */ bne lbl_801D490C /* 801D4908 001D0568 48 00 50 51 */ bl TRKTargetContinue lbl_801D490C: /* 801D490C 001D056C 3B C0 00 00 */ li r30, 0 lbl_801D4910: /* 801D4910 001D0570 2C 1F 00 00 */ cmpwi r31, 0 /* 801D4914 001D0574 41 82 FF 44 */ beq lbl_801D4858 /* 801D4918 001D0578 80 01 00 24 */ lwz r0, 0x24(r1) /* 801D491C 001D057C 83 E1 00 1C */ lwz r31, 0x1c(r1) /* 801D4920 001D0580 83 C1 00 18 */ lwz r30, 0x18(r1) /* 801D4924 001D0584 7C 08 03 A6 */ mtlr r0 /* 801D4928 001D0588 38 21 00 20 */ addi r1, r1, 0x20 /* 801D492C 001D058C 4E 80 00 20 */ blr