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
|
.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
|