mirror of https://github.com/PCSX2/pcsx2.git
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:
parent
80663917b1
commit
9979fe30e3
|
@ -629,12 +629,6 @@ void gifMFIFOInterrupt()
|
||||||
GIF_LOG("gifMFIFOInterrupt");
|
GIF_LOG("gifMFIFOInterrupt");
|
||||||
mfifocycles = 0;
|
mfifocycles = 0;
|
||||||
|
|
||||||
if((gifstate & GIF_STATE_EMPTY))
|
|
||||||
{
|
|
||||||
FireMFIFOEmpty();
|
|
||||||
if(!(gifstate & GIF_STATE_STALL)) return;
|
|
||||||
}
|
|
||||||
|
|
||||||
if (dmacRegs.ctrl.MFD != MFD_GIF)
|
if (dmacRegs.ctrl.MFD != MFD_GIF)
|
||||||
{
|
{
|
||||||
DevCon.Warning("Not in GIF MFIFO mode! Stopping GIF MFIFO");
|
DevCon.Warning("Not in GIF MFIFO mode! Stopping GIF MFIFO");
|
||||||
|
@ -656,6 +650,12 @@ void gifMFIFOInterrupt()
|
||||||
if(gifRegs.stat.P1Q) gsPath1Interrupt();
|
if(gifRegs.stat.P1Q) gsPath1Interrupt();
|
||||||
}
|
}
|
||||||
|
|
||||||
|
if((gifstate & GIF_STATE_EMPTY))
|
||||||
|
{
|
||||||
|
FireMFIFOEmpty();
|
||||||
|
if(!(gifstate & GIF_STATE_STALL)) return;
|
||||||
|
}
|
||||||
|
|
||||||
if(CheckPaths(11) == false) return;
|
if(CheckPaths(11) == false) return;
|
||||||
|
|
||||||
if (!(gifch.chcr.STR))
|
if (!(gifch.chcr.STR))
|
||||||
|
|
|
@ -502,6 +502,7 @@ void dmaVIF1()
|
||||||
{
|
{
|
||||||
vif1.dmamode = VIF_CHAIN_MODE;
|
vif1.dmamode = VIF_CHAIN_MODE;
|
||||||
vif1.done = false;
|
vif1.done = false;
|
||||||
|
vif1.inprogress = 0;
|
||||||
}
|
}
|
||||||
|
|
||||||
if (vif1ch.chcr.DIR) vif1Regs.stat.FQC = min((u16)0x10, vif1ch.qwc);
|
if (vif1ch.chcr.DIR) vif1Regs.stat.FQC = min((u16)0x10, vif1ch.qwc);
|
||||||
|
|
|
@ -248,11 +248,7 @@ void vifMFIFOInterrupt()
|
||||||
g_vifCycles = 0;
|
g_vifCycles = 0;
|
||||||
VIF_LOG("vif mfifo interrupt");
|
VIF_LOG("vif mfifo interrupt");
|
||||||
|
|
||||||
if(vif1.inprogress & 0x10)
|
|
||||||
{
|
|
||||||
FireMFIFOEmpty();
|
|
||||||
if(!(vif1.done && vif1ch.qwc == 0))return;
|
|
||||||
}
|
|
||||||
if (dmacRegs.ctrl.MFD != MFD_VIF1)
|
if (dmacRegs.ctrl.MFD != MFD_VIF1)
|
||||||
{
|
{
|
||||||
DevCon.Warning("Not in VIF MFIFO mode! Stopping VIF MFIFO");
|
DevCon.Warning("Not in VIF MFIFO mode! Stopping VIF MFIFO");
|
||||||
|
@ -289,6 +285,11 @@ void vifMFIFOInterrupt()
|
||||||
vif1Regs.stat.VPS = VPS_IDLE;
|
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)
|
if (vif1.irq && vif1.tag.size == 0)
|
||||||
{
|
{
|
||||||
SPR_LOG("VIF MFIFO Code Interrupt detected");
|
SPR_LOG("VIF MFIFO Code Interrupt detected");
|
||||||
|
|
Loading…
Reference in New Issue