- 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
This commit is contained in:
cottonvibes 2009-05-27 02:29:52 +00:00
parent 5f1cc131c8
commit 47bdb31473
2 changed files with 4 additions and 3 deletions

View File

@ -322,7 +322,7 @@ microVUt(void) mVUanalyzeMflag(int Is, int It) {
mVUinfo |= _swapOps; mVUinfo |= _swapOps;
if (mVUcount < 4) { mVUpBlock->pState.needExactMatch |= 0xf << (/*mVUcount +*/ 4); } if (mVUcount < 4) { mVUpBlock->pState.needExactMatch |= 0xf << (/*mVUcount +*/ 4); }
int curPC = iPC; 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); incPC2(-2);
if (doStatus) { mVUinfo |= _doMac; if (j >= 3) { break; } } if (doStatus) { mVUinfo |= _doMac; if (j >= 3) { break; } }
} }

View File

@ -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 u32 aCount = 1; // Amount of instructions needed to get valid mac flag instances for block linking
// Ensure last ~4+ instructions update mac flags // Ensure last ~4+ instructions update mac flags
setCode();
for (int i = mVUcount; i > 0; i--, aCount++) { for (int i = mVUcount; i > 0; i--, aCount++) {
if (doStatus) { if (__Mac) { mVUinfo |= _doMac; } if (aCount > 4) { break; } } if (doStatus) { if (__Mac) { mVUinfo |= _doMac; } if (aCount >= 4) { break; } }
incPC2(-2); incPC(-2);
} }
// Status/Mac Flags Setup Code // Status/Mac Flags Setup Code