diff --git a/pcsx2/Sif0.cpp b/pcsx2/Sif0.cpp index 2ef59fd6b1..d50830d89a 100644 --- a/pcsx2/Sif0.cpp +++ b/pcsx2/Sif0.cpp @@ -30,7 +30,7 @@ static __forceinline void Sif0Init() done = false; cycles = 0; psxCycles = 0; - memzero(sif0); + //memzero(sif0); //sif0.end = 0; //sif0.data.data = 0; } @@ -157,6 +157,7 @@ static __forceinline bool ProcessIOPTag() static __forceinline void EndEE() { SIF_LOG("Sif0: End EE"); + sif0.end = 0; eesifbusy[0] = false; if (cycles == 0) DevCon.Warning("SIF0 EE: cycles = 0"); // No transfer happened else CPU_INT(DMAC_SIF0, cycles*BIAS); // Hence no Interrupt @@ -166,6 +167,7 @@ static __forceinline void EndEE() static __forceinline void EndIOP() { SIF_LOG("Sif0: End IOP"); + sif0.data.data = 0; iopsifbusy[0] = false; // iop is 1/8th the clock rate of the EE and psxcycles is in words (not quadwords) diff --git a/pcsx2/Sif1.cpp b/pcsx2/Sif1.cpp index 39373d15bd..59addd4725 100644 --- a/pcsx2/Sif1.cpp +++ b/pcsx2/Sif1.cpp @@ -30,7 +30,7 @@ static __forceinline void Sif1Init() done = false; cycles = 0; psxCycles = 0; - memzero(sif1); + //memzero(sif1); //sif1.end = 0; //sif1.data.data = 0; } @@ -177,6 +177,7 @@ static __forceinline bool SIFIOPReadTag() // Stop processing EE, and signal an interrupt. static __forceinline void EndEE() { + sif1.end = 0; eesifbusy[1] = false; SIF_LOG("Sif 1: End EE"); @@ -198,6 +199,7 @@ static __forceinline void EndEE() // Stop processing IOP, and signal an interrupt. static __forceinline void EndIOP() { + sif1.data.data = 0; iopsifbusy[1] = false; SIF_LOG("Sif 1: End IOP");