summaryrefslogtreecommitdiff
path: root/asm/TRK_MINNOW_DOLPHIN/msgbuf.s
blob: f137c709643860405c6049fa658a55e8a0e95320 (plain)
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
487
488
489
490
491
492
493
494
495
496
497
498
499
500
501
502
503
504
505
506
507
508
509
510
511
512
513
514
515
516
517
518
519
520
521
522
523
524
525
526
527
528
529
530
531
532
533
534
535
536
537
538
539
540
541
542
543
544
545
546
547
548
549
550
551
552
553
554
555
556
557
558
559
560
561
562
563
564
565
566
567
568
569
570
571
572
573
574
575
576
577
578
579
580
581
582
583
584
585
586
587
588
589
590
591
592
593
594
595
596
597
598
599
600
601
602
603
604
605
606
607
608
609
610
611
612
613
614
615
616
617
618
619
620
621
622
623
624
625
626
627
628
629
630
631
632
633
634
635
636
637
638
639
640
641
642
643
.include "macros.inc"

.section .text, "ax"  # 0x80005600 - 0x8036FBA0
.global TRKSetBufferUsed
TRKSetBufferUsed:
/* 80088080 00084FC0  90 83 00 04 */	stw r4, 4(r3)
/* 80088084 00084FC4  4E 80 00 20 */	blr 

.global TRKInitializeMessageBuffers
TRKInitializeMessageBuffers:
/* 80088088 00084FC8  7C 08 02 A6 */	mflr r0
/* 8008808C 00084FCC  3C 60 80 3F */	lis r3, gTRKMsgBufs@ha
/* 80088090 00084FD0  90 01 00 04 */	stw r0, 4(r1)
/* 80088094 00084FD4  38 03 91 10 */	addi r0, r3, gTRKMsgBufs@l
/* 80088098 00084FD8  94 21 FF F0 */	stwu r1, -0x10(r1)
/* 8008809C 00084FDC  93 E1 00 0C */	stw r31, 0xc(r1)
/* 800880A0 00084FE0  93 C1 00 08 */	stw r30, 8(r1)
/* 800880A4 00084FE4  3B C0 00 00 */	li r30, 0
/* 800880A8 00084FE8  1C 9E 08 90 */	mulli r4, r30, 0x890
/* 800880AC 00084FEC  7F E0 22 14 */	add r31, r0, r4
lbl_800880B0:
/* 800880B0 00084FF0  7F E3 FB 78 */	mr r3, r31
/* 800880B4 00084FF4  48 00 21 99 */	bl TRKInitializeMutex
/* 800880B8 00084FF8  7F E3 FB 78 */	mr r3, r31
/* 800880BC 00084FFC  48 00 21 99 */	bl TRKAcquireMutex
/* 800880C0 00085000  38 7F 00 00 */	addi r3, r31, 0
/* 800880C4 00085004  38 80 00 00 */	li r4, 0
/* 800880C8 00085008  4B FF FF B9 */	bl TRKSetBufferUsed
/* 800880CC 0008500C  7F E3 FB 78 */	mr r3, r31
/* 800880D0 00085010  48 00 21 8D */	bl TRKReleaseMutex
/* 800880D4 00085014  3B DE 00 01 */	addi r30, r30, 1
/* 800880D8 00085018  3B FF 08 90 */	addi r31, r31, 0x890
/* 800880DC 0008501C  2C 1E 00 03 */	cmpwi r30, 3
/* 800880E0 00085020  41 80 FF D0 */	blt lbl_800880B0
/* 800880E4 00085024  83 E1 00 0C */	lwz r31, 0xc(r1)
/* 800880E8 00085028  38 60 00 00 */	li r3, 0
/* 800880EC 0008502C  83 C1 00 08 */	lwz r30, 8(r1)
/* 800880F0 00085030  38 21 00 10 */	addi r1, r1, 0x10
/* 800880F4 00085034  80 01 00 04 */	lwz r0, 4(r1)
/* 800880F8 00085038  7C 08 03 A6 */	mtlr r0
/* 800880FC 0008503C  4E 80 00 20 */	blr 

.global TRKGetFreeBuffer
TRKGetFreeBuffer:
/* 80088100 00085040  7C 08 02 A6 */	mflr r0
/* 80088104 00085044  90 01 00 04 */	stw r0, 4(r1)
/* 80088108 00085048  38 00 00 00 */	li r0, 0
/* 8008810C 0008504C  94 21 FF E0 */	stwu r1, -0x20(r1)
/* 80088110 00085050  BF 61 00 0C */	stmw r27, 0xc(r1)
/* 80088114 00085054  3B 84 00 00 */	addi r28, r4, 0
/* 80088118 00085058  3B 63 00 00 */	addi r27, r3, 0
/* 8008811C 0008505C  3B E0 03 00 */	li r31, 0x300
/* 80088120 00085060  3B C0 00 00 */	li r30, 0
/* 80088124 00085064  90 04 00 00 */	stw r0, 0(r4)
/* 80088128 00085068  48 00 00 54 */	b lbl_8008817C
lbl_8008812C:
/* 8008812C 0008506C  7F C3 F3 78 */	mr r3, r30
/* 80088130 00085070  48 00 00 6D */	bl TRKGetBuffer
/* 80088134 00085074  7C 7D 1B 78 */	mr r29, r3
/* 80088138 00085078  48 00 21 1D */	bl TRKAcquireMutex
/* 8008813C 0008507C  80 1D 00 04 */	lwz r0, 4(r29)
/* 80088140 00085080  2C 00 00 00 */	cmpwi r0, 0
/* 80088144 00085084  40 82 00 2C */	bne lbl_80088170
/* 80088148 00085088  38 7D 00 00 */	addi r3, r29, 0
/* 8008814C 0008508C  38 80 00 01 */	li r4, 1
/* 80088150 00085090  48 00 00 E1 */	bl TRKResetBuffer
/* 80088154 00085094  38 7D 00 00 */	addi r3, r29, 0
/* 80088158 00085098  38 80 00 01 */	li r4, 1
/* 8008815C 0008509C  4B FF FF 25 */	bl TRKSetBufferUsed
/* 80088160 000850A0  93 BC 00 00 */	stw r29, 0(r28)
/* 80088164 000850A4  3B E0 00 00 */	li r31, 0
/* 80088168 000850A8  93 DB 00 00 */	stw r30, 0(r27)
/* 8008816C 000850AC  3B C0 00 03 */	li r30, 3
lbl_80088170:
/* 80088170 000850B0  7F A3 EB 78 */	mr r3, r29
/* 80088174 000850B4  48 00 20 E9 */	bl TRKReleaseMutex
/* 80088178 000850B8  3B DE 00 01 */	addi r30, r30, 1
lbl_8008817C:
/* 8008817C 000850BC  2C 1E 00 03 */	cmpwi r30, 3
/* 80088180 000850C0  41 80 FF AC */	blt lbl_8008812C
/* 80088184 000850C4  7F E3 FB 78 */	mr r3, r31
/* 80088188 000850C8  BB 61 00 0C */	lmw r27, 0xc(r1)
/* 8008818C 000850CC  38 21 00 20 */	addi r1, r1, 0x20
/* 80088190 000850D0  80 01 00 04 */	lwz r0, 4(r1)
/* 80088194 000850D4  7C 08 03 A6 */	mtlr r0
/* 80088198 000850D8  4E 80 00 20 */	blr 

