Commented out my bodge to XGKick on the VU interpreter, Gabest has now solved this issue in his latest gsdx build. Happy 1000th commit :)

git-svn-id: http://pcsx2.googlecode.com/svn/trunk@1000 96395faa-99c1-11dd-bbfe-3dabce05a288
This commit is contained in:
refraction 2009-04-17 18:02:49 +00:00
parent 984ca67042
commit 62604d359a
1 changed files with 4 additions and 4 deletions

View File

@ -2046,19 +2046,19 @@ void _vuXITOP(VURegs * VU) {
void _vuXGKICK(VURegs * VU) void _vuXGKICK(VURegs * VU)
{ {
u32* ptr = (u32*)GET_VU_MEM(VU, (VU->VI[_Fs_].US[0]*16) & (VU == &VU1 ? 0x3fff : 0xfff)); u32* ptr = (u32*)GET_VU_MEM(VU, (VU->VI[_Fs_].US[0]*16) & (VU == &VU1 ? 0x3fff : 0xfff));
int temp = 0x4000 - ((VU->VI[_Fs_].US[0]*16) & 0x3fff); // int temp = 0x4000 - ((VU->VI[_Fs_].US[0]*16) & 0x3fff);
u32 tempmem[0x8000]; // u32 tempmem[0x8000];
// flush all pipelines first (in the right order) // flush all pipelines first (in the right order)
_vuFlushAll(VU); _vuFlushAll(VU);
//Gonna be slow but reshuffles the memory so overflows wont occur //Gonna be slow but reshuffles the memory so overflows wont occur
memset(tempmem, 0, sizeof(tempmem)); /* memset(tempmem, 0, sizeof(tempmem));
memcpy(tempmem, ptr, temp); memcpy(tempmem, ptr, temp);
ptr = (u32*)GET_VU_MEM(VU, 0); ptr = (u32*)GET_VU_MEM(VU, 0);
memcpy(&tempmem[temp], ptr, ((VU->VI[_Fs_].US[0]*16) & 0x3fff)); memcpy(&tempmem[temp], ptr, ((VU->VI[_Fs_].US[0]*16) & 0x3fff));
GSGIFTRANSFER1((u32*)&tempmem[0], 0); GSGIFTRANSFER1((u32*)&tempmem[0], 0);
//} else GSGIFTRANSFER1((u32*)VU->Mem, (VU->VI[_Fs_].US[0]*16) & 0x3fff); } else*/ GSGIFTRANSFER1((u32*)VU->Mem, (VU->VI[_Fs_].US[0]*16) & 0x3fff);
} }
void _vuXTOP(VURegs * VU) { void _vuXTOP(VURegs * VU) {