prime/asm/musyx/runtime/synthvoice.s

2014 lines
94 KiB
ArmAsm

.include "macros.inc"
.section .bss
.balign 8
.obj vidList, local
.skip 0x800
.endobj vidList
.obj voicePrioSortVoices
.skip 0x100
.endobj voicePrioSortVoices
.obj voicePrioSortVoicesRoot
.skip 0x100
.endobj voicePrioSortVoicesRoot
.obj voicePrioSortRootList
.skip 0x400
.endobj voicePrioSortRootList
.obj voiceList
.skip 0x100
.endobj voiceList
.obj synth_last_fxstarted, local
.skip 0x40
.endobj synth_last_fxstarted
.obj synth_last_started, local
.skip 0x80
.endobj synth_last_started
.section .sbss
.balign 8
.obj vidFree, local
.skip 0x4
.endobj vidFree
.obj vidRoot, local
.skip 0x4
.endobj vidRoot
.obj vidCurrentId, local
.skip 0x4
.endobj vidCurrentId
.obj voicePrioSortRootListRoot
.skip 0x2
.endobj voicePrioSortRootListRoot
.obj voiceMusicRunning
.skip 0x1
.endobj voiceMusicRunning
.obj voiceFxRunning
.skip 0x1
.endobj voiceFxRunning
.obj voiceListInsert
.skip 0x1
.endobj voiceListInsert
.obj voiceListRoot
.skip 0x1
.endobj voiceListRoot
.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 voiceAllocate
voiceAllocate:
/* 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 voiceAllocate
/* 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