.global TRKGetBuffer
TRKGetBuffer:
/* 8008819C 000850DC  2C 03 00 00 */	cmpwi r3, 0
/* 800881A0 000850E0  38 00 00 00 */	li r0, 0
/* 800881A4 000850E4  41 80 00 1C */	blt lbl_800881C0
/* 800881A8 000850E8  2C 03 00 03 */	cmpwi r3, 3
/* 800881AC 000850EC  40 80 00 14 */	bge lbl_800881C0
/* 800881B0 000850F0  1C 83 08 90 */	mulli r4, r3, 0x890
/* 800881B4 000850F4  3C 60 80 3F */	lis r3, gTRKMsgBufs@ha
/* 800881B8 000850F8  38 03 91 10 */	addi r0, r3, gTRKMsgBufs@l
/* 800881BC 000850FC  7C 00 22 14 */	add r0, r0, r4
lbl_800881C0:
/* 800881C0 00085100  7C 03 03 78 */	mr r3, r0
/* 800881C4 00085104  4E 80 00 20 */	blr 

.global TRKReleaseBuffer
TRKReleaseBuffer:
/* 800881C8 00085108  7C 08 02 A6 */	mflr r0
/* 800881CC 0008510C  2C 03 FF FF */	cmpwi r3, -1
/* 800881D0 00085110  90 01 00 04 */	stw r0, 4(r1)
/* 800881D4 00085114  94 21 FF F0 */	stwu r1, -0x10(r1)
/* 800881D8 00085118  93 E1 00 0C */	stw r31, 0xc(r1)
/* 800881DC 0008511C  41 82 00 40 */	beq lbl_8008821C
/* 800881E0 00085120  2C 03 00 00 */	cmpwi r3, 0
/* 800881E4 00085124  41 80 00 38 */	blt lbl_8008821C
/* 800881E8 00085128  2C 03 00 03 */	cmpwi r3, 3
/* 800881EC 0008512C  40 80 00 30 */	bge lbl_8008821C
/* 800881F0 00085130  1C 83 08 90 */	mulli r4, r3, 0x890
/* 800881F4 00085134  3C 60 80 3F */	lis r3, gTRKMsgBufs@ha
/* 800881F8 00085138  38 03 91 10 */	addi r0, r3, gTRKMsgBufs@l
/* 800881FC 0008513C  7F E0 22 14 */	add r31, r0, r4
/* 80088200 00085140  38 7F 00 00 */	addi r3, r31, 0
/* 80088204 00085144  48 00 20 51 */	bl TRKAcquireMutex
/* 80088208 00085148  38 7F 00 00 */	addi r3, r31, 0
/* 8008820C 0008514C  38 80 00 00 */	li r4, 0
/* 80088210 00085150  4B FF FE 71 */	bl TRKSetBufferUsed
/* 80088214 00085154  7F E3 FB 78 */	mr r3, r31
/* 80088218 00085158  48 00 20 45 */	bl TRKReleaseMutex
lbl_8008821C:
/* 8008821C 0008515C  83 E1 00 0C */	lwz r31, 0xc(r1)
/* 80088220 00085160  38 21 00 10 */	addi r1, r1, 0x10
/* 80088224 00085164  80 01 00 04 */	lwz r0, 4(r1)
/* 80088228 00085168  7C 08 03 A6 */	mtlr r0
/* 8008822C 0008516C  4E 80 00 20 */	blr 

.global TRKResetBuffer
TRKResetBuffer:
/* 80088230 00085170  7C 08 02 A6 */	mflr r0
/* 80088234 00085174  38 A0 00 00 */	li r5, 0
/* 80088238 00085178  90 01 00 04 */	stw r0, 4(r1)
/* 8008823C 0008517C  54 80 06 3F */	clrlwi. r0, r4, 0x18
/* 80088240 00085180  94 21 FF F8 */	stwu r1, -8(r1)
/* 80088244 00085184  90 A3 00 08 */	stw r5, 8(r3)
/* 80088248 00085188  90 A3 00 0C */	stw r5, 0xc(r3)
/* 8008824C 0008518C  40 82 00 14 */	bne lbl_80088260
/* 80088250 00085190  38 63 00 10 */	addi r3, r3, 0x10
/* 80088254 00085194  38 80 00 00 */	li r4, 0
/* 80088258 00085198  38 A0 08 80 */	li r5, 0x880
/* 8008825C 0008519C  4B F7 B0 0D */	bl TRK_memset
lbl_80088260:
/* 80088260 000851A0  38 21 00 08 */	addi r1, r1, 8
/* 80088264 000851A4  80 01 00 04 */	lwz r0, 4(r1)
/* 80088268 000851A8  7C 08 03 A6 */	mtlr r0
/* 8008826C 000851AC  4E 80 00 20 */	blr 

