From: gameblabla Date: Thu, 18 Jul 2019 00:30:31 +0000 (+0200) Subject: psxbios: Callback Events should not set event status to busy in TestEvent. X-Git-Tag: r23~156^2~20 X-Git-Url: https://notaz.gp2x.de/cgi-bin/gitweb.cgi?a=commitdiff_plain;ds=inline;h=b4ae2532030fa15ca2009eb239ab2e50b2231000;p=pcsx_rearmed.git psxbios: Callback Events should not set event status to busy in TestEvent. We are already doing that in WaitEvent. According to nocash documentation, this also applies to TestEvent as well so let's implement it. --- diff --git a/libpcsxcore/psxbios.c b/libpcsxcore/psxbios.c index 288e33b3..829deb04 100644 --- a/libpcsxcore/psxbios.c +++ b/libpcsxcore/psxbios.c @@ -1762,9 +1762,15 @@ void psxBios_TestEvent() { // 0b ev = a0 & 0xff; spec = (a0 >> 8) & 0xff; - if (Event[ev][spec].status == EvStALREADY) { - Event[ev][spec].status = EvStACTIVE; v0 = 1; - } else v0 = 0; + if (Event[ev][spec].status == EvStALREADY) + { + if (!(Event[ev][spec].mode == EvMdINTR)) Event[ev][spec].status = EvStACTIVE; + v0 = 1; + } + else + { + v0 = 0; + } #ifdef PSXBIOS_LOG PSXBIOS_LOG("psxBios_%s %x,%x: %x\n", biosB0n[0x0b], ev, spec, v0);