.include "macros.inc" .section .sbss .balign 4 .global dspARAMZeroBuffer dspARAMZeroBuffer: .skip 0x4 .global dspCmdLastLoad dspCmdLastLoad: .skip 0x4 .global dspCmdLastBase dspCmdLastBase: .skip 0x4 .global dspCmdLastSize dspCmdLastSize: .skip 0x4 .global dspCmdCurBase dspCmdCurBase: .skip 0x4 .global dspCmdMaxPtr dspCmdMaxPtr: .skip 0x4 .global dspCmdPtr dspCmdPtr: .skip 0x4 .global dspCmdFirstSize dspCmdFirstSize: .skip 0x4 .global dspCmdList dspCmdList: .skip 0x4 .global dspHRTFOn dspHRTFOn: .skip 0x4 .global dspHrtfHistoryBuffer dspHrtfHistoryBuffer: .skip 0x4 .global dspSurround dspSurround: .skip 0x4 .global dspITDBuffer dspITDBuffer: .skip 0x4 .global dspVoice dspVoice: .skip 0x4 .global salMessageCallback salMessageCallback: .skip 0x8 .section .data, "wa" .global lbl_803F3FA8 lbl_803F3FA8: .incbin "baserom.dol", 0x3F0FA8, 0x18 .section .rodata .global lbl_803D8A68 lbl_803D8A68: .incbin "baserom.dol", 0x3D5A68, 0x40 .global lbl_803D8AA8 lbl_803D8AA8: .incbin "baserom.dol", 0x3D5AA8, 0x18 .section .text, "ax" .global salInitDspCtrl salInitDspCtrl: /* 803AACFC 003A7C5C 94 21 FF E0 */ stwu r1, -0x20(r1) /* 803AAD00 003A7C60 7C 08 02 A6 */ mflr r0 /* 803AAD04 003A7C64 90 01 00 24 */ stw r0, 0x24(r1) /* 803AAD08 003A7C68 93 E1 00 1C */ stw r31, 0x1c(r1) /* 803AAD0C 003A7C6C 93 C1 00 18 */ stw r30, 0x18(r1) /* 803AAD10 003A7C70 93 A1 00 14 */ stw r29, 0x14(r1) /* 803AAD14 003A7C74 93 81 00 10 */ stw r28, 0x10(r1) /* 803AAD18 003A7C78 7C BC 2B 78 */ mr r28, r5 /* 803AAD1C 003A7C7C 98 6D AF 8D */ stb r3, salNumVoices@sda21(r13) /* 803AAD20 003A7C80 98 8D AF 8C */ stb r4, salMaxStudioNum@sda21(r13) /* 803AAD24 003A7C84 48 00 97 D1 */ bl aramGetZeroBuffer /* 803AAD28 003A7C88 90 6D AF 20 */ stw r3, dspARAMZeroBuffer@sda21(r13) /* 803AAD2C 003A7C8C 38 60 08 00 */ li r3, 0x800 /* 803AAD30 003A7C90 48 00 A4 05 */ bl salMalloc /* 803AAD34 003A7C94 28 03 00 00 */ cmplwi r3, 0 /* 803AAD38 003A7C98 90 6D AF 40 */ stw r3, dspCmdList@sda21(r13) /* 803AAD3C 003A7C9C 41 82 03 50 */ beq lbl_803AB08C /* 803AAD40 003A7CA0 38 60 02 80 */ li r3, 0x280 /* 803AAD44 003A7CA4 48 00 A3 F1 */ bl salMalloc /* 803AAD48 003A7CA8 28 03 00 00 */ cmplwi r3, 0 /* 803AAD4C 003A7CAC 90 6D AF 4C */ stw r3, dspSurround@sda21(r13) /* 803AAD50 003A7CB0 41 82 03 3C */ beq lbl_803AB08C /* 803AAD54 003A7CB4 38 80 00 00 */ li r4, 0 /* 803AAD58 003A7CB8 38 A0 02 80 */ li r5, 0x280 /* 803AAD5C 003A7CBC 4B C5 86 4D */ bl memset /* 803AAD60 003A7CC0 80 6D AF 4C */ lwz r3, dspSurround@sda21(r13) /* 803AAD64 003A7CC4 38 80 02 80 */ li r4, 0x280 /* 803AAD68 003A7CC8 4B FD 3D 49 */ bl DCFlushRange /* 803AAD6C 003A7CCC 88 0D AF 8D */ lbz r0, salNumVoices@sda21(r13) /* 803AAD70 003A7CD0 1C 60 00 F4 */ mulli r3, r0, 0xf4 /* 803AAD74 003A7CD4 48 00 A3 C1 */ bl salMalloc /* 803AAD78 003A7CD8 28 03 00 00 */ cmplwi r3, 0 /* 803AAD7C 003A7CDC 90 6D AF 54 */ stw r3, dspVoice@sda21(r13) /* 803AAD80 003A7CE0 41 82 03 0C */ beq lbl_803AB08C /* 803AAD84 003A7CE4 88 0D AF 8D */ lbz r0, salNumVoices@sda21(r13) /* 803AAD88 003A7CE8 54 03 30 32 */ slwi r3, r0, 6 /* 803AAD8C 003A7CEC 48 00 A3 A9 */ bl salMalloc /* 803AAD90 003A7CF0 28 03 00 00 */ cmplwi r3, 0 /* 803AAD94 003A7CF4 90 6D AF 50 */ stw r3, dspITDBuffer@sda21(r13) /* 803AAD98 003A7CF8 41 82 02 F4 */ beq lbl_803AB08C /* 803AAD9C 003A7CFC 88 0D AF 8D */ lbz r0, salNumVoices@sda21(r13) /* 803AADA0 003A7D00 54 04 30 32 */ slwi r4, r0, 6 /* 803AADA4 003A7D04 4B FD 3C E1 */ bl DCInvalidateRange /* 803AADA8 003A7D08 83 AD AF 50 */ lwz r29, dspITDBuffer@sda21(r13) /* 803AADAC 003A7D0C 3B C0 00 00 */ li r30, 0 /* 803AADB0 003A7D10 3B E0 00 00 */ li r31, 0 /* 803AADB4 003A7D14 48 00 01 74 */ b lbl_803AAF28 lbl_803AADB8: /* 803AADB8 003A7D18 80 8D AF 54 */ lwz r4, dspVoice@sda21(r13) /* 803AADBC 003A7D1C 38 1F 00 EC */ addi r0, r31, 0xec /* 803AADC0 003A7D20 39 40 00 00 */ li r10, 0 /* 803AADC4 003A7D24 38 7F 00 ED */ addi r3, r31, 0xed /* 803AADC8 003A7D28 7D 44 01 AE */ stbx r10, r4, r0 /* 803AADCC 003A7D2C 38 FF 00 EE */ addi r7, r31, 0xee /* 803AADD0 003A7D30 38 DF 00 E4 */ addi r6, r31, 0xe4 /* 803AADD4 003A7D34 39 00 00 FF */ li r8, 0xff /* 803AADD8 003A7D38 81 2D AF 54 */ lwz r9, dspVoice@sda21(r13) /* 803AADDC 003A7D3C 38 BF 00 E5 */ addi r5, r31, 0xe5 /* 803AADE0 003A7D40 38 9F 00 E6 */ addi r4, r31, 0xe6 /* 803AADE4 003A7D44 38 1F 00 E7 */ addi r0, r31, 0xe7 /* 803AADE8 003A7D48 7D 49 19 AE */ stbx r10, r9, r3 /* 803AADEC 003A7D4C 38 60 00 BC */ li r3, 0xbc /* 803AADF0 003A7D50 81 2D AF 54 */ lwz r9, dspVoice@sda21(r13) /* 803AADF4 003A7D54 7D 49 39 AE */ stbx r10, r9, r7 /* 803AADF8 003A7D58 80 ED AF 54 */ lwz r7, dspVoice@sda21(r13) /* 803AADFC 003A7D5C 7D 07 31 AE */ stbx r8, r7, r6 /* 803AAE00 003A7D60 80 CD AF 54 */ lwz r6, dspVoice@sda21(r13) /* 803AAE04 003A7D64 7D 06 29 AE */ stbx r8, r6, r5 /* 803AAE08 003A7D68 80 AD AF 54 */ lwz r5, dspVoice@sda21(r13) /* 803AAE0C 003A7D6C 7D 05 21 AE */ stbx r8, r5, r4 /* 803AAE10 003A7D70 80 8D AF 54 */ lwz r4, dspVoice@sda21(r13) /* 803AAE14 003A7D74 7D 04 01 AE */ stbx r8, r4, r0 /* 803AAE18 003A7D78 48 00 A3 1D */ bl salMalloc /* 803AAE1C 003A7D7C 80 CD AF 54 */ lwz r6, dspVoice@sda21(r13) /* 803AAE20 003A7D80 38 80 00 00 */ li r4, 0 /* 803AAE24 003A7D84 38 A0 00 BC */ li r5, 0xbc /* 803AAE28 003A7D88 7C 66 F9 2E */ stwx r3, r6, r31 /* 803AAE2C 003A7D8C 80 6D AF 54 */ lwz r3, dspVoice@sda21(r13) /* 803AAE30 003A7D90 7C 63 F8 2E */ lwzx r3, r3, r31 /* 803AAE34 003A7D94 4B C5 85 75 */ bl memset /* 803AAE38 003A7D98 38 60 00 80 */ li r3, 0x80 /* 803AAE3C 003A7D9C 48 00 A2 F9 */ bl salMalloc /* 803AAE40 003A7DA0 80 8D AF 54 */ lwz r4, dspVoice@sda21(r13) /* 803AAE44 003A7DA4 38 1F 00 04 */ addi r0, r31, 4 /* 803AAE48 003A7DA8 57 A7 84 3E */ srwi r7, r29, 0x10 /* 803AAE4C 003A7DAC 38 DF 00 08 */ addi r6, r31, 8 /* 803AAE50 003A7DB0 7C 64 01 2E */ stwx r3, r4, r0 /* 803AAE54 003A7DB4 38 1F 00 E8 */ addi r0, r31, 0xe8 /* 803AAE58 003A7DB8 38 A0 FF FF */ li r5, -1 /* 803AAE5C 003A7DBC 38 80 00 BC */ li r4, 0xbc /* 803AAE60 003A7DC0 80 6D AF 54 */ lwz r3, dspVoice@sda21(r13) /* 803AAE64 003A7DC4 7D 03 F8 2E */ lwzx r8, r3, r31 /* 803AAE68 003A7DC8 55 03 84 3E */ srwi r3, r8, 0x10 /* 803AAE6C 003A7DCC B0 68 00 04 */ sth r3, 4(r8) /* 803AAE70 003A7DD0 80 6D AF 54 */ lwz r3, dspVoice@sda21(r13) /* 803AAE74 003A7DD4 7C 63 F8 2E */ lwzx r3, r3, r31 /* 803AAE78 003A7DD8 B0 63 00 06 */ sth r3, 6(r3) /* 803AAE7C 003A7DDC 80 6D AF 54 */ lwz r3, dspVoice@sda21(r13) /* 803AAE80 003A7DE0 7C 63 FA 14 */ add r3, r3, r31 /* 803AAE84 003A7DE4 81 03 00 04 */ lwz r8, 4(r3) /* 803AAE88 003A7DE8 80 63 00 00 */ lwz r3, 0(r3) /* 803AAE8C 003A7DEC 55 08 84 3E */ srwi r8, r8, 0x10 /* 803AAE90 003A7DF0 B1 03 00 4E */ sth r8, 0x4e(r3) /* 803AAE94 003A7DF4 80 6D AF 54 */ lwz r3, dspVoice@sda21(r13) /* 803AAE98 003A7DF8 7C 63 FA 14 */ add r3, r3, r31 /* 803AAE9C 003A7DFC 81 03 00 04 */ lwz r8, 4(r3) /* 803AAEA0 003A7E00 80 63 00 00 */ lwz r3, 0(r3) /* 803AAEA4 003A7E04 B1 03 00 50 */ sth r8, 0x50(r3) /* 803AAEA8 003A7E08 80 6D AF 54 */ lwz r3, dspVoice@sda21(r13) /* 803AAEAC 003A7E0C 7C 63 F8 2E */ lwzx r3, r3, r31 /* 803AAEB0 003A7E10 B0 E3 00 38 */ sth r7, 0x38(r3) /* 803AAEB4 003A7E14 80 6D AF 54 */ lwz r3, dspVoice@sda21(r13) /* 803AAEB8 003A7E18 7C 63 F8 2E */ lwzx r3, r3, r31 /* 803AAEBC 003A7E1C B3 A3 00 3A */ sth r29, 0x3a(r3) /* 803AAEC0 003A7E20 80 6D AF 54 */ lwz r3, dspVoice@sda21(r13) /* 803AAEC4 003A7E24 7F A3 31 2E */ stwx r29, r3, r6 /* 803AAEC8 003A7E28 3B BD 00 40 */ addi r29, r29, 0x40 /* 803AAECC 003A7E2C 80 6D AF 54 */ lwz r3, dspVoice@sda21(r13) /* 803AAED0 003A7E30 7C A3 01 2E */ stwx r5, r3, r0 /* 803AAED4 003A7E34 80 6D AF 54 */ lwz r3, dspVoice@sda21(r13) /* 803AAED8 003A7E38 7C 63 F8 2E */ lwzx r3, r3, r31 /* 803AAEDC 003A7E3C 4B FD 3C 61 */ bl DCStoreRangeNoSync /* 803AAEE0 003A7E40 80 6D AF 54 */ lwz r3, dspVoice@sda21(r13) /* 803AAEE4 003A7E44 38 1F 00 24 */ addi r0, r31, 0x24 /* 803AAEE8 003A7E48 38 E0 00 00 */ li r7, 0 /* 803AAEEC 003A7E4C 38 BF 00 28 */ addi r5, r31, 0x28 /* 803AAEF0 003A7E50 7C E3 01 2E */ stwx r7, r3, r0 /* 803AAEF4 003A7E54 38 9F 00 2C */ addi r4, r31, 0x2c /* 803AAEF8 003A7E58 38 7F 00 30 */ addi r3, r31, 0x30 /* 803AAEFC 003A7E5C 38 1F 00 34 */ addi r0, r31, 0x34 /* 803AAF00 003A7E60 80 CD AF 54 */ lwz r6, dspVoice@sda21(r13) /* 803AAF04 003A7E64 3B FF 00 F4 */ addi r31, r31, 0xf4 /* 803AAF08 003A7E68 3B DE 00 01 */ addi r30, r30, 1 /* 803AAF0C 003A7E6C 7C E6 29 2E */ stwx r7, r6, r5 /* 803AAF10 003A7E70 80 AD AF 54 */ lwz r5, dspVoice@sda21(r13) /* 803AAF14 003A7E74 7C E5 21 2E */ stwx r7, r5, r4 /* 803AAF18 003A7E78 80 8D AF 54 */ lwz r4, dspVoice@sda21(r13) /* 803AAF1C 003A7E7C 7C E4 19 2E */ stwx r7, r4, r3 /* 803AAF20 003A7E80 80 6D AF 54 */ lwz r3, dspVoice@sda21(r13) /* 803AAF24 003A7E84 7C E3 01 2E */ stwx r7, r3, r0 lbl_803AAF28: /* 803AAF28 003A7E88 88 0D AF 8D */ lbz r0, salNumVoices@sda21(r13) /* 803AAF2C 003A7E8C 7C 1E 00 40 */ cmplw r30, r0 /* 803AAF30 003A7E90 41 80 FE 88 */ blt lbl_803AADB8 /* 803AAF34 003A7E94 3C 60 80 56 */ lis r3, dspStudio@ha /* 803AAF38 003A7E98 3B C0 00 00 */ li r30, 0 /* 803AAF3C 003A7E9C 3B E3 F2 60 */ addi r31, r3, dspStudio@l /* 803AAF40 003A7EA0 48 00 01 00 */ b lbl_803AB040 lbl_803AAF44: /* 803AAF44 003A7EA4 38 00 00 00 */ li r0, 0 /* 803AAF48 003A7EA8 38 60 00 36 */ li r3, 0x36 /* 803AAF4C 003A7EAC 98 1F 00 50 */ stb r0, 0x50(r31) /* 803AAF50 003A7EB0 48 00 A1 E5 */ bl salMalloc /* 803AAF54 003A7EB4 28 03 00 00 */ cmplwi r3, 0 /* 803AAF58 003A7EB8 90 7F 00 00 */ stw r3, 0(r31) /* 803AAF5C 003A7EBC 40 82 00 0C */ bne lbl_803AAF68 /* 803AAF60 003A7EC0 38 60 00 00 */ li r3, 0 /* 803AAF64 003A7EC4 48 00 01 2C */ b lbl_803AB090 lbl_803AAF68: /* 803AAF68 003A7EC8 38 60 3C 00 */ li r3, 0x3c00 /* 803AAF6C 003A7ECC 48 00 A1 C9 */ bl salMalloc /* 803AAF70 003A7ED0 28 03 00 00 */ cmplwi r3, 0 /* 803AAF74 003A7ED4 90 7F 00 28 */ stw r3, 0x28(r31) /* 803AAF78 003A7ED8 40 82 00 0C */ bne lbl_803AAF84 /* 803AAF7C 003A7EDC 38 60 00 00 */ li r3, 0 /* 803AAF80 003A7EE0 48 00 01 10 */ b lbl_803AB090 lbl_803AAF84: /* 803AAF84 003A7EE4 80 7F 00 28 */ lwz r3, 0x28(r31) /* 803AAF88 003A7EE8 38 80 00 00 */ li r4, 0 /* 803AAF8C 003A7EEC 38 A0 3C 00 */ li r5, 0x3c00 /* 803AAF90 003A7EF0 4B C5 84 19 */ bl memset /* 803AAF94 003A7EF4 80 7F 00 28 */ lwz r3, 0x28(r31) /* 803AAF98 003A7EF8 38 80 3C 00 */ li r4, 0x3c00 /* 803AAF9C 003A7EFC 4B FD 3B 75 */ bl DCFlushRangeNoSync /* 803AAFA0 003A7F00 80 7F 00 28 */ lwz r3, 0x28(r31) /* 803AAFA4 003A7F04 38 80 00 00 */ li r4, 0 /* 803AAFA8 003A7F08 38 A0 00 36 */ li r5, 0x36 /* 803AAFAC 003A7F0C 38 03 07 80 */ addi r0, r3, 0x780 /* 803AAFB0 003A7F10 90 1F 00 2C */ stw r0, 0x2c(r31) /* 803AAFB4 003A7F14 80 7F 00 2C */ lwz r3, 0x2c(r31) /* 803AAFB8 003A7F18 38 03 07 80 */ addi r0, r3, 0x780 /* 803AAFBC 003A7F1C 90 1F 00 30 */ stw r0, 0x30(r31) /* 803AAFC0 003A7F20 80 7F 00 30 */ lwz r3, 0x30(r31) /* 803AAFC4 003A7F24 38 03 07 80 */ addi r0, r3, 0x780 /* 803AAFC8 003A7F28 90 1F 00 34 */ stw r0, 0x34(r31) /* 803AAFCC 003A7F2C 80 7F 00 34 */ lwz r3, 0x34(r31) /* 803AAFD0 003A7F30 38 03 07 80 */ addi r0, r3, 0x780 /* 803AAFD4 003A7F34 90 1F 00 38 */ stw r0, 0x38(r31) /* 803AAFD8 003A7F38 80 7F 00 38 */ lwz r3, 0x38(r31) /* 803AAFDC 003A7F3C 38 03 07 80 */ addi r0, r3, 0x780 /* 803AAFE0 003A7F40 90 1F 00 3C */ stw r0, 0x3c(r31) /* 803AAFE4 003A7F44 80 7F 00 3C */ lwz r3, 0x3c(r31) /* 803AAFE8 003A7F48 38 03 07 80 */ addi r0, r3, 0x780 /* 803AAFEC 003A7F4C 90 1F 00 40 */ stw r0, 0x40(r31) /* 803AAFF0 003A7F50 80 7F 00 40 */ lwz r3, 0x40(r31) /* 803AAFF4 003A7F54 38 03 07 80 */ addi r0, r3, 0x780 /* 803AAFF8 003A7F58 90 1F 00 44 */ stw r0, 0x44(r31) /* 803AAFFC 003A7F5C 80 7F 00 00 */ lwz r3, 0(r31) /* 803AB000 003A7F60 4B C5 83 A9 */ bl memset /* 803AB004 003A7F64 38 00 00 00 */ li r0, 0 /* 803AB008 003A7F68 38 80 00 36 */ li r4, 0x36 /* 803AB00C 003A7F6C 90 1F 00 0C */ stw r0, 0xc(r31) /* 803AB010 003A7F70 90 1F 00 08 */ stw r0, 8(r31) /* 803AB014 003A7F74 90 1F 00 04 */ stw r0, 4(r31) /* 803AB018 003A7F78 90 1F 00 18 */ stw r0, 0x18(r31) /* 803AB01C 003A7F7C 90 1F 00 14 */ stw r0, 0x14(r31) /* 803AB020 003A7F80 90 1F 00 10 */ stw r0, 0x10(r31) /* 803AB024 003A7F84 90 1F 00 24 */ stw r0, 0x24(r31) /* 803AB028 003A7F88 90 1F 00 20 */ stw r0, 0x20(r31) /* 803AB02C 003A7F8C 90 1F 00 1C */ stw r0, 0x1c(r31) /* 803AB030 003A7F90 80 7F 00 00 */ lwz r3, 0(r31) /* 803AB034 003A7F94 4B FD 3A DD */ bl DCFlushRangeNoSync /* 803AB038 003A7F98 3B FF 00 BC */ addi r31, r31, 0xbc /* 803AB03C 003A7F9C 3B DE 00 01 */ addi r30, r30, 1 lbl_803AB040: /* 803AB040 003A7FA0 88 0D AF 8C */ lbz r0, salMaxStudioNum@sda21(r13) /* 803AB044 003A7FA4 7C 1E 00 40 */ cmplw r30, r0 /* 803AB048 003A7FA8 41 80 FE FC */ blt lbl_803AAF44 /* 803AB04C 003A7FAC 7C 1C 00 D0 */ neg r0, r28 /* 803AB050 003A7FB0 38 60 00 00 */ li r3, 0 /* 803AB054 003A7FB4 7C 00 E3 78 */ or r0, r0, r28 /* 803AB058 003A7FB8 38 80 00 01 */ li r4, 1 /* 803AB05C 003A7FBC 54 05 0F FE */ srwi r5, r0, 0x1f /* 803AB060 003A7FC0 48 00 01 69 */ bl salActivateStudio /* 803AB064 003A7FC4 38 60 01 00 */ li r3, 0x100 /* 803AB068 003A7FC8 48 00 A0 CD */ bl salMalloc /* 803AB06C 003A7FCC 28 03 00 00 */ cmplwi r3, 0 /* 803AB070 003A7FD0 90 6D AF 48 */ stw r3, dspHrtfHistoryBuffer@sda21(r13) /* 803AB074 003A7FD4 40 82 00 0C */ bne lbl_803AB080 /* 803AB078 003A7FD8 38 60 00 00 */ li r3, 0 /* 803AB07C 003A7FDC 48 00 00 14 */ b lbl_803AB090 lbl_803AB080: /* 803AB080 003A7FE0 48 00 00 31 */ bl salInitHRTFBuffer /* 803AB084 003A7FE4 38 60 00 01 */ li r3, 1 /* 803AB088 003A7FE8 48 00 00 08 */ b lbl_803AB090 lbl_803AB08C: /* 803AB08C 003A7FEC 38 60 00 00 */ li r3, 0 lbl_803AB090: /* 803AB090 003A7FF0 80 01 00 24 */ lwz r0, 0x24(r1) /* 803AB094 003A7FF4 83 E1 00 1C */ lwz r31, 0x1c(r1) /* 803AB098 003A7FF8 83 C1 00 18 */ lwz r30, 0x18(r1) /* 803AB09C 003A7FFC 83 A1 00 14 */ lwz r29, 0x14(r1) /* 803AB0A0 003A8000 83 81 00 10 */ lwz r28, 0x10(r1) /* 803AB0A4 003A8004 7C 08 03 A6 */ mtlr r0 /* 803AB0A8 003A8008 38 21 00 20 */ addi r1, r1, 0x20 /* 803AB0AC 003A800C 4E 80 00 20 */ blr .global salInitHRTFBuffer salInitHRTFBuffer: /* 803AB0B0 003A8010 94 21 FF F0 */ stwu r1, -0x10(r1) /* 803AB0B4 003A8014 7C 08 02 A6 */ mflr r0 /* 803AB0B8 003A8018 38 80 00 00 */ li r4, 0 /* 803AB0BC 003A801C 38 A0 01 00 */ li r5, 0x100 /* 803AB0C0 003A8020 90 01 00 14 */ stw r0, 0x14(r1) /* 803AB0C4 003A8024 80 6D AF 48 */ lwz r3, dspHrtfHistoryBuffer@sda21(r13) /* 803AB0C8 003A8028 4B C5 82 E1 */ bl memset /* 803AB0CC 003A802C 80 6D AF 48 */ lwz r3, dspHrtfHistoryBuffer@sda21(r13) /* 803AB0D0 003A8030 38 80 01 00 */ li r4, 0x100 /* 803AB0D4 003A8034 4B FD 3A 3D */ bl DCFlushRangeNoSync /* 803AB0D8 003A8038 80 01 00 14 */ lwz r0, 0x14(r1) /* 803AB0DC 003A803C 7C 08 03 A6 */ mtlr r0 /* 803AB0E0 003A8040 38 21 00 10 */ addi r1, r1, 0x10 /* 803AB0E4 003A8044 4E 80 00 20 */ blr .global salExitDspCtrl salExitDspCtrl: /* 803AB0E8 003A8048 94 21 FF E0 */ stwu r1, -0x20(r1) /* 803AB0EC 003A804C 7C 08 02 A6 */ mflr r0 /* 803AB0F0 003A8050 90 01 00 24 */ stw r0, 0x24(r1) /* 803AB0F4 003A8054 93 E1 00 1C */ stw r31, 0x1c(r1) /* 803AB0F8 003A8058 93 C1 00 18 */ stw r30, 0x18(r1) /* 803AB0FC 003A805C 93 A1 00 14 */ stw r29, 0x14(r1) /* 803AB100 003A8060 80 6D AF 48 */ lwz r3, dspHrtfHistoryBuffer@sda21(r13) /* 803AB104 003A8064 48 00 A0 59 */ bl salFree /* 803AB108 003A8068 3B A0 00 00 */ li r29, 0 /* 803AB10C 003A806C 48 00 00 2C */ b lbl_803AB138 lbl_803AB110: /* 803AB110 003A8070 57 A0 06 3E */ clrlwi r0, r29, 0x18 /* 803AB114 003A8074 80 6D AF 54 */ lwz r3, dspVoice@sda21(r13) /* 803AB118 003A8078 1F E0 00 F4 */ mulli r31, r0, 0xf4 /* 803AB11C 003A807C 7C 63 F8 2E */ lwzx r3, r3, r31 /* 803AB120 003A8080 48 00 A0 3D */ bl salFree /* 803AB124 003A8084 80 6D AF 54 */ lwz r3, dspVoice@sda21(r13) /* 803AB128 003A8088 38 1F 00 04 */ addi r0, r31, 4 /* 803AB12C 003A808C 7C 63 00 2E */ lwzx r3, r3, r0 /* 803AB130 003A8090 48 00 A0 2D */ bl salFree /* 803AB134 003A8094 3B BD 00 01 */ addi r29, r29, 1 lbl_803AB138: /* 803AB138 003A8098 88 0D AF 8D */ lbz r0, salNumVoices@sda21(r13) /* 803AB13C 003A809C 57 A3 06 3E */ clrlwi r3, r29, 0x18 /* 803AB140 003A80A0 7C 03 00 40 */ cmplw r3, r0 /* 803AB144 003A80A4 41 80 FF CC */ blt lbl_803AB110 /* 803AB148 003A80A8 3C 60 80 56 */ lis r3, dspStudio@ha /* 803AB14C 003A80AC 3B A0 00 00 */ li r29, 0 /* 803AB150 003A80B0 3B E3 F2 60 */ addi r31, r3, dspStudio@l /* 803AB154 003A80B4 48 00 00 24 */ b lbl_803AB178 lbl_803AB158: /* 803AB158 003A80B8 57 A0 06 3E */ clrlwi r0, r29, 0x18 /* 803AB15C 003A80BC 1C 00 00 BC */ mulli r0, r0, 0xbc /* 803AB160 003A80C0 7F DF 02 14 */ add r30, r31, r0 /* 803AB164 003A80C4 80 7E 00 00 */ lwz r3, 0(r30) /* 803AB168 003A80C8 48 00 9F F5 */ bl salFree /* 803AB16C 003A80CC 80 7E 00 28 */ lwz r3, 0x28(r30) /* 803AB170 003A80D0 48 00 9F ED */ bl salFree /* 803AB174 003A80D4 3B BD 00 01 */ addi r29, r29, 1 lbl_803AB178: /* 803AB178 003A80D8 88 0D AF 8C */ lbz r0, salMaxStudioNum@sda21(r13) /* 803AB17C 003A80DC 57 A3 06 3E */ clrlwi r3, r29, 0x18 /* 803AB180 003A80E0 7C 03 00 40 */ cmplw r3, r0 /* 803AB184 003A80E4 41 80 FF D4 */ blt lbl_803AB158 /* 803AB188 003A80E8 80 6D AF 50 */ lwz r3, dspITDBuffer@sda21(r13) /* 803AB18C 003A80EC 48 00 9F D1 */ bl salFree /* 803AB190 003A80F0 80 6D AF 54 */ lwz r3, dspVoice@sda21(r13) /* 803AB194 003A80F4 48 00 9F C9 */ bl salFree /* 803AB198 003A80F8 80 6D AF 4C */ lwz r3, dspSurround@sda21(r13) /* 803AB19C 003A80FC 48 00 9F C1 */ bl salFree /* 803AB1A0 003A8100 80 6D AF 40 */ lwz r3, dspCmdList@sda21(r13) /* 803AB1A4 003A8104 48 00 9F B9 */ bl salFree /* 803AB1A8 003A8108 80 01 00 24 */ lwz r0, 0x24(r1) /* 803AB1AC 003A810C 38 60 00 01 */ li r3, 1 /* 803AB1B0 003A8110 83 E1 00 1C */ lwz r31, 0x1c(r1) /* 803AB1B4 003A8114 83 C1 00 18 */ lwz r30, 0x18(r1) /* 803AB1B8 003A8118 83 A1 00 14 */ lwz r29, 0x14(r1) /* 803AB1BC 003A811C 7C 08 03 A6 */ mtlr r0 /* 803AB1C0 003A8120 38 21 00 20 */ addi r1, r1, 0x20 /* 803AB1C4 003A8124 4E 80 00 20 */ blr .global salActivateStudio salActivateStudio: /* 803AB1C8 003A8128 94 21 FF E0 */ stwu r1, -0x20(r1) /* 803AB1CC 003A812C 7C 08 02 A6 */ mflr r0 /* 803AB1D0 003A8130 90 01 00 24 */ stw r0, 0x24(r1) /* 803AB1D4 003A8134 54 60 06 3E */ clrlwi r0, r3, 0x18 /* 803AB1D8 003A8138 3C 60 80 56 */ lis r3, dspStudio@ha /* 803AB1DC 003A813C 93 E1 00 1C */ stw r31, 0x1c(r1) /* 803AB1E0 003A8140 1F E0 00 BC */ mulli r31, r0, 0xbc /* 803AB1E4 003A8144 38 03 F2 60 */ addi r0, r3, dspStudio@l /* 803AB1E8 003A8148 93 C1 00 18 */ stw r30, 0x18(r1) /* 803AB1EC 003A814C 7C BE 2B 78 */ mr r30, r5 /* 803AB1F0 003A8150 38 A0 3C 00 */ li r5, 0x3c00 /* 803AB1F4 003A8154 93 A1 00 14 */ stw r29, 0x14(r1) /* 803AB1F8 003A8158 7C 9D 23 78 */ mr r29, r4 /* 803AB1FC 003A815C 38 80 00 00 */ li r4, 0 /* 803AB200 003A8160 93 81 00 10 */ stw r28, 0x10(r1) /* 803AB204 003A8164 7F 80 FA 14 */ add r28, r0, r31 /* 803AB208 003A8168 84 7C 00 28 */ lwzu r3, 0x28(r28) /* 803AB20C 003A816C 4B C5 81 9D */ bl memset /* 803AB210 003A8170 80 7C 00 00 */ lwz r3, 0(r28) /* 803AB214 003A8174 38 80 3C 00 */ li r4, 0x3c00 /* 803AB218 003A8178 4B FD 38 F9 */ bl DCFlushRangeNoSync /* 803AB21C 003A817C 3C 60 80 56 */ lis r3, dspStudio@ha /* 803AB220 003A8180 38 80 00 00 */ li r4, 0 /* 803AB224 003A8184 3B 83 F2 60 */ addi r28, r3, dspStudio@l /* 803AB228 003A8188 38 A0 00 36 */ li r5, 0x36 /* 803AB22C 003A818C 7C 7C F8 2E */ lwzx r3, r28, r31 /* 803AB230 003A8190 4B C5 81 79 */ bl memset /* 803AB234 003A8194 3C 60 80 56 */ lis r3, dspStudio@ha /* 803AB238 003A8198 38 A0 00 00 */ li r5, 0 /* 803AB23C 003A819C 38 03 F2 60 */ addi r0, r3, dspStudio@l /* 803AB240 003A81A0 38 80 00 36 */ li r4, 0x36 /* 803AB244 003A81A4 7C 60 FA 14 */ add r3, r0, r31 /* 803AB248 003A81A8 90 A3 00 0C */ stw r5, 0xc(r3) /* 803AB24C 003A81AC 90 A3 00 08 */ stw r5, 8(r3) /* 803AB250 003A81B0 90 A3 00 04 */ stw r5, 4(r3) /* 803AB254 003A81B4 90 A3 00 18 */ stw r5, 0x18(r3) /* 803AB258 003A81B8 90 A3 00 14 */ stw r5, 0x14(r3) /* 803AB25C 003A81BC 90 A3 00 10 */ stw r5, 0x10(r3) /* 803AB260 003A81C0 90 A3 00 24 */ stw r5, 0x24(r3) /* 803AB264 003A81C4 90 A3 00 20 */ stw r5, 0x20(r3) /* 803AB268 003A81C8 90 A3 00 1C */ stw r5, 0x1c(r3) /* 803AB26C 003A81CC 7C 7C F8 2E */ lwzx r3, r28, r31 /* 803AB270 003A81D0 4B FD 38 A1 */ bl DCFlushRangeNoSync /* 803AB274 003A81D4 3C 60 80 56 */ lis r3, dspStudio@ha /* 803AB278 003A81D8 38 80 00 00 */ li r4, 0 /* 803AB27C 003A81DC 38 03 F2 60 */ addi r0, r3, dspStudio@l /* 803AB280 003A81E0 38 A0 07 80 */ li r5, 0x780 /* 803AB284 003A81E4 7F 80 FA 14 */ add r28, r0, r31 /* 803AB288 003A81E8 84 7C 00 30 */ lwzu r3, 0x30(r28) /* 803AB28C 003A81EC 4B C5 81 1D */ bl memset /* 803AB290 003A81F0 80 7C 00 00 */ lwz r3, 0(r28) /* 803AB294 003A81F4 38 80 07 80 */ li r4, 0x780 /* 803AB298 003A81F8 4B FD 38 79 */ bl DCFlushRangeNoSync /* 803AB29C 003A81FC 3C 60 80 56 */ lis r3, dspStudio@ha /* 803AB2A0 003A8200 38 80 00 00 */ li r4, 0 /* 803AB2A4 003A8204 38 03 F2 60 */ addi r0, r3, dspStudio@l /* 803AB2A8 003A8208 38 A0 07 80 */ li r5, 0x780 /* 803AB2AC 003A820C 7F 80 FA 14 */ add r28, r0, r31 /* 803AB2B0 003A8210 84 7C 00 3C */ lwzu r3, 0x3c(r28) /* 803AB2B4 003A8214 4B C5 80 F5 */ bl memset /* 803AB2B8 003A8218 80 7C 00 00 */ lwz r3, 0(r28) /* 803AB2BC 003A821C 38 80 07 80 */ li r4, 0x780 /* 803AB2C0 003A8220 4B FD 38 51 */ bl DCFlushRangeNoSync /* 803AB2C4 003A8224 3C 60 80 56 */ lis r3, dspStudio@ha /* 803AB2C8 003A8228 38 80 00 00 */ li r4, 0 /* 803AB2CC 003A822C 38 63 F2 60 */ addi r3, r3, dspStudio@l /* 803AB2D0 003A8230 38 00 00 01 */ li r0, 1 /* 803AB2D4 003A8234 7C 63 FA 14 */ add r3, r3, r31 /* 803AB2D8 003A8238 90 83 00 48 */ stw r4, 0x48(r3) /* 803AB2DC 003A823C 90 83 00 4C */ stw r4, 0x4c(r3) /* 803AB2E0 003A8240 98 03 00 50 */ stb r0, 0x50(r3) /* 803AB2E4 003A8244 9B A3 00 51 */ stb r29, 0x51(r3) /* 803AB2E8 003A8248 98 83 00 52 */ stb r4, 0x52(r3) /* 803AB2EC 003A824C 93 C3 00 54 */ stw r30, 0x54(r3) /* 803AB2F0 003A8250 90 83 00 B0 */ stw r4, 0xb0(r3) /* 803AB2F4 003A8254 90 83 00 AC */ stw r4, 0xac(r3) /* 803AB2F8 003A8258 80 01 00 24 */ lwz r0, 0x24(r1) /* 803AB2FC 003A825C 83 E1 00 1C */ lwz r31, 0x1c(r1) /* 803AB300 003A8260 83 C1 00 18 */ lwz r30, 0x18(r1) /* 803AB304 003A8264 83 A1 00 14 */ lwz r29, 0x14(r1) /* 803AB308 003A8268 83 81 00 10 */ lwz r28, 0x10(r1) /* 803AB30C 003A826C 7C 08 03 A6 */ mtlr r0 /* 803AB310 003A8270 38 21 00 20 */ addi r1, r1, 0x20 /* 803AB314 003A8274 4E 80 00 20 */ blr .global sub_803ab318 sub_803ab318: /* 803AB318 003A8278 54 60 06 3E */ clrlwi r0, r3, 0x18 /* 803AB31C 003A827C 3C 60 80 56 */ lis r3, dspStudio@ha /* 803AB320 003A8280 1C 00 00 BC */ mulli r0, r0, 0xbc /* 803AB324 003A8284 38 80 00 00 */ li r4, 0 /* 803AB328 003A8288 38 63 F2 60 */ addi r3, r3, dspStudio@l /* 803AB32C 003A828C 7C 63 02 14 */ add r3, r3, r0 /* 803AB330 003A8290 98 83 00 50 */ stb r4, 0x50(r3) /* 803AB334 003A8294 4E 80 00 20 */ blr .global salCheckVolErrorAndResetDelta salCheckVolErrorAndResetDelta: /* 803AB338 003A8298 A1 25 00 00 */ lhz r9, 0(r5) /* 803AB33C 003A829C 54 C0 04 3E */ clrlwi r0, r6, 0x10 /* 803AB340 003A82A0 7C 00 48 40 */ cmplw r0, r9 /* 803AB344 003A82A4 41 82 00 D8 */ beq lbl_803AB41C /* 803AB348 003A82A8 7D 29 07 34 */ extsh r9, r9 /* 803AB34C 003A82AC 7C C0 07 34 */ extsh r0, r6 /* 803AB350 003A82B0 7C 09 00 50 */ subf r0, r9, r0 /* 803AB354 003A82B4 7C 09 07 34 */ extsh r9, r0 /* 803AB358 003A82B8 2C 09 00 20 */ cmpwi r9, 0x20 /* 803AB35C 003A82BC 41 80 00 4C */ blt lbl_803AB3A8 /* 803AB360 003A82C0 2C 09 00 A0 */ cmpwi r9, 0xa0 /* 803AB364 003A82C4 40 80 00 44 */ bge lbl_803AB3A8 /* 803AB368 003A82C8 7D 20 2E 70 */ srawi r0, r9, 5 /* 803AB36C 003A82CC 7C 06 07 34 */ extsh r6, r0 /* 803AB370 003A82D0 2C 06 00 05 */ cmpwi r6, 5 /* 803AB374 003A82D4 40 80 00 14 */ bge lbl_803AB388 /* 803AB378 003A82D8 54 C3 08 3C */ slwi r3, r6, 1 /* 803AB37C 003A82DC 7C 07 1A 2E */ lhzx r0, r7, r3 /* 803AB380 003A82E0 7C 00 43 78 */ or r0, r0, r8 /* 803AB384 003A82E4 7C 07 1B 2E */ sthx r0, r7, r3 lbl_803AB388: /* 803AB388 003A82E8 38 60 00 01 */ li r3, 1 /* 803AB38C 003A82EC 54 C0 28 34 */ slwi r0, r6, 5 /* 803AB390 003A82F0 B0 64 00 00 */ sth r3, 0(r4) /* 803AB394 003A82F4 38 60 00 01 */ li r3, 1 /* 803AB398 003A82F8 A0 85 00 00 */ lhz r4, 0(r5) /* 803AB39C 003A82FC 7C 04 02 14 */ add r0, r4, r0 /* 803AB3A0 003A8300 B0 05 00 00 */ sth r0, 0(r5) /* 803AB3A4 003A8304 4E 80 00 20 */ blr lbl_803AB3A8: /* 803AB3A8 003A8308 2C 09 FF E0 */ cmpwi r9, -32 /* 803AB3AC 003A830C 41 81 00 54 */ bgt lbl_803AB400 /* 803AB3B0 003A8310 2C 09 FF 60 */ cmpwi r9, -160 /* 803AB3B4 003A8314 40 81 00 4C */ ble lbl_803AB400 /* 803AB3B8 003A8318 7C 09 00 D0 */ neg r0, r9 /* 803AB3BC 003A831C 7C 00 2E 70 */ srawi r0, r0, 5 /* 803AB3C0 003A8320 7C 06 07 34 */ extsh r6, r0 /* 803AB3C4 003A8324 2C 06 00 05 */ cmpwi r6, 5 /* 803AB3C8 003A8328 40 80 00 14 */ bge lbl_803AB3DC /* 803AB3CC 003A832C 54 C3 08 3C */ slwi r3, r6, 1 /* 803AB3D0 003A8330 7C 07 1A 2E */ lhzx r0, r7, r3 /* 803AB3D4 003A8334 7C 00 43 78 */ or r0, r0, r8 /* 803AB3D8 003A8338 7C 07 1B 2E */ sthx r0, r7, r3 lbl_803AB3DC: /* 803AB3DC 003A833C 3C 60 00 01 */ lis r3, 0x0000FFFF@ha /* 803AB3E0 003A8340 54 C6 28 34 */ slwi r6, r6, 5 /* 803AB3E4 003A8344 38 03 FF FF */ addi r0, r3, 0x0000FFFF@l /* 803AB3E8 003A8348 B0 04 00 00 */ sth r0, 0(r4) /* 803AB3EC 003A834C 38 60 00 01 */ li r3, 1 /* 803AB3F0 003A8350 A0 05 00 00 */ lhz r0, 0(r5) /* 803AB3F4 003A8354 7C 06 00 50 */ subf r0, r6, r0 /* 803AB3F8 003A8358 B0 05 00 00 */ sth r0, 0(r5) /* 803AB3FC 003A835C 4E 80 00 20 */ blr lbl_803AB400: /* 803AB400 003A8360 54 C0 04 3F */ clrlwi. r0, r6, 0x10 /* 803AB404 003A8364 40 82 00 18 */ bne lbl_803AB41C /* 803AB408 003A8368 2C 09 FF E0 */ cmpwi r9, -32 /* 803AB40C 003A836C 40 81 00 10 */ ble lbl_803AB41C /* 803AB410 003A8370 38 00 00 00 */ li r0, 0 /* 803AB414 003A8374 B0 05 00 00 */ sth r0, 0(r5) /* 803AB418 003A8378 B0 03 00 00 */ sth r0, 0(r3) lbl_803AB41C: /* 803AB41C 003A837C 38 00 00 00 */ li r0, 0 /* 803AB420 003A8380 38 60 00 00 */ li r3, 0 /* 803AB424 003A8384 B0 04 00 00 */ sth r0, 0(r4) /* 803AB428 003A8388 4E 80 00 20 */ blr .global sal_setup_dspvol sal_setup_dspvol: /* 803AB42C 003A838C A0 E4 00 00 */ lhz r7, 0(r4) /* 803AB430 003A8390 3C C0 66 66 */ lis r6, 0x66666667@ha /* 803AB434 003A8394 7C A0 07 34 */ extsh r0, r5 /* 803AB438 003A8398 7C E5 07 34 */ extsh r5, r7 /* 803AB43C 003A839C 38 C6 66 67 */ addi r6, r6, 0x66666667@l /* 803AB440 003A83A0 7C 05 00 50 */ subf r0, r5, r0 /* 803AB444 003A83A4 7C 06 00 96 */ mulhw r0, r6, r0 /* 803AB448 003A83A8 7C 00 36 70 */ srawi r0, r0, 6 /* 803AB44C 003A83AC 54 05 0F FE */ srwi r5, r0, 0x1f /* 803AB450 003A83B0 7C 00 2A 14 */ add r0, r0, r5 /* 803AB454 003A83B4 B0 03 00 00 */ sth r0, 0(r3) /* 803AB458 003A83B8 A0 03 00 00 */ lhz r0, 0(r3) /* 803AB45C 003A83BC A0 64 00 00 */ lhz r3, 0(r4) /* 803AB460 003A83C0 7C 00 07 34 */ extsh r0, r0 /* 803AB464 003A83C4 1C 00 00 A0 */ mulli r0, r0, 0xa0 /* 803AB468 003A83C8 7C 03 02 14 */ add r0, r3, r0 /* 803AB46C 003A83CC B0 04 00 00 */ sth r0, 0(r4) /* 803AB470 003A83D0 4E 80 00 20 */ blr .global sal_update_hostplayinfo sal_update_hostplayinfo: /* 803AB474 003A83D4 80 03 00 8C */ lwz r0, 0x8c(r3) /* 803AB478 003A83D8 28 00 00 00 */ cmplwi r0, 0 /* 803AB47C 003A83DC 4C 82 00 20 */ bnelr /* 803AB480 003A83E0 80 83 00 00 */ lwz r4, 0(r3) /* 803AB484 003A83E4 A0 04 00 08 */ lhz r0, 8(r4) /* 803AB488 003A83E8 28 00 00 02 */ cmplwi r0, 2 /* 803AB48C 003A83EC 41 82 00 10 */ beq lbl_803AB49C /* 803AB490 003A83F0 80 03 00 E0 */ lwz r0, 0xe0(r3) /* 803AB494 003A83F4 54 05 28 34 */ slwi r5, r0, 5 /* 803AB498 003A83F8 48 00 00 08 */ b lbl_803AB4A0 lbl_803AB49C: /* 803AB49C 003A83FC 3C A0 00 20 */ lis r5, 0x20 lbl_803AB4A0: /* 803AB4A0 003A8400 80 83 00 DC */ lwz r4, 0xdc(r3) /* 803AB4A4 003A8404 54 A0 80 1E */ slwi r0, r5, 0x10 /* 803AB4A8 003A8408 7C 04 02 14 */ add r0, r4, r0 /* 803AB4AC 003A840C 90 03 00 DC */ stw r0, 0xdc(r3) /* 803AB4B0 003A8410 80 03 00 DC */ lwz r0, 0xdc(r3) /* 803AB4B4 003A8414 7C 04 00 40 */ cmplw r4, r0 /* 803AB4B8 003A8418 40 81 00 1C */ ble lbl_803AB4D4 /* 803AB4BC 003A841C 80 83 00 D8 */ lwz r4, 0xd8(r3) /* 803AB4C0 003A8420 54 A0 84 3E */ srwi r0, r5, 0x10 /* 803AB4C4 003A8424 7C 80 22 14 */ add r4, r0, r4 /* 803AB4C8 003A8428 38 04 00 01 */ addi r0, r4, 1 /* 803AB4CC 003A842C 90 03 00 D8 */ stw r0, 0xd8(r3) /* 803AB4D0 003A8430 4E 80 00 20 */ blr lbl_803AB4D4: /* 803AB4D4 003A8434 80 83 00 D8 */ lwz r4, 0xd8(r3) /* 803AB4D8 003A8438 54 A0 84 3E */ srwi r0, r5, 0x10 /* 803AB4DC 003A843C 7C 04 02 14 */ add r0, r4, r0 /* 803AB4E0 003A8440 90 03 00 D8 */ stw r0, 0xd8(r3) /* 803AB4E4 003A8444 4E 80 00 20 */ blr .global DoDepopFade DoDepopFade: /* 803AB4E8 003A8448 80 05 00 00 */ lwz r0, 0(r5) /* 803AB4EC 003A844C 2C 00 FF 60 */ cmpwi r0, -160 /* 803AB4F0 003A8450 41 81 00 3C */ bgt lbl_803AB52C /* 803AB4F4 003A8454 2C 00 F3 80 */ cmpwi r0, -3200 /* 803AB4F8 003A8458 41 81 00 0C */ bgt lbl_803AB504 /* 803AB4FC 003A845C 38 00 00 14 */ li r0, 0x14 /* 803AB500 003A8460 48 00 00 24 */ b lbl_803AB524 lbl_803AB504: /* 803AB504 003A8464 3C C0 66 66 */ lis r6, 0x66666667@ha /* 803AB508 003A8468 7C 00 00 D0 */ neg r0, r0 /* 803AB50C 003A846C 38 C6 66 67 */ addi r6, r6, 0x66666667@l /* 803AB510 003A8470 7C 06 00 96 */ mulhw r0, r6, r0 /* 803AB514 003A8474 7C 00 36 70 */ srawi r0, r0, 6 /* 803AB518 003A8478 54 06 0F FE */ srwi r6, r0, 0x1f /* 803AB51C 003A847C 7C 00 32 14 */ add r0, r0, r6 /* 803AB520 003A8480 7C 00 07 34 */ extsh r0, r0 lbl_803AB524: /* 803AB524 003A8484 B0 04 00 00 */ sth r0, 0(r4) /* 803AB528 003A8488 48 00 00 4C */ b lbl_803AB574 lbl_803AB52C: /* 803AB52C 003A848C 2C 00 00 A0 */ cmpwi r0, 0xa0 /* 803AB530 003A8490 41 80 00 3C */ blt lbl_803AB56C /* 803AB534 003A8494 2C 00 0C 80 */ cmpwi r0, 0xc80 /* 803AB538 003A8498 41 80 00 0C */ blt lbl_803AB544 /* 803AB53C 003A849C 38 00 FF EC */ li r0, -20 /* 803AB540 003A84A0 48 00 00 24 */ b lbl_803AB564 lbl_803AB544: /* 803AB544 003A84A4 3C C0 66 66 */ lis r6, 0x66666667@ha /* 803AB548 003A84A8 7C 00 00 D0 */ neg r0, r0 /* 803AB54C 003A84AC 38 C6 66 67 */ addi r6, r6, 0x66666667@l /* 803AB550 003A84B0 7C 06 00 96 */ mulhw r0, r6, r0 /* 803AB554 003A84B4 7C 00 36 70 */ srawi r0, r0, 6 /* 803AB558 003A84B8 54 06 0F FE */ srwi r6, r0, 0x1f /* 803AB55C 003A84BC 7C 00 32 14 */ add r0, r0, r6 /* 803AB560 003A84C0 7C 00 07 34 */ extsh r0, r0 lbl_803AB564: /* 803AB564 003A84C4 B0 04 00 00 */ sth r0, 0(r4) /* 803AB568 003A84C8 48 00 00 0C */ b lbl_803AB574 lbl_803AB56C: /* 803AB56C 003A84CC 38 00 00 00 */ li r0, 0 /* 803AB570 003A84D0 B0 04 00 00 */ sth r0, 0(r4) lbl_803AB574: /* 803AB574 003A84D4 80 05 00 00 */ lwz r0, 0(r5) /* 803AB578 003A84D8 90 03 00 00 */ stw r0, 0(r3) /* 803AB57C 003A84DC A8 04 00 00 */ lha r0, 0(r4) /* 803AB580 003A84E0 80 65 00 00 */ lwz r3, 0(r5) /* 803AB584 003A84E4 1C 00 00 A0 */ mulli r0, r0, 0xa0 /* 803AB588 003A84E8 7C 03 02 14 */ add r0, r3, r0 /* 803AB58C 003A84EC 90 05 00 00 */ stw r0, 0(r5) /* 803AB590 003A84F0 4E 80 00 20 */ blr .global sub_803ab594 sub_803ab594: /* 803AB594 003A84F4 38 00 00 00 */ li r0, 0 /* 803AB598 003A84F8 3C A0 00 80 */ lis r5, 0x007FFFFF@ha /* 803AB59C 003A84FC 98 04 00 ED */ stb r0, 0xed(r4) /* 803AB5A0 003A8500 38 C5 FF FF */ addi r6, r5, 0x007FFFFF@l /* 803AB5A4 003A8504 80 A4 00 00 */ lwz r5, 0(r4) /* 803AB5A8 003A8508 B0 05 00 0E */ sth r0, 0xe(r5) /* 803AB5AC 003A850C 80 84 00 00 */ lwz r4, 0(r4) /* 803AB5B0 003A8510 80 A3 00 04 */ lwz r5, 4(r3) /* 803AB5B4 003A8514 A0 04 00 52 */ lhz r0, 0x52(r4) /* 803AB5B8 003A8518 7C 00 07 34 */ extsh r0, r0 /* 803AB5BC 003A851C 7C 05 02 14 */ add r0, r5, r0 /* 803AB5C0 003A8520 90 03 00 04 */ stw r0, 4(r3) /* 803AB5C4 003A8524 80 03 00 04 */ lwz r0, 4(r3) /* 803AB5C8 003A8528 7C 00 30 00 */ cmpw r0, r6 /* 803AB5CC 003A852C 40 81 00 08 */ ble lbl_803AB5D4 /* 803AB5D0 003A8530 48 00 00 1C */ b lbl_803AB5EC lbl_803AB5D4: /* 803AB5D4 003A8534 3C A0 FF 80 */ lis r5, 0xFF800001@ha /* 803AB5D8 003A8538 38 C5 00 01 */ addi r6, r5, 0xFF800001@l /* 803AB5DC 003A853C 7C 00 30 00 */ cmpw r0, r6 /* 803AB5E0 003A8540 40 80 00 08 */ bge lbl_803AB5E8 /* 803AB5E4 003A8544 48 00 00 08 */ b lbl_803AB5EC lbl_803AB5E8: /* 803AB5E8 003A8548 7C 06 03 78 */ mr r6, r0 lbl_803AB5EC: /* 803AB5EC 003A854C 90 C3 00 04 */ stw r6, 4(r3) /* 803AB5F0 003A8550 3C A0 00 80 */ lis r5, 0x007FFFFF@ha /* 803AB5F4 003A8554 38 C5 FF FF */ addi r6, r5, 0x007FFFFF@l /* 803AB5F8 003A8558 A0 04 00 58 */ lhz r0, 0x58(r4) /* 803AB5FC 003A855C 80 A3 00 08 */ lwz r5, 8(r3) /* 803AB600 003A8560 7C 00 07 34 */ extsh r0, r0 /* 803AB604 003A8564 7C 05 02 14 */ add r0, r5, r0 /* 803AB608 003A8568 90 03 00 08 */ stw r0, 8(r3) /* 803AB60C 003A856C 80 03 00 08 */ lwz r0, 8(r3) /* 803AB610 003A8570 7C 00 30 00 */ cmpw r0, r6 /* 803AB614 003A8574 40 81 00 08 */ ble lbl_803AB61C /* 803AB618 003A8578 48 00 00 1C */ b lbl_803AB634 lbl_803AB61C: /* 803AB61C 003A857C 3C A0 FF 80 */ lis r5, 0xFF800001@ha /* 803AB620 003A8580 38 C5 00 01 */ addi r6, r5, 0xFF800001@l /* 803AB624 003A8584 7C 00 30 00 */ cmpw r0, r6 /* 803AB628 003A8588 40 80 00 08 */ bge lbl_803AB630 /* 803AB62C 003A858C 48 00 00 08 */ b lbl_803AB634 lbl_803AB630: /* 803AB630 003A8590 7C 06 03 78 */ mr r6, r0 lbl_803AB634: /* 803AB634 003A8594 90 C3 00 08 */ stw r6, 8(r3) /* 803AB638 003A8598 A0 04 00 0C */ lhz r0, 0xc(r4) /* 803AB63C 003A859C 54 00 07 7B */ rlwinm. r0, r0, 0, 0x1d, 0x1d /* 803AB640 003A85A0 41 82 00 4C */ beq lbl_803AB68C /* 803AB644 003A85A4 A0 04 00 5E */ lhz r0, 0x5e(r4) /* 803AB648 003A85A8 3C A0 00 80 */ lis r5, 0x007FFFFF@ha /* 803AB64C 003A85AC 80 C3 00 0C */ lwz r6, 0xc(r3) /* 803AB650 003A85B0 38 A5 FF FF */ addi r5, r5, 0x007FFFFF@l /* 803AB654 003A85B4 7C 00 07 34 */ extsh r0, r0 /* 803AB658 003A85B8 7C 06 02 14 */ add r0, r6, r0 /* 803AB65C 003A85BC 90 03 00 0C */ stw r0, 0xc(r3) /* 803AB660 003A85C0 80 03 00 0C */ lwz r0, 0xc(r3) /* 803AB664 003A85C4 7C 00 28 00 */ cmpw r0, r5 /* 803AB668 003A85C8 40 81 00 08 */ ble lbl_803AB670 /* 803AB66C 003A85CC 48 00 00 1C */ b lbl_803AB688 lbl_803AB670: /* 803AB670 003A85D0 3C A0 FF 80 */ lis r5, 0xFF800001@ha /* 803AB674 003A85D4 38 A5 00 01 */ addi r5, r5, 0xFF800001@l /* 803AB678 003A85D8 7C 00 28 00 */ cmpw r0, r5 /* 803AB67C 003A85DC 40 80 00 08 */ bge lbl_803AB684 /* 803AB680 003A85E0 48 00 00 08 */ b lbl_803AB688 lbl_803AB684: /* 803AB684 003A85E4 7C 05 03 78 */ mr r5, r0 lbl_803AB688: /* 803AB688 003A85E8 90 A3 00 0C */ stw r5, 0xc(r3) lbl_803AB68C: /* 803AB68C 003A85EC A0 04 00 0C */ lhz r0, 0xc(r4) /* 803AB690 003A85F0 54 00 07 FF */ clrlwi. r0, r0, 0x1f /* 803AB694 003A85F4 41 82 00 E8 */ beq lbl_803AB77C /* 803AB698 003A85F8 A0 04 00 54 */ lhz r0, 0x54(r4) /* 803AB69C 003A85FC 3C A0 00 80 */ lis r5, 0x007FFFFF@ha /* 803AB6A0 003A8600 80 C3 00 10 */ lwz r6, 0x10(r3) /* 803AB6A4 003A8604 38 A5 FF FF */ addi r5, r5, 0x007FFFFF@l /* 803AB6A8 003A8608 7C 00 07 34 */ extsh r0, r0 /* 803AB6AC 003A860C 7C 06 02 14 */ add r0, r6, r0 /* 803AB6B0 003A8610 90 03 00 10 */ stw r0, 0x10(r3) /* 803AB6B4 003A8614 80 03 00 10 */ lwz r0, 0x10(r3) /* 803AB6B8 003A8618 7C 00 28 00 */ cmpw r0, r5 /* 803AB6BC 003A861C 40 81 00 08 */ ble lbl_803AB6C4 /* 803AB6C0 003A8620 48 00 00 1C */ b lbl_803AB6DC lbl_803AB6C4: /* 803AB6C4 003A8624 3C A0 FF 80 */ lis r5, 0xFF800001@ha /* 803AB6C8 003A8628 38 A5 00 01 */ addi r5, r5, 0xFF800001@l /* 803AB6CC 003A862C 7C 00 28 00 */ cmpw r0, r5 /* 803AB6D0 003A8630 40 80 00 08 */ bge lbl_803AB6D8 /* 803AB6D4 003A8634 48 00 00 08 */ b lbl_803AB6DC lbl_803AB6D8: /* 803AB6D8 003A8638 7C 05 03 78 */ mr r5, r0 lbl_803AB6DC: /* 803AB6DC 003A863C 90 A3 00 10 */ stw r5, 0x10(r3) /* 803AB6E0 003A8640 3C A0 00 80 */ lis r5, 0x007FFFFF@ha /* 803AB6E4 003A8644 38 C5 FF FF */ addi r6, r5, 0x007FFFFF@l /* 803AB6E8 003A8648 A0 04 00 5A */ lhz r0, 0x5a(r4) /* 803AB6EC 003A864C 80 A3 00 14 */ lwz r5, 0x14(r3) /* 803AB6F0 003A8650 7C 00 07 34 */ extsh r0, r0 /* 803AB6F4 003A8654 7C 05 02 14 */ add r0, r5, r0 /* 803AB6F8 003A8658 90 03 00 14 */ stw r0, 0x14(r3) /* 803AB6FC 003A865C 80 03 00 14 */ lwz r0, 0x14(r3) /* 803AB700 003A8660 7C 00 30 00 */ cmpw r0, r6 /* 803AB704 003A8664 40 81 00 08 */ ble lbl_803AB70C /* 803AB708 003A8668 48 00 00 1C */ b lbl_803AB724 lbl_803AB70C: /* 803AB70C 003A866C 3C A0 FF 80 */ lis r5, 0xFF800001@ha /* 803AB710 003A8670 38 C5 00 01 */ addi r6, r5, 0xFF800001@l /* 803AB714 003A8674 7C 00 30 00 */ cmpw r0, r6 /* 803AB718 003A8678 40 80 00 08 */ bge lbl_803AB720 /* 803AB71C 003A867C 48 00 00 08 */ b lbl_803AB724 lbl_803AB720: /* 803AB720 003A8680 7C 06 03 78 */ mr r6, r0 lbl_803AB724: /* 803AB724 003A8684 90 C3 00 14 */ stw r6, 0x14(r3) /* 803AB728 003A8688 A0 04 00 0C */ lhz r0, 0xc(r4) /* 803AB72C 003A868C 70 00 00 14 */ andi. r0, r0, 0x14 /* 803AB730 003A8690 41 82 00 4C */ beq lbl_803AB77C /* 803AB734 003A8694 A0 04 00 60 */ lhz r0, 0x60(r4) /* 803AB738 003A8698 3C A0 00 80 */ lis r5, 0x007FFFFF@ha /* 803AB73C 003A869C 80 C3 00 18 */ lwz r6, 0x18(r3) /* 803AB740 003A86A0 38 A5 FF FF */ addi r5, r5, 0x007FFFFF@l /* 803AB744 003A86A4 7C 00 07 34 */ extsh r0, r0 /* 803AB748 003A86A8 7C 06 02 14 */ add r0, r6, r0 /* 803AB74C 003A86AC 90 03 00 18 */ stw r0, 0x18(r3) /* 803AB750 003A86B0 80 03 00 18 */ lwz r0, 0x18(r3) /* 803AB754 003A86B4 7C 00 28 00 */ cmpw r0, r5 /* 803AB758 003A86B8 40 81 00 08 */ ble lbl_803AB760 /* 803AB75C 003A86BC 48 00 00 1C */ b lbl_803AB778 lbl_803AB760: /* 803AB760 003A86C0 3C A0 FF 80 */ lis r5, 0xFF800001@ha /* 803AB764 003A86C4 38 A5 00 01 */ addi r5, r5, 0xFF800001@l /* 803AB768 003A86C8 7C 00 28 00 */ cmpw r0, r5 /* 803AB76C 003A86CC 40 80 00 08 */ bge lbl_803AB774 /* 803AB770 003A86D0 48 00 00 08 */ b lbl_803AB778 lbl_803AB774: /* 803AB774 003A86D4 7C 05 03 78 */ mr r5, r0 lbl_803AB778: /* 803AB778 003A86D8 90 A3 00 18 */ stw r5, 0x18(r3) lbl_803AB77C: /* 803AB77C 003A86DC A0 04 00 0C */ lhz r0, 0xc(r4) /* 803AB780 003A86E0 70 00 00 12 */ andi. r0, r0, 0x12 /* 803AB784 003A86E4 4D 82 00 20 */ beqlr /* 803AB788 003A86E8 A0 04 00 56 */ lhz r0, 0x56(r4) /* 803AB78C 003A86EC 3C A0 00 80 */ lis r5, 0x007FFFFF@ha /* 803AB790 003A86F0 80 C3 00 1C */ lwz r6, 0x1c(r3) /* 803AB794 003A86F4 38 A5 FF FF */ addi r5, r5, 0x007FFFFF@l /* 803AB798 003A86F8 7C 00 07 34 */ extsh r0, r0 /* 803AB79C 003A86FC 7C 06 02 14 */ add r0, r6, r0 /* 803AB7A0 003A8700 90 03 00 1C */ stw r0, 0x1c(r3) /* 803AB7A4 003A8704 80 03 00 1C */ lwz r0, 0x1c(r3) /* 803AB7A8 003A8708 7C 00 28 00 */ cmpw r0, r5 /* 803AB7AC 003A870C 40 81 00 08 */ ble lbl_803AB7B4 /* 803AB7B0 003A8710 48 00 00 1C */ b lbl_803AB7CC lbl_803AB7B4: /* 803AB7B4 003A8714 3C A0 FF 80 */ lis r5, 0xFF800001@ha /* 803AB7B8 003A8718 38 A5 00 01 */ addi r5, r5, 0xFF800001@l /* 803AB7BC 003A871C 7C 00 28 00 */ cmpw r0, r5 /* 803AB7C0 003A8720 40 80 00 08 */ bge lbl_803AB7C8 /* 803AB7C4 003A8724 48 00 00 08 */ b lbl_803AB7CC lbl_803AB7C8: /* 803AB7C8 003A8728 7C 05 03 78 */ mr r5, r0 lbl_803AB7CC: /* 803AB7CC 003A872C 90 A3 00 1C */ stw r5, 0x1c(r3) /* 803AB7D0 003A8730 3C A0 00 80 */ lis r5, 0x007FFFFF@ha /* 803AB7D4 003A8734 38 C5 FF FF */ addi r6, r5, 0x007FFFFF@l /* 803AB7D8 003A8738 A0 04 00 5C */ lhz r0, 0x5c(r4) /* 803AB7DC 003A873C 80 A3 00 20 */ lwz r5, 0x20(r3) /* 803AB7E0 003A8740 7C 00 07 34 */ extsh r0, r0 /* 803AB7E4 003A8744 7C 05 02 14 */ add r0, r5, r0 /* 803AB7E8 003A8748 90 03 00 20 */ stw r0, 0x20(r3) /* 803AB7EC 003A874C 80 03 00 20 */ lwz r0, 0x20(r3) /* 803AB7F0 003A8750 7C 00 30 00 */ cmpw r0, r6 /* 803AB7F4 003A8754 40 81 00 08 */ ble lbl_803AB7FC /* 803AB7F8 003A8758 48 00 00 1C */ b lbl_803AB814 lbl_803AB7FC: /* 803AB7FC 003A875C 3C A0 FF 80 */ lis r5, 0xFF800001@ha /* 803AB800 003A8760 38 C5 00 01 */ addi r6, r5, 0xFF800001@l /* 803AB804 003A8764 7C 00 30 00 */ cmpw r0, r6 /* 803AB808 003A8768 40 80 00 08 */ bge lbl_803AB810 /* 803AB80C 003A876C 48 00 00 08 */ b lbl_803AB814 lbl_803AB810: /* 803AB810 003A8770 7C 06 03 78 */ mr r6, r0 lbl_803AB814: /* 803AB814 003A8774 90 C3 00 20 */ stw r6, 0x20(r3) /* 803AB818 003A8778 A0 04 00 0C */ lhz r0, 0xc(r4) /* 803AB81C 003A877C 54 00 07 7B */ rlwinm. r0, r0, 0, 0x1d, 0x1d /* 803AB820 003A8780 4D 82 00 20 */ beqlr /* 803AB824 003A8784 A0 04 00 62 */ lhz r0, 0x62(r4) /* 803AB828 003A8788 3C 80 00 80 */ lis r4, 0x007FFFFF@ha /* 803AB82C 003A878C 80 A3 00 24 */ lwz r5, 0x24(r3) /* 803AB830 003A8790 38 84 FF FF */ addi r4, r4, 0x007FFFFF@l /* 803AB834 003A8794 7C 00 07 34 */ extsh r0, r0 /* 803AB838 003A8798 7C 05 02 14 */ add r0, r5, r0 /* 803AB83C 003A879C 90 03 00 24 */ stw r0, 0x24(r3) /* 803AB840 003A87A0 80 03 00 24 */ lwz r0, 0x24(r3) /* 803AB844 003A87A4 7C 00 20 00 */ cmpw r0, r4 /* 803AB848 003A87A8 40 81 00 08 */ ble lbl_803AB850 /* 803AB84C 003A87AC 48 00 00 1C */ b lbl_803AB868 lbl_803AB850: /* 803AB850 003A87B0 3C 80 FF 80 */ lis r4, 0xFF800001@ha /* 803AB854 003A87B4 38 84 00 01 */ addi r4, r4, 0xFF800001@l /* 803AB858 003A87B8 7C 00 20 00 */ cmpw r0, r4 /* 803AB85C 003A87BC 40 80 00 08 */ bge lbl_803AB864 /* 803AB860 003A87C0 48 00 00 08 */ b lbl_803AB868 lbl_803AB864: /* 803AB864 003A87C4 7C 04 03 78 */ mr r4, r0 lbl_803AB868: /* 803AB868 003A87C8 90 83 00 24 */ stw r4, 0x24(r3) /* 803AB86C 003A87CC 4E 80 00 20 */ blr .global SortVoices SortVoices: /* 803AB870 003A87D0 94 21 FF E0 */ stwu r1, -0x20(r1) /* 803AB874 003A87D4 7C 08 02 A6 */ mflr r0 /* 803AB878 003A87D8 90 01 00 24 */ stw r0, 0x24(r1) /* 803AB87C 003A87DC 39 61 00 20 */ addi r11, r1, 0x20 /* 803AB880 003A87E0 4B FD E1 F9 */ bl _savegpr_26 /* 803AB884 003A87E4 7C BB 2B 78 */ mr r27, r5 /* 803AB888 003A87E8 7C 7A 1B 78 */ mr r26, r3 /* 803AB88C 003A87EC 7C 04 D8 00 */ cmpw r4, r27 /* 803AB890 003A87F0 40 80 02 20 */ bge lbl_803ABAB0 /* 803AB894 003A87F4 7C 64 DA 14 */ add r3, r4, r27 /* 803AB898 003A87F8 54 85 10 3A */ slwi r5, r4, 2 /* 803AB89C 003A87FC 54 60 0F FE */ srwi r0, r3, 0x1f /* 803AB8A0 003A8800 39 44 00 01 */ addi r10, r4, 1 /* 803AB8A4 003A8804 7C 00 1A 14 */ add r0, r0, r3 /* 803AB8A8 003A8808 7C DA 2A 14 */ add r6, r26, r5 /* 803AB8AC 003A880C 7C 03 0E 70 */ srawi r3, r0, 1 /* 803AB8B0 003A8810 38 1B 00 01 */ addi r0, r27, 1 /* 803AB8B4 003A8814 54 67 10 3A */ slwi r7, r3, 2 /* 803AB8B8 003A8818 55 43 10 3A */ slwi r3, r10, 2 /* 803AB8BC 003A881C 81 66 00 00 */ lwz r11, 0(r6) /* 803AB8C0 003A8820 7C 0A 00 50 */ subf r0, r10, r0 /* 803AB8C4 003A8824 7C BA 38 2E */ lwzx r5, r26, r7 /* 803AB8C8 003A8828 7C 9C 23 78 */ mr r28, r4 /* 803AB8CC 003A882C 7C C9 33 78 */ mr r9, r6 /* 803AB8D0 003A8830 7D 1A 1A 14 */ add r8, r26, r3 /* 803AB8D4 003A8834 90 A6 00 00 */ stw r5, 0(r6) /* 803AB8D8 003A8838 7D 7A 39 2E */ stwx r11, r26, r7 /* 803AB8DC 003A883C 7C 09 03 A6 */ mtctr r0 /* 803AB8E0 003A8840 7C 0A D8 00 */ cmpw r10, r27 /* 803AB8E4 003A8844 41 81 00 34 */ bgt lbl_803AB918 lbl_803AB8E8: /* 803AB8E8 003A8848 80 E8 00 00 */ lwz r7, 0(r8) /* 803AB8EC 003A884C 80 66 00 00 */ lwz r3, 0(r6) /* 803AB8F0 003A8850 80 A7 00 1C */ lwz r5, 0x1c(r7) /* 803AB8F4 003A8854 80 03 00 1C */ lwz r0, 0x1c(r3) /* 803AB8F8 003A8858 7C 05 00 40 */ cmplw r5, r0 /* 803AB8FC 003A885C 40 80 00 14 */ bge lbl_803AB910 /* 803AB900 003A8860 80 09 00 04 */ lwz r0, 4(r9) /* 803AB904 003A8864 3B 9C 00 01 */ addi r28, r28, 1 /* 803AB908 003A8868 94 E9 00 04 */ stwu r7, 4(r9) /* 803AB90C 003A886C 90 08 00 00 */ stw r0, 0(r8) lbl_803AB910: /* 803AB910 003A8870 39 08 00 04 */ addi r8, r8, 4 /* 803AB914 003A8874 42 00 FF D4 */ bdnz lbl_803AB8E8 lbl_803AB918: /* 803AB918 003A8878 57 9D 10 3A */ slwi r29, r28, 2 /* 803AB91C 003A887C 39 1C FF FF */ addi r8, r28, -1 /* 803AB920 003A8880 7F DA EA 14 */ add r30, r26, r29 /* 803AB924 003A8884 80 66 00 00 */ lwz r3, 0(r6) /* 803AB928 003A8888 80 1E 00 00 */ lwz r0, 0(r30) /* 803AB92C 003A888C 7C 04 40 00 */ cmpw r4, r8 /* 803AB930 003A8890 90 06 00 00 */ stw r0, 0(r6) /* 803AB934 003A8894 90 7E 00 00 */ stw r3, 0(r30) /* 803AB938 003A8898 40 80 00 B4 */ bge lbl_803AB9EC /* 803AB93C 003A889C 7C 7C 22 14 */ add r3, r28, r4 /* 803AB940 003A88A0 39 44 00 01 */ addi r10, r4, 1 /* 803AB944 003A88A4 38 E3 FF FF */ addi r7, r3, -1 /* 803AB948 003A88A8 38 08 00 01 */ addi r0, r8, 1 /* 803AB94C 003A88AC 54 E5 0F FE */ srwi r5, r7, 0x1f /* 803AB950 003A88B0 55 43 10 3A */ slwi r3, r10, 2 /* 803AB954 003A88B4 7C A5 3A 14 */ add r5, r5, r7 /* 803AB958 003A88B8 81 26 00 00 */ lwz r9, 0(r6) /* 803AB95C 003A88BC 7C A5 0E 70 */ srawi r5, r5, 1 /* 803AB960 003A88C0 7C 0A 00 50 */ subf r0, r10, r0 /* 803AB964 003A88C4 54 A7 10 3A */ slwi r7, r5, 2 /* 803AB968 003A88C8 7C 9F 23 78 */ mr r31, r4 /* 803AB96C 003A88CC 7C BA 38 2E */ lwzx r5, r26, r7 /* 803AB970 003A88D0 7C CC 33 78 */ mr r12, r6 /* 803AB974 003A88D4 7D 7A 1A 14 */ add r11, r26, r3 /* 803AB978 003A88D8 90 A6 00 00 */ stw r5, 0(r6) /* 803AB97C 003A88DC 7D 3A 39 2E */ stwx r9, r26, r7 /* 803AB980 003A88E0 7C 09 03 A6 */ mtctr r0 /* 803AB984 003A88E4 7C 0A 40 00 */ cmpw r10, r8 /* 803AB988 003A88E8 41 81 00 34 */ bgt lbl_803AB9BC lbl_803AB98C: /* 803AB98C 003A88EC 80 EB 00 00 */ lwz r7, 0(r11) /* 803AB990 003A88F0 80 66 00 00 */ lwz r3, 0(r6) /* 803AB994 003A88F4 80 A7 00 1C */ lwz r5, 0x1c(r7) /* 803AB998 003A88F8 80 03 00 1C */ lwz r0, 0x1c(r3) /* 803AB99C 003A88FC 7C 05 00 40 */ cmplw r5, r0 /* 803AB9A0 003A8900 40 80 00 14 */ bge lbl_803AB9B4 /* 803AB9A4 003A8904 80 0C 00 04 */ lwz r0, 4(r12) /* 803AB9A8 003A8908 3B FF 00 01 */ addi r31, r31, 1 /* 803AB9AC 003A890C 94 EC 00 04 */ stwu r7, 4(r12) /* 803AB9B0 003A8910 90 0B 00 00 */ stw r0, 0(r11) lbl_803AB9B4: /* 803AB9B4 003A8914 39 6B 00 04 */ addi r11, r11, 4 /* 803AB9B8 003A8918 42 00 FF D4 */ bdnz lbl_803AB98C lbl_803AB9BC: /* 803AB9BC 003A891C 57 E7 10 3A */ slwi r7, r31, 2 /* 803AB9C0 003A8920 81 06 00 00 */ lwz r8, 0(r6) /* 803AB9C4 003A8924 7C 1A 38 2E */ lwzx r0, r26, r7 /* 803AB9C8 003A8928 7F 43 D3 78 */ mr r3, r26 /* 803AB9CC 003A892C 38 BF FF FF */ addi r5, r31, -1 /* 803AB9D0 003A8930 90 06 00 00 */ stw r0, 0(r6) /* 803AB9D4 003A8934 7D 1A 39 2E */ stwx r8, r26, r7 /* 803AB9D8 003A8938 4B FF FE 99 */ bl SortVoices /* 803AB9DC 003A893C 7F 43 D3 78 */ mr r3, r26 /* 803AB9E0 003A8940 38 9F 00 01 */ addi r4, r31, 1 /* 803AB9E4 003A8944 38 BC FF FF */ addi r5, r28, -1 /* 803AB9E8 003A8948 4B FF FE 89 */ bl SortVoices lbl_803AB9EC: /* 803AB9EC 003A894C 3B FC 00 01 */ addi r31, r28, 1 /* 803AB9F0 003A8950 7C 1F D8 00 */ cmpw r31, r27 /* 803AB9F4 003A8954 40 80 00 BC */ bge lbl_803ABAB0 /* 803AB9F8 003A8958 7C 7C DA 14 */ add r3, r28, r27 /* 803AB9FC 003A895C 7C DA EA 14 */ add r6, r26, r29 /* 803ABA00 003A8960 38 83 00 01 */ addi r4, r3, 1 /* 803ABA04 003A8964 81 06 00 04 */ lwz r8, 4(r6) /* 803ABA08 003A8968 54 83 0F FE */ srwi r3, r4, 0x1f /* 803ABA0C 003A896C 39 3C 00 02 */ addi r9, r28, 2 /* 803ABA10 003A8970 7C 63 22 14 */ add r3, r3, r4 /* 803ABA14 003A8974 38 1B 00 01 */ addi r0, r27, 1 /* 803ABA18 003A8978 7C 65 0E 70 */ srawi r5, r3, 1 /* 803ABA1C 003A897C 55 24 10 3A */ slwi r4, r9, 2 /* 803ABA20 003A8980 54 A7 10 3A */ slwi r7, r5, 2 /* 803ABA24 003A8984 57 E3 10 3A */ slwi r3, r31, 2 /* 803ABA28 003A8988 7C BA 38 2E */ lwzx r5, r26, r7 /* 803ABA2C 003A898C 7C 09 00 50 */ subf r0, r9, r0 /* 803ABA30 003A8990 7D 5A 22 14 */ add r10, r26, r4 /* 803ABA34 003A8994 90 A6 00 04 */ stw r5, 4(r6) /* 803ABA38 003A8998 7C BA 1A 14 */ add r5, r26, r3 /* 803ABA3C 003A899C 7D 1A 39 2E */ stwx r8, r26, r7 /* 803ABA40 003A89A0 7C 09 03 A6 */ mtctr r0 /* 803ABA44 003A89A4 7C 09 D8 00 */ cmpw r9, r27 /* 803ABA48 003A89A8 41 81 00 34 */ bgt lbl_803ABA7C lbl_803ABA4C: /* 803ABA4C 003A89AC 80 EA 00 00 */ lwz r7, 0(r10) /* 803ABA50 003A89B0 80 7E 00 04 */ lwz r3, 4(r30) /* 803ABA54 003A89B4 80 87 00 1C */ lwz r4, 0x1c(r7) /* 803ABA58 003A89B8 80 03 00 1C */ lwz r0, 0x1c(r3) /* 803ABA5C 003A89BC 7C 04 00 40 */ cmplw r4, r0 /* 803ABA60 003A89C0 40 80 00 14 */ bge lbl_803ABA74 /* 803ABA64 003A89C4 80 05 00 04 */ lwz r0, 4(r5) /* 803ABA68 003A89C8 3B FF 00 01 */ addi r31, r31, 1 /* 803ABA6C 003A89CC 94 E5 00 04 */ stwu r7, 4(r5) /* 803ABA70 003A89D0 90 0A 00 00 */ stw r0, 0(r10) lbl_803ABA74: /* 803ABA74 003A89D4 39 4A 00 04 */ addi r10, r10, 4 /* 803ABA78 003A89D8 42 00 FF D4 */ bdnz lbl_803ABA4C lbl_803ABA7C: /* 803ABA7C 003A89DC 57 E7 10 3A */ slwi r7, r31, 2 /* 803ABA80 003A89E0 81 06 00 04 */ lwz r8, 4(r6) /* 803ABA84 003A89E4 7C 1A 38 2E */ lwzx r0, r26, r7 /* 803ABA88 003A89E8 7F 43 D3 78 */ mr r3, r26 /* 803ABA8C 003A89EC 38 9C 00 01 */ addi r4, r28, 1 /* 803ABA90 003A89F0 38 BF FF FF */ addi r5, r31, -1 /* 803ABA94 003A89F4 90 06 00 04 */ stw r0, 4(r6) /* 803ABA98 003A89F8 7D 1A 39 2E */ stwx r8, r26, r7 /* 803ABA9C 003A89FC 4B FF FD D5 */ bl SortVoices /* 803ABAA0 003A8A00 7F 43 D3 78 */ mr r3, r26 /* 803ABAA4 003A8A04 7F 65 DB 78 */ mr r5, r27 /* 803ABAA8 003A8A08 38 9F 00 01 */ addi r4, r31, 1 /* 803ABAAC 003A8A0C 4B FF FD C5 */ bl SortVoices lbl_803ABAB0: /* 803ABAB0 003A8A10 39 61 00 20 */ addi r11, r1, 0x20 /* 803ABAB4 003A8A14 4B FD E0 11 */ bl _restgpr_26 /* 803ABAB8 003A8A18 80 01 00 24 */ lwz r0, 0x24(r1) /* 803ABABC 003A8A1C 7C 08 03 A6 */ mtlr r0 /* 803ABAC0 003A8A20 38 21 00 20 */ addi r1, r1, 0x20 /* 803ABAC4 003A8A24 4E 80 00 20 */ blr .global salBuildCommandList salBuildCommandList: /* 803ABAC8 003A8A28 94 21 FF 80 */ stwu r1, -0x80(r1) /* 803ABACC 003A8A2C 7C 08 02 A6 */ mflr r0 /* 803ABAD0 003A8A30 90 01 00 84 */ stw r0, 0x84(r1) /* 803ABAD4 003A8A34 39 61 00 80 */ addi r11, r1, 0x80 /* 803ABAD8 003A8A38 4B FD DF 71 */ bl __save_gpr /* 803ABADC 003A8A3C 80 AD AF 40 */ lwz r5, dspCmdList@sda21(r13) /* 803ABAE0 003A8A40 38 00 00 00 */ li r0, 0 /* 803ABAE4 003A8A44 90 0D AF 24 */ stw r0, dspCmdLastLoad@sda21(r13) /* 803ABAE8 003A8A48 28 04 00 C8 */ cmplwi r4, 0xc8 /* 803ABAEC 003A8A4C 38 05 01 80 */ addi r0, r5, 0x180 /* 803ABAF0 003A8A50 90 61 00 08 */ stw r3, 8(r1) /* 803ABAF4 003A8A54 90 AD AF 38 */ stw r5, dspCmdPtr@sda21(r13) /* 803ABAF8 003A8A58 90 AD AF 30 */ stw r5, dspCmdCurBase@sda21(r13) /* 803ABAFC 003A8A5C 90 0D AF 34 */ stw r0, dspCmdMaxPtr@sda21(r13) /* 803ABB00 003A8A60 40 80 00 0C */ bge lbl_803ABB0C /* 803ABB04 003A8A64 3A E0 28 BE */ li r23, 0x28be /* 803ABB08 003A8A68 48 00 00 38 */ b lbl_803ABB40 lbl_803ABB0C: /* 803ABB0C 003A8A6C 3C A0 80 00 */ lis r5, 0x800000F8@ha /* 803ABB10 003A8A70 3C 60 51 EC */ lis r3, 0x51EB851F@ha /* 803ABB14 003A8A74 80 05 00 F8 */ lwz r0, 0x800000F8@l(r5) /* 803ABB18 003A8A78 38 A3 85 1F */ addi r5, r3, 0x51EB851F@l /* 803ABB1C 003A8A7C 3C 60 D1 B7 */ lis r3, 0xD1B71759@ha /* 803ABB20 003A8A80 38 84 FF 38 */ addi r4, r4, -200 /* 803ABB24 003A8A84 7C 05 00 16 */ mulhwu r0, r5, r0 /* 803ABB28 003A8A88 38 63 17 59 */ addi r3, r3, 0xD1B71759@l /* 803ABB2C 003A8A8C 54 00 C9 FE */ srwi r0, r0, 7 /* 803ABB30 003A8A90 7C 03 00 16 */ mulhwu r0, r3, r0 /* 803ABB34 003A8A94 54 00 A3 3E */ srwi r0, r0, 0xc /* 803ABB38 003A8A98 7C 64 01 D6 */ mullw r3, r4, r0 /* 803ABB3C 003A8A9C 3A E3 28 BE */ addi r23, r3, 0x28be lbl_803ABB40: /* 803ABB40 003A8AA0 80 0D AF 44 */ lwz r0, dspHRTFOn@sda21(r13) /* 803ABB44 003A8AA4 28 00 00 00 */ cmplwi r0, 0 /* 803ABB48 003A8AA8 41 82 00 0C */ beq lbl_803ABB54 /* 803ABB4C 003A8AAC 3E F7 00 01 */ addis r23, r23, 1 /* 803ABB50 003A8AB0 3A F7 AF C8 */ addi r23, r23, -20536 lbl_803ABB54: /* 803ABB54 003A8AB4 38 00 00 00 */ li r0, 0 /* 803ABB58 003A8AB8 3C 60 80 56 */ lis r3, dspStudio@ha /* 803ABB5C 003A8ABC B0 01 00 10 */ sth r0, 0x10(r1) /* 803ABB60 003A8AC0 38 03 F2 60 */ addi r0, r3, dspStudio@l /* 803ABB64 003A8AC4 90 01 00 28 */ stw r0, 0x28(r1) /* 803ABB68 003A8AC8 38 00 00 00 */ li r0, 0 /* 803ABB6C 003A8ACC 98 01 00 24 */ stb r0, 0x24(r1) /* 803ABB70 003A8AD0 48 00 1D 98 */ b lbl_803AD908 lbl_803ABB74: /* 803ABB74 003A8AD4 88 01 00 24 */ lbz r0, 0x24(r1) /* 803ABB78 003A8AD8 1C 60 00 BC */ mulli r3, r0, 0xbc /* 803ABB7C 003A8ADC 80 01 00 28 */ lwz r0, 0x28(r1) /* 803ABB80 003A8AE0 7E 00 1A 14 */ add r16, r0, r3 /* 803ABB84 003A8AE4 88 10 00 50 */ lbz r0, 0x50(r16) /* 803ABB88 003A8AE8 28 00 00 01 */ cmplwi r0, 1 /* 803ABB8C 003A8AEC 40 82 1D 70 */ bne lbl_803AD8FC /* 803ABB90 003A8AF0 81 D0 00 48 */ lwz r14, 0x48(r16) /* 803ABB94 003A8AF4 48 00 00 74 */ b lbl_803ABC08 lbl_803ABB98: /* 803ABB98 003A8AF8 88 0E 00 ED */ lbz r0, 0xed(r14) /* 803ABB9C 003A8AFC 82 2E 00 0C */ lwz r17, 0xc(r14) /* 803ABBA0 003A8B00 28 00 00 00 */ cmplwi r0, 0 /* 803ABBA4 003A8B04 40 82 00 10 */ bne lbl_803ABBB4 /* 803ABBA8 003A8B08 80 0E 00 24 */ lwz r0, 0x24(r14) /* 803ABBAC 003A8B0C 54 00 06 B5 */ rlwinm. r0, r0, 0, 0x1a, 0x1a /* 803ABBB0 003A8B10 41 82 00 54 */ beq lbl_803ABC04 lbl_803ABBB4: /* 803ABBB4 003A8B14 7E 03 83 78 */ mr r3, r16 /* 803ABBB8 003A8B18 7D C4 73 78 */ mr r4, r14 /* 803ABBBC 003A8B1C 4B FF F9 D9 */ bl sub_803ab594 /* 803ABBC0 003A8B20 80 6E 00 E8 */ lwz r3, 0xe8(r14) /* 803ABBC4 003A8B24 3C 03 00 01 */ addis r0, r3, 1 /* 803ABBC8 003A8B28 28 00 FF FF */ cmplwi r0, 0xffff /* 803ABBCC 003A8B2C 41 82 00 10 */ beq lbl_803ABBDC /* 803ABBD0 003A8B30 7D C3 73 78 */ mr r3, r14 /* 803ABBD4 003A8B34 38 80 00 03 */ li r4, 3 /* 803ABBD8 003A8B38 48 00 20 A9 */ bl salSynthSendMessage lbl_803ABBDC: /* 803ABBDC 003A8B3C 88 0E 00 EC */ lbz r0, 0xec(r14) /* 803ABBE0 003A8B40 28 00 00 01 */ cmplwi r0, 1 /* 803ABBE4 003A8B44 40 82 00 10 */ bne lbl_803ABBF4 /* 803ABBE8 003A8B48 88 0E 00 EE */ lbz r0, 0xee(r14) /* 803ABBEC 003A8B4C 28 00 00 00 */ cmplwi r0, 0 /* 803ABBF0 003A8B50 41 82 00 14 */ beq lbl_803ABC04 lbl_803ABBF4: /* 803ABBF4 003A8B54 7D C3 73 78 */ mr r3, r14 /* 803ABBF8 003A8B58 48 00 21 6D */ bl salDeactivateVoice /* 803ABBFC 003A8B5C 38 00 00 00 */ li r0, 0 /* 803ABC00 003A8B60 98 0E 00 EE */ stb r0, 0xee(r14) lbl_803ABC04: /* 803ABC04 003A8B64 7E 2E 8B 78 */ mr r14, r17 lbl_803ABC08: /* 803ABC08 003A8B68 28 0E 00 00 */ cmplwi r14, 0 /* 803ABC0C 003A8B6C 40 82 FF 8C */ bne lbl_803ABB98 /* 803ABC10 003A8B70 81 D0 00 4C */ lwz r14, 0x4c(r16) /* 803ABC14 003A8B74 48 00 00 14 */ b lbl_803ABC28 lbl_803ABC18: /* 803ABC18 003A8B78 7E 03 83 78 */ mr r3, r16 /* 803ABC1C 003A8B7C 7D C4 73 78 */ mr r4, r14 /* 803ABC20 003A8B80 4B FF F9 75 */ bl sub_803ab594 /* 803ABC24 003A8B84 81 CE 00 14 */ lwz r14, 0x14(r14) lbl_803ABC28: /* 803ABC28 003A8B88 28 0E 00 00 */ cmplwi r14, 0 /* 803ABC2C 003A8B8C 40 82 FF EC */ bne lbl_803ABC18 /* 803ABC30 003A8B90 80 AD AF 38 */ lwz r5, dspCmdPtr@sda21(r13) /* 803ABC34 003A8B94 38 00 00 00 */ li r0, 0 /* 803ABC38 003A8B98 80 6D AF 34 */ lwz r3, dspCmdMaxPtr@sda21(r13) /* 803ABC3C 003A8B9C 38 85 00 06 */ addi r4, r5, 6 /* 803ABC40 003A8BA0 90 10 00 4C */ stw r0, 0x4c(r16) /* 803ABC44 003A8BA4 38 03 FF F8 */ addi r0, r3, -8 /* 803ABC48 003A8BA8 7C 04 00 40 */ cmplw r4, r0 /* 803ABC4C 003A8BAC 40 81 00 8C */ ble lbl_803ABCD8 /* 803ABC50 003A8BB0 38 00 00 0D */ li r0, 0xd /* 803ABC54 003A8BB4 B0 05 00 00 */ sth r0, 0(r5) /* 803ABC58 003A8BB8 80 0D AF 34 */ lwz r0, dspCmdMaxPtr@sda21(r13) /* 803ABC5C 003A8BBC 80 6D AF 38 */ lwz r3, dspCmdPtr@sda21(r13) /* 803ABC60 003A8BC0 54 00 84 3E */ srwi r0, r0, 0x10 /* 803ABC64 003A8BC4 B0 03 00 02 */ sth r0, 2(r3) /* 803ABC68 003A8BC8 80 0D AF 34 */ lwz r0, dspCmdMaxPtr@sda21(r13) /* 803ABC6C 003A8BCC 80 6D AF 38 */ lwz r3, dspCmdPtr@sda21(r13) /* 803ABC70 003A8BD0 B0 03 00 04 */ sth r0, 4(r3) /* 803ABC74 003A8BD4 80 6D AF 38 */ lwz r3, dspCmdPtr@sda21(r13) /* 803ABC78 003A8BD8 80 AD AF 24 */ lwz r5, dspCmdLastLoad@sda21(r13) /* 803ABC7C 003A8BDC 80 8D AF 30 */ lwz r4, dspCmdCurBase@sda21(r13) /* 803ABC80 003A8BE0 38 03 00 08 */ addi r0, r3, 8 /* 803ABC84 003A8BE4 28 05 00 00 */ cmplwi r5, 0 /* 803ABC88 003A8BE8 7C 64 00 50 */ subf r3, r4, r0 /* 803ABC8C 003A8BEC 38 03 00 03 */ addi r0, r3, 3 /* 803ABC90 003A8BF0 54 0E 04 3A */ rlwinm r14, r0, 0, 0x10, 0x1d /* 803ABC94 003A8BF4 41 82 00 18 */ beq lbl_803ABCAC /* 803ABC98 003A8BF8 B1 C5 00 06 */ sth r14, 6(r5) /* 803ABC9C 003A8BFC 80 6D AF 28 */ lwz r3, dspCmdLastBase@sda21(r13) /* 803ABCA0 003A8C00 A0 8D AF 2C */ lhz r4, dspCmdLastSize@sda21(r13) /* 803ABCA4 003A8C04 4B FD 2E 99 */ bl DCStoreRangeNoSync /* 803ABCA8 003A8C08 48 00 00 08 */ b lbl_803ABCB0 lbl_803ABCAC: /* 803ABCAC 003A8C0C B1 CD AF 3C */ sth r14, dspCmdFirstSize@sda21(r13) lbl_803ABCB0: /* 803ABCB0 003A8C10 80 6D AF 34 */ lwz r3, dspCmdMaxPtr@sda21(r13) /* 803ABCB4 003A8C14 80 AD AF 38 */ lwz r5, dspCmdPtr@sda21(r13) /* 803ABCB8 003A8C18 80 8D AF 30 */ lwz r4, dspCmdCurBase@sda21(r13) /* 803ABCBC 003A8C1C 38 03 01 80 */ addi r0, r3, 0x180 /* 803ABCC0 003A8C20 90 AD AF 24 */ stw r5, dspCmdLastLoad@sda21(r13) /* 803ABCC4 003A8C24 B1 CD AF 2C */ sth r14, dspCmdLastSize@sda21(r13) /* 803ABCC8 003A8C28 90 8D AF 28 */ stw r4, dspCmdLastBase@sda21(r13) /* 803ABCCC 003A8C2C 90 6D AF 38 */ stw r3, dspCmdPtr@sda21(r13) /* 803ABCD0 003A8C30 90 6D AF 30 */ stw r3, dspCmdCurBase@sda21(r13) /* 803ABCD4 003A8C34 90 0D AF 34 */ stw r0, dspCmdMaxPtr@sda21(r13) lbl_803ABCD8: /* 803ABCD8 003A8C38 80 8D AF 38 */ lwz r4, dspCmdPtr@sda21(r13) /* 803ABCDC 003A8C3C 38 00 00 00 */ li r0, 0 /* 803ABCE0 003A8C40 3C 60 80 56 */ lis r3, dspStudio@ha /* 803ABCE4 003A8C44 7E 11 83 78 */ mr r17, r16 /* 803ABCE8 003A8C48 B0 04 00 00 */ sth r0, 0(r4) /* 803ABCEC 003A8C4C 39 C3 F2 60 */ addi r14, r3, dspStudio@l /* 803ABCF0 003A8C50 3A 40 00 00 */ li r18, 0 /* 803ABCF4 003A8C54 3A F7 2C 62 */ addi r23, r23, 0x2c62 /* 803ABCF8 003A8C58 80 10 00 00 */ lwz r0, 0(r16) /* 803ABCFC 003A8C5C 80 6D AF 38 */ lwz r3, dspCmdPtr@sda21(r13) /* 803ABD00 003A8C60 54 00 84 3E */ srwi r0, r0, 0x10 /* 803ABD04 003A8C64 B0 03 00 02 */ sth r0, 2(r3) /* 803ABD08 003A8C68 80 10 00 00 */ lwz r0, 0(r16) /* 803ABD0C 003A8C6C 80 6D AF 38 */ lwz r3, dspCmdPtr@sda21(r13) /* 803ABD10 003A8C70 B0 03 00 04 */ sth r0, 4(r3) /* 803ABD14 003A8C74 80 6D AF 38 */ lwz r3, dspCmdPtr@sda21(r13) /* 803ABD18 003A8C78 38 03 00 06 */ addi r0, r3, 6 /* 803ABD1C 003A8C7C 90 0D AF 38 */ stw r0, dspCmdPtr@sda21(r13) /* 803ABD20 003A8C80 48 00 01 40 */ b lbl_803ABE60 lbl_803ABD24: /* 803ABD24 003A8C84 80 AD AF 38 */ lwz r5, dspCmdPtr@sda21(r13) /* 803ABD28 003A8C88 80 6D AF 34 */ lwz r3, dspCmdMaxPtr@sda21(r13) /* 803ABD2C 003A8C8C 38 85 00 0C */ addi r4, r5, 0xc /* 803ABD30 003A8C90 38 03 FF F8 */ addi r0, r3, -8 /* 803ABD34 003A8C94 7C 04 00 40 */ cmplw r4, r0 /* 803ABD38 003A8C98 40 81 00 8C */ ble lbl_803ABDC4 /* 803ABD3C 003A8C9C 38 00 00 0D */ li r0, 0xd /* 803ABD40 003A8CA0 B0 05 00 00 */ sth r0, 0(r5) /* 803ABD44 003A8CA4 80 0D AF 34 */ lwz r0, dspCmdMaxPtr@sda21(r13) /* 803ABD48 003A8CA8 80 6D AF 38 */ lwz r3, dspCmdPtr@sda21(r13) /* 803ABD4C 003A8CAC 54 00 84 3E */ srwi r0, r0, 0x10 /* 803ABD50 003A8CB0 B0 03 00 02 */ sth r0, 2(r3) /* 803ABD54 003A8CB4 80 0D AF 34 */ lwz r0, dspCmdMaxPtr@sda21(r13) /* 803ABD58 003A8CB8 80 6D AF 38 */ lwz r3, dspCmdPtr@sda21(r13) /* 803ABD5C 003A8CBC B0 03 00 04 */ sth r0, 4(r3) /* 803ABD60 003A8CC0 80 6D AF 38 */ lwz r3, dspCmdPtr@sda21(r13) /* 803ABD64 003A8CC4 80 AD AF 24 */ lwz r5, dspCmdLastLoad@sda21(r13) /* 803ABD68 003A8CC8 80 8D AF 30 */ lwz r4, dspCmdCurBase@sda21(r13) /* 803ABD6C 003A8CCC 38 03 00 08 */ addi r0, r3, 8 /* 803ABD70 003A8CD0 28 05 00 00 */ cmplwi r5, 0 /* 803ABD74 003A8CD4 7C 64 00 50 */ subf r3, r4, r0 /* 803ABD78 003A8CD8 38 03 00 03 */ addi r0, r3, 3 /* 803ABD7C 003A8CDC 54 13 04 3A */ rlwinm r19, r0, 0, 0x10, 0x1d /* 803ABD80 003A8CE0 41 82 00 18 */ beq lbl_803ABD98 /* 803ABD84 003A8CE4 B2 65 00 06 */ sth r19, 6(r5) /* 803ABD88 003A8CE8 80 6D AF 28 */ lwz r3, dspCmdLastBase@sda21(r13) /* 803ABD8C 003A8CEC A0 8D AF 2C */ lhz r4, dspCmdLastSize@sda21(r13) /* 803ABD90 003A8CF0 4B FD 2D AD */ bl DCStoreRangeNoSync /* 803ABD94 003A8CF4 48 00 00 08 */ b lbl_803ABD9C lbl_803ABD98: /* 803ABD98 003A8CF8 B2 6D AF 3C */ sth r19, dspCmdFirstSize@sda21(r13) lbl_803ABD9C: /* 803ABD9C 003A8CFC 80 6D AF 34 */ lwz r3, dspCmdMaxPtr@sda21(r13) /* 803ABDA0 003A8D00 80 AD AF 38 */ lwz r5, dspCmdPtr@sda21(r13) /* 803ABDA4 003A8D04 80 8D AF 30 */ lwz r4, dspCmdCurBase@sda21(r13) /* 803ABDA8 003A8D08 38 03 01 80 */ addi r0, r3, 0x180 /* 803ABDAC 003A8D0C 90 AD AF 24 */ stw r5, dspCmdLastLoad@sda21(r13) /* 803ABDB0 003A8D10 B2 6D AF 2C */ sth r19, dspCmdLastSize@sda21(r13) /* 803ABDB4 003A8D14 90 8D AF 28 */ stw r4, dspCmdLastBase@sda21(r13) /* 803ABDB8 003A8D18 90 6D AF 38 */ stw r3, dspCmdPtr@sda21(r13) /* 803ABDBC 003A8D1C 90 6D AF 30 */ stw r3, dspCmdCurBase@sda21(r13) /* 803ABDC0 003A8D20 90 0D AF 34 */ stw r0, dspCmdMaxPtr@sda21(r13) lbl_803ABDC4: /* 803ABDC4 003A8D24 80 6D AF 38 */ lwz r3, dspCmdPtr@sda21(r13) /* 803ABDC8 003A8D28 38 00 00 01 */ li r0, 1 /* 803ABDCC 003A8D2C 3A F7 29 4D */ addi r23, r23, 0x294d /* 803ABDD0 003A8D30 3A 52 00 01 */ addi r18, r18, 1 /* 803ABDD4 003A8D34 B0 03 00 00 */ sth r0, 0(r3) /* 803ABDD8 003A8D38 88 71 00 58 */ lbz r3, 0x58(r17) /* 803ABDDC 003A8D3C 88 0D AF 8F */ lbz r0, salFrame@sda21(r13) /* 803ABDE0 003A8D40 1C 83 00 BC */ mulli r4, r3, 0xbc /* 803ABDE4 003A8D44 80 6D AF 38 */ lwz r3, dspCmdPtr@sda21(r13) /* 803ABDE8 003A8D48 68 00 00 01 */ xori r0, r0, 1 /* 803ABDEC 003A8D4C 7C 8E 22 14 */ add r4, r14, r4 /* 803ABDF0 003A8D50 54 00 10 3A */ slwi r0, r0, 2 /* 803ABDF4 003A8D54 7C 84 02 14 */ add r4, r4, r0 /* 803ABDF8 003A8D58 80 04 00 28 */ lwz r0, 0x28(r4) /* 803ABDFC 003A8D5C 54 00 84 3E */ srwi r0, r0, 0x10 /* 803ABE00 003A8D60 B0 03 00 02 */ sth r0, 2(r3) /* 803ABE04 003A8D64 88 71 00 58 */ lbz r3, 0x58(r17) /* 803ABE08 003A8D68 88 0D AF 8F */ lbz r0, salFrame@sda21(r13) /* 803ABE0C 003A8D6C 1C 83 00 BC */ mulli r4, r3, 0xbc /* 803ABE10 003A8D70 80 6D AF 38 */ lwz r3, dspCmdPtr@sda21(r13) /* 803ABE14 003A8D74 68 00 00 01 */ xori r0, r0, 1 /* 803ABE18 003A8D78 7C 8E 22 14 */ add r4, r14, r4 /* 803ABE1C 003A8D7C 54 00 10 3A */ slwi r0, r0, 2 /* 803ABE20 003A8D80 7C 84 02 14 */ add r4, r4, r0 /* 803ABE24 003A8D84 80 04 00 28 */ lwz r0, 0x28(r4) /* 803ABE28 003A8D88 B0 03 00 04 */ sth r0, 4(r3) /* 803ABE2C 003A8D8C A0 11 00 5A */ lhz r0, 0x5a(r17) /* 803ABE30 003A8D90 80 6D AF 38 */ lwz r3, dspCmdPtr@sda21(r13) /* 803ABE34 003A8D94 B0 03 00 06 */ sth r0, 6(r3) /* 803ABE38 003A8D98 A0 11 00 5C */ lhz r0, 0x5c(r17) /* 803ABE3C 003A8D9C 80 6D AF 38 */ lwz r3, dspCmdPtr@sda21(r13) /* 803ABE40 003A8DA0 B0 03 00 08 */ sth r0, 8(r3) /* 803ABE44 003A8DA4 A0 11 00 5E */ lhz r0, 0x5e(r17) /* 803ABE48 003A8DA8 3A 31 00 0C */ addi r17, r17, 0xc /* 803ABE4C 003A8DAC 80 6D AF 38 */ lwz r3, dspCmdPtr@sda21(r13) /* 803ABE50 003A8DB0 B0 03 00 0A */ sth r0, 0xa(r3) /* 803ABE54 003A8DB4 80 6D AF 38 */ lwz r3, dspCmdPtr@sda21(r13) /* 803ABE58 003A8DB8 38 03 00 0C */ addi r0, r3, 0xc /* 803ABE5C 003A8DBC 90 0D AF 38 */ stw r0, dspCmdPtr@sda21(r13) lbl_803ABE60: /* 803ABE60 003A8DC0 88 10 00 52 */ lbz r0, 0x52(r16) /* 803ABE64 003A8DC4 7C 12 00 40 */ cmplw r18, r0 /* 803ABE68 003A8DC8 41 80 FE BC */ blt lbl_803ABD24 /* 803ABE6C 003A8DCC 3C 60 80 56 */ lis r3, "voices$217"@ha /* 803ABE70 003A8DD0 80 90 00 48 */ lwz r4, 0x48(r16) /* 803ABE74 003A8DD4 38 63 F8 40 */ addi r3, r3, "voices$217"@l /* 803ABE78 003A8DD8 3A 40 00 00 */ li r18, 0 /* 803ABE7C 003A8DDC 39 C0 00 00 */ li r14, 0 /* 803ABE80 003A8DE0 48 00 00 14 */ b lbl_803ABE94 lbl_803ABE84: /* 803ABE84 003A8DE4 90 83 00 00 */ stw r4, 0(r3) /* 803ABE88 003A8DE8 38 63 00 04 */ addi r3, r3, 4 /* 803ABE8C 003A8DEC 39 CE 00 01 */ addi r14, r14, 1 /* 803ABE90 003A8DF0 80 84 00 0C */ lwz r4, 0xc(r4) lbl_803ABE94: /* 803ABE94 003A8DF4 28 04 00 00 */ cmplwi r4, 0 /* 803ABE98 003A8DF8 40 82 FF EC */ bne lbl_803ABE84 /* 803ABE9C 003A8DFC 3C 60 80 56 */ lis r3, "voices$217"@ha /* 803ABEA0 003A8E00 38 AE FF FF */ addi r5, r14, -1 /* 803ABEA4 003A8E04 38 63 F8 40 */ addi r3, r3, "voices$217"@l /* 803ABEA8 003A8E08 38 80 00 00 */ li r4, 0 /* 803ABEAC 003A8E0C 4B FF F9 C5 */ bl SortVoices /* 803ABEB0 003A8E10 3C 60 80 56 */ lis r3, "voices$217"@ha /* 803ABEB4 003A8E14 55 C4 10 3A */ slwi r4, r14, 2 /* 803ABEB8 003A8E18 38 03 F8 40 */ addi r0, r3, "voices$217"@l /* 803ABEBC 003A8E1C 7D DC 73 78 */ mr r28, r14 /* 803ABEC0 003A8E20 7D C0 22 14 */ add r14, r0, r4 /* 803ABEC4 003A8E24 38 00 00 00 */ li r0, 0 /* 803ABEC8 003A8E28 90 01 00 1C */ stw r0, 0x1c(r1) /* 803ABECC 003A8E2C 48 00 14 24 */ b lbl_803AD2F0 lbl_803ABED0: /* 803ABED0 003A8E30 83 AE FF FC */ lwz r29, -4(r14) /* 803ABED4 003A8E34 88 7D 00 EC */ lbz r3, 0xec(r29) /* 803ABED8 003A8E38 28 03 00 00 */ cmplwi r3, 0 /* 803ABEDC 003A8E3C 41 82 14 0C */ beq lbl_803AD2E8 /* 803ABEE0 003A8E40 82 7D 00 00 */ lwz r19, 0(r29) /* 803ABEE4 003A8E44 38 00 00 00 */ li r0, 0 /* 803ABEE8 003A8E48 28 03 00 01 */ cmplwi r3, 1 /* 803ABEEC 003A8E4C B0 01 00 12 */ sth r0, 0x12(r1) /* 803ABEF0 003A8E50 B0 01 00 14 */ sth r0, 0x14(r1) /* 803ABEF4 003A8E54 B0 01 00 16 */ sth r0, 0x16(r1) /* 803ABEF8 003A8E58 B0 01 00 18 */ sth r0, 0x18(r1) /* 803ABEFC 003A8E5C 40 82 07 94 */ bne lbl_803AC690 /* 803ABF00 003A8E60 38 00 FF FF */ li r0, -1 /* 803ABF04 003A8E64 3C 60 00 01 */ lis r3, 0x00008000@ha /* 803ABF08 003A8E68 90 1D 00 E8 */ stw r0, 0xe8(r29) /* 803ABF0C 003A8E6C 38 03 80 00 */ addi r0, r3, 0x00008000@l /* 803ABF10 003A8E70 38 7D 00 A4 */ addi r3, r29, 0xa4 /* 803ABF14 003A8E74 80 9D 00 00 */ lwz r4, 0(r29) /* 803ABF18 003A8E78 B0 04 00 66 */ sth r0, 0x66(r4) /* 803ABF1C 003A8E7C 4B FF D5 B9 */ bl adsrSetup /* 803ABF20 003A8E80 28 03 00 00 */ cmplwi r3, 0 /* 803ABF24 003A8E84 41 82 00 1C */ beq lbl_803ABF40 /* 803ABF28 003A8E88 7F A3 EB 78 */ mr r3, r29 /* 803ABF2C 003A8E8C 38 80 00 00 */ li r4, 0 /* 803ABF30 003A8E90 48 00 1D 51 */ bl salSynthSendMessage /* 803ABF34 003A8E94 7F A3 EB 78 */ mr r3, r29 /* 803ABF38 003A8E98 48 00 1E 2D */ bl salDeactivateVoice /* 803ABF3C 003A8E9C 48 00 13 AC */ b lbl_803AD2E8 lbl_803ABF40: /* 803ABF40 003A8EA0 38 00 FF FF */ li r0, -1 /* 803ABF44 003A8EA4 90 1D 00 E8 */ stw r0, 0xe8(r29) /* 803ABF48 003A8EA8 88 1D 00 90 */ lbz r0, 0x90(r29) /* 803ABF4C 003A8EAC 2C 00 00 05 */ cmpwi r0, 5 /* 803ABF50 003A8EB0 41 82 00 08 */ beq lbl_803ABF58 /* 803ABF54 003A8EB4 48 00 00 40 */ b lbl_803ABF94 lbl_803ABF58: /* 803ABF58 003A8EB8 38 00 00 00 */ li r0, 0 /* 803ABF5C 003A8EBC 7F A3 EB 78 */ mr r3, r29 /* 803ABF60 003A8EC0 90 1D 00 98 */ stw r0, 0x98(r29) /* 803ABF64 003A8EC4 38 80 00 02 */ li r4, 2 /* 803ABF68 003A8EC8 48 00 1D 19 */ bl salSynthSendMessage /* 803ABF6C 003A8ECC 90 7D 00 E8 */ stw r3, 0xe8(r29) /* 803ABF70 003A8ED0 80 1D 00 98 */ lwz r0, 0x98(r29) /* 803ABF74 003A8ED4 28 00 00 00 */ cmplwi r0, 0 /* 803ABF78 003A8ED8 40 82 00 1C */ bne lbl_803ABF94 /* 803ABF7C 003A8EDC 7F A3 EB 78 */ mr r3, r29 /* 803ABF80 003A8EE0 38 80 00 01 */ li r4, 1 /* 803ABF84 003A8EE4 48 00 1C FD */ bl salSynthSendMessage /* 803ABF88 003A8EE8 7F A3 EB 78 */ mr r3, r29 /* 803ABF8C 003A8EEC 48 00 1D D9 */ bl salDeactivateVoice /* 803ABF90 003A8EF0 48 00 13 58 */ b lbl_803AD2E8 lbl_803ABF94: /* 803ABF94 003A8EF4 38 60 00 00 */ li r3, 0 /* 803ABF98 003A8EF8 B0 73 00 AA */ sth r3, 0xaa(r19) /* 803ABF9C 003A8EFC B0 73 00 AC */ sth r3, 0xac(r19) /* 803ABFA0 003A8F00 B0 73 00 AE */ sth r3, 0xae(r19) /* 803ABFA4 003A8F04 B0 73 00 B0 */ sth r3, 0xb0(r19) /* 803ABFA8 003A8F08 B0 73 00 B2 */ sth r3, 0xb2(r19) /* 803ABFAC 003A8F0C 80 1D 00 F0 */ lwz r0, 0xf0(r29) /* 803ABFB0 003A8F10 54 00 00 01 */ rlwinm. r0, r0, 0, 0, 0 /* 803ABFB4 003A8F14 41 82 00 4C */ beq lbl_803AC000 /* 803ABFB8 003A8F18 80 7D 00 08 */ lwz r3, 8(r29) /* 803ABFBC 003A8F1C 38 80 00 00 */ li r4, 0 /* 803ABFC0 003A8F20 38 A0 00 40 */ li r5, 0x40 /* 803ABFC4 003A8F24 4B C5 73 E5 */ bl memset /* 803ABFC8 003A8F28 80 7D 00 08 */ lwz r3, 8(r29) /* 803ABFCC 003A8F2C 38 80 00 40 */ li r4, 0x40 /* 803ABFD0 003A8F30 4B FD 2A E1 */ bl DCFlushRange /* 803ABFD4 003A8F34 A0 7D 00 D0 */ lhz r3, 0xd0(r29) /* 803ABFD8 003A8F38 38 00 00 01 */ li r0, 1 /* 803ABFDC 003A8F3C B0 73 00 40 */ sth r3, 0x40(r19) /* 803ABFE0 003A8F40 A0 7D 00 D0 */ lhz r3, 0xd0(r29) /* 803ABFE4 003A8F44 B0 73 00 3C */ sth r3, 0x3c(r19) /* 803ABFE8 003A8F48 A0 7D 00 D2 */ lhz r3, 0xd2(r29) /* 803ABFEC 003A8F4C B0 73 00 42 */ sth r3, 0x42(r19) /* 803ABFF0 003A8F50 A0 7D 00 D2 */ lhz r3, 0xd2(r29) /* 803ABFF4 003A8F54 B0 73 00 3E */ sth r3, 0x3e(r19) /* 803ABFF8 003A8F58 B0 13 00 36 */ sth r0, 0x36(r19) /* 803ABFFC 003A8F5C 48 00 00 08 */ b lbl_803AC004 lbl_803AC000: /* 803AC000 003A8F60 B0 73 00 36 */ sth r3, 0x36(r19) lbl_803AC004: /* 803AC004 003A8F64 88 1D 00 90 */ lbz r0, 0x90(r29) /* 803AC008 003A8F68 2C 00 00 02 */ cmpwi r0, 2 /* 803AC00C 003A8F6C 41 82 02 9C */ beq lbl_803AC2A8 /* 803AC010 003A8F70 40 80 00 14 */ bge lbl_803AC024 /* 803AC014 003A8F74 2C 00 00 00 */ cmpwi r0, 0 /* 803AC018 003A8F78 41 82 00 20 */ beq lbl_803AC038 /* 803AC01C 003A8F7C 40 80 01 10 */ bge lbl_803AC12C /* 803AC020 003A8F80 48 00 02 F4 */ b lbl_803AC314 lbl_803AC024: /* 803AC024 003A8F84 2C 00 00 06 */ cmpwi r0, 6 /* 803AC028 003A8F88 40 80 02 EC */ bge lbl_803AC314 /* 803AC02C 003A8F8C 2C 00 00 04 */ cmpwi r0, 4 /* 803AC030 003A8F90 40 80 00 08 */ bge lbl_803AC038 /* 803AC034 003A8F94 48 00 02 08 */ b lbl_803AC23C lbl_803AC038: /* 803AC038 003A8F98 38 00 00 00 */ li r0, 0 /* 803AC03C 003A8F9C B0 13 00 70 */ sth r0, 0x70(r19) /* 803AC040 003A8FA0 B0 13 00 9E */ sth r0, 0x9e(r19) /* 803AC044 003A8FA4 80 7D 00 7C */ lwz r3, 0x7c(r29) /* 803AC048 003A8FA8 B0 13 00 A4 */ sth r0, 0xa4(r19) /* 803AC04C 003A8FAC B0 13 00 A2 */ sth r0, 0xa2(r19) /* 803AC050 003A8FB0 88 83 00 02 */ lbz r4, 2(r3) /* 803AC054 003A8FB4 B0 93 00 A0 */ sth r4, 0xa0(r19) /* 803AC058 003A8FB8 A8 83 00 08 */ lha r4, 8(r3) /* 803AC05C 003A8FBC B0 93 00 7E */ sth r4, 0x7e(r19) /* 803AC060 003A8FC0 A8 83 00 0A */ lha r4, 0xa(r3) /* 803AC064 003A8FC4 B0 93 00 80 */ sth r4, 0x80(r19) /* 803AC068 003A8FC8 A8 83 00 0C */ lha r4, 0xc(r3) /* 803AC06C 003A8FCC B0 93 00 82 */ sth r4, 0x82(r19) /* 803AC070 003A8FD0 A8 83 00 0E */ lha r4, 0xe(r3) /* 803AC074 003A8FD4 B0 93 00 84 */ sth r4, 0x84(r19) /* 803AC078 003A8FD8 A8 83 00 10 */ lha r4, 0x10(r3) /* 803AC07C 003A8FDC B0 93 00 86 */ sth r4, 0x86(r19) /* 803AC080 003A8FE0 A8 83 00 12 */ lha r4, 0x12(r3) /* 803AC084 003A8FE4 B0 93 00 88 */ sth r4, 0x88(r19) /* 803AC088 003A8FE8 A8 83 00 14 */ lha r4, 0x14(r3) /* 803AC08C 003A8FEC B0 93 00 8A */ sth r4, 0x8a(r19) /* 803AC090 003A8FF0 A8 83 00 16 */ lha r4, 0x16(r3) /* 803AC094 003A8FF4 B0 93 00 8C */ sth r4, 0x8c(r19) /* 803AC098 003A8FF8 A8 83 00 18 */ lha r4, 0x18(r3) /* 803AC09C 003A8FFC B0 93 00 8E */ sth r4, 0x8e(r19) /* 803AC0A0 003A9000 A8 83 00 1A */ lha r4, 0x1a(r3) /* 803AC0A4 003A9004 B0 93 00 90 */ sth r4, 0x90(r19) /* 803AC0A8 003A9008 A8 83 00 1C */ lha r4, 0x1c(r3) /* 803AC0AC 003A900C B0 93 00 92 */ sth r4, 0x92(r19) /* 803AC0B0 003A9010 A8 83 00 1E */ lha r4, 0x1e(r3) /* 803AC0B4 003A9014 B0 93 00 94 */ sth r4, 0x94(r19) /* 803AC0B8 003A9018 A8 83 00 20 */ lha r4, 0x20(r3) /* 803AC0BC 003A901C B0 93 00 96 */ sth r4, 0x96(r19) /* 803AC0C0 003A9020 A8 83 00 22 */ lha r4, 0x22(r3) /* 803AC0C4 003A9024 B0 93 00 98 */ sth r4, 0x98(r19) /* 803AC0C8 003A9028 A8 83 00 24 */ lha r4, 0x24(r3) /* 803AC0CC 003A902C B0 93 00 9A */ sth r4, 0x9a(r19) /* 803AC0D0 003A9030 A8 83 00 26 */ lha r4, 0x26(r3) /* 803AC0D4 003A9034 B0 93 00 9C */ sth r4, 0x9c(r19) /* 803AC0D8 003A9038 80 9D 00 78 */ lwz r4, 0x78(r29) /* 803AC0DC 003A903C 90 1D 00 DC */ stw r0, 0xdc(r29) /* 803AC0E0 003A9040 54 98 08 3C */ slwi r24, r4, 1 /* 803AC0E4 003A9044 3B 38 00 02 */ addi r25, r24, 2 /* 803AC0E8 003A9048 90 1D 00 D8 */ stw r0, 0xd8(r29) /* 803AC0EC 003A904C 88 9D 00 90 */ lbz r4, 0x90(r29) /* 803AC0F0 003A9050 28 04 00 04 */ cmplwi r4, 4 /* 803AC0F4 003A9054 41 82 00 0C */ beq lbl_803AC100 /* 803AC0F8 003A9058 28 04 00 05 */ cmplwi r4, 5 /* 803AC0FC 003A905C 40 82 00 10 */ bne lbl_803AC10C lbl_803AC100: /* 803AC100 003A9060 38 00 00 01 */ li r0, 1 /* 803AC104 003A9064 B0 13 00 10 */ sth r0, 0x10(r19) /* 803AC108 003A9068 48 00 02 0C */ b lbl_803AC314 lbl_803AC10C: /* 803AC10C 003A906C A8 83 00 04 */ lha r4, 4(r3) /* 803AC110 003A9070 B0 93 00 B8 */ sth r4, 0xb8(r19) /* 803AC114 003A9074 A8 83 00 06 */ lha r4, 6(r3) /* 803AC118 003A9078 B0 93 00 B6 */ sth r4, 0xb6(r19) /* 803AC11C 003A907C 88 63 00 03 */ lbz r3, 3(r3) /* 803AC120 003A9080 B0 73 00 B4 */ sth r3, 0xb4(r19) /* 803AC124 003A9084 B0 13 00 10 */ sth r0, 0x10(r19) /* 803AC128 003A9088 48 00 01 EC */ b lbl_803AC314 lbl_803AC12C: /* 803AC12C 003A908C 38 00 00 00 */ li r0, 0 /* 803AC130 003A9090 3C 60 24 92 */ lis r3, 0x24924925@ha /* 803AC134 003A9094 B0 13 00 70 */ sth r0, 0x70(r19) /* 803AC138 003A9098 38 A3 49 25 */ addi r5, r3, 0x24924925@l /* 803AC13C 003A909C B0 13 00 9E */ sth r0, 0x9e(r19) /* 803AC140 003A90A0 80 9D 00 80 */ lwz r4, 0x80(r29) /* 803AC144 003A90A4 80 7D 00 7C */ lwz r3, 0x7c(r29) /* 803AC148 003A90A8 38 84 00 0D */ addi r4, r4, 0xd /* 803AC14C 003A90AC 7C A5 20 16 */ mulhwu r5, r5, r4 /* 803AC150 003A90B0 7C 85 20 50 */ subf r4, r5, r4 /* 803AC154 003A90B4 54 84 F8 7E */ srwi r4, r4, 1 /* 803AC158 003A90B8 7C 84 2A 14 */ add r4, r4, r5 /* 803AC15C 003A90BC 54 87 E8 FE */ srwi r7, r4, 3 /* 803AC160 003A90C0 1C A7 00 06 */ mulli r5, r7, 6 /* 803AC164 003A90C4 54 84 08 36 */ rlwinm r4, r4, 1, 0, 0x1b /* 803AC168 003A90C8 3B 24 00 02 */ addi r25, r4, 2 /* 803AC16C 003A90CC 7C C3 2A 14 */ add r6, r3, r5 /* 803AC170 003A90D0 A8 A6 00 28 */ lha r5, 0x28(r6) /* 803AC174 003A90D4 1C 87 00 0E */ mulli r4, r7, 0xe /* 803AC178 003A90D8 B0 B3 00 A4 */ sth r5, 0xa4(r19) /* 803AC17C 003A90DC A8 A6 00 2A */ lha r5, 0x2a(r6) /* 803AC180 003A90E0 B0 B3 00 A2 */ sth r5, 0xa2(r19) /* 803AC184 003A90E4 88 A6 00 2C */ lbz r5, 0x2c(r6) /* 803AC188 003A90E8 B0 B3 00 A0 */ sth r5, 0xa0(r19) /* 803AC18C 003A90EC A8 A3 00 04 */ lha r5, 4(r3) /* 803AC190 003A90F0 B0 B3 00 B8 */ sth r5, 0xb8(r19) /* 803AC194 003A90F4 A8 A3 00 06 */ lha r5, 6(r3) /* 803AC198 003A90F8 B0 B3 00 B6 */ sth r5, 0xb6(r19) /* 803AC19C 003A90FC 88 A3 00 03 */ lbz r5, 3(r3) /* 803AC1A0 003A9100 B0 B3 00 B4 */ sth r5, 0xb4(r19) /* 803AC1A4 003A9104 A8 A3 00 08 */ lha r5, 8(r3) /* 803AC1A8 003A9108 B0 B3 00 7E */ sth r5, 0x7e(r19) /* 803AC1AC 003A910C A8 A3 00 0A */ lha r5, 0xa(r3) /* 803AC1B0 003A9110 B0 B3 00 80 */ sth r5, 0x80(r19) /* 803AC1B4 003A9114 A8 A3 00 0C */ lha r5, 0xc(r3) /* 803AC1B8 003A9118 B0 B3 00 82 */ sth r5, 0x82(r19) /* 803AC1BC 003A911C A8 A3 00 0E */ lha r5, 0xe(r3) /* 803AC1C0 003A9120 B0 B3 00 84 */ sth r5, 0x84(r19) /* 803AC1C4 003A9124 A8 A3 00 10 */ lha r5, 0x10(r3) /* 803AC1C8 003A9128 B0 B3 00 86 */ sth r5, 0x86(r19) /* 803AC1CC 003A912C A8 A3 00 12 */ lha r5, 0x12(r3) /* 803AC1D0 003A9130 B0 B3 00 88 */ sth r5, 0x88(r19) /* 803AC1D4 003A9134 A8 A3 00 14 */ lha r5, 0x14(r3) /* 803AC1D8 003A9138 B0 B3 00 8A */ sth r5, 0x8a(r19) /* 803AC1DC 003A913C A8 A3 00 16 */ lha r5, 0x16(r3) /* 803AC1E0 003A9140 B0 B3 00 8C */ sth r5, 0x8c(r19) /* 803AC1E4 003A9144 A8 A3 00 18 */ lha r5, 0x18(r3) /* 803AC1E8 003A9148 B0 B3 00 8E */ sth r5, 0x8e(r19) /* 803AC1EC 003A914C A8 A3 00 1A */ lha r5, 0x1a(r3) /* 803AC1F0 003A9150 B0 B3 00 90 */ sth r5, 0x90(r19) /* 803AC1F4 003A9154 A8 A3 00 1C */ lha r5, 0x1c(r3) /* 803AC1F8 003A9158 B0 B3 00 92 */ sth r5, 0x92(r19) /* 803AC1FC 003A915C A8 A3 00 1E */ lha r5, 0x1e(r3) /* 803AC200 003A9160 B0 B3 00 94 */ sth r5, 0x94(r19) /* 803AC204 003A9164 A8 A3 00 20 */ lha r5, 0x20(r3) /* 803AC208 003A9168 B0 B3 00 96 */ sth r5, 0x96(r19) /* 803AC20C 003A916C A8 A3 00 22 */ lha r5, 0x22(r3) /* 803AC210 003A9170 B0 B3 00 98 */ sth r5, 0x98(r19) /* 803AC214 003A9174 A8 A3 00 24 */ lha r5, 0x24(r3) /* 803AC218 003A9178 B0 B3 00 9A */ sth r5, 0x9a(r19) /* 803AC21C 003A917C A8 63 00 26 */ lha r3, 0x26(r3) /* 803AC220 003A9180 B0 73 00 9C */ sth r3, 0x9c(r19) /* 803AC224 003A9184 80 7D 00 78 */ lwz r3, 0x78(r29) /* 803AC228 003A9188 90 9D 00 D8 */ stw r4, 0xd8(r29) /* 803AC22C 003A918C 54 78 08 3C */ slwi r24, r3, 1 /* 803AC230 003A9190 7F 38 CA 14 */ add r25, r24, r25 /* 803AC234 003A9194 90 1D 00 DC */ stw r0, 0xdc(r29) /* 803AC238 003A9198 48 00 00 DC */ b lbl_803AC314 lbl_803AC23C: /* 803AC23C 003A919C 38 00 00 19 */ li r0, 0x19 /* 803AC240 003A91A0 38 60 01 00 */ li r3, 0x100 /* 803AC244 003A91A4 B0 13 00 70 */ sth r0, 0x70(r19) /* 803AC248 003A91A8 38 00 00 00 */ li r0, 0 /* 803AC24C 003A91AC B0 73 00 9E */ sth r3, 0x9e(r19) /* 803AC250 003A91B0 B0 13 00 7E */ sth r0, 0x7e(r19) /* 803AC254 003A91B4 B0 13 00 80 */ sth r0, 0x80(r19) /* 803AC258 003A91B8 B0 13 00 82 */ sth r0, 0x82(r19) /* 803AC25C 003A91BC B0 13 00 84 */ sth r0, 0x84(r19) /* 803AC260 003A91C0 B0 13 00 86 */ sth r0, 0x86(r19) /* 803AC264 003A91C4 B0 13 00 88 */ sth r0, 0x88(r19) /* 803AC268 003A91C8 B0 13 00 8A */ sth r0, 0x8a(r19) /* 803AC26C 003A91CC B0 13 00 8C */ sth r0, 0x8c(r19) /* 803AC270 003A91D0 B0 13 00 8E */ sth r0, 0x8e(r19) /* 803AC274 003A91D4 B0 13 00 90 */ sth r0, 0x90(r19) /* 803AC278 003A91D8 B0 13 00 92 */ sth r0, 0x92(r19) /* 803AC27C 003A91DC B0 13 00 94 */ sth r0, 0x94(r19) /* 803AC280 003A91E0 B0 13 00 96 */ sth r0, 0x96(r19) /* 803AC284 003A91E4 B0 13 00 98 */ sth r0, 0x98(r19) /* 803AC288 003A91E8 B0 13 00 9A */ sth r0, 0x9a(r19) /* 803AC28C 003A91EC B0 13 00 9C */ sth r0, 0x9c(r19) /* 803AC290 003A91F0 80 7D 00 80 */ lwz r3, 0x80(r29) /* 803AC294 003A91F4 83 1D 00 78 */ lwz r24, 0x78(r29) /* 803AC298 003A91F8 90 7D 00 D8 */ stw r3, 0xd8(r29) /* 803AC29C 003A91FC 7F 23 C2 14 */ add r25, r3, r24 /* 803AC2A0 003A9200 90 1D 00 DC */ stw r0, 0xdc(r29) /* 803AC2A4 003A9204 48 00 00 70 */ b lbl_803AC314 lbl_803AC2A8: /* 803AC2A8 003A9208 38 60 00 0A */ li r3, 0xa /* 803AC2AC 003A920C 38 00 08 00 */ li r0, 0x800 /* 803AC2B0 003A9210 B0 73 00 70 */ sth r3, 0x70(r19) /* 803AC2B4 003A9214 38 60 00 00 */ li r3, 0 /* 803AC2B8 003A9218 B0 13 00 9E */ sth r0, 0x9e(r19) /* 803AC2BC 003A921C B0 73 00 7E */ sth r3, 0x7e(r19) /* 803AC2C0 003A9220 B0 73 00 80 */ sth r3, 0x80(r19) /* 803AC2C4 003A9224 B0 73 00 82 */ sth r3, 0x82(r19) /* 803AC2C8 003A9228 B0 73 00 84 */ sth r3, 0x84(r19) /* 803AC2CC 003A922C B0 73 00 86 */ sth r3, 0x86(r19) /* 803AC2D0 003A9230 B0 73 00 88 */ sth r3, 0x88(r19) /* 803AC2D4 003A9234 B0 73 00 8A */ sth r3, 0x8a(r19) /* 803AC2D8 003A9238 B0 73 00 8C */ sth r3, 0x8c(r19) /* 803AC2DC 003A923C B0 73 00 8E */ sth r3, 0x8e(r19) /* 803AC2E0 003A9240 B0 73 00 90 */ sth r3, 0x90(r19) /* 803AC2E4 003A9244 B0 73 00 92 */ sth r3, 0x92(r19) /* 803AC2E8 003A9248 B0 73 00 94 */ sth r3, 0x94(r19) /* 803AC2EC 003A924C B0 73 00 96 */ sth r3, 0x96(r19) /* 803AC2F0 003A9250 B0 73 00 98 */ sth r3, 0x98(r19) /* 803AC2F4 003A9254 B0 73 00 9A */ sth r3, 0x9a(r19) /* 803AC2F8 003A9258 B0 73 00 9C */ sth r3, 0x9c(r19) /* 803AC2FC 003A925C 80 1D 00 78 */ lwz r0, 0x78(r29) /* 803AC300 003A9260 80 9D 00 80 */ lwz r4, 0x80(r29) /* 803AC304 003A9264 54 18 F8 7E */ srwi r24, r0, 1 /* 803AC308 003A9268 90 9D 00 D8 */ stw r4, 0xd8(r29) /* 803AC30C 003A926C 7F 24 C2 14 */ add r25, r4, r24 /* 803AC310 003A9270 90 7D 00 DC */ stw r3, 0xdc(r29) lbl_803AC314: /* 803AC314 003A9274 57 20 84 3E */ srwi r0, r25, 0x10 /* 803AC318 003A9278 B0 13 00 7A */ sth r0, 0x7a(r19) /* 803AC31C 003A927C B3 33 00 7C */ sth r25, 0x7c(r19) /* 803AC320 003A9280 93 3D 00 20 */ stw r25, 0x20(r29) /* 803AC324 003A9284 80 1D 00 8C */ lwz r0, 0x8c(r29) /* 803AC328 003A9288 28 00 00 00 */ cmplwi r0, 0 /* 803AC32C 003A928C 41 82 01 48 */ beq lbl_803AC474 /* 803AC330 003A9290 38 00 00 01 */ li r0, 1 /* 803AC334 003A9294 B0 13 00 6E */ sth r0, 0x6e(r19) /* 803AC338 003A9298 88 1D 00 90 */ lbz r0, 0x90(r29) /* 803AC33C 003A929C 2C 00 00 04 */ cmpwi r0, 4 /* 803AC340 003A92A0 41 82 00 28 */ beq lbl_803AC368 /* 803AC344 003A92A4 40 80 00 18 */ bge lbl_803AC35C /* 803AC348 003A92A8 2C 00 00 02 */ cmpwi r0, 2 /* 803AC34C 003A92AC 40 80 00 EC */ bge lbl_803AC438 /* 803AC350 003A92B0 2C 00 00 00 */ cmpwi r0, 0 /* 803AC354 003A92B4 40 80 00 14 */ bge lbl_803AC368 /* 803AC358 003A92B8 48 00 00 E0 */ b lbl_803AC438 lbl_803AC35C: /* 803AC35C 003A92BC 2C 00 00 06 */ cmpwi r0, 6 /* 803AC360 003A92C0 40 80 00 D8 */ bge lbl_803AC438 /* 803AC364 003A92C4 48 00 00 78 */ b lbl_803AC3DC lbl_803AC368: /* 803AC368 003A92C8 80 7D 00 8C */ lwz r3, 0x8c(r29) /* 803AC36C 003A92CC 3C 80 24 92 */ lis r4, 0x24924925@ha /* 803AC370 003A92D0 80 1D 00 88 */ lwz r0, 0x88(r29) /* 803AC374 003A92D4 38 84 49 25 */ addi r4, r4, 0x24924925@l /* 803AC378 003A92D8 38 63 FF FF */ addi r3, r3, -1 /* 803AC37C 003A92DC 7C C4 00 16 */ mulhwu r6, r4, r0 /* 803AC380 003A92E0 7C 60 1A 14 */ add r3, r0, r3 /* 803AC384 003A92E4 7C A4 18 16 */ mulhwu r5, r4, r3 /* 803AC388 003A92E8 7C 86 00 50 */ subf r4, r6, r0 /* 803AC38C 003A92EC 54 84 F8 7E */ srwi r4, r4, 1 /* 803AC390 003A92F0 7C C4 32 14 */ add r6, r4, r6 /* 803AC394 003A92F4 7C 85 18 50 */ subf r4, r5, r3 /* 803AC398 003A92F8 54 84 F8 7E */ srwi r4, r4, 1 /* 803AC39C 003A92FC 54 C7 E8 FE */ srwi r7, r6, 3 /* 803AC3A0 003A9300 7C 84 2A 14 */ add r4, r4, r5 /* 803AC3A4 003A9304 54 C5 08 36 */ rlwinm r5, r6, 1, 0, 0x1b /* 803AC3A8 003A9308 1C C7 00 0E */ mulli r6, r7, 0xe /* 803AC3AC 003A930C 54 87 E8 FE */ srwi r7, r4, 3 /* 803AC3B0 003A9310 54 84 08 36 */ rlwinm r4, r4, 1, 0, 0x1b /* 803AC3B4 003A9314 38 84 00 02 */ addi r4, r4, 2 /* 803AC3B8 003A9318 38 A5 00 02 */ addi r5, r5, 2 /* 803AC3BC 003A931C 7C 06 00 50 */ subf r0, r6, r0 /* 803AC3C0 003A9320 7C 05 02 14 */ add r0, r5, r0 /* 803AC3C4 003A9324 7C 98 22 14 */ add r4, r24, r4 /* 803AC3C8 003A9328 1C A7 00 0E */ mulli r5, r7, 0xe /* 803AC3CC 003A932C 7C 18 02 14 */ add r0, r24, r0 /* 803AC3D0 003A9330 7C 85 20 50 */ subf r4, r5, r4 /* 803AC3D4 003A9334 7C A3 22 14 */ add r5, r3, r4 /* 803AC3D8 003A9338 48 00 00 78 */ b lbl_803AC450 lbl_803AC3DC: /* 803AC3DC 003A933C 80 9D 00 8C */ lwz r4, 0x8c(r29) /* 803AC3E0 003A9340 3C 60 24 92 */ lis r3, 0x24924925@ha /* 803AC3E4 003A9344 80 1D 00 88 */ lwz r0, 0x88(r29) /* 803AC3E8 003A9348 38 63 49 25 */ addi r3, r3, 0x24924925@l /* 803AC3EC 003A934C 38 C4 FF FF */ addi r6, r4, -1 /* 803AC3F0 003A9350 80 BD 00 94 */ lwz r5, 0x94(r29) /* 803AC3F4 003A9354 7C C0 32 14 */ add r6, r0, r6 /* 803AC3F8 003A9358 38 00 00 00 */ li r0, 0 /* 803AC3FC 003A935C 7C 83 30 16 */ mulhwu r4, r3, r6 /* 803AC400 003A9360 54 A3 08 3C */ slwi r3, r5, 1 /* 803AC404 003A9364 98 1D 00 9C */ stb r0, 0x9c(r29) /* 803AC408 003A9368 38 03 00 02 */ addi r0, r3, 2 /* 803AC40C 003A936C 7C 64 30 50 */ subf r3, r4, r6 /* 803AC410 003A9370 54 63 F8 7E */ srwi r3, r3, 1 /* 803AC414 003A9374 7C 63 22 14 */ add r3, r3, r4 /* 803AC418 003A9378 54 64 E8 FE */ srwi r4, r3, 3 /* 803AC41C 003A937C 54 63 08 36 */ rlwinm r3, r3, 1, 0, 0x1b /* 803AC420 003A9380 38 63 00 02 */ addi r3, r3, 2 /* 803AC424 003A9384 1C 84 00 0E */ mulli r4, r4, 0xe /* 803AC428 003A9388 7C 78 1A 14 */ add r3, r24, r3 /* 803AC42C 003A938C 7C 64 18 50 */ subf r3, r4, r3 /* 803AC430 003A9390 7C A6 1A 14 */ add r5, r6, r3 /* 803AC434 003A9394 48 00 00 1C */ b lbl_803AC450 lbl_803AC438: /* 803AC438 003A9398 80 1D 00 88 */ lwz r0, 0x88(r29) /* 803AC43C 003A939C 80 7D 00 8C */ lwz r3, 0x8c(r29) /* 803AC440 003A93A0 7C 98 02 14 */ add r4, r24, r0 /* 803AC444 003A93A4 38 A4 FF FF */ addi r5, r4, -1 /* 803AC448 003A93A8 7C 80 23 78 */ mr r0, r4 /* 803AC44C 003A93AC 7C A3 2A 14 */ add r5, r3, r5 lbl_803AC450: /* 803AC450 003A93B0 54 03 84 3E */ srwi r3, r0, 0x10 /* 803AC454 003A93B4 54 A4 84 3E */ srwi r4, r5, 0x10 /* 803AC458 003A93B8 B0 73 00 72 */ sth r3, 0x72(r19) /* 803AC45C 003A93BC 38 60 00 00 */ li r3, 0 /* 803AC460 003A93C0 B0 13 00 74 */ sth r0, 0x74(r19) /* 803AC464 003A93C4 B0 93 00 76 */ sth r4, 0x76(r19) /* 803AC468 003A93C8 B0 B3 00 78 */ sth r5, 0x78(r19) /* 803AC46C 003A93CC B0 73 00 BA */ sth r3, 0xba(r19) /* 803AC470 003A93D0 48 00 00 B8 */ b lbl_803AC528 lbl_803AC474: /* 803AC474 003A93D4 38 00 00 00 */ li r0, 0 /* 803AC478 003A93D8 B0 13 00 6E */ sth r0, 0x6e(r19) /* 803AC47C 003A93DC 88 1D 00 90 */ lbz r0, 0x90(r29) /* 803AC480 003A93E0 2C 00 00 03 */ cmpwi r0, 3 /* 803AC484 003A93E4 41 82 00 6C */ beq lbl_803AC4F0 /* 803AC488 003A93E8 40 80 00 18 */ bge lbl_803AC4A0 /* 803AC48C 003A93EC 2C 00 00 02 */ cmpwi r0, 2 /* 803AC490 003A93F0 40 80 00 70 */ bge lbl_803AC500 /* 803AC494 003A93F4 2C 00 00 00 */ cmpwi r0, 0 /* 803AC498 003A93F8 40 80 00 10 */ bge lbl_803AC4A8 /* 803AC49C 003A93FC 48 00 00 74 */ b lbl_803AC510 lbl_803AC4A0: /* 803AC4A0 003A9400 2C 00 00 06 */ cmpwi r0, 6 /* 803AC4A4 003A9404 40 80 00 6C */ bge lbl_803AC510 lbl_803AC4A8: /* 803AC4A8 003A9408 3C 60 24 92 */ lis r3, 0x24924925@ha /* 803AC4AC 003A940C 80 BD 00 84 */ lwz r5, 0x84(r29) /* 803AC4B0 003A9410 38 63 49 25 */ addi r3, r3, 0x24924925@l /* 803AC4B4 003A9414 80 0D AF 20 */ lwz r0, dspARAMZeroBuffer@sda21(r13) /* 803AC4B8 003A9418 7C 83 28 16 */ mulhwu r4, r3, r5 /* 803AC4BC 003A941C 54 03 08 3C */ slwi r3, r0, 1 /* 803AC4C0 003A9420 39 E3 00 02 */ addi r15, r3, 2 /* 803AC4C4 003A9424 7C 04 28 50 */ subf r0, r4, r5 /* 803AC4C8 003A9428 54 00 F8 7E */ srwi r0, r0, 1 /* 803AC4CC 003A942C 7C 00 22 14 */ add r0, r0, r4 /* 803AC4D0 003A9430 54 03 E8 FE */ srwi r3, r0, 3 /* 803AC4D4 003A9434 1C 83 00 0E */ mulli r4, r3, 0xe /* 803AC4D8 003A9438 54 03 08 36 */ rlwinm r3, r0, 1, 0, 0x1b /* 803AC4DC 003A943C 38 03 00 02 */ addi r0, r3, 2 /* 803AC4E0 003A9440 7C 64 28 50 */ subf r3, r4, r5 /* 803AC4E4 003A9444 7F 40 1A 14 */ add r26, r0, r3 /* 803AC4E8 003A9448 7F 58 D2 14 */ add r26, r24, r26 /* 803AC4EC 003A944C 48 00 00 24 */ b lbl_803AC510 lbl_803AC4F0: /* 803AC4F0 003A9450 80 1D 00 84 */ lwz r0, 0x84(r29) /* 803AC4F4 003A9454 81 ED AF 20 */ lwz r15, dspARAMZeroBuffer@sda21(r13) /* 803AC4F8 003A9458 7F 58 02 14 */ add r26, r24, r0 /* 803AC4FC 003A945C 48 00 00 14 */ b lbl_803AC510 lbl_803AC500: /* 803AC500 003A9460 80 7D 00 84 */ lwz r3, 0x84(r29) /* 803AC504 003A9464 80 0D AF 20 */ lwz r0, dspARAMZeroBuffer@sda21(r13) /* 803AC508 003A9468 7F 58 1A 14 */ add r26, r24, r3 /* 803AC50C 003A946C 54 0F F8 7E */ srwi r15, r0, 1 lbl_803AC510: /* 803AC510 003A9470 55 E3 84 3E */ srwi r3, r15, 0x10 /* 803AC514 003A9474 57 40 84 3E */ srwi r0, r26, 0x10 /* 803AC518 003A9478 B0 73 00 72 */ sth r3, 0x72(r19) /* 803AC51C 003A947C B1 F3 00 74 */ sth r15, 0x74(r19) /* 803AC520 003A9480 B0 13 00 76 */ sth r0, 0x76(r19) /* 803AC524 003A9484 B3 53 00 78 */ sth r26, 0x78(r19) lbl_803AC528: /* 803AC528 003A9488 A0 7D 00 CC */ lhz r3, 0xcc(r29) /* 803AC52C 003A948C 38 00 00 00 */ li r0, 0 /* 803AC530 003A9490 B0 73 00 08 */ sth r3, 8(r19) /* 803AC534 003A9494 A0 7D 00 CE */ lhz r3, 0xce(r29) /* 803AC538 003A9498 B0 73 00 0A */ sth r3, 0xa(r19) /* 803AC53C 003A949C 8B 7D 00 D4 */ lbz r27, 0xd4(r29) /* 803AC540 003A94A0 7F 63 00 34 */ cntlzw r3, r27 /* 803AC544 003A94A4 54 63 DC 3E */ rlwinm r3, r3, 0x1b, 0x10, 0x1f /* 803AC548 003A94A8 B0 73 00 0E */ sth r3, 0xe(r19) /* 803AC54C 003A94AC A0 7D 00 4C */ lhz r3, 0x4c(r29) /* 803AC550 003A94B0 B0 7D 00 5E */ sth r3, 0x5e(r29) /* 803AC554 003A94B4 B0 73 00 12 */ sth r3, 0x12(r19) /* 803AC558 003A94B8 A0 7D 00 4E */ lhz r3, 0x4e(r29) /* 803AC55C 003A94BC B0 7D 00 60 */ sth r3, 0x60(r29) /* 803AC560 003A94C0 B0 73 00 16 */ sth r3, 0x16(r19) /* 803AC564 003A94C4 A0 7D 00 50 */ lhz r3, 0x50(r29) /* 803AC568 003A94C8 B0 7D 00 62 */ sth r3, 0x62(r29) /* 803AC56C 003A94CC B0 73 00 2E */ sth r3, 0x2e(r19) /* 803AC570 003A94D0 A0 7D 00 52 */ lhz r3, 0x52(r29) /* 803AC574 003A94D4 B0 7D 00 64 */ sth r3, 0x64(r29) /* 803AC578 003A94D8 B0 73 00 1A */ sth r3, 0x1a(r19) /* 803AC57C 003A94DC A0 7D 00 54 */ lhz r3, 0x54(r29) /* 803AC580 003A94E0 B0 7D 00 66 */ sth r3, 0x66(r29) /* 803AC584 003A94E4 B0 73 00 1E */ sth r3, 0x1e(r19) /* 803AC588 003A94E8 A0 7D 00 56 */ lhz r3, 0x56(r29) /* 803AC58C 003A94EC B0 7D 00 68 */ sth r3, 0x68(r29) /* 803AC590 003A94F0 B0 73 00 32 */ sth r3, 0x32(r19) /* 803AC594 003A94F4 A0 93 00 1A */ lhz r4, 0x1a(r19) /* 803AC598 003A94F8 A0 73 00 1E */ lhz r3, 0x1e(r19) /* 803AC59C 003A94FC A0 B3 00 32 */ lhz r5, 0x32(r19) /* 803AC5A0 003A9500 7C 83 1B 78 */ or r3, r4, r3 /* 803AC5A4 003A9504 7C A4 1B 78 */ or r4, r5, r3 /* 803AC5A8 003A9508 7C 64 00 D0 */ neg r3, r4 /* 803AC5AC 003A950C 7C 63 23 78 */ or r3, r3, r4 /* 803AC5B0 003A9510 54 63 0F FE */ srwi r3, r3, 0x1f /* 803AC5B4 003A9514 B0 73 00 0C */ sth r3, 0xc(r19) /* 803AC5B8 003A9518 A0 7D 00 58 */ lhz r3, 0x58(r29) /* 803AC5BC 003A951C B0 7D 00 6A */ sth r3, 0x6a(r29) /* 803AC5C0 003A9520 B0 73 00 22 */ sth r3, 0x22(r19) /* 803AC5C4 003A9524 A0 7D 00 5A */ lhz r3, 0x5a(r29) /* 803AC5C8 003A9528 B0 7D 00 6C */ sth r3, 0x6c(r29) /* 803AC5CC 003A952C B0 73 00 26 */ sth r3, 0x26(r19) /* 803AC5D0 003A9530 A0 7D 00 5C */ lhz r3, 0x5c(r29) /* 803AC5D4 003A9534 B0 7D 00 6E */ sth r3, 0x6e(r29) /* 803AC5D8 003A9538 B0 73 00 2A */ sth r3, 0x2a(r19) /* 803AC5DC 003A953C B0 13 00 14 */ sth r0, 0x14(r19) /* 803AC5E0 003A9540 B0 13 00 18 */ sth r0, 0x18(r19) /* 803AC5E4 003A9544 B0 13 00 30 */ sth r0, 0x30(r19) /* 803AC5E8 003A9548 B0 13 00 1C */ sth r0, 0x1c(r19) /* 803AC5EC 003A954C B0 13 00 20 */ sth r0, 0x20(r19) /* 803AC5F0 003A9550 B0 13 00 34 */ sth r0, 0x34(r19) /* 803AC5F4 003A9554 B0 13 00 24 */ sth r0, 0x24(r19) /* 803AC5F8 003A9558 B0 13 00 28 */ sth r0, 0x28(r19) /* 803AC5FC 003A955C B0 13 00 2C */ sth r0, 0x2c(r19) /* 803AC600 003A9560 80 10 00 54 */ lwz r0, 0x54(r16) /* 803AC604 003A9564 2C 00 00 00 */ cmpwi r0, 0 /* 803AC608 003A9568 40 82 00 50 */ bne lbl_803AC658 /* 803AC60C 003A956C A0 73 00 22 */ lhz r3, 0x22(r19) /* 803AC610 003A9570 A0 13 00 26 */ lhz r0, 0x26(r19) /* 803AC614 003A9574 A0 93 00 2A */ lhz r4, 0x2a(r19) /* 803AC618 003A9578 7C 60 03 78 */ or r0, r3, r0 /* 803AC61C 003A957C 7C 80 03 79 */ or. r0, r4, r0 /* 803AC620 003A9580 41 82 00 10 */ beq lbl_803AC630 /* 803AC624 003A9584 A0 13 00 0C */ lhz r0, 0xc(r19) /* 803AC628 003A9588 60 00 00 02 */ ori r0, r0, 2 /* 803AC62C 003A958C B0 13 00 0C */ sth r0, 0xc(r19) lbl_803AC630: /* 803AC630 003A9590 A0 73 00 2E */ lhz r3, 0x2e(r19) /* 803AC634 003A9594 A0 13 00 32 */ lhz r0, 0x32(r19) /* 803AC638 003A9598 A0 93 00 2A */ lhz r4, 0x2a(r19) /* 803AC63C 003A959C 7C 60 03 78 */ or r0, r3, r0 /* 803AC640 003A95A0 7C 80 03 79 */ or. r0, r4, r0 /* 803AC644 003A95A4 41 82 00 38 */ beq lbl_803AC67C /* 803AC648 003A95A8 A0 13 00 0C */ lhz r0, 0xc(r19) /* 803AC64C 003A95AC 60 00 00 04 */ ori r0, r0, 4 /* 803AC650 003A95B0 B0 13 00 0C */ sth r0, 0xc(r19) /* 803AC654 003A95B4 48 00 00 28 */ b lbl_803AC67C lbl_803AC658: /* 803AC658 003A95B8 A0 73 00 22 */ lhz r3, 0x22(r19) /* 803AC65C 003A95BC A0 13 00 26 */ lhz r0, 0x26(r19) /* 803AC660 003A95C0 A0 93 00 32 */ lhz r4, 0x32(r19) /* 803AC664 003A95C4 7C 60 03 78 */ or r0, r3, r0 /* 803AC668 003A95C8 7C 80 03 79 */ or. r0, r4, r0 /* 803AC66C 003A95CC 41 82 00 10 */ beq lbl_803AC67C /* 803AC670 003A95D0 A0 13 00 0C */ lhz r0, 0xc(r19) /* 803AC674 003A95D4 60 00 00 10 */ ori r0, r0, 0x10 /* 803AC678 003A95D8 B0 13 00 0C */ sth r0, 0xc(r19) lbl_803AC67C: /* 803AC67C 003A95DC 38 60 00 02 */ li r3, 2 /* 803AC680 003A95E0 38 00 00 01 */ li r0, 1 /* 803AC684 003A95E4 90 01 00 20 */ stw r0, 0x20(r1) /* 803AC688 003A95E8 98 7D 00 EC */ stb r3, 0xec(r29) /* 803AC68C 003A95EC 48 00 06 90 */ b lbl_803ACD1C lbl_803AC690: /* 803AC690 003A95F0 88 1D 00 90 */ lbz r0, 0x90(r29) /* 803AC694 003A95F4 28 00 00 04 */ cmplwi r0, 4 /* 803AC698 003A95F8 41 82 00 0C */ beq lbl_803AC6A4 /* 803AC69C 003A95FC 28 00 00 05 */ cmplwi r0, 5 /* 803AC6A0 003A9600 40 82 00 8C */ bne lbl_803AC72C lbl_803AC6A4: /* 803AC6A4 003A9604 88 1D 00 A0 */ lbz r0, 0xa0(r29) /* 803AC6A8 003A9608 B0 13 00 B4 */ sth r0, 0xb4(r19) /* 803AC6AC 003A960C 88 1D 00 90 */ lbz r0, 0x90(r29) /* 803AC6B0 003A9610 28 00 00 05 */ cmplwi r0, 5 /* 803AC6B4 003A9614 40 82 00 78 */ bne lbl_803AC72C /* 803AC6B8 003A9618 88 1D 00 9C */ lbz r0, 0x9c(r29) /* 803AC6BC 003A961C 28 00 00 00 */ cmplwi r0, 0 /* 803AC6C0 003A9620 40 82 00 6C */ bne lbl_803AC72C /* 803AC6C4 003A9624 A0 13 00 BA */ lhz r0, 0xba(r19) /* 803AC6C8 003A9628 28 00 00 00 */ cmplwi r0, 0 /* 803AC6CC 003A962C 41 82 00 60 */ beq lbl_803AC72C /* 803AC6D0 003A9630 80 9D 00 98 */ lwz r4, 0x98(r29) /* 803AC6D4 003A9634 3C 60 24 92 */ lis r3, 0x24924925@ha /* 803AC6D8 003A9638 80 FD 00 94 */ lwz r7, 0x94(r29) /* 803AC6DC 003A963C 38 63 49 25 */ addi r3, r3, 0x24924925@l /* 803AC6E0 003A9640 38 C4 FF FF */ addi r6, r4, -1 /* 803AC6E4 003A9644 38 00 00 01 */ li r0, 1 /* 803AC6E8 003A9648 7C A3 30 16 */ mulhwu r5, r3, r6 /* 803AC6EC 003A964C 54 E4 08 3C */ slwi r4, r7, 1 /* 803AC6F0 003A9650 90 FD 00 78 */ stw r7, 0x78(r29) /* 803AC6F4 003A9654 7C 65 30 50 */ subf r3, r5, r6 /* 803AC6F8 003A9658 54 63 F8 7E */ srwi r3, r3, 1 /* 803AC6FC 003A965C 7C 63 2A 14 */ add r3, r3, r5 /* 803AC700 003A9660 54 65 E8 FE */ srwi r5, r3, 3 /* 803AC704 003A9664 1C A5 00 0E */ mulli r5, r5, 0xe /* 803AC708 003A9668 54 63 08 36 */ rlwinm r3, r3, 1, 0, 0x1b /* 803AC70C 003A966C 38 63 00 02 */ addi r3, r3, 2 /* 803AC710 003A9670 7C A5 30 50 */ subf r5, r5, r6 /* 803AC714 003A9674 7F 43 2A 14 */ add r26, r3, r5 /* 803AC718 003A9678 7F 44 D2 14 */ add r26, r4, r26 /* 803AC71C 003A967C 57 43 84 3E */ srwi r3, r26, 0x10 /* 803AC720 003A9680 B0 73 00 76 */ sth r3, 0x76(r19) /* 803AC724 003A9684 B3 53 00 78 */ sth r26, 0x78(r19) /* 803AC728 003A9688 98 1D 00 9C */ stb r0, 0x9c(r29) lbl_803AC72C: /* 803AC72C 003A968C 80 1D 00 8C */ lwz r0, 0x8c(r29) /* 803AC730 003A9690 28 00 00 00 */ cmplwi r0, 0 /* 803AC734 003A9694 40 82 00 2C */ bne lbl_803AC760 /* 803AC738 003A9698 80 7D 00 D8 */ lwz r3, 0xd8(r29) /* 803AC73C 003A969C 80 1D 00 84 */ lwz r0, 0x84(r29) /* 803AC740 003A96A0 7C 03 00 40 */ cmplw r3, r0 /* 803AC744 003A96A4 41 80 00 1C */ blt lbl_803AC760 /* 803AC748 003A96A8 7F A3 EB 78 */ mr r3, r29 /* 803AC74C 003A96AC 38 80 00 00 */ li r4, 0 /* 803AC750 003A96B0 48 00 15 31 */ bl salSynthSendMessage /* 803AC754 003A96B4 7F A3 EB 78 */ mr r3, r29 /* 803AC758 003A96B8 48 00 16 0D */ bl salDeactivateVoice /* 803AC75C 003A96BC 48 00 0B 8C */ b lbl_803AD2E8 lbl_803AC760: /* 803AC760 003A96C0 80 1D 00 24 */ lwz r0, 0x24(r29) /* 803AC764 003A96C4 54 00 06 F7 */ rlwinm. r0, r0, 0, 0x1b, 0x1b /* 803AC768 003A96C8 41 82 00 2C */ beq lbl_803AC794 /* 803AC76C 003A96CC 38 7D 00 A4 */ addi r3, r29, 0xa4 /* 803AC770 003A96D0 4B FF CD 65 */ bl adsrSetup /* 803AC774 003A96D4 28 03 00 00 */ cmplwi r3, 0 /* 803AC778 003A96D8 41 82 00 1C */ beq lbl_803AC794 /* 803AC77C 003A96DC 7F A3 EB 78 */ mr r3, r29 /* 803AC780 003A96E0 38 80 00 00 */ li r4, 0 /* 803AC784 003A96E4 48 00 14 FD */ bl salSynthSendMessage /* 803AC788 003A96E8 7F A3 EB 78 */ mr r3, r29 /* 803AC78C 003A96EC 48 00 15 D9 */ bl salDeactivateVoice /* 803AC790 003A96F0 48 00 0B 58 */ b lbl_803AD2E8 lbl_803AC794: /* 803AC794 003A96F4 80 1D 00 24 */ lwz r0, 0x24(r29) /* 803AC798 003A96F8 54 00 07 FF */ clrlwi. r0, r0, 0x1f /* 803AC79C 003A96FC 41 82 00 3C */ beq lbl_803AC7D8 /* 803AC7A0 003A9700 A0 BD 00 4C */ lhz r5, 0x4c(r29) /* 803AC7A4 003A9704 38 73 00 14 */ addi r3, r19, 0x14 /* 803AC7A8 003A9708 38 9D 00 5E */ addi r4, r29, 0x5e /* 803AC7AC 003A970C 4B FF EC 81 */ bl sal_setup_dspvol /* 803AC7B0 003A9710 A0 BD 00 4E */ lhz r5, 0x4e(r29) /* 803AC7B4 003A9714 38 73 00 18 */ addi r3, r19, 0x18 /* 803AC7B8 003A9718 38 9D 00 60 */ addi r4, r29, 0x60 /* 803AC7BC 003A971C 4B FF EC 71 */ bl sal_setup_dspvol /* 803AC7C0 003A9720 A0 BD 00 50 */ lhz r5, 0x50(r29) /* 803AC7C4 003A9724 38 73 00 30 */ addi r3, r19, 0x30 /* 803AC7C8 003A9728 38 9D 00 62 */ addi r4, r29, 0x62 /* 803AC7CC 003A972C 4B FF EC 61 */ bl sal_setup_dspvol /* 803AC7D0 003A9730 3A 20 00 01 */ li r17, 1 /* 803AC7D4 003A9734 48 00 00 64 */ b lbl_803AC838 lbl_803AC7D8: /* 803AC7D8 003A9738 A0 DD 00 4C */ lhz r6, 0x4c(r29) /* 803AC7DC 003A973C 38 73 00 12 */ addi r3, r19, 0x12 /* 803AC7E0 003A9740 38 93 00 14 */ addi r4, r19, 0x14 /* 803AC7E4 003A9744 38 BD 00 5E */ addi r5, r29, 0x5e /* 803AC7E8 003A9748 38 E1 00 10 */ addi r7, r1, 0x10 /* 803AC7EC 003A974C 39 00 00 01 */ li r8, 1 /* 803AC7F0 003A9750 4B FF EB 49 */ bl salCheckVolErrorAndResetDelta /* 803AC7F4 003A9754 A0 DD 00 4E */ lhz r6, 0x4e(r29) /* 803AC7F8 003A9758 7C 71 1B 78 */ mr r17, r3 /* 803AC7FC 003A975C 38 73 00 16 */ addi r3, r19, 0x16 /* 803AC800 003A9760 38 93 00 18 */ addi r4, r19, 0x18 /* 803AC804 003A9764 38 BD 00 60 */ addi r5, r29, 0x60 /* 803AC808 003A9768 38 E1 00 10 */ addi r7, r1, 0x10 /* 803AC80C 003A976C 39 00 00 02 */ li r8, 2 /* 803AC810 003A9770 4B FF EB 29 */ bl salCheckVolErrorAndResetDelta /* 803AC814 003A9774 A0 DD 00 50 */ lhz r6, 0x50(r29) /* 803AC818 003A9778 7E 31 1B 78 */ or r17, r17, r3 /* 803AC81C 003A977C 38 73 00 2E */ addi r3, r19, 0x2e /* 803AC820 003A9780 38 93 00 30 */ addi r4, r19, 0x30 /* 803AC824 003A9784 38 BD 00 62 */ addi r5, r29, 0x62 /* 803AC828 003A9788 38 E1 00 10 */ addi r7, r1, 0x10 /* 803AC82C 003A978C 39 00 00 04 */ li r8, 4 /* 803AC830 003A9790 4B FF EB 09 */ bl salCheckVolErrorAndResetDelta /* 803AC834 003A9794 7E 31 1B 78 */ or r17, r17, r3 lbl_803AC838: /* 803AC838 003A9798 80 1D 00 24 */ lwz r0, 0x24(r29) /* 803AC83C 003A979C 54 00 07 BD */ rlwinm. r0, r0, 0, 0x1e, 0x1e /* 803AC840 003A97A0 41 82 00 98 */ beq lbl_803AC8D8 /* 803AC844 003A97A4 A0 BD 00 52 */ lhz r5, 0x52(r29) /* 803AC848 003A97A8 38 73 00 1C */ addi r3, r19, 0x1c /* 803AC84C 003A97AC 38 9D 00 64 */ addi r4, r29, 0x64 /* 803AC850 003A97B0 4B FF EB DD */ bl sal_setup_dspvol /* 803AC854 003A97B4 A0 BD 00 54 */ lhz r5, 0x54(r29) /* 803AC858 003A97B8 38 73 00 20 */ addi r3, r19, 0x20 /* 803AC85C 003A97BC 38 9D 00 66 */ addi r4, r29, 0x66 /* 803AC860 003A97C0 4B FF EB CD */ bl sal_setup_dspvol /* 803AC864 003A97C4 A0 BD 00 56 */ lhz r5, 0x56(r29) /* 803AC868 003A97C8 38 73 00 34 */ addi r3, r19, 0x34 /* 803AC86C 003A97CC 38 9D 00 68 */ addi r4, r29, 0x68 /* 803AC870 003A97D0 4B FF EB BD */ bl sal_setup_dspvol /* 803AC874 003A97D4 A0 73 00 1C */ lhz r3, 0x1c(r19) /* 803AC878 003A97D8 A0 13 00 20 */ lhz r0, 0x20(r19) /* 803AC87C 003A97DC A0 93 00 34 */ lhz r4, 0x34(r19) /* 803AC880 003A97E0 7C 60 03 78 */ or r0, r3, r0 /* 803AC884 003A97E4 7C 80 03 79 */ or. r0, r4, r0 /* 803AC888 003A97E8 41 82 00 18 */ beq lbl_803AC8A0 /* 803AC88C 003A97EC A0 13 00 0C */ lhz r0, 0xc(r19) /* 803AC890 003A97F0 3A 20 00 01 */ li r17, 1 /* 803AC894 003A97F4 60 00 00 01 */ ori r0, r0, 1 /* 803AC898 003A97F8 B0 13 00 0C */ sth r0, 0xc(r19) /* 803AC89C 003A97FC 48 00 00 EC */ b lbl_803AC988 lbl_803AC8A0: /* 803AC8A0 003A9800 A0 73 00 1A */ lhz r3, 0x1a(r19) /* 803AC8A4 003A9804 A0 13 00 1E */ lhz r0, 0x1e(r19) /* 803AC8A8 003A9808 A0 93 00 32 */ lhz r4, 0x32(r19) /* 803AC8AC 003A980C 7C 60 03 78 */ or r0, r3, r0 /* 803AC8B0 003A9810 7C 80 03 79 */ or. r0, r4, r0 /* 803AC8B4 003A9814 41 82 00 14 */ beq lbl_803AC8C8 /* 803AC8B8 003A9818 A0 13 00 0C */ lhz r0, 0xc(r19) /* 803AC8BC 003A981C 60 00 00 01 */ ori r0, r0, 1 /* 803AC8C0 003A9820 B0 13 00 0C */ sth r0, 0xc(r19) /* 803AC8C4 003A9824 48 00 00 C4 */ b lbl_803AC988 lbl_803AC8C8: /* 803AC8C8 003A9828 A0 13 00 0C */ lhz r0, 0xc(r19) /* 803AC8CC 003A982C 54 00 04 3C */ rlwinm r0, r0, 0, 0x10, 0x1e /* 803AC8D0 003A9830 B0 13 00 0C */ sth r0, 0xc(r19) /* 803AC8D4 003A9834 48 00 00 B4 */ b lbl_803AC988 lbl_803AC8D8: /* 803AC8D8 003A9838 A0 13 00 0C */ lhz r0, 0xc(r19) /* 803AC8DC 003A983C 54 00 07 FF */ clrlwi. r0, r0, 0x1f /* 803AC8E0 003A9840 41 82 00 98 */ beq lbl_803AC978 /* 803AC8E4 003A9844 A0 DD 00 52 */ lhz r6, 0x52(r29) /* 803AC8E8 003A9848 38 73 00 1A */ addi r3, r19, 0x1a /* 803AC8EC 003A984C 38 93 00 1C */ addi r4, r19, 0x1c /* 803AC8F0 003A9850 38 BD 00 64 */ addi r5, r29, 0x64 /* 803AC8F4 003A9854 38 E1 00 10 */ addi r7, r1, 0x10 /* 803AC8F8 003A9858 39 00 00 08 */ li r8, 8 /* 803AC8FC 003A985C 4B FF EA 3D */ bl salCheckVolErrorAndResetDelta /* 803AC900 003A9860 A0 DD 00 54 */ lhz r6, 0x54(r29) /* 803AC904 003A9864 7C 74 1B 78 */ mr r20, r3 /* 803AC908 003A9868 38 73 00 1E */ addi r3, r19, 0x1e /* 803AC90C 003A986C 38 93 00 20 */ addi r4, r19, 0x20 /* 803AC910 003A9870 38 BD 00 66 */ addi r5, r29, 0x66 /* 803AC914 003A9874 38 E1 00 10 */ addi r7, r1, 0x10 /* 803AC918 003A9878 39 00 00 10 */ li r8, 0x10 /* 803AC91C 003A987C 4B FF EA 1D */ bl salCheckVolErrorAndResetDelta /* 803AC920 003A9880 A0 DD 00 56 */ lhz r6, 0x56(r29) /* 803AC924 003A9884 7E 94 1B 78 */ or r20, r20, r3 /* 803AC928 003A9888 38 73 00 32 */ addi r3, r19, 0x32 /* 803AC92C 003A988C 38 93 00 34 */ addi r4, r19, 0x34 /* 803AC930 003A9890 38 BD 00 68 */ addi r5, r29, 0x68 /* 803AC934 003A9894 38 E1 00 10 */ addi r7, r1, 0x10 /* 803AC938 003A9898 39 00 00 20 */ li r8, 0x20 /* 803AC93C 003A989C 4B FF E9 FD */ bl salCheckVolErrorAndResetDelta /* 803AC940 003A98A0 A0 93 00 1A */ lhz r4, 0x1a(r19) /* 803AC944 003A98A4 7E 94 1B 78 */ or r20, r20, r3 /* 803AC948 003A98A8 A0 13 00 1E */ lhz r0, 0x1e(r19) /* 803AC94C 003A98AC A0 73 00 32 */ lhz r3, 0x32(r19) /* 803AC950 003A98B0 7C 80 03 78 */ or r0, r4, r0 /* 803AC954 003A98B4 7C 60 03 78 */ or r0, r3, r0 /* 803AC958 003A98B8 7E 80 03 79 */ or. r0, r20, r0 /* 803AC95C 003A98BC 40 82 00 14 */ bne lbl_803AC970 /* 803AC960 003A98C0 A0 13 00 0C */ lhz r0, 0xc(r19) /* 803AC964 003A98C4 54 00 04 3C */ rlwinm r0, r0, 0, 0x10, 0x1e /* 803AC968 003A98C8 B0 13 00 0C */ sth r0, 0xc(r19) /* 803AC96C 003A98CC 48 00 00 1C */ b lbl_803AC988 lbl_803AC970: /* 803AC970 003A98D0 3A 20 00 01 */ li r17, 1 /* 803AC974 003A98D4 48 00 00 14 */ b lbl_803AC988 lbl_803AC978: /* 803AC978 003A98D8 38 00 00 00 */ li r0, 0 /* 803AC97C 003A98DC B0 13 00 1C */ sth r0, 0x1c(r19) /* 803AC980 003A98E0 B0 13 00 20 */ sth r0, 0x20(r19) /* 803AC984 003A98E4 B0 13 00 34 */ sth r0, 0x34(r19) lbl_803AC988: /* 803AC988 003A98E8 80 1D 00 24 */ lwz r0, 0x24(r29) /* 803AC98C 003A98EC 54 00 07 7B */ rlwinm. r0, r0, 0, 0x1d, 0x1d /* 803AC990 003A98F0 41 82 01 28 */ beq lbl_803ACAB8 /* 803AC994 003A98F4 80 10 00 54 */ lwz r0, 0x54(r16) /* 803AC998 003A98F8 2C 00 00 00 */ cmpwi r0, 0 /* 803AC99C 003A98FC 40 82 00 98 */ bne lbl_803ACA34 /* 803AC9A0 003A9900 A0 BD 00 58 */ lhz r5, 0x58(r29) /* 803AC9A4 003A9904 38 73 00 24 */ addi r3, r19, 0x24 /* 803AC9A8 003A9908 38 9D 00 6A */ addi r4, r29, 0x6a /* 803AC9AC 003A990C 4B FF EA 81 */ bl sal_setup_dspvol /* 803AC9B0 003A9910 A0 BD 00 5A */ lhz r5, 0x5a(r29) /* 803AC9B4 003A9914 38 73 00 28 */ addi r3, r19, 0x28 /* 803AC9B8 003A9918 38 9D 00 6C */ addi r4, r29, 0x6c /* 803AC9BC 003A991C 4B FF EA 71 */ bl sal_setup_dspvol /* 803AC9C0 003A9920 A0 BD 00 5C */ lhz r5, 0x5c(r29) /* 803AC9C4 003A9924 38 73 00 2C */ addi r3, r19, 0x2c /* 803AC9C8 003A9928 38 9D 00 6E */ addi r4, r29, 0x6e /* 803AC9CC 003A992C 4B FF EA 61 */ bl sal_setup_dspvol /* 803AC9D0 003A9930 A0 73 00 24 */ lhz r3, 0x24(r19) /* 803AC9D4 003A9934 A0 13 00 28 */ lhz r0, 0x28(r19) /* 803AC9D8 003A9938 A0 93 00 2C */ lhz r4, 0x2c(r19) /* 803AC9DC 003A993C 7C 60 03 78 */ or r0, r3, r0 /* 803AC9E0 003A9940 7C 80 03 79 */ or. r0, r4, r0 /* 803AC9E4 003A9944 41 82 00 18 */ beq lbl_803AC9FC /* 803AC9E8 003A9948 A0 13 00 0C */ lhz r0, 0xc(r19) /* 803AC9EC 003A994C 3A 20 00 01 */ li r17, 1 /* 803AC9F0 003A9950 60 00 00 02 */ ori r0, r0, 2 /* 803AC9F4 003A9954 B0 13 00 0C */ sth r0, 0xc(r19) /* 803AC9F8 003A9958 48 00 02 30 */ b lbl_803ACC28 lbl_803AC9FC: /* 803AC9FC 003A995C A0 73 00 22 */ lhz r3, 0x22(r19) /* 803ACA00 003A9960 A0 13 00 26 */ lhz r0, 0x26(r19) /* 803ACA04 003A9964 A0 93 00 2A */ lhz r4, 0x2a(r19) /* 803ACA08 003A9968 7C 60 03 78 */ or r0, r3, r0 /* 803ACA0C 003A996C 7C 80 03 79 */ or. r0, r4, r0 /* 803ACA10 003A9970 41 82 00 14 */ beq lbl_803ACA24 /* 803ACA14 003A9974 A0 13 00 0C */ lhz r0, 0xc(r19) /* 803ACA18 003A9978 60 00 00 02 */ ori r0, r0, 2 /* 803ACA1C 003A997C B0 13 00 0C */ sth r0, 0xc(r19) /* 803ACA20 003A9980 48 00 02 08 */ b lbl_803ACC28 lbl_803ACA24: /* 803ACA24 003A9984 A0 13 00 0C */ lhz r0, 0xc(r19) /* 803ACA28 003A9988 54 00 07 FA */ rlwinm r0, r0, 0, 0x1f, 0x1d /* 803ACA2C 003A998C B0 13 00 0C */ sth r0, 0xc(r19) /* 803ACA30 003A9990 48 00 01 F8 */ b lbl_803ACC28 lbl_803ACA34: /* 803ACA34 003A9994 A0 BD 00 58 */ lhz r5, 0x58(r29) /* 803ACA38 003A9998 38 73 00 24 */ addi r3, r19, 0x24 /* 803ACA3C 003A999C 38 9D 00 6A */ addi r4, r29, 0x6a /* 803ACA40 003A99A0 4B FF E9 ED */ bl sal_setup_dspvol /* 803ACA44 003A99A4 A0 BD 00 5A */ lhz r5, 0x5a(r29) /* 803ACA48 003A99A8 38 73 00 28 */ addi r3, r19, 0x28 /* 803ACA4C 003A99AC 38 9D 00 6C */ addi r4, r29, 0x6c /* 803ACA50 003A99B0 4B FF E9 DD */ bl sal_setup_dspvol /* 803ACA54 003A99B4 A0 73 00 24 */ lhz r3, 0x24(r19) /* 803ACA58 003A99B8 A0 13 00 28 */ lhz r0, 0x28(r19) /* 803ACA5C 003A99BC 7C 60 03 79 */ or. r0, r3, r0 /* 803ACA60 003A99C0 41 82 00 18 */ beq lbl_803ACA78 /* 803ACA64 003A99C4 A0 13 00 0C */ lhz r0, 0xc(r19) /* 803ACA68 003A99C8 3A 20 00 01 */ li r17, 1 /* 803ACA6C 003A99CC 60 00 00 10 */ ori r0, r0, 0x10 /* 803ACA70 003A99D0 B0 13 00 0C */ sth r0, 0xc(r19) /* 803ACA74 003A99D4 48 00 01 B4 */ b lbl_803ACC28 lbl_803ACA78: /* 803ACA78 003A99D8 A0 73 00 22 */ lhz r3, 0x22(r19) /* 803ACA7C 003A99DC A0 13 00 26 */ lhz r0, 0x26(r19) /* 803ACA80 003A99E0 A0 93 00 32 */ lhz r4, 0x32(r19) /* 803ACA84 003A99E4 7C 60 03 78 */ or r0, r3, r0 /* 803ACA88 003A99E8 A0 73 00 34 */ lhz r3, 0x34(r19) /* 803ACA8C 003A99EC 7C 80 03 78 */ or r0, r4, r0 /* 803ACA90 003A99F0 7C 60 03 79 */ or. r0, r3, r0 /* 803ACA94 003A99F4 41 82 00 14 */ beq lbl_803ACAA8 /* 803ACA98 003A99F8 A0 13 00 0C */ lhz r0, 0xc(r19) /* 803ACA9C 003A99FC 60 00 00 10 */ ori r0, r0, 0x10 /* 803ACAA0 003A9A00 B0 13 00 0C */ sth r0, 0xc(r19) /* 803ACAA4 003A9A04 48 00 01 84 */ b lbl_803ACC28 lbl_803ACAA8: /* 803ACAA8 003A9A08 A0 13 00 0C */ lhz r0, 0xc(r19) /* 803ACAAC 003A9A0C 54 00 07 34 */ rlwinm r0, r0, 0, 0x1c, 0x1a /* 803ACAB0 003A9A10 B0 13 00 0C */ sth r0, 0xc(r19) /* 803ACAB4 003A9A14 48 00 01 74 */ b lbl_803ACC28 lbl_803ACAB8: /* 803ACAB8 003A9A18 80 10 00 54 */ lwz r0, 0x54(r16) /* 803ACABC 003A9A1C 2C 00 00 00 */ cmpwi r0, 0 /* 803ACAC0 003A9A20 40 82 00 B8 */ bne lbl_803ACB78 /* 803ACAC4 003A9A24 A0 13 00 0C */ lhz r0, 0xc(r19) /* 803ACAC8 003A9A28 54 00 07 BD */ rlwinm. r0, r0, 0, 0x1e, 0x1e /* 803ACACC 003A9A2C 41 82 00 98 */ beq lbl_803ACB64 /* 803ACAD0 003A9A30 A0 DD 00 58 */ lhz r6, 0x58(r29) /* 803ACAD4 003A9A34 38 73 00 22 */ addi r3, r19, 0x22 /* 803ACAD8 003A9A38 38 93 00 24 */ addi r4, r19, 0x24 /* 803ACADC 003A9A3C 38 BD 00 6A */ addi r5, r29, 0x6a /* 803ACAE0 003A9A40 38 E1 00 10 */ addi r7, r1, 0x10 /* 803ACAE4 003A9A44 39 00 00 40 */ li r8, 0x40 /* 803ACAE8 003A9A48 4B FF E8 51 */ bl salCheckVolErrorAndResetDelta /* 803ACAEC 003A9A4C A0 DD 00 5A */ lhz r6, 0x5a(r29) /* 803ACAF0 003A9A50 7C 74 1B 78 */ mr r20, r3 /* 803ACAF4 003A9A54 38 73 00 26 */ addi r3, r19, 0x26 /* 803ACAF8 003A9A58 38 93 00 28 */ addi r4, r19, 0x28 /* 803ACAFC 003A9A5C 38 BD 00 6C */ addi r5, r29, 0x6c /* 803ACB00 003A9A60 38 E1 00 10 */ addi r7, r1, 0x10 /* 803ACB04 003A9A64 39 00 00 80 */ li r8, 0x80 /* 803ACB08 003A9A68 4B FF E8 31 */ bl salCheckVolErrorAndResetDelta /* 803ACB0C 003A9A6C A0 DD 00 5C */ lhz r6, 0x5c(r29) /* 803ACB10 003A9A70 7E 94 1B 78 */ or r20, r20, r3 /* 803ACB14 003A9A74 38 73 00 2A */ addi r3, r19, 0x2a /* 803ACB18 003A9A78 38 93 00 2C */ addi r4, r19, 0x2c /* 803ACB1C 003A9A7C 38 BD 00 6E */ addi r5, r29, 0x6e /* 803ACB20 003A9A80 38 E1 00 10 */ addi r7, r1, 0x10 /* 803ACB24 003A9A84 39 00 01 00 */ li r8, 0x100 /* 803ACB28 003A9A88 4B FF E8 11 */ bl salCheckVolErrorAndResetDelta /* 803ACB2C 003A9A8C A0 93 00 22 */ lhz r4, 0x22(r19) /* 803ACB30 003A9A90 7E 94 1B 78 */ or r20, r20, r3 /* 803ACB34 003A9A94 A0 13 00 26 */ lhz r0, 0x26(r19) /* 803ACB38 003A9A98 A0 73 00 2A */ lhz r3, 0x2a(r19) /* 803ACB3C 003A9A9C 7C 80 03 78 */ or r0, r4, r0 /* 803ACB40 003A9AA0 7C 60 03 78 */ or r0, r3, r0 /* 803ACB44 003A9AA4 7E 80 03 79 */ or. r0, r20, r0 /* 803ACB48 003A9AA8 40 82 00 14 */ bne lbl_803ACB5C /* 803ACB4C 003A9AAC A0 13 00 0C */ lhz r0, 0xc(r19) /* 803ACB50 003A9AB0 54 00 07 FA */ rlwinm r0, r0, 0, 0x1f, 0x1d /* 803ACB54 003A9AB4 B0 13 00 0C */ sth r0, 0xc(r19) /* 803ACB58 003A9AB8 48 00 00 D0 */ b lbl_803ACC28 lbl_803ACB5C: /* 803ACB5C 003A9ABC 3A 20 00 01 */ li r17, 1 /* 803ACB60 003A9AC0 48 00 00 C8 */ b lbl_803ACC28 lbl_803ACB64: /* 803ACB64 003A9AC4 38 00 00 00 */ li r0, 0 /* 803ACB68 003A9AC8 B0 13 00 24 */ sth r0, 0x24(r19) /* 803ACB6C 003A9ACC B0 13 00 28 */ sth r0, 0x28(r19) /* 803ACB70 003A9AD0 B0 13 00 2C */ sth r0, 0x2c(r19) /* 803ACB74 003A9AD4 48 00 00 B4 */ b lbl_803ACC28 lbl_803ACB78: /* 803ACB78 003A9AD8 A0 13 00 0C */ lhz r0, 0xc(r19) /* 803ACB7C 003A9ADC 54 00 06 F7 */ rlwinm. r0, r0, 0, 0x1b, 0x1b /* 803ACB80 003A9AE0 41 82 00 80 */ beq lbl_803ACC00 /* 803ACB84 003A9AE4 A0 DD 00 58 */ lhz r6, 0x58(r29) /* 803ACB88 003A9AE8 38 73 00 22 */ addi r3, r19, 0x22 /* 803ACB8C 003A9AEC 38 93 00 24 */ addi r4, r19, 0x24 /* 803ACB90 003A9AF0 38 BD 00 6A */ addi r5, r29, 0x6a /* 803ACB94 003A9AF4 38 E1 00 10 */ addi r7, r1, 0x10 /* 803ACB98 003A9AF8 39 00 00 40 */ li r8, 0x40 /* 803ACB9C 003A9AFC 4B FF E7 9D */ bl salCheckVolErrorAndResetDelta /* 803ACBA0 003A9B00 A0 DD 00 5A */ lhz r6, 0x5a(r29) /* 803ACBA4 003A9B04 7C 74 1B 78 */ mr r20, r3 /* 803ACBA8 003A9B08 38 73 00 26 */ addi r3, r19, 0x26 /* 803ACBAC 003A9B0C 38 93 00 28 */ addi r4, r19, 0x28 /* 803ACBB0 003A9B10 38 BD 00 6C */ addi r5, r29, 0x6c /* 803ACBB4 003A9B14 38 E1 00 10 */ addi r7, r1, 0x10 /* 803ACBB8 003A9B18 39 00 00 80 */ li r8, 0x80 /* 803ACBBC 003A9B1C 4B FF E7 7D */ bl salCheckVolErrorAndResetDelta /* 803ACBC0 003A9B20 A0 93 00 22 */ lhz r4, 0x22(r19) /* 803ACBC4 003A9B24 7E 83 1B 78 */ or r3, r20, r3 /* 803ACBC8 003A9B28 A0 13 00 26 */ lhz r0, 0x26(r19) /* 803ACBCC 003A9B2C 7C 80 03 78 */ or r0, r4, r0 /* 803ACBD0 003A9B30 7C 60 03 79 */ or. r0, r3, r0 /* 803ACBD4 003A9B34 40 82 00 24 */ bne lbl_803ACBF8 /* 803ACBD8 003A9B38 A0 73 00 32 */ lhz r3, 0x32(r19) /* 803ACBDC 003A9B3C A0 13 00 34 */ lhz r0, 0x34(r19) /* 803ACBE0 003A9B40 7C 60 03 79 */ or. r0, r3, r0 /* 803ACBE4 003A9B44 40 82 00 44 */ bne lbl_803ACC28 /* 803ACBE8 003A9B48 A0 13 00 0C */ lhz r0, 0xc(r19) /* 803ACBEC 003A9B4C 54 00 07 34 */ rlwinm r0, r0, 0, 0x1c, 0x1a /* 803ACBF0 003A9B50 B0 13 00 0C */ sth r0, 0xc(r19) /* 803ACBF4 003A9B54 48 00 00 34 */ b lbl_803ACC28 lbl_803ACBF8: /* 803ACBF8 003A9B58 3A 20 00 01 */ li r17, 1 /* 803ACBFC 003A9B5C 48 00 00 2C */ b lbl_803ACC28 lbl_803ACC00: /* 803ACC00 003A9B60 38 00 00 00 */ li r0, 0 /* 803ACC04 003A9B64 B0 13 00 24 */ sth r0, 0x24(r19) /* 803ACC08 003A9B68 B0 13 00 28 */ sth r0, 0x28(r19) /* 803ACC0C 003A9B6C A0 73 00 32 */ lhz r3, 0x32(r19) /* 803ACC10 003A9B70 A0 13 00 34 */ lhz r0, 0x34(r19) /* 803ACC14 003A9B74 7C 60 03 79 */ or. r0, r3, r0 /* 803ACC18 003A9B78 41 82 00 10 */ beq lbl_803ACC28 /* 803ACC1C 003A9B7C A0 13 00 0C */ lhz r0, 0xc(r19) /* 803ACC20 003A9B80 60 00 00 10 */ ori r0, r0, 0x10 /* 803ACC24 003A9B84 B0 13 00 0C */ sth r0, 0xc(r19) lbl_803ACC28: /* 803ACC28 003A9B88 28 11 00 00 */ cmplwi r17, 0 /* 803ACC2C 003A9B8C 41 82 00 14 */ beq lbl_803ACC40 /* 803ACC30 003A9B90 A0 13 00 0C */ lhz r0, 0xc(r19) /* 803ACC34 003A9B94 60 00 00 08 */ ori r0, r0, 8 /* 803ACC38 003A9B98 B0 13 00 0C */ sth r0, 0xc(r19) /* 803ACC3C 003A9B9C 48 00 00 10 */ b lbl_803ACC4C lbl_803ACC40: /* 803ACC40 003A9BA0 A0 13 00 0C */ lhz r0, 0xc(r19) /* 803ACC44 003A9BA4 54 00 07 76 */ rlwinm r0, r0, 0, 0x1d, 0x1b /* 803ACC48 003A9BA8 B0 13 00 0C */ sth r0, 0xc(r19) lbl_803ACC4C: /* 803ACC4C 003A9BAC 80 10 00 54 */ lwz r0, 0x54(r16) /* 803ACC50 003A9BB0 2C 00 00 00 */ cmpwi r0, 0 /* 803ACC54 003A9BB4 40 82 00 68 */ bne lbl_803ACCBC /* 803ACC58 003A9BB8 A0 13 00 2E */ lhz r0, 0x2e(r19) /* 803ACC5C 003A9BBC 28 00 00 00 */ cmplwi r0, 0 /* 803ACC60 003A9BC0 40 82 00 40 */ bne lbl_803ACCA0 /* 803ACC64 003A9BC4 A0 13 00 30 */ lhz r0, 0x30(r19) /* 803ACC68 003A9BC8 28 00 00 00 */ cmplwi r0, 0 /* 803ACC6C 003A9BCC 40 82 00 34 */ bne lbl_803ACCA0 /* 803ACC70 003A9BD0 A0 13 00 32 */ lhz r0, 0x32(r19) /* 803ACC74 003A9BD4 28 00 00 00 */ cmplwi r0, 0 /* 803ACC78 003A9BD8 40 82 00 28 */ bne lbl_803ACCA0 /* 803ACC7C 003A9BDC A0 13 00 34 */ lhz r0, 0x34(r19) /* 803ACC80 003A9BE0 28 00 00 00 */ cmplwi r0, 0 /* 803ACC84 003A9BE4 40 82 00 1C */ bne lbl_803ACCA0 /* 803ACC88 003A9BE8 A0 13 00 2A */ lhz r0, 0x2a(r19) /* 803ACC8C 003A9BEC 28 00 00 00 */ cmplwi r0, 0 /* 803ACC90 003A9BF0 40 82 00 10 */ bne lbl_803ACCA0 /* 803ACC94 003A9BF4 A0 13 00 2C */ lhz r0, 0x2c(r19) /* 803ACC98 003A9BF8 28 00 00 00 */ cmplwi r0, 0 /* 803ACC9C 003A9BFC 41 82 00 14 */ beq lbl_803ACCB0 lbl_803ACCA0: /* 803ACCA0 003A9C00 A0 13 00 0C */ lhz r0, 0xc(r19) /* 803ACCA4 003A9C04 60 00 00 04 */ ori r0, r0, 4 /* 803ACCA8 003A9C08 B0 13 00 0C */ sth r0, 0xc(r19) /* 803ACCAC 003A9C0C 48 00 00 10 */ b lbl_803ACCBC lbl_803ACCB0: /* 803ACCB0 003A9C10 A0 13 00 0C */ lhz r0, 0xc(r19) /* 803ACCB4 003A9C14 54 00 07 B8 */ rlwinm r0, r0, 0, 0x1e, 0x1c /* 803ACCB8 003A9C18 B0 13 00 0C */ sth r0, 0xc(r19) lbl_803ACCBC: /* 803ACCBC 003A9C1C 80 1D 00 24 */ lwz r0, 0x24(r29) /* 803ACCC0 003A9C20 54 00 05 AD */ rlwinm. r0, r0, 0, 0x16, 0x16 /* 803ACCC4 003A9C24 41 82 00 14 */ beq lbl_803ACCD8 /* 803ACCC8 003A9C28 A0 1D 00 D0 */ lhz r0, 0xd0(r29) /* 803ACCCC 003A9C2C B0 13 00 40 */ sth r0, 0x40(r19) /* 803ACCD0 003A9C30 A0 1D 00 D2 */ lhz r0, 0xd2(r29) /* 803ACCD4 003A9C34 B0 13 00 42 */ sth r0, 0x42(r19) lbl_803ACCD8: /* 803ACCD8 003A9C38 80 1D 00 24 */ lwz r0, 0x24(r29) /* 803ACCDC 003A9C3C 54 00 05 EF */ rlwinm. r0, r0, 0, 0x17, 0x17 /* 803ACCE0 003A9C40 41 82 00 0C */ beq lbl_803ACCEC /* 803ACCE4 003A9C44 A0 1D 00 CC */ lhz r0, 0xcc(r29) /* 803ACCE8 003A9C48 B0 13 00 08 */ sth r0, 8(r19) lbl_803ACCEC: /* 803ACCEC 003A9C4C 80 1D 00 24 */ lwz r0, 0x24(r29) /* 803ACCF0 003A9C50 54 00 06 31 */ rlwinm. r0, r0, 0, 0x18, 0x18 /* 803ACCF4 003A9C54 41 82 00 0C */ beq lbl_803ACD00 /* 803ACCF8 003A9C58 A0 1D 00 CE */ lhz r0, 0xce(r29) /* 803ACCFC 003A9C5C B0 13 00 0A */ sth r0, 0xa(r19) lbl_803ACD00: /* 803ACD00 003A9C60 A0 93 00 7A */ lhz r4, 0x7a(r19) /* 803ACD04 003A9C64 38 00 00 00 */ li r0, 0 /* 803ACD08 003A9C68 A0 73 00 7C */ lhz r3, 0x7c(r19) /* 803ACD0C 003A9C6C 3B 60 00 00 */ li r27, 0 /* 803ACD10 003A9C70 50 83 80 1E */ rlwimi r3, r4, 0x10, 0, 0xf /* 803ACD14 003A9C74 90 01 00 20 */ stw r0, 0x20(r1) /* 803ACD18 003A9C78 90 7D 00 20 */ stw r3, 0x20(r29) lbl_803ACD1C: /* 803ACD1C 003A9C7C 57 60 15 BA */ rlwinm r0, r27, 2, 0x16, 0x1d /* 803ACD20 003A9C80 57 74 06 3E */ clrlwi r20, r27, 0x18 /* 803ACD24 003A9C84 7E 3D 02 14 */ add r17, r29, r0 /* 803ACD28 003A9C88 80 11 00 24 */ lwz r0, 0x24(r17) /* 803ACD2C 003A9C8C 54 00 06 73 */ rlwinm. r0, r0, 0, 0x19, 0x19 /* 803ACD30 003A9C90 41 82 00 0C */ beq lbl_803ACD3C /* 803ACD34 003A9C94 38 7D 00 A4 */ addi r3, r29, 0xa4 /* 803ACD38 003A9C98 4B FF C9 15 */ bl adsrRelease lbl_803ACD3C: /* 803ACD3C 003A9C9C 80 11 00 24 */ lwz r0, 0x24(r17) /* 803ACD40 003A9CA0 54 00 07 39 */ rlwinm. r0, r0, 0, 0x1c, 0x1c /* 803ACD44 003A9CA4 41 82 00 20 */ beq lbl_803ACD64 /* 803ACD48 003A9CA8 80 11 00 38 */ lwz r0, 0x38(r17) /* 803ACD4C 003A9CAC 54 00 84 3E */ srwi r0, r0, 0x10 /* 803ACD50 003A9CB0 B0 13 00 A6 */ sth r0, 0xa6(r19) /* 803ACD54 003A9CB4 80 11 00 38 */ lwz r0, 0x38(r17) /* 803ACD58 003A9CB8 B0 13 00 A8 */ sth r0, 0xa8(r19) /* 803ACD5C 003A9CBC 80 11 00 38 */ lwz r0, 0x38(r17) /* 803ACD60 003A9CC0 90 1D 00 E0 */ stw r0, 0xe0(r29) lbl_803ACD64: /* 803ACD64 003A9CC4 38 7D 00 A4 */ addi r3, r29, 0xa4 /* 803ACD68 003A9CC8 38 93 00 64 */ addi r4, r19, 0x64 /* 803ACD6C 003A9CCC 38 B3 00 66 */ addi r5, r19, 0x66 /* 803ACD70 003A9CD0 4B FF CA 45 */ bl adsrHandle /* 803ACD74 003A9CD4 A2 B3 00 66 */ lhz r21, 0x66(r19) /* 803ACD78 003A9CD8 38 80 00 00 */ li r4, 0 /* 803ACD7C 003A9CDC 57 60 06 3F */ clrlwi. r0, r27, 0x18 /* 803ACD80 003A9CE0 7C 71 1B 78 */ mr r17, r3 /* 803ACD84 003A9CE4 B0 93 00 44 */ sth r4, 0x44(r19) /* 803ACD88 003A9CE8 B0 93 00 46 */ sth r4, 0x46(r19) /* 803ACD8C 003A9CEC B0 93 00 48 */ sth r4, 0x48(r19) /* 803ACD90 003A9CF0 B0 93 00 4A */ sth r4, 0x4a(r19) /* 803ACD94 003A9CF4 B0 93 00 4C */ sth r4, 0x4c(r19) /* 803ACD98 003A9CF8 82 DD 00 04 */ lwz r22, 4(r29) /* 803ACD9C 003A9CFC 41 82 00 2C */ beq lbl_803ACDC8 /* 803ACDA0 003A9D00 38 00 00 07 */ li r0, 7 /* 803ACDA4 003A9D04 56 83 08 3C */ slwi r3, r20, 1 /* 803ACDA8 003A9D08 B0 16 00 00 */ sth r0, 0(r22) /* 803ACDAC 003A9D0C 38 00 00 01 */ li r0, 1 /* 803ACDB0 003A9D10 38 83 00 44 */ addi r4, r3, 0x44 /* 803ACDB4 003A9D14 B0 16 00 02 */ sth r0, 2(r22) /* 803ACDB8 003A9D18 3A D6 00 04 */ addi r22, r22, 4 /* 803ACDBC 003A9D1C 7C 73 22 2E */ lhzx r3, r19, r4 /* 803ACDC0 003A9D20 38 03 00 01 */ addi r0, r3, 1 /* 803ACDC4 003A9D24 7C 13 23 2E */ sthx r0, r19, r4 lbl_803ACDC8: /* 803ACDC8 003A9D28 7F A3 EB 78 */ mr r3, r29 /* 803ACDCC 003A9D2C 4B FF E6 A9 */ bl sal_update_hostplayinfo /* 803ACDD0 003A9D30 38 1B 00 01 */ addi r0, r27, 1 /* 803ACDD4 003A9D34 3B E1 00 10 */ addi r31, r1, 0x10 /* 803ACDD8 003A9D38 54 1B 06 3E */ clrlwi r27, r0, 0x18 /* 803ACDDC 003A9D3C 48 00 01 F0 */ b lbl_803ACFCC lbl_803ACDE0: /* 803ACDE0 003A9D40 28 11 00 00 */ cmplwi r17, 0 /* 803ACDE4 003A9D44 41 82 00 44 */ beq lbl_803ACE28 /* 803ACDE8 003A9D48 38 00 00 07 */ li r0, 7 /* 803ACDEC 003A9D4C 57 63 0D FC */ rlwinm r3, r27, 1, 0x17, 0x1e /* 803ACDF0 003A9D50 B0 16 00 00 */ sth r0, 0(r22) /* 803ACDF4 003A9D54 38 00 00 00 */ li r0, 0 /* 803ACDF8 003A9D58 38 C3 00 44 */ addi r6, r3, 0x44 /* 803ACDFC 003A9D5C 7F A3 EB 78 */ mr r3, r29 /* 803ACE00 003A9D60 B0 16 00 02 */ sth r0, 2(r22) /* 803ACE04 003A9D64 38 80 00 00 */ li r4, 0 /* 803ACE08 003A9D68 3A D6 00 04 */ addi r22, r22, 4 /* 803ACE0C 003A9D6C 7C B3 32 2E */ lhzx r5, r19, r6 /* 803ACE10 003A9D70 38 05 00 01 */ addi r0, r5, 1 /* 803ACE14 003A9D74 7C 13 33 2E */ sthx r0, r19, r6 /* 803ACE18 003A9D78 48 00 0E 69 */ bl salSynthSendMessage /* 803ACE1C 003A9D7C 7F A3 EB 78 */ mr r3, r29 /* 803ACE20 003A9D80 48 00 0F 45 */ bl salDeactivateVoice /* 803ACE24 003A9D84 48 00 01 B4 */ b lbl_803ACFD8 lbl_803ACE28: /* 803ACE28 003A9D88 57 7E 0D FC */ rlwinm r30, r27, 1, 0x17, 0x1e /* 803ACE2C 003A9D8C 57 64 06 3E */ clrlwi r4, r27, 0x18 /* 803ACE30 003A9D90 7C 1F F2 2E */ lhzx r0, r31, r30 /* 803ACE34 003A9D94 28 00 00 00 */ cmplwi r0, 0 /* 803ACE38 003A9D98 41 82 00 64 */ beq lbl_803ACE9C /* 803ACE3C 003A9D9C 3C A0 80 3E */ lis r5, lbl_803D8AA8@ha /* 803ACE40 003A9DA0 38 7E 00 44 */ addi r3, r30, 0x44 /* 803ACE44 003A9DA4 39 05 8A A8 */ addi r8, r5, lbl_803D8AA8@l /* 803ACE48 003A9DA8 38 A0 00 00 */ li r5, 0 /* 803ACE4C 003A9DAC 38 00 00 01 */ li r0, 1 /* 803ACE50 003A9DB0 38 E0 00 00 */ li r7, 0 /* 803ACE54 003A9DB4 48 00 00 3C */ b lbl_803ACE90 lbl_803ACE58: /* 803ACE58 003A9DB8 54 A9 06 3E */ clrlwi r9, r5, 0x18 /* 803ACE5C 003A9DBC 7C DF F2 2E */ lhzx r6, r31, r30 /* 803ACE60 003A9DC0 7C 09 48 30 */ slw r9, r0, r9 /* 803ACE64 003A9DC4 7D 26 30 39 */ and. r6, r9, r6 /* 803ACE68 003A9DC8 41 82 00 24 */ beq lbl_803ACE8C /* 803ACE6C 003A9DCC 54 A6 0D FC */ rlwinm r6, r5, 1, 0x17, 0x1e /* 803ACE70 003A9DD0 7C C8 32 2E */ lhzx r6, r8, r6 /* 803ACE74 003A9DD4 B0 D6 00 00 */ sth r6, 0(r22) /* 803ACE78 003A9DD8 B0 F6 00 02 */ sth r7, 2(r22) /* 803ACE7C 003A9DDC 3A D6 00 04 */ addi r22, r22, 4 /* 803ACE80 003A9DE0 7C D3 1A 2E */ lhzx r6, r19, r3 /* 803ACE84 003A9DE4 38 C6 00 01 */ addi r6, r6, 1 /* 803ACE88 003A9DE8 7C D3 1B 2E */ sthx r6, r19, r3 lbl_803ACE8C: /* 803ACE8C 003A9DEC 38 A5 00 01 */ addi r5, r5, 1 lbl_803ACE90: /* 803ACE90 003A9DF0 54 A6 06 3E */ clrlwi r6, r5, 0x18 /* 803ACE94 003A9DF4 28 06 00 09 */ cmplwi r6, 9 /* 803ACE98 003A9DF8 41 80 FF C0 */ blt lbl_803ACE58 lbl_803ACE9C: /* 803ACE9C 003A9DFC 54 80 10 3A */ slwi r0, r4, 2 /* 803ACEA0 003A9E00 7E 3D 02 14 */ add r17, r29, r0 /* 803ACEA4 003A9E04 80 71 00 24 */ lwz r3, 0x24(r17) /* 803ACEA8 003A9E08 54 60 06 B5 */ rlwinm. r0, r3, 0, 0x1a, 0x1a /* 803ACEAC 003A9E0C 41 82 00 1C */ beq lbl_803ACEC8 /* 803ACEB0 003A9E10 38 7D 00 A4 */ addi r3, r29, 0xa4 /* 803ACEB4 003A9E14 38 80 00 0A */ li r4, 0xa /* 803ACEB8 003A9E18 4B FF C6 45 */ bl adsrStartRelease /* 803ACEBC 003A9E1C 38 00 00 01 */ li r0, 1 /* 803ACEC0 003A9E20 98 1D 00 ED */ stb r0, 0xed(r29) /* 803ACEC4 003A9E24 48 00 00 6C */ b lbl_803ACF30 lbl_803ACEC8: /* 803ACEC8 003A9E28 88 1D 00 ED */ lbz r0, 0xed(r29) /* 803ACECC 003A9E2C 28 00 00 00 */ cmplwi r0, 0 /* 803ACED0 003A9E30 40 82 00 60 */ bne lbl_803ACF30 /* 803ACED4 003A9E34 54 60 06 73 */ rlwinm. r0, r3, 0, 0x19, 0x19 /* 803ACED8 003A9E38 41 82 00 0C */ beq lbl_803ACEE4 /* 803ACEDC 003A9E3C 38 7D 00 A4 */ addi r3, r29, 0xa4 /* 803ACEE0 003A9E40 4B FF C7 6D */ bl adsrRelease lbl_803ACEE4: /* 803ACEE4 003A9E44 80 11 00 24 */ lwz r0, 0x24(r17) /* 803ACEE8 003A9E48 54 00 07 39 */ rlwinm. r0, r0, 0, 0x1c, 0x1c /* 803ACEEC 003A9E4C 41 82 00 44 */ beq lbl_803ACF30 /* 803ACEF0 003A9E50 38 60 00 53 */ li r3, 0x53 /* 803ACEF4 003A9E54 38 00 00 54 */ li r0, 0x54 /* 803ACEF8 003A9E58 B0 76 00 00 */ sth r3, 0(r22) /* 803ACEFC 003A9E5C 38 9E 00 44 */ addi r4, r30, 0x44 /* 803ACF00 003A9E60 80 71 00 38 */ lwz r3, 0x38(r17) /* 803ACF04 003A9E64 54 63 84 3E */ srwi r3, r3, 0x10 /* 803ACF08 003A9E68 B0 76 00 02 */ sth r3, 2(r22) /* 803ACF0C 003A9E6C B0 16 00 04 */ sth r0, 4(r22) /* 803ACF10 003A9E70 80 11 00 38 */ lwz r0, 0x38(r17) /* 803ACF14 003A9E74 B0 16 00 06 */ sth r0, 6(r22) /* 803ACF18 003A9E78 3A D6 00 08 */ addi r22, r22, 8 /* 803ACF1C 003A9E7C 7C 73 22 2E */ lhzx r3, r19, r4 /* 803ACF20 003A9E80 38 03 00 02 */ addi r0, r3, 2 /* 803ACF24 003A9E84 7C 13 23 2E */ sthx r0, r19, r4 /* 803ACF28 003A9E88 80 11 00 38 */ lwz r0, 0x38(r17) /* 803ACF2C 003A9E8C 90 1D 00 E0 */ stw r0, 0xe0(r29) lbl_803ACF30: /* 803ACF30 003A9E90 82 9D 00 B4 */ lwz r20, 0xb4(r29) /* 803ACF34 003A9E94 38 7D 00 A4 */ addi r3, r29, 0xa4 /* 803ACF38 003A9E98 38 81 00 0E */ addi r4, r1, 0xe /* 803ACF3C 003A9E9C 38 A1 00 0C */ addi r5, r1, 0xc /* 803ACF40 003A9EA0 4B FF C8 75 */ bl adsrHandle /* 803ACF44 003A9EA4 A0 01 00 0C */ lhz r0, 0xc(r1) /* 803ACF48 003A9EA8 56 A4 04 3E */ clrlwi r4, r21, 0x10 /* 803ACF4C 003A9EAC 7C 71 1B 78 */ mr r17, r3 /* 803ACF50 003A9EB0 7C 04 00 40 */ cmplw r4, r0 /* 803ACF54 003A9EB4 40 82 00 34 */ bne lbl_803ACF88 /* 803ACF58 003A9EB8 2C 14 00 00 */ cmpwi r20, 0 /* 803ACF5C 003A9EBC 41 82 00 64 */ beq lbl_803ACFC0 /* 803ACF60 003A9EC0 38 00 00 32 */ li r0, 0x32 /* 803ACF64 003A9EC4 38 9E 00 44 */ addi r4, r30, 0x44 /* 803ACF68 003A9EC8 B0 16 00 00 */ sth r0, 0(r22) /* 803ACF6C 003A9ECC A0 01 00 0E */ lhz r0, 0xe(r1) /* 803ACF70 003A9ED0 B0 16 00 02 */ sth r0, 2(r22) /* 803ACF74 003A9ED4 3A D6 00 04 */ addi r22, r22, 4 /* 803ACF78 003A9ED8 7C 73 22 2E */ lhzx r3, r19, r4 /* 803ACF7C 003A9EDC 38 03 00 01 */ addi r0, r3, 1 /* 803ACF80 003A9EE0 7C 13 23 2E */ sthx r0, r19, r4 /* 803ACF84 003A9EE4 48 00 00 3C */ b lbl_803ACFC0 lbl_803ACF88: /* 803ACF88 003A9EE8 38 60 00 32 */ li r3, 0x32 /* 803ACF8C 003A9EEC 38 00 00 33 */ li r0, 0x33 /* 803ACF90 003A9EF0 B0 76 00 00 */ sth r3, 0(r22) /* 803ACF94 003A9EF4 38 9E 00 44 */ addi r4, r30, 0x44 /* 803ACF98 003A9EF8 A0 61 00 0E */ lhz r3, 0xe(r1) /* 803ACF9C 003A9EFC B0 76 00 02 */ sth r3, 2(r22) /* 803ACFA0 003A9F00 B0 16 00 04 */ sth r0, 4(r22) /* 803ACFA4 003A9F04 A0 01 00 0C */ lhz r0, 0xc(r1) /* 803ACFA8 003A9F08 B0 16 00 06 */ sth r0, 6(r22) /* 803ACFAC 003A9F0C 3A D6 00 08 */ addi r22, r22, 8 /* 803ACFB0 003A9F10 7C 73 22 2E */ lhzx r3, r19, r4 /* 803ACFB4 003A9F14 38 03 00 02 */ addi r0, r3, 2 /* 803ACFB8 003A9F18 7C 13 23 2E */ sthx r0, r19, r4 /* 803ACFBC 003A9F1C A2 A1 00 0C */ lhz r21, 0xc(r1) lbl_803ACFC0: /* 803ACFC0 003A9F20 7F A3 EB 78 */ mr r3, r29 /* 803ACFC4 003A9F24 4B FF E4 B1 */ bl sal_update_hostplayinfo /* 803ACFC8 003A9F28 3B 7B 00 01 */ addi r27, r27, 1 lbl_803ACFCC: /* 803ACFCC 003A9F2C 57 60 06 3E */ clrlwi r0, r27, 0x18 /* 803ACFD0 003A9F30 28 00 00 05 */ cmplwi r0, 5 /* 803ACFD4 003A9F34 41 80 FE 0C */ blt lbl_803ACDE0 lbl_803ACFD8: /* 803ACFD8 003A9F38 28 11 00 00 */ cmplwi r17, 0 /* 803ACFDC 003A9F3C 41 82 00 18 */ beq lbl_803ACFF4 /* 803ACFE0 003A9F40 7F A3 EB 78 */ mr r3, r29 /* 803ACFE4 003A9F44 38 80 00 00 */ li r4, 0 /* 803ACFE8 003A9F48 48 00 0C 99 */ bl salSynthSendMessage /* 803ACFEC 003A9F4C 7F A3 EB 78 */ mr r3, r29 /* 803ACFF0 003A9F50 48 00 0D 75 */ bl salDeactivateVoice lbl_803ACFF4: /* 803ACFF4 003A9F54 80 7D 00 04 */ lwz r3, 4(r29) /* 803ACFF8 003A9F58 7C 83 B0 50 */ subf r4, r3, r22 /* 803ACFFC 003A9F5C 4B FD 1B 41 */ bl DCStoreRangeNoSync /* 803AD000 003A9F60 A0 13 00 0C */ lhz r0, 0xc(r19) /* 803AD004 003A9F64 3C 60 80 3E */ lis r3, lbl_803D8A68@ha /* 803AD008 003A9F68 A0 93 00 A6 */ lhz r4, 0xa6(r19) /* 803AD00C 003A9F6C 38 63 8A 68 */ addi r3, r3, lbl_803D8A68@l /* 803AD010 003A9F70 54 00 08 3C */ slwi r0, r0, 1 /* 803AD014 003A9F74 7C 03 02 2E */ lhzx r0, r3, r0 /* 803AD018 003A9F78 2C 04 00 02 */ cmpwi r4, 2 /* 803AD01C 003A9F7C 7E E0 BA 14 */ add r23, r0, r23 /* 803AD020 003A9F80 3A F7 04 FE */ addi r23, r23, 0x4fe /* 803AD024 003A9F84 40 80 00 34 */ bge lbl_803AD058 /* 803AD028 003A9F88 2C 04 00 00 */ cmpwi r4, 0 /* 803AD02C 003A9F8C 40 80 00 08 */ bge lbl_803AD034 /* 803AD030 003A9F90 48 00 00 28 */ b lbl_803AD058 lbl_803AD034: /* 803AD034 003A9F94 1C 84 00 06 */ mulli r4, r4, 6 /* 803AD038 003A9F98 A0 13 00 08 */ lhz r0, 8(r19) /* 803AD03C 003A9F9C 3C 60 80 3F */ lis r3, lbl_803F3FA8@ha /* 803AD040 003A9FA0 54 00 08 3C */ slwi r0, r0, 1 /* 803AD044 003A9FA4 38 63 3F A8 */ addi r3, r3, lbl_803F3FA8@l /* 803AD048 003A9FA8 7C 63 22 14 */ add r3, r3, r4 /* 803AD04C 003A9FAC 7C 03 02 2E */ lhzx r0, r3, r0 /* 803AD050 003A9FB0 7E F7 02 14 */ add r23, r23, r0 /* 803AD054 003A9FB4 48 00 00 20 */ b lbl_803AD074 lbl_803AD058: /* 803AD058 003A9FB8 A0 93 00 08 */ lhz r4, 8(r19) /* 803AD05C 003A9FBC 3C 60 80 3F */ lis r3, lbl_803F3FA8@ha /* 803AD060 003A9FC0 38 03 3F A8 */ addi r0, r3, lbl_803F3FA8@l /* 803AD064 003A9FC4 54 83 08 3C */ slwi r3, r4, 1 /* 803AD068 003A9FC8 7C 60 1A 14 */ add r3, r0, r3 /* 803AD06C 003A9FCC A0 03 00 0C */ lhz r0, 0xc(r3) /* 803AD070 003A9FD0 7E F7 02 14 */ add r23, r23, r0 lbl_803AD074: /* 803AD074 003A9FD4 3C 80 80 00 */ lis r4, 0x800000F8@ha /* 803AD078 003A9FD8 3C 60 51 EC */ lis r3, 0x51EB851F@ha /* 803AD07C 003A9FDC 80 04 00 F8 */ lwz r0, 0x800000F8@l(r4) /* 803AD080 003A9FE0 38 63 85 1F */ addi r3, r3, 0x51EB851F@l /* 803AD084 003A9FE4 A0 93 00 44 */ lhz r4, 0x44(r19) /* 803AD088 003A9FE8 7C 03 00 16 */ mulhwu r0, r3, r0 /* 803AD08C 003A9FEC A0 73 00 46 */ lhz r3, 0x46(r19) /* 803AD090 003A9FF0 54 87 10 3A */ slwi r7, r4, 2 /* 803AD094 003A9FF4 A0 B3 00 48 */ lhz r5, 0x48(r19) /* 803AD098 003A9FF8 A0 93 00 4A */ lhz r4, 0x4a(r19) /* 803AD09C 003A9FFC 54 66 10 3A */ slwi r6, r3, 2 /* 803AD0A0 003AA000 7E F7 3A 14 */ add r23, r23, r7 /* 803AD0A4 003AA004 A0 73 00 4C */ lhz r3, 0x4c(r19) /* 803AD0A8 003AA008 7E F7 32 14 */ add r23, r23, r6 /* 803AD0AC 003AA00C 54 A5 10 3A */ slwi r5, r5, 2 /* 803AD0B0 003AA010 7E F7 2A 14 */ add r23, r23, r5 /* 803AD0B4 003AA014 54 84 10 3A */ slwi r4, r4, 2 /* 803AD0B8 003AA018 7E F7 22 14 */ add r23, r23, r4 /* 803AD0BC 003AA01C 54 63 10 3A */ slwi r3, r3, 2 /* 803AD0C0 003AA020 7E F7 1A 14 */ add r23, r23, r3 /* 803AD0C4 003AA024 54 00 C9 FE */ srwi r0, r0, 7 /* 803AD0C8 003AA028 7C 17 00 40 */ cmplw r23, r0 /* 803AD0CC 003AA02C 40 81 01 18 */ ble lbl_803AD1E4 /* 803AD0D0 003AA030 80 01 00 20 */ lwz r0, 0x20(r1) /* 803AD0D4 003AA034 28 00 00 00 */ cmplwi r0, 0 /* 803AD0D8 003AA038 40 82 00 18 */ bne lbl_803AD0F0 /* 803AD0DC 003AA03C 28 11 00 00 */ cmplwi r17, 0 /* 803AD0E0 003AA040 40 82 00 10 */ bne lbl_803AD0F0 /* 803AD0E4 003AA044 7E 03 83 78 */ mr r3, r16 /* 803AD0E8 003AA048 7F A4 EB 78 */ mr r4, r29 /* 803AD0EC 003AA04C 4B FF E4 A9 */ bl sub_803ab594 lbl_803AD0F0: /* 803AD0F0 003AA050 7F A3 EB 78 */ mr r3, r29 /* 803AD0F4 003AA054 48 00 0C 71 */ bl salDeactivateVoice /* 803AD0F8 003AA058 7F A3 EB 78 */ mr r3, r29 /* 803AD0FC 003AA05C 38 80 00 01 */ li r4, 1 /* 803AD100 003AA060 48 00 0B 81 */ bl salSynthSendMessage /* 803AD104 003AA064 3C 60 80 56 */ lis r3, "voices$217"@ha /* 803AD108 003AA068 3B 9C FF FF */ addi r28, r28, -1 /* 803AD10C 003AA06C 57 84 10 3A */ slwi r4, r28, 2 /* 803AD110 003AA070 38 03 F8 40 */ addi r0, r3, "voices$217"@l /* 803AD114 003AA074 7D C0 22 14 */ add r14, r0, r4 /* 803AD118 003AA078 48 00 00 38 */ b lbl_803AD150 lbl_803AD11C: /* 803AD11C 003AA07C 80 8E FF FC */ lwz r4, -4(r14) /* 803AD120 003AA080 88 04 00 EC */ lbz r0, 0xec(r4) /* 803AD124 003AA084 28 00 00 02 */ cmplwi r0, 2 /* 803AD128 003AA088 40 82 00 0C */ bne lbl_803AD134 /* 803AD12C 003AA08C 7E 03 83 78 */ mr r3, r16 /* 803AD130 003AA090 4B FF E4 65 */ bl sub_803ab594 lbl_803AD134: /* 803AD134 003AA094 80 6E FF FC */ lwz r3, -4(r14) /* 803AD138 003AA098 48 00 0C 2D */ bl salDeactivateVoice /* 803AD13C 003AA09C 80 6E FF FC */ lwz r3, -4(r14) /* 803AD140 003AA0A0 38 80 00 01 */ li r4, 1 /* 803AD144 003AA0A4 48 00 0B 3D */ bl salSynthSendMessage /* 803AD148 003AA0A8 39 CE FF FC */ addi r14, r14, -4 /* 803AD14C 003AA0AC 3B 9C FF FF */ addi r28, r28, -1 lbl_803AD150: /* 803AD150 003AA0B0 2C 1C 00 00 */ cmpwi r28, 0 /* 803AD154 003AA0B4 41 81 FF C8 */ bgt lbl_803AD11C /* 803AD158 003AA0B8 88 61 00 24 */ lbz r3, 0x24(r1) /* 803AD15C 003AA0BC 38 03 00 01 */ addi r0, r3, 1 /* 803AD160 003AA0C0 3C 60 80 56 */ lis r3, dspStudio@ha /* 803AD164 003AA0C4 54 0E 06 3E */ clrlwi r14, r0, 0x18 /* 803AD168 003AA0C8 3A 23 F2 60 */ addi r17, r3, dspStudio@l /* 803AD16C 003AA0CC 48 00 00 64 */ b lbl_803AD1D0 lbl_803AD170: /* 803AD170 003AA0D0 55 C0 06 3E */ clrlwi r0, r14, 0x18 /* 803AD174 003AA0D4 1C 00 00 BC */ mulli r0, r0, 0xbc /* 803AD178 003AA0D8 7E 71 02 14 */ add r19, r17, r0 /* 803AD17C 003AA0DC 88 13 00 50 */ lbz r0, 0x50(r19) /* 803AD180 003AA0E0 28 00 00 01 */ cmplwi r0, 1 /* 803AD184 003AA0E4 40 82 00 48 */ bne lbl_803AD1CC /* 803AD188 003AA0E8 82 93 00 48 */ lwz r20, 0x48(r19) /* 803AD18C 003AA0EC 48 00 00 38 */ b lbl_803AD1C4 lbl_803AD190: /* 803AD190 003AA0F0 88 14 00 EC */ lbz r0, 0xec(r20) /* 803AD194 003AA0F4 82 B4 00 0C */ lwz r21, 0xc(r20) /* 803AD198 003AA0F8 28 00 00 02 */ cmplwi r0, 2 /* 803AD19C 003AA0FC 40 82 00 10 */ bne lbl_803AD1AC /* 803AD1A0 003AA100 7E 63 9B 78 */ mr r3, r19 /* 803AD1A4 003AA104 7E 84 A3 78 */ mr r4, r20 /* 803AD1A8 003AA108 4B FF E3 ED */ bl sub_803ab594 lbl_803AD1AC: /* 803AD1AC 003AA10C 7E 83 A3 78 */ mr r3, r20 /* 803AD1B0 003AA110 48 00 0B B5 */ bl salDeactivateVoice /* 803AD1B4 003AA114 7E 83 A3 78 */ mr r3, r20 /* 803AD1B8 003AA118 38 80 00 01 */ li r4, 1 /* 803AD1BC 003AA11C 48 00 0A C5 */ bl salSynthSendMessage /* 803AD1C0 003AA120 7E B4 AB 78 */ mr r20, r21 lbl_803AD1C4: /* 803AD1C4 003AA124 28 14 00 00 */ cmplwi r20, 0 /* 803AD1C8 003AA128 40 82 FF C8 */ bne lbl_803AD190 lbl_803AD1CC: /* 803AD1CC 003AA12C 39 CE 00 01 */ addi r14, r14, 1 lbl_803AD1D0: /* 803AD1D0 003AA130 88 0D AF 8C */ lbz r0, salMaxStudioNum@sda21(r13) /* 803AD1D4 003AA134 55 C3 06 3E */ clrlwi r3, r14, 0x18 /* 803AD1D8 003AA138 7C 03 00 40 */ cmplw r3, r0 /* 803AD1DC 003AA13C 41 80 FF 94 */ blt lbl_803AD170 /* 803AD1E0 003AA140 48 00 01 18 */ b lbl_803AD2F8 lbl_803AD1E4: /* 803AD1E4 003AA144 28 12 00 00 */ cmplwi r18, 0 /* 803AD1E8 003AA148 40 82 00 DC */ bne lbl_803AD2C4 /* 803AD1EC 003AA14C 80 AD AF 38 */ lwz r5, dspCmdPtr@sda21(r13) /* 803AD1F0 003AA150 80 6D AF 34 */ lwz r3, dspCmdMaxPtr@sda21(r13) /* 803AD1F4 003AA154 38 85 00 06 */ addi r4, r5, 6 /* 803AD1F8 003AA158 38 03 FF F8 */ addi r0, r3, -8 /* 803AD1FC 003AA15C 7C 04 00 40 */ cmplw r4, r0 /* 803AD200 003AA160 40 81 00 8C */ ble lbl_803AD28C /* 803AD204 003AA164 38 00 00 0D */ li r0, 0xd /* 803AD208 003AA168 B0 05 00 00 */ sth r0, 0(r5) /* 803AD20C 003AA16C 80 0D AF 34 */ lwz r0, dspCmdMaxPtr@sda21(r13) /* 803AD210 003AA170 80 6D AF 38 */ lwz r3, dspCmdPtr@sda21(r13) /* 803AD214 003AA174 54 00 84 3E */ srwi r0, r0, 0x10 /* 803AD218 003AA178 B0 03 00 02 */ sth r0, 2(r3) /* 803AD21C 003AA17C 80 0D AF 34 */ lwz r0, dspCmdMaxPtr@sda21(r13) /* 803AD220 003AA180 80 6D AF 38 */ lwz r3, dspCmdPtr@sda21(r13) /* 803AD224 003AA184 B0 03 00 04 */ sth r0, 4(r3) /* 803AD228 003AA188 80 6D AF 38 */ lwz r3, dspCmdPtr@sda21(r13) /* 803AD22C 003AA18C 80 AD AF 24 */ lwz r5, dspCmdLastLoad@sda21(r13) /* 803AD230 003AA190 80 8D AF 30 */ lwz r4, dspCmdCurBase@sda21(r13) /* 803AD234 003AA194 38 03 00 08 */ addi r0, r3, 8 /* 803AD238 003AA198 28 05 00 00 */ cmplwi r5, 0 /* 803AD23C 003AA19C 7C 64 00 50 */ subf r3, r4, r0 /* 803AD240 003AA1A0 38 03 00 03 */ addi r0, r3, 3 /* 803AD244 003AA1A4 54 11 04 3A */ rlwinm r17, r0, 0, 0x10, 0x1d /* 803AD248 003AA1A8 41 82 00 18 */ beq lbl_803AD260 /* 803AD24C 003AA1AC B2 25 00 06 */ sth r17, 6(r5) /* 803AD250 003AA1B0 80 6D AF 28 */ lwz r3, dspCmdLastBase@sda21(r13) /* 803AD254 003AA1B4 A0 8D AF 2C */ lhz r4, dspCmdLastSize@sda21(r13) /* 803AD258 003AA1B8 4B FD 18 E5 */ bl DCStoreRangeNoSync /* 803AD25C 003AA1BC 48 00 00 08 */ b lbl_803AD264 lbl_803AD260: /* 803AD260 003AA1C0 B2 2D AF 3C */ sth r17, dspCmdFirstSize@sda21(r13) lbl_803AD264: /* 803AD264 003AA1C4 80 6D AF 34 */ lwz r3, dspCmdMaxPtr@sda21(r13) /* 803AD268 003AA1C8 80 AD AF 38 */ lwz r5, dspCmdPtr@sda21(r13) /* 803AD26C 003AA1CC 80 8D AF 30 */ lwz r4, dspCmdCurBase@sda21(r13) /* 803AD270 003AA1D0 38 03 01 80 */ addi r0, r3, 0x180 /* 803AD274 003AA1D4 90 AD AF 24 */ stw r5, dspCmdLastLoad@sda21(r13) /* 803AD278 003AA1D8 B2 2D AF 2C */ sth r17, dspCmdLastSize@sda21(r13) /* 803AD27C 003AA1DC 90 8D AF 28 */ stw r4, dspCmdLastBase@sda21(r13) /* 803AD280 003AA1E0 90 6D AF 38 */ stw r3, dspCmdPtr@sda21(r13) /* 803AD284 003AA1E4 90 6D AF 30 */ stw r3, dspCmdCurBase@sda21(r13) /* 803AD288 003AA1E8 90 0D AF 34 */ stw r0, dspCmdMaxPtr@sda21(r13) lbl_803AD28C: /* 803AD28C 003AA1EC 80 6D AF 38 */ lwz r3, dspCmdPtr@sda21(r13) /* 803AD290 003AA1F0 38 00 00 02 */ li r0, 2 /* 803AD294 003AA1F4 56 64 84 3E */ srwi r4, r19, 0x10 /* 803AD298 003AA1F8 B0 03 00 00 */ sth r0, 0(r3) /* 803AD29C 003AA1FC 38 00 00 01 */ li r0, 1 /* 803AD2A0 003AA200 80 6D AF 38 */ lwz r3, dspCmdPtr@sda21(r13) /* 803AD2A4 003AA204 90 01 00 1C */ stw r0, 0x1c(r1) /* 803AD2A8 003AA208 B0 83 00 02 */ sth r4, 2(r3) /* 803AD2AC 003AA20C 80 6D AF 38 */ lwz r3, dspCmdPtr@sda21(r13) /* 803AD2B0 003AA210 B2 63 00 04 */ sth r19, 4(r3) /* 803AD2B4 003AA214 80 6D AF 38 */ lwz r3, dspCmdPtr@sda21(r13) /* 803AD2B8 003AA218 38 03 00 06 */ addi r0, r3, 6 /* 803AD2BC 003AA21C 90 0D AF 38 */ stw r0, dspCmdPtr@sda21(r13) /* 803AD2C0 003AA220 48 00 00 24 */ b lbl_803AD2E4 lbl_803AD2C4: /* 803AD2C4 003AA224 56 60 84 3E */ srwi r0, r19, 0x10 /* 803AD2C8 003AA228 7E 43 93 78 */ mr r3, r18 /* 803AD2CC 003AA22C B0 12 00 00 */ sth r0, 0(r18) /* 803AD2D0 003AA230 38 00 00 01 */ li r0, 1 /* 803AD2D4 003AA234 38 80 00 BC */ li r4, 0xbc /* 803AD2D8 003AA238 90 01 00 1C */ stw r0, 0x1c(r1) /* 803AD2DC 003AA23C B2 72 00 02 */ sth r19, 2(r18) /* 803AD2E0 003AA240 4B FD 18 31 */ bl DCFlushRangeNoSync lbl_803AD2E4: /* 803AD2E4 003AA244 7E 72 9B 78 */ mr r18, r19 lbl_803AD2E8: /* 803AD2E8 003AA248 39 CE FF FC */ addi r14, r14, -4 /* 803AD2EC 003AA24C 3B 9C FF FF */ addi r28, r28, -1 lbl_803AD2F0: /* 803AD2F0 003AA250 2C 1C 00 00 */ cmpwi r28, 0 /* 803AD2F4 003AA254 41 81 EB DC */ bgt lbl_803ABED0 lbl_803AD2F8: /* 803AD2F8 003AA258 80 01 00 1C */ lwz r0, 0x1c(r1) /* 803AD2FC 003AA25C 28 00 00 00 */ cmplwi r0, 0 /* 803AD300 003AA260 41 82 00 B8 */ beq lbl_803AD3B8 /* 803AD304 003AA264 80 AD AF 38 */ lwz r5, dspCmdPtr@sda21(r13) /* 803AD308 003AA268 80 6D AF 34 */ lwz r3, dspCmdMaxPtr@sda21(r13) /* 803AD30C 003AA26C 38 85 00 02 */ addi r4, r5, 2 /* 803AD310 003AA270 38 03 FF F8 */ addi r0, r3, -8 /* 803AD314 003AA274 7C 04 00 40 */ cmplw r4, r0 /* 803AD318 003AA278 40 81 00 8C */ ble lbl_803AD3A4 /* 803AD31C 003AA27C 38 00 00 0D */ li r0, 0xd /* 803AD320 003AA280 B0 05 00 00 */ sth r0, 0(r5) /* 803AD324 003AA284 80 0D AF 34 */ lwz r0, dspCmdMaxPtr@sda21(r13) /* 803AD328 003AA288 80 6D AF 38 */ lwz r3, dspCmdPtr@sda21(r13) /* 803AD32C 003AA28C 54 00 84 3E */ srwi r0, r0, 0x10 /* 803AD330 003AA290 B0 03 00 02 */ sth r0, 2(r3) /* 803AD334 003AA294 80 0D AF 34 */ lwz r0, dspCmdMaxPtr@sda21(r13) /* 803AD338 003AA298 80 6D AF 38 */ lwz r3, dspCmdPtr@sda21(r13) /* 803AD33C 003AA29C B0 03 00 04 */ sth r0, 4(r3) /* 803AD340 003AA2A0 80 6D AF 38 */ lwz r3, dspCmdPtr@sda21(r13) /* 803AD344 003AA2A4 80 AD AF 24 */ lwz r5, dspCmdLastLoad@sda21(r13) /* 803AD348 003AA2A8 80 8D AF 30 */ lwz r4, dspCmdCurBase@sda21(r13) /* 803AD34C 003AA2AC 38 03 00 08 */ addi r0, r3, 8 /* 803AD350 003AA2B0 28 05 00 00 */ cmplwi r5, 0 /* 803AD354 003AA2B4 7C 64 00 50 */ subf r3, r4, r0 /* 803AD358 003AA2B8 38 03 00 03 */ addi r0, r3, 3 /* 803AD35C 003AA2BC 54 0E 04 3A */ rlwinm r14, r0, 0, 0x10, 0x1d /* 803AD360 003AA2C0 41 82 00 18 */ beq lbl_803AD378 /* 803AD364 003AA2C4 B1 C5 00 06 */ sth r14, 6(r5) /* 803AD368 003AA2C8 80 6D AF 28 */ lwz r3, dspCmdLastBase@sda21(r13) /* 803AD36C 003AA2CC A0 8D AF 2C */ lhz r4, dspCmdLastSize@sda21(r13) /* 803AD370 003AA2D0 4B FD 17 CD */ bl DCStoreRangeNoSync /* 803AD374 003AA2D4 48 00 00 08 */ b lbl_803AD37C lbl_803AD378: /* 803AD378 003AA2D8 B1 CD AF 3C */ sth r14, dspCmdFirstSize@sda21(r13) lbl_803AD37C: /* 803AD37C 003AA2DC 80 6D AF 34 */ lwz r3, dspCmdMaxPtr@sda21(r13) /* 803AD380 003AA2E0 80 AD AF 38 */ lwz r5, dspCmdPtr@sda21(r13) /* 803AD384 003AA2E4 80 8D AF 30 */ lwz r4, dspCmdCurBase@sda21(r13) /* 803AD388 003AA2E8 38 03 01 80 */ addi r0, r3, 0x180 /* 803AD38C 003AA2EC 90 AD AF 24 */ stw r5, dspCmdLastLoad@sda21(r13) /* 803AD390 003AA2F0 B1 CD AF 2C */ sth r14, dspCmdLastSize@sda21(r13) /* 803AD394 003AA2F4 90 8D AF 28 */ stw r4, dspCmdLastBase@sda21(r13) /* 803AD398 003AA2F8 90 6D AF 38 */ stw r3, dspCmdPtr@sda21(r13) /* 803AD39C 003AA2FC 90 6D AF 30 */ stw r3, dspCmdCurBase@sda21(r13) /* 803AD3A0 003AA300 90 0D AF 34 */ stw r0, dspCmdMaxPtr@sda21(r13) lbl_803AD3A4: /* 803AD3A4 003AA304 80 6D AF 38 */ lwz r3, dspCmdPtr@sda21(r13) /* 803AD3A8 003AA308 38 80 00 03 */ li r4, 3 /* 803AD3AC 003AA30C 38 03 00 02 */ addi r0, r3, 2 /* 803AD3B0 003AA310 90 0D AF 38 */ stw r0, dspCmdPtr@sda21(r13) /* 803AD3B4 003AA314 B0 83 00 00 */ sth r4, 0(r3) lbl_803AD3B8: /* 803AD3B8 003AA318 28 12 00 00 */ cmplwi r18, 0 /* 803AD3BC 003AA31C 41 82 00 1C */ beq lbl_803AD3D8 /* 803AD3C0 003AA320 38 00 00 00 */ li r0, 0 /* 803AD3C4 003AA324 7E 43 93 78 */ mr r3, r18 /* 803AD3C8 003AA328 B0 12 00 00 */ sth r0, 0(r18) /* 803AD3CC 003AA32C 38 80 00 BC */ li r4, 0xbc /* 803AD3D0 003AA330 B0 12 00 02 */ sth r0, 2(r18) /* 803AD3D4 003AA334 4B FD 17 3D */ bl DCFlushRangeNoSync lbl_803AD3D8: /* 803AD3D8 003AA338 88 8D AF 8E */ lbz r4, salAuxFrame@sda21(r13) /* 803AD3DC 003AA33C 3C 60 55 55 */ lis r3, 0x55555556@ha /* 803AD3E0 003AA340 80 10 00 AC */ lwz r0, 0xac(r16) /* 803AD3E4 003AA344 38 63 55 56 */ addi r3, r3, 0x55555556@l /* 803AD3E8 003AA348 38 84 00 01 */ addi r4, r4, 1 /* 803AD3EC 003AA34C 7C 63 20 96 */ mulhw r3, r3, r4 /* 803AD3F0 003AA350 28 00 00 00 */ cmplwi r0, 0 /* 803AD3F4 003AA354 54 60 0F FE */ srwi r0, r3, 0x1f /* 803AD3F8 003AA358 7C 03 02 14 */ add r0, r3, r0 /* 803AD3FC 003AA35C 1C 00 00 03 */ mulli r0, r0, 3 /* 803AD400 003AA360 7C 00 20 50 */ subf r0, r0, r4 /* 803AD404 003AA364 54 0E 06 3E */ clrlwi r14, r0, 0x18 /* 803AD408 003AA368 41 82 01 14 */ beq lbl_803AD51C /* 803AD40C 003AA36C 80 AD AF 38 */ lwz r5, dspCmdPtr@sda21(r13) /* 803AD410 003AA370 80 6D AF 34 */ lwz r3, dspCmdMaxPtr@sda21(r13) /* 803AD414 003AA374 38 85 00 0A */ addi r4, r5, 0xa /* 803AD418 003AA378 38 03 FF F8 */ addi r0, r3, -8 /* 803AD41C 003AA37C 7C 04 00 40 */ cmplw r4, r0 /* 803AD420 003AA380 40 81 00 8C */ ble lbl_803AD4AC /* 803AD424 003AA384 38 00 00 0D */ li r0, 0xd /* 803AD428 003AA388 B0 05 00 00 */ sth r0, 0(r5) /* 803AD42C 003AA38C 80 0D AF 34 */ lwz r0, dspCmdMaxPtr@sda21(r13) /* 803AD430 003AA390 80 6D AF 38 */ lwz r3, dspCmdPtr@sda21(r13) /* 803AD434 003AA394 54 00 84 3E */ srwi r0, r0, 0x10 /* 803AD438 003AA398 B0 03 00 02 */ sth r0, 2(r3) /* 803AD43C 003AA39C 80 0D AF 34 */ lwz r0, dspCmdMaxPtr@sda21(r13) /* 803AD440 003AA3A0 80 6D AF 38 */ lwz r3, dspCmdPtr@sda21(r13) /* 803AD444 003AA3A4 B0 03 00 04 */ sth r0, 4(r3) /* 803AD448 003AA3A8 80 6D AF 38 */ lwz r3, dspCmdPtr@sda21(r13) /* 803AD44C 003AA3AC 80 AD AF 24 */ lwz r5, dspCmdLastLoad@sda21(r13) /* 803AD450 003AA3B0 80 8D AF 30 */ lwz r4, dspCmdCurBase@sda21(r13) /* 803AD454 003AA3B4 38 03 00 08 */ addi r0, r3, 8 /* 803AD458 003AA3B8 28 05 00 00 */ cmplwi r5, 0 /* 803AD45C 003AA3BC 7C 64 00 50 */ subf r3, r4, r0 /* 803AD460 003AA3C0 38 03 00 03 */ addi r0, r3, 3 /* 803AD464 003AA3C4 54 11 04 3A */ rlwinm r17, r0, 0, 0x10, 0x1d /* 803AD468 003AA3C8 41 82 00 18 */ beq lbl_803AD480 /* 803AD46C 003AA3CC B2 25 00 06 */ sth r17, 6(r5) /* 803AD470 003AA3D0 80 6D AF 28 */ lwz r3, dspCmdLastBase@sda21(r13) /* 803AD474 003AA3D4 A0 8D AF 2C */ lhz r4, dspCmdLastSize@sda21(r13) /* 803AD478 003AA3D8 4B FD 16 C5 */ bl DCStoreRangeNoSync /* 803AD47C 003AA3DC 48 00 00 08 */ b lbl_803AD484 lbl_803AD480: /* 803AD480 003AA3E0 B2 2D AF 3C */ sth r17, dspCmdFirstSize@sda21(r13) lbl_803AD484: /* 803AD484 003AA3E4 80 6D AF 34 */ lwz r3, dspCmdMaxPtr@sda21(r13) /* 803AD488 003AA3E8 80 AD AF 38 */ lwz r5, dspCmdPtr@sda21(r13) /* 803AD48C 003AA3EC 80 8D AF 30 */ lwz r4, dspCmdCurBase@sda21(r13) /* 803AD490 003AA3F0 38 03 01 80 */ addi r0, r3, 0x180 /* 803AD494 003AA3F4 90 AD AF 24 */ stw r5, dspCmdLastLoad@sda21(r13) /* 803AD498 003AA3F8 B2 2D AF 2C */ sth r17, dspCmdLastSize@sda21(r13) /* 803AD49C 003AA3FC 90 8D AF 28 */ stw r4, dspCmdLastBase@sda21(r13) /* 803AD4A0 003AA400 90 6D AF 38 */ stw r3, dspCmdPtr@sda21(r13) /* 803AD4A4 003AA404 90 6D AF 30 */ stw r3, dspCmdCurBase@sda21(r13) /* 803AD4A8 003AA408 90 0D AF 34 */ stw r0, dspCmdMaxPtr@sda21(r13) lbl_803AD4AC: /* 803AD4AC 003AA40C 80 8D AF 38 */ lwz r4, dspCmdPtr@sda21(r13) /* 803AD4B0 003AA410 38 00 00 04 */ li r0, 4 /* 803AD4B4 003AA414 55 C3 15 BA */ rlwinm r3, r14, 2, 0x16, 0x1d /* 803AD4B8 003AA418 B0 04 00 00 */ sth r0, 0(r4) /* 803AD4BC 003AA41C 38 A3 00 30 */ addi r5, r3, 0x30 /* 803AD4C0 003AA420 88 0D AF 8E */ lbz r0, salAuxFrame@sda21(r13) /* 803AD4C4 003AA424 80 6D AF 38 */ lwz r3, dspCmdPtr@sda21(r13) /* 803AD4C8 003AA428 54 04 10 3A */ slwi r4, r0, 2 /* 803AD4CC 003AA42C 38 04 00 30 */ addi r0, r4, 0x30 /* 803AD4D0 003AA430 7C 10 00 2E */ lwzx r0, r16, r0 /* 803AD4D4 003AA434 54 00 84 3E */ srwi r0, r0, 0x10 /* 803AD4D8 003AA438 B0 03 00 02 */ sth r0, 2(r3) /* 803AD4DC 003AA43C 88 0D AF 8E */ lbz r0, salAuxFrame@sda21(r13) /* 803AD4E0 003AA440 80 6D AF 38 */ lwz r3, dspCmdPtr@sda21(r13) /* 803AD4E4 003AA444 54 04 10 3A */ slwi r4, r0, 2 /* 803AD4E8 003AA448 38 04 00 30 */ addi r0, r4, 0x30 /* 803AD4EC 003AA44C 7C 10 00 2E */ lwzx r0, r16, r0 /* 803AD4F0 003AA450 B0 03 00 04 */ sth r0, 4(r3) /* 803AD4F4 003AA454 7C 10 28 2E */ lwzx r0, r16, r5 /* 803AD4F8 003AA458 80 6D AF 38 */ lwz r3, dspCmdPtr@sda21(r13) /* 803AD4FC 003AA45C 54 00 84 3E */ srwi r0, r0, 0x10 /* 803AD500 003AA460 B0 03 00 06 */ sth r0, 6(r3) /* 803AD504 003AA464 7C 10 28 2E */ lwzx r0, r16, r5 /* 803AD508 003AA468 80 6D AF 38 */ lwz r3, dspCmdPtr@sda21(r13) /* 803AD50C 003AA46C B0 03 00 08 */ sth r0, 8(r3) /* 803AD510 003AA470 80 6D AF 38 */ lwz r3, dspCmdPtr@sda21(r13) /* 803AD514 003AA474 38 03 00 0A */ addi r0, r3, 0xa /* 803AD518 003AA478 90 0D AF 38 */ stw r0, dspCmdPtr@sda21(r13) lbl_803AD51C: /* 803AD51C 003AA47C 80 10 00 54 */ lwz r0, 0x54(r16) /* 803AD520 003AA480 2C 00 00 00 */ cmpwi r0, 0 /* 803AD524 003AA484 40 82 01 24 */ bne lbl_803AD648 /* 803AD528 003AA488 80 10 00 B0 */ lwz r0, 0xb0(r16) /* 803AD52C 003AA48C 28 00 00 00 */ cmplwi r0, 0 /* 803AD530 003AA490 41 82 02 40 */ beq lbl_803AD770 /* 803AD534 003AA494 80 AD AF 38 */ lwz r5, dspCmdPtr@sda21(r13) /* 803AD538 003AA498 80 6D AF 34 */ lwz r3, dspCmdMaxPtr@sda21(r13) /* 803AD53C 003AA49C 38 85 00 0A */ addi r4, r5, 0xa /* 803AD540 003AA4A0 38 03 FF F8 */ addi r0, r3, -8 /* 803AD544 003AA4A4 7C 04 00 40 */ cmplw r4, r0 /* 803AD548 003AA4A8 40 81 00 8C */ ble lbl_803AD5D4 /* 803AD54C 003AA4AC 38 00 00 0D */ li r0, 0xd /* 803AD550 003AA4B0 B0 05 00 00 */ sth r0, 0(r5) /* 803AD554 003AA4B4 80 0D AF 34 */ lwz r0, dspCmdMaxPtr@sda21(r13) /* 803AD558 003AA4B8 80 6D AF 38 */ lwz r3, dspCmdPtr@sda21(r13) /* 803AD55C 003AA4BC 54 00 84 3E */ srwi r0, r0, 0x10 /* 803AD560 003AA4C0 B0 03 00 02 */ sth r0, 2(r3) /* 803AD564 003AA4C4 80 0D AF 34 */ lwz r0, dspCmdMaxPtr@sda21(r13) /* 803AD568 003AA4C8 80 6D AF 38 */ lwz r3, dspCmdPtr@sda21(r13) /* 803AD56C 003AA4CC B0 03 00 04 */ sth r0, 4(r3) /* 803AD570 003AA4D0 80 6D AF 38 */ lwz r3, dspCmdPtr@sda21(r13) /* 803AD574 003AA4D4 80 AD AF 24 */ lwz r5, dspCmdLastLoad@sda21(r13) /* 803AD578 003AA4D8 80 8D AF 30 */ lwz r4, dspCmdCurBase@sda21(r13) /* 803AD57C 003AA4DC 38 03 00 08 */ addi r0, r3, 8 /* 803AD580 003AA4E0 28 05 00 00 */ cmplwi r5, 0 /* 803AD584 003AA4E4 7C 64 00 50 */ subf r3, r4, r0 /* 803AD588 003AA4E8 38 03 00 03 */ addi r0, r3, 3 /* 803AD58C 003AA4EC 54 11 04 3A */ rlwinm r17, r0, 0, 0x10, 0x1d /* 803AD590 003AA4F0 41 82 00 18 */ beq lbl_803AD5A8 /* 803AD594 003AA4F4 B2 25 00 06 */ sth r17, 6(r5) /* 803AD598 003AA4F8 80 6D AF 28 */ lwz r3, dspCmdLastBase@sda21(r13) /* 803AD59C 003AA4FC A0 8D AF 2C */ lhz r4, dspCmdLastSize@sda21(r13) /* 803AD5A0 003AA500 4B FD 15 9D */ bl DCStoreRangeNoSync /* 803AD5A4 003AA504 48 00 00 08 */ b lbl_803AD5AC lbl_803AD5A8: /* 803AD5A8 003AA508 B2 2D AF 3C */ sth r17, dspCmdFirstSize@sda21(r13) lbl_803AD5AC: /* 803AD5AC 003AA50C 80 6D AF 34 */ lwz r3, dspCmdMaxPtr@sda21(r13) /* 803AD5B0 003AA510 80 AD AF 38 */ lwz r5, dspCmdPtr@sda21(r13) /* 803AD5B4 003AA514 80 8D AF 30 */ lwz r4, dspCmdCurBase@sda21(r13) /* 803AD5B8 003AA518 38 03 01 80 */ addi r0, r3, 0x180 /* 803AD5BC 003AA51C 90 AD AF 24 */ stw r5, dspCmdLastLoad@sda21(r13) /* 803AD5C0 003AA520 B2 2D AF 2C */ sth r17, dspCmdLastSize@sda21(r13) /* 803AD5C4 003AA524 90 8D AF 28 */ stw r4, dspCmdLastBase@sda21(r13) /* 803AD5C8 003AA528 90 6D AF 38 */ stw r3, dspCmdPtr@sda21(r13) /* 803AD5CC 003AA52C 90 6D AF 30 */ stw r3, dspCmdCurBase@sda21(r13) /* 803AD5D0 003AA530 90 0D AF 34 */ stw r0, dspCmdMaxPtr@sda21(r13) lbl_803AD5D4: /* 803AD5D4 003AA534 80 8D AF 38 */ lwz r4, dspCmdPtr@sda21(r13) /* 803AD5D8 003AA538 38 00 00 05 */ li r0, 5 /* 803AD5DC 003AA53C 55 C3 15 BA */ rlwinm r3, r14, 2, 0x16, 0x1d /* 803AD5E0 003AA540 B0 04 00 00 */ sth r0, 0(r4) /* 803AD5E4 003AA544 38 A3 00 3C */ addi r5, r3, 0x3c /* 803AD5E8 003AA548 88 0D AF 8E */ lbz r0, salAuxFrame@sda21(r13) /* 803AD5EC 003AA54C 80 6D AF 38 */ lwz r3, dspCmdPtr@sda21(r13) /* 803AD5F0 003AA550 54 04 10 3A */ slwi r4, r0, 2 /* 803AD5F4 003AA554 38 04 00 3C */ addi r0, r4, 0x3c /* 803AD5F8 003AA558 7C 10 00 2E */ lwzx r0, r16, r0 /* 803AD5FC 003AA55C 54 00 84 3E */ srwi r0, r0, 0x10 /* 803AD600 003AA560 B0 03 00 02 */ sth r0, 2(r3) /* 803AD604 003AA564 88 0D AF 8E */ lbz r0, salAuxFrame@sda21(r13) /* 803AD608 003AA568 80 6D AF 38 */ lwz r3, dspCmdPtr@sda21(r13) /* 803AD60C 003AA56C 54 04 10 3A */ slwi r4, r0, 2 /* 803AD610 003AA570 38 04 00 3C */ addi r0, r4, 0x3c /* 803AD614 003AA574 7C 10 00 2E */ lwzx r0, r16, r0 /* 803AD618 003AA578 B0 03 00 04 */ sth r0, 4(r3) /* 803AD61C 003AA57C 7C 10 28 2E */ lwzx r0, r16, r5 /* 803AD620 003AA580 80 6D AF 38 */ lwz r3, dspCmdPtr@sda21(r13) /* 803AD624 003AA584 54 00 84 3E */ srwi r0, r0, 0x10 /* 803AD628 003AA588 B0 03 00 06 */ sth r0, 6(r3) /* 803AD62C 003AA58C 7C 10 28 2E */ lwzx r0, r16, r5 /* 803AD630 003AA590 80 6D AF 38 */ lwz r3, dspCmdPtr@sda21(r13) /* 803AD634 003AA594 B0 03 00 08 */ sth r0, 8(r3) /* 803AD638 003AA598 80 6D AF 38 */ lwz r3, dspCmdPtr@sda21(r13) /* 803AD63C 003AA59C 38 03 00 0A */ addi r0, r3, 0xa /* 803AD640 003AA5A0 90 0D AF 38 */ stw r0, dspCmdPtr@sda21(r13) /* 803AD644 003AA5A4 48 00 01 2C */ b lbl_803AD770 lbl_803AD648: /* 803AD648 003AA5A8 80 AD AF 38 */ lwz r5, dspCmdPtr@sda21(r13) /* 803AD64C 003AA5AC 80 6D AF 34 */ lwz r3, dspCmdMaxPtr@sda21(r13) /* 803AD650 003AA5B0 38 85 00 0A */ addi r4, r5, 0xa /* 803AD654 003AA5B4 38 03 FF F8 */ addi r0, r3, -8 /* 803AD658 003AA5B8 7C 04 00 40 */ cmplw r4, r0 /* 803AD65C 003AA5BC 40 81 00 8C */ ble lbl_803AD6E8 /* 803AD660 003AA5C0 38 00 00 0D */ li r0, 0xd /* 803AD664 003AA5C4 B0 05 00 00 */ sth r0, 0(r5) /* 803AD668 003AA5C8 80 0D AF 34 */ lwz r0, dspCmdMaxPtr@sda21(r13) /* 803AD66C 003AA5CC 80 6D AF 38 */ lwz r3, dspCmdPtr@sda21(r13) /* 803AD670 003AA5D0 54 00 84 3E */ srwi r0, r0, 0x10 /* 803AD674 003AA5D4 B0 03 00 02 */ sth r0, 2(r3) /* 803AD678 003AA5D8 80 0D AF 34 */ lwz r0, dspCmdMaxPtr@sda21(r13) /* 803AD67C 003AA5DC 80 6D AF 38 */ lwz r3, dspCmdPtr@sda21(r13) /* 803AD680 003AA5E0 B0 03 00 04 */ sth r0, 4(r3) /* 803AD684 003AA5E4 80 6D AF 38 */ lwz r3, dspCmdPtr@sda21(r13) /* 803AD688 003AA5E8 80 AD AF 24 */ lwz r5, dspCmdLastLoad@sda21(r13) /* 803AD68C 003AA5EC 80 8D AF 30 */ lwz r4, dspCmdCurBase@sda21(r13) /* 803AD690 003AA5F0 38 03 00 08 */ addi r0, r3, 8 /* 803AD694 003AA5F4 28 05 00 00 */ cmplwi r5, 0 /* 803AD698 003AA5F8 7C 64 00 50 */ subf r3, r4, r0 /* 803AD69C 003AA5FC 38 03 00 03 */ addi r0, r3, 3 /* 803AD6A0 003AA600 54 0E 04 3A */ rlwinm r14, r0, 0, 0x10, 0x1d /* 803AD6A4 003AA604 41 82 00 18 */ beq lbl_803AD6BC /* 803AD6A8 003AA608 B1 C5 00 06 */ sth r14, 6(r5) /* 803AD6AC 003AA60C 80 6D AF 28 */ lwz r3, dspCmdLastBase@sda21(r13) /* 803AD6B0 003AA610 A0 8D AF 2C */ lhz r4, dspCmdLastSize@sda21(r13) /* 803AD6B4 003AA614 4B FD 14 89 */ bl DCStoreRangeNoSync /* 803AD6B8 003AA618 48 00 00 08 */ b lbl_803AD6C0 lbl_803AD6BC: /* 803AD6BC 003AA61C B1 CD AF 3C */ sth r14, dspCmdFirstSize@sda21(r13) lbl_803AD6C0: /* 803AD6C0 003AA620 80 6D AF 34 */ lwz r3, dspCmdMaxPtr@sda21(r13) /* 803AD6C4 003AA624 80 AD AF 38 */ lwz r5, dspCmdPtr@sda21(r13) /* 803AD6C8 003AA628 80 8D AF 30 */ lwz r4, dspCmdCurBase@sda21(r13) /* 803AD6CC 003AA62C 38 03 01 80 */ addi r0, r3, 0x180 /* 803AD6D0 003AA630 90 AD AF 24 */ stw r5, dspCmdLastLoad@sda21(r13) /* 803AD6D4 003AA634 B1 CD AF 2C */ sth r14, dspCmdLastSize@sda21(r13) /* 803AD6D8 003AA638 90 8D AF 28 */ stw r4, dspCmdLastBase@sda21(r13) /* 803AD6DC 003AA63C 90 6D AF 38 */ stw r3, dspCmdPtr@sda21(r13) /* 803AD6E0 003AA640 90 6D AF 30 */ stw r3, dspCmdCurBase@sda21(r13) /* 803AD6E4 003AA644 90 0D AF 34 */ stw r0, dspCmdMaxPtr@sda21(r13) lbl_803AD6E8: /* 803AD6E8 003AA648 80 6D AF 38 */ lwz r3, dspCmdPtr@sda21(r13) /* 803AD6EC 003AA64C 38 00 00 10 */ li r0, 0x10 /* 803AD6F0 003AA650 B0 03 00 00 */ sth r0, 0(r3) /* 803AD6F4 003AA654 88 0D AF 8F */ lbz r0, salFrame@sda21(r13) /* 803AD6F8 003AA658 80 6D AF 38 */ lwz r3, dspCmdPtr@sda21(r13) /* 803AD6FC 003AA65C 54 04 10 3A */ slwi r4, r0, 2 /* 803AD700 003AA660 38 04 00 3C */ addi r0, r4, 0x3c /* 803AD704 003AA664 7C 10 00 2E */ lwzx r0, r16, r0 /* 803AD708 003AA668 54 00 84 3E */ srwi r0, r0, 0x10 /* 803AD70C 003AA66C B0 03 00 02 */ sth r0, 2(r3) /* 803AD710 003AA670 88 0D AF 8F */ lbz r0, salFrame@sda21(r13) /* 803AD714 003AA674 80 6D AF 38 */ lwz r3, dspCmdPtr@sda21(r13) /* 803AD718 003AA678 54 04 10 3A */ slwi r4, r0, 2 /* 803AD71C 003AA67C 38 04 00 3C */ addi r0, r4, 0x3c /* 803AD720 003AA680 7C 10 00 2E */ lwzx r0, r16, r0 /* 803AD724 003AA684 B0 03 00 04 */ sth r0, 4(r3) /* 803AD728 003AA688 88 0D AF 8F */ lbz r0, salFrame@sda21(r13) /* 803AD72C 003AA68C 80 6D AF 38 */ lwz r3, dspCmdPtr@sda21(r13) /* 803AD730 003AA690 68 00 00 01 */ xori r0, r0, 1 /* 803AD734 003AA694 54 04 10 3A */ slwi r4, r0, 2 /* 803AD738 003AA698 38 04 00 3C */ addi r0, r4, 0x3c /* 803AD73C 003AA69C 7C 10 00 2E */ lwzx r0, r16, r0 /* 803AD740 003AA6A0 54 00 84 3E */ srwi r0, r0, 0x10 /* 803AD744 003AA6A4 B0 03 00 06 */ sth r0, 6(r3) /* 803AD748 003AA6A8 88 0D AF 8F */ lbz r0, salFrame@sda21(r13) /* 803AD74C 003AA6AC 80 6D AF 38 */ lwz r3, dspCmdPtr@sda21(r13) /* 803AD750 003AA6B0 68 00 00 01 */ xori r0, r0, 1 /* 803AD754 003AA6B4 54 04 10 3A */ slwi r4, r0, 2 /* 803AD758 003AA6B8 38 04 00 3C */ addi r0, r4, 0x3c /* 803AD75C 003AA6BC 7C 10 00 2E */ lwzx r0, r16, r0 /* 803AD760 003AA6C0 B0 03 00 08 */ sth r0, 8(r3) /* 803AD764 003AA6C4 80 6D AF 38 */ lwz r3, dspCmdPtr@sda21(r13) /* 803AD768 003AA6C8 38 03 00 0A */ addi r0, r3, 0xa /* 803AD76C 003AA6CC 90 0D AF 38 */ stw r0, dspCmdPtr@sda21(r13) lbl_803AD770: /* 803AD770 003AA6D0 80 AD AF 38 */ lwz r5, dspCmdPtr@sda21(r13) /* 803AD774 003AA6D4 80 6D AF 34 */ lwz r3, dspCmdMaxPtr@sda21(r13) /* 803AD778 003AA6D8 38 85 00 06 */ addi r4, r5, 6 /* 803AD77C 003AA6DC 38 03 FF F8 */ addi r0, r3, -8 /* 803AD780 003AA6E0 7C 04 00 40 */ cmplw r4, r0 /* 803AD784 003AA6E4 40 81 00 8C */ ble lbl_803AD810 /* 803AD788 003AA6E8 38 00 00 0D */ li r0, 0xd /* 803AD78C 003AA6EC B0 05 00 00 */ sth r0, 0(r5) /* 803AD790 003AA6F0 80 0D AF 34 */ lwz r0, dspCmdMaxPtr@sda21(r13) /* 803AD794 003AA6F4 80 6D AF 38 */ lwz r3, dspCmdPtr@sda21(r13) /* 803AD798 003AA6F8 54 00 84 3E */ srwi r0, r0, 0x10 /* 803AD79C 003AA6FC B0 03 00 02 */ sth r0, 2(r3) /* 803AD7A0 003AA700 80 0D AF 34 */ lwz r0, dspCmdMaxPtr@sda21(r13) /* 803AD7A4 003AA704 80 6D AF 38 */ lwz r3, dspCmdPtr@sda21(r13) /* 803AD7A8 003AA708 B0 03 00 04 */ sth r0, 4(r3) /* 803AD7AC 003AA70C 80 6D AF 38 */ lwz r3, dspCmdPtr@sda21(r13) /* 803AD7B0 003AA710 80 AD AF 24 */ lwz r5, dspCmdLastLoad@sda21(r13) /* 803AD7B4 003AA714 80 8D AF 30 */ lwz r4, dspCmdCurBase@sda21(r13) /* 803AD7B8 003AA718 38 03 00 08 */ addi r0, r3, 8 /* 803AD7BC 003AA71C 28 05 00 00 */ cmplwi r5, 0 /* 803AD7C0 003AA720 7C 64 00 50 */ subf r3, r4, r0 /* 803AD7C4 003AA724 38 03 00 03 */ addi r0, r3, 3 /* 803AD7C8 003AA728 54 0E 04 3A */ rlwinm r14, r0, 0, 0x10, 0x1d /* 803AD7CC 003AA72C 41 82 00 18 */ beq lbl_803AD7E4 /* 803AD7D0 003AA730 B1 C5 00 06 */ sth r14, 6(r5) /* 803AD7D4 003AA734 80 6D AF 28 */ lwz r3, dspCmdLastBase@sda21(r13) /* 803AD7D8 003AA738 A0 8D AF 2C */ lhz r4, dspCmdLastSize@sda21(r13) /* 803AD7DC 003AA73C 4B FD 13 61 */ bl DCStoreRangeNoSync /* 803AD7E0 003AA740 48 00 00 08 */ b lbl_803AD7E8 lbl_803AD7E4: /* 803AD7E4 003AA744 B1 CD AF 3C */ sth r14, dspCmdFirstSize@sda21(r13) lbl_803AD7E8: /* 803AD7E8 003AA748 80 6D AF 34 */ lwz r3, dspCmdMaxPtr@sda21(r13) /* 803AD7EC 003AA74C 80 AD AF 38 */ lwz r5, dspCmdPtr@sda21(r13) /* 803AD7F0 003AA750 80 8D AF 30 */ lwz r4, dspCmdCurBase@sda21(r13) /* 803AD7F4 003AA754 38 03 01 80 */ addi r0, r3, 0x180 /* 803AD7F8 003AA758 90 AD AF 24 */ stw r5, dspCmdLastLoad@sda21(r13) /* 803AD7FC 003AA75C B1 CD AF 2C */ sth r14, dspCmdLastSize@sda21(r13) /* 803AD800 003AA760 90 8D AF 28 */ stw r4, dspCmdLastBase@sda21(r13) /* 803AD804 003AA764 90 6D AF 38 */ stw r3, dspCmdPtr@sda21(r13) /* 803AD808 003AA768 90 6D AF 30 */ stw r3, dspCmdCurBase@sda21(r13) /* 803AD80C 003AA76C 90 0D AF 34 */ stw r0, dspCmdMaxPtr@sda21(r13) lbl_803AD810: /* 803AD810 003AA770 80 6D AF 38 */ lwz r3, dspCmdPtr@sda21(r13) /* 803AD814 003AA774 38 00 00 06 */ li r0, 6 /* 803AD818 003AA778 38 B0 00 04 */ addi r5, r16, 4 /* 803AD81C 003AA77C B0 03 00 00 */ sth r0, 0(r3) /* 803AD820 003AA780 88 0D AF 8F */ lbz r0, salFrame@sda21(r13) /* 803AD824 003AA784 80 6D AF 38 */ lwz r3, dspCmdPtr@sda21(r13) /* 803AD828 003AA788 54 04 10 3A */ slwi r4, r0, 2 /* 803AD82C 003AA78C 38 04 00 28 */ addi r0, r4, 0x28 /* 803AD830 003AA790 7C 10 00 2E */ lwzx r0, r16, r0 /* 803AD834 003AA794 54 00 84 3E */ srwi r0, r0, 0x10 /* 803AD838 003AA798 B0 03 00 02 */ sth r0, 2(r3) /* 803AD83C 003AA79C 88 0D AF 8F */ lbz r0, salFrame@sda21(r13) /* 803AD840 003AA7A0 80 6D AF 38 */ lwz r3, dspCmdPtr@sda21(r13) /* 803AD844 003AA7A4 54 04 10 3A */ slwi r4, r0, 2 /* 803AD848 003AA7A8 38 04 00 28 */ addi r0, r4, 0x28 /* 803AD84C 003AA7AC 7C 10 00 2E */ lwzx r0, r16, r0 /* 803AD850 003AA7B0 B0 03 00 04 */ sth r0, 4(r3) /* 803AD854 003AA7B4 80 6D AF 38 */ lwz r3, dspCmdPtr@sda21(r13) /* 803AD858 003AA7B8 81 D0 00 00 */ lwz r14, 0(r16) /* 803AD85C 003AA7BC 38 03 00 06 */ addi r0, r3, 6 /* 803AD860 003AA7C0 90 0D AF 38 */ stw r0, dspCmdPtr@sda21(r13) /* 803AD864 003AA7C4 7D C3 73 78 */ mr r3, r14 /* 803AD868 003AA7C8 38 8E 00 04 */ addi r4, r14, 4 /* 803AD86C 003AA7CC 4B FF DC 7D */ bl DoDepopFade /* 803AD870 003AA7D0 38 6E 00 06 */ addi r3, r14, 6 /* 803AD874 003AA7D4 38 8E 00 0A */ addi r4, r14, 0xa /* 803AD878 003AA7D8 38 B0 00 08 */ addi r5, r16, 8 /* 803AD87C 003AA7DC 4B FF DC 6D */ bl DoDepopFade /* 803AD880 003AA7E0 38 6E 00 0C */ addi r3, r14, 0xc /* 803AD884 003AA7E4 38 8E 00 10 */ addi r4, r14, 0x10 /* 803AD888 003AA7E8 38 B0 00 0C */ addi r5, r16, 0xc /* 803AD88C 003AA7EC 4B FF DC 5D */ bl DoDepopFade /* 803AD890 003AA7F0 38 6E 00 12 */ addi r3, r14, 0x12 /* 803AD894 003AA7F4 38 8E 00 16 */ addi r4, r14, 0x16 /* 803AD898 003AA7F8 38 B0 00 10 */ addi r5, r16, 0x10 /* 803AD89C 003AA7FC 4B FF DC 4D */ bl DoDepopFade /* 803AD8A0 003AA800 38 6E 00 18 */ addi r3, r14, 0x18 /* 803AD8A4 003AA804 38 8E 00 1C */ addi r4, r14, 0x1c /* 803AD8A8 003AA808 38 B0 00 14 */ addi r5, r16, 0x14 /* 803AD8AC 003AA80C 4B FF DC 3D */ bl DoDepopFade /* 803AD8B0 003AA810 38 6E 00 1E */ addi r3, r14, 0x1e /* 803AD8B4 003AA814 38 8E 00 22 */ addi r4, r14, 0x22 /* 803AD8B8 003AA818 38 B0 00 18 */ addi r5, r16, 0x18 /* 803AD8BC 003AA81C 4B FF DC 2D */ bl DoDepopFade /* 803AD8C0 003AA820 38 6E 00 24 */ addi r3, r14, 0x24 /* 803AD8C4 003AA824 38 8E 00 28 */ addi r4, r14, 0x28 /* 803AD8C8 003AA828 38 B0 00 1C */ addi r5, r16, 0x1c /* 803AD8CC 003AA82C 4B FF DC 1D */ bl DoDepopFade /* 803AD8D0 003AA830 38 6E 00 2A */ addi r3, r14, 0x2a /* 803AD8D4 003AA834 38 8E 00 2E */ addi r4, r14, 0x2e /* 803AD8D8 003AA838 38 B0 00 20 */ addi r5, r16, 0x20 /* 803AD8DC 003AA83C 4B FF DC 0D */ bl DoDepopFade /* 803AD8E0 003AA840 38 6E 00 30 */ addi r3, r14, 0x30 /* 803AD8E4 003AA844 38 8E 00 34 */ addi r4, r14, 0x34 /* 803AD8E8 003AA848 38 B0 00 24 */ addi r5, r16, 0x24 /* 803AD8EC 003AA84C 4B FF DB FD */ bl DoDepopFade /* 803AD8F0 003AA850 7D C3 73 78 */ mr r3, r14 /* 803AD8F4 003AA854 38 80 00 36 */ li r4, 0x36 /* 803AD8F8 003AA858 4B FD 12 19 */ bl DCFlushRangeNoSync lbl_803AD8FC: /* 803AD8FC 003AA85C 88 61 00 24 */ lbz r3, 0x24(r1) /* 803AD900 003AA860 38 63 00 01 */ addi r3, r3, 1 /* 803AD904 003AA864 98 61 00 24 */ stb r3, 0x24(r1) lbl_803AD908: /* 803AD908 003AA868 88 6D AF 8C */ lbz r3, salMaxStudioNum@sda21(r13) /* 803AD90C 003AA86C 88 01 00 24 */ lbz r0, 0x24(r1) /* 803AD910 003AA870 7C 00 18 40 */ cmplw r0, r3 /* 803AD914 003AA874 41 80 E2 60 */ blt lbl_803ABB74 /* 803AD918 003AA878 80 AD AF 38 */ lwz r5, dspCmdPtr@sda21(r13) /* 803AD91C 003AA87C 80 6D AF 34 */ lwz r3, dspCmdMaxPtr@sda21(r13) /* 803AD920 003AA880 38 85 00 06 */ addi r4, r5, 6 /* 803AD924 003AA884 38 03 FF F8 */ addi r0, r3, -8 /* 803AD928 003AA888 7C 04 00 40 */ cmplw r4, r0 /* 803AD92C 003AA88C 40 81 00 8C */ ble lbl_803AD9B8 /* 803AD930 003AA890 38 00 00 0D */ li r0, 0xd /* 803AD934 003AA894 B0 05 00 00 */ sth r0, 0(r5) /* 803AD938 003AA898 80 0D AF 34 */ lwz r0, dspCmdMaxPtr@sda21(r13) /* 803AD93C 003AA89C 80 6D AF 38 */ lwz r3, dspCmdPtr@sda21(r13) /* 803AD940 003AA8A0 54 00 84 3E */ srwi r0, r0, 0x10 /* 803AD944 003AA8A4 B0 03 00 02 */ sth r0, 2(r3) /* 803AD948 003AA8A8 80 0D AF 34 */ lwz r0, dspCmdMaxPtr@sda21(r13) /* 803AD94C 003AA8AC 80 6D AF 38 */ lwz r3, dspCmdPtr@sda21(r13) /* 803AD950 003AA8B0 B0 03 00 04 */ sth r0, 4(r3) /* 803AD954 003AA8B4 80 6D AF 38 */ lwz r3, dspCmdPtr@sda21(r13) /* 803AD958 003AA8B8 80 AD AF 24 */ lwz r5, dspCmdLastLoad@sda21(r13) /* 803AD95C 003AA8BC 80 8D AF 30 */ lwz r4, dspCmdCurBase@sda21(r13) /* 803AD960 003AA8C0 38 03 00 08 */ addi r0, r3, 8 /* 803AD964 003AA8C4 28 05 00 00 */ cmplwi r5, 0 /* 803AD968 003AA8C8 7C 64 00 50 */ subf r3, r4, r0 /* 803AD96C 003AA8CC 38 03 00 03 */ addi r0, r3, 3 /* 803AD970 003AA8D0 54 0E 04 3A */ rlwinm r14, r0, 0, 0x10, 0x1d /* 803AD974 003AA8D4 41 82 00 18 */ beq lbl_803AD98C /* 803AD978 003AA8D8 B1 C5 00 06 */ sth r14, 6(r5) /* 803AD97C 003AA8DC 80 6D AF 28 */ lwz r3, dspCmdLastBase@sda21(r13) /* 803AD980 003AA8E0 A0 8D AF 2C */ lhz r4, dspCmdLastSize@sda21(r13) /* 803AD984 003AA8E4 4B FD 11 B9 */ bl DCStoreRangeNoSync /* 803AD988 003AA8E8 48 00 00 08 */ b lbl_803AD990 lbl_803AD98C: /* 803AD98C 003AA8EC B1 CD AF 3C */ sth r14, dspCmdFirstSize@sda21(r13) lbl_803AD990: /* 803AD990 003AA8F0 80 6D AF 34 */ lwz r3, dspCmdMaxPtr@sda21(r13) /* 803AD994 003AA8F4 80 AD AF 38 */ lwz r5, dspCmdPtr@sda21(r13) /* 803AD998 003AA8F8 80 8D AF 30 */ lwz r4, dspCmdCurBase@sda21(r13) /* 803AD99C 003AA8FC 38 03 01 80 */ addi r0, r3, 0x180 /* 803AD9A0 003AA900 90 AD AF 24 */ stw r5, dspCmdLastLoad@sda21(r13) /* 803AD9A4 003AA904 B1 CD AF 2C */ sth r14, dspCmdLastSize@sda21(r13) /* 803AD9A8 003AA908 90 8D AF 28 */ stw r4, dspCmdLastBase@sda21(r13) /* 803AD9AC 003AA90C 90 6D AF 38 */ stw r3, dspCmdPtr@sda21(r13) /* 803AD9B0 003AA910 90 6D AF 30 */ stw r3, dspCmdCurBase@sda21(r13) /* 803AD9B4 003AA914 90 0D AF 34 */ stw r0, dspCmdMaxPtr@sda21(r13) lbl_803AD9B8: /* 803AD9B8 003AA918 80 8D AF 38 */ lwz r4, dspCmdPtr@sda21(r13) /* 803AD9BC 003AA91C 38 00 00 11 */ li r0, 0x11 /* 803AD9C0 003AA920 3C 60 80 56 */ lis r3, dspStudio@ha /* 803AD9C4 003AA924 3A 00 00 00 */ li r16, 0 /* 803AD9C8 003AA928 B0 04 00 00 */ sth r0, 0(r4) /* 803AD9CC 003AA92C 39 C3 F2 60 */ addi r14, r3, dspStudio@l /* 803AD9D0 003AA930 80 0D AF 4C */ lwz r0, dspSurround@sda21(r13) /* 803AD9D4 003AA934 80 6D AF 38 */ lwz r3, dspCmdPtr@sda21(r13) /* 803AD9D8 003AA938 54 00 84 3E */ srwi r0, r0, 0x10 /* 803AD9DC 003AA93C B0 03 00 02 */ sth r0, 2(r3) /* 803AD9E0 003AA940 80 0D AF 4C */ lwz r0, dspSurround@sda21(r13) /* 803AD9E4 003AA944 80 6D AF 38 */ lwz r3, dspCmdPtr@sda21(r13) /* 803AD9E8 003AA948 B0 03 00 04 */ sth r0, 4(r3) /* 803AD9EC 003AA94C 80 6D AF 38 */ lwz r3, dspCmdPtr@sda21(r13) /* 803AD9F0 003AA950 38 03 00 06 */ addi r0, r3, 6 /* 803AD9F4 003AA954 90 0D AF 38 */ stw r0, dspCmdPtr@sda21(r13) /* 803AD9F8 003AA958 48 00 01 18 */ b lbl_803ADB10 lbl_803AD9FC: /* 803AD9FC 003AA95C 56 00 06 3E */ clrlwi r0, r16, 0x18 /* 803ADA00 003AA960 1C 00 00 BC */ mulli r0, r0, 0xbc /* 803ADA04 003AA964 7D EE 02 14 */ add r15, r14, r0 /* 803ADA08 003AA968 88 0F 00 50 */ lbz r0, 0x50(r15) /* 803ADA0C 003AA96C 28 00 00 01 */ cmplwi r0, 1 /* 803ADA10 003AA970 40 82 00 FC */ bne lbl_803ADB0C /* 803ADA14 003AA974 88 0F 00 51 */ lbz r0, 0x51(r15) /* 803ADA18 003AA978 28 00 00 00 */ cmplwi r0, 0 /* 803ADA1C 003AA97C 41 82 00 F0 */ beq lbl_803ADB0C /* 803ADA20 003AA980 80 AD AF 38 */ lwz r5, dspCmdPtr@sda21(r13) /* 803ADA24 003AA984 80 6D AF 34 */ lwz r3, dspCmdMaxPtr@sda21(r13) /* 803ADA28 003AA988 38 85 00 06 */ addi r4, r5, 6 /* 803ADA2C 003AA98C 38 03 FF F8 */ addi r0, r3, -8 /* 803ADA30 003AA990 7C 04 00 40 */ cmplw r4, r0 /* 803ADA34 003AA994 40 81 00 8C */ ble lbl_803ADAC0 /* 803ADA38 003AA998 38 00 00 0D */ li r0, 0xd /* 803ADA3C 003AA99C B0 05 00 00 */ sth r0, 0(r5) /* 803ADA40 003AA9A0 80 0D AF 34 */ lwz r0, dspCmdMaxPtr@sda21(r13) /* 803ADA44 003AA9A4 80 6D AF 38 */ lwz r3, dspCmdPtr@sda21(r13) /* 803ADA48 003AA9A8 54 00 84 3E */ srwi r0, r0, 0x10 /* 803ADA4C 003AA9AC B0 03 00 02 */ sth r0, 2(r3) /* 803ADA50 003AA9B0 80 0D AF 34 */ lwz r0, dspCmdMaxPtr@sda21(r13) /* 803ADA54 003AA9B4 80 6D AF 38 */ lwz r3, dspCmdPtr@sda21(r13) /* 803ADA58 003AA9B8 B0 03 00 04 */ sth r0, 4(r3) /* 803ADA5C 003AA9BC 80 6D AF 38 */ lwz r3, dspCmdPtr@sda21(r13) /* 803ADA60 003AA9C0 80 AD AF 24 */ lwz r5, dspCmdLastLoad@sda21(r13) /* 803ADA64 003AA9C4 80 8D AF 30 */ lwz r4, dspCmdCurBase@sda21(r13) /* 803ADA68 003AA9C8 38 03 00 08 */ addi r0, r3, 8 /* 803ADA6C 003AA9CC 28 05 00 00 */ cmplwi r5, 0 /* 803ADA70 003AA9D0 7C 64 00 50 */ subf r3, r4, r0 /* 803ADA74 003AA9D4 38 03 00 03 */ addi r0, r3, 3 /* 803ADA78 003AA9D8 54 11 04 3A */ rlwinm r17, r0, 0, 0x10, 0x1d /* 803ADA7C 003AA9DC 41 82 00 18 */ beq lbl_803ADA94 /* 803ADA80 003AA9E0 B2 25 00 06 */ sth r17, 6(r5) /* 803ADA84 003AA9E4 80 6D AF 28 */ lwz r3, dspCmdLastBase@sda21(r13) /* 803ADA88 003AA9E8 A0 8D AF 2C */ lhz r4, dspCmdLastSize@sda21(r13) /* 803ADA8C 003AA9EC 4B FD 10 B1 */ bl DCStoreRangeNoSync /* 803ADA90 003AA9F0 48 00 00 08 */ b lbl_803ADA98 lbl_803ADA94: /* 803ADA94 003AA9F4 B2 2D AF 3C */ sth r17, dspCmdFirstSize@sda21(r13) lbl_803ADA98: /* 803ADA98 003AA9F8 80 6D AF 34 */ lwz r3, dspCmdMaxPtr@sda21(r13) /* 803ADA9C 003AA9FC 80 AD AF 38 */ lwz r5, dspCmdPtr@sda21(r13) /* 803ADAA0 003AAA00 80 8D AF 30 */ lwz r4, dspCmdCurBase@sda21(r13) /* 803ADAA4 003AAA04 38 03 01 80 */ addi r0, r3, 0x180 /* 803ADAA8 003AAA08 90 AD AF 24 */ stw r5, dspCmdLastLoad@sda21(r13) /* 803ADAAC 003AAA0C B2 2D AF 2C */ sth r17, dspCmdLastSize@sda21(r13) /* 803ADAB0 003AAA10 90 8D AF 28 */ stw r4, dspCmdLastBase@sda21(r13) /* 803ADAB4 003AAA14 90 6D AF 38 */ stw r3, dspCmdPtr@sda21(r13) /* 803ADAB8 003AAA18 90 6D AF 30 */ stw r3, dspCmdCurBase@sda21(r13) /* 803ADABC 003AAA1C 90 0D AF 34 */ stw r0, dspCmdMaxPtr@sda21(r13) lbl_803ADAC0: /* 803ADAC0 003AAA20 80 6D AF 38 */ lwz r3, dspCmdPtr@sda21(r13) /* 803ADAC4 003AAA24 38 00 00 09 */ li r0, 9 /* 803ADAC8 003AAA28 B0 03 00 00 */ sth r0, 0(r3) /* 803ADACC 003AAA2C 88 0D AF 8F */ lbz r0, salFrame@sda21(r13) /* 803ADAD0 003AAA30 80 6D AF 38 */ lwz r3, dspCmdPtr@sda21(r13) /* 803ADAD4 003AAA34 54 04 10 3A */ slwi r4, r0, 2 /* 803ADAD8 003AAA38 38 04 00 28 */ addi r0, r4, 0x28 /* 803ADADC 003AAA3C 7C 0F 00 2E */ lwzx r0, r15, r0 /* 803ADAE0 003AAA40 54 00 84 3E */ srwi r0, r0, 0x10 /* 803ADAE4 003AAA44 B0 03 00 02 */ sth r0, 2(r3) /* 803ADAE8 003AAA48 88 0D AF 8F */ lbz r0, salFrame@sda21(r13) /* 803ADAEC 003AAA4C 80 6D AF 38 */ lwz r3, dspCmdPtr@sda21(r13) /* 803ADAF0 003AAA50 54 04 10 3A */ slwi r4, r0, 2 /* 803ADAF4 003AAA54 38 04 00 28 */ addi r0, r4, 0x28 /* 803ADAF8 003AAA58 7C 0F 00 2E */ lwzx r0, r15, r0 /* 803ADAFC 003AAA5C B0 03 00 04 */ sth r0, 4(r3) /* 803ADB00 003AAA60 80 6D AF 38 */ lwz r3, dspCmdPtr@sda21(r13) /* 803ADB04 003AAA64 38 03 00 06 */ addi r0, r3, 6 /* 803ADB08 003AAA68 90 0D AF 38 */ stw r0, dspCmdPtr@sda21(r13) lbl_803ADB0C: /* 803ADB0C 003AAA6C 3A 10 00 01 */ addi r16, r16, 1 lbl_803ADB10: /* 803ADB10 003AAA70 88 0D AF 8C */ lbz r0, salMaxStudioNum@sda21(r13) /* 803ADB14 003AAA74 56 03 06 3E */ clrlwi r3, r16, 0x18 /* 803ADB18 003AAA78 7C 03 00 40 */ cmplw r3, r0 /* 803ADB1C 003AAA7C 41 80 FE E0 */ blt lbl_803AD9FC /* 803ADB20 003AAA80 80 AD AF 38 */ lwz r5, dspCmdPtr@sda21(r13) /* 803ADB24 003AAA84 80 6D AF 34 */ lwz r3, dspCmdMaxPtr@sda21(r13) /* 803ADB28 003AAA88 38 85 00 0A */ addi r4, r5, 0xa /* 803ADB2C 003AAA8C 38 03 FF F8 */ addi r0, r3, -8 /* 803ADB30 003AAA90 7C 04 00 40 */ cmplw r4, r0 /* 803ADB34 003AAA94 40 81 00 8C */ ble lbl_803ADBC0 /* 803ADB38 003AAA98 38 00 00 0D */ li r0, 0xd /* 803ADB3C 003AAA9C B0 05 00 00 */ sth r0, 0(r5) /* 803ADB40 003AAAA0 80 0D AF 34 */ lwz r0, dspCmdMaxPtr@sda21(r13) /* 803ADB44 003AAAA4 80 6D AF 38 */ lwz r3, dspCmdPtr@sda21(r13) /* 803ADB48 003AAAA8 54 00 84 3E */ srwi r0, r0, 0x10 /* 803ADB4C 003AAAAC B0 03 00 02 */ sth r0, 2(r3) /* 803ADB50 003AAAB0 80 0D AF 34 */ lwz r0, dspCmdMaxPtr@sda21(r13) /* 803ADB54 003AAAB4 80 6D AF 38 */ lwz r3, dspCmdPtr@sda21(r13) /* 803ADB58 003AAAB8 B0 03 00 04 */ sth r0, 4(r3) /* 803ADB5C 003AAABC 80 6D AF 38 */ lwz r3, dspCmdPtr@sda21(r13) /* 803ADB60 003AAAC0 80 AD AF 24 */ lwz r5, dspCmdLastLoad@sda21(r13) /* 803ADB64 003AAAC4 80 8D AF 30 */ lwz r4, dspCmdCurBase@sda21(r13) /* 803ADB68 003AAAC8 38 03 00 08 */ addi r0, r3, 8 /* 803ADB6C 003AAACC 28 05 00 00 */ cmplwi r5, 0 /* 803ADB70 003AAAD0 7C 64 00 50 */ subf r3, r4, r0 /* 803ADB74 003AAAD4 38 03 00 03 */ addi r0, r3, 3 /* 803ADB78 003AAAD8 54 0E 04 3A */ rlwinm r14, r0, 0, 0x10, 0x1d /* 803ADB7C 003AAADC 41 82 00 18 */ beq lbl_803ADB94 /* 803ADB80 003AAAE0 B1 C5 00 06 */ sth r14, 6(r5) /* 803ADB84 003AAAE4 80 6D AF 28 */ lwz r3, dspCmdLastBase@sda21(r13) /* 803ADB88 003AAAE8 A0 8D AF 2C */ lhz r4, dspCmdLastSize@sda21(r13) /* 803ADB8C 003AAAEC 4B FD 0F B1 */ bl DCStoreRangeNoSync /* 803ADB90 003AAAF0 48 00 00 08 */ b lbl_803ADB98 lbl_803ADB94: /* 803ADB94 003AAAF4 B1 CD AF 3C */ sth r14, dspCmdFirstSize@sda21(r13) lbl_803ADB98: /* 803ADB98 003AAAF8 80 6D AF 34 */ lwz r3, dspCmdMaxPtr@sda21(r13) /* 803ADB9C 003AAAFC 80 AD AF 38 */ lwz r5, dspCmdPtr@sda21(r13) /* 803ADBA0 003AAB00 80 8D AF 30 */ lwz r4, dspCmdCurBase@sda21(r13) /* 803ADBA4 003AAB04 38 03 01 80 */ addi r0, r3, 0x180 /* 803ADBA8 003AAB08 90 AD AF 24 */ stw r5, dspCmdLastLoad@sda21(r13) /* 803ADBAC 003AAB0C B1 CD AF 2C */ sth r14, dspCmdLastSize@sda21(r13) /* 803ADBB0 003AAB10 90 8D AF 28 */ stw r4, dspCmdLastBase@sda21(r13) /* 803ADBB4 003AAB14 90 6D AF 38 */ stw r3, dspCmdPtr@sda21(r13) /* 803ADBB8 003AAB18 90 6D AF 30 */ stw r3, dspCmdCurBase@sda21(r13) /* 803ADBBC 003AAB1C 90 0D AF 34 */ stw r0, dspCmdMaxPtr@sda21(r13) lbl_803ADBC0: /* 803ADBC0 003AAB20 80 8D AF 38 */ lwz r4, dspCmdPtr@sda21(r13) /* 803ADBC4 003AAB24 38 A0 00 0E */ li r5, 0xe /* 803ADBC8 003AAB28 80 01 00 08 */ lwz r0, 8(r1) /* 803ADBCC 003AAB2C 38 60 00 0F */ li r3, 0xf /* 803ADBD0 003AAB30 B0 A4 00 00 */ sth r5, 0(r4) /* 803ADBD4 003AAB34 54 00 84 3E */ srwi r0, r0, 0x10 /* 803ADBD8 003AAB38 80 AD AF 4C */ lwz r5, dspSurround@sda21(r13) /* 803ADBDC 003AAB3C 80 8D AF 38 */ lwz r4, dspCmdPtr@sda21(r13) /* 803ADBE0 003AAB40 54 A5 84 3E */ srwi r5, r5, 0x10 /* 803ADBE4 003AAB44 B0 A4 00 02 */ sth r5, 2(r4) /* 803ADBE8 003AAB48 80 AD AF 4C */ lwz r5, dspSurround@sda21(r13) /* 803ADBEC 003AAB4C 80 8D AF 38 */ lwz r4, dspCmdPtr@sda21(r13) /* 803ADBF0 003AAB50 B0 A4 00 04 */ sth r5, 4(r4) /* 803ADBF4 003AAB54 80 8D AF 38 */ lwz r4, dspCmdPtr@sda21(r13) /* 803ADBF8 003AAB58 B0 04 00 06 */ sth r0, 6(r4) /* 803ADBFC 003AAB5C 80 01 00 08 */ lwz r0, 8(r1) /* 803ADC00 003AAB60 80 8D AF 38 */ lwz r4, dspCmdPtr@sda21(r13) /* 803ADC04 003AAB64 B0 04 00 08 */ sth r0, 8(r4) /* 803ADC08 003AAB68 80 8D AF 38 */ lwz r4, dspCmdPtr@sda21(r13) /* 803ADC0C 003AAB6C 38 84 00 0A */ addi r4, r4, 0xa /* 803ADC10 003AAB70 90 8D AF 38 */ stw r4, dspCmdPtr@sda21(r13) /* 803ADC14 003AAB74 38 04 00 02 */ addi r0, r4, 2 /* 803ADC18 003AAB78 90 0D AF 38 */ stw r0, dspCmdPtr@sda21(r13) /* 803ADC1C 003AAB7C B0 64 00 00 */ sth r3, 0(r4) /* 803ADC20 003AAB80 80 8D AF 24 */ lwz r4, dspCmdLastLoad@sda21(r13) /* 803ADC24 003AAB84 80 6D AF 30 */ lwz r3, dspCmdCurBase@sda21(r13) /* 803ADC28 003AAB88 80 0D AF 38 */ lwz r0, dspCmdPtr@sda21(r13) /* 803ADC2C 003AAB8C 28 04 00 00 */ cmplwi r4, 0 /* 803ADC30 003AAB90 7C 63 00 50 */ subf r3, r3, r0 /* 803ADC34 003AAB94 38 03 00 03 */ addi r0, r3, 3 /* 803ADC38 003AAB98 54 00 04 3A */ rlwinm r0, r0, 0, 0x10, 0x1d /* 803ADC3C 003AAB9C 41 82 00 18 */ beq lbl_803ADC54 /* 803ADC40 003AABA0 B0 04 00 06 */ sth r0, 6(r4) /* 803ADC44 003AABA4 80 6D AF 28 */ lwz r3, dspCmdLastBase@sda21(r13) /* 803ADC48 003AABA8 A0 8D AF 2C */ lhz r4, dspCmdLastSize@sda21(r13) /* 803ADC4C 003AABAC 4B FD 0E F1 */ bl DCStoreRangeNoSync /* 803ADC50 003AABB0 48 00 00 08 */ b lbl_803ADC58 lbl_803ADC54: /* 803ADC54 003AABB4 B0 0D AF 3C */ sth r0, dspCmdFirstSize@sda21(r13) lbl_803ADC58: /* 803ADC58 003AABB8 80 6D AF 30 */ lwz r3, dspCmdCurBase@sda21(r13) /* 803ADC5C 003AABBC 80 0D AF 38 */ lwz r0, dspCmdPtr@sda21(r13) /* 803ADC60 003AABC0 7C 83 00 50 */ subf r4, r3, r0 /* 803ADC64 003AABC4 4B FD 0E D9 */ bl DCStoreRangeNoSync /* 803ADC68 003AABC8 39 61 00 80 */ addi r11, r1, 0x80 /* 803ADC6C 003AABCC 4B FD BE 29 */ bl __restore_gpr /* 803ADC70 003AABD0 80 01 00 84 */ lwz r0, 0x84(r1) /* 803ADC74 003AABD4 7C 08 03 A6 */ mtlr r0 /* 803ADC78 003AABD8 38 21 00 80 */ addi r1, r1, 0x80 /* 803ADC7C 003AABDC 4E 80 00 20 */ blr .global salSynthSendMessage salSynthSendMessage: /* 803ADC80 003AABE0 94 21 FF F0 */ stwu r1, -0x10(r1) /* 803ADC84 003AABE4 7C 08 02 A6 */ mflr r0 /* 803ADC88 003AABE8 7C 65 1B 78 */ mr r5, r3 /* 803ADC8C 003AABEC 90 01 00 14 */ stw r0, 0x14(r1) /* 803ADC90 003AABF0 81 8D AF 58 */ lwz r12, salMessageCallback@sda21(r13) /* 803ADC94 003AABF4 28 0C 00 00 */ cmplwi r12, 0 /* 803ADC98 003AABF8 40 82 00 0C */ bne lbl_803ADCA4 /* 803ADC9C 003AABFC 38 60 00 00 */ li r3, 0 /* 803ADCA0 003AAC00 48 00 00 14 */ b lbl_803ADCB4 lbl_803ADCA4: /* 803ADCA4 003AAC04 7C 83 23 78 */ mr r3, r4 /* 803ADCA8 003AAC08 80 85 00 18 */ lwz r4, 0x18(r5) /* 803ADCAC 003AAC0C 7D 89 03 A6 */ mtctr r12 /* 803ADCB0 003AAC10 4E 80 04 21 */ bctrl lbl_803ADCB4: /* 803ADCB4 003AAC14 80 01 00 14 */ lwz r0, 0x14(r1) /* 803ADCB8 003AAC18 7C 08 03 A6 */ mtlr r0 /* 803ADCBC 003AAC1C 38 21 00 10 */ addi r1, r1, 0x10 /* 803ADCC0 003AAC20 4E 80 00 20 */ blr .global salActivateVoice salActivateVoice: /* 803ADCC4 003AAC24 94 21 FF F0 */ stwu r1, -0x10(r1) /* 803ADCC8 003AAC28 7C 08 02 A6 */ mflr r0 /* 803ADCCC 003AAC2C 90 01 00 14 */ stw r0, 0x14(r1) /* 803ADCD0 003AAC30 93 E1 00 0C */ stw r31, 0xc(r1) /* 803ADCD4 003AAC34 7C 9F 23 78 */ mr r31, r4 /* 803ADCD8 003AAC38 93 C1 00 08 */ stw r30, 8(r1) /* 803ADCDC 003AAC3C 7C 7E 1B 78 */ mr r30, r3 /* 803ADCE0 003AAC40 88 03 00 EC */ lbz r0, 0xec(r3) /* 803ADCE4 003AAC44 28 00 00 00 */ cmplwi r0, 0 /* 803ADCE8 003AAC48 41 82 00 14 */ beq lbl_803ADCFC /* 803ADCEC 003AAC4C 48 00 00 79 */ bl salDeactivateVoice /* 803ADCF0 003AAC50 80 1E 00 24 */ lwz r0, 0x24(r30) /* 803ADCF4 003AAC54 60 00 00 20 */ ori r0, r0, 0x20 /* 803ADCF8 003AAC58 90 1E 00 24 */ stw r0, 0x24(r30) lbl_803ADCFC: /* 803ADCFC 003AAC5C 57 E0 06 3E */ clrlwi r0, r31, 0x18 /* 803ADD00 003AAC60 38 80 00 00 */ li r4, 0 /* 803ADD04 003AAC64 1C 00 00 BC */ mulli r0, r0, 0xbc /* 803ADD08 003AAC68 3C 60 80 56 */ lis r3, dspStudio@ha /* 803ADD0C 003AAC6C 98 9E 00 ED */ stb r4, 0xed(r30) /* 803ADD10 003AAC70 38 63 F2 60 */ addi r3, r3, dspStudio@l /* 803ADD14 003AAC74 7C 83 02 14 */ add r4, r3, r0 /* 803ADD18 003AAC78 84 04 00 48 */ lwzu r0, 0x48(r4) /* 803ADD1C 003AAC7C 28 00 00 00 */ cmplwi r0, 0 /* 803ADD20 003AAC80 90 1E 00 0C */ stw r0, 0xc(r30) /* 803ADD24 003AAC84 41 82 00 0C */ beq lbl_803ADD30 /* 803ADD28 003AAC88 80 7E 00 0C */ lwz r3, 0xc(r30) /* 803ADD2C 003AAC8C 93 C3 00 10 */ stw r30, 0x10(r3) lbl_803ADD30: /* 803ADD30 003AAC90 38 60 00 00 */ li r3, 0 /* 803ADD34 003AAC94 38 00 00 01 */ li r0, 1 /* 803ADD38 003AAC98 90 7E 00 10 */ stw r3, 0x10(r30) /* 803ADD3C 003AAC9C 93 C4 00 00 */ stw r30, 0(r4) /* 803ADD40 003AACA0 98 7E 00 EE */ stb r3, 0xee(r30) /* 803ADD44 003AACA4 98 1E 00 EC */ stb r0, 0xec(r30) /* 803ADD48 003AACA8 9B FE 00 EF */ stb r31, 0xef(r30) /* 803ADD4C 003AACAC 83 E1 00 0C */ lwz r31, 0xc(r1) /* 803ADD50 003AACB0 83 C1 00 08 */ lwz r30, 8(r1) /* 803ADD54 003AACB4 80 01 00 14 */ lwz r0, 0x14(r1) /* 803ADD58 003AACB8 7C 08 03 A6 */ mtlr r0 /* 803ADD5C 003AACBC 38 21 00 10 */ addi r1, r1, 0x10 /* 803ADD60 003AACC0 4E 80 00 20 */ blr .global salDeactivateVoice salDeactivateVoice: /* 803ADD64 003AACC4 88 03 00 EC */ lbz r0, 0xec(r3) /* 803ADD68 003AACC8 28 00 00 00 */ cmplwi r0, 0 /* 803ADD6C 003AACCC 4D 82 00 20 */ beqlr /* 803ADD70 003AACD0 80 83 00 10 */ lwz r4, 0x10(r3) /* 803ADD74 003AACD4 28 04 00 00 */ cmplwi r4, 0 /* 803ADD78 003AACD8 41 82 00 10 */ beq lbl_803ADD88 /* 803ADD7C 003AACDC 80 03 00 0C */ lwz r0, 0xc(r3) /* 803ADD80 003AACE0 90 04 00 0C */ stw r0, 0xc(r4) /* 803ADD84 003AACE4 48 00 00 20 */ b lbl_803ADDA4 lbl_803ADD88: /* 803ADD88 003AACE8 88 03 00 EF */ lbz r0, 0xef(r3) /* 803ADD8C 003AACEC 3C 80 80 56 */ lis r4, dspStudio@ha /* 803ADD90 003AACF0 38 84 F2 60 */ addi r4, r4, dspStudio@l /* 803ADD94 003AACF4 80 A3 00 0C */ lwz r5, 0xc(r3) /* 803ADD98 003AACF8 1C 00 00 BC */ mulli r0, r0, 0xbc /* 803ADD9C 003AACFC 7C 84 02 14 */ add r4, r4, r0 /* 803ADDA0 003AAD00 90 A4 00 48 */ stw r5, 0x48(r4) lbl_803ADDA4: /* 803ADDA4 003AAD04 80 83 00 0C */ lwz r4, 0xc(r3) /* 803ADDA8 003AAD08 28 04 00 00 */ cmplwi r4, 0 /* 803ADDAC 003AAD0C 41 82 00 0C */ beq lbl_803ADDB8 /* 803ADDB0 003AAD10 80 03 00 10 */ lwz r0, 0x10(r3) /* 803ADDB4 003AAD14 90 04 00 10 */ stw r0, 0x10(r4) lbl_803ADDB8: /* 803ADDB8 003AAD18 38 00 00 00 */ li r0, 0 /* 803ADDBC 003AAD1C 98 03 00 EC */ stb r0, 0xec(r3) /* 803ADDC0 003AAD20 4E 80 00 20 */ blr .global sub_803addc4 sub_803addc4: /* 803ADDC4 003AAD24 88 03 00 EC */ lbz r0, 0xec(r3) /* 803ADDC8 003AAD28 28 00 00 00 */ cmplwi r0, 0 /* 803ADDCC 003AAD2C 41 82 00 B8 */ beq lbl_803ADE84 /* 803ADDD0 003AAD30 80 A3 00 10 */ lwz r5, 0x10(r3) /* 803ADDD4 003AAD34 28 05 00 00 */ cmplwi r5, 0 /* 803ADDD8 003AAD38 41 82 00 10 */ beq lbl_803ADDE8 /* 803ADDDC 003AAD3C 80 03 00 0C */ lwz r0, 0xc(r3) /* 803ADDE0 003AAD40 90 05 00 0C */ stw r0, 0xc(r5) /* 803ADDE4 003AAD44 48 00 00 20 */ b lbl_803ADE04 lbl_803ADDE8: /* 803ADDE8 003AAD48 88 03 00 EF */ lbz r0, 0xef(r3) /* 803ADDEC 003AAD4C 3C A0 80 56 */ lis r5, dspStudio@ha /* 803ADDF0 003AAD50 38 A5 F2 60 */ addi r5, r5, dspStudio@l /* 803ADDF4 003AAD54 80 C3 00 0C */ lwz r6, 0xc(r3) /* 803ADDF8 003AAD58 1C 00 00 BC */ mulli r0, r0, 0xbc /* 803ADDFC 003AAD5C 7C A5 02 14 */ add r5, r5, r0 /* 803ADE00 003AAD60 90 C5 00 48 */ stw r6, 0x48(r5) lbl_803ADE04: /* 803ADE04 003AAD64 80 A3 00 0C */ lwz r5, 0xc(r3) /* 803ADE08 003AAD68 28 05 00 00 */ cmplwi r5, 0 /* 803ADE0C 003AAD6C 41 82 00 0C */ beq lbl_803ADE18 /* 803ADE10 003AAD70 80 03 00 10 */ lwz r0, 0x10(r3) /* 803ADE14 003AAD74 90 05 00 10 */ stw r0, 0x10(r5) lbl_803ADE18: /* 803ADE18 003AAD78 54 80 06 3E */ clrlwi r0, r4, 0x18 /* 803ADE1C 003AAD7C 3C A0 80 56 */ lis r5, dspStudio@ha /* 803ADE20 003AAD80 1C 00 00 BC */ mulli r0, r0, 0xbc /* 803ADE24 003AAD84 38 A5 F2 60 */ addi r5, r5, dspStudio@l /* 803ADE28 003AAD88 7C C5 02 14 */ add r6, r5, r0 /* 803ADE2C 003AAD8C 84 06 00 48 */ lwzu r0, 0x48(r6) /* 803ADE30 003AAD90 28 00 00 00 */ cmplwi r0, 0 /* 803ADE34 003AAD94 90 03 00 0C */ stw r0, 0xc(r3) /* 803ADE38 003AAD98 41 82 00 0C */ beq lbl_803ADE44 /* 803ADE3C 003AAD9C 80 A3 00 0C */ lwz r5, 0xc(r3) /* 803ADE40 003AADA0 90 65 00 10 */ stw r3, 0x10(r5) lbl_803ADE44: /* 803ADE44 003AADA4 38 00 00 00 */ li r0, 0 /* 803ADE48 003AADA8 90 03 00 10 */ stw r0, 0x10(r3) /* 803ADE4C 003AADAC 90 66 00 00 */ stw r3, 0(r6) /* 803ADE50 003AADB0 88 03 00 EC */ lbz r0, 0xec(r3) /* 803ADE54 003AADB4 28 00 00 02 */ cmplwi r0, 2 /* 803ADE58 003AADB8 40 82 00 2C */ bne lbl_803ADE84 /* 803ADE5C 003AADBC 88 03 00 EF */ lbz r0, 0xef(r3) /* 803ADE60 003AADC0 3C A0 80 56 */ lis r5, dspStudio@ha /* 803ADE64 003AADC4 38 A5 F2 60 */ addi r5, r5, dspStudio@l /* 803ADE68 003AADC8 1C 00 00 BC */ mulli r0, r0, 0xbc /* 803ADE6C 003AADCC 38 A5 00 4C */ addi r5, r5, 0x4c /* 803ADE70 003AADD0 7C 05 00 2E */ lwzx r0, r5, r0 /* 803ADE74 003AADD4 90 03 00 14 */ stw r0, 0x14(r3) /* 803ADE78 003AADD8 88 03 00 EF */ lbz r0, 0xef(r3) /* 803ADE7C 003AADDC 1C 00 00 BC */ mulli r0, r0, 0xbc /* 803ADE80 003AADE0 7C 65 01 2E */ stwx r3, r5, r0 lbl_803ADE84: /* 803ADE84 003AADE4 98 83 00 EF */ stb r4, 0xef(r3) /* 803ADE88 003AADE8 4E 80 00 20 */ blr .global sub_803ade8c sub_803ade8c: /* 803ADE8C 003AADEC 88 03 00 52 */ lbz r0, 0x52(r3) /* 803ADE90 003AADF0 28 00 00 07 */ cmplwi r0, 7 /* 803ADE94 003AADF4 40 80 00 98 */ bge lbl_803ADF2C /* 803ADE98 003AADF8 1C 00 00 0C */ mulli r0, r0, 0xc /* 803ADE9C 003AADFC 88 C4 00 03 */ lbz r6, 3(r4) /* 803ADEA0 003AAE00 7C A3 02 14 */ add r5, r3, r0 /* 803ADEA4 003AAE04 98 C5 00 58 */ stb r6, 0x58(r5) /* 803ADEA8 003AAE08 88 03 00 52 */ lbz r0, 0x52(r3) /* 803ADEAC 003AAE0C 88 A4 00 00 */ lbz r5, 0(r4) /* 803ADEB0 003AAE10 1C 00 00 0C */ mulli r0, r0, 0xc /* 803ADEB4 003AAE14 54 A6 42 2E */ rlwinm r6, r5, 8, 8, 0x17 /* 803ADEB8 003AAE18 54 A5 0B FC */ rlwinm r5, r5, 1, 0xf, 0x1e /* 803ADEBC 003AAE1C 7C C6 2B 78 */ or r6, r6, r5 /* 803ADEC0 003AAE20 7C A3 02 14 */ add r5, r3, r0 /* 803ADEC4 003AAE24 B0 C5 00 5A */ sth r6, 0x5a(r5) /* 803ADEC8 003AAE28 88 03 00 52 */ lbz r0, 0x52(r3) /* 803ADECC 003AAE2C 88 A4 00 01 */ lbz r5, 1(r4) /* 803ADED0 003AAE30 1C 00 00 0C */ mulli r0, r0, 0xc /* 803ADED4 003AAE34 54 A6 42 2E */ rlwinm r6, r5, 8, 8, 0x17 /* 803ADED8 003AAE38 54 A5 0B FC */ rlwinm r5, r5, 1, 0xf, 0x1e /* 803ADEDC 003AAE3C 7C C6 2B 78 */ or r6, r6, r5 /* 803ADEE0 003AAE40 7C A3 02 14 */ add r5, r3, r0 /* 803ADEE4 003AAE44 B0 C5 00 5C */ sth r6, 0x5c(r5) /* 803ADEE8 003AAE48 88 03 00 52 */ lbz r0, 0x52(r3) /* 803ADEEC 003AAE4C 88 A4 00 02 */ lbz r5, 2(r4) /* 803ADEF0 003AAE50 1C 00 00 0C */ mulli r0, r0, 0xc /* 803ADEF4 003AAE54 54 A6 42 2E */ rlwinm r6, r5, 8, 8, 0x17 /* 803ADEF8 003AAE58 54 A5 0B FC */ rlwinm r5, r5, 1, 0xf, 0x1e /* 803ADEFC 003AAE5C 7C C6 2B 78 */ or r6, r6, r5 /* 803ADF00 003AAE60 7C A3 02 14 */ add r5, r3, r0 /* 803ADF04 003AAE64 B0 C5 00 5E */ sth r6, 0x5e(r5) /* 803ADF08 003AAE68 88 03 00 52 */ lbz r0, 0x52(r3) /* 803ADF0C 003AAE6C 1C 00 00 0C */ mulli r0, r0, 0xc /* 803ADF10 003AAE70 7C A3 02 14 */ add r5, r3, r0 /* 803ADF14 003AAE74 90 85 00 60 */ stw r4, 0x60(r5) /* 803ADF18 003AAE78 88 83 00 52 */ lbz r4, 0x52(r3) /* 803ADF1C 003AAE7C 38 04 00 01 */ addi r0, r4, 1 /* 803ADF20 003AAE80 98 03 00 52 */ stb r0, 0x52(r3) /* 803ADF24 003AAE84 38 60 00 01 */ li r3, 1 /* 803ADF28 003AAE88 4E 80 00 20 */ blr lbl_803ADF2C: /* 803ADF2C 003AAE8C 38 60 00 00 */ li r3, 0 /* 803ADF30 003AAE90 4E 80 00 20 */ blr .global sub_803adf34 sub_803adf34: /* 803ADF34 003AAE94 88 03 00 52 */ lbz r0, 0x52(r3) /* 803ADF38 003AAE98 7C 66 1B 78 */ mr r6, r3 /* 803ADF3C 003AAE9C 38 A0 00 00 */ li r5, 0 /* 803ADF40 003AAEA0 7C 09 03 A6 */ mtctr r0 /* 803ADF44 003AAEA4 2C 00 00 00 */ cmpwi r0, 0 /* 803ADF48 003AAEA8 40 81 00 68 */ ble lbl_803ADFB0 lbl_803ADF4C: /* 803ADF4C 003AAEAC 80 03 00 60 */ lwz r0, 0x60(r3) /* 803ADF50 003AAEB0 7C 00 20 40 */ cmplw r0, r4 /* 803ADF54 003AAEB4 40 82 00 50 */ bne lbl_803ADFA4 /* 803ADF58 003AAEB8 1C 05 00 0C */ mulli r0, r5, 0xc /* 803ADF5C 003AAEBC 7C 86 02 14 */ add r4, r6, r0 /* 803ADF60 003AAEC0 48 00 00 24 */ b lbl_803ADF84 lbl_803ADF64: /* 803ADF64 003AAEC4 80 64 00 64 */ lwz r3, 0x64(r4) /* 803ADF68 003AAEC8 38 A5 00 01 */ addi r5, r5, 1 /* 803ADF6C 003AAECC 80 04 00 68 */ lwz r0, 0x68(r4) /* 803ADF70 003AAED0 90 64 00 58 */ stw r3, 0x58(r4) /* 803ADF74 003AAED4 90 04 00 5C */ stw r0, 0x5c(r4) /* 803ADF78 003AAED8 80 04 00 6C */ lwz r0, 0x6c(r4) /* 803ADF7C 003AAEDC 90 04 00 60 */ stw r0, 0x60(r4) /* 803ADF80 003AAEE0 38 84 00 0C */ addi r4, r4, 0xc lbl_803ADF84: /* 803ADF84 003AAEE4 88 66 00 52 */ lbz r3, 0x52(r6) /* 803ADF88 003AAEE8 38 03 FF FE */ addi r0, r3, -2 /* 803ADF8C 003AAEEC 7C 05 00 00 */ cmpw r5, r0 /* 803ADF90 003AAEF0 40 81 FF D4 */ ble lbl_803ADF64 /* 803ADF94 003AAEF4 38 03 FF FF */ addi r0, r3, -1 /* 803ADF98 003AAEF8 38 60 00 01 */ li r3, 1 /* 803ADF9C 003AAEFC 98 06 00 52 */ stb r0, 0x52(r6) /* 803ADFA0 003AAF00 4E 80 00 20 */ blr lbl_803ADFA4: /* 803ADFA4 003AAF04 38 63 00 0C */ addi r3, r3, 0xc /* 803ADFA8 003AAF08 38 A5 00 01 */ addi r5, r5, 1 /* 803ADFAC 003AAF0C 42 00 FF A0 */ bdnz lbl_803ADF4C lbl_803ADFB0: /* 803ADFB0 003AAF10 38 60 00 00 */ li r3, 0 /* 803ADFB4 003AAF14 4E 80 00 20 */ blr .global salHandleAuxProcessing salHandleAuxProcessing: /* 803ADFB8 003AAF18 94 21 FF D0 */ stwu r1, -0x30(r1) /* 803ADFBC 003AAF1C 7C 08 02 A6 */ mflr r0 /* 803ADFC0 003AAF20 3C 60 80 56 */ lis r3, dspStudio@ha /* 803ADFC4 003AAF24 90 01 00 34 */ stw r0, 0x34(r1) /* 803ADFC8 003AAF28 38 03 F2 60 */ addi r0, r3, dspStudio@l /* 803ADFCC 003AAF2C 93 E1 00 2C */ stw r31, 0x2c(r1) /* 803ADFD0 003AAF30 3B E0 00 00 */ li r31, 0 /* 803ADFD4 003AAF34 93 C1 00 28 */ stw r30, 0x28(r1) /* 803ADFD8 003AAF38 7C 1E 03 78 */ mr r30, r0 /* 803ADFDC 003AAF3C 93 A1 00 24 */ stw r29, 0x24(r1) /* 803ADFE0 003AAF40 48 00 01 04 */ b lbl_803AE0E4 lbl_803ADFE4: /* 803ADFE4 003AAF44 88 1E 00 50 */ lbz r0, 0x50(r30) /* 803ADFE8 003AAF48 28 00 00 01 */ cmplwi r0, 1 /* 803ADFEC 003AAF4C 40 82 00 F0 */ bne lbl_803AE0DC /* 803ADFF0 003AAF50 81 9E 00 AC */ lwz r12, 0xac(r30) /* 803ADFF4 003AAF54 28 0C 00 00 */ cmplwi r12, 0 /* 803ADFF8 003AAF58 41 82 00 68 */ beq lbl_803AE060 /* 803ADFFC 003AAF5C 88 8D AF 8E */ lbz r4, salAuxFrame@sda21(r13) /* 803AE000 003AAF60 3C 60 55 55 */ lis r3, 0x55555556@ha /* 803AE004 003AAF64 38 03 55 56 */ addi r0, r3, 0x55555556@l /* 803AE008 003AAF68 80 BE 00 B4 */ lwz r5, 0xb4(r30) /* 803AE00C 003AAF6C 38 E4 00 02 */ addi r7, r4, 2 /* 803AE010 003AAF70 38 81 00 08 */ addi r4, r1, 8 /* 803AE014 003AAF74 7C C0 38 96 */ mulhw r6, r0, r7 /* 803AE018 003AAF78 38 60 00 00 */ li r3, 0 /* 803AE01C 003AAF7C 54 C0 0F FE */ srwi r0, r6, 0x1f /* 803AE020 003AAF80 7C 06 02 14 */ add r0, r6, r0 /* 803AE024 003AAF84 1C 00 00 03 */ mulli r0, r0, 3 /* 803AE028 003AAF88 7C 00 38 50 */ subf r0, r0, r7 /* 803AE02C 003AAF8C 54 06 10 3A */ slwi r6, r0, 2 /* 803AE030 003AAF90 38 06 00 30 */ addi r0, r6, 0x30 /* 803AE034 003AAF94 7F BE 00 2E */ lwzx r29, r30, r0 /* 803AE038 003AAF98 38 DD 02 80 */ addi r6, r29, 0x280 /* 803AE03C 003AAF9C 38 1D 05 00 */ addi r0, r29, 0x500 /* 803AE040 003AAFA0 93 A1 00 08 */ stw r29, 8(r1) /* 803AE044 003AAFA4 90 C1 00 0C */ stw r6, 0xc(r1) /* 803AE048 003AAFA8 90 01 00 10 */ stw r0, 0x10(r1) /* 803AE04C 003AAFAC 7D 89 03 A6 */ mtctr r12 /* 803AE050 003AAFB0 4E 80 04 21 */ bctrl /* 803AE054 003AAFB4 7F A3 EB 78 */ mr r3, r29 /* 803AE058 003AAFB8 38 80 07 80 */ li r4, 0x780 /* 803AE05C 003AAFBC 4B FD 0A B5 */ bl DCFlushRangeNoSync lbl_803AE060: /* 803AE060 003AAFC0 80 1E 00 54 */ lwz r0, 0x54(r30) /* 803AE064 003AAFC4 2C 00 00 00 */ cmpwi r0, 0 /* 803AE068 003AAFC8 40 82 00 74 */ bne lbl_803AE0DC /* 803AE06C 003AAFCC 81 9E 00 B0 */ lwz r12, 0xb0(r30) /* 803AE070 003AAFD0 28 0C 00 00 */ cmplwi r12, 0 /* 803AE074 003AAFD4 41 82 00 68 */ beq lbl_803AE0DC /* 803AE078 003AAFD8 88 8D AF 8E */ lbz r4, salAuxFrame@sda21(r13) /* 803AE07C 003AAFDC 3C 60 55 55 */ lis r3, 0x55555556@ha /* 803AE080 003AAFE0 38 03 55 56 */ addi r0, r3, 0x55555556@l /* 803AE084 003AAFE4 80 BE 00 B8 */ lwz r5, 0xb8(r30) /* 803AE088 003AAFE8 38 E4 00 02 */ addi r7, r4, 2 /* 803AE08C 003AAFEC 38 81 00 08 */ addi r4, r1, 8 /* 803AE090 003AAFF0 7C C0 38 96 */ mulhw r6, r0, r7 /* 803AE094 003AAFF4 38 60 00 00 */ li r3, 0 /* 803AE098 003AAFF8 54 C0 0F FE */ srwi r0, r6, 0x1f /* 803AE09C 003AAFFC 7C 06 02 14 */ add r0, r6, r0 /* 803AE0A0 003AB000 1C 00 00 03 */ mulli r0, r0, 3 /* 803AE0A4 003AB004 7C 00 38 50 */ subf r0, r0, r7 /* 803AE0A8 003AB008 54 06 10 3A */ slwi r6, r0, 2 /* 803AE0AC 003AB00C 38 06 00 3C */ addi r0, r6, 0x3c /* 803AE0B0 003AB010 7F BE 00 2E */ lwzx r29, r30, r0 /* 803AE0B4 003AB014 38 DD 02 80 */ addi r6, r29, 0x280 /* 803AE0B8 003AB018 38 1D 05 00 */ addi r0, r29, 0x500 /* 803AE0BC 003AB01C 93 A1 00 08 */ stw r29, 8(r1) /* 803AE0C0 003AB020 90 C1 00 0C */ stw r6, 0xc(r1) /* 803AE0C4 003AB024 90 01 00 10 */ stw r0, 0x10(r1) /* 803AE0C8 003AB028 7D 89 03 A6 */ mtctr r12 /* 803AE0CC 003AB02C 4E 80 04 21 */ bctrl /* 803AE0D0 003AB030 7F A3 EB 78 */ mr r3, r29 /* 803AE0D4 003AB034 38 80 07 80 */ li r4, 0x780 /* 803AE0D8 003AB038 4B FD 0A 39 */ bl DCFlushRangeNoSync lbl_803AE0DC: /* 803AE0DC 003AB03C 3B FF 00 01 */ addi r31, r31, 1 /* 803AE0E0 003AB040 3B DE 00 BC */ addi r30, r30, 0xbc lbl_803AE0E4: /* 803AE0E4 003AB044 88 0D AF 8C */ lbz r0, salMaxStudioNum@sda21(r13) /* 803AE0E8 003AB048 57 E3 06 3E */ clrlwi r3, r31, 0x18 /* 803AE0EC 003AB04C 7C 03 00 40 */ cmplw r3, r0 /* 803AE0F0 003AB050 41 80 FE F4 */ blt lbl_803ADFE4 /* 803AE0F4 003AB054 80 01 00 34 */ lwz r0, 0x34(r1) /* 803AE0F8 003AB058 83 E1 00 2C */ lwz r31, 0x2c(r1) /* 803AE0FC 003AB05C 83 C1 00 28 */ lwz r30, 0x28(r1) /* 803AE100 003AB060 83 A1 00 24 */ lwz r29, 0x24(r1) /* 803AE104 003AB064 7C 08 03 A6 */ mtlr r0 /* 803AE108 003AB068 38 21 00 30 */ addi r1, r1, 0x30 /* 803AE10C 003AB06C 4E 80 00 20 */ blr