From 159c4ba1382c38b889c433319b1376ddc32a2472 Mon Sep 17 00:00:00 2001 From: refraction Date: Wed, 31 Oct 2012 22:12:38 +0000 Subject: [PATCH] VIF: Fixed a bug which caused PATH3 masking to fail if there was an IRQ on the FlushA command while it needed to wait. Fixes Futurama Issue 1343 git-svn-id: http://pcsx2.googlecode.com/svn/trunk@5443 96395faa-99c1-11dd-bbfe-3dabce05a288 --- pcsx2/Vif0_Dma.cpp | 2 +- pcsx2/Vif1_Dma.cpp | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/pcsx2/Vif0_Dma.cpp b/pcsx2/Vif0_Dma.cpp index 559bb6727b..7efaa7aee0 100644 --- a/pcsx2/Vif0_Dma.cpp +++ b/pcsx2/Vif0_Dma.cpp @@ -178,7 +178,7 @@ __fi void vif0Interrupt() if (!(vif0ch.chcr.STR)) Console.WriteLn("vif0 running when CHCR == %x", vif0ch.chcr._u32); - if (vif0.irq && vif0.tag.size == 0) + if (vif0.irq && vif0.tag.size == 0 && vif0.cmd == 0) { vif0Regs.stat.INT = true; hwIntcIrq(VIF0intc); diff --git a/pcsx2/Vif1_Dma.cpp b/pcsx2/Vif1_Dma.cpp index db147b35be..945ea50526 100644 --- a/pcsx2/Vif1_Dma.cpp +++ b/pcsx2/Vif1_Dma.cpp @@ -287,7 +287,7 @@ __fi void vif1Interrupt() } if (!vif1ch.chcr.STR) Console.WriteLn("Vif1 running when CHCR == %x", vif1ch.chcr._u32); - if (vif1.irq && vif1.tag.size == 0) + if (vif1.irq && vif1.tag.size == 0 &&vif1.cmd == 0) { VIF_LOG("VIF IRQ Firing"); vif1Regs.stat.INT = true;