all repos — mgba @ 458fd58985a23210cd288cc8c988b6b8707f8c14

mGBA Game Boy Advance Emulator

GBA: Fix losing IRQs when CPSR I bit isn't cleared
Jeffrey Pfau jeffrey@endrift.com
Wed, 24 Aug 2016 12:18:51 -0700
commit

458fd58985a23210cd288cc8c988b6b8707f8c14

parent

b17e1af8a933df78fec0009fa2169915959521b1

2 files changed, 2 insertions(+), 1 deletions(-)

jump to
M CHANGESCHANGES

@@ -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.csrc/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; }