.global TRKSetBufferPosition
TRKSetBufferPosition:
/* 80088270 000851B0  28 04 08 80 */	cmplwi r4, 0x880
/* 80088274 000851B4  38 A0 00 00 */	li r5, 0
/* 80088278 000851B8  40 81 00 0C */	ble lbl_80088284
/* 8008827C 000851BC  38 A0 03 01 */	li r5, 0x301
/* 80088280 000851C0  48 00 00 18 */	b lbl_80088298
lbl_80088284:
/* 80088284 000851C4  90 83 00 0C */	stw r4, 0xc(r3)
/* 80088288 000851C8  80 03 00 08 */	lwz r0, 8(r3)
/* 8008828C 000851CC  7C 04 00 40 */	cmplw r4, r0
/* 80088290 000851D0  40 81 00 08 */	ble lbl_80088298
/* 80088294 000851D4  90 83 00 08 */	stw r4, 8(r3)
lbl_80088298:
/* 80088298 000851D8  7C A3 2B 78 */	mr r3, r5
/* 8008829C 000851DC  4E 80 00 20 */	blr 

.global TRKAppendBuffer
TRKAppendBuffer:
/* 800882A0 000851E0  7C 08 02 A6 */	mflr r0
/* 800882A4 000851E4  90 01 00 04 */	stw r0, 4(r1)
/* 800882A8 000851E8  94 21 FF E8 */	stwu r1, -0x18(r1)
/* 800882AC 000851EC  93 E1 00 14 */	stw r31, 0x14(r1)
/* 800882B0 000851F0  3B E0 00 00 */	li r31, 0
/* 800882B4 000851F4  93 C1 00 10 */	stw r30, 0x10(r1)
/* 800882B8 000851F8  7C BE 2B 79 */	or. r30, r5, r5
/* 800882BC 000851FC  93 A1 00 0C */	stw r29, 0xc(r1)
/* 800882C0 00085200  3B A3 00 00 */	addi r29, r3, 0
/* 800882C4 00085204  40 82 00 0C */	bne lbl_800882D0
/* 800882C8 00085208  38 60 00 00 */	li r3, 0
/* 800882CC 0008520C  48 00 00 5C */	b lbl_80088328
lbl_800882D0:
/* 800882D0 00085210  80 7D 00 0C */	lwz r3, 0xc(r29)
/* 800882D4 00085214  20 03 08 80 */	subfic r0, r3, 0x880
/* 800882D8 00085218  7C 00 F0 40 */	cmplw r0, r30
/* 800882DC 0008521C  40 80 00 0C */	bge lbl_800882E8
/* 800882E0 00085220  3B E0 03 01 */	li r31, 0x301
/* 800882E4 00085224  7C 1E 03 78 */	mr r30, r0
lbl_800882E8:
/* 800882E8 00085228  28 1E 00 01 */	cmplwi r30, 1
/* 800882EC 0008522C  40 82 00 14 */	bne lbl_80088300
/* 800882F0 00085230  88 04 00 00 */	lbz r0, 0(r4)
/* 800882F4 00085234  7C 7D 1A 14 */	add r3, r29, r3
/* 800882F8 00085238  98 03 00 10 */	stb r0, 0x10(r3)
/* 800882FC 0008523C  48 00 00 14 */	b lbl_80088310
lbl_80088300:
/* 80088300 00085240  38 63 00 10 */	addi r3, r3, 0x10
/* 80088304 00085244  38 BE 00 00 */	addi r5, r30, 0
/* 80088308 00085248  7C 7D 1A 14 */	add r3, r29, r3
/* 8008830C 0008524C  4B F7 AF 39 */	bl TRK_memcpy
lbl_80088310:
/* 80088310 00085250  80 1D 00 0C */	lwz r0, 0xc(r29)
/* 80088314 00085254  38 7F 00 00 */	addi r3, r31, 0
/* 80088318 00085258  7C 00 F2 14 */	add r0, r0, r30
/* 8008831C 0008525C  90 1D 00 0C */	stw r0, 0xc(r29)
/* 80088320 00085260  80 1D 00 0C */	lwz r0, 0xc(r29)
/* 80088324 00085264  90 1D 00 08 */	stw r0, 8(r29)
lbl_80088328:
/* 80088328 00085268  83 E1 00 14 */	lwz r31, 0x14(r1)
/* 8008832C 0008526C  83 C1 00 10 */	lwz r30, 0x10(r1)
/* 80088330 00085270  83 A1 00 0C */	lwz r29, 0xc(r1)
/* 80088334 00085274  38 21 00 18 */	addi r1, r1, 0x18
/* 80088338 00085278  80 01 00 04 */	lwz r0, 4(r1)
/* 8008833C 0008527C  7C 08 03 A6 */	mtlr r0
/* 80088340 00085280  4E 80 00 20 */	blr 

