mirror of https://github.com/PCSX2/pcsx2.git
Fixed a silly error (on my part) which stopped the Gran Turismo games loading, looks like it was the same reason Tekken 5 broke too.
git-svn-id: http://pcsx2.googlecode.com/svn/trunk@713 96395faa-99c1-11dd-bbfe-3dabce05a288
This commit is contained in:
parent
661d5442a8
commit
e88cf84e9c
|
@ -998,21 +998,24 @@ int VIF0transfer(u32 *data, int size, int istag) {
|
||||||
++data;
|
++data;
|
||||||
--vif0.vifpacketsize;
|
--vif0.vifpacketsize;
|
||||||
|
|
||||||
if ((vif0.cmd & 0x80)) { //i bit on vifcode and not masked by VIF0_ERR
|
if ((vif0.cmd & 0x80))
|
||||||
if(!(vif0Regs->err & 0x1)){
|
{
|
||||||
|
vif0.cmd &= 0x7f;
|
||||||
|
|
||||||
|
if(!(vif0Regs->err & 0x1)) //i bit on vifcode and not masked by VIF0_ERR
|
||||||
|
{
|
||||||
VIF_LOG( "Interrupt on VIFcmd: %x (INTC_MASK = %x)\n", vif0.cmd, psHu32(INTC_MASK) );
|
VIF_LOG( "Interrupt on VIFcmd: %x (INTC_MASK = %x)\n", vif0.cmd, psHu32(INTC_MASK) );
|
||||||
|
|
||||||
++vif0.irq;
|
++vif0.irq;
|
||||||
|
|
||||||
if(istag && vif0.tag.size <= vif0.vifpacketsize) vif0.stallontag = 1;
|
if(istag && vif0.tag.size <= vif0.vifpacketsize) vif0.stallontag = 1;
|
||||||
if(vif0.tag.size == 0) break;
|
|
||||||
|
|
||||||
}
|
if(vif0.tag.size == 0) break;
|
||||||
vif0.cmd &= 0x7f;
|
}
|
||||||
|
|
||||||
}
|
}
|
||||||
}
|
|
||||||
|
} //End of Transfer loop
|
||||||
|
|
||||||
transferred += size - vif0.vifpacketsize;
|
transferred += size - vif0.vifpacketsize;
|
||||||
g_vifCycles+= (transferred >> 2)*BIAS; /* guessing */
|
g_vifCycles+= (transferred >> 2)*BIAS; /* guessing */
|
||||||
// use tag.size because some game doesn't like .cmd
|
// use tag.size because some game doesn't like .cmd
|
||||||
|
@ -1837,19 +1840,23 @@ int VIF1transfer(u32 *data, int size, int istag) {
|
||||||
--vif1.vifpacketsize;
|
--vif1.vifpacketsize;
|
||||||
|
|
||||||
|
|
||||||
if ((vif1.cmd & 0x80)) { //i bit on vifcode and not masked by VIF1_ERR
|
if ((vif1.cmd & 0x80))
|
||||||
VIF_LOG( "Interrupt on VIFcmd: %x (INTC_MASK = %x)\n", vif1.cmd, psHu32(INTC_MASK) );
|
{
|
||||||
|
vif1.cmd &= 0x7f;
|
||||||
if(!(vif1Regs->err & 0x1)){
|
|
||||||
++vif1.irq;
|
if(!(vif1Regs->err & 0x1)) //i bit on vifcode and not masked by VIF1_ERR
|
||||||
|
{
|
||||||
|
VIF_LOG( "Interrupt on VIFcmd: %x (INTC_MASK = %x)\n", vif1.cmd, psHu32(INTC_MASK) );
|
||||||
|
|
||||||
|
++vif1.irq;
|
||||||
|
|
||||||
if(istag && vif1.tag.size <= vif1.vifpacketsize) vif1.stallontag = 1;
|
if(istag && vif1.tag.size <= vif1.vifpacketsize) vif1.stallontag = 1;
|
||||||
|
|
||||||
if(vif1.tag.size == 0) break;
|
if(vif1.tag.size == 0) break;
|
||||||
}
|
}
|
||||||
vif1.cmd &= 0x7f;
|
|
||||||
|
|
||||||
}
|
}
|
||||||
}
|
|
||||||
|
} // End of Transfer loop
|
||||||
|
|
||||||
transferred += size - vif1.vifpacketsize;
|
transferred += size - vif1.vifpacketsize;
|
||||||
g_vifCycles+= (transferred>>2)*BIAS; /* guessing */
|
g_vifCycles+= (transferred>>2)*BIAS; /* guessing */
|
||||||
|
|
Loading…
Reference in New Issue