diff --git a/Source/Project64-rsp-core/cpu/RSPCpu.cpp b/Source/Project64-rsp-core/cpu/RSPCpu.cpp index 3583483c8..6458a3f6f 100644 --- a/Source/Project64-rsp-core/cpu/RSPCpu.cpp +++ b/Source/Project64-rsp-core/cpu/RSPCpu.cpp @@ -112,6 +112,10 @@ void Build_RSP(void) for (uint8_t z = 0; z < 8; z++) { Indx[i].B[z] = 7 - Indx[i].B[z]; + if (!AccurateEmulation) + { + EleSpec[i].B[z] = 7 - EleSpec[i].B[z]; + } } for (uint8_t z = 0; z < 4; z++) { diff --git a/Source/Project64-rsp-core/cpu/RSPInterpreterOps.cpp b/Source/Project64-rsp-core/cpu/RSPInterpreterOps.cpp index c6f50d278..452ee6222 100644 --- a/Source/Project64-rsp-core/cpu/RSPInterpreterOps.cpp +++ b/Source/Project64-rsp-core/cpu/RSPInterpreterOps.cpp @@ -1966,8 +1966,8 @@ void RSP_Vector_VMOV(void) } else { - uint8_t del = EleSpec[RSPOpC.e].B[Index]; - RSP_Vect[RSPOpC.vd].u16(7 - Index) = RSP_Vect[RSPOpC.vt].s16(7 - del); + uint8_t del = EleSpec[RSPOpC.e].B[7 - Index]; + RSP_Vect[RSPOpC.vd].u16(7 - Index) = RSP_Vect[RSPOpC.vt].s16(del); } }