.global TRKReadBuffer
TRKReadBuffer:
/* 80088344 00085284  7C 08 02 A6 */	mflr r0
/* 80088348 00085288  90 01 00 04 */	stw r0, 4(r1)
/* 8008834C 0008528C  94 21 FF E8 */	stwu r1, -0x18(r1)
/* 80088350 00085290  93 E1 00 14 */	stw r31, 0x14(r1)
/* 80088354 00085294  3B E0 00 00 */	li r31, 0
/* 80088358 00085298  93 C1 00 10 */	stw r30, 0x10(r1)
/* 8008835C 0008529C  7C BE 2B 79 */	or. r30, r5, r5
/* 80088360 000852A0  93 A1 00 0C */	stw r29, 0xc(r1)
/* 80088364 000852A4  3B A3 00 00 */	addi r29, r3, 0
/* 80088368 000852A8  38 64 00 00 */	addi r3, r4, 0
/* 8008836C 000852AC  40 82 00 0C */	bne lbl_80088378
/* 80088370 000852B0  38 60 00 00 */	li r3, 0
/* 80088374 000852B4  48 00 00 40 */	b lbl_800883B4
lbl_80088378:
/* 80088378 000852B8  80 9D 00 0C */	lwz r4, 0xc(r29)
/* 8008837C 000852BC  80 1D 00 08 */	lwz r0, 8(r29)
/* 80088380 000852C0  7C 04 00 50 */	subf r0, r4, r0
/* 80088384 000852C4  7C 1E 00 40 */	cmplw r30, r0
/* 80088388 000852C8  40 81 00 0C */	ble lbl_80088394
/* 8008838C 000852CC  3B E0 03 02 */	li r31, 0x302
/* 80088390 000852D0  7C 1E 03 78 */	mr r30, r0
lbl_80088394:
/* 80088394 000852D4  38 84 00 10 */	addi r4, r4, 0x10
/* 80088398 000852D8  38 BE 00 00 */	addi r5, r30, 0
/* 8008839C 000852DC  7C 9D 22 14 */	add r4, r29, r4
/* 800883A0 000852E0  4B F7 AE A5 */	bl TRK_memcpy
/* 800883A4 000852E4  80 1D 00 0C */	lwz r0, 0xc(r29)
/* 800883A8 000852E8  38 7F 00 00 */	addi r3, r31, 0
/* 800883AC 000852EC  7C 00 F2 14 */	add r0, r0, r30
/* 800883B0 000852F0  90 1D 00 0C */	stw r0, 0xc(r29)
lbl_800883B4:
/* 800883B4 000852F4  83 E1 00 14 */	lwz r31, 0x14(r1)
/* 800883B8 000852F8  83 C1 00 10 */	lwz r30, 0x10(r1)
/* 800883BC 000852FC  83 A1 00 0C */	lwz r29, 0xc(r1)
/* 800883C0 00085300  38 21 00 18 */	addi r1, r1, 0x18
/* 800883C4 00085304  80 01 00 04 */	lwz r0, 4(r1)
/* 800883C8 00085308  7C 08 03 A6 */	mtlr r0
/* 800883CC 0008530C  4E 80 00 20 */	blr 

.global TRKAppendBuffer1_ui16
TRKAppendBuffer1_ui16:
/* 800883D0 00085310  7C 08 02 A6 */	mflr r0
/* 800883D4 00085314  3C A0 80 3F */	lis r5, gTRKBigEndian@ha
/* 800883D8 00085318  90 01 00 04 */	stw r0, 4(r1)
/* 800883DC 0008531C  94 21 FF F0 */	stwu r1, -0x10(r1)
/* 800883E0 00085320  B0 81 00 08 */	sth r4, 8(r1)
/* 800883E4 00085324  80 05 91 08 */	lwz r0, gTRKBigEndian@l(r5)
/* 800883E8 00085328  2C 00 00 00 */	cmpwi r0, 0
/* 800883EC 0008532C  41 82 00 0C */	beq lbl_800883F8
/* 800883F0 00085330  38 81 00 08 */	addi r4, r1, 8
/* 800883F4 00085334  48 00 00 18 */	b lbl_8008840C
lbl_800883F8:
/* 800883F8 00085338  88 01 00 09 */	lbz r0, 9(r1)
/* 800883FC 0008533C  38 81 00 0C */	addi r4, r1, 0xc
/* 80088400 00085340  98 01 00 0C */	stb r0, 0xc(r1)
/* 80088404 00085344  88 01 00 08 */	lbz r0, 8(r1)
/* 80088408 00085348  98 01 00 0D */	stb r0, 0xd(r1)
lbl_8008840C:
/* 8008840C 0008534C  38 A0 00 02 */	li r5, 2
/* 80088410 00085350  4B FF FE 91 */	bl TRKAppendBuffer
/* 80088414 00085354  38 21 00 10 */	addi r1, r1, 0x10
/* 80088418 00085358  80 01 00 04 */	lwz r0, 4(r1)
/* 8008841C 0008535C  7C 08 03 A6 */	mtlr r0
/* 80088420 00085360  4E 80 00 20 */	blr 

.global TRKAppendBuffer1_ui32
TRKAppendBuffer1_ui32:
/* 80088424 00085364  7C 08 02 A6 */	mflr r0
/* 80088428 00085368  3C A0 80 3F */	lis r5, gTRKBigEndian@ha
/* 8008842C 0008536C  90 01 00 04 */	stw r0, 4(r1)
/* 80088430 00085370  94 21 FF F0 */	stwu r1, -0x10(r1)
/* 80088434 00085374  90 81 00 08 */	stw r4, 8(r1)
/* 80088438 00085378  80 05 91 08 */	lwz r0, gTRKBigEndian@l(r5)
/* 8008843C 0008537C  2C 00 00 00 */	cmpwi r0, 0
/* 80088440 00085380  41 82 00 0C */	beq lbl_8008844C
/* 80088444 00085384  38 81 00 08 */	addi r4, r1, 8
/* 80088448 00085388  48 00 00 28 */	b lbl_80088470
lbl_8008844C:
/* 8008844C 0008538C  88 01 00 0B */	lbz r0, 0xb(r1)
/* 80088450 00085390  38 81 00 0C */	addi r4, r1, 0xc
/* 80088454 00085394  98 01 00 0C */	stb r0, 0xc(r1)
/* 80088458 00085398  88 01 00 0A */	lbz r0, 0xa(r1)
/* 8008845C 0008539C  98 01 00 0D */	stb r0, 0xd(r1)
/* 80088460 000853A0  88 01 00 09 */	lbz r0, 9(r1)
/* 80088464 000853A4  98 01 00 0E */	stb r0, 0xe(r1)
/* 80088468 000853A8  88 01 00 08 */	lbz r0, 8(r1)
/* 8008846C 000853AC  98 01 00 0F */	stb r0, 0xf(r1)
lbl_80088470:
/* 80088470 000853B0  38 A0 00 04 */	li r5, 4
/* 80088474 000853B4  4B FF FE 2D */	bl TRKAppendBuffer
/* 80088478 000853B8  38 21 00 10 */	addi r1, r1, 0x10
/* 8008847C 000853BC  80 01 00 04 */	lwz r0, 4(r1)
/* 80088480 000853C0  7C 08 03 A6 */	mtlr r0
/* 80088484 000853C4  4E 80 00 20 */	blr 

