diff options
author | red031000 <rubenru09@aol.com> | 2020-05-01 22:34:20 +0100 |
---|---|---|
committer | red031000 <rubenru09@aol.com> | 2020-05-01 22:34:20 +0100 |
commit | a85a2f1e3e622d2555110c062196f969b1411be2 (patch) | |
tree | bcf5a83e87cf4104edbf08bef76487ef4aed4613 /arm9/asm/SND_util.s | |
parent | ce558d0870e8b8ceb626ee8a6f165e8be9869ede (diff) |
split libsnd
Diffstat (limited to 'arm9/asm/SND_util.s')
-rw-r--r-- | arm9/asm/SND_util.s | 39 |
1 files changed, 39 insertions, 0 deletions
diff --git a/arm9/asm/SND_util.s b/arm9/asm/SND_util.s new file mode 100644 index 00000000..8a35db45 --- /dev/null +++ b/arm9/asm/SND_util.s @@ -0,0 +1,39 @@ + .include "asm/macros.inc" + .include "global.inc" + + .text + + arm_func_start SND_CalcChannelVolume +SND_CalcChannelVolume: ; 0x020CF6F4 + ldr r1, _020CF75C ; =0xFFFFFD2D + cmp r0, r1 + movlt r0, r1 + blt _020CF70C + cmp r0, #0x0 + movgt r0, #0x0 +_020CF70C: + ldr r1, _020CF760 ; =0x000002D3 + ldr r2, _020CF764 ; =0x02103CAC + add r3, r0, r1 + mvn r1, #0xef + cmp r0, r1 + ldrb r2, [r2, r3] + movlt r0, #0x3 + blt _020CF74C + mvn r1, #0x77 + cmp r0, r1 + movlt r0, #0x2 + blt _020CF74C + mvn r1, #0x3b + cmp r0, r1 + movlt r0, #0x1 + movge r0, #0x0 +_020CF74C: + orr r0, r2, r0, lsl #0x8 + mov r0, r0, lsl #0x10 + mov r0, r0, lsr #0x10 + bx lr + .balign 4 +_020CF75C: .word 0xFFFFFD2D +_020CF760: .word 0x000002D3 +_020CF764: .word 0x02103CAC |