mirror of https://github.com/PCSX2/pcsx2.git
Change a few .ADDR's to _u32's, so the SPR field is included.
git-svn-id: http://pcsx2.googlecode.com/svn/trunk@2336 96395faa-99c1-11dd-bbfe-3dabce05a288
This commit is contained in:
parent
f3a2c44112
commit
6167067791
|
@ -158,7 +158,7 @@ static __forceinline tDMA_TAG* ReadTag()
|
||||||
|
|
||||||
if (!(gif->transfer("Gif", ptag))) return NULL;
|
if (!(gif->transfer("Gif", ptag))) return NULL;
|
||||||
|
|
||||||
gif->madr = ptag[1].ADDR; //MADR = ADDR field
|
gif->madr = ptag[1]._u32; //MADR = ADDR field + SPR
|
||||||
gscycles += 2; // Add 1 cycles from the QW read for the tag
|
gscycles += 2; // Add 1 cycles from the QW read for the tag
|
||||||
|
|
||||||
gspath3done = hwDmacSrcChainWithStack(gif, ptag->ID);
|
gspath3done = hwDmacSrcChainWithStack(gif, ptag->ID);
|
||||||
|
@ -170,7 +170,7 @@ static __forceinline tDMA_TAG* ReadTag2()
|
||||||
tDMA_TAG* ptag = (tDMA_TAG*)dmaGetAddr(gif->tadr); //Set memory pointer to TADR
|
tDMA_TAG* ptag = (tDMA_TAG*)dmaGetAddr(gif->tadr); //Set memory pointer to TADR
|
||||||
|
|
||||||
gif->unsafeTransfer(ptag);
|
gif->unsafeTransfer(ptag);
|
||||||
gif->madr = ptag[1].ADDR;
|
gif->madr = ptag[1]._u32;
|
||||||
|
|
||||||
gspath3done = hwDmacSrcChainWithStack(gif, ptag->ID);
|
gspath3done = hwDmacSrcChainWithStack(gif, ptag->ID);
|
||||||
return ptag;
|
return ptag;
|
||||||
|
@ -296,7 +296,7 @@ void GIFdma()
|
||||||
{
|
{
|
||||||
ptag = (tDMA_TAG*)dmaGetAddr(gif->tadr); //Set memory pointer to TADR
|
ptag = (tDMA_TAG*)dmaGetAddr(gif->tadr); //Set memory pointer to TADR
|
||||||
gif->unsafeTransfer(ptag);
|
gif->unsafeTransfer(ptag);
|
||||||
gif->madr = ptag[1].ADDR;
|
gif->madr = ptag[1]._u32;
|
||||||
|
|
||||||
gspath3done = hwDmacSrcChainWithStack(gif, ptag->ID);
|
gspath3done = hwDmacSrcChainWithStack(gif, ptag->ID);
|
||||||
|
|
||||||
|
@ -460,7 +460,7 @@ void mfifoGIFtransfer(int qwc)
|
||||||
|
|
||||||
ptag = (tDMA_TAG*)dmaGetAddr(gif->tadr);
|
ptag = (tDMA_TAG*)dmaGetAddr(gif->tadr);
|
||||||
gif->unsafeTransfer(ptag);
|
gif->unsafeTransfer(ptag);
|
||||||
gif->madr = ptag[1].ADDR;
|
gif->madr = ptag[1]._u32;
|
||||||
|
|
||||||
mfifocycles += 2;
|
mfifocycles += 2;
|
||||||
|
|
||||||
|
|
|
@ -1397,7 +1397,7 @@ static __forceinline bool ipuDmacSrcChain(DMACh *tag, tDMA_TAG *ptag)
|
||||||
{
|
{
|
||||||
case TAG_REFE: // refe
|
case TAG_REFE: // refe
|
||||||
// do not change tadr
|
// do not change tadr
|
||||||
tag->madr = ptag[1].ADDR;
|
tag->madr = ptag[1]._u32;
|
||||||
return true;
|
return true;
|
||||||
break;
|
break;
|
||||||
|
|
||||||
|
@ -1409,11 +1409,11 @@ static __forceinline bool ipuDmacSrcChain(DMACh *tag, tDMA_TAG *ptag)
|
||||||
|
|
||||||
case TAG_NEXT: // next
|
case TAG_NEXT: // next
|
||||||
tag->madr = tag->tadr + 16;
|
tag->madr = tag->tadr + 16;
|
||||||
tag->tadr = ptag[1].ADDR;
|
tag->tadr = ptag[1]._u32;
|
||||||
break;
|
break;
|
||||||
|
|
||||||
case TAG_REF: // ref
|
case TAG_REF: // ref
|
||||||
tag->madr = ptag[1].ADDR;
|
tag->madr = ptag[1]._u32;
|
||||||
tag->tadr += 16;
|
tag->tadr += 16;
|
||||||
break;
|
break;
|
||||||
|
|
||||||
|
|
|
@ -165,7 +165,7 @@ static __forceinline void _dmaSPR0()
|
||||||
|
|
||||||
spr0->unsafeTransfer(ptag);
|
spr0->unsafeTransfer(ptag);
|
||||||
|
|
||||||
spr0->madr = ptag[1].ADDR; //MADR = ADDR field
|
spr0->madr = ptag[1]._u32; //MADR = ADDR field + SPR
|
||||||
|
|
||||||
SPR_LOG("spr0 dmaChain %8.8x_%8.8x size=%d, id=%d, addr=%lx spr=%lx",
|
SPR_LOG("spr0 dmaChain %8.8x_%8.8x size=%d, id=%d, addr=%lx spr=%lx",
|
||||||
ptag[1]._u32, ptag[0]._u32, spr0->qwc, ptag->ID, spr0->madr, spr0->sadr);
|
ptag[1]._u32, ptag[0]._u32, spr0->qwc, ptag->ID, spr0->madr, spr0->sadr);
|
||||||
|
@ -361,7 +361,7 @@ void _dmaSPR1() // toSPR work function
|
||||||
spr1finished = done;
|
spr1finished = done;
|
||||||
}
|
}
|
||||||
|
|
||||||
spr1->madr = ptag[1].ADDR; //MADR = ADDR field
|
spr1->madr = ptag[1]._u32; //MADR = ADDR field + SPR
|
||||||
|
|
||||||
// Transfer dma tag if tte is set
|
// Transfer dma tag if tte is set
|
||||||
if (spr1->chcr.TTE)
|
if (spr1->chcr.TTE)
|
||||||
|
|
|
@ -215,7 +215,7 @@ __forceinline void SIF0Dma()
|
||||||
SIF_LOG(" EE SIF read tag: %x %x %x %x", tag[0], tag[1], tag[2], tag[3]);
|
SIF_LOG(" EE SIF read tag: %x %x %x %x", tag[0], tag[1], tag[2], tag[3]);
|
||||||
|
|
||||||
sif0dma->unsafeTransfer(((tDMA_TAG*)(tag)));
|
sif0dma->unsafeTransfer(((tDMA_TAG*)(tag)));
|
||||||
sif0dma->madr = DMA_TAG(tag[1]).ADDR;
|
sif0dma->madr = tag[1];
|
||||||
|
|
||||||
SIF_LOG(" EE SIF dest chain tag madr:%08X qwc:%04X id:%X irq:%d(%08X_%08X)", sif0dma->madr, sif0dma->qwc, (tag[0] >> 28)&3, (tag[0] >> 31)&1, tag[1], tag[0]);
|
SIF_LOG(" EE SIF dest chain tag madr:%08X qwc:%04X id:%X irq:%d(%08X_%08X)", sif0dma->madr, sif0dma->qwc, (tag[0] >> 28)&3, (tag[0] >> 31)&1, tag[1], tag[0]);
|
||||||
|
|
||||||
|
@ -301,7 +301,7 @@ __forceinline void SIF1Dma()
|
||||||
case TAG_REFE: // refe
|
case TAG_REFE: // refe
|
||||||
SIF_LOG(" REFE %08X", ptag[1]._u32);
|
SIF_LOG(" REFE %08X", ptag[1]._u32);
|
||||||
sif1.end = 1;
|
sif1.end = 1;
|
||||||
sif1dma->madr = ptag[1].ADDR;
|
sif1dma->madr = ptag[1]._u32;
|
||||||
sif1dma->tadr += 16;
|
sif1dma->tadr += 16;
|
||||||
break;
|
break;
|
||||||
|
|
||||||
|
@ -314,13 +314,13 @@ __forceinline void SIF1Dma()
|
||||||
case TAG_NEXT: // next
|
case TAG_NEXT: // next
|
||||||
SIF_LOG(" NEXT %08X", ptag[1]._u32);
|
SIF_LOG(" NEXT %08X", ptag[1]._u32);
|
||||||
sif1dma->madr = sif1dma->tadr + 16;
|
sif1dma->madr = sif1dma->tadr + 16;
|
||||||
sif1dma->tadr = ptag[1].ADDR;
|
sif1dma->tadr = ptag[1]._u32;
|
||||||
break;
|
break;
|
||||||
|
|
||||||
case TAG_REF: // ref
|
case TAG_REF: // ref
|
||||||
case TAG_REFS: // refs
|
case TAG_REFS: // refs
|
||||||
SIF_LOG(" REF %08X", ptag[1]._u32);
|
SIF_LOG(" REF %08X", ptag[1]._u32);
|
||||||
sif1dma->madr = ptag[1].ADDR;
|
sif1dma->madr = ptag[1]._u32;
|
||||||
sif1dma->tadr += 16;
|
sif1dma->tadr += 16;
|
||||||
break;
|
break;
|
||||||
|
|
||||||
|
|
|
@ -548,7 +548,7 @@ void mfifoVIF1transfer(int qwc)
|
||||||
|
|
||||||
vif1ch->unsafeTransfer(ptag);
|
vif1ch->unsafeTransfer(ptag);
|
||||||
|
|
||||||
vif1ch->madr = ptag[1].ADDR;
|
vif1ch->madr = ptag[1]._u32;
|
||||||
vifqwc--;
|
vifqwc--;
|
||||||
|
|
||||||
SPR_LOG("dmaChain %8.8x_%8.8x size=%d, id=%d, madr=%lx, tadr=%lx mfifo qwc = %x spr0 madr = %x",
|
SPR_LOG("dmaChain %8.8x_%8.8x size=%d, id=%d, madr=%lx, tadr=%lx mfifo qwc = %x spr0 madr = %x",
|
||||||
|
|
|
@ -503,7 +503,7 @@ bool _chainVIF0()
|
||||||
|
|
||||||
if (!(vif0ch->transfer("Vif0 Tag", ptag))) return false;
|
if (!(vif0ch->transfer("Vif0 Tag", ptag))) return false;
|
||||||
|
|
||||||
vif0ch->madr = ptag[1].ADDR; // MADR = ADDR field
|
vif0ch->madr = ptag[1]._u32; // MADR = ADDR field + SPR
|
||||||
g_vifCycles += 1; // Increase the QW read for the tag
|
g_vifCycles += 1; // Increase the QW read for the tag
|
||||||
|
|
||||||
VIF_LOG("dmaChain %8.8x_%8.8x size=%d, id=%d, madr=%lx, tadr=%lx",
|
VIF_LOG("dmaChain %8.8x_%8.8x size=%d, id=%d, madr=%lx, tadr=%lx",
|
||||||
|
|
|
@ -806,7 +806,7 @@ __forceinline void vif1SetupTransfer()
|
||||||
|
|
||||||
if (!(vif1ch->transfer("Vif1 Tag", ptag))) return;
|
if (!(vif1ch->transfer("Vif1 Tag", ptag))) return;
|
||||||
|
|
||||||
vif1ch->madr = ptag[1].ADDR; //MADR = ADDR field
|
vif1ch->madr = ptag[1]._u32; //MADR = ADDR field + SPR
|
||||||
g_vifCycles += 1; // Add 1 g_vifCycles from the QW read for the tag
|
g_vifCycles += 1; // Add 1 g_vifCycles from the QW read for the tag
|
||||||
|
|
||||||
// Transfer dma tag if tte is set
|
// Transfer dma tag if tte is set
|
||||||
|
|
Loading…
Reference in New Issue