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
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
207
208
209
210
211
212
213
214
215
216
217
218
219
220
221
222
223
224
225
226
227
228
229
230
231
232
233
234
235
236
237
238
239
240
241
242
243
244
245
246
247
248
249
250
251
252
253
254
255
256
257
258
259
260
261
262
263
264
265
266
267
268
269
270
271
272
273
274
275
276
277
278
279
280
281
282
283
284
285
286
287
288
289
290
291
292
293
294
295
296
297
298
299
300
301
302
303
304
305
306
307
308
309
310
311
312
313
314
315
316
317
318
319
320
321
322
323
324
325
326
327
328
329
330
331
332
333
334
335
336
337
338
339
340
341
342
343
344
345
346
347
348
349
350
351
352
353
|
.include "macros.inc"
.section .text, "ax" # 0x80006980 - 0x803E1E60
.global TRKLoadContext
TRKLoadContext:
/* 801D9498 001D50F8 80 03 00 00 */ lwz r0, 0(r3)
/* 801D949C 001D50FC 80 23 00 04 */ lwz r1, 4(r3)
/* 801D94A0 001D5100 80 43 00 08 */ lwz r2, 8(r3)
/* 801D94A4 001D5104 A0 A3 01 A2 */ lhz r5, 0x1a2(r3)
/* 801D94A8 001D5108 54 A6 07 BD */ rlwinm. r6, r5, 0, 0x1e, 0x1e
/* 801D94AC 001D510C 41 82 00 14 */ beq lbl_801D94C0
/* 801D94B0 001D5110 54 A5 07 FA */ rlwinm r5, r5, 0, 0x1f, 0x1d
/* 801D94B4 001D5114 B0 A3 01 A2 */ sth r5, 0x1a2(r3)
/* 801D94B8 001D5118 B8 A3 00 14 */ lmw r5, 0x14(r3)
/* 801D94BC 001D511C 48 00 00 08 */ b lbl_801D94C4
lbl_801D94C0:
/* 801D94C0 001D5120 B9 A3 00 34 */ lmw r13, 0x34(r3)
lbl_801D94C4:
/* 801D94C4 001D5124 7C 7F 1B 78 */ mr r31, r3
/* 801D94C8 001D5128 7C 83 23 78 */ mr r3, r4
/* 801D94CC 001D512C 80 9F 00 80 */ lwz r4, 0x80(r31)
/* 801D94D0 001D5130 7C 8F F1 20 */ mtcrf 0xff, r4
/* 801D94D4 001D5134 80 9F 00 84 */ lwz r4, 0x84(r31)
/* 801D94D8 001D5138 7C 88 03 A6 */ mtlr r4
/* 801D94DC 001D513C 80 9F 00 88 */ lwz r4, 0x88(r31)
/* 801D94E0 001D5140 7C 89 03 A6 */ mtctr r4
/* 801D94E4 001D5144 80 9F 00 8C */ lwz r4, 0x8c(r31)
/* 801D94E8 001D5148 7C 81 03 A6 */ mtxer r4
/* 801D94EC 001D514C 7C 80 00 A6 */ mfmsr r4
/* 801D94F0 001D5150 54 84 04 5E */ rlwinm r4, r4, 0, 0x11, 0xf
/* 801D94F4 001D5154 54 84 07 FA */ rlwinm r4, r4, 0, 0x1f, 0x1d
/* 801D94F8 001D5158 7C 80 01 24 */ mtmsr r4
/* 801D94FC 001D515C 7C 51 43 A6 */ mtspr 0x111, r2
/* 801D9500 001D5160 80 9F 00 0C */ lwz r4, 0xc(r31)
/* 801D9504 001D5164 7C 92 43 A6 */ mtspr 0x112, r4
/* 801D9508 001D5168 80 9F 00 10 */ lwz r4, 0x10(r31)
/* 801D950C 001D516C 7C 93 43 A6 */ mtspr 0x113, r4
/* 801D9510 001D5170 80 5F 01 98 */ lwz r2, 0x198(r31)
/* 801D9514 001D5174 80 9F 01 9C */ lwz r4, 0x19c(r31)
/* 801D9518 001D5178 83 FF 00 7C */ lwz r31, 0x7c(r31)
/* 801D951C 001D517C 4B FF DD 40 */ b TRKInterruptHandler
.global TRKUARTInterruptHandler
TRKUARTInterruptHandler:
/* 801D9520 001D5180 4E 80 00 20 */ blr
.global InitializeProgramEndTrap
InitializeProgramEndTrap:
/* 801D9524 001D5184 94 21 FF F0 */ stwu r1, -0x10(r1)
/* 801D9528 001D5188 7C 08 02 A6 */ mflr r0
/* 801D952C 001D518C 3C 80 80 27 */ lis r4, PPCHalt@ha
/* 801D9530 001D5190 3C 60 80 40 */ lis r3, lbl_803FD740@ha
/* 801D9534 001D5194 90 01 00 14 */ stw r0, 0x14(r1)
/* 801D9538 001D5198 38 A0 00 04 */ li r5, 4
/* 801D953C 001D519C 93 E1 00 0C */ stw r31, 0xc(r1)
/* 801D9540 001D51A0 3B E4 82 68 */ addi r31, r4, PPCHalt@l
/* 801D9544 001D51A4 38 83 D7 40 */ addi r4, r3, lbl_803FD740@l
/* 801D9548 001D51A8 38 7F 00 04 */ addi r3, r31, 4
/* 801D954C 001D51AC 4B E2 AC 19 */ bl TRK_memcpy
/* 801D9550 001D51B0 38 7F 00 04 */ addi r3, r31, 4
/* 801D9554 001D51B4 38 80 00 04 */ li r4, 4
/* 801D9558 001D51B8 48 09 11 E1 */ bl ICInvalidateRange
/* 801D955C 001D51BC 38 7F 00 04 */ addi r3, r31, 4
/* 801D9560 001D51C0 38 80 00 04 */ li r4, 4
/* 801D9564 001D51C4 48 09 10 F1 */ bl DCFlushRange
/* 801D9568 001D51C8 80 01 00 14 */ lwz r0, 0x14(r1)
/* 801D956C 001D51CC 83 E1 00 0C */ lwz r31, 0xc(r1)
/* 801D9570 001D51D0 7C 08 03 A6 */ mtlr r0
/* 801D9574 001D51D4 38 21 00 10 */ addi r1, r1, 0x10
/* 801D9578 001D51D8 4E 80 00 20 */ blr
.global TRK_board_display
TRK_board_display:
/* 801D957C 001D51DC 94 21 FF F0 */ stwu r1, -0x10(r1)
/* 801D9580 001D51E0 7C 08 02 A6 */ mflr r0
/* 801D9584 001D51E4 3C A0 80 40 */ lis r5, lbl_803FD744@ha
/* 801D9588 001D51E8 7C 64 1B 78 */ mr r4, r3
/* 801D958C 001D51EC 90 01 00 14 */ stw r0, 0x14(r1)
/* 801D9590 001D51F0 38 65 D7 44 */ addi r3, r5, lbl_803FD744@l
/* 801D9594 001D51F4 4C C6 31 82 */ crclr 6
/* 801D9598 001D51F8 4B E2 E5 2D */ bl OSReport
/* 801D959C 001D51FC 80 01 00 14 */ lwz r0, 0x14(r1)
/* 801D95A0 001D5200 7C 08 03 A6 */ mtlr r0
/* 801D95A4 001D5204 38 21 00 10 */ addi r1, r1, 0x10
/* 801D95A8 001D5208 4E 80 00 20 */ blr
.global UnreserveEXI2Port
UnreserveEXI2Port:
/* 801D95AC 001D520C 94 21 FF F0 */ stwu r1, -0x10(r1)
/* 801D95B0 001D5210 7C 08 02 A6 */ mflr r0
/* 801D95B4 001D5214 3C 60 80 42 */ lis r3, lbl_804232A0@ha
/* 801D95B8 001D5218 90 01 00 14 */ stw r0, 0x14(r1)
/* 801D95BC 001D521C 38 63 32 A0 */ addi r3, r3, lbl_804232A0@l
/* 801D95C0 001D5220 81 83 00 20 */ lwz r12, 0x20(r3)
/* 801D95C4 001D5224 7D 89 03 A6 */ mtctr r12
/* 801D95C8 001D5228 4E 80 04 21 */ bctrl
/* 801D95CC 001D522C 80 01 00 14 */ lwz r0, 0x14(r1)
/* 801D95D0 001D5230 7C 08 03 A6 */ mtlr r0
/* 801D95D4 001D5234 38 21 00 10 */ addi r1, r1, 0x10
/* 801D95D8 001D5238 4E 80 00 20 */ blr
.global ReserveEXI2Port
ReserveEXI2Port:
/* 801D95DC 001D523C 94 21 FF F0 */ stwu r1, -0x10(r1)
/* 801D95E0 001D5240 7C 08 02 A6 */ mflr r0
/* 801D95E4 001D5244 3C 60 80 42 */ lis r3, lbl_804232A0@ha
/* 801D95E8 001D5248 90 01 00 14 */ stw r0, 0x14(r1)
/* 801D95EC 001D524C 38 63 32 A0 */ addi r3, r3, lbl_804232A0@l
/* 801D95F0 001D5250 81 83 00 24 */ lwz r12, 0x24(r3)
/* 801D95F4 001D5254 7D 89 03 A6 */ mtctr r12
/* 801D95F8 001D5258 4E 80 04 21 */ bctrl
/* 801D95FC 001D525C 80 01 00 14 */ lwz r0, 0x14(r1)
/* 801D9600 001D5260 7C 08 03 A6 */ mtlr r0
/* 801D9604 001D5264 38 21 00 10 */ addi r1, r1, 0x10
/* 801D9608 001D5268 4E 80 00 20 */ blr
.global TRKWriteUARTN
TRKWriteUARTN:
/* 801D960C 001D526C 94 21 FF F0 */ stwu r1, -0x10(r1)
/* 801D9610 001D5270 7C 08 02 A6 */ mflr r0
/* 801D9614 001D5274 3C A0 80 42 */ lis r5, lbl_804232A0@ha
/* 801D9618 001D5278 90 01 00 14 */ stw r0, 0x14(r1)
/* 801D961C 001D527C 38 A5 32 A0 */ addi r5, r5, lbl_804232A0@l
/* 801D9620 001D5280 81 85 00 14 */ lwz r12, 0x14(r5)
/* 801D9624 001D5284 7D 89 03 A6 */ mtctr r12
/* 801D9628 001D5288 4E 80 04 21 */ bctrl
/* 801D962C 001D528C 7C 03 00 D0 */ neg r0, r3
/* 801D9630 001D5290 7C 00 1B 78 */ or r0, r0, r3
/* 801D9634 001D5294 7C 03 FE 70 */ srawi r3, r0, 0x1f
/* 801D9638 001D5298 80 01 00 14 */ lwz r0, 0x14(r1)
/* 801D963C 001D529C 7C 08 03 A6 */ mtlr r0
/* 801D9640 001D52A0 38 21 00 10 */ addi r1, r1, 0x10
/* 801D9644 001D52A4 4E 80 00 20 */ blr
.global TRKReadUARTN
TRKReadUARTN:
/* 801D9648 001D52A8 94 21 FF F0 */ stwu r1, -0x10(r1)
/* 801D964C 001D52AC 7C 08 02 A6 */ mflr r0
/* 801D9650 001D52B0 3C A0 80 42 */ lis r5, lbl_804232A0@ha
/* 801D9654 001D52B4 90 01 00 14 */ stw r0, 0x14(r1)
/* 801D9658 001D52B8 38 A5 32 A0 */ addi r5, r5, lbl_804232A0@l
/* 801D965C 001D52BC 81 85 00 10 */ lwz r12, 0x10(r5)
/* 801D9660 001D52C0 7D 89 03 A6 */ mtctr r12
/* 801D9664 001D52C4 4E 80 04 21 */ bctrl
/* 801D9668 001D52C8 7C 03 00 D0 */ neg r0, r3
/* 801D966C 001D52CC 7C 00 1B 78 */ or r0, r0, r3
/* 801D9670 001D52D0 7C 03 FE 70 */ srawi r3, r0, 0x1f
/* 801D9674 001D52D4 80 01 00 14 */ lwz r0, 0x14(r1)
/* 801D9678 001D52D8 7C 08 03 A6 */ mtlr r0
/* 801D967C 001D52DC 38 21 00 10 */ addi r1, r1, 0x10
/* 801D9680 001D52E0 4E 80 00 20 */ blr
.global TRKPollUART
TRKPollUART:
/* 801D9684 001D52E4 94 21 FF F0 */ stwu r1, -0x10(r1)
/* 801D9688 001D52E8 7C 08 02 A6 */ mflr r0
/* 801D968C 001D52EC 3C 60 80 42 */ lis r3, lbl_804232A0@ha
/* 801D9690 001D52F0 90 01 00 14 */ stw r0, 0x14(r1)
/* 801D9694 001D52F4 38 63 32 A0 */ addi r3, r3, lbl_804232A0@l
/* 801D9698 001D52F8 81 83 00 0C */ lwz r12, 0xc(r3)
/* 801D969C 001D52FC 7D 89 03 A6 */ mtctr r12
/* 801D96A0 001D5300 4E 80 04 21 */ bctrl
/* 801D96A4 001D5304 80 01 00 14 */ lwz r0, 0x14(r1)
/* 801D96A8 001D5308 7C 08 03 A6 */ mtlr r0
/* 801D96AC 001D530C 38 21 00 10 */ addi r1, r1, 0x10
/* 801D96B0 001D5310 4E 80 00 20 */ blr
.global EnableEXI2Interrupts
EnableEXI2Interrupts:
/* 801D96B4 001D5314 94 21 FF F0 */ stwu r1, -0x10(r1)
/* 801D96B8 001D5318 7C 08 02 A6 */ mflr r0
/* 801D96BC 001D531C 3C 60 80 49 */ lis r3, lbl_80490D80@ha
/* 801D96C0 001D5320 90 01 00 14 */ stw r0, 0x14(r1)
/* 801D96C4 001D5324 88 03 0D 80 */ lbz r0, lbl_80490D80@l(r3)
/* 801D96C8 001D5328 28 00 00 00 */ cmplwi r0, 0
/* 801D96CC 001D532C 40 82 00 20 */ bne lbl_801D96EC
/* 801D96D0 001D5330 3C 60 80 42 */ lis r3, lbl_804232A0@ha
/* 801D96D4 001D5334 38 63 32 A0 */ addi r3, r3, lbl_804232A0@l
/* 801D96D8 001D5338 81 83 00 04 */ lwz r12, 4(r3)
/* 801D96DC 001D533C 28 0C 00 00 */ cmplwi r12, 0
/* 801D96E0 001D5340 41 82 00 0C */ beq lbl_801D96EC
/* 801D96E4 001D5344 7D 89 03 A6 */ mtctr r12
/* 801D96E8 001D5348 4E 80 04 21 */ bctrl
lbl_801D96EC:
/* 801D96EC 001D534C 80 01 00 14 */ lwz r0, 0x14(r1)
/* 801D96F0 001D5350 7C 08 03 A6 */ mtlr r0
/* 801D96F4 001D5354 38 21 00 10 */ addi r1, r1, 0x10
/* 801D96F8 001D5358 4E 80 00 20 */ blr
.global TRKInitializeIntDrivenUART
TRKInitializeIntDrivenUART:
/* 801D96FC 001D535C 94 21 FF F0 */ stwu r1, -0x10(r1)
/* 801D9700 001D5360 7C 08 02 A6 */ mflr r0
/* 801D9704 001D5364 3C 80 80 1E */ lis r4, TRKEXICallBack@ha
/* 801D9708 001D5368 3C 60 80 42 */ lis r3, lbl_804232A0@ha
/* 801D970C 001D536C 90 01 00 14 */ stw r0, 0x14(r1)
/* 801D9710 001D5370 38 84 99 20 */ addi r4, r4, TRKEXICallBack@l
/* 801D9714 001D5374 81 83 32 A0 */ lwz r12, lbl_804232A0@l(r3)
/* 801D9718 001D5378 7C C3 33 78 */ mr r3, r6
/* 801D971C 001D537C 7D 89 03 A6 */ mtctr r12
/* 801D9720 001D5380 4E 80 04 21 */ bctrl
/* 801D9724 001D5384 3C 60 80 42 */ lis r3, lbl_804232A0@ha
/* 801D9728 001D5388 38 63 32 A0 */ addi r3, r3, lbl_804232A0@l
/* 801D972C 001D538C 81 83 00 18 */ lwz r12, 0x18(r3)
/* 801D9730 001D5390 7D 89 03 A6 */ mtctr r12
/* 801D9734 001D5394 4E 80 04 21 */ bctrl
/* 801D9738 001D5398 80 01 00 14 */ lwz r0, 0x14(r1)
/* 801D973C 001D539C 38 60 00 00 */ li r3, 0
/* 801D9740 001D53A0 7C 08 03 A6 */ mtlr r0
/* 801D9744 001D53A4 38 21 00 10 */ addi r1, r1, 0x10
/* 801D9748 001D53A8 4E 80 00 20 */ blr
.global InitMetroTRKCommTable
InitMetroTRKCommTable:
/* 801D974C 001D53AC 94 21 FF E0 */ stwu r1, -0x20(r1)
/* 801D9750 001D53B0 7C 08 02 A6 */ mflr r0
/* 801D9754 001D53B4 3C 80 80 40 */ lis r4, lbl_803FD740@ha
/* 801D9758 001D53B8 90 01 00 24 */ stw r0, 0x24(r1)
/* 801D975C 001D53BC 93 E1 00 1C */ stw r31, 0x1c(r1)
/* 801D9760 001D53C0 93 C1 00 18 */ stw r30, 0x18(r1)
/* 801D9764 001D53C4 7C 7E 1B 78 */ mr r30, r3
/* 801D9768 001D53C8 93 A1 00 14 */ stw r29, 0x14(r1)
/* 801D976C 001D53CC 3B A4 D7 40 */ addi r29, r4, lbl_803FD740@l
/* 801D9770 001D53D0 7F C4 F3 78 */ mr r4, r30
/* 801D9774 001D53D4 38 7D 00 08 */ addi r3, r29, 8
/* 801D9778 001D53D8 4C C6 31 82 */ crclr 6
/* 801D977C 001D53DC 4B E2 E3 49 */ bl OSReport
/* 801D9780 001D53E0 38 7D 00 20 */ addi r3, r29, 0x20
/* 801D9784 001D53E4 38 80 00 40 */ li r4, 0x40
/* 801D9788 001D53E8 4C C6 31 82 */ crclr 6
/* 801D978C 001D53EC 4B E2 E3 39 */ bl OSReport
/* 801D9790 001D53F0 3C 60 80 49 */ lis r3, lbl_80490D80@ha
/* 801D9794 001D53F4 38 00 00 00 */ li r0, 0
/* 801D9798 001D53F8 2C 1E 00 02 */ cmpwi r30, 2
/* 801D979C 001D53FC 98 03 0D 80 */ stb r0, lbl_80490D80@l(r3)
/* 801D97A0 001D5400 40 82 00 A0 */ bne lbl_801D9840
/* 801D97A4 001D5404 38 7D 00 48 */ addi r3, r29, 0x48
/* 801D97A8 001D5408 4C C6 31 82 */ crclr 6
/* 801D97AC 001D540C 4B E2 E3 19 */ bl OSReport
/* 801D97B0 001D5410 3D 80 80 1E */ lis r12, udp_cc_initialize@ha
/* 801D97B4 001D5414 3D 60 80 42 */ lis r11, lbl_804232A0@ha
/* 801D97B8 001D5418 3B EC 99 E8 */ addi r31, r12, udp_cc_initialize@l
/* 801D97BC 001D541C 3D 40 80 1E */ lis r10, udp_cc_open@ha
/* 801D97C0 001D5420 39 8B 32 A0 */ addi r12, r11, lbl_804232A0@l
/* 801D97C4 001D5424 38 00 00 00 */ li r0, 0
/* 801D97C8 001D5428 39 6A 99 D8 */ addi r11, r10, udp_cc_open@l
/* 801D97CC 001D542C 3D 20 80 1E */ lis r9, udp_cc_close@ha
/* 801D97D0 001D5430 39 49 99 D0 */ addi r10, r9, udp_cc_close@l
/* 801D97D4 001D5434 3D 00 80 1E */ lis r8, udp_cc_read@ha
/* 801D97D8 001D5438 39 28 99 C8 */ addi r9, r8, udp_cc_read@l
/* 801D97DC 001D543C 3C E0 80 1E */ lis r7, udp_cc_write@ha
/* 801D97E0 001D5440 39 07 99 C0 */ addi r8, r7, udp_cc_write@l
/* 801D97E4 001D5444 3C C0 80 1E */ lis r6, udp_cc_shutdown@ha
/* 801D97E8 001D5448 38 E6 99 E0 */ addi r7, r6, udp_cc_shutdown@l
/* 801D97EC 001D544C 3C A0 80 1E */ lis r5, udp_cc_peek@ha
/* 801D97F0 001D5450 38 C5 99 B8 */ addi r6, r5, udp_cc_peek@l
/* 801D97F4 001D5454 3C 80 80 1E */ lis r4, udp_cc_pre_continue@ha
/* 801D97F8 001D5458 38 A4 99 B0 */ addi r5, r4, udp_cc_pre_continue@l
/* 801D97FC 001D545C 3C 60 80 1E */ lis r3, udp_cc_post_stop@ha
/* 801D9800 001D5460 38 83 99 A8 */ addi r4, r3, udp_cc_post_stop@l
/* 801D9804 001D5464 3F C0 80 49 */ lis r30, lbl_80490D80@ha
/* 801D9808 001D5468 3B A0 00 01 */ li r29, 1
/* 801D980C 001D546C 93 EC 00 00 */ stw r31, 0(r12)
/* 801D9810 001D5470 38 60 00 00 */ li r3, 0
/* 801D9814 001D5474 9B BE 0D 80 */ stb r29, lbl_80490D80@l(r30)
/* 801D9818 001D5478 91 6C 00 18 */ stw r11, 0x18(r12)
/* 801D981C 001D547C 91 4C 00 1C */ stw r10, 0x1c(r12)
/* 801D9820 001D5480 91 2C 00 10 */ stw r9, 0x10(r12)
/* 801D9824 001D5484 91 0C 00 14 */ stw r8, 0x14(r12)
/* 801D9828 001D5488 90 EC 00 08 */ stw r7, 8(r12)
/* 801D982C 001D548C 90 CC 00 0C */ stw r6, 0xc(r12)
/* 801D9830 001D5490 90 AC 00 20 */ stw r5, 0x20(r12)
/* 801D9834 001D5494 90 8C 00 24 */ stw r4, 0x24(r12)
/* 801D9838 001D5498 90 0C 00 04 */ stw r0, 4(r12)
/* 801D983C 001D549C 48 00 00 C8 */ b lbl_801D9904
lbl_801D9840:
/* 801D9840 001D54A0 2C 1E 00 01 */ cmpwi r30, 1
/* 801D9844 001D54A4 40 82 00 94 */ bne lbl_801D98D8
/* 801D9848 001D54A8 38 7D 00 60 */ addi r3, r29, 0x60
/* 801D984C 001D54AC 4C C6 31 82 */ crclr 6
/* 801D9850 001D54B0 4B E2 E2 75 */ bl OSReport
/* 801D9854 001D54B4 3F E0 80 1E */ lis r31, gdev_cc_initialize@ha
/* 801D9858 001D54B8 3D 60 80 1E */ lis r11, gdev_cc_open@ha
/* 801D985C 001D54BC 3B FF 9C 28 */ addi r31, r31, gdev_cc_initialize@l
/* 801D9860 001D54C0 3D 80 80 42 */ lis r12, lbl_804232A0@ha
/* 801D9864 001D54C4 3D 40 80 1E */ lis r10, gdev_cc_close@ha
/* 801D9868 001D54C8 3D 20 80 1E */ lis r9, gdev_cc_read@ha
/* 801D986C 001D54CC 3D 00 80 1E */ lis r8, gdev_cc_write@ha
/* 801D9870 001D54D0 3C E0 80 1E */ lis r7, gdev_cc_shutdown@ha
/* 801D9874 001D54D4 3C C0 80 1E */ lis r6, gdev_cc_peek@ha
/* 801D9878 001D54D8 3C A0 80 1E */ lis r5, gdev_cc_pre_continue@ha
/* 801D987C 001D54DC 3C 80 80 1E */ lis r4, gdev_cc_post_stop@ha
/* 801D9880 001D54E0 3C 60 80 1E */ lis r3, gdev_cc_initinterrupts@ha
/* 801D9884 001D54E4 38 03 99 F0 */ addi r0, r3, gdev_cc_initinterrupts@l
/* 801D9888 001D54E8 97 EC 32 A0 */ stwu r31, lbl_804232A0@l(r12)
/* 801D988C 001D54EC 39 6B 9B FC */ addi r11, r11, gdev_cc_open@l
/* 801D9890 001D54F0 39 4A 9B F4 */ addi r10, r10, gdev_cc_close@l
/* 801D9894 001D54F4 39 29 9B 40 */ addi r9, r9, gdev_cc_read@l
/* 801D9898 001D54F8 39 08 9A CC */ addi r8, r8, gdev_cc_write@l
/* 801D989C 001D54FC 38 E7 9C 20 */ addi r7, r7, gdev_cc_shutdown@l
/* 801D98A0 001D5500 38 C6 9A 14 */ addi r6, r6, gdev_cc_peek@l
/* 801D98A4 001D5504 38 A5 9A A8 */ addi r5, r5, gdev_cc_pre_continue@l
/* 801D98A8 001D5508 38 84 9A 84 */ addi r4, r4, gdev_cc_post_stop@l
/* 801D98AC 001D550C 91 6C 00 18 */ stw r11, 0x18(r12)
/* 801D98B0 001D5510 38 60 00 00 */ li r3, 0
/* 801D98B4 001D5514 91 4C 00 1C */ stw r10, 0x1c(r12)
/* 801D98B8 001D5518 91 2C 00 10 */ stw r9, 0x10(r12)
/* 801D98BC 001D551C 91 0C 00 14 */ stw r8, 0x14(r12)
/* 801D98C0 001D5520 90 EC 00 08 */ stw r7, 8(r12)
/* 801D98C4 001D5524 90 CC 00 0C */ stw r6, 0xc(r12)
/* 801D98C8 001D5528 90 AC 00 20 */ stw r5, 0x20(r12)
/* 801D98CC 001D552C 90 8C 00 24 */ stw r4, 0x24(r12)
/* 801D98D0 001D5530 90 0C 00 04 */ stw r0, 4(r12)
/* 801D98D4 001D5534 48 00 00 30 */ b lbl_801D9904
lbl_801D98D8:
/* 801D98D8 001D5538 7F C4 F3 78 */ mr r4, r30
/* 801D98DC 001D553C 38 7D 00 84 */ addi r3, r29, 0x84
/* 801D98E0 001D5540 4C C6 31 82 */ crclr 6
/* 801D98E4 001D5544 4B E2 E1 E1 */ bl OSReport
/* 801D98E8 001D5548 38 7D 00 B0 */ addi r3, r29, 0xb0
/* 801D98EC 001D554C 4C C6 31 82 */ crclr 6
/* 801D98F0 001D5550 4B E2 E1 D5 */ bl OSReport
/* 801D98F4 001D5554 38 7D 00 E0 */ addi r3, r29, 0xe0
/* 801D98F8 001D5558 4C C6 31 82 */ crclr 6
/* 801D98FC 001D555C 4B E2 E1 C9 */ bl OSReport
/* 801D9900 001D5560 38 60 00 01 */ li r3, 1
lbl_801D9904:
/* 801D9904 001D5564 80 01 00 24 */ lwz r0, 0x24(r1)
/* 801D9908 001D5568 83 E1 00 1C */ lwz r31, 0x1c(r1)
/* 801D990C 001D556C 83 C1 00 18 */ lwz r30, 0x18(r1)
/* 801D9910 001D5570 83 A1 00 14 */ lwz r29, 0x14(r1)
/* 801D9914 001D5574 7C 08 03 A6 */ mtlr r0
/* 801D9918 001D5578 38 21 00 20 */ addi r1, r1, 0x20
/* 801D991C 001D557C 4E 80 00 20 */ blr
.global TRKEXICallBack
TRKEXICallBack:
/* 801D9920 001D5580 94 21 FF F0 */ stwu r1, -0x10(r1)
/* 801D9924 001D5584 7C 08 02 A6 */ mflr r0
/* 801D9928 001D5588 90 01 00 14 */ stw r0, 0x14(r1)
/* 801D992C 001D558C 93 E1 00 0C */ stw r31, 0xc(r1)
/* 801D9930 001D5590 7C 9F 23 78 */ mr r31, r4
/* 801D9934 001D5594 48 09 7A 4D */ bl OSEnableScheduler
/* 801D9938 001D5598 7F E3 FB 78 */ mr r3, r31
/* 801D993C 001D559C 38 80 05 00 */ li r4, 0x500
/* 801D9940 001D55A0 4B FF FB 59 */ bl TRKLoadContext
/* 801D9944 001D55A4 80 01 00 14 */ lwz r0, 0x14(r1)
/* 801D9948 001D55A8 83 E1 00 0C */ lwz r31, 0xc(r1)
/* 801D994C 001D55AC 7C 08 03 A6 */ mtlr r0
/* 801D9950 001D55B0 38 21 00 10 */ addi r1, r1, 0x10
/* 801D9954 001D55B4 4E 80 00 20 */ blr
|