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
644
645
646
647
648
649
650
651
652
653
654
655
656
657
658
659
660
661
662
663
664
665
666
667
668
669
670
671
672
673
674
675
676
677
678
679
680
681
682
683
684
685
686
687
688
689
690
691
692
693
694
695
696
697
698
699
700
701
702
703
704
705
706
707
708
709
710
711
712
713
714
715
716
717
718
719
720
721
722
723
724
725
726
727
728
729
730
731
732
733
734
735
736
737
738
739
740
741
742
743
744
745
746
747
748
749
750
751
752
753
|
.include "macros.inc"
.section .text, "ax" # 0x80006980 - 0x803E1E60
.global AXFXChorusExpGetMemSize
AXFXChorusExpGetMemSize:
/* 802959F8 00291658 3C 60 00 01 */ lis r3, 0x00009600@ha
/* 802959FC 0029165C 38 63 96 00 */ addi r3, r3, 0x00009600@l
/* 80295A00 00291660 4E 80 00 20 */ blr
.global AXFXChorusExpInit
AXFXChorusExpInit:
/* 80295A04 00291664 94 21 FF E0 */ stwu r1, -0x20(r1)
/* 80295A08 00291668 7C 08 02 A6 */ mflr r0
/* 80295A0C 0029166C 90 01 00 24 */ stw r0, 0x24(r1)
/* 80295A10 00291670 39 61 00 20 */ addi r11, r1, 0x20
/* 80295A14 00291674 4B F3 17 15 */ bl _savegpr_27
/* 80295A18 00291678 7C 7E 1B 78 */ mr r30, r3
/* 80295A1C 0029167C 4B FD 8D 41 */ bl OSDisableInterrupts
/* 80295A20 00291680 80 9E 00 7C */ lwz r4, 0x7c(r30)
/* 80295A24 00291684 38 00 0C 80 */ li r0, 0xc80
/* 80295A28 00291688 90 1E 00 1C */ stw r0, 0x1c(r30)
/* 80295A2C 0029168C 7C 7F 1B 78 */ mr r31, r3
/* 80295A30 00291690 60 80 00 01 */ ori r0, r4, 1
/* 80295A34 00291694 7F DB F3 78 */ mr r27, r30
/* 80295A38 00291698 90 1E 00 7C */ stw r0, 0x7c(r30)
/* 80295A3C 0029169C 3B A0 00 00 */ li r29, 0
lbl_80295A40:
/* 80295A40 002916A0 80 1E 00 1C */ lwz r0, 0x1c(r30)
/* 80295A44 002916A4 81 8D 88 F8 */ lwz r12, lbl_8063DBB8-_SDA_BASE_(r13)
/* 80295A48 002916A8 54 03 10 3A */ slwi r3, r0, 2
/* 80295A4C 002916AC 7D 89 03 A6 */ mtctr r12
/* 80295A50 002916B0 4E 80 04 21 */ bctrl
/* 80295A54 002916B4 2C 03 00 00 */ cmpwi r3, 0
/* 80295A58 002916B8 90 7B 00 00 */ stw r3, 0(r27)
/* 80295A5C 002916BC 40 82 00 0C */ bne lbl_80295A68
/* 80295A60 002916C0 38 00 00 00 */ li r0, 0
/* 80295A64 002916C4 48 00 00 18 */ b lbl_80295A7C
lbl_80295A68:
/* 80295A68 002916C8 3B BD 00 01 */ addi r29, r29, 1
/* 80295A6C 002916CC 3B 7B 00 04 */ addi r27, r27, 4
/* 80295A70 002916D0 28 1D 00 03 */ cmplwi r29, 3
/* 80295A74 002916D4 41 80 FF CC */ blt lbl_80295A40
/* 80295A78 002916D8 38 00 00 01 */ li r0, 1
lbl_80295A7C:
/* 80295A7C 002916DC 2C 00 00 00 */ cmpwi r0, 0
/* 80295A80 002916E0 40 82 00 64 */ bne lbl_80295AE4
/* 80295A84 002916E4 4B FD 8C D9 */ bl OSDisableInterrupts
/* 80295A88 002916E8 80 1E 00 7C */ lwz r0, 0x7c(r30)
/* 80295A8C 002916EC 7C 7B 1B 78 */ mr r27, r3
/* 80295A90 002916F0 3B 80 00 00 */ li r28, 0
/* 80295A94 002916F4 3B A0 00 00 */ li r29, 0
/* 80295A98 002916F8 60 00 00 01 */ ori r0, r0, 1
/* 80295A9C 002916FC 90 1E 00 7C */ stw r0, 0x7c(r30)
lbl_80295AA0:
/* 80295AA0 00291700 80 7E 00 00 */ lwz r3, 0(r30)
/* 80295AA4 00291704 2C 03 00 00 */ cmpwi r3, 0
/* 80295AA8 00291708 41 82 00 10 */ beq lbl_80295AB8
/* 80295AAC 0029170C 81 8D 88 FC */ lwz r12, lbl_8063DBBC-_SDA_BASE_(r13)
/* 80295AB0 00291710 7D 89 03 A6 */ mtctr r12
/* 80295AB4 00291714 4E 80 04 21 */ bctrl
lbl_80295AB8:
/* 80295AB8 00291718 3B 9C 00 01 */ addi r28, r28, 1
/* 80295ABC 0029171C 93 BE 00 00 */ stw r29, 0(r30)
/* 80295AC0 00291720 28 1C 00 03 */ cmplwi r28, 3
/* 80295AC4 00291724 3B DE 00 04 */ addi r30, r30, 4
/* 80295AC8 00291728 41 80 FF D8 */ blt lbl_80295AA0
/* 80295ACC 0029172C 7F 63 DB 78 */ mr r3, r27
/* 80295AD0 00291730 4B FD 8C B5 */ bl OSRestoreInterrupts
/* 80295AD4 00291734 7F E3 FB 78 */ mr r3, r31
/* 80295AD8 00291738 4B FD 8C AD */ bl OSRestoreInterrupts
/* 80295ADC 0029173C 38 60 00 00 */ li r3, 0
/* 80295AE0 00291740 48 00 01 68 */ b lbl_80295C48
lbl_80295AE4:
/* 80295AE4 00291744 7F DC F3 78 */ mr r28, r30
/* 80295AE8 00291748 3B 60 00 00 */ li r27, 0
lbl_80295AEC:
/* 80295AEC 0029174C 80 7C 00 00 */ lwz r3, 0(r28)
/* 80295AF0 00291750 2C 03 00 00 */ cmpwi r3, 0
/* 80295AF4 00291754 40 82 00 0C */ bne lbl_80295B00
/* 80295AF8 00291758 38 80 00 00 */ li r4, 0
/* 80295AFC 0029175C 48 00 00 5C */ b lbl_80295B58
lbl_80295B00:
/* 80295B00 00291760 80 1E 00 1C */ lwz r0, 0x1c(r30)
/* 80295B04 00291764 38 80 00 00 */ li r4, 0
/* 80295B08 00291768 54 05 10 3A */ slwi r5, r0, 2
/* 80295B0C 0029176C 4B D6 E5 F9 */ bl memset
/* 80295B10 00291770 3B 7B 00 01 */ addi r27, r27, 1
/* 80295B14 00291774 3B 9C 00 04 */ addi r28, r28, 4
/* 80295B18 00291778 28 1B 00 03 */ cmplwi r27, 3
/* 80295B1C 0029177C 41 80 FF D0 */ blt lbl_80295AEC
/* 80295B20 00291780 C0 22 A3 38 */ lfs f1, lbl_80642938-_SDA2_BASE_(r2)
/* 80295B24 00291784 38 00 00 00 */ li r0, 0
/* 80295B28 00291788 C0 1E 00 80 */ lfs f0, 0x80(r30)
/* 80295B2C 0029178C 90 1E 00 0C */ stw r0, 0xc(r30)
/* 80295B30 00291790 EC 21 00 32 */ fmuls f1, f1, f0
/* 80295B34 00291794 4B F3 14 CD */ bl __cvt_fp2unsigned
/* 80295B38 00291798 80 1E 00 1C */ lwz r0, 0x1c(r30)
/* 80295B3C 0029179C 38 80 00 01 */ li r4, 1
/* 80295B40 002917A0 7C 63 00 50 */ subf r3, r3, r0
/* 80295B44 002917A4 54 00 80 1E */ slwi r0, r0, 0x10
/* 80295B48 002917A8 54 63 80 1E */ slwi r3, r3, 0x10
/* 80295B4C 002917AC 90 1E 00 18 */ stw r0, 0x18(r30)
/* 80295B50 002917B0 90 7E 00 10 */ stw r3, 0x10(r30)
/* 80295B54 002917B4 90 7E 00 14 */ stw r3, 0x14(r30)
lbl_80295B58:
/* 80295B58 002917B8 2C 04 00 00 */ cmpwi r4, 0
/* 80295B5C 002917BC 40 82 00 64 */ bne lbl_80295BC0
/* 80295B60 002917C0 4B FD 8B FD */ bl OSDisableInterrupts
/* 80295B64 002917C4 80 1E 00 7C */ lwz r0, 0x7c(r30)
/* 80295B68 002917C8 7C 7C 1B 78 */ mr r28, r3
/* 80295B6C 002917CC 3B 60 00 00 */ li r27, 0
/* 80295B70 002917D0 3B A0 00 00 */ li r29, 0
/* 80295B74 002917D4 60 00 00 01 */ ori r0, r0, 1
/* 80295B78 002917D8 90 1E 00 7C */ stw r0, 0x7c(r30)
lbl_80295B7C:
/* 80295B7C 002917DC 80 7E 00 00 */ lwz r3, 0(r30)
/* 80295B80 002917E0 2C 03 00 00 */ cmpwi r3, 0
/* 80295B84 002917E4 41 82 00 10 */ beq lbl_80295B94
/* 80295B88 002917E8 81 8D 88 FC */ lwz r12, lbl_8063DBBC-_SDA_BASE_(r13)
/* 80295B8C 002917EC 7D 89 03 A6 */ mtctr r12
/* 80295B90 002917F0 4E 80 04 21 */ bctrl
lbl_80295B94:
/* 80295B94 002917F4 3B 7B 00 01 */ addi r27, r27, 1
/* 80295B98 002917F8 93 BE 00 00 */ stw r29, 0(r30)
/* 80295B9C 002917FC 28 1B 00 03 */ cmplwi r27, 3
/* 80295BA0 00291800 3B DE 00 04 */ addi r30, r30, 4
/* 80295BA4 00291804 41 80 FF D8 */ blt lbl_80295B7C
/* 80295BA8 00291808 7F 83 E3 78 */ mr r3, r28
/* 80295BAC 0029180C 4B FD 8B D9 */ bl OSRestoreInterrupts
/* 80295BB0 00291810 7F E3 FB 78 */ mr r3, r31
/* 80295BB4 00291814 4B FD 8B D1 */ bl OSRestoreInterrupts
/* 80295BB8 00291818 38 60 00 00 */ li r3, 0
/* 80295BBC 0029181C 48 00 00 8C */ b lbl_80295C48
lbl_80295BC0:
/* 80295BC0 00291820 7F C3 F3 78 */ mr r3, r30
/* 80295BC4 00291824 48 00 05 B5 */ bl __InitParams
/* 80295BC8 00291828 2C 03 00 00 */ cmpwi r3, 0
/* 80295BCC 0029182C 40 82 00 64 */ bne lbl_80295C30
/* 80295BD0 00291830 4B FD 8B 8D */ bl OSDisableInterrupts
/* 80295BD4 00291834 80 1E 00 7C */ lwz r0, 0x7c(r30)
/* 80295BD8 00291838 7C 7C 1B 78 */ mr r28, r3
/* 80295BDC 0029183C 3B 60 00 00 */ li r27, 0
/* 80295BE0 00291840 3B A0 00 00 */ li r29, 0
/* 80295BE4 00291844 60 00 00 01 */ ori r0, r0, 1
/* 80295BE8 00291848 90 1E 00 7C */ stw r0, 0x7c(r30)
lbl_80295BEC:
/* 80295BEC 0029184C 80 7E 00 00 */ lwz r3, 0(r30)
/* 80295BF0 00291850 2C 03 00 00 */ cmpwi r3, 0
/* 80295BF4 00291854 41 82 00 10 */ beq lbl_80295C04
/* 80295BF8 00291858 81 8D 88 FC */ lwz r12, lbl_8063DBBC-_SDA_BASE_(r13)
/* 80295BFC 0029185C 7D 89 03 A6 */ mtctr r12
/* 80295C00 00291860 4E 80 04 21 */ bctrl
lbl_80295C04:
/* 80295C04 00291864 3B 7B 00 01 */ addi r27, r27, 1
/* 80295C08 00291868 93 BE 00 00 */ stw r29, 0(r30)
/* 80295C0C 0029186C 28 1B 00 03 */ cmplwi r27, 3
/* 80295C10 00291870 3B DE 00 04 */ addi r30, r30, 4
/* 80295C14 00291874 41 80 FF D8 */ blt lbl_80295BEC
/* 80295C18 00291878 7F 83 E3 78 */ mr r3, r28
/* 80295C1C 0029187C 4B FD 8B 69 */ bl OSRestoreInterrupts
/* 80295C20 00291880 7F E3 FB 78 */ mr r3, r31
/* 80295C24 00291884 4B FD 8B 61 */ bl OSRestoreInterrupts
/* 80295C28 00291888 38 60 00 00 */ li r3, 0
/* 80295C2C 0029188C 48 00 00 1C */ b lbl_80295C48
lbl_80295C30:
/* 80295C30 00291890 80 1E 00 7C */ lwz r0, 0x7c(r30)
/* 80295C34 00291894 7F E3 FB 78 */ mr r3, r31
/* 80295C38 00291898 54 00 00 3C */ rlwinm r0, r0, 0, 0, 0x1e
/* 80295C3C 0029189C 90 1E 00 7C */ stw r0, 0x7c(r30)
/* 80295C40 002918A0 4B FD 8B 45 */ bl OSRestoreInterrupts
/* 80295C44 002918A4 38 60 00 01 */ li r3, 1
lbl_80295C48:
/* 80295C48 002918A8 39 61 00 20 */ addi r11, r1, 0x20
/* 80295C4C 002918AC 4B F3 15 29 */ bl _restgpr_27
/* 80295C50 002918B0 80 01 00 24 */ lwz r0, 0x24(r1)
/* 80295C54 002918B4 7C 08 03 A6 */ mtlr r0
/* 80295C58 002918B8 38 21 00 20 */ addi r1, r1, 0x20
/* 80295C5C 002918BC 4E 80 00 20 */ blr
.global AXFXChorusExpSettings
AXFXChorusExpSettings:
/* 80295C60 002918C0 94 21 FF E0 */ stwu r1, -0x20(r1)
/* 80295C64 002918C4 7C 08 02 A6 */ mflr r0
/* 80295C68 002918C8 90 01 00 24 */ stw r0, 0x24(r1)
/* 80295C6C 002918CC 39 61 00 20 */ addi r11, r1, 0x20
/* 80295C70 002918D0 4B F3 14 B5 */ bl _savegpr_26
/* 80295C74 002918D4 7C 7F 1B 78 */ mr r31, r3
/* 80295C78 002918D8 4B FD 8A E5 */ bl OSDisableInterrupts
/* 80295C7C 002918DC 80 1F 00 7C */ lwz r0, 0x7c(r31)
/* 80295C80 002918E0 7C 7A 1B 78 */ mr r26, r3
/* 80295C84 002918E4 60 00 00 01 */ ori r0, r0, 1
/* 80295C88 002918E8 90 1F 00 7C */ stw r0, 0x7c(r31)
/* 80295C8C 002918EC 4B FD 8A D1 */ bl OSDisableInterrupts
/* 80295C90 002918F0 80 1F 00 7C */ lwz r0, 0x7c(r31)
/* 80295C94 002918F4 7C 7C 1B 78 */ mr r28, r3
/* 80295C98 002918F8 7F FB FB 78 */ mr r27, r31
/* 80295C9C 002918FC 3B A0 00 00 */ li r29, 0
/* 80295CA0 00291900 60 00 00 01 */ ori r0, r0, 1
/* 80295CA4 00291904 3B C0 00 00 */ li r30, 0
/* 80295CA8 00291908 90 1F 00 7C */ stw r0, 0x7c(r31)
lbl_80295CAC:
/* 80295CAC 0029190C 80 7B 00 00 */ lwz r3, 0(r27)
/* 80295CB0 00291910 2C 03 00 00 */ cmpwi r3, 0
/* 80295CB4 00291914 41 82 00 10 */ beq lbl_80295CC4
/* 80295CB8 00291918 81 8D 88 FC */ lwz r12, lbl_8063DBBC-_SDA_BASE_(r13)
/* 80295CBC 0029191C 7D 89 03 A6 */ mtctr r12
/* 80295CC0 00291920 4E 80 04 21 */ bctrl
lbl_80295CC4:
/* 80295CC4 00291924 3B BD 00 01 */ addi r29, r29, 1
/* 80295CC8 00291928 93 DB 00 00 */ stw r30, 0(r27)
/* 80295CCC 0029192C 28 1D 00 03 */ cmplwi r29, 3
/* 80295CD0 00291930 3B 7B 00 04 */ addi r27, r27, 4
/* 80295CD4 00291934 41 80 FF D8 */ blt lbl_80295CAC
/* 80295CD8 00291938 7F 83 E3 78 */ mr r3, r28
/* 80295CDC 0029193C 4B FD 8A A9 */ bl OSRestoreInterrupts
/* 80295CE0 00291940 7F E3 FB 78 */ mr r3, r31
/* 80295CE4 00291944 4B FF FD 21 */ bl AXFXChorusExpInit
/* 80295CE8 00291948 2C 03 00 00 */ cmpwi r3, 0
/* 80295CEC 0029194C 7C 7B 1B 78 */ mr r27, r3
/* 80295CF0 00291950 40 82 00 64 */ bne lbl_80295D54
/* 80295CF4 00291954 4B FD 8A 69 */ bl OSDisableInterrupts
/* 80295CF8 00291958 80 1F 00 7C */ lwz r0, 0x7c(r31)
/* 80295CFC 0029195C 7C 7D 1B 78 */ mr r29, r3
/* 80295D00 00291960 3B 80 00 00 */ li r28, 0
/* 80295D04 00291964 3B C0 00 00 */ li r30, 0
/* 80295D08 00291968 60 00 00 01 */ ori r0, r0, 1
/* 80295D0C 0029196C 90 1F 00 7C */ stw r0, 0x7c(r31)
lbl_80295D10:
/* 80295D10 00291970 80 7F 00 00 */ lwz r3, 0(r31)
/* 80295D14 00291974 2C 03 00 00 */ cmpwi r3, 0
/* 80295D18 00291978 41 82 00 10 */ beq lbl_80295D28
/* 80295D1C 0029197C 81 8D 88 FC */ lwz r12, lbl_8063DBBC-_SDA_BASE_(r13)
/* 80295D20 00291980 7D 89 03 A6 */ mtctr r12
/* 80295D24 00291984 4E 80 04 21 */ bctrl
lbl_80295D28:
/* 80295D28 00291988 3B 9C 00 01 */ addi r28, r28, 1
/* 80295D2C 0029198C 93 DF 00 00 */ stw r30, 0(r31)
/* 80295D30 00291990 28 1C 00 03 */ cmplwi r28, 3
/* 80295D34 00291994 3B FF 00 04 */ addi r31, r31, 4
/* 80295D38 00291998 41 80 FF D8 */ blt lbl_80295D10
/* 80295D3C 0029199C 7F A3 EB 78 */ mr r3, r29
/* 80295D40 002919A0 4B FD 8A 45 */ bl OSRestoreInterrupts
/* 80295D44 002919A4 7F 43 D3 78 */ mr r3, r26
/* 80295D48 002919A8 4B FD 8A 3D */ bl OSRestoreInterrupts
/* 80295D4C 002919AC 38 60 00 00 */ li r3, 0
/* 80295D50 002919B0 48 00 00 20 */ b lbl_80295D70
lbl_80295D54:
/* 80295D54 002919B4 80 1F 00 7C */ lwz r0, 0x7c(r31)
/* 80295D58 002919B8 7F 43 D3 78 */ mr r3, r26
/* 80295D5C 002919BC 60 00 00 02 */ ori r0, r0, 2
/* 80295D60 002919C0 54 00 00 3C */ rlwinm r0, r0, 0, 0, 0x1e
/* 80295D64 002919C4 90 1F 00 7C */ stw r0, 0x7c(r31)
/* 80295D68 002919C8 4B FD 8A 1D */ bl OSRestoreInterrupts
/* 80295D6C 002919CC 7F 63 DB 78 */ mr r3, r27
lbl_80295D70:
/* 80295D70 002919D0 39 61 00 20 */ addi r11, r1, 0x20
/* 80295D74 002919D4 4B F3 13 FD */ bl _restgpr_26
/* 80295D78 002919D8 80 01 00 24 */ lwz r0, 0x24(r1)
/* 80295D7C 002919DC 7C 08 03 A6 */ mtlr r0
/* 80295D80 002919E0 38 21 00 20 */ addi r1, r1, 0x20
/* 80295D84 002919E4 4E 80 00 20 */ blr
.global AXFXChorusExpShutdown
AXFXChorusExpShutdown:
/* 80295D88 002919E8 94 21 FF E0 */ stwu r1, -0x20(r1)
/* 80295D8C 002919EC 7C 08 02 A6 */ mflr r0
/* 80295D90 002919F0 90 01 00 24 */ stw r0, 0x24(r1)
/* 80295D94 002919F4 93 E1 00 1C */ stw r31, 0x1c(r1)
/* 80295D98 002919F8 93 C1 00 18 */ stw r30, 0x18(r1)
/* 80295D9C 002919FC 93 A1 00 14 */ stw r29, 0x14(r1)
/* 80295DA0 00291A00 93 81 00 10 */ stw r28, 0x10(r1)
/* 80295DA4 00291A04 7C 7C 1B 78 */ mr r28, r3
/* 80295DA8 00291A08 4B FD 89 B5 */ bl OSDisableInterrupts
/* 80295DAC 00291A0C 80 1C 00 7C */ lwz r0, 0x7c(r28)
/* 80295DB0 00291A10 7C 7D 1B 78 */ mr r29, r3
/* 80295DB4 00291A14 3B C0 00 00 */ li r30, 0
/* 80295DB8 00291A18 3B E0 00 00 */ li r31, 0
/* 80295DBC 00291A1C 60 00 00 01 */ ori r0, r0, 1
/* 80295DC0 00291A20 90 1C 00 7C */ stw r0, 0x7c(r28)
lbl_80295DC4:
/* 80295DC4 00291A24 80 7C 00 00 */ lwz r3, 0(r28)
/* 80295DC8 00291A28 2C 03 00 00 */ cmpwi r3, 0
/* 80295DCC 00291A2C 41 82 00 10 */ beq lbl_80295DDC
/* 80295DD0 00291A30 81 8D 88 FC */ lwz r12, lbl_8063DBBC-_SDA_BASE_(r13)
/* 80295DD4 00291A34 7D 89 03 A6 */ mtctr r12
/* 80295DD8 00291A38 4E 80 04 21 */ bctrl
lbl_80295DDC:
/* 80295DDC 00291A3C 3B DE 00 01 */ addi r30, r30, 1
/* 80295DE0 00291A40 93 FC 00 00 */ stw r31, 0(r28)
/* 80295DE4 00291A44 28 1E 00 03 */ cmplwi r30, 3
/* 80295DE8 00291A48 3B 9C 00 04 */ addi r28, r28, 4
/* 80295DEC 00291A4C 41 80 FF D8 */ blt lbl_80295DC4
/* 80295DF0 00291A50 7F A3 EB 78 */ mr r3, r29
/* 80295DF4 00291A54 4B FD 89 91 */ bl OSRestoreInterrupts
/* 80295DF8 00291A58 80 01 00 24 */ lwz r0, 0x24(r1)
/* 80295DFC 00291A5C 83 E1 00 1C */ lwz r31, 0x1c(r1)
/* 80295E00 00291A60 83 C1 00 18 */ lwz r30, 0x18(r1)
/* 80295E04 00291A64 83 A1 00 14 */ lwz r29, 0x14(r1)
/* 80295E08 00291A68 83 81 00 10 */ lwz r28, 0x10(r1)
/* 80295E0C 00291A6C 7C 08 03 A6 */ mtlr r0
/* 80295E10 00291A70 38 21 00 20 */ addi r1, r1, 0x20
/* 80295E14 00291A74 4E 80 00 20 */ blr
.global AXFXChorusExpCallback
AXFXChorusExpCallback:
/* 80295E18 00291A78 94 21 FE 00 */ stwu r1, -0x200(r1)
/* 80295E1C 00291A7C 7C 08 02 A6 */ mflr r0
/* 80295E20 00291A80 90 01 02 04 */ stw r0, 0x204(r1)
/* 80295E24 00291A84 DB E1 01 F0 */ stfd f31, 0x1f0(r1)
/* 80295E28 00291A88 F3 E1 01 F8 */ psq_st f31, 504(r1), 0, qr0
/* 80295E2C 00291A8C 39 61 01 F0 */ addi r11, r1, 0x1f0
/* 80295E30 00291A90 4B F3 12 F1 */ bl _savegpr_25
/* 80295E34 00291A94 80 04 00 7C */ lwz r0, 0x7c(r4)
/* 80295E38 00291A98 7C 9B 23 78 */ mr r27, r4
/* 80295E3C 00291A9C 2C 00 00 00 */ cmpwi r0, 0
/* 80295E40 00291AA0 41 82 00 10 */ beq lbl_80295E50
/* 80295E44 00291AA4 54 00 07 FA */ rlwinm r0, r0, 0, 0x1f, 0x1d
/* 80295E48 00291AA8 90 04 00 7C */ stw r0, 0x7c(r4)
/* 80295E4C 00291AAC 48 00 03 0C */ b lbl_80296158
lbl_80295E50:
/* 80295E50 00291AB0 80 E4 00 90 */ lwz r7, 0x90(r4)
/* 80295E54 00291AB4 80 C3 00 00 */ lwz r6, 0(r3)
/* 80295E58 00291AB8 80 A3 00 04 */ lwz r5, 4(r3)
/* 80295E5C 00291ABC 2C 07 00 00 */ cmpwi r7, 0
/* 80295E60 00291AC0 80 03 00 08 */ lwz r0, 8(r3)
/* 80295E64 00291AC4 90 C1 00 20 */ stw r6, 0x20(r1)
/* 80295E68 00291AC8 90 A1 00 24 */ stw r5, 0x24(r1)
/* 80295E6C 00291ACC 90 01 00 28 */ stw r0, 0x28(r1)
/* 80295E70 00291AD0 41 82 00 1C */ beq lbl_80295E8C
/* 80295E74 00291AD4 80 A7 00 00 */ lwz r5, 0(r7)
/* 80295E78 00291AD8 80 67 00 04 */ lwz r3, 4(r7)
/* 80295E7C 00291ADC 80 07 00 08 */ lwz r0, 8(r7)
/* 80295E80 00291AE0 90 A1 00 14 */ stw r5, 0x14(r1)
/* 80295E84 00291AE4 90 61 00 18 */ stw r3, 0x18(r1)
/* 80295E88 00291AE8 90 01 00 1C */ stw r0, 0x1c(r1)
lbl_80295E8C:
/* 80295E8C 00291AEC 80 C4 00 94 */ lwz r6, 0x94(r4)
/* 80295E90 00291AF0 2C 06 00 00 */ cmpwi r6, 0
/* 80295E94 00291AF4 41 82 00 1C */ beq lbl_80295EB0
/* 80295E98 00291AF8 80 A6 00 00 */ lwz r5, 0(r6)
/* 80295E9C 00291AFC 80 66 00 04 */ lwz r3, 4(r6)
/* 80295EA0 00291B00 80 06 00 08 */ lwz r0, 8(r6)
/* 80295EA4 00291B04 90 A1 00 08 */ stw r5, 8(r1)
/* 80295EA8 00291B08 90 61 00 0C */ stw r3, 0xc(r1)
/* 80295EAC 00291B0C 90 01 00 10 */ stw r0, 0x10(r1)
lbl_80295EB0:
/* 80295EB0 00291B10 38 61 00 30 */ addi r3, r1, 0x30
/* 80295EB4 00291B14 38 84 00 20 */ addi r4, r4, 0x20
/* 80295EB8 00291B18 48 00 04 B9 */ bl __CalcLFO
/* 80295EBC 00291B1C CB E2 A3 40 */ lfd f31, lbl_80642940-_SDA2_BASE_(r2)
/* 80295EC0 00291B20 3B C1 00 30 */ addi r30, r1, 0x30
/* 80295EC4 00291B24 3B A0 00 00 */ li r29, 0
/* 80295EC8 00291B28 3F E0 43 30 */ lis r31, 0x4330
/* 80295ECC 00291B2C 3B 20 00 00 */ li r25, 0
/* 80295ED0 00291B30 3B 40 00 03 */ li r26, 3
lbl_80295ED4:
/* 80295ED4 00291B34 80 7B 00 10 */ lwz r3, 0x10(r27)
/* 80295ED8 00291B38 80 1E 00 00 */ lwz r0, 0(r30)
/* 80295EDC 00291B3C 80 9B 00 18 */ lwz r4, 0x18(r27)
/* 80295EE0 00291B40 7C C3 02 14 */ add r6, r3, r0
/* 80295EE4 00291B44 7C 06 20 00 */ cmpw r6, r4
/* 80295EE8 00291B48 41 80 00 0C */ blt lbl_80295EF4
/* 80295EEC 00291B4C 7C C4 30 50 */ subf r6, r4, r6
/* 80295EF0 00291B50 48 00 00 10 */ b lbl_80295F00
lbl_80295EF4:
/* 80295EF4 00291B54 2C 06 00 00 */ cmpwi r6, 0
/* 80295EF8 00291B58 40 80 00 08 */ bge lbl_80295F00
/* 80295EFC 00291B5C 7C C6 22 14 */ add r6, r6, r4
lbl_80295F00:
/* 80295F00 00291B60 80 1B 00 14 */ lwz r0, 0x14(r27)
/* 80295F04 00291B64 7C 60 30 51 */ subf. r3, r0, r6
/* 80295F08 00291B68 40 80 00 08 */ bge lbl_80295F10
/* 80295F0C 00291B6C 7C 63 22 14 */ add r3, r3, r4
lbl_80295F10:
/* 80295F10 00291B70 54 67 84 3F */ rlwinm. r7, r3, 0x10, 0x10, 0x1f
/* 80295F14 00291B74 54 68 04 3E */ clrlwi r8, r3, 0x10
/* 80295F18 00291B78 54 09 84 3E */ srwi r9, r0, 0x10
/* 80295F1C 00291B7C 83 9B 00 78 */ lwz r28, 0x78(r27)
/* 80295F20 00291B80 7C E9 03 A6 */ mtctr r7
/* 80295F24 00291B84 41 82 00 58 */ beq lbl_80295F7C
lbl_80295F28:
/* 80295F28 00291B88 80 7B 00 00 */ lwz r3, 0(r27)
/* 80295F2C 00291B8C 55 24 10 3A */ slwi r4, r9, 2
/* 80295F30 00291B90 57 80 10 3A */ slwi r0, r28, 2
/* 80295F34 00291B94 3B 9C 00 01 */ addi r28, r28, 1
/* 80295F38 00291B98 7C 03 24 2E */ lfsx f0, r3, r4
/* 80295F3C 00291B9C 7C BB 02 14 */ add r5, r27, r0
/* 80295F40 00291BA0 39 29 00 01 */ addi r9, r9, 1
/* 80295F44 00291BA4 57 9C 07 BE */ clrlwi r28, r28, 0x1e
/* 80295F48 00291BA8 D0 05 00 48 */ stfs f0, 0x48(r5)
/* 80295F4C 00291BAC 38 E7 FF FF */ addi r7, r7, -1
/* 80295F50 00291BB0 80 7B 00 04 */ lwz r3, 4(r27)
/* 80295F54 00291BB4 7C 03 24 2E */ lfsx f0, r3, r4
/* 80295F58 00291BB8 D0 05 00 58 */ stfs f0, 0x58(r5)
/* 80295F5C 00291BBC 80 7B 00 08 */ lwz r3, 8(r27)
/* 80295F60 00291BC0 7C 03 24 2E */ lfsx f0, r3, r4
/* 80295F64 00291BC4 D0 05 00 68 */ stfs f0, 0x68(r5)
/* 80295F68 00291BC8 80 1B 00 1C */ lwz r0, 0x1c(r27)
/* 80295F6C 00291BCC 7C 09 00 40 */ cmplw r9, r0
/* 80295F70 00291BD0 41 80 00 08 */ blt lbl_80295F78
/* 80295F74 00291BD4 39 20 00 00 */ li r9, 0
lbl_80295F78:
/* 80295F78 00291BD8 42 00 FF B0 */ bdnz lbl_80295F28
lbl_80295F7C:
/* 80295F7C 00291BDC 54 C0 00 1E */ rlwinm r0, r6, 0, 0, 0xf
/* 80295F80 00291BE0 55 03 BE 7E */ rlwinm r3, r8, 0x17, 0x19, 0x1f
/* 80295F84 00291BE4 90 1B 00 14 */ stw r0, 0x14(r27)
/* 80295F88 00291BE8 48 00 04 F9 */ bl __AXFXGetSrcCoef
/* 80295F8C 00291BEC 7F 64 DB 78 */ mr r4, r27
/* 80295F90 00291BF0 7F 67 DB 78 */ mr r7, r27
/* 80295F94 00291BF4 38 A1 00 14 */ addi r5, r1, 0x14
/* 80295F98 00291BF8 38 C1 00 20 */ addi r6, r1, 0x20
/* 80295F9C 00291BFC 39 01 00 08 */ addi r8, r1, 8
/* 80295FA0 00291C00 7F 49 03 A6 */ mtctr r26
lbl_80295FA4:
/* 80295FA4 00291C04 57 80 10 3A */ slwi r0, r28, 2
/* 80295FA8 00291C08 3B 9C 00 01 */ addi r28, r28, 1
/* 80295FAC 00291C0C 7D 44 02 14 */ add r10, r4, r0
/* 80295FB0 00291C10 80 1B 00 90 */ lwz r0, 0x90(r27)
/* 80295FB4 00291C14 57 9C 07 BE */ clrlwi r28, r28, 0x1e
/* 80295FB8 00291C18 C0 23 00 00 */ lfs f1, 0(r3)
/* 80295FBC 00291C1C 57 89 10 3A */ slwi r9, r28, 2
/* 80295FC0 00291C20 C0 0A 00 48 */ lfs f0, 0x48(r10)
/* 80295FC4 00291C24 3B 9C 00 01 */ addi r28, r28, 1
/* 80295FC8 00291C28 C0 A2 A3 3C */ lfs f5, lbl_8064293C-_SDA2_BASE_(r2)
/* 80295FCC 00291C2C EC 41 00 32 */ fmuls f2, f1, f0
/* 80295FD0 00291C30 7D 64 4A 14 */ add r11, r4, r9
/* 80295FD4 00291C34 57 9C 07 BE */ clrlwi r28, r28, 0x1e
/* 80295FD8 00291C38 C0 23 00 04 */ lfs f1, 4(r3)
/* 80295FDC 00291C3C 57 89 10 3A */ slwi r9, r28, 2
/* 80295FE0 00291C40 C0 0B 00 48 */ lfs f0, 0x48(r11)
/* 80295FE4 00291C44 3B 9C 00 01 */ addi r28, r28, 1
/* 80295FE8 00291C48 EC 81 00 32 */ fmuls f4, f1, f0
/* 80295FEC 00291C4C EC A5 10 2A */ fadds f5, f5, f2
/* 80295FF0 00291C50 7D 44 4A 14 */ add r10, r4, r9
/* 80295FF4 00291C54 57 9C 07 BE */ clrlwi r28, r28, 0x1e
/* 80295FF8 00291C58 C0 63 00 08 */ lfs f3, 8(r3)
/* 80295FFC 00291C5C 57 89 10 3A */ slwi r9, r28, 2
/* 80296000 00291C60 C0 4A 00 48 */ lfs f2, 0x48(r10)
/* 80296004 00291C64 7D 24 4A 14 */ add r9, r4, r9
/* 80296008 00291C68 EC A5 20 2A */ fadds f5, f5, f4
/* 8029600C 00291C6C EC 43 00 B2 */ fmuls f2, f3, f2
/* 80296010 00291C70 C0 23 00 0C */ lfs f1, 0xc(r3)
/* 80296014 00291C74 C0 09 00 48 */ lfs f0, 0x48(r9)
/* 80296018 00291C78 2C 00 00 00 */ cmpwi r0, 0
/* 8029601C 00291C7C 3B 9C 00 01 */ addi r28, r28, 1
/* 80296020 00291C80 EC 01 00 32 */ fmuls f0, f1, f0
/* 80296024 00291C84 EC A5 10 2A */ fadds f5, f5, f2
/* 80296028 00291C88 57 9C 07 BE */ clrlwi r28, r28, 0x1e
/* 8029602C 00291C8C EC A5 00 2A */ fadds f5, f5, f0
/* 80296030 00291C90 41 82 00 38 */ beq lbl_80296068
/* 80296034 00291C94 81 25 00 00 */ lwz r9, 0(r5)
/* 80296038 00291C98 81 46 00 00 */ lwz r10, 0(r6)
/* 8029603C 00291C9C 80 09 00 00 */ lwz r0, 0(r9)
/* 80296040 00291CA0 39 29 00 04 */ addi r9, r9, 4
/* 80296044 00291CA4 81 4A 00 00 */ lwz r10, 0(r10)
/* 80296048 00291CA8 93 E1 01 B0 */ stw r31, 0x1b0(r1)
/* 8029604C 00291CAC 7C 0A 02 14 */ add r0, r10, r0
/* 80296050 00291CB0 6C 00 80 00 */ xoris r0, r0, 0x8000
/* 80296054 00291CB4 91 25 00 00 */ stw r9, 0(r5)
/* 80296058 00291CB8 90 01 01 B4 */ stw r0, 0x1b4(r1)
/* 8029605C 00291CBC C8 01 01 B0 */ lfd f0, 0x1b0(r1)
/* 80296060 00291CC0 EC 20 F8 28 */ fsubs f1, f0, f31
/* 80296064 00291CC4 48 00 00 20 */ b lbl_80296084
lbl_80296068:
/* 80296068 00291CC8 81 26 00 00 */ lwz r9, 0(r6)
/* 8029606C 00291CCC 93 E1 01 B8 */ stw r31, 0x1b8(r1)
/* 80296070 00291CD0 80 09 00 00 */ lwz r0, 0(r9)
/* 80296074 00291CD4 6C 00 80 00 */ xoris r0, r0, 0x8000
/* 80296078 00291CD8 90 01 01 BC */ stw r0, 0x1bc(r1)
/* 8029607C 00291CDC C8 01 01 B8 */ lfd f0, 0x1b8(r1)
/* 80296080 00291CE0 EC 20 F8 28 */ fsubs f1, f0, f31
lbl_80296084:
/* 80296084 00291CE4 C0 1B 00 8C */ lfs f0, 0x8c(r27)
/* 80296088 00291CE8 80 1B 00 0C */ lwz r0, 0xc(r27)
/* 8029608C 00291CEC EC 05 00 32 */ fmuls f0, f5, f0
/* 80296090 00291CF0 81 67 00 00 */ lwz r11, 0(r7)
/* 80296094 00291CF4 54 0A 10 3A */ slwi r10, r0, 2
/* 80296098 00291CF8 81 26 00 00 */ lwz r9, 0(r6)
/* 8029609C 00291CFC EC 01 00 2A */ fadds f0, f1, f0
/* 802960A0 00291D00 38 09 00 04 */ addi r0, r9, 4
/* 802960A4 00291D04 90 06 00 00 */ stw r0, 0(r6)
/* 802960A8 00291D08 7C 0B 55 2E */ stfsx f0, r11, r10
/* 802960AC 00291D0C C0 1B 00 98 */ lfs f0, 0x98(r27)
/* 802960B0 00291D10 EC 05 00 32 */ fmuls f0, f5, f0
/* 802960B4 00291D14 FC 00 00 1E */ fctiwz f0, f0
/* 802960B8 00291D18 D8 01 01 C0 */ stfd f0, 0x1c0(r1)
/* 802960BC 00291D1C 80 01 01 C4 */ lwz r0, 0x1c4(r1)
/* 802960C0 00291D20 90 09 00 00 */ stw r0, 0(r9)
/* 802960C4 00291D24 80 1B 00 94 */ lwz r0, 0x94(r27)
/* 802960C8 00291D28 2C 00 00 00 */ cmpwi r0, 0
/* 802960CC 00291D2C 41 82 00 28 */ beq lbl_802960F4
/* 802960D0 00291D30 C0 1B 00 9C */ lfs f0, 0x9c(r27)
/* 802960D4 00291D34 81 28 00 00 */ lwz r9, 0(r8)
/* 802960D8 00291D38 EC 05 00 32 */ fmuls f0, f5, f0
/* 802960DC 00291D3C 38 09 00 04 */ addi r0, r9, 4
/* 802960E0 00291D40 90 08 00 00 */ stw r0, 0(r8)
/* 802960E4 00291D44 FC 00 00 1E */ fctiwz f0, f0
/* 802960E8 00291D48 D8 01 01 C0 */ stfd f0, 0x1c0(r1)
/* 802960EC 00291D4C 80 01 01 C4 */ lwz r0, 0x1c4(r1)
/* 802960F0 00291D50 90 09 00 00 */ stw r0, 0(r9)
lbl_802960F4:
/* 802960F4 00291D54 38 84 00 10 */ addi r4, r4, 0x10
/* 802960F8 00291D58 38 A5 00 04 */ addi r5, r5, 4
/* 802960FC 00291D5C 38 C6 00 04 */ addi r6, r6, 4
/* 80296100 00291D60 38 E7 00 04 */ addi r7, r7, 4
/* 80296104 00291D64 39 08 00 04 */ addi r8, r8, 4
/* 80296108 00291D68 42 00 FE 9C */ bdnz lbl_80295FA4
/* 8029610C 00291D6C 80 7B 00 0C */ lwz r3, 0xc(r27)
/* 80296110 00291D70 80 1B 00 1C */ lwz r0, 0x1c(r27)
/* 80296114 00291D74 38 63 00 01 */ addi r3, r3, 1
/* 80296118 00291D78 93 9B 00 78 */ stw r28, 0x78(r27)
/* 8029611C 00291D7C 7C 03 00 40 */ cmplw r3, r0
/* 80296120 00291D80 90 7B 00 0C */ stw r3, 0xc(r27)
/* 80296124 00291D84 41 80 00 08 */ blt lbl_8029612C
/* 80296128 00291D88 93 3B 00 0C */ stw r25, 0xc(r27)
lbl_8029612C:
/* 8029612C 00291D8C 80 7B 00 10 */ lwz r3, 0x10(r27)
/* 80296130 00291D90 80 1B 00 18 */ lwz r0, 0x18(r27)
/* 80296134 00291D94 3C 63 00 01 */ addis r3, r3, 1
/* 80296138 00291D98 7C 03 00 40 */ cmplw r3, r0
/* 8029613C 00291D9C 90 7B 00 10 */ stw r3, 0x10(r27)
/* 80296140 00291DA0 41 80 00 08 */ blt lbl_80296148
/* 80296144 00291DA4 93 3B 00 10 */ stw r25, 0x10(r27)
lbl_80296148:
/* 80296148 00291DA8 3B BD 00 01 */ addi r29, r29, 1
/* 8029614C 00291DAC 3B DE 00 04 */ addi r30, r30, 4
/* 80296150 00291DB0 28 1D 00 60 */ cmplwi r29, 0x60
/* 80296154 00291DB4 41 80 FD 80 */ blt lbl_80295ED4
lbl_80296158:
/* 80296158 00291DB8 E3 E1 01 F8 */ psq_l f31, 504(r1), 0, qr0
/* 8029615C 00291DBC 39 61 01 F0 */ addi r11, r1, 0x1f0
/* 80296160 00291DC0 CB E1 01 F0 */ lfd f31, 0x1f0(r1)
/* 80296164 00291DC4 4B F3 10 09 */ bl _restgpr_25
/* 80296168 00291DC8 80 01 02 04 */ lwz r0, 0x204(r1)
/* 8029616C 00291DCC 7C 08 03 A6 */ mtlr r0
/* 80296170 00291DD0 38 21 02 00 */ addi r1, r1, 0x200
/* 80296174 00291DD4 4E 80 00 20 */ blr
__InitParams:
/* 80296178 00291DD8 94 21 FF D0 */ stwu r1, -0x30(r1)
/* 8029617C 00291DDC 7C 08 02 A6 */ mflr r0
/* 80296180 00291DE0 C0 82 A3 48 */ lfs f4, lbl_80642948-_SDA2_BASE_(r2)
/* 80296184 00291DE4 90 01 00 34 */ stw r0, 0x34(r1)
/* 80296188 00291DE8 93 E1 00 2C */ stw r31, 0x2c(r1)
/* 8029618C 00291DEC 7C 7F 1B 78 */ mr r31, r3
/* 80296190 00291DF0 C0 23 00 80 */ lfs f1, 0x80(r3)
/* 80296194 00291DF4 FC 01 20 40 */ fcmpo cr0, f1, f4
/* 80296198 00291DF8 41 80 00 10 */ blt lbl_802961A8
/* 8029619C 00291DFC C0 02 A3 4C */ lfs f0, lbl_8064294C-_SDA2_BASE_(r2)
/* 802961A0 00291E00 FC 01 00 40 */ fcmpo cr0, f1, f0
/* 802961A4 00291E04 40 81 00 0C */ ble lbl_802961B0
lbl_802961A8:
/* 802961A8 00291E08 38 60 00 00 */ li r3, 0
/* 802961AC 00291E0C 48 00 01 B0 */ b lbl_8029635C
lbl_802961B0:
/* 802961B0 00291E10 C0 03 00 84 */ lfs f0, 0x84(r3)
/* 802961B4 00291E14 C0 62 A3 3C */ lfs f3, lbl_8064293C-_SDA2_BASE_(r2)
/* 802961B8 00291E18 FC 00 18 40 */ fcmpo cr0, f0, f3
/* 802961BC 00291E1C 41 80 00 10 */ blt lbl_802961CC
/* 802961C0 00291E20 C0 42 A3 50 */ lfs f2, lbl_80642950-_SDA2_BASE_(r2)
/* 802961C4 00291E24 FC 00 10 40 */ fcmpo cr0, f0, f2
/* 802961C8 00291E28 40 81 00 0C */ ble lbl_802961D4
lbl_802961CC:
/* 802961CC 00291E2C 38 60 00 00 */ li r3, 0
/* 802961D0 00291E30 48 00 01 8C */ b lbl_8029635C
lbl_802961D4:
/* 802961D4 00291E34 C0 23 00 88 */ lfs f1, 0x88(r3)
/* 802961D8 00291E38 FC 01 20 40 */ fcmpo cr0, f1, f4
/* 802961DC 00291E3C 41 80 00 10 */ blt lbl_802961EC
/* 802961E0 00291E40 C0 02 A3 54 */ lfs f0, lbl_80642954-_SDA2_BASE_(r2)
/* 802961E4 00291E44 FC 01 00 40 */ fcmpo cr0, f1, f0
/* 802961E8 00291E48 40 81 00 0C */ ble lbl_802961F4
lbl_802961EC:
/* 802961EC 00291E4C 38 60 00 00 */ li r3, 0
/* 802961F0 00291E50 48 00 01 6C */ b lbl_8029635C
lbl_802961F4:
/* 802961F4 00291E54 C0 03 00 8C */ lfs f0, 0x8c(r3)
/* 802961F8 00291E58 FC 00 18 40 */ fcmpo cr0, f0, f3
/* 802961FC 00291E5C 41 80 00 10 */ blt lbl_8029620C
/* 80296200 00291E60 FC 00 10 40 */ fcmpo cr0, f0, f2
/* 80296204 00291E64 4C 41 13 82 */ cror 2, 1, 2
/* 80296208 00291E68 40 82 00 0C */ bne lbl_80296214
lbl_8029620C:
/* 8029620C 00291E6C 38 60 00 00 */ li r3, 0
/* 80296210 00291E70 48 00 01 4C */ b lbl_8029635C
lbl_80296214:
/* 80296214 00291E74 C0 03 00 98 */ lfs f0, 0x98(r3)
/* 80296218 00291E78 FC 00 18 40 */ fcmpo cr0, f0, f3
/* 8029621C 00291E7C 41 80 00 0C */ blt lbl_80296228
/* 80296220 00291E80 FC 00 10 40 */ fcmpo cr0, f0, f2
/* 80296224 00291E84 40 81 00 0C */ ble lbl_80296230
lbl_80296228:
/* 80296228 00291E88 38 60 00 00 */ li r3, 0
/* 8029622C 00291E8C 48 00 01 30 */ b lbl_8029635C
lbl_80296230:
/* 80296230 00291E90 C0 03 00 9C */ lfs f0, 0x9c(r3)
/* 80296234 00291E94 FC 00 18 40 */ fcmpo cr0, f0, f3
/* 80296238 00291E98 41 80 00 0C */ blt lbl_80296244
/* 8029623C 00291E9C FC 00 10 40 */ fcmpo cr0, f0, f2
/* 80296240 00291EA0 40 81 00 0C */ ble lbl_8029624C
lbl_80296244:
/* 80296244 00291EA4 38 60 00 00 */ li r3, 0
/* 80296248 00291EA8 48 00 01 14 */ b lbl_8029635C
lbl_8029624C:
/* 8029624C 00291EAC 48 00 02 29 */ bl __AXFXGetLfoSinTable
/* 80296250 00291EB0 C0 42 A3 38 */ lfs f2, lbl_80642938-_SDA2_BASE_(r2)
/* 80296254 00291EB4 C0 3F 00 80 */ lfs f1, 0x80(r31)
/* 80296258 00291EB8 C0 1F 00 84 */ lfs f0, 0x84(r31)
/* 8029625C 00291EBC EC 22 00 72 */ fmuls f1, f2, f1
/* 80296260 00291EC0 90 7F 00 20 */ stw r3, 0x20(r31)
/* 80296264 00291EC4 EC C1 00 32 */ fmuls f6, f1, f0
/* 80296268 00291EC8 FC 06 08 40 */ fcmpo cr0, f6, f1
/* 8029626C 00291ECC 4C 41 13 82 */ cror 2, 1, 2
/* 80296270 00291ED0 40 82 00 1C */ bne lbl_8029628C
/* 80296274 00291ED4 C0 22 A3 50 */ lfs f1, lbl_80642950-_SDA2_BASE_(r2)
/* 80296278 00291ED8 C0 02 A3 3C */ lfs f0, lbl_8064293C-_SDA2_BASE_(r2)
/* 8029627C 00291EDC EC C6 08 28 */ fsubs f6, f6, f1
/* 80296280 00291EE0 FC 06 00 40 */ fcmpo cr0, f6, f0
/* 80296284 00291EE4 40 80 00 08 */ bge lbl_8029628C
/* 80296288 00291EE8 FC C0 00 90 */ fmr f6, f0
lbl_8029628C:
/* 8029628C 00291EEC C0 7F 00 88 */ lfs f3, 0x88(r31)
/* 80296290 00291EF0 38 80 00 00 */ li r4, 0
/* 80296294 00291EF4 C0 42 A3 60 */ lfs f2, lbl_80642960-_SDA2_BASE_(r2)
/* 80296298 00291EF8 38 00 FF FF */ li r0, -1
/* 8029629C 00291EFC C0 82 A3 5C */ lfs f4, lbl_8064295C-_SDA2_BASE_(r2)
/* 802962A0 00291F00 38 60 00 01 */ li r3, 1
/* 802962A4 00291F04 EC 22 18 24 */ fdivs f1, f2, f3
/* 802962A8 00291F08 C0 02 A3 64 */ lfs f0, lbl_80642964-_SDA2_BASE_(r2)
/* 802962AC 00291F0C C0 A2 A3 58 */ lfs f5, lbl_80642958-_SDA2_BASE_(r2)
/* 802962B0 00291F10 90 1F 00 38 */ stw r0, 0x38(r31)
/* 802962B4 00291F14 90 9F 00 30 */ stw r4, 0x30(r31)
/* 802962B8 00291F18 90 9F 00 34 */ stw r4, 0x34(r31)
/* 802962BC 00291F1C EC E1 00 32 */ fmuls f7, f1, f0
/* 802962C0 00291F20 C0 02 A3 3C */ lfs f0, lbl_8064293C-_SDA2_BASE_(r2)
/* 802962C4 00291F24 EC 24 00 F2 */ fmuls f1, f4, f3
/* 802962C8 00291F28 90 9F 00 3C */ stw r4, 0x3c(r31)
/* 802962CC 00291F2C EC 85 01 B2 */ fmuls f4, f5, f6
/* 802962D0 00291F30 EC C6 38 24 */ fdivs f6, f6, f7
/* 802962D4 00291F34 90 9F 00 40 */ stw r4, 0x40(r31)
/* 802962D8 00291F38 EC 21 10 24 */ fdivs f1, f1, f2
/* 802962DC 00291F3C EC 65 00 72 */ fmuls f3, f5, f1
/* 802962E0 00291F40 EC 45 01 F2 */ fmuls f2, f5, f7
/* 802962E4 00291F44 EC 25 01 B2 */ fmuls f1, f5, f6
/* 802962E8 00291F48 FC 80 20 1E */ fctiwz f4, f4
/* 802962EC 00291F4C FC 60 18 1E */ fctiwz f3, f3
/* 802962F0 00291F50 FC 40 10 1E */ fctiwz f2, f2
/* 802962F4 00291F54 FC 20 08 1E */ fctiwz f1, f1
/* 802962F8 00291F58 D8 81 00 08 */ stfd f4, 8(r1)
/* 802962FC 00291F5C D8 61 00 10 */ stfd f3, 0x10(r1)
/* 80296300 00291F60 80 E1 00 0C */ lwz r7, 0xc(r1)
/* 80296304 00291F64 D8 41 00 18 */ stfd f2, 0x18(r1)
/* 80296308 00291F68 80 C1 00 14 */ lwz r6, 0x14(r1)
/* 8029630C 00291F6C D8 21 00 20 */ stfd f1, 0x20(r1)
/* 80296310 00291F70 80 A1 00 1C */ lwz r5, 0x1c(r1)
/* 80296314 00291F74 80 01 00 24 */ lwz r0, 0x24(r1)
/* 80296318 00291F78 90 FF 00 2C */ stw r7, 0x2c(r31)
/* 8029631C 00291F7C 90 DF 00 24 */ stw r6, 0x24(r31)
/* 80296320 00291F80 90 BF 00 28 */ stw r5, 0x28(r31)
/* 80296324 00291F84 90 1F 00 44 */ stw r0, 0x44(r31)
/* 80296328 00291F88 D0 1F 00 48 */ stfs f0, 0x48(r31)
/* 8029632C 00291F8C D0 1F 00 4C */ stfs f0, 0x4c(r31)
/* 80296330 00291F90 D0 1F 00 50 */ stfs f0, 0x50(r31)
/* 80296334 00291F94 D0 1F 00 54 */ stfs f0, 0x54(r31)
/* 80296338 00291F98 D0 1F 00 58 */ stfs f0, 0x58(r31)
/* 8029633C 00291F9C D0 1F 00 5C */ stfs f0, 0x5c(r31)
/* 80296340 00291FA0 D0 1F 00 60 */ stfs f0, 0x60(r31)
/* 80296344 00291FA4 D0 1F 00 64 */ stfs f0, 0x64(r31)
/* 80296348 00291FA8 D0 1F 00 68 */ stfs f0, 0x68(r31)
/* 8029634C 00291FAC D0 1F 00 6C */ stfs f0, 0x6c(r31)
/* 80296350 00291FB0 D0 1F 00 70 */ stfs f0, 0x70(r31)
/* 80296354 00291FB4 D0 1F 00 74 */ stfs f0, 0x74(r31)
/* 80296358 00291FB8 90 9F 00 78 */ stw r4, 0x78(r31)
lbl_8029635C:
/* 8029635C 00291FBC 80 01 00 34 */ lwz r0, 0x34(r1)
/* 80296360 00291FC0 83 E1 00 2C */ lwz r31, 0x2c(r1)
/* 80296364 00291FC4 7C 08 03 A6 */ mtlr r0
/* 80296368 00291FC8 38 21 00 30 */ addi r1, r1, 0x30
/* 8029636C 00291FCC 4E 80 00 20 */ blr
__CalcLFO:
/* 80296370 00291FD0 94 21 FF F0 */ stwu r1, -0x10(r1)
/* 80296374 00291FD4 38 00 00 60 */ li r0, 0x60
/* 80296378 00291FD8 93 E1 00 0C */ stw r31, 0xc(r1)
/* 8029637C 00291FDC 7C 09 03 A6 */ mtctr r0
lbl_80296380:
/* 80296380 00291FE0 80 A4 00 10 */ lwz r5, 0x10(r4)
/* 80296384 00291FE4 80 04 00 18 */ lwz r0, 0x18(r4)
/* 80296388 00291FE8 54 A5 00 1E */ rlwinm r5, r5, 0, 0, 0xf
/* 8029638C 00291FEC 7C 05 00 40 */ cmplw r5, r0
/* 80296390 00291FF0 41 82 00 78 */ beq lbl_80296408
/* 80296394 00291FF4 90 A4 00 18 */ stw r5, 0x18(r4)
/* 80296398 00291FF8 54 A5 84 3E */ srwi r5, r5, 0x10
/* 8029639C 00291FFC 38 05 00 01 */ addi r0, r5, 1
/* 802963A0 00292000 80 C4 00 00 */ lwz r6, 0(r4)
/* 802963A4 00292004 54 A5 10 3A */ slwi r5, r5, 2
/* 802963A8 00292008 81 24 00 24 */ lwz r9, 0x24(r4)
/* 802963AC 0029200C 54 00 15 FA */ rlwinm r0, r0, 2, 0x17, 0x1d
/* 802963B0 00292010 7D 66 28 2E */ lwzx r11, r6, r5
/* 802963B4 00292014 7C 06 00 2E */ lwzx r0, r6, r0
/* 802963B8 00292018 80 A4 00 0C */ lwz r5, 0xc(r4)
/* 802963BC 0029201C 7D 4B 00 50 */ subf r10, r11, r0
/* 802963C0 00292020 7C 0B 29 D6 */ mullw r0, r11, r5
/* 802963C4 00292024 7D 5F FE 70 */ srawi r31, r10, 0x1f
/* 802963C8 00292028 7D 27 FE 70 */ srawi r7, r9, 0x1f
/* 802963CC 0029202C 7C CA 49 D6 */ mullw r6, r10, r9
/* 802963D0 00292030 54 0C 40 3E */ rotlwi r12, r0, 8
/* 802963D4 00292034 7C 0B 28 96 */ mulhw r0, r11, r5
/* 802963D8 00292038 54 C6 40 3E */ rotlwi r6, r6, 8
/* 802963DC 0029203C 7D 0A 48 16 */ mulhwu r8, r10, r9
/* 802963E0 00292040 50 0C 40 2E */ rlwimi r12, r0, 8, 0, 0x17
/* 802963E4 00292044 7D 3F 49 D6 */ mullw r9, r31, r9
/* 802963E8 00292048 7C AA 39 D6 */ mullw r5, r10, r7
/* 802963EC 0029204C 7D 08 4A 14 */ add r8, r8, r9
/* 802963F0 00292050 7D 08 2A 14 */ add r8, r8, r5
/* 802963F4 00292054 51 06 40 2E */ rlwimi r6, r8, 8, 0, 0x17
/* 802963F8 00292058 7D 05 C6 70 */ srawi r5, r8, 0x18
/* 802963FC 0029205C 90 C4 00 20 */ stw r6, 0x20(r4)
/* 80296400 00292060 7C 05 C6 70 */ srawi r5, r0, 0x18
/* 80296404 00292064 48 00 00 14 */ b lbl_80296418
lbl_80296408:
/* 80296408 00292068 80 A4 00 1C */ lwz r5, 0x1c(r4)
/* 8029640C 0029206C 80 04 00 20 */ lwz r0, 0x20(r4)
/* 80296410 00292070 7D 85 02 14 */ add r12, r5, r0
/* 80296414 00292074 7D 85 FE 70 */ srawi r5, r12, 0x1f
lbl_80296418:
/* 80296418 00292078 80 04 00 14 */ lwz r0, 0x14(r4)
/* 8029641C 0029207C 91 84 00 1C */ stw r12, 0x1c(r4)
/* 80296420 00292080 28 00 00 01 */ cmplwi r0, 1
/* 80296424 00292084 41 80 00 0C */ blt lbl_80296430
/* 80296428 00292088 21 8C 00 00 */ subfic r12, r12, 0
/* 8029642C 0029208C 7C A5 01 90 */ subfze r5, r5
lbl_80296430:
/* 80296430 00292090 80 A4 00 10 */ lwz r5, 0x10(r4)
/* 80296434 00292094 80 04 00 04 */ lwz r0, 4(r4)
/* 80296438 00292098 7C A5 02 14 */ add r5, r5, r0
/* 8029643C 0029209C 54 A0 00 11 */ rlwinm. r0, r5, 0, 0, 8
/* 80296440 002920A0 90 A4 00 10 */ stw r5, 0x10(r4)
/* 80296444 002920A4 41 82 00 18 */ beq lbl_8029645C
/* 80296448 002920A8 80 04 00 14 */ lwz r0, 0x14(r4)
/* 8029644C 002920AC 54 A5 02 7E */ clrlwi r5, r5, 9
/* 80296450 002920B0 90 A4 00 10 */ stw r5, 0x10(r4)
/* 80296454 002920B4 68 00 00 01 */ xori r0, r0, 1
/* 80296458 002920B8 90 04 00 14 */ stw r0, 0x14(r4)
lbl_8029645C:
/* 8029645C 002920BC 91 83 00 00 */ stw r12, 0(r3)
/* 80296460 002920C0 38 63 00 04 */ addi r3, r3, 4
/* 80296464 002920C4 42 00 FF 1C */ bdnz lbl_80296380
/* 80296468 002920C8 83 E1 00 0C */ lwz r31, 0xc(r1)
/* 8029646C 002920CC 38 21 00 10 */ addi r1, r1, 0x10
/* 80296470 002920D0 4E 80 00 20 */ blr
|