mirror of https://github.com/PCSX2/pcsx2.git
More GIFtag bugfixes; PATH1's VU1 memory wrapping was measuring the end of VU1 memory incorrectly.
git-svn-id: http://pcsx2.googlecode.com/svn/trunk@1882 96395faa-99c1-11dd-bbfe-3dabce05a288
This commit is contained in:
parent
4e03bb7c3a
commit
c963fd3d85
|
@ -270,6 +270,7 @@ __forceinline int mtgsThreadObject::_gifTransferDummy(GIF_PATH pathidx, const u8
|
|||
{
|
||||
GIFPath& path = s_path[pathidx]; // Current Path
|
||||
const u8* vuMemEnd = pMem + (size<<4); // End of VU1 Mem
|
||||
if (pathidx==GIF_PATH_1) size = 0x400; // VU1 mem size
|
||||
u32 startSize = size; // Start Size
|
||||
|
||||
while (size > 0) {
|
||||
|
|
|
@ -1106,7 +1106,7 @@ void __fastcall mVU_XGKICK_(u32 addr) {
|
|||
addr &= 0x3ff;
|
||||
u8* data = microVU1.regs->Mem + (addr*16);
|
||||
u32 diff = 0x400 - addr;
|
||||
u32 size = mtgsThread->PrepDataPacket(GIF_PATH_1, data, 0x400);
|
||||
u32 size = mtgsThread->PrepDataPacket(GIF_PATH_1, data, diff);
|
||||
u8* pDest = mtgsThread->GetDataPacketPtr();
|
||||
|
||||
if(size > diff) {
|
||||
|
|
|
@ -1975,7 +1975,7 @@ void VU1XGKICK_MTGSTransfer(u32 *pMem, u32 addr)
|
|||
u32 size;
|
||||
u8* data = ((u8*)pMem + (addr&0x3fff));
|
||||
|
||||
size = mtgsThread->PrepDataPacket(GIF_PATH_1, data, 0x4000 / 16 );
|
||||
size = mtgsThread->PrepDataPacket(GIF_PATH_1, data, (0x4000-(addr&0x3fff)) / 16);
|
||||
jASSUME( size > 0 );
|
||||
|
||||
u8* pmem = mtgsThread->GetDataPacketPtr();
|
||||
|
|
Loading…
Reference in New Issue