From adc075a098907afe047034c596f5b99f2bb6edad Mon Sep 17 00:00:00 2001 From: "refraction@gmail.com" Date: Thu, 21 Feb 2013 01:07:52 +0000 Subject: [PATCH] microVU: Fixed 1-Op flag linking (hopefully) if it kills stuff let me know and ill revert. Hopefully it'll help MGS2 a bit, but no guarantees. git-svn-id: http://pcsx2.googlecode.com/svn/trunk@5566 96395faa-99c1-11dd-bbfe-3dabce05a288 --- pcsx2/x86/microVU_Compile.inl | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/pcsx2/x86/microVU_Compile.inl b/pcsx2/x86/microVU_Compile.inl index fa0892c1d8..2778454ee2 100644 --- a/pcsx2/x86/microVU_Compile.inl +++ b/pcsx2/x86/microVU_Compile.inl @@ -407,7 +407,7 @@ __fi void mVUinitFirstPass(microVU& mVU, uptr pState, u8* thisPtr) { } mVUblock.x86ptrStart = thisPtr; mVUpBlock = mVUblocks[mVUstartPC/2]->add(&mVUblock); // Add this block to block manager - mVUregs.needExactMatch = /*(mVUregs.blockType||noFlagOpts)?7:*/0; // ToDo: Fix 1-Op block flag linking (MGS2:Demo/Sly Cooper) + mVUregs.needExactMatch = (isEvilBlock)?7:0; // ToDo: Fix 1-Op block flag linking (MGS2:Demo/Sly Cooper) mVUregs.blockType = 0; mVUregs.viBackUp = 0; mVUregs.flagInfo = 0; @@ -504,6 +504,7 @@ void* mVUcompile(microVU& mVU, u32 startPC, uptr pState) { elif (branch == 1) { branch = 2; } if (mVUbranch) { mVUsetFlagInfo(mVU); eBitWarning(mVU); branch = 3; mVUbranch = 0; } incPC(1); + if(isEvilBlock){ mVUcount++; break; } //Need a count, else the flags do not update. } // Fix up vi15 const info for propagation through blocks