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);@@ -150,8 +154,8 @@ // Caller Functions //------------------------------------------------------------------ -void __fastcall startVU0(u32 startPC, u32 cycles) { ((mVUrecCall)microVU0.startFunct)(startPC, cycles); }-void __fastcall startVU1(u32 startPC, u32 cycles) { ((mVUrecCall)microVU1.startFunct)(startPC, cycles); }+int __fastcall startVU0(u32 startPC, u32 cycles) { return ((mVUrecCall)microVU0.startFunct)(startPC, cycles); }+int __fastcall startVU1(u32 startPC, u32 cycles) { return ((mVUrecCall)microVU1.startFunct)(startPC, cycles); } void* __fastcall mVUexecuteVU0(u32 startPC, u32 cycles) { return mVUexecute<0>(startPC, cycles); } void* __fastcall mVUexecuteVU1(u32 startPC, u32 cycles) { return mVUexecute<1>(startPC, cycles); } void __fastcall mVUcleanUpVU0() { mVUcleanUp<0>(); }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