.global TRKAppendBuffer1_ui64
TRKAppendBuffer1_ui64:
/* 80088488 000853C8  7C 08 02 A6 */	mflr r0
/* 8008848C 000853CC  3C 80 80 3F */	lis r4, gTRKBigEndian@ha
/* 80088490 000853D0  90 01 00 04 */	stw r0, 4(r1)
/* 80088494 000853D4  94 21 FF E8 */	stwu r1, -0x18(r1)
/* 80088498 000853D8  90 A1 00 08 */	stw r5, 8(r1)
/* 8008849C 000853DC  90 C1 00 0C */	stw r6, 0xc(r1)
/* 800884A0 000853E0  80 04 91 08 */	lwz r0, gTRKBigEndian@l(r4)
/* 800884A4 000853E4  2C 00 00 00 */	cmpwi r0, 0
/* 800884A8 000853E8  41 82 00 0C */	beq lbl_800884B4
/* 800884AC 000853EC  38 81 00 08 */	addi r4, r1, 8
/* 800884B0 000853F0  48 00 00 48 */	b lbl_800884F8
lbl_800884B4:
/* 800884B4 000853F4  88 01 00 0F */	lbz r0, 0xf(r1)
/* 800884B8 000853F8  38 81 00 10 */	addi r4, r1, 0x10
/* 800884BC 000853FC  98 01 00 10 */	stb r0, 0x10(r1)
/* 800884C0 00085400  88 01 00 0E */	lbz r0, 0xe(r1)
/* 800884C4 00085404  98 01 00 11 */	stb r0, 0x11(r1)
/* 800884C8 00085408  88 01 00 0D */	lbz r0, 0xd(r1)
/* 800884CC 0008540C  98 01 00 12 */	stb r0, 0x12(r1)
/* 800884D0 00085410  88 01 00 0C */	lbz r0, 0xc(r1)
/* 800884D4 00085414  98 01 00 13 */	stb r0, 0x13(r1)
/* 800884D8 00085418  88 01 00 0B */	lbz r0, 0xb(r1)
/* 800884DC 0008541C  98 01 00 14 */	stb r0, 0x14(r1)
/* 800884E0 00085420  88 01 00 0A */	lbz r0, 0xa(r1)
/* 800884E4 00085424  98 01 00 15 */	stb r0, 0x15(r1)
/* 800884E8 00085428  88 01 00 09 */	lbz r0, 9(r1)
/* 800884EC 0008542C  98 01 00 16 */	stb r0, 0x16(r1)
/* 800884F0 00085430  88 01 00 08 */	lbz r0, 8(r1)
/* 800884F4 00085434  98 01 00 17 */	stb r0, 0x17(r1)
lbl_800884F8:
/* 800884F8 00085438  38 A0 00 08 */	li r5, 8
/* 800884FC 0008543C  4B FF FD A5 */	bl TRKAppendBuffer
/* 80088500 00085440  38 21 00 18 */	addi r1, r1, 0x18
/* 80088504 00085444  80 01 00 04 */	lwz r0, 4(r1)
/* 80088508 00085448  7C 08 03 A6 */	mtlr r0
/* 8008850C 0008544C  4E 80 00 20 */	blr 

.global TRKAppendBuffer_ui8
TRKAppendBuffer_ui8:
/* 80088510 00085450  39 20 00 00 */	li r9, 0
/* 80088514 00085454  38 00 00 00 */	li r0, 0
/* 80088518 00085458  48 00 00 48 */	b lbl_80088560
lbl_8008851C:
/* 8008851C 0008545C  80 E3 00 0C */	lwz r7, 0xc(r3)
/* 80088520 00085460  89 04 00 00 */	lbz r8, 0(r4)
/* 80088524 00085464  28 07 08 80 */	cmplwi r7, 0x880
/* 80088528 00085468  41 80 00 0C */	blt lbl_80088534
/* 8008852C 0008546C  38 E0 03 01 */	li r7, 0x301
/* 80088530 00085470  48 00 00 24 */	b lbl_80088554
lbl_80088534:
/* 80088534 00085474  38 C7 00 01 */	addi r6, r7, 1
/* 80088538 00085478  38 07 00 10 */	addi r0, r7, 0x10
/* 8008853C 0008547C  90 C3 00 0C */	stw r6, 0xc(r3)
/* 80088540 00085480  38 E0 00 00 */	li r7, 0
/* 80088544 00085484  7D 03 01 AE */	stbx r8, r3, r0
/* 80088548 00085488  80 C3 00 08 */	lwz r6, 8(r3)
/* 8008854C 0008548C  38 06 00 01 */	addi r0, r6, 1
/* 80088550 00085490  90 03 00 08 */	stw r0, 8(r3)
lbl_80088554:
/* 80088554 00085494  38 07 00 00 */	addi r0, r7, 0
/* 80088558 00085498  39 29 00 01 */	addi r9, r9, 1
/* 8008855C 0008549C  38 84 00 01 */	addi r4, r4, 1
lbl_80088560:
/* 80088560 000854A0  2C 00 00 00 */	cmpwi r0, 0
/* 80088564 000854A4  40 82 00 0C */	bne lbl_80088570
/* 80088568 000854A8  7C 09 28 00 */	cmpw r9, r5
/* 8008856C 000854AC  41 80 FF B0 */	blt lbl_8008851C
lbl_80088570:
/* 80088570 000854B0  7C 03 03 78 */	mr r3, r0
/* 80088574 000854B4  4E 80 00 20 */	blr 

