prime/asm/musyx/synthvoice.s

1991 lines
94 KiB
ArmAsm

.include "macros.inc"
.section .bss
.balign 8
.global vidList
vidList:
.skip 0xF00
.global synth_last_fxstarted
synth_last_fxstarted:
.skip 0x40
.global synth_last_started
synth_last_started:
.skip 0x80
.global vs
vs:
.skip 0x950
.section .sbss
.balign 8
.global vidFree
vidFree:
.skip 0x4
.global vidRoot
vidRoot:
.skip 0x4
.global vidCurrentId
vidCurrentId:
.skip 0x4
.global voicePrioSortRootListRoot
voicePrioSortRootListRoot:
.skip 0x2
.global voiceMusicRunning
voiceMusicRunning:
.skip 0x1
.global voiceFxRunning
voiceFxRunning:
.skip 0x1
.global voiceListInsert
voiceListInsert:
.skip 0x1
.global voiceListRoot
voiceListRoot:
.skip 0x7
.section .text, "ax"
.global vidInit
vidInit:
/* 803A7660 003A45C0 3C 60 80 56 */ lis r3, vidList@ha
/* 803A7664 003A45C4 38 80 00 00 */ li r4, 0
/* 803A7668 003A45C8 38 63 D3 50 */ addi r3, r3, vidList@l
/* 803A766C 003A45CC 38 00 00 10 */ li r0, 0x10
/* 803A7670 003A45D0 90 8D AF 08 */ stw r4, vidCurrentId@sda21(r13)
/* 803A7674 003A45D4 38 C0 00 00 */ li r6, 0
/* 803A7678 003A45D8 38 A0 00 00 */ li r5, 0
/* 803A767C 003A45DC 90 8D AF 04 */ stw r4, vidRoot@sda21(r13)
/* 803A7680 003A45E0 90 6D AF 00 */ stw r3, vidFree@sda21(r13)
/* 803A7684 003A45E4 7C 09 03 A6 */ mtctr r0
lbl_803A7688:
/* 803A7688 003A45E8 28 06 00 00 */ cmplwi r6, 0
/* 803A768C 003A45EC 90 C3 00 04 */ stw r6, 4(r3)
/* 803A7690 003A45F0 41 82 00 08 */ beq lbl_803A7698
/* 803A7694 003A45F4 90 66 00 00 */ stw r3, 0(r6)
lbl_803A7698:
/* 803A7698 003A45F8 7C 66 1B 79 */ or. r6, r3, r3
/* 803A769C 003A45FC 90 C3 00 14 */ stw r6, 0x14(r3)
/* 803A76A0 003A4600 38 63 00 10 */ addi r3, r3, 0x10
/* 803A76A4 003A4604 41 82 00 08 */ beq lbl_803A76AC
/* 803A76A8 003A4608 90 66 00 00 */ stw r3, 0(r6)
lbl_803A76AC:
/* 803A76AC 003A460C 7C 66 1B 79 */ or. r6, r3, r3
/* 803A76B0 003A4610 90 C3 00 14 */ stw r6, 0x14(r3)
/* 803A76B4 003A4614 38 63 00 10 */ addi r3, r3, 0x10
/* 803A76B8 003A4618 41 82 00 08 */ beq lbl_803A76C0
/* 803A76BC 003A461C 90 66 00 00 */ stw r3, 0(r6)
lbl_803A76C0:
/* 803A76C0 003A4620 7C 66 1B 79 */ or. r6, r3, r3
/* 803A76C4 003A4624 90 C3 00 14 */ stw r6, 0x14(r3)
/* 803A76C8 003A4628 38 63 00 10 */ addi r3, r3, 0x10
/* 803A76CC 003A462C 41 82 00 08 */ beq lbl_803A76D4
/* 803A76D0 003A4630 90 66 00 00 */ stw r3, 0(r6)
lbl_803A76D4:
/* 803A76D4 003A4634 7C 66 1B 79 */ or. r6, r3, r3
/* 803A76D8 003A4638 90 C3 00 14 */ stw r6, 0x14(r3)
/* 803A76DC 003A463C 38 63 00 10 */ addi r3, r3, 0x10
/* 803A76E0 003A4640 41 82 00 08 */ beq lbl_803A76E8
/* 803A76E4 003A4644 90 66 00 00 */ stw r3, 0(r6)
lbl_803A76E8:
/* 803A76E8 003A4648 7C 66 1B 79 */ or. r6, r3, r3
/* 803A76EC 003A464C 90 C3 00 14 */ stw r6, 0x14(r3)
/* 803A76F0 003A4650 38 63 00 10 */ addi r3, r3, 0x10
/* 803A76F4 003A4654 41 82 00 08 */ beq lbl_803A76FC
/* 803A76F8 003A4658 90 66 00 00 */ stw r3, 0(r6)
lbl_803A76FC:
/* 803A76FC 003A465C 7C 66 1B 79 */ or. r6, r3, r3
/* 803A7700 003A4660 90 C3 00 14 */ stw r6, 0x14(r3)
/* 803A7704 003A4664 38 63 00 10 */ addi r3, r3, 0x10
/* 803A7708 003A4668 41 82 00 08 */ beq lbl_803A7710
/* 803A770C 003A466C 90 66 00 00 */ stw r3, 0(r6)
lbl_803A7710:
/* 803A7710 003A4670 7C 66 1B 79 */ or. r6, r3, r3
/* 803A7714 003A4674 90 C3 00 14 */ stw r6, 0x14(r3)
/* 803A7718 003A4678 38 63 00 10 */ addi r3, r3, 0x10
/* 803A771C 003A467C 41 82 00 08 */ beq lbl_803A7724
/* 803A7720 003A4680 90 66 00 00 */ stw r3, 0(r6)
lbl_803A7724:
/* 803A7724 003A4684 7C 66 1B 78 */ mr r6, r3
/* 803A7728 003A4688 38 63 00 10 */ addi r3, r3, 0x10
/* 803A772C 003A468C 38 A5 00 07 */ addi r5, r5, 7
/* 803A7730 003A4690 42 00 FF 58 */ bdnz lbl_803A7688
/* 803A7734 003A4694 38 00 00 00 */ li r0, 0
/* 803A7738 003A4698 90 06 00 00 */ stw r0, 0(r6)
/* 803A773C 003A469C 4E 80 00 20 */ blr
.global vidRemoveVoiceReferences
vidRemoveVoiceReferences:
/* 803A7740 003A46A0 94 21 FF F0 */ stwu r1, -0x10(r1)
/* 803A7744 003A46A4 7C 08 02 A6 */ mflr r0
/* 803A7748 003A46A8 90 01 00 14 */ stw r0, 0x14(r1)
/* 803A774C 003A46AC 93 E1 00 0C */ stw r31, 0xc(r1)
/* 803A7750 003A46B0 7C 7F 1B 78 */ mr r31, r3
/* 803A7754 003A46B4 80 83 00 F4 */ lwz r4, 0xf4(r3)
/* 803A7758 003A46B8 3C 04 00 01 */ addis r0, r4, 1
/* 803A775C 003A46BC 28 00 FF FF */ cmplwi r0, 0xffff
/* 803A7760 003A46C0 41 82 03 1C */ beq lbl_803A7A7C
/* 803A7764 003A46C4 48 00 17 D5 */ bl voiceResetLastStarted
/* 803A7768 003A46C8 80 7F 00 F0 */ lwz r3, 0xf0(r31)
/* 803A776C 003A46CC 3C 03 00 01 */ addis r0, r3, 1
/* 803A7770 003A46D0 28 00 FF FF */ cmplwi r0, 0xffff
/* 803A7774 003A46D4 41 82 00 BC */ beq lbl_803A7830
/* 803A7778 003A46D8 54 60 06 3E */ clrlwi r0, r3, 0x18
/* 803A777C 003A46DC 80 6D AE 78 */ lwz r3, synthVoice@sda21(r13)
/* 803A7780 003A46E0 1C 00 04 04 */ mulli r0, r0, 0x404
/* 803A7784 003A46E4 80 9F 00 EC */ lwz r4, 0xec(r31)
/* 803A7788 003A46E8 7C 63 02 14 */ add r3, r3, r0
/* 803A778C 003A46EC 90 83 00 EC */ stw r4, 0xec(r3)
/* 803A7790 003A46F0 80 7F 00 EC */ lwz r3, 0xec(r31)
/* 803A7794 003A46F4 3C 03 00 01 */ addis r0, r3, 1
/* 803A7798 003A46F8 28 00 FF FF */ cmplwi r0, 0xffff
/* 803A779C 003A46FC 41 82 00 1C */ beq lbl_803A77B8
/* 803A77A0 003A4700 54 60 06 3E */ clrlwi r0, r3, 0x18
/* 803A77A4 003A4704 80 6D AE 78 */ lwz r3, synthVoice@sda21(r13)
/* 803A77A8 003A4708 1C 00 04 04 */ mulli r0, r0, 0x404
/* 803A77AC 003A470C 80 9F 00 F0 */ lwz r4, 0xf0(r31)
/* 803A77B0 003A4710 7C 63 02 14 */ add r3, r3, r0
/* 803A77B4 003A4714 90 83 00 F0 */ stw r4, 0xf0(r3)
lbl_803A77B8:
/* 803A77B8 003A4718 80 7F 00 F8 */ lwz r3, 0xf8(r31)
/* 803A77BC 003A471C 80 83 00 04 */ lwz r4, 4(r3)
/* 803A77C0 003A4720 28 04 00 00 */ cmplwi r4, 0
/* 803A77C4 003A4724 41 82 00 10 */ beq lbl_803A77D4
/* 803A77C8 003A4728 80 03 00 00 */ lwz r0, 0(r3)
/* 803A77CC 003A472C 90 04 00 00 */ stw r0, 0(r4)
/* 803A77D0 003A4730 48 00 00 0C */ b lbl_803A77DC
lbl_803A77D4:
/* 803A77D4 003A4734 80 03 00 00 */ lwz r0, 0(r3)
/* 803A77D8 003A4738 90 0D AF 04 */ stw r0, vidRoot@sda21(r13)
lbl_803A77DC:
/* 803A77DC 003A473C 80 7F 00 F8 */ lwz r3, 0xf8(r31)
/* 803A77E0 003A4740 80 83 00 00 */ lwz r4, 0(r3)
/* 803A77E4 003A4744 28 04 00 00 */ cmplwi r4, 0
/* 803A77E8 003A4748 41 82 00 0C */ beq lbl_803A77F4
/* 803A77EC 003A474C 80 03 00 04 */ lwz r0, 4(r3)
/* 803A77F0 003A4750 90 04 00 04 */ stw r0, 4(r4)
lbl_803A77F4:
/* 803A77F4 003A4754 80 0D AF 00 */ lwz r0, vidFree@sda21(r13)
/* 803A77F8 003A4758 80 7F 00 F8 */ lwz r3, 0xf8(r31)
/* 803A77FC 003A475C 90 03 00 00 */ stw r0, 0(r3)
/* 803A7800 003A4760 80 6D AF 00 */ lwz r3, vidFree@sda21(r13)
/* 803A7804 003A4764 28 03 00 00 */ cmplwi r3, 0
/* 803A7808 003A4768 41 82 00 0C */ beq lbl_803A7814
/* 803A780C 003A476C 80 1F 00 F8 */ lwz r0, 0xf8(r31)
/* 803A7810 003A4770 90 03 00 04 */ stw r0, 4(r3)
lbl_803A7814:
/* 803A7814 003A4774 80 7F 00 F8 */ lwz r3, 0xf8(r31)
/* 803A7818 003A4778 38 80 00 00 */ li r4, 0
/* 803A781C 003A477C 90 83 00 04 */ stw r4, 4(r3)
/* 803A7820 003A4780 80 1F 00 F8 */ lwz r0, 0xf8(r31)
/* 803A7824 003A4784 90 0D AF 00 */ stw r0, vidFree@sda21(r13)
/* 803A7828 003A4788 90 9F 00 F8 */ stw r4, 0xf8(r31)
/* 803A782C 003A478C 48 00 02 50 */ b lbl_803A7A7C
lbl_803A7830:
/* 803A7830 003A4790 80 BF 00 EC */ lwz r5, 0xec(r31)
/* 803A7834 003A4794 3C 05 00 01 */ addis r0, r5, 1
/* 803A7838 003A4798 28 00 FF FF */ cmplwi r0, 0xffff
/* 803A783C 003A479C 41 82 00 D4 */ beq lbl_803A7910
/* 803A7840 003A47A0 80 7F 00 F8 */ lwz r3, 0xf8(r31)
/* 803A7844 003A47A4 38 80 FF FF */ li r4, -1
/* 803A7848 003A47A8 90 A3 00 0C */ stw r5, 0xc(r3)
/* 803A784C 003A47AC 80 1F 00 EC */ lwz r0, 0xec(r31)
/* 803A7850 003A47B0 80 6D AE 78 */ lwz r3, synthVoice@sda21(r13)
/* 803A7854 003A47B4 54 00 06 3E */ clrlwi r0, r0, 0x18
/* 803A7858 003A47B8 1C 00 04 04 */ mulli r0, r0, 0x404
/* 803A785C 003A47BC 7C 63 02 14 */ add r3, r3, r0
/* 803A7860 003A47C0 90 83 00 F0 */ stw r4, 0xf0(r3)
/* 803A7864 003A47C4 80 1F 00 EC */ lwz r0, 0xec(r31)
/* 803A7868 003A47C8 80 6D AE 78 */ lwz r3, synthVoice@sda21(r13)
/* 803A786C 003A47CC 54 00 06 3E */ clrlwi r0, r0, 0x18
/* 803A7870 003A47D0 80 9F 00 FC */ lwz r4, 0xfc(r31)
/* 803A7874 003A47D4 1C 00 04 04 */ mulli r0, r0, 0x404
/* 803A7878 003A47D8 7C 63 02 14 */ add r3, r3, r0
/* 803A787C 003A47DC 90 83 00 FC */ stw r4, 0xfc(r3)
/* 803A7880 003A47E0 80 7F 00 F8 */ lwz r3, 0xf8(r31)
/* 803A7884 003A47E4 80 1F 00 FC */ lwz r0, 0xfc(r31)
/* 803A7888 003A47E8 7C 03 00 40 */ cmplw r3, r0
/* 803A788C 003A47EC 41 82 00 74 */ beq lbl_803A7900
/* 803A7890 003A47F0 80 83 00 04 */ lwz r4, 4(r3)
/* 803A7894 003A47F4 28 04 00 00 */ cmplwi r4, 0
/* 803A7898 003A47F8 41 82 00 10 */ beq lbl_803A78A8
/* 803A789C 003A47FC 80 03 00 00 */ lwz r0, 0(r3)
/* 803A78A0 003A4800 90 04 00 00 */ stw r0, 0(r4)
/* 803A78A4 003A4804 48 00 00 0C */ b lbl_803A78B0
lbl_803A78A8:
/* 803A78A8 003A4808 80 03 00 00 */ lwz r0, 0(r3)
/* 803A78AC 003A480C 90 0D AF 04 */ stw r0, vidRoot@sda21(r13)
lbl_803A78B0:
/* 803A78B0 003A4810 80 7F 00 F8 */ lwz r3, 0xf8(r31)
/* 803A78B4 003A4814 80 83 00 00 */ lwz r4, 0(r3)
/* 803A78B8 003A4818 28 04 00 00 */ cmplwi r4, 0
/* 803A78BC 003A481C 41 82 00 0C */ beq lbl_803A78C8
/* 803A78C0 003A4820 80 03 00 04 */ lwz r0, 4(r3)
/* 803A78C4 003A4824 90 04 00 04 */ stw r0, 4(r4)
lbl_803A78C8:
/* 803A78C8 003A4828 80 0D AF 00 */ lwz r0, vidFree@sda21(r13)
/* 803A78CC 003A482C 80 7F 00 F8 */ lwz r3, 0xf8(r31)
/* 803A78D0 003A4830 90 03 00 00 */ stw r0, 0(r3)
/* 803A78D4 003A4834 80 6D AF 00 */ lwz r3, vidFree@sda21(r13)
/* 803A78D8 003A4838 28 03 00 00 */ cmplwi r3, 0
/* 803A78DC 003A483C 41 82 00 0C */ beq lbl_803A78E8
/* 803A78E0 003A4840 80 1F 00 F8 */ lwz r0, 0xf8(r31)
/* 803A78E4 003A4844 90 03 00 04 */ stw r0, 4(r3)
lbl_803A78E8:
/* 803A78E8 003A4848 80 7F 00 F8 */ lwz r3, 0xf8(r31)
/* 803A78EC 003A484C 38 80 00 00 */ li r4, 0
/* 803A78F0 003A4850 90 83 00 04 */ stw r4, 4(r3)
/* 803A78F4 003A4854 80 1F 00 F8 */ lwz r0, 0xf8(r31)
/* 803A78F8 003A4858 90 0D AF 00 */ stw r0, vidFree@sda21(r13)
/* 803A78FC 003A485C 90 9F 00 F8 */ stw r4, 0xf8(r31)
lbl_803A7900:
/* 803A7900 003A4860 38 00 00 00 */ li r0, 0
/* 803A7904 003A4864 90 1F 00 F8 */ stw r0, 0xf8(r31)
/* 803A7908 003A4868 90 1F 00 FC */ stw r0, 0xfc(r31)
/* 803A790C 003A486C 48 00 01 70 */ b lbl_803A7A7C
lbl_803A7910:
/* 803A7910 003A4870 80 7F 00 F8 */ lwz r3, 0xf8(r31)
/* 803A7914 003A4874 80 1F 00 FC */ lwz r0, 0xfc(r31)
/* 803A7918 003A4878 7C 03 00 40 */ cmplw r3, r0
/* 803A791C 003A487C 41 82 00 EC */ beq lbl_803A7A08
/* 803A7920 003A4880 80 83 00 04 */ lwz r4, 4(r3)
/* 803A7924 003A4884 28 04 00 00 */ cmplwi r4, 0
/* 803A7928 003A4888 41 82 00 10 */ beq lbl_803A7938
/* 803A792C 003A488C 80 03 00 00 */ lwz r0, 0(r3)
/* 803A7930 003A4890 90 04 00 00 */ stw r0, 0(r4)
/* 803A7934 003A4894 48 00 00 0C */ b lbl_803A7940
lbl_803A7938:
/* 803A7938 003A4898 80 03 00 00 */ lwz r0, 0(r3)
/* 803A793C 003A489C 90 0D AF 04 */ stw r0, vidRoot@sda21(r13)
lbl_803A7940:
/* 803A7940 003A48A0 80 7F 00 F8 */ lwz r3, 0xf8(r31)
/* 803A7944 003A48A4 80 83 00 00 */ lwz r4, 0(r3)
/* 803A7948 003A48A8 28 04 00 00 */ cmplwi r4, 0
/* 803A794C 003A48AC 41 82 00 0C */ beq lbl_803A7958
/* 803A7950 003A48B0 80 03 00 04 */ lwz r0, 4(r3)
/* 803A7954 003A48B4 90 04 00 04 */ stw r0, 4(r4)
lbl_803A7958:
/* 803A7958 003A48B8 80 0D AF 00 */ lwz r0, vidFree@sda21(r13)
/* 803A795C 003A48BC 80 7F 00 F8 */ lwz r3, 0xf8(r31)
/* 803A7960 003A48C0 90 03 00 00 */ stw r0, 0(r3)
/* 803A7964 003A48C4 80 6D AF 00 */ lwz r3, vidFree@sda21(r13)
/* 803A7968 003A48C8 28 03 00 00 */ cmplwi r3, 0
/* 803A796C 003A48CC 41 82 00 0C */ beq lbl_803A7978
/* 803A7970 003A48D0 80 1F 00 F8 */ lwz r0, 0xf8(r31)
/* 803A7974 003A48D4 90 03 00 04 */ stw r0, 4(r3)
lbl_803A7978:
/* 803A7978 003A48D8 80 7F 00 F8 */ lwz r3, 0xf8(r31)
/* 803A797C 003A48DC 38 80 00 00 */ li r4, 0
/* 803A7980 003A48E0 90 83 00 04 */ stw r4, 4(r3)
/* 803A7984 003A48E4 80 1F 00 F8 */ lwz r0, 0xf8(r31)
/* 803A7988 003A48E8 90 0D AF 00 */ stw r0, vidFree@sda21(r13)
/* 803A798C 003A48EC 90 9F 00 F8 */ stw r4, 0xf8(r31)
/* 803A7990 003A48F0 80 7F 00 FC */ lwz r3, 0xfc(r31)
/* 803A7994 003A48F4 80 83 00 04 */ lwz r4, 4(r3)
/* 803A7998 003A48F8 28 04 00 00 */ cmplwi r4, 0
/* 803A799C 003A48FC 41 82 00 10 */ beq lbl_803A79AC
/* 803A79A0 003A4900 80 03 00 00 */ lwz r0, 0(r3)
/* 803A79A4 003A4904 90 04 00 00 */ stw r0, 0(r4)
/* 803A79A8 003A4908 48 00 00 0C */ b lbl_803A79B4
lbl_803A79AC:
/* 803A79AC 003A490C 80 03 00 00 */ lwz r0, 0(r3)
/* 803A79B0 003A4910 90 0D AF 04 */ stw r0, vidRoot@sda21(r13)
lbl_803A79B4:
/* 803A79B4 003A4914 80 7F 00 FC */ lwz r3, 0xfc(r31)
/* 803A79B8 003A4918 80 83 00 00 */ lwz r4, 0(r3)
/* 803A79BC 003A491C 28 04 00 00 */ cmplwi r4, 0
/* 803A79C0 003A4920 41 82 00 0C */ beq lbl_803A79CC
/* 803A79C4 003A4924 80 03 00 04 */ lwz r0, 4(r3)
/* 803A79C8 003A4928 90 04 00 04 */ stw r0, 4(r4)
lbl_803A79CC:
/* 803A79CC 003A492C 80 0D AF 00 */ lwz r0, vidFree@sda21(r13)
/* 803A79D0 003A4930 80 7F 00 FC */ lwz r3, 0xfc(r31)
/* 803A79D4 003A4934 90 03 00 00 */ stw r0, 0(r3)
/* 803A79D8 003A4938 80 6D AF 00 */ lwz r3, vidFree@sda21(r13)
/* 803A79DC 003A493C 28 03 00 00 */ cmplwi r3, 0
/* 803A79E0 003A4940 41 82 00 0C */ beq lbl_803A79EC
/* 803A79E4 003A4944 80 1F 00 FC */ lwz r0, 0xfc(r31)
/* 803A79E8 003A4948 90 03 00 04 */ stw r0, 4(r3)
lbl_803A79EC:
/* 803A79EC 003A494C 80 7F 00 FC */ lwz r3, 0xfc(r31)
/* 803A79F0 003A4950 38 80 00 00 */ li r4, 0
/* 803A79F4 003A4954 90 83 00 04 */ stw r4, 4(r3)
/* 803A79F8 003A4958 80 1F 00 FC */ lwz r0, 0xfc(r31)
/* 803A79FC 003A495C 90 0D AF 00 */ stw r0, vidFree@sda21(r13)
/* 803A7A00 003A4960 90 9F 00 FC */ stw r4, 0xfc(r31)
/* 803A7A04 003A4964 48 00 00 78 */ b lbl_803A7A7C
lbl_803A7A08:
/* 803A7A08 003A4968 80 83 00 04 */ lwz r4, 4(r3)
/* 803A7A0C 003A496C 28 04 00 00 */ cmplwi r4, 0
/* 803A7A10 003A4970 41 82 00 10 */ beq lbl_803A7A20
/* 803A7A14 003A4974 80 03 00 00 */ lwz r0, 0(r3)
/* 803A7A18 003A4978 90 04 00 00 */ stw r0, 0(r4)
/* 803A7A1C 003A497C 48 00 00 0C */ b lbl_803A7A28
lbl_803A7A20:
/* 803A7A20 003A4980 80 03 00 00 */ lwz r0, 0(r3)
/* 803A7A24 003A4984 90 0D AF 04 */ stw r0, vidRoot@sda21(r13)
lbl_803A7A28:
/* 803A7A28 003A4988 80 7F 00 F8 */ lwz r3, 0xf8(r31)
/* 803A7A2C 003A498C 80 83 00 00 */ lwz r4, 0(r3)
/* 803A7A30 003A4990 28 04 00 00 */ cmplwi r4, 0
/* 803A7A34 003A4994 41 82 00 0C */ beq lbl_803A7A40
/* 803A7A38 003A4998 80 03 00 04 */ lwz r0, 4(r3)
/* 803A7A3C 003A499C 90 04 00 04 */ stw r0, 4(r4)
lbl_803A7A40:
/* 803A7A40 003A49A0 80 0D AF 00 */ lwz r0, vidFree@sda21(r13)
/* 803A7A44 003A49A4 80 7F 00 F8 */ lwz r3, 0xf8(r31)
/* 803A7A48 003A49A8 90 03 00 00 */ stw r0, 0(r3)
/* 803A7A4C 003A49AC 80 6D AF 00 */ lwz r3, vidFree@sda21(r13)
/* 803A7A50 003A49B0 28 03 00 00 */ cmplwi r3, 0
/* 803A7A54 003A49B4 41 82 00 0C */ beq lbl_803A7A60
/* 803A7A58 003A49B8 80 1F 00 F8 */ lwz r0, 0xf8(r31)
/* 803A7A5C 003A49BC 90 03 00 04 */ stw r0, 4(r3)
lbl_803A7A60:
/* 803A7A60 003A49C0 80 7F 00 F8 */ lwz r3, 0xf8(r31)
/* 803A7A64 003A49C4 38 80 00 00 */ li r4, 0
/* 803A7A68 003A49C8 90 83 00 04 */ stw r4, 4(r3)
/* 803A7A6C 003A49CC 80 1F 00 F8 */ lwz r0, 0xf8(r31)
/* 803A7A70 003A49D0 90 0D AF 00 */ stw r0, vidFree@sda21(r13)
/* 803A7A74 003A49D4 90 9F 00 F8 */ stw r4, 0xf8(r31)
/* 803A7A78 003A49D8 90 9F 00 FC */ stw r4, 0xfc(r31)
lbl_803A7A7C:
/* 803A7A7C 003A49DC 80 01 00 14 */ lwz r0, 0x14(r1)
/* 803A7A80 003A49E0 83 E1 00 0C */ lwz r31, 0xc(r1)
/* 803A7A84 003A49E4 7C 08 03 A6 */ mtlr r0
/* 803A7A88 003A49E8 38 21 00 10 */ addi r1, r1, 0x10
/* 803A7A8C 003A49EC 4E 80 00 20 */ blr
.global vidMakeRoot
vidMakeRoot:
/* 803A7A90 003A49F0 80 03 00 F8 */ lwz r0, 0xf8(r3)
/* 803A7A94 003A49F4 90 03 00 FC */ stw r0, 0xfc(r3)
/* 803A7A98 003A49F8 80 63 00 F8 */ lwz r3, 0xf8(r3)
/* 803A7A9C 003A49FC 80 63 00 08 */ lwz r3, 8(r3)
/* 803A7AA0 003A4A00 4E 80 00 20 */ blr
.global vidMakeNew
vidMakeNew:
/* 803A7AA4 003A4A04 80 CD AF 08 */ lwz r6, vidCurrentId@sda21(r13)
lbl_803A7AA8:
/* 803A7AA8 003A4A08 3C 06 00 01 */ addis r0, r6, 1
/* 803A7AAC 003A4A0C 7C C5 33 78 */ mr r5, r6
/* 803A7AB0 003A4A10 28 00 FF FF */ cmplwi r0, 0xffff
/* 803A7AB4 003A4A14 38 C6 00 01 */ addi r6, r6, 1
/* 803A7AB8 003A4A18 41 82 FF F0 */ beq lbl_803A7AA8
/* 803A7ABC 003A4A1C 90 CD AF 08 */ stw r6, vidCurrentId@sda21(r13)
/* 803A7AC0 003A4A20 7C A6 2B 78 */ mr r6, r5
/* 803A7AC4 003A4A24 80 ED AF 04 */ lwz r7, vidRoot@sda21(r13)
/* 803A7AC8 003A4A28 39 00 00 00 */ li r8, 0
/* 803A7ACC 003A4A2C 48 00 00 3C */ b lbl_803A7B08
lbl_803A7AD0:
/* 803A7AD0 003A4A30 80 07 00 08 */ lwz r0, 8(r7)
/* 803A7AD4 003A4A34 7C 00 30 40 */ cmplw r0, r6
/* 803A7AD8 003A4A38 41 81 00 38 */ bgt lbl_803A7B10
/* 803A7ADC 003A4A3C 40 82 00 24 */ bne lbl_803A7B00
/* 803A7AE0 003A4A40 80 CD AF 08 */ lwz r6, vidCurrentId@sda21(r13)
lbl_803A7AE4:
/* 803A7AE4 003A4A44 3C 06 00 01 */ addis r0, r6, 1
/* 803A7AE8 003A4A48 7C C5 33 78 */ mr r5, r6
/* 803A7AEC 003A4A4C 28 00 FF FF */ cmplwi r0, 0xffff
/* 803A7AF0 003A4A50 38 C6 00 01 */ addi r6, r6, 1
/* 803A7AF4 003A4A54 41 82 FF F0 */ beq lbl_803A7AE4
/* 803A7AF8 003A4A58 90 CD AF 08 */ stw r6, vidCurrentId@sda21(r13)
/* 803A7AFC 003A4A5C 7C A6 2B 78 */ mr r6, r5
lbl_803A7B00:
/* 803A7B00 003A4A60 7C E8 3B 78 */ mr r8, r7
/* 803A7B04 003A4A64 80 E7 00 00 */ lwz r7, 0(r7)
lbl_803A7B08:
/* 803A7B08 003A4A68 28 07 00 00 */ cmplwi r7, 0
/* 803A7B0C 003A4A6C 40 82 FF C4 */ bne lbl_803A7AD0
lbl_803A7B10:
/* 803A7B10 003A4A70 80 AD AF 00 */ lwz r5, vidFree@sda21(r13)
/* 803A7B14 003A4A74 28 05 00 00 */ cmplwi r5, 0
/* 803A7B18 003A4A78 7C A9 2B 78 */ mr r9, r5
/* 803A7B1C 003A4A7C 40 82 00 0C */ bne lbl_803A7B28
/* 803A7B20 003A4A80 38 60 FF FF */ li r3, -1
/* 803A7B24 003A4A84 4E 80 00 20 */ blr
lbl_803A7B28:
/* 803A7B28 003A4A88 80 A5 00 00 */ lwz r5, 0(r5)
/* 803A7B2C 003A4A8C 28 05 00 00 */ cmplwi r5, 0
/* 803A7B30 003A4A90 90 AD AF 00 */ stw r5, vidFree@sda21(r13)
/* 803A7B34 003A4A94 41 82 00 0C */ beq lbl_803A7B40
/* 803A7B38 003A4A98 38 00 00 00 */ li r0, 0
/* 803A7B3C 003A4A9C 90 05 00 04 */ stw r0, 4(r5)
lbl_803A7B40:
/* 803A7B40 003A4AA0 28 08 00 00 */ cmplwi r8, 0
/* 803A7B44 003A4AA4 40 82 00 0C */ bne lbl_803A7B50
/* 803A7B48 003A4AA8 91 2D AF 04 */ stw r9, vidRoot@sda21(r13)
/* 803A7B4C 003A4AAC 48 00 00 08 */ b lbl_803A7B54
lbl_803A7B50:
/* 803A7B50 003A4AB0 91 28 00 00 */ stw r9, 0(r8)
lbl_803A7B54:
/* 803A7B54 003A4AB4 91 09 00 04 */ stw r8, 4(r9)
/* 803A7B58 003A4AB8 28 07 00 00 */ cmplwi r7, 0
/* 803A7B5C 003A4ABC 90 E9 00 00 */ stw r7, 0(r9)
/* 803A7B60 003A4AC0 41 82 00 08 */ beq lbl_803A7B68
/* 803A7B64 003A4AC4 91 27 00 04 */ stw r9, 4(r7)
lbl_803A7B68:
/* 803A7B68 003A4AC8 90 C9 00 08 */ stw r6, 8(r9)
/* 803A7B6C 003A4ACC 28 04 00 00 */ cmplwi r4, 0
/* 803A7B70 003A4AD0 80 03 00 F4 */ lwz r0, 0xf4(r3)
/* 803A7B74 003A4AD4 90 09 00 0C */ stw r0, 0xc(r9)
/* 803A7B78 003A4AD8 41 82 00 0C */ beq lbl_803A7B84
/* 803A7B7C 003A4ADC 7D 20 4B 78 */ mr r0, r9
/* 803A7B80 003A4AE0 48 00 00 08 */ b lbl_803A7B88
lbl_803A7B84:
/* 803A7B84 003A4AE4 38 00 00 00 */ li r0, 0
lbl_803A7B88:
/* 803A7B88 003A4AE8 90 03 00 FC */ stw r0, 0xfc(r3)
/* 803A7B8C 003A4AEC 28 04 00 00 */ cmplwi r4, 0
/* 803A7B90 003A4AF0 91 23 00 F8 */ stw r9, 0xf8(r3)
/* 803A7B94 003A4AF4 41 82 00 0C */ beq lbl_803A7BA0
/* 803A7B98 003A4AF8 7C C3 33 78 */ mr r3, r6
/* 803A7B9C 003A4AFC 4E 80 00 20 */ blr
lbl_803A7BA0:
/* 803A7BA0 003A4B00 80 63 00 F4 */ lwz r3, 0xf4(r3)
/* 803A7BA4 003A4B04 4E 80 00 20 */ blr
.global vidGetInternalId
vidGetInternalId:
/* 803A7BA8 003A4B08 3C 03 00 01 */ addis r0, r3, 1
/* 803A7BAC 003A4B0C 28 00 FF FF */ cmplwi r0, 0xffff
/* 803A7BB0 003A4B10 41 82 00 40 */ beq lbl_803A7BF0
/* 803A7BB4 003A4B14 80 8D AF 04 */ lwz r4, vidRoot@sda21(r13)
/* 803A7BB8 003A4B18 48 00 00 1C */ b lbl_803A7BD4
lbl_803A7BBC:
/* 803A7BBC 003A4B1C 80 04 00 08 */ lwz r0, 8(r4)
/* 803A7BC0 003A4B20 7C 00 18 40 */ cmplw r0, r3
/* 803A7BC4 003A4B24 40 82 00 08 */ bne lbl_803A7BCC
/* 803A7BC8 003A4B28 48 00 00 18 */ b lbl_803A7BE0
lbl_803A7BCC:
/* 803A7BCC 003A4B2C 41 81 00 10 */ bgt lbl_803A7BDC
/* 803A7BD0 003A4B30 80 84 00 00 */ lwz r4, 0(r4)
lbl_803A7BD4:
/* 803A7BD4 003A4B34 28 04 00 00 */ cmplwi r4, 0
/* 803A7BD8 003A4B38 40 82 FF E4 */ bne lbl_803A7BBC
lbl_803A7BDC:
/* 803A7BDC 003A4B3C 38 80 00 00 */ li r4, 0
lbl_803A7BE0:
/* 803A7BE0 003A4B40 28 04 00 00 */ cmplwi r4, 0
/* 803A7BE4 003A4B44 41 82 00 0C */ beq lbl_803A7BF0
/* 803A7BE8 003A4B48 80 64 00 0C */ lwz r3, 0xc(r4)
/* 803A7BEC 003A4B4C 4E 80 00 20 */ blr
lbl_803A7BF0:
/* 803A7BF0 003A4B50 38 60 FF FF */ li r3, -1
/* 803A7BF4 003A4B54 4E 80 00 20 */ blr
.global voiceSetPriority
voiceSetPriority:
/* 803A7BF8 003A4B58 94 21 FF F0 */ stwu r1, -0x10(r1)
/* 803A7BFC 003A4B5C 7C 08 02 A6 */ mflr r0
/* 803A7C00 003A4B60 3C A0 80 56 */ lis r5, vidList@ha
/* 803A7C04 003A4B64 90 01 00 14 */ stw r0, 0x14(r1)
/* 803A7C08 003A4B68 38 A5 D3 50 */ addi r5, r5, vidList@l
/* 803A7C0C 003A4B6C 39 25 08 00 */ addi r9, r5, 0x800
/* 803A7C10 003A4B70 93 E1 00 0C */ stw r31, 0xc(r1)
/* 803A7C14 003A4B74 80 03 00 F4 */ lwz r0, 0xf4(r3)
/* 803A7C18 003A4B78 54 07 15 BA */ rlwinm r7, r0, 2, 0x16, 0x1d
/* 803A7C1C 003A4B7C 54 00 06 3E */ clrlwi r0, r0, 0x18
/* 803A7C20 003A4B80 7D 29 3A 14 */ add r9, r9, r7
/* 803A7C24 003A4B84 A0 C9 00 02 */ lhz r6, 2(r9)
/* 803A7C28 003A4B88 28 06 00 01 */ cmplwi r6, 1
/* 803A7C2C 003A4B8C 40 82 00 E4 */ bne lbl_803A7D10
/* 803A7C30 003A4B90 89 63 01 0C */ lbz r11, 0x10c(r3)
/* 803A7C34 003A4B94 54 86 06 3E */ clrlwi r6, r4, 0x18
/* 803A7C38 003A4B98 7C 0B 30 40 */ cmplw r11, r6
/* 803A7C3C 003A4B9C 41 82 01 F4 */ beq lbl_803A7E30
/* 803A7C40 003A4BA0 38 C5 08 00 */ addi r6, r5, 0x800
/* 803A7C44 003A4BA4 7C C6 3A 14 */ add r6, r6, r7
/* 803A7C48 003A4BA8 A0 E6 00 02 */ lhz r7, 2(r6)
/* 803A7C4C 003A4BAC 28 07 00 01 */ cmplwi r7, 1
/* 803A7C50 003A4BB0 40 82 00 C0 */ bne lbl_803A7D10
/* 803A7C54 003A4BB4 88 E6 00 00 */ lbz r7, 0(r6)
/* 803A7C58 003A4BB8 28 07 00 FF */ cmplwi r7, 0xff
/* 803A7C5C 003A4BBC 41 82 00 1C */ beq lbl_803A7C78
/* 803A7C60 003A4BC0 39 45 08 00 */ addi r10, r5, 0x800
/* 803A7C64 003A4BC4 54 E7 15 BA */ rlwinm r7, r7, 2, 0x16, 0x1d
/* 803A7C68 003A4BC8 89 66 00 01 */ lbz r11, 1(r6)
/* 803A7C6C 003A4BCC 7C EA 3A 14 */ add r7, r10, r7
/* 803A7C70 003A4BD0 99 67 00 01 */ stb r11, 1(r7)
/* 803A7C74 003A4BD4 48 00 00 10 */ b lbl_803A7C84
lbl_803A7C78:
/* 803A7C78 003A4BD8 89 46 00 01 */ lbz r10, 1(r6)
/* 803A7C7C 003A4BDC 38 E5 09 00 */ addi r7, r5, 0x900
/* 803A7C80 003A4BE0 7D 47 59 AE */ stbx r10, r7, r11
lbl_803A7C84:
/* 803A7C84 003A4BE4 88 E6 00 01 */ lbz r7, 1(r6)
/* 803A7C88 003A4BE8 28 07 00 FF */ cmplwi r7, 0xff
/* 803A7C8C 003A4BEC 41 82 00 18 */ beq lbl_803A7CA4
/* 803A7C90 003A4BF0 89 66 00 00 */ lbz r11, 0(r6)
/* 803A7C94 003A4BF4 54 EA 15 BA */ rlwinm r10, r7, 2, 0x16, 0x1d
/* 803A7C98 003A4BF8 38 E5 08 00 */ addi r7, r5, 0x800
/* 803A7C9C 003A4BFC 7D 67 51 AE */ stbx r11, r7, r10
/* 803A7CA0 003A4C00 48 00 00 68 */ b lbl_803A7D08
lbl_803A7CA4:
/* 803A7CA4 003A4C04 88 E6 00 00 */ lbz r7, 0(r6)
/* 803A7CA8 003A4C08 28 07 00 FF */ cmplwi r7, 0xff
/* 803A7CAC 003A4C0C 40 82 00 5C */ bne lbl_803A7D08
/* 803A7CB0 003A4C10 88 E3 01 0C */ lbz r7, 0x10c(r3)
/* 803A7CB4 003A4C14 39 85 0A 00 */ addi r12, r5, 0xa00
/* 803A7CB8 003A4C18 54 E7 10 3A */ slwi r7, r7, 2
/* 803A7CBC 003A4C1C 7D 8C 3A 14 */ add r12, r12, r7
/* 803A7CC0 003A4C20 A0 EC 00 02 */ lhz r7, 2(r12)
/* 803A7CC4 003A4C24 28 07 FF FF */ cmplwi r7, 0xffff
/* 803A7CC8 003A4C28 41 82 00 18 */ beq lbl_803A7CE0
/* 803A7CCC 003A4C2C A1 6C 00 00 */ lhz r11, 0(r12)
/* 803A7CD0 003A4C30 54 EA 13 BA */ rlwinm r10, r7, 2, 0xe, 0x1d
/* 803A7CD4 003A4C34 38 E5 0A 00 */ addi r7, r5, 0xa00
/* 803A7CD8 003A4C38 7D 67 53 2E */ sthx r11, r7, r10
/* 803A7CDC 003A4C3C 48 00 00 0C */ b lbl_803A7CE8
lbl_803A7CE0:
/* 803A7CE0 003A4C40 A0 EC 00 00 */ lhz r7, 0(r12)
/* 803A7CE4 003A4C44 B0 ED AF 0C */ sth r7, voicePrioSortRootListRoot@sda21(r13)
lbl_803A7CE8:
/* 803A7CE8 003A4C48 A0 EC 00 00 */ lhz r7, 0(r12)
/* 803A7CEC 003A4C4C 28 07 FF FF */ cmplwi r7, 0xffff
/* 803A7CF0 003A4C50 41 82 00 18 */ beq lbl_803A7D08
/* 803A7CF4 003A4C54 39 45 0A 00 */ addi r10, r5, 0xa00
/* 803A7CF8 003A4C58 54 E7 13 BA */ rlwinm r7, r7, 2, 0xe, 0x1d
/* 803A7CFC 003A4C5C A1 6C 00 02 */ lhz r11, 2(r12)
/* 803A7D00 003A4C60 7C EA 3A 14 */ add r7, r10, r7
/* 803A7D04 003A4C64 B1 67 00 02 */ sth r11, 2(r7)
lbl_803A7D08:
/* 803A7D08 003A4C68 38 E0 00 00 */ li r7, 0
/* 803A7D0C 003A4C6C B0 E6 00 02 */ sth r7, 2(r6)
lbl_803A7D10:
/* 803A7D10 003A4C70 39 40 00 01 */ li r10, 1
/* 803A7D14 003A4C74 54 87 06 3E */ clrlwi r7, r4, 0x18
/* 803A7D18 003A4C78 38 C5 09 00 */ addi r6, r5, 0x900
/* 803A7D1C 003A4C7C B1 49 00 02 */ sth r10, 2(r9)
/* 803A7D20 003A4C80 7D 46 38 AE */ lbzx r10, r6, r7
/* 803A7D24 003A4C84 39 60 00 FF */ li r11, 0xff
/* 803A7D28 003A4C88 99 69 00 00 */ stb r11, 0(r9)
/* 803A7D2C 003A4C8C 28 0A 00 FF */ cmplwi r10, 0xff
/* 803A7D30 003A4C90 99 49 00 01 */ stb r10, 1(r9)
/* 803A7D34 003A4C94 41 82 00 14 */ beq lbl_803A7D48
/* 803A7D38 003A4C98 55 48 10 3A */ slwi r8, r10, 2
/* 803A7D3C 003A4C9C 38 A5 08 00 */ addi r5, r5, 0x800
/* 803A7D40 003A4CA0 7C 05 41 AE */ stbx r0, r5, r8
/* 803A7D44 003A4CA4 48 00 00 CC */ b lbl_803A7E10
lbl_803A7D48:
/* 803A7D48 003A4CA8 A1 2D AF 0C */ lhz r9, voicePrioSortRootListRoot@sda21(r13)
/* 803A7D4C 003A4CAC 28 09 FF FF */ cmplwi r9, 0xffff
/* 803A7D50 003A4CB0 41 82 00 A0 */ beq lbl_803A7DF0
/* 803A7D54 003A4CB4 7C 07 48 00 */ cmpw r7, r9
/* 803A7D58 003A4CB8 41 80 00 6C */ blt lbl_803A7DC4
/* 803A7D5C 003A4CBC 7D 3F 4B 78 */ mr r31, r9
/* 803A7D60 003A4CC0 39 45 0A 00 */ addi r10, r5, 0xa00
/* 803A7D64 003A4CC4 48 00 00 1C */ b lbl_803A7D80
lbl_803A7D68:
/* 803A7D68 003A4CC8 57 E9 04 3E */ clrlwi r9, r31, 0x10
/* 803A7D6C 003A4CCC 7C 09 38 00 */ cmpw r9, r7
/* 803A7D70 003A4CD0 41 81 00 1C */ bgt lbl_803A7D8C
/* 803A7D74 003A4CD4 57 E9 13 BA */ rlwinm r9, r31, 2, 0xe, 0x1d
/* 803A7D78 003A4CD8 7F E8 FB 78 */ mr r8, r31
/* 803A7D7C 003A4CDC 7F EA 4A 2E */ lhzx r31, r10, r9
lbl_803A7D80:
/* 803A7D80 003A4CE0 57 E9 04 3E */ clrlwi r9, r31, 0x10
/* 803A7D84 003A4CE4 28 09 FF FF */ cmplwi r9, 0xffff
/* 803A7D88 003A4CE8 40 82 FF E0 */ bne lbl_803A7D68
lbl_803A7D8C:
/* 803A7D8C 003A4CEC 39 25 0A 00 */ addi r9, r5, 0xa00
/* 803A7D90 003A4CF0 54 8B 06 3E */ clrlwi r11, r4, 0x18
/* 803A7D94 003A4CF4 55 0A 13 BA */ rlwinm r10, r8, 2, 0xe, 0x1d
/* 803A7D98 003A4CF8 57 E5 04 3E */ clrlwi r5, r31, 0x10
/* 803A7D9C 003A4CFC 7D 69 53 2E */ sthx r11, r9, r10
/* 803A7DA0 003A4D00 54 EA 10 3A */ slwi r10, r7, 2
/* 803A7DA4 003A4D04 39 89 00 02 */ addi r12, r9, 2
/* 803A7DA8 003A4D08 28 05 FF FF */ cmplwi r5, 0xffff
/* 803A7DAC 003A4D0C 7D 0C 53 2E */ sthx r8, r12, r10
/* 803A7DB0 003A4D10 7F E9 53 2E */ sthx r31, r9, r10
/* 803A7DB4 003A4D14 41 82 00 5C */ beq lbl_803A7E10
/* 803A7DB8 003A4D18 57 E5 13 BA */ rlwinm r5, r31, 2, 0xe, 0x1d
/* 803A7DBC 003A4D1C 7D 6C 2B 2E */ sthx r11, r12, r5
/* 803A7DC0 003A4D20 48 00 00 50 */ b lbl_803A7E10
lbl_803A7DC4:
/* 803A7DC4 003A4D24 39 05 0A 00 */ addi r8, r5, 0xa00
/* 803A7DC8 003A4D28 54 EA 10 3A */ slwi r10, r7, 2
/* 803A7DCC 003A4D2C 3C A0 00 01 */ lis r5, 0x0000FFFF@ha
/* 803A7DD0 003A4D30 7D 28 53 2E */ sthx r9, r8, r10
/* 803A7DD4 003A4D34 38 A5 FF FF */ addi r5, r5, 0x0000FFFF@l
/* 803A7DD8 003A4D38 39 08 00 02 */ addi r8, r8, 2
/* 803A7DDC 003A4D3C 7C A8 53 2E */ sthx r5, r8, r10
/* 803A7DE0 003A4D40 55 25 13 BA */ rlwinm r5, r9, 2, 0xe, 0x1d
/* 803A7DE4 003A4D44 7C E8 2B 2E */ sthx r7, r8, r5
/* 803A7DE8 003A4D48 B0 ED AF 0C */ sth r7, voicePrioSortRootListRoot@sda21(r13)
/* 803A7DEC 003A4D4C 48 00 00 24 */ b lbl_803A7E10
lbl_803A7DF0:
/* 803A7DF0 003A4D50 3D 00 00 01 */ lis r8, 0x0000FFFF@ha
/* 803A7DF4 003A4D54 54 E9 10 3A */ slwi r9, r7, 2
/* 803A7DF8 003A4D58 38 A5 0A 00 */ addi r5, r5, 0xa00
/* 803A7DFC 003A4D5C B0 ED AF 0C */ sth r7, voicePrioSortRootListRoot@sda21(r13)
/* 803A7E00 003A4D60 39 08 FF FF */ addi r8, r8, 0x0000FFFF@l
/* 803A7E04 003A4D64 7D 05 4B 2E */ sthx r8, r5, r9
/* 803A7E08 003A4D68 7C A5 4A 14 */ add r5, r5, r9
/* 803A7E0C 003A4D6C B1 05 00 02 */ sth r8, 2(r5)
lbl_803A7E10:
/* 803A7E10 003A4D70 7C 06 39 AE */ stbx r0, r6, r7
/* 803A7E14 003A4D74 98 83 01 0C */ stb r4, 0x10c(r3)
/* 803A7E18 003A4D78 80 03 01 10 */ lwz r0, 0x110(r3)
/* 803A7E1C 003A4D7C 80 63 00 F4 */ lwz r3, 0xf4(r3)
/* 803A7E20 003A4D80 54 04 8B FE */ srwi r4, r0, 0xf
/* 803A7E24 003A4D84 54 63 06 3E */ clrlwi r3, r3, 0x18
/* 803A7E28 003A4D88 50 E4 C0 0E */ rlwimi r4, r7, 0x18, 0, 7
/* 803A7E2C 003A4D8C 48 00 B3 99 */ bl hwSetPriority
lbl_803A7E30:
/* 803A7E30 003A4D90 80 01 00 14 */ lwz r0, 0x14(r1)
/* 803A7E34 003A4D94 83 E1 00 0C */ lwz r31, 0xc(r1)
/* 803A7E38 003A4D98 7C 08 03 A6 */ mtlr r0
/* 803A7E3C 003A4D9C 38 21 00 10 */ addi r1, r1, 0x10
/* 803A7E40 003A4DA0 4E 80 00 20 */ blr
.global voiceAllocateFind
voiceAllocateFind:
/* 803A7E44 003A4DA4 94 21 FF D0 */ stwu r1, -0x30(r1)
/* 803A7E48 003A4DA8 7C 08 02 A6 */ mflr r0
/* 803A7E4C 003A4DAC 90 01 00 34 */ stw r0, 0x34(r1)
/* 803A7E50 003A4DB0 39 61 00 30 */ addi r11, r1, 0x30
/* 803A7E54 003A4DB4 4B FE 1C 15 */ bl _savegpr_22
/* 803A7E58 003A4DB8 88 0D AE 80 */ lbz r0, synthIdleWaitActive@sda21(r13)
/* 803A7E5C 003A4DBC 3C E0 80 56 */ lis r7, vidList@ha
/* 803A7E60 003A4DC0 39 07 D3 50 */ addi r8, r7, vidList@l
/* 803A7E64 003A4DC4 28 00 00 00 */ cmplwi r0, 0
/* 803A7E68 003A4DC8 40 82 04 20 */ bne lbl_803A8288
/* 803A7E6C 003A4DCC 54 C0 06 3F */ clrlwi. r0, r6, 0x18
/* 803A7E70 003A4DD0 41 82 00 44 */ beq lbl_803A7EB4
/* 803A7E74 003A4DD4 3C E0 80 55 */ lis r7, synthInfo@ha
/* 803A7E78 003A4DD8 88 0D AF 0F */ lbz r0, voiceFxRunning@sda21(r13)
/* 803A7E7C 003A4DDC 38 E7 00 50 */ addi r7, r7, synthInfo@l
/* 803A7E80 003A4DE0 39 20 00 00 */ li r9, 0
/* 803A7E84 003A4DE4 89 47 02 12 */ lbz r10, 0x212(r7)
/* 803A7E88 003A4DE8 7C 00 50 40 */ cmplw r0, r10
/* 803A7E8C 003A4DEC 41 80 00 14 */ blt lbl_803A7EA0
/* 803A7E90 003A4DF0 88 07 02 10 */ lbz r0, 0x210(r7)
/* 803A7E94 003A4DF4 7C 00 50 40 */ cmplw r0, r10
/* 803A7E98 003A4DF8 40 81 00 08 */ ble lbl_803A7EA0
/* 803A7E9C 003A4DFC 39 20 00 01 */ li r9, 1
lbl_803A7EA0:
/* 803A7EA0 003A4E00 54 80 06 3E */ clrlwi r0, r4, 0x18
/* 803A7EA4 003A4E04 7D 3C 4B 78 */ mr r28, r9
/* 803A7EA8 003A4E08 7C 0A 00 40 */ cmplw r10, r0
/* 803A7EAC 003A4E0C 40 81 01 BC */ ble lbl_803A8068
/* 803A7EB0 003A4E10 48 00 00 40 */ b lbl_803A7EF0
lbl_803A7EB4:
/* 803A7EB4 003A4E14 3C E0 80 55 */ lis r7, synthInfo@ha
/* 803A7EB8 003A4E18 88 0D AF 0E */ lbz r0, voiceMusicRunning@sda21(r13)
/* 803A7EBC 003A4E1C 38 E7 00 50 */ addi r7, r7, synthInfo@l
/* 803A7EC0 003A4E20 39 20 00 00 */ li r9, 0
/* 803A7EC4 003A4E24 89 47 02 11 */ lbz r10, 0x211(r7)
/* 803A7EC8 003A4E28 7C 00 50 40 */ cmplw r0, r10
/* 803A7ECC 003A4E2C 41 80 00 14 */ blt lbl_803A7EE0
/* 803A7ED0 003A4E30 88 07 02 10 */ lbz r0, 0x210(r7)
/* 803A7ED4 003A4E34 7C 00 50 40 */ cmplw r0, r10
/* 803A7ED8 003A4E38 40 81 00 08 */ ble lbl_803A7EE0
/* 803A7EDC 003A4E3C 39 20 00 01 */ li r9, 1
lbl_803A7EE0:
/* 803A7EE0 003A4E40 54 80 06 3E */ clrlwi r0, r4, 0x18
/* 803A7EE4 003A4E44 7D 3C 4B 78 */ mr r28, r9
/* 803A7EE8 003A4E48 7C 0A 00 40 */ cmplw r10, r0
/* 803A7EEC 003A4E4C 40 81 01 7C */ ble lbl_803A8068
lbl_803A7EF0:
/* 803A7EF0 003A4E50 A2 CD AF 0C */ lhz r22, voicePrioSortRootListRoot@sda21(r13)
/* 803A7EF4 003A4E54 54 69 06 3E */ clrlwi r9, r3, 0x18
/* 803A7EF8 003A4E58 81 8D AE 78 */ lwz r12, synthVoice@sda21(r13)
/* 803A7EFC 003A4E5C 54 A0 04 3E */ clrlwi r0, r5, 0x10
/* 803A7F00 003A4E60 3B 48 08 00 */ addi r26, r8, 0x800
/* 803A7F04 003A4E64 38 E8 09 00 */ addi r7, r8, 0x900
/* 803A7F08 003A4E68 3B 68 0A 00 */ addi r27, r8, 0xa00
/* 803A7F0C 003A4E6C 3B C0 00 00 */ li r30, 0
/* 803A7F10 003A4E70 3B A0 FF FF */ li r29, -1
/* 803A7F14 003A4E74 48 00 00 BC */ b lbl_803A7FD0
lbl_803A7F18:
/* 803A7F18 003A4E78 56 CB 04 3E */ clrlwi r11, r22, 0x10
/* 803A7F1C 003A4E7C 7F E7 58 AE */ lbzx r31, r7, r11
/* 803A7F20 003A4E80 48 00 00 A0 */ b lbl_803A7FC0
lbl_803A7F24:
/* 803A7F24 003A4E84 1D 5F 04 04 */ mulli r10, r31, 0x404
/* 803A7F28 003A4E88 7D 4C 52 14 */ add r10, r12, r10
/* 803A7F2C 003A4E8C A2 CA 01 00 */ lhz r22, 0x100(r10)
/* 803A7F30 003A4E90 7C 00 B0 40 */ cmplw r0, r22
/* 803A7F34 003A4E94 40 82 00 80 */ bne lbl_803A7FB4
/* 803A7F38 003A4E98 8A CA 01 1C */ lbz r22, 0x11c(r10)
/* 803A7F3C 003A4E9C 3B DE 00 01 */ addi r30, r30, 1
/* 803A7F40 003A4EA0 28 16 00 00 */ cmplwi r22, 0
/* 803A7F44 003A4EA4 40 82 00 70 */ bne lbl_803A7FB4
/* 803A7F48 003A4EA8 28 1C 00 00 */ cmplwi r28, 0
/* 803A7F4C 003A4EAC 41 82 00 14 */ beq lbl_803A7F60
/* 803A7F50 003A4EB0 8A CA 01 1D */ lbz r22, 0x11d(r10)
/* 803A7F54 003A4EB4 54 D7 06 3E */ clrlwi r23, r6, 0x18
/* 803A7F58 003A4EB8 7C 17 B0 40 */ cmplw r23, r22
/* 803A7F5C 003A4EBC 40 82 00 58 */ bne lbl_803A7FB4
lbl_803A7F60:
/* 803A7F60 003A4EC0 83 0A 01 14 */ lwz r24, 0x114(r10)
/* 803A7F64 003A4EC4 3A E0 00 00 */ li r23, 0
/* 803A7F68 003A4EC8 82 CA 01 18 */ lwz r22, 0x118(r10)
/* 803A7F6C 003A4ECC 3B 20 00 02 */ li r25, 2
/* 803A7F70 003A4ED0 7F 18 B8 38 */ and r24, r24, r23
/* 803A7F74 003A4ED4 7E D9 C8 38 */ and r25, r22, r25
/* 803A7F78 003A4ED8 7F 39 BA 78 */ xor r25, r25, r23
/* 803A7F7C 003A4EDC 7F 18 BA 78 */ xor r24, r24, r23
/* 803A7F80 003A4EE0 7F 38 C3 79 */ or. r24, r25, r24
/* 803A7F84 003A4EE4 40 82 00 30 */ bne lbl_803A7FB4
/* 803A7F88 003A4EE8 2C 1D FF FF */ cmpwi r29, -1
/* 803A7F8C 003A4EEC 41 82 00 24 */ beq lbl_803A7FB0
/* 803A7F90 003A4EF0 1F 3D 04 04 */ mulli r25, r29, 0x404
/* 803A7F94 003A4EF4 83 0A 01 10 */ lwz r24, 0x110(r10)
/* 803A7F98 003A4EF8 39 59 01 10 */ addi r10, r25, 0x110
/* 803A7F9C 003A4EFC 7D 4C 50 2E */ lwzx r10, r12, r10
/* 803A7FA0 003A4F00 7C 18 50 40 */ cmplw r24, r10
/* 803A7FA4 003A4F04 40 80 00 10 */ bge lbl_803A7FB4
/* 803A7FA8 003A4F08 7F FD FB 78 */ mr r29, r31
/* 803A7FAC 003A4F0C 48 00 00 08 */ b lbl_803A7FB4
lbl_803A7FB0:
/* 803A7FB0 003A4F10 7F FD FB 78 */ mr r29, r31
lbl_803A7FB4:
/* 803A7FB4 003A4F14 57 EA 10 3A */ slwi r10, r31, 2
/* 803A7FB8 003A4F18 39 4A 00 01 */ addi r10, r10, 1
/* 803A7FBC 003A4F1C 7F FA 50 AE */ lbzx r31, r26, r10
lbl_803A7FC0:
/* 803A7FC0 003A4F20 2C 1F 00 FF */ cmpwi r31, 0xff
/* 803A7FC4 003A4F24 40 82 FF 60 */ bne lbl_803A7F24
/* 803A7FC8 003A4F28 55 6A 10 3A */ slwi r10, r11, 2
/* 803A7FCC 003A4F2C 7E DB 52 2E */ lhzx r22, r27, r10
lbl_803A7FD0:
/* 803A7FD0 003A4F30 56 CA 04 3E */ clrlwi r10, r22, 0x10
/* 803A7FD4 003A4F34 28 0A FF FF */ cmplwi r10, 0xffff
/* 803A7FD8 003A4F38 41 82 00 14 */ beq lbl_803A7FEC
/* 803A7FDC 003A4F3C 7C 09 50 00 */ cmpw r9, r10
/* 803A7FE0 003A4F40 41 80 00 0C */ blt lbl_803A7FEC
/* 803A7FE4 003A4F44 2C 1D FF FF */ cmpwi r29, -1
/* 803A7FE8 003A4F48 41 82 FF 30 */ beq lbl_803A7F18
lbl_803A7FEC:
/* 803A7FEC 003A4F4C 54 8B 06 3E */ clrlwi r11, r4, 0x18
/* 803A7FF0 003A4F50 7C 1E 58 00 */ cmpw r30, r11
/* 803A7FF4 003A4F54 40 80 01 AC */ bge lbl_803A81A0
/* 803A7FF8 003A4F58 54 A9 04 3E */ clrlwi r9, r5, 0x10
/* 803A7FFC 003A4F5C 38 A8 08 00 */ addi r5, r8, 0x800
/* 803A8000 003A4F60 39 48 09 00 */ addi r10, r8, 0x900
/* 803A8004 003A4F64 38 88 0A 00 */ addi r4, r8, 0xa00
/* 803A8008 003A4F68 48 00 00 44 */ b lbl_803A804C
lbl_803A800C:
/* 803A800C 003A4F6C 56 D6 04 3E */ clrlwi r22, r22, 0x10
/* 803A8010 003A4F70 7E EA B0 AE */ lbzx r23, r10, r22
/* 803A8014 003A4F74 48 00 00 28 */ b lbl_803A803C
lbl_803A8018:
/* 803A8018 003A4F78 1C F7 04 04 */ mulli r7, r23, 0x404
/* 803A801C 003A4F7C 38 07 01 00 */ addi r0, r7, 0x100
/* 803A8020 003A4F80 7C 0C 02 2E */ lhzx r0, r12, r0
/* 803A8024 003A4F84 7C 09 00 40 */ cmplw r9, r0
/* 803A8028 003A4F88 40 82 00 08 */ bne lbl_803A8030
/* 803A802C 003A4F8C 3B DE 00 01 */ addi r30, r30, 1
lbl_803A8030:
/* 803A8030 003A4F90 56 E7 10 3A */ slwi r7, r23, 2
/* 803A8034 003A4F94 38 07 00 01 */ addi r0, r7, 1
/* 803A8038 003A4F98 7E E5 00 AE */ lbzx r23, r5, r0
lbl_803A803C:
/* 803A803C 003A4F9C 2C 17 00 FF */ cmpwi r23, 0xff
/* 803A8040 003A4FA0 40 82 FF D8 */ bne lbl_803A8018
/* 803A8044 003A4FA4 56 C0 10 3A */ slwi r0, r22, 2
/* 803A8048 003A4FA8 7E C4 02 2E */ lhzx r22, r4, r0
lbl_803A804C:
/* 803A804C 003A4FAC 56 C0 04 3E */ clrlwi r0, r22, 0x10
/* 803A8050 003A4FB0 28 00 FF FF */ cmplwi r0, 0xffff
/* 803A8054 003A4FB4 41 82 00 0C */ beq lbl_803A8060
/* 803A8058 003A4FB8 7C 1E 58 00 */ cmpw r30, r11
/* 803A805C 003A4FBC 41 80 FF B0 */ blt lbl_803A800C
lbl_803A8060:
/* 803A8060 003A4FC0 7C 1E 58 00 */ cmpw r30, r11
/* 803A8064 003A4FC4 40 80 01 3C */ bge lbl_803A81A0
lbl_803A8068:
/* 803A8068 003A4FC8 88 0D AF 11 */ lbz r0, voiceListRoot@sda21(r13)
/* 803A806C 003A4FCC 28 00 00 FF */ cmplwi r0, 0xff
/* 803A8070 003A4FD0 41 82 00 14 */ beq lbl_803A8084
/* 803A8074 003A4FD4 28 1C 00 00 */ cmplwi r28, 0
/* 803A8078 003A4FD8 40 82 00 0C */ bne lbl_803A8084
/* 803A807C 003A4FDC 7C 1D 03 78 */ mr r29, r0
/* 803A8080 003A4FE0 48 00 01 20 */ b lbl_803A81A0
lbl_803A8084:
/* 803A8084 003A4FE4 A1 4D AF 0C */ lhz r10, voicePrioSortRootListRoot@sda21(r13)
/* 803A8088 003A4FE8 54 60 06 3E */ clrlwi r0, r3, 0x18
/* 803A808C 003A4FEC 7C 00 50 00 */ cmpw r0, r10
/* 803A8090 003A4FF0 40 80 00 0C */ bge lbl_803A809C
/* 803A8094 003A4FF4 38 60 FF FF */ li r3, -1
/* 803A8098 003A4FF8 48 00 01 F4 */ b lbl_803A828C
lbl_803A809C:
/* 803A809C 003A4FFC 80 ED AE 78 */ lwz r7, synthVoice@sda21(r13)
/* 803A80A0 003A5000 39 68 08 00 */ addi r11, r8, 0x800
/* 803A80A4 003A5004 38 88 09 00 */ addi r4, r8, 0x900
/* 803A80A8 003A5008 39 28 0A 00 */ addi r9, r8, 0xa00
/* 803A80AC 003A500C 3B A0 FF FF */ li r29, -1
/* 803A80B0 003A5010 48 00 00 AC */ b lbl_803A815C
lbl_803A80B4:
/* 803A80B4 003A5014 55 45 04 3E */ clrlwi r5, r10, 0x10
/* 803A80B8 003A5018 7E E4 28 AE */ lbzx r23, r4, r5
/* 803A80BC 003A501C 48 00 00 90 */ b lbl_803A814C
lbl_803A80C0:
/* 803A80C0 003A5020 1D 57 04 04 */ mulli r10, r23, 0x404
/* 803A80C4 003A5024 7E C7 52 14 */ add r22, r7, r10
/* 803A80C8 003A5028 89 56 01 1C */ lbz r10, 0x11c(r22)
/* 803A80CC 003A502C 28 0A 00 00 */ cmplwi r10, 0
/* 803A80D0 003A5030 40 82 00 70 */ bne lbl_803A8140
/* 803A80D4 003A5034 28 1C 00 00 */ cmplwi r28, 0
/* 803A80D8 003A5038 41 82 00 14 */ beq lbl_803A80EC
/* 803A80DC 003A503C 89 56 01 1D */ lbz r10, 0x11d(r22)
/* 803A80E0 003A5040 54 CC 06 3E */ clrlwi r12, r6, 0x18
/* 803A80E4 003A5044 7C 0C 50 40 */ cmplw r12, r10
/* 803A80E8 003A5048 40 82 00 58 */ bne lbl_803A8140
lbl_803A80EC:
/* 803A80EC 003A504C 81 56 01 14 */ lwz r10, 0x114(r22)
/* 803A80F0 003A5050 3B C0 00 00 */ li r30, 0
/* 803A80F4 003A5054 83 F6 01 18 */ lwz r31, 0x118(r22)
/* 803A80F8 003A5058 39 80 00 02 */ li r12, 2
/* 803A80FC 003A505C 7D 4A F0 38 */ and r10, r10, r30
/* 803A8100 003A5060 7F EC 60 38 */ and r12, r31, r12
/* 803A8104 003A5064 7D 8C F2 78 */ xor r12, r12, r30
/* 803A8108 003A5068 7D 4A F2 78 */ xor r10, r10, r30
/* 803A810C 003A506C 7D 8A 53 79 */ or. r10, r12, r10
/* 803A8110 003A5070 40 82 00 30 */ bne lbl_803A8140
/* 803A8114 003A5074 2C 1D FF FF */ cmpwi r29, -1
/* 803A8118 003A5078 41 82 00 24 */ beq lbl_803A813C
/* 803A811C 003A507C 1D 9D 04 04 */ mulli r12, r29, 0x404
/* 803A8120 003A5080 81 56 01 10 */ lwz r10, 0x110(r22)
/* 803A8124 003A5084 39 8C 01 10 */ addi r12, r12, 0x110
/* 803A8128 003A5088 7D 87 60 2E */ lwzx r12, r7, r12
/* 803A812C 003A508C 7C 0C 50 40 */ cmplw r12, r10
/* 803A8130 003A5090 40 81 00 10 */ ble lbl_803A8140
/* 803A8134 003A5094 7E FD BB 78 */ mr r29, r23
/* 803A8138 003A5098 48 00 00 08 */ b lbl_803A8140
lbl_803A813C:
/* 803A813C 003A509C 7E FD BB 78 */ mr r29, r23
lbl_803A8140:
/* 803A8140 003A50A0 56 EA 10 3A */ slwi r10, r23, 2
/* 803A8144 003A50A4 39 4A 00 01 */ addi r10, r10, 1
/* 803A8148 003A50A8 7E EB 50 AE */ lbzx r23, r11, r10
lbl_803A814C:
/* 803A814C 003A50AC 2C 17 00 FF */ cmpwi r23, 0xff
/* 803A8150 003A50B0 40 82 FF 70 */ bne lbl_803A80C0
/* 803A8154 003A50B4 54 A5 10 3A */ slwi r5, r5, 2
/* 803A8158 003A50B8 7D 49 2A 2E */ lhzx r10, r9, r5
lbl_803A815C:
/* 803A815C 003A50BC 55 45 04 3E */ clrlwi r5, r10, 0x10
/* 803A8160 003A50C0 28 05 FF FF */ cmplwi r5, 0xffff
/* 803A8164 003A50C4 41 82 00 14 */ beq lbl_803A8178
/* 803A8168 003A50C8 7C 00 28 00 */ cmpw r0, r5
/* 803A816C 003A50CC 41 80 00 0C */ blt lbl_803A8178
/* 803A8170 003A50D0 2C 1D FF FF */ cmpwi r29, -1
/* 803A8174 003A50D4 41 82 FF 40 */ beq lbl_803A80B4
lbl_803A8178:
/* 803A8178 003A50D8 2C 1D FF FF */ cmpwi r29, -1
/* 803A817C 003A50DC 40 82 00 0C */ bne lbl_803A8188
/* 803A8180 003A50E0 38 60 FF FF */ li r3, -1
/* 803A8184 003A50E4 48 00 01 08 */ b lbl_803A828C
lbl_803A8188:
/* 803A8188 003A50E8 1C 9D 04 04 */ mulli r4, r29, 0x404
/* 803A818C 003A50EC 54 60 06 3E */ clrlwi r0, r3, 0x18
/* 803A8190 003A50F0 7C 67 22 14 */ add r3, r7, r4
/* 803A8194 003A50F4 88 63 01 0C */ lbz r3, 0x10c(r3)
/* 803A8198 003A50F8 7C 03 00 40 */ cmplw r3, r0
/* 803A819C 003A50FC 41 81 00 EC */ bgt lbl_803A8288
lbl_803A81A0:
/* 803A81A0 003A5100 2C 1D FF FF */ cmpwi r29, -1
/* 803A81A4 003A5104 41 82 00 E4 */ beq lbl_803A8288
/* 803A81A8 003A5108 38 68 0E 00 */ addi r3, r8, 0xe00
/* 803A81AC 003A510C 57 A0 10 3A */ slwi r0, r29, 2
/* 803A81B0 003A5110 7C A3 02 14 */ add r5, r3, r0
/* 803A81B4 003A5114 A0 05 00 02 */ lhz r0, 2(r5)
/* 803A81B8 003A5118 28 00 00 01 */ cmplwi r0, 1
/* 803A81BC 003A511C 40 82 00 68 */ bne lbl_803A8224
/* 803A81C0 003A5120 88 05 00 00 */ lbz r0, 0(r5)
/* 803A81C4 003A5124 2C 00 00 FF */ cmpwi r0, 0xff
/* 803A81C8 003A5128 41 82 00 18 */ beq lbl_803A81E0
/* 803A81CC 003A512C 54 00 10 3A */ slwi r0, r0, 2
/* 803A81D0 003A5130 88 85 00 01 */ lbz r4, 1(r5)
/* 803A81D4 003A5134 7C 63 02 14 */ add r3, r3, r0
/* 803A81D8 003A5138 98 83 00 01 */ stb r4, 1(r3)
/* 803A81DC 003A513C 48 00 00 0C */ b lbl_803A81E8
lbl_803A81E0:
/* 803A81E0 003A5140 88 05 00 01 */ lbz r0, 1(r5)
/* 803A81E4 003A5144 98 0D AF 11 */ stb r0, voiceListRoot@sda21(r13)
lbl_803A81E8:
/* 803A81E8 003A5148 88 05 00 01 */ lbz r0, 1(r5)
/* 803A81EC 003A514C 2C 00 00 FF */ cmpwi r0, 0xff
/* 803A81F0 003A5150 41 82 00 14 */ beq lbl_803A8204
/* 803A81F4 003A5154 88 85 00 00 */ lbz r4, 0(r5)
/* 803A81F8 003A5158 54 00 10 3A */ slwi r0, r0, 2
/* 803A81FC 003A515C 38 68 0E 00 */ addi r3, r8, 0xe00
/* 803A8200 003A5160 7C 83 01 AE */ stbx r4, r3, r0
lbl_803A8204:
/* 803A8204 003A5164 88 0D AF 10 */ lbz r0, voiceListInsert@sda21(r13)
/* 803A8208 003A5168 7C 1D 00 00 */ cmpw r29, r0
/* 803A820C 003A516C 40 82 00 0C */ bne lbl_803A8218
/* 803A8210 003A5170 88 05 00 00 */ lbz r0, 0(r5)
/* 803A8214 003A5174 98 0D AF 10 */ stb r0, voiceListInsert@sda21(r13)
lbl_803A8218:
/* 803A8218 003A5178 38 00 00 00 */ li r0, 0
/* 803A821C 003A517C B0 05 00 02 */ sth r0, 2(r5)
/* 803A8220 003A5180 48 00 00 38 */ b lbl_803A8258
lbl_803A8224:
/* 803A8224 003A5184 1C 1D 04 04 */ mulli r0, r29, 0x404
/* 803A8228 003A5188 80 6D AE 78 */ lwz r3, synthVoice@sda21(r13)
/* 803A822C 003A518C 7C 63 02 14 */ add r3, r3, r0
/* 803A8230 003A5190 88 03 01 1D */ lbz r0, 0x11d(r3)
/* 803A8234 003A5194 28 00 00 00 */ cmplwi r0, 0
/* 803A8238 003A5198 41 82 00 14 */ beq lbl_803A824C
/* 803A823C 003A519C 88 6D AF 0F */ lbz r3, voiceFxRunning@sda21(r13)
/* 803A8240 003A51A0 38 03 FF FF */ addi r0, r3, -1
/* 803A8244 003A51A4 98 0D AF 0F */ stb r0, voiceFxRunning@sda21(r13)
/* 803A8248 003A51A8 48 00 00 10 */ b lbl_803A8258
lbl_803A824C:
/* 803A824C 003A51AC 88 6D AF 0E */ lbz r3, voiceMusicRunning@sda21(r13)
/* 803A8250 003A51B0 38 03 FF FF */ addi r0, r3, -1
/* 803A8254 003A51B4 98 0D AF 0E */ stb r0, voiceMusicRunning@sda21(r13)
lbl_803A8258:
/* 803A8258 003A51B8 54 C0 06 3F */ clrlwi. r0, r6, 0x18
/* 803A825C 003A51BC 41 82 00 10 */ beq lbl_803A826C
/* 803A8260 003A51C0 88 6D AF 0F */ lbz r3, voiceFxRunning@sda21(r13)
/* 803A8264 003A51C4 38 03 00 01 */ addi r0, r3, 1
/* 803A8268 003A51C8 98 0D AF 0F */ stb r0, voiceFxRunning@sda21(r13)
lbl_803A826C:
/* 803A826C 003A51CC 54 C0 06 3F */ clrlwi. r0, r6, 0x18
/* 803A8270 003A51D0 40 82 00 10 */ bne lbl_803A8280
/* 803A8274 003A51D4 88 6D AF 0E */ lbz r3, voiceMusicRunning@sda21(r13)
/* 803A8278 003A51D8 38 03 00 01 */ addi r0, r3, 1
/* 803A827C 003A51DC 98 0D AF 0E */ stb r0, voiceMusicRunning@sda21(r13)
lbl_803A8280:
/* 803A8280 003A51E0 7F A3 EB 78 */ mr r3, r29
/* 803A8284 003A51E4 48 00 00 08 */ b lbl_803A828C
lbl_803A8288:
/* 803A8288 003A51E8 38 60 FF FF */ li r3, -1
lbl_803A828C:
/* 803A828C 003A51EC 39 61 00 30 */ addi r11, r1, 0x30
/* 803A8290 003A51F0 4B FE 18 25 */ bl _restgpr_22
/* 803A8294 003A51F4 80 01 00 34 */ lwz r0, 0x34(r1)
/* 803A8298 003A51F8 7C 08 03 A6 */ mtlr r0
/* 803A829C 003A51FC 38 21 00 30 */ addi r1, r1, 0x30
/* 803A82A0 003A5200 4E 80 00 20 */ blr
.global voiceFree
voiceFree:
/* 803A82A4 003A5204 94 21 FF F0 */ stwu r1, -0x10(r1)
/* 803A82A8 003A5208 7C 08 02 A6 */ mflr r0
/* 803A82AC 003A520C 3C 80 80 56 */ lis r4, vidList@ha
/* 803A82B0 003A5210 90 01 00 14 */ stw r0, 0x14(r1)
/* 803A82B4 003A5214 93 E1 00 0C */ stw r31, 0xc(r1)
/* 803A82B8 003A5218 3B E4 D3 50 */ addi r31, r4, vidList@l
/* 803A82BC 003A521C 38 80 00 02 */ li r4, 2
/* 803A82C0 003A5220 93 C1 00 08 */ stw r30, 8(r1)
/* 803A82C4 003A5224 7C 7E 1B 78 */ mr r30, r3
/* 803A82C8 003A5228 4B FF ED FD */ bl macMakeInactive
/* 803A82CC 003A522C 80 1E 00 F4 */ lwz r0, 0xf4(r30)
/* 803A82D0 003A5230 38 7F 08 00 */ addi r3, r31, 0x800
/* 803A82D4 003A5234 54 00 15 BA */ rlwinm r0, r0, 2, 0x16, 0x1d
/* 803A82D8 003A5238 7C 63 02 14 */ add r3, r3, r0
/* 803A82DC 003A523C A0 03 00 02 */ lhz r0, 2(r3)
/* 803A82E0 003A5240 28 00 00 01 */ cmplwi r0, 1
/* 803A82E4 003A5244 40 82 00 C4 */ bne lbl_803A83A8
/* 803A82E8 003A5248 88 03 00 00 */ lbz r0, 0(r3)
/* 803A82EC 003A524C 28 00 00 FF */ cmplwi r0, 0xff
/* 803A82F0 003A5250 41 82 00 1C */ beq lbl_803A830C
/* 803A82F4 003A5254 38 9F 08 00 */ addi r4, r31, 0x800
/* 803A82F8 003A5258 54 00 15 BA */ rlwinm r0, r0, 2, 0x16, 0x1d
/* 803A82FC 003A525C 88 A3 00 01 */ lbz r5, 1(r3)
/* 803A8300 003A5260 7C 84 02 14 */ add r4, r4, r0
/* 803A8304 003A5264 98 A4 00 01 */ stb r5, 1(r4)
/* 803A8308 003A5268 48 00 00 14 */ b lbl_803A831C
lbl_803A830C:
/* 803A830C 003A526C 88 A3 00 01 */ lbz r5, 1(r3)
/* 803A8310 003A5270 38 9F 09 00 */ addi r4, r31, 0x900
/* 803A8314 003A5274 88 1E 01 0C */ lbz r0, 0x10c(r30)
/* 803A8318 003A5278 7C A4 01 AE */ stbx r5, r4, r0
lbl_803A831C:
/* 803A831C 003A527C 88 03 00 01 */ lbz r0, 1(r3)
/* 803A8320 003A5280 28 00 00 FF */ cmplwi r0, 0xff
/* 803A8324 003A5284 41 82 00 18 */ beq lbl_803A833C
/* 803A8328 003A5288 88 A3 00 00 */ lbz r5, 0(r3)
/* 803A832C 003A528C 54 00 15 BA */ rlwinm r0, r0, 2, 0x16, 0x1d
/* 803A8330 003A5290 38 9F 08 00 */ addi r4, r31, 0x800
/* 803A8334 003A5294 7C A4 01 AE */ stbx r5, r4, r0
/* 803A8338 003A5298 48 00 00 68 */ b lbl_803A83A0
lbl_803A833C:
/* 803A833C 003A529C 88 03 00 00 */ lbz r0, 0(r3)
/* 803A8340 003A52A0 28 00 00 FF */ cmplwi r0, 0xff
/* 803A8344 003A52A4 40 82 00 5C */ bne lbl_803A83A0
/* 803A8348 003A52A8 88 1E 01 0C */ lbz r0, 0x10c(r30)
/* 803A834C 003A52AC 38 DF 0A 00 */ addi r6, r31, 0xa00
/* 803A8350 003A52B0 54 00 10 3A */ slwi r0, r0, 2
/* 803A8354 003A52B4 7C C6 02 14 */ add r6, r6, r0
/* 803A8358 003A52B8 A0 06 00 02 */ lhz r0, 2(r6)
/* 803A835C 003A52BC 28 00 FF FF */ cmplwi r0, 0xffff
/* 803A8360 003A52C0 41 82 00 18 */ beq lbl_803A8378
/* 803A8364 003A52C4 A0 A6 00 00 */ lhz r5, 0(r6)
/* 803A8368 003A52C8 54 00 13 BA */ rlwinm r0, r0, 2, 0xe, 0x1d
/* 803A836C 003A52CC 38 9F 0A 00 */ addi r4, r31, 0xa00
/* 803A8370 003A52D0 7C A4 03 2E */ sthx r5, r4, r0
/* 803A8374 003A52D4 48 00 00 0C */ b lbl_803A8380
lbl_803A8378:
/* 803A8378 003A52D8 A0 06 00 00 */ lhz r0, 0(r6)
/* 803A837C 003A52DC B0 0D AF 0C */ sth r0, voicePrioSortRootListRoot@sda21(r13)
lbl_803A8380:
/* 803A8380 003A52E0 A0 06 00 00 */ lhz r0, 0(r6)
/* 803A8384 003A52E4 28 00 FF FF */ cmplwi r0, 0xffff
/* 803A8388 003A52E8 41 82 00 18 */ beq lbl_803A83A0
/* 803A838C 003A52EC 38 9F 0A 00 */ addi r4, r31, 0xa00
/* 803A8390 003A52F0 54 00 13 BA */ rlwinm r0, r0, 2, 0xe, 0x1d
/* 803A8394 003A52F4 A0 A6 00 02 */ lhz r5, 2(r6)
/* 803A8398 003A52F8 7C 84 02 14 */ add r4, r4, r0
/* 803A839C 003A52FC B0 A4 00 02 */ sth r5, 2(r4)
lbl_803A83A0:
/* 803A83A0 003A5300 38 00 00 00 */ li r0, 0
/* 803A83A4 003A5304 B0 03 00 02 */ sth r0, 2(r3)
lbl_803A83A8:
/* 803A83A8 003A5308 38 00 00 00 */ li r0, 0
/* 803A83AC 003A530C 38 DF 0E 00 */ addi r6, r31, 0xe00
/* 803A83B0 003A5310 90 1E 00 34 */ stw r0, 0x34(r30)
/* 803A83B4 003A5314 98 1E 01 0C */ stb r0, 0x10c(r30)
/* 803A83B8 003A5318 80 7E 00 F4 */ lwz r3, 0xf4(r30)
/* 803A83BC 003A531C 54 60 15 BA */ rlwinm r0, r3, 2, 0x16, 0x1d
/* 803A83C0 003A5320 54 65 06 3E */ clrlwi r5, r3, 0x18
/* 803A83C4 003A5324 7C C6 02 14 */ add r6, r6, r0
/* 803A83C8 003A5328 A0 06 00 02 */ lhz r0, 2(r6)
/* 803A83CC 003A532C 28 00 00 00 */ cmplwi r0, 0
/* 803A83D0 003A5330 40 82 00 78 */ bne lbl_803A8448
/* 803A83D4 003A5334 88 0D AF 11 */ lbz r0, voiceListRoot@sda21(r13)
/* 803A83D8 003A5338 38 60 00 01 */ li r3, 1
/* 803A83DC 003A533C B0 66 00 02 */ sth r3, 2(r6)
/* 803A83E0 003A5340 28 00 00 FF */ cmplwi r0, 0xff
/* 803A83E4 003A5344 41 82 00 28 */ beq lbl_803A840C
/* 803A83E8 003A5348 38 00 00 FF */ li r0, 0xff
/* 803A83EC 003A534C 88 8D AF 10 */ lbz r4, voiceListInsert@sda21(r13)
/* 803A83F0 003A5350 98 06 00 01 */ stb r0, 1(r6)
/* 803A83F4 003A5354 38 7F 0E 00 */ addi r3, r31, 0xe00
/* 803A83F8 003A5358 54 80 10 3A */ slwi r0, r4, 2
/* 803A83FC 003A535C 98 86 00 00 */ stb r4, 0(r6)
/* 803A8400 003A5360 7C 63 02 14 */ add r3, r3, r0
/* 803A8404 003A5364 98 A3 00 01 */ stb r5, 1(r3)
/* 803A8408 003A5368 48 00 00 14 */ b lbl_803A841C
lbl_803A840C:
/* 803A840C 003A536C 38 00 00 FF */ li r0, 0xff
/* 803A8410 003A5370 98 AD AF 11 */ stb r5, voiceListRoot@sda21(r13)
/* 803A8414 003A5374 98 06 00 01 */ stb r0, 1(r6)
/* 803A8418 003A5378 98 06 00 00 */ stb r0, 0(r6)
lbl_803A841C:
/* 803A841C 003A537C 98 AD AF 10 */ stb r5, voiceListInsert@sda21(r13)
/* 803A8420 003A5380 88 1E 01 1D */ lbz r0, 0x11d(r30)
/* 803A8424 003A5384 28 00 00 00 */ cmplwi r0, 0
/* 803A8428 003A5388 41 82 00 14 */ beq lbl_803A843C
/* 803A842C 003A538C 88 6D AF 0F */ lbz r3, voiceFxRunning@sda21(r13)
/* 803A8430 003A5390 38 03 FF FF */ addi r0, r3, -1
/* 803A8434 003A5394 98 0D AF 0F */ stb r0, voiceFxRunning@sda21(r13)
/* 803A8438 003A5398 48 00 00 10 */ b lbl_803A8448
lbl_803A843C:
/* 803A843C 003A539C 88 6D AF 0E */ lbz r3, voiceMusicRunning@sda21(r13)
/* 803A8440 003A53A0 38 03 FF FF */ addi r0, r3, -1
/* 803A8444 003A53A4 98 0D AF 0E */ stb r0, voiceMusicRunning@sda21(r13)
lbl_803A8448:
/* 803A8448 003A53A8 38 00 FF FF */ li r0, -1
/* 803A844C 003A53AC 90 1E 00 F4 */ stw r0, 0xf4(r30)
/* 803A8450 003A53B0 80 01 00 14 */ lwz r0, 0x14(r1)
/* 803A8454 003A53B4 83 E1 00 0C */ lwz r31, 0xc(r1)
/* 803A8458 003A53B8 83 C1 00 08 */ lwz r30, 8(r1)
/* 803A845C 003A53BC 7C 08 03 A6 */ mtlr r0
/* 803A8460 003A53C0 38 21 00 10 */ addi r1, r1, 0x10
/* 803A8464 003A53C4 4E 80 00 20 */ blr
.global synthInitAllocationAids
synthInitAllocationAids:
/* 803A8468 003A53C8 94 21 FF F0 */ stwu r1, -0x10(r1)
/* 803A846C 003A53CC 3C 60 80 55 */ lis r3, synthInfo@ha
/* 803A8470 003A53D0 39 83 00 50 */ addi r12, r3, synthInfo@l
/* 803A8474 003A53D4 3C 80 80 56 */ lis r4, vidList@ha
/* 803A8478 003A53D8 93 E1 00 0C */ stw r31, 0xc(r1)
/* 803A847C 003A53DC 3B E0 00 00 */ li r31, 0
/* 803A8480 003A53E0 38 64 D3 50 */ addi r3, r4, vidList@l
/* 803A8484 003A53E4 93 C1 00 08 */ stw r30, 8(r1)
/* 803A8488 003A53E8 88 AC 02 10 */ lbz r5, 0x210(r12)
/* 803A848C 003A53EC 28 05 00 00 */ cmplwi r5, 0
/* 803A8490 003A53F0 40 81 01 00 */ ble lbl_803A8590
/* 803A8494 003A53F4 28 05 00 08 */ cmplwi r5, 8
/* 803A8498 003A53F8 38 85 FF F8 */ addi r4, r5, -8
/* 803A849C 003A53FC 40 81 00 B0 */ ble lbl_803A854C
/* 803A84A0 003A5400 38 04 00 07 */ addi r0, r4, 7
/* 803A84A4 003A5404 3B C3 0E 00 */ addi r30, r3, 0xe00
/* 803A84A8 003A5408 54 00 E8 FE */ srwi r0, r0, 3
/* 803A84AC 003A540C 7C 09 03 A6 */ mtctr r0
/* 803A84B0 003A5410 28 04 00 00 */ cmplwi r4, 0
/* 803A84B4 003A5414 40 81 00 98 */ ble lbl_803A854C
lbl_803A84B8:
/* 803A84B8 003A5418 38 1F FF FF */ addi r0, r31, -1
/* 803A84BC 003A541C 39 7F 00 01 */ addi r11, r31, 1
/* 803A84C0 003A5420 98 1E 00 00 */ stb r0, 0(r30)
/* 803A84C4 003A5424 39 40 00 01 */ li r10, 1
/* 803A84C8 003A5428 39 3F 00 02 */ addi r9, r31, 2
/* 803A84CC 003A542C 39 1F 00 03 */ addi r8, r31, 3
/* 803A84D0 003A5430 99 7E 00 01 */ stb r11, 1(r30)
/* 803A84D4 003A5434 38 FF 00 04 */ addi r7, r31, 4
/* 803A84D8 003A5438 38 DF 00 05 */ addi r6, r31, 5
/* 803A84DC 003A543C 38 BF 00 06 */ addi r5, r31, 6
/* 803A84E0 003A5440 B1 5E 00 02 */ sth r10, 2(r30)
/* 803A84E4 003A5444 38 9F 00 07 */ addi r4, r31, 7
/* 803A84E8 003A5448 38 1F 00 08 */ addi r0, r31, 8
/* 803A84EC 003A544C 9B FE 00 04 */ stb r31, 4(r30)
/* 803A84F0 003A5450 3B FF 00 08 */ addi r31, r31, 8
/* 803A84F4 003A5454 99 3E 00 05 */ stb r9, 5(r30)
/* 803A84F8 003A5458 B1 5E 00 06 */ sth r10, 6(r30)
/* 803A84FC 003A545C 99 7E 00 08 */ stb r11, 8(r30)
/* 803A8500 003A5460 99 1E 00 09 */ stb r8, 9(r30)
/* 803A8504 003A5464 B1 5E 00 0A */ sth r10, 0xa(r30)
/* 803A8508 003A5468 99 3E 00 0C */ stb r9, 0xc(r30)
/* 803A850C 003A546C 98 FE 00 0D */ stb r7, 0xd(r30)
/* 803A8510 003A5470 B1 5E 00 0E */ sth r10, 0xe(r30)
/* 803A8514 003A5474 99 1E 00 10 */ stb r8, 0x10(r30)
/* 803A8518 003A5478 98 DE 00 11 */ stb r6, 0x11(r30)
/* 803A851C 003A547C B1 5E 00 12 */ sth r10, 0x12(r30)
/* 803A8520 003A5480 98 FE 00 14 */ stb r7, 0x14(r30)
/* 803A8524 003A5484 98 BE 00 15 */ stb r5, 0x15(r30)
/* 803A8528 003A5488 B1 5E 00 16 */ sth r10, 0x16(r30)
/* 803A852C 003A548C 98 DE 00 18 */ stb r6, 0x18(r30)
/* 803A8530 003A5490 98 9E 00 19 */ stb r4, 0x19(r30)
/* 803A8534 003A5494 B1 5E 00 1A */ sth r10, 0x1a(r30)
/* 803A8538 003A5498 98 BE 00 1C */ stb r5, 0x1c(r30)
/* 803A853C 003A549C 98 1E 00 1D */ stb r0, 0x1d(r30)
/* 803A8540 003A54A0 B1 5E 00 1E */ sth r10, 0x1e(r30)
/* 803A8544 003A54A4 3B DE 00 20 */ addi r30, r30, 0x20
/* 803A8548 003A54A8 42 00 FF 70 */ bdnz lbl_803A84B8
lbl_803A854C:
/* 803A854C 003A54AC 88 EC 02 10 */ lbz r7, 0x210(r12)
/* 803A8550 003A54B0 57 E5 10 3A */ slwi r5, r31, 2
/* 803A8554 003A54B4 38 C3 0E 00 */ addi r6, r3, 0xe00
/* 803A8558 003A54B8 38 80 00 01 */ li r4, 1
/* 803A855C 003A54BC 7C 1F 38 50 */ subf r0, r31, r7
/* 803A8560 003A54C0 7C C6 2A 14 */ add r6, r6, r5
/* 803A8564 003A54C4 7C 09 03 A6 */ mtctr r0
/* 803A8568 003A54C8 7C 1F 38 40 */ cmplw r31, r7
/* 803A856C 003A54CC 40 80 00 24 */ bge lbl_803A8590
lbl_803A8570:
/* 803A8570 003A54D0 38 BF FF FF */ addi r5, r31, -1
/* 803A8574 003A54D4 38 1F 00 01 */ addi r0, r31, 1
/* 803A8578 003A54D8 98 A6 00 00 */ stb r5, 0(r6)
/* 803A857C 003A54DC 3B FF 00 01 */ addi r31, r31, 1
/* 803A8580 003A54E0 98 06 00 01 */ stb r0, 1(r6)
/* 803A8584 003A54E4 B0 86 00 02 */ sth r4, 2(r6)
/* 803A8588 003A54E8 38 C6 00 04 */ addi r6, r6, 4
/* 803A858C 003A54EC 42 00 FF E4 */ bdnz lbl_803A8570
lbl_803A8590:
/* 803A8590 003A54F0 89 0C 02 10 */ lbz r8, 0x210(r12)
/* 803A8594 003A54F4 38 E0 00 FF */ li r7, 0xff
/* 803A8598 003A54F8 38 80 00 00 */ li r4, 0
/* 803A859C 003A54FC 38 C3 0E 00 */ addi r6, r3, 0xe00
/* 803A85A0 003A5500 55 05 10 3A */ slwi r5, r8, 2
/* 803A85A4 003A5504 98 E3 0E 00 */ stb r7, 0xe00(r3)
/* 803A85A8 003A5508 7C A6 2A 14 */ add r5, r6, r5
/* 803A85AC 003A550C 38 08 FF FF */ addi r0, r8, -1
/* 803A85B0 003A5510 28 08 00 00 */ cmplwi r8, 0
/* 803A85B4 003A5514 98 8D AF 11 */ stb r4, voiceListRoot@sda21(r13)
/* 803A85B8 003A5518 7C 86 23 78 */ mr r6, r4
/* 803A85BC 003A551C 98 E5 FF FD */ stb r7, -3(r5)
/* 803A85C0 003A5520 98 0D AF 10 */ stb r0, voiceListInsert@sda21(r13)
/* 803A85C4 003A5524 40 81 00 84 */ ble lbl_803A8648
/* 803A85C8 003A5528 28 08 00 08 */ cmplwi r8, 8
/* 803A85CC 003A552C 38 A8 FF F8 */ addi r5, r8, -8
/* 803A85D0 003A5530 40 81 00 48 */ ble lbl_803A8618
/* 803A85D4 003A5534 38 05 00 07 */ addi r0, r5, 7
/* 803A85D8 003A5538 38 E3 08 00 */ addi r7, r3, 0x800
/* 803A85DC 003A553C 54 00 E8 FE */ srwi r0, r0, 3
/* 803A85E0 003A5540 7C 09 03 A6 */ mtctr r0
/* 803A85E4 003A5544 28 05 00 00 */ cmplwi r5, 0
/* 803A85E8 003A5548 40 81 00 30 */ ble lbl_803A8618
lbl_803A85EC:
/* 803A85EC 003A554C B0 87 00 02 */ sth r4, 2(r7)
/* 803A85F0 003A5550 38 C6 00 08 */ addi r6, r6, 8
/* 803A85F4 003A5554 B0 87 00 06 */ sth r4, 6(r7)
/* 803A85F8 003A5558 B0 87 00 0A */ sth r4, 0xa(r7)
/* 803A85FC 003A555C B0 87 00 0E */ sth r4, 0xe(r7)
/* 803A8600 003A5560 B0 87 00 12 */ sth r4, 0x12(r7)
/* 803A8604 003A5564 B0 87 00 16 */ sth r4, 0x16(r7)
/* 803A8608 003A5568 B0 87 00 1A */ sth r4, 0x1a(r7)
/* 803A860C 003A556C B0 87 00 1E */ sth r4, 0x1e(r7)
/* 803A8610 003A5570 38 E7 00 20 */ addi r7, r7, 0x20
/* 803A8614 003A5574 42 00 FF D8 */ bdnz lbl_803A85EC
lbl_803A8618:
/* 803A8618 003A5578 89 0C 02 10 */ lbz r8, 0x210(r12)
/* 803A861C 003A557C 54 C5 10 3A */ slwi r5, r6, 2
/* 803A8620 003A5580 38 E3 08 00 */ addi r7, r3, 0x800
/* 803A8624 003A5584 38 80 00 00 */ li r4, 0
/* 803A8628 003A5588 7C 06 40 50 */ subf r0, r6, r8
/* 803A862C 003A558C 7C E7 2A 14 */ add r7, r7, r5
/* 803A8630 003A5590 7C 09 03 A6 */ mtctr r0
/* 803A8634 003A5594 7C 06 40 40 */ cmplw r6, r8
/* 803A8638 003A5598 40 80 00 10 */ bge lbl_803A8648
lbl_803A863C:
/* 803A863C 003A559C B0 87 00 02 */ sth r4, 2(r7)
/* 803A8640 003A55A0 38 E7 00 04 */ addi r7, r7, 4
/* 803A8644 003A55A4 42 00 FF F8 */ bdnz lbl_803A863C
lbl_803A8648:
/* 803A8648 003A55A8 38 00 00 08 */ li r0, 8
/* 803A864C 003A55AC 38 83 09 00 */ addi r4, r3, 0x900
/* 803A8650 003A55B0 38 60 00 FF */ li r3, 0xff
/* 803A8654 003A55B4 7C 09 03 A6 */ mtctr r0
lbl_803A8658:
/* 803A8658 003A55B8 98 64 00 00 */ stb r3, 0(r4)
/* 803A865C 003A55BC 98 64 00 01 */ stb r3, 1(r4)
/* 803A8660 003A55C0 98 64 00 02 */ stb r3, 2(r4)
/* 803A8664 003A55C4 98 64 00 03 */ stb r3, 3(r4)
/* 803A8668 003A55C8 98 64 00 04 */ stb r3, 4(r4)
/* 803A866C 003A55CC 98 64 00 05 */ stb r3, 5(r4)
/* 803A8670 003A55D0 98 64 00 06 */ stb r3, 6(r4)
/* 803A8674 003A55D4 98 64 00 07 */ stb r3, 7(r4)
/* 803A8678 003A55D8 98 64 00 08 */ stb r3, 8(r4)
/* 803A867C 003A55DC 98 64 00 09 */ stb r3, 9(r4)
/* 803A8680 003A55E0 98 64 00 0A */ stb r3, 0xa(r4)
/* 803A8684 003A55E4 98 64 00 0B */ stb r3, 0xb(r4)
/* 803A8688 003A55E8 98 64 00 0C */ stb r3, 0xc(r4)
/* 803A868C 003A55EC 98 64 00 0D */ stb r3, 0xd(r4)
/* 803A8690 003A55F0 98 64 00 0E */ stb r3, 0xe(r4)
/* 803A8694 003A55F4 98 64 00 0F */ stb r3, 0xf(r4)
/* 803A8698 003A55F8 98 64 00 10 */ stb r3, 0x10(r4)
/* 803A869C 003A55FC 98 64 00 11 */ stb r3, 0x11(r4)
/* 803A86A0 003A5600 98 64 00 12 */ stb r3, 0x12(r4)
/* 803A86A4 003A5604 98 64 00 13 */ stb r3, 0x13(r4)
/* 803A86A8 003A5608 98 64 00 14 */ stb r3, 0x14(r4)
/* 803A86AC 003A560C 98 64 00 15 */ stb r3, 0x15(r4)
/* 803A86B0 003A5610 98 64 00 16 */ stb r3, 0x16(r4)
/* 803A86B4 003A5614 98 64 00 17 */ stb r3, 0x17(r4)
/* 803A86B8 003A5618 98 64 00 18 */ stb r3, 0x18(r4)
/* 803A86BC 003A561C 98 64 00 19 */ stb r3, 0x19(r4)
/* 803A86C0 003A5620 98 64 00 1A */ stb r3, 0x1a(r4)
/* 803A86C4 003A5624 98 64 00 1B */ stb r3, 0x1b(r4)
/* 803A86C8 003A5628 98 64 00 1C */ stb r3, 0x1c(r4)
/* 803A86CC 003A562C 98 64 00 1D */ stb r3, 0x1d(r4)
/* 803A86D0 003A5630 98 64 00 1E */ stb r3, 0x1e(r4)
/* 803A86D4 003A5634 98 64 00 1F */ stb r3, 0x1f(r4)
/* 803A86D8 003A5638 38 84 00 20 */ addi r4, r4, 0x20
/* 803A86DC 003A563C 42 00 FF 7C */ bdnz lbl_803A8658
/* 803A86E0 003A5640 3C 60 00 01 */ lis r3, 0x0000FFFF@ha
/* 803A86E4 003A5644 38 00 00 00 */ li r0, 0
/* 803A86E8 003A5648 38 63 FF FF */ addi r3, r3, 0x0000FFFF@l
/* 803A86EC 003A564C 98 0D AF 0F */ stb r0, voiceFxRunning@sda21(r13)
/* 803A86F0 003A5650 B0 6D AF 0C */ sth r3, voicePrioSortRootListRoot@sda21(r13)
/* 803A86F4 003A5654 98 0D AF 0E */ stb r0, voiceMusicRunning@sda21(r13)
/* 803A86F8 003A5658 83 E1 00 0C */ lwz r31, 0xc(r1)
/* 803A86FC 003A565C 83 C1 00 08 */ lwz r30, 8(r1)
/* 803A8700 003A5660 38 21 00 10 */ addi r1, r1, 0x10
/* 803A8704 003A5664 4E 80 00 20 */ blr
.global voiceBlock
voiceBlock:
/* 803A8708 003A5668 94 21 FF E0 */ stwu r1, -0x20(r1)
/* 803A870C 003A566C 7C 08 02 A6 */ mflr r0
/* 803A8710 003A5670 3C 80 00 01 */ lis r4, 0x0000FFFF@ha
/* 803A8714 003A5674 38 C0 00 01 */ li r6, 1
/* 803A8718 003A5678 90 01 00 24 */ stw r0, 0x24(r1)
/* 803A871C 003A567C 38 A4 FF FF */ addi r5, r4, 0x0000FFFF@l
/* 803A8720 003A5680 38 80 00 FF */ li r4, 0xff
/* 803A8724 003A5684 93 E1 00 1C */ stw r31, 0x1c(r1)
/* 803A8728 003A5688 93 C1 00 18 */ stw r30, 0x18(r1)
/* 803A872C 003A568C 93 A1 00 14 */ stw r29, 0x14(r1)
/* 803A8730 003A5690 7C 7D 1B 78 */ mr r29, r3
/* 803A8734 003A5694 4B FF F7 11 */ bl voiceAllocateFind
/* 803A8738 003A5698 7C 7E 1B 78 */ mr r30, r3
/* 803A873C 003A569C 3C 1E 00 01 */ addis r0, r30, 1
/* 803A8740 003A56A0 28 00 FF FF */ cmplwi r0, 0xffff
/* 803A8744 003A56A4 41 82 00 A0 */ beq lbl_803A87E4
/* 803A8748 003A56A8 1F FE 04 04 */ mulli r31, r30, 0x404
/* 803A874C 003A56AC 80 0D AE 78 */ lwz r0, synthVoice@sda21(r13)
/* 803A8750 003A56B0 3C 60 00 01 */ lis r3, 0x0000FFFF@ha
/* 803A8754 003A56B4 38 C0 00 01 */ li r6, 1
/* 803A8758 003A56B8 7C A0 FA 14 */ add r5, r0, r31
/* 803A875C 003A56BC 38 83 FF FF */ addi r4, r3, 0x0000FFFF@l
/* 803A8760 003A56C0 98 C5 01 1C */ stb r6, 0x11c(r5)
/* 803A8764 003A56C4 80 0D AE 78 */ lwz r0, synthVoice@sda21(r13)
/* 803A8768 003A56C8 7C 60 FA 14 */ add r3, r0, r31
/* 803A876C 003A56CC 98 C3 01 1D */ stb r6, 0x11d(r3)
/* 803A8770 003A56D0 80 0D AE 78 */ lwz r0, synthVoice@sda21(r13)
/* 803A8774 003A56D4 7C 60 FA 14 */ add r3, r0, r31
/* 803A8778 003A56D8 B0 83 01 00 */ sth r4, 0x100(r3)
/* 803A877C 003A56DC 80 0D AE 78 */ lwz r0, synthVoice@sda21(r13)
/* 803A8780 003A56E0 7C 60 FA 14 */ add r3, r0, r31
/* 803A8784 003A56E4 4B FF EF BD */ bl vidRemoveVoiceReferences
/* 803A8788 003A56E8 80 0D AE 78 */ lwz r0, synthVoice@sda21(r13)
/* 803A878C 003A56EC 67 C5 FF FF */ oris r5, r30, 0xffff
/* 803A8790 003A56F0 60 A5 FF 00 */ ori r5, r5, 0xff00
/* 803A8794 003A56F4 7F C3 F3 78 */ mr r3, r30
/* 803A8798 003A56F8 7C 80 FA 14 */ add r4, r0, r31
/* 803A879C 003A56FC 90 A4 00 F4 */ stw r5, 0xf4(r4)
/* 803A87A0 003A5700 48 00 A9 FD */ bl hwIsActive
/* 803A87A4 003A5704 28 03 00 00 */ cmplwi r3, 0
/* 803A87A8 003A5708 41 82 00 0C */ beq lbl_803A87B4
/* 803A87AC 003A570C 7F C3 F3 78 */ mr r3, r30
/* 803A87B0 003A5710 48 00 AB DD */ bl hwBreak
lbl_803A87B4:
/* 803A87B4 003A5714 80 0D AE 78 */ lwz r0, synthVoice@sda21(r13)
/* 803A87B8 003A5718 38 80 00 02 */ li r4, 2
/* 803A87BC 003A571C 7C 60 FA 14 */ add r3, r0, r31
/* 803A87C0 003A5720 4B FF E9 05 */ bl macMakeInactive
/* 803A87C4 003A5724 80 0D AE 78 */ lwz r0, synthVoice@sda21(r13)
/* 803A87C8 003A5728 38 A0 00 00 */ li r5, 0
/* 803A87CC 003A572C 7F A4 EB 78 */ mr r4, r29
/* 803A87D0 003A5730 7C 60 FA 14 */ add r3, r0, r31
/* 803A87D4 003A5734 90 A3 00 34 */ stw r5, 0x34(r3)
/* 803A87D8 003A5738 80 0D AE 78 */ lwz r0, synthVoice@sda21(r13)
/* 803A87DC 003A573C 7C 60 FA 14 */ add r3, r0, r31
/* 803A87E0 003A5740 4B FF F4 19 */ bl voiceSetPriority
lbl_803A87E4:
/* 803A87E4 003A5744 80 01 00 24 */ lwz r0, 0x24(r1)
/* 803A87E8 003A5748 7F C3 F3 78 */ mr r3, r30
/* 803A87EC 003A574C 83 E1 00 1C */ lwz r31, 0x1c(r1)
/* 803A87F0 003A5750 83 C1 00 18 */ lwz r30, 0x18(r1)
/* 803A87F4 003A5754 83 A1 00 14 */ lwz r29, 0x14(r1)
/* 803A87F8 003A5758 7C 08 03 A6 */ mtlr r0
/* 803A87FC 003A575C 38 21 00 20 */ addi r1, r1, 0x20
/* 803A8800 003A5760 4E 80 00 20 */ blr
.global voiceUnblock
voiceUnblock:
/* 803A8804 003A5764 94 21 FF E0 */ stwu r1, -0x20(r1)
/* 803A8808 003A5768 7C 08 02 A6 */ mflr r0
/* 803A880C 003A576C 3C 80 80 56 */ lis r4, vidList@ha
/* 803A8810 003A5770 90 01 00 24 */ stw r0, 0x24(r1)
/* 803A8814 003A5774 93 E1 00 1C */ stw r31, 0x1c(r1)
/* 803A8818 003A5778 3B E4 D3 50 */ addi r31, r4, vidList@l
/* 803A881C 003A577C 93 C1 00 18 */ stw r30, 0x18(r1)
/* 803A8820 003A5780 7C 7E 1B 78 */ mr r30, r3
/* 803A8824 003A5784 3C 1E 00 01 */ addis r0, r30, 1
/* 803A8828 003A5788 28 00 FF FF */ cmplwi r0, 0xffff
/* 803A882C 003A578C 93 A1 00 14 */ stw r29, 0x14(r1)
/* 803A8830 003A5790 41 82 01 D0 */ beq lbl_803A8A00
/* 803A8834 003A5794 48 00 A9 69 */ bl hwIsActive
/* 803A8838 003A5798 28 03 00 00 */ cmplwi r3, 0
/* 803A883C 003A579C 41 82 00 0C */ beq lbl_803A8848
/* 803A8840 003A57A0 7F C3 F3 78 */ mr r3, r30
/* 803A8844 003A57A4 48 00 AB 49 */ bl hwBreak
lbl_803A8848:
/* 803A8848 003A57A8 1F BE 04 04 */ mulli r29, r30, 0x404
/* 803A884C 003A57AC 80 0D AE 78 */ lwz r0, synthVoice@sda21(r13)
/* 803A8850 003A57B0 38 80 00 02 */ li r4, 2
/* 803A8854 003A57B4 7C 60 EA 14 */ add r3, r0, r29
/* 803A8858 003A57B8 93 C3 00 F4 */ stw r30, 0xf4(r3)
/* 803A885C 003A57BC 80 0D AE 78 */ lwz r0, synthVoice@sda21(r13)
/* 803A8860 003A57C0 7F C0 EA 14 */ add r30, r0, r29
/* 803A8864 003A57C4 7F C3 F3 78 */ mr r3, r30
/* 803A8868 003A57C8 4B FF E8 5D */ bl macMakeInactive
/* 803A886C 003A57CC 80 1E 00 F4 */ lwz r0, 0xf4(r30)
/* 803A8870 003A57D0 38 7F 08 00 */ addi r3, r31, 0x800
/* 803A8874 003A57D4 54 00 15 BA */ rlwinm r0, r0, 2, 0x16, 0x1d
/* 803A8878 003A57D8 7C 63 02 14 */ add r3, r3, r0
/* 803A887C 003A57DC A0 03 00 02 */ lhz r0, 2(r3)
/* 803A8880 003A57E0 28 00 00 01 */ cmplwi r0, 1
/* 803A8884 003A57E4 40 82 00 C4 */ bne lbl_803A8948
/* 803A8888 003A57E8 88 03 00 00 */ lbz r0, 0(r3)
/* 803A888C 003A57EC 28 00 00 FF */ cmplwi r0, 0xff
/* 803A8890 003A57F0 41 82 00 1C */ beq lbl_803A88AC
/* 803A8894 003A57F4 38 9F 08 00 */ addi r4, r31, 0x800
/* 803A8898 003A57F8 54 00 15 BA */ rlwinm r0, r0, 2, 0x16, 0x1d
/* 803A889C 003A57FC 88 A3 00 01 */ lbz r5, 1(r3)
/* 803A88A0 003A5800 7C 84 02 14 */ add r4, r4, r0
/* 803A88A4 003A5804 98 A4 00 01 */ stb r5, 1(r4)
/* 803A88A8 003A5808 48 00 00 14 */ b lbl_803A88BC
lbl_803A88AC:
/* 803A88AC 003A580C 88 A3 00 01 */ lbz r5, 1(r3)
/* 803A88B0 003A5810 38 9F 09 00 */ addi r4, r31, 0x900
/* 803A88B4 003A5814 88 1E 01 0C */ lbz r0, 0x10c(r30)
/* 803A88B8 003A5818 7C A4 01 AE */ stbx r5, r4, r0
lbl_803A88BC:
/* 803A88BC 003A581C 88 03 00 01 */ lbz r0, 1(r3)
/* 803A88C0 003A5820 28 00 00 FF */ cmplwi r0, 0xff
/* 803A88C4 003A5824 41 82 00 18 */ beq lbl_803A88DC
/* 803A88C8 003A5828 88 A3 00 00 */ lbz r5, 0(r3)
/* 803A88CC 003A582C 54 00 15 BA */ rlwinm r0, r0, 2, 0x16, 0x1d
/* 803A88D0 003A5830 38 9F 08 00 */ addi r4, r31, 0x800
/* 803A88D4 003A5834 7C A4 01 AE */ stbx r5, r4, r0
/* 803A88D8 003A5838 48 00 00 68 */ b lbl_803A8940
lbl_803A88DC:
/* 803A88DC 003A583C 88 03 00 00 */ lbz r0, 0(r3)
/* 803A88E0 003A5840 28 00 00 FF */ cmplwi r0, 0xff
/* 803A88E4 003A5844 40 82 00 5C */ bne lbl_803A8940
/* 803A88E8 003A5848 88 1E 01 0C */ lbz r0, 0x10c(r30)
/* 803A88EC 003A584C 38 DF 0A 00 */ addi r6, r31, 0xa00
/* 803A88F0 003A5850 54 00 10 3A */ slwi r0, r0, 2
/* 803A88F4 003A5854 7C C6 02 14 */ add r6, r6, r0
/* 803A88F8 003A5858 A0 06 00 02 */ lhz r0, 2(r6)
/* 803A88FC 003A585C 28 00 FF FF */ cmplwi r0, 0xffff
/* 803A8900 003A5860 41 82 00 18 */ beq lbl_803A8918
/* 803A8904 003A5864 A0 A6 00 00 */ lhz r5, 0(r6)
/* 803A8908 003A5868 54 00 13 BA */ rlwinm r0, r0, 2, 0xe, 0x1d
/* 803A890C 003A586C 38 9F 0A 00 */ addi r4, r31, 0xa00
/* 803A8910 003A5870 7C A4 03 2E */ sthx r5, r4, r0
/* 803A8914 003A5874 48 00 00 0C */ b lbl_803A8920
lbl_803A8918:
/* 803A8918 003A5878 A0 06 00 00 */ lhz r0, 0(r6)
/* 803A891C 003A587C B0 0D AF 0C */ sth r0, voicePrioSortRootListRoot@sda21(r13)
lbl_803A8920:
/* 803A8920 003A5880 A0 06 00 00 */ lhz r0, 0(r6)
/* 803A8924 003A5884 28 00 FF FF */ cmplwi r0, 0xffff
/* 803A8928 003A5888 41 82 00 18 */ beq lbl_803A8940
/* 803A892C 003A588C 38 9F 0A 00 */ addi r4, r31, 0xa00
/* 803A8930 003A5890 54 00 13 BA */ rlwinm r0, r0, 2, 0xe, 0x1d
/* 803A8934 003A5894 A0 A6 00 02 */ lhz r5, 2(r6)
/* 803A8938 003A5898 7C 84 02 14 */ add r4, r4, r0
/* 803A893C 003A589C B0 A4 00 02 */ sth r5, 2(r4)
lbl_803A8940:
/* 803A8940 003A58A0 38 00 00 00 */ li r0, 0
/* 803A8944 003A58A4 B0 03 00 02 */ sth r0, 2(r3)
lbl_803A8948:
/* 803A8948 003A58A8 38 00 00 00 */ li r0, 0
/* 803A894C 003A58AC 38 BF 0E 00 */ addi r5, r31, 0xe00
/* 803A8950 003A58B0 90 1E 00 34 */ stw r0, 0x34(r30)
/* 803A8954 003A58B4 98 1E 01 0C */ stb r0, 0x10c(r30)
/* 803A8958 003A58B8 80 7E 00 F4 */ lwz r3, 0xf4(r30)
/* 803A895C 003A58BC 54 60 15 BA */ rlwinm r0, r3, 2, 0x16, 0x1d
/* 803A8960 003A58C0 54 66 06 3E */ clrlwi r6, r3, 0x18
/* 803A8964 003A58C4 7C A5 02 14 */ add r5, r5, r0
/* 803A8968 003A58C8 A0 05 00 02 */ lhz r0, 2(r5)
/* 803A896C 003A58CC 28 00 00 00 */ cmplwi r0, 0
/* 803A8970 003A58D0 40 82 00 78 */ bne lbl_803A89E8
/* 803A8974 003A58D4 88 0D AF 11 */ lbz r0, voiceListRoot@sda21(r13)
/* 803A8978 003A58D8 38 60 00 01 */ li r3, 1
/* 803A897C 003A58DC B0 65 00 02 */ sth r3, 2(r5)
/* 803A8980 003A58E0 28 00 00 FF */ cmplwi r0, 0xff
/* 803A8984 003A58E4 41 82 00 28 */ beq lbl_803A89AC
/* 803A8988 003A58E8 38 00 00 FF */ li r0, 0xff
/* 803A898C 003A58EC 88 8D AF 10 */ lbz r4, voiceListInsert@sda21(r13)
/* 803A8990 003A58F0 98 05 00 01 */ stb r0, 1(r5)
/* 803A8994 003A58F4 38 7F 0E 00 */ addi r3, r31, 0xe00
/* 803A8998 003A58F8 54 80 10 3A */ slwi r0, r4, 2
/* 803A899C 003A58FC 98 85 00 00 */ stb r4, 0(r5)
/* 803A89A0 003A5900 7C 63 02 14 */ add r3, r3, r0
/* 803A89A4 003A5904 98 C3 00 01 */ stb r6, 1(r3)
/* 803A89A8 003A5908 48 00 00 14 */ b lbl_803A89BC
lbl_803A89AC:
/* 803A89AC 003A590C 38 00 00 FF */ li r0, 0xff
/* 803A89B0 003A5910 98 CD AF 11 */ stb r6, voiceListRoot@sda21(r13)
/* 803A89B4 003A5914 98 05 00 01 */ stb r0, 1(r5)
/* 803A89B8 003A5918 98 05 00 00 */ stb r0, 0(r5)
lbl_803A89BC:
/* 803A89BC 003A591C 98 CD AF 10 */ stb r6, voiceListInsert@sda21(r13)
/* 803A89C0 003A5920 88 1E 01 1D */ lbz r0, 0x11d(r30)
/* 803A89C4 003A5924 28 00 00 00 */ cmplwi r0, 0
/* 803A89C8 003A5928 41 82 00 14 */ beq lbl_803A89DC
/* 803A89CC 003A592C 88 6D AF 0F */ lbz r3, voiceFxRunning@sda21(r13)
/* 803A89D0 003A5930 38 03 FF FF */ addi r0, r3, -1
/* 803A89D4 003A5934 98 0D AF 0F */ stb r0, voiceFxRunning@sda21(r13)
/* 803A89D8 003A5938 48 00 00 10 */ b lbl_803A89E8
lbl_803A89DC:
/* 803A89DC 003A593C 88 6D AF 0E */ lbz r3, voiceMusicRunning@sda21(r13)
/* 803A89E0 003A5940 38 03 FF FF */ addi r0, r3, -1
/* 803A89E4 003A5944 98 0D AF 0E */ stb r0, voiceMusicRunning@sda21(r13)
lbl_803A89E8:
/* 803A89E8 003A5948 38 00 FF FF */ li r0, -1
/* 803A89EC 003A594C 38 80 00 00 */ li r4, 0
/* 803A89F0 003A5950 90 1E 00 F4 */ stw r0, 0xf4(r30)
/* 803A89F4 003A5954 80 0D AE 78 */ lwz r0, synthVoice@sda21(r13)
/* 803A89F8 003A5958 7C 60 EA 14 */ add r3, r0, r29
/* 803A89FC 003A595C 98 83 01 1C */ stb r4, 0x11c(r3)
lbl_803A8A00:
/* 803A8A00 003A5960 80 01 00 24 */ lwz r0, 0x24(r1)
/* 803A8A04 003A5964 83 E1 00 1C */ lwz r31, 0x1c(r1)
/* 803A8A08 003A5968 83 C1 00 18 */ lwz r30, 0x18(r1)
/* 803A8A0C 003A596C 83 A1 00 14 */ lwz r29, 0x14(r1)
/* 803A8A10 003A5970 7C 08 03 A6 */ mtlr r0
/* 803A8A14 003A5974 38 21 00 20 */ addi r1, r1, 0x20
/* 803A8A18 003A5978 4E 80 00 20 */ blr
.global voiceKill
voiceKill:
/* 803A8A1C 003A597C 94 21 FF E0 */ stwu r1, -0x20(r1)
/* 803A8A20 003A5980 7C 08 02 A6 */ mflr r0
/* 803A8A24 003A5984 3C 80 80 56 */ lis r4, vidList@ha
/* 803A8A28 003A5988 90 01 00 24 */ stw r0, 0x24(r1)
/* 803A8A2C 003A598C 93 E1 00 1C */ stw r31, 0x1c(r1)
/* 803A8A30 003A5990 3B E4 D3 50 */ addi r31, r4, vidList@l
/* 803A8A34 003A5994 93 C1 00 18 */ stw r30, 0x18(r1)
/* 803A8A38 003A5998 93 A1 00 14 */ stw r29, 0x14(r1)
/* 803A8A3C 003A599C 7C 7D 1B 78 */ mr r29, r3
/* 803A8A40 003A59A0 1C 1D 04 04 */ mulli r0, r29, 0x404
/* 803A8A44 003A59A4 80 6D AE 78 */ lwz r3, synthVoice@sda21(r13)
/* 803A8A48 003A59A8 7F C3 02 14 */ add r30, r3, r0
/* 803A8A4C 003A59AC 80 1E 00 34 */ lwz r0, 0x34(r30)
/* 803A8A50 003A59B0 28 00 00 00 */ cmplwi r0, 0
/* 803A8A54 003A59B4 41 82 01 C4 */ beq lbl_803A8C18
/* 803A8A58 003A59B8 7F C3 F3 78 */ mr r3, r30
/* 803A8A5C 003A59BC 4B FF EC E5 */ bl vidRemoveVoiceReferences
/* 803A8A60 003A59C0 80 7E 01 18 */ lwz r3, 0x118(r30)
/* 803A8A64 003A59C4 38 00 FF FC */ li r0, -4
/* 803A8A68 003A59C8 80 BE 01 14 */ lwz r5, 0x114(r30)
/* 803A8A6C 003A59CC 38 80 FF FF */ li r4, -1
/* 803A8A70 003A59D0 7C 63 00 38 */ and r3, r3, r0
/* 803A8A74 003A59D4 38 00 00 00 */ li r0, 0
/* 803A8A78 003A59D8 90 7E 01 18 */ stw r3, 0x118(r30)
/* 803A8A7C 003A59DC 7C A5 20 38 */ and r5, r5, r4
/* 803A8A80 003A59E0 7F C3 F3 78 */ mr r3, r30
/* 803A8A84 003A59E4 38 80 00 02 */ li r4, 2
/* 803A8A88 003A59E8 90 BE 01 14 */ stw r5, 0x114(r30)
/* 803A8A8C 003A59EC 90 1E 01 10 */ stw r0, 0x110(r30)
/* 803A8A90 003A59F0 4B FF E6 35 */ bl macMakeInactive
/* 803A8A94 003A59F4 80 1E 00 F4 */ lwz r0, 0xf4(r30)
/* 803A8A98 003A59F8 38 7F 08 00 */ addi r3, r31, 0x800
/* 803A8A9C 003A59FC 54 00 15 BA */ rlwinm r0, r0, 2, 0x16, 0x1d
/* 803A8AA0 003A5A00 7C 63 02 14 */ add r3, r3, r0
/* 803A8AA4 003A5A04 A0 03 00 02 */ lhz r0, 2(r3)
/* 803A8AA8 003A5A08 28 00 00 01 */ cmplwi r0, 1
/* 803A8AAC 003A5A0C 40 82 00 C4 */ bne lbl_803A8B70
/* 803A8AB0 003A5A10 88 03 00 00 */ lbz r0, 0(r3)
/* 803A8AB4 003A5A14 28 00 00 FF */ cmplwi r0, 0xff
/* 803A8AB8 003A5A18 41 82 00 1C */ beq lbl_803A8AD4
/* 803A8ABC 003A5A1C 38 9F 08 00 */ addi r4, r31, 0x800
/* 803A8AC0 003A5A20 54 00 15 BA */ rlwinm r0, r0, 2, 0x16, 0x1d
/* 803A8AC4 003A5A24 88 A3 00 01 */ lbz r5, 1(r3)
/* 803A8AC8 003A5A28 7C 84 02 14 */ add r4, r4, r0
/* 803A8ACC 003A5A2C 98 A4 00 01 */ stb r5, 1(r4)
/* 803A8AD0 003A5A30 48 00 00 14 */ b lbl_803A8AE4
lbl_803A8AD4:
/* 803A8AD4 003A5A34 88 A3 00 01 */ lbz r5, 1(r3)
/* 803A8AD8 003A5A38 38 9F 09 00 */ addi r4, r31, 0x900
/* 803A8ADC 003A5A3C 88 1E 01 0C */ lbz r0, 0x10c(r30)
/* 803A8AE0 003A5A40 7C A4 01 AE */ stbx r5, r4, r0
lbl_803A8AE4:
/* 803A8AE4 003A5A44 88 03 00 01 */ lbz r0, 1(r3)
/* 803A8AE8 003A5A48 28 00 00 FF */ cmplwi r0, 0xff
/* 803A8AEC 003A5A4C 41 82 00 18 */ beq lbl_803A8B04
/* 803A8AF0 003A5A50 88 A3 00 00 */ lbz r5, 0(r3)
/* 803A8AF4 003A5A54 54 00 15 BA */ rlwinm r0, r0, 2, 0x16, 0x1d
/* 803A8AF8 003A5A58 38 9F 08 00 */ addi r4, r31, 0x800
/* 803A8AFC 003A5A5C 7C A4 01 AE */ stbx r5, r4, r0
/* 803A8B00 003A5A60 48 00 00 68 */ b lbl_803A8B68
lbl_803A8B04:
/* 803A8B04 003A5A64 88 03 00 00 */ lbz r0, 0(r3)
/* 803A8B08 003A5A68 28 00 00 FF */ cmplwi r0, 0xff
/* 803A8B0C 003A5A6C 40 82 00 5C */ bne lbl_803A8B68
/* 803A8B10 003A5A70 88 1E 01 0C */ lbz r0, 0x10c(r30)
/* 803A8B14 003A5A74 38 DF 0A 00 */ addi r6, r31, 0xa00
/* 803A8B18 003A5A78 54 00 10 3A */ slwi r0, r0, 2
/* 803A8B1C 003A5A7C 7C C6 02 14 */ add r6, r6, r0
/* 803A8B20 003A5A80 A0 06 00 02 */ lhz r0, 2(r6)
/* 803A8B24 003A5A84 28 00 FF FF */ cmplwi r0, 0xffff
/* 803A8B28 003A5A88 41 82 00 18 */ beq lbl_803A8B40
/* 803A8B2C 003A5A8C A0 A6 00 00 */ lhz r5, 0(r6)
/* 803A8B30 003A5A90 54 00 13 BA */ rlwinm r0, r0, 2, 0xe, 0x1d
/* 803A8B34 003A5A94 38 9F 0A 00 */ addi r4, r31, 0xa00
/* 803A8B38 003A5A98 7C A4 03 2E */ sthx r5, r4, r0
/* 803A8B3C 003A5A9C 48 00 00 0C */ b lbl_803A8B48
lbl_803A8B40:
/* 803A8B40 003A5AA0 A0 06 00 00 */ lhz r0, 0(r6)
/* 803A8B44 003A5AA4 B0 0D AF 0C */ sth r0, voicePrioSortRootListRoot@sda21(r13)
lbl_803A8B48:
/* 803A8B48 003A5AA8 A0 06 00 00 */ lhz r0, 0(r6)
/* 803A8B4C 003A5AAC 28 00 FF FF */ cmplwi r0, 0xffff
/* 803A8B50 003A5AB0 41 82 00 18 */ beq lbl_803A8B68
/* 803A8B54 003A5AB4 38 9F 0A 00 */ addi r4, r31, 0xa00
/* 803A8B58 003A5AB8 54 00 13 BA */ rlwinm r0, r0, 2, 0xe, 0x1d
/* 803A8B5C 003A5ABC A0 A6 00 02 */ lhz r5, 2(r6)
/* 803A8B60 003A5AC0 7C 84 02 14 */ add r4, r4, r0
/* 803A8B64 003A5AC4 B0 A4 00 02 */ sth r5, 2(r4)
lbl_803A8B68:
/* 803A8B68 003A5AC8 38 00 00 00 */ li r0, 0
/* 803A8B6C 003A5ACC B0 03 00 02 */ sth r0, 2(r3)
lbl_803A8B70:
/* 803A8B70 003A5AD0 38 00 00 00 */ li r0, 0
/* 803A8B74 003A5AD4 38 BF 0E 00 */ addi r5, r31, 0xe00
/* 803A8B78 003A5AD8 90 1E 00 34 */ stw r0, 0x34(r30)
/* 803A8B7C 003A5ADC 98 1E 01 0C */ stb r0, 0x10c(r30)
/* 803A8B80 003A5AE0 80 7E 00 F4 */ lwz r3, 0xf4(r30)
/* 803A8B84 003A5AE4 54 60 15 BA */ rlwinm r0, r3, 2, 0x16, 0x1d
/* 803A8B88 003A5AE8 54 66 06 3E */ clrlwi r6, r3, 0x18
/* 803A8B8C 003A5AEC 7C A5 02 14 */ add r5, r5, r0
/* 803A8B90 003A5AF0 A0 05 00 02 */ lhz r0, 2(r5)
/* 803A8B94 003A5AF4 28 00 00 00 */ cmplwi r0, 0
/* 803A8B98 003A5AF8 40 82 00 78 */ bne lbl_803A8C10
/* 803A8B9C 003A5AFC 88 0D AF 11 */ lbz r0, voiceListRoot@sda21(r13)
/* 803A8BA0 003A5B00 38 60 00 01 */ li r3, 1
/* 803A8BA4 003A5B04 B0 65 00 02 */ sth r3, 2(r5)
/* 803A8BA8 003A5B08 28 00 00 FF */ cmplwi r0, 0xff
/* 803A8BAC 003A5B0C 41 82 00 28 */ beq lbl_803A8BD4
/* 803A8BB0 003A5B10 38 00 00 FF */ li r0, 0xff
/* 803A8BB4 003A5B14 88 8D AF 10 */ lbz r4, voiceListInsert@sda21(r13)
/* 803A8BB8 003A5B18 98 05 00 01 */ stb r0, 1(r5)
/* 803A8BBC 003A5B1C 38 7F 0E 00 */ addi r3, r31, 0xe00
/* 803A8BC0 003A5B20 54 80 10 3A */ slwi r0, r4, 2
/* 803A8BC4 003A5B24 98 85 00 00 */ stb r4, 0(r5)
/* 803A8BC8 003A5B28 7C 63 02 14 */ add r3, r3, r0
/* 803A8BCC 003A5B2C 98 C3 00 01 */ stb r6, 1(r3)
/* 803A8BD0 003A5B30 48 00 00 14 */ b lbl_803A8BE4
lbl_803A8BD4:
/* 803A8BD4 003A5B34 38 00 00 FF */ li r0, 0xff
/* 803A8BD8 003A5B38 98 CD AF 11 */ stb r6, voiceListRoot@sda21(r13)
/* 803A8BDC 003A5B3C 98 05 00 01 */ stb r0, 1(r5)
/* 803A8BE0 003A5B40 98 05 00 00 */ stb r0, 0(r5)
lbl_803A8BE4:
/* 803A8BE4 003A5B44 98 CD AF 10 */ stb r6, voiceListInsert@sda21(r13)
/* 803A8BE8 003A5B48 88 1E 01 1D */ lbz r0, 0x11d(r30)
/* 803A8BEC 003A5B4C 28 00 00 00 */ cmplwi r0, 0
/* 803A8BF0 003A5B50 41 82 00 14 */ beq lbl_803A8C04
/* 803A8BF4 003A5B54 88 6D AF 0F */ lbz r3, voiceFxRunning@sda21(r13)
/* 803A8BF8 003A5B58 38 03 FF FF */ addi r0, r3, -1
/* 803A8BFC 003A5B5C 98 0D AF 0F */ stb r0, voiceFxRunning@sda21(r13)
/* 803A8C00 003A5B60 48 00 00 10 */ b lbl_803A8C10
lbl_803A8C04:
/* 803A8C04 003A5B64 88 6D AF 0E */ lbz r3, voiceMusicRunning@sda21(r13)
/* 803A8C08 003A5B68 38 03 FF FF */ addi r0, r3, -1
/* 803A8C0C 003A5B6C 98 0D AF 0E */ stb r0, voiceMusicRunning@sda21(r13)
lbl_803A8C10:
/* 803A8C10 003A5B70 38 00 FF FF */ li r0, -1
/* 803A8C14 003A5B74 90 1E 00 F4 */ stw r0, 0xf4(r30)
lbl_803A8C18:
/* 803A8C18 003A5B78 88 1E 01 1C */ lbz r0, 0x11c(r30)
/* 803A8C1C 003A5B7C 28 00 00 00 */ cmplwi r0, 0
/* 803A8C20 003A5B80 41 82 00 0C */ beq lbl_803A8C2C
/* 803A8C24 003A5B84 7F A3 EB 78 */ mr r3, r29
/* 803A8C28 003A5B88 4B FF 46 35 */ bl streamKill
lbl_803A8C2C:
/* 803A8C2C 003A5B8C 7F A3 EB 78 */ mr r3, r29
/* 803A8C30 003A5B90 48 00 A7 5D */ bl hwBreak
/* 803A8C34 003A5B94 80 01 00 24 */ lwz r0, 0x24(r1)
/* 803A8C38 003A5B98 83 E1 00 1C */ lwz r31, 0x1c(r1)
/* 803A8C3C 003A5B9C 83 C1 00 18 */ lwz r30, 0x18(r1)
/* 803A8C40 003A5BA0 83 A1 00 14 */ lwz r29, 0x14(r1)
/* 803A8C44 003A5BA4 7C 08 03 A6 */ mtlr r0
/* 803A8C48 003A5BA8 38 21 00 20 */ addi r1, r1, 0x20
/* 803A8C4C 003A5BAC 4E 80 00 20 */ blr
.global voiceKillSound
voiceKillSound:
/* 803A8C50 003A5BB0 94 21 FF F0 */ stwu r1, -0x10(r1)
/* 803A8C54 003A5BB4 7C 08 02 A6 */ mflr r0
/* 803A8C58 003A5BB8 38 A0 FF FF */ li r5, -1
/* 803A8C5C 003A5BBC 90 01 00 14 */ stw r0, 0x14(r1)
/* 803A8C60 003A5BC0 93 E1 00 0C */ stw r31, 0xc(r1)
/* 803A8C64 003A5BC4 88 0D AE 48 */ lbz r0, sndActive@sda21(r13)
/* 803A8C68 003A5BC8 28 00 00 00 */ cmplwi r0, 0
/* 803A8C6C 003A5BCC 41 82 00 90 */ beq lbl_803A8CFC
/* 803A8C70 003A5BD0 3C 03 00 01 */ addis r0, r3, 1
/* 803A8C74 003A5BD4 28 00 FF FF */ cmplwi r0, 0xffff
/* 803A8C78 003A5BD8 41 82 00 40 */ beq lbl_803A8CB8
/* 803A8C7C 003A5BDC 80 8D AF 04 */ lwz r4, vidRoot@sda21(r13)
/* 803A8C80 003A5BE0 48 00 00 1C */ b lbl_803A8C9C
lbl_803A8C84:
/* 803A8C84 003A5BE4 80 04 00 08 */ lwz r0, 8(r4)
/* 803A8C88 003A5BE8 7C 00 18 40 */ cmplw r0, r3
/* 803A8C8C 003A5BEC 40 82 00 08 */ bne lbl_803A8C94
/* 803A8C90 003A5BF0 48 00 00 18 */ b lbl_803A8CA8
lbl_803A8C94:
/* 803A8C94 003A5BF4 41 81 00 10 */ bgt lbl_803A8CA4
/* 803A8C98 003A5BF8 80 84 00 00 */ lwz r4, 0(r4)
lbl_803A8C9C:
/* 803A8C9C 003A5BFC 28 04 00 00 */ cmplwi r4, 0
/* 803A8CA0 003A5C00 40 82 FF E4 */ bne lbl_803A8C84
lbl_803A8CA4:
/* 803A8CA4 003A5C04 38 80 00 00 */ li r4, 0
lbl_803A8CA8:
/* 803A8CA8 003A5C08 28 04 00 00 */ cmplwi r4, 0
/* 803A8CAC 003A5C0C 41 82 00 0C */ beq lbl_803A8CB8
/* 803A8CB0 003A5C10 80 04 00 0C */ lwz r0, 0xc(r4)
/* 803A8CB4 003A5C14 48 00 00 08 */ b lbl_803A8CBC
lbl_803A8CB8:
/* 803A8CB8 003A5C18 38 00 FF FF */ li r0, -1
lbl_803A8CBC:
/* 803A8CBC 003A5C1C 7C 06 03 78 */ mr r6, r0
/* 803A8CC0 003A5C20 48 00 00 30 */ b lbl_803A8CF0
lbl_803A8CC4:
/* 803A8CC4 003A5C24 54 C3 06 3E */ clrlwi r3, r6, 0x18
/* 803A8CC8 003A5C28 80 8D AE 78 */ lwz r4, synthVoice@sda21(r13)
/* 803A8CCC 003A5C2C 1C 03 04 04 */ mulli r0, r3, 0x404
/* 803A8CD0 003A5C30 7C 84 02 14 */ add r4, r4, r0
/* 803A8CD4 003A5C34 80 04 00 F4 */ lwz r0, 0xf4(r4)
/* 803A8CD8 003A5C38 83 E4 00 EC */ lwz r31, 0xec(r4)
/* 803A8CDC 003A5C3C 7C 06 00 40 */ cmplw r6, r0
/* 803A8CE0 003A5C40 40 82 00 0C */ bne lbl_803A8CEC
/* 803A8CE4 003A5C44 4B FF FD 39 */ bl voiceKill
/* 803A8CE8 003A5C48 38 A0 00 00 */ li r5, 0
lbl_803A8CEC:
/* 803A8CEC 003A5C4C 7F E6 FB 78 */ mr r6, r31
lbl_803A8CF0:
/* 803A8CF0 003A5C50 3C 06 00 01 */ addis r0, r6, 1
/* 803A8CF4 003A5C54 28 00 FF FF */ cmplwi r0, 0xffff
/* 803A8CF8 003A5C58 40 82 FF CC */ bne lbl_803A8CC4
lbl_803A8CFC:
/* 803A8CFC 003A5C5C 80 01 00 14 */ lwz r0, 0x14(r1)
/* 803A8D00 003A5C60 7C A3 2B 78 */ mr r3, r5
/* 803A8D04 003A5C64 83 E1 00 0C */ lwz r31, 0xc(r1)
/* 803A8D08 003A5C68 7C 08 03 A6 */ mtlr r0
/* 803A8D0C 003A5C6C 38 21 00 10 */ addi r1, r1, 0x10
/* 803A8D10 003A5C70 4E 80 00 20 */ blr
.global synthKillVoicesByMacroReferences
synthKillVoicesByMacroReferences:
/* 803A8D14 003A5C74 94 21 FF E0 */ stwu r1, -0x20(r1)
/* 803A8D18 003A5C78 7C 08 02 A6 */ mflr r0
/* 803A8D1C 003A5C7C 90 01 00 24 */ stw r0, 0x24(r1)
/* 803A8D20 003A5C80 39 61 00 20 */ addi r11, r1, 0x20
/* 803A8D24 003A5C84 4B FE 0D 55 */ bl _savegpr_26
/* 803A8D28 003A5C88 3C 80 80 55 */ lis r4, synthInfo@ha
/* 803A8D2C 003A5C8C 7C 7E 1B 78 */ mr r30, r3
/* 803A8D30 003A5C90 3B E4 00 50 */ addi r31, r4, synthInfo@l
/* 803A8D34 003A5C94 3B 60 00 00 */ li r27, 0
/* 803A8D38 003A5C98 3B A0 00 00 */ li r29, 0
/* 803A8D3C 003A5C9C 48 00 00 34 */ b lbl_803A8D70
lbl_803A8D40:
/* 803A8D40 003A5CA0 80 0D AE 78 */ lwz r0, synthVoice@sda21(r13)
/* 803A8D44 003A5CA4 7C 60 EA 14 */ add r3, r0, r29
/* 803A8D48 003A5CA8 80 03 00 34 */ lwz r0, 0x34(r3)
/* 803A8D4C 003A5CAC 28 00 00 00 */ cmplwi r0, 0
/* 803A8D50 003A5CB0 40 82 00 18 */ bne lbl_803A8D68
/* 803A8D54 003A5CB4 88 03 01 1C */ lbz r0, 0x11c(r3)
/* 803A8D58 003A5CB8 28 00 00 00 */ cmplwi r0, 0
/* 803A8D5C 003A5CBC 40 82 00 0C */ bne lbl_803A8D68
/* 803A8D60 003A5CC0 7F 63 DB 78 */ mr r3, r27
/* 803A8D64 003A5CC4 4B FF FC B9 */ bl voiceKill
lbl_803A8D68:
/* 803A8D68 003A5CC8 3B BD 04 04 */ addi r29, r29, 0x404
/* 803A8D6C 003A5CCC 3B 7B 00 01 */ addi r27, r27, 1
lbl_803A8D70:
/* 803A8D70 003A5CD0 88 1F 02 10 */ lbz r0, 0x210(r31)
/* 803A8D74 003A5CD4 7C 1B 00 40 */ cmplw r27, r0
/* 803A8D78 003A5CD8 41 80 FF C8 */ blt lbl_803A8D40
/* 803A8D7C 003A5CDC 48 00 00 D0 */ b lbl_803A8E4C
lbl_803A8D80:
/* 803A8D80 003A5CE0 54 60 04 21 */ rlwinm. r0, r3, 0, 0x10, 0x10
/* 803A8D84 003A5CE4 41 82 00 78 */ beq lbl_803A8DFC
/* 803A8D88 003A5CE8 54 60 04 BE */ clrlwi r0, r3, 0x12
/* 803A8D8C 003A5CEC 7C 1A 03 78 */ mr r26, r0
/* 803A8D90 003A5CF0 48 00 00 54 */ b lbl_803A8DE4
lbl_803A8D94:
/* 803A8D94 003A5CF4 3B 60 00 00 */ li r27, 0
/* 803A8D98 003A5CF8 57 5D 04 3E */ clrlwi r29, r26, 0x10
/* 803A8D9C 003A5CFC 7F 7C DB 78 */ mr r28, r27
/* 803A8DA0 003A5D00 48 00 00 34 */ b lbl_803A8DD4
lbl_803A8DA4:
/* 803A8DA4 003A5D04 80 0D AE 78 */ lwz r0, synthVoice@sda21(r13)
/* 803A8DA8 003A5D08 7C 60 E2 14 */ add r3, r0, r28
/* 803A8DAC 003A5D0C 80 03 00 34 */ lwz r0, 0x34(r3)
/* 803A8DB0 003A5D10 28 00 00 00 */ cmplwi r0, 0
/* 803A8DB4 003A5D14 41 82 00 18 */ beq lbl_803A8DCC
/* 803A8DB8 003A5D18 A0 03 01 02 */ lhz r0, 0x102(r3)
/* 803A8DBC 003A5D1C 7C 1D 00 40 */ cmplw r29, r0
/* 803A8DC0 003A5D20 40 82 00 0C */ bne lbl_803A8DCC
/* 803A8DC4 003A5D24 7F 63 DB 78 */ mr r3, r27
/* 803A8DC8 003A5D28 4B FF FC 55 */ bl voiceKill
lbl_803A8DCC:
/* 803A8DCC 003A5D2C 3B 9C 04 04 */ addi r28, r28, 0x404
/* 803A8DD0 003A5D30 3B 7B 00 01 */ addi r27, r27, 1
lbl_803A8DD4:
/* 803A8DD4 003A5D34 88 1F 02 10 */ lbz r0, 0x210(r31)
/* 803A8DD8 003A5D38 7C 1B 00 40 */ cmplw r27, r0
/* 803A8DDC 003A5D3C 41 80 FF C8 */ blt lbl_803A8DA4
/* 803A8DE0 003A5D40 3B 5A 00 01 */ addi r26, r26, 1
lbl_803A8DE4:
/* 803A8DE4 003A5D44 A0 1E 00 02 */ lhz r0, 2(r30)
/* 803A8DE8 003A5D48 57 43 04 3E */ clrlwi r3, r26, 0x10
/* 803A8DEC 003A5D4C 7C 03 00 40 */ cmplw r3, r0
/* 803A8DF0 003A5D50 40 81 FF A4 */ ble lbl_803A8D94
/* 803A8DF4 003A5D54 3B DE 00 04 */ addi r30, r30, 4
/* 803A8DF8 003A5D58 48 00 00 54 */ b lbl_803A8E4C
lbl_803A8DFC:
/* 803A8DFC 003A5D5C 3B A0 00 00 */ li r29, 0
/* 803A8E00 003A5D60 7F BC EB 78 */ mr r28, r29
/* 803A8E04 003A5D64 48 00 00 38 */ b lbl_803A8E3C
lbl_803A8E08:
/* 803A8E08 003A5D68 80 0D AE 78 */ lwz r0, synthVoice@sda21(r13)
/* 803A8E0C 003A5D6C 7C 80 E2 14 */ add r4, r0, r28
/* 803A8E10 003A5D70 80 04 00 34 */ lwz r0, 0x34(r4)
/* 803A8E14 003A5D74 28 00 00 00 */ cmplwi r0, 0
/* 803A8E18 003A5D78 41 82 00 1C */ beq lbl_803A8E34
/* 803A8E1C 003A5D7C A0 7E 00 00 */ lhz r3, 0(r30)
/* 803A8E20 003A5D80 A0 04 01 02 */ lhz r0, 0x102(r4)
/* 803A8E24 003A5D84 7C 03 00 40 */ cmplw r3, r0
/* 803A8E28 003A5D88 40 82 00 0C */ bne lbl_803A8E34
/* 803A8E2C 003A5D8C 7F A3 EB 78 */ mr r3, r29
/* 803A8E30 003A5D90 4B FF FB ED */ bl voiceKill
lbl_803A8E34:
/* 803A8E34 003A5D94 3B 9C 04 04 */ addi r28, r28, 0x404
/* 803A8E38 003A5D98 3B BD 00 01 */ addi r29, r29, 1
lbl_803A8E3C:
/* 803A8E3C 003A5D9C 88 1F 02 10 */ lbz r0, 0x210(r31)
/* 803A8E40 003A5DA0 7C 1D 00 40 */ cmplw r29, r0
/* 803A8E44 003A5DA4 41 80 FF C4 */ blt lbl_803A8E08
/* 803A8E48 003A5DA8 3B DE 00 02 */ addi r30, r30, 2
lbl_803A8E4C:
/* 803A8E4C 003A5DAC A0 7E 00 00 */ lhz r3, 0(r30)
/* 803A8E50 003A5DB0 28 03 FF FF */ cmplwi r3, 0xffff
/* 803A8E54 003A5DB4 40 82 FF 2C */ bne lbl_803A8D80
/* 803A8E58 003A5DB8 39 61 00 20 */ addi r11, r1, 0x20
/* 803A8E5C 003A5DBC 4B FE 0C 69 */ bl _restgpr_26
/* 803A8E60 003A5DC0 80 01 00 24 */ lwz r0, 0x24(r1)
/* 803A8E64 003A5DC4 7C 08 03 A6 */ mtlr r0
/* 803A8E68 003A5DC8 38 21 00 20 */ addi r1, r1, 0x20
/* 803A8E6C 003A5DCC 4E 80 00 20 */ blr
.global voiceIsLastStarted
voiceIsLastStarted:
/* 803A8E70 003A5DD0 80 83 00 F4 */ lwz r4, 0xf4(r3)
/* 803A8E74 003A5DD4 3C 04 00 01 */ addis r0, r4, 1
/* 803A8E78 003A5DD8 28 00 FF FF */ cmplwi r0, 0xffff
/* 803A8E7C 003A5DDC 41 82 00 60 */ beq lbl_803A8EDC
/* 803A8E80 003A5DE0 88 A3 01 21 */ lbz r5, 0x121(r3)
/* 803A8E84 003A5DE4 28 05 00 FF */ cmplwi r5, 0xff
/* 803A8E88 003A5DE8 41 82 00 54 */ beq lbl_803A8EDC
/* 803A8E8C 003A5DEC 88 03 01 22 */ lbz r0, 0x122(r3)
/* 803A8E90 003A5DF0 54 86 06 3E */ clrlwi r6, r4, 0x18
/* 803A8E94 003A5DF4 28 00 00 FF */ cmplwi r0, 0xff
/* 803A8E98 003A5DF8 40 82 00 20 */ bne lbl_803A8EB8
/* 803A8E9C 003A5DFC 3C 60 80 56 */ lis r3, synth_last_fxstarted@ha
/* 803A8EA0 003A5E00 38 63 E2 50 */ addi r3, r3, synth_last_fxstarted@l
/* 803A8EA4 003A5E04 7C 03 30 AE */ lbzx r0, r3, r6
/* 803A8EA8 003A5E08 7C 00 30 40 */ cmplw r0, r6
/* 803A8EAC 003A5E0C 40 82 00 30 */ bne lbl_803A8EDC
/* 803A8EB0 003A5E10 38 60 00 01 */ li r3, 1
/* 803A8EB4 003A5E14 4E 80 00 20 */ blr
lbl_803A8EB8:
/* 803A8EB8 003A5E18 3C 60 80 56 */ lis r3, synth_last_started@ha
/* 803A8EBC 003A5E1C 54 04 25 36 */ rlwinm r4, r0, 4, 0x14, 0x1b
/* 803A8EC0 003A5E20 38 03 E2 90 */ addi r0, r3, synth_last_started@l
/* 803A8EC4 003A5E24 7C 60 22 14 */ add r3, r0, r4
/* 803A8EC8 003A5E28 7C 03 28 AE */ lbzx r0, r3, r5
/* 803A8ECC 003A5E2C 7C 06 00 40 */ cmplw r6, r0
/* 803A8ED0 003A5E30 40 82 00 0C */ bne lbl_803A8EDC
/* 803A8ED4 003A5E34 38 60 00 01 */ li r3, 1
/* 803A8ED8 003A5E38 4E 80 00 20 */ blr
lbl_803A8EDC:
/* 803A8EDC 003A5E3C 38 60 00 00 */ li r3, 0
/* 803A8EE0 003A5E40 4E 80 00 20 */ blr
.global voiceSetLastStarted
voiceSetLastStarted:
/* 803A8EE4 003A5E44 80 83 00 F4 */ lwz r4, 0xf4(r3)
/* 803A8EE8 003A5E48 3C 04 00 01 */ addis r0, r4, 1
/* 803A8EEC 003A5E4C 28 00 FF FF */ cmplwi r0, 0xffff
/* 803A8EF0 003A5E50 4D 82 00 20 */ beqlr
/* 803A8EF4 003A5E54 88 A3 01 21 */ lbz r5, 0x121(r3)
/* 803A8EF8 003A5E58 28 05 00 FF */ cmplwi r5, 0xff
/* 803A8EFC 003A5E5C 4D 82 00 20 */ beqlr
/* 803A8F00 003A5E60 88 03 01 22 */ lbz r0, 0x122(r3)
/* 803A8F04 003A5E64 54 86 06 3E */ clrlwi r6, r4, 0x18
/* 803A8F08 003A5E68 28 00 00 FF */ cmplwi r0, 0xff
/* 803A8F0C 003A5E6C 40 82 00 14 */ bne lbl_803A8F20
/* 803A8F10 003A5E70 3C 60 80 56 */ lis r3, synth_last_fxstarted@ha
/* 803A8F14 003A5E74 38 63 E2 50 */ addi r3, r3, synth_last_fxstarted@l
/* 803A8F18 003A5E78 7C C3 31 AE */ stbx r6, r3, r6
/* 803A8F1C 003A5E7C 4E 80 00 20 */ blr
lbl_803A8F20:
/* 803A8F20 003A5E80 3C 60 80 56 */ lis r3, synth_last_started@ha
/* 803A8F24 003A5E84 54 04 25 36 */ rlwinm r4, r0, 4, 0x14, 0x1b
/* 803A8F28 003A5E88 38 03 E2 90 */ addi r0, r3, synth_last_started@l
/* 803A8F2C 003A5E8C 7C 60 22 14 */ add r3, r0, r4
/* 803A8F30 003A5E90 7C C3 29 AE */ stbx r6, r3, r5
/* 803A8F34 003A5E94 4E 80 00 20 */ blr
.global voiceResetLastStarted
voiceResetLastStarted:
/* 803A8F38 003A5E98 80 83 00 F4 */ lwz r4, 0xf4(r3)
/* 803A8F3C 003A5E9C 3C 04 00 01 */ addis r0, r4, 1
/* 803A8F40 003A5EA0 28 00 FF FF */ cmplwi r0, 0xffff
/* 803A8F44 003A5EA4 4D 82 00 20 */ beqlr
/* 803A8F48 003A5EA8 88 A3 01 21 */ lbz r5, 0x121(r3)
/* 803A8F4C 003A5EAC 28 05 00 FF */ cmplwi r5, 0xff
/* 803A8F50 003A5EB0 4D 82 00 20 */ beqlr
/* 803A8F54 003A5EB4 88 03 01 22 */ lbz r0, 0x122(r3)
/* 803A8F58 003A5EB8 54 86 06 3E */ clrlwi r6, r4, 0x18
/* 803A8F5C 003A5EBC 28 00 00 FF */ cmplwi r0, 0xff
/* 803A8F60 003A5EC0 40 82 00 24 */ bne lbl_803A8F84
/* 803A8F64 003A5EC4 3C 60 80 56 */ lis r3, synth_last_fxstarted@ha
/* 803A8F68 003A5EC8 38 63 E2 50 */ addi r3, r3, synth_last_fxstarted@l
/* 803A8F6C 003A5ECC 7C 03 30 AE */ lbzx r0, r3, r6
/* 803A8F70 003A5ED0 7C 00 30 40 */ cmplw r0, r6
/* 803A8F74 003A5ED4 4C 82 00 20 */ bnelr
/* 803A8F78 003A5ED8 38 00 00 FF */ li r0, 0xff
/* 803A8F7C 003A5EDC 7C 03 31 AE */ stbx r0, r3, r6
/* 803A8F80 003A5EE0 4E 80 00 20 */ blr
lbl_803A8F84:
/* 803A8F84 003A5EE4 3C 60 80 56 */ lis r3, synth_last_started@ha
/* 803A8F88 003A5EE8 54 04 25 36 */ rlwinm r4, r0, 4, 0x14, 0x1b
/* 803A8F8C 003A5EEC 38 03 E2 90 */ addi r0, r3, synth_last_started@l
/* 803A8F90 003A5EF0 7C 60 22 14 */ add r3, r0, r4
/* 803A8F94 003A5EF4 7C 03 28 AE */ lbzx r0, r3, r5
/* 803A8F98 003A5EF8 7C 06 00 40 */ cmplw r6, r0
/* 803A8F9C 003A5EFC 4C 82 00 20 */ bnelr
/* 803A8FA0 003A5F00 38 00 00 FF */ li r0, 0xff
/* 803A8FA4 003A5F04 7C 03 29 AE */ stbx r0, r3, r5
/* 803A8FA8 003A5F08 4E 80 00 20 */ blr
.global voiceInitLastStarted
voiceInitLastStarted:
/* 803A8FAC 003A5F0C 3C 60 80 56 */ lis r3, synth_last_started@ha
/* 803A8FB0 003A5F10 38 00 00 04 */ li r0, 4
/* 803A8FB4 003A5F14 38 A3 E2 90 */ addi r5, r3, synth_last_started@l
/* 803A8FB8 003A5F18 38 C0 00 00 */ li r6, 0
/* 803A8FBC 003A5F1C 7C 09 03 A6 */ mtctr r0
lbl_803A8FC0:
/* 803A8FC0 003A5F20 38 80 00 FF */ li r4, 0xff
/* 803A8FC4 003A5F24 98 85 00 00 */ stb r4, 0(r5)
/* 803A8FC8 003A5F28 98 85 00 01 */ stb r4, 1(r5)
/* 803A8FCC 003A5F2C 98 85 00 02 */ stb r4, 2(r5)
/* 803A8FD0 003A5F30 98 85 00 03 */ stb r4, 3(r5)
/* 803A8FD4 003A5F34 98 85 00 04 */ stb r4, 4(r5)
/* 803A8FD8 003A5F38 98 85 00 05 */ stb r4, 5(r5)
/* 803A8FDC 003A5F3C 98 85 00 06 */ stb r4, 6(r5)
/* 803A8FE0 003A5F40 98 85 00 07 */ stb r4, 7(r5)
/* 803A8FE4 003A5F44 98 85 00 08 */ stb r4, 8(r5)
/* 803A8FE8 003A5F48 98 85 00 09 */ stb r4, 9(r5)
/* 803A8FEC 003A5F4C 98 85 00 0A */ stb r4, 0xa(r5)
/* 803A8FF0 003A5F50 98 85 00 0B */ stb r4, 0xb(r5)
/* 803A8FF4 003A5F54 98 85 00 0C */ stb r4, 0xc(r5)
/* 803A8FF8 003A5F58 98 85 00 0D */ stb r4, 0xd(r5)
/* 803A8FFC 003A5F5C 98 85 00 0E */ stb r4, 0xe(r5)
/* 803A9000 003A5F60 98 85 00 0F */ stb r4, 0xf(r5)
/* 803A9004 003A5F64 38 A5 00 10 */ addi r5, r5, 0x10
/* 803A9008 003A5F68 98 85 00 00 */ stb r4, 0(r5)
/* 803A900C 003A5F6C 38 C6 00 01 */ addi r6, r6, 1
/* 803A9010 003A5F70 98 85 00 01 */ stb r4, 1(r5)
/* 803A9014 003A5F74 98 85 00 02 */ stb r4, 2(r5)
/* 803A9018 003A5F78 98 85 00 03 */ stb r4, 3(r5)
/* 803A901C 003A5F7C 98 85 00 04 */ stb r4, 4(r5)
/* 803A9020 003A5F80 98 85 00 05 */ stb r4, 5(r5)
/* 803A9024 003A5F84 98 85 00 06 */ stb r4, 6(r5)
/* 803A9028 003A5F88 98 85 00 07 */ stb r4, 7(r5)
/* 803A902C 003A5F8C 98 85 00 08 */ stb r4, 8(r5)
/* 803A9030 003A5F90 98 85 00 09 */ stb r4, 9(r5)
/* 803A9034 003A5F94 98 85 00 0A */ stb r4, 0xa(r5)
/* 803A9038 003A5F98 98 85 00 0B */ stb r4, 0xb(r5)
/* 803A903C 003A5F9C 98 85 00 0C */ stb r4, 0xc(r5)
/* 803A9040 003A5FA0 98 85 00 0D */ stb r4, 0xd(r5)
/* 803A9044 003A5FA4 98 85 00 0E */ stb r4, 0xe(r5)
/* 803A9048 003A5FA8 98 85 00 0F */ stb r4, 0xf(r5)
/* 803A904C 003A5FAC 38 A5 00 10 */ addi r5, r5, 0x10
/* 803A9050 003A5FB0 42 00 FF 70 */ bdnz lbl_803A8FC0
/* 803A9054 003A5FB4 3C 60 80 56 */ lis r3, synth_last_fxstarted@ha
/* 803A9058 003A5FB8 38 00 00 02 */ li r0, 2
/* 803A905C 003A5FBC 38 63 E2 50 */ addi r3, r3, synth_last_fxstarted@l
/* 803A9060 003A5FC0 7C 09 03 A6 */ mtctr r0
lbl_803A9064:
/* 803A9064 003A5FC4 98 83 00 00 */ stb r4, 0(r3)
/* 803A9068 003A5FC8 98 83 00 01 */ stb r4, 1(r3)
/* 803A906C 003A5FCC 98 83 00 02 */ stb r4, 2(r3)
/* 803A9070 003A5FD0 98 83 00 03 */ stb r4, 3(r3)
/* 803A9074 003A5FD4 98 83 00 04 */ stb r4, 4(r3)
/* 803A9078 003A5FD8 98 83 00 05 */ stb r4, 5(r3)
/* 803A907C 003A5FDC 98 83 00 06 */ stb r4, 6(r3)
/* 803A9080 003A5FE0 98 83 00 07 */ stb r4, 7(r3)
/* 803A9084 003A5FE4 98 83 00 08 */ stb r4, 8(r3)
/* 803A9088 003A5FE8 98 83 00 09 */ stb r4, 9(r3)
/* 803A908C 003A5FEC 98 83 00 0A */ stb r4, 0xa(r3)
/* 803A9090 003A5FF0 98 83 00 0B */ stb r4, 0xb(r3)
/* 803A9094 003A5FF4 98 83 00 0C */ stb r4, 0xc(r3)
/* 803A9098 003A5FF8 98 83 00 0D */ stb r4, 0xd(r3)
/* 803A909C 003A5FFC 98 83 00 0E */ stb r4, 0xe(r3)
/* 803A90A0 003A6000 98 83 00 0F */ stb r4, 0xf(r3)
/* 803A90A4 003A6004 98 83 00 10 */ stb r4, 0x10(r3)
/* 803A90A8 003A6008 98 83 00 11 */ stb r4, 0x11(r3)
/* 803A90AC 003A600C 98 83 00 12 */ stb r4, 0x12(r3)
/* 803A90B0 003A6010 98 83 00 13 */ stb r4, 0x13(r3)
/* 803A90B4 003A6014 98 83 00 14 */ stb r4, 0x14(r3)
/* 803A90B8 003A6018 98 83 00 15 */ stb r4, 0x15(r3)
/* 803A90BC 003A601C 98 83 00 16 */ stb r4, 0x16(r3)
/* 803A90C0 003A6020 98 83 00 17 */ stb r4, 0x17(r3)
/* 803A90C4 003A6024 98 83 00 18 */ stb r4, 0x18(r3)
/* 803A90C8 003A6028 98 83 00 19 */ stb r4, 0x19(r3)
/* 803A90CC 003A602C 98 83 00 1A */ stb r4, 0x1a(r3)
/* 803A90D0 003A6030 98 83 00 1B */ stb r4, 0x1b(r3)
/* 803A90D4 003A6034 98 83 00 1C */ stb r4, 0x1c(r3)
/* 803A90D8 003A6038 98 83 00 1D */ stb r4, 0x1d(r3)
/* 803A90DC 003A603C 98 83 00 1E */ stb r4, 0x1e(r3)
/* 803A90E0 003A6040 98 83 00 1F */ stb r4, 0x1f(r3)
/* 803A90E4 003A6044 38 63 00 20 */ addi r3, r3, 0x20
/* 803A90E8 003A6048 42 00 FF 7C */ bdnz lbl_803A9064
/* 803A90EC 003A604C 4E 80 00 20 */ blr