diff options
Diffstat (limited to 'arm7/asm/SND_util.s')
-rw-r--r-- | arm7/asm/SND_util.s | 190 |
1 files changed, 0 insertions, 190 deletions
diff --git a/arm7/asm/SND_util.s b/arm7/asm/SND_util.s deleted file mode 100644 index 4d136781..00000000 --- a/arm7/asm/SND_util.s +++ /dev/null @@ -1,190 +0,0 @@ - .include "asm/macros.inc" - .include "global.inc" - - .section .data - - .global _03807660 -_03807660: - .word 0x12345678 - - .section .text - - arm_func_start SND_CalcRandom -SND_CalcRandom: ; 0x037FC058 - ldr r2, _037FC080 ; =_03807660 - ldr r3, [r2] - ldr r0, _037FC084 ; =0x0019660D - ldr r1, _037FC088 ; =0x3C6EF35F - mla r0, r3, r0, r1 - str r0, [r2] - mov r0, r0, lsr #16 - mov r0, r0, lsl #16 - mov r0, r0, lsr #16 - bx lr -_037FC080: .word _03807660 -_037FC084: .word 0x0019660D -_037FC088: .word 0x3C6EF35F - - arm_func_start SND_SinIdx -SND_SinIdx: ; 0x037FC08C - cmp r0, #32 - ldrlt r1, _037FC0F4 ; =_03807170 - ldrltsb r0, [r1, r0] - bxlt lr - cmp r0, #64 ; 0x40 - rsblt r1, r0, #64 ; 0x40 - ldrlt r0, _037FC0F4 ; =_03807170 - ldrltsb r0, [r0, r1] - bxlt lr - cmp r0, #96 ; 0x60 - bge _037FC0D4 - sub r1, r0, #64 ; 0x40 - ldr r0, _037FC0F4 ; =_03807170 - ldrsb r0, [r0, r1] - rsb r0, r0, #0 - mov r0, r0, lsl #24 - mov r0, r0, asr #24 - bx lr -_037FC0D4: - sub r0, r0, #96 ; 0x60 - rsb r1, r0, #32 - ldr r0, _037FC0F4 ; =_03807170 - ldrsb r0, [r0, r1] - rsb r0, r0, #0 - mov r0, r0, lsl #24 - mov r0, r0, asr #24 - bx lr -_037FC0F4: .word _03807170 - - arm_func_start SND_CalcChannelVolume -SND_CalcChannelVolume: ; 0x037FC0F8 - stmdb sp!, {r4, lr} - mov r4, r0 - ldr r0, _037FC168 ; =0xFFFFFD2D - cmp r4, r0 - movlt r4, r0 - blt _037FC118 - cmp r4, #0 - movgt r4, #0 -_037FC118: - ldr r0, _037FC16C ; =0x000002D3 - add r0, r4, r0 - bl FUN_037FC170 - mvn r1, #239 ; 0xef - cmp r4, r1 - movlt r1, #3 - blt _037FC154 - mvn r1, #119 ; 0x77 - cmp r4, r1 - movlt r1, #2 - blt _037FC154 - mvn r1, #59 ; 0x3b - cmp r4, r1 - movlt r1, #1 - movge r1, #0 -_037FC154: - orr r0, r0, r1, lsl #8 - mov r0, r0, lsl #16 - mov r0, r0, lsr #16 - ldmia sp!, {r4, lr} - bx lr -_037FC168: .word 0xFFFFFD2D -_037FC16C: .word 0x000002D3 - - arm_func_start FUN_037FC170 -FUN_037FC170: ; 0x037FC170 - ldr ip, _037FC178 ; =SVC_GetVolumeTable - bx ip -_037FC178: .word SVC_GetVolumeTable - - arm_func_start SND_CalcTimer -SND_CalcTimer: ; 0x037FC17C - stmdb sp!, {r4, r5, lr} - sub sp, sp, #4 - mov r5, r0 - mov r4, #0 - rsb r0, r1, #0 - b _037FC19C -_037FC194: - sub r4, r4, #1 - add r0, r0, #768 ; 0x300 -_037FC19C: - cmp r0, #0 - blt _037FC194 - b _037FC1B0 -_037FC1A8: - add r4, r4, #1 - sub r0, r0, #768 ; 0x300 -_037FC1B0: - cmp r0, #768 ; 0x300 - bge _037FC1A8 - bl FUN_037FC2A4 - mov r2, #0 - mov r1, #65536 ; 0x10000 - adds lr, r0, r1 - adc ip, r2, #0 - mov r3, r5, asr #31 - umull r1, r0, lr, r5 - mla r0, lr, r3, r0 - mla r0, ip, r5, r0 - sub lr, r4, #16 - cmp lr, #0 - bgt _037FC208 - rsb r2, lr, #0 - mov r3, r0, lsr r2 - mov r5, r1, lsr r2 - rsb r1, r2, #32 - orr r5, r5, r0, lsl r1 - sub r1, r2, #32 - orr r5, r5, r0, lsr r1 - b _037FC264 -_037FC208: - cmp lr, #32 - bge _037FC25C - mvn r5, #0 - rsb r4, lr, #32 - mov ip, r5, lsl r4 - rsb r3, r4, #32 - orr ip, ip, r5, lsr r3 - sub r3, r4, #32 - orr ip, ip, r5, lsl r3 - and r3, r0, ip - and r5, r1, r5, lsl r4 - cmp r3, r2 - cmpeq r5, r2 - ldrne r0, _037FC2A0 ; =0x0000FFFF - bne _037FC294 - mov r5, r1, lsl lr - mov r3, r0, lsl lr - orr r3, r3, r1, lsr r4 - sub r0, lr, #32 - orr r3, r3, r1, lsl r0 - b _037FC264 -_037FC25C: - ldr r0, _037FC2A0 ; =0x0000FFFF - b _037FC294 -_037FC264: - mov r1, #0 - mov r0, #16 - cmp r3, r1 - cmpeq r5, r0 - movcc r5, r0 - bcc _037FC28C - ldr r0, _037FC2A0 ; =0x0000FFFF - cmp r3, r1 - cmpeq r5, r0 - movhi r5, r0 -_037FC28C: - mov r0, r5, lsl #16 - mov r0, r0, lsr #16 -_037FC294: - add sp, sp, #4 - ldmia sp!, {r4, r5, lr} - bx lr -_037FC2A0: .word 0x0000FFFF - - arm_func_start FUN_037FC2A4 -FUN_037FC2A4: ; 0x037FC2A4 - ldr ip, _037FC2AC ; =SVC_GetPitchTable - bx ip -_037FC2AC: .word SVC_GetPitchTable |