mirror of https://github.com/PCSX2/pcsx2.git
VU Int: Fix XGKick wrapping
This commit is contained in:
parent
067faccdd2
commit
3bad60ce84
|
@ -214,6 +214,8 @@ static void _vu1Exec(VURegs* VU)
|
||||||
IPU_LOG("Banana New packet size %x", VU->xgkicksizeremaining);
|
IPU_LOG("Banana New packet size %x", VU->xgkicksizeremaining);
|
||||||
}
|
}
|
||||||
u32 transfersize = std::min(VU->xgkicksizeremaining / 0x10, (VU1.cycle - VU->xgkicklastcycle) / 2);
|
u32 transfersize = std::min(VU->xgkicksizeremaining / 0x10, (VU1.cycle - VU->xgkicklastcycle) / 2);
|
||||||
|
transfersize = std::min(transfersize, VU->xgkickdiff / 0x10);
|
||||||
|
|
||||||
if (transfersize)
|
if (transfersize)
|
||||||
{
|
{
|
||||||
IPU_LOG("Banana Transferring %x bytes from %x size left %x", transfersize * 0x10, VU->xgkickaddr, VU->xgkicksizeremaining);
|
IPU_LOG("Banana Transferring %x bytes from %x size left %x", transfersize * 0x10, VU->xgkickaddr, VU->xgkicksizeremaining);
|
||||||
|
|
|
@ -48,6 +48,8 @@ void BaseVUmicroCPU::ExecuteBlock(bool startUp)
|
||||||
IPU_LOG("Banana New packet size %x", VU1.xgkicksizeremaining);
|
IPU_LOG("Banana New packet size %x", VU1.xgkicksizeremaining);
|
||||||
}
|
}
|
||||||
u32 transfersize = std::min(VU1.xgkicksizeremaining / 0x10, (cpuRegs.cycle - VU1.xgkicklastcycle) / 2);
|
u32 transfersize = std::min(VU1.xgkicksizeremaining / 0x10, (cpuRegs.cycle - VU1.xgkicklastcycle) / 2);
|
||||||
|
transfersize = std::min(transfersize, VU1.xgkickdiff / 0x10);
|
||||||
|
|
||||||
if (transfersize)
|
if (transfersize)
|
||||||
{
|
{
|
||||||
IPU_LOG("Banana Transferring %x bytes from %x size left %x", transfersize * 0x10, VU1.xgkickaddr, VU1.xgkicksizeremaining);
|
IPU_LOG("Banana Transferring %x bytes from %x size left %x", transfersize * 0x10, VU1.xgkickaddr, VU1.xgkicksizeremaining);
|
||||||
|
|
Loading…
Reference in New Issue