From 297a8a97cf19f6428fa6da5ff6bdffb92b16b722 Mon Sep 17 00:00:00 2001 From: cottonvibes Date: Sun, 30 Aug 2009 10:45:28 +0000 Subject: [PATCH] mVU macro: I forgot to enable some flag updating code I did in my last commit. This probably fixes a lot of the games that were having problems. git-svn-id: http://pcsx2.googlecode.com/svn/trunk@1713 96395faa-99c1-11dd-bbfe-3dabce05a288 --- pcsx2/x86/microVU_Macro.inl | 232 ++++++++++++++++++------------------ 1 file changed, 116 insertions(+), 116 deletions(-) diff --git a/pcsx2/x86/microVU_Macro.inl b/pcsx2/x86/microVU_Macro.inl index f1073a902c..326d16658e 100644 --- a/pcsx2/x86/microVU_Macro.inl +++ b/pcsx2/x86/microVU_Macro.inl @@ -99,127 +99,127 @@ void endMacroOp(int mode) { // Macro VU - Redirect Upper Instructions //------------------------------------------------------------------ -REC_COP2_mVU0(ABS, "ABS", 0); -REC_COP2_mVU0(ITOF0, "ITOF0", 0); -REC_COP2_mVU0(ITOF4, "ITOF4", 0); -REC_COP2_mVU0(ITOF12, "ITOF12", 0); -REC_COP2_mVU0(ITOF15, "ITOF15", 0); -REC_COP2_mVU0(FTOI0, "FTOI0", 0); -REC_COP2_mVU0(FTOI4, "FTOI4", 0); -REC_COP2_mVU0(FTOI12, "FTOI12", 0); -REC_COP2_mVU0(FTOI15, "FTOI15", 0); -REC_COP2_mVU0(ADD, "ADD", 0); -REC_COP2_mVU0(ADDi, "ADDi", 0); -REC_COP2_mVU0(ADDq, "ADDq", 1); -REC_COP2_mVU0(ADDx, "ADDx", 0); -REC_COP2_mVU0(ADDy, "ADDy", 0); -REC_COP2_mVU0(ADDz, "ADDz", 0); -REC_COP2_mVU0(ADDw, "ADDw", 0); -REC_COP2_mVU0(ADDA, "ADDA", 0); -REC_COP2_mVU0(ADDAi, "ADDAi", 0); -REC_COP2_mVU0(ADDAq, "ADDAq", 1); -REC_COP2_mVU0(ADDAx, "ADDAx", 0); -REC_COP2_mVU0(ADDAy, "ADDAy", 0); -REC_COP2_mVU0(ADDAz, "ADDAz", 0); -REC_COP2_mVU0(ADDAw, "ADDAw", 0); -REC_COP2_mVU0(SUB, "SUB", 0); -REC_COP2_mVU0(SUBi, "SUBi", 0); -REC_COP2_mVU0(SUBq, "SUBq", 1); -REC_COP2_mVU0(SUBx, "SUBx", 0); -REC_COP2_mVU0(SUBy, "SUBy", 0); -REC_COP2_mVU0(SUBz, "SUBz", 0); -REC_COP2_mVU0(SUBw, "SUBw", 0); -REC_COP2_mVU0(SUBA, "SUBA", 0); -REC_COP2_mVU0(SUBAi, "SUBAi", 0); -REC_COP2_mVU0(SUBAq, "SUBAq", 1); -REC_COP2_mVU0(SUBAx, "SUBAx", 0); -REC_COP2_mVU0(SUBAy, "SUBAy", 0); -REC_COP2_mVU0(SUBAz, "SUBAz", 0); -REC_COP2_mVU0(SUBAw, "SUBAw", 0); -REC_COP2_mVU0(MUL, "MUL", 0); -REC_COP2_mVU0(MULi, "MULi", 0); -REC_COP2_mVU0(MULq, "MULq", 1); -REC_COP2_mVU0(MULx, "MULx", 0); -REC_COP2_mVU0(MULy, "MULy", 0); -REC_COP2_mVU0(MULz, "MULz", 0); -REC_COP2_mVU0(MULw, "MULw", 0); -REC_COP2_mVU0(MULA, "MULA", 0); -REC_COP2_mVU0(MULAi, "MULAi", 0); -REC_COP2_mVU0(MULAq, "MULAq", 1); -REC_COP2_mVU0(MULAx, "MULAx", 0); -REC_COP2_mVU0(MULAy, "MULAy", 0); -REC_COP2_mVU0(MULAz, "MULAz", 0); -REC_COP2_mVU0(MULAw, "MULAw", 0); -REC_COP2_mVU0(MAX, "MAX", 0); -REC_COP2_mVU0(MAXi, "MAXi", 0); -REC_COP2_mVU0(MAXx, "MAXx", 0); -REC_COP2_mVU0(MAXy, "MAXy", 0); -REC_COP2_mVU0(MAXz, "MAXz", 0); -REC_COP2_mVU0(MAXw, "MAXw", 0); -REC_COP2_mVU0(MINI, "MINI", 0); -REC_COP2_mVU0(MINIi, "MINIi", 0); -REC_COP2_mVU0(MINIx, "MINIx", 0); -REC_COP2_mVU0(MINIy, "MINIy", 0); -REC_COP2_mVU0(MINIz, "MINIz", 0); -REC_COP2_mVU0(MINIw, "MINIw", 0); -REC_COP2_mVU0(MADD, "MADD", 0); -REC_COP2_mVU0(MADDi, "MADDi", 0); -REC_COP2_mVU0(MADDq, "MADDq", 1); -REC_COP2_mVU0(MADDx, "MADDx", 0); -REC_COP2_mVU0(MADDy, "MADDy", 0); -REC_COP2_mVU0(MADDz, "MADDz", 0); -REC_COP2_mVU0(MADDw, "MADDw", 0); -REC_COP2_mVU0(MADDA, "MADDA", 0); -REC_COP2_mVU0(MADDAi, "MADDAi", 0); -REC_COP2_mVU0(MADDAq, "MADDAq", 1); -REC_COP2_mVU0(MADDAx, "MADDAx", 0); -REC_COP2_mVU0(MADDAy, "MADDAy", 0); -REC_COP2_mVU0(MADDAz, "MADDAz", 0); -REC_COP2_mVU0(MADDAw, "MADDAw", 0); -REC_COP2_mVU0(MSUB, "MSUB", 0); -REC_COP2_mVU0(MSUBi, "MSUBi", 0); -REC_COP2_mVU0(MSUBq, "MSUBq", 1); -REC_COP2_mVU0(MSUBx, "MSUBx", 0); -REC_COP2_mVU0(MSUBy, "MSUBy", 0); -REC_COP2_mVU0(MSUBz, "MSUBz", 0); -REC_COP2_mVU0(MSUBw, "MSUBw", 0); -REC_COP2_mVU0(MSUBA, "MSUBA", 0); -REC_COP2_mVU0(MSUBAi, "MSUBAi", 0); -REC_COP2_mVU0(MSUBAq, "MSUBAq", 1); -REC_COP2_mVU0(MSUBAx, "MSUBAx", 0); -REC_COP2_mVU0(MSUBAy, "MSUBAy", 0); -REC_COP2_mVU0(MSUBAz, "MSUBAz", 0); -REC_COP2_mVU0(MSUBAw, "MSUBAw", 0); -REC_COP2_mVU0(OPMULA, "OPMULA", 0); -REC_COP2_mVU0(OPMSUB, "OPMSUB", 0); -REC_COP2_mVU0(CLIP, "CLIP", 8); +REC_COP2_mVU0(ABS, "ABS", 0x00); +REC_COP2_mVU0(ITOF0, "ITOF0", 0x00); +REC_COP2_mVU0(ITOF4, "ITOF4", 0x00); +REC_COP2_mVU0(ITOF12, "ITOF12", 0x00); +REC_COP2_mVU0(ITOF15, "ITOF15", 0x00); +REC_COP2_mVU0(FTOI0, "FTOI0", 0x00); +REC_COP2_mVU0(FTOI4, "FTOI4", 0x00); +REC_COP2_mVU0(FTOI12, "FTOI12", 0x00); +REC_COP2_mVU0(FTOI15, "FTOI15", 0x00); +REC_COP2_mVU0(ADD, "ADD", 0x10); +REC_COP2_mVU0(ADDi, "ADDi", 0x10); +REC_COP2_mVU0(ADDq, "ADDq", 0x11); +REC_COP2_mVU0(ADDx, "ADDx", 0x10); +REC_COP2_mVU0(ADDy, "ADDy", 0x10); +REC_COP2_mVU0(ADDz, "ADDz", 0x10); +REC_COP2_mVU0(ADDw, "ADDw", 0x10); +REC_COP2_mVU0(ADDA, "ADDA", 0x10); +REC_COP2_mVU0(ADDAi, "ADDAi", 0x10); +REC_COP2_mVU0(ADDAq, "ADDAq", 0x11); +REC_COP2_mVU0(ADDAx, "ADDAx", 0x10); +REC_COP2_mVU0(ADDAy, "ADDAy", 0x10); +REC_COP2_mVU0(ADDAz, "ADDAz", 0x10); +REC_COP2_mVU0(ADDAw, "ADDAw", 0x10); +REC_COP2_mVU0(SUB, "SUB", 0x10); +REC_COP2_mVU0(SUBi, "SUBi", 0x10); +REC_COP2_mVU0(SUBq, "SUBq", 0x11); +REC_COP2_mVU0(SUBx, "SUBx", 0x10); +REC_COP2_mVU0(SUBy, "SUBy", 0x10); +REC_COP2_mVU0(SUBz, "SUBz", 0x10); +REC_COP2_mVU0(SUBw, "SUBw", 0x10); +REC_COP2_mVU0(SUBA, "SUBA", 0x10); +REC_COP2_mVU0(SUBAi, "SUBAi", 0x10); +REC_COP2_mVU0(SUBAq, "SUBAq", 0x11); +REC_COP2_mVU0(SUBAx, "SUBAx", 0x10); +REC_COP2_mVU0(SUBAy, "SUBAy", 0x10); +REC_COP2_mVU0(SUBAz, "SUBAz", 0x10); +REC_COP2_mVU0(SUBAw, "SUBAw", 0x10); +REC_COP2_mVU0(MUL, "MUL", 0x10); +REC_COP2_mVU0(MULi, "MULi", 0x10); +REC_COP2_mVU0(MULq, "MULq", 0x11); +REC_COP2_mVU0(MULx, "MULx", 0x10); +REC_COP2_mVU0(MULy, "MULy", 0x10); +REC_COP2_mVU0(MULz, "MULz", 0x10); +REC_COP2_mVU0(MULw, "MULw", 0x10); +REC_COP2_mVU0(MULA, "MULA", 0x10); +REC_COP2_mVU0(MULAi, "MULAi", 0x10); +REC_COP2_mVU0(MULAq, "MULAq", 0x11); +REC_COP2_mVU0(MULAx, "MULAx", 0x10); +REC_COP2_mVU0(MULAy, "MULAy", 0x10); +REC_COP2_mVU0(MULAz, "MULAz", 0x10); +REC_COP2_mVU0(MULAw, "MULAw", 0x10); +REC_COP2_mVU0(MAX, "MAX", 0x00); +REC_COP2_mVU0(MAXi, "MAXi", 0x00); +REC_COP2_mVU0(MAXx, "MAXx", 0x00); +REC_COP2_mVU0(MAXy, "MAXy", 0x00); +REC_COP2_mVU0(MAXz, "MAXz", 0x00); +REC_COP2_mVU0(MAXw, "MAXw", 0x00); +REC_COP2_mVU0(MINI, "MINI", 0x00); +REC_COP2_mVU0(MINIi, "MINIi", 0x00); +REC_COP2_mVU0(MINIx, "MINIx", 0x00); +REC_COP2_mVU0(MINIy, "MINIy", 0x00); +REC_COP2_mVU0(MINIz, "MINIz", 0x00); +REC_COP2_mVU0(MINIw, "MINIw", 0x00); +REC_COP2_mVU0(MADD, "MADD", 0x10); +REC_COP2_mVU0(MADDi, "MADDi", 0x10); +REC_COP2_mVU0(MADDq, "MADDq", 0x11); +REC_COP2_mVU0(MADDx, "MADDx", 0x10); +REC_COP2_mVU0(MADDy, "MADDy", 0x10); +REC_COP2_mVU0(MADDz, "MADDz", 0x10); +REC_COP2_mVU0(MADDw, "MADDw", 0x10); +REC_COP2_mVU0(MADDA, "MADDA", 0x10); +REC_COP2_mVU0(MADDAi, "MADDAi", 0x10); +REC_COP2_mVU0(MADDAq, "MADDAq", 0x11); +REC_COP2_mVU0(MADDAx, "MADDAx", 0x10); +REC_COP2_mVU0(MADDAy, "MADDAy", 0x10); +REC_COP2_mVU0(MADDAz, "MADDAz", 0x10); +REC_COP2_mVU0(MADDAw, "MADDAw", 0x10); +REC_COP2_mVU0(MSUB, "MSUB", 0x10); +REC_COP2_mVU0(MSUBi, "MSUBi", 0x10); +REC_COP2_mVU0(MSUBq, "MSUBq", 0x11); +REC_COP2_mVU0(MSUBx, "MSUBx", 0x10); +REC_COP2_mVU0(MSUBy, "MSUBy", 0x10); +REC_COP2_mVU0(MSUBz, "MSUBz", 0x10); +REC_COP2_mVU0(MSUBw, "MSUBw", 0x10); +REC_COP2_mVU0(MSUBA, "MSUBA", 0x10); +REC_COP2_mVU0(MSUBAi, "MSUBAi", 0x10); +REC_COP2_mVU0(MSUBAq, "MSUBAq", 0x11); +REC_COP2_mVU0(MSUBAx, "MSUBAx", 0x10); +REC_COP2_mVU0(MSUBAy, "MSUBAy", 0x10); +REC_COP2_mVU0(MSUBAz, "MSUBAz", 0x10); +REC_COP2_mVU0(MSUBAw, "MSUBAw", 0x10); +REC_COP2_mVU0(OPMULA, "OPMULA", 0x10); +REC_COP2_mVU0(OPMSUB, "OPMSUB", 0x10); +REC_COP2_mVU0(CLIP, "CLIP", 0x08); //------------------------------------------------------------------ // Macro VU - Redirect Lower Instructions //------------------------------------------------------------------ -REC_COP2_mVU0(DIV, "DIV", 2); -REC_COP2_mVU0(SQRT, "SQRT", 2); -REC_COP2_mVU0(RSQRT, "RSQRT", 2); -REC_COP2_mVU0(IADD, "IADD", 4); -REC_COP2_mVU0(IADDI, "IADDI", 4); -REC_COP2_mVU0(IAND, "IAND", 4); -REC_COP2_mVU0(IOR, "IOR", 4); -REC_COP2_mVU0(ISUB, "ISUB", 4); -REC_COP2_mVU0(ILWR, "ILWR", 4); -REC_COP2_mVU0(ISWR, "ISWR", 0); -REC_COP2_mVU0(LQI, "LQI", 4); -REC_COP2_mVU0(LQD, "LQD", 4); -REC_COP2_mVU0(SQI, "SQI", 0); -REC_COP2_mVU0(SQD, "SQD", 0); -REC_COP2_mVU0(MFIR, "MFIR", 4); -REC_COP2_mVU0(MTIR, "MTIR", 4); -REC_COP2_mVU0(MOVE, "MOVE", 0); -REC_COP2_mVU0(MR32, "MR32", 0); -REC_COP2_mVU0(RINIT, "RINIT", 0); -REC_COP2_mVU0(RGET, "RGET", 4); -REC_COP2_mVU0(RNEXT, "RNEXT", 4); -REC_COP2_mVU0(RXOR, "RXOR", 0); +REC_COP2_mVU0(DIV, "DIV", 0x02); +REC_COP2_mVU0(SQRT, "SQRT", 0x02); +REC_COP2_mVU0(RSQRT, "RSQRT", 0x02); +REC_COP2_mVU0(IADD, "IADD", 0x04); +REC_COP2_mVU0(IADDI, "IADDI", 0x04); +REC_COP2_mVU0(IAND, "IAND", 0x04); +REC_COP2_mVU0(IOR, "IOR", 0x04); +REC_COP2_mVU0(ISUB, "ISUB", 0x04); +REC_COP2_mVU0(ILWR, "ILWR", 0x04); +REC_COP2_mVU0(ISWR, "ISWR", 0x00); +REC_COP2_mVU0(LQI, "LQI", 0x04); +REC_COP2_mVU0(LQD, "LQD", 0x04); +REC_COP2_mVU0(SQI, "SQI", 0x00); +REC_COP2_mVU0(SQD, "SQD", 0x00); +REC_COP2_mVU0(MFIR, "MFIR", 0x04); +REC_COP2_mVU0(MTIR, "MTIR", 0x04); +REC_COP2_mVU0(MOVE, "MOVE", 0x00); +REC_COP2_mVU0(MR32, "MR32", 0x00); +REC_COP2_mVU0(RINIT, "RINIT", 0x00); +REC_COP2_mVU0(RGET, "RGET", 0x04); +REC_COP2_mVU0(RNEXT, "RNEXT", 0x04); +REC_COP2_mVU0(RXOR, "RXOR", 0x00); //------------------------------------------------------------------ // Macro VU - Misc...