Fixed monumental cockup from my big commit, it shows, product placement really does work!! FFXII now works again, at normal speed.

git-svn-id: http://pcsx2.googlecode.com/svn/trunk@4037 96395faa-99c1-11dd-bbfe-3dabce05a288
This commit is contained in:
refraction 2010-11-19 19:47:06 +00:00
parent 80663917b1
commit 9979fe30e3
3 changed files with 13 additions and 11 deletions

View File

@ -629,12 +629,6 @@ void gifMFIFOInterrupt()
GIF_LOG("gifMFIFOInterrupt");
mfifocycles = 0;
if((gifstate & GIF_STATE_EMPTY))
{
FireMFIFOEmpty();
if(!(gifstate & GIF_STATE_STALL)) return;
}
if (dmacRegs.ctrl.MFD != MFD_GIF)
{
DevCon.Warning("Not in GIF MFIFO mode! Stopping GIF MFIFO");
@ -656,6 +650,12 @@ void gifMFIFOInterrupt()
if(gifRegs.stat.P1Q) gsPath1Interrupt();
}
if((gifstate & GIF_STATE_EMPTY))
{
FireMFIFOEmpty();
if(!(gifstate & GIF_STATE_STALL)) return;
}
if(CheckPaths(11) == false) return;
if (!(gifch.chcr.STR))

View File

@ -502,6 +502,7 @@ void dmaVIF1()
{
vif1.dmamode = VIF_CHAIN_MODE;
vif1.done = false;
vif1.inprogress = 0;
}
if (vif1ch.chcr.DIR) vif1Regs.stat.FQC = min((u16)0x10, vif1ch.qwc);

View File

@ -248,11 +248,7 @@ void vifMFIFOInterrupt()
g_vifCycles = 0;
VIF_LOG("vif mfifo interrupt");
if(vif1.inprogress & 0x10)
{
FireMFIFOEmpty();
if(!(vif1.done && vif1ch.qwc == 0))return;
}
if (dmacRegs.ctrl.MFD != MFD_VIF1)
{
DevCon.Warning("Not in VIF MFIFO mode! Stopping VIF MFIFO");
@ -289,6 +285,11 @@ 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");