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
354
355
356
357
358
359
360
361
362
363
364
365
366
367
368
369
370
371
372
373
374
375
376
377
378
379
380
381
382
383
384
385
386
387
388
389
390
391
392
393
394
395
396
397
398
399
400
401
402
403
404
405
406
407
408
409
410
411
412
413
414
415
416
417
418
419
420
421
422
423
424
425
426
427
428
429
430
431
432
433
434
435
436
437
438
439
440
441
442
443
444
445
446
447
448
449
450
451
452
453
454
455
456
457
458
459
460
461
462
463
464
465
466
467
468
469
470
471
472
473
474
475
476
477
478
479
480
481
482
483
484
485
486
|
.include "macros.inc"
.section .text, "ax" # 0x80006980 - 0x803E1E60
.global HandlePositionFileSupportRequest
HandlePositionFileSupportRequest:
/* 801D69A0 001D2600 94 21 FF 90 */ stwu r1, -0x70(r1)
/* 801D69A4 001D2604 7C 08 02 A6 */ mflr r0
/* 801D69A8 001D2608 90 01 00 74 */ stw r0, 0x74(r1)
/* 801D69AC 001D260C 93 E1 00 6C */ stw r31, 0x6c(r1)
/* 801D69B0 001D2610 7C BF 2B 78 */ mr r31, r5
/* 801D69B4 001D2614 38 A0 00 40 */ li r5, 0x40
/* 801D69B8 001D2618 93 C1 00 68 */ stw r30, 0x68(r1)
/* 801D69BC 001D261C 7C DE 33 78 */ mr r30, r6
/* 801D69C0 001D2620 93 A1 00 64 */ stw r29, 0x64(r1)
/* 801D69C4 001D2624 7C 9D 23 78 */ mr r29, r4
/* 801D69C8 001D2628 38 80 00 00 */ li r4, 0
/* 801D69CC 001D262C 93 81 00 60 */ stw r28, 0x60(r1)
/* 801D69D0 001D2630 7C 7C 1B 78 */ mr r28, r3
/* 801D69D4 001D2634 38 61 00 14 */ addi r3, r1, 0x14
/* 801D69D8 001D2638 4B E2 D7 5D */ bl TRK_memset
/* 801D69DC 001D263C 38 60 00 D4 */ li r3, 0xd4
/* 801D69E0 001D2640 38 00 00 40 */ li r0, 0x40
/* 801D69E4 001D2644 98 61 00 18 */ stb r3, 0x18(r1)
/* 801D69E8 001D2648 38 61 00 0C */ addi r3, r1, 0xc
/* 801D69EC 001D264C 38 81 00 08 */ addi r4, r1, 8
/* 801D69F0 001D2650 90 01 00 14 */ stw r0, 0x14(r1)
/* 801D69F4 001D2654 93 81 00 1C */ stw r28, 0x1c(r1)
/* 801D69F8 001D2658 80 1D 00 00 */ lwz r0, 0(r29)
/* 801D69FC 001D265C 90 01 00 20 */ stw r0, 0x20(r1)
/* 801D6A00 001D2660 9B E1 00 24 */ stb r31, 0x24(r1)
/* 801D6A04 001D2664 4B FF EA 05 */ bl TRKGetFreeBuffer
/* 801D6A08 001D2668 7C 7F 1B 79 */ or. r31, r3, r3
/* 801D6A0C 001D266C 40 82 00 18 */ bne lbl_801D6A24
/* 801D6A10 001D2670 80 61 00 08 */ lwz r3, 8(r1)
/* 801D6A14 001D2674 38 81 00 14 */ addi r4, r1, 0x14
/* 801D6A18 001D2678 38 A0 00 40 */ li r5, 0x40
/* 801D6A1C 001D267C 4B FF E6 59 */ bl TRKAppendBuffer_ui8
/* 801D6A20 001D2680 7C 7F 1B 78 */ mr r31, r3
lbl_801D6A24:
/* 801D6A24 001D2684 2C 1F 00 00 */ cmpwi r31, 0
/* 801D6A28 001D2688 40 82 00 5C */ bne lbl_801D6A84
/* 801D6A2C 001D268C 38 60 00 00 */ li r3, 0
/* 801D6A30 001D2690 38 00 FF FF */ li r0, -1
/* 801D6A34 001D2694 90 7E 00 00 */ stw r3, 0(r30)
/* 801D6A38 001D2698 38 81 00 10 */ addi r4, r1, 0x10
/* 801D6A3C 001D269C 38 A0 00 03 */ li r5, 3
/* 801D6A40 001D26A0 38 C0 00 03 */ li r6, 3
/* 801D6A44 001D26A4 90 1D 00 00 */ stw r0, 0(r29)
/* 801D6A48 001D26A8 38 E0 00 00 */ li r7, 0
/* 801D6A4C 001D26AC 80 61 00 08 */ lwz r3, 8(r1)
/* 801D6A50 001D26B0 48 00 02 65 */ bl TRKRequestSend
/* 801D6A54 001D26B4 7C 7F 1B 79 */ or. r31, r3, r3
/* 801D6A58 001D26B8 40 82 00 24 */ bne lbl_801D6A7C
/* 801D6A5C 001D26BC 80 61 00 10 */ lwz r3, 0x10(r1)
/* 801D6A60 001D26C0 4B FF E9 7D */ bl TRKGetBuffer
/* 801D6A64 001D26C4 28 03 00 00 */ cmplwi r3, 0
/* 801D6A68 001D26C8 41 82 00 14 */ beq lbl_801D6A7C
/* 801D6A6C 001D26CC 80 03 00 20 */ lwz r0, 0x20(r3)
/* 801D6A70 001D26D0 90 1E 00 00 */ stw r0, 0(r30)
/* 801D6A74 001D26D4 80 03 00 28 */ lwz r0, 0x28(r3)
/* 801D6A78 001D26D8 90 1D 00 00 */ stw r0, 0(r29)
lbl_801D6A7C:
/* 801D6A7C 001D26DC 80 61 00 10 */ lwz r3, 0x10(r1)
/* 801D6A80 001D26E0 4B FF E8 F9 */ bl TRKReleaseBuffer
lbl_801D6A84:
/* 801D6A84 001D26E4 80 61 00 0C */ lwz r3, 0xc(r1)
/* 801D6A88 001D26E8 4B FF E8 F1 */ bl TRKReleaseBuffer
/* 801D6A8C 001D26EC 80 01 00 74 */ lwz r0, 0x74(r1)
/* 801D6A90 001D26F0 7F E3 FB 78 */ mr r3, r31
/* 801D6A94 001D26F4 83 E1 00 6C */ lwz r31, 0x6c(r1)
/* 801D6A98 001D26F8 83 C1 00 68 */ lwz r30, 0x68(r1)
/* 801D6A9C 001D26FC 83 A1 00 64 */ lwz r29, 0x64(r1)
/* 801D6AA0 001D2700 83 81 00 60 */ lwz r28, 0x60(r1)
/* 801D6AA4 001D2704 7C 08 03 A6 */ mtlr r0
/* 801D6AA8 001D2708 38 21 00 70 */ addi r1, r1, 0x70
/* 801D6AAC 001D270C 4E 80 00 20 */ blr
.global HandleCloseFileSupportRequest
HandleCloseFileSupportRequest:
/* 801D6AB0 001D2710 94 21 FF 90 */ stwu r1, -0x70(r1)
/* 801D6AB4 001D2714 7C 08 02 A6 */ mflr r0
/* 801D6AB8 001D2718 38 A0 00 40 */ li r5, 0x40
/* 801D6ABC 001D271C 90 01 00 74 */ stw r0, 0x74(r1)
/* 801D6AC0 001D2720 93 E1 00 6C */ stw r31, 0x6c(r1)
/* 801D6AC4 001D2724 7C 7F 1B 78 */ mr r31, r3
/* 801D6AC8 001D2728 38 61 00 14 */ addi r3, r1, 0x14
/* 801D6ACC 001D272C 93 C1 00 68 */ stw r30, 0x68(r1)
/* 801D6AD0 001D2730 93 A1 00 64 */ stw r29, 0x64(r1)
/* 801D6AD4 001D2734 7C 9D 23 78 */ mr r29, r4
/* 801D6AD8 001D2738 38 80 00 00 */ li r4, 0
/* 801D6ADC 001D273C 4B E2 D6 59 */ bl TRK_memset
/* 801D6AE0 001D2740 38 60 00 D3 */ li r3, 0xd3
/* 801D6AE4 001D2744 38 00 00 40 */ li r0, 0x40
/* 801D6AE8 001D2748 98 61 00 18 */ stb r3, 0x18(r1)
/* 801D6AEC 001D274C 38 61 00 0C */ addi r3, r1, 0xc
/* 801D6AF0 001D2750 38 81 00 08 */ addi r4, r1, 8
/* 801D6AF4 001D2754 90 01 00 14 */ stw r0, 0x14(r1)
/* 801D6AF8 001D2758 93 E1 00 1C */ stw r31, 0x1c(r1)
/* 801D6AFC 001D275C 4B FF E9 0D */ bl TRKGetFreeBuffer
/* 801D6B00 001D2760 7C 7F 1B 79 */ or. r31, r3, r3
/* 801D6B04 001D2764 40 82 00 18 */ bne lbl_801D6B1C
/* 801D6B08 001D2768 80 61 00 08 */ lwz r3, 8(r1)
/* 801D6B0C 001D276C 38 81 00 14 */ addi r4, r1, 0x14
/* 801D6B10 001D2770 38 A0 00 40 */ li r5, 0x40
/* 801D6B14 001D2774 4B FF E5 61 */ bl TRKAppendBuffer_ui8
/* 801D6B18 001D2778 7C 7F 1B 78 */ mr r31, r3
lbl_801D6B1C:
/* 801D6B1C 001D277C 2C 1F 00 00 */ cmpwi r31, 0
/* 801D6B20 001D2780 40 82 00 50 */ bne lbl_801D6B70
/* 801D6B24 001D2784 38 00 00 00 */ li r0, 0
/* 801D6B28 001D2788 38 81 00 10 */ addi r4, r1, 0x10
/* 801D6B2C 001D278C 90 1D 00 00 */ stw r0, 0(r29)
/* 801D6B30 001D2790 38 A0 00 03 */ li r5, 3
/* 801D6B34 001D2794 38 C0 00 03 */ li r6, 3
/* 801D6B38 001D2798 38 E0 00 00 */ li r7, 0
/* 801D6B3C 001D279C 80 61 00 08 */ lwz r3, 8(r1)
/* 801D6B40 001D27A0 48 00 01 75 */ bl TRKRequestSend
/* 801D6B44 001D27A4 7C 7F 1B 79 */ or. r31, r3, r3
/* 801D6B48 001D27A8 40 82 00 10 */ bne lbl_801D6B58
/* 801D6B4C 001D27AC 80 61 00 10 */ lwz r3, 0x10(r1)
/* 801D6B50 001D27B0 4B FF E8 8D */ bl TRKGetBuffer
/* 801D6B54 001D27B4 7C 7E 1B 78 */ mr r30, r3
lbl_801D6B58:
/* 801D6B58 001D27B8 2C 1F 00 00 */ cmpwi r31, 0
/* 801D6B5C 001D27BC 40 82 00 0C */ bne lbl_801D6B68
/* 801D6B60 001D27C0 80 1E 00 20 */ lwz r0, 0x20(r30)
/* 801D6B64 001D27C4 90 1D 00 00 */ stw r0, 0(r29)
lbl_801D6B68:
/* 801D6B68 001D27C8 80 61 00 10 */ lwz r3, 0x10(r1)
/* 801D6B6C 001D27CC 4B FF E8 0D */ bl TRKReleaseBuffer
lbl_801D6B70:
/* 801D6B70 001D27D0 80 61 00 0C */ lwz r3, 0xc(r1)
/* 801D6B74 001D27D4 4B FF E8 05 */ bl TRKReleaseBuffer
/* 801D6B78 001D27D8 80 01 00 74 */ lwz r0, 0x74(r1)
/* 801D6B7C 001D27DC 7F E3 FB 78 */ mr r3, r31
/* 801D6B80 001D27E0 83 E1 00 6C */ lwz r31, 0x6c(r1)
/* 801D6B84 001D27E4 83 C1 00 68 */ lwz r30, 0x68(r1)
/* 801D6B88 001D27E8 83 A1 00 64 */ lwz r29, 0x64(r1)
/* 801D6B8C 001D27EC 7C 08 03 A6 */ mtlr r0
/* 801D6B90 001D27F0 38 21 00 70 */ addi r1, r1, 0x70
/* 801D6B94 001D27F4 4E 80 00 20 */ blr
.global HandleOpenFileSupportRequest
HandleOpenFileSupportRequest:
/* 801D6B98 001D27F8 94 21 FF 90 */ stwu r1, -0x70(r1)
/* 801D6B9C 001D27FC 7C 08 02 A6 */ mflr r0
/* 801D6BA0 001D2800 90 01 00 74 */ stw r0, 0x74(r1)
/* 801D6BA4 001D2804 BF 61 00 5C */ stmw r27, 0x5c(r1)
/* 801D6BA8 001D2808 7C 7B 1B 78 */ mr r27, r3
/* 801D6BAC 001D280C 7C 9F 23 78 */ mr r31, r4
/* 801D6BB0 001D2810 7C BC 2B 78 */ mr r28, r5
/* 801D6BB4 001D2814 7C DD 33 78 */ mr r29, r6
/* 801D6BB8 001D2818 38 61 00 14 */ addi r3, r1, 0x14
/* 801D6BBC 001D281C 38 80 00 00 */ li r4, 0
/* 801D6BC0 001D2820 38 A0 00 40 */ li r5, 0x40
/* 801D6BC4 001D2824 4B E2 D5 71 */ bl TRK_memset
/* 801D6BC8 001D2828 38 60 00 00 */ li r3, 0
/* 801D6BCC 001D282C 38 00 00 D2 */ li r0, 0xd2
/* 801D6BD0 001D2830 90 7C 00 00 */ stw r3, 0(r28)
/* 801D6BD4 001D2834 7F 63 DB 78 */ mr r3, r27
/* 801D6BD8 001D2838 98 01 00 18 */ stb r0, 0x18(r1)
/* 801D6BDC 001D283C 48 00 06 19 */ bl TRK_strlen
/* 801D6BE0 001D2840 38 03 00 41 */ addi r0, r3, 0x41
/* 801D6BE4 001D2844 9B E1 00 1C */ stb r31, 0x1c(r1)
/* 801D6BE8 001D2848 7F 63 DB 78 */ mr r3, r27
/* 801D6BEC 001D284C 90 01 00 14 */ stw r0, 0x14(r1)
/* 801D6BF0 001D2850 48 00 06 05 */ bl TRK_strlen
/* 801D6BF4 001D2854 38 03 00 01 */ addi r0, r3, 1
/* 801D6BF8 001D2858 38 61 00 0C */ addi r3, r1, 0xc
/* 801D6BFC 001D285C B0 01 00 20 */ sth r0, 0x20(r1)
/* 801D6C00 001D2860 38 81 00 08 */ addi r4, r1, 8
/* 801D6C04 001D2864 4B FF E8 05 */ bl TRKGetFreeBuffer
/* 801D6C08 001D2868 80 61 00 08 */ lwz r3, 8(r1)
/* 801D6C0C 001D286C 38 81 00 14 */ addi r4, r1, 0x14
/* 801D6C10 001D2870 38 A0 00 40 */ li r5, 0x40
/* 801D6C14 001D2874 4B FF E4 61 */ bl TRKAppendBuffer_ui8
/* 801D6C18 001D2878 7C 7F 1B 79 */ or. r31, r3, r3
/* 801D6C1C 001D287C 40 82 00 24 */ bne lbl_801D6C40
/* 801D6C20 001D2880 7F 63 DB 78 */ mr r3, r27
/* 801D6C24 001D2884 48 00 05 D1 */ bl TRK_strlen
/* 801D6C28 001D2888 7C 65 1B 78 */ mr r5, r3
/* 801D6C2C 001D288C 80 61 00 08 */ lwz r3, 8(r1)
/* 801D6C30 001D2890 7F 64 DB 78 */ mr r4, r27
/* 801D6C34 001D2894 38 A5 00 01 */ addi r5, r5, 1
/* 801D6C38 001D2898 4B FF E4 3D */ bl TRKAppendBuffer_ui8
/* 801D6C3C 001D289C 7C 7F 1B 78 */ mr r31, r3
lbl_801D6C40:
/* 801D6C40 001D28A0 2C 1F 00 00 */ cmpwi r31, 0
/* 801D6C44 001D28A4 40 82 00 50 */ bne lbl_801D6C94
/* 801D6C48 001D28A8 38 00 00 00 */ li r0, 0
/* 801D6C4C 001D28AC 38 81 00 10 */ addi r4, r1, 0x10
/* 801D6C50 001D28B0 90 1D 00 00 */ stw r0, 0(r29)
/* 801D6C54 001D28B4 38 A0 00 07 */ li r5, 7
/* 801D6C58 001D28B8 38 C0 00 03 */ li r6, 3
/* 801D6C5C 001D28BC 38 E0 00 00 */ li r7, 0
/* 801D6C60 001D28C0 80 61 00 08 */ lwz r3, 8(r1)
/* 801D6C64 001D28C4 48 00 00 51 */ bl TRKRequestSend
/* 801D6C68 001D28C8 7C 7F 1B 79 */ or. r31, r3, r3
/* 801D6C6C 001D28CC 40 82 00 10 */ bne lbl_801D6C7C
/* 801D6C70 001D28D0 80 61 00 10 */ lwz r3, 0x10(r1)
/* 801D6C74 001D28D4 4B FF E7 69 */ bl TRKGetBuffer
/* 801D6C78 001D28D8 7C 7E 1B 78 */ mr r30, r3
lbl_801D6C7C:
/* 801D6C7C 001D28DC 80 1E 00 20 */ lwz r0, 0x20(r30)
/* 801D6C80 001D28E0 90 1D 00 00 */ stw r0, 0(r29)
/* 801D6C84 001D28E4 80 1E 00 18 */ lwz r0, 0x18(r30)
/* 801D6C88 001D28E8 90 1C 00 00 */ stw r0, 0(r28)
/* 801D6C8C 001D28EC 80 61 00 10 */ lwz r3, 0x10(r1)
/* 801D6C90 001D28F0 4B FF E6 E9 */ bl TRKReleaseBuffer
lbl_801D6C94:
/* 801D6C94 001D28F4 80 61 00 0C */ lwz r3, 0xc(r1)
/* 801D6C98 001D28F8 4B FF E6 E1 */ bl TRKReleaseBuffer
/* 801D6C9C 001D28FC 7F E3 FB 78 */ mr r3, r31
/* 801D6CA0 001D2900 BB 61 00 5C */ lmw r27, 0x5c(r1)
/* 801D6CA4 001D2904 80 01 00 74 */ lwz r0, 0x74(r1)
/* 801D6CA8 001D2908 7C 08 03 A6 */ mtlr r0
/* 801D6CAC 001D290C 38 21 00 70 */ addi r1, r1, 0x70
/* 801D6CB0 001D2910 4E 80 00 20 */ blr
.global TRKRequestSend
TRKRequestSend:
/* 801D6CB4 001D2914 94 21 FF D0 */ stwu r1, -0x30(r1)
/* 801D6CB8 001D2918 7C 08 02 A6 */ mflr r0
/* 801D6CBC 001D291C 90 01 00 34 */ stw r0, 0x34(r1)
/* 801D6CC0 001D2920 38 00 FF FF */ li r0, -1
/* 801D6CC4 001D2924 BE C1 00 08 */ stmw r22, 8(r1)
/* 801D6CC8 001D2928 7C 97 23 78 */ mr r23, r4
/* 801D6CCC 001D292C 7C 76 1B 78 */ mr r22, r3
/* 801D6CD0 001D2930 7C F8 3B 78 */ mr r24, r7
/* 801D6CD4 001D2934 3B 86 00 01 */ addi r28, r6, 1
/* 801D6CD8 001D2938 3B E0 00 00 */ li r31, 0
/* 801D6CDC 001D293C 3B 20 00 01 */ li r25, 1
/* 801D6CE0 001D2940 90 04 00 00 */ stw r0, 0(r4)
/* 801D6CE4 001D2944 48 00 01 0C */ b lbl_801D6DF0
lbl_801D6CE8:
/* 801D6CE8 001D2948 7E C3 B3 78 */ mr r3, r22
/* 801D6CEC 001D294C 4B FF DF F1 */ bl TRKMessageSend
/* 801D6CF0 001D2950 7C 7F 1B 79 */ or. r31, r3, r3
/* 801D6CF4 001D2954 40 82 00 F8 */ bne lbl_801D6DEC
/* 801D6CF8 001D2958 2C 18 00 00 */ cmpwi r24, 0
/* 801D6CFC 001D295C 41 82 00 08 */ beq lbl_801D6D04
/* 801D6D00 001D2960 3B A0 00 00 */ li r29, 0
lbl_801D6D04:
/* 801D6D04 001D2964 4B FF E9 1D */ bl TRKTestForPacket
/* 801D6D08 001D2968 90 77 00 00 */ stw r3, 0(r23)
/* 801D6D0C 001D296C 80 77 00 00 */ lwz r3, 0(r23)
/* 801D6D10 001D2970 2C 03 FF FF */ cmpwi r3, -1
/* 801D6D14 001D2974 40 82 00 20 */ bne lbl_801D6D34
/* 801D6D18 001D2978 2C 18 00 00 */ cmpwi r24, 0
/* 801D6D1C 001D297C 41 82 FF E8 */ beq lbl_801D6D04
/* 801D6D20 001D2980 3C 80 04 C5 */ lis r4, 0x04C4B3EC@ha
/* 801D6D24 001D2984 3B BD 00 01 */ addi r29, r29, 1
/* 801D6D28 001D2988 38 04 B3 EC */ addi r0, r4, 0x04C4B3EC@l
/* 801D6D2C 001D298C 7C 1D 00 40 */ cmplw r29, r0
/* 801D6D30 001D2990 41 80 FF D4 */ blt lbl_801D6D04
lbl_801D6D34:
/* 801D6D34 001D2994 2C 03 FF FF */ cmpwi r3, -1
/* 801D6D38 001D2998 41 82 00 44 */ beq lbl_801D6D7C
/* 801D6D3C 001D299C 3B 20 00 00 */ li r25, 0
/* 801D6D40 001D29A0 4B FF E6 9D */ bl TRKGetBuffer
/* 801D6D44 001D29A4 38 80 00 00 */ li r4, 0
/* 801D6D48 001D29A8 7C 7E 1B 78 */ mr r30, r3
/* 801D6D4C 001D29AC 4B FF E5 BD */ bl TRKSetBufferPosition
/* 801D6D50 001D29B0 80 9E 00 08 */ lwz r4, 8(r30)
/* 801D6D54 001D29B4 38 7E 00 10 */ addi r3, r30, 0x10
/* 801D6D58 001D29B8 48 00 2F 0D */ bl OutputData
/* 801D6D5C 001D29BC 8B 7E 00 14 */ lbz r27, 0x14(r30)
/* 801D6D60 001D29C0 28 1B 00 80 */ cmplwi r27, 0x80
/* 801D6D64 001D29C4 40 80 00 18 */ bge lbl_801D6D7C
/* 801D6D68 001D29C8 80 77 00 00 */ lwz r3, 0(r23)
/* 801D6D6C 001D29CC 4B FF E8 05 */ bl TRKProcessInput
/* 801D6D70 001D29D0 38 00 FF FF */ li r0, -1
/* 801D6D74 001D29D4 90 17 00 00 */ stw r0, 0(r23)
/* 801D6D78 001D29D8 4B FF FF 8C */ b lbl_801D6D04
lbl_801D6D7C:
/* 801D6D7C 001D29DC 80 77 00 00 */ lwz r3, 0(r23)
/* 801D6D80 001D29E0 2C 03 FF FF */ cmpwi r3, -1
/* 801D6D84 001D29E4 41 82 00 68 */ beq lbl_801D6DEC
/* 801D6D88 001D29E8 80 1E 00 08 */ lwz r0, 8(r30)
/* 801D6D8C 001D29EC 28 00 00 40 */ cmplwi r0, 0x40
/* 801D6D90 001D29F0 40 80 00 08 */ bge lbl_801D6D98
/* 801D6D94 001D29F4 3B 20 00 01 */ li r25, 1
lbl_801D6D98:
/* 801D6D98 001D29F8 2C 1F 00 00 */ cmpwi r31, 0
/* 801D6D9C 001D29FC 40 82 00 10 */ bne lbl_801D6DAC
/* 801D6DA0 001D2A00 2C 19 00 00 */ cmpwi r25, 0
/* 801D6DA4 001D2A04 40 82 00 08 */ bne lbl_801D6DAC
/* 801D6DA8 001D2A08 8B 5E 00 18 */ lbz r26, 0x18(r30)
lbl_801D6DAC:
/* 801D6DAC 001D2A0C 2C 1F 00 00 */ cmpwi r31, 0
/* 801D6DB0 001D2A10 40 82 00 20 */ bne lbl_801D6DD0
/* 801D6DB4 001D2A14 2C 19 00 00 */ cmpwi r25, 0
/* 801D6DB8 001D2A18 40 82 00 18 */ bne lbl_801D6DD0
/* 801D6DBC 001D2A1C 2C 1B 00 80 */ cmpwi r27, 0x80
/* 801D6DC0 001D2A20 40 82 00 0C */ bne lbl_801D6DCC
/* 801D6DC4 001D2A24 2C 1A 00 00 */ cmpwi r26, 0
/* 801D6DC8 001D2A28 41 82 00 08 */ beq lbl_801D6DD0
lbl_801D6DCC:
/* 801D6DCC 001D2A2C 3B 20 00 01 */ li r25, 1
lbl_801D6DD0:
/* 801D6DD0 001D2A30 2C 1F 00 00 */ cmpwi r31, 0
/* 801D6DD4 001D2A34 40 82 00 0C */ bne lbl_801D6DE0
/* 801D6DD8 001D2A38 2C 19 00 00 */ cmpwi r25, 0
/* 801D6DDC 001D2A3C 41 82 00 10 */ beq lbl_801D6DEC
lbl_801D6DE0:
/* 801D6DE0 001D2A40 4B FF E5 99 */ bl TRKReleaseBuffer
/* 801D6DE4 001D2A44 38 00 FF FF */ li r0, -1
/* 801D6DE8 001D2A48 90 17 00 00 */ stw r0, 0(r23)
lbl_801D6DEC:
/* 801D6DEC 001D2A4C 3B 9C FF FF */ addi r28, r28, -1
lbl_801D6DF0:
/* 801D6DF0 001D2A50 2C 1C 00 00 */ cmpwi r28, 0
/* 801D6DF4 001D2A54 41 82 00 18 */ beq lbl_801D6E0C
/* 801D6DF8 001D2A58 80 17 00 00 */ lwz r0, 0(r23)
/* 801D6DFC 001D2A5C 2C 00 FF FF */ cmpwi r0, -1
/* 801D6E00 001D2A60 40 82 00 0C */ bne lbl_801D6E0C
/* 801D6E04 001D2A64 2C 1F 00 00 */ cmpwi r31, 0
/* 801D6E08 001D2A68 41 82 FE E0 */ beq lbl_801D6CE8
lbl_801D6E0C:
/* 801D6E0C 001D2A6C 80 17 00 00 */ lwz r0, 0(r23)
/* 801D6E10 001D2A70 2C 00 FF FF */ cmpwi r0, -1
/* 801D6E14 001D2A74 40 82 00 08 */ bne lbl_801D6E1C
/* 801D6E18 001D2A78 3B E0 08 00 */ li r31, 0x800
lbl_801D6E1C:
/* 801D6E1C 001D2A7C 7F E3 FB 78 */ mr r3, r31
/* 801D6E20 001D2A80 BA C1 00 08 */ lmw r22, 8(r1)
/* 801D6E24 001D2A84 80 01 00 34 */ lwz r0, 0x34(r1)
/* 801D6E28 001D2A88 7C 08 03 A6 */ mtlr r0
/* 801D6E2C 001D2A8C 38 21 00 30 */ addi r1, r1, 0x30
/* 801D6E30 001D2A90 4E 80 00 20 */ blr
.global TRKSuppAccessFile
TRKSuppAccessFile:
/* 801D6E34 001D2A94 94 21 FF 70 */ stwu r1, -0x90(r1)
/* 801D6E38 001D2A98 7C 08 02 A6 */ mflr r0
/* 801D6E3C 001D2A9C 90 01 00 94 */ stw r0, 0x94(r1)
/* 801D6E40 001D2AA0 BE 61 00 5C */ stmw r19, 0x5c(r1)
/* 801D6E44 001D2AA4 7C 98 23 79 */ or. r24, r4, r4
/* 801D6E48 001D2AA8 7C 77 1B 78 */ mr r23, r3
/* 801D6E4C 001D2AAC 7C B9 2B 78 */ mr r25, r5
/* 801D6E50 001D2AB0 7C DA 33 78 */ mr r26, r6
/* 801D6E54 001D2AB4 7C FB 3B 78 */ mr r27, r7
/* 801D6E58 001D2AB8 7D 1C 43 78 */ mr r28, r8
/* 801D6E5C 001D2ABC 41 82 00 10 */ beq lbl_801D6E6C
/* 801D6E60 001D2AC0 80 19 00 00 */ lwz r0, 0(r25)
/* 801D6E64 001D2AC4 28 00 00 00 */ cmplwi r0, 0
/* 801D6E68 001D2AC8 40 82 00 0C */ bne lbl_801D6E74
lbl_801D6E6C:
/* 801D6E6C 001D2ACC 38 60 00 02 */ li r3, 2
/* 801D6E70 001D2AD0 48 00 01 D0 */ b lbl_801D7040
lbl_801D6E74:
/* 801D6E74 001D2AD4 38 00 00 00 */ li r0, 0
/* 801D6E78 001D2AD8 3B A0 00 00 */ li r29, 0
/* 801D6E7C 001D2ADC 90 1A 00 00 */ stw r0, 0(r26)
/* 801D6E80 001D2AE0 3B C0 00 00 */ li r30, 0
/* 801D6E84 001D2AE4 3A A0 00 00 */ li r21, 0
/* 801D6E88 001D2AE8 48 00 01 88 */ b lbl_801D7010
lbl_801D6E8C:
/* 801D6E8C 001D2AEC 38 61 00 14 */ addi r3, r1, 0x14
/* 801D6E90 001D2AF0 38 80 00 00 */ li r4, 0
/* 801D6E94 001D2AF4 38 A0 00 40 */ li r5, 0x40
/* 801D6E98 001D2AF8 4B E2 D2 9D */ bl TRK_memset
/* 801D6E9C 001D2AFC 80 19 00 00 */ lwz r0, 0(r25)
/* 801D6EA0 001D2B00 38 60 08 00 */ li r3, 0x800
/* 801D6EA4 001D2B04 7C 1E 00 50 */ subf r0, r30, r0
/* 801D6EA8 001D2B08 28 00 08 00 */ cmplwi r0, 0x800
/* 801D6EAC 001D2B0C 41 81 00 08 */ bgt lbl_801D6EB4
/* 801D6EB0 001D2B10 7C 03 03 78 */ mr r3, r0
lbl_801D6EB4:
/* 801D6EB4 001D2B14 2C 1C 00 00 */ cmpwi r28, 0
/* 801D6EB8 001D2B18 7C 7F 1B 78 */ mr r31, r3
/* 801D6EBC 001D2B1C 38 00 00 D0 */ li r0, 0xd0
/* 801D6EC0 001D2B20 41 82 00 08 */ beq lbl_801D6EC8
/* 801D6EC4 001D2B24 38 00 00 D1 */ li r0, 0xd1
lbl_801D6EC8:
/* 801D6EC8 001D2B28 2C 1C 00 00 */ cmpwi r28, 0
/* 801D6ECC 001D2B2C 98 01 00 18 */ stb r0, 0x18(r1)
/* 801D6ED0 001D2B30 38 00 00 40 */ li r0, 0x40
/* 801D6ED4 001D2B34 40 82 00 08 */ bne lbl_801D6EDC
/* 801D6ED8 001D2B38 38 1F 00 40 */ addi r0, r31, 0x40
lbl_801D6EDC:
/* 801D6EDC 001D2B3C 90 01 00 14 */ stw r0, 0x14(r1)
/* 801D6EE0 001D2B40 38 61 00 0C */ addi r3, r1, 0xc
/* 801D6EE4 001D2B44 38 81 00 08 */ addi r4, r1, 8
/* 801D6EE8 001D2B48 92 E1 00 1C */ stw r23, 0x1c(r1)
/* 801D6EEC 001D2B4C B3 E1 00 20 */ sth r31, 0x20(r1)
/* 801D6EF0 001D2B50 4B FF E5 19 */ bl TRKGetFreeBuffer
/* 801D6EF4 001D2B54 80 61 00 08 */ lwz r3, 8(r1)
/* 801D6EF8 001D2B58 38 81 00 14 */ addi r4, r1, 0x14
/* 801D6EFC 001D2B5C 38 A0 00 40 */ li r5, 0x40
/* 801D6F00 001D2B60 4B FF E1 75 */ bl TRKAppendBuffer_ui8
/* 801D6F04 001D2B64 2C 1C 00 00 */ cmpwi r28, 0
/* 801D6F08 001D2B68 7C 75 1B 78 */ mr r21, r3
/* 801D6F0C 001D2B6C 40 82 00 20 */ bne lbl_801D6F2C
/* 801D6F10 001D2B70 2C 15 00 00 */ cmpwi r21, 0
/* 801D6F14 001D2B74 40 82 00 18 */ bne lbl_801D6F2C
/* 801D6F18 001D2B78 80 61 00 08 */ lwz r3, 8(r1)
/* 801D6F1C 001D2B7C 7F E5 FB 78 */ mr r5, r31
/* 801D6F20 001D2B80 7C 98 F2 14 */ add r4, r24, r30
/* 801D6F24 001D2B84 4B FF E1 51 */ bl TRKAppendBuffer_ui8
/* 801D6F28 001D2B88 7C 75 1B 78 */ mr r21, r3
lbl_801D6F2C:
/* 801D6F2C 001D2B8C 2C 15 00 00 */ cmpwi r21, 0
/* 801D6F30 001D2B90 40 82 00 D4 */ bne lbl_801D7004
/* 801D6F34 001D2B94 2C 1B 00 00 */ cmpwi r27, 0
/* 801D6F38 001D2B98 41 82 00 C0 */ beq lbl_801D6FF8
/* 801D6F3C 001D2B9C 2C 1C 00 00 */ cmpwi r28, 0
/* 801D6F40 001D2BA0 38 00 00 00 */ li r0, 0
/* 801D6F44 001D2BA4 41 82 00 10 */ beq lbl_801D6F54
/* 801D6F48 001D2BA8 28 17 00 00 */ cmplwi r23, 0
/* 801D6F4C 001D2BAC 40 82 00 08 */ bne lbl_801D6F54
/* 801D6F50 001D2BB0 38 00 00 01 */ li r0, 1
lbl_801D6F54:
/* 801D6F54 001D2BB4 2C 1C 00 00 */ cmpwi r28, 0
/* 801D6F58 001D2BB8 80 61 00 08 */ lwz r3, 8(r1)
/* 801D6F5C 001D2BBC 38 81 00 10 */ addi r4, r1, 0x10
/* 801D6F60 001D2BC0 38 A0 00 05 */ li r5, 5
/* 801D6F64 001D2BC4 7C 00 00 34 */ cntlzw r0, r0
/* 801D6F68 001D2BC8 38 C0 00 03 */ li r6, 3
/* 801D6F6C 001D2BCC 54 07 D9 7E */ srwi r7, r0, 5
/* 801D6F70 001D2BD0 4B FF FD 45 */ bl TRKRequestSend
/* 801D6F74 001D2BD4 7C 75 1B 79 */ or. r21, r3, r3
/* 801D6F78 001D2BD8 40 82 00 10 */ bne lbl_801D6F88
/* 801D6F7C 001D2BDC 80 61 00 10 */ lwz r3, 0x10(r1)
/* 801D6F80 001D2BE0 4B FF E4 5D */ bl TRKGetBuffer
/* 801D6F84 001D2BE4 7C 76 1B 78 */ mr r22, r3
lbl_801D6F88:
/* 801D6F88 001D2BE8 80 16 00 20 */ lwz r0, 0x20(r22)
/* 801D6F8C 001D2BEC 2C 1C 00 00 */ cmpwi r28, 0
/* 801D6F90 001D2BF0 A2 76 00 24 */ lhz r19, 0x24(r22)
/* 801D6F94 001D2BF4 54 14 06 3E */ clrlwi r20, r0, 0x18
/* 801D6F98 001D2BF8 41 82 00 40 */ beq lbl_801D6FD8
/* 801D6F9C 001D2BFC 2C 15 00 00 */ cmpwi r21, 0
/* 801D6FA0 001D2C00 40 82 00 38 */ bne lbl_801D6FD8
/* 801D6FA4 001D2C04 7C 13 F8 40 */ cmplw r19, r31
/* 801D6FA8 001D2C08 41 81 00 30 */ bgt lbl_801D6FD8
/* 801D6FAC 001D2C0C 7E C3 B3 78 */ mr r3, r22
/* 801D6FB0 001D2C10 38 80 00 40 */ li r4, 0x40
/* 801D6FB4 001D2C14 4B FF E3 55 */ bl TRKSetBufferPosition
/* 801D6FB8 001D2C18 7E C3 B3 78 */ mr r3, r22
/* 801D6FBC 001D2C1C 7E 65 9B 78 */ mr r5, r19
/* 801D6FC0 001D2C20 7C 98 F2 14 */ add r4, r24, r30
/* 801D6FC4 001D2C24 4B FF DE 35 */ bl TRKReadBuffer_ui8
/* 801D6FC8 001D2C28 7C 75 1B 78 */ mr r21, r3
/* 801D6FCC 001D2C2C 2C 15 03 02 */ cmpwi r21, 0x302
/* 801D6FD0 001D2C30 40 82 00 08 */ bne lbl_801D6FD8
/* 801D6FD4 001D2C34 3A A0 00 00 */ li r21, 0
lbl_801D6FD8:
/* 801D6FD8 001D2C38 7C 13 F8 40 */ cmplw r19, r31
/* 801D6FDC 001D2C3C 41 82 00 0C */ beq lbl_801D6FE8
/* 801D6FE0 001D2C40 7E 7F 9B 78 */ mr r31, r19
/* 801D6FE4 001D2C44 3B A0 00 01 */ li r29, 1
lbl_801D6FE8:
/* 801D6FE8 001D2C48 92 9A 00 00 */ stw r20, 0(r26)
/* 801D6FEC 001D2C4C 80 61 00 10 */ lwz r3, 0x10(r1)
/* 801D6FF0 001D2C50 4B FF E3 89 */ bl TRKReleaseBuffer
/* 801D6FF4 001D2C54 48 00 00 10 */ b lbl_801D7004
lbl_801D6FF8:
/* 801D6FF8 001D2C58 80 61 00 08 */ lwz r3, 8(r1)
/* 801D6FFC 001D2C5C 4B FF DC E1 */ bl TRKMessageSend
/* 801D7000 001D2C60 7C 75 1B 78 */ mr r21, r3
lbl_801D7004:
/* 801D7004 001D2C64 80 61 00 0C */ lwz r3, 0xc(r1)
/* 801D7008 001D2C68 4B FF E3 71 */ bl TRKReleaseBuffer
/* 801D700C 001D2C6C 7F DE FA 14 */ add r30, r30, r31
lbl_801D7010:
/* 801D7010 001D2C70 2C 1D 00 00 */ cmpwi r29, 0
/* 801D7014 001D2C74 40 82 00 24 */ bne lbl_801D7038
/* 801D7018 001D2C78 80 19 00 00 */ lwz r0, 0(r25)
/* 801D701C 001D2C7C 7C 1E 00 40 */ cmplw r30, r0
/* 801D7020 001D2C80 40 80 00 18 */ bge lbl_801D7038
/* 801D7024 001D2C84 2C 15 00 00 */ cmpwi r21, 0
/* 801D7028 001D2C88 40 82 00 10 */ bne lbl_801D7038
/* 801D702C 001D2C8C 80 1A 00 00 */ lwz r0, 0(r26)
/* 801D7030 001D2C90 2C 00 00 00 */ cmpwi r0, 0
/* 801D7034 001D2C94 41 82 FE 58 */ beq lbl_801D6E8C
lbl_801D7038:
/* 801D7038 001D2C98 93 D9 00 00 */ stw r30, 0(r25)
/* 801D703C 001D2C9C 7E A3 AB 78 */ mr r3, r21
lbl_801D7040:
/* 801D7040 001D2CA0 BA 61 00 5C */ lmw r19, 0x5c(r1)
/* 801D7044 001D2CA4 80 01 00 94 */ lwz r0, 0x94(r1)
/* 801D7048 001D2CA8 7C 08 03 A6 */ mtlr r0
/* 801D704C 001D2CAC 38 21 00 90 */ addi r1, r1, 0x90
/* 801D7050 001D2CB0 4E 80 00 20 */ blr
|