Fixed a bug in my vif transfer rewrite that was causing problems in gt4, so re-enabling the code.

git-svn-id: http://pcsx2.googlecode.com/svn/trunk@2610 96395faa-99c1-11dd-bbfe-3dabce05a288
This commit is contained in:
cottonvibes 2010-02-20 02:05:00 +00:00
parent eff9506cd8
commit 2b4bb88526
2 changed files with 7 additions and 5 deletions

View File

@ -36,8 +36,8 @@ __forceinline void vif1FLUSH()
bool VIF1transfer(u32 *data, int size, bool istag)
{
//extern bool vif1Transfer_(u32 *data, int size, bool istag);
//return vif1Transfer_(data, size, istag);
extern bool vif1Transfer_(u32 *data, int size, bool istag);
return vif1Transfer_(data, size, istag);
int ret;
int transferred = vif1.vifstalled ? vif1.irqoffset : 0; // irqoffset necessary to add up the right qws, or else will spin (spiderman)

View File

@ -123,7 +123,7 @@ template<int idx> _f int _vifCode_Direct(int pass, u8* data, bool isDirectHL) {
gifRegs->stat.clear_flags(GIF_STAT_APATH2 | GIF_STAT_OPH);
}
else { // Partial Transfer
DevCon.WriteLn("DirectHL: Partial Transfer1 [%d]", size);
//DevCon.WriteLn("DirectHL: Partial Transfer [%d]", size);
gifRegs->stat.set_flags(GIF_STAT_APATH2 | GIF_STAT_OPH);
memcpy_fast(&v.buffer[v.bSize], data, size);
v.bSize += size;
@ -160,7 +160,9 @@ vifOp(vifCode_FlushA) {
pass1 {
// Gif is already transferring so wait for it.
if (((Path3progress != STOPPED_MODE) || !vif1Regs->mskpath3) && gif->chcr.STR) {
DevCon.WriteLn("FlushA path3 Wait!");
vif1Regs->stat.VGW = true;
vifX.vifstalled = true;
CPU_INT(DMAC_GIF, 4);
}
vifFlush(idx);
@ -382,7 +384,7 @@ vifOp(vifCode_STCycl) {
vifOp(vifCode_STMask) {
pass1 { vifX.tag.size = 1; }
pass2 { vifXRegs->mask = data[0]; vifX.cmd = 0; }
pass2 { vifXRegs->mask = data[0]; vifX.tag.size = 0; vifX.cmd = 0; }
pass3 { DevCon.WriteLn("vifCode_STMask"); }
return 1;
}
@ -465,7 +467,7 @@ bool analyzeIbit(u32* &data, int iBit, bool isTag) {
//DevCon.WriteLn("Vif I-Bit IRQ");
vif1.irq++;
if (isTag) {
DevCon.WriteLn("Vif isTag Hack!?");
//DevCon.WriteLn("Vif isTag Hack!?");
vif1.stallontag = true;
}
runMark(data);