From 33451307ae4e3a4119dd6be46b25aec03aa51b5d Mon Sep 17 00:00:00 2001 From: Bad Diode Date: Fri, 10 May 2024 17:49:56 +0200 Subject: Ensure long irs sequencer_tick can be interrupted --- src/gba/interrupts.s | 4 ++++ 1 file changed, 4 insertions(+) (limited to 'src/gba/interrupts.s') 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: bx r2 ldmfd sp!, {lr} + @ Clear IRQ enable again just in case it was enabled from within the IRS. + mov r3, #0 @ r3 = 0 + strh r3, [ip, #8] @ *(ip + 0x8) = r3 + @ Set CPU to irq mode mrs r3, cpsr bic r3, r3, #0xDF -- cgit v1.2.1