rendered paste bodyIndex: 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