summaryrefslogtreecommitdiff
path: root/arm7/asm/SND_capture.s
diff options
context:
space:
mode:
Diffstat (limited to 'arm7/asm/SND_capture.s')
-rw-r--r--arm7/asm/SND_capture.s38
1 files changed, 38 insertions, 0 deletions
diff --git a/arm7/asm/SND_capture.s b/arm7/asm/SND_capture.s
new file mode 100644
index 00000000..d40e792e
--- /dev/null
+++ b/arm7/asm/SND_capture.s
@@ -0,0 +1,38 @@
+ .include "asm/macros.inc"
+ .include "global.inc"
+
+ .text
+
+ arm_func_start SND_IsCaptureActive
+SND_IsCaptureActive: ; 0x037FC4C0
+ add r0, r0, #67108864 ; 0x4000000
+ ldrb r0, [r0, #1288] ; 0x508
+ ands r0, r0, #128 ; 0x80
+ movne r0, #1
+ moveq r0, #0
+ bx lr
+
+ arm_func_start SND_SetupCapture
+SND_SetupCapture: ; 0x037FC4D8
+ stmdb sp!, {r4, r5, lr}
+ sub sp, sp, #4
+ mov r4, r0, lsl #3
+ ldr ip, [sp, #16]
+ cmp ip, #0
+ movne r5, #0
+ moveq r5, #1
+ ldr lr, [sp, #24]
+ ldr ip, [sp, #20]
+ mov r1, r1, lsl #3
+ orr r1, r1, r5, lsl #2
+ orr r1, r1, ip, lsl #1
+ orr r1, lr, r1
+ add r0, r0, #67108864 ; 0x4000000
+ strb r1, [r0, #1288] ; 0x508
+ add r0, r4, #67108864 ; 0x4000000
+ str r2, [r0, #1296] ; 0x510
+ add r0, r0, #1280 ; 0x500
+ strh r3, [r0, #20]
+ add sp, sp, #4
+ ldmia sp!, {r4, r5, lr}
+ bx lr