From 8862d0c96346a438fb22614b4b5da98604c3228b Mon Sep 17 00:00:00 2001 From: refraction Date: Wed, 30 May 2012 19:26:37 +0000 Subject: [PATCH] Path3 Masking Fix: GGIF MFIFO didn't set the GIF state, also added the path 3 stalling stuff to there too. git-svn-id: http://pcsx2.googlecode.com/svn/trunk@5247 96395faa-99c1-11dd-bbfe-3dabce05a288 --- pcsx2/Gif.cpp | 15 +++++++++++++++ 1 file changed, 15 insertions(+) diff --git a/pcsx2/Gif.cpp b/pcsx2/Gif.cpp index 804a27df7f..616a5330d0 100644 --- a/pcsx2/Gif.cpp +++ b/pcsx2/Gif.cpp @@ -455,6 +455,21 @@ void gifMFIFOInterrupt() GIF_LOG("gifMFIFOInterrupt"); mfifocycles = 0; + if(gifUnit.gifPath[GIF_PATH_3].state == GIF_PATH_WAIT) + { + gifUnit.gifPath[GIF_PATH_3].state = GIF_PATH_IDLE; + + if(vif1Regs.stat.VGW) + { + CPU_INT(DMAC_VIF1, 1); + + if(!gifUnit.Path3Masked()) + CPU_INT(DMAC_MFIFO_GIF, 16); + + if(!gspath3done || gifch.qwc > 0) return; + } + } + if (dmacRegs.ctrl.MFD != MFD_GIF) { DevCon.Warning("Not in GIF MFIFO mode! Stopping GIF MFIFO"); return;