From 45b7a18c8bcbd0564a99bb9e4e0ee0ad548b5257 Mon Sep 17 00:00:00 2001 From: refraction Date: Wed, 11 Aug 2010 09:48:43 +0000 Subject: [PATCH] Missed a couple of bits :P Small OPH/APATH clear which shouldn't have been there. git-svn-id: http://pcsx2.googlecode.com/svn/trunk@3633 96395faa-99c1-11dd-bbfe-3dabce05a288 --- pcsx2/Vif_Codes.cpp | 1 - pcsx2/Vif_Transfer.cpp | 5 +++-- 2 files changed, 3 insertions(+), 3 deletions(-) diff --git a/pcsx2/Vif_Codes.cpp b/pcsx2/Vif_Codes.cpp index 6af062a435..6d0d37a783 100644 --- a/pcsx2/Vif_Codes.cpp +++ b/pcsx2/Vif_Codes.cpp @@ -226,7 +226,6 @@ template __fi int _vifCode_Direct(int pass, const u8* data, bool isDire if(vif1.tag.size == 0) { vif1.cmd = 0; - gifRegs->stat.clear_flags(GIF_STAT_APATH2 | GIF_STAT_OPH); } vif1.vifstalled = true; return ret; diff --git a/pcsx2/Vif_Transfer.cpp b/pcsx2/Vif_Transfer.cpp index c9a5b7e83a..4db328cc4c 100644 --- a/pcsx2/Vif_Transfer.cpp +++ b/pcsx2/Vif_Transfer.cpp @@ -85,8 +85,9 @@ _vifT void vifTransferLoop(u32* &data) { vifXRegs->code = data[0]; vifX.cmd = data[0] >> 24; iBit = data[0] >> 31; - VIF_LOG("New VifCMD %x tagsize %x", vifX.cmd, vifX.tag.size); + vifCmdHandler[idx][vifX.cmd & 0x7f](0, data); + VIF_LOG("New VifCMD %x tagsize %x", vifX.cmd, vifX.tag.size); data++; pSize--; if (analyzeIbit(data, iBit)) break; continue; @@ -147,7 +148,7 @@ _vifT static __fi bool vifTransfer(u32 *data, int size) { vifXRegs->stat.VIS = true; // Note: commenting this out fixes WALL-E? } - if (!vifXch->qwc && !vifX.irqoffset) vifX.inprogress = 0; + if (!vifXch->qwc && !vifX.irqoffset) vifX.inprogress &= ~1; return false; }