From 71142dfd7f7fb33bf8844d3910e6e135f9ebd8dd Mon Sep 17 00:00:00 2001 From: refraction Date: Fri, 19 Nov 2010 20:07:57 +0000 Subject: [PATCH] Take 3 and done *i hope!* comments for r4035-r4038 in here please! git-svn-id: http://pcsx2.googlecode.com/svn/trunk@4038 96395faa-99c1-11dd-bbfe-3dabce05a288 --- pcsx2/Vif1_MFIFO.cpp | 14 ++++++++------ 1 file changed, 8 insertions(+), 6 deletions(-) diff --git a/pcsx2/Vif1_MFIFO.cpp b/pcsx2/Vif1_MFIFO.cpp index e7a26ccba7..3f8c0b3144 100644 --- a/pcsx2/Vif1_MFIFO.cpp +++ b/pcsx2/Vif1_MFIFO.cpp @@ -285,11 +285,7 @@ void vifMFIFOInterrupt() vif1Regs.stat.VPS = VPS_IDLE; } - if(vif1.inprogress & 0x10) - { - FireMFIFOEmpty(); - if(!(vif1.done && vif1ch.qwc == 0) || !(vif1.irq && vif1.tag.size == 0))return; - } + if (vif1.irq && vif1.tag.size == 0) { SPR_LOG("VIF MFIFO Code Interrupt detected"); @@ -301,10 +297,16 @@ void vifMFIFOInterrupt() { /*vif1Regs.stat.FQC = 0; // FQC=0 vif1ch.chcr.STR = false;*/ - if(vif1ch.qwc > 0 || !vif1.done) return; + if((vif1ch.qwc > 0 || !vif1.done) && !(vif1.inprogress & 0x10)) return; } } + if(vif1.inprogress & 0x10) + { + FireMFIFOEmpty(); + if(!(vif1.done && vif1ch.qwc == 0))return; + } + if (vif1.done == false || vif1ch.qwc) {