summaryrefslogtreecommitdiff
path: root/asm/SDK/DSP/dsp_task.s
blob: 1db1f3fc5a9ce14d5a712b569be0d0aa13f59496 (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
.include "macros.inc"

.section .text, "ax"  # 0x80006980 - 0x803E1E60

.global __DSPHandler
__DSPHandler:
/* 8029B084 00296CE4  94 21 FD 20 */	stwu r1, -0x2e0(r1)
/* 8029B088 00296CE8  7C 08 02 A6 */	mflr r0
/* 8029B08C 00296CEC  3C C0 CC 00 */	lis r6, 0xCC00500A@ha
/* 8029B090 00296CF0  90 01 02 E4 */	stw r0, 0x2e4(r1)
/* 8029B094 00296CF4  38 00 FF D7 */	li r0, -41
/* 8029B098 00296CF8  38 61 00 08 */	addi r3, r1, 8
/* 8029B09C 00296CFC  93 E1 02 DC */	stw r31, 0x2dc(r1)
/* 8029B0A0 00296D00  7C 9F 23 78 */	mr r31, r4
/* 8029B0A4 00296D04  A0 A6 50 0A */	lhz r5, 0xCC00500A@l(r6)
/* 8029B0A8 00296D08  7C A0 00 38 */	and r0, r5, r0
/* 8029B0AC 00296D0C  60 00 00 80 */	ori r0, r0, 0x80
/* 8029B0B0 00296D10  B0 06 50 0A */	sth r0, 0x500a(r6)
/* 8029B0B4 00296D14  4B FC FF DD */	bl OSClearContext
/* 8029B0B8 00296D18  38 61 00 08 */	addi r3, r1, 8
/* 8029B0BC 00296D1C  4B FC FD AD */	bl OSSetCurrentContext
lbl_8029B0C0:
/* 8029B0C0 00296D20  4B FF FD 49 */	bl DSPCheckMailFromDSP
/* 8029B0C4 00296D24  2C 03 00 00 */	cmpwi r3, 0
/* 8029B0C8 00296D28  41 82 FF F8 */	beq lbl_8029B0C0
/* 8029B0CC 00296D2C  4B FF FD 4D */	bl DSPReadMailFromDSP
/* 8029B0D0 00296D30  80 AD AC 84 */	lwz r5, lbl_8063FF44-_SDA_BASE_(r13)
/* 8029B0D4 00296D34  80 05 00 08 */	lwz r0, 8(r5)
/* 8029B0D8 00296D38  54 00 07 BD */	rlwinm. r0, r0, 0, 0x1e, 0x1e
/* 8029B0DC 00296D3C  41 82 00 18 */	beq lbl_8029B0F4
/* 8029B0E0 00296D40  3C 03 23 2F */	addis r0, r3, 0x232f
/* 8029B0E4 00296D44  28 00 00 02 */	cmplwi r0, 2
/* 8029B0E8 00296D48  40 82 00 0C */	bne lbl_8029B0F4
/* 8029B0EC 00296D4C  3C 60 DC D1 */	lis r3, 0xDCD10003@ha
/* 8029B0F0 00296D50  38 63 00 03 */	addi r3, r3, 0xDCD10003@l
lbl_8029B0F4:
/* 8029B0F4 00296D54  3C 80 DC D1 */	lis r4, 0xDCD10002@ha
/* 8029B0F8 00296D58  38 04 00 02 */	addi r0, r4, 0xDCD10002@l
/* 8029B0FC 00296D5C  7C 03 00 00 */	cmpw r3, r0
/* 8029B100 00296D60  41 82 00 74 */	beq lbl_8029B174
/* 8029B104 00296D64  40 80 00 14 */	bge lbl_8029B118
/* 8029B108 00296D68  7C 03 20 00 */	cmpw r3, r4
/* 8029B10C 00296D6C  41 82 00 20 */	beq lbl_8029B12C
/* 8029B110 00296D70  40 80 00 40 */	bge lbl_8029B150
/* 8029B114 00296D74  48 00 03 80 */	b lbl_8029B494
lbl_8029B118:
/* 8029B118 00296D78  38 04 00 04 */	addi r0, r4, 4
/* 8029B11C 00296D7C  7C 03 00 00 */	cmpw r3, r0
/* 8029B120 00296D80  41 82 03 5C */	beq lbl_8029B47C
/* 8029B124 00296D84  40 80 03 70 */	bge lbl_8029B494
/* 8029B128 00296D88  48 00 01 B4 */	b lbl_8029B2DC
lbl_8029B12C:
/* 8029B12C 00296D8C  38 00 00 01 */	li r0, 1
/* 8029B130 00296D90  90 05 00 00 */	stw r0, 0(r5)
/* 8029B134 00296D94  80 6D AC 84 */	lwz r3, lbl_8063FF44-_SDA_BASE_(r13)
/* 8029B138 00296D98  81 83 00 28 */	lwz r12, 0x28(r3)
/* 8029B13C 00296D9C  2C 0C 00 00 */	cmpwi r12, 0
/* 8029B140 00296DA0  41 82 03 54 */	beq lbl_8029B494
/* 8029B144 00296DA4  7D 89 03 A6 */	mtctr r12
/* 8029B148 00296DA8  4E 80 04 21 */	bctrl
/* 8029B14C 00296DAC  48 00 03 48 */	b lbl_8029B494
lbl_8029B150:
/* 8029B150 00296DB0  38 00 00 01 */	li r0, 1
/* 8029B154 00296DB4  90 05 00 00 */	stw r0, 0(r5)
/* 8029B158 00296DB8  80 6D AC 84 */	lwz r3, lbl_8063FF44-_SDA_BASE_(r13)
/* 8029B15C 00296DBC  81 83 00 2C */	lwz r12, 0x2c(r3)
/* 8029B160 00296DC0  2C 0C 00 00 */	cmpwi r12, 0
/* 8029B164 00296DC4  41 82 03 30 */	beq lbl_8029B494
/* 8029B168 00296DC8  7D 89 03 A6 */	mtctr r12
/* 8029B16C 00296DCC  4E 80 04 21 */	bctrl
/* 8029B170 00296DD0  48 00 03 24 */	b lbl_8029B494
lbl_8029B174:
/* 8029B174 00296DD4  80 0D AC 70 */	lwz r0, lbl_8063FF30-_SDA_BASE_(r13)
/* 8029B178 00296DD8  2C 00 00 00 */	cmpwi r0, 0
/* 8029B17C 00296DDC  41 82 00 98 */	beq lbl_8029B214
/* 8029B180 00296DE0  80 0D AC 74 */	lwz r0, lbl_8063FF34-_SDA_BASE_(r13)
/* 8029B184 00296DE4  7C 05 00 40 */	cmplw r5, r0
/* 8029B188 00296DE8  40 82 00 44 */	bne lbl_8029B1CC
/* 8029B18C 00296DEC  3C 60 CD D1 */	lis r3, 0xCDD10003@ha
/* 8029B190 00296DF0  38 63 00 03 */	addi r3, r3, 0xCDD10003@l
/* 8029B194 00296DF4  4B FF FC 99 */	bl DSPSendMailToDSP
lbl_8029B198:
/* 8029B198 00296DF8  4B FF FC 61 */	bl DSPCheckMailToDSP
/* 8029B19C 00296DFC  2C 03 00 00 */	cmpwi r3, 0
/* 8029B1A0 00296E00  40 82 FF F8 */	bne lbl_8029B198
/* 8029B1A4 00296E04  38 00 00 00 */	li r0, 0
/* 8029B1A8 00296E08  80 6D AC 84 */	lwz r3, lbl_8063FF44-_SDA_BASE_(r13)
/* 8029B1AC 00296E0C  90 0D AC 74 */	stw r0, lbl_8063FF34-_SDA_BASE_(r13)
/* 8029B1B0 00296E10  90 0D AC 70 */	stw r0, lbl_8063FF30-_SDA_BASE_(r13)
/* 8029B1B4 00296E14  81 83 00 2C */	lwz r12, 0x2c(r3)
/* 8029B1B8 00296E18  2C 0C 00 00 */	cmpwi r12, 0
/* 8029B1BC 00296E1C  41 82 02 D8 */	beq lbl_8029B494
/* 8029B1C0 00296E20  7D 89 03 A6 */	mtctr r12
/* 8029B1C4 00296E24  4E 80 04 21 */	bctrl
/* 8029B1C8 00296E28  48 00 02 CC */	b lbl_8029B494
lbl_8029B1CC:
/* 8029B1CC 00296E2C  3C 60 CD D1 */	lis r3, 0xCDD10001@ha
/* 8029B1D0 00296E30  38 63 00 01 */	addi r3, r3, 0xCDD10001@l
/* 8029B1D4 00296E34  4B FF FC 59 */	bl DSPSendMailToDSP
lbl_8029B1D8:
/* 8029B1D8 00296E38  4B FF FC 21 */	bl DSPCheckMailToDSP
/* 8029B1DC 00296E3C  2C 03 00 00 */	cmpwi r3, 0
/* 8029B1E0 00296E40  40 82 FF F8 */	bne lbl_8029B1D8
/* 8029B1E4 00296E44  80 6D AC 84 */	lwz r3, lbl_8063FF44-_SDA_BASE_(r13)
/* 8029B1E8 00296E48  80 8D AC 74 */	lwz r4, lbl_8063FF34-_SDA_BASE_(r13)
/* 8029B1EC 00296E4C  48 00 02 CD */	bl __DSP_exec_task
/* 8029B1F0 00296E50  80 6D AC 84 */	lwz r3, lbl_8063FF44-_SDA_BASE_(r13)
/* 8029B1F4 00296E54  38 80 00 02 */	li r4, 2
/* 8029B1F8 00296E58  38 00 00 00 */	li r0, 0
/* 8029B1FC 00296E5C  90 83 00 00 */	stw r4, 0(r3)
/* 8029B200 00296E60  80 6D AC 74 */	lwz r3, lbl_8063FF34-_SDA_BASE_(r13)
/* 8029B204 00296E64  90 0D AC 70 */	stw r0, lbl_8063FF30-_SDA_BASE_(r13)
/* 8029B208 00296E68  90 6D AC 84 */	stw r3, lbl_8063FF44-_SDA_BASE_(r13)
/* 8029B20C 00296E6C  90 0D AC 74 */	stw r0, lbl_8063FF34-_SDA_BASE_(r13)
/* 8029B210 00296E70  48 00 02 84 */	b lbl_8029B494
lbl_8029B214:
/* 8029B214 00296E74  80 05 00 38 */	lwz r0, 0x38(r5)
/* 8029B218 00296E78  2C 00 00 00 */	cmpwi r0, 0
/* 8029B21C 00296E7C  40 82 00 80 */	bne lbl_8029B29C
/* 8029B220 00296E80  80 0D AC 80 */	lwz r0, lbl_8063FF40-_SDA_BASE_(r13)
/* 8029B224 00296E84  7C 05 00 40 */	cmplw r5, r0
/* 8029B228 00296E88  40 82 00 38 */	bne lbl_8029B260
/* 8029B22C 00296E8C  3C 60 CD D1 */	lis r3, 0xCDD10003@ha
/* 8029B230 00296E90  38 63 00 03 */	addi r3, r3, 0xCDD10003@l
/* 8029B234 00296E94  4B FF FB F9 */	bl DSPSendMailToDSP
lbl_8029B238:
/* 8029B238 00296E98  4B FF FB C1 */	bl DSPCheckMailToDSP
/* 8029B23C 00296E9C  2C 03 00 00 */	cmpwi r3, 0
/* 8029B240 00296EA0  40 82 FF F8 */	bne lbl_8029B238
/* 8029B244 00296EA4  80 6D AC 84 */	lwz r3, lbl_8063FF44-_SDA_BASE_(r13)
/* 8029B248 00296EA8  81 83 00 2C */	lwz r12, 0x2c(r3)
/* 8029B24C 00296EAC  2C 0C 00 00 */	cmpwi r12, 0
/* 8029B250 00296EB0  41 82 02 44 */	beq lbl_8029B494
/* 8029B254 00296EB4  7D 89 03 A6 */	mtctr r12
/* 8029B258 00296EB8  4E 80 04 21 */	bctrl
/* 8029B25C 00296EBC  48 00 02 38 */	b lbl_8029B494
lbl_8029B260:
/* 8029B260 00296EC0  3C 60 CD D1 */	lis r3, 0xCDD10001@ha
/* 8029B264 00296EC4  38 63 00 01 */	addi r3, r3, 0xCDD10001@l
/* 8029B268 00296EC8  4B FF FB C5 */	bl DSPSendMailToDSP
lbl_8029B26C:
/* 8029B26C 00296ECC  4B FF FB 8D */	bl DSPCheckMailToDSP
/* 8029B270 00296ED0  2C 03 00 00 */	cmpwi r3, 0
/* 8029B274 00296ED4  40 82 FF F8 */	bne lbl_8029B26C
/* 8029B278 00296ED8  80 6D AC 84 */	lwz r3, lbl_8063FF44-_SDA_BASE_(r13)
/* 8029B27C 00296EDC  80 8D AC 80 */	lwz r4, lbl_8063FF40-_SDA_BASE_(r13)
/* 8029B280 00296EE0  48 00 02 39 */	bl __DSP_exec_task
/* 8029B284 00296EE4  80 6D AC 84 */	lwz r3, lbl_8063FF44-_SDA_BASE_(r13)
/* 8029B288 00296EE8  38 00 00 02 */	li r0, 2
/* 8029B28C 00296EEC  90 03 00 00 */	stw r0, 0(r3)
/* 8029B290 00296EF0  80 0D AC 80 */	lwz r0, lbl_8063FF40-_SDA_BASE_(r13)
/* 8029B294 00296EF4  90 0D AC 84 */	stw r0, lbl_8063FF44-_SDA_BASE_(r13)
/* 8029B298 00296EF8  48 00 01 FC */	b lbl_8029B494
lbl_8029B29C:
/* 8029B29C 00296EFC  3C 60 CD D1 */	lis r3, 0xCDD10001@ha
/* 8029B2A0 00296F00  38 63 00 01 */	addi r3, r3, 0xCDD10001@l
/* 8029B2A4 00296F04  4B FF FB 89 */	bl DSPSendMailToDSP
lbl_8029B2A8:
/* 8029B2A8 00296F08  4B FF FB 51 */	bl DSPCheckMailToDSP
/* 8029B2AC 00296F0C  2C 03 00 00 */	cmpwi r3, 0
/* 8029B2B0 00296F10  40 82 FF F8 */	bne lbl_8029B2A8
/* 8029B2B4 00296F14  80 6D AC 84 */	lwz r3, lbl_8063FF44-_SDA_BASE_(r13)
/* 8029B2B8 00296F18  80 83 00 38 */	lwz r4, 0x38(r3)
/* 8029B2BC 00296F1C  48 00 01 FD */	bl __DSP_exec_task
/* 8029B2C0 00296F20  80 6D AC 84 */	lwz r3, lbl_8063FF44-_SDA_BASE_(r13)
/* 8029B2C4 00296F24  38 00 00 02 */	li r0, 2
/* 8029B2C8 00296F28  90 03 00 00 */	stw r0, 0(r3)
/* 8029B2CC 00296F2C  80 6D AC 84 */	lwz r3, lbl_8063FF44-_SDA_BASE_(r13)
/* 8029B2D0 00296F30  80 03 00 38 */	lwz r0, 0x38(r3)
/* 8029B2D4 00296F34  90 0D AC 84 */	stw r0, lbl_8063FF44-_SDA_BASE_(r13)
/* 8029B2D8 00296F38  48 00 01 BC */	b lbl_8029B494
lbl_8029B2DC:
/* 8029B2DC 00296F3C  80 0D AC 70 */	lwz r0, lbl_8063FF30-_SDA_BASE_(r13)
/* 8029B2E0 00296F40  2C 00 00 00 */	cmpwi r0, 0
/* 8029B2E4 00296F44  41 82 00 78 */	beq lbl_8029B35C
/* 8029B2E8 00296F48  80 0D AC 74 */	lwz r0, lbl_8063FF34-_SDA_BASE_(r13)
/* 8029B2EC 00296F4C  7C 05 00 40 */	cmplw r5, r0
/* 8029B2F0 00296F50  41 82 00 60 */	beq lbl_8029B350
/* 8029B2F4 00296F54  81 85 00 30 */	lwz r12, 0x30(r5)
/* 8029B2F8 00296F58  2C 0C 00 00 */	cmpwi r12, 0
/* 8029B2FC 00296F5C  41 82 00 10 */	beq lbl_8029B30C
/* 8029B300 00296F60  7C A3 2B 78 */	mr r3, r5
/* 8029B304 00296F64  7D 89 03 A6 */	mtctr r12
/* 8029B308 00296F68  4E 80 04 21 */	bctrl
lbl_8029B30C:
/* 8029B30C 00296F6C  3C 60 CD D1 */	lis r3, 0xCDD10001@ha
/* 8029B310 00296F70  38 63 00 01 */	addi r3, r3, 0xCDD10001@l
/* 8029B314 00296F74  4B FF FB 19 */	bl DSPSendMailToDSP
lbl_8029B318:
/* 8029B318 00296F78  4B FF FA E1 */	bl DSPCheckMailToDSP
/* 8029B31C 00296F7C  2C 03 00 00 */	cmpwi r3, 0
/* 8029B320 00296F80  40 82 FF F8 */	bne lbl_8029B318
/* 8029B324 00296F84  80 8D AC 74 */	lwz r4, lbl_8063FF34-_SDA_BASE_(r13)
/* 8029B328 00296F88  38 60 00 00 */	li r3, 0
/* 8029B32C 00296F8C  48 00 01 8D */	bl __DSP_exec_task
/* 8029B330 00296F90  80 6D AC 84 */	lwz r3, lbl_8063FF44-_SDA_BASE_(r13)
/* 8029B334 00296F94  48 00 05 51 */	bl __DSP_remove_task
/* 8029B338 00296F98  80 6D AC 74 */	lwz r3, lbl_8063FF34-_SDA_BASE_(r13)
/* 8029B33C 00296F9C  38 00 00 00 */	li r0, 0
/* 8029B340 00296FA0  90 0D AC 70 */	stw r0, lbl_8063FF30-_SDA_BASE_(r13)
/* 8029B344 00296FA4  90 6D AC 84 */	stw r3, lbl_8063FF44-_SDA_BASE_(r13)
/* 8029B348 00296FA8  90 0D AC 74 */	stw r0, lbl_8063FF34-_SDA_BASE_(r13)
/* 8029B34C 00296FAC  48 00 01 48 */	b lbl_8029B494
lbl_8029B350:
/* 8029B350 00296FB0  38 00 00 00 */	li r0, 0
/* 8029B354 00296FB4  90 0D AC 74 */	stw r0, lbl_8063FF34-_SDA_BASE_(r13)
/* 8029B358 00296FB8  90 0D AC 70 */	stw r0, lbl_8063FF30-_SDA_BASE_(r13)
lbl_8029B35C:
/* 8029B35C 00296FBC  80 05 00 38 */	lwz r0, 0x38(r5)
/* 8029B360 00296FC0  2C 00 00 00 */	cmpwi r0, 0
/* 8029B364 00296FC4  40 82 00 B4 */	bne lbl_8029B418
/* 8029B368 00296FC8  80 0D AC 80 */	lwz r0, lbl_8063FF40-_SDA_BASE_(r13)
/* 8029B36C 00296FCC  7C 05 00 40 */	cmplw r5, r0
/* 8029B370 00296FD0  40 82 00 4C */	bne lbl_8029B3BC
/* 8029B374 00296FD4  81 85 00 30 */	lwz r12, 0x30(r5)
/* 8029B378 00296FD8  2C 0C 00 00 */	cmpwi r12, 0
/* 8029B37C 00296FDC  41 82 00 10 */	beq lbl_8029B38C
/* 8029B380 00296FE0  7C A3 2B 78 */	mr r3, r5
/* 8029B384 00296FE4  7D 89 03 A6 */	mtctr r12
/* 8029B388 00296FE8  4E 80 04 21 */	bctrl
lbl_8029B38C:
/* 8029B38C 00296FEC  3C 60 CD D1 */	lis r3, 0xCDD10002@ha
/* 8029B390 00296FF0  38 63 00 02 */	addi r3, r3, 0xCDD10002@l
/* 8029B394 00296FF4  4B FF FA 99 */	bl DSPSendMailToDSP
lbl_8029B398:
/* 8029B398 00296FF8  4B FF FA 61 */	bl DSPCheckMailToDSP
/* 8029B39C 00296FFC  2C 03 00 00 */	cmpwi r3, 0
/* 8029B3A0 00297000  40 82 FF F8 */	bne lbl_8029B398
/* 8029B3A4 00297004  80 6D AC 84 */	lwz r3, lbl_8063FF44-_SDA_BASE_(r13)
/* 8029B3A8 00297008  38 00 00 03 */	li r0, 3
/* 8029B3AC 0029700C  90 03 00 00 */	stw r0, 0(r3)
/* 8029B3B0 00297010  80 6D AC 84 */	lwz r3, lbl_8063FF44-_SDA_BASE_(r13)
/* 8029B3B4 00297014  48 00 04 D1 */	bl __DSP_remove_task
/* 8029B3B8 00297018  48 00 00 DC */	b lbl_8029B494
lbl_8029B3BC:
/* 8029B3BC 0029701C  81 85 00 30 */	lwz r12, 0x30(r5)
/* 8029B3C0 00297020  2C 0C 00 00 */	cmpwi r12, 0
/* 8029B3C4 00297024  41 82 00 10 */	beq lbl_8029B3D4
/* 8029B3C8 00297028  7C A3 2B 78 */	mr r3, r5
/* 8029B3CC 0029702C  7D 89 03 A6 */	mtctr r12
/* 8029B3D0 00297030  4E 80 04 21 */	bctrl
lbl_8029B3D4:
/* 8029B3D4 00297034  3C 60 CD D1 */	lis r3, 0xCDD10001@ha
/* 8029B3D8 00297038  38 63 00 01 */	addi r3, r3, 0xCDD10001@l
/* 8029B3DC 0029703C  4B FF FA 51 */	bl DSPSendMailToDSP
lbl_8029B3E0:
/* 8029B3E0 00297040  4B FF FA 19 */	bl DSPCheckMailToDSP
/* 8029B3E4 00297044  2C 03 00 00 */	cmpwi r3, 0
/* 8029B3E8 00297048  40 82 FF F8 */	bne lbl_8029B3E0
/* 8029B3EC 0029704C  80 8D AC 84 */	lwz r4, lbl_8063FF44-_SDA_BASE_(r13)
/* 8029B3F0 00297050  38 00 00 03 */	li r0, 3
/* 8029B3F4 00297054  38 60 00 00 */	li r3, 0
/* 8029B3F8 00297058  90 04 00 00 */	stw r0, 0(r4)
/* 8029B3FC 0029705C  80 8D AC 80 */	lwz r4, lbl_8063FF40-_SDA_BASE_(r13)
/* 8029B400 00297060  48 00 00 B9 */	bl __DSP_exec_task
/* 8029B404 00297064  80 0D AC 80 */	lwz r0, lbl_8063FF40-_SDA_BASE_(r13)
/* 8029B408 00297068  80 6D AC 7C */	lwz r3, lbl_8063FF3C-_SDA_BASE_(r13)
/* 8029B40C 0029706C  90 0D AC 84 */	stw r0, lbl_8063FF44-_SDA_BASE_(r13)
/* 8029B410 00297070  48 00 04 75 */	bl __DSP_remove_task
/* 8029B414 00297074  48 00 00 80 */	b lbl_8029B494
lbl_8029B418:
/* 8029B418 00297078  81 85 00 30 */	lwz r12, 0x30(r5)
/* 8029B41C 0029707C  2C 0C 00 00 */	cmpwi r12, 0
/* 8029B420 00297080  41 82 00 10 */	beq lbl_8029B430
/* 8029B424 00297084  7C A3 2B 78 */	mr r3, r5
/* 8029B428 00297088  7D 89 03 A6 */	mtctr r12
/* 8029B42C 0029708C  4E 80 04 21 */	bctrl
lbl_8029B430:
/* 8029B430 00297090  3C 60 CD D1 */	lis r3, 0xCDD10001@ha
/* 8029B434 00297094  38 63 00 01 */	addi r3, r3, 0xCDD10001@l
/* 8029B438 00297098  4B FF F9 F5 */	bl DSPSendMailToDSP
lbl_8029B43C:
/* 8029B43C 0029709C  4B FF F9 BD */	bl DSPCheckMailToDSP
/* 8029B440 002970A0  2C 03 00 00 */	cmpwi r3, 0
/* 8029B444 002970A4  40 82 FF F8 */	bne lbl_8029B43C
/* 8029B448 002970A8  80 8D AC 84 */	lwz r4, lbl_8063FF44-_SDA_BASE_(r13)
/* 8029B44C 002970AC  38 00 00 03 */	li r0, 3
/* 8029B450 002970B0  38 60 00 00 */	li r3, 0
/* 8029B454 002970B4  90 04 00 00 */	stw r0, 0(r4)
/* 8029B458 002970B8  80 8D AC 84 */	lwz r4, lbl_8063FF44-_SDA_BASE_(r13)
/* 8029B45C 002970BC  80 84 00 38 */	lwz r4, 0x38(r4)
/* 8029B460 002970C0  48 00 00 59 */	bl __DSP_exec_task
/* 8029B464 002970C4  80 6D AC 84 */	lwz r3, lbl_8063FF44-_SDA_BASE_(r13)
/* 8029B468 002970C8  80 63 00 38 */	lwz r3, 0x38(r3)
/* 8029B46C 002970CC  90 6D AC 84 */	stw r3, lbl_8063FF44-_SDA_BASE_(r13)
/* 8029B470 002970D0  80 63 00 3C */	lwz r3, 0x3c(r3)
/* 8029B474 002970D4  48 00 04 11 */	bl __DSP_remove_task
/* 8029B478 002970D8  48 00 00 1C */	b lbl_8029B494
lbl_8029B47C:
/* 8029B47C 002970DC  81 85 00 34 */	lwz r12, 0x34(r5)
/* 8029B480 002970E0  2C 0C 00 00 */	cmpwi r12, 0
/* 8029B484 002970E4  41 82 00 10 */	beq lbl_8029B494
/* 8029B488 002970E8  7C A3 2B 78 */	mr r3, r5
/* 8029B48C 002970EC  7D 89 03 A6 */	mtctr r12
/* 8029B490 002970F0  4E 80 04 21 */	bctrl
lbl_8029B494:
/* 8029B494 002970F4  38 61 00 08 */	addi r3, r1, 8
/* 8029B498 002970F8  4B FC FB F9 */	bl OSClearContext
/* 8029B49C 002970FC  7F E3 FB 78 */	mr r3, r31
/* 8029B4A0 00297100  4B FC F9 C9 */	bl OSSetCurrentContext
/* 8029B4A4 00297104  80 01 02 E4 */	lwz r0, 0x2e4(r1)
/* 8029B4A8 00297108  83 E1 02 DC */	lwz r31, 0x2dc(r1)
/* 8029B4AC 0029710C  7C 08 03 A6 */	mtlr r0
/* 8029B4B0 00297110  38 21 02 E0 */	addi r1, r1, 0x2e0
/* 8029B4B4 00297114  4E 80 00 20 */	blr

.global __DSP_exec_task
__DSP_exec_task:
/* 8029B4B8 00297118  94 21 FF F0 */	stwu r1, -0x10(r1)
/* 8029B4BC 0029711C  7C 08 02 A6 */	mflr r0
/* 8029B4C0 00297120  2C 03 00 00 */	cmpwi r3, 0
/* 8029B4C4 00297124  90 01 00 14 */	stw r0, 0x14(r1)
/* 8029B4C8 00297128  93 E1 00 0C */	stw r31, 0xc(r1)
/* 8029B4CC 0029712C  7C 9F 23 78 */	mr r31, r4
/* 8029B4D0 00297130  93 C1 00 08 */	stw r30, 8(r1)
/* 8029B4D4 00297134  7C 7E 1B 78 */	mr r30, r3
/* 8029B4D8 00297138  41 82 00 44 */	beq lbl_8029B51C
/* 8029B4DC 0029713C  80 63 00 18 */	lwz r3, 0x18(r3)
/* 8029B4E0 00297140  4B FF F9 4D */	bl DSPSendMailToDSP
lbl_8029B4E4:
/* 8029B4E4 00297144  4B FF F9 15 */	bl DSPCheckMailToDSP
/* 8029B4E8 00297148  2C 03 00 00 */	cmpwi r3, 0
/* 8029B4EC 0029714C  40 82 FF F8 */	bne lbl_8029B4E4
/* 8029B4F0 00297150  80 7E 00 1C */	lwz r3, 0x1c(r30)
/* 8029B4F4 00297154  4B FF F9 39 */	bl DSPSendMailToDSP
lbl_8029B4F8:
/* 8029B4F8 00297158  4B FF F9 01 */	bl DSPCheckMailToDSP
/* 8029B4FC 0029715C  2C 03 00 00 */	cmpwi r3, 0
/* 8029B500 00297160  40 82 FF F8 */	bne lbl_8029B4F8
/* 8029B504 00297164  80 7E 00 20 */	lwz r3, 0x20(r30)
/* 8029B508 00297168  4B FF F9 25 */	bl DSPSendMailToDSP
lbl_8029B50C:
/* 8029B50C 0029716C  4B FF F8 ED */	bl DSPCheckMailToDSP
/* 8029B510 00297170  2C 03 00 00 */	cmpwi r3, 0
/* 8029B514 00297174  40 82 FF F8 */	bne lbl_8029B50C
/* 8029B518 00297178  48 00 00 40 */	b lbl_8029B558
lbl_8029B51C:
/* 8029B51C 0029717C  38 60 00 00 */	li r3, 0
/* 8029B520 00297180  4B FF F9 0D */	bl DSPSendMailToDSP
lbl_8029B524:
/* 8029B524 00297184  4B FF F8 D5 */	bl DSPCheckMailToDSP
/* 8029B528 00297188  2C 03 00 00 */	cmpwi r3, 0
/* 8029B52C 0029718C  40 82 FF F8 */	bne lbl_8029B524
/* 8029B530 00297190  38 60 00 00 */	li r3, 0
/* 8029B534 00297194  4B FF F8 F9 */	bl DSPSendMailToDSP
lbl_8029B538:
/* 8029B538 00297198  4B FF F8 C1 */	bl DSPCheckMailToDSP
/* 8029B53C 0029719C  2C 03 00 00 */	cmpwi r3, 0
/* 8029B540 002971A0  40 82 FF F8 */	bne lbl_8029B538
/* 8029B544 002971A4  38 60 00 00 */	li r3, 0
/* 8029B548 002971A8  4B FF F8 E5 */	bl DSPSendMailToDSP
lbl_8029B54C:
/* 8029B54C 002971AC  4B FF F8 AD */	bl DSPCheckMailToDSP
/* 8029B550 002971B0  2C 03 00 00 */	cmpwi r3, 0
/* 8029B554 002971B4  40 82 FF F8 */	bne lbl_8029B54C
lbl_8029B558:
/* 8029B558 002971B8  80 7F 00 0C */	lwz r3, 0xc(r31)
/* 8029B55C 002971BC  4B FF F8 D1 */	bl DSPSendMailToDSP
lbl_8029B560:
/* 8029B560 002971C0  4B FF F8 99 */	bl DSPCheckMailToDSP
/* 8029B564 002971C4  2C 03 00 00 */	cmpwi r3, 0
/* 8029B568 002971C8  40 82 FF F8 */	bne lbl_8029B560
/* 8029B56C 002971CC  80 7F 00 10 */	lwz r3, 0x10(r31)
/* 8029B570 002971D0  4B FF F8 BD */	bl DSPSendMailToDSP
lbl_8029B574:
/* 8029B574 002971D4  4B FF F8 85 */	bl DSPCheckMailToDSP
/* 8029B578 002971D8  2C 03 00 00 */	cmpwi r3, 0
/* 8029B57C 002971DC  40 82 FF F8 */	bne lbl_8029B574
/* 8029B580 002971E0  80 7F 00 14 */	lwz r3, 0x14(r31)
/* 8029B584 002971E4  4B FF F8 A9 */	bl DSPSendMailToDSP
lbl_8029B588:
/* 8029B588 002971E8  4B FF F8 71 */	bl DSPCheckMailToDSP
/* 8029B58C 002971EC  2C 03 00 00 */	cmpwi r3, 0
/* 8029B590 002971F0  40 82 FF F8 */	bne lbl_8029B588
/* 8029B594 002971F4  80 1F 00 00 */	lwz r0, 0(r31)
/* 8029B598 002971F8  2C 00 00 00 */	cmpwi r0, 0
/* 8029B59C 002971FC  40 82 00 58 */	bne lbl_8029B5F4
/* 8029B5A0 00297200  A0 7F 00 24 */	lhz r3, 0x24(r31)
/* 8029B5A4 00297204  4B FF F8 89 */	bl DSPSendMailToDSP
lbl_8029B5A8:
/* 8029B5A8 00297208  4B FF F8 51 */	bl DSPCheckMailToDSP
/* 8029B5AC 0029720C  2C 03 00 00 */	cmpwi r3, 0
/* 8029B5B0 00297210  40 82 FF F8 */	bne lbl_8029B5A8
/* 8029B5B4 00297214  38 60 00 00 */	li r3, 0
/* 8029B5B8 00297218  4B FF F8 75 */	bl DSPSendMailToDSP
lbl_8029B5BC:
/* 8029B5BC 0029721C  4B FF F8 3D */	bl DSPCheckMailToDSP
/* 8029B5C0 00297220  2C 03 00 00 */	cmpwi r3, 0
/* 8029B5C4 00297224  40 82 FF F8 */	bne lbl_8029B5BC
/* 8029B5C8 00297228  38 60 00 00 */	li r3, 0
/* 8029B5CC 0029722C  4B FF F8 61 */	bl DSPSendMailToDSP
lbl_8029B5D0:
/* 8029B5D0 00297230  4B FF F8 29 */	bl DSPCheckMailToDSP
/* 8029B5D4 00297234  2C 03 00 00 */	cmpwi r3, 0
/* 8029B5D8 00297238  40 82 FF F8 */	bne lbl_8029B5D0
/* 8029B5DC 0029723C  38 60 00 00 */	li r3, 0
/* 8029B5E0 00297240  4B FF F8 4D */	bl DSPSendMailToDSP
lbl_8029B5E4:
/* 8029B5E4 00297244  4B FF F8 15 */	bl DSPCheckMailToDSP
/* 8029B5E8 00297248  2C 03 00 00 */	cmpwi r3, 0
/* 8029B5EC 0029724C  40 82 FF F8 */	bne lbl_8029B5E4
/* 8029B5F0 00297250  48 00 00 54 */	b lbl_8029B644
lbl_8029B5F4:
/* 8029B5F4 00297254  A0 7F 00 26 */	lhz r3, 0x26(r31)
/* 8029B5F8 00297258  4B FF F8 35 */	bl DSPSendMailToDSP
lbl_8029B5FC:
/* 8029B5FC 0029725C  4B FF F7 FD */	bl DSPCheckMailToDSP
/* 8029B600 00297260  2C 03 00 00 */	cmpwi r3, 0
/* 8029B604 00297264  40 82 FF F8 */	bne lbl_8029B5FC
/* 8029B608 00297268  80 7F 00 18 */	lwz r3, 0x18(r31)
/* 8029B60C 0029726C  4B FF F8 21 */	bl DSPSendMailToDSP
lbl_8029B610:
/* 8029B610 00297270  4B FF F7 E9 */	bl DSPCheckMailToDSP
/* 8029B614 00297274  2C 03 00 00 */	cmpwi r3, 0
/* 8029B618 00297278  40 82 FF F8 */	bne lbl_8029B610
/* 8029B61C 0029727C  80 7F 00 1C */	lwz r3, 0x1c(r31)
/* 8029B620 00297280  4B FF F8 0D */	bl DSPSendMailToDSP
lbl_8029B624:
/* 8029B624 00297284  4B FF F7 D5 */	bl DSPCheckMailToDSP
/* 8029B628 00297288  2C 03 00 00 */	cmpwi r3, 0
/* 8029B62C 0029728C  40 82 FF F8 */	bne lbl_8029B624
/* 8029B630 00297290  80 7F 00 20 */	lwz r3, 0x20(r31)
/* 8029B634 00297294  4B FF F7 F9 */	bl DSPSendMailToDSP
lbl_8029B638:
/* 8029B638 00297298  4B FF F7 C1 */	bl DSPCheckMailToDSP
/* 8029B63C 0029729C  2C 03 00 00 */	cmpwi r3, 0
/* 8029B640 002972A0  40 82 FF F8 */	bne lbl_8029B638
lbl_8029B644:
/* 8029B644 002972A4  80 01 00 14 */	lwz r0, 0x14(r1)
/* 8029B648 002972A8  83 E1 00 0C */	lwz r31, 0xc(r1)
/* 8029B64C 002972AC  83 C1 00 08 */	lwz r30, 8(r1)
/* 8029B650 002972B0  7C 08 03 A6 */	mtlr r0
/* 8029B654 002972B4  38 21 00 10 */	addi r1, r1, 0x10
/* 8029B658 002972B8  4E 80 00 20 */	blr

.global __DSP_boot_task
__DSP_boot_task:
/* 8029B65C 002972BC  94 21 FF E0 */	stwu r1, -0x20(r1)
/* 8029B660 002972C0  7C 08 02 A6 */	mflr r0
/* 8029B664 002972C4  90 01 00 24 */	stw r0, 0x24(r1)
/* 8029B668 002972C8  93 E1 00 1C */	stw r31, 0x1c(r1)
/* 8029B66C 002972CC  3F E0 80 44 */	lis r31, lbl_8043BD80@ha
/* 8029B670 002972D0  3B FF BD 80 */	addi r31, r31, lbl_8043BD80@l
/* 8029B674 002972D4  93 C1 00 18 */	stw r30, 0x18(r1)
/* 8029B678 002972D8  7C 7E 1B 78 */	mr r30, r3
lbl_8029B67C:
/* 8029B67C 002972DC  4B FF F7 8D */	bl DSPCheckMailFromDSP
/* 8029B680 002972E0  2C 03 00 00 */	cmpwi r3, 0
/* 8029B684 002972E4  41 82 FF F8 */	beq lbl_8029B67C
/* 8029B688 002972E8  4B FF F7 91 */	bl DSPReadMailFromDSP
/* 8029B68C 002972EC  90 61 00 08 */	stw r3, 8(r1)
/* 8029B690 002972F0  3C 60 80 F4 */	lis r3, 0x80F3A001@ha
/* 8029B694 002972F4  38 63 A0 01 */	addi r3, r3, 0x80F3A001@l
/* 8029B698 002972F8  4B FF F7 95 */	bl DSPSendMailToDSP
lbl_8029B69C:
/* 8029B69C 002972FC  4B FF F7 5D */	bl DSPCheckMailToDSP
/* 8029B6A0 00297300  2C 03 00 00 */	cmpwi r3, 0
/* 8029B6A4 00297304  40 82 FF F8 */	bne lbl_8029B69C
/* 8029B6A8 00297308  80 7E 00 0C */	lwz r3, 0xc(r30)
/* 8029B6AC 0029730C  4B FF F7 81 */	bl DSPSendMailToDSP
lbl_8029B6B0:
/* 8029B6B0 00297310  4B FF F7 49 */	bl DSPCheckMailToDSP
/* 8029B6B4 00297314  2C 03 00 00 */	cmpwi r3, 0
/* 8029B6B8 00297318  40 82 FF F8 */	bne lbl_8029B6B0
/* 8029B6BC 0029731C  3C 60 80 F4 */	lis r3, 0x80F3C002@ha
/* 8029B6C0 00297320  38 63 C0 02 */	addi r3, r3, 0x80F3C002@l
/* 8029B6C4 00297324  4B FF F7 69 */	bl DSPSendMailToDSP
lbl_8029B6C8:
/* 8029B6C8 00297328  4B FF F7 31 */	bl DSPCheckMailToDSP
/* 8029B6CC 0029732C  2C 03 00 00 */	cmpwi r3, 0
/* 8029B6D0 00297330  40 82 FF F8 */	bne lbl_8029B6C8
/* 8029B6D4 00297334  80 1E 00 14 */	lwz r0, 0x14(r30)
/* 8029B6D8 00297338  54 03 04 3E */	clrlwi r3, r0, 0x10
/* 8029B6DC 0029733C  4B FF F7 51 */	bl DSPSendMailToDSP
lbl_8029B6E0:
/* 8029B6E0 00297340  4B FF F7 19 */	bl DSPCheckMailToDSP
/* 8029B6E4 00297344  2C 03 00 00 */	cmpwi r3, 0
/* 8029B6E8 00297348  40 82 FF F8 */	bne lbl_8029B6E0
/* 8029B6EC 0029734C  3C 60 80 F4 */	lis r3, 0x80F3A002@ha
/* 8029B6F0 00297350  38 63 A0 02 */	addi r3, r3, 0x80F3A002@l
/* 8029B6F4 00297354  4B FF F7 39 */	bl DSPSendMailToDSP
lbl_8029B6F8:
/* 8029B6F8 00297358  4B FF F7 01 */	bl DSPCheckMailToDSP
/* 8029B6FC 0029735C  2C 03 00 00 */	cmpwi r3, 0
/* 8029B700 00297360  40 82 FF F8 */	bne lbl_8029B6F8
/* 8029B704 00297364  80 7E 00 10 */	lwz r3, 0x10(r30)
/* 8029B708 00297368  4B FF F7 25 */	bl DSPSendMailToDSP
lbl_8029B70C:
/* 8029B70C 0029736C  4B FF F6 ED */	bl DSPCheckMailToDSP
/* 8029B710 00297370  2C 03 00 00 */	cmpwi r3, 0
/* 8029B714 00297374  40 82 FF F8 */	bne lbl_8029B70C
/* 8029B718 00297378  3C 60 80 F4 */	lis r3, 0x80F3B002@ha
/* 8029B71C 0029737C  38 63 B0 02 */	addi r3, r3, 0x80F3B002@l
/* 8029B720 00297380  4B FF F7 0D */	bl DSPSendMailToDSP
lbl_8029B724:
/* 8029B724 00297384  4B FF F6 D5 */	bl DSPCheckMailToDSP
/* 8029B728 00297388  2C 03 00 00 */	cmpwi r3, 0
/* 8029B72C 0029738C  40 82 FF F8 */	bne lbl_8029B724
/* 8029B730 00297390  38 60 00 00 */	li r3, 0
/* 8029B734 00297394  4B FF F6 F9 */	bl DSPSendMailToDSP
lbl_8029B738:
/* 8029B738 00297398  4B FF F6 C1 */	bl DSPCheckMailToDSP
/* 8029B73C 0029739C  2C 03 00 00 */	cmpwi r3, 0
/* 8029B740 002973A0  40 82 FF F8 */	bne lbl_8029B738
/* 8029B744 002973A4  3C 60 80 F4 */	lis r3, 0x80F3D001@ha
/* 8029B748 002973A8  38 63 D0 01 */	addi r3, r3, 0x80F3D001@l
/* 8029B74C 002973AC  4B FF F6 E1 */	bl DSPSendMailToDSP
lbl_8029B750:
/* 8029B750 002973B0  4B FF F6 A9 */	bl DSPCheckMailToDSP
/* 8029B754 002973B4  2C 03 00 00 */	cmpwi r3, 0
/* 8029B758 002973B8  40 82 FF F8 */	bne lbl_8029B750
/* 8029B75C 002973BC  A0 7E 00 24 */	lhz r3, 0x24(r30)
/* 8029B760 002973C0  4B FF F6 CD */	bl DSPSendMailToDSP
lbl_8029B764:
/* 8029B764 002973C4  4B FF F6 95 */	bl DSPCheckMailToDSP
/* 8029B768 002973C8  2C 03 00 00 */	cmpwi r3, 0
/* 8029B76C 002973CC  40 82 FF F8 */	bne lbl_8029B764
/* 8029B770 002973D0  7F C4 F3 78 */	mr r4, r30
/* 8029B774 002973D4  38 7F 00 00 */	addi r3, r31, 0
/* 8029B778 002973D8  4C C6 31 82 */	crclr 6
/* 8029B77C 002973DC  4B FF F8 B9 */	bl __DSP_debug_printf
/* 8029B780 002973E0  80 9E 00 0C */	lwz r4, 0xc(r30)
/* 8029B784 002973E4  38 7F 00 20 */	addi r3, r31, 0x20
/* 8029B788 002973E8  4C C6 31 82 */	crclr 6
/* 8029B78C 002973EC  4B FF F8 A9 */	bl __DSP_debug_printf
/* 8029B790 002973F0  80 9E 00 14 */	lwz r4, 0x14(r30)
/* 8029B794 002973F4  38 7F 00 50 */	addi r3, r31, 0x50
/* 8029B798 002973F8  4C C6 31 82 */	crclr 6
/* 8029B79C 002973FC  4B FF F8 99 */	bl __DSP_debug_printf
/* 8029B7A0 00297400  80 9E 00 10 */	lwz r4, 0x10(r30)
/* 8029B7A4 00297404  38 7F 00 80 */	addi r3, r31, 0x80
/* 8029B7A8 00297408  4C C6 31 82 */	crclr 6
/* 8029B7AC 0029740C  4B FF F8 89 */	bl __DSP_debug_printf
/* 8029B7B0 00297410  80 9E 00 1C */	lwz r4, 0x1c(r30)
/* 8029B7B4 00297414  38 7F 00 B0 */	addi r3, r31, 0xb0
/* 8029B7B8 00297418  4C C6 31 82 */	crclr 6
/* 8029B7BC 0029741C  4B FF F8 79 */	bl __DSP_debug_printf
/* 8029B7C0 00297420  A0 9E 00 24 */	lhz r4, 0x24(r30)
/* 8029B7C4 00297424  38 7F 00 E0 */	addi r3, r31, 0xe0
/* 8029B7C8 00297428  4C C6 31 82 */	crclr 6
/* 8029B7CC 0029742C  4B FF F8 69 */	bl __DSP_debug_printf
/* 8029B7D0 00297430  80 01 00 24 */	lwz r0, 0x24(r1)
/* 8029B7D4 00297434  83 E1 00 1C */	lwz r31, 0x1c(r1)
/* 8029B7D8 00297438  83 C1 00 18 */	lwz r30, 0x18(r1)
/* 8029B7DC 0029743C  7C 08 03 A6 */	mtlr r0
/* 8029B7E0 00297440  38 21 00 20 */	addi r1, r1, 0x20
/* 8029B7E4 00297444  4E 80 00 20 */	blr

.global __DSP_insert_task
__DSP_insert_task:
/* 8029B7E8 00297448  80 AD AC 80 */	lwz r5, lbl_8063FF40-_SDA_BASE_(r13)
/* 8029B7EC 0029744C  2C 05 00 00 */	cmpwi r5, 0
/* 8029B7F0 00297450  40 82 00 64 */	bne lbl_8029B854
/* 8029B7F4 00297454  90 6D AC 84 */	stw r3, lbl_8063FF44-_SDA_BASE_(r13)
/* 8029B7F8 00297458  38 00 00 00 */	li r0, 0
/* 8029B7FC 0029745C  90 6D AC 7C */	stw r3, lbl_8063FF3C-_SDA_BASE_(r13)
/* 8029B800 00297460  90 6D AC 80 */	stw r3, lbl_8063FF40-_SDA_BASE_(r13)
/* 8029B804 00297464  90 03 00 3C */	stw r0, 0x3c(r3)
/* 8029B808 00297468  90 03 00 38 */	stw r0, 0x38(r3)
/* 8029B80C 0029746C  4E 80 00 20 */	blr
/* 8029B810 00297470  48 00 00 44 */	b lbl_8029B854
lbl_8029B814:
/* 8029B814 00297474  80 83 00 04 */	lwz r4, 4(r3)
/* 8029B818 00297478  80 05 00 04 */	lwz r0, 4(r5)
/* 8029B81C 0029747C  7C 04 00 40 */	cmplw r4, r0
/* 8029B820 00297480  40 80 00 30 */	bge lbl_8029B850
/* 8029B824 00297484  80 05 00 3C */	lwz r0, 0x3c(r5)
/* 8029B828 00297488  90 03 00 3C */	stw r0, 0x3c(r3)
/* 8029B82C 0029748C  90 65 00 3C */	stw r3, 0x3c(r5)
/* 8029B830 00297490  80 83 00 3C */	lwz r4, 0x3c(r3)
/* 8029B834 00297494  90 A3 00 38 */	stw r5, 0x38(r3)
/* 8029B838 00297498  2C 04 00 00 */	cmpwi r4, 0
/* 8029B83C 0029749C  40 82 00 0C */	bne lbl_8029B848
/* 8029B840 002974A0  90 6D AC 80 */	stw r3, lbl_8063FF40-_SDA_BASE_(r13)
/* 8029B844 002974A4  48 00 00 18 */	b lbl_8029B85C
lbl_8029B848:
/* 8029B848 002974A8  90 64 00 38 */	stw r3, 0x38(r4)
/* 8029B84C 002974AC  48 00 00 10 */	b lbl_8029B85C
lbl_8029B850:
/* 8029B850 002974B0  80 A5 00 38 */	lwz r5, 0x38(r5)
lbl_8029B854:
/* 8029B854 002974B4  2C 05 00 00 */	cmpwi r5, 0
/* 8029B858 002974B8  40 82 FF BC */	bne lbl_8029B814
lbl_8029B85C:
/* 8029B85C 002974BC  2C 05 00 00 */	cmpwi r5, 0
/* 8029B860 002974C0  4C 82 00 20 */	bnelr
/* 8029B864 002974C4  80 8D AC 7C */	lwz r4, lbl_8063FF3C-_SDA_BASE_(r13)
/* 8029B868 002974C8  38 00 00 00 */	li r0, 0
/* 8029B86C 002974CC  90 64 00 38 */	stw r3, 0x38(r4)
/* 8029B870 002974D0  90 03 00 38 */	stw r0, 0x38(r3)
/* 8029B874 002974D4  80 0D AC 7C */	lwz r0, lbl_8063FF3C-_SDA_BASE_(r13)
/* 8029B878 002974D8  90 03 00 3C */	stw r0, 0x3c(r3)
/* 8029B87C 002974DC  90 6D AC 7C */	stw r3, lbl_8063FF3C-_SDA_BASE_(r13)
/* 8029B880 002974E0  4E 80 00 20 */	blr

.global __DSP_remove_task
__DSP_remove_task:
/* 8029B884 002974E4  38 80 00 00 */	li r4, 0
/* 8029B888 002974E8  38 00 00 03 */	li r0, 3
/* 8029B88C 002974EC  90 83 00 08 */	stw r4, 8(r3)
/* 8029B890 002974F0  90 03 00 00 */	stw r0, 0(r3)
/* 8029B894 002974F4  80 0D AC 80 */	lwz r0, lbl_8063FF40-_SDA_BASE_(r13)
/* 8029B898 002974F8  7C 00 18 40 */	cmplw r0, r3
/* 8029B89C 002974FC  40 82 00 30 */	bne lbl_8029B8CC
/* 8029B8A0 00297500  80 03 00 38 */	lwz r0, 0x38(r3)
/* 8029B8A4 00297504  2C 00 00 00 */	cmpwi r0, 0
/* 8029B8A8 00297508  41 82 00 14 */	beq lbl_8029B8BC
/* 8029B8AC 0029750C  90 0D AC 80 */	stw r0, lbl_8063FF40-_SDA_BASE_(r13)
/* 8029B8B0 00297510  80 63 00 38 */	lwz r3, 0x38(r3)
/* 8029B8B4 00297514  90 83 00 3C */	stw r4, 0x3c(r3)
/* 8029B8B8 00297518  4E 80 00 20 */	blr
lbl_8029B8BC:
/* 8029B8BC 0029751C  90 8D AC 84 */	stw r4, lbl_8063FF44-_SDA_BASE_(r13)
/* 8029B8C0 00297520  90 8D AC 7C */	stw r4, lbl_8063FF3C-_SDA_BASE_(r13)
/* 8029B8C4 00297524  90 8D AC 80 */	stw r4, lbl_8063FF40-_SDA_BASE_(r13)
/* 8029B8C8 00297528  4E 80 00 20 */	blr
lbl_8029B8CC:
/* 8029B8CC 0029752C  80 0D AC 7C */	lwz r0, lbl_8063FF3C-_SDA_BASE_(r13)
/* 8029B8D0 00297530  7C 00 18 40 */	cmplw r0, r3
/* 8029B8D4 00297534  40 82 00 20 */	bne lbl_8029B8F4
/* 8029B8D8 00297538  80 03 00 3C */	lwz r0, 0x3c(r3)
/* 8029B8DC 0029753C  90 0D AC 7C */	stw r0, lbl_8063FF3C-_SDA_BASE_(r13)
/* 8029B8E0 00297540  80 63 00 3C */	lwz r3, 0x3c(r3)
/* 8029B8E4 00297544  90 83 00 38 */	stw r4, 0x38(r3)
/* 8029B8E8 00297548  80 0D AC 80 */	lwz r0, lbl_8063FF40-_SDA_BASE_(r13)
/* 8029B8EC 0029754C  90 0D AC 84 */	stw r0, lbl_8063FF44-_SDA_BASE_(r13)
/* 8029B8F0 00297550  4E 80 00 20 */	blr
lbl_8029B8F4:
/* 8029B8F4 00297554  80 03 00 38 */	lwz r0, 0x38(r3)
/* 8029B8F8 00297558  90 0D AC 84 */	stw r0, lbl_8063FF44-_SDA_BASE_(r13)
/* 8029B8FC 0029755C  80 03 00 38 */	lwz r0, 0x38(r3)
/* 8029B900 00297560  80 83 00 3C */	lwz r4, 0x3c(r3)
/* 8029B904 00297564  90 04 00 38 */	stw r0, 0x38(r4)
/* 8029B908 00297568  80 03 00 3C */	lwz r0, 0x3c(r3)
/* 8029B90C 0029756C  80 63 00 38 */	lwz r3, 0x38(r3)
/* 8029B910 00297570  90 03 00 3C */	stw r0, 0x3c(r3)
/* 8029B914 00297574  4E 80 00 20 */	blr