From: notaz Date: Tue, 26 Jul 2011 16:45:03 +0000 (+0300) Subject: sio: only do IRQ if it's bit has been cleared X-Git-Tag: r9~34 X-Git-Url: https://notaz.gp2x.de/cgi-bin/gitweb.cgi?p=pcsx_rearmed.git;a=commitdiff_plain;h=aa35134a834ff7e98b5a474c3db399a3d660da22;hp=22d3b3499d08635151a20206b8bc508169920a7a sio: only do IRQ if it's bit has been cleared tested on the real thing. --- diff --git a/libpcsxcore/sio.c b/libpcsxcore/sio.c index 4a0a73c4..81fe0ea1 100644 --- a/libpcsxcore/sio.c +++ b/libpcsxcore/sio.c @@ -386,8 +386,10 @@ void sioInterrupt() { PAD_LOG("Sio Interrupt (CP0.Status = %x)\n", psxRegs.CP0.n.Status); #endif // SysPrintf("Sio Interrupt\n"); - StatReg |= IRQ; - psxHu32ref(0x1070) |= SWAPu32(0x80); + if (!(StatReg & IRQ)) { + StatReg |= IRQ; + psxHu32ref(0x1070) |= SWAPu32(0x80); + } } void LoadMcd(int mcd, char *str) {