summaryrefslogtreecommitdiff
path: root/arm7/asm/SND_bank.s
diff options
context:
space:
mode:
Diffstat (limited to 'arm7/asm/SND_bank.s')
-rw-r--r--arm7/asm/SND_bank.s245
1 files changed, 0 insertions, 245 deletions
diff --git a/arm7/asm/SND_bank.s b/arm7/asm/SND_bank.s
deleted file mode 100644
index acf1ac44..00000000
--- a/arm7/asm/SND_bank.s
+++ /dev/null
@@ -1,245 +0,0 @@
- .include "asm/macros.inc"
- .include "global.inc"
-
- .text
-
- arm_func_start GetWaveData
-GetWaveData: ; 0x037FF114
- stmfd sp!, {lr}
- sub sp, sp, #4
- add r0, r0, r1, lsl #3
- ldr r0, [r0, #24]
- cmp r0, #0
- moveq r0, #0
- beq _037FF148
- ldr r1, [r0, #56] ; 0x38
- cmp r2, r1
- movcs r0, #0
- bcs _037FF148
- mov r1, r2
- bl SND_GetWaveDataAddress
-_037FF148:
- add sp, sp, #4
- ldmia sp!, {lr}
- bx lr
-
- arm_func_start SND_NoteOn
-SND_NoteOn: ; 0x037FF154
- stmdb sp!, {r4, r5, r6, r7, r8, r9, lr}
- sub sp, sp, #4
- mov r9, r0
- mov r8, r1
- mov r7, r2
- mov r6, r3
- ldr r5, [sp, #36] ; 0x24
- ldrb r4, [r5, #10]
- cmp r4, #255 ; 0xff
- mvneq r6, #0
- moveq r4, #0
- ldrb r0, [r5]
- cmp r0, #4
- addls pc, pc, r0, lsl #2
- b _037FF210
- b _037FF210
- b _037FF1A4
- b _037FF1EC
- b _037FF200
- b _037FF1A4
-_037FF1A4:
- cmp r0, #1
- ldrneh r1, [r5, #4]
- ldrneh r0, [r5, #2]
- orrne r1, r0, r1, lsl #16
- bne _037FF1CC
- ldr r0, [sp, #32]
- ldrh r1, [r5, #4]
- ldrh r2, [r5, #2]
- bl GetWaveData
- mov r1, r0
-_037FF1CC:
- cmp r1, #0
- moveq r0, #0
- beq _037FF214
- mov r0, r9
- add r2, r1, #12
- mov r3, r6
- bl SND_StartExChannelPcm
- b _037FF214
-_037FF1EC:
- mov r0, r9
- ldrh r1, [r5, #2]
- mov r2, r6
- bl SND_StartExChannelPsg
- b _037FF214
-_037FF200:
- mov r0, r9
- mov r1, r6
- bl SND_StartExChannelNoise
- b _037FF214
-_037FF210:
- mov r0, #0
-_037FF214:
- cmp r0, #0
- moveq r0, #0
- beq _037FF270
- strb r8, [r9, #8]
- ldrb r0, [r5, #6]
- strb r0, [r9, #5]
- strb r7, [r9, #9]
- mov r0, r9
- ldrb r1, [r5, #7]
- bl SND_SetExChannelAttack
- mov r0, r9
- ldrb r1, [r5, #8]
- bl SND_SetExChannelDecay
- mov r0, r9
- ldrb r1, [r5, #9]
- bl SND_SetExChannelSustain
- mov r0, r9
- mov r1, r4
- bl SND_SetExChannelRelease
- ldrb r0, [r5, #11]
- sub r0, r0, #64 ; 0x40
- strb r0, [r9, #10]
- mov r0, #1
-_037FF270:
- add sp, sp, #4
- ldmia sp!, {r4, r5, r6, r7, r8, r9, lr}
- bx lr
-
- arm_func_start SND_GetWaveDataAddress
-SND_GetWaveDataAddress: ; 0x037FF27C
- stmdb sp!, {r4, r5, lr}
- sub sp, sp, #4
- mov r5, r0
- mov r4, r1
- bl SNDi_LockMutex
- add r0, r5, r4, lsl #2
- ldr r4, [r0, #60] ; 0x3c
- cmp r4, #0
- beq _037FF2AC
- cmp r4, #33554432 ; 0x2000000
- addcc r4, r5, r4
- b _037FF2B0
-_037FF2AC:
- mov r4, #0
-_037FF2B0:
- bl SNDi_UnlockMutex
- mov r0, r4
- add sp, sp, #4
- ldmia sp!, {r4, r5, lr}
- bx lr
-
- arm_func_start SND_ReadInstData
-SND_ReadInstData: ; 0x037FF2C4
- stmdb sp!, {r4, r5, r6, r7, lr}
- sub sp, sp, #4
- mov r6, r0
- movs r7, r1
- mov r5, r2
- mov r4, r3
- movmi r0, #0
- bmi _037FF43C
- bl SNDi_LockMutex
- ldr r0, [r6, #56] ; 0x38
- cmp r7, r0
- bcc _037FF300
- bl SNDi_UnlockMutex
- mov r0, #0
- b _037FF43C
-_037FF300:
- add r0, r6, r7, lsl #2
- ldr r3, [r0, #60] ; 0x3c
- strb r3, [r4]
- ldrb r0, [r4]
- cmp r0, #17
- addls pc, pc, r0, lsl #2
- b _037FF428
- b _037FF428
- b _037FF364
- b _037FF364
- b _037FF364
- b _037FF364
- b _037FF364
- b _037FF428
- b _037FF428
- b _037FF428
- b _037FF428
- b _037FF428
- b _037FF428
- b _037FF428
- b _037FF428
- b _037FF428
- b _037FF428
- b _037FF384
- b _037FF3D4
-_037FF364:
- add r3, r6, r3, lsr #8
- add r2, r4, #2
- mov r1, #5
-_037FF370:
- ldrh r0, [r3], #2
- strh r0, [r2], #2
- subs r1, r1, #1
- bne _037FF370
- b _037FF434
-_037FF384:
- add r2, r6, r3, lsr #8
- ldrb r1, [r2, #1]
- ldrb r0, [r6, r3, lsr #8]
- cmp r5, r0
- blt _037FF3A0
- cmp r5, r1
- ble _037FF3AC
-_037FF3A0:
- bl SNDi_UnlockMutex
- mov r0, #0
- b _037FF43C
-_037FF3AC:
- sub r1, r5, r0
- mov r0, #12
- mla r0, r1, r0, r2
- add r2, r0, #2
- mov r1, #6
-_037FF3C0:
- ldrh r0, [r2], #2
- strh r0, [r4], #2
- subs r1, r1, #1
- bne _037FF3C0
- b _037FF434
-_037FF3D4:
- mov r2, #0
- add r1, r6, r3, lsr #8
- b _037FF3F8
-_037FF3E0:
- add r2, r2, #1
- cmp r2, #8
- blt _037FF3F8
- bl SNDi_UnlockMutex
- mov r0, #0
- b _037FF43C
-_037FF3F8:
- ldrb r0, [r1, r2]
- cmp r5, r0
- bgt _037FF3E0
- mov r0, #12
- mla r0, r2, r0, r1
- add r2, r0, #8
- mov r1, #6
-_037FF414:
- ldrh r0, [r2], #2
- strh r0, [r4], #2
- subs r1, r1, #1
- bne _037FF414
- b _037FF434
-_037FF428:
- bl SNDi_UnlockMutex
- mov r0, #0
- b _037FF43C
-_037FF434:
- bl SNDi_UnlockMutex
- mov r0, #1
-_037FF43C:
- add sp, sp, #4
- ldmia sp!, {r4, r5, r6, r7, lr}
- bx lr