All pastes #1421712 Raw Edit

Untitled

public diff v1 · immutable
#1421712 ·published 2009-05-13 16:48 UTC
rendered paste body
Index: pcsx2/x86/microVU_Execute.inl===================================================================--- pcsx2/x86/microVU_Execute.inl	(revision 1173)+++ pcsx2/x86/microVU_Execute.inl	(working copy)@@ -81,6 +81,7 @@  // Generates the code to exit from recompiled blocks microVUt(void) mVUdispatcherB() {+	using namespace x86Emitter; 	microVU* mVU = mVUx; 	mVU->exitFunct = x86Ptr; @@ -106,6 +107,9 @@ 	POP32R(EBX);  	if (isMMX(1)) EMMS();+	CMP32ItoM((uptr)&mVU->cycles, 0);+	xSETLE(al);+	xMOVZX(eax, al); 	RET();  	mVUcacheCheck(x86Ptr, mVU->cache, 512);Index: pcsx2/x86/iVU1micro.cpp===================================================================--- pcsx2/x86/iVU1micro.cpp	(revision 1173)+++ pcsx2/x86/iVU1micro.cpp	(working copy)@@ -127,7 +127,7 @@ extern void closeVUrec(const int vuIndex); extern void resetVUrec(const int vuIndex); extern void clearVUrec(u32 addr, u32 size, const int vuIndex);-extern void runVUrec(u32 startPC, u32 cycles, const int vuIndex);+extern int runVUrec(u32 startPC, u32 cycles, const int vuIndex);  namespace VU1micro {@@ -143,7 +143,9 @@  		FreezeXMMRegs(1); 		//FreezeMMXRegs(1);-		runVUrec(VU1.VI[REG_TPC].UL, 5000, 1);+		if (runVUrec(VU1.VI[REG_TPC].UL, 5000, 1)) {+			// do stuff+		} 		FreezeXMMRegs(0); 		//FreezeMMXRegs(0); 	}Index: pcsx2/x86/microVU.cpp===================================================================--- pcsx2/x86/microVU.cpp	(revision 1173)+++ pcsx2/x86/microVU.cpp	(working copy)@@ -232,9 +232,9 @@ 	else			mVUclear<1>(addr, size); } -void runVUrec(u32 startPC, u32 cycles, const int vuIndex) {-	if (!vuIndex)	startVU0(startPC, cycles);-	else			startVU1(startPC, cycles);+int runVUrec(u32 startPC, u32 cycles, const int vuIndex) {+	if (!vuIndex)	return startVU0(startPC, cycles);+	else			return startVU1(startPC, cycles); }  #endif // PCSX2_MICROVU