.include "macros.inc" .section .text, "ax" # 0x80006980 - 0x803E1E60 .global __TRK_write_console __TRK_write_console: /* 801D8FC0 001D4C20 94 21 FF E0 */ stwu r1, -0x20(r1) /* 801D8FC4 001D4C24 7C 08 02 A6 */ mflr r0 /* 801D8FC8 001D4C28 90 01 00 24 */ stw r0, 0x24(r1) /* 801D8FCC 001D4C2C 93 E1 00 1C */ stw r31, 0x1c(r1) /* 801D8FD0 001D4C30 7C BF 2B 78 */ mr r31, r5 /* 801D8FD4 001D4C34 93 C1 00 18 */ stw r30, 0x18(r1) /* 801D8FD8 001D4C38 7C 9E 23 78 */ mr r30, r4 /* 801D8FDC 001D4C3C 48 00 09 B1 */ bl GetUseSerialIO /* 801D8FE0 001D4C40 54 60 06 3F */ clrlwi. r0, r3, 0x18 /* 801D8FE4 001D4C44 40 82 00 0C */ bne lbl_801D8FF0 /* 801D8FE8 001D4C48 38 60 00 01 */ li r3, 1 /* 801D8FEC 001D4C4C 48 00 00 78 */ b lbl_801D9064 lbl_801D8FF0: /* 801D8FF0 001D4C50 4B FF D9 A1 */ bl GetTRKConnected /* 801D8FF4 001D4C54 2C 03 00 00 */ cmpwi r3, 0 /* 801D8FF8 001D4C58 40 82 00 0C */ bne lbl_801D9004 /* 801D8FFC 001D4C5C 38 60 00 01 */ li r3, 1 /* 801D9000 001D4C60 48 00 00 64 */ b lbl_801D9064 lbl_801D9004: /* 801D9004 001D4C64 80 1F 00 00 */ lwz r0, 0(r31) /* 801D9008 001D4C68 7F C6 F3 78 */ mr r6, r30 /* 801D900C 001D4C6C 38 A1 00 08 */ addi r5, r1, 8 /* 801D9010 001D4C70 38 60 00 D0 */ li r3, 0xd0 /* 801D9014 001D4C74 90 01 00 08 */ stw r0, 8(r1) /* 801D9018 001D4C78 38 80 00 01 */ li r4, 1 /* 801D901C 001D4C7C 4B FF FC 15 */ bl $6fill$6 /* 801D9020 001D4C80 54 60 06 3E */ clrlwi r0, r3, 0x18 /* 801D9024 001D4C84 80 61 00 08 */ lwz r3, 8(r1) /* 801D9028 001D4C88 2C 00 00 01 */ cmpwi r0, 1 /* 801D902C 001D4C8C 90 7F 00 00 */ stw r3, 0(r31) /* 801D9030 001D4C90 41 82 00 30 */ beq lbl_801D9060 /* 801D9034 001D4C94 40 80 00 10 */ bge lbl_801D9044 /* 801D9038 001D4C98 2C 00 00 00 */ cmpwi r0, 0 /* 801D903C 001D4C9C 40 80 00 14 */ bge lbl_801D9050 /* 801D9040 001D4CA0 48 00 00 20 */ b lbl_801D9060 lbl_801D9044: /* 801D9044 001D4CA4 2C 00 00 03 */ cmpwi r0, 3 /* 801D9048 001D4CA8 40 80 00 18 */ bge lbl_801D9060 /* 801D904C 001D4CAC 48 00 00 0C */ b lbl_801D9058 lbl_801D9050: /* 801D9050 001D4CB0 38 60 00 00 */ li r3, 0 /* 801D9054 001D4CB4 48 00 00 10 */ b lbl_801D9064 lbl_801D9058: /* 801D9058 001D4CB8 38 60 00 02 */ li r3, 2 /* 801D905C 001D4CBC 48 00 00 08 */ b lbl_801D9064 lbl_801D9060: /* 801D9060 001D4CC0 38 60 00 01 */ li r3, 1 lbl_801D9064: /* 801D9064 001D4CC4 80 01 00 24 */ lwz r0, 0x24(r1) /* 801D9068 001D4CC8 83 E1 00 1C */ lwz r31, 0x1c(r1) /* 801D906C 001D4CCC 83 C1 00 18 */ lwz r30, 0x18(r1) /* 801D9070 001D4CD0 7C 08 03 A6 */ mtlr r0 /* 801D9074 001D4CD4 38 21 00 20 */ addi r1, r1, 0x20 /* 801D9078 001D4CD8 4E 80 00 20 */ blr .global __read_console __read_console: /* 801D907C 001D4CDC 94 21 FF E0 */ stwu r1, -0x20(r1) /* 801D9080 001D4CE0 7C 08 02 A6 */ mflr r0 /* 801D9084 001D4CE4 90 01 00 24 */ stw r0, 0x24(r1) /* 801D9088 001D4CE8 93 E1 00 1C */ stw r31, 0x1c(r1) /* 801D908C 001D4CEC 7C BF 2B 78 */ mr r31, r5 /* 801D9090 001D4CF0 93 C1 00 18 */ stw r30, 0x18(r1) /* 801D9094 001D4CF4 7C 9E 23 78 */ mr r30, r4 /* 801D9098 001D4CF8 48 00 08 F5 */ bl GetUseSerialIO /* 801D909C 001D4CFC 54 60 06 3F */ clrlwi. r0, r3, 0x18 /* 801D90A0 001D4D00 40 82 00 0C */ bne lbl_801D90AC /* 801D90A4 001D4D04 38 60 00 01 */ li r3, 1 /* 801D90A8 001D4D08 48 00 00 78 */ b lbl_801D9120 lbl_801D90AC: /* 801D90AC 001D4D0C 4B FF D8 E5 */ bl GetTRKConnected /* 801D90B0 001D4D10 2C 03 00 00 */ cmpwi r3, 0 /* 801D90B4 001D4D14 40 82 00 0C */ bne lbl_801D90C0 /* 801D90B8 001D4D18 38 60 00 01 */ li r3, 1 /* 801D90BC 001D4D1C 48 00 00 64 */ b lbl_801D9120 lbl_801D90C0: /* 801D90C0 001D4D20 80 1F 00 00 */ lwz r0, 0(r31) /* 801D90C4 001D4D24 7F C6 F3 78 */ mr r6, r30 /* 801D90C8 001D4D28 38 A1 00 08 */ addi r5, r1, 8 /* 801D90CC 001D4D2C 38 60 00 D1 */ li r3, 0xd1 /* 801D90D0 001D4D30 90 01 00 08 */ stw r0, 8(r1) /* 801D90D4 001D4D34 38 80 00 00 */ li r4, 0 /* 801D90D8 001D4D38 4B FF FB 59 */ bl $6fill$6 /* 801D90DC 001D4D3C 54 60 06 3E */ clrlwi r0, r3, 0x18 /* 801D90E0 001D4D40 80 61 00 08 */ lwz r3, 8(r1) /* 801D90E4 001D4D44 2C 00 00 01 */ cmpwi r0, 1 /* 801D90E8 001D4D48 90 7F 00 00 */ stw r3, 0(r31) /* 801D90EC 001D4D4C 41 82 00 30 */ beq lbl_801D911C /* 801D90F0 001D4D50 40 80 00 10 */ bge lbl_801D9100 /* 801D90F4 001D4D54 2C 00 00 00 */ cmpwi r0, 0 /* 801D90F8 001D4D58 40 80 00 14 */ bge lbl_801D910C /* 801D90FC 001D4D5C 48 00 00 20 */ b lbl_801D911C lbl_801D9100: /* 801D9100 001D4D60 2C 00 00 03 */ cmpwi r0, 3 /* 801D9104 001D4D64 40 80 00 18 */ bge lbl_801D911C /* 801D9108 001D4D68 48 00 00 0C */ b lbl_801D9114 lbl_801D910C: /* 801D910C 001D4D6C 38 60 00 00 */ li r3, 0 /* 801D9110 001D4D70 48 00 00 10 */ b lbl_801D9120 lbl_801D9114: /* 801D9114 001D4D74 38 60 00 02 */ li r3, 2 /* 801D9118 001D4D78 48 00 00 08 */ b lbl_801D9120 lbl_801D911C: /* 801D911C 001D4D7C 38 60 00 01 */ li r3, 1 lbl_801D9120: /* 801D9120 001D4D80 80 01 00 24 */ lwz r0, 0x24(r1) /* 801D9124 001D4D84 83 E1 00 1C */ lwz r31, 0x1c(r1) /* 801D9128 001D4D88 83 C1 00 18 */ lwz r30, 0x18(r1) /* 801D912C 001D4D8C 7C 08 03 A6 */ mtlr r0 /* 801D9130 001D4D90 38 21 00 20 */ addi r1, r1, 0x20 /* 801D9134 001D4D94 4E 80 00 20 */ blr