VU Int: Fix XGKick wrapping

This commit is contained in:
refractionpcsx2 2021-09-04 02:05:52 +01:00
parent 067faccdd2
commit 3bad60ce84
2 changed files with 4 additions and 0 deletions

View File

@ -214,6 +214,8 @@ static void _vu1Exec(VURegs* VU)
IPU_LOG("Banana New packet size %x", VU->xgkicksizeremaining);
}
u32 transfersize = std::min(VU->xgkicksizeremaining / 0x10, (VU1.cycle - VU->xgkicklastcycle) / 2);
transfersize = std::min(transfersize, VU->xgkickdiff / 0x10);
if (transfersize)
{
IPU_LOG("Banana Transferring %x bytes from %x size left %x", transfersize * 0x10, VU->xgkickaddr, VU->xgkicksizeremaining);

View File

@ -48,6 +48,8 @@ void BaseVUmicroCPU::ExecuteBlock(bool startUp)
IPU_LOG("Banana New packet size %x", VU1.xgkicksizeremaining);
}
u32 transfersize = std::min(VU1.xgkicksizeremaining / 0x10, (cpuRegs.cycle - VU1.xgkicklastcycle) / 2);
transfersize = std::min(transfersize, VU1.xgkickdiff / 0x10);
if (transfersize)
{
IPU_LOG("Banana Transferring %x bytes from %x size left %x", transfersize * 0x10, VU1.xgkickaddr, VU1.xgkicksizeremaining);