Split bss down to game data

Former-commit-id: 0b3818ffc1
This commit is contained in:
Phillip Stephens 2022-04-07 22:17:01 -07:00
parent 98f4319c5b
commit 6faf948c9a
41 changed files with 2508 additions and 1113 deletions

View File

@ -1,5 +1,10 @@
.include "macros.inc"
.section .bss
.global lbl_80569A58
lbl_80569A58:
.skip 0x220
.section .data, "wa"
lbl_803F6C90:
.asciz "<< Dolphin SDK - CARD\trelease build: Sep 5 2002 05:35:20 (0x2301) >>"

View File

@ -1,5 +1,9 @@
.include "macros.inc"
.section .bss
lbl_80569C78:
.skip 0x20
.section .text, "ax"
.global __CARDCompareFileName

View File

@ -1,5 +1,28 @@
.include "macros.inc"
.section .bss
.global lbl_80569908
lbl_80569908:
.skip 0x30
.global lbl_80569938
lbl_80569938:
.skip 0x30
.global lbl_80569968
lbl_80569968:
.skip 0x30
.global lbl_80569998
lbl_80569998:
.skip 0x30
.global lbl_805699C8
lbl_805699C8:
.skip 0x30
.global lbl_805699F8
lbl_805699F8:
.skip 0x30
.global lbl_80569A28
lbl_80569A28:
.skip 0x30
.section .sbss, "wa"
.balign 4
.global lbl_805A9B98

View File

@ -1,5 +1,16 @@
.include "macros.inc"
.section .bss
.global lbl_80540B60
lbl_80540B60:
.skip 0x20
.global lbl_80540B80
lbl_80540B80:
.skip 0x20
.global lbl_80540BA0
lbl_80540BA0:
.skip 0x58
.section .data
.balign 8
.global lbl_803EFFC8

View File

@ -1,5 +1,11 @@
.include "macros.inc"
.section .bss
lbl_80540A80:
.skip 0x68
lbl_80540AE8:
.skip 0x78
.section .text, "ax"
.global __DVDInitWA

View File

@ -1,5 +1,10 @@
.include "macros.inc"
.section .bss
.global lbl_80540BF8
lbl_80540BF8:
.skip 0x20
.section .text, "ax"
.global __DVDClearWaitingQueue

View File

@ -1,5 +1,11 @@
.include "macros.inc"
.section .bss
lbl_80540C18:
.skip 0x40
lbl_80540C58:
.skip 0x30
.section .data
.balign 8
lbl_803F0578:

View File

@ -1,5 +1,10 @@
.include "macros.inc"
.section .bss
.global lbl_80569E98
lbl_80569E98:
.skip 0xC8
.section .sdata, "wa"
.global lbl_805A8C10

View File

@ -1,5 +1,10 @@
.include "macros.inc"
.section .bss
.global lbl_80540C88
lbl_80540C88:
.skip 0x578
.section .data
.global lbl_803F062C
lbl_803F062C:

View File

@ -1,5 +1,10 @@
.include "macros.inc"
.section .bss
.global DriveInfo
DriveInfo:
.skip 0x50
.section .data
.global lbl_803F0DA0
lbl_803F0DA0:

View File

@ -1,5 +1,10 @@
.include "macros.inc"
.section .bss
.global lbl_80541250
lbl_80541250:
.skip 0x48
.section .data
.balign 8

View File

@ -1,5 +1,10 @@
.include "macros.inc"
.section .bss
.global lbl_80541298
lbl_80541298:
.skip 0x2E8
.section .text, "ax"
.global ScreenReport

View File

@ -1,5 +1,10 @@
.include "macros.inc"
.section .bss
.global lbl_80541580
lbl_80541580:
.skip 0x20
.section .text, "ax"
.global Run

View File

@ -1,5 +1,9 @@
.include "macros.inc"
.section .bss
lbl_805415A0:
.skip 0x58
.section .text, "ax"
.global WriteSramCallback

View File

@ -1,5 +1,9 @@
.include "macros.inc"
.section .bss
lbl_805415F8:
.skip 0x9F8
.section .text, "ax"
.global DefaultSwitchThreadCallback

View File

@ -1,5 +1,11 @@
.include "macros.inc"
.section .bss
lbl_80541FF0:
.skip 0x10
lbl_80542000:
.skip 0x40
.section .sbss
.balign 4
.global lbl_805A9930

View File

@ -1,5 +1,26 @@
.include "macros.inc"
.section .bss
.global Packet
Packet:
.skip 0x80
.global lbl_80569D18
lbl_80569D18:
.skip 0xA0
.global lbl_80569DB8
lbl_80569DB8:
.skip 0x20
.global lbl_80569DD8
lbl_80569DD8:
.skip 0x20
.global lbl_80569DF8
lbl_80569DF8:
.skip 0x40
.global lbl_80569E38
lbl_80569E38:
.skip 0x60
.section .data, "wa"
.global lbl_803F6EA0

View File

@ -1,5 +1,13 @@
.include "macros.inc"
.section .bss
.global lbl_80569F60
lbl_80569F60:
.skip 0x118
.global __THPMCUBuffer
__THPMCUBuffer:
.skip 0x28
.section .rodata, "a" # 0x803CB3A0 - 0x803D8D60
__THPJpegNaturalOrder: # local object
.4byte 0x00010810

View File

@ -1,5 +1,11 @@
.include "macros.inc"
.section .bss
lbl_80542040:
.skip 0xF0
lbl_80542130:
.skip 0x58
.section .data, "wa"
.global lbl_803F23A8
lbl_803F23A8:

View File

@ -1,5 +1,9 @@
.include "macros.inc"
.section .bss
lbl_80542188:
.skip 0x10
.section .text, "ax"
.global __unregister_fragment

View File

@ -1,5 +1,9 @@
.include "macros.inc"
.section .bss
lbl_80542198:
.skip 0x100
.section .sbss
.balign 4
.global lbl_805A99B8

View File

@ -1,5 +1,9 @@
.include "macros.inc"
.section .bss
"protopool$192":
.skip 0x338
.section .rodata
.global lbl_803D85C0
lbl_803D85C0:
@ -25,17 +29,17 @@ calloc:
/* 8038A2B0 00387210 88 0D AE 08 */ lbz r0, lbl_805A99C8@sda21(r13)
/* 8038A2B4 00387214 28 00 00 00 */ cmplwi r0, 0
/* 8038A2B8 00387218 40 82 00 20 */ bne lbl_8038A2D8
/* 8038A2BC 0038721C 3C 60 80 54 */ lis r3, lbl_80542298@ha
/* 8038A2BC 0038721C 3C 60 80 54 */ lis r3, "protopool$192"@ha
/* 8038A2C0 00387220 38 80 00 00 */ li r4, 0
/* 8038A2C4 00387224 38 63 22 98 */ addi r3, r3, lbl_80542298@l
/* 8038A2C4 00387224 38 63 22 98 */ addi r3, r3, "protopool$192"@l
/* 8038A2C8 00387228 38 A0 00 34 */ li r5, 0x34
/* 8038A2CC 0038722C 4B C7 90 DD */ bl memset
/* 8038A2D0 00387230 38 00 00 01 */ li r0, 1
/* 8038A2D4 00387234 98 0D AE 08 */ stb r0, lbl_805A99C8@sda21(r13)
lbl_8038A2D8:
/* 8038A2D8 00387238 7F DE F9 D7 */ mullw. r30, r30, r31
/* 8038A2DC 0038723C 3C 60 80 54 */ lis r3, lbl_80542298@ha
/* 8038A2E0 00387240 38 63 22 98 */ addi r3, r3, lbl_80542298@l
/* 8038A2DC 0038723C 3C 60 80 54 */ lis r3, "protopool$192"@ha
/* 8038A2E0 00387240 38 63 22 98 */ addi r3, r3, "protopool$192"@l
/* 8038A2E4 00387244 40 82 00 0C */ bne lbl_8038A2F0
/* 8038A2E8 00387248 3B E0 00 00 */ li r31, 0
/* 8038A2EC 0038724C 48 00 00 38 */ b lbl_8038A324
@ -83,17 +87,17 @@ sub_8038a358:
/* 8038A370 003872D0 88 0D AE 08 */ lbz r0, lbl_805A99C8@sda21(r13)
/* 8038A374 003872D4 28 00 00 00 */ cmplwi r0, 0
/* 8038A378 003872D8 40 82 00 20 */ bne lbl_8038A398
/* 8038A37C 003872DC 3C 60 80 54 */ lis r3, lbl_80542298@ha
/* 8038A37C 003872DC 3C 60 80 54 */ lis r3, "protopool$192"@ha
/* 8038A380 003872E0 38 80 00 00 */ li r4, 0
/* 8038A384 003872E4 38 63 22 98 */ addi r3, r3, lbl_80542298@l
/* 8038A384 003872E4 38 63 22 98 */ addi r3, r3, "protopool$192"@l
/* 8038A388 003872E8 38 A0 00 34 */ li r5, 0x34
/* 8038A38C 003872EC 4B C7 90 1D */ bl memset
/* 8038A390 003872F0 38 00 00 01 */ li r0, 1
/* 8038A394 003872F4 98 0D AE 08 */ stb r0, lbl_805A99C8@sda21(r13)
lbl_8038A398:
/* 8038A398 003872F8 28 1E 00 00 */ cmplwi r30, 0
/* 8038A39C 003872FC 3C 60 80 54 */ lis r3, lbl_80542298@ha
/* 8038A3A0 00387300 3B E3 22 98 */ addi r31, r3, lbl_80542298@l
/* 8038A39C 003872FC 3C 60 80 54 */ lis r3, "protopool$192"@ha
/* 8038A3A0 00387300 3B E3 22 98 */ addi r31, r3, "protopool$192"@l
/* 8038A3A4 00387304 41 82 00 D0 */ beq lbl_8038A474
/* 8038A3A8 00387308 80 7E FF FC */ lwz r3, -4(r30)
/* 8038A3AC 0038730C 54 60 07 FF */ clrlwi. r0, r3, 0x1f

274
asm/bss.s
View File

@ -424,277 +424,3 @@ lbl_80540A40:
.global lbl_80540A4C
lbl_80540A4C:
.skip 0x34
.global lbl_80540A80
lbl_80540A80:
.skip 0x68
.global lbl_80540AE8
lbl_80540AE8:
.skip 0x78
.global lbl_80540B60
lbl_80540B60:
.skip 0x20
.global lbl_80540B80
lbl_80540B80:
.skip 0x20
.global lbl_80540BA0
lbl_80540BA0:
.skip 0x58
.global lbl_80540BF8
lbl_80540BF8:
.skip 0x20
.global lbl_80540C18
lbl_80540C18:
.skip 0x40
.global lbl_80540C58
lbl_80540C58:
.skip 0x30
.global lbl_80540C88
lbl_80540C88:
.skip 0x578
.global DriveInfo
DriveInfo:
.skip 0x50
.global lbl_80541250
lbl_80541250:
.skip 0x48
.global lbl_80541298
lbl_80541298:
.skip 0x2E8
.global lbl_80541580
lbl_80541580:
.skip 0x20
.global lbl_805415A0
lbl_805415A0:
.skip 0x58
.global lbl_805415F8
lbl_805415F8:
.skip 0x9F8
.global lbl_80541FF0
lbl_80541FF0:
.skip 0x10
.global lbl_80542000
lbl_80542000:
.skip 0x40
.global lbl_80542040
lbl_80542040:
.skip 0xF0
.global lbl_80542130
lbl_80542130:
.skip 0x58
.global lbl_80542188
lbl_80542188:
.skip 0x10
.global lbl_80542198
lbl_80542198:
.skip 0x100
.global lbl_80542298
lbl_80542298:
.skip 0x338
.global lbl_805425D0
lbl_805425D0:
.skip 0x1400
.global lbl_805439D0
lbl_805439D0:
.skip 0xC340
.global lbl_8054FD10
lbl_8054FD10:
.skip 0x100
.global lbl_8054FE10
lbl_8054FE10:
.skip 0x240
.global synthInfo
synthInfo:
.skip 0x214
.global lbl_80550264
lbl_80550264:
.skip 0x600
.global lbl_80550864
lbl_80550864:
.skip 0x40
.global lbl_805508A4
lbl_805508A4:
.skip 0x180
.global lbl_80550A24
lbl_80550A24:
.skip 0x20
.global lbl_80550A44
lbl_80550A44:
.skip 0x20
.global lbl_80550A64
lbl_80550A64:
.skip 0x20
.global lbl_80550A84
lbl_80550A84:
.skip 0x20
.global lbl_80550AA4
lbl_80550AA4:
.skip 0x10
.global lbl_80550AB4
lbl_80550AB4:
.skip 0x40
.global lbl_80550AF4
lbl_80550AF4:
.skip 0x480
.global lbl_80550F74
lbl_80550F74:
.skip 0x484
.global lbl_805513F8
lbl_805513F8:
.skip 0x1900
.global lbl_80552CF8
lbl_80552CF8:
.skip 0x800
.global lbl_805534F8
lbl_805534F8:
.skip 0xC00
.global lbl_805540F8
lbl_805540F8:
.skip 0x4000
.global lbl_805580F8
lbl_805580F8:
.skip 0x600
.global lbl_805586F8
lbl_805586F8:
.skip 0x400
.global lbl_80558AF8
lbl_80558AF8:
.skip 0x800
.global lbl_805592F8
lbl_805592F8:
.skip 0x4000
.global lbl_8055D2F8
lbl_8055D2F8:
.skip 0x20
.global lbl_8055D318
lbl_8055D318:
.skip 0xC
.global lbl_8055D324
lbl_8055D324:
.skip 0xC
.global lbl_8055D330
lbl_8055D330:
.skip 0x20
.global vidList
vidList:
.skip 0xF00
.global synth_last_fxstarted
synth_last_fxstarted:
.skip 0x40
.global lbl_8055E290
lbl_8055E290:
.skip 0x80
.global vs
vs:
.skip 0x950
.global lbl_8055EC60
lbl_8055EC60:
.skip 0x600
.global dspStudio
dspStudio:
.skip 0x5E0
.global "voices$217"
"voices$217":
.skip 0x100
.global lbl_8055F940
lbl_8055F940:
.skip 0x50
.global lbl_8055F990
lbl_8055F990:
.skip 0x400
.global lbl_8055FD90
lbl_8055FD90:
.skip 0x300
.global lbl_80560090
lbl_80560090:
.skip 0x700
.global lbl_80560790
lbl_80560790:
.skip 0x200
.global lbl_80560990
lbl_80560990:
.skip 0x4300
.global lbl_80564C90
lbl_80564C90:
.skip 0x80
.global lbl_80564D10
lbl_80564D10:
.skip 0x2180
.global inpFXChannelDefaults
inpFXChannelDefaults:
.skip 0x40
.global lbl_80566ED0
lbl_80566ED0:
.skip 0x80
.global lbl_80566F50
lbl_80566F50:
.skip 0x40
.global lbl_80566F90
lbl_80566F90:
.skip 0x284
.global lbl_80567214
lbl_80567214:
.skip 0x284
.global lbl_80567498
lbl_80567498:
.skip 0x408
.global dsp_task
dsp_task:
.skip 0x60
.global dram_image
dram_image:
.skip 0x2008
.global lbl_80569908
lbl_80569908:
.skip 0x30
.global lbl_80569938
lbl_80569938:
.skip 0x30
.global lbl_80569968
lbl_80569968:
.skip 0x30
.global lbl_80569998
lbl_80569998:
.skip 0x30
.global lbl_805699C8
lbl_805699C8:
.skip 0x30
.global lbl_805699F8
lbl_805699F8:
.skip 0x30
.global lbl_80569A28
lbl_80569A28:
.skip 0x30
.global lbl_80569A58
lbl_80569A58:
.skip 0x220
.global lbl_80569C78
lbl_80569C78:
.skip 0x20
.global Packet
Packet:
.skip 0x80
.global lbl_80569D18
lbl_80569D18:
.skip 0xA0
.global lbl_80569DB8
lbl_80569DB8:
.skip 0x20
.global lbl_80569DD8
lbl_80569DD8:
.skip 0x20
.global lbl_80569DF8
lbl_80569DF8:
.skip 0x40
.global lbl_80569E38
lbl_80569E38:
.skip 0x60
.global lbl_80569E98
lbl_80569E98:
.skip 0xC8
.global lbl_80569F60
lbl_80569F60:
.skip 0x118
.global __THPMCUBuffer
__THPMCUBuffer:
.skip 0x28

View File

@ -20,7 +20,7 @@ salAuxFrame:
.global salFrame
salFrame:
.skip 0x1
.section .sdata, "wa"
.global lbl_805A8BD8
lbl_805A8BD8:
@ -28,7 +28,7 @@ lbl_805A8BD8:
.2byte 1
.2byte 2
.balign 4
.global lbl_805A8BE0
lbl_805A8BE0:
.2byte 0
@ -39,9 +39,74 @@ lbl_805A8BE0:
.section .rodata
.global lbl_803D8BD0
lbl_803D8BD0:
.incbin "baserom.dol", 0x3D5BD0, 0x100
.section .text, "ax"
# ROM: 0x3D5BD0
.4byte 0
.4byte 0
.4byte 0
.4byte 0
.4byte 0
.4byte 0x00000001
.4byte 0x00010001
.4byte 0x00010001
.4byte 0x00010001
.4byte 0x00020002
.4byte 0x00020002
.4byte 0x00020003
.4byte 0x00030003
.4byte 0x00030003
.4byte 0x00040004
.4byte 0x00040004
.4byte 0x00050005
.4byte 0x00050006
.4byte 0x00060006
.4byte 0x00070007
.4byte 0x00070008
.4byte 0x00080008
.4byte 0x00090009
.4byte 0x0009000A
.4byte 0x000A000A
.4byte 0x000B000B
.4byte 0x000C000C
.4byte 0x000C000D
.4byte 0x000D000D
.4byte 0x000E000E
.4byte 0x000F000F
.4byte 0x000F0010
.4byte 0x00100011
.4byte 0x00110011
.4byte 0x00120012
.4byte 0x00130013
.4byte 0x00130014
.4byte 0x00140014
.4byte 0x00150015
.4byte 0x00160016
.4byte 0x00160017
.4byte 0x00170017
.4byte 0x00180018
.4byte 0x00180019
.4byte 0x00190019
.4byte 0x001A001A
.4byte 0x001A001B
.4byte 0x001B001B
.4byte 0x001C001C
.4byte 0x001C001C
.4byte 0x001D001D
.4byte 0x001D001D
.4byte 0x001D001E
.4byte 0x001E001E
.4byte 0x001E001E
.4byte 0x001F001F
.4byte 0x001F001F
.4byte 0x001F001F
.4byte 0x001F0020
.4byte 0x00200020
.4byte 0x00200020
.4byte 0x00200020
.4byte 0x00200020
.4byte 0x00200020
.section .text, "ax"
.global snd_handle_irq
snd_handle_irq:
@ -134,7 +199,7 @@ lbl_803B308C:
/* 803B3090 003AFFF0 83 E1 00 0C */ lwz r31, 0xc(r1)
/* 803B3094 003AFFF4 7C 08 03 A6 */ mtlr r0
/* 803B3098 003AFFF8 38 21 00 10 */ addi r1, r1, 0x10
/* 803B309C 003AFFFC 4E 80 00 20 */ blr
/* 803B309C 003AFFFC 4E 80 00 20 */ blr
.global sub_803b30a0
sub_803b30a0:
@ -185,7 +250,7 @@ lbl_803B3138:
/* 803B3148 003B00A8 83 81 00 10 */ lwz r28, 0x10(r1)
/* 803B314C 003B00AC 7C 08 03 A6 */ mtlr r0
/* 803B3150 003B00B0 38 21 00 20 */ addi r1, r1, 0x20
/* 803B3154 003B00B4 4E 80 00 20 */ blr
/* 803B3154 003B00B4 4E 80 00 20 */ blr
.global hwExit
hwExit:
@ -201,17 +266,17 @@ hwExit:
/* 803B317C 003B00DC 80 01 00 14 */ lwz r0, 0x14(r1)
/* 803B3180 003B00E0 7C 08 03 A6 */ mtlr r0
/* 803B3184 003B00E4 38 21 00 10 */ addi r1, r1, 0x10
/* 803B3188 003B00E8 4E 80 00 20 */ blr
/* 803B3188 003B00E8 4E 80 00 20 */ blr
.global hwSetTimeOffset
hwSetTimeOffset:
/* 803B318C 003B00EC 98 6D AF 80 */ stb r3, salTimeOffset@sda21(r13)
/* 803B3190 003B00F0 4E 80 00 20 */ blr
/* 803B3190 003B00F0 4E 80 00 20 */ blr
.global hwGetTimeOffset
hwGetTimeOffset:
/* 803B3194 003B00F4 88 6D AF 80 */ lbz r3, salTimeOffset@sda21(r13)
/* 803B3198 003B00F8 4E 80 00 20 */ blr
/* 803B3198 003B00F8 4E 80 00 20 */ blr
.global hwIsActive
hwIsActive:
@ -222,12 +287,12 @@ hwIsActive:
/* 803B31AC 003B010C 7C 03 00 D0 */ neg r0, r3
/* 803B31B0 003B0110 7C 00 1B 78 */ or r0, r0, r3
/* 803B31B4 003B0114 54 03 0F FE */ srwi r3, r0, 0x1f
/* 803B31B8 003B0118 4E 80 00 20 */ blr
/* 803B31B8 003B0118 4E 80 00 20 */ blr
.global hwSetMesgCallback
hwSetMesgCallback:
/* 803B31BC 003B011C 90 6D AF 58 */ stw r3, salMessageCallback@sda21(r13)
/* 803B31C0 003B0120 4E 80 00 20 */ blr
/* 803B31C0 003B0120 4E 80 00 20 */ blr
.global hwSetPriority
hwSetPriority:
@ -235,7 +300,7 @@ hwSetPriority:
/* 803B31C8 003B0128 80 6D AF 54 */ lwz r3, dspVoice@sda21(r13)
/* 803B31CC 003B012C 7C 63 02 14 */ add r3, r3, r0
/* 803B31D0 003B0130 90 83 00 1C */ stw r4, 0x1c(r3)
/* 803B31D4 003B0134 4E 80 00 20 */ blr
/* 803B31D4 003B0134 4E 80 00 20 */ blr
.global hwInitSamplePlayback
hwInitSamplePlayback:
@ -351,7 +416,7 @@ lbl_803B3364:
/* 803B337C 003B02DC 83 A1 00 14 */ lwz r29, 0x14(r1)
/* 803B3380 003B02E0 7C 08 03 A6 */ mtlr r0
/* 803B3384 003B02E4 38 21 00 20 */ addi r1, r1, 0x20
/* 803B3388 003B02E8 4E 80 00 20 */ blr
/* 803B3388 003B02E8 4E 80 00 20 */ blr
.global hwBreak
hwBreak:
@ -375,7 +440,7 @@ lbl_803B33B8:
/* 803B33CC 003B032C 80 03 00 24 */ lwz r0, 0x24(r3)
/* 803B33D0 003B0330 60 00 00 20 */ ori r0, r0, 0x20
/* 803B33D4 003B0334 90 03 00 24 */ stw r0, 0x24(r3)
/* 803B33D8 003B0338 4E 80 00 20 */ blr
/* 803B33D8 003B0338 4E 80 00 20 */ blr
.global hwSetADSR
hwSetADSR:
@ -492,7 +557,7 @@ lbl_803B3554:
/* 803B3578 003B04D8 80 01 00 24 */ lwz r0, 0x24(r1)
/* 803B357C 003B04DC 7C 08 03 A6 */ mtlr r0
/* 803B3580 003B04E0 38 21 00 20 */ addi r1, r1, 0x20
/* 803B3584 003B04E4 4E 80 00 20 */ blr
/* 803B3584 003B04E4 4E 80 00 20 */ blr
.global hwSetVirtualSampleLoopBuffer
hwSetVirtualSampleLoopBuffer:
@ -503,7 +568,7 @@ hwSetVirtualSampleLoopBuffer:
/* 803B3598 003B04F8 80 0D AF 54 */ lwz r0, dspVoice@sda21(r13)
/* 803B359C 003B04FC 7C 60 32 14 */ add r3, r0, r6
/* 803B35A0 003B0500 90 A3 00 98 */ stw r5, 0x98(r3)
/* 803B35A4 003B0504 4E 80 00 20 */ blr
/* 803B35A4 003B0504 4E 80 00 20 */ blr
.global hwGetVirtualSampleState
hwGetVirtualSampleState:
@ -511,7 +576,7 @@ hwGetVirtualSampleState:
/* 803B35AC 003B050C 80 6D AF 54 */ lwz r3, dspVoice@sda21(r13)
/* 803B35B0 003B0510 7C 63 02 14 */ add r3, r3, r0
/* 803B35B4 003B0514 88 63 00 9C */ lbz r3, 0x9c(r3)
/* 803B35B8 003B0518 4E 80 00 20 */ blr
/* 803B35B8 003B0518 4E 80 00 20 */ blr
.global hwGetSampleType
hwGetSampleType:
@ -519,7 +584,7 @@ hwGetSampleType:
/* 803B35C0 003B0520 80 6D AF 54 */ lwz r3, dspVoice@sda21(r13)
/* 803B35C4 003B0524 7C 63 02 14 */ add r3, r3, r0
/* 803B35C8 003B0528 88 63 00 90 */ lbz r3, 0x90(r3)
/* 803B35CC 003B052C 4E 80 00 20 */ blr
/* 803B35CC 003B052C 4E 80 00 20 */ blr
.global hwGetSampleID
hwGetSampleID:
@ -527,7 +592,7 @@ hwGetSampleID:
/* 803B35D4 003B0534 80 6D AF 54 */ lwz r3, dspVoice@sda21(r13)
/* 803B35D8 003B0538 7C 63 02 14 */ add r3, r3, r0
/* 803B35DC 003B053C A0 63 00 70 */ lhz r3, 0x70(r3)
/* 803B35E0 003B0540 4E 80 00 20 */ blr
/* 803B35E0 003B0540 4E 80 00 20 */ blr
.global hwSetStreamLoopPS
hwSetStreamLoopPS:
@ -535,7 +600,7 @@ hwSetStreamLoopPS:
/* 803B35E8 003B0548 80 6D AF 54 */ lwz r3, dspVoice@sda21(r13)
/* 803B35EC 003B054C 7C 63 02 14 */ add r3, r3, r0
/* 803B35F0 003B0550 98 83 00 A0 */ stb r4, 0xa0(r3)
/* 803B35F4 003B0554 4E 80 00 20 */ blr
/* 803B35F4 003B0554 4E 80 00 20 */ blr
.global hwStart
hwStart:
@ -553,7 +618,7 @@ hwStart:
/* 803B3624 003B0584 80 01 00 14 */ lwz r0, 0x14(r1)
/* 803B3628 003B0588 7C 08 03 A6 */ mtlr r0
/* 803B362C 003B058C 38 21 00 10 */ addi r1, r1, 0x10
/* 803B3630 003B0590 4E 80 00 20 */ blr
/* 803B3630 003B0590 4E 80 00 20 */ blr
.global hwKeyOff
hwKeyOff:
@ -566,7 +631,7 @@ hwKeyOff:
/* 803B364C 003B05AC 80 03 00 24 */ lwz r0, 0x24(r3)
/* 803B3650 003B05B0 60 00 00 40 */ ori r0, r0, 0x40
/* 803B3654 003B05B4 90 03 00 24 */ stw r0, 0x24(r3)
/* 803B3658 003B05B8 4E 80 00 20 */ blr
/* 803B3658 003B05B8 4E 80 00 20 */ blr
.global hwSetPitch
hwSetPitch:
@ -586,7 +651,7 @@ lbl_803B3678:
/* 803B368C 003B05EC 7C 65 1A 14 */ add r3, r5, r3
/* 803B3690 003B05F0 80 63 00 38 */ lwz r3, 0x38(r3)
/* 803B3694 003B05F4 7C 03 00 40 */ cmplw r3, r0
/* 803B3698 003B05F8 4D 82 00 20 */ beqlr
/* 803B3698 003B05F8 4D 82 00 20 */ beqlr
lbl_803B369C:
/* 803B369C 003B05FC 88 0D AF 80 */ lbz r0, salTimeOffset@sda21(r13)
/* 803B36A0 003B0600 54 84 23 36 */ rlwinm r4, r4, 4, 0xc, 0x1b
@ -601,7 +666,7 @@ lbl_803B369C:
/* 803B36C4 003B0624 90 03 00 24 */ stw r0, 0x24(r3)
/* 803B36C8 003B0628 88 0D AF 80 */ lbz r0, salTimeOffset@sda21(r13)
/* 803B36CC 003B062C 98 05 00 E4 */ stb r0, 0xe4(r5)
/* 803B36D0 003B0630 4E 80 00 20 */ blr
/* 803B36D0 003B0630 4E 80 00 20 */ blr
.global sub_803b36d4
sub_803b36d4:
@ -615,7 +680,7 @@ sub_803b36d4:
/* 803B36F0 003B0650 80 03 00 24 */ lwz r0, 0x24(r3)
/* 803B36F4 003B0654 60 00 01 00 */ ori r0, r0, 0x100
/* 803B36F8 003B0658 90 03 00 24 */ stw r0, 0x24(r3)
/* 803B36FC 003B065C 4E 80 00 20 */ blr
/* 803B36FC 003B065C 4E 80 00 20 */ blr
.global hwSetSRCType
hwSetSRCType:
@ -629,7 +694,7 @@ hwSetSRCType:
/* 803B371C 003B067C 80 03 00 24 */ lwz r0, 0x24(r3)
/* 803B3720 003B0680 60 00 00 80 */ ori r0, r0, 0x80
/* 803B3724 003B0684 90 03 00 24 */ stw r0, 0x24(r3)
/* 803B3728 003B0688 4E 80 00 20 */ blr
/* 803B3728 003B0688 4E 80 00 20 */ blr
.global hwSetITDMode
hwSetITDMode:
@ -648,7 +713,7 @@ hwSetITDMode:
/* 803B375C 003B06BC 80 0D AF 54 */ lwz r0, dspVoice@sda21(r13)
/* 803B3760 003B06C0 7C 60 2A 14 */ add r3, r0, r5
/* 803B3764 003B06C4 B0 83 00 D2 */ sth r4, 0xd2(r3)
/* 803B3768 003B06C8 4E 80 00 20 */ blr
/* 803B3768 003B06C8 4E 80 00 20 */ blr
lbl_803B376C:
/* 803B376C 003B06CC 1C 03 00 F4 */ mulli r0, r3, 0xf4
/* 803B3770 003B06D0 80 6D AF 54 */ lwz r3, dspVoice@sda21(r13)
@ -656,7 +721,7 @@ lbl_803B376C:
/* 803B3778 003B06D8 80 03 00 F0 */ lwz r0, 0xf0(r3)
/* 803B377C 003B06DC 54 00 00 7E */ clrlwi r0, r0, 1
/* 803B3780 003B06E0 90 03 00 F0 */ stw r0, 0xf0(r3)
/* 803B3784 003B06E4 4E 80 00 20 */ blr
/* 803B3784 003B06E4 4E 80 00 20 */ blr
.global hwSetVolume
hwSetVolume:
@ -845,7 +910,7 @@ lbl_803B3A30:
/* 803B3A38 003B0998 83 C1 00 48 */ lwz r30, 0x48(r1)
/* 803B3A3C 003B099C 7C 08 03 A6 */ mtlr r0
/* 803B3A40 003B09A0 38 21 00 50 */ addi r1, r1, 0x50
/* 803B3A44 003B09A4 4E 80 00 20 */ blr
/* 803B3A44 003B09A4 4E 80 00 20 */ blr
.global sub_803b3a48
sub_803b3a48:
@ -859,7 +924,7 @@ sub_803b3a48:
/* 803B3A64 003B09C4 80 01 00 14 */ lwz r0, 0x14(r1)
/* 803B3A68 003B09C8 7C 08 03 A6 */ mtlr r0
/* 803B3A6C 003B09CC 38 21 00 10 */ addi r1, r1, 0x10
/* 803B3A70 003B09D0 4E 80 00 20 */ blr
/* 803B3A70 003B09D0 4E 80 00 20 */ blr
.global hwSetAUXProcessingCallbacks
hwSetAUXProcessingCallbacks:
@ -872,7 +937,7 @@ hwSetAUXProcessingCallbacks:
/* 803B3A8C 003B09EC 90 A3 00 B4 */ stw r5, 0xb4(r3)
/* 803B3A90 003B09F0 90 C3 00 B0 */ stw r6, 0xb0(r3)
/* 803B3A94 003B09F4 90 E3 00 B8 */ stw r7, 0xb8(r3)
/* 803B3A98 003B09F8 4E 80 00 20 */ blr
/* 803B3A98 003B09F8 4E 80 00 20 */ blr
.global sub_803b3a9c
sub_803b3a9c:
@ -883,7 +948,7 @@ sub_803b3a9c:
/* 803B3AAC 003B0A0C 80 01 00 14 */ lwz r0, 0x14(r1)
/* 803B3AB0 003B0A10 7C 08 03 A6 */ mtlr r0
/* 803B3AB4 003B0A14 38 21 00 10 */ addi r1, r1, 0x10
/* 803B3AB8 003B0A18 4E 80 00 20 */ blr
/* 803B3AB8 003B0A18 4E 80 00 20 */ blr
.global sub_803b3abc
sub_803b3abc:
@ -894,7 +959,7 @@ sub_803b3abc:
/* 803B3ACC 003B0A2C 80 01 00 14 */ lwz r0, 0x14(r1)
/* 803B3AD0 003B0A30 7C 08 03 A6 */ mtlr r0
/* 803B3AD4 003B0A34 38 21 00 10 */ addi r1, r1, 0x10
/* 803B3AD8 003B0A38 4E 80 00 20 */ blr
/* 803B3AD8 003B0A38 4E 80 00 20 */ blr
.global sub_803b3adc
sub_803b3adc:
@ -910,7 +975,7 @@ sub_803b3adc:
/* 803B3B00 003B0A60 80 01 00 14 */ lwz r0, 0x14(r1)
/* 803B3B04 003B0A64 7C 08 03 A6 */ mtlr r0
/* 803B3B08 003B0A68 38 21 00 10 */ addi r1, r1, 0x10
/* 803B3B0C 003B0A6C 4E 80 00 20 */ blr
/* 803B3B0C 003B0A6C 4E 80 00 20 */ blr
.global sub_803b3b10
sub_803b3b10:
@ -926,7 +991,7 @@ sub_803b3b10:
/* 803B3B34 003B0A94 80 01 00 14 */ lwz r0, 0x14(r1)
/* 803B3B38 003B0A98 7C 08 03 A6 */ mtlr r0
/* 803B3B3C 003B0A9C 38 21 00 10 */ addi r1, r1, 0x10
/* 803B3B40 003B0AA0 4E 80 00 20 */ blr
/* 803B3B40 003B0AA0 4E 80 00 20 */ blr
.global sub_803b3b44
sub_803b3b44:
@ -940,7 +1005,7 @@ sub_803b3b44:
/* 803B3B60 003B0AC0 80 01 00 14 */ lwz r0, 0x14(r1)
/* 803B3B64 003B0AC4 7C 08 03 A6 */ mtlr r0
/* 803B3B68 003B0AC8 38 21 00 10 */ addi r1, r1, 0x10
/* 803B3B6C 003B0ACC 4E 80 00 20 */ blr
/* 803B3B6C 003B0ACC 4E 80 00 20 */ blr
.global sub_803b3b70
sub_803b3b70:
@ -951,7 +1016,7 @@ sub_803b3b70:
/* 803B3B80 003B0AE0 28 00 00 02 */ cmplwi r0, 2
/* 803B3B84 003B0AE4 41 82 00 0C */ beq lbl_803B3B90
/* 803B3B88 003B0AE8 38 60 00 00 */ li r3, 0
/* 803B3B8C 003B0AEC 4E 80 00 20 */ blr
/* 803B3B8C 003B0AEC 4E 80 00 20 */ blr
lbl_803B3B90:
/* 803B3B90 003B0AF0 88 04 00 90 */ lbz r0, 0x90(r4)
/* 803B3B94 003B0AF4 2C 00 00 03 */ cmpwi r0, 3
@ -964,10 +1029,10 @@ lbl_803B3B90:
.global sub_803b3bb0
sub_803b3bb0:
/* 803B3BB0 003B0B10 4E 80 00 20 */ blr
/* 803B3BB0 003B0B10 4E 80 00 20 */ blr
lbl_803B3BB4:
/* 803B3BB4 003B0B14 2C 00 00 06 */ cmpwi r0, 6
/* 803B3BB8 003B0B18 4C 80 00 20 */ bgelr
/* 803B3BB8 003B0B18 4C 80 00 20 */ bgelr
lbl_803B3BBC:
/* 803B3BBC 003B0B1C 7C 66 2A 14 */ add r3, r6, r5
/* 803B3BC0 003B0B20 80 03 00 78 */ lwz r0, 0x78(r3)
@ -978,21 +1043,21 @@ lbl_803B3BBC:
/* 803B3BD4 003B0B34 54 00 E1 3E */ srwi r0, r0, 4
/* 803B3BD8 003B0B38 28 04 00 02 */ cmplwi r4, 2
/* 803B3BDC 003B0B3C 1C 60 00 0E */ mulli r3, r0, 0xe
/* 803B3BE0 003B0B40 4D 80 00 20 */ bltlr
/* 803B3BE0 003B0B40 4D 80 00 20 */ bltlr
/* 803B3BE4 003B0B44 7C 64 1A 14 */ add r3, r4, r3
/* 803B3BE8 003B0B48 38 63 FF FE */ addi r3, r3, -2
/* 803B3BEC 003B0B4C 4E 80 00 20 */ blr
/* 803B3BEC 003B0B4C 4E 80 00 20 */ blr
lbl_803B3BF0:
/* 803B3BF0 003B0B50 80 64 00 78 */ lwz r3, 0x78(r4)
/* 803B3BF4 003B0B54 80 04 00 20 */ lwz r0, 0x20(r4)
/* 803B3BF8 003B0B58 7C 63 00 50 */ subf r3, r3, r0
/* 803B3BFC 003B0B5C 4E 80 00 20 */ blr
/* 803B3BFC 003B0B5C 4E 80 00 20 */ blr
lbl_803B3C00:
/* 803B3C00 003B0B60 80 64 00 78 */ lwz r3, 0x78(r4)
/* 803B3C04 003B0B64 80 04 00 20 */ lwz r0, 0x20(r4)
/* 803B3C08 003B0B68 54 63 F8 7E */ srwi r3, r3, 1
/* 803B3C0C 003B0B6C 7C 63 00 50 */ subf r3, r3, r0
/* 803B3C10 003B0B70 4E 80 00 20 */ blr
/* 803B3C10 003B0B70 4E 80 00 20 */ blr
.global hwFlushStream
hwFlushStream:
@ -1031,7 +1096,7 @@ hwFlushStream:
/* 803B3C94 003B0BF4 80 01 00 34 */ lwz r0, 0x34(r1)
/* 803B3C98 003B0BF8 7C 08 03 A6 */ mtlr r0
/* 803B3C9C 003B0BFC 38 21 00 30 */ addi r1, r1, 0x30
/* 803B3CA0 003B0C00 4E 80 00 20 */ blr
/* 803B3CA0 003B0C00 4E 80 00 20 */ blr
.global sub_803b3ca4
sub_803b3ca4:
@ -1042,7 +1107,7 @@ sub_803b3ca4:
/* 803B3CB4 003B0C14 80 01 00 14 */ lwz r0, 0x14(r1)
/* 803B3CB8 003B0C18 7C 08 03 A6 */ mtlr r0
/* 803B3CBC 003B0C1C 38 21 00 10 */ addi r1, r1, 0x10
/* 803B3CC0 003B0C20 4E 80 00 20 */ blr
/* 803B3CC0 003B0C20 4E 80 00 20 */ blr
.global sub_803b3cc4
sub_803b3cc4:
@ -1053,7 +1118,7 @@ sub_803b3cc4:
/* 803B3CD4 003B0C34 80 01 00 14 */ lwz r0, 0x14(r1)
/* 803B3CD8 003B0C38 7C 08 03 A6 */ mtlr r0
/* 803B3CDC 003B0C3C 38 21 00 10 */ addi r1, r1, 0x10
/* 803B3CE0 003B0C40 4E 80 00 20 */ blr
/* 803B3CE0 003B0C40 4E 80 00 20 */ blr
.global sub_803b3ce4
sub_803b3ce4:
@ -1065,11 +1130,11 @@ sub_803b3ce4:
/* 803B3CF8 003B0C58 80 01 00 14 */ lwz r0, 0x14(r1)
/* 803B3CFC 003B0C5C 7C 08 03 A6 */ mtlr r0
/* 803B3D00 003B0C60 38 21 00 10 */ addi r1, r1, 0x10
/* 803B3D04 003B0C64 4E 80 00 20 */ blr
/* 803B3D04 003B0C64 4E 80 00 20 */ blr
.global hwTransAddr
hwTransAddr:
/* 803B3D08 003B0C68 4E 80 00 20 */ blr
/* 803B3D08 003B0C68 4E 80 00 20 */ blr
.global hwFrq2Pitch
hwFrq2Pitch:
@ -1095,7 +1160,7 @@ hwFrq2Pitch:
/* 803B3D58 003B0CB8 80 01 00 24 */ lwz r0, 0x24(r1)
/* 803B3D5C 003B0CBC 7C 08 03 A6 */ mtlr r0
/* 803B3D60 003B0CC0 38 21 00 20 */ addi r1, r1, 0x20
/* 803B3D64 003B0CC4 4E 80 00 20 */ blr
/* 803B3D64 003B0CC4 4E 80 00 20 */ blr
.global sub_803b3d68
sub_803b3d68:
@ -1107,7 +1172,7 @@ sub_803b3d68:
/* 803B3D7C 003B0CDC 80 01 00 14 */ lwz r0, 0x14(r1)
/* 803B3D80 003B0CE0 7C 08 03 A6 */ mtlr r0
/* 803B3D84 003B0CE4 38 21 00 10 */ addi r1, r1, 0x10
/* 803B3D88 003B0CE8 4E 80 00 20 */ blr
/* 803B3D88 003B0CE8 4E 80 00 20 */ blr
.global sub_803b3d8c
sub_803b3d8c:
@ -1118,7 +1183,7 @@ sub_803b3d8c:
/* 803B3D9C 003B0CFC 80 01 00 14 */ lwz r0, 0x14(r1)
/* 803B3DA0 003B0D00 7C 08 03 A6 */ mtlr r0
/* 803B3DA4 003B0D04 38 21 00 10 */ addi r1, r1, 0x10
/* 803B3DA8 003B0D08 4E 80 00 20 */ blr
/* 803B3DA8 003B0D08 4E 80 00 20 */ blr
.global sub_803b3dac
sub_803b3dac:
@ -1162,7 +1227,7 @@ lbl_803B3E20:
/* 803B3E30 003B0D90 83 E1 00 0C */ lwz r31, 0xc(r1)
/* 803B3E34 003B0D94 7C 08 03 A6 */ mtlr r0
/* 803B3E38 003B0D98 38 21 00 10 */ addi r1, r1, 0x10
/* 803B3E3C 003B0D9C 4E 80 00 20 */ blr
/* 803B3E3C 003B0D9C 4E 80 00 20 */ blr
.global sub_803b3e40
sub_803b3e40:
@ -1173,7 +1238,7 @@ sub_803b3e40:
/* 803B3E50 003B0DB0 80 01 00 14 */ lwz r0, 0x14(r1)
/* 803B3E54 003B0DB4 7C 08 03 A6 */ mtlr r0
/* 803B3E58 003B0DB8 38 21 00 10 */ addi r1, r1, 0x10
/* 803B3E5C 003B0DBC 4E 80 00 20 */ blr
/* 803B3E5C 003B0DBC 4E 80 00 20 */ blr
.global sub_803b3e60
sub_803b3e60:
@ -1213,7 +1278,7 @@ lbl_803B3EC8:
/* 803B3ED4 003B0E34 80 01 00 14 */ lwz r0, 0x14(r1)
/* 803B3ED8 003B0E38 7C 08 03 A6 */ mtlr r0
/* 803B3EDC 003B0E3C 38 21 00 10 */ addi r1, r1, 0x10
/* 803B3EE0 003B0E40 4E 80 00 20 */ blr
/* 803B3EE0 003B0E40 4E 80 00 20 */ blr
.global hwSyncSampleMem
hwSyncSampleMem:
@ -1224,11 +1289,11 @@ hwSyncSampleMem:
/* 803B3EF4 003B0E54 80 01 00 14 */ lwz r0, 0x14(r1)
/* 803B3EF8 003B0E58 7C 08 03 A6 */ mtlr r0
/* 803B3EFC 003B0E5C 38 21 00 10 */ addi r1, r1, 0x10
/* 803B3F00 003B0E60 4E 80 00 20 */ blr
/* 803B3F00 003B0E60 4E 80 00 20 */ blr
.global nullsub_59
nullsub_59:
/* 803B3F04 003B0E64 4E 80 00 20 */ blr
/* 803B3F04 003B0E64 4E 80 00 20 */ blr
.global sndSetHooks
sndSetHooks:
@ -1236,13 +1301,13 @@ sndSetHooks:
/* 803B3F0C 003B0E6C 80 03 00 04 */ lwz r0, 4(r3)
/* 803B3F10 003B0E70 90 8D AF 84 */ stw r4, salHooks@sda21(r13)
/* 803B3F14 003B0E74 90 0D AF 88 */ stw r0, salHooks+4@sda21(r13)
/* 803B3F18 003B0E78 4E 80 00 20 */ blr
/* 803B3F18 003B0E78 4E 80 00 20 */ blr
.global sub_803b3f1c
sub_803b3f1c:
/* 803B3F1C 003B0E7C 38 00 00 00 */ li r0, 0
/* 803B3F20 003B0E80 90 0D AF 44 */ stw r0, dspHRTFOn@sda21(r13)
/* 803B3F24 003B0E84 4E 80 00 20 */ blr
/* 803B3F24 003B0E84 4E 80 00 20 */ blr
.global hwGetVirtualSampleID
hwGetVirtualSampleID:
@ -1253,10 +1318,10 @@ hwGetVirtualSampleID:
/* 803B3F38 003B0E98 28 00 00 00 */ cmplwi r0, 0
/* 803B3F3C 003B0E9C 40 82 00 0C */ bne lbl_803B3F48
/* 803B3F40 003B0EA0 38 60 FF FF */ li r3, -1
/* 803B3F44 003B0EA4 4E 80 00 20 */ blr
/* 803B3F44 003B0EA4 4E 80 00 20 */ blr
lbl_803B3F48:
/* 803B3F48 003B0EA8 80 63 00 E8 */ lwz r3, 0xe8(r3)
/* 803B3F4C 003B0EAC 4E 80 00 20 */ blr
/* 803B3F4C 003B0EAC 4E 80 00 20 */ blr
.global hwVoiceInStartup
hwVoiceInStartup:
@ -1267,4 +1332,4 @@ hwVoiceInStartup:
/* 803B3F60 003B0EC0 20 00 00 01 */ subfic r0, r0, 1
/* 803B3F64 003B0EC4 7C 00 00 34 */ cntlzw r0, r0
/* 803B3F68 003B0EC8 54 03 D9 7E */ srwi r3, r0, 5
/* 803B3F6C 003B0ECC 4E 80 00 20 */ blr
/* 803B3F6C 003B0ECC 4E 80 00 20 */ blr

View File

@ -1,4 +1,13 @@
.include "macros.inc"
.section .bss
aramQueueLo:
.skip 0x284
aramQueueHi:
.skip 0x284
aramStreamBuffers:
.skip 0x408
.section .sbss, "wa"
.balign 4
.global aramIdleStreamBuffers
@ -37,13 +46,13 @@ aramQueueCallback:
/* 803B3F84 003B0EE4 93 A1 00 14 */ stw r29, 0x14(r1)
/* 803B3F88 003B0EE8 93 81 00 10 */ stw r28, 0x10(r1)
/* 803B3F8C 003B0EEC 7C 7C 1B 78 */ mr r28, r3
/* 803B3F90 003B0EF0 3C 60 80 56 */ lis r3, lbl_80566F90@ha
/* 803B3F90 003B0EF0 3C 60 80 56 */ lis r3, aramQueueLo@ha
/* 803B3F94 003B0EF4 80 1C 00 0C */ lwz r0, 0xc(r28)
/* 803B3F98 003B0EF8 3B E3 6F 90 */ addi r31, r3, lbl_80566F90@l
/* 803B3F98 003B0EF8 3B E3 6F 90 */ addi r31, r3, aramQueueLo@l
/* 803B3F9C 003B0EFC 28 00 00 01 */ cmplwi r0, 1
/* 803B3FA0 003B0F00 40 82 00 0C */ bne lbl_803B3FAC
/* 803B3FA4 003B0F04 3C 60 80 56 */ lis r3, lbl_80567214@ha
/* 803B3FA8 003B0F08 3B E3 72 14 */ addi r31, r3, lbl_80567214@l
/* 803B3FA4 003B0F04 3C 60 80 56 */ lis r3, aramQueueHi@ha
/* 803B3FA8 003B0F08 3B E3 72 14 */ addi r31, r3, aramQueueHi@l
lbl_803B3FAC:
/* 803B3FAC 003B0F0C 3B A0 00 00 */ li r29, 0
/* 803B3FB0 003B0F10 7F FE FB 78 */ mr r30, r31
@ -87,12 +96,12 @@ aramUploadData:
/* 803B4034 003B0F94 7C FC 3B 78 */ mr r28, r7
/* 803B4038 003B0F98 7D 1D 43 78 */ mr r29, r8
/* 803B403C 003B0F9C 41 82 00 10 */ beq lbl_803B404C
/* 803B4040 003B0FA0 3C 60 80 56 */ lis r3, lbl_80567214@ha
/* 803B4044 003B0FA4 3B E3 72 14 */ addi r31, r3, lbl_80567214@l
/* 803B4040 003B0FA0 3C 60 80 56 */ lis r3, aramQueueHi@ha
/* 803B4044 003B0FA4 3B E3 72 14 */ addi r31, r3, aramQueueHi@l
/* 803B4048 003B0FA8 48 00 00 0C */ b lbl_803B4054
lbl_803B404C:
/* 803B404C 003B0FAC 3C 60 80 56 */ lis r3, lbl_80566F90@ha
/* 803B4050 003B0FB0 3B E3 6F 90 */ addi r31, r3, lbl_80566F90@l
/* 803B404C 003B0FAC 3C 60 80 56 */ lis r3, aramQueueLo@ha
/* 803B4050 003B0FB0 3B E3 6F 90 */ addi r31, r3, aramQueueLo@l
lbl_803B4054:
/* 803B4054 003B0FB4 4B FC D6 0D */ bl OSDisableInterrupts
/* 803B4058 003B0FB8 88 1F 02 81 */ lbz r0, 0x281(r31)
@ -201,8 +210,8 @@ lbl_803B41D4:
.global aramSyncTransferQueue
aramSyncTransferQueue:
/* 803B41EC 003B114C 3C 60 80 56 */ lis r3, lbl_80566F90@ha
/* 803B41F0 003B1150 38 63 6F 90 */ addi r3, r3, lbl_80566F90@l
/* 803B41EC 003B114C 3C 60 80 56 */ lis r3, aramQueueLo@ha
/* 803B41F0 003B1150 38 63 6F 90 */ addi r3, r3, aramQueueLo@l
lbl_803B41F4:
/* 803B41F4 003B1154 88 03 02 81 */ lbz r0, 0x281(r3)
/* 803B41F8 003B1158 28 00 00 00 */ cmplwi r0, 0
@ -275,12 +284,12 @@ lbl_803B4240:
/* 803B42E8 003B1248 7F 83 E3 78 */ mr r3, r28
/* 803B42EC 003B124C 38 80 05 00 */ li r4, 0x500
/* 803B42F0 003B1250 4B FC A7 C1 */ bl DCFlushRange
/* 803B42F4 003B1254 3C 80 80 56 */ lis r4, lbl_80566F90@ha
/* 803B42F8 003B1258 3C 60 80 56 */ lis r3, lbl_80567214@ha
/* 803B42FC 003B125C 3B E4 6F 90 */ addi r31, r4, lbl_80566F90@l
/* 803B42F4 003B1254 3C 80 80 56 */ lis r4, aramQueueLo@ha
/* 803B42F8 003B1258 3C 60 80 56 */ lis r3, aramQueueHi@ha
/* 803B42FC 003B125C 3B E4 6F 90 */ addi r31, r4, aramQueueLo@l
/* 803B4300 003B1260 38 00 00 00 */ li r0, 0
/* 803B4304 003B1264 98 1F 02 81 */ stb r0, 0x281(r31)
/* 803B4308 003B1268 38 63 72 14 */ addi r3, r3, lbl_80567214@l
/* 803B4308 003B1268 38 63 72 14 */ addi r3, r3, aramQueueHi@l
/* 803B430C 003B126C 98 1F 02 80 */ stb r0, 0x280(r31)
/* 803B4310 003B1270 98 03 02 81 */ stb r0, 0x281(r3)
/* 803B4314 003B1274 98 03 02 80 */ stb r0, 0x280(r3)
@ -465,9 +474,9 @@ sub_803b456c:
/* 803B4598 003B14F8 40 82 01 A0 */ bne lbl_803B4738
/* 803B459C 003B14FC 7E E4 BB 78 */ mr r4, r23
/* 803B45A0 003B1500 4B FC A5 11 */ bl DCFlushRange
/* 803B45A4 003B1504 3C 60 80 56 */ lis r3, lbl_80566F90@ha
/* 803B45A4 003B1504 3C 60 80 56 */ lis r3, aramQueueLo@ha
/* 803B45A8 003B1508 83 CD AF A8 */ lwz r30, aramWrite@sda21(r13)
/* 803B45AC 003B150C 3B 83 6F 90 */ addi r28, r3, lbl_80566F90@l
/* 803B45AC 003B150C 3B 83 6F 90 */ addi r28, r3, aramQueueLo@l
lbl_803B45B0:
/* 803B45B0 003B1510 4B FC D0 B1 */ bl OSDisableInterrupts
/* 803B45B4 003B1514 88 1C 02 81 */ lbz r0, 0x281(r28)
@ -570,9 +579,9 @@ lbl_803B4724:
/* 803B4730 003B1690 90 0D AF A8 */ stw r0, aramWrite@sda21(r13)
/* 803B4734 003B1694 48 00 01 DC */ b lbl_803B4910
lbl_803B4738:
/* 803B4738 003B1698 3C 80 80 56 */ lis r4, lbl_80566F90@ha
/* 803B4738 003B1698 3C 80 80 56 */ lis r4, aramQueueLo@ha
/* 803B473C 003B169C 3C 60 80 3B */ lis r3, aramQueueCallback@ha
/* 803B4740 003B16A0 3B C4 6F 90 */ addi r30, r4, lbl_80566F90@l
/* 803B4740 003B16A0 3B C4 6F 90 */ addi r30, r4, aramQueueLo@l
/* 803B4744 003B16A4 3B E3 3F 70 */ addi r31, r3, aramQueueCallback@l
/* 803B4748 003B16A8 48 00 01 BC */ b lbl_803B4904
lbl_803B474C:
@ -713,9 +722,9 @@ sub_803b4928:
.global InitStreamBuffers
InitStreamBuffers:
/* 803B4940 003B18A0 3C 60 80 56 */ lis r3, lbl_80567498@ha
/* 803B4940 003B18A0 3C 60 80 56 */ lis r3, aramStreamBuffers@ha
/* 803B4944 003B18A4 38 80 00 00 */ li r4, 0
/* 803B4948 003B18A8 38 63 74 98 */ addi r3, r3, lbl_80567498@l
/* 803B4948 003B18A8 38 63 74 98 */ addi r3, r3, aramStreamBuffers@l
/* 803B494C 003B18AC 38 00 00 07 */ li r0, 7
/* 803B4950 003B18B0 90 8D AF 98 */ stw r4, aramUsedStreamBuffers@sda21(r13)
/* 803B4954 003B18B4 38 E3 00 10 */ addi r7, r3, 0x10
@ -742,9 +751,9 @@ lbl_803B4968:
/* 803B49A4 003B1904 90 07 00 60 */ stw r0, 0x60(r7)
/* 803B49A8 003B1908 38 E7 00 80 */ addi r7, r7, 0x80
/* 803B49AC 003B190C 42 00 FF BC */ bdnz lbl_803B4968
/* 803B49B0 003B1910 3C 60 80 56 */ lis r3, lbl_80567498@ha
/* 803B49B0 003B1910 3C 60 80 56 */ lis r3, aramStreamBuffers@ha
/* 803B49B4 003B1914 55 04 20 36 */ slwi r4, r8, 4
/* 803B49B8 003B1918 38 63 74 98 */ addi r3, r3, lbl_80567498@l
/* 803B49B8 003B1918 38 63 74 98 */ addi r3, r3, aramStreamBuffers@l
/* 803B49BC 003B191C 20 08 00 40 */ subfic r0, r8, 0x40
/* 803B49C0 003B1920 7C 63 22 14 */ add r3, r3, r4
/* 803B49C4 003B1924 7C 09 03 A6 */ mtctr r0
@ -756,9 +765,9 @@ lbl_803B49D0:
/* 803B49D8 003B1938 39 08 00 01 */ addi r8, r8, 1
/* 803B49DC 003B193C 42 00 FF F4 */ bdnz lbl_803B49D0
lbl_803B49E0:
/* 803B49E0 003B1940 3C 60 80 56 */ lis r3, lbl_80567498@ha
/* 803B49E0 003B1940 3C 60 80 56 */ lis r3, aramStreamBuffers@ha
/* 803B49E4 003B1944 80 0D AF AC */ lwz r0, aramTop@sda21(r13)
/* 803B49E8 003B1948 38 83 74 98 */ addi r4, r3, lbl_80567498@l
/* 803B49E8 003B1948 38 83 74 98 */ addi r4, r3, aramStreamBuffers@l
/* 803B49EC 003B194C 55 03 20 36 */ slwi r3, r8, 4
/* 803B49F0 003B1950 7C 64 1A 14 */ add r3, r4, r3
/* 803B49F4 003B1954 38 80 00 00 */ li r4, 0
@ -837,8 +846,8 @@ lbl_803B4AE0:
/* 803B4AE8 003B1A48 38 60 00 FF */ li r3, 0xff
/* 803B4AEC 003B1A4C 4E 80 00 20 */ blr
lbl_803B4AF0:
/* 803B4AF0 003B1A50 3C 60 80 56 */ lis r3, lbl_80567498@ha
/* 803B4AF4 003B1A54 38 03 74 98 */ addi r0, r3, lbl_80567498@l
/* 803B4AF0 003B1A50 3C 60 80 56 */ lis r3, aramStreamBuffers@ha
/* 803B4AF4 003B1A54 38 03 74 98 */ addi r0, r3, aramStreamBuffers@l
/* 803B4AF8 003B1A58 7C 00 28 50 */ subf r0, r0, r5
/* 803B4AFC 003B1A5C 7C 00 26 70 */ srawi r0, r0, 4
/* 803B4B00 003B1A60 7C 00 01 94 */ addze r0, r0
@ -849,25 +858,25 @@ lbl_803B4AF0:
aramGetStreamBufferAddress:
/* 803B4B0C 003B1A6C 28 04 00 00 */ cmplwi r4, 0
/* 803B4B10 003B1A70 41 82 00 1C */ beq lbl_803B4B2C
/* 803B4B14 003B1A74 3C A0 80 56 */ lis r5, lbl_80567498@ha
/* 803B4B14 003B1A74 3C A0 80 56 */ lis r5, aramStreamBuffers@ha
/* 803B4B18 003B1A78 54 60 25 36 */ rlwinm r0, r3, 4, 0x14, 0x1b
/* 803B4B1C 003B1A7C 38 A5 74 98 */ addi r5, r5, lbl_80567498@l
/* 803B4B1C 003B1A7C 38 A5 74 98 */ addi r5, r5, aramStreamBuffers@l
/* 803B4B20 003B1A80 7C A5 02 14 */ add r5, r5, r0
/* 803B4B24 003B1A84 80 05 00 08 */ lwz r0, 8(r5)
/* 803B4B28 003B1A88 90 04 00 00 */ stw r0, 0(r4)
lbl_803B4B2C:
/* 803B4B2C 003B1A8C 3C 80 80 56 */ lis r4, lbl_80567498@ha
/* 803B4B2C 003B1A8C 3C 80 80 56 */ lis r4, aramStreamBuffers@ha
/* 803B4B30 003B1A90 54 60 25 36 */ rlwinm r0, r3, 4, 0x14, 0x1b
/* 803B4B34 003B1A94 38 64 74 98 */ addi r3, r4, lbl_80567498@l
/* 803B4B34 003B1A94 38 64 74 98 */ addi r3, r4, aramStreamBuffers@l
/* 803B4B38 003B1A98 7C 63 02 14 */ add r3, r3, r0
/* 803B4B3C 003B1A9C 80 63 00 04 */ lwz r3, 4(r3)
/* 803B4B40 003B1AA0 4E 80 00 20 */ blr
.global aramFreeStreamBuffer
aramFreeStreamBuffer:
/* 803B4B44 003B1AA4 3C 80 80 56 */ lis r4, lbl_80567498@ha
/* 803B4B44 003B1AA4 3C 80 80 56 */ lis r4, aramStreamBuffers@ha
/* 803B4B48 003B1AA8 54 63 25 36 */ rlwinm r3, r3, 4, 0x14, 0x1b
/* 803B4B4C 003B1AAC 38 04 74 98 */ addi r0, r4, lbl_80567498@l
/* 803B4B4C 003B1AAC 38 04 74 98 */ addi r0, r4, aramStreamBuffers@l
/* 803B4B50 003B1AB0 80 AD AF 98 */ lwz r5, aramUsedStreamBuffers@sda21(r13)
/* 803B4B54 003B1AB4 38 C0 00 00 */ li r6, 0
/* 803B4B58 003B1AB8 7C 80 1A 14 */ add r4, r0, r3

View File

@ -1,5 +1,11 @@
.include "macros.inc"
.section .bss
dsp_task:
.skip 0x60
dram_image:
.skip 0x2008
.section .sbss, "wa"
.balign 4
.global oldState

View File

@ -1,5 +1,15 @@
.include "macros.inc"
.section .bss
.global gs
gs:
.skip 0x600
.global dspStudio
dspStudio:
.skip 0x5E0
"voices$217":
.skip 0x100
.section .sbss
.balign 4
.global dspARAMZeroBuffer

View File

@ -4,9 +4,148 @@
.global lbl_803F3FC0
lbl_803F3FC0:
.incbin "baserom.dol", 0x3F0FC0, 0x228
.section .text, "ax"
# ROM: 0x3F0FC0
.4byte 0
.4byte 0x380000FD
.4byte 0x3920015F
.4byte 0x39D001AD
.4byte 0x3A380175
.4byte 0x3A9400FE
.4byte 0x3AD801B4
.4byte 0x3B12011F
.4byte 0x3B40018D
.4byte 0x3B7401F0
.4byte 0x3B970123
.4byte 0x3BB70174
.4byte 0x3BDA01BF
.4byte 0x3C008104
.4byte 0x3C158126
.4byte 0x3C2C017B
.4byte 0x3C4401B8
.4byte 0x3C5E01A8
.4byte 0x3C7901DF
.4byte 0x3C8B4111
.4byte 0x3C9A8120
.4byte 0x3CAAC13F
.4byte 0x3CBBC177
.4byte 0x3CCDC18A
.4byte 0x3CE081B5
.4byte 0x3CF441F1
.4byte 0x3D046108
.4byte 0x3D0F2120
.4byte 0x3D1A412A
.4byte 0x3D25C140
.4byte 0x3D31E159
.4byte 0x3D3E617F
.4byte 0x3D4B4197
.4byte 0x3D58A1B7
.4byte 0x3D6681C5
.4byte 0x3D74E1F4
.4byte 0x3D81D0FE
.4byte 0x3D897113
.4byte 0x3D91511E
.4byte 0x3D99712D
.4byte 0x3DA1C143
.4byte 0x3DAA514F
.4byte 0x3DB32160
.4byte 0x3DBC417F
.4byte 0x3DC5918A
.4byte 0x3DCF2171
.4byte 0x3DD8F1D4
.4byte 0x3DE301A8
.4byte 0x3DED51F8
.4byte 0x3DF7E1B9
.4byte 0x3E01611C
.4byte 0x3E06E8F3
.4byte 0x3E0C9928
.4byte 0x3E126916
.4byte 0x3E185943
.4byte 0x3E1E7147
.4byte 0x3E24A16A
.4byte 0x3E2B0143
.4byte 0x3E31797D
.4byte 0x3E38198F
.4byte 0x3E3EE17A
.4byte 0x3E45C183
.4byte 0x3E4CD185
.4byte 0x3E53F9A5
.4byte 0x3E5B51BD
.4byte 0x3E62C9D1
.4byte 0x3E6A69BE
.4byte 0x3E7229E9
.4byte 0x3E7A11ED
.4byte 0x3E811106
.4byte 0x3E852913
.4byte 0x3E89591D
.4byte 0x3E8D9924
.4byte 0x3E91ED18
.4byte 0x3E965929
.4byte 0x3E9AD539
.4byte 0x3E9F6534
.4byte 0x3EA4093E
.4byte 0x3EA8C155
.4byte 0x3EAD9168
.4byte 0x3EB27158
.4byte 0x3EB76966
.4byte 0x3EBC7582
.4byte 0x3EC19589
.4byte 0x3EC6CD8E
.4byte 0x3ECC19A0
.4byte 0x3ED1799E
.4byte 0x3ED6F1BB
.4byte 0x3EDC7DC3
.4byte 0x3EE221C9
.4byte 0x3EE7DDCA
.4byte 0x3EEDADDA
.4byte 0x3EF395E6
.4byte 0x3EF991FF
.4byte 0x3EFFA5F4
.4byte 0x3F02EB0B
.4byte 0x3F060B0B
.4byte 0x3F093911
.4byte 0x3F0C7315
.4byte 0x3F0FB928
.4byte 0x3F130B28
.4byte 0x3F166927
.4byte 0x3F19D335
.4byte 0x3F1D4941
.4byte 0x3F20CD42
.4byte 0x3F245B4B
.4byte 0x3F27F951
.4byte 0x3F2BA15E
.4byte 0x3F2F5760
.4byte 0x3F331B69
.4byte 0x3F36EB70
.4byte 0x3F3AC97E
.4byte 0x3F3EB378
.4byte 0x3F42AB8A
.4byte 0x3F46B192
.4byte 0x3F4AC58F
.4byte 0x3F4EE59B
.4byte 0x3F5315A5
.4byte 0x3F5751AD
.4byte 0x3F5B9BBB
.4byte 0x3F5FF5C7
.4byte 0x3F645DC8
.4byte 0x3F68D1D9
.4byte 0x3F6D57DE
.4byte 0x3F71EBEA
.4byte 0x3F768BF4
.4byte 0x3F7B3DF3
.4byte 0x3F800000
.4byte 0x3F800000
.4byte 0
.4byte 0x3F3538EF
.4byte 0x3F800000
.4byte 0x3F800000
.4byte 0x3F133333
.4byte 0x3F3538EF
.4byte 0x3F800000
.4byte 0x3F800000
.4byte 0
.section .text, "ax"
.global salCalcVolume
salCalcVolume:
@ -459,4 +598,4 @@ lbl_803AE788:
/* 803AE7F0 003AB750 80 01 01 14 */ lwz r0, 0x114(r1)
/* 803AE7F4 003AB754 7C 08 03 A6 */ mtlr r0
/* 803AE7F8 003AB758 38 21 01 10 */ addi r1, r1, 0x110
/* 803AE7FC 003AB75C 4E 80 00 20 */ blr
/* 803AE7FC 003AB75C 4E 80 00 20 */ blr

View File

@ -530,9 +530,9 @@ lbl_803AA474:
/* 803AA478 003A73D8 7C 00 20 40 */ cmplw r0, r4
/* 803AA47C 003A73DC 40 82 02 A8 */ bne lbl_803AA724
/* 803AA480 003A73E0 1C 06 00 0C */ mulli r0, r6, 0xc
/* 803AA484 003A73E4 3C 80 80 56 */ lis r4, lbl_8055EC60@ha
/* 803AA484 003A73E4 3C 80 80 56 */ lis r4, gs@ha
/* 803AA488 003A73E8 7C A3 2B 78 */ mr r3, r5
/* 803AA48C 003A73EC 38 84 EC 60 */ addi r4, r4, lbl_8055EC60@l
/* 803AA48C 003A73EC 38 84 EC 60 */ addi r4, r4, gs@l
/* 803AA490 003A73F0 7F E4 01 2E */ stwx r31, r4, r0
/* 803AA494 003A73F4 7C 84 02 14 */ add r4, r4, r0
/* 803AA498 003A73F8 93 64 00 08 */ stw r27, 8(r4)
@ -751,8 +751,8 @@ sndPopGroup:
/* 803AA764 003A76C4 39 61 00 20 */ addi r11, r1, 0x20
/* 803AA768 003A76C8 4B FD F3 11 */ bl _savegpr_26
/* 803AA76C 003A76CC A8 AD AF 18 */ lha r5, sp@sda21(r13)
/* 803AA770 003A76D0 3C 60 80 56 */ lis r3, lbl_8055EC60@ha
/* 803AA774 003A76D4 38 83 EC 60 */ addi r4, r3, lbl_8055EC60@l
/* 803AA770 003A76D0 3C 60 80 56 */ lis r3, gs@ha
/* 803AA774 003A76D4 38 83 EC 60 */ addi r4, r3, gs@l
/* 803AA778 003A76D8 38 65 FF FF */ addi r3, r5, -1
/* 803AA77C 003A76DC 7C 60 07 34 */ extsh r0, r3
/* 803AA780 003A76E0 B0 6D AF 18 */ sth r3, sp@sda21(r13)
@ -993,11 +993,11 @@ sub_803aaa94:
/* 803AAAA0 003A7A00 39 61 00 30 */ addi r11, r1, 0x30
/* 803AAAA4 003A7A04 4B FD EF D1 */ bl _savegpr_25
/* 803AAAA8 003A7A08 A8 0D AF 18 */ lha r0, sp@sda21(r13)
/* 803AAAAC 003A7A0C 3D 20 80 56 */ lis r9, lbl_8055EC60@ha
/* 803AAAAC 003A7A0C 3D 20 80 56 */ lis r9, gs@ha
/* 803AAAB0 003A7A10 7C BD 2B 78 */ mr r29, r5
/* 803AAAB4 003A7A14 7C DE 33 78 */ mr r30, r6
/* 803AAAB8 003A7A18 7C 7C 1B 78 */ mr r28, r3
/* 803AAABC 003A7A1C 39 29 EC 60 */ addi r9, r9, lbl_8055EC60@l
/* 803AAABC 003A7A1C 39 29 EC 60 */ addi r9, r9, gs@l
/* 803AAAC0 003A7A20 7D 1F 43 78 */ mr r31, r8
/* 803AAAC4 003A7A24 54 65 04 3E */ clrlwi r5, r3, 0x10
/* 803AAAC8 003A7A28 38 C0 00 00 */ li r6, 0
@ -1010,8 +1010,8 @@ lbl_803AAAD8:
/* 803AAAE0 003A7A40 7C 05 00 40 */ cmplw r5, r0
/* 803AAAE4 003A7A44 40 82 00 D4 */ bne lbl_803AABB8
/* 803AAAE8 003A7A48 1C A6 00 0C */ mulli r5, r6, 0xc
/* 803AAAEC 003A7A4C 3C 60 80 56 */ lis r3, lbl_8055EC60@ha
/* 803AAAF0 003A7A50 38 63 EC 60 */ addi r3, r3, lbl_8055EC60@l
/* 803AAAEC 003A7A4C 3C 60 80 56 */ lis r3, gs@ha
/* 803AAAF0 003A7A50 38 63 EC 60 */ addi r3, r3, gs@l
/* 803AAAF4 003A7A54 7C C3 28 2E */ lwzx r6, r3, r5
/* 803AAAF8 003A7A58 A0 06 00 06 */ lhz r0, 6(r6)
/* 803AAAFC 003A7A5C 28 00 00 00 */ cmplwi r0, 0
@ -1089,11 +1089,11 @@ sndSeqPlayEx:
/* 803AABEC 003A7B4C 39 61 00 30 */ addi r11, r1, 0x30
/* 803AABF0 003A7B50 4B FD EE 85 */ bl _savegpr_25
/* 803AABF4 003A7B54 A8 0D AF 18 */ lha r0, sp@sda21(r13)
/* 803AABF8 003A7B58 3D 00 80 56 */ lis r8, lbl_8055EC60@ha
/* 803AABF8 003A7B58 3D 00 80 56 */ lis r8, gs@ha
/* 803AABFC 003A7B5C 7C BD 2B 78 */ mr r29, r5
/* 803AAC00 003A7B60 7C DE 33 78 */ mr r30, r6
/* 803AAC04 003A7B64 7C 7C 1B 78 */ mr r28, r3
/* 803AAC08 003A7B68 39 08 EC 60 */ addi r8, r8, lbl_8055EC60@l
/* 803AAC08 003A7B68 39 08 EC 60 */ addi r8, r8, gs@l
/* 803AAC0C 003A7B6C 7C FF 3B 78 */ mr r31, r7
/* 803AAC10 003A7B70 54 65 04 3E */ clrlwi r5, r3, 0x10
/* 803AAC14 003A7B74 38 C0 00 00 */ li r6, 0
@ -1106,8 +1106,8 @@ lbl_803AAC24:
/* 803AAC2C 003A7B8C 7C 05 00 40 */ cmplw r5, r0
/* 803AAC30 003A7B90 40 82 00 A0 */ bne lbl_803AACD0
/* 803AAC34 003A7B94 1C A6 00 0C */ mulli r5, r6, 0xc
/* 803AAC38 003A7B98 3C 60 80 56 */ lis r3, lbl_8055EC60@ha
/* 803AAC3C 003A7B9C 38 63 EC 60 */ addi r3, r3, lbl_8055EC60@l
/* 803AAC38 003A7B98 3C 60 80 56 */ lis r3, gs@ha
/* 803AAC3C 003A7B9C 38 63 EC 60 */ addi r3, r3, gs@l
/* 803AAC40 003A7BA0 7C C3 28 2E */ lwzx r6, r3, r5
/* 803AAC44 003A7BA4 A0 06 00 06 */ lhz r0, 6(r6)
/* 803AAC48 003A7BA8 28 00 00 00 */ cmplwi r0, 0

View File

@ -1,5 +1,16 @@
.include "macros.inc"
.section .bss
.global seqNote
seqNote:
.skip 0x1400
.global seqInstance
seqInstance:
.skip 0xC340
.global seqMIDIPriority
seqMIDIPriority:
.skip 0x100
.section .sbss
seq_next_id:
.skip 0x4
@ -17,14 +28,35 @@ seqPausedRoot:
.skip 0x4
seqActiveRoot:
.skip 0x4
.section .data, "wa"
.global lbl_803F2F88
lbl_803F2F88:
.incbin "baserom.dol", 0x3EFF88, 0x50
.section .text, "ax"
# ROM: 0x3EFF88
.4byte lbl_8039750C
.4byte lbl_8039753C
.4byte lbl_80397560
.4byte lbl_80397638
.4byte lbl_80397638
.4byte lbl_80397638
.4byte lbl_80397638
.4byte lbl_80397638
.4byte lbl_80397638
.4byte lbl_80397638
.4byte lbl_80397638
.4byte lbl_80397638
.4byte lbl_80397638
.4byte lbl_80397638
.4byte lbl_80397638
.4byte lbl_80397638
.4byte lbl_80397638
.4byte lbl_80397588
.4byte lbl_80397638
.4byte lbl_803975A0
.section .text, "ax"
.global seqGetPrivateId
seqGetPrivateId:
@ -38,7 +70,7 @@ lbl_80394D40:
/* 80394D48 00391CA8 40 82 00 10 */ bne lbl_80394D58
/* 80394D4C 00391CAC 88 64 00 09 */ lbz r3, 9(r4)
/* 80394D50 00391CB0 50 A3 00 00 */ rlwimi r3, r5, 0, 0, 0
/* 80394D54 00391CB4 4E 80 00 20 */ blr
/* 80394D54 00391CB4 4E 80 00 20 */ blr
lbl_80394D58:
/* 80394D58 00391CB8 80 84 00 00 */ lwz r4, 0(r4)
lbl_80394D5C:
@ -52,14 +84,14 @@ lbl_80394D6C:
/* 80394D74 00391CD4 40 82 00 10 */ bne lbl_80394D84
/* 80394D78 00391CD8 88 64 00 09 */ lbz r3, 9(r4)
/* 80394D7C 00391CDC 50 A3 00 00 */ rlwimi r3, r5, 0, 0, 0
/* 80394D80 00391CE0 4E 80 00 20 */ blr
/* 80394D80 00391CE0 4E 80 00 20 */ blr
lbl_80394D84:
/* 80394D84 00391CE4 80 84 00 00 */ lwz r4, 0(r4)
lbl_80394D88:
/* 80394D88 00391CE8 28 04 00 00 */ cmplwi r4, 0
/* 80394D8C 00391CEC 40 82 FF E0 */ bne lbl_80394D6C
/* 80394D90 00391CF0 38 60 FF FF */ li r3, -1
/* 80394D94 00391CF4 4E 80 00 20 */ blr
/* 80394D94 00391CF4 4E 80 00 20 */ blr
.global seqStartPlay
seqStartPlay:
@ -479,10 +511,10 @@ lbl_8039537C:
/* 8039538C 003922EC 3A F7 00 38 */ addi r23, r23, 0x38
/* 80395390 003922F0 41 80 FF B4 */ blt lbl_80395344
/* 80395394 003922F4 80 BC 00 00 */ lwz r5, 0(r28)
/* 80395398 003922F8 3C 60 80 55 */ lis r3, lbl_80550864@ha
/* 80395398 003922F8 3C 60 80 55 */ lis r3, synthTrackVolume@ha
/* 8039539C 003922FC 39 40 00 00 */ li r10, 0
/* 803953A0 00392300 38 00 00 10 */ li r0, 0x10
/* 803953A4 00392304 38 C3 08 64 */ addi r6, r3, lbl_80550864@l
/* 803953A4 00392304 38 C3 08 64 */ addi r6, r3, synthTrackVolume@l
/* 803953A8 00392308 7D 05 E2 14 */ add r8, r5, r28
/* 803953AC 0039230C 7F 67 DB 78 */ mr r7, r27
/* 803953B0 00392310 7F 69 DB 78 */ mr r9, r27
@ -594,10 +626,10 @@ lbl_80395510:
/* 80395528 00392488 28 1D 00 00 */ cmplwi r29, 0
/* 8039552C 0039248C 41 82 01 30 */ beq lbl_8039565C
/* 80395530 00392490 3C 80 00 01 */ lis r4, 0x0000FFFF@ha
/* 80395534 00392494 3C 60 80 55 */ lis r3, lbl_8054FD10@ha
/* 80395534 00392494 3C 60 80 55 */ lis r3, seqMIDIPriority@ha
/* 80395538 00392498 3B 80 00 00 */ li r28, 0
/* 8039553C 0039249C 3B C4 FF FF */ addi r30, r4, 0x0000FFFF@l
/* 80395540 003924A0 3B E3 FD 10 */ addi r31, r3, lbl_8054FD10@l
/* 80395540 003924A0 3B E3 FD 10 */ addi r31, r3, seqMIDIPriority@l
lbl_80395544:
/* 80395544 003924A4 80 0D AE 30 */ lwz r0, curSeqId@sda21(r13)
/* 80395548 003924A8 57 84 06 3E */ clrlwi r4, r28, 0x18
@ -675,10 +707,10 @@ lbl_8039565C:
/* 8039565C 003925BC 38 00 00 00 */ li r0, 0
/* 80395660 003925C0 2C 00 00 10 */ cmpwi r0, 0x10
/* 80395664 003925C4 40 80 00 5C */ bge lbl_803956C0
/* 80395668 003925C8 3C 80 80 55 */ lis r4, lbl_8054FD10@ha
/* 80395668 003925C8 3C 80 80 55 */ lis r4, seqMIDIPriority@ha
/* 8039566C 003925CC 3C 60 00 01 */ lis r3, 0x0000FFFF@ha
/* 80395670 003925D0 57 45 28 34 */ slwi r5, r26, 5
/* 80395674 003925D4 38 84 FD 10 */ addi r4, r4, lbl_8054FD10@l
/* 80395674 003925D4 38 84 FD 10 */ addi r4, r4, seqMIDIPriority@l
/* 80395678 003925D8 38 03 FF FF */ addi r0, r3, 0x0000FFFF@l
/* 8039567C 003925DC 7C 64 2A 14 */ add r3, r4, r5
/* 80395680 003925E0 B0 03 00 00 */ sth r0, 0(r3)
@ -803,8 +835,8 @@ lbl_80395824:
/* 80395828 00392788 28 00 FF FF */ cmplwi r0, 0xffff
/* 8039582C 0039278C 41 82 FF 94 */ beq lbl_803957C0
/* 80395830 00392790 1C 1A 18 68 */ mulli r0, r26, 0x1868
/* 80395834 00392794 3C 80 80 54 */ lis r4, lbl_805439D0@ha
/* 80395838 00392798 38 84 39 D0 */ addi r4, r4, lbl_805439D0@l
/* 80395834 00392794 3C 80 80 54 */ lis r4, seqInstance@ha
/* 80395838 00392798 38 84 39 D0 */ addi r4, r4, seqInstance@l
/* 8039583C 0039279C 7C 84 02 14 */ add r4, r4, r0
/* 80395840 003927A0 90 64 00 0C */ stw r3, 0xc(r4)
lbl_80395844:
@ -813,7 +845,7 @@ lbl_80395844:
/* 8039584C 003927AC 80 01 00 44 */ lwz r0, 0x44(r1)
/* 80395850 003927B0 7C 08 03 A6 */ mtlr r0
/* 80395854 003927B4 38 21 00 40 */ addi r1, r1, 0x40
/* 80395858 003927B8 4E 80 00 20 */ blr
/* 80395858 003927B8 4E 80 00 20 */ blr
.global StartPause
StartPause:
@ -845,7 +877,7 @@ lbl_803958A8:
/* 803958B0 00392810 90 83 00 04 */ stw r4, 4(r3)
/* 803958B4 00392814 90 6D AE 40 */ stw r3, seqPausedRoot@sda21(r13)
/* 803958B8 00392818 98 03 00 08 */ stb r0, 8(r3)
/* 803958BC 0039281C 4E 80 00 20 */ blr
/* 803958BC 0039281C 4E 80 00 20 */ blr
.global seqPause
seqPause:
@ -893,8 +925,8 @@ lbl_8039593C:
/* 80395948 003928A8 54 80 00 01 */ rlwinm. r0, r4, 0, 0, 0
/* 8039594C 003928AC 40 82 01 A4 */ bne lbl_80395AF0
/* 80395950 003928B0 1C 84 18 68 */ mulli r4, r4, 0x1868
/* 80395954 003928B4 3C 60 80 54 */ lis r3, lbl_805439D0@ha
/* 80395958 003928B8 38 03 39 D0 */ addi r0, r3, lbl_805439D0@l
/* 80395954 003928B4 3C 60 80 54 */ lis r3, seqInstance@ha
/* 80395958 003928B8 38 03 39 D0 */ addi r0, r3, seqInstance@l
/* 8039595C 003928BC 7F E0 22 14 */ add r31, r0, r4
/* 80395960 003928C0 88 1F 00 08 */ lbz r0, 8(r31)
/* 80395964 003928C4 28 00 00 01 */ cmplwi r0, 1
@ -1018,9 +1050,9 @@ lbl_80395ADC:
/* 80395AEC 00392A4C 48 00 00 30 */ b lbl_80395B1C
lbl_80395AF0:
/* 80395AF0 00392A50 54 80 00 7E */ clrlwi r0, r4, 1
/* 80395AF4 00392A54 3C 60 80 54 */ lis r3, lbl_805439D0@ha
/* 80395AF4 00392A54 3C 60 80 54 */ lis r3, seqInstance@ha
/* 80395AF8 00392A58 1C 80 18 68 */ mulli r4, r0, 0x1868
/* 80395AFC 00392A5C 38 03 39 D0 */ addi r0, r3, lbl_805439D0@l
/* 80395AFC 00392A5C 38 03 39 D0 */ addi r0, r3, seqInstance@l
/* 80395B00 00392A60 7C 60 22 14 */ add r3, r0, r4
/* 80395B04 00392A64 88 03 00 08 */ lbz r0, 8(r3)
/* 80395B08 00392A68 28 00 00 00 */ cmplwi r0, 0
@ -1036,7 +1068,7 @@ lbl_80395B1C:
/* 80395B2C 00392A8C 83 81 00 10 */ lwz r28, 0x10(r1)
/* 80395B30 00392A90 7C 08 03 A6 */ mtlr r0
/* 80395B34 00392A94 38 21 00 20 */ addi r1, r1, 0x20
/* 80395B38 00392A98 4E 80 00 20 */ blr
/* 80395B38 00392A98 4E 80 00 20 */ blr
.global seqStop
seqStop:
@ -1082,8 +1114,8 @@ lbl_80395BB0:
/* 80395BBC 00392B1C 54 80 00 01 */ rlwinm. r0, r4, 0, 0, 0
/* 80395BC0 00392B20 40 82 01 EC */ bne lbl_80395DAC
/* 80395BC4 00392B24 1F 64 18 68 */ mulli r27, r4, 0x1868
/* 80395BC8 00392B28 3C 60 80 54 */ lis r3, lbl_805439D0@ha
/* 80395BCC 00392B2C 38 03 39 D0 */ addi r0, r3, lbl_805439D0@l
/* 80395BC8 00392B28 3C 60 80 54 */ lis r3, seqInstance@ha
/* 80395BCC 00392B2C 38 03 39 D0 */ addi r0, r3, seqInstance@l
/* 80395BD0 00392B30 7F E0 DA 14 */ add r31, r0, r27
/* 80395BD4 00392B34 88 1F 00 08 */ lbz r0, 8(r31)
/* 80395BD8 00392B38 2C 00 00 02 */ cmpwi r0, 2
@ -1119,8 +1151,8 @@ lbl_80395C2C:
/* 80395C38 00392B98 3B 9C 00 04 */ addi r28, r28, 4
/* 80395C3C 00392B9C 28 1E 00 02 */ cmplwi r30, 2
/* 80395C40 00392BA0 41 80 FF D8 */ blt lbl_80395C18
/* 80395C44 00392BA4 3C 60 80 54 */ lis r3, lbl_805439D0@ha
/* 80395C48 00392BA8 38 03 39 D0 */ addi r0, r3, lbl_805439D0@l
/* 80395C44 00392BA4 3C 60 80 54 */ lis r3, seqInstance@ha
/* 80395C48 00392BA8 38 03 39 D0 */ addi r0, r3, seqInstance@l
/* 80395C4C 00392BAC 7F 60 DA 14 */ add r27, r0, r27
/* 80395C50 00392BB0 87 9B 0E 6C */ lwzu r28, 0xe6c(r27)
/* 80395C54 00392BB4 48 00 00 10 */ b lbl_80395C64
@ -1229,9 +1261,9 @@ lbl_80395D94:
/* 80395DA8 00392D08 48 00 00 2C */ b lbl_80395DD4
lbl_80395DAC:
/* 80395DAC 00392D0C 54 80 00 7E */ clrlwi r0, r4, 1
/* 80395DB0 00392D10 3C 60 80 54 */ lis r3, lbl_805439D0@ha
/* 80395DB0 00392D10 3C 60 80 54 */ lis r3, seqInstance@ha
/* 80395DB4 00392D14 1C 80 18 68 */ mulli r4, r0, 0x1868
/* 80395DB8 00392D18 38 03 39 D0 */ addi r0, r3, lbl_805439D0@l
/* 80395DB8 00392D18 38 03 39 D0 */ addi r0, r3, seqInstance@l
/* 80395DBC 00392D1C 7C 60 22 14 */ add r3, r0, r4
/* 80395DC0 00392D20 88 03 00 08 */ lbz r0, 8(r3)
/* 80395DC4 00392D24 28 00 00 00 */ cmplwi r0, 0
@ -1244,7 +1276,7 @@ lbl_80395DD4:
/* 80395DDC 00392D3C 80 01 00 24 */ lwz r0, 0x24(r1)
/* 80395DE0 00392D40 7C 08 03 A6 */ mtlr r0
/* 80395DE4 00392D44 38 21 00 20 */ addi r1, r1, 0x20
/* 80395DE8 00392D48 4E 80 00 20 */ blr
/* 80395DE8 00392D48 4E 80 00 20 */ blr
.global seqKillInstancesByGroupID
seqKillInstancesByGroupID:
@ -1289,7 +1321,7 @@ lbl_80395E58:
/* 80395E6C 00392DCC 83 A1 00 14 */ lwz r29, 0x14(r1)
/* 80395E70 00392DD0 7C 08 03 A6 */ mtlr r0
/* 80395E74 00392DD4 38 21 00 20 */ addi r1, r1, 0x20
/* 80395E78 00392DD8 4E 80 00 20 */ blr
/* 80395E78 00392DD8 4E 80 00 20 */ blr
.global seqSpeed
seqSpeed:
@ -1327,8 +1359,8 @@ lbl_80395EDC:
/* 80395EDC 00392E3C 54 A0 00 01 */ rlwinm. r0, r5, 0, 0, 0
/* 80395EE0 00392E40 40 82 00 58 */ bne lbl_80395F38
/* 80395EE4 00392E44 1C A5 18 68 */ mulli r5, r5, 0x1868
/* 80395EE8 00392E48 3C 60 80 54 */ lis r3, lbl_805439D0@ha
/* 80395EEC 00392E4C 38 03 39 D0 */ addi r0, r3, lbl_805439D0@l
/* 80395EE8 00392E48 3C 60 80 54 */ lis r3, seqInstance@ha
/* 80395EEC 00392E4C 38 03 39 D0 */ addi r0, r3, seqInstance@l
/* 80395EF0 00392E50 7C 60 2A 14 */ add r3, r0, r5
/* 80395EF4 00392E54 B0 83 15 1A */ sth r4, 0x151a(r3)
/* 80395EF8 00392E58 B0 83 15 52 */ sth r4, 0x1552(r3)
@ -1346,18 +1378,18 @@ lbl_80395EDC:
/* 80395F28 00392E88 B0 83 17 F2 */ sth r4, 0x17f2(r3)
/* 80395F2C 00392E8C B0 83 18 2A */ sth r4, 0x182a(r3)
/* 80395F30 00392E90 B0 83 18 62 */ sth r4, 0x1862(r3)
/* 80395F34 00392E94 4E 80 00 20 */ blr
/* 80395F34 00392E94 4E 80 00 20 */ blr
lbl_80395F38:
/* 80395F38 00392E98 54 A0 00 7E */ clrlwi r0, r5, 1
/* 80395F3C 00392E9C 3C 60 80 54 */ lis r3, lbl_805439D0@ha
/* 80395F3C 00392E9C 3C 60 80 54 */ lis r3, seqInstance@ha
/* 80395F40 00392EA0 1C A0 18 68 */ mulli r5, r0, 0x1868
/* 80395F44 00392EA4 38 03 39 D0 */ addi r0, r3, lbl_805439D0@l
/* 80395F44 00392EA4 38 03 39 D0 */ addi r0, r3, seqInstance@l
/* 80395F48 00392EA8 7C 60 2A 14 */ add r3, r0, r5
/* 80395F4C 00392EAC 88 03 0E DA */ lbz r0, 0xeda(r3)
/* 80395F50 00392EB0 60 00 00 20 */ ori r0, r0, 0x20
/* 80395F54 00392EB4 98 03 0E DA */ stb r0, 0xeda(r3)
/* 80395F58 00392EB8 B0 83 0E D8 */ sth r4, 0xed8(r3)
/* 80395F5C 00392EBC 4E 80 00 20 */ blr
/* 80395F5C 00392EBC 4E 80 00 20 */ blr
.global seqContinue
seqContinue:
@ -1395,12 +1427,12 @@ lbl_80395FC0:
/* 80395FC0 00392F20 54 80 00 01 */ rlwinm. r0, r4, 0, 0, 0
/* 80395FC4 00392F24 40 82 00 80 */ bne lbl_80396044
/* 80395FC8 00392F28 1C 84 18 68 */ mulli r4, r4, 0x1868
/* 80395FCC 00392F2C 3C 60 80 54 */ lis r3, lbl_805439D0@ha
/* 80395FD0 00392F30 38 03 39 D0 */ addi r0, r3, lbl_805439D0@l
/* 80395FCC 00392F2C 3C 60 80 54 */ lis r3, seqInstance@ha
/* 80395FD0 00392F30 38 03 39 D0 */ addi r0, r3, seqInstance@l
/* 80395FD4 00392F34 7C 80 22 14 */ add r4, r0, r4
/* 80395FD8 00392F38 88 04 00 08 */ lbz r0, 8(r4)
/* 80395FDC 00392F3C 28 00 00 02 */ cmplwi r0, 2
/* 80395FE0 00392F40 4C 82 00 20 */ bnelr
/* 80395FE0 00392F40 4C 82 00 20 */ bnelr
/* 80395FE4 00392F44 80 64 00 04 */ lwz r3, 4(r4)
/* 80395FE8 00392F48 28 03 00 00 */ cmplwi r3, 0
/* 80395FEC 00392F4C 41 82 00 10 */ beq lbl_80395FFC
@ -1428,17 +1460,17 @@ lbl_8039602C:
/* 80396034 00392F94 90 64 00 04 */ stw r3, 4(r4)
/* 80396038 00392F98 90 8D AE 44 */ stw r4, seqActiveRoot@sda21(r13)
/* 8039603C 00392F9C 98 04 00 08 */ stb r0, 8(r4)
/* 80396040 00392FA0 4E 80 00 20 */ blr
/* 80396040 00392FA0 4E 80 00 20 */ blr
lbl_80396044:
/* 80396044 00392FA4 54 80 00 7E */ clrlwi r0, r4, 1
/* 80396048 00392FA8 3C 60 80 54 */ lis r3, lbl_805439D0@ha
/* 80396048 00392FA8 3C 60 80 54 */ lis r3, seqInstance@ha
/* 8039604C 00392FAC 1C 00 18 68 */ mulli r0, r0, 0x1868
/* 80396050 00392FB0 38 63 39 D0 */ addi r3, r3, lbl_805439D0@l
/* 80396050 00392FB0 38 63 39 D0 */ addi r3, r3, seqInstance@l
/* 80396054 00392FB4 7C 63 02 14 */ add r3, r3, r0
/* 80396058 00392FB8 88 03 0E DA */ lbz r0, 0xeda(r3)
/* 8039605C 00392FBC 54 00 07 76 */ rlwinm r0, r0, 0, 0x1d, 0x1b
/* 80396060 00392FC0 98 03 0E DA */ stb r0, 0xeda(r3)
/* 80396064 00392FC4 4E 80 00 20 */ blr
/* 80396064 00392FC4 4E 80 00 20 */ blr
.global seqMute
seqMute:
@ -1475,28 +1507,28 @@ lbl_803960BC:
lbl_803960C8:
/* 803960C8 00393028 3C 06 00 01 */ addis r0, r6, 1
/* 803960CC 0039302C 28 00 FF FF */ cmplwi r0, 0xffff
/* 803960D0 00393030 4D 82 00 20 */ beqlr
/* 803960D0 00393030 4D 82 00 20 */ beqlr
/* 803960D4 00393034 54 C0 00 01 */ rlwinm. r0, r6, 0, 0, 0
/* 803960D8 00393038 40 82 00 20 */ bne lbl_803960F8
/* 803960DC 0039303C 1C C6 18 68 */ mulli r6, r6, 0x1868
/* 803960E0 00393040 3C 60 80 54 */ lis r3, lbl_805439D0@ha
/* 803960E4 00393044 38 03 39 D0 */ addi r0, r3, lbl_805439D0@l
/* 803960E0 00393040 3C 60 80 54 */ lis r3, seqInstance@ha
/* 803960E4 00393044 38 03 39 D0 */ addi r0, r3, seqInstance@l
/* 803960E8 00393048 7C 60 32 14 */ add r3, r0, r6
/* 803960EC 0039304C 90 83 01 1C */ stw r4, 0x11c(r3)
/* 803960F0 00393050 90 A3 01 20 */ stw r5, 0x120(r3)
/* 803960F4 00393054 4E 80 00 20 */ blr
/* 803960F4 00393054 4E 80 00 20 */ blr
lbl_803960F8:
/* 803960F8 00393058 54 C0 00 7E */ clrlwi r0, r6, 1
/* 803960FC 0039305C 3C 60 80 54 */ lis r3, lbl_805439D0@ha
/* 803960FC 0039305C 3C 60 80 54 */ lis r3, seqInstance@ha
/* 80396100 00393060 1C C0 18 68 */ mulli r6, r0, 0x1868
/* 80396104 00393064 38 03 39 D0 */ addi r0, r3, lbl_805439D0@l
/* 80396104 00393064 38 03 39 D0 */ addi r0, r3, seqInstance@l
/* 80396108 00393068 7C 60 32 14 */ add r3, r0, r6
/* 8039610C 0039306C 88 03 0E DA */ lbz r0, 0xeda(r3)
/* 80396110 00393070 60 00 00 10 */ ori r0, r0, 0x10
/* 80396114 00393074 98 03 0E DA */ stb r0, 0xeda(r3)
/* 80396118 00393078 90 83 0E D0 */ stw r4, 0xed0(r3)
/* 8039611C 0039307C 90 A3 0E D4 */ stw r5, 0xed4(r3)
/* 80396120 00393080 4E 80 00 20 */ blr
/* 80396120 00393080 4E 80 00 20 */ blr
.global seqVolume
seqVolume:
@ -1545,16 +1577,16 @@ lbl_803961A4:
/* 803961B0 00393110 54 60 00 01 */ rlwinm. r0, r3, 0, 0, 0
/* 803961B4 00393114 40 82 00 70 */ bne lbl_80396224
/* 803961B8 00393118 1F A3 18 68 */ mulli r29, r3, 0x1868
/* 803961BC 0039311C 3C 80 80 54 */ lis r4, lbl_805439D0@ha
/* 803961BC 0039311C 3C 80 80 54 */ lis r4, seqInstance@ha
/* 803961C0 00393120 7F C3 F3 78 */ mr r3, r30
/* 803961C4 00393124 38 04 39 D0 */ addi r0, r4, lbl_805439D0@l
/* 803961C4 00393124 38 04 39 D0 */ addi r0, r4, seqInstance@l
/* 803961C8 00393128 7C A0 EA 14 */ add r5, r0, r29
/* 803961CC 0039312C 7F E4 FB 78 */ mr r4, r31
/* 803961D0 00393130 88 A5 0E B0 */ lbz r5, 0xeb0(r5)
/* 803961D4 00393134 48 00 52 15 */ bl synthVolume
/* 803961D8 00393138 3C 60 80 54 */ lis r3, lbl_805439D0@ha
/* 803961D8 00393138 3C 60 80 54 */ lis r3, seqInstance@ha
/* 803961DC 0039313C 3B 60 00 00 */ li r27, 0
/* 803961E0 00393140 38 03 39 D0 */ addi r0, r3, lbl_805439D0@l
/* 803961E0 00393140 38 03 39 D0 */ addi r0, r3, seqInstance@l
/* 803961E4 00393144 7F 80 EA 14 */ add r28, r0, r29
/* 803961E8 00393148 3B BC 0E B0 */ addi r29, r28, 0xeb0
lbl_803961EC:
@ -1588,26 +1620,26 @@ lbl_80396244:
/* 8039624C 003931AC 48 00 00 68 */ b lbl_803962B4
lbl_80396250:
/* 80396250 003931B0 54 60 00 7E */ clrlwi r0, r3, 1
/* 80396254 003931B4 3C 60 80 54 */ lis r3, lbl_805439D0@ha
/* 80396254 003931B4 3C 60 80 54 */ lis r3, seqInstance@ha
/* 80396258 003931B8 1C 00 18 68 */ mulli r0, r0, 0x1868
/* 8039625C 003931BC 38 63 39 D0 */ addi r3, r3, lbl_805439D0@l
/* 8039625C 003931BC 38 63 39 D0 */ addi r3, r3, seqInstance@l
/* 80396260 003931C0 7C 63 02 14 */ add r3, r3, r0
/* 80396264 003931C4 9B C3 0E CC */ stb r30, 0xecc(r3)
/* 80396268 003931C8 48 00 00 70 */ b lbl_803962D8
lbl_8039626C:
/* 8039626C 003931CC 54 60 00 7E */ clrlwi r0, r3, 1
/* 80396270 003931D0 3C 60 80 54 */ lis r3, lbl_805439D0@ha
/* 80396270 003931D0 3C 60 80 54 */ lis r3, seqInstance@ha
/* 80396274 003931D4 1C 00 18 68 */ mulli r0, r0, 0x1868
/* 80396278 003931D8 38 80 00 00 */ li r4, 0
/* 8039627C 003931DC 38 63 39 D0 */ addi r3, r3, lbl_805439D0@l
/* 8039627C 003931DC 38 63 39 D0 */ addi r3, r3, seqInstance@l
/* 80396280 003931E0 7C 63 02 14 */ add r3, r3, r0
/* 80396284 003931E4 90 83 0E DC */ stw r4, 0xedc(r3)
/* 80396288 003931E8 48 00 00 50 */ b lbl_803962D8
lbl_8039628C:
/* 8039628C 003931EC 54 60 00 7E */ clrlwi r0, r3, 1
/* 80396290 003931F0 3C 60 80 54 */ lis r3, lbl_805439D0@ha
/* 80396290 003931F0 3C 60 80 54 */ lis r3, seqInstance@ha
/* 80396294 003931F4 1C 80 18 68 */ mulli r4, r0, 0x1868
/* 80396298 003931F8 38 03 39 D0 */ addi r0, r3, lbl_805439D0@l
/* 80396298 003931F8 38 03 39 D0 */ addi r0, r3, seqInstance@l
/* 8039629C 003931FC 7C 60 22 14 */ add r3, r0, r4
/* 803962A0 00393200 88 03 0E DA */ lbz r0, 0xeda(r3)
/* 803962A4 00393204 60 00 00 08 */ ori r0, r0, 8
@ -1616,9 +1648,9 @@ lbl_8039628C:
/* 803962B0 00393210 48 00 00 28 */ b lbl_803962D8
lbl_803962B4:
/* 803962B4 00393214 54 60 00 7E */ clrlwi r0, r3, 1
/* 803962B8 00393218 3C 60 80 54 */ lis r3, lbl_805439D0@ha
/* 803962B8 00393218 3C 60 80 54 */ lis r3, seqInstance@ha
/* 803962BC 0039321C 1C 80 18 68 */ mulli r4, r0, 0x1868
/* 803962C0 00393220 38 03 39 D0 */ addi r0, r3, lbl_805439D0@l
/* 803962C0 00393220 38 03 39 D0 */ addi r0, r3, seqInstance@l
/* 803962C4 00393224 7C 60 22 14 */ add r3, r0, r4
/* 803962C8 00393228 88 03 0E DA */ lbz r0, 0xeda(r3)
/* 803962CC 0039322C 60 00 00 80 */ ori r0, r0, 0x80
@ -1630,7 +1662,7 @@ lbl_803962D8:
/* 803962E0 00393240 80 01 00 24 */ lwz r0, 0x24(r1)
/* 803962E4 00393244 7C 08 03 A6 */ mtlr r0
/* 803962E8 00393248 38 21 00 20 */ addi r1, r1, 0x20
/* 803962EC 0039324C 4E 80 00 20 */ blr
/* 803962EC 0039324C 4E 80 00 20 */ blr
.global seqCrossFade
seqCrossFade:
@ -1679,10 +1711,10 @@ lbl_80396378:
/* 8039637C 003932DC 54 80 07 7B */ rlwinm. r0, r4, 0, 0x1d, 0x1d
/* 80396380 003932E0 41 82 00 8C */ beq lbl_8039640C
/* 80396384 003932E4 1C C3 18 68 */ mulli r6, r3, 0x1868
/* 80396388 003932E8 3C 60 80 54 */ lis r3, lbl_805439D0@ha
/* 80396388 003932E8 3C 60 80 54 */ lis r3, seqInstance@ha
/* 8039638C 003932EC 80 9F 00 00 */ lwz r4, 0(r31)
/* 80396390 003932F0 38 00 00 01 */ li r0, 1
/* 80396394 003932F4 38 A3 39 D0 */ addi r5, r3, lbl_805439D0@l
/* 80396394 003932F4 38 A3 39 D0 */ addi r5, r3, seqInstance@l
/* 80396398 003932F8 80 7F 00 04 */ lwz r3, 4(r31)
/* 8039639C 003932FC 7C A5 32 14 */ add r5, r5, r6
/* 803963A0 00393300 90 85 0E B4 */ stw r4, 0xeb4(r5)
@ -1760,17 +1792,17 @@ lbl_80396490:
/* 8039649C 003933FC 54 60 00 01 */ rlwinm. r0, r3, 0, 0, 0
/* 803964A0 00393400 40 82 00 74 */ bne lbl_80396514
/* 803964A4 00393404 1F 43 18 68 */ mulli r26, r3, 0x1868
/* 803964A8 00393408 3C 60 80 54 */ lis r3, lbl_805439D0@ha
/* 803964A8 00393408 3C 60 80 54 */ lis r3, seqInstance@ha
/* 803964AC 0039340C 7F C4 F3 78 */ mr r4, r30
/* 803964B0 00393410 38 03 39 D0 */ addi r0, r3, lbl_805439D0@l
/* 803964B0 00393410 38 03 39 D0 */ addi r0, r3, seqInstance@l
/* 803964B4 00393414 7C 60 D2 14 */ add r3, r0, r26
/* 803964B8 00393418 38 C0 00 02 */ li r6, 2
/* 803964BC 0039341C 88 A3 0E B0 */ lbz r5, 0xeb0(r3)
/* 803964C0 00393420 38 60 00 00 */ li r3, 0
/* 803964C4 00393424 48 00 4F 25 */ bl synthVolume
/* 803964C8 00393428 3C 60 80 54 */ lis r3, lbl_805439D0@ha
/* 803964C8 00393428 3C 60 80 54 */ lis r3, seqInstance@ha
/* 803964CC 0039342C 3B 60 00 00 */ li r27, 0
/* 803964D0 00393430 38 03 39 D0 */ addi r0, r3, lbl_805439D0@l
/* 803964D0 00393430 38 03 39 D0 */ addi r0, r3, seqInstance@l
/* 803964D4 00393434 7F 20 D2 14 */ add r25, r0, r26
/* 803964D8 00393438 3B 59 0E B0 */ addi r26, r25, 0xeb0
lbl_803964DC:
@ -1791,9 +1823,9 @@ lbl_80396500:
/* 80396510 00393470 48 00 02 98 */ b lbl_803967A8
lbl_80396514:
/* 80396514 00393474 54 60 00 7E */ clrlwi r0, r3, 1
/* 80396518 00393478 3C 60 80 54 */ lis r3, lbl_805439D0@ha
/* 80396518 00393478 3C 60 80 54 */ lis r3, seqInstance@ha
/* 8039651C 0039347C 1C 80 18 68 */ mulli r4, r0, 0x1868
/* 80396520 00393480 38 63 39 D0 */ addi r3, r3, lbl_805439D0@l
/* 80396520 00393480 38 63 39 D0 */ addi r3, r3, seqInstance@l
/* 80396524 00393484 38 00 00 00 */ li r0, 0
/* 80396528 00393488 7C 83 22 14 */ add r4, r3, r4
/* 8039652C 0039348C 88 64 0E DA */ lbz r3, 0xeda(r4)
@ -1840,17 +1872,17 @@ lbl_803965A4:
/* 803965B0 00393510 54 60 00 01 */ rlwinm. r0, r3, 0, 0, 0
/* 803965B4 00393514 40 82 00 74 */ bne lbl_80396628
/* 803965B8 00393518 1F 23 18 68 */ mulli r25, r3, 0x1868
/* 803965BC 0039351C 3C 60 80 54 */ lis r3, lbl_805439D0@ha
/* 803965BC 0039351C 3C 60 80 54 */ lis r3, seqInstance@ha
/* 803965C0 00393520 7F C4 F3 78 */ mr r4, r30
/* 803965C4 00393524 38 03 39 D0 */ addi r0, r3, lbl_805439D0@l
/* 803965C4 00393524 38 03 39 D0 */ addi r0, r3, seqInstance@l
/* 803965C8 00393528 7C 60 CA 14 */ add r3, r0, r25
/* 803965CC 0039352C 38 C0 00 03 */ li r6, 3
/* 803965D0 00393530 88 A3 0E B0 */ lbz r5, 0xeb0(r3)
/* 803965D4 00393534 38 60 00 00 */ li r3, 0
/* 803965D8 00393538 48 00 4E 11 */ bl synthVolume
/* 803965DC 0039353C 3C 60 80 54 */ lis r3, lbl_805439D0@ha
/* 803965DC 0039353C 3C 60 80 54 */ lis r3, seqInstance@ha
/* 803965E0 00393540 3B 60 00 00 */ li r27, 0
/* 803965E4 00393544 38 03 39 D0 */ addi r0, r3, lbl_805439D0@l
/* 803965E4 00393544 38 03 39 D0 */ addi r0, r3, seqInstance@l
/* 803965E8 00393548 7F 20 CA 14 */ add r25, r0, r25
/* 803965EC 0039354C 3B 59 0E B0 */ addi r26, r25, 0xeb0
lbl_803965F0:
@ -1871,9 +1903,9 @@ lbl_80396614:
/* 80396624 00393584 48 00 01 84 */ b lbl_803967A8
lbl_80396628:
/* 80396628 00393588 54 60 00 7E */ clrlwi r0, r3, 1
/* 8039662C 0039358C 3C 60 80 54 */ lis r3, lbl_805439D0@ha
/* 8039662C 0039358C 3C 60 80 54 */ lis r3, seqInstance@ha
/* 80396630 00393590 1C 80 18 68 */ mulli r4, r0, 0x1868
/* 80396634 00393594 38 63 39 D0 */ addi r3, r3, lbl_805439D0@l
/* 80396634 00393594 38 63 39 D0 */ addi r3, r3, seqInstance@l
/* 80396638 00393598 38 00 00 00 */ li r0, 0
/* 8039663C 0039359C 7C 83 22 14 */ add r4, r3, r4
/* 80396640 003935A0 88 64 0E DA */ lbz r3, 0xeda(r4)
@ -1918,17 +1950,17 @@ lbl_803966B0:
/* 803966BC 0039361C 54 60 00 01 */ rlwinm. r0, r3, 0, 0, 0
/* 803966C0 00393620 40 82 00 74 */ bne lbl_80396734
/* 803966C4 00393624 1F 23 18 68 */ mulli r25, r3, 0x1868
/* 803966C8 00393628 3C 60 80 54 */ lis r3, lbl_805439D0@ha
/* 803966C8 00393628 3C 60 80 54 */ lis r3, seqInstance@ha
/* 803966CC 0039362C 7F C4 F3 78 */ mr r4, r30
/* 803966D0 00393630 38 03 39 D0 */ addi r0, r3, lbl_805439D0@l
/* 803966D0 00393630 38 03 39 D0 */ addi r0, r3, seqInstance@l
/* 803966D4 00393634 7C 60 CA 14 */ add r3, r0, r25
/* 803966D8 00393638 38 C0 00 01 */ li r6, 1
/* 803966DC 0039363C 88 A3 0E B0 */ lbz r5, 0xeb0(r3)
/* 803966E0 00393640 38 60 00 00 */ li r3, 0
/* 803966E4 00393644 48 00 4D 05 */ bl synthVolume
/* 803966E8 00393648 3C 60 80 54 */ lis r3, lbl_805439D0@ha
/* 803966E8 00393648 3C 60 80 54 */ lis r3, seqInstance@ha
/* 803966EC 0039364C 3B 60 00 00 */ li r27, 0
/* 803966F0 00393650 38 03 39 D0 */ addi r0, r3, lbl_805439D0@l
/* 803966F0 00393650 38 03 39 D0 */ addi r0, r3, seqInstance@l
/* 803966F4 00393654 7F 20 CA 14 */ add r25, r0, r25
/* 803966F8 00393658 3B 59 0E B0 */ addi r26, r25, 0xeb0
lbl_803966FC:
@ -1949,10 +1981,10 @@ lbl_80396720:
/* 80396730 00393690 48 00 00 78 */ b lbl_803967A8
lbl_80396734:
/* 80396734 00393694 54 60 00 7E */ clrlwi r0, r3, 1
/* 80396738 00393698 3C 60 80 54 */ lis r3, lbl_805439D0@ha
/* 80396738 00393698 3C 60 80 54 */ lis r3, seqInstance@ha
/* 8039673C 0039369C 1C 00 18 68 */ mulli r0, r0, 0x1868
/* 80396740 003936A0 38 80 00 00 */ li r4, 0
/* 80396744 003936A4 38 63 39 D0 */ addi r3, r3, lbl_805439D0@l
/* 80396744 003936A4 38 63 39 D0 */ addi r3, r3, seqInstance@l
/* 80396748 003936A8 7C 63 02 14 */ add r3, r3, r0
/* 8039674C 003936AC 90 83 0E DC */ stw r4, 0xedc(r3)
/* 80396750 003936B0 48 00 00 58 */ b lbl_803967A8
@ -2057,8 +2089,8 @@ lbl_80396894:
/* 80396894 003937F4 54 80 00 01 */ rlwinm. r0, r4, 0, 0, 0
/* 80396898 003937F8 40 82 00 80 */ bne lbl_80396918
/* 8039689C 003937FC 1C 84 18 68 */ mulli r4, r4, 0x1868
/* 803968A0 00393800 3C 60 80 54 */ lis r3, lbl_805439D0@ha
/* 803968A4 00393804 38 03 39 D0 */ addi r0, r3, lbl_805439D0@l
/* 803968A0 00393800 3C 60 80 54 */ lis r3, seqInstance@ha
/* 803968A4 00393804 38 03 39 D0 */ addi r0, r3, seqInstance@l
/* 803968A8 00393808 7C 80 22 14 */ add r4, r0, r4
/* 803968AC 0039380C 88 04 00 08 */ lbz r0, 8(r4)
/* 803968B0 00393810 28 00 00 02 */ cmplwi r0, 2
@ -2093,9 +2125,9 @@ lbl_80396900:
/* 80396914 00393874 48 00 00 24 */ b lbl_80396938
lbl_80396918:
/* 80396918 00393878 54 80 00 7E */ clrlwi r0, r4, 1
/* 8039691C 0039387C 3C 60 80 54 */ lis r3, lbl_805439D0@ha
/* 8039691C 0039387C 3C 60 80 54 */ lis r3, seqInstance@ha
/* 80396920 00393880 1C 00 18 68 */ mulli r0, r0, 0x1868
/* 80396924 00393884 38 63 39 D0 */ addi r3, r3, lbl_805439D0@l
/* 80396924 00393884 38 63 39 D0 */ addi r3, r3, seqInstance@l
/* 80396928 00393888 7C 63 02 14 */ add r3, r3, r0
/* 8039692C 0039388C 88 03 0E DA */ lbz r0, 0xeda(r3)
/* 80396930 00393890 54 00 07 76 */ rlwinm r0, r0, 0, 0x1d, 0x1b
@ -2141,17 +2173,17 @@ lbl_803969A4:
/* 803969B0 00393910 54 60 00 01 */ rlwinm. r0, r3, 0, 0, 0
/* 803969B4 00393914 40 82 00 74 */ bne lbl_80396A28
/* 803969B8 00393918 1F 23 18 68 */ mulli r25, r3, 0x1868
/* 803969BC 0039391C 3C 80 80 54 */ lis r4, lbl_805439D0@ha
/* 803969BC 0039391C 3C 80 80 54 */ lis r4, seqInstance@ha
/* 803969C0 00393920 7F 83 E3 78 */ mr r3, r28
/* 803969C4 00393924 38 04 39 D0 */ addi r0, r4, lbl_805439D0@l
/* 803969C4 00393924 38 04 39 D0 */ addi r0, r4, seqInstance@l
/* 803969C8 00393928 7C A0 CA 14 */ add r5, r0, r25
/* 803969CC 0039392C 7F C4 F3 78 */ mr r4, r30
/* 803969D0 00393930 88 A5 0E B0 */ lbz r5, 0xeb0(r5)
/* 803969D4 00393934 38 C0 00 00 */ li r6, 0
/* 803969D8 00393938 48 00 4A 11 */ bl synthVolume
/* 803969DC 0039393C 3C 60 80 54 */ lis r3, lbl_805439D0@ha
/* 803969DC 0039393C 3C 60 80 54 */ lis r3, seqInstance@ha
/* 803969E0 00393940 3B 60 00 00 */ li r27, 0
/* 803969E4 00393944 38 03 39 D0 */ addi r0, r3, lbl_805439D0@l
/* 803969E4 00393944 38 03 39 D0 */ addi r0, r3, seqInstance@l
/* 803969E8 00393948 7F 20 CA 14 */ add r25, r0, r25
/* 803969EC 0039394C 3B 59 0E B0 */ addi r26, r25, 0xeb0
lbl_803969F0:
@ -2172,9 +2204,9 @@ lbl_80396A14:
/* 80396A24 00393984 48 00 00 1C */ b lbl_80396A40
lbl_80396A28:
/* 80396A28 00393988 54 60 00 7E */ clrlwi r0, r3, 1
/* 80396A2C 0039398C 3C 60 80 54 */ lis r3, lbl_805439D0@ha
/* 80396A2C 0039398C 3C 60 80 54 */ lis r3, seqInstance@ha
/* 80396A30 00393990 1C 00 18 68 */ mulli r0, r0, 0x1868
/* 80396A34 00393994 38 63 39 D0 */ addi r3, r3, lbl_805439D0@l
/* 80396A34 00393994 38 63 39 D0 */ addi r3, r3, seqInstance@l
/* 80396A38 00393998 7C 63 02 14 */ add r3, r3, r0
/* 80396A3C 0039399C 9B 83 0E CC */ stb r28, 0xecc(r3)
lbl_80396A40:
@ -2221,17 +2253,17 @@ lbl_80396AB8:
/* 80396AC4 00393A24 54 C0 00 01 */ rlwinm. r0, r6, 0, 0, 0
/* 80396AC8 00393A28 40 82 00 20 */ bne lbl_80396AE8
/* 80396ACC 00393A2C 1C C6 18 68 */ mulli r6, r6, 0x1868
/* 80396AD0 00393A30 3C 60 80 54 */ lis r3, lbl_805439D0@ha
/* 80396AD4 00393A34 38 03 39 D0 */ addi r0, r3, lbl_805439D0@l
/* 80396AD0 00393A30 3C 60 80 54 */ lis r3, seqInstance@ha
/* 80396AD4 00393A34 38 03 39 D0 */ addi r0, r3, seqInstance@l
/* 80396AD8 00393A38 7C 60 32 14 */ add r3, r0, r6
/* 80396ADC 00393A3C 90 83 01 1C */ stw r4, 0x11c(r3)
/* 80396AE0 00393A40 90 A3 01 20 */ stw r5, 0x120(r3)
/* 80396AE4 00393A44 48 00 00 2C */ b lbl_80396B10
lbl_80396AE8:
/* 80396AE8 00393A48 54 C0 00 7E */ clrlwi r0, r6, 1
/* 80396AEC 00393A4C 3C 60 80 54 */ lis r3, lbl_805439D0@ha
/* 80396AEC 00393A4C 3C 60 80 54 */ lis r3, seqInstance@ha
/* 80396AF0 00393A50 1C C0 18 68 */ mulli r6, r0, 0x1868
/* 80396AF4 00393A54 38 03 39 D0 */ addi r0, r3, lbl_805439D0@l
/* 80396AF4 00393A54 38 03 39 D0 */ addi r0, r3, seqInstance@l
/* 80396AF8 00393A58 7C 60 32 14 */ add r3, r0, r6
/* 80396AFC 00393A5C 88 03 0E DA */ lbz r0, 0xeda(r3)
/* 80396B00 00393A60 60 00 00 10 */ ori r0, r0, 0x10
@ -2278,8 +2310,8 @@ lbl_80396B84:
/* 80396B84 00393AE4 54 80 00 01 */ rlwinm. r0, r4, 0, 0, 0
/* 80396B88 00393AE8 40 82 00 58 */ bne lbl_80396BE0
/* 80396B8C 00393AEC 1C 84 18 68 */ mulli r4, r4, 0x1868
/* 80396B90 00393AF0 3C 60 80 54 */ lis r3, lbl_805439D0@ha
/* 80396B94 00393AF4 38 03 39 D0 */ addi r0, r3, lbl_805439D0@l
/* 80396B90 00393AF0 3C 60 80 54 */ lis r3, seqInstance@ha
/* 80396B94 00393AF4 38 03 39 D0 */ addi r0, r3, seqInstance@l
/* 80396B98 00393AF8 7C 60 22 14 */ add r3, r0, r4
/* 80396B9C 00393AFC B0 A3 15 1A */ sth r5, 0x151a(r3)
/* 80396BA0 00393B00 B0 A3 15 52 */ sth r5, 0x1552(r3)
@ -2300,9 +2332,9 @@ lbl_80396B84:
/* 80396BDC 00393B3C 48 00 00 78 */ b lbl_80396C54
lbl_80396BE0:
/* 80396BE0 00393B40 54 80 00 7E */ clrlwi r0, r4, 1
/* 80396BE4 00393B44 3C 60 80 54 */ lis r3, lbl_805439D0@ha
/* 80396BE4 00393B44 3C 60 80 54 */ lis r3, seqInstance@ha
/* 80396BE8 00393B48 1C 80 18 68 */ mulli r4, r0, 0x1868
/* 80396BEC 00393B4C 38 03 39 D0 */ addi r0, r3, lbl_805439D0@l
/* 80396BEC 00393B4C 38 03 39 D0 */ addi r0, r3, seqInstance@l
/* 80396BF0 00393B50 7C 60 22 14 */ add r3, r0, r4
/* 80396BF4 00393B54 88 03 0E DA */ lbz r0, 0xeda(r3)
/* 80396BF8 00393B58 60 00 00 20 */ ori r0, r0, 0x20
@ -2426,18 +2458,18 @@ lbl_80396D88:
/* 80396D94 00393CF4 54 80 00 01 */ rlwinm. r0, r4, 0, 0, 0
/* 80396D98 00393CF8 40 82 00 24 */ bne lbl_80396DBC
/* 80396D9C 00393CFC 1C A4 18 68 */ mulli r5, r4, 0x1868
/* 80396DA0 00393D00 3C 60 80 54 */ lis r3, lbl_805439D0@ha
/* 80396DA0 00393D00 3C 60 80 54 */ lis r3, seqInstance@ha
/* 80396DA4 00393D04 38 80 00 00 */ li r4, 0
/* 80396DA8 00393D08 38 03 39 D0 */ addi r0, r3, lbl_805439D0@l
/* 80396DA8 00393D08 38 03 39 D0 */ addi r0, r3, seqInstance@l
/* 80396DAC 00393D0C 7C 60 2A 14 */ add r3, r0, r5
/* 80396DB0 00393D10 90 83 01 1C */ stw r4, 0x11c(r3)
/* 80396DB4 00393D14 90 83 01 20 */ stw r4, 0x120(r3)
/* 80396DB8 00393D18 48 00 00 78 */ b lbl_80396E30
lbl_80396DBC:
/* 80396DBC 00393D1C 54 80 00 7E */ clrlwi r0, r4, 1
/* 80396DC0 00393D20 3C 60 80 54 */ lis r3, lbl_805439D0@ha
/* 80396DC0 00393D20 3C 60 80 54 */ lis r3, seqInstance@ha
/* 80396DC4 00393D24 1C 80 18 68 */ mulli r4, r0, 0x1868
/* 80396DC8 00393D28 38 63 39 D0 */ addi r3, r3, lbl_805439D0@l
/* 80396DC8 00393D28 38 63 39 D0 */ addi r3, r3, seqInstance@l
/* 80396DCC 00393D2C 38 00 00 00 */ li r0, 0
/* 80396DD0 00393D30 7C 83 22 14 */ add r4, r3, r4
/* 80396DD4 00393D34 88 64 0E DA */ lbz r3, 0xeda(r4)
@ -2470,7 +2502,7 @@ lbl_80396E30:
/* 80396E38 00393D98 80 01 00 54 */ lwz r0, 0x54(r1)
/* 80396E3C 00393D9C 7C 08 03 A6 */ mtlr r0
/* 80396E40 00393DA0 38 21 00 50 */ addi r1, r1, 0x50
/* 80396E44 00393DA4 4E 80 00 20 */ blr
/* 80396E44 00393DA4 4E 80 00 20 */ blr
.global GenerateNextTrackEvent
GenerateNextTrackEvent:
@ -2501,7 +2533,7 @@ lbl_80396E94:
/* 80396EA4 00393E04 38 00 00 00 */ li r0, 0
/* 80396EA8 00393E08 38 60 00 00 */ li r3, 0
/* 80396EAC 00393E0C 90 04 00 04 */ stw r0, 4(r4)
/* 80396EB0 00393E10 4E 80 00 20 */ blr
/* 80396EB0 00393E10 4E 80 00 20 */ blr
lbl_80396EB4:
/* 80396EB4 00393E14 28 00 FF FE */ cmplwi r0, 0xfffe
/* 80396EB8 00393E18 40 82 00 8C */ bne lbl_80396F44
@ -2515,7 +2547,7 @@ lbl_80396EB4:
/* 80396ED8 00393E38 38 00 00 00 */ li r0, 0
/* 80396EDC 00393E3C 38 60 00 00 */ li r3, 0
/* 80396EE0 00393E40 90 04 00 04 */ stw r0, 4(r4)
/* 80396EE4 00393E44 4E 80 00 20 */ blr
/* 80396EE4 00393E44 4E 80 00 20 */ blr
lbl_80396EE8:
/* 80396EE8 00393E48 7C 07 30 AE */ lbzx r0, r7, r6
/* 80396EEC 00393E4C 1C 00 00 38 */ mulli r0, r0, 0x38
@ -2526,7 +2558,7 @@ lbl_80396EE8:
/* 80396F00 00393E60 38 00 00 00 */ li r0, 0
/* 80396F04 00393E64 38 60 00 00 */ li r3, 0
/* 80396F08 00393E68 90 04 00 04 */ stw r0, 4(r4)
/* 80396F0C 00393E6C 4E 80 00 20 */ blr
/* 80396F0C 00393E6C 4E 80 00 20 */ blr
lbl_80396F10:
/* 80396F10 00393E70 38 00 00 03 */ li r0, 3
/* 80396F14 00393E74 7C A3 2B 78 */ mr r3, r5
@ -2540,7 +2572,7 @@ lbl_80396F10:
/* 80396F34 00393E94 1C 00 00 0C */ mulli r0, r0, 0xc
/* 80396F38 00393E98 7C 06 02 14 */ add r0, r6, r0
/* 80396F3C 00393E9C 90 04 00 04 */ stw r0, 4(r4)
/* 80396F40 00393EA0 4E 80 00 20 */ blr
/* 80396F40 00393EA0 4E 80 00 20 */ blr
lbl_80396F44:
/* 80396F44 00393EA4 38 00 00 04 */ li r0, 4
/* 80396F48 00393EA8 7C A3 2B 78 */ mr r3, r5
@ -2553,7 +2585,7 @@ lbl_80396F44:
/* 80396F64 00393EC4 80 A4 00 04 */ lwz r5, 4(r4)
/* 80396F68 00393EC8 38 05 00 0C */ addi r0, r5, 0xc
/* 80396F6C 00393ECC 90 04 00 04 */ stw r0, 4(r4)
/* 80396F70 00393ED0 4E 80 00 20 */ blr
/* 80396F70 00393ED0 4E 80 00 20 */ blr
lbl_80396F74:
/* 80396F74 00393ED4 81 48 00 18 */ lwz r10, 0x18(r8)
/* 80396F78 00393ED8 81 68 00 24 */ lwz r11, 0x24(r8)
@ -2619,10 +2651,10 @@ lbl_8039703C:
/* 8039704C 00393FAC 98 05 00 14 */ stb r0, 0x14(r5)
lbl_80397050:
/* 80397050 00393FB0 7C A3 2B 78 */ mr r3, r5
/* 80397054 00393FB4 4E 80 00 20 */ blr
/* 80397054 00393FB4 4E 80 00 20 */ blr
lbl_80397058:
/* 80397058 00393FB8 38 60 00 00 */ li r3, 0
/* 8039705C 00393FBC 4E 80 00 20 */ blr
/* 8039705C 00393FBC 4E 80 00 20 */ blr
.global HandleEvent
HandleEvent:
@ -2802,11 +2834,11 @@ lbl_803972A0:
/* 803972C8 00394228 28 09 00 FF */ cmplwi r9, 0xff
/* 803972CC 0039422C 41 82 00 CC */ beq lbl_80397398
/* 803972D0 00394230 80 0D AE 30 */ lwz r0, curSeqId@sda21(r13)
/* 803972D4 00394234 3C A0 80 55 */ lis r5, lbl_8054FD10@ha
/* 803972D4 00394234 3C A0 80 55 */ lis r5, seqMIDIPriority@ha
/* 803972D8 00394238 89 04 00 28 */ lbz r8, 0x28(r4)
/* 803972DC 0039423C 3C E0 00 01 */ lis r7, 0x0000FFFF@ha
/* 803972E0 00394240 54 06 28 34 */ slwi r6, r0, 5
/* 803972E4 00394244 38 05 FD 10 */ addi r0, r5, lbl_8054FD10@l
/* 803972E4 00394244 38 05 FD 10 */ addi r0, r5, seqMIDIPriority@l
/* 803972E8 00394248 28 08 00 09 */ cmplwi r8, 9
/* 803972EC 0039424C 38 E7 FF FF */ addi r7, r7, 0x0000FFFF@l
/* 803972F0 00394250 7C A0 32 14 */ add r5, r0, r6
@ -2878,11 +2910,11 @@ lbl_803973BC:
/* 803973EC 0039434C 48 00 00 EC */ b lbl_803974D8
lbl_803973F0:
/* 803973F0 00394350 80 8D AE 30 */ lwz r4, curSeqId@sda21(r13)
/* 803973F4 00394354 3C 60 80 55 */ lis r3, lbl_8054FD10@ha
/* 803973F4 00394354 3C 60 80 55 */ lis r3, seqMIDIPriority@ha
/* 803973F8 00394358 3C C0 00 01 */ lis r6, 0x0000FFFF@ha
/* 803973FC 0039435C 28 09 00 09 */ cmplwi r9, 9
/* 80397400 00394360 54 85 28 34 */ slwi r5, r4, 5
/* 80397404 00394364 38 83 FD 10 */ addi r4, r3, lbl_8054FD10@l
/* 80397404 00394364 38 83 FD 10 */ addi r4, r3, seqMIDIPriority@l
/* 80397408 00394368 38 C6 FF FF */ addi r6, r6, 0x0000FFFF@l
/* 8039740C 0039436C 55 23 0D FC */ rlwinm r3, r9, 1, 0x17, 0x1e
/* 80397410 00394370 7C 84 2A 14 */ add r4, r4, r5
@ -2950,7 +2982,8 @@ lbl_803974D8:
/* 803974FC 0039445C 38 84 2F 88 */ addi r4, r4, lbl_803F2F88@l
/* 80397500 00394460 7C 84 28 2E */ lwzx r4, r4, r5
/* 80397504 00394464 7C 89 03 A6 */ mtctr r4
/* 80397508 00394468 4E 80 04 20 */ bctr
/* 80397508 00394468 4E 80 04 20 */ bctr
lbl_8039750C:
/* 8039750C 0039446C 80 6D AE 38 */ lwz r3, cseq@sda21(r13)
/* 80397510 00394470 88 03 0E E0 */ lbz r0, 0xee0(r3)
/* 80397514 00394474 28 00 00 00 */ cmplwi r0, 0
@ -2963,31 +2996,35 @@ lbl_803974D8:
/* 80397530 00394490 38 00 00 00 */ li r0, 0
/* 80397534 00394494 98 03 0E E0 */ stb r0, 0xee0(r3)
/* 80397538 00394498 48 00 05 9C */ b lbl_80397AD4
lbl_8039753C:
/* 8039753C 0039449C 80 8D AE 30 */ lwz r4, curSeqId@sda21(r13)
/* 80397540 003944A0 3C 60 80 55 */ lis r3, lbl_8054FD10@ha
/* 80397544 003944A4 38 63 FD 10 */ addi r3, r3, lbl_8054FD10@l
/* 80397540 003944A0 3C 60 80 55 */ lis r3, seqMIDIPriority@ha
/* 80397544 003944A4 38 63 FD 10 */ addi r3, r3, seqMIDIPriority@l
/* 80397548 003944A8 54 05 06 7E */ clrlwi r5, r0, 0x19
/* 8039754C 003944AC 54 84 28 34 */ slwi r4, r4, 5
/* 80397550 003944B0 55 20 0D FC */ rlwinm r0, r9, 1, 0x17, 0x1e
/* 80397554 003944B4 7C 63 22 14 */ add r3, r3, r4
/* 80397558 003944B8 7C A3 03 2E */ sthx r5, r3, r0
/* 8039755C 003944BC 48 00 05 78 */ b lbl_80397AD4
lbl_80397560:
/* 80397560 003944C0 80 8D AE 30 */ lwz r4, curSeqId@sda21(r13)
/* 80397564 003944C4 54 05 06 7E */ clrlwi r5, r0, 0x19
/* 80397568 003944C8 3C 60 80 55 */ lis r3, lbl_8054FD10@ha
/* 80397568 003944C8 3C 60 80 55 */ lis r3, seqMIDIPriority@ha
/* 8039756C 003944CC 55 20 0D FC */ rlwinm r0, r9, 1, 0x17, 0x1e
/* 80397570 003944D0 54 84 28 34 */ slwi r4, r4, 5
/* 80397574 003944D4 38 A5 00 80 */ addi r5, r5, 0x80
/* 80397578 003944D8 38 63 FD 10 */ addi r3, r3, lbl_8054FD10@l
/* 80397578 003944D8 38 63 FD 10 */ addi r3, r3, seqMIDIPriority@l
/* 8039757C 003944DC 7C 63 22 14 */ add r3, r3, r4
/* 80397580 003944E0 7C A3 03 2E */ sthx r5, r3, r0
/* 80397584 003944E4 48 00 05 50 */ b lbl_80397AD4
lbl_80397588:
/* 80397588 003944E8 80 0D AE 30 */ lwz r0, curSeqId@sda21(r13)
/* 8039758C 003944EC 7D 23 4B 78 */ mr r3, r9
/* 80397590 003944F0 38 A0 00 00 */ li r5, 0
/* 80397594 003944F4 54 04 06 3E */ clrlwi r4, r0, 0x18
/* 80397598 003944F8 48 01 A2 85 */ bl inpResetMidiCtrl
/* 8039759C 003944FC 48 00 05 38 */ b lbl_80397AD4
lbl_803975A0:
/* 803975A0 00394500 3B A0 00 00 */ li r29, 0
/* 803975A4 00394504 7F BE EB 78 */ mr r30, r29
lbl_803975A8:
@ -3149,11 +3186,11 @@ lbl_803977C8:
/* 803977C8 00394728 28 1E 00 00 */ cmplwi r30, 0
/* 803977CC 0039472C 41 82 03 08 */ beq lbl_80397AD4
/* 803977D0 00394730 83 8D AE 38 */ lwz r28, cseq@sda21(r13)
/* 803977D4 00394734 3C E0 80 55 */ lis r7, lbl_80550AA4@ha
/* 803977D4 00394734 3C E0 80 55 */ lis r7, synthITDDefault@ha
/* 803977D8 00394738 8B 5F 00 15 */ lbz r26, 0x15(r31)
/* 803977DC 0039473C 39 00 00 00 */ li r8, 0
/* 803977E0 00394740 8B 7C 0E E1 */ lbz r27, 0xee1(r28)
/* 803977E4 00394744 39 67 0A A4 */ addi r11, r7, lbl_80550AA4@l
/* 803977E4 00394744 39 67 0A A4 */ addi r11, r7, synthITDDefault@l
/* 803977E8 00394748 89 4D AE 2C */ lbz r10, curFadeOutState@sda21(r13)
/* 803977EC 0039474C 7F BC D2 14 */ add r29, r28, r26
/* 803977F0 00394750 57 6C 0D FC */ rlwinm r12, r27, 1, 0x17, 0x1e
@ -3373,7 +3410,7 @@ lbl_80397ADC:
/* 80397AE4 00394A44 80 01 00 44 */ lwz r0, 0x44(r1)
/* 80397AE8 00394A48 7C 08 03 A6 */ mtlr r0
/* 80397AEC 00394A4C 38 21 00 40 */ addi r1, r1, 0x40
/* 80397AF0 00394A50 4E 80 00 20 */ blr
/* 80397AF0 00394A50 4E 80 00 20 */ blr
.global InitTrackEvents
InitTrackEvents:
@ -3489,7 +3526,7 @@ lbl_80397C54:
/* 80397C58 00394BB8 83 E1 00 0C */ lwz r31, 0xc(r1)
/* 80397C5C 00394BBC 7C 08 03 A6 */ mtlr r0
/* 80397C60 00394BC0 38 21 00 10 */ addi r1, r1, 0x10
/* 80397C64 00394BC4 4E 80 00 20 */ blr
/* 80397C64 00394BC4 4E 80 00 20 */ blr
.global HandleTrackEvents
HandleTrackEvents:
@ -3827,7 +3864,7 @@ lbl_803980E4:
/* 803980F4 00395054 80 01 00 64 */ lwz r0, 0x64(r1)
/* 803980F8 00395058 7C 08 03 A6 */ mtlr r0
/* 803980FC 0039505C 38 21 00 60 */ addi r1, r1, 0x60
/* 80398100 00395060 4E 80 00 20 */ blr
/* 80398100 00395060 4E 80 00 20 */ blr
.global sub_80398104
sub_80398104:
@ -4533,17 +4570,17 @@ lbl_80398AB8:
/* 80398AE8 00395A48 80 01 00 A4 */ lwz r0, 0xa4(r1)
/* 80398AEC 00395A4C 7C 08 03 A6 */ mtlr r0
/* 80398AF0 00395A50 38 21 00 A0 */ addi r1, r1, 0xa0
/* 80398AF4 00395A54 4E 80 00 20 */ blr
/* 80398AF4 00395A54 4E 80 00 20 */ blr
.global seqInit
seqInit:
/* 80398AF8 00395A58 38 C0 00 00 */ li r6, 0
/* 80398AFC 00395A5C 3C A0 80 54 */ lis r5, lbl_805439D0@ha
/* 80398B00 00395A60 3C 80 80 55 */ lis r4, lbl_8054FD10@ha
/* 80398AFC 00395A5C 3C A0 80 54 */ lis r5, seqInstance@ha
/* 80398B00 00395A60 3C 80 80 55 */ lis r4, seqMIDIPriority@ha
/* 80398B04 00395A64 3C 60 00 01 */ lis r3, 0x0000FFFF@ha
/* 80398B08 00395A68 38 00 00 08 */ li r0, 8
/* 80398B0C 00395A6C 38 E5 39 D0 */ addi r7, r5, lbl_805439D0@l
/* 80398B10 00395A70 39 04 FD 10 */ addi r8, r4, lbl_8054FD10@l
/* 80398B0C 00395A6C 38 E5 39 D0 */ addi r7, r5, seqInstance@l
/* 80398B10 00395A70 39 04 FD 10 */ addi r8, r4, seqMIDIPriority@l
/* 80398B14 00395A74 90 CD AE 44 */ stw r6, seqActiveRoot@sda21(r13)
/* 80398B18 00395A78 38 63 FF FF */ addi r3, r3, 0x0000FFFF@l
/* 80398B1C 00395A7C 39 20 00 00 */ li r9, 0
@ -4558,10 +4595,10 @@ lbl_80398B28:
/* 80398B3C 00395A9C 48 00 00 20 */ b lbl_80398B5C
lbl_80398B40:
/* 80398B40 00395AA0 38 09 FF FF */ addi r0, r9, -1
/* 80398B44 00395AA4 3C 80 80 54 */ lis r4, lbl_805439D0@ha
/* 80398B44 00395AA4 3C 80 80 54 */ lis r4, seqInstance@ha
/* 80398B48 00395AA8 1C A0 18 68 */ mulli r5, r0, 0x1868
/* 80398B4C 00395AAC 90 E7 E7 98 */ stw r7, -0x1868(r7)
/* 80398B50 00395AB0 38 04 39 D0 */ addi r0, r4, lbl_805439D0@l
/* 80398B50 00395AB0 38 04 39 D0 */ addi r0, r4, seqInstance@l
/* 80398B54 00395AB4 7C 00 2A 14 */ add r0, r0, r5
/* 80398B58 00395AB8 90 07 00 04 */ stw r0, 4(r7)
lbl_80398B5C:
@ -4589,10 +4626,10 @@ lbl_80398B5C:
/* 80398BB0 00395B10 39 08 00 20 */ addi r8, r8, 0x20
/* 80398BB4 00395B14 42 00 FF 74 */ bdnz lbl_80398B28
/* 80398BB8 00395B18 1C 89 18 68 */ mulli r4, r9, 0x1868
/* 80398BBC 00395B1C 3C A0 80 54 */ lis r5, lbl_805439D0@ha
/* 80398BC0 00395B20 3C 60 80 54 */ lis r3, lbl_805425D0@ha
/* 80398BC4 00395B24 38 A5 39 D0 */ addi r5, r5, lbl_805439D0@l
/* 80398BC8 00395B28 38 E3 25 D0 */ addi r7, r3, lbl_805425D0@l
/* 80398BBC 00395B1C 3C A0 80 54 */ lis r5, seqInstance@ha
/* 80398BC0 00395B20 3C 60 80 54 */ lis r3, seqNote@ha
/* 80398BC4 00395B24 38 A5 39 D0 */ addi r5, r5, seqInstance@l
/* 80398BC8 00395B28 38 E3 25 D0 */ addi r7, r3, seqNote@l
/* 80398BCC 00395B2C 38 00 00 20 */ li r0, 0x20
/* 80398BD0 00395B30 7C 65 22 14 */ add r3, r5, r4
/* 80398BD4 00395B34 7C C4 33 78 */ mr r4, r6
@ -4654,4 +4691,4 @@ lbl_80398C80:
/* 80398C90 00395BF0 38 00 00 00 */ li r0, 0
/* 80398C94 00395BF4 90 06 00 00 */ stw r0, 0(r6)
/* 80398C98 00395BF8 90 0D AE 28 */ stw r0, seq_next_id@sda21(r13)
/* 80398C9C 00395BFC 4E 80 00 20 */ blr
/* 80398C9C 00395BFC 4E 80 00 20 */ blr

View File

@ -113,9 +113,9 @@ sndSeqVolume:
.global seqGetMIDIPriority
seqGetMIDIPriority:
/* 8039C174 003990D4 3C A0 80 55 */ lis r5, lbl_8054FD10@ha
/* 8039C174 003990D4 3C A0 80 55 */ lis r5, seqMIDIPriority@ha
/* 8039C178 003990D8 54 66 2C F4 */ rlwinm r6, r3, 5, 0x13, 0x1a
/* 8039C17C 003990DC 38 65 FD 10 */ addi r3, r5, lbl_8054FD10@l
/* 8039C17C 003990DC 38 65 FD 10 */ addi r3, r5, seqMIDIPriority@l
/* 8039C180 003990E0 54 80 0D FC */ rlwinm r0, r4, 1, 0x17, 0x1e
/* 8039C184 003990E4 7C 63 32 14 */ add r3, r3, r6
/* 8039C188 003990E8 7C 63 02 2E */ lhzx r3, r3, r0

View File

@ -1,5 +1,19 @@
.include "macros.inc"
.section .bss
.global "tmp_em$388"
"tmp_em$388":
.skip 0x50
.global startGroup
startGroup:
.skip 0x400
.global runList
runList:
.skip 0x300
.global startListNum
startListNum:
.skip 0x700
.section .sbss
.balign 4
.global runListNum
@ -861,8 +875,8 @@ AddEmitter:
/* 803AF380 003AC2E0 48 00 5D 3D */ bl hwDisableIrq
/* 803AF384 003AC2E4 28 17 00 00 */ cmplwi r23, 0
/* 803AF388 003AC2E8 40 82 00 10 */ bne lbl_803AF398
/* 803AF38C 003AC2EC 3C 60 80 56 */ lis r3, lbl_8055F940@ha
/* 803AF390 003AC2F0 3B C3 F9 40 */ addi r30, r3, lbl_8055F940@l
/* 803AF38C 003AC2EC 3C 60 80 56 */ lis r3, "tmp_em$388"@ha
/* 803AF390 003AC2F0 3B C3 F9 40 */ addi r30, r3, "tmp_em$388"@l
/* 803AF394 003AC2F4 48 00 00 08 */ b lbl_803AF39C
lbl_803AF398:
/* 803AF398 003AC2F8 7E FE BB 78 */ mr r30, r23
@ -1640,8 +1654,8 @@ lbl_803AFE48:
.global sub_803afe5c
sub_803afe5c:
/* 803AFE5C 003ACDBC 88 CD AF 62 */ lbz r6, startGroupNum@sda21(r13)
/* 803AFE60 003ACDC0 3C 80 80 56 */ lis r4, lbl_8055F990@ha
/* 803AFE64 003ACDC4 38 A4 F9 90 */ addi r5, r4, lbl_8055F990@l
/* 803AFE60 003ACDC0 3C 80 80 56 */ lis r4, startGroup@ha
/* 803AFE64 003ACDC4 38 A4 F9 90 */ addi r5, r4, startGroup@l
/* 803AFE68 003ACDC8 39 20 00 00 */ li r9, 0
/* 803AFE6C 003ACDCC 7C C9 03 A6 */ mtctr r6
/* 803AFE70 003ACDD0 2C 06 00 00 */ cmpwi r6, 0
@ -1662,9 +1676,9 @@ lbl_803AFE94:
/* 803AFEA4 003ACE04 38 60 00 00 */ li r3, 0
/* 803AFEA8 003ACE08 4E 80 00 20 */ blr
lbl_803AFEAC:
/* 803AFEAC 003ACE0C 3C A0 80 56 */ lis r5, lbl_8055F990@ha
/* 803AFEAC 003ACE0C 3C A0 80 56 */ lis r5, startGroup@ha
/* 803AFEB0 003ACE10 88 8D AF 62 */ lbz r4, startGroupNum@sda21(r13)
/* 803AFEB4 003ACE14 38 C5 F9 90 */ addi r6, r5, lbl_8055F990@l
/* 803AFEB4 003ACE14 38 C5 F9 90 */ addi r6, r5, startGroup@l
/* 803AFEB8 003ACE18 55 28 20 36 */ slwi r8, r9, 4
/* 803AFEBC 003ACE1C 7C A6 42 14 */ add r5, r6, r8
/* 803AFEC0 003ACE20 38 E0 00 00 */ li r7, 0
@ -1682,9 +1696,9 @@ lbl_803AFEE0:
/* 803AFEEC 003ACE4C 38 60 00 00 */ li r3, 0
/* 803AFEF0 003ACE50 4E 80 00 20 */ blr
lbl_803AFEF4:
/* 803AFEF4 003ACE54 3C 80 80 56 */ lis r4, lbl_8055F990@ha
/* 803AFEF4 003ACE54 3C 80 80 56 */ lis r4, startGroup@ha
/* 803AFEF8 003ACE58 55 20 20 36 */ slwi r0, r9, 4
/* 803AFEFC 003ACE5C 38 84 F9 90 */ addi r4, r4, lbl_8055F990@l
/* 803AFEFC 003ACE5C 38 84 F9 90 */ addi r4, r4, startGroup@l
/* 803AFF00 003ACE60 7C E4 02 14 */ add r7, r4, r0
/* 803AFF04 003ACE64 80 C7 00 04 */ lwz r6, 4(r7)
/* 803AFF08 003ACE68 38 E7 00 04 */ addi r7, r7, 4
@ -1703,23 +1717,23 @@ lbl_803AFF2C:
/* 803AFF34 003ACE94 40 82 FF E8 */ bne lbl_803AFF1C
lbl_803AFF38:
/* 803AFF38 003ACE98 1C A5 00 1C */ mulli r5, r5, 0x1c
/* 803AFF3C 003ACE9C 3C 80 80 56 */ lis r4, lbl_80560090@ha
/* 803AFF40 003ACEA0 38 04 00 90 */ addi r0, r4, lbl_80560090@l
/* 803AFF3C 003ACE9C 3C 80 80 56 */ lis r4, startListNum@ha
/* 803AFF40 003ACEA0 38 04 00 90 */ addi r0, r4, startListNum@l
/* 803AFF44 003ACEA4 7C 80 2A 14 */ add r4, r0, r5
/* 803AFF48 003ACEA8 90 C4 00 00 */ stw r6, 0(r4)
/* 803AFF4C 003ACEAC 90 88 00 00 */ stw r4, 0(r8)
/* 803AFF50 003ACEB0 48 00 00 1C */ b lbl_803AFF6C
lbl_803AFF54:
/* 803AFF54 003ACEB4 1C A5 00 1C */ mulli r5, r5, 0x1c
/* 803AFF58 003ACEB8 3C 80 80 56 */ lis r4, lbl_80560090@ha
/* 803AFF5C 003ACEBC 38 04 00 90 */ addi r0, r4, lbl_80560090@l
/* 803AFF58 003ACEB8 3C 80 80 56 */ lis r4, startListNum@ha
/* 803AFF5C 003ACEBC 38 04 00 90 */ addi r0, r4, startListNum@l
/* 803AFF60 003ACEC0 7C 80 2A 14 */ add r4, r0, r5
/* 803AFF64 003ACEC4 90 C4 00 00 */ stw r6, 0(r4)
/* 803AFF68 003ACEC8 90 87 00 00 */ stw r4, 0(r7)
lbl_803AFF6C:
/* 803AFF6C 003ACECC 88 8D AF 61 */ lbz r4, startListNumnum@sda21(r13)
/* 803AFF70 003ACED0 3C A0 80 56 */ lis r5, lbl_80560090@ha
/* 803AFF74 003ACED4 38 A5 00 90 */ addi r5, r5, lbl_80560090@l
/* 803AFF70 003ACED0 3C A0 80 56 */ lis r5, startListNum@ha
/* 803AFF74 003ACED4 38 A5 00 90 */ addi r5, r5, startListNum@l
/* 803AFF78 003ACED8 1C C4 00 1C */ mulli r6, r4, 0x1c
/* 803AFF7C 003ACEDC 38 04 00 01 */ addi r0, r4, 1
/* 803AFF80 003ACEE0 98 0D AF 61 */ stb r0, startListNumnum@sda21(r13)
@ -1746,9 +1760,9 @@ sub_803affa8:
/* 803AFFC8 003ACF28 F3 A1 00 58 */ psq_st f29, 88(r1), 0, qr0
/* 803AFFCC 003ACF2C 39 61 00 50 */ addi r11, r1, 0x50
/* 803AFFD0 003ACF30 4B FD 9A 99 */ bl sub_80389a68
/* 803AFFD4 003ACF34 3C 60 80 56 */ lis r3, lbl_8055F990@ha
/* 803AFFD4 003ACF34 3C 60 80 56 */ lis r3, startGroup@ha
/* 803AFFD8 003ACF38 3B 40 00 00 */ li r26, 0
/* 803AFFDC 003ACF3C 3B 63 F9 90 */ addi r27, r3, lbl_8055F990@l
/* 803AFFDC 003ACF3C 3B 63 F9 90 */ addi r27, r3, startGroup@l
/* 803AFFE0 003ACF40 48 00 03 3C */ b lbl_803B031C
lbl_803AFFE4:
/* 803AFFE4 003ACF44 83 3B 00 04 */ lwz r25, 4(r27)
@ -2190,8 +2204,8 @@ lbl_803B05D8:
/* 803B05EC 003AD54C 54 00 07 FF */ clrlwi. r0, r0, 0x1f
/* 803B05F0 003AD550 41 82 01 28 */ beq lbl_803B0718
/* 803B05F4 003AD554 88 AD AF 62 */ lbz r5, startGroupNum@sda21(r13)
/* 803B05F8 003AD558 3C 60 80 56 */ lis r3, lbl_8055F990@ha
/* 803B05FC 003AD55C 38 83 F9 90 */ addi r4, r3, lbl_8055F990@l
/* 803B05F8 003AD558 3C 60 80 56 */ lis r3, startGroup@ha
/* 803B05FC 003AD55C 38 83 F9 90 */ addi r4, r3, startGroup@l
/* 803B0600 003AD560 C0 21 00 18 */ lfs f1, 0x18(r1)
/* 803B0604 003AD564 38 E0 00 00 */ li r7, 0
/* 803B0608 003AD568 7C A9 03 A6 */ mtctr r5
@ -2208,11 +2222,11 @@ lbl_803B0614:
lbl_803B0630:
/* 803B0630 003AD590 7C 07 28 00 */ cmpw r7, r5
/* 803B0634 003AD594 40 82 00 38 */ bne lbl_803B066C
/* 803B0638 003AD598 3C 80 80 56 */ lis r4, lbl_8055F990@ha
/* 803B0638 003AD598 3C 80 80 56 */ lis r4, startGroup@ha
/* 803B063C 003AD59C 88 6D AF 62 */ lbz r3, startGroupNum@sda21(r13)
/* 803B0640 003AD5A0 54 E5 20 36 */ slwi r5, r7, 4
/* 803B0644 003AD5A4 38 C0 00 00 */ li r6, 0
/* 803B0648 003AD5A8 38 84 F9 90 */ addi r4, r4, lbl_8055F990@l
/* 803B0648 003AD5A8 38 84 F9 90 */ addi r4, r4, startGroup@l
/* 803B064C 003AD5AC 38 03 00 01 */ addi r0, r3, 1
/* 803B0650 003AD5B0 7C 84 2A 14 */ add r4, r4, r5
/* 803B0654 003AD5B4 90 C4 00 04 */ stw r6, 4(r4)
@ -2222,9 +2236,9 @@ lbl_803B0630:
/* 803B0664 003AD5C4 90 64 00 00 */ stw r3, 0(r4)
/* 803B0668 003AD5C8 98 0D AF 62 */ stb r0, startGroupNum@sda21(r13)
lbl_803B066C:
/* 803B066C 003AD5CC 3C 60 80 56 */ lis r3, lbl_8055F990@ha
/* 803B066C 003AD5CC 3C 60 80 56 */ lis r3, startGroup@ha
/* 803B0670 003AD5D0 54 E4 20 36 */ slwi r4, r7, 4
/* 803B0674 003AD5D4 38 03 F9 90 */ addi r0, r3, lbl_8055F990@l
/* 803B0674 003AD5D4 38 03 F9 90 */ addi r0, r3, startGroup@l
/* 803B0678 003AD5D8 38 A0 00 00 */ li r5, 0
/* 803B067C 003AD5DC 7C 80 22 14 */ add r4, r0, r4
/* 803B0680 003AD5E0 A0 64 00 0C */ lhz r3, 0xc(r4)
@ -2246,23 +2260,23 @@ lbl_803B06B4:
/* 803B06B4 003AD614 28 05 00 00 */ cmplwi r5, 0
/* 803B06B8 003AD618 40 82 00 20 */ bne lbl_803B06D8
/* 803B06BC 003AD61C 88 8D AF 60 */ lbz r4, runListNum@sda21(r13)
/* 803B06C0 003AD620 3C 60 80 56 */ lis r3, lbl_8055FD90@ha
/* 803B06C4 003AD624 38 03 FD 90 */ addi r0, r3, lbl_8055FD90@l
/* 803B06C0 003AD620 3C 60 80 56 */ lis r3, runList@ha
/* 803B06C4 003AD624 38 03 FD 90 */ addi r0, r3, runList@l
/* 803B06C8 003AD628 1C 64 00 0C */ mulli r3, r4, 0xc
/* 803B06CC 003AD62C 7C 00 1A 14 */ add r0, r0, r3
/* 803B06D0 003AD630 90 07 00 00 */ stw r0, 0(r7)
/* 803B06D4 003AD634 48 00 00 1C */ b lbl_803B06F0
lbl_803B06D8:
/* 803B06D8 003AD638 88 8D AF 60 */ lbz r4, runListNum@sda21(r13)
/* 803B06DC 003AD63C 3C 60 80 56 */ lis r3, lbl_8055FD90@ha
/* 803B06E0 003AD640 38 03 FD 90 */ addi r0, r3, lbl_8055FD90@l
/* 803B06DC 003AD63C 3C 60 80 56 */ lis r3, runList@ha
/* 803B06E0 003AD640 38 03 FD 90 */ addi r0, r3, runList@l
/* 803B06E4 003AD644 1C 64 00 0C */ mulli r3, r4, 0xc
/* 803B06E8 003AD648 7C 00 1A 14 */ add r0, r0, r3
/* 803B06EC 003AD64C 90 05 00 00 */ stw r0, 0(r5)
lbl_803B06F0:
/* 803B06F0 003AD650 88 AD AF 60 */ lbz r5, runListNum@sda21(r13)
/* 803B06F4 003AD654 3C 60 80 56 */ lis r3, lbl_8055FD90@ha
/* 803B06F8 003AD658 38 63 FD 90 */ addi r3, r3, lbl_8055FD90@l
/* 803B06F4 003AD654 3C 60 80 56 */ lis r3, runList@ha
/* 803B06F8 003AD658 38 63 FD 90 */ addi r3, r3, runList@l
/* 803B06FC 003AD65C 1C 85 00 0C */ mulli r4, r5, 0xc
/* 803B0700 003AD660 38 05 00 01 */ addi r0, r5, 1
/* 803B0704 003AD664 98 0D AF 60 */ stb r0, runListNum@sda21(r13)

View File

@ -1,20 +1,66 @@
.include "macros.inc"
.section .bss
inpGlobalMIDIDirtyFlags:
.skip 0x200
midi_ctrl:
.skip 0x4300
inpChannelDefaults:
.skip 0x80
fx_ctrl:
.skip 0x2180
inpFXChannelDefaults:
.skip 0x40
midi_lastNote:
.skip 0x80
fx_lastNote:
.skip 0x40
.section .data, "wa"
.global lbl_803F41E8
lbl_803F41E8:
.incbin "baserom.dol", 0x3F11E8, 0x10
# ROM: 0x3F11E8
.4byte 0x80000001
.4byte 0x80000002
.4byte 0x80000004
.4byte 0x80000008
lbl_803F41F8:
.incbin "baserom.dol", 0x3F11F8, 0x10
# ROM: 0x3F11F8
.4byte 0x80000010
.4byte 0x80000020
.4byte 0x80000040
.4byte 0x80000080
lbl_803F4208:
.incbin "baserom.dol", 0x3F1208, 0x24
# ROM: 0x3F1208
.4byte 0x803B2A78
.4byte 0x803B2A80
.4byte 0x803B2A88
.4byte 0x803B2A90
.4byte 0x803B2A98
.4byte 0x803B2AA0
.4byte 0x803B2AA8
.4byte 0x803B2AB0
.4byte 0x803B2AB8
lbl_803F422C:
.incbin "baserom.dol", 0x3F122C, 0x24
# ROM: 0x3F122C
.4byte 0x803B2AF8
.4byte 0x803B2B00
.4byte 0x803B2B08
.4byte 0x803B2B10
.4byte 0x803B2B18
.4byte 0x803B2B20
.4byte 0x803B2B28
.4byte 0x803B2B30
.4byte 0x803B2B38
lbl_803F4250:
.4byte lbl_803B2C2C
.4byte lbl_803B2C34
@ -30,25 +76,95 @@ lbl_803F4250:
.section .rodata
.global lbl_803D8AC0
lbl_803D8AC0:
.incbin "baserom.dol", 0x3D5AC0, 0x88
# ROM: 0x3D5AC0
.4byte 0
.4byte 0x0000007F
.4byte 0x0000407F
.4byte 0
.4byte 0
.4byte 0
.4byte 0
.4byte 0
.4byte 0
.4byte 0
.4byte 0
.4byte 0
.4byte 0
.4byte 0
.4byte 0
.4byte 0
.4byte 0
.4byte 0
.4byte 0
.4byte 0
.4byte 0
.4byte 0
.4byte 0
.4byte 0
.4byte 0x00007F7F
.4byte 0x7F7F0000
.4byte 0
.4byte 0
.4byte 0
.4byte 0
.4byte 0
.4byte 0
.4byte 0x40000000
.4byte 0x40000000
.global lbl_803D8B48
lbl_803D8B48:
.incbin "baserom.dol", 0x3D5B48, 0x88
# ROM: 0x3D5B48
.4byte 0xFF00FFFF
.4byte 0xFFFFFFFF
.4byte 0xFFFFFF7F
.4byte 0xFFFFFFFF
.4byte 0xFFFFFFFF
.4byte 0xFFFFFFFF
.4byte 0xFFFFFFFF
.4byte 0xFFFFFFFF
.4byte 0xFF00FFFF
.4byte 0xFFFFFFFF
.4byte 0xFFFFFF7F
.4byte 0xFFFFFFFF
.4byte 0xFFFFFFFF
.4byte 0xFFFFFFFF
.4byte 0xFFFFFFFF
.4byte 0xFFFFFFFF
.4byte 0
.4byte 0xFF00FFFF
.4byte 0xFFFFFFFF
.4byte 0xFFFFFFFF
.4byte 0xFFFFFFFF
.4byte 0xFFFFFFFF
.4byte 0xFFFFFFFF
.4byte 0xFFFFFFFF
.4byte 0xFFFFFFFF
.4byte 0xFFFFFFFF
.4byte 0xFFFFFFFF
.4byte 0xFFFFFFFF
.4byte 0xFFFFFFFF
.4byte 0xFFFFFFFF
.4byte 0xFFFFFFFF
.4byte 0xFFFFFFFF
.4byte 0x40FFFFFF
.4byte 0xFFFF0000
.section .text, "ax"
.section .text, "ax"
.global inpSetGlobalMIDIDirtyFlag
inpSetGlobalMIDIDirtyFlag:
/* 803B10CC 003AE02C 3C C0 80 56 */ lis r6, lbl_80560790@ha
/* 803B10CC 003AE02C 3C C0 80 56 */ lis r6, inpGlobalMIDIDirtyFlags@ha
/* 803B10D0 003AE030 54 84 34 B2 */ rlwinm r4, r4, 6, 0x12, 0x19
/* 803B10D4 003AE034 38 06 07 90 */ addi r0, r6, lbl_80560790@l
/* 803B10D4 003AE034 38 06 07 90 */ addi r0, r6, inpGlobalMIDIDirtyFlags@l
/* 803B10D8 003AE038 54 63 15 BA */ rlwinm r3, r3, 2, 0x16, 0x1d
/* 803B10DC 003AE03C 7C 80 22 14 */ add r4, r0, r4
/* 803B10E0 003AE040 7C 04 18 2E */ lwzx r0, r4, r3
/* 803B10E4 003AE044 7C 00 2B 78 */ or r0, r0, r5
/* 803B10E8 003AE048 7C 04 19 2E */ stwx r0, r4, r3
/* 803B10EC 003AE04C 4E 80 00 20 */ blr
/* 803B10EC 003AE04C 4E 80 00 20 */ blr
.global inpSetMidiCtrl
inpSetMidiCtrl:
@ -58,9 +174,9 @@ inpSetMidiCtrl:
/* 803B10FC 003AE05C 39 61 00 30 */ addi r11, r1, 0x30
/* 803B1100 003AE060 4B FD 89 75 */ bl _savegpr_25
/* 803B1104 003AE064 54 87 06 3E */ clrlwi r7, r4, 0x18
/* 803B1108 003AE068 3D 00 80 56 */ lis r8, lbl_80560790@ha
/* 803B1108 003AE068 3D 00 80 56 */ lis r8, inpGlobalMIDIDirtyFlags@ha
/* 803B110C 003AE06C 28 07 00 FF */ cmplwi r7, 0xff
/* 803B1110 003AE070 3B E8 07 90 */ addi r31, r8, lbl_80560790@l
/* 803B1110 003AE070 3B E8 07 90 */ addi r31, r8, inpGlobalMIDIDirtyFlags@l
/* 803B1114 003AE074 41 82 05 CC */ beq lbl_803B16E0
/* 803B1118 003AE078 54 A0 06 3E */ clrlwi r0, r5, 0x18
/* 803B111C 003AE07C 28 00 00 FF */ cmplwi r0, 0xff
@ -485,7 +601,7 @@ lbl_803B16E0:
/* 803B16E8 003AE648 80 01 00 34 */ lwz r0, 0x34(r1)
/* 803B16EC 003AE64C 7C 08 03 A6 */ mtlr r0
/* 803B16F0 003AE650 38 21 00 30 */ addi r1, r1, 0x30
/* 803B16F4 003AE654 4E 80 00 20 */ blr
/* 803B16F4 003AE654 4E 80 00 20 */ blr
.global inpSetMidiCtrl14
inpSetMidiCtrl14:
@ -567,7 +683,7 @@ lbl_803B17FC:
/* 803B180C 003AE76C 83 81 00 10 */ lwz r28, 0x10(r1)
/* 803B1810 003AE770 7C 08 03 A6 */ mtlr r0
/* 803B1814 003AE774 38 21 00 20 */ addi r1, r1, 0x20
/* 803B1818 003AE778 4E 80 00 20 */ blr
/* 803B1818 003AE778 4E 80 00 20 */ blr
.global inpResetMidiCtrl
inpResetMidiCtrl:
@ -589,18 +705,18 @@ lbl_803B1850:
/* 803B1854 003AE7B4 28 04 00 FF */ cmplwi r4, 0xff
/* 803B1858 003AE7B8 41 82 00 24 */ beq lbl_803B187C
/* 803B185C 003AE7BC 57 C0 06 3E */ clrlwi r0, r30, 0x18
/* 803B1860 003AE7C0 3C 60 80 56 */ lis r3, lbl_80560990@ha
/* 803B1860 003AE7C0 3C 60 80 56 */ lis r3, midi_ctrl@ha
/* 803B1864 003AE7C4 1C 84 08 60 */ mulli r4, r4, 0x860
/* 803B1868 003AE7C8 38 63 09 90 */ addi r3, r3, lbl_80560990@l
/* 803B1868 003AE7C8 38 63 09 90 */ addi r3, r3, midi_ctrl@l
/* 803B186C 003AE7CC 1C 00 00 86 */ mulli r0, r0, 0x86
/* 803B1870 003AE7D0 7C 63 22 14 */ add r3, r3, r4
/* 803B1874 003AE7D4 7C 63 02 14 */ add r3, r3, r0
/* 803B1878 003AE7D8 48 00 00 18 */ b lbl_803B1890
lbl_803B187C:
/* 803B187C 003AE7DC 57 C0 06 3E */ clrlwi r0, r30, 0x18
/* 803B1880 003AE7E0 3C 60 80 56 */ lis r3, lbl_80564D10@ha
/* 803B1880 003AE7E0 3C 60 80 56 */ lis r3, fx_ctrl@ha
/* 803B1884 003AE7E4 1C 80 00 86 */ mulli r4, r0, 0x86
/* 803B1888 003AE7E8 38 03 4D 10 */ addi r0, r3, lbl_80564D10@l
/* 803B1888 003AE7E8 38 03 4D 10 */ addi r0, r3, fx_ctrl@l
/* 803B188C 003AE7EC 7C 60 22 14 */ add r3, r0, r4
lbl_803B1890:
/* 803B1890 003AE7F0 28 05 00 00 */ cmplwi r5, 0
@ -638,7 +754,7 @@ lbl_803B18E4:
/* 803B18FC 003AE85C 83 C1 00 08 */ lwz r30, 8(r1)
/* 803B1900 003AE860 7C 08 03 A6 */ mtlr r0
/* 803B1904 003AE864 38 21 00 10 */ addi r1, r1, 0x10
/* 803B1908 003AE868 4E 80 00 20 */ blr
/* 803B1908 003AE868 4E 80 00 20 */ blr
.global inpGetMidiCtrl
inpGetMidiCtrl:
@ -652,9 +768,9 @@ inpGetMidiCtrl:
/* 803B1928 003AE888 28 07 00 40 */ cmplwi r7, 0x40
/* 803B192C 003AE88C 40 80 00 3C */ bge lbl_803B1968
/* 803B1930 003AE890 1C A0 08 60 */ mulli r5, r0, 0x860
/* 803B1934 003AE894 3C 80 80 56 */ lis r4, lbl_80560990@ha
/* 803B1934 003AE894 3C 80 80 56 */ lis r4, midi_ctrl@ha
/* 803B1938 003AE898 54 66 06 FE */ clrlwi r6, r3, 0x1b
/* 803B193C 003AE89C 38 04 09 90 */ addi r0, r4, lbl_80560990@l
/* 803B193C 003AE89C 38 04 09 90 */ addi r0, r4, midi_ctrl@l
/* 803B1940 003AE8A0 1C 68 00 86 */ mulli r3, r8, 0x86
/* 803B1944 003AE8A4 7C 00 2A 14 */ add r0, r0, r5
/* 803B1948 003AE8A8 7C 80 1A 14 */ add r4, r0, r3
@ -664,14 +780,14 @@ inpGetMidiCtrl:
/* 803B1958 003AE8B8 54 83 38 30 */ slwi r3, r4, 7
/* 803B195C 003AE8BC 7C 60 03 78 */ or r0, r3, r0
/* 803B1960 003AE8C0 54 03 04 3E */ clrlwi r3, r0, 0x10
/* 803B1964 003AE8C4 4E 80 00 20 */ blr
/* 803B1964 003AE8C4 4E 80 00 20 */ blr
lbl_803B1968:
/* 803B1968 003AE8C8 28 07 00 46 */ cmplwi r7, 0x46
/* 803B196C 003AE8CC 40 80 00 3C */ bge lbl_803B19A8
/* 803B1970 003AE8D0 1C C0 08 60 */ mulli r6, r0, 0x860
/* 803B1974 003AE8D4 3C 80 80 56 */ lis r4, lbl_80560990@ha
/* 803B1974 003AE8D4 3C 80 80 56 */ lis r4, midi_ctrl@ha
/* 803B1978 003AE8D8 38 60 00 40 */ li r3, 0x40
/* 803B197C 003AE8DC 38 A4 09 90 */ addi r5, r4, lbl_80560990@l
/* 803B197C 003AE8DC 38 A4 09 90 */ addi r5, r4, midi_ctrl@l
/* 803B1980 003AE8E0 1C 88 00 86 */ mulli r4, r8, 0x86
/* 803B1984 003AE8E4 38 00 3F FF */ li r0, 0x3fff
/* 803B1988 003AE8E8 7C A5 32 14 */ add r5, r5, r6
@ -681,14 +797,14 @@ lbl_803B1968:
/* 803B1998 003AE8F8 7C 63 19 10 */ subfe r3, r3, r3
/* 803B199C 003AE8FC 7C 00 18 78 */ andc r0, r0, r3
/* 803B19A0 003AE900 54 03 04 3E */ clrlwi r3, r0, 0x10
/* 803B19A4 003AE904 4E 80 00 20 */ blr
/* 803B19A4 003AE904 4E 80 00 20 */ blr
lbl_803B19A8:
/* 803B19A8 003AE908 28 07 00 60 */ cmplwi r7, 0x60
/* 803B19AC 003AE90C 41 80 00 14 */ blt lbl_803B19C0
/* 803B19B0 003AE910 28 07 00 66 */ cmplwi r7, 0x66
/* 803B19B4 003AE914 40 80 00 0C */ bge lbl_803B19C0
/* 803B19B8 003AE918 38 60 00 00 */ li r3, 0
/* 803B19BC 003AE91C 4E 80 00 20 */ blr
/* 803B19BC 003AE91C 4E 80 00 20 */ blr
lbl_803B19C0:
/* 803B19C0 003AE920 54 66 06 3E */ clrlwi r6, r3, 0x18
/* 803B19C4 003AE924 28 06 00 80 */ cmplwi r6, 0x80
@ -699,9 +815,9 @@ lbl_803B19D4:
/* 803B19D4 003AE934 54 A0 06 3E */ clrlwi r0, r5, 0x18
/* 803B19D8 003AE938 54 85 06 3E */ clrlwi r5, r4, 0x18
/* 803B19DC 003AE93C 1C C0 08 60 */ mulli r6, r0, 0x860
/* 803B19E0 003AE940 3C 80 80 56 */ lis r4, lbl_80560990@ha
/* 803B19E0 003AE940 3C 80 80 56 */ lis r4, midi_ctrl@ha
/* 803B19E4 003AE944 54 67 06 3C */ rlwinm r7, r3, 0, 0x18, 0x1e
/* 803B19E8 003AE948 38 04 09 90 */ addi r0, r4, lbl_80560990@l
/* 803B19E8 003AE948 38 04 09 90 */ addi r0, r4, midi_ctrl@l
/* 803B19EC 003AE94C 1C 65 00 86 */ mulli r3, r5, 0x86
/* 803B19F0 003AE950 7C 00 32 14 */ add r0, r0, r6
/* 803B19F4 003AE954 7C 80 1A 14 */ add r4, r0, r3
@ -711,7 +827,7 @@ lbl_803B19D4:
/* 803B1A04 003AE964 54 83 38 30 */ slwi r3, r4, 7
/* 803B1A08 003AE968 7C 60 03 78 */ or r0, r3, r0
/* 803B1A0C 003AE96C 54 03 04 3E */ clrlwi r3, r0, 0x10
/* 803B1A10 003AE970 4E 80 00 20 */ blr
/* 803B1A10 003AE970 4E 80 00 20 */ blr
lbl_803B1A14:
/* 803B1A14 003AE974 28 06 00 84 */ cmplwi r6, 0x84
/* 803B1A18 003AE978 41 82 00 0C */ beq lbl_803B1A24
@ -721,9 +837,9 @@ lbl_803B1A24:
/* 803B1A24 003AE984 54 A0 06 3E */ clrlwi r0, r5, 0x18
/* 803B1A28 003AE988 54 85 06 3E */ clrlwi r5, r4, 0x18
/* 803B1A2C 003AE98C 1C C0 08 60 */ mulli r6, r0, 0x860
/* 803B1A30 003AE990 3C 80 80 56 */ lis r4, lbl_80560990@ha
/* 803B1A30 003AE990 3C 80 80 56 */ lis r4, midi_ctrl@ha
/* 803B1A34 003AE994 54 67 06 3C */ rlwinm r7, r3, 0, 0x18, 0x1e
/* 803B1A38 003AE998 38 04 09 90 */ addi r0, r4, lbl_80560990@l
/* 803B1A38 003AE998 38 04 09 90 */ addi r0, r4, midi_ctrl@l
/* 803B1A3C 003AE99C 1C 65 00 86 */ mulli r3, r5, 0x86
/* 803B1A40 003AE9A0 7C 00 32 14 */ add r0, r0, r6
/* 803B1A44 003AE9A4 7C 80 1A 14 */ add r4, r0, r3
@ -733,27 +849,27 @@ lbl_803B1A24:
/* 803B1A54 003AE9B4 54 83 38 30 */ slwi r3, r4, 7
/* 803B1A58 003AE9B8 7C 60 03 78 */ or r0, r3, r0
/* 803B1A5C 003AE9BC 54 03 04 3E */ clrlwi r3, r0, 0x10
/* 803B1A60 003AE9C0 4E 80 00 20 */ blr
/* 803B1A60 003AE9C0 4E 80 00 20 */ blr
lbl_803B1A64:
/* 803B1A64 003AE9C4 54 A3 06 3E */ clrlwi r3, r5, 0x18
/* 803B1A68 003AE9C8 54 80 06 3E */ clrlwi r0, r4, 0x18
/* 803B1A6C 003AE9CC 1C 83 08 60 */ mulli r4, r3, 0x860
/* 803B1A70 003AE9D0 3C 60 80 56 */ lis r3, lbl_80560990@ha
/* 803B1A74 003AE9D4 38 63 09 90 */ addi r3, r3, lbl_80560990@l
/* 803B1A70 003AE9D0 3C 60 80 56 */ lis r3, midi_ctrl@ha
/* 803B1A74 003AE9D4 38 63 09 90 */ addi r3, r3, midi_ctrl@l
/* 803B1A78 003AE9D8 1C 00 00 86 */ mulli r0, r0, 0x86
/* 803B1A7C 003AE9DC 7C 63 22 14 */ add r3, r3, r4
/* 803B1A80 003AE9E0 7C 63 02 14 */ add r3, r3, r0
/* 803B1A84 003AE9E4 7C 03 30 AE */ lbzx r0, r3, r6
/* 803B1A88 003AE9E8 54 03 3C 30 */ rlwinm r3, r0, 7, 0x10, 0x18
/* 803B1A8C 003AE9EC 4E 80 00 20 */ blr
/* 803B1A8C 003AE9EC 4E 80 00 20 */ blr
lbl_803B1A90:
/* 803B1A90 003AE9F0 54 66 06 3E */ clrlwi r6, r3, 0x18
/* 803B1A94 003AE9F4 28 06 00 40 */ cmplwi r6, 0x40
/* 803B1A98 003AE9F8 40 80 00 34 */ bge lbl_803B1ACC
/* 803B1A9C 003AE9FC 1C C8 00 86 */ mulli r6, r8, 0x86
/* 803B1AA0 003AEA00 3C 80 80 56 */ lis r4, lbl_80564D10@ha
/* 803B1AA0 003AEA00 3C 80 80 56 */ lis r4, fx_ctrl@ha
/* 803B1AA4 003AEA04 54 65 06 FE */ clrlwi r5, r3, 0x1b
/* 803B1AA8 003AEA08 38 04 4D 10 */ addi r0, r4, lbl_80564D10@l
/* 803B1AA8 003AEA08 38 04 4D 10 */ addi r0, r4, fx_ctrl@l
/* 803B1AAC 003AEA0C 7C 80 32 14 */ add r4, r0, r6
/* 803B1AB0 003AEA10 7C 64 2A 14 */ add r3, r4, r5
/* 803B1AB4 003AEA14 7C 84 28 AE */ lbzx r4, r4, r5
@ -761,14 +877,14 @@ lbl_803B1A90:
/* 803B1ABC 003AEA1C 54 83 38 30 */ slwi r3, r4, 7
/* 803B1AC0 003AEA20 7C 60 03 78 */ or r0, r3, r0
/* 803B1AC4 003AEA24 54 03 04 3E */ clrlwi r3, r0, 0x10
/* 803B1AC8 003AEA28 4E 80 00 20 */ blr
/* 803B1AC8 003AEA28 4E 80 00 20 */ blr
lbl_803B1ACC:
/* 803B1ACC 003AEA2C 28 06 00 46 */ cmplwi r6, 0x46
/* 803B1AD0 003AEA30 40 80 00 34 */ bge lbl_803B1B04
/* 803B1AD4 003AEA34 1C A8 00 86 */ mulli r5, r8, 0x86
/* 803B1AD8 003AEA38 3C 80 80 56 */ lis r4, lbl_80564D10@ha
/* 803B1AD8 003AEA38 3C 80 80 56 */ lis r4, fx_ctrl@ha
/* 803B1ADC 003AEA3C 38 60 00 40 */ li r3, 0x40
/* 803B1AE0 003AEA40 38 04 4D 10 */ addi r0, r4, lbl_80564D10@l
/* 803B1AE0 003AEA40 38 04 4D 10 */ addi r0, r4, fx_ctrl@l
/* 803B1AE4 003AEA44 7C 80 2A 14 */ add r4, r0, r5
/* 803B1AE8 003AEA48 38 00 3F FF */ li r0, 0x3fff
/* 803B1AEC 003AEA4C 7C 84 30 AE */ lbzx r4, r4, r6
@ -776,14 +892,14 @@ lbl_803B1ACC:
/* 803B1AF4 003AEA54 7C 63 19 10 */ subfe r3, r3, r3
/* 803B1AF8 003AEA58 7C 00 18 78 */ andc r0, r0, r3
/* 803B1AFC 003AEA5C 54 03 04 3E */ clrlwi r3, r0, 0x10
/* 803B1B00 003AEA60 4E 80 00 20 */ blr
/* 803B1B00 003AEA60 4E 80 00 20 */ blr
lbl_803B1B04:
/* 803B1B04 003AEA64 28 06 00 60 */ cmplwi r6, 0x60
/* 803B1B08 003AEA68 41 80 00 14 */ blt lbl_803B1B1C
/* 803B1B0C 003AEA6C 28 06 00 66 */ cmplwi r6, 0x66
/* 803B1B10 003AEA70 40 80 00 0C */ bge lbl_803B1B1C
/* 803B1B14 003AEA74 38 60 00 00 */ li r3, 0
/* 803B1B18 003AEA78 4E 80 00 20 */ blr
/* 803B1B18 003AEA78 4E 80 00 20 */ blr
lbl_803B1B1C:
/* 803B1B1C 003AEA7C 54 65 06 3E */ clrlwi r5, r3, 0x18
/* 803B1B20 003AEA80 28 05 00 80 */ cmplwi r5, 0x80
@ -792,10 +908,10 @@ lbl_803B1B1C:
/* 803B1B2C 003AEA8C 40 82 00 38 */ bne lbl_803B1B64
lbl_803B1B30:
/* 803B1B30 003AEA90 54 80 06 3E */ clrlwi r0, r4, 0x18
/* 803B1B34 003AEA94 3C 80 80 56 */ lis r4, lbl_80564D10@ha
/* 803B1B34 003AEA94 3C 80 80 56 */ lis r4, fx_ctrl@ha
/* 803B1B38 003AEA98 1C C0 00 86 */ mulli r6, r0, 0x86
/* 803B1B3C 003AEA9C 54 65 06 3C */ rlwinm r5, r3, 0, 0x18, 0x1e
/* 803B1B40 003AEAA0 38 04 4D 10 */ addi r0, r4, lbl_80564D10@l
/* 803B1B40 003AEAA0 38 04 4D 10 */ addi r0, r4, fx_ctrl@l
/* 803B1B44 003AEAA4 7C 80 32 14 */ add r4, r0, r6
/* 803B1B48 003AEAA8 7C 64 2A 14 */ add r3, r4, r5
/* 803B1B4C 003AEAAC 7C 84 28 AE */ lbzx r4, r4, r5
@ -803,7 +919,7 @@ lbl_803B1B30:
/* 803B1B54 003AEAB4 54 83 38 30 */ slwi r3, r4, 7
/* 803B1B58 003AEAB8 7C 60 03 78 */ or r0, r3, r0
/* 803B1B5C 003AEABC 54 03 04 3E */ clrlwi r3, r0, 0x10
/* 803B1B60 003AEAC0 4E 80 00 20 */ blr
/* 803B1B60 003AEAC0 4E 80 00 20 */ blr
lbl_803B1B64:
/* 803B1B64 003AEAC4 28 05 00 84 */ cmplwi r5, 0x84
/* 803B1B68 003AEAC8 41 82 00 0C */ beq lbl_803B1B74
@ -811,10 +927,10 @@ lbl_803B1B64:
/* 803B1B70 003AEAD0 40 82 00 38 */ bne lbl_803B1BA8
lbl_803B1B74:
/* 803B1B74 003AEAD4 54 80 06 3E */ clrlwi r0, r4, 0x18
/* 803B1B78 003AEAD8 3C 80 80 56 */ lis r4, lbl_80564D10@ha
/* 803B1B78 003AEAD8 3C 80 80 56 */ lis r4, fx_ctrl@ha
/* 803B1B7C 003AEADC 1C C0 00 86 */ mulli r6, r0, 0x86
/* 803B1B80 003AEAE0 54 65 06 3C */ rlwinm r5, r3, 0, 0x18, 0x1e
/* 803B1B84 003AEAE4 38 04 4D 10 */ addi r0, r4, lbl_80564D10@l
/* 803B1B84 003AEAE4 38 04 4D 10 */ addi r0, r4, fx_ctrl@l
/* 803B1B88 003AEAE8 7C 80 32 14 */ add r4, r0, r6
/* 803B1B8C 003AEAEC 7C 64 2A 14 */ add r3, r4, r5
/* 803B1B90 003AEAF0 7C 84 28 AE */ lbzx r4, r4, r5
@ -822,35 +938,35 @@ lbl_803B1B74:
/* 803B1B98 003AEAF8 54 83 38 30 */ slwi r3, r4, 7
/* 803B1B9C 003AEAFC 7C 60 03 78 */ or r0, r3, r0
/* 803B1BA0 003AEB00 54 03 04 3E */ clrlwi r3, r0, 0x10
/* 803B1BA4 003AEB04 4E 80 00 20 */ blr
/* 803B1BA4 003AEB04 4E 80 00 20 */ blr
lbl_803B1BA8:
/* 803B1BA8 003AEB08 54 80 06 3E */ clrlwi r0, r4, 0x18
/* 803B1BAC 003AEB0C 3C 60 80 56 */ lis r3, lbl_80564D10@ha
/* 803B1BAC 003AEB0C 3C 60 80 56 */ lis r3, fx_ctrl@ha
/* 803B1BB0 003AEB10 1C 80 00 86 */ mulli r4, r0, 0x86
/* 803B1BB4 003AEB14 38 03 4D 10 */ addi r0, r3, lbl_80564D10@l
/* 803B1BB4 003AEB14 38 03 4D 10 */ addi r0, r3, fx_ctrl@l
/* 803B1BB8 003AEB18 7C 60 22 14 */ add r3, r0, r4
/* 803B1BBC 003AEB1C 7C 03 28 AE */ lbzx r0, r3, r5
/* 803B1BC0 003AEB20 54 03 3C 30 */ rlwinm r3, r0, 7, 0x10, 0x18
/* 803B1BC4 003AEB24 4E 80 00 20 */ blr
/* 803B1BC4 003AEB24 4E 80 00 20 */ blr
lbl_803B1BC8:
/* 803B1BC8 003AEB28 38 60 00 00 */ li r3, 0
/* 803B1BCC 003AEB2C 4E 80 00 20 */ blr
/* 803B1BCC 003AEB2C 4E 80 00 20 */ blr
.global sub_803b1bd0
sub_803b1bd0:
/* 803B1BD0 003AEB30 54 80 06 3E */ clrlwi r0, r4, 0x18
/* 803B1BD4 003AEB34 3C A0 80 56 */ lis r5, lbl_80564C90@ha
/* 803B1BD4 003AEB34 3C A0 80 56 */ lis r5, inpChannelDefaults@ha
/* 803B1BD8 003AEB38 28 00 00 FF */ cmplwi r0, 0xff
/* 803B1BDC 003AEB3C 54 86 25 36 */ rlwinm r6, r4, 4, 0x14, 0x1b
/* 803B1BE0 003AEB40 38 05 4C 90 */ addi r0, r5, lbl_80564C90@l
/* 803B1BE0 003AEB40 38 05 4C 90 */ addi r0, r5, inpChannelDefaults@l
/* 803B1BE4 003AEB44 54 64 06 3E */ clrlwi r4, r3, 0x18
/* 803B1BE8 003AEB48 7C 00 32 14 */ add r0, r0, r6
/* 803B1BEC 003AEB4C 7C 60 22 14 */ add r3, r0, r4
/* 803B1BF0 003AEB50 4C 82 00 20 */ bnelr
/* 803B1BF0 003AEB50 4C 82 00 20 */ bnelr
/* 803B1BF4 003AEB54 3C 60 80 56 */ lis r3, inpFXChannelDefaults@ha
/* 803B1BF8 003AEB58 38 03 6E 90 */ addi r0, r3, inpFXChannelDefaults@l
/* 803B1BFC 003AEB5C 7C 60 22 14 */ add r3, r0, r4
/* 803B1C00 003AEB60 4E 80 00 20 */ blr
/* 803B1C00 003AEB60 4E 80 00 20 */ blr
.global inpResetChannelDefaults
inpResetChannelDefaults:
@ -862,14 +978,14 @@ inpResetChannelDefaults:
/* 803B1C18 003AEB78 38 A0 00 02 */ li r5, 2
/* 803B1C1C 003AEB7C 7C 60 32 14 */ add r3, r0, r6
/* 803B1C20 003AEB80 41 82 00 18 */ beq lbl_803B1C38
/* 803B1C24 003AEB84 3C 60 80 56 */ lis r3, lbl_80564C90@ha
/* 803B1C24 003AEB84 3C 60 80 56 */ lis r3, inpChannelDefaults@ha
/* 803B1C28 003AEB88 54 84 25 36 */ rlwinm r4, r4, 4, 0x14, 0x1b
/* 803B1C2C 003AEB8C 38 03 4C 90 */ addi r0, r3, lbl_80564C90@l
/* 803B1C2C 003AEB8C 38 03 4C 90 */ addi r0, r3, inpChannelDefaults@l
/* 803B1C30 003AEB90 7C 00 22 14 */ add r0, r0, r4
/* 803B1C34 003AEB94 7C 60 32 14 */ add r3, r0, r6
lbl_803B1C38:
/* 803B1C38 003AEB98 98 A3 00 00 */ stb r5, 0(r3)
/* 803B1C3C 003AEB9C 4E 80 00 20 */ blr
/* 803B1C3C 003AEB9C 4E 80 00 20 */ blr
.global inpAddCtrl
inpAddCtrl:
@ -914,7 +1030,7 @@ lbl_803B1CC0:
/* 803B1CC8 003AEC28 80 01 00 24 */ lwz r0, 0x24(r1)
/* 803B1CCC 003AEC2C 7C 08 03 A6 */ mtlr r0
/* 803B1CD0 003AEC30 38 21 00 20 */ addi r1, r1, 0x20
/* 803B1CD4 003AEC34 4E 80 00 20 */ blr
/* 803B1CD4 003AEC34 4E 80 00 20 */ blr
.global inpFXCopyCtrl
inpFXCopyCtrl:
@ -926,9 +1042,9 @@ inpFXCopyCtrl:
/* 803B1CEC 003AEC4C 54 00 06 3E */ clrlwi r0, r0, 0x18
/* 803B1CF0 003AEC50 40 80 00 40 */ bge lbl_803B1D30
/* 803B1CF4 003AEC54 1C C0 00 86 */ mulli r6, r0, 0x86
/* 803B1CF8 003AEC58 3C 80 80 56 */ lis r4, lbl_80564D10@ha
/* 803B1CF8 003AEC58 3C 80 80 56 */ lis r4, fx_ctrl@ha
/* 803B1CFC 003AEC5C 54 65 06 FE */ clrlwi r5, r3, 0x1b
/* 803B1D00 003AEC60 38 84 4D 10 */ addi r4, r4, lbl_80564D10@l
/* 803B1D00 003AEC60 38 84 4D 10 */ addi r4, r4, fx_ctrl@l
/* 803B1D04 003AEC64 1C E7 00 86 */ mulli r7, r7, 0x86
/* 803B1D08 003AEC68 7C 64 32 14 */ add r3, r4, r6
/* 803B1D0C 003AEC6C 7C 03 28 AE */ lbzx r0, r3, r5
@ -939,7 +1055,7 @@ inpFXCopyCtrl:
/* 803B1D20 003AEC80 7C 07 2A 14 */ add r0, r7, r5
/* 803B1D24 003AEC84 7C 68 18 AE */ lbzx r3, r8, r3
/* 803B1D28 003AEC88 7C 68 01 AE */ stbx r3, r8, r0
/* 803B1D2C 003AEC8C 4E 80 00 20 */ blr
/* 803B1D2C 003AEC8C 4E 80 00 20 */ blr
lbl_803B1D30:
/* 803B1D30 003AEC90 28 06 00 80 */ cmplwi r6, 0x80
/* 803B1D34 003AEC94 41 82 00 0C */ beq lbl_803B1D40
@ -947,9 +1063,9 @@ lbl_803B1D30:
/* 803B1D3C 003AEC9C 40 82 00 40 */ bne lbl_803B1D7C
lbl_803B1D40:
/* 803B1D40 003AECA0 1C C0 00 86 */ mulli r6, r0, 0x86
/* 803B1D44 003AECA4 3C 80 80 56 */ lis r4, lbl_80564D10@ha
/* 803B1D44 003AECA4 3C 80 80 56 */ lis r4, fx_ctrl@ha
/* 803B1D48 003AECA8 54 65 06 3C */ rlwinm r5, r3, 0, 0x18, 0x1e
/* 803B1D4C 003AECAC 38 84 4D 10 */ addi r4, r4, lbl_80564D10@l
/* 803B1D4C 003AECAC 38 84 4D 10 */ addi r4, r4, fx_ctrl@l
/* 803B1D50 003AECB0 7C 64 32 14 */ add r3, r4, r6
/* 803B1D54 003AECB4 1C E7 00 86 */ mulli r7, r7, 0x86
/* 803B1D58 003AECB8 7C 03 28 AE */ lbzx r0, r3, r5
@ -960,7 +1076,7 @@ lbl_803B1D40:
/* 803B1D6C 003AECCC 7C 07 2A 14 */ add r0, r7, r5
/* 803B1D70 003AECD0 7C 68 18 AE */ lbzx r3, r8, r3
/* 803B1D74 003AECD4 7C 68 01 AE */ stbx r3, r8, r0
/* 803B1D78 003AECD8 4E 80 00 20 */ blr
/* 803B1D78 003AECD8 4E 80 00 20 */ blr
lbl_803B1D7C:
/* 803B1D7C 003AECDC 28 06 00 84 */ cmplwi r6, 0x84
/* 803B1D80 003AECE0 41 82 00 0C */ beq lbl_803B1D8C
@ -968,9 +1084,9 @@ lbl_803B1D7C:
/* 803B1D88 003AECE8 40 82 00 40 */ bne lbl_803B1DC8
lbl_803B1D8C:
/* 803B1D8C 003AECEC 1C C0 00 86 */ mulli r6, r0, 0x86
/* 803B1D90 003AECF0 3C 80 80 56 */ lis r4, lbl_80564D10@ha
/* 803B1D90 003AECF0 3C 80 80 56 */ lis r4, fx_ctrl@ha
/* 803B1D94 003AECF4 54 65 06 3C */ rlwinm r5, r3, 0, 0x18, 0x1e
/* 803B1D98 003AECF8 38 84 4D 10 */ addi r4, r4, lbl_80564D10@l
/* 803B1D98 003AECF8 38 84 4D 10 */ addi r4, r4, fx_ctrl@l
/* 803B1D9C 003AECFC 7C 64 32 14 */ add r3, r4, r6
/* 803B1DA0 003AED00 1C E7 00 86 */ mulli r7, r7, 0x86
/* 803B1DA4 003AED04 7C 03 28 AE */ lbzx r0, r3, r5
@ -981,55 +1097,55 @@ lbl_803B1D8C:
/* 803B1DB8 003AED18 7C 07 2A 14 */ add r0, r7, r5
/* 803B1DBC 003AED1C 7C 68 18 AE */ lbzx r3, r8, r3
/* 803B1DC0 003AED20 7C 68 01 AE */ stbx r3, r8, r0
/* 803B1DC4 003AED24 4E 80 00 20 */ blr
/* 803B1DC4 003AED24 4E 80 00 20 */ blr
lbl_803B1DC8:
/* 803B1DC8 003AED28 1C 80 00 86 */ mulli r4, r0, 0x86
/* 803B1DCC 003AED2C 3C 60 80 56 */ lis r3, lbl_80564D10@ha
/* 803B1DD0 003AED30 38 A3 4D 10 */ addi r5, r3, lbl_80564D10@l
/* 803B1DCC 003AED2C 3C 60 80 56 */ lis r3, fx_ctrl@ha
/* 803B1DD0 003AED30 38 A3 4D 10 */ addi r5, r3, fx_ctrl@l
/* 803B1DD4 003AED34 1C 07 00 86 */ mulli r0, r7, 0x86
/* 803B1DD8 003AED38 7C 65 22 14 */ add r3, r5, r4
/* 803B1DDC 003AED3C 7C 83 30 AE */ lbzx r4, r3, r6
/* 803B1DE0 003AED40 7C 65 02 14 */ add r3, r5, r0
/* 803B1DE4 003AED44 7C 83 31 AE */ stbx r4, r3, r6
/* 803B1DE8 003AED48 4E 80 00 20 */ blr
/* 803B1DE8 003AED48 4E 80 00 20 */ blr
.global inpSetMidiLastNote
inpSetMidiLastNote:
/* 803B1DEC 003AED4C 54 80 06 3E */ clrlwi r0, r4, 0x18
/* 803B1DF0 003AED50 28 00 00 FF */ cmplwi r0, 0xff
/* 803B1DF4 003AED54 41 82 00 20 */ beq lbl_803B1E14
/* 803B1DF8 003AED58 3C C0 80 56 */ lis r6, lbl_80566ED0@ha
/* 803B1DF8 003AED58 3C C0 80 56 */ lis r6, midi_lastNote@ha
/* 803B1DFC 003AED5C 54 87 25 36 */ rlwinm r7, r4, 4, 0x14, 0x1b
/* 803B1E00 003AED60 38 86 6E D0 */ addi r4, r6, lbl_80566ED0@l
/* 803B1E00 003AED60 38 86 6E D0 */ addi r4, r6, midi_lastNote@l
/* 803B1E04 003AED64 54 60 06 3E */ clrlwi r0, r3, 0x18
/* 803B1E08 003AED68 7C 64 3A 14 */ add r3, r4, r7
/* 803B1E0C 003AED6C 7C A3 01 AE */ stbx r5, r3, r0
/* 803B1E10 003AED70 4E 80 00 20 */ blr
/* 803B1E10 003AED70 4E 80 00 20 */ blr
lbl_803B1E14:
/* 803B1E14 003AED74 3C 80 80 56 */ lis r4, lbl_80566F50@ha
/* 803B1E14 003AED74 3C 80 80 56 */ lis r4, fx_lastNote@ha
/* 803B1E18 003AED78 54 60 06 3E */ clrlwi r0, r3, 0x18
/* 803B1E1C 003AED7C 38 64 6F 50 */ addi r3, r4, lbl_80566F50@l
/* 803B1E1C 003AED7C 38 64 6F 50 */ addi r3, r4, fx_lastNote@l
/* 803B1E20 003AED80 7C A3 01 AE */ stbx r5, r3, r0
/* 803B1E24 003AED84 4E 80 00 20 */ blr
/* 803B1E24 003AED84 4E 80 00 20 */ blr
.global inpGetMidiLastNote
inpGetMidiLastNote:
/* 803B1E28 003AED88 54 80 06 3E */ clrlwi r0, r4, 0x18
/* 803B1E2C 003AED8C 28 00 00 FF */ cmplwi r0, 0xff
/* 803B1E30 003AED90 41 82 00 20 */ beq lbl_803B1E50
/* 803B1E34 003AED94 3C A0 80 56 */ lis r5, lbl_80566ED0@ha
/* 803B1E34 003AED94 3C A0 80 56 */ lis r5, midi_lastNote@ha
/* 803B1E38 003AED98 54 86 25 36 */ rlwinm r6, r4, 4, 0x14, 0x1b
/* 803B1E3C 003AED9C 38 85 6E D0 */ addi r4, r5, lbl_80566ED0@l
/* 803B1E3C 003AED9C 38 85 6E D0 */ addi r4, r5, midi_lastNote@l
/* 803B1E40 003AEDA0 54 60 06 3E */ clrlwi r0, r3, 0x18
/* 803B1E44 003AEDA4 7C 64 32 14 */ add r3, r4, r6
/* 803B1E48 003AEDA8 7C 63 00 AE */ lbzx r3, r3, r0
/* 803B1E4C 003AEDAC 4E 80 00 20 */ blr
/* 803B1E4C 003AEDAC 4E 80 00 20 */ blr
lbl_803B1E50:
/* 803B1E50 003AEDB0 3C 80 80 56 */ lis r4, lbl_80566F50@ha
/* 803B1E50 003AEDB0 3C 80 80 56 */ lis r4, fx_lastNote@ha
/* 803B1E54 003AEDB4 54 60 06 3E */ clrlwi r0, r3, 0x18
/* 803B1E58 003AEDB8 38 64 6F 50 */ addi r3, r4, lbl_80566F50@l
/* 803B1E58 003AEDB8 38 64 6F 50 */ addi r3, r4, fx_lastNote@l
/* 803B1E5C 003AEDBC 7C 63 00 AE */ lbzx r3, r3, r0
/* 803B1E60 003AEDC0 4E 80 00 20 */ blr
/* 803B1E60 003AEDC0 4E 80 00 20 */ blr
.global _GetInputValue
_GetInputValue:
@ -1386,7 +1502,7 @@ lbl_803B22D8:
/* 803B22F4 003AF254 80 01 00 34 */ lwz r0, 0x34(r1)
/* 803B22F8 003AF258 7C 08 03 A6 */ mtlr r0
/* 803B22FC 003AF25C 38 21 00 30 */ addi r1, r1, 0x30
/* 803B2300 003AF260 4E 80 00 20 */ blr
/* 803B2300 003AF260 4E 80 00 20 */ blr
.global sub_803b2304
sub_803b2304:
@ -1409,7 +1525,7 @@ lbl_803B233C:
/* 803B233C 003AF29C 80 01 00 14 */ lwz r0, 0x14(r1)
/* 803B2340 003AF2A0 7C 08 03 A6 */ mtlr r0
/* 803B2344 003AF2A4 38 21 00 10 */ addi r1, r1, 0x10
/* 803B2348 003AF2A8 4E 80 00 20 */ blr
/* 803B2348 003AF2A8 4E 80 00 20 */ blr
.global sub_803b234c
sub_803b234c:
@ -1432,7 +1548,7 @@ lbl_803B2384:
/* 803B2384 003AF2E4 80 01 00 14 */ lwz r0, 0x14(r1)
/* 803B2388 003AF2E8 7C 08 03 A6 */ mtlr r0
/* 803B238C 003AF2EC 38 21 00 10 */ addi r1, r1, 0x10
/* 803B2390 003AF2F0 4E 80 00 20 */ blr
/* 803B2390 003AF2F0 4E 80 00 20 */ blr
.global sub_803b2394
sub_803b2394:
@ -1455,7 +1571,7 @@ lbl_803B23CC:
/* 803B23CC 003AF32C 80 01 00 14 */ lwz r0, 0x14(r1)
/* 803B23D0 003AF330 7C 08 03 A6 */ mtlr r0
/* 803B23D4 003AF334 38 21 00 10 */ addi r1, r1, 0x10
/* 803B23D8 003AF338 4E 80 00 20 */ blr
/* 803B23D8 003AF338 4E 80 00 20 */ blr
.global sub_803b23dc
sub_803b23dc:
@ -1478,7 +1594,7 @@ lbl_803B2414:
/* 803B2414 003AF374 80 01 00 14 */ lwz r0, 0x14(r1)
/* 803B2418 003AF378 7C 08 03 A6 */ mtlr r0
/* 803B241C 003AF37C 38 21 00 10 */ addi r1, r1, 0x10
/* 803B2420 003AF380 4E 80 00 20 */ blr
/* 803B2420 003AF380 4E 80 00 20 */ blr
.global sub_803b2424
sub_803b2424:
@ -1501,7 +1617,7 @@ lbl_803B245C:
/* 803B245C 003AF3BC 80 01 00 14 */ lwz r0, 0x14(r1)
/* 803B2460 003AF3C0 7C 08 03 A6 */ mtlr r0
/* 803B2464 003AF3C4 38 21 00 10 */ addi r1, r1, 0x10
/* 803B2468 003AF3C8 4E 80 00 20 */ blr
/* 803B2468 003AF3C8 4E 80 00 20 */ blr
.global sub_803b246c
sub_803b246c:
@ -1524,7 +1640,7 @@ lbl_803B24A4:
/* 803B24A4 003AF404 80 01 00 14 */ lwz r0, 0x14(r1)
/* 803B24A8 003AF408 7C 08 03 A6 */ mtlr r0
/* 803B24AC 003AF40C 38 21 00 10 */ addi r1, r1, 0x10
/* 803B24B0 003AF410 4E 80 00 20 */ blr
/* 803B24B0 003AF410 4E 80 00 20 */ blr
.global inpGetVolume
inpGetVolume:
@ -1547,7 +1663,7 @@ lbl_803B24EC:
/* 803B24EC 003AF44C 80 01 00 14 */ lwz r0, 0x14(r1)
/* 803B24F0 003AF450 7C 08 03 A6 */ mtlr r0
/* 803B24F4 003AF454 38 21 00 10 */ addi r1, r1, 0x10
/* 803B24F8 003AF458 4E 80 00 20 */ blr
/* 803B24F8 003AF458 4E 80 00 20 */ blr
.global sub_803b24fc
sub_803b24fc:
@ -1570,7 +1686,7 @@ lbl_803B2534:
/* 803B2534 003AF494 80 01 00 14 */ lwz r0, 0x14(r1)
/* 803B2538 003AF498 7C 08 03 A6 */ mtlr r0
/* 803B253C 003AF49C 38 21 00 10 */ addi r1, r1, 0x10
/* 803B2540 003AF4A0 4E 80 00 20 */ blr
/* 803B2540 003AF4A0 4E 80 00 20 */ blr
.global sub_803b2544
sub_803b2544:
@ -1593,7 +1709,7 @@ lbl_803B257C:
/* 803B257C 003AF4DC 80 01 00 14 */ lwz r0, 0x14(r1)
/* 803B2580 003AF4E0 7C 08 03 A6 */ mtlr r0
/* 803B2584 003AF4E4 38 21 00 10 */ addi r1, r1, 0x10
/* 803B2588 003AF4E8 4E 80 00 20 */ blr
/* 803B2588 003AF4E8 4E 80 00 20 */ blr
.global sub_803b258c
sub_803b258c:
@ -1616,7 +1732,7 @@ lbl_803B25C4:
/* 803B25C4 003AF524 80 01 00 14 */ lwz r0, 0x14(r1)
/* 803B25C8 003AF528 7C 08 03 A6 */ mtlr r0
/* 803B25CC 003AF52C 38 21 00 10 */ addi r1, r1, 0x10
/* 803B25D0 003AF530 4E 80 00 20 */ blr
/* 803B25D0 003AF530 4E 80 00 20 */ blr
.global sub_803b25d4
sub_803b25d4:
@ -1639,7 +1755,7 @@ lbl_803B260C:
/* 803B260C 003AF56C 80 01 00 14 */ lwz r0, 0x14(r1)
/* 803B2610 003AF570 7C 08 03 A6 */ mtlr r0
/* 803B2614 003AF574 38 21 00 10 */ addi r1, r1, 0x10
/* 803B2618 003AF578 4E 80 00 20 */ blr
/* 803B2618 003AF578 4E 80 00 20 */ blr
.global sub_803b261c
sub_803b261c:
@ -1662,16 +1778,16 @@ lbl_803B2654:
/* 803B2654 003AF5B4 80 01 00 14 */ lwz r0, 0x14(r1)
/* 803B2658 003AF5B8 7C 08 03 A6 */ mtlr r0
/* 803B265C 003AF5BC 38 21 00 10 */ addi r1, r1, 0x10
/* 803B2660 003AF5C0 4E 80 00 20 */ blr
/* 803B2660 003AF5C0 4E 80 00 20 */ blr
.global sub_803b2664
sub_803b2664:
/* 803B2664 003AF5C4 94 21 FF F0 */ stwu r1, -0x10(r1)
/* 803B2668 003AF5C8 7C 08 02 A6 */ mflr r0
/* 803B266C 003AF5CC 3C E0 80 56 */ lis r7, lbl_80560790@ha
/* 803B266C 003AF5CC 3C E0 80 56 */ lis r7, inpGlobalMIDIDirtyFlags@ha
/* 803B2670 003AF5D0 3D 20 80 3F */ lis r9, lbl_803F41E8@ha
/* 803B2674 003AF5D4 90 01 00 14 */ stw r0, 0x14(r1)
/* 803B2678 003AF5D8 38 07 07 90 */ addi r0, r7, lbl_80560790@l
/* 803B2678 003AF5D8 38 07 07 90 */ addi r0, r7, inpGlobalMIDIDirtyFlags@l
/* 803B267C 003AF5DC 54 C8 34 B2 */ rlwinm r8, r6, 6, 0x12, 0x19
/* 803B2680 003AF5E0 38 E9 41 E8 */ addi r7, r9, lbl_803F41E8@l
/* 803B2684 003AF5E4 54 8A 15 BA */ rlwinm r10, r4, 2, 0x16, 0x1d
@ -1691,9 +1807,9 @@ lbl_803B26B8:
/* 803B26B8 003AF618 28 04 00 00 */ cmplwi r4, 0
/* 803B26BC 003AF61C 41 82 00 2C */ beq lbl_803B26E8
/* 803B26C0 003AF620 54 60 06 3E */ clrlwi r0, r3, 0x18
/* 803B26C4 003AF624 3C 60 80 55 */ lis r3, lbl_80550F74@ha
/* 803B26C4 003AF624 3C 60 80 55 */ lis r3, inpAuxA@ha
/* 803B26C8 003AF628 1C E0 00 90 */ mulli r7, r0, 0x90
/* 803B26CC 003AF62C 38 83 0F 74 */ addi r4, r3, lbl_80550F74@l
/* 803B26CC 003AF62C 38 83 0F 74 */ addi r4, r3, inpAuxA@l
/* 803B26D0 003AF630 38 60 00 00 */ li r3, 0
/* 803B26D4 003AF634 1C 0B 00 24 */ mulli r0, r11, 0x24
/* 803B26D8 003AF638 7C 84 3A 14 */ add r4, r4, r7
@ -1702,9 +1818,9 @@ lbl_803B26B8:
/* 803B26E4 003AF644 48 00 00 24 */ b lbl_803B2708
lbl_803B26E8:
/* 803B26E8 003AF648 54 60 06 3E */ clrlwi r0, r3, 0x18
/* 803B26EC 003AF64C 3C 80 80 55 */ lis r4, lbl_80550F74@ha
/* 803B26EC 003AF64C 3C 80 80 55 */ lis r4, inpAuxA@ha
/* 803B26F0 003AF650 1C 60 00 90 */ mulli r3, r0, 0x90
/* 803B26F4 003AF654 38 84 0F 74 */ addi r4, r4, lbl_80550F74@l
/* 803B26F4 003AF654 38 84 0F 74 */ addi r4, r4, inpAuxA@l
/* 803B26F8 003AF658 1C 0B 00 24 */ mulli r0, r11, 0x24
/* 803B26FC 003AF65C 7C 64 1A 14 */ add r3, r4, r3
/* 803B2700 003AF660 7C 63 02 14 */ add r3, r3, r0
@ -1713,16 +1829,16 @@ lbl_803B2708:
/* 803B2708 003AF668 80 01 00 14 */ lwz r0, 0x14(r1)
/* 803B270C 003AF66C 7C 08 03 A6 */ mtlr r0
/* 803B2710 003AF670 38 21 00 10 */ addi r1, r1, 0x10
/* 803B2714 003AF674 4E 80 00 20 */ blr
/* 803B2714 003AF674 4E 80 00 20 */ blr
.global inpGetAuxA
inpGetAuxA:
/* 803B2718 003AF678 94 21 FF F0 */ stwu r1, -0x10(r1)
/* 803B271C 003AF67C 7C 08 02 A6 */ mflr r0
/* 803B2720 003AF680 3C E0 80 56 */ lis r7, lbl_80560790@ha
/* 803B2720 003AF680 3C E0 80 56 */ lis r7, inpGlobalMIDIDirtyFlags@ha
/* 803B2724 003AF684 3D 20 80 3F */ lis r9, lbl_803F41F8@ha
/* 803B2728 003AF688 90 01 00 14 */ stw r0, 0x14(r1)
/* 803B272C 003AF68C 38 07 07 90 */ addi r0, r7, lbl_80560790@l
/* 803B272C 003AF68C 38 07 07 90 */ addi r0, r7, inpGlobalMIDIDirtyFlags@l
/* 803B2730 003AF690 54 C8 34 B2 */ rlwinm r8, r6, 6, 0x12, 0x19
/* 803B2734 003AF694 38 E9 41 F8 */ addi r7, r9, lbl_803F41F8@l
/* 803B2738 003AF698 54 8A 15 BA */ rlwinm r10, r4, 2, 0x16, 0x1d
@ -1742,9 +1858,9 @@ lbl_803B276C:
/* 803B276C 003AF6CC 28 04 00 00 */ cmplwi r4, 0
/* 803B2770 003AF6D0 41 82 00 2C */ beq lbl_803B279C
/* 803B2774 003AF6D4 54 60 06 3E */ clrlwi r0, r3, 0x18
/* 803B2778 003AF6D8 3C 60 80 55 */ lis r3, lbl_80550AF4@ha
/* 803B2778 003AF6D8 3C 60 80 55 */ lis r3, inpAuxB@ha
/* 803B277C 003AF6DC 1C E0 00 90 */ mulli r7, r0, 0x90
/* 803B2780 003AF6E0 38 83 0A F4 */ addi r4, r3, lbl_80550AF4@l
/* 803B2780 003AF6E0 38 83 0A F4 */ addi r4, r3, inpAuxB@l
/* 803B2784 003AF6E4 38 60 00 00 */ li r3, 0
/* 803B2788 003AF6E8 1C 0B 00 24 */ mulli r0, r11, 0x24
/* 803B278C 003AF6EC 7C 84 3A 14 */ add r4, r4, r7
@ -1753,9 +1869,9 @@ lbl_803B276C:
/* 803B2798 003AF6F8 48 00 00 24 */ b lbl_803B27BC
lbl_803B279C:
/* 803B279C 003AF6FC 54 60 06 3E */ clrlwi r0, r3, 0x18
/* 803B27A0 003AF700 3C 80 80 55 */ lis r4, lbl_80550AF4@ha
/* 803B27A0 003AF700 3C 80 80 55 */ lis r4, inpAuxB@ha
/* 803B27A4 003AF704 1C 60 00 90 */ mulli r3, r0, 0x90
/* 803B27A8 003AF708 38 84 0A F4 */ addi r4, r4, lbl_80550AF4@l
/* 803B27A8 003AF708 38 84 0A F4 */ addi r4, r4, inpAuxB@l
/* 803B27AC 003AF70C 1C 0B 00 24 */ mulli r0, r11, 0x24
/* 803B27B0 003AF710 7C 64 1A 14 */ add r3, r4, r3
/* 803B27B4 003AF714 7C 63 02 14 */ add r3, r3, r0
@ -1764,7 +1880,7 @@ lbl_803B27BC:
/* 803B27BC 003AF71C 80 01 00 14 */ lwz r0, 0x14(r1)
/* 803B27C0 003AF720 7C 08 03 A6 */ mtlr r0
/* 803B27C4 003AF724 38 21 00 10 */ addi r1, r1, 0x10
/* 803B27C8 003AF728 4E 80 00 20 */ blr
/* 803B27C8 003AF728 4E 80 00 20 */ blr
.global sub_803b27cc
sub_803b27cc:
@ -1841,11 +1957,11 @@ sub_803b27cc:
/* 803B28E4 003AF844 9B A3 00 A8 */ stb r29, 0xa8(r3)
/* 803B28E8 003AF848 48 00 01 54 */ b lbl_803B2A3C
lbl_803B28EC:
/* 803B28EC 003AF84C 3C 80 80 55 */ lis r4, lbl_80550F74@ha
/* 803B28F0 003AF850 3C 60 80 55 */ lis r3, lbl_80550AF4@ha
/* 803B28F4 003AF854 38 A3 0A F4 */ addi r5, r3, lbl_80550AF4@l
/* 803B28EC 003AF84C 3C 80 80 55 */ lis r4, inpAuxA@ha
/* 803B28F0 003AF850 3C 60 80 55 */ lis r3, inpAuxB@ha
/* 803B28F4 003AF854 38 A3 0A F4 */ addi r5, r3, inpAuxB@l
/* 803B28F8 003AF858 38 00 00 02 */ li r0, 2
/* 803B28FC 003AF85C 38 84 0F 74 */ addi r4, r4, lbl_80550F74@l
/* 803B28FC 003AF85C 38 84 0F 74 */ addi r4, r4, inpAuxA@l
/* 803B2900 003AF860 38 60 00 00 */ li r3, 0
/* 803B2904 003AF864 7C 09 03 A6 */ mtctr r0
lbl_803B2908:
@ -1884,9 +2000,9 @@ lbl_803B2908:
/* 803B2988 003AF8E8 98 65 02 3E */ stb r3, 0x23e(r5)
/* 803B298C 003AF8EC 38 A5 02 40 */ addi r5, r5, 0x240
/* 803B2990 003AF8F0 42 00 FF 78 */ bdnz lbl_803B2908
/* 803B2994 003AF8F4 3C 60 80 56 */ lis r3, lbl_80560790@ha
/* 803B2994 003AF8F4 3C 60 80 56 */ lis r3, inpGlobalMIDIDirtyFlags@ha
/* 803B2998 003AF8F8 38 00 00 04 */ li r0, 4
/* 803B299C 003AF8FC 38 A3 07 90 */ addi r5, r3, lbl_80560790@l
/* 803B299C 003AF8FC 38 A3 07 90 */ addi r5, r3, inpGlobalMIDIDirtyFlags@l
/* 803B29A0 003AF900 38 60 00 00 */ li r3, 0
/* 803B29A4 003AF904 7C 09 03 A6 */ mtctr r0
lbl_803B29A8:
@ -1932,38 +2048,38 @@ lbl_803B2A3C:
/* 803B2A40 003AF9A0 83 C1 00 18 */ lwz r30, 0x18(r1)
/* 803B2A44 003AF9A4 83 A1 00 14 */ lwz r29, 0x14(r1)
/* 803B2A48 003AF9A8 38 21 00 20 */ addi r1, r1, 0x20
/* 803B2A4C 003AF9AC 4E 80 00 20 */ blr
/* 803B2A4C 003AF9AC 4E 80 00 20 */ blr
.global inpTranslateExCtrl
inpTranslateExCtrl:
/* 803B2A50 003AF9B0 54 64 06 3E */ clrlwi r4, r3, 0x18
/* 803B2A54 003AF9B4 38 04 FF 80 */ addi r0, r4, -128
/* 803B2A58 003AF9B8 28 00 00 08 */ cmplwi r0, 8
/* 803B2A5C 003AF9BC 4D 81 00 20 */ bgtlr
/* 803B2A5C 003AF9BC 4D 81 00 20 */ bgtlr
/* 803B2A60 003AF9C0 3C 80 80 3F */ lis r4, lbl_803F4208@ha
/* 803B2A64 003AF9C4 54 00 10 3A */ slwi r0, r0, 2
/* 803B2A68 003AF9C8 38 84 42 08 */ addi r4, r4, lbl_803F4208@l
/* 803B2A6C 003AF9CC 7C 04 00 2E */ lwzx r0, r4, r0
/* 803B2A70 003AF9D0 7C 09 03 A6 */ mtctr r0
/* 803B2A74 003AF9D4 4E 80 04 20 */ bctr
/* 803B2A74 003AF9D4 4E 80 04 20 */ bctr
/* 803B2A78 003AF9D8 38 60 00 80 */ li r3, 0x80
/* 803B2A7C 003AF9DC 4E 80 00 20 */ blr
/* 803B2A7C 003AF9DC 4E 80 00 20 */ blr
/* 803B2A80 003AF9E0 38 60 00 82 */ li r3, 0x82
/* 803B2A84 003AF9E4 4E 80 00 20 */ blr
/* 803B2A84 003AF9E4 4E 80 00 20 */ blr
/* 803B2A88 003AF9E8 38 60 00 A0 */ li r3, 0xa0
/* 803B2A8C 003AF9EC 4E 80 00 20 */ blr
/* 803B2A8C 003AF9EC 4E 80 00 20 */ blr
/* 803B2A90 003AF9F0 38 60 00 A1 */ li r3, 0xa1
/* 803B2A94 003AF9F4 4E 80 00 20 */ blr
/* 803B2A94 003AF9F4 4E 80 00 20 */ blr
/* 803B2A98 003AF9F8 38 60 00 83 */ li r3, 0x83
/* 803B2A9C 003AF9FC 4E 80 00 20 */ blr
/* 803B2A9C 003AF9FC 4E 80 00 20 */ blr
/* 803B2AA0 003AFA00 38 60 00 84 */ li r3, 0x84
/* 803B2AA4 003AFA04 4E 80 00 20 */ blr
/* 803B2AA4 003AFA04 4E 80 00 20 */ blr
/* 803B2AA8 003AFA08 38 60 00 A2 */ li r3, 0xa2
/* 803B2AAC 003AFA0C 4E 80 00 20 */ blr
/* 803B2AAC 003AFA0C 4E 80 00 20 */ blr
/* 803B2AB0 003AFA10 38 60 00 A3 */ li r3, 0xa3
/* 803B2AB4 003AFA14 4E 80 00 20 */ blr
/* 803B2AB4 003AFA14 4E 80 00 20 */ blr
/* 803B2AB8 003AFA18 38 60 00 A4 */ li r3, 0xa4
/* 803B2ABC 003AFA1C 4E 80 00 20 */ blr
/* 803B2ABC 003AFA1C 4E 80 00 20 */ blr
.global inpGetExCtrl
inpGetExCtrl:
@ -1980,7 +2096,7 @@ inpGetExCtrl:
/* 803B2AE8 003AFA48 38 A5 42 2C */ addi r5, r5, lbl_803F422C@l
/* 803B2AEC 003AFA4C 7C 05 00 2E */ lwzx r0, r5, r0
/* 803B2AF0 003AFA50 7C 09 03 A6 */ mtctr r0
/* 803B2AF4 003AFA54 4E 80 04 20 */ bctr
/* 803B2AF4 003AFA54 4E 80 04 20 */ bctr
/* 803B2AF8 003AFA58 38 C0 00 80 */ li r6, 0x80
/* 803B2AFC 003AFA5C 48 00 00 40 */ b lbl_803B2B3C
/* 803B2B00 003AFA60 38 C0 00 82 */ li r6, 0x82
@ -2036,7 +2152,7 @@ lbl_803B2BAC:
/* 803B2BAC 003AFB0C 80 01 00 14 */ lwz r0, 0x14(r1)
/* 803B2BB0 003AFB10 7C 08 03 A6 */ mtlr r0
/* 803B2BB4 003AFB14 38 21 00 10 */ addi r1, r1, 0x10
/* 803B2BB8 003AFB18 4E 80 00 20 */ blr
/* 803B2BB8 003AFB18 4E 80 00 20 */ blr
.global inpSetExCtrl
inpSetExCtrl:
@ -2179,4 +2295,4 @@ lbl_803B2D80:
/* 803B2D90 003AFCF0 83 81 00 10 */ lwz r28, 0x10(r1)
/* 803B2D94 003AFCF4 7C 08 03 A6 */ mtlr r0
/* 803B2D98 003AFCF8 38 21 00 20 */ addi r1, r1, 0x20
/* 803B2D9C 003AFCFC 4E 80 00 20 */ blr
/* 803B2D9C 003AFCFC 4E 80 00 20 */ blr

View File

@ -89,9 +89,9 @@ sndFXStartEx:
/* 8039C2B4 00399214 93 81 00 10 */ stw r28, 0x10(r1)
/* 8039C2B8 00399218 7C 7C 1B 78 */ mr r28, r3
/* 8039C2BC 0039921C 48 01 8E 01 */ bl hwDisableIrq
/* 8039C2C0 00399220 3C 60 80 55 */ lis r3, lbl_80550AA4@ha
/* 8039C2C0 00399220 3C 60 80 55 */ lis r3, synthITDDefault@ha
/* 8039C2C4 00399224 57 E0 0D FC */ rlwinm r0, r31, 1, 0x17, 0x1e
/* 8039C2C8 00399228 38 83 0A A4 */ addi r4, r3, lbl_80550AA4@l
/* 8039C2C8 00399228 38 83 0A A4 */ addi r4, r3, synthITDDefault@l
/* 8039C2CC 0039922C 7F E6 FB 78 */ mr r6, r31
/* 8039C2D0 00399230 7C A4 02 14 */ add r5, r4, r0
/* 8039C2D4 00399234 7F 83 E3 78 */ mr r3, r28
@ -297,22 +297,22 @@ sndSetAuxProcessingCallbacks:
/* 8039C58C 003994EC 41 82 00 58 */ beq lbl_8039C5E4
/* 8039C590 003994F0 7E E3 BB 78 */ mr r3, r23
/* 8039C594 003994F4 4B FF 87 9D */ bl seqGetPrivateId
/* 8039C598 003994F8 3C A0 80 55 */ lis r5, lbl_80550A44@ha
/* 8039C59C 003994FC 3C 80 80 55 */ lis r4, lbl_80550A24@ha
/* 8039C598 003994F8 3C A0 80 55 */ lis r5, synthAuxACallback@ha
/* 8039C59C 003994FC 3C 80 80 55 */ lis r4, synthAuxAUser@ha
/* 8039C5A0 00399500 38 CD AE 5C */ addi r6, r13, synthAuxAMIDISet@sda21
/* 8039C5A4 00399504 57 00 10 3A */ slwi r0, r24, 2
/* 8039C5A8 00399508 38 A5 0A 44 */ addi r5, r5, lbl_80550A44@l
/* 8039C5AC 0039950C 38 84 0A 24 */ addi r4, r4, lbl_80550A24@l
/* 8039C5A8 00399508 38 A5 0A 44 */ addi r5, r5, synthAuxACallback@l
/* 8039C5AC 0039950C 38 84 0A 24 */ addi r4, r4, synthAuxAUser@l
/* 8039C5B0 00399510 7C 66 C1 AE */ stbx r3, r6, r24
/* 8039C5B4 00399514 7F 45 01 2E */ stwx r26, r5, r0
/* 8039C5B8 00399518 7F 64 01 2E */ stwx r27, r4, r0
/* 8039C5BC 0039951C 48 00 00 28 */ b lbl_8039C5E4
lbl_8039C5C0:
/* 8039C5C0 00399520 3C 60 80 55 */ lis r3, lbl_80550A44@ha
/* 8039C5C0 00399520 3C 60 80 55 */ lis r3, synthAuxACallback@ha
/* 8039C5C4 00399524 57 27 06 3E */ clrlwi r7, r25, 0x18
/* 8039C5C8 00399528 57 25 15 BA */ rlwinm r5, r25, 2, 0x16, 0x1d
/* 8039C5CC 0039952C 38 C0 00 00 */ li r6, 0
/* 8039C5D0 00399530 38 83 0A 44 */ addi r4, r3, lbl_80550A44@l
/* 8039C5D0 00399530 38 83 0A 44 */ addi r4, r3, synthAuxACallback@l
/* 8039C5D4 00399534 38 00 00 FF */ li r0, 0xff
/* 8039C5D8 00399538 38 6D AE 64 */ addi r3, r13, synthAuxAMIDI@sda21
/* 8039C5DC 0039953C 7C C4 29 2E */ stwx r6, r4, r5
@ -328,22 +328,22 @@ lbl_8039C5E4:
/* 8039C600 00399560 41 82 00 58 */ beq lbl_8039C658
/* 8039C604 00399564 7F E3 FB 78 */ mr r3, r31
/* 8039C608 00399568 4B FF 87 29 */ bl seqGetPrivateId
/* 8039C60C 0039956C 3C A0 80 55 */ lis r5, lbl_80550A84@ha
/* 8039C610 00399570 3C 80 80 55 */ lis r4, lbl_80550A64@ha
/* 8039C60C 0039956C 3C A0 80 55 */ lis r5, synthAuxBCallback@ha
/* 8039C610 00399570 3C 80 80 55 */ lis r4, synthAuxBUser@ha
/* 8039C614 00399574 38 CD AE 4C */ addi r6, r13, synthAuxBMidiSet@sda21
/* 8039C618 00399578 57 00 10 3A */ slwi r0, r24, 2
/* 8039C61C 0039957C 38 A5 0A 84 */ addi r5, r5, lbl_80550A84@l
/* 8039C620 00399580 38 84 0A 64 */ addi r4, r4, lbl_80550A64@l
/* 8039C61C 0039957C 38 A5 0A 84 */ addi r5, r5, synthAuxBCallback@l
/* 8039C620 00399580 38 84 0A 64 */ addi r4, r4, synthAuxBUser@l
/* 8039C624 00399584 7C 66 C1 AE */ stbx r3, r6, r24
/* 8039C628 00399588 7F 85 01 2E */ stwx r28, r5, r0
/* 8039C62C 0039958C 7F A4 01 2E */ stwx r29, r4, r0
/* 8039C630 00399590 48 00 00 28 */ b lbl_8039C658
lbl_8039C634:
/* 8039C634 00399594 3C 60 80 55 */ lis r3, lbl_80550A84@ha
/* 8039C634 00399594 3C 60 80 55 */ lis r3, synthAuxBCallback@ha
/* 8039C638 00399598 57 27 06 3E */ clrlwi r7, r25, 0x18
/* 8039C63C 0039959C 57 25 15 BA */ rlwinm r5, r25, 2, 0x16, 0x1d
/* 8039C640 003995A0 38 C0 00 00 */ li r6, 0
/* 8039C644 003995A4 38 83 0A 84 */ addi r4, r3, lbl_80550A84@l
/* 8039C644 003995A4 38 83 0A 84 */ addi r4, r3, synthAuxBCallback@l
/* 8039C648 003995A8 38 00 00 FF */ li r0, 0xff
/* 8039C64C 003995AC 38 6D AE 54 */ addi r3, r13, synthAuxBMIDI@sda21
/* 8039C650 003995B0 7C C4 29 2E */ stwx r6, r4, r5
@ -375,18 +375,18 @@ sub_8039c68c:
/* 8039C6A8 00399608 93 A1 00 14 */ stw r29, 0x14(r1)
/* 8039C6AC 0039960C 7C 7D 1B 78 */ mr r29, r3
/* 8039C6B0 00399610 48 01 8A 0D */ bl hwDisableIrq
/* 8039C6B4 00399614 3C 60 80 55 */ lis r3, lbl_80550AA4@ha
/* 8039C6B8 00399618 3C 80 80 55 */ lis r4, lbl_80550A44@ha
/* 8039C6BC 0039961C 38 C3 0A A4 */ addi r6, r3, lbl_80550AA4@l
/* 8039C6B4 00399614 3C 60 80 55 */ lis r3, synthITDDefault@ha
/* 8039C6B8 00399618 3C 80 80 55 */ lis r4, synthAuxACallback@ha
/* 8039C6BC 0039961C 38 C3 0A A4 */ addi r6, r3, synthITDDefault@l
/* 8039C6C0 00399620 57 AC 0D FC */ rlwinm r12, r29, 1, 0x17, 0x1e
/* 8039C6C4 00399624 7C 66 62 14 */ add r3, r6, r12
/* 8039C6C8 00399628 39 20 00 00 */ li r9, 0
/* 8039C6CC 0039962C 99 23 00 01 */ stb r9, 1(r3)
/* 8039C6D0 00399630 3C 60 80 55 */ lis r3, lbl_80550A84@ha
/* 8039C6D0 00399630 3C 60 80 55 */ lis r3, synthAuxBCallback@ha
/* 8039C6D4 00399634 57 AB 06 3E */ clrlwi r11, r29, 0x18
/* 8039C6D8 00399638 57 AA 15 BA */ rlwinm r10, r29, 2, 0x16, 0x1d
/* 8039C6DC 0039963C 38 84 0A 44 */ addi r4, r4, lbl_80550A44@l
/* 8039C6E0 00399640 38 A3 0A 84 */ addi r5, r3, lbl_80550A84@l
/* 8039C6DC 0039963C 38 84 0A 44 */ addi r4, r4, synthAuxACallback@l
/* 8039C6E0 00399640 38 A3 0A 84 */ addi r5, r3, synthAuxBCallback@l
/* 8039C6E4 00399644 38 00 00 FF */ li r0, 0xff
/* 8039C6E8 00399648 39 0D AE 64 */ addi r8, r13, synthAuxAMIDI@sda21
/* 8039C6EC 0039964C 38 ED AE 54 */ addi r7, r13, synthAuxBMIDI@sda21
@ -451,13 +451,13 @@ lbl_8039C7B8:
/* 8039C7BC 0039971C 7C 1B 00 40 */ cmplw r27, r0
/* 8039C7C0 00399720 41 80 FF A4 */ blt lbl_8039C764
/* 8039C7C4 00399724 48 01 88 F9 */ bl hwDisableIrq
/* 8039C7C8 00399728 3C 80 80 55 */ lis r4, lbl_80550A44@ha
/* 8039C7CC 0039972C 3C 60 80 55 */ lis r3, lbl_80550A84@ha
/* 8039C7C8 00399728 3C 80 80 55 */ lis r4, synthAuxACallback@ha
/* 8039C7CC 0039972C 3C 60 80 55 */ lis r3, synthAuxBCallback@ha
/* 8039C7D0 00399730 57 E9 06 3E */ clrlwi r9, r31, 0x18
/* 8039C7D4 00399734 57 E8 15 BA */ rlwinm r8, r31, 2, 0x16, 0x1d
/* 8039C7D8 00399738 38 C4 0A 44 */ addi r6, r4, lbl_80550A44@l
/* 8039C7D8 00399738 38 C4 0A 44 */ addi r6, r4, synthAuxACallback@l
/* 8039C7DC 0039973C 38 E0 00 00 */ li r7, 0
/* 8039C7E0 00399740 38 A3 0A 84 */ addi r5, r3, lbl_80550A84@l
/* 8039C7E0 00399740 38 A3 0A 84 */ addi r5, r3, synthAuxBCallback@l
/* 8039C7E4 00399744 38 00 00 FF */ li r0, 0xff
/* 8039C7E8 00399748 38 8D AE 64 */ addi r4, r13, synthAuxAMIDI@sda21
/* 8039C7EC 0039974C 38 6D AE 54 */ addi r3, r13, synthAuxBMIDI@sda21

View File

@ -1,5 +1,10 @@
.include "macros.inc"
.section .bss
.global streamInfo
streamInfo:
.skip 0x1900
.section .sbss
.balign 4
nextPublicID:
@ -27,9 +32,9 @@ streamInit:
/* 8039C890 003997F0 38 C3 FF F8 */ addi r6, r3, -8
/* 8039C894 003997F4 40 81 00 4C */ ble lbl_8039C8E0
/* 8039C898 003997F8 38 06 00 07 */ addi r0, r6, 7
/* 8039C89C 003997FC 3C 60 80 55 */ lis r3, lbl_805513F8@ha
/* 8039C89C 003997FC 3C 60 80 55 */ lis r3, streamInfo@ha
/* 8039C8A0 00399800 54 00 E8 FE */ srwi r0, r0, 3
/* 8039C8A4 00399804 38 63 13 F8 */ addi r3, r3, lbl_805513F8@l
/* 8039C8A4 00399804 38 63 13 F8 */ addi r3, r3, streamInfo@l
/* 8039C8A8 00399808 7C 09 03 A6 */ mtctr r0
/* 8039C8AC 0039980C 2C 06 00 00 */ cmpwi r6, 0
/* 8039C8B0 00399810 40 81 00 30 */ ble lbl_8039C8E0
@ -48,9 +53,9 @@ lbl_8039C8B4:
lbl_8039C8E0:
/* 8039C8E0 00399840 88 C4 02 10 */ lbz r6, 0x210(r4)
/* 8039C8E4 00399844 1C A7 00 64 */ mulli r5, r7, 0x64
/* 8039C8E8 00399848 3C 60 80 55 */ lis r3, lbl_805513F8@ha
/* 8039C8E8 00399848 3C 60 80 55 */ lis r3, streamInfo@ha
/* 8039C8EC 0039984C 7C 07 30 50 */ subf r0, r7, r6
/* 8039C8F0 00399850 38 83 13 F8 */ addi r4, r3, lbl_805513F8@l
/* 8039C8F0 00399850 38 83 13 F8 */ addi r4, r3, streamInfo@l
/* 8039C8F4 00399854 38 60 00 00 */ li r3, 0
/* 8039C8F8 00399858 7C 84 2A 14 */ add r4, r4, r5
/* 8039C8FC 0039985C 7C 09 03 A6 */ mtctr r0
@ -118,8 +123,8 @@ streamHandle:
/* 8039C9D4 00399934 48 00 08 6C */ b lbl_8039D240
lbl_8039C9D8:
/* 8039C9D8 00399938 88 8D AE 94 */ lbz r4, streamCallDelay@sda21(r13)
/* 8039C9DC 0039993C 3C 60 80 55 */ lis r3, lbl_805513F8@ha
/* 8039C9E0 00399940 38 03 13 F8 */ addi r0, r3, lbl_805513F8@l
/* 8039C9DC 0039993C 3C 60 80 55 */ lis r3, streamInfo@ha
/* 8039C9E0 00399940 38 03 13 F8 */ addi r0, r3, streamInfo@l
/* 8039C9E4 00399944 3C 60 80 55 */ lis r3, synthInfo@ha
/* 8039C9E8 00399948 98 8D AE 95 */ stb r4, streamCallCnt@sda21(r13)
/* 8039C9EC 0039994C 7C 1C 03 78 */ mr r28, r0
@ -704,9 +709,9 @@ streamKill:
/* 8039D25C 0039A1BC 94 21 FF F0 */ stwu r1, -0x10(r1)
/* 8039D260 0039A1C0 7C 08 02 A6 */ mflr r0
/* 8039D264 0039A1C4 1C 83 00 64 */ mulli r4, r3, 0x64
/* 8039D268 0039A1C8 3C 60 80 55 */ lis r3, lbl_805513F8@ha
/* 8039D268 0039A1C8 3C 60 80 55 */ lis r3, streamInfo@ha
/* 8039D26C 0039A1CC 90 01 00 14 */ stw r0, 0x14(r1)
/* 8039D270 0039A1D0 38 03 13 F8 */ addi r0, r3, lbl_805513F8@l
/* 8039D270 0039A1D0 38 03 13 F8 */ addi r0, r3, streamInfo@l
/* 8039D274 0039A1D4 93 E1 00 0C */ stw r31, 0xc(r1)
/* 8039D278 0039A1D8 7F E0 22 14 */ add r31, r0, r4
/* 8039D27C 0039A1DC 88 1F 00 0C */ lbz r0, 0xc(r31)
@ -740,9 +745,9 @@ lbl_8039D2CC:
.global GetPrivateIndex
GetPrivateIndex:
/* 8039D2E0 0039A240 3C 80 80 55 */ lis r4, lbl_805513F8@ha
/* 8039D2E0 0039A240 3C 80 80 55 */ lis r4, streamInfo@ha
/* 8039D2E4 0039A244 38 00 00 08 */ li r0, 8
/* 8039D2E8 0039A248 38 84 13 F8 */ addi r4, r4, lbl_805513F8@l
/* 8039D2E8 0039A248 38 84 13 F8 */ addi r4, r4, streamInfo@l
/* 8039D2EC 0039A24C 38 A0 00 00 */ li r5, 0
/* 8039D2F0 0039A250 7C 09 03 A6 */ mtctr r0
lbl_8039D2F4:
@ -851,9 +856,9 @@ sndStreamARAMUpdate:
/* 8039D460 0039A3C0 7C DC 33 78 */ mr r28, r6
/* 8039D464 0039A3C4 7C FD 3B 78 */ mr r29, r7
/* 8039D468 0039A3C8 48 01 7C 55 */ bl hwDisableIrq
/* 8039D46C 0039A3CC 3C 60 80 55 */ lis r3, lbl_805513F8@ha
/* 8039D46C 0039A3CC 3C 60 80 55 */ lis r3, streamInfo@ha
/* 8039D470 0039A3D0 38 00 00 08 */ li r0, 8
/* 8039D474 0039A3D4 38 83 13 F8 */ addi r4, r3, lbl_805513F8@l
/* 8039D474 0039A3D4 38 83 13 F8 */ addi r4, r3, streamInfo@l
/* 8039D478 0039A3D8 38 60 00 00 */ li r3, 0
/* 8039D47C 0039A3DC 7C 09 03 A6 */ mtctr r0
lbl_8039D480:
@ -944,8 +949,8 @@ lbl_8039D5A8:
/* 8039D5AC 0039A50C 28 00 FF FF */ cmplwi r0, 0xffff
/* 8039D5B0 0039A510 41 82 01 58 */ beq lbl_8039D708
/* 8039D5B4 0039A514 1F E3 00 64 */ mulli r31, r3, 0x64
/* 8039D5B8 0039A518 3C 60 80 55 */ lis r3, lbl_805513F8@ha
/* 8039D5BC 0039A51C 38 03 13 F8 */ addi r0, r3, lbl_805513F8@l
/* 8039D5B8 0039A518 3C 60 80 55 */ lis r3, streamInfo@ha
/* 8039D5BC 0039A51C 38 03 13 F8 */ addi r0, r3, streamInfo@l
/* 8039D5C0 0039A520 7F C0 FA 14 */ add r30, r0, r31
/* 8039D5C4 0039A524 88 1E 00 0D */ lbz r0, 0xd(r30)
/* 8039D5C8 0039A528 3B DE 00 0D */ addi r30, r30, 0xd
@ -989,9 +994,9 @@ lbl_8039D5F8:
lbl_8039D658:
/* 8039D658 0039A5B8 28 1B 00 00 */ cmplwi r27, 0
/* 8039D65C 0039A5BC 41 82 00 2C */ beq lbl_8039D688
/* 8039D660 0039A5C0 3C 60 80 55 */ lis r3, lbl_805513F8@ha
/* 8039D660 0039A5C0 3C 60 80 55 */ lis r3, streamInfo@ha
/* 8039D664 0039A5C4 7F 44 D3 78 */ mr r4, r26
/* 8039D668 0039A5C8 38 03 13 F8 */ addi r0, r3, lbl_805513F8@l
/* 8039D668 0039A5C8 38 03 13 F8 */ addi r0, r3, streamInfo@l
/* 8039D66C 0039A5CC 7F 65 DB 78 */ mr r5, r27
/* 8039D670 0039A5D0 7C C0 FA 14 */ add r6, r0, r31
/* 8039D674 0039A5D4 38 E0 00 00 */ li r7, 0
@ -1002,9 +1007,9 @@ lbl_8039D658:
lbl_8039D688:
/* 8039D688 0039A5E8 28 1D 00 00 */ cmplwi r29, 0
/* 8039D68C 0039A5EC 41 82 00 2C */ beq lbl_8039D6B8
/* 8039D690 0039A5F0 3C 60 80 55 */ lis r3, lbl_805513F8@ha
/* 8039D690 0039A5F0 3C 60 80 55 */ lis r3, streamInfo@ha
/* 8039D694 0039A5F4 7F 84 E3 78 */ mr r4, r28
/* 8039D698 0039A5F8 38 03 13 F8 */ addi r0, r3, lbl_805513F8@l
/* 8039D698 0039A5F8 38 03 13 F8 */ addi r0, r3, streamInfo@l
/* 8039D69C 0039A5FC 7F A5 EB 78 */ mr r5, r29
/* 8039D6A0 0039A600 7C C0 FA 14 */ add r6, r0, r31
/* 8039D6A4 0039A604 38 E0 00 00 */ li r7, 0
@ -1016,8 +1021,8 @@ lbl_8039D6B8:
/* 8039D6B8 0039A618 88 1E 00 00 */ lbz r0, 0(r30)
/* 8039D6BC 0039A61C 28 00 00 01 */ cmplwi r0, 1
/* 8039D6C0 0039A620 40 82 00 48 */ bne lbl_8039D708
/* 8039D6C4 0039A624 3C 60 80 55 */ lis r3, lbl_805513F8@ha
/* 8039D6C8 0039A628 38 03 13 F8 */ addi r0, r3, lbl_805513F8@l
/* 8039D6C4 0039A624 3C 60 80 55 */ lis r3, streamInfo@ha
/* 8039D6C8 0039A628 38 03 13 F8 */ addi r0, r3, streamInfo@l
/* 8039D6CC 0039A62C 7C 80 FA 14 */ add r4, r0, r31
/* 8039D6D0 0039A630 80 64 00 14 */ lwz r3, 0x14(r4)
/* 8039D6D4 0039A634 38 A4 00 0F */ addi r5, r4, 0xf
@ -1090,9 +1095,9 @@ streamOutputModeChanged:
/* 8039D7AC 0039A70C 93 C1 00 28 */ stw r30, 0x28(r1)
/* 8039D7B0 0039A710 93 A1 00 24 */ stw r29, 0x24(r1)
/* 8039D7B4 0039A714 48 01 79 09 */ bl hwDisableIrq
/* 8039D7B8 0039A718 3C 80 80 55 */ lis r4, lbl_805513F8@ha
/* 8039D7B8 0039A718 3C 80 80 55 */ lis r4, streamInfo@ha
/* 8039D7BC 0039A71C 3C 60 80 55 */ lis r3, synthInfo@ha
/* 8039D7C0 0039A720 3B C4 13 F8 */ addi r30, r4, lbl_805513F8@l
/* 8039D7C0 0039A720 3B C4 13 F8 */ addi r30, r4, streamInfo@l
/* 8039D7C4 0039A724 3B A0 00 00 */ li r29, 0
/* 8039D7C8 0039A728 3B E3 00 50 */ addi r31, r3, synthInfo@l
/* 8039D7CC 0039A72C 48 00 00 D4 */ b lbl_8039D8A0
@ -1187,9 +1192,9 @@ sndStreamAllocEx:
/* 8039D910 0039A870 7D 33 4B 78 */ mr r19, r9
/* 8039D914 0039A874 7D 54 53 78 */ mr r20, r10
/* 8039D918 0039A878 48 01 77 A5 */ bl hwDisableIrq
/* 8039D91C 0039A87C 3C 60 80 55 */ lis r3, lbl_805513F8@ha
/* 8039D91C 0039A87C 3C 60 80 55 */ lis r3, streamInfo@ha
/* 8039D920 0039A880 38 00 00 08 */ li r0, 8
/* 8039D924 0039A884 38 C3 13 F8 */ addi r6, r3, lbl_805513F8@l
/* 8039D924 0039A884 38 C3 13 F8 */ addi r6, r3, streamInfo@l
/* 8039D928 0039A888 38 E0 00 00 */ li r7, 0
/* 8039D92C 0039A88C 7C C3 33 78 */ mr r3, r6
/* 8039D930 0039A890 7C 09 03 A6 */ mtctr r0
@ -1330,18 +1335,18 @@ lbl_8039DB14:
/* 8039DB14 0039AA74 28 03 00 40 */ cmplwi r3, 0x40
/* 8039DB18 0039AA78 40 82 FE CC */ bne lbl_8039D9E4
/* 8039DB1C 0039AA7C 1E 07 00 64 */ mulli r16, r7, 0x64
/* 8039DB20 0039AA80 3C 60 80 55 */ lis r3, lbl_805513F8@ha
/* 8039DB20 0039AA80 3C 60 80 55 */ lis r3, streamInfo@ha
/* 8039DB24 0039AA84 90 8D AE 90 */ stw r4, nextPublicID@sda21(r13)
/* 8039DB28 0039AA88 7E E4 BB 78 */ mr r4, r23
/* 8039DB2C 0039AA8C 38 03 13 F8 */ addi r0, r3, lbl_805513F8@l
/* 8039DB2C 0039AA8C 38 03 13 F8 */ addi r0, r3, streamInfo@l
/* 8039DB30 0039AA90 7C A0 82 14 */ add r5, r0, r16
/* 8039DB34 0039AA94 92 25 00 04 */ stw r17, 4(r5)
/* 8039DB38 0039AA98 7F A3 EB 78 */ mr r3, r29
/* 8039DB3C 0039AA9C 92 E5 00 08 */ stw r23, 8(r5)
/* 8039DB40 0039AAA0 48 00 04 A5 */ bl sndStreamAllocLength
/* 8039DB44 0039AAA4 3C 80 80 55 */ lis r4, lbl_805513F8@ha
/* 8039DB44 0039AAA4 3C 80 80 55 */ lis r4, streamInfo@ha
/* 8039DB48 0039AAA8 56 E0 07 FF */ clrlwi. r0, r23, 0x1f
/* 8039DB4C 0039AAAC 38 84 13 F8 */ addi r4, r4, lbl_805513F8@l
/* 8039DB4C 0039AAAC 38 84 13 F8 */ addi r4, r4, streamInfo@l
/* 8039DB50 0039AAB0 7C 84 82 14 */ add r4, r4, r16
/* 8039DB54 0039AAB4 38 00 FF FF */ li r0, -1
/* 8039DB58 0039AAB8 93 84 00 14 */ stw r28, 0x14(r4)
@ -1387,9 +1392,9 @@ lbl_8039DB14:
/* 8039DBF8 0039AB58 B0 A4 00 4A */ sth r5, 0x4a(r4)
/* 8039DBFC 0039AB5C B0 04 00 24 */ sth r0, 0x24(r4)
lbl_8039DC00:
/* 8039DC00 0039AB60 3C 80 80 55 */ lis r4, lbl_805513F8@ha
/* 8039DC00 0039AB60 3C 80 80 55 */ lis r4, streamInfo@ha
/* 8039DC04 0039AB64 38 A0 00 01 */ li r5, 1
/* 8039DC08 0039AB68 38 04 13 F8 */ addi r0, r4, lbl_805513F8@l
/* 8039DC08 0039AB68 38 04 13 F8 */ addi r0, r4, streamInfo@l
/* 8039DC0C 0039AB6C 7C 80 82 14 */ add r4, r0, r16
/* 8039DC10 0039AB70 98 A4 00 0D */ stb r5, 0xd(r4)
/* 8039DC14 0039AB74 48 00 00 0C */ b lbl_8039DC20
@ -1397,9 +1402,9 @@ lbl_8039DC18:
/* 8039DC18 0039AB78 38 00 00 00 */ li r0, 0
/* 8039DC1C 0039AB7C 98 04 00 0D */ stb r0, 0xd(r4)
lbl_8039DC20:
/* 8039DC20 0039AB80 3C 80 80 55 */ lis r4, lbl_805513F8@ha
/* 8039DC20 0039AB80 3C 80 80 55 */ lis r4, streamInfo@ha
/* 8039DC24 0039AB84 80 AD AE 74 */ lwz r5, synthFlags@sda21(r13)
/* 8039DC28 0039AB88 38 04 13 F8 */ addi r0, r4, lbl_805513F8@l
/* 8039DC28 0039AB88 38 04 13 F8 */ addi r0, r4, streamInfo@l
/* 8039DC2C 0039AB8C 7E 68 9B 78 */ mr r8, r19
/* 8039DC30 0039AB90 7C 80 82 14 */ add r4, r0, r16
/* 8039DC34 0039AB94 7E 47 93 78 */ mr r7, r18
@ -1418,9 +1423,9 @@ lbl_8039DC60:
/* 8039DC64 0039ABC4 40 82 00 08 */ bne lbl_8039DC6C
/* 8039DC68 0039ABC8 39 00 00 00 */ li r8, 0
lbl_8039DC6C:
/* 8039DC6C 0039ABCC 3C A0 80 55 */ lis r5, lbl_805513F8@ha
/* 8039DC6C 0039ABCC 3C A0 80 55 */ lis r5, streamInfo@ha
/* 8039DC70 0039ABD0 38 80 FF FF */ li r4, -1
/* 8039DC74 0039ABD4 38 C5 13 F8 */ addi r6, r5, lbl_805513F8@l
/* 8039DC74 0039ABD4 38 C5 13 F8 */ addi r6, r5, streamInfo@l
/* 8039DC78 0039ABD8 38 00 00 03 */ li r0, 3
/* 8039DC7C 0039ABDC 7C A6 82 14 */ add r5, r6, r16
/* 8039DC80 0039ABE0 9B E5 00 59 */ stb r31, 0x59(r5)
@ -1433,9 +1438,9 @@ lbl_8039DC6C:
/* 8039DC9C 0039ABFC 7C 86 81 2E */ stwx r4, r6, r16
/* 8039DCA0 0039AC00 98 05 00 0C */ stb r0, 0xc(r5)
/* 8039DCA4 0039AC04 48 01 60 01 */ bl sub_803b3ca4
/* 8039DCA8 0039AC08 3C 80 80 55 */ lis r4, lbl_805513F8@ha
/* 8039DCA8 0039AC08 3C 80 80 55 */ lis r4, streamInfo@ha
/* 8039DCAC 0039AC0C 54 60 06 3E */ clrlwi r0, r3, 0x18
/* 8039DCB0 0039AC10 38 84 13 F8 */ addi r4, r4, lbl_805513F8@l
/* 8039DCB0 0039AC10 38 84 13 F8 */ addi r4, r4, streamInfo@l
/* 8039DCB4 0039AC14 7C 84 82 14 */ add r4, r4, r16
/* 8039DCB8 0039AC18 28 00 00 FF */ cmplwi r0, 0xff
/* 8039DCBC 0039AC1C 98 64 00 0E */ stb r3, 0xe(r4)
@ -1561,9 +1566,9 @@ lbl_8039DDC8:
/* 8039DE70 0039ADD0 38 60 FF FF */ li r3, -1
/* 8039DE74 0039ADD4 48 00 01 58 */ b lbl_8039DFCC
lbl_8039DE78:
/* 8039DE78 0039ADD8 3C 80 80 55 */ lis r4, lbl_805513F8@ha
/* 8039DE78 0039ADD8 3C 80 80 55 */ lis r4, streamInfo@ha
/* 8039DE7C 0039ADDC 38 00 00 08 */ li r0, 8
/* 8039DE80 0039ADE0 38 A4 13 F8 */ addi r5, r4, lbl_805513F8@l
/* 8039DE80 0039ADE0 38 A4 13 F8 */ addi r5, r4, streamInfo@l
/* 8039DE84 0039ADE4 38 80 00 00 */ li r4, 0
/* 8039DE88 0039ADE8 7C 09 03 A6 */ mtctr r0
lbl_8039DE8C:
@ -1651,8 +1656,8 @@ lbl_8039DFA4:
/* 8039DFB0 0039AF10 38 80 FF FF */ li r4, -1
lbl_8039DFB4:
/* 8039DFB4 0039AF14 1C 04 00 64 */ mulli r0, r4, 0x64
/* 8039DFB8 0039AF18 3C 80 80 55 */ lis r4, lbl_805513F8@ha
/* 8039DFBC 0039AF1C 38 84 13 F8 */ addi r4, r4, lbl_805513F8@l
/* 8039DFB8 0039AF18 3C 80 80 55 */ lis r4, streamInfo@ha
/* 8039DFBC 0039AF1C 38 84 13 F8 */ addi r4, r4, streamInfo@l
/* 8039DFC0 0039AF20 7C 64 01 2E */ stwx r3, r4, r0
lbl_8039DFC4:
/* 8039DFC4 0039AF24 48 01 70 C1 */ bl hwEnableIrq
@ -1696,9 +1701,9 @@ sndStreamADPCMParameter:
/* 8039E03C 0039AF9C 7C 7A 1B 78 */ mr r26, r3
/* 8039E040 0039AFA0 7C 9B 23 78 */ mr r27, r4
/* 8039E044 0039AFA4 48 01 70 79 */ bl hwDisableIrq
/* 8039E048 0039AFA8 3C 60 80 55 */ lis r3, lbl_805513F8@ha
/* 8039E048 0039AFA8 3C 60 80 55 */ lis r3, streamInfo@ha
/* 8039E04C 0039AFAC 38 00 00 08 */ li r0, 8
/* 8039E050 0039AFB0 3B E3 13 F8 */ addi r31, r3, lbl_805513F8@l
/* 8039E050 0039AFB0 3B E3 13 F8 */ addi r31, r3, streamInfo@l
/* 8039E054 0039AFB4 38 C0 00 00 */ li r6, 0
/* 8039E058 0039AFB8 7F E3 FB 78 */ mr r3, r31
/* 8039E05C 0039AFBC 7C 09 03 A6 */ mtctr r0
@ -1789,9 +1794,9 @@ lbl_8039E188:
/* 8039E188 0039B0E8 3C 06 00 01 */ addis r0, r6, 1
/* 8039E18C 0039B0EC 28 00 FF FF */ cmplwi r0, 0xffff
/* 8039E190 0039B0F0 41 82 05 78 */ beq lbl_8039E708
/* 8039E194 0039B0F4 3C 60 80 55 */ lis r3, lbl_805513F8@ha
/* 8039E194 0039B0F4 3C 60 80 55 */ lis r3, streamInfo@ha
/* 8039E198 0039B0F8 A8 BB 00 00 */ lha r5, 0(r27)
/* 8039E19C 0039B0FC 38 83 13 F8 */ addi r4, r3, lbl_805513F8@l
/* 8039E19C 0039B0FC 38 83 13 F8 */ addi r4, r3, streamInfo@l
/* 8039E1A0 0039B100 38 00 00 08 */ li r0, 8
/* 8039E1A4 0039B104 1C C6 00 64 */ mulli r6, r6, 0x64
/* 8039E1A8 0039B108 3B C4 00 2C */ addi r30, r4, 0x2c
@ -1928,10 +1933,10 @@ lbl_8039E388:
/* 8039E38C 0039B2EC 28 00 FF FF */ cmplwi r0, 0xffff
/* 8039E390 0039B2F0 41 82 03 74 */ beq lbl_8039E704
/* 8039E394 0039B2F4 1C A3 00 64 */ mulli r5, r3, 0x64
/* 8039E398 0039B2F8 3C 60 80 55 */ lis r3, lbl_805513F8@ha
/* 8039E398 0039B2F8 3C 60 80 55 */ lis r3, streamInfo@ha
/* 8039E39C 0039B2FC A8 9B 00 00 */ lha r4, 0(r27)
/* 8039E3A0 0039B300 38 00 00 08 */ li r0, 8
/* 8039E3A4 0039B304 38 63 13 F8 */ addi r3, r3, lbl_805513F8@l
/* 8039E3A4 0039B304 38 63 13 F8 */ addi r3, r3, streamInfo@l
/* 8039E3A8 0039B308 7C DE 2A 14 */ add r6, r30, r5
/* 8039E3AC 0039B30C B0 86 00 00 */ sth r4, 0(r6)
/* 8039E3B0 0039B310 7C FD 2A 14 */ add r7, r29, r5
@ -2062,10 +2067,10 @@ lbl_8039E578:
/* 8039E57C 0039B4DC 28 00 FF FF */ cmplwi r0, 0xffff
/* 8039E580 0039B4E0 41 82 01 80 */ beq lbl_8039E700
/* 8039E584 0039B4E4 1C A3 00 64 */ mulli r5, r3, 0x64
/* 8039E588 0039B4E8 3C 60 80 55 */ lis r3, lbl_805513F8@ha
/* 8039E588 0039B4E8 3C 60 80 55 */ lis r3, streamInfo@ha
/* 8039E58C 0039B4EC A8 9B 00 00 */ lha r4, 0(r27)
/* 8039E590 0039B4F0 38 00 00 08 */ li r0, 8
/* 8039E594 0039B4F4 38 63 13 F8 */ addi r3, r3, lbl_805513F8@l
/* 8039E594 0039B4F4 38 63 13 F8 */ addi r3, r3, streamInfo@l
/* 8039E598 0039B4F8 7C DE 2A 14 */ add r6, r30, r5
/* 8039E59C 0039B4FC B0 86 00 00 */ sth r4, 0(r6)
/* 8039E5A0 0039B500 7C FD 2A 14 */ add r7, r29, r5
@ -2111,10 +2116,10 @@ lbl_8039E578:
/* 8039E640 0039B5A0 28 00 FF FF */ cmplwi r0, 0xffff
/* 8039E644 0039B5A4 41 82 00 B8 */ beq lbl_8039E6FC
/* 8039E648 0039B5A8 1C A3 00 64 */ mulli r5, r3, 0x64
/* 8039E64C 0039B5AC 3C 60 80 55 */ lis r3, lbl_805513F8@ha
/* 8039E64C 0039B5AC 3C 60 80 55 */ lis r3, streamInfo@ha
/* 8039E650 0039B5B0 A8 9B 00 00 */ lha r4, 0(r27)
/* 8039E654 0039B5B4 38 00 00 08 */ li r0, 8
/* 8039E658 0039B5B8 38 63 13 F8 */ addi r3, r3, lbl_805513F8@l
/* 8039E658 0039B5B8 38 63 13 F8 */ addi r3, r3, streamInfo@l
/* 8039E65C 0039B5BC 7C DE 2A 14 */ add r6, r30, r5
/* 8039E660 0039B5C0 B0 86 00 00 */ sth r4, 0(r6)
/* 8039E664 0039B5C4 7C FD 2A 14 */ add r7, r29, r5
@ -2183,9 +2188,9 @@ sndStreamMixParameter:
/* 8039E744 0039B6A4 7C DC 33 78 */ mr r28, r6
/* 8039E748 0039B6A8 7C FD 3B 78 */ mr r29, r7
/* 8039E74C 0039B6AC 48 01 69 71 */ bl hwDisableIrq
/* 8039E750 0039B6B0 3C 60 80 55 */ lis r3, lbl_805513F8@ha
/* 8039E750 0039B6B0 3C 60 80 55 */ lis r3, streamInfo@ha
/* 8039E754 0039B6B4 38 00 00 08 */ li r0, 8
/* 8039E758 0039B6B8 3B C3 13 F8 */ addi r30, r3, lbl_805513F8@l
/* 8039E758 0039B6B8 3B C3 13 F8 */ addi r30, r3, streamInfo@l
/* 8039E75C 0039B6BC 38 60 00 00 */ li r3, 0
/* 8039E760 0039B6C0 7F C4 F3 78 */ mr r4, r30
/* 8039E764 0039B6C4 7C 09 03 A6 */ mtctr r0
@ -2277,10 +2282,10 @@ lbl_8039E890:
/* 8039E894 0039B7F4 28 00 FF FF */ cmplwi r0, 0xffff
/* 8039E898 0039B7F8 41 82 03 7C */ beq lbl_8039EC14
/* 8039E89C 0039B7FC 1F E3 00 64 */ mulli r31, r3, 0x64
/* 8039E8A0 0039B800 3C 60 80 55 */ lis r3, lbl_805513F8@ha
/* 8039E8A0 0039B800 3C 60 80 55 */ lis r3, streamInfo@ha
/* 8039E8A4 0039B804 80 8D AE 74 */ lwz r4, synthFlags@sda21(r13)
/* 8039E8A8 0039B808 7F 86 E3 78 */ mr r6, r28
/* 8039E8AC 0039B80C 38 03 13 F8 */ addi r0, r3, lbl_805513F8@l
/* 8039E8AC 0039B80C 38 03 13 F8 */ addi r0, r3, streamInfo@l
/* 8039E8B0 0039B810 7C 60 FA 14 */ add r3, r0, r31
/* 8039E8B4 0039B814 9B 63 00 5E */ stb r27, 0x5e(r3)
/* 8039E8B8 0039B818 54 80 07 FF */ clrlwi. r0, r4, 0x1f
@ -2295,9 +2300,9 @@ lbl_8039E8D4:
/* 8039E8D8 0039B838 40 82 00 08 */ bne lbl_8039E8E0
/* 8039E8DC 0039B83C 38 C0 00 00 */ li r6, 0
lbl_8039E8E0:
/* 8039E8E0 0039B840 3C 60 80 55 */ lis r3, lbl_805513F8@ha
/* 8039E8E0 0039B840 3C 60 80 55 */ lis r3, streamInfo@ha
/* 8039E8E4 0039B844 3C E0 43 30 */ lis r7, 0x4330
/* 8039E8E8 0039B848 38 63 13 F8 */ addi r3, r3, lbl_805513F8@l
/* 8039E8E8 0039B848 38 63 13 F8 */ addi r3, r3, streamInfo@l
/* 8039E8EC 0039B84C 38 00 00 00 */ li r0, 0
/* 8039E8F0 0039B850 7D 03 FA 14 */ add r8, r3, r31
/* 8039E8F4 0039B854 90 E1 00 10 */ stw r7, 0x10(r1)
@ -2332,8 +2337,8 @@ lbl_8039E8E0:
/* 8039E968 0039B8C8 EC 00 18 28 */ fsubs f0, f0, f3
/* 8039E96C 0039B8CC EC 64 00 32 */ fmuls f3, f4, f0
/* 8039E970 0039B8D0 48 01 4E 19 */ bl hwSetVolume
/* 8039E974 0039B8D4 3C 60 80 55 */ lis r3, lbl_805513F8@ha
/* 8039E978 0039B8D8 38 63 13 F8 */ addi r3, r3, lbl_805513F8@l
/* 8039E974 0039B8D4 3C 60 80 55 */ lis r3, streamInfo@ha
/* 8039E978 0039B8D8 38 63 13 F8 */ addi r3, r3, streamInfo@l
/* 8039E97C 0039B8DC 7F E3 F8 2E */ lwzx r31, r3, r31
/* 8039E980 0039B8E0 3C 1F 00 01 */ addis r0, r31, 1
/* 8039E984 0039B8E4 28 00 FF FF */ cmplwi r0, 0xffff
@ -2430,9 +2435,9 @@ lbl_8039EAC4:
/* 8039EAC8 0039BA28 28 00 FF FF */ cmplwi r0, 0xffff
/* 8039EACC 0039BA2C 41 82 01 44 */ beq lbl_8039EC10
/* 8039EAD0 0039BA30 1C 83 00 64 */ mulli r4, r3, 0x64
/* 8039EAD4 0039BA34 3C 60 80 55 */ lis r3, lbl_805513F8@ha
/* 8039EAD4 0039BA34 3C 60 80 55 */ lis r3, streamInfo@ha
/* 8039EAD8 0039BA38 9B 81 00 08 */ stb r28, 8(r1)
/* 8039EADC 0039BA3C 38 03 13 F8 */ addi r0, r3, lbl_805513F8@l
/* 8039EADC 0039BA3C 38 03 13 F8 */ addi r0, r3, streamInfo@l
/* 8039EAE0 0039BA40 7F C0 22 14 */ add r30, r0, r4
/* 8039EAE4 0039BA44 9B 61 00 09 */ stb r27, 9(r1)
/* 8039EAE8 0039BA48 38 61 00 09 */ addi r3, r1, 9
@ -2487,9 +2492,9 @@ lbl_8039EAC4:
/* 8039EBAC 0039BB0C 28 00 FF FF */ cmplwi r0, 0xffff
/* 8039EBB0 0039BB10 41 82 00 5C */ beq lbl_8039EC0C
/* 8039EBB4 0039BB14 1C A3 00 64 */ mulli r5, r3, 0x64
/* 8039EBB8 0039BB18 3C 60 80 55 */ lis r3, lbl_805513F8@ha
/* 8039EBB8 0039BB18 3C 60 80 55 */ lis r3, streamInfo@ha
/* 8039EBBC 0039BB1C 7F 44 D3 78 */ mr r4, r26
/* 8039EBC0 0039BB20 38 03 13 F8 */ addi r0, r3, lbl_805513F8@l
/* 8039EBC0 0039BB20 38 03 13 F8 */ addi r0, r3, streamInfo@l
/* 8039EBC4 0039BB24 7F C0 2A 14 */ add r30, r0, r5
/* 8039EBC8 0039BB28 7F 65 DB 78 */ mr r5, r27
/* 8039EBCC 0039BB2C 7F C3 F3 78 */ mr r3, r30
@ -2535,9 +2540,9 @@ sndStreamMixParameterEx:
/* 8039EC54 0039BBB4 7C FB 3B 78 */ mr r27, r7
/* 8039EC58 0039BBB8 7D 1C 43 78 */ mr r28, r8
/* 8039EC5C 0039BBBC 48 01 64 61 */ bl hwDisableIrq
/* 8039EC60 0039BBC0 3C 60 80 55 */ lis r3, lbl_805513F8@ha
/* 8039EC60 0039BBC0 3C 60 80 55 */ lis r3, streamInfo@ha
/* 8039EC64 0039BBC4 38 00 00 08 */ li r0, 8
/* 8039EC68 0039BBC8 3B C3 13 F8 */ addi r30, r3, lbl_805513F8@l
/* 8039EC68 0039BBC8 3B C3 13 F8 */ addi r30, r3, streamInfo@l
/* 8039EC6C 0039BBCC 38 60 00 00 */ li r3, 0
/* 8039EC70 0039BBD0 7F C4 F3 78 */ mr r4, r30
/* 8039EC74 0039BBD4 7C 09 03 A6 */ mtctr r0
@ -2629,10 +2634,10 @@ lbl_8039EDA0:
/* 8039EDA4 0039BD04 28 00 FF FF */ cmplwi r0, 0xffff
/* 8039EDA8 0039BD08 41 82 03 C8 */ beq lbl_8039F170
/* 8039EDAC 0039BD0C 1F E3 00 64 */ mulli r31, r3, 0x64
/* 8039EDB0 0039BD10 3C 60 80 55 */ lis r3, lbl_805513F8@ha
/* 8039EDB0 0039BD10 3C 60 80 55 */ lis r3, streamInfo@ha
/* 8039EDB4 0039BD14 80 8D AE 74 */ lwz r4, synthFlags@sda21(r13)
/* 8039EDB8 0039BD18 7F 46 D3 78 */ mr r6, r26
/* 8039EDBC 0039BD1C 38 03 13 F8 */ addi r0, r3, lbl_805513F8@l
/* 8039EDBC 0039BD1C 38 03 13 F8 */ addi r0, r3, streamInfo@l
/* 8039EDC0 0039BD20 7C 60 FA 14 */ add r3, r0, r31
/* 8039EDC4 0039BD24 9B 23 00 5E */ stb r25, 0x5e(r3)
/* 8039EDC8 0039BD28 54 80 07 FF */ clrlwi. r0, r4, 0x1f
@ -2647,8 +2652,8 @@ lbl_8039EDE4:
/* 8039EDE8 0039BD48 40 82 00 08 */ bne lbl_8039EDF0
/* 8039EDEC 0039BD4C 38 C0 00 00 */ li r6, 0
lbl_8039EDF0:
/* 8039EDF0 0039BD50 3C 60 80 55 */ lis r3, lbl_805513F8@ha
/* 8039EDF4 0039BD54 38 83 13 F8 */ addi r4, r3, lbl_805513F8@l
/* 8039EDF0 0039BD50 3C 60 80 55 */ lis r3, streamInfo@ha
/* 8039EDF4 0039BD54 38 83 13 F8 */ addi r4, r3, streamInfo@l
/* 8039EDF8 0039BD58 7C E4 FA 14 */ add r7, r4, r31
/* 8039EDFC 0039BD5C 9B 07 00 59 */ stb r24, 0x59(r7)
/* 8039EE00 0039BD60 7C EB 3B 78 */ mr r11, r7
@ -2698,8 +2703,8 @@ lbl_8039EDF0:
/* 8039EEB0 0039BE10 EC 64 00 32 */ fmuls f3, f4, f0
/* 8039EEB4 0039BE14 48 01 48 D5 */ bl hwSetVolume
lbl_8039EEB8:
/* 8039EEB8 0039BE18 3C 60 80 55 */ lis r3, lbl_805513F8@ha
/* 8039EEBC 0039BE1C 38 63 13 F8 */ addi r3, r3, lbl_805513F8@l
/* 8039EEB8 0039BE18 3C 60 80 55 */ lis r3, streamInfo@ha
/* 8039EEBC 0039BE1C 38 63 13 F8 */ addi r3, r3, streamInfo@l
/* 8039EEC0 0039BE20 7F E3 F8 2E */ lwzx r31, r3, r31
/* 8039EEC4 0039BE24 3C 1F 00 01 */ addis r0, r31, 1
/* 8039EEC8 0039BE28 28 00 FF FF */ cmplwi r0, 0xffff
@ -2796,10 +2801,10 @@ lbl_8039F008:
/* 8039F00C 0039BF6C 28 00 FF FF */ cmplwi r0, 0xffff
/* 8039F010 0039BF70 41 82 01 5C */ beq lbl_8039F16C
/* 8039F014 0039BF74 1F C3 00 64 */ mulli r30, r3, 0x64
/* 8039F018 0039BF78 3C 60 80 55 */ lis r3, lbl_805513F8@ha
/* 8039F018 0039BF78 3C 60 80 55 */ lis r3, streamInfo@ha
/* 8039F01C 0039BF7C 9B 41 00 08 */ stb r26, 8(r1)
/* 8039F020 0039BF80 38 81 00 08 */ addi r4, r1, 8
/* 8039F024 0039BF84 38 03 13 F8 */ addi r0, r3, lbl_805513F8@l
/* 8039F024 0039BF84 38 03 13 F8 */ addi r0, r3, streamInfo@l
/* 8039F028 0039BF88 7F E0 F2 14 */ add r31, r0, r30
/* 8039F02C 0039BF8C 9B 3F 00 5E */ stb r25, 0x5e(r31)
/* 8039F030 0039BF90 38 61 00 09 */ addi r3, r1, 9
@ -2856,9 +2861,9 @@ lbl_8039F0D8:
/* 8039F0F8 0039C058 28 00 FF FF */ cmplwi r0, 0xffff
/* 8039F0FC 0039C05C 41 82 00 6C */ beq lbl_8039F168
/* 8039F100 0039C060 1F C3 00 64 */ mulli r30, r3, 0x64
/* 8039F104 0039C064 3C 60 80 55 */ lis r3, lbl_805513F8@ha
/* 8039F104 0039C064 3C 60 80 55 */ lis r3, streamInfo@ha
/* 8039F108 0039C068 7F 04 C3 78 */ mr r4, r24
/* 8039F10C 0039C06C 38 03 13 F8 */ addi r0, r3, lbl_805513F8@l
/* 8039F10C 0039C06C 38 03 13 F8 */ addi r0, r3, streamInfo@l
/* 8039F110 0039C070 7F E0 F2 14 */ add r31, r0, r30
/* 8039F114 0039C074 7F 25 CB 78 */ mr r5, r25
/* 8039F118 0039C078 7F E3 FB 78 */ mr r3, r31
@ -2905,9 +2910,9 @@ sndStreamFrq:
/* 8039F1A0 0039C100 7C 7B 1B 78 */ mr r27, r3
/* 8039F1A4 0039C104 7C 9C 23 78 */ mr r28, r4
/* 8039F1A8 0039C108 48 01 5F 15 */ bl hwDisableIrq
/* 8039F1AC 0039C10C 3C 60 80 55 */ lis r3, lbl_805513F8@ha
/* 8039F1AC 0039C10C 3C 60 80 55 */ lis r3, streamInfo@ha
/* 8039F1B0 0039C110 38 00 00 08 */ li r0, 8
/* 8039F1B4 0039C114 3B E3 13 F8 */ addi r31, r3, lbl_805513F8@l
/* 8039F1B4 0039C114 3B E3 13 F8 */ addi r31, r3, streamInfo@l
/* 8039F1B8 0039C118 38 80 00 00 */ li r4, 0
/* 8039F1BC 0039C11C 7F E3 FB 78 */ mr r3, r31
/* 8039F1C0 0039C120 7C 09 03 A6 */ mtctr r0
@ -2998,8 +3003,8 @@ lbl_8039F2EC:
/* 8039F2EC 0039C24C 3C 04 00 01 */ addis r0, r4, 1
/* 8039F2F0 0039C250 28 00 FF FF */ cmplwi r0, 0xffff
/* 8039F2F4 0039C254 41 82 04 E4 */ beq lbl_8039F7D8
/* 8039F2F8 0039C258 3C 60 80 55 */ lis r3, lbl_805513F8@ha
/* 8039F2FC 0039C25C 38 A3 13 F8 */ addi r5, r3, lbl_805513F8@l
/* 8039F2F8 0039C258 3C 60 80 55 */ lis r3, streamInfo@ha
/* 8039F2FC 0039C25C 38 A3 13 F8 */ addi r5, r3, streamInfo@l
/* 8039F300 0039C260 1F 64 00 64 */ mulli r27, r4, 0x64
/* 8039F304 0039C264 3B C5 00 54 */ addi r30, r5, 0x54
/* 8039F308 0039C268 3B A5 00 0C */ addi r29, r5, 0xc
@ -3029,8 +3034,8 @@ lbl_8039F2EC:
/* 8039F368 0039C2C8 80 81 00 1C */ lwz r4, 0x1c(r1)
/* 8039F36C 0039C2CC 48 01 42 F1 */ bl hwSetPitch
lbl_8039F370:
/* 8039F370 0039C2D0 3C 60 80 55 */ lis r3, lbl_805513F8@ha
/* 8039F374 0039C2D4 38 63 13 F8 */ addi r3, r3, lbl_805513F8@l
/* 8039F370 0039C2D0 3C 60 80 55 */ lis r3, streamInfo@ha
/* 8039F374 0039C2D4 38 63 13 F8 */ addi r3, r3, streamInfo@l
/* 8039F378 0039C2D8 7F 63 D8 2E */ lwzx r27, r3, r27
/* 8039F37C 0039C2DC 3C 1B 00 01 */ addis r0, r27, 1
/* 8039F380 0039C2E0 28 00 FF FF */ cmplwi r0, 0xffff
@ -3136,9 +3141,9 @@ lbl_8039F4C4:
/* 8039F4E8 0039C448 3C 60 80 55 */ lis r3, synthInfo@ha
/* 8039F4EC 0039C44C 93 81 00 1C */ stw r28, 0x1c(r1)
/* 8039F4F0 0039C450 80 03 00 50 */ lwz r0, synthInfo@l(r3)
/* 8039F4F4 0039C454 3C 60 80 55 */ lis r3, lbl_805513F8@ha
/* 8039F4F4 0039C454 3C 60 80 55 */ lis r3, streamInfo@ha
/* 8039F4F8 0039C458 90 81 00 18 */ stw r4, 0x18(r1)
/* 8039F4FC 0039C45C 38 63 13 F8 */ addi r3, r3, lbl_805513F8@l
/* 8039F4FC 0039C45C 38 63 13 F8 */ addi r3, r3, streamInfo@l
/* 8039F500 0039C460 C8 42 D5 58 */ lfd f2, lbl_805AF278@sda21(r2)
/* 8039F504 0039C464 7C 63 DA 14 */ add r3, r3, r27
/* 8039F508 0039C468 C8 01 00 18 */ lfd f0, 0x18(r1)
@ -3156,8 +3161,8 @@ lbl_8039F4C4:
/* 8039F538 0039C498 80 81 00 0C */ lwz r4, 0xc(r1)
/* 8039F53C 0039C49C 48 01 41 21 */ bl hwSetPitch
lbl_8039F540:
/* 8039F540 0039C4A0 3C 60 80 55 */ lis r3, lbl_805513F8@ha
/* 8039F544 0039C4A4 38 63 13 F8 */ addi r3, r3, lbl_805513F8@l
/* 8039F540 0039C4A0 3C 60 80 55 */ lis r3, streamInfo@ha
/* 8039F544 0039C4A4 38 63 13 F8 */ addi r3, r3, streamInfo@l
/* 8039F548 0039C4A8 7F 63 D8 2E */ lwzx r27, r3, r27
/* 8039F54C 0039C4AC 3C 1B 00 01 */ addis r0, r27, 1
/* 8039F550 0039C4B0 28 00 FF FF */ cmplwi r0, 0xffff
@ -3262,9 +3267,9 @@ lbl_8039F690:
/* 8039F6B4 0039C614 3C 60 80 55 */ lis r3, synthInfo@ha
/* 8039F6B8 0039C618 93 81 00 1C */ stw r28, 0x1c(r1)
/* 8039F6BC 0039C61C 80 03 00 50 */ lwz r0, synthInfo@l(r3)
/* 8039F6C0 0039C620 3C 60 80 55 */ lis r3, lbl_805513F8@ha
/* 8039F6C0 0039C620 3C 60 80 55 */ lis r3, streamInfo@ha
/* 8039F6C4 0039C624 90 81 00 18 */ stw r4, 0x18(r1)
/* 8039F6C8 0039C628 38 63 13 F8 */ addi r3, r3, lbl_805513F8@l
/* 8039F6C8 0039C628 38 63 13 F8 */ addi r3, r3, streamInfo@l
/* 8039F6CC 0039C62C C8 42 D5 58 */ lfd f2, lbl_805AF278@sda21(r2)
/* 8039F6D0 0039C630 7C 63 DA 14 */ add r3, r3, r27
/* 8039F6D4 0039C634 C8 01 00 18 */ lfd f0, 0x18(r1)
@ -3282,8 +3287,8 @@ lbl_8039F690:
/* 8039F704 0039C664 80 81 00 0C */ lwz r4, 0xc(r1)
/* 8039F708 0039C668 48 01 3F 55 */ bl hwSetPitch
lbl_8039F70C:
/* 8039F70C 0039C66C 3C 60 80 55 */ lis r3, lbl_805513F8@ha
/* 8039F710 0039C670 38 63 13 F8 */ addi r3, r3, lbl_805513F8@l
/* 8039F70C 0039C66C 3C 60 80 55 */ lis r3, streamInfo@ha
/* 8039F710 0039C670 38 63 13 F8 */ addi r3, r3, streamInfo@l
/* 8039F714 0039C674 7F 63 D8 2E */ lwzx r27, r3, r27
/* 8039F718 0039C678 3C 1B 00 01 */ addis r0, r27, 1
/* 8039F71C 0039C67C 28 00 FF FF */ cmplwi r0, 0xffff
@ -3303,9 +3308,9 @@ lbl_8039F70C:
/* 8039F754 0039C6B4 3C 60 80 55 */ lis r3, synthInfo@ha
/* 8039F758 0039C6B8 93 81 00 1C */ stw r28, 0x1c(r1)
/* 8039F75C 0039C6BC 80 03 00 50 */ lwz r0, synthInfo@l(r3)
/* 8039F760 0039C6C0 3C 60 80 55 */ lis r3, lbl_805513F8@ha
/* 8039F760 0039C6C0 3C 60 80 55 */ lis r3, streamInfo@ha
/* 8039F764 0039C6C4 90 81 00 18 */ stw r4, 0x18(r1)
/* 8039F768 0039C6C8 38 63 13 F8 */ addi r3, r3, lbl_805513F8@l
/* 8039F768 0039C6C8 38 63 13 F8 */ addi r3, r3, streamInfo@l
/* 8039F76C 0039C6CC C8 42 D5 58 */ lfd f2, lbl_805AF278@sda21(r2)
/* 8039F770 0039C6D0 7C 63 DA 14 */ add r3, r3, r27
/* 8039F774 0039C6D4 C8 01 00 18 */ lfd f0, 0x18(r1)
@ -3323,8 +3328,8 @@ lbl_8039F70C:
/* 8039F7A4 0039C704 80 81 00 0C */ lwz r4, 0xc(r1)
/* 8039F7A8 0039C708 48 01 3E B5 */ bl hwSetPitch
lbl_8039F7AC:
/* 8039F7AC 0039C70C 3C 60 80 55 */ lis r3, lbl_805513F8@ha
/* 8039F7B0 0039C710 38 63 13 F8 */ addi r3, r3, lbl_805513F8@l
/* 8039F7AC 0039C70C 3C 60 80 55 */ lis r3, streamInfo@ha
/* 8039F7B0 0039C710 38 63 13 F8 */ addi r3, r3, streamInfo@l
/* 8039F7B4 0039C714 7C 63 D8 2E */ lwzx r3, r3, r27
/* 8039F7B8 0039C718 3C 03 00 01 */ addis r0, r3, 1
/* 8039F7BC 0039C71C 28 00 FF FF */ cmplwi r0, 0xffff
@ -3355,9 +3360,9 @@ sndStreamFree:
/* 8039F804 0039C764 4B FE A2 71 */ bl _savegpr_25
/* 8039F808 0039C768 7C 79 1B 78 */ mr r25, r3
/* 8039F80C 0039C76C 48 01 58 B1 */ bl hwDisableIrq
/* 8039F810 0039C770 3C 60 80 55 */ lis r3, lbl_805513F8@ha
/* 8039F810 0039C770 3C 60 80 55 */ lis r3, streamInfo@ha
/* 8039F814 0039C774 38 00 00 08 */ li r0, 8
/* 8039F818 0039C778 3B C3 13 F8 */ addi r30, r3, lbl_805513F8@l
/* 8039F818 0039C778 3B C3 13 F8 */ addi r30, r3, streamInfo@l
/* 8039F81C 0039C77C 3B 40 00 00 */ li r26, 0
/* 8039F820 0039C780 7F C3 F3 78 */ mr r3, r30
/* 8039F824 0039C784 7C 09 03 A6 */ mtctr r0
@ -3450,14 +3455,14 @@ lbl_8039F950:
/* 8039F958 0039C8B8 41 82 05 54 */ beq lbl_8039FEAC
/* 8039F95C 0039C8BC 7F 23 CB 78 */ mr r3, r25
/* 8039F960 0039C8C0 48 00 0B C1 */ bl sndStreamDeactivate
/* 8039F964 0039C8C4 3C 60 80 55 */ lis r3, lbl_805513F8@ha
/* 8039F968 0039C8C8 38 63 13 F8 */ addi r3, r3, lbl_805513F8@l
/* 8039F964 0039C8C4 3C 60 80 55 */ lis r3, streamInfo@ha
/* 8039F968 0039C8C8 38 63 13 F8 */ addi r3, r3, streamInfo@l
/* 8039F96C 0039C8CC 1F FA 00 64 */ mulli r31, r26, 0x64
/* 8039F970 0039C8D0 3B A3 00 0E */ addi r29, r3, 0xe
/* 8039F974 0039C8D4 7C 7D F8 AE */ lbzx r3, r29, r31
/* 8039F978 0039C8D8 48 01 43 4D */ bl sub_803b3cc4
/* 8039F97C 0039C8DC 3C 60 80 55 */ lis r3, lbl_805513F8@ha
/* 8039F980 0039C8E0 38 63 13 F8 */ addi r3, r3, lbl_805513F8@l
/* 8039F97C 0039C8DC 3C 60 80 55 */ lis r3, streamInfo@ha
/* 8039F980 0039C8E0 38 63 13 F8 */ addi r3, r3, streamInfo@l
/* 8039F984 0039C8E4 7F 43 F8 2E */ lwzx r26, r3, r31
/* 8039F988 0039C8E8 3C 1A 00 01 */ addis r0, r26, 1
/* 8039F98C 0039C8EC 28 00 FF FF */ cmplwi r0, 0xffff
@ -3559,8 +3564,8 @@ lbl_8039FAD0:
/* 8039FAE4 0039CA44 1F 9B 00 64 */ mulli r28, r27, 0x64
/* 8039FAE8 0039CA48 7C 7D E0 AE */ lbzx r3, r29, r28
/* 8039FAEC 0039CA4C 48 01 41 D9 */ bl sub_803b3cc4
/* 8039FAF0 0039CA50 3C 60 80 55 */ lis r3, lbl_805513F8@ha
/* 8039FAF4 0039CA54 38 63 13 F8 */ addi r3, r3, lbl_805513F8@l
/* 8039FAF0 0039CA50 3C 60 80 55 */ lis r3, streamInfo@ha
/* 8039FAF4 0039CA54 38 63 13 F8 */ addi r3, r3, streamInfo@l
/* 8039FAF8 0039CA58 7F 43 E0 2E */ lwzx r26, r3, r28
/* 8039FAFC 0039CA5C 3C 1A 00 01 */ addis r0, r26, 1
/* 8039FB00 0039CA60 28 00 FF FF */ cmplwi r0, 0xffff
@ -3662,8 +3667,8 @@ lbl_8039FC44:
/* 8039FC58 0039CBB8 1F 7B 00 64 */ mulli r27, r27, 0x64
/* 8039FC5C 0039CBBC 7C 7D D8 AE */ lbzx r3, r29, r27
/* 8039FC60 0039CBC0 48 01 40 65 */ bl sub_803b3cc4
/* 8039FC64 0039CBC4 3C 60 80 55 */ lis r3, lbl_805513F8@ha
/* 8039FC68 0039CBC8 38 63 13 F8 */ addi r3, r3, lbl_805513F8@l
/* 8039FC64 0039CBC4 3C 60 80 55 */ lis r3, streamInfo@ha
/* 8039FC68 0039CBC8 38 63 13 F8 */ addi r3, r3, streamInfo@l
/* 8039FC6C 0039CBCC 7F 43 D8 2E */ lwzx r26, r3, r27
/* 8039FC70 0039CBD0 3C 1A 00 01 */ addis r0, r26, 1
/* 8039FC74 0039CBD4 28 00 FF FF */ cmplwi r0, 0xffff
@ -3764,8 +3769,8 @@ lbl_8039FDB4:
/* 8039FDC8 0039CD28 1F D9 00 64 */ mulli r30, r25, 0x64
/* 8039FDCC 0039CD2C 7C 7D F0 AE */ lbzx r3, r29, r30
/* 8039FDD0 0039CD30 48 01 3E F5 */ bl sub_803b3cc4
/* 8039FDD4 0039CD34 3C 60 80 55 */ lis r3, lbl_805513F8@ha
/* 8039FDD8 0039CD38 38 63 13 F8 */ addi r3, r3, lbl_805513F8@l
/* 8039FDD4 0039CD34 3C 60 80 55 */ lis r3, streamInfo@ha
/* 8039FDD8 0039CD38 38 63 13 F8 */ addi r3, r3, streamInfo@l
/* 8039FDDC 0039CD3C 7F 23 F0 2E */ lwzx r25, r3, r30
/* 8039FDE0 0039CD40 3C 19 00 01 */ addis r0, r25, 1
/* 8039FDE4 0039CD44 28 00 FF FF */ cmplwi r0, 0xffff
@ -3782,49 +3787,49 @@ lbl_8039FDB4:
/* 8039FE10 0039CD70 1F 3A 00 64 */ mulli r25, r26, 0x64
/* 8039FE14 0039CD74 7C 7D C8 AE */ lbzx r3, r29, r25
/* 8039FE18 0039CD78 48 01 3E AD */ bl sub_803b3cc4
/* 8039FE1C 0039CD7C 3C 60 80 55 */ lis r3, lbl_805513F8@ha
/* 8039FE20 0039CD80 38 63 13 F8 */ addi r3, r3, lbl_805513F8@l
/* 8039FE1C 0039CD7C 3C 60 80 55 */ lis r3, streamInfo@ha
/* 8039FE20 0039CD80 38 63 13 F8 */ addi r3, r3, streamInfo@l
/* 8039FE24 0039CD84 7C 63 C8 2E */ lwzx r3, r3, r25
/* 8039FE28 0039CD88 3C 03 00 01 */ addis r0, r3, 1
/* 8039FE2C 0039CD8C 28 00 FF FF */ cmplwi r0, 0xffff
/* 8039FE30 0039CD90 41 82 00 08 */ beq lbl_8039FE38
/* 8039FE34 0039CD94 4B FF F9 C1 */ bl sndStreamFree
lbl_8039FE38:
/* 8039FE38 0039CD98 3C 60 80 55 */ lis r3, lbl_805513F8@ha
/* 8039FE38 0039CD98 3C 60 80 55 */ lis r3, streamInfo@ha
/* 8039FE3C 0039CD9C 38 80 00 00 */ li r4, 0
/* 8039FE40 0039CDA0 38 03 13 F8 */ addi r0, r3, lbl_805513F8@l
/* 8039FE40 0039CDA0 38 03 13 F8 */ addi r0, r3, streamInfo@l
/* 8039FE44 0039CDA4 7C 60 CA 14 */ add r3, r0, r25
/* 8039FE48 0039CDA8 98 83 00 0C */ stb r4, 0xc(r3)
lbl_8039FE4C:
/* 8039FE4C 0039CDAC 48 01 52 39 */ bl hwEnableIrq
lbl_8039FE50:
/* 8039FE50 0039CDB0 3C 60 80 55 */ lis r3, lbl_805513F8@ha
/* 8039FE50 0039CDB0 3C 60 80 55 */ lis r3, streamInfo@ha
/* 8039FE54 0039CDB4 38 80 00 00 */ li r4, 0
/* 8039FE58 0039CDB8 38 03 13 F8 */ addi r0, r3, lbl_805513F8@l
/* 8039FE58 0039CDB8 38 03 13 F8 */ addi r0, r3, streamInfo@l
/* 8039FE5C 0039CDBC 7C 60 F2 14 */ add r3, r0, r30
/* 8039FE60 0039CDC0 98 83 00 0C */ stb r4, 0xc(r3)
lbl_8039FE64:
/* 8039FE64 0039CDC4 48 01 52 21 */ bl hwEnableIrq
lbl_8039FE68:
/* 8039FE68 0039CDC8 3C 60 80 55 */ lis r3, lbl_805513F8@ha
/* 8039FE68 0039CDC8 3C 60 80 55 */ lis r3, streamInfo@ha
/* 8039FE6C 0039CDCC 38 80 00 00 */ li r4, 0
/* 8039FE70 0039CDD0 38 03 13 F8 */ addi r0, r3, lbl_805513F8@l
/* 8039FE70 0039CDD0 38 03 13 F8 */ addi r0, r3, streamInfo@l
/* 8039FE74 0039CDD4 7C 60 DA 14 */ add r3, r0, r27
/* 8039FE78 0039CDD8 98 83 00 0C */ stb r4, 0xc(r3)
lbl_8039FE7C:
/* 8039FE7C 0039CDDC 48 01 52 09 */ bl hwEnableIrq
lbl_8039FE80:
/* 8039FE80 0039CDE0 3C 60 80 55 */ lis r3, lbl_805513F8@ha
/* 8039FE80 0039CDE0 3C 60 80 55 */ lis r3, streamInfo@ha
/* 8039FE84 0039CDE4 38 80 00 00 */ li r4, 0
/* 8039FE88 0039CDE8 38 03 13 F8 */ addi r0, r3, lbl_805513F8@l
/* 8039FE88 0039CDE8 38 03 13 F8 */ addi r0, r3, streamInfo@l
/* 8039FE8C 0039CDEC 7C 60 E2 14 */ add r3, r0, r28
/* 8039FE90 0039CDF0 98 83 00 0C */ stb r4, 0xc(r3)
lbl_8039FE94:
/* 8039FE94 0039CDF4 48 01 51 F1 */ bl hwEnableIrq
lbl_8039FE98:
/* 8039FE98 0039CDF8 3C 60 80 55 */ lis r3, lbl_805513F8@ha
/* 8039FE98 0039CDF8 3C 60 80 55 */ lis r3, streamInfo@ha
/* 8039FE9C 0039CDFC 38 80 00 00 */ li r4, 0
/* 8039FEA0 0039CE00 38 03 13 F8 */ addi r0, r3, lbl_805513F8@l
/* 8039FEA0 0039CE00 38 03 13 F8 */ addi r0, r3, streamInfo@l
/* 8039FEA4 0039CE04 7C 60 FA 14 */ add r3, r0, r31
/* 8039FEA8 0039CE08 98 83 00 0C */ stb r4, 0xc(r3)
lbl_8039FEAC:
@ -3848,9 +3853,9 @@ sndStreamActivate:
/* 8039FEE4 0039CE44 93 81 00 10 */ stw r28, 0x10(r1)
/* 8039FEE8 0039CE48 3B 80 00 00 */ li r28, 0
/* 8039FEEC 0039CE4C 48 01 51 D1 */ bl hwDisableIrq
/* 8039FEF0 0039CE50 3C 60 80 55 */ lis r3, lbl_805513F8@ha
/* 8039FEF0 0039CE50 3C 60 80 55 */ lis r3, streamInfo@ha
/* 8039FEF4 0039CE54 38 00 00 08 */ li r0, 8
/* 8039FEF8 0039CE58 3B C3 13 F8 */ addi r30, r3, lbl_805513F8@l
/* 8039FEF8 0039CE58 3B C3 13 F8 */ addi r30, r3, streamInfo@l
/* 8039FEFC 0039CE5C 38 80 00 00 */ li r4, 0
/* 8039FF00 0039CE60 7F C3 F3 78 */ mr r3, r30
/* 8039FF04 0039CE64 7C 09 03 A6 */ mtctr r0
@ -3941,8 +3946,8 @@ lbl_803A0030:
/* 803A0030 0039CF90 3C 04 00 01 */ addis r0, r4, 1
/* 803A0034 0039CF94 28 00 FF FF */ cmplwi r0, 0xffff
/* 803A0038 0039CF98 41 82 04 C0 */ beq lbl_803A04F8
/* 803A003C 0039CF9C 3C 60 80 55 */ lis r3, lbl_805513F8@ha
/* 803A0040 0039CFA0 38 63 13 F8 */ addi r3, r3, lbl_805513F8@l
/* 803A003C 0039CF9C 3C 60 80 55 */ lis r3, streamInfo@ha
/* 803A0040 0039CFA0 38 63 13 F8 */ addi r3, r3, streamInfo@l
/* 803A0044 0039CFA4 1F 84 00 64 */ mulli r28, r4, 0x64
/* 803A0048 0039CFA8 3B A3 00 0C */ addi r29, r3, 0xc
/* 803A004C 0039CFAC 7C 1D E0 AE */ lbzx r0, r29, r28
@ -3951,9 +3956,9 @@ lbl_803A0030:
/* 803A0058 0039CFB8 7C 63 E2 14 */ add r3, r3, r28
/* 803A005C 0039CFBC 88 63 00 58 */ lbz r3, 0x58(r3)
/* 803A0060 0039CFC0 48 00 86 A9 */ bl voiceBlock
/* 803A0064 0039CFC4 3C 80 80 55 */ lis r4, lbl_805513F8@ha
/* 803A0064 0039CFC4 3C 80 80 55 */ lis r4, streamInfo@ha
/* 803A0068 0039CFC8 3C 03 00 01 */ addis r0, r3, 1
/* 803A006C 0039CFCC 38 84 13 F8 */ addi r4, r4, lbl_805513F8@l
/* 803A006C 0039CFCC 38 84 13 F8 */ addi r4, r4, streamInfo@l
/* 803A0070 0039CFD0 7C 84 E2 14 */ add r4, r4, r28
/* 803A0074 0039CFD4 28 00 FF FF */ cmplwi r0, 0xffff
/* 803A0078 0039CFD8 90 64 00 4C */ stw r3, 0x4c(r4)
@ -3967,8 +3972,8 @@ lbl_803A008C:
/* 803A0094 0039CFF4 90 64 00 20 */ stw r3, 0x20(r4)
/* 803A0098 0039CFF8 7C 1D E1 AE */ stbx r0, r29, r28
lbl_803A009C:
/* 803A009C 0039CFFC 3C 60 80 55 */ lis r3, lbl_805513F8@ha
/* 803A00A0 0039D000 38 63 13 F8 */ addi r3, r3, lbl_805513F8@l
/* 803A009C 0039CFFC 3C 60 80 55 */ lis r3, streamInfo@ha
/* 803A00A0 0039D000 38 63 13 F8 */ addi r3, r3, streamInfo@l
/* 803A00A4 0039D004 7F 83 E0 2E */ lwzx r28, r3, r28
/* 803A00A8 0039D008 3C 1C 00 01 */ addis r0, r28, 1
/* 803A00AC 0039D00C 28 00 FF FF */ cmplwi r0, 0xffff
@ -4070,14 +4075,14 @@ lbl_803A01F4:
/* 803A0204 0039D164 7C 1D E0 AE */ lbzx r0, r29, r28
/* 803A0208 0039D168 28 00 00 03 */ cmplwi r0, 3
/* 803A020C 0039D16C 40 82 00 50 */ bne lbl_803A025C
/* 803A0210 0039D170 3C 60 80 55 */ lis r3, lbl_805513F8@ha
/* 803A0214 0039D174 38 03 13 F8 */ addi r0, r3, lbl_805513F8@l
/* 803A0210 0039D170 3C 60 80 55 */ lis r3, streamInfo@ha
/* 803A0214 0039D174 38 03 13 F8 */ addi r0, r3, streamInfo@l
/* 803A0218 0039D178 7C 60 E2 14 */ add r3, r0, r28
/* 803A021C 0039D17C 88 63 00 58 */ lbz r3, 0x58(r3)
/* 803A0220 0039D180 48 00 84 E9 */ bl voiceBlock
/* 803A0224 0039D184 3C 80 80 55 */ lis r4, lbl_805513F8@ha
/* 803A0224 0039D184 3C 80 80 55 */ lis r4, streamInfo@ha
/* 803A0228 0039D188 3C 03 00 01 */ addis r0, r3, 1
/* 803A022C 0039D18C 38 84 13 F8 */ addi r4, r4, lbl_805513F8@l
/* 803A022C 0039D18C 38 84 13 F8 */ addi r4, r4, streamInfo@l
/* 803A0230 0039D190 7C 84 E2 14 */ add r4, r4, r28
/* 803A0234 0039D194 28 00 FF FF */ cmplwi r0, 0xffff
/* 803A0238 0039D198 90 64 00 4C */ stw r3, 0x4c(r4)
@ -4091,8 +4096,8 @@ lbl_803A024C:
/* 803A0254 0039D1B4 90 64 00 20 */ stw r3, 0x20(r4)
/* 803A0258 0039D1B8 7C 1D E1 AE */ stbx r0, r29, r28
lbl_803A025C:
/* 803A025C 0039D1BC 3C 60 80 55 */ lis r3, lbl_805513F8@ha
/* 803A0260 0039D1C0 38 63 13 F8 */ addi r3, r3, lbl_805513F8@l
/* 803A025C 0039D1BC 3C 60 80 55 */ lis r3, streamInfo@ha
/* 803A0260 0039D1C0 38 63 13 F8 */ addi r3, r3, streamInfo@l
/* 803A0264 0039D1C4 7F 83 E0 2E */ lwzx r28, r3, r28
/* 803A0268 0039D1C8 3C 1C 00 01 */ addis r0, r28, 1
/* 803A026C 0039D1CC 28 00 FF FF */ cmplwi r0, 0xffff
@ -4193,14 +4198,14 @@ lbl_803A03B0:
/* 803A03C0 0039D320 7C 1D E0 AE */ lbzx r0, r29, r28
/* 803A03C4 0039D324 28 00 00 03 */ cmplwi r0, 3
/* 803A03C8 0039D328 40 82 00 50 */ bne lbl_803A0418
/* 803A03CC 0039D32C 3C 60 80 55 */ lis r3, lbl_805513F8@ha
/* 803A03D0 0039D330 38 03 13 F8 */ addi r0, r3, lbl_805513F8@l
/* 803A03CC 0039D32C 3C 60 80 55 */ lis r3, streamInfo@ha
/* 803A03D0 0039D330 38 03 13 F8 */ addi r0, r3, streamInfo@l
/* 803A03D4 0039D334 7C 60 E2 14 */ add r3, r0, r28
/* 803A03D8 0039D338 88 63 00 58 */ lbz r3, 0x58(r3)
/* 803A03DC 0039D33C 48 00 83 2D */ bl voiceBlock
/* 803A03E0 0039D340 3C 80 80 55 */ lis r4, lbl_805513F8@ha
/* 803A03E0 0039D340 3C 80 80 55 */ lis r4, streamInfo@ha
/* 803A03E4 0039D344 3C 03 00 01 */ addis r0, r3, 1
/* 803A03E8 0039D348 38 84 13 F8 */ addi r4, r4, lbl_805513F8@l
/* 803A03E8 0039D348 38 84 13 F8 */ addi r4, r4, streamInfo@l
/* 803A03EC 0039D34C 7C 84 E2 14 */ add r4, r4, r28
/* 803A03F0 0039D350 28 00 FF FF */ cmplwi r0, 0xffff
/* 803A03F4 0039D354 90 64 00 4C */ stw r3, 0x4c(r4)
@ -4214,8 +4219,8 @@ lbl_803A0408:
/* 803A0410 0039D370 90 64 00 20 */ stw r3, 0x20(r4)
/* 803A0414 0039D374 7C 1D E1 AE */ stbx r0, r29, r28
lbl_803A0418:
/* 803A0418 0039D378 3C 60 80 55 */ lis r3, lbl_805513F8@ha
/* 803A041C 0039D37C 38 63 13 F8 */ addi r3, r3, lbl_805513F8@l
/* 803A0418 0039D378 3C 60 80 55 */ lis r3, streamInfo@ha
/* 803A041C 0039D37C 38 63 13 F8 */ addi r3, r3, streamInfo@l
/* 803A0420 0039D380 7F 83 E0 2E */ lwzx r28, r3, r28
/* 803A0424 0039D384 3C 1C 00 01 */ addis r0, r28, 1
/* 803A0428 0039D388 28 00 FF FF */ cmplwi r0, 0xffff
@ -4231,14 +4236,14 @@ lbl_803A0418:
/* 803A0450 0039D3B0 7C 1D E0 AE */ lbzx r0, r29, r28
/* 803A0454 0039D3B4 28 00 00 03 */ cmplwi r0, 3
/* 803A0458 0039D3B8 40 82 00 50 */ bne lbl_803A04A8
/* 803A045C 0039D3BC 3C 60 80 55 */ lis r3, lbl_805513F8@ha
/* 803A0460 0039D3C0 38 03 13 F8 */ addi r0, r3, lbl_805513F8@l
/* 803A045C 0039D3BC 3C 60 80 55 */ lis r3, streamInfo@ha
/* 803A0460 0039D3C0 38 03 13 F8 */ addi r0, r3, streamInfo@l
/* 803A0464 0039D3C4 7C 60 E2 14 */ add r3, r0, r28
/* 803A0468 0039D3C8 88 63 00 58 */ lbz r3, 0x58(r3)
/* 803A046C 0039D3CC 48 00 82 9D */ bl voiceBlock
/* 803A0470 0039D3D0 3C 80 80 55 */ lis r4, lbl_805513F8@ha
/* 803A0470 0039D3D0 3C 80 80 55 */ lis r4, streamInfo@ha
/* 803A0474 0039D3D4 3C 03 00 01 */ addis r0, r3, 1
/* 803A0478 0039D3D8 38 84 13 F8 */ addi r4, r4, lbl_805513F8@l
/* 803A0478 0039D3D8 38 84 13 F8 */ addi r4, r4, streamInfo@l
/* 803A047C 0039D3DC 7C 84 E2 14 */ add r4, r4, r28
/* 803A0480 0039D3E0 28 00 FF FF */ cmplwi r0, 0xffff
/* 803A0484 0039D3E4 90 64 00 4C */ stw r3, 0x4c(r4)
@ -4252,8 +4257,8 @@ lbl_803A0498:
/* 803A04A0 0039D400 90 64 00 20 */ stw r3, 0x20(r4)
/* 803A04A4 0039D404 7C 1D E1 AE */ stbx r0, r29, r28
lbl_803A04A8:
/* 803A04A8 0039D408 3C 60 80 55 */ lis r3, lbl_805513F8@ha
/* 803A04AC 0039D40C 38 63 13 F8 */ addi r3, r3, lbl_805513F8@l
/* 803A04A8 0039D408 3C 60 80 55 */ lis r3, streamInfo@ha
/* 803A04AC 0039D40C 38 63 13 F8 */ addi r3, r3, streamInfo@l
/* 803A04B0 0039D410 7C 63 E0 2E */ lwzx r3, r3, r28
/* 803A04B4 0039D414 3C 03 00 01 */ addis r0, r3, 1
/* 803A04B8 0039D418 28 00 FF FF */ cmplwi r0, 0xffff
@ -4303,9 +4308,9 @@ sndStreamDeactivate:
/* 803A0534 0039D494 93 A1 00 14 */ stw r29, 0x14(r1)
/* 803A0538 0039D498 7C 7D 1B 78 */ mr r29, r3
/* 803A053C 0039D49C 48 01 4B 81 */ bl hwDisableIrq
/* 803A0540 0039D4A0 3C 60 80 55 */ lis r3, lbl_805513F8@ha
/* 803A0540 0039D4A0 3C 60 80 55 */ lis r3, streamInfo@ha
/* 803A0544 0039D4A4 38 00 00 08 */ li r0, 8
/* 803A0548 0039D4A8 3B E3 13 F8 */ addi r31, r3, lbl_805513F8@l
/* 803A0548 0039D4A8 3B E3 13 F8 */ addi r31, r3, streamInfo@l
/* 803A054C 0039D4AC 38 80 00 00 */ li r4, 0
/* 803A0550 0039D4B0 7F E3 FB 78 */ mr r3, r31
/* 803A0554 0039D4B4 7C 09 03 A6 */ mtctr r0
@ -4396,8 +4401,8 @@ lbl_803A0680:
/* 803A0680 0039D5E0 3C 04 00 01 */ addis r0, r4, 1
/* 803A0684 0039D5E4 28 00 FF FF */ cmplwi r0, 0xffff
/* 803A0688 0039D5E8 41 82 05 8C */ beq lbl_803A0C14
/* 803A068C 0039D5EC 3C 60 80 55 */ lis r3, lbl_805513F8@ha
/* 803A0690 0039D5F0 38 63 13 F8 */ addi r3, r3, lbl_805513F8@l
/* 803A068C 0039D5EC 3C 60 80 55 */ lis r3, streamInfo@ha
/* 803A0690 0039D5F0 38 63 13 F8 */ addi r3, r3, streamInfo@l
/* 803A0694 0039D5F4 1F A4 00 64 */ mulli r29, r4, 0x64
/* 803A0698 0039D5F8 3B C3 00 0C */ addi r30, r3, 0xc
/* 803A069C 0039D5FC 7C 1E E8 AE */ lbzx r0, r30, r29
@ -4406,16 +4411,16 @@ lbl_803A0680:
/* 803A06A8 0039D608 28 00 00 02 */ cmplwi r0, 2
/* 803A06AC 0039D60C 40 82 00 20 */ bne lbl_803A06CC
lbl_803A06B0:
/* 803A06B0 0039D610 3C 60 80 55 */ lis r3, lbl_805513F8@ha
/* 803A06B4 0039D614 38 03 13 F8 */ addi r0, r3, lbl_805513F8@l
/* 803A06B0 0039D610 3C 60 80 55 */ lis r3, streamInfo@ha
/* 803A06B4 0039D614 38 03 13 F8 */ addi r0, r3, streamInfo@l
/* 803A06B8 0039D618 7C 60 EA 14 */ add r3, r0, r29
/* 803A06BC 0039D61C 80 63 00 4C */ lwz r3, 0x4c(r3)
/* 803A06C0 0039D620 48 00 81 45 */ bl voiceUnblock
/* 803A06C4 0039D624 38 00 00 03 */ li r0, 3
/* 803A06C8 0039D628 7C 1E E9 AE */ stbx r0, r30, r29
lbl_803A06CC:
/* 803A06CC 0039D62C 3C 60 80 55 */ lis r3, lbl_805513F8@ha
/* 803A06D0 0039D630 38 63 13 F8 */ addi r3, r3, lbl_805513F8@l
/* 803A06CC 0039D62C 3C 60 80 55 */ lis r3, streamInfo@ha
/* 803A06D0 0039D630 38 63 13 F8 */ addi r3, r3, streamInfo@l
/* 803A06D4 0039D634 7F A3 E8 2E */ lwzx r29, r3, r29
/* 803A06D8 0039D638 3C 1D 00 01 */ addis r0, r29, 1
/* 803A06DC 0039D63C 28 00 FF FF */ cmplwi r0, 0xffff
@ -4519,16 +4524,16 @@ lbl_803A0820:
/* 803A083C 0039D79C 28 00 00 02 */ cmplwi r0, 2
/* 803A0840 0039D7A0 40 82 00 20 */ bne lbl_803A0860
lbl_803A0844:
/* 803A0844 0039D7A4 3C 60 80 55 */ lis r3, lbl_805513F8@ha
/* 803A0848 0039D7A8 38 03 13 F8 */ addi r0, r3, lbl_805513F8@l
/* 803A0844 0039D7A4 3C 60 80 55 */ lis r3, streamInfo@ha
/* 803A0848 0039D7A8 38 03 13 F8 */ addi r0, r3, streamInfo@l
/* 803A084C 0039D7AC 7C 60 EA 14 */ add r3, r0, r29
/* 803A0850 0039D7B0 80 63 00 4C */ lwz r3, 0x4c(r3)
/* 803A0854 0039D7B4 48 00 7F B1 */ bl voiceUnblock
/* 803A0858 0039D7B8 38 00 00 03 */ li r0, 3
/* 803A085C 0039D7BC 7C 1E E9 AE */ stbx r0, r30, r29
lbl_803A0860:
/* 803A0860 0039D7C0 3C 60 80 55 */ lis r3, lbl_805513F8@ha
/* 803A0864 0039D7C4 38 63 13 F8 */ addi r3, r3, lbl_805513F8@l
/* 803A0860 0039D7C0 3C 60 80 55 */ lis r3, streamInfo@ha
/* 803A0864 0039D7C4 38 63 13 F8 */ addi r3, r3, streamInfo@l
/* 803A0868 0039D7C8 7F A3 E8 2E */ lwzx r29, r3, r29
/* 803A086C 0039D7CC 3C 1D 00 01 */ addis r0, r29, 1
/* 803A0870 0039D7D0 28 00 FF FF */ cmplwi r0, 0xffff
@ -4632,16 +4637,16 @@ lbl_803A09B4:
/* 803A09D0 0039D930 28 00 00 02 */ cmplwi r0, 2
/* 803A09D4 0039D934 40 82 00 20 */ bne lbl_803A09F4
lbl_803A09D8:
/* 803A09D8 0039D938 3C 60 80 55 */ lis r3, lbl_805513F8@ha
/* 803A09DC 0039D93C 38 03 13 F8 */ addi r0, r3, lbl_805513F8@l
/* 803A09D8 0039D938 3C 60 80 55 */ lis r3, streamInfo@ha
/* 803A09DC 0039D93C 38 03 13 F8 */ addi r0, r3, streamInfo@l
/* 803A09E0 0039D940 7C 60 EA 14 */ add r3, r0, r29
/* 803A09E4 0039D944 80 63 00 4C */ lwz r3, 0x4c(r3)
/* 803A09E8 0039D948 48 00 7E 1D */ bl voiceUnblock
/* 803A09EC 0039D94C 38 00 00 03 */ li r0, 3
/* 803A09F0 0039D950 7C 1E E9 AE */ stbx r0, r30, r29
lbl_803A09F4:
/* 803A09F4 0039D954 3C 60 80 55 */ lis r3, lbl_805513F8@ha
/* 803A09F8 0039D958 38 63 13 F8 */ addi r3, r3, lbl_805513F8@l
/* 803A09F4 0039D954 3C 60 80 55 */ lis r3, streamInfo@ha
/* 803A09F8 0039D958 38 63 13 F8 */ addi r3, r3, streamInfo@l
/* 803A09FC 0039D95C 7F A3 E8 2E */ lwzx r29, r3, r29
/* 803A0A00 0039D960 3C 1D 00 01 */ addis r0, r29, 1
/* 803A0A04 0039D964 28 00 FF FF */ cmplwi r0, 0xffff
@ -4744,16 +4749,16 @@ lbl_803A0B44:
/* 803A0B60 0039DAC0 28 00 00 02 */ cmplwi r0, 2
/* 803A0B64 0039DAC4 40 82 00 20 */ bne lbl_803A0B84
lbl_803A0B68:
/* 803A0B68 0039DAC8 3C 60 80 55 */ lis r3, lbl_805513F8@ha
/* 803A0B6C 0039DACC 38 03 13 F8 */ addi r0, r3, lbl_805513F8@l
/* 803A0B68 0039DAC8 3C 60 80 55 */ lis r3, streamInfo@ha
/* 803A0B6C 0039DACC 38 03 13 F8 */ addi r0, r3, streamInfo@l
/* 803A0B70 0039DAD0 7C 60 EA 14 */ add r3, r0, r29
/* 803A0B74 0039DAD4 80 63 00 4C */ lwz r3, 0x4c(r3)
/* 803A0B78 0039DAD8 48 00 7C 8D */ bl voiceUnblock
/* 803A0B7C 0039DADC 38 00 00 03 */ li r0, 3
/* 803A0B80 0039DAE0 7C 1E E9 AE */ stbx r0, r30, r29
lbl_803A0B84:
/* 803A0B84 0039DAE4 3C 60 80 55 */ lis r3, lbl_805513F8@ha
/* 803A0B88 0039DAE8 38 63 13 F8 */ addi r3, r3, lbl_805513F8@l
/* 803A0B84 0039DAE4 3C 60 80 55 */ lis r3, streamInfo@ha
/* 803A0B88 0039DAE8 38 63 13 F8 */ addi r3, r3, streamInfo@l
/* 803A0B8C 0039DAEC 7F A3 E8 2E */ lwzx r29, r3, r29
/* 803A0B90 0039DAF0 3C 1D 00 01 */ addis r0, r29, 1
/* 803A0B94 0039DAF4 28 00 FF FF */ cmplwi r0, 0xffff
@ -4771,16 +4776,16 @@ lbl_803A0B84:
/* 803A0BC4 0039DB24 28 00 00 02 */ cmplwi r0, 2
/* 803A0BC8 0039DB28 40 82 00 20 */ bne lbl_803A0BE8
lbl_803A0BCC:
/* 803A0BCC 0039DB2C 3C 60 80 55 */ lis r3, lbl_805513F8@ha
/* 803A0BD0 0039DB30 38 03 13 F8 */ addi r0, r3, lbl_805513F8@l
/* 803A0BCC 0039DB2C 3C 60 80 55 */ lis r3, streamInfo@ha
/* 803A0BD0 0039DB30 38 03 13 F8 */ addi r0, r3, streamInfo@l
/* 803A0BD4 0039DB34 7C 60 EA 14 */ add r3, r0, r29
/* 803A0BD8 0039DB38 80 63 00 4C */ lwz r3, 0x4c(r3)
/* 803A0BDC 0039DB3C 48 00 7C 29 */ bl voiceUnblock
/* 803A0BE0 0039DB40 38 00 00 03 */ li r0, 3
/* 803A0BE4 0039DB44 7C 1E E9 AE */ stbx r0, r30, r29
lbl_803A0BE8:
/* 803A0BE8 0039DB48 3C 60 80 55 */ lis r3, lbl_805513F8@ha
/* 803A0BEC 0039DB4C 38 63 13 F8 */ addi r3, r3, lbl_805513F8@l
/* 803A0BE8 0039DB48 3C 60 80 55 */ lis r3, streamInfo@ha
/* 803A0BEC 0039DB4C 38 63 13 F8 */ addi r3, r3, streamInfo@l
/* 803A0BF0 0039DB50 7C 63 E8 2E */ lwzx r3, r3, r29
/* 803A0BF4 0039DB54 3C 03 00 01 */ addis r0, r3, 1
/* 803A0BF8 0039DB58 28 00 FF FF */ cmplwi r0, 0xffff

View File

@ -1,5 +1,46 @@
.include "macros.inc"
.section .bss
.global synthTicksPerSecond
synthTicksPerSecond:
.skip 0x240
.global synthInfo
synthInfo:
.skip 0x214
.global synthMasterFader
synthMasterFader:
.skip 0x600
.global synthTrackVolume
synthTrackVolume:
.skip 0x40
.global synthJobTable
synthJobTable:
.skip 0x180
.global synthAuxAUser
synthAuxAUser:
.skip 0x20
.global synthAuxACallback
synthAuxACallback:
.skip 0x20
.global synthAuxBUser
synthAuxBUser:
.skip 0x20
.global synthAuxBCallback
synthAuxBCallback:
.skip 0x20
.global synthITDDefault
synthITDDefault:
.skip 0x10
.global synthGlobalVariable
synthGlobalVariable:
.skip 0x40
.global inpAuxB
inpAuxB:
.skip 0x480
.global inpAuxA
inpAuxA:
.skip 0x484
.section .sbss
.balign 4
.global sndActive
@ -54,11 +95,11 @@ lbl_80398CB0:
/* 80398CB0 00395C10 54 60 18 38 */ slwi r0, r3, 3
/* 80398CB4 00395C14 3C C0 88 89 */ lis r6, 0x88888889@ha
/* 80398CB8 00395C18 1C 00 06 00 */ mulli r0, r0, 0x600
/* 80398CBC 00395C1C 3C 60 80 55 */ lis r3, lbl_8054FE10@ha
/* 80398CBC 00395C1C 3C 60 80 55 */ lis r3, synthTicksPerSecond@ha
/* 80398CC0 00395C20 38 C6 88 89 */ addi r6, r6, 0x88888889@l
/* 80398CC4 00395C24 54 84 34 B2 */ rlwinm r4, r4, 6, 0x12, 0x19
/* 80398CC8 00395C28 7C C6 00 16 */ mulhwu r6, r6, r0
/* 80398CCC 00395C2C 38 63 FE 10 */ addi r3, r3, lbl_8054FE10@l
/* 80398CCC 00395C2C 38 63 FE 10 */ addi r3, r3, synthTicksPerSecond@l
/* 80398CD0 00395C30 54 A0 15 BA */ rlwinm r0, r5, 2, 0x16, 0x1d
/* 80398CD4 00395C34 7C 63 22 14 */ add r3, r3, r4
/* 80398CD8 00395C38 54 C4 C9 FE */ srwi r4, r6, 7
@ -74,9 +115,9 @@ synthGetTicksPerSecond:
/* 80398CF4 00395C54 7C 04 03 78 */ mr r4, r0
lbl_80398CF8:
/* 80398CF8 00395C58 88 03 01 23 */ lbz r0, 0x123(r3)
/* 80398CFC 00395C5C 3C 60 80 55 */ lis r3, lbl_8054FE10@ha
/* 80398CFC 00395C5C 3C 60 80 55 */ lis r3, synthTicksPerSecond@ha
/* 80398D00 00395C60 54 84 30 32 */ slwi r4, r4, 6
/* 80398D04 00395C64 38 63 FE 10 */ addi r3, r3, lbl_8054FE10@l
/* 80398D04 00395C64 38 63 FE 10 */ addi r3, r3, synthTicksPerSecond@l
/* 80398D08 00395C68 54 00 10 3A */ slwi r0, r0, 2
/* 80398D0C 00395C6C 7C 63 22 14 */ add r3, r3, r4
/* 80398D10 00395C70 7C 63 00 2E */ lwzx r3, r3, r0
@ -1662,10 +1703,10 @@ lbl_8039A364:
/* 8039A36C 003972CC 80 DE 01 14 */ lwz r6, 0x114(r30)
/* 8039A370 003972D0 38 A0 EF FF */ li r5, -4097
/* 8039A374 003972D4 7C 84 18 38 */ and r4, r4, r3
/* 8039A378 003972D8 3C 60 80 55 */ lis r3, lbl_80550264@ha
/* 8039A378 003972D8 3C 60 80 55 */ lis r3, synthMasterFader@ha
/* 8039A37C 003972DC 90 9E 01 18 */ stw r4, 0x118(r30)
/* 8039A380 003972E0 7C C4 28 38 */ and r4, r6, r5
/* 8039A384 003972E4 38 A3 02 64 */ addi r5, r3, lbl_80550264@l
/* 8039A384 003972E4 38 A3 02 64 */ addi r5, r3, synthMasterFader@l
/* 8039A388 003972E8 90 9E 01 14 */ stw r4, 0x114(r30)
/* 8039A38C 003972EC 88 DE 01 1D */ lbz r6, 0x11d(r30)
/* 8039A390 003972F0 88 7E 01 1E */ lbz r3, 0x11e(r30)
@ -1684,9 +1725,9 @@ lbl_8039A364:
/* 8039A3C4 00397324 7C 05 1C 2E */ lfsx f0, r5, r3
/* 8039A3C8 00397328 EC 61 00 32 */ fmuls f3, f1, f0
/* 8039A3CC 0039732C 41 82 00 38 */ beq lbl_8039A404
/* 8039A3D0 00397330 3C 80 80 55 */ lis r4, lbl_80550864@ha
/* 8039A3D0 00397330 3C 80 80 55 */ lis r4, synthTrackVolume@ha
/* 8039A3D4 00397334 3C 60 43 30 */ lis r3, 0x4330
/* 8039A3D8 00397338 38 84 08 64 */ addi r4, r4, lbl_80550864@l
/* 8039A3D8 00397338 38 84 08 64 */ addi r4, r4, synthTrackVolume@l
/* 8039A3DC 0039733C 90 61 00 08 */ stw r3, 8(r1)
/* 8039A3E0 00397340 7C 64 40 AE */ lbzx r3, r4, r8
/* 8039A3E4 00397344 C8 22 D5 38 */ lfd f1, lbl_805AF258@sda21(r2)
@ -2035,11 +2076,11 @@ lbl_8039A8A8:
synthAddJob:
/* 8039A8E8 00397848 88 0D AE 49 */ lbz r0, synthJobTableIndex@sda21(r13)
/* 8039A8EC 0039784C 54 A6 C2 3E */ srwi r6, r5, 8
/* 8039A8F0 00397850 3C A0 80 55 */ lis r5, lbl_805508A4@ha
/* 8039A8F0 00397850 3C A0 80 55 */ lis r5, synthJobTable@ha
/* 8039A8F4 00397854 2C 04 00 01 */ cmpwi r4, 1
/* 8039A8F8 00397858 7C 06 02 14 */ add r0, r6, r0
/* 8039A8FC 0039785C 54 08 06 FE */ clrlwi r8, r0, 0x1b
/* 8039A900 00397860 38 05 08 A4 */ addi r0, r5, lbl_805508A4@l
/* 8039A900 00397860 38 05 08 A4 */ addi r0, r5, synthJobTable@l
/* 8039A904 00397864 1C A8 00 0C */ mulli r5, r8, 0xc
/* 8039A908 00397868 7C A0 2A 14 */ add r5, r0, r5
/* 8039A90C 0039786C 41 82 00 84 */ beq lbl_8039A990
@ -2072,9 +2113,9 @@ lbl_8039A958:
/* 8039A96C 003978CC 48 00 00 1C */ b lbl_8039A988
lbl_8039A970:
/* 8039A970 003978D0 88 03 00 09 */ lbz r0, 9(r3)
/* 8039A974 003978D4 3C C0 80 55 */ lis r6, lbl_805508A4@ha
/* 8039A974 003978D4 3C C0 80 55 */ lis r6, synthJobTable@ha
/* 8039A978 003978D8 80 E3 00 00 */ lwz r7, 0(r3)
/* 8039A97C 003978DC 38 66 08 A4 */ addi r3, r6, lbl_805508A4@l
/* 8039A97C 003978DC 38 66 08 A4 */ addi r3, r6, synthJobTable@l
/* 8039A980 003978E0 1C 00 00 0C */ mulli r0, r0, 0xc
/* 8039A984 003978E4 7C E3 01 2E */ stwx r7, r3, r0
lbl_8039A988:
@ -2101,8 +2142,8 @@ lbl_8039A9BC:
/* 8039A9D0 00397930 48 00 00 20 */ b lbl_8039A9F0
lbl_8039A9D4:
/* 8039A9D4 00397934 88 04 00 09 */ lbz r0, 9(r4)
/* 8039A9D8 00397938 3C 60 80 55 */ lis r3, lbl_805508A4@ha
/* 8039A9DC 0039793C 38 63 08 A4 */ addi r3, r3, lbl_805508A4@l
/* 8039A9D8 00397938 3C 60 80 55 */ lis r3, synthJobTable@ha
/* 8039A9DC 0039793C 38 63 08 A4 */ addi r3, r3, synthJobTable@l
/* 8039A9E0 00397940 80 C4 00 00 */ lwz r6, 0(r4)
/* 8039A9E4 00397944 1C 00 00 0C */ mulli r0, r0, 0xc
/* 8039A9E8 00397948 7C 63 02 14 */ add r3, r3, r0
@ -2198,9 +2239,9 @@ synthHandle:
/* 8039AB10 00397A70 90 01 00 54 */ stw r0, 0x54(r1)
/* 8039AB14 00397A74 39 61 00 50 */ addi r11, r1, 0x50
/* 8039AB18 00397A78 4B FE EF 49 */ bl _savegpr_20
/* 8039AB1C 00397A7C 3C 80 80 55 */ lis r4, lbl_8054FE10@ha
/* 8039AB1C 00397A7C 3C 80 80 55 */ lis r4, synthTicksPerSecond@ha
/* 8039AB20 00397A80 7C 79 1B 78 */ mr r25, r3
/* 8039AB24 00397A84 3B E4 FE 10 */ addi r31, r4, lbl_8054FE10@l
/* 8039AB24 00397A84 3B E4 FE 10 */ addi r31, r4, synthTicksPerSecond@l
/* 8039AB28 00397A88 38 9F 02 40 */ addi r4, r31, 0x240
/* 8039AB2C 00397A8C 80 04 00 04 */ lwz r0, 4(r4)
/* 8039AB30 00397A90 28 00 00 00 */ cmplwi r0, 0
@ -2867,8 +2908,8 @@ lbl_8039B460:
/* 8039B460 003983C0 57 63 06 3E */ clrlwi r3, r27, 0x18
/* 8039B464 003983C4 3C 00 43 30 */ lis r0, 0x4330
/* 8039B468 003983C8 90 61 00 14 */ stw r3, 0x14(r1)
/* 8039B46C 003983CC 3C 60 80 55 */ lis r3, lbl_80550264@ha
/* 8039B470 003983D0 38 63 02 64 */ addi r3, r3, lbl_80550264@l
/* 8039B46C 003983CC 3C 60 80 55 */ lis r3, synthMasterFader@ha
/* 8039B470 003983D0 38 63 02 64 */ addi r3, r3, synthMasterFader@l
/* 8039B474 003983D4 C8 22 D5 38 */ lfd f1, lbl_805AF258@sda21(r2)
/* 8039B478 003983D8 90 01 00 10 */ stw r0, 0x10(r1)
/* 8039B47C 003983DC 7C 7D 1B 78 */ mr r29, r3
@ -2949,9 +2990,9 @@ lbl_8039B580:
/* 8039B580 003984E0 57 63 06 3E */ clrlwi r3, r27, 0x18
/* 8039B584 003984E4 3C 00 43 30 */ lis r0, 0x4330
/* 8039B588 003984E8 90 61 00 14 */ stw r3, 0x14(r1)
/* 8039B58C 003984EC 3C 60 80 55 */ lis r3, lbl_80550264@ha
/* 8039B58C 003984EC 3C 60 80 55 */ lis r3, synthMasterFader@ha
/* 8039B590 003984F0 C8 22 D5 38 */ lfd f1, lbl_805AF258@sda21(r2)
/* 8039B594 003984F4 3B A3 02 64 */ addi r29, r3, lbl_80550264@l
/* 8039B594 003984F4 3B A3 02 64 */ addi r29, r3, synthMasterFader@l
/* 8039B598 003984F8 90 01 00 10 */ stw r0, 0x10(r1)
/* 8039B59C 003984FC 3B 80 00 00 */ li r28, 0
/* 8039B5A0 00398500 C0 42 D5 10 */ lfs f2, lbl_805AF230@sda21(r2)
@ -3041,9 +3082,9 @@ lbl_8039B6B8:
/* 8039B6B8 00398618 57 63 06 3E */ clrlwi r3, r27, 0x18
/* 8039B6BC 0039861C 3C 00 43 30 */ lis r0, 0x4330
/* 8039B6C0 00398620 90 61 00 14 */ stw r3, 0x14(r1)
/* 8039B6C4 00398624 3C 60 80 55 */ lis r3, lbl_80550264@ha
/* 8039B6C4 00398624 3C 60 80 55 */ lis r3, synthMasterFader@ha
/* 8039B6C8 00398628 C8 22 D5 38 */ lfd f1, lbl_805AF258@sda21(r2)
/* 8039B6CC 0039862C 3B A3 02 64 */ addi r29, r3, lbl_80550264@l
/* 8039B6CC 0039862C 3B A3 02 64 */ addi r29, r3, synthMasterFader@l
/* 8039B6D0 00398630 90 01 00 10 */ stw r0, 0x10(r1)
/* 8039B6D4 00398634 54 9F 06 3E */ clrlwi r31, r4, 0x18
/* 8039B6D8 00398638 C0 42 D5 10 */ lfs f2, lbl_805AF230@sda21(r2)
@ -3118,10 +3159,10 @@ lbl_8039B7BC:
/* 8039B7CC 0039872C 48 00 01 2C */ b lbl_8039B8F8
lbl_8039B7D0:
/* 8039B7D0 00398730 57 A0 06 3E */ clrlwi r0, r29, 0x18
/* 8039B7D4 00398734 3C 60 80 55 */ lis r3, lbl_80550264@ha
/* 8039B7D4 00398734 3C 60 80 55 */ lis r3, synthMasterFader@ha
/* 8039B7D8 00398738 1C C0 00 30 */ mulli r6, r0, 0x30
/* 8039B7DC 0039873C 80 81 00 08 */ lwz r4, 8(r1)
/* 8039B7E0 00398740 38 A3 02 64 */ addi r5, r3, lbl_80550264@l
/* 8039B7E0 00398740 38 A3 02 64 */ addi r5, r3, synthMasterFader@l
/* 8039B7E4 00398744 28 04 00 00 */ cmplwi r4, 0
/* 8039B7E8 00398748 7D 05 32 14 */ add r8, r5, r6
/* 8039B7EC 0039874C 9B C8 00 2C */ stb r30, 0x2c(r8)
@ -3210,9 +3251,9 @@ lbl_8039B8F8:
.global synthIsFadeOutActive
synthIsFadeOutActive:
/* 8039B918 00398878 54 65 06 3E */ clrlwi r5, r3, 0x18
/* 8039B91C 0039887C 3C 60 80 55 */ lis r3, lbl_80550264@ha
/* 8039B91C 0039887C 3C 60 80 55 */ lis r3, synthMasterFader@ha
/* 8039B920 00398880 1C 85 00 30 */ mulli r4, r5, 0x30
/* 8039B924 00398884 38 03 02 64 */ addi r0, r3, lbl_80550264@l
/* 8039B924 00398884 38 03 02 64 */ addi r0, r3, synthMasterFader@l
/* 8039B928 00398888 7C 80 22 14 */ add r4, r0, r4
/* 8039B92C 0039888C 88 04 00 2D */ lbz r0, 0x2d(r4)
/* 8039B930 00398890 28 00 00 04 */ cmplwi r0, 4
@ -3238,9 +3279,9 @@ synthSetMusicVolumeType:
/* 8039B970 003988D0 28 00 00 00 */ cmplwi r0, 0
/* 8039B974 003988D4 4D 82 00 20 */ beqlr
/* 8039B978 003988D8 54 60 06 3E */ clrlwi r0, r3, 0x18
/* 8039B97C 003988DC 3C 60 80 55 */ lis r3, lbl_80550264@ha
/* 8039B97C 003988DC 3C 60 80 55 */ lis r3, synthMasterFader@ha
/* 8039B980 003988E0 1C 00 00 30 */ mulli r0, r0, 0x30
/* 8039B984 003988E4 38 63 02 64 */ addi r3, r3, lbl_80550264@l
/* 8039B984 003988E4 38 63 02 64 */ addi r3, r3, synthMasterFader@l
/* 8039B988 003988E8 7C 63 02 14 */ add r3, r3, r0
/* 8039B98C 003988EC 98 83 00 2D */ stb r4, 0x2d(r3)
/* 8039B990 003988F0 4E 80 00 20 */ blr
@ -3314,8 +3355,8 @@ synthInit:
/* 8039BA70 003989D0 39 61 00 50 */ addi r11, r1, 0x50
/* 8039BA74 003989D4 4B FE DF D5 */ bl __save_gpr
/* 8039BA78 003989D8 7C 8F 23 78 */ mr r15, r4
/* 8039BA7C 003989DC 3C 80 80 55 */ lis r4, lbl_8054FE10@ha
/* 8039BA80 003989E0 3B E4 FE 10 */ addi r31, r4, lbl_8054FE10@l
/* 8039BA7C 003989DC 3C 80 80 55 */ lis r4, synthTicksPerSecond@ha
/* 8039BA80 003989E0 3B E4 FE 10 */ addi r31, r4, synthTicksPerSecond@l
/* 8039BA84 003989E4 38 A0 00 00 */ li r5, 0
/* 8039BA88 003989E8 1D CF 04 04 */ mulli r14, r15, 0x404
/* 8039BA8C 003989EC 38 00 18 00 */ li r0, 0x1800

File diff suppressed because it is too large Load Diff

View File

@ -1,5 +1,10 @@
.include "macros.inc"
.section .bss
.global "newsmp$473"
"newsmp$473":
.skip 0x20
.section .sbss
"cstep$1643":
.skip 0x8
@ -558,9 +563,9 @@ sub_803a313c:
/* 803A3150 003A00B0 7C 7E 1B 78 */ mr r30, r3
/* 803A3154 003A00B4 93 A1 00 14 */ stw r29, 0x14(r1)
/* 803A3158 003A00B8 7C 9D 23 78 */ mr r29, r4
/* 803A315C 003A00BC 3C 80 80 56 */ lis r4, lbl_8055D330@ha
/* 803A315C 003A00BC 3C 80 80 56 */ lis r4, "newsmp$473"@ha
/* 803A3160 003A00C0 80 1D 00 00 */ lwz r0, 0(r29)
/* 803A3164 003A00C4 38 84 D3 30 */ addi r4, r4, lbl_8055D330@l
/* 803A3164 003A00C4 38 84 D3 30 */ addi r4, r4, "newsmp$473"@l
/* 803A3168 003A00C8 54 1F C4 3E */ rlwinm r31, r0, 0x18, 0x10, 0x1f
/* 803A316C 003A00CC 7F E3 FB 78 */ mr r3, r31
/* 803A3170 003A00D0 4B FF F4 29 */ bl sub_803a2598
@ -579,20 +584,20 @@ lbl_803A319C:
/* 803A31A0 003A0100 40 80 00 9C */ bge lbl_803A323C
/* 803A31A4 003A0104 48 00 00 5C */ b lbl_803A3200
lbl_803A31A8:
/* 803A31A8 003A0108 3C 60 80 56 */ lis r3, lbl_8055D330@ha
/* 803A31A8 003A0108 3C 60 80 56 */ lis r3, "newsmp$473"@ha
/* 803A31AC 003A010C 80 1D 00 04 */ lwz r0, 4(r29)
/* 803A31B0 003A0110 38 63 D3 30 */ addi r3, r3, lbl_8055D330@l
/* 803A31B0 003A0110 38 63 D3 30 */ addi r3, r3, "newsmp$473"@l
/* 803A31B4 003A0114 90 03 00 0C */ stw r0, 0xc(r3)
/* 803A31B8 003A0118 48 00 00 94 */ b lbl_803A324C
lbl_803A31BC:
/* 803A31BC 003A011C 80 BE 01 54 */ lwz r5, 0x154(r30)
/* 803A31C0 003A0120 3C 80 02 04 */ lis r4, 0x02040811@ha
/* 803A31C4 003A0124 3C 60 80 56 */ lis r3, lbl_8055D330@ha
/* 803A31C4 003A0124 3C 60 80 56 */ lis r3, "newsmp$473"@ha
/* 803A31C8 003A0128 80 1D 00 04 */ lwz r0, 4(r29)
/* 803A31CC 003A012C 54 A5 84 3E */ srwi r5, r5, 0x10
/* 803A31D0 003A0130 38 C4 08 11 */ addi r6, r4, 0x02040811@l
/* 803A31D4 003A0134 20 85 00 7F */ subfic r4, r5, 0x7f
/* 803A31D8 003A0138 38 63 D3 30 */ addi r3, r3, lbl_8055D330@l
/* 803A31D8 003A0138 38 63 D3 30 */ addi r3, r3, "newsmp$473"@l
/* 803A31DC 003A013C 54 84 06 3E */ clrlwi r4, r4, 0x18
/* 803A31E0 003A0140 7C 00 21 D6 */ mullw r0, r0, r4
/* 803A31E4 003A0144 7C 86 00 16 */ mulhwu r4, r6, r0
@ -606,11 +611,11 @@ lbl_803A3200:
/* 803A3200 003A0160 80 BE 01 54 */ lwz r5, 0x154(r30)
/* 803A3204 003A0164 3C 80 02 04 */ lis r4, 0x02040811@ha
/* 803A3208 003A0168 80 1D 00 04 */ lwz r0, 4(r29)
/* 803A320C 003A016C 3C 60 80 56 */ lis r3, lbl_8055D330@ha
/* 803A320C 003A016C 3C 60 80 56 */ lis r3, "newsmp$473"@ha
/* 803A3210 003A0170 54 A5 86 3E */ rlwinm r5, r5, 0x10, 0x18, 0x1f
/* 803A3214 003A0174 38 84 08 11 */ addi r4, r4, 0x02040811@l
/* 803A3218 003A0178 7C 00 29 D6 */ mullw r0, r0, r5
/* 803A321C 003A017C 38 63 D3 30 */ addi r3, r3, lbl_8055D330@l
/* 803A321C 003A017C 38 63 D3 30 */ addi r3, r3, "newsmp$473"@l
/* 803A3220 003A0180 7C 84 00 16 */ mulhwu r4, r4, r0
/* 803A3224 003A0184 7C 04 00 50 */ subf r0, r4, r0
/* 803A3228 003A0188 54 00 F8 7E */ srwi r0, r0, 1
@ -619,13 +624,13 @@ lbl_803A3200:
/* 803A3234 003A0194 90 03 00 0C */ stw r0, 0xc(r3)
/* 803A3238 003A0198 48 00 00 14 */ b lbl_803A324C
lbl_803A323C:
/* 803A323C 003A019C 3C 60 80 56 */ lis r3, lbl_8055D330@ha
/* 803A323C 003A019C 3C 60 80 56 */ lis r3, "newsmp$473"@ha
/* 803A3240 003A01A0 38 00 00 00 */ li r0, 0
/* 803A3244 003A01A4 38 63 D3 30 */ addi r3, r3, lbl_8055D330@l
/* 803A3244 003A01A4 38 63 D3 30 */ addi r3, r3, "newsmp$473"@l
/* 803A3248 003A01A8 90 03 00 0C */ stw r0, 0xc(r3)
lbl_803A324C:
/* 803A324C 003A01AC 3C 60 80 56 */ lis r3, lbl_8055D330@ha
/* 803A3250 003A01B0 38 63 D3 30 */ addi r3, r3, lbl_8055D330@l
/* 803A324C 003A01AC 3C 60 80 56 */ lis r3, "newsmp$473"@ha
/* 803A3250 003A01B0 38 63 D3 30 */ addi r3, r3, "newsmp$473"@l
/* 803A3254 003A01B4 80 03 00 0C */ lwz r0, 0xc(r3)
/* 803A3258 003A01B8 80 83 00 10 */ lwz r4, 0x10(r3)
/* 803A325C 003A01BC 7C 00 20 40 */ cmplw r0, r4
@ -648,7 +653,7 @@ lbl_803A326C:
/* 803A329C 003A01FC 7D 24 52 78 */ xor r4, r9, r10
/* 803A32A0 003A0200 7C C6 52 78 */ xor r6, r6, r10
/* 803A32A4 003A0204 7C 86 33 78 */ or r6, r4, r6
/* 803A32A8 003A0208 3C A0 80 56 */ lis r5, lbl_8055D330@ha
/* 803A32A8 003A0208 3C A0 80 56 */ lis r5, "newsmp$473"@ha
/* 803A32AC 003A020C 7C C6 00 34 */ cntlzw r6, r6
/* 803A32B0 003A0210 7C 00 52 78 */ xor r0, r0, r10
/* 803A32B4 003A0214 7C 69 52 78 */ xor r9, r3, r10
@ -656,15 +661,15 @@ lbl_803A326C:
/* 803A32BC 003A021C 7C 09 4B 78 */ or r9, r0, r9
/* 803A32C0 003A0220 89 5E 01 93 */ lbz r10, 0x193(r30)
/* 803A32C4 003A0224 7D 29 00 34 */ cntlzw r9, r9
/* 803A32C8 003A0228 38 A5 D3 30 */ addi r5, r5, lbl_8055D330@l
/* 803A32C8 003A0228 38 A5 D3 30 */ addi r5, r5, "newsmp$473"@l
/* 803A32CC 003A022C 7F E4 FB 78 */ mr r4, r31
/* 803A32D0 003A0230 54 C6 D9 7E */ srwi r6, r6, 5
/* 803A32D4 003A0234 55 03 06 3E */ clrlwi r3, r8, 0x18
/* 803A32D8 003A0238 55 29 D9 7E */ srwi r9, r9, 5
/* 803A32DC 003A023C 51 67 C0 0E */ rlwimi r7, r11, 0x18, 0, 7
/* 803A32E0 003A0240 48 00 FE F9 */ bl hwInitSamplePlayback
/* 803A32E4 003A0244 3C 60 80 56 */ lis r3, lbl_8055D330@ha
/* 803A32E8 003A0248 80 03 D3 30 */ lwz r0, lbl_8055D330@l(r3)
/* 803A32E4 003A0244 3C 60 80 56 */ lis r3, "newsmp$473"@ha
/* 803A32E8 003A0248 80 03 D3 30 */ lwz r0, "newsmp$473"@l(r3)
/* 803A32EC 003A024C 90 1E 01 24 */ stw r0, 0x124(r30)
/* 803A32F0 003A0250 80 7E 01 28 */ lwz r3, 0x128(r30)
/* 803A32F4 003A0254 3C 03 00 01 */ addis r0, r3, 1
@ -2735,11 +2740,11 @@ sub_803a4ffc:
/* 803A5034 003A1F94 54 06 5D 78 */ rlwinm r6, r0, 0xb, 0x15, 0x1c
/* 803A5038 003A1F98 80 FE 01 14 */ lwz r7, 0x114(r30)
/* 803A503C 003A1F9C 7D 05 32 14 */ add r8, r5, r6
/* 803A5040 003A1FA0 3C A0 80 55 */ lis r5, lbl_80550F74@ha
/* 803A5040 003A1FA0 3C A0 80 55 */ lis r5, inpAuxA@ha
/* 803A5044 003A1FA4 83 A8 00 00 */ lwz r29, 0(r8)
/* 803A5048 003A1FA8 1D 43 00 90 */ mulli r10, r3, 0x90
/* 803A504C 003A1FAC 83 88 00 04 */ lwz r28, 4(r8)
/* 803A5050 003A1FB0 39 25 0F 74 */ addi r9, r5, lbl_80550F74@l
/* 803A5050 003A1FB0 39 25 0F 74 */ addi r9, r5, inpAuxA@l
/* 803A5054 003A1FB4 81 1E 01 18 */ lwz r8, 0x118(r30)
/* 803A5058 003A1FB8 38 C0 00 00 */ li r6, 0
/* 803A505C 003A1FBC 7C E3 E8 38 */ and r3, r7, r29
@ -2839,11 +2844,11 @@ mcmdAuxAFXSelect:
/* 803A51B0 003A2110 54 06 5D 78 */ rlwinm r6, r0, 0xb, 0x15, 0x1c
/* 803A51B4 003A2114 80 FE 01 14 */ lwz r7, 0x114(r30)
/* 803A51B8 003A2118 7D 05 32 14 */ add r8, r5, r6
/* 803A51BC 003A211C 3C A0 80 55 */ lis r5, lbl_80550AF4@ha
/* 803A51BC 003A211C 3C A0 80 55 */ lis r5, inpAuxB@ha
/* 803A51C0 003A2120 83 A8 00 00 */ lwz r29, 0(r8)
/* 803A51C4 003A2124 1D 43 00 90 */ mulli r10, r3, 0x90
/* 803A51C8 003A2128 83 88 00 04 */ lwz r28, 4(r8)
/* 803A51CC 003A212C 39 25 0A F4 */ addi r9, r5, lbl_80550AF4@l
/* 803A51CC 003A212C 39 25 0A F4 */ addi r9, r5, inpAuxB@l
/* 803A51D0 003A2130 81 1E 01 18 */ lwz r8, 0x118(r30)
/* 803A51D4 003A2134 38 C0 00 00 */ li r6, 0
/* 803A51D8 003A2138 7C E3 E8 38 */ and r3, r7, r29
@ -3046,9 +3051,9 @@ lbl_803A547C:
/* 803A5490 003A23F0 80 03 00 AC */ lwz r0, 0xac(r3)
/* 803A5494 003A23F4 48 00 00 18 */ b lbl_803A54AC
lbl_803A5498:
/* 803A5498 003A23F8 3C 60 80 55 */ lis r3, lbl_80550AB4@ha
/* 803A5498 003A23F8 3C 60 80 55 */ lis r3, synthGlobalVariable@ha
/* 803A549C 003A23FC 54 00 15 BA */ rlwinm r0, r0, 2, 0x16, 0x1d
/* 803A54A0 003A2400 38 63 0A B4 */ addi r3, r3, lbl_80550AB4@l
/* 803A54A0 003A2400 38 63 0A B4 */ addi r3, r3, synthGlobalVariable@l
/* 803A54A4 003A2404 7C 63 02 14 */ add r3, r3, r0
/* 803A54A8 003A2408 80 03 FF C0 */ lwz r0, -0x40(r3)
lbl_803A54AC:
@ -3085,9 +3090,9 @@ lbl_803A5500:
/* 803A5514 003A2474 80 63 00 AC */ lwz r3, 0xac(r3)
/* 803A5518 003A2478 48 00 00 18 */ b lbl_803A5530
lbl_803A551C:
/* 803A551C 003A247C 3C 60 80 55 */ lis r3, lbl_80550AB4@ha
/* 803A551C 003A247C 3C 60 80 55 */ lis r3, synthGlobalVariable@ha
/* 803A5520 003A2480 54 00 15 BA */ rlwinm r0, r0, 2, 0x16, 0x1d
/* 803A5524 003A2484 38 63 0A B4 */ addi r3, r3, lbl_80550AB4@l
/* 803A5524 003A2484 38 63 0A B4 */ addi r3, r3, synthGlobalVariable@l
/* 803A5528 003A2488 7C 63 02 14 */ add r3, r3, r0
/* 803A552C 003A248C 80 63 FF C0 */ lwz r3, -0x40(r3)
lbl_803A5530:
@ -3117,9 +3122,9 @@ lbl_803A5570:
/* 803A5584 003A24E4 80 03 00 AC */ lwz r0, 0xac(r3)
/* 803A5588 003A24E8 48 00 00 18 */ b lbl_803A55A0
lbl_803A558C:
/* 803A558C 003A24EC 3C 60 80 55 */ lis r3, lbl_80550AB4@ha
/* 803A558C 003A24EC 3C 60 80 55 */ lis r3, synthGlobalVariable@ha
/* 803A5590 003A24F0 54 00 15 BA */ rlwinm r0, r0, 2, 0x16, 0x1d
/* 803A5594 003A24F4 38 63 0A B4 */ addi r3, r3, lbl_80550AB4@l
/* 803A5594 003A24F4 38 63 0A B4 */ addi r3, r3, synthGlobalVariable@l
/* 803A5598 003A24F8 7C 63 02 14 */ add r3, r3, r0
/* 803A559C 003A24FC 80 03 FF C0 */ lwz r0, -0x40(r3)
lbl_803A55A0:
@ -3207,9 +3212,9 @@ lbl_803A56A0:
/* 803A56A8 003A2608 41 81 00 08 */ bgt lbl_803A56B0
/* 803A56AC 003A260C 7F C4 F3 78 */ mr r4, r30
lbl_803A56B0:
/* 803A56B0 003A2610 3C 60 80 55 */ lis r3, lbl_80550AB4@ha
/* 803A56B0 003A2610 3C 60 80 55 */ lis r3, synthGlobalVariable@ha
/* 803A56B4 003A2614 54 00 15 BA */ rlwinm r0, r0, 2, 0x16, 0x1d
/* 803A56B8 003A2618 38 63 0A B4 */ addi r3, r3, lbl_80550AB4@l
/* 803A56B8 003A2618 38 63 0A B4 */ addi r3, r3, synthGlobalVariable@l
/* 803A56BC 003A261C 7C 84 07 34 */ extsh r4, r4
/* 803A56C0 003A2620 7C 63 02 14 */ add r3, r3, r0
/* 803A56C4 003A2624 90 83 FF C0 */ stw r4, -0x40(r3)
@ -3247,9 +3252,9 @@ lbl_803A571C:
/* 803A5730 003A2690 83 63 00 AC */ lwz r27, 0xac(r3)
/* 803A5734 003A2694 48 00 00 18 */ b lbl_803A574C
lbl_803A5738:
/* 803A5738 003A2698 3C 60 80 55 */ lis r3, lbl_80550AB4@ha
/* 803A5738 003A2698 3C 60 80 55 */ lis r3, synthGlobalVariable@ha
/* 803A573C 003A269C 54 00 15 BA */ rlwinm r0, r0, 2, 0x16, 0x1d
/* 803A5740 003A26A0 38 63 0A B4 */ addi r3, r3, lbl_80550AB4@l
/* 803A5740 003A26A0 38 63 0A B4 */ addi r3, r3, synthGlobalVariable@l
/* 803A5744 003A26A4 7C 63 02 14 */ add r3, r3, r0
/* 803A5748 003A26A8 83 63 FF C0 */ lwz r27, -0x40(r3)
lbl_803A574C:
@ -3271,9 +3276,9 @@ lbl_803A5770:
/* 803A5784 003A26E4 80 83 00 AC */ lwz r4, 0xac(r3)
/* 803A5788 003A26E8 48 00 00 18 */ b lbl_803A57A0
lbl_803A578C:
/* 803A578C 003A26EC 3C 60 80 55 */ lis r3, lbl_80550AB4@ha
/* 803A578C 003A26EC 3C 60 80 55 */ lis r3, synthGlobalVariable@ha
/* 803A5790 003A26F0 54 00 15 BA */ rlwinm r0, r0, 2, 0x16, 0x1d
/* 803A5794 003A26F4 38 63 0A B4 */ addi r3, r3, lbl_80550AB4@l
/* 803A5794 003A26F4 38 63 0A B4 */ addi r3, r3, synthGlobalVariable@l
/* 803A5798 003A26F8 7C 63 02 14 */ add r3, r3, r0
/* 803A579C 003A26FC 80 83 FF C0 */ lwz r4, -0x40(r3)
lbl_803A57A0:
@ -3336,9 +3341,9 @@ mcmdSendMessage:
/* 803A5860 003A27C0 83 A5 00 AC */ lwz r29, 0xac(r5)
/* 803A5864 003A27C4 48 00 00 18 */ b lbl_803A587C
lbl_803A5868:
/* 803A5868 003A27C8 3C A0 80 55 */ lis r5, lbl_80550AB4@ha
/* 803A5868 003A27C8 3C A0 80 55 */ lis r5, synthGlobalVariable@ha
/* 803A586C 003A27CC 54 00 15 BA */ rlwinm r0, r0, 2, 0x16, 0x1d
/* 803A5870 003A27D0 38 A5 0A B4 */ addi r5, r5, lbl_80550AB4@l
/* 803A5870 003A27D0 38 A5 0A B4 */ addi r5, r5, synthGlobalVariable@l
/* 803A5874 003A27D4 7C A5 02 14 */ add r5, r5, r0
/* 803A5878 003A27D8 83 A5 FF C0 */ lwz r29, -0x40(r5)
lbl_803A587C:
@ -3426,9 +3431,9 @@ lbl_803A5998:
/* 803A59AC 003A290C 80 63 00 AC */ lwz r3, 0xac(r3)
/* 803A59B0 003A2910 48 00 00 18 */ b lbl_803A59C8
lbl_803A59B4:
/* 803A59B4 003A2914 3C 60 80 55 */ lis r3, lbl_80550AB4@ha
/* 803A59B4 003A2914 3C 60 80 55 */ lis r3, synthGlobalVariable@ha
/* 803A59B8 003A2918 54 00 15 BA */ rlwinm r0, r0, 2, 0x16, 0x1d
/* 803A59BC 003A291C 38 63 0A B4 */ addi r3, r3, lbl_80550AB4@l
/* 803A59BC 003A291C 38 63 0A B4 */ addi r3, r3, synthGlobalVariable@l
/* 803A59C0 003A2920 7C 63 02 14 */ add r3, r3, r0
/* 803A59C4 003A2924 80 63 FF C0 */ lwz r3, -0x40(r3)
lbl_803A59C8:
@ -3491,9 +3496,9 @@ mcmdGetVID:
/* 803A5A98 003A29F8 90 83 00 AC */ stw r4, 0xac(r3)
/* 803A5A9C 003A29FC 4E 80 00 20 */ blr
lbl_803A5AA0:
/* 803A5AA0 003A2A00 3C 60 80 55 */ lis r3, lbl_80550AB4@ha
/* 803A5AA0 003A2A00 3C 60 80 55 */ lis r3, synthGlobalVariable@ha
/* 803A5AA4 003A2A04 54 00 15 BA */ rlwinm r0, r0, 2, 0x16, 0x1d
/* 803A5AA8 003A2A08 38 63 0A B4 */ addi r3, r3, lbl_80550AB4@l
/* 803A5AA8 003A2A08 38 63 0A B4 */ addi r3, r3, synthGlobalVariable@l
/* 803A5AAC 003A2A0C 7C 63 02 14 */ add r3, r3, r0
/* 803A5AB0 003A2A10 90 83 FF C0 */ stw r4, -0x40(r3)
/* 803A5AB4 003A2A14 4E 80 00 20 */ blr
@ -3507,9 +3512,9 @@ lbl_803A5AB8:
/* 803A5AD0 003A2A30 90 83 00 AC */ stw r4, 0xac(r3)
/* 803A5AD4 003A2A34 4E 80 00 20 */ blr
lbl_803A5AD8:
/* 803A5AD8 003A2A38 3C 60 80 55 */ lis r3, lbl_80550AB4@ha
/* 803A5AD8 003A2A38 3C 60 80 55 */ lis r3, synthGlobalVariable@ha
/* 803A5ADC 003A2A3C 54 00 15 BA */ rlwinm r0, r0, 2, 0x16, 0x1d
/* 803A5AE0 003A2A40 38 63 0A B4 */ addi r3, r3, lbl_80550AB4@l
/* 803A5AE0 003A2A40 38 63 0A B4 */ addi r3, r3, synthGlobalVariable@l
/* 803A5AE4 003A2A44 7C 63 02 14 */ add r3, r3, r0
/* 803A5AE8 003A2A48 90 83 FF C0 */ stw r4, -0x40(r3)
/* 803A5AEC 003A2A4C 4E 80 00 20 */ blr
@ -4298,9 +4303,9 @@ lbl_803A6670:
/* 803A6688 003A35E8 7C BF 01 2E */ stwx r5, r31, r0
/* 803A668C 003A35EC 48 00 04 78 */ b lbl_803A6B04
lbl_803A6690:
/* 803A6690 003A35F0 3C 60 80 55 */ lis r3, lbl_80550AB4@ha
/* 803A6690 003A35F0 3C 60 80 55 */ lis r3, synthGlobalVariable@ha
/* 803A6694 003A35F4 54 04 15 BA */ rlwinm r4, r0, 2, 0x16, 0x1d
/* 803A6698 003A35F8 38 03 0A B4 */ addi r0, r3, lbl_80550AB4@l
/* 803A6698 003A35F8 38 03 0A B4 */ addi r0, r3, synthGlobalVariable@l
/* 803A669C 003A35FC 7C 60 22 14 */ add r3, r0, r4
/* 803A66A0 003A3600 90 A3 FF C0 */ stw r5, -0x40(r3)
/* 803A66A4 003A3604 48 00 04 60 */ b lbl_803A6B04
@ -4348,10 +4353,10 @@ lbl_803A6704:
/* 803A6740 003A36A0 50 A4 C0 0E */ rlwimi r4, r5, 0x18, 0, 7
/* 803A6744 003A36A4 48 00 CA 81 */ bl hwSetPriority
/* 803A6748 003A36A8 48 00 03 BC */ b lbl_803A6B04
/* 803A674C 003A36AC 3C 60 80 55 */ lis r3, lbl_80550AB4@ha
/* 803A674C 003A36AC 3C 60 80 55 */ lis r3, synthGlobalVariable@ha
/* 803A6750 003A36B0 57 44 86 3E */ rlwinm r4, r26, 0x10, 0x18, 0x1f
/* 803A6754 003A36B4 57 40 D5 BA */ rlwinm r0, r26, 0x1a, 0x16, 0x1d
/* 803A6758 003A36B8 38 63 0A B4 */ addi r3, r3, lbl_80550AB4@l
/* 803A6758 003A36B8 38 63 0A B4 */ addi r3, r3, synthGlobalVariable@l
/* 803A675C 003A36BC 7C 83 01 2E */ stwx r4, r3, r0
/* 803A6760 003A36C0 48 00 03 A4 */ b lbl_803A6B04
/* 803A6764 003A36C4 57 40 86 3E */ rlwinm r0, r26, 0x10, 0x18, 0x1f
@ -4578,9 +4583,9 @@ lbl_803A6AAC:
/* 803A6AC0 003A3A20 7C BF 01 2E */ stwx r5, r31, r0
/* 803A6AC4 003A3A24 48 00 00 40 */ b lbl_803A6B04
lbl_803A6AC8:
/* 803A6AC8 003A3A28 3C 60 80 55 */ lis r3, lbl_80550AB4@ha
/* 803A6AC8 003A3A28 3C 60 80 55 */ lis r3, synthGlobalVariable@ha
/* 803A6ACC 003A3A2C 54 04 15 BA */ rlwinm r4, r0, 2, 0x16, 0x1d
/* 803A6AD0 003A3A30 38 03 0A B4 */ addi r0, r3, lbl_80550AB4@l
/* 803A6AD0 003A3A30 38 03 0A B4 */ addi r0, r3, synthGlobalVariable@l
/* 803A6AD4 003A3A34 7C 60 22 14 */ add r3, r0, r4
/* 803A6AD8 003A3A38 90 A3 FF C0 */ stw r5, -0x40(r3)
/* 803A6ADC 003A3A3C 48 00 00 28 */ b lbl_803A6B04

View File

@ -1,5 +1,19 @@
.include "macros.inc"
.section .bss
.global vidList
vidList:
.skip 0xF00
.global synth_last_fxstarted
synth_last_fxstarted:
.skip 0x40
.global synth_last_started
synth_last_started:
.skip 0x80
.global vs
vs:
.skip 0x950
.section .sbss
.balign 4
.global vidFree
@ -1817,9 +1831,9 @@ voiceIsLastStarted:
/* 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, lbl_8055E290@ha
/* 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, lbl_8055E290@l
/* 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
@ -1848,9 +1862,9 @@ voiceSetLastStarted:
/* 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, lbl_8055E290@ha
/* 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, lbl_8055E290@l
/* 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
@ -1877,9 +1891,9 @@ voiceResetLastStarted:
/* 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, lbl_8055E290@ha
/* 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, lbl_8055E290@l
/* 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
@ -1890,9 +1904,9 @@ lbl_803A8F84:
.global voiceInitLastStarted
voiceInitLastStarted:
/* 803A8FAC 003A5F0C 3C 60 80 56 */ lis r3, lbl_8055E290@ha
/* 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, lbl_8055E290@l
/* 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:

View File

@ -1,6 +1,6 @@
#include "src/musyx/dsp_import.h"
#ifdef __cpluplus
#ifdef __cplusplus
extern "C" {
#endif
char dspSlave[0x19E0] =
@ -215,6 +215,6 @@ char dspSlave[0x19E0] =
};
short dspSlaveLength = sizeof(dspSlave);
#ifdef __cpluplus
#ifdef __cplusplus
}
#endif

View File

@ -1,12 +1,12 @@
#ifndef MUSYX_DSP_IMPORT_H
#define MUSYX_DSP_IMPORT_H
#ifdef __cpluplus
#ifdef __cplusplus
extern "C" {
#endif
char dspSlave[];
short dspSlaveLength;
#ifdef __cpluplus
#ifdef __cplusplus
}
#endif
#endif