GBA: Fix losing IRQs when CPSR I bit isn't cleared
Jeffrey Pfau jeffrey@endrift.com
Wed, 24 Aug 2016 12:18:51 -0700
2 files changed,
2 insertions(+),
1 deletions(-)
M
CHANGES
→
CHANGES
@@ -31,6 +31,7 @@ - GBA Video: WIN0/1 take priority over OBJWIN
- PSP2: Fix mapping/unmapping from not at 0 - Wii: Fix garbage flash at startup - VFS: Fix uninitialized varaible reading from 7z + - GBA: Fix losing IRQs when CPSR I bit isn't cleared Misc: - 3DS: Use blip_add_delta_fast for a small speed improvement - OpenGL: Log shader compilation failure
M
src/gba/gba.c
→
src/gba/gba.c
@@ -217,7 +217,7 @@ if (cpu->executionMode == MODE_THUMB) {
gba->bus |= cpu->prefetch[1] << 16; } - if (gba->springIRQ) { + if (gba->springIRQ && !cpu->cpsr.i) { ARMRaiseIRQ(cpu); gba->springIRQ = 0; }