From 47bdb314738a289b3b51e97db13b5629911a882f Mon Sep 17 00:00:00 2001 From: cottonvibes Date: Wed, 27 May 2009 02:29:52 +0000 Subject: [PATCH] microVU: - Fixed a big bug with the help of sudonim and rama which greatly increases mVU's compatibility! git-svn-id: http://pcsx2.googlecode.com/svn/trunk@1270 96395faa-99c1-11dd-bbfe-3dabce05a288 --- pcsx2/x86/microVU_Analyze.inl | 2 +- pcsx2/x86/microVU_Flags.inl | 5 +++-- 2 files changed, 4 insertions(+), 3 deletions(-) diff --git a/pcsx2/x86/microVU_Analyze.inl b/pcsx2/x86/microVU_Analyze.inl index f1fc7e589b..7be750237c 100644 --- a/pcsx2/x86/microVU_Analyze.inl +++ b/pcsx2/x86/microVU_Analyze.inl @@ -322,7 +322,7 @@ microVUt(void) mVUanalyzeMflag(int Is, int It) { mVUinfo |= _swapOps; if (mVUcount < 4) { mVUpBlock->pState.needExactMatch |= 0xf << (/*mVUcount +*/ 4); } int curPC = iPC; - for (int i = mVUcount, j = 0; i > 1; i--, j++) { + for (int i = mVUcount, j = 0; i > 0; i--, j++) { incPC2(-2); if (doStatus) { mVUinfo |= _doMac; if (j >= 3) { break; } } } diff --git a/pcsx2/x86/microVU_Flags.inl b/pcsx2/x86/microVU_Flags.inl index 5f29d43c00..841a1414ce 100644 --- a/pcsx2/x86/microVU_Flags.inl +++ b/pcsx2/x86/microVU_Flags.inl @@ -82,9 +82,10 @@ microVUt(int) mVUsetFlags(int* xStatus, int* xMac, int* xClip) { u32 aCount = 1; // Amount of instructions needed to get valid mac flag instances for block linking // Ensure last ~4+ instructions update mac flags + setCode(); for (int i = mVUcount; i > 0; i--, aCount++) { - if (doStatus) { if (__Mac) { mVUinfo |= _doMac; } if (aCount > 4) { break; } } - incPC2(-2); + if (doStatus) { if (__Mac) { mVUinfo |= _doMac; } if (aCount >= 4) { break; } } + incPC(-2); } // Status/Mac Flags Setup Code