diff options
Diffstat (limited to 'arm7/asm/SND_bank.s')
-rw-r--r-- | arm7/asm/SND_bank.s | 245 |
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 |