.global TRKAppendBuffer_ui32
TRKAppendBuffer_ui32:
/* 80088578 000854B8  7C 08 02 A6 */	mflr r0
/* 8008857C 000854BC  90 01 00 04 */	stw r0, 4(r1)
/* 80088580 000854C0  94 21 FF E8 */	stwu r1, -0x18(r1)
/* 80088584 000854C4  93 E1 00 14 */	stw r31, 0x14(r1)
/* 80088588 000854C8  93 C1 00 10 */	stw r30, 0x10(r1)
/* 8008858C 000854CC  3B C0 00 00 */	li r30, 0
/* 80088590 000854D0  57 C0 10 3A */	slwi r0, r30, 2
/* 80088594 000854D4  93 A1 00 0C */	stw r29, 0xc(r1)
/* 80088598 000854D8  7F E4 02 14 */	add r31, r4, r0
/* 8008859C 000854DC  3B A5 00 00 */	addi r29, r5, 0
/* 800885A0 000854E0  93 81 00 08 */	stw r28, 8(r1)
/* 800885A4 000854E4  3B 83 00 00 */	addi r28, r3, 0
/* 800885A8 000854E8  38 60 00 00 */	li r3, 0
/* 800885AC 000854EC  48 00 00 18 */	b lbl_800885C4
lbl_800885B0:
/* 800885B0 000854F0  7F 83 E3 78 */	mr r3, r28
/* 800885B4 000854F4  80 9F 00 00 */	lwz r4, 0(r31)
/* 800885B8 000854F8  4B FF FE 6D */	bl TRKAppendBuffer1_ui32
/* 800885BC 000854FC  3B DE 00 01 */	addi r30, r30, 1
/* 800885C0 00085500  3B FF 00 04 */	addi r31, r31, 4
lbl_800885C4:
/* 800885C4 00085504  2C 03 00 00 */	cmpwi r3, 0
/* 800885C8 00085508  40 82 00 0C */	bne lbl_800885D4
/* 800885CC 0008550C  7C 1E E8 00 */	cmpw r30, r29
/* 800885D0 00085510  41 80 FF E0 */	blt lbl_800885B0
lbl_800885D4:
/* 800885D4 00085514  83 E1 00 14 */	lwz r31, 0x14(r1)
/* 800885D8 00085518  83 C1 00 10 */	lwz r30, 0x10(r1)
/* 800885DC 0008551C  83 A1 00 0C */	lwz r29, 0xc(r1)
/* 800885E0 00085520  83 81 00 08 */	lwz r28, 8(r1)
/* 800885E4 00085524  38 21 00 18 */	addi r1, r1, 0x18
/* 800885E8 00085528  80 01 00 04 */	lwz r0, 4(r1)
/* 800885EC 0008552C  7C 08 03 A6 */	mtlr r0
/* 800885F0 00085530  4E 80 00 20 */	blr 

.global TRKReadBuffer1_ui8
TRKReadBuffer1_ui8:
/* 800885F4 00085534  7C 08 02 A6 */	mflr r0
/* 800885F8 00085538  38 A0 00 01 */	li r5, 1
/* 800885FC 0008553C  90 01 00 04 */	stw r0, 4(r1)
/* 80088600 00085540  94 21 FF F8 */	stwu r1, -8(r1)
/* 80088604 00085544  4B FF FD 41 */	bl TRKReadBuffer
/* 80088608 00085548  38 21 00 08 */	addi r1, r1, 8
/* 8008860C 0008554C  80 01 00 04 */	lwz r0, 4(r1)
/* 80088610 00085550  7C 08 03 A6 */	mtlr r0
/* 80088614 00085554  4E 80 00 20 */	blr 

.global TRKReadBuffer1_ui16
TRKReadBuffer1_ui16:
/* 80088618 00085558  7C 08 02 A6 */	mflr r0
/* 8008861C 0008555C  3C A0 80 3F */	lis r5, gTRKBigEndian@ha
/* 80088620 00085560  90 01 00 04 */	stw r0, 4(r1)
/* 80088624 00085564  94 21 FF E8 */	stwu r1, -0x18(r1)
/* 80088628 00085568  93 E1 00 14 */	stw r31, 0x14(r1)
/* 8008862C 0008556C  93 C1 00 10 */	stw r30, 0x10(r1)
/* 80088630 00085570  3B C4 00 00 */	addi r30, r4, 0
/* 80088634 00085574  80 05 91 08 */	lwz r0, gTRKBigEndian@l(r5)
/* 80088638 00085578  2C 00 00 00 */	cmpwi r0, 0
/* 8008863C 0008557C  41 82 00 0C */	beq lbl_80088648
/* 80088640 00085580  7F DF F3 78 */	mr r31, r30
/* 80088644 00085584  48 00 00 08 */	b lbl_8008864C
lbl_80088648:
/* 80088648 00085588  3B E1 00 08 */	addi r31, r1, 8
lbl_8008864C:
/* 8008864C 0008558C  38 9F 00 00 */	addi r4, r31, 0
/* 80088650 00085590  38 A0 00 02 */	li r5, 2
/* 80088654 00085594  4B FF FC F1 */	bl TRKReadBuffer
/* 80088658 00085598  3C 80 80 3F */	lis r4, gTRKBigEndian@ha
/* 8008865C 0008559C  80 04 91 08 */	lwz r0, gTRKBigEndian@l(r4)
/* 80088660 000855A0  2C 00 00 00 */	cmpwi r0, 0
/* 80088664 000855A4  40 82 00 1C */	bne lbl_80088680
/* 80088668 000855A8  2C 03 00 00 */	cmpwi r3, 0
/* 8008866C 000855AC  40 82 00 14 */	bne lbl_80088680
/* 80088670 000855B0  88 1F 00 01 */	lbz r0, 1(r31)
/* 80088674 000855B4  98 1E 00 00 */	stb r0, 0(r30)
/* 80088678 000855B8  88 1F 00 00 */	lbz r0, 0(r31)
/* 8008867C 000855BC  98 1E 00 01 */	stb r0, 1(r30)
lbl_80088680:
/* 80088680 000855C0  83 E1 00 14 */	lwz r31, 0x14(r1)
/* 80088684 000855C4  83 C1 00 10 */	lwz r30, 0x10(r1)
/* 80088688 000855C8  38 21 00 18 */	addi r1, r1, 0x18
/* 8008868C 000855CC  80 01 00 04 */	lwz r0, 4(r1)
/* 80088690 000855D0  7C 08 03 A6 */	mtlr r0
/* 80088694 000855D4  4E 80 00 20 */	blr 

