GBA: Fix losing IRQs when CPSR I bit isn't cleared

This commit is contained in:
Jeffrey Pfau 2016-08-24 12:18:51 -07:00
parent b17e1af8a9
commit 458fd58985
2 changed files with 2 additions and 1 deletions

View File

@ -31,6 +31,7 @@ Bugfixes:
- 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

View File

@ -217,7 +217,7 @@ static void GBAProcessEvents(struct ARMCore* cpu) {
gba->bus |= cpu->prefetch[1] << 16;
}
if (gba->springIRQ) {
if (gba->springIRQ && !cpu->cpsr.i) {
ARMRaiseIRQ(cpu);
gba->springIRQ = 0;
}