Path3 Masking: Fix up some timing issues (now we have some lol) which made puzzle quest look even worse than it already did. also as a test i have enabled Intermittent transfer modes on GIF, however it's only very loosely working as it should, just enough so Puzzle Quest looks right.

If it slows things down too much (initial testing is showing minimal slowdowns), then we can always disable it again.

git-svn-id: http://pcsx2.googlecode.com/svn/trunk@5560 96395faa-99c1-11dd-bbfe-3dabce05a288
This commit is contained in:
refraction@gmail.com 2013-02-13 21:49:54 +00:00
parent 8f9e04dc9d
commit a7c8da7578
2 changed files with 9 additions and 1 deletions

View File

@ -112,7 +112,7 @@ __fi void gifInterrupt()
}
static u32 WRITERING_DMA(u32 *pMem, u32 qwc) {
//qwc = min(qwc, 1024u);
if(gifRegs.stat.IMT) qwc = std::min(qwc, 1024u);
uint size = gifUnit.TransferGSPacketData(GIF_TRANS_DMA, (u8*)pMem, qwc*16) / 16;
incGifChAddr(size);
return size;

View File

@ -432,6 +432,14 @@ vifOp(vifCode_Nop) {
GetVifX.cmd = 0;
GetVifX.pass = 0;
vifExecQueue(idx);
if(GetVifX.vifpacketsize > 1)
{
if(((data[1] >> 24) & 0x7f) == 0x6) //is mskpath3 next
{
GetVifX.vifstalled.enabled = true;
GetVifX.vifstalled.value = VIF_TIMING_BREAK;
}
}
}
pass3 { VifCodeLog("Nop"); }
return 1;