.global TRKReadBuffer1_ui32
TRKReadBuffer1_ui32:
/* 80088698 000855D8  7C 08 02 A6 */	mflr r0
/* 8008869C 000855DC  3C A0 80 3F */	lis r5, gTRKBigEndian@ha
/* 800886A0 000855E0  90 01 00 04 */	stw r0, 4(r1)
/* 800886A4 000855E4  94 21 FF E8 */	stwu r1, -0x18(r1)
/* 800886A8 000855E8  93 E1 00 14 */	stw r31, 0x14(r1)
/* 800886AC 000855EC  93 C1 00 10 */	stw r30, 0x10(r1)
/* 800886B0 000855F0  3B C4 00 00 */	addi r30, r4, 0
/* 800886B4 000855F4  80 05 91 08 */	lwz r0, gTRKBigEndian@l(r5)
/* 800886B8 000855F8  2C 00 00 00 */	cmpwi r0, 0
/* 800886BC 000855FC  41 82 00 0C */	beq lbl_800886C8
/* 800886C0 00085600  7F DF F3 78 */	mr r31, r30
/* 800886C4 00085604  48 00 00 08 */	b lbl_800886CC
lbl_800886C8:
/* 800886C8 00085608  3B E1 00 08 */	addi r31, r1, 8
lbl_800886CC:
/* 800886CC 0008560C  38 9F 00 00 */	addi r4, r31, 0
/* 800886D0 00085610  38 A0 00 04 */	li r5, 4
/* 800886D4 00085614  4B FF FC 71 */	bl TRKReadBuffer
/* 800886D8 00085618  3C 80 80 3F */	lis r4, gTRKBigEndian@ha
/* 800886DC 0008561C  80 04 91 08 */	lwz r0, gTRKBigEndian@l(r4)
/* 800886E0 00085620  2C 00 00 00 */	cmpwi r0, 0
/* 800886E4 00085624  40 82 00 2C */	bne lbl_80088710
/* 800886E8 00085628  2C 03 00 00 */	cmpwi r3, 0
/* 800886EC 0008562C  40 82 00 24 */	bne lbl_80088710
/* 800886F0 00085630  88 1F 00 03 */	lbz r0, 3(r31)
/* 800886F4 00085634  98 1E 00 00 */	stb r0, 0(r30)
/* 800886F8 00085638  88 1F 00 02 */	lbz r0, 2(r31)
/* 800886FC 0008563C  98 1E 00 01 */	stb r0, 1(r30)
/* 80088700 00085640  88 1F 00 01 */	lbz r0, 1(r31)
/* 80088704 00085644  98 1E 00 02 */	stb r0, 2(r30)
/* 80088708 00085648  88 1F 00 00 */	lbz r0, 0(r31)
/* 8008870C 0008564C  98 1E 00 03 */	stb r0, 3(r30)
lbl_80088710:
/* 80088710 00085650  83 E1 00 14 */	lwz r31, 0x14(r1)
/* 80088714 00085654  83 C1 00 10 */	lwz r30, 0x10(r1)
/* 80088718 00085658  38 21 00 18 */	addi r1, r1, 0x18
/* 8008871C 0008565C  80 01 00 04 */	lwz r0, 4(r1)
/* 80088720 00085660  7C 08 03 A6 */	mtlr r0
/* 80088724 00085664  4E 80 00 20 */	blr 

.global TRKReadBuffer1_ui64
TRKReadBuffer1_ui64:
/* 80088728 00085668  7C 08 02 A6 */	mflr r0
/* 8008872C 0008566C  3C A0 80 3F */	lis r5, gTRKBigEndian@ha
/* 80088730 00085670  90 01 00 04 */	stw r0, 4(r1)
/* 80088734 00085674  94 21 FF E8 */	stwu r1, -0x18(r1)
/* 80088738 00085678  93 E1 00 14 */	stw r31, 0x14(r1)
/* 8008873C 0008567C  93 C1 00 10 */	stw r30, 0x10(r1)
/* 80088740 00085680  3B C4 00 00 */	addi r30, r4, 0
/* 80088744 00085684  80 05 91 08 */	lwz r0, gTRKBigEndian@l(r5)
/* 80088748 00085688  2C 00 00 00 */	cmpwi r0, 0
/* 8008874C 0008568C  41 82 00 0C */	beq lbl_80088758
/* 80088750 00085690  7F DF F3 78 */	mr r31, r30
/* 80088754 00085694  48 00 00 08 */	b lbl_8008875C
lbl_80088758:
/* 80088758 00085698  3B E1 00 08 */	addi r31, r1, 8
lbl_8008875C:
/* 8008875C 0008569C  38 9F 00 00 */	addi r4, r31, 0
/* 80088760 000856A0  38 A0 00 08 */	li r5, 8
/* 80088764 000856A4  4B FF FB E1 */	bl TRKReadBuffer
/* 80088768 000856A8  3C 80 80 3F */	lis r4, gTRKBigEndian@ha
/* 8008876C 000856AC  80 04 91 08 */	lwz r0, gTRKBigEndian@l(r4)
/* 80088770 000856B0  2C 00 00 00 */	cmpwi r0, 0
/* 80088774 000856B4  40 82 00 4C */	bne lbl_800887C0
/* 80088778 000856B8  2C 03 00 00 */	cmpwi r3, 0
/* 8008877C 000856BC  40 82 00 44 */	bne lbl_800887C0
/* 80088780 000856C0  88 1F 00 07 */	lbz r0, 7(r31)
/* 80088784 000856C4  98 1E 00 00 */	stb r0, 0(r30)
/* 80088788 000856C8  88 1F 00 06 */	lbz r0, 6(r31)
/* 8008878C 000856CC  98 1E 00 01 */	stb r0, 1(r30)
/* 80088790 000856D0  88 1F 00 05 */	lbz r0, 5(r31)
/* 80088794 000856D4  98 1E 00 02 */	stb r0, 2(r30)
/* 80088798 000856D8  88 1F 00 04 */	lbz r0, 4(r31)
/* 8008879C 000856DC  98 1E 00 03 */	stb r0, 3(r30)
/* 800887A0 000856E0  88 1F 00 03 */	lbz r0, 3(r31)
/* 800887A4 000856E4  98 1E 00 04 */	stb r0, 4(r30)
/* 800887A8 000856E8  88 1F 00 02 */	lbz r0, 2(r31)
/* 800887AC 000856EC  98 1E 00 05 */	stb r0, 5(r30)
/* 800887B0 000856F0  88 1F 00 01 */	lbz r0, 1(r31)
/* 800887B4 000856F4  98 1E 00 06 */	stb r0, 6(r30)
/* 800887B8 000856F8  88 1F 00 00 */	lbz r0, 0(r31)
/* 800887BC 000856FC  98 1E 00 07 */	stb r0, 7(r30)
lbl_800887C0:
/* 800887C0 00085700  83 E1 00 14 */	lwz r31, 0x14(r1)
/* 800887C4 00085704  83 C1 00 10 */	lwz r30, 0x10(r1)
/* 800887C8 00085708  38 21 00 18 */	addi r1, r1, 0x18
/* 800887CC 0008570C  80 01 00 04 */	lwz r0, 4(r1)
/* 800887D0 00085710  7C 08 03 A6 */	mtlr r0
/* 800887D4 00085714  4E 80 00 20 */	blr 

