diff --git a/pcsx2/Vif_Codes.cpp b/pcsx2/Vif_Codes.cpp index 99064ba828..66a276c371 100644 --- a/pcsx2/Vif_Codes.cpp +++ b/pcsx2/Vif_Codes.cpp @@ -267,6 +267,7 @@ static __fi void _vifCode_MPG(int idx, u32 addr, const u32 *data, int size) { if (idx && THREAD_VU1) { vu1Thread.WriteMicroMem(addr, (u8*)data, size*4); + vifX.tag.addr = size * 4; return; } diff --git a/pcsx2/x86/microVU_Tables.inl b/pcsx2/x86/microVU_Tables.inl index fdca6d772f..162f360361 100644 --- a/pcsx2/x86/microVU_Tables.inl +++ b/pcsx2/x86/microVU_Tables.inl @@ -211,7 +211,7 @@ mVUop(mVULowerOP_T3_11) { mVULowerOP_T3_11_OPCODE [((mVU.code >> 6) & 0x1f)](mX) mVUop(mVUopU) { mVU_UPPER_OPCODE [ (mVU.code & 0x3f) ](mX); } // Gets Upper Opcode mVUop(mVUopL) { mVULOWER_OPCODE [ (mVU.code >> 25) ](mX); } // Gets Lower Opcode mVUop(mVUunknown) { - pass1 { mVUinfo.isBadOp = true; } + pass1 { if (mVU.code != 0x8000033c) mVUinfo.isBadOp = true; } pass2 { if(mVU.code != 0x8000033c) Console.Error("microVU%d: Unknown Micro VU opcode called (%x) [%04x]\n", getIndex, mVU.code, xPC); } pass3 { mVUlog("Unknown", mVU.code); } }