diff --git a/pcsx2/Gif.cpp b/pcsx2/Gif.cpp index de2d5fc8e4..7a9a6a9db1 100644 --- a/pcsx2/Gif.cpp +++ b/pcsx2/Gif.cpp @@ -239,11 +239,11 @@ void GIFdma() //Check with Path3 masking games if (gif->qwc > 0) { GIF_LOG("PTH3 MASK Transferring"); - GIFchain(); - CPU_INT(DMAC_GIF, gscycles * BIAS); - return; - } - //else DevCon.WriteLn("GIFdma() case 1, but qwc = 0!"); //Don't do 0 GIFchain and then return + GIFchain(); + }//else DevCon.WriteLn("GIFdma() case 1, but qwc = 0!"); //Don't do 0 GIFchain and then return + CPU_INT(DMAC_GIF, gscycles * BIAS); + return; + } // Transfer Dn_QWC from Dn_MADR to GIF diff --git a/pcsx2/Vif1_Dma.cpp b/pcsx2/Vif1_Dma.cpp index 3ce5582667..254f7c08af 100644 --- a/pcsx2/Vif1_Dma.cpp +++ b/pcsx2/Vif1_Dma.cpp @@ -220,7 +220,7 @@ __forceinline void vif1Interrupt() gifRegs->stat.clear_flags(GIF_STAT_APATH2|GIF_STAT_OPH); } - if (schedulepath3msk) Vif1MskPath3(); + if (schedulepath3msk & 0x10) Vif1MskPath3(); if ((vif1Regs->stat.VGW)) { diff --git a/pcsx2/Vif1_MFIFO.cpp b/pcsx2/Vif1_MFIFO.cpp index 0951069868..9b159bd062 100644 --- a/pcsx2/Vif1_MFIFO.cpp +++ b/pcsx2/Vif1_MFIFO.cpp @@ -222,7 +222,7 @@ void vifMFIFOInterrupt() g_vifCycles = 0; VIF_LOG("vif mfifo interrupt"); - if (schedulepath3msk) Vif1MskPath3(); + if (schedulepath3msk & 0x10) Vif1MskPath3(); if ((vif1Regs->stat.VGW)) { diff --git a/pcsx2/Vif_Codes.cpp b/pcsx2/Vif_Codes.cpp index 66a5265960..7fff4829f8 100644 --- a/pcsx2/Vif_Codes.cpp +++ b/pcsx2/Vif_Codes.cpp @@ -85,7 +85,6 @@ void Vif1MskPath3() { } } - else gifRegs->stat.M3P = true; schedulepath3msk = 0; }