mirror of https://github.com/PrimeDecomp/prime.git
Move vsUpdateBuffer and vsSampleUpdates to synth_vsamples
Former-commit-id: cd0ee54bd6
This commit is contained in:
parent
66fb9aceab
commit
73898907a6
|
@ -15,288 +15,6 @@ gs:
|
||||||
|
|
||||||
.section .text, "ax"
|
.section .text, "ax"
|
||||||
|
|
||||||
.global vsUpdateBuffer
|
|
||||||
vsUpdateBuffer:
|
|
||||||
/* 803A9D7C 003A6CDC 94 21 FF F0 */ stwu r1, -0x10(r1)
|
|
||||||
/* 803A9D80 003A6CE0 7C 08 02 A6 */ mflr r0
|
|
||||||
/* 803A9D84 003A6CE4 90 01 00 14 */ stw r0, 0x14(r1)
|
|
||||||
/* 803A9D88 003A6CE8 93 E1 00 0C */ stw r31, 0xc(r1)
|
|
||||||
/* 803A9D8C 003A6CEC 7C 7F 1B 78 */ mr r31, r3
|
|
||||||
/* 803A9D90 003A6CF0 93 C1 00 08 */ stw r30, 8(r1)
|
|
||||||
/* 803A9D94 003A6CF4 81 03 00 04 */ lwz r8, 4(r3)
|
|
||||||
/* 803A9D98 003A6CF8 7C 08 20 40 */ cmplw r8, r4
|
|
||||||
/* 803A9D9C 003A6CFC 41 82 01 C0 */ beq lbl_803A9F5C
|
|
||||||
/* 803A9DA0 003A6D00 40 80 00 98 */ bge lbl_803A9E38
|
|
||||||
/* 803A9DA4 003A6D04 88 1F 00 02 */ lbz r0, 2(r31)
|
|
||||||
/* 803A9DA8 003A6D08 2C 00 00 05 */ cmpwi r0, 5
|
|
||||||
/* 803A9DAC 003A6D0C 41 82 00 08 */ beq lbl_803A9DB4
|
|
||||||
/* 803A9DB0 003A6D10 48 00 01 AC */ b lbl_803A9F5C
|
|
||||||
lbl_803A9DB4:
|
|
||||||
/* 803A9DB4 003A6D14 3C A0 24 92 */ lis r5, 0x24924925@ha
|
|
||||||
/* 803A9DB8 003A6D18 38 00 00 00 */ li r0, 0
|
|
||||||
/* 803A9DBC 003A6D1C 38 A5 49 25 */ addi r5, r5, 0x24924925@l
|
|
||||||
/* 803A9DC0 003A6D20 3C 60 80 56 */ lis r3, vs@ha
|
|
||||||
/* 803A9DC4 003A6D24 7C E5 40 16 */ mulhwu r7, r5, r8
|
|
||||||
/* 803A9DC8 003A6D28 38 A3 E3 10 */ addi r5, r3, vs@l
|
|
||||||
/* 803A9DCC 003A6D2C 38 60 00 01 */ li r3, 1
|
|
||||||
/* 803A9DD0 003A6D30 7C C7 40 50 */ subf r6, r7, r8
|
|
||||||
/* 803A9DD4 003A6D34 54 C6 F8 7E */ srwi r6, r6, 1
|
|
||||||
/* 803A9DD8 003A6D38 7C C6 3A 14 */ add r6, r6, r7
|
|
||||||
/* 803A9DDC 003A6D3C 54 C6 00 38 */ rlwinm r6, r6, 0, 0, 0x1c
|
|
||||||
/* 803A9DE0 003A6D40 90 DF 00 14 */ stw r6, 0x14(r31)
|
|
||||||
/* 803A9DE4 003A6D44 80 DF 00 04 */ lwz r6, 4(r31)
|
|
||||||
/* 803A9DE8 003A6D48 7C C6 20 50 */ subf r6, r6, r4
|
|
||||||
/* 803A9DEC 003A6D4C 38 9F 00 10 */ addi r4, r31, 0x10
|
|
||||||
/* 803A9DF0 003A6D50 90 DF 00 18 */ stw r6, 0x18(r31)
|
|
||||||
/* 803A9DF4 003A6D54 90 1F 00 1C */ stw r0, 0x1c(r31)
|
|
||||||
/* 803A9DF8 003A6D58 90 1F 00 20 */ stw r0, 0x20(r31)
|
|
||||||
/* 803A9DFC 003A6D5C 81 85 09 4C */ lwz r12, 0x94c(r5)
|
|
||||||
/* 803A9E00 003A6D60 7D 89 03 A6 */ mtctr r12
|
|
||||||
/* 803A9E04 003A6D64 4E 80 04 21 */ bctrl
|
|
||||||
/* 803A9E08 003A6D68 28 03 00 00 */ cmplwi r3, 0
|
|
||||||
/* 803A9E0C 003A6D6C 41 82 01 50 */ beq lbl_803A9F5C
|
|
||||||
/* 803A9E10 003A6D70 3C 80 80 56 */ lis r4, vs@ha
|
|
||||||
/* 803A9E14 003A6D74 80 1F 00 04 */ lwz r0, 4(r31)
|
|
||||||
/* 803A9E18 003A6D78 38 84 E3 10 */ addi r4, r4, vs@l
|
|
||||||
/* 803A9E1C 003A6D7C 80 84 00 04 */ lwz r4, 4(r4)
|
|
||||||
/* 803A9E20 003A6D80 7C 60 1A 14 */ add r3, r0, r3
|
|
||||||
/* 803A9E24 003A6D84 7C 03 23 96 */ divwu r0, r3, r4
|
|
||||||
/* 803A9E28 003A6D88 7C 00 21 D6 */ mullw r0, r0, r4
|
|
||||||
/* 803A9E2C 003A6D8C 7C 00 18 50 */ subf r0, r0, r3
|
|
||||||
/* 803A9E30 003A6D90 90 1F 00 04 */ stw r0, 4(r31)
|
|
||||||
/* 803A9E34 003A6D94 48 00 01 28 */ b lbl_803A9F5C
|
|
||||||
lbl_803A9E38:
|
|
||||||
/* 803A9E38 003A6D98 28 04 00 00 */ cmplwi r4, 0
|
|
||||||
/* 803A9E3C 003A6D9C 40 82 00 94 */ bne lbl_803A9ED0
|
|
||||||
/* 803A9E40 003A6DA0 88 1F 00 02 */ lbz r0, 2(r31)
|
|
||||||
/* 803A9E44 003A6DA4 2C 00 00 05 */ cmpwi r0, 5
|
|
||||||
/* 803A9E48 003A6DA8 41 82 00 08 */ beq lbl_803A9E50
|
|
||||||
/* 803A9E4C 003A6DAC 48 00 01 10 */ b lbl_803A9F5C
|
|
||||||
lbl_803A9E50:
|
|
||||||
/* 803A9E50 003A6DB0 3C 80 24 92 */ lis r4, 0x24924925@ha
|
|
||||||
/* 803A9E54 003A6DB4 3C 60 80 56 */ lis r3, vs@ha
|
|
||||||
/* 803A9E58 003A6DB8 38 84 49 25 */ addi r4, r4, 0x24924925@l
|
|
||||||
/* 803A9E5C 003A6DBC 38 00 00 00 */ li r0, 0
|
|
||||||
/* 803A9E60 003A6DC0 7C C4 40 16 */ mulhwu r6, r4, r8
|
|
||||||
/* 803A9E64 003A6DC4 3B C3 E3 10 */ addi r30, r3, vs@l
|
|
||||||
/* 803A9E68 003A6DC8 38 9F 00 10 */ addi r4, r31, 0x10
|
|
||||||
/* 803A9E6C 003A6DCC 38 60 00 01 */ li r3, 1
|
|
||||||
/* 803A9E70 003A6DD0 7C A6 40 50 */ subf r5, r6, r8
|
|
||||||
/* 803A9E74 003A6DD4 54 A5 F8 7E */ srwi r5, r5, 1
|
|
||||||
/* 803A9E78 003A6DD8 7C A5 32 14 */ add r5, r5, r6
|
|
||||||
/* 803A9E7C 003A6DDC 54 A5 00 38 */ rlwinm r5, r5, 0, 0, 0x1c
|
|
||||||
/* 803A9E80 003A6DE0 90 BF 00 14 */ stw r5, 0x14(r31)
|
|
||||||
/* 803A9E84 003A6DE4 80 DF 00 04 */ lwz r6, 4(r31)
|
|
||||||
/* 803A9E88 003A6DE8 80 BE 00 04 */ lwz r5, 4(r30)
|
|
||||||
/* 803A9E8C 003A6DEC 7C A6 28 50 */ subf r5, r6, r5
|
|
||||||
/* 803A9E90 003A6DF0 90 BF 00 18 */ stw r5, 0x18(r31)
|
|
||||||
/* 803A9E94 003A6DF4 90 1F 00 1C */ stw r0, 0x1c(r31)
|
|
||||||
/* 803A9E98 003A6DF8 90 1F 00 20 */ stw r0, 0x20(r31)
|
|
||||||
/* 803A9E9C 003A6DFC 81 9E 09 4C */ lwz r12, 0x94c(r30)
|
|
||||||
/* 803A9EA0 003A6E00 7D 89 03 A6 */ mtctr r12
|
|
||||||
/* 803A9EA4 003A6E04 4E 80 04 21 */ bctrl
|
|
||||||
/* 803A9EA8 003A6E08 28 03 00 00 */ cmplwi r3, 0
|
|
||||||
/* 803A9EAC 003A6E0C 41 82 00 B0 */ beq lbl_803A9F5C
|
|
||||||
/* 803A9EB0 003A6E10 80 1F 00 04 */ lwz r0, 4(r31)
|
|
||||||
/* 803A9EB4 003A6E14 80 9E 00 04 */ lwz r4, 4(r30)
|
|
||||||
/* 803A9EB8 003A6E18 7C 60 1A 14 */ add r3, r0, r3
|
|
||||||
/* 803A9EBC 003A6E1C 7C 03 23 96 */ divwu r0, r3, r4
|
|
||||||
/* 803A9EC0 003A6E20 7C 00 21 D6 */ mullw r0, r0, r4
|
|
||||||
/* 803A9EC4 003A6E24 7C 00 18 50 */ subf r0, r0, r3
|
|
||||||
/* 803A9EC8 003A6E28 90 1F 00 04 */ stw r0, 4(r31)
|
|
||||||
/* 803A9ECC 003A6E2C 48 00 00 90 */ b lbl_803A9F5C
|
|
||||||
lbl_803A9ED0:
|
|
||||||
/* 803A9ED0 003A6E30 88 1F 00 02 */ lbz r0, 2(r31)
|
|
||||||
/* 803A9ED4 003A6E34 2C 00 00 05 */ cmpwi r0, 5
|
|
||||||
/* 803A9ED8 003A6E38 41 82 00 08 */ beq lbl_803A9EE0
|
|
||||||
/* 803A9EDC 003A6E3C 48 00 00 80 */ b lbl_803A9F5C
|
|
||||||
lbl_803A9EE0:
|
|
||||||
/* 803A9EE0 003A6E40 3C A0 24 92 */ lis r5, 0x24924925@ha
|
|
||||||
/* 803A9EE4 003A6E44 3C 60 80 56 */ lis r3, vs@ha
|
|
||||||
/* 803A9EE8 003A6E48 38 A5 49 25 */ addi r5, r5, 0x24924925@l
|
|
||||||
/* 803A9EEC 003A6E4C 38 00 00 00 */ li r0, 0
|
|
||||||
/* 803A9EF0 003A6E50 7C C5 40 16 */ mulhwu r6, r5, r8
|
|
||||||
/* 803A9EF4 003A6E54 3B C3 E3 10 */ addi r30, r3, vs@l
|
|
||||||
/* 803A9EF8 003A6E58 38 60 00 01 */ li r3, 1
|
|
||||||
/* 803A9EFC 003A6E5C 7C A6 40 50 */ subf r5, r6, r8
|
|
||||||
/* 803A9F00 003A6E60 54 A5 F8 7E */ srwi r5, r5, 1
|
|
||||||
/* 803A9F04 003A6E64 7C A5 32 14 */ add r5, r5, r6
|
|
||||||
/* 803A9F08 003A6E68 54 A5 00 38 */ rlwinm r5, r5, 0, 0, 0x1c
|
|
||||||
/* 803A9F0C 003A6E6C 90 BF 00 14 */ stw r5, 0x14(r31)
|
|
||||||
/* 803A9F10 003A6E70 80 DF 00 04 */ lwz r6, 4(r31)
|
|
||||||
/* 803A9F14 003A6E74 80 BE 00 04 */ lwz r5, 4(r30)
|
|
||||||
/* 803A9F18 003A6E78 7C A6 28 50 */ subf r5, r6, r5
|
|
||||||
/* 803A9F1C 003A6E7C 90 BF 00 18 */ stw r5, 0x18(r31)
|
|
||||||
/* 803A9F20 003A6E80 90 1F 00 1C */ stw r0, 0x1c(r31)
|
|
||||||
/* 803A9F24 003A6E84 90 9F 00 20 */ stw r4, 0x20(r31)
|
|
||||||
/* 803A9F28 003A6E88 38 9F 00 10 */ addi r4, r31, 0x10
|
|
||||||
/* 803A9F2C 003A6E8C 81 9E 09 4C */ lwz r12, 0x94c(r30)
|
|
||||||
/* 803A9F30 003A6E90 7D 89 03 A6 */ mtctr r12
|
|
||||||
/* 803A9F34 003A6E94 4E 80 04 21 */ bctrl
|
|
||||||
/* 803A9F38 003A6E98 28 03 00 00 */ cmplwi r3, 0
|
|
||||||
/* 803A9F3C 003A6E9C 41 82 00 20 */ beq lbl_803A9F5C
|
|
||||||
/* 803A9F40 003A6EA0 80 1F 00 04 */ lwz r0, 4(r31)
|
|
||||||
/* 803A9F44 003A6EA4 80 9E 00 04 */ lwz r4, 4(r30)
|
|
||||||
/* 803A9F48 003A6EA8 7C 60 1A 14 */ add r3, r0, r3
|
|
||||||
/* 803A9F4C 003A6EAC 7C 03 23 96 */ divwu r0, r3, r4
|
|
||||||
/* 803A9F50 003A6EB0 7C 00 21 D6 */ mullw r0, r0, r4
|
|
||||||
/* 803A9F54 003A6EB4 7C 00 18 50 */ subf r0, r0, r3
|
|
||||||
/* 803A9F58 003A6EB8 90 1F 00 04 */ stw r0, 4(r31)
|
|
||||||
lbl_803A9F5C:
|
|
||||||
/* 803A9F5C 003A6EBC 80 01 00 14 */ lwz r0, 0x14(r1)
|
|
||||||
/* 803A9F60 003A6EC0 83 E1 00 0C */ lwz r31, 0xc(r1)
|
|
||||||
/* 803A9F64 003A6EC4 83 C1 00 08 */ lwz r30, 8(r1)
|
|
||||||
/* 803A9F68 003A6EC8 7C 08 03 A6 */ mtlr r0
|
|
||||||
/* 803A9F6C 003A6ECC 38 21 00 10 */ addi r1, r1, 0x10
|
|
||||||
/* 803A9F70 003A6ED0 4E 80 00 20 */ blr
|
|
||||||
|
|
||||||
.global vsSampleUpdates
|
|
||||||
vsSampleUpdates:
|
|
||||||
/* 803A9F74 003A6ED4 94 21 FF E0 */ stwu r1, -0x20(r1)
|
|
||||||
/* 803A9F78 003A6ED8 7C 08 02 A6 */ mflr r0
|
|
||||||
/* 803A9F7C 003A6EDC 90 01 00 24 */ stw r0, 0x24(r1)
|
|
||||||
/* 803A9F80 003A6EE0 39 61 00 20 */ addi r11, r1, 0x20
|
|
||||||
/* 803A9F84 003A6EE4 4B FD FA F5 */ bl _savegpr_26
|
|
||||||
/* 803A9F88 003A6EE8 3C 60 80 56 */ lis r3, vs@ha
|
|
||||||
/* 803A9F8C 003A6EEC 3B E3 E3 10 */ addi r31, r3, vs@l
|
|
||||||
/* 803A9F90 003A6EF0 80 1F 09 4C */ lwz r0, 0x94c(r31)
|
|
||||||
/* 803A9F94 003A6EF4 28 00 00 00 */ cmplwi r0, 0
|
|
||||||
/* 803A9F98 003A6EF8 41 82 01 D4 */ beq lbl_803AA16C
|
|
||||||
/* 803A9F9C 003A6EFC 3B A0 00 00 */ li r29, 0
|
|
||||||
/* 803A9FA0 003A6F00 7F FE FB 78 */ mr r30, r31
|
|
||||||
lbl_803A9FA4:
|
|
||||||
/* 803A9FA4 003A6F04 88 1E 09 08 */ lbz r0, 0x908(r30)
|
|
||||||
/* 803A9FA8 003A6F08 28 00 00 FF */ cmplwi r0, 0xff
|
|
||||||
/* 803A9FAC 003A6F0C 41 82 01 B0 */ beq lbl_803AA15C
|
|
||||||
/* 803A9FB0 003A6F10 7F A3 EB 78 */ mr r3, r29
|
|
||||||
/* 803A9FB4 003A6F14 48 00 95 F5 */ bl hwGetVirtualSampleState
|
|
||||||
/* 803A9FB8 003A6F18 28 03 00 00 */ cmplwi r3, 0
|
|
||||||
/* 803A9FBC 003A6F1C 41 82 01 A0 */ beq lbl_803AA15C
|
|
||||||
/* 803A9FC0 003A6F20 88 9E 09 08 */ lbz r4, 0x908(r30)
|
|
||||||
/* 803A9FC4 003A6F24 3C 60 80 56 */ lis r3, vs@ha
|
|
||||||
/* 803A9FC8 003A6F28 38 03 E3 10 */ addi r0, r3, vs@l
|
|
||||||
/* 803A9FCC 003A6F2C 7F A3 EB 78 */ mr r3, r29
|
|
||||||
/* 803A9FD0 003A6F30 1C 84 00 24 */ mulli r4, r4, 0x24
|
|
||||||
/* 803A9FD4 003A6F34 7C 80 22 14 */ add r4, r0, r4
|
|
||||||
/* 803A9FD8 003A6F38 3B 64 00 08 */ addi r27, r4, 8
|
|
||||||
/* 803A9FDC 003A6F3C 48 00 9B 95 */ bl hwGetPos
|
|
||||||
/* 803A9FE0 003A6F40 88 1B 00 02 */ lbz r0, 2(r27)
|
|
||||||
/* 803A9FE4 003A6F44 7C 7C 1B 78 */ mr r28, r3
|
|
||||||
/* 803A9FE8 003A6F48 28 00 00 05 */ cmplwi r0, 5
|
|
||||||
/* 803A9FEC 003A6F4C 40 82 00 28 */ bne lbl_803AA014
|
|
||||||
/* 803A9FF0 003A6F50 3C 60 24 92 */ lis r3, 0x24924925@ha
|
|
||||||
/* 803A9FF4 003A6F54 38 03 49 25 */ addi r0, r3, 0x24924925@l
|
|
||||||
/* 803A9FF8 003A6F58 7C 60 E0 16 */ mulhwu r3, r0, r28
|
|
||||||
/* 803A9FFC 003A6F5C 7C 03 E0 50 */ subf r0, r3, r28
|
|
||||||
/* 803AA000 003A6F60 54 00 F8 7E */ srwi r0, r0, 1
|
|
||||||
/* 803AA004 003A6F64 7C 00 1A 14 */ add r0, r0, r3
|
|
||||||
/* 803AA008 003A6F68 54 00 E8 FE */ srwi r0, r0, 3
|
|
||||||
/* 803AA00C 003A6F6C 1F 40 00 0E */ mulli r26, r0, 0xe
|
|
||||||
/* 803AA010 003A6F70 48 00 00 08 */ b lbl_803AA018
|
|
||||||
lbl_803AA014:
|
|
||||||
/* 803AA014 003A6F74 7F 9A E3 78 */ mr r26, r28
|
|
||||||
lbl_803AA018:
|
|
||||||
/* 803AA018 003A6F78 88 1B 00 00 */ lbz r0, 0(r27)
|
|
||||||
/* 803AA01C 003A6F7C 2C 00 00 01 */ cmpwi r0, 1
|
|
||||||
/* 803AA020 003A6F80 41 82 00 14 */ beq lbl_803AA034
|
|
||||||
/* 803AA024 003A6F84 41 80 01 38 */ blt lbl_803AA15C
|
|
||||||
/* 803AA028 003A6F88 2C 00 00 04 */ cmpwi r0, 4
|
|
||||||
/* 803AA02C 003A6F8C 40 80 01 30 */ bge lbl_803AA15C
|
|
||||||
/* 803AA030 003A6F90 48 00 00 14 */ b lbl_803AA044
|
|
||||||
lbl_803AA034:
|
|
||||||
/* 803AA034 003A6F94 7F 63 DB 78 */ mr r3, r27
|
|
||||||
/* 803AA038 003A6F98 7F 44 D3 78 */ mr r4, r26
|
|
||||||
/* 803AA03C 003A6F9C 4B FF FD 41 */ bl vsUpdateBuffer
|
|
||||||
/* 803AA040 003A6FA0 48 00 01 1C */ b lbl_803AA15C
|
|
||||||
lbl_803AA044:
|
|
||||||
/* 803AA044 003A6FA4 88 7B 00 03 */ lbz r3, 3(r27)
|
|
||||||
/* 803AA048 003A6FA8 48 00 9E E1 */ bl hwGetVirtualSampleID
|
|
||||||
/* 803AA04C 003A6FAC A0 9B 00 12 */ lhz r4, 0x12(r27)
|
|
||||||
/* 803AA050 003A6FB0 88 1B 00 03 */ lbz r0, 3(r27)
|
|
||||||
/* 803AA054 003A6FB4 50 80 42 2E */ rlwimi r0, r4, 8, 8, 0x17
|
|
||||||
/* 803AA058 003A6FB8 7C 00 18 40 */ cmplw r0, r3
|
|
||||||
/* 803AA05C 003A6FBC 40 82 00 E0 */ bne lbl_803AA13C
|
|
||||||
/* 803AA060 003A6FC0 7F 63 DB 78 */ mr r3, r27
|
|
||||||
/* 803AA064 003A6FC4 7F 44 D3 78 */ mr r4, r26
|
|
||||||
/* 803AA068 003A6FC8 4B FF FD 15 */ bl vsUpdateBuffer
|
|
||||||
/* 803AA06C 003A6FCC 80 9B 00 0C */ lwz r4, 0xc(r27)
|
|
||||||
/* 803AA070 003A6FD0 7C 1C 20 40 */ cmplw r28, r4
|
|
||||||
/* 803AA074 003A6FD4 41 80 00 18 */ blt lbl_803AA08C
|
|
||||||
/* 803AA078 003A6FD8 80 1B 00 08 */ lwz r0, 8(r27)
|
|
||||||
/* 803AA07C 003A6FDC 7C 64 E0 50 */ subf r3, r4, r28
|
|
||||||
/* 803AA080 003A6FE0 7C 03 00 50 */ subf r0, r3, r0
|
|
||||||
/* 803AA084 003A6FE4 90 1B 00 08 */ stw r0, 8(r27)
|
|
||||||
/* 803AA088 003A6FE8 48 00 00 1C */ b lbl_803AA0A4
|
|
||||||
lbl_803AA08C:
|
|
||||||
/* 803AA08C 003A6FEC 80 7F 00 04 */ lwz r3, 4(r31)
|
|
||||||
/* 803AA090 003A6FF0 7C 9C 20 50 */ subf r4, r28, r4
|
|
||||||
/* 803AA094 003A6FF4 80 1B 00 08 */ lwz r0, 8(r27)
|
|
||||||
/* 803AA098 003A6FF8 7C 64 18 50 */ subf r3, r4, r3
|
|
||||||
/* 803AA09C 003A6FFC 7C 03 00 50 */ subf r0, r3, r0
|
|
||||||
/* 803AA0A0 003A7000 90 1B 00 08 */ stw r0, 8(r27)
|
|
||||||
lbl_803AA0A4:
|
|
||||||
/* 803AA0A4 003A7004 93 9B 00 0C */ stw r28, 0xc(r27)
|
|
||||||
/* 803AA0A8 003A7008 80 AD AE 78 */ lwz r5, synthVoice@sda21(r13)
|
|
||||||
/* 803AA0AC 003A700C 88 7B 00 03 */ lbz r3, 3(r27)
|
|
||||||
/* 803AA0B0 003A7010 80 1B 00 08 */ lwz r0, 8(r27)
|
|
||||||
/* 803AA0B4 003A7014 1C 83 04 04 */ mulli r4, r3, 0x404
|
|
||||||
/* 803AA0B8 003A7018 38 84 02 06 */ addi r4, r4, 0x206
|
|
||||||
/* 803AA0BC 003A701C 7C 85 22 2E */ lhzx r4, r5, r4
|
|
||||||
/* 803AA0C0 003A7020 1C 84 00 A0 */ mulli r4, r4, 0xa0
|
|
||||||
/* 803AA0C4 003A7024 38 84 0F FF */ addi r4, r4, 0xfff
|
|
||||||
/* 803AA0C8 003A7028 7C 84 66 70 */ srawi r4, r4, 0xc
|
|
||||||
/* 803AA0CC 003A702C 7C 84 01 94 */ addze r4, r4
|
|
||||||
/* 803AA0D0 003A7030 7C 04 00 00 */ cmpw r4, r0
|
|
||||||
/* 803AA0D4 003A7034 40 81 00 88 */ ble lbl_803AA15C
|
|
||||||
/* 803AA0D8 003A7038 48 00 9E 79 */ bl hwVoiceInStartup
|
|
||||||
/* 803AA0DC 003A703C 28 03 00 00 */ cmplwi r3, 0
|
|
||||||
/* 803AA0E0 003A7040 40 82 00 38 */ bne lbl_803AA118
|
|
||||||
/* 803AA0E4 003A7044 88 1B 00 00 */ lbz r0, 0(r27)
|
|
||||||
/* 803AA0E8 003A7048 28 00 00 02 */ cmplwi r0, 2
|
|
||||||
/* 803AA0EC 003A704C 40 82 00 24 */ bne lbl_803AA110
|
|
||||||
/* 803AA0F0 003A7050 88 7B 00 03 */ lbz r3, 3(r27)
|
|
||||||
/* 803AA0F4 003A7054 48 00 92 99 */ bl hwBreak
|
|
||||||
/* 803AA0F8 003A7058 88 1B 00 03 */ lbz r0, 3(r27)
|
|
||||||
/* 803AA0FC 003A705C 80 6D AE 78 */ lwz r3, synthVoice@sda21(r13)
|
|
||||||
/* 803AA100 003A7060 1C 00 04 04 */ mulli r0, r0, 0x404
|
|
||||||
/* 803AA104 003A7064 7C 63 02 14 */ add r3, r3, r0
|
|
||||||
/* 803AA108 003A7068 4B FF CB 6D */ bl macSampleEndNotify
|
|
||||||
/* 803AA10C 003A706C 48 00 00 0C */ b lbl_803AA118
|
|
||||||
lbl_803AA110:
|
|
||||||
/* 803AA110 003A7070 88 7B 00 03 */ lbz r3, 3(r27)
|
|
||||||
/* 803AA114 003A7074 4B FF E9 09 */ bl voiceKill
|
|
||||||
lbl_803AA118:
|
|
||||||
/* 803AA118 003A7078 38 00 00 00 */ li r0, 0
|
|
||||||
/* 803AA11C 003A707C 3C 60 80 56 */ lis r3, vs@ha
|
|
||||||
/* 803AA120 003A7080 98 1B 00 00 */ stb r0, 0(r27)
|
|
||||||
/* 803AA124 003A7084 38 03 E3 10 */ addi r0, r3, vs@l
|
|
||||||
/* 803AA128 003A7088 38 80 00 FF */ li r4, 0xff
|
|
||||||
/* 803AA12C 003A708C 88 7B 00 03 */ lbz r3, 3(r27)
|
|
||||||
/* 803AA130 003A7090 7C 60 1A 14 */ add r3, r0, r3
|
|
||||||
/* 803AA134 003A7094 98 83 09 08 */ stb r4, 0x908(r3)
|
|
||||||
/* 803AA138 003A7098 48 00 00 24 */ b lbl_803AA15C
|
|
||||||
lbl_803AA13C:
|
|
||||||
/* 803AA13C 003A709C 38 00 00 00 */ li r0, 0
|
|
||||||
/* 803AA140 003A70A0 3C 60 80 56 */ lis r3, vs@ha
|
|
||||||
/* 803AA144 003A70A4 98 1B 00 00 */ stb r0, 0(r27)
|
|
||||||
/* 803AA148 003A70A8 38 03 E3 10 */ addi r0, r3, vs@l
|
|
||||||
/* 803AA14C 003A70AC 38 80 00 FF */ li r4, 0xff
|
|
||||||
/* 803AA150 003A70B0 88 7B 00 03 */ lbz r3, 3(r27)
|
|
||||||
/* 803AA154 003A70B4 7C 60 1A 14 */ add r3, r0, r3
|
|
||||||
/* 803AA158 003A70B8 98 83 09 08 */ stb r4, 0x908(r3)
|
|
||||||
lbl_803AA15C:
|
|
||||||
/* 803AA15C 003A70BC 3B BD 00 01 */ addi r29, r29, 1
|
|
||||||
/* 803AA160 003A70C0 3B DE 00 01 */ addi r30, r30, 1
|
|
||||||
/* 803AA164 003A70C4 28 1D 00 40 */ cmplwi r29, 0x40
|
|
||||||
/* 803AA168 003A70C8 41 80 FE 3C */ blt lbl_803A9FA4
|
|
||||||
lbl_803AA16C:
|
|
||||||
/* 803AA16C 003A70CC 39 61 00 20 */ addi r11, r1, 0x20
|
|
||||||
/* 803AA170 003A70D0 4B FD F9 55 */ bl _restgpr_26
|
|
||||||
/* 803AA174 003A70D4 80 01 00 24 */ lwz r0, 0x24(r1)
|
|
||||||
/* 803AA178 003A70D8 7C 08 03 A6 */ mtlr r0
|
|
||||||
/* 803AA17C 003A70DC 38 21 00 20 */ addi r1, r1, 0x20
|
|
||||||
/* 803AA180 003A70E0 4E 80 00 20 */ blr
|
|
||||||
|
|
||||||
.global dataInitStack
|
.global dataInitStack
|
||||||
dataInitStack:
|
dataInitStack:
|
||||||
/* 803AA184 003A70E4 38 00 00 00 */ li r0, 0
|
/* 803AA184 003A70E4 38 00 00 00 */ li r0, 0
|
||||||
|
|
|
@ -271,3 +271,285 @@ lbl_803A9D64:
|
||||||
/* 803A9D70 003A6CD0 7C 08 03 A6 */ mtlr r0
|
/* 803A9D70 003A6CD0 7C 08 03 A6 */ mtlr r0
|
||||||
/* 803A9D74 003A6CD4 38 21 00 10 */ addi r1, r1, 0x10
|
/* 803A9D74 003A6CD4 38 21 00 10 */ addi r1, r1, 0x10
|
||||||
/* 803A9D78 003A6CD8 4E 80 00 20 */ blr
|
/* 803A9D78 003A6CD8 4E 80 00 20 */ blr
|
||||||
|
|
||||||
|
.global vsUpdateBuffer
|
||||||
|
vsUpdateBuffer:
|
||||||
|
/* 803A9D7C 003A6CDC 94 21 FF F0 */ stwu r1, -0x10(r1)
|
||||||
|
/* 803A9D80 003A6CE0 7C 08 02 A6 */ mflr r0
|
||||||
|
/* 803A9D84 003A6CE4 90 01 00 14 */ stw r0, 0x14(r1)
|
||||||
|
/* 803A9D88 003A6CE8 93 E1 00 0C */ stw r31, 0xc(r1)
|
||||||
|
/* 803A9D8C 003A6CEC 7C 7F 1B 78 */ mr r31, r3
|
||||||
|
/* 803A9D90 003A6CF0 93 C1 00 08 */ stw r30, 8(r1)
|
||||||
|
/* 803A9D94 003A6CF4 81 03 00 04 */ lwz r8, 4(r3)
|
||||||
|
/* 803A9D98 003A6CF8 7C 08 20 40 */ cmplw r8, r4
|
||||||
|
/* 803A9D9C 003A6CFC 41 82 01 C0 */ beq lbl_803A9F5C
|
||||||
|
/* 803A9DA0 003A6D00 40 80 00 98 */ bge lbl_803A9E38
|
||||||
|
/* 803A9DA4 003A6D04 88 1F 00 02 */ lbz r0, 2(r31)
|
||||||
|
/* 803A9DA8 003A6D08 2C 00 00 05 */ cmpwi r0, 5
|
||||||
|
/* 803A9DAC 003A6D0C 41 82 00 08 */ beq lbl_803A9DB4
|
||||||
|
/* 803A9DB0 003A6D10 48 00 01 AC */ b lbl_803A9F5C
|
||||||
|
lbl_803A9DB4:
|
||||||
|
/* 803A9DB4 003A6D14 3C A0 24 92 */ lis r5, 0x24924925@ha
|
||||||
|
/* 803A9DB8 003A6D18 38 00 00 00 */ li r0, 0
|
||||||
|
/* 803A9DBC 003A6D1C 38 A5 49 25 */ addi r5, r5, 0x24924925@l
|
||||||
|
/* 803A9DC0 003A6D20 3C 60 80 56 */ lis r3, vs@ha
|
||||||
|
/* 803A9DC4 003A6D24 7C E5 40 16 */ mulhwu r7, r5, r8
|
||||||
|
/* 803A9DC8 003A6D28 38 A3 E3 10 */ addi r5, r3, vs@l
|
||||||
|
/* 803A9DCC 003A6D2C 38 60 00 01 */ li r3, 1
|
||||||
|
/* 803A9DD0 003A6D30 7C C7 40 50 */ subf r6, r7, r8
|
||||||
|
/* 803A9DD4 003A6D34 54 C6 F8 7E */ srwi r6, r6, 1
|
||||||
|
/* 803A9DD8 003A6D38 7C C6 3A 14 */ add r6, r6, r7
|
||||||
|
/* 803A9DDC 003A6D3C 54 C6 00 38 */ rlwinm r6, r6, 0, 0, 0x1c
|
||||||
|
/* 803A9DE0 003A6D40 90 DF 00 14 */ stw r6, 0x14(r31)
|
||||||
|
/* 803A9DE4 003A6D44 80 DF 00 04 */ lwz r6, 4(r31)
|
||||||
|
/* 803A9DE8 003A6D48 7C C6 20 50 */ subf r6, r6, r4
|
||||||
|
/* 803A9DEC 003A6D4C 38 9F 00 10 */ addi r4, r31, 0x10
|
||||||
|
/* 803A9DF0 003A6D50 90 DF 00 18 */ stw r6, 0x18(r31)
|
||||||
|
/* 803A9DF4 003A6D54 90 1F 00 1C */ stw r0, 0x1c(r31)
|
||||||
|
/* 803A9DF8 003A6D58 90 1F 00 20 */ stw r0, 0x20(r31)
|
||||||
|
/* 803A9DFC 003A6D5C 81 85 09 4C */ lwz r12, 0x94c(r5)
|
||||||
|
/* 803A9E00 003A6D60 7D 89 03 A6 */ mtctr r12
|
||||||
|
/* 803A9E04 003A6D64 4E 80 04 21 */ bctrl
|
||||||
|
/* 803A9E08 003A6D68 28 03 00 00 */ cmplwi r3, 0
|
||||||
|
/* 803A9E0C 003A6D6C 41 82 01 50 */ beq lbl_803A9F5C
|
||||||
|
/* 803A9E10 003A6D70 3C 80 80 56 */ lis r4, vs@ha
|
||||||
|
/* 803A9E14 003A6D74 80 1F 00 04 */ lwz r0, 4(r31)
|
||||||
|
/* 803A9E18 003A6D78 38 84 E3 10 */ addi r4, r4, vs@l
|
||||||
|
/* 803A9E1C 003A6D7C 80 84 00 04 */ lwz r4, 4(r4)
|
||||||
|
/* 803A9E20 003A6D80 7C 60 1A 14 */ add r3, r0, r3
|
||||||
|
/* 803A9E24 003A6D84 7C 03 23 96 */ divwu r0, r3, r4
|
||||||
|
/* 803A9E28 003A6D88 7C 00 21 D6 */ mullw r0, r0, r4
|
||||||
|
/* 803A9E2C 003A6D8C 7C 00 18 50 */ subf r0, r0, r3
|
||||||
|
/* 803A9E30 003A6D90 90 1F 00 04 */ stw r0, 4(r31)
|
||||||
|
/* 803A9E34 003A6D94 48 00 01 28 */ b lbl_803A9F5C
|
||||||
|
lbl_803A9E38:
|
||||||
|
/* 803A9E38 003A6D98 28 04 00 00 */ cmplwi r4, 0
|
||||||
|
/* 803A9E3C 003A6D9C 40 82 00 94 */ bne lbl_803A9ED0
|
||||||
|
/* 803A9E40 003A6DA0 88 1F 00 02 */ lbz r0, 2(r31)
|
||||||
|
/* 803A9E44 003A6DA4 2C 00 00 05 */ cmpwi r0, 5
|
||||||
|
/* 803A9E48 003A6DA8 41 82 00 08 */ beq lbl_803A9E50
|
||||||
|
/* 803A9E4C 003A6DAC 48 00 01 10 */ b lbl_803A9F5C
|
||||||
|
lbl_803A9E50:
|
||||||
|
/* 803A9E50 003A6DB0 3C 80 24 92 */ lis r4, 0x24924925@ha
|
||||||
|
/* 803A9E54 003A6DB4 3C 60 80 56 */ lis r3, vs@ha
|
||||||
|
/* 803A9E58 003A6DB8 38 84 49 25 */ addi r4, r4, 0x24924925@l
|
||||||
|
/* 803A9E5C 003A6DBC 38 00 00 00 */ li r0, 0
|
||||||
|
/* 803A9E60 003A6DC0 7C C4 40 16 */ mulhwu r6, r4, r8
|
||||||
|
/* 803A9E64 003A6DC4 3B C3 E3 10 */ addi r30, r3, vs@l
|
||||||
|
/* 803A9E68 003A6DC8 38 9F 00 10 */ addi r4, r31, 0x10
|
||||||
|
/* 803A9E6C 003A6DCC 38 60 00 01 */ li r3, 1
|
||||||
|
/* 803A9E70 003A6DD0 7C A6 40 50 */ subf r5, r6, r8
|
||||||
|
/* 803A9E74 003A6DD4 54 A5 F8 7E */ srwi r5, r5, 1
|
||||||
|
/* 803A9E78 003A6DD8 7C A5 32 14 */ add r5, r5, r6
|
||||||
|
/* 803A9E7C 003A6DDC 54 A5 00 38 */ rlwinm r5, r5, 0, 0, 0x1c
|
||||||
|
/* 803A9E80 003A6DE0 90 BF 00 14 */ stw r5, 0x14(r31)
|
||||||
|
/* 803A9E84 003A6DE4 80 DF 00 04 */ lwz r6, 4(r31)
|
||||||
|
/* 803A9E88 003A6DE8 80 BE 00 04 */ lwz r5, 4(r30)
|
||||||
|
/* 803A9E8C 003A6DEC 7C A6 28 50 */ subf r5, r6, r5
|
||||||
|
/* 803A9E90 003A6DF0 90 BF 00 18 */ stw r5, 0x18(r31)
|
||||||
|
/* 803A9E94 003A6DF4 90 1F 00 1C */ stw r0, 0x1c(r31)
|
||||||
|
/* 803A9E98 003A6DF8 90 1F 00 20 */ stw r0, 0x20(r31)
|
||||||
|
/* 803A9E9C 003A6DFC 81 9E 09 4C */ lwz r12, 0x94c(r30)
|
||||||
|
/* 803A9EA0 003A6E00 7D 89 03 A6 */ mtctr r12
|
||||||
|
/* 803A9EA4 003A6E04 4E 80 04 21 */ bctrl
|
||||||
|
/* 803A9EA8 003A6E08 28 03 00 00 */ cmplwi r3, 0
|
||||||
|
/* 803A9EAC 003A6E0C 41 82 00 B0 */ beq lbl_803A9F5C
|
||||||
|
/* 803A9EB0 003A6E10 80 1F 00 04 */ lwz r0, 4(r31)
|
||||||
|
/* 803A9EB4 003A6E14 80 9E 00 04 */ lwz r4, 4(r30)
|
||||||
|
/* 803A9EB8 003A6E18 7C 60 1A 14 */ add r3, r0, r3
|
||||||
|
/* 803A9EBC 003A6E1C 7C 03 23 96 */ divwu r0, r3, r4
|
||||||
|
/* 803A9EC0 003A6E20 7C 00 21 D6 */ mullw r0, r0, r4
|
||||||
|
/* 803A9EC4 003A6E24 7C 00 18 50 */ subf r0, r0, r3
|
||||||
|
/* 803A9EC8 003A6E28 90 1F 00 04 */ stw r0, 4(r31)
|
||||||
|
/* 803A9ECC 003A6E2C 48 00 00 90 */ b lbl_803A9F5C
|
||||||
|
lbl_803A9ED0:
|
||||||
|
/* 803A9ED0 003A6E30 88 1F 00 02 */ lbz r0, 2(r31)
|
||||||
|
/* 803A9ED4 003A6E34 2C 00 00 05 */ cmpwi r0, 5
|
||||||
|
/* 803A9ED8 003A6E38 41 82 00 08 */ beq lbl_803A9EE0
|
||||||
|
/* 803A9EDC 003A6E3C 48 00 00 80 */ b lbl_803A9F5C
|
||||||
|
lbl_803A9EE0:
|
||||||
|
/* 803A9EE0 003A6E40 3C A0 24 92 */ lis r5, 0x24924925@ha
|
||||||
|
/* 803A9EE4 003A6E44 3C 60 80 56 */ lis r3, vs@ha
|
||||||
|
/* 803A9EE8 003A6E48 38 A5 49 25 */ addi r5, r5, 0x24924925@l
|
||||||
|
/* 803A9EEC 003A6E4C 38 00 00 00 */ li r0, 0
|
||||||
|
/* 803A9EF0 003A6E50 7C C5 40 16 */ mulhwu r6, r5, r8
|
||||||
|
/* 803A9EF4 003A6E54 3B C3 E3 10 */ addi r30, r3, vs@l
|
||||||
|
/* 803A9EF8 003A6E58 38 60 00 01 */ li r3, 1
|
||||||
|
/* 803A9EFC 003A6E5C 7C A6 40 50 */ subf r5, r6, r8
|
||||||
|
/* 803A9F00 003A6E60 54 A5 F8 7E */ srwi r5, r5, 1
|
||||||
|
/* 803A9F04 003A6E64 7C A5 32 14 */ add r5, r5, r6
|
||||||
|
/* 803A9F08 003A6E68 54 A5 00 38 */ rlwinm r5, r5, 0, 0, 0x1c
|
||||||
|
/* 803A9F0C 003A6E6C 90 BF 00 14 */ stw r5, 0x14(r31)
|
||||||
|
/* 803A9F10 003A6E70 80 DF 00 04 */ lwz r6, 4(r31)
|
||||||
|
/* 803A9F14 003A6E74 80 BE 00 04 */ lwz r5, 4(r30)
|
||||||
|
/* 803A9F18 003A6E78 7C A6 28 50 */ subf r5, r6, r5
|
||||||
|
/* 803A9F1C 003A6E7C 90 BF 00 18 */ stw r5, 0x18(r31)
|
||||||
|
/* 803A9F20 003A6E80 90 1F 00 1C */ stw r0, 0x1c(r31)
|
||||||
|
/* 803A9F24 003A6E84 90 9F 00 20 */ stw r4, 0x20(r31)
|
||||||
|
/* 803A9F28 003A6E88 38 9F 00 10 */ addi r4, r31, 0x10
|
||||||
|
/* 803A9F2C 003A6E8C 81 9E 09 4C */ lwz r12, 0x94c(r30)
|
||||||
|
/* 803A9F30 003A6E90 7D 89 03 A6 */ mtctr r12
|
||||||
|
/* 803A9F34 003A6E94 4E 80 04 21 */ bctrl
|
||||||
|
/* 803A9F38 003A6E98 28 03 00 00 */ cmplwi r3, 0
|
||||||
|
/* 803A9F3C 003A6E9C 41 82 00 20 */ beq lbl_803A9F5C
|
||||||
|
/* 803A9F40 003A6EA0 80 1F 00 04 */ lwz r0, 4(r31)
|
||||||
|
/* 803A9F44 003A6EA4 80 9E 00 04 */ lwz r4, 4(r30)
|
||||||
|
/* 803A9F48 003A6EA8 7C 60 1A 14 */ add r3, r0, r3
|
||||||
|
/* 803A9F4C 003A6EAC 7C 03 23 96 */ divwu r0, r3, r4
|
||||||
|
/* 803A9F50 003A6EB0 7C 00 21 D6 */ mullw r0, r0, r4
|
||||||
|
/* 803A9F54 003A6EB4 7C 00 18 50 */ subf r0, r0, r3
|
||||||
|
/* 803A9F58 003A6EB8 90 1F 00 04 */ stw r0, 4(r31)
|
||||||
|
lbl_803A9F5C:
|
||||||
|
/* 803A9F5C 003A6EBC 80 01 00 14 */ lwz r0, 0x14(r1)
|
||||||
|
/* 803A9F60 003A6EC0 83 E1 00 0C */ lwz r31, 0xc(r1)
|
||||||
|
/* 803A9F64 003A6EC4 83 C1 00 08 */ lwz r30, 8(r1)
|
||||||
|
/* 803A9F68 003A6EC8 7C 08 03 A6 */ mtlr r0
|
||||||
|
/* 803A9F6C 003A6ECC 38 21 00 10 */ addi r1, r1, 0x10
|
||||||
|
/* 803A9F70 003A6ED0 4E 80 00 20 */ blr
|
||||||
|
|
||||||
|
.global vsSampleUpdates
|
||||||
|
vsSampleUpdates:
|
||||||
|
/* 803A9F74 003A6ED4 94 21 FF E0 */ stwu r1, -0x20(r1)
|
||||||
|
/* 803A9F78 003A6ED8 7C 08 02 A6 */ mflr r0
|
||||||
|
/* 803A9F7C 003A6EDC 90 01 00 24 */ stw r0, 0x24(r1)
|
||||||
|
/* 803A9F80 003A6EE0 39 61 00 20 */ addi r11, r1, 0x20
|
||||||
|
/* 803A9F84 003A6EE4 4B FD FA F5 */ bl _savegpr_26
|
||||||
|
/* 803A9F88 003A6EE8 3C 60 80 56 */ lis r3, vs@ha
|
||||||
|
/* 803A9F8C 003A6EEC 3B E3 E3 10 */ addi r31, r3, vs@l
|
||||||
|
/* 803A9F90 003A6EF0 80 1F 09 4C */ lwz r0, 0x94c(r31)
|
||||||
|
/* 803A9F94 003A6EF4 28 00 00 00 */ cmplwi r0, 0
|
||||||
|
/* 803A9F98 003A6EF8 41 82 01 D4 */ beq lbl_803AA16C
|
||||||
|
/* 803A9F9C 003A6EFC 3B A0 00 00 */ li r29, 0
|
||||||
|
/* 803A9FA0 003A6F00 7F FE FB 78 */ mr r30, r31
|
||||||
|
lbl_803A9FA4:
|
||||||
|
/* 803A9FA4 003A6F04 88 1E 09 08 */ lbz r0, 0x908(r30)
|
||||||
|
/* 803A9FA8 003A6F08 28 00 00 FF */ cmplwi r0, 0xff
|
||||||
|
/* 803A9FAC 003A6F0C 41 82 01 B0 */ beq lbl_803AA15C
|
||||||
|
/* 803A9FB0 003A6F10 7F A3 EB 78 */ mr r3, r29
|
||||||
|
/* 803A9FB4 003A6F14 48 00 95 F5 */ bl hwGetVirtualSampleState
|
||||||
|
/* 803A9FB8 003A6F18 28 03 00 00 */ cmplwi r3, 0
|
||||||
|
/* 803A9FBC 003A6F1C 41 82 01 A0 */ beq lbl_803AA15C
|
||||||
|
/* 803A9FC0 003A6F20 88 9E 09 08 */ lbz r4, 0x908(r30)
|
||||||
|
/* 803A9FC4 003A6F24 3C 60 80 56 */ lis r3, vs@ha
|
||||||
|
/* 803A9FC8 003A6F28 38 03 E3 10 */ addi r0, r3, vs@l
|
||||||
|
/* 803A9FCC 003A6F2C 7F A3 EB 78 */ mr r3, r29
|
||||||
|
/* 803A9FD0 003A6F30 1C 84 00 24 */ mulli r4, r4, 0x24
|
||||||
|
/* 803A9FD4 003A6F34 7C 80 22 14 */ add r4, r0, r4
|
||||||
|
/* 803A9FD8 003A6F38 3B 64 00 08 */ addi r27, r4, 8
|
||||||
|
/* 803A9FDC 003A6F3C 48 00 9B 95 */ bl hwGetPos
|
||||||
|
/* 803A9FE0 003A6F40 88 1B 00 02 */ lbz r0, 2(r27)
|
||||||
|
/* 803A9FE4 003A6F44 7C 7C 1B 78 */ mr r28, r3
|
||||||
|
/* 803A9FE8 003A6F48 28 00 00 05 */ cmplwi r0, 5
|
||||||
|
/* 803A9FEC 003A6F4C 40 82 00 28 */ bne lbl_803AA014
|
||||||
|
/* 803A9FF0 003A6F50 3C 60 24 92 */ lis r3, 0x24924925@ha
|
||||||
|
/* 803A9FF4 003A6F54 38 03 49 25 */ addi r0, r3, 0x24924925@l
|
||||||
|
/* 803A9FF8 003A6F58 7C 60 E0 16 */ mulhwu r3, r0, r28
|
||||||
|
/* 803A9FFC 003A6F5C 7C 03 E0 50 */ subf r0, r3, r28
|
||||||
|
/* 803AA000 003A6F60 54 00 F8 7E */ srwi r0, r0, 1
|
||||||
|
/* 803AA004 003A6F64 7C 00 1A 14 */ add r0, r0, r3
|
||||||
|
/* 803AA008 003A6F68 54 00 E8 FE */ srwi r0, r0, 3
|
||||||
|
/* 803AA00C 003A6F6C 1F 40 00 0E */ mulli r26, r0, 0xe
|
||||||
|
/* 803AA010 003A6F70 48 00 00 08 */ b lbl_803AA018
|
||||||
|
lbl_803AA014:
|
||||||
|
/* 803AA014 003A6F74 7F 9A E3 78 */ mr r26, r28
|
||||||
|
lbl_803AA018:
|
||||||
|
/* 803AA018 003A6F78 88 1B 00 00 */ lbz r0, 0(r27)
|
||||||
|
/* 803AA01C 003A6F7C 2C 00 00 01 */ cmpwi r0, 1
|
||||||
|
/* 803AA020 003A6F80 41 82 00 14 */ beq lbl_803AA034
|
||||||
|
/* 803AA024 003A6F84 41 80 01 38 */ blt lbl_803AA15C
|
||||||
|
/* 803AA028 003A6F88 2C 00 00 04 */ cmpwi r0, 4
|
||||||
|
/* 803AA02C 003A6F8C 40 80 01 30 */ bge lbl_803AA15C
|
||||||
|
/* 803AA030 003A6F90 48 00 00 14 */ b lbl_803AA044
|
||||||
|
lbl_803AA034:
|
||||||
|
/* 803AA034 003A6F94 7F 63 DB 78 */ mr r3, r27
|
||||||
|
/* 803AA038 003A6F98 7F 44 D3 78 */ mr r4, r26
|
||||||
|
/* 803AA03C 003A6F9C 4B FF FD 41 */ bl vsUpdateBuffer
|
||||||
|
/* 803AA040 003A6FA0 48 00 01 1C */ b lbl_803AA15C
|
||||||
|
lbl_803AA044:
|
||||||
|
/* 803AA044 003A6FA4 88 7B 00 03 */ lbz r3, 3(r27)
|
||||||
|
/* 803AA048 003A6FA8 48 00 9E E1 */ bl hwGetVirtualSampleID
|
||||||
|
/* 803AA04C 003A6FAC A0 9B 00 12 */ lhz r4, 0x12(r27)
|
||||||
|
/* 803AA050 003A6FB0 88 1B 00 03 */ lbz r0, 3(r27)
|
||||||
|
/* 803AA054 003A6FB4 50 80 42 2E */ rlwimi r0, r4, 8, 8, 0x17
|
||||||
|
/* 803AA058 003A6FB8 7C 00 18 40 */ cmplw r0, r3
|
||||||
|
/* 803AA05C 003A6FBC 40 82 00 E0 */ bne lbl_803AA13C
|
||||||
|
/* 803AA060 003A6FC0 7F 63 DB 78 */ mr r3, r27
|
||||||
|
/* 803AA064 003A6FC4 7F 44 D3 78 */ mr r4, r26
|
||||||
|
/* 803AA068 003A6FC8 4B FF FD 15 */ bl vsUpdateBuffer
|
||||||
|
/* 803AA06C 003A6FCC 80 9B 00 0C */ lwz r4, 0xc(r27)
|
||||||
|
/* 803AA070 003A6FD0 7C 1C 20 40 */ cmplw r28, r4
|
||||||
|
/* 803AA074 003A6FD4 41 80 00 18 */ blt lbl_803AA08C
|
||||||
|
/* 803AA078 003A6FD8 80 1B 00 08 */ lwz r0, 8(r27)
|
||||||
|
/* 803AA07C 003A6FDC 7C 64 E0 50 */ subf r3, r4, r28
|
||||||
|
/* 803AA080 003A6FE0 7C 03 00 50 */ subf r0, r3, r0
|
||||||
|
/* 803AA084 003A6FE4 90 1B 00 08 */ stw r0, 8(r27)
|
||||||
|
/* 803AA088 003A6FE8 48 00 00 1C */ b lbl_803AA0A4
|
||||||
|
lbl_803AA08C:
|
||||||
|
/* 803AA08C 003A6FEC 80 7F 00 04 */ lwz r3, 4(r31)
|
||||||
|
/* 803AA090 003A6FF0 7C 9C 20 50 */ subf r4, r28, r4
|
||||||
|
/* 803AA094 003A6FF4 80 1B 00 08 */ lwz r0, 8(r27)
|
||||||
|
/* 803AA098 003A6FF8 7C 64 18 50 */ subf r3, r4, r3
|
||||||
|
/* 803AA09C 003A6FFC 7C 03 00 50 */ subf r0, r3, r0
|
||||||
|
/* 803AA0A0 003A7000 90 1B 00 08 */ stw r0, 8(r27)
|
||||||
|
lbl_803AA0A4:
|
||||||
|
/* 803AA0A4 003A7004 93 9B 00 0C */ stw r28, 0xc(r27)
|
||||||
|
/* 803AA0A8 003A7008 80 AD AE 78 */ lwz r5, synthVoice@sda21(r13)
|
||||||
|
/* 803AA0AC 003A700C 88 7B 00 03 */ lbz r3, 3(r27)
|
||||||
|
/* 803AA0B0 003A7010 80 1B 00 08 */ lwz r0, 8(r27)
|
||||||
|
/* 803AA0B4 003A7014 1C 83 04 04 */ mulli r4, r3, 0x404
|
||||||
|
/* 803AA0B8 003A7018 38 84 02 06 */ addi r4, r4, 0x206
|
||||||
|
/* 803AA0BC 003A701C 7C 85 22 2E */ lhzx r4, r5, r4
|
||||||
|
/* 803AA0C0 003A7020 1C 84 00 A0 */ mulli r4, r4, 0xa0
|
||||||
|
/* 803AA0C4 003A7024 38 84 0F FF */ addi r4, r4, 0xfff
|
||||||
|
/* 803AA0C8 003A7028 7C 84 66 70 */ srawi r4, r4, 0xc
|
||||||
|
/* 803AA0CC 003A702C 7C 84 01 94 */ addze r4, r4
|
||||||
|
/* 803AA0D0 003A7030 7C 04 00 00 */ cmpw r4, r0
|
||||||
|
/* 803AA0D4 003A7034 40 81 00 88 */ ble lbl_803AA15C
|
||||||
|
/* 803AA0D8 003A7038 48 00 9E 79 */ bl hwVoiceInStartup
|
||||||
|
/* 803AA0DC 003A703C 28 03 00 00 */ cmplwi r3, 0
|
||||||
|
/* 803AA0E0 003A7040 40 82 00 38 */ bne lbl_803AA118
|
||||||
|
/* 803AA0E4 003A7044 88 1B 00 00 */ lbz r0, 0(r27)
|
||||||
|
/* 803AA0E8 003A7048 28 00 00 02 */ cmplwi r0, 2
|
||||||
|
/* 803AA0EC 003A704C 40 82 00 24 */ bne lbl_803AA110
|
||||||
|
/* 803AA0F0 003A7050 88 7B 00 03 */ lbz r3, 3(r27)
|
||||||
|
/* 803AA0F4 003A7054 48 00 92 99 */ bl hwBreak
|
||||||
|
/* 803AA0F8 003A7058 88 1B 00 03 */ lbz r0, 3(r27)
|
||||||
|
/* 803AA0FC 003A705C 80 6D AE 78 */ lwz r3, synthVoice@sda21(r13)
|
||||||
|
/* 803AA100 003A7060 1C 00 04 04 */ mulli r0, r0, 0x404
|
||||||
|
/* 803AA104 003A7064 7C 63 02 14 */ add r3, r3, r0
|
||||||
|
/* 803AA108 003A7068 4B FF CB 6D */ bl macSampleEndNotify
|
||||||
|
/* 803AA10C 003A706C 48 00 00 0C */ b lbl_803AA118
|
||||||
|
lbl_803AA110:
|
||||||
|
/* 803AA110 003A7070 88 7B 00 03 */ lbz r3, 3(r27)
|
||||||
|
/* 803AA114 003A7074 4B FF E9 09 */ bl voiceKill
|
||||||
|
lbl_803AA118:
|
||||||
|
/* 803AA118 003A7078 38 00 00 00 */ li r0, 0
|
||||||
|
/* 803AA11C 003A707C 3C 60 80 56 */ lis r3, vs@ha
|
||||||
|
/* 803AA120 003A7080 98 1B 00 00 */ stb r0, 0(r27)
|
||||||
|
/* 803AA124 003A7084 38 03 E3 10 */ addi r0, r3, vs@l
|
||||||
|
/* 803AA128 003A7088 38 80 00 FF */ li r4, 0xff
|
||||||
|
/* 803AA12C 003A708C 88 7B 00 03 */ lbz r3, 3(r27)
|
||||||
|
/* 803AA130 003A7090 7C 60 1A 14 */ add r3, r0, r3
|
||||||
|
/* 803AA134 003A7094 98 83 09 08 */ stb r4, 0x908(r3)
|
||||||
|
/* 803AA138 003A7098 48 00 00 24 */ b lbl_803AA15C
|
||||||
|
lbl_803AA13C:
|
||||||
|
/* 803AA13C 003A709C 38 00 00 00 */ li r0, 0
|
||||||
|
/* 803AA140 003A70A0 3C 60 80 56 */ lis r3, vs@ha
|
||||||
|
/* 803AA144 003A70A4 98 1B 00 00 */ stb r0, 0(r27)
|
||||||
|
/* 803AA148 003A70A8 38 03 E3 10 */ addi r0, r3, vs@l
|
||||||
|
/* 803AA14C 003A70AC 38 80 00 FF */ li r4, 0xff
|
||||||
|
/* 803AA150 003A70B0 88 7B 00 03 */ lbz r3, 3(r27)
|
||||||
|
/* 803AA154 003A70B4 7C 60 1A 14 */ add r3, r0, r3
|
||||||
|
/* 803AA158 003A70B8 98 83 09 08 */ stb r4, 0x908(r3)
|
||||||
|
lbl_803AA15C:
|
||||||
|
/* 803AA15C 003A70BC 3B BD 00 01 */ addi r29, r29, 1
|
||||||
|
/* 803AA160 003A70C0 3B DE 00 01 */ addi r30, r30, 1
|
||||||
|
/* 803AA164 003A70C4 28 1D 00 40 */ cmplwi r29, 0x40
|
||||||
|
/* 803AA168 003A70C8 41 80 FE 3C */ blt lbl_803A9FA4
|
||||||
|
lbl_803AA16C:
|
||||||
|
/* 803AA16C 003A70CC 39 61 00 20 */ addi r11, r1, 0x20
|
||||||
|
/* 803AA170 003A70D0 4B FD F9 55 */ bl _restgpr_26
|
||||||
|
/* 803AA174 003A70D4 80 01 00 24 */ lwz r0, 0x24(r1)
|
||||||
|
/* 803AA178 003A70D8 7C 08 03 A6 */ mtlr r0
|
||||||
|
/* 803AA17C 003A70DC 38 21 00 20 */ addi r1, r1, 0x20
|
||||||
|
/* 803AA180 003A70E0 4E 80 00 20 */ blr
|
||||||
|
|
Loading…
Reference in New Issue