aboutsummaryrefslogtreecommitdiffstats
path: root/src/gba/interrupts.s
diff options
context:
space:
mode:
authorBad Diode <bd@badd10de.dev>2024-05-10 17:49:56 +0200
committerBad Diode <bd@badd10de.dev>2024-05-10 17:49:56 +0200
commit33451307ae4e3a4119dd6be46b25aec03aa51b5d (patch)
tree3dde87e12187e3400cd60f9045678f3fb29adca1 /src/gba/interrupts.s
parent901ba917a3b4812f7eacf93d55389978a907a44d (diff)
downloadstepper-33451307ae4e3a4119dd6be46b25aec03aa51b5d.tar.gz
stepper-33451307ae4e3a4119dd6be46b25aec03aa51b5d.zip
Ensure long irs sequencer_tick can be interrupted
Diffstat (limited to 'src/gba/interrupts.s')
-rw-r--r--src/gba/interrupts.s4
1 files changed, 4 insertions, 0 deletions
diff --git a/src/gba/interrupts.s b/src/gba/interrupts.s
index 67b9fe9..1d3e001 100644
--- a/src/gba/interrupts.s
+++ b/src/gba/interrupts.s
@@ -67,6 +67,10 @@ irs_main_handle_irs:
67 bx r2 67 bx r2
68 ldmfd sp!, {lr} 68 ldmfd sp!, {lr}
69 69
70 @ Clear IRQ enable again just in case it was enabled from within the IRS.
71 mov r3, #0 @ r3 = 0
72 strh r3, [ip, #8] @ *(ip + 0x8) = r3
73
70 @ Set CPU to irq mode 74 @ Set CPU to irq mode
71 mrs r3, cpsr 75 mrs r3, cpsr
72 bic r3, r3, #0xDF 76 bic r3, r3, #0xDF