.global TRKReadBuffer_ui8
TRKReadBuffer_ui8:
/* 800887D8 00085718  7C 08 02 A6 */	mflr r0
/* 800887DC 0008571C  90 01 00 04 */	stw r0, 4(r1)
/* 800887E0 00085720  94 21 FF E8 */	stwu r1, -0x18(r1)
/* 800887E4 00085724  93 E1 00 14 */	stw r31, 0x14(r1)
/* 800887E8 00085728  3B E0 00 00 */	li r31, 0
/* 800887EC 0008572C  93 C1 00 10 */	stw r30, 0x10(r1)
/* 800887F0 00085730  3B C5 00 00 */	addi r30, r5, 0
/* 800887F4 00085734  93 A1 00 0C */	stw r29, 0xc(r1)
/* 800887F8 00085738  3B A4 00 00 */	addi r29, r4, 0
/* 800887FC 0008573C  93 81 00 08 */	stw r28, 8(r1)
/* 80088800 00085740  3B 83 00 00 */	addi r28, r3, 0
/* 80088804 00085744  38 60 00 00 */	li r3, 0
/* 80088808 00085748  48 00 00 14 */	b lbl_8008881C
lbl_8008880C:
/* 8008880C 0008574C  38 7C 00 00 */	addi r3, r28, 0
/* 80088810 00085750  7C 9D FA 14 */	add r4, r29, r31
/* 80088814 00085754  4B FF FD E1 */	bl TRKReadBuffer1_ui8
/* 80088818 00085758  3B FF 00 01 */	addi r31, r31, 1
lbl_8008881C:
/* 8008881C 0008575C  2C 03 00 00 */	cmpwi r3, 0
/* 80088820 00085760  40 82 00 0C */	bne lbl_8008882C
/* 80088824 00085764  7C 1F F0 00 */	cmpw r31, r30
/* 80088828 00085768  41 80 FF E4 */	blt lbl_8008880C
lbl_8008882C:
/* 8008882C 0008576C  83 E1 00 14 */	lwz r31, 0x14(r1)
/* 80088830 00085770  83 C1 00 10 */	lwz r30, 0x10(r1)
/* 80088834 00085774  83 A1 00 0C */	lwz r29, 0xc(r1)
/* 80088838 00085778  83 81 00 08 */	lwz r28, 8(r1)
/* 8008883C 0008577C  38 21 00 18 */	addi r1, r1, 0x18
/* 80088840 00085780  80 01 00 04 */	lwz r0, 4(r1)
/* 80088844 00085784  7C 08 03 A6 */	mtlr r0
/* 80088848 00085788  4E 80 00 20 */	blr 

.global TRKReadBuffer_ui32
TRKReadBuffer_ui32:
/* 8008884C 0008578C  7C 08 02 A6 */	mflr r0
/* 80088850 00085790  90 01 00 04 */	stw r0, 4(r1)
/* 80088854 00085794  94 21 FF E8 */	stwu r1, -0x18(r1)
/* 80088858 00085798  93 E1 00 14 */	stw r31, 0x14(r1)
/* 8008885C 0008579C  93 C1 00 10 */	stw r30, 0x10(r1)
/* 80088860 000857A0  3B C0 00 00 */	li r30, 0
/* 80088864 000857A4  57 C0 10 3A */	slwi r0, r30, 2
/* 80088868 000857A8  93 A1 00 0C */	stw r29, 0xc(r1)
/* 8008886C 000857AC  7F E4 02 14 */	add r31, r4, r0
/* 80088870 000857B0  3B A5 00 00 */	addi r29, r5, 0
/* 80088874 000857B4  93 81 00 08 */	stw r28, 8(r1)
/* 80088878 000857B8  3B 83 00 00 */	addi r28, r3, 0
/* 8008887C 000857BC  38 60 00 00 */	li r3, 0
/* 80088880 000857C0  48 00 00 18 */	b lbl_80088898
lbl_80088884:
/* 80088884 000857C4  38 7C 00 00 */	addi r3, r28, 0
/* 80088888 000857C8  38 9F 00 00 */	addi r4, r31, 0
/* 8008888C 000857CC  4B FF FE 0D */	bl TRKReadBuffer1_ui32
/* 80088890 000857D0  3B DE 00 01 */	addi r30, r30, 1
/* 80088894 000857D4  3B FF 00 04 */	addi r31, r31, 4
lbl_80088898:
/* 80088898 000857D8  2C 03 00 00 */	cmpwi r3, 0
/* 8008889C 000857DC  40 82 00 0C */	bne lbl_800888A8
/* 800888A0 000857E0  7C 1E E8 00 */	cmpw r30, r29
/* 800888A4 000857E4  41 80 FF E0 */	blt lbl_80088884
lbl_800888A8:
/* 800888A8 000857E8  83 E1 00 14 */	lwz r31, 0x14(r1)
/* 800888AC 000857EC  83 C1 00 10 */	lwz r30, 0x10(r1)
/* 800888B0 000857F0  83 A1 00 0C */	lwz r29, 0xc(r1)
/* 800888B4 000857F4  83 81 00 08 */	lwz r28, 8(r1)
/* 800888B8 000857F8  38 21 00 18 */	addi r1, r1, 0x18
/* 800888BC 000857FC  80 01 00 04 */	lwz r0, 4(r1)
/* 800888C0 00085800  7C 08 03 A6 */	mtlr r0
/* 800888C4 00085804  4E 80 00 20 */	blr 

.section .bss, "wa"  # 0x803E6000 - 0x80408AC0
.global gTRKMsgBufs
gTRKMsgBufs:
	.skip 0x19B0