.include "macros.inc" .section .bss .global gs gs: .skip 0x600 .global dspStudio dspStudio: .skip 0x5E0 "voices$217": .skip 0x100 .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: # ROM: 0x3F0FA8 .4byte 0x0BAE0BAE .4byte 0x045B0CE4 .4byte 0x0CE4045B .4byte 0x0E740E74 .4byte 0x045B0000 .4byte 0 .section .rodata .global lbl_803D8A68 lbl_803D8A68: # ROM: 0x3D5A68 .4byte 0x05BE0B7C .4byte 0x0B7C113A .4byte 0x08B6116C .4byte 0x116C1A22 .4byte 0x09A6134C .4byte 0x134C1CF2 .4byte 0x0E971D2E .4byte 0x1D2E2BC5 .4byte 0x0B7C0D3A .4byte 0x0B7C0D3A .4byte 0x0B7C0D3A .4byte 0x0B7C0D3A .4byte 0x134C1637 .4byte 0x134C1637 .4byte 0x134C1637 .4byte 0x134C1637 .global lbl_803D8AA8 lbl_803D8AA8: # ROM: 0x3D5AA8 .4byte 0x000A000C .4byte 0x0018000E .4byte 0x0010001A .4byte 0x00120014 .4byte 0x00160000 .4byte 0 .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