/[pcsx2_0.9.7]/trunk/pcsx2/x86/microVU_Execute.inl
ViewVC logotype

Diff of /trunk/pcsx2/x86/microVU_Execute.inl

Parent Directory Parent Directory | Revision Log Revision Log | View Patch Patch

--- trunk/pcsx2/x86/microVU_Execute.inl	2010/12/23 11:48:33	279
+++ trunk/pcsx2/x86/microVU_Execute.inl	2010/12/23 12:02:12	280
@@ -92,7 +92,7 @@
 
 	xRET();
 
-	mVUcacheCheck(x86Ptr, mVU->dispCache, mVUdispCacheSize);
+	pxAssertDev(xGetPtr() < (mVU->dispCache + mVUdispCacheSize), "microVU: Dispatcher generation exceeded reserved cache area!");
 }
 
 //------------------------------------------------------------------
@@ -121,8 +121,14 @@
 	//mVUprint("microVU: Program exited successfully!");
 	//mVUprint("microVU: VF0 = {%x,%x,%x,%x}", mVU->regs().VF[0].UL[0], mVU->regs().VF[0].UL[1], mVU->regs().VF[0].UL[2], mVU->regs().VF[0].UL[3]);
 	//mVUprint("microVU: VI0 = %x", mVU->regs().VI[0].UL);
+
 	mVU->prog.x86ptr = x86Ptr;
-	mVUcacheCheck(x86Ptr, mVU->prog.x86start, (uptr)(mVU->prog.x86end - mVU->prog.x86start));
+
+	if ((xGetPtr() < mVU->prog.x86start) || (xGetPtr() >= mVU->prog.x86end)) {
+		Console.WriteLn(vuIndex ? Color_Orange : Color_Magenta, "microVU%d: Program cache limit reached.", mVU->index);
+		mVU->reset();
+	}
+	
 	mVU->cycles = mVU->totalCycles - mVU->cycles;
 	mVU->regs().cycle += mVU->cycles;
 	cpuRegs.cycle += ((mVU->cycles < 3000) ? mVU->cycles : 3000) * EmuConfig.Speedhacks.VUCycleSteal;

 

  ViewVC Help
Powered by ViewVC 1.1.22