From b62448693287f4bd82a68ad71cbe13ed9212e228 Mon Sep 17 00:00:00 2001 From: arcum42 Date: Fri, 29 Jan 2010 10:55:31 +0000 Subject: [PATCH] Sif: Revert one of the changes from r2537, as Sif acts a bit whackier then I thought. git-svn-id: http://pcsx2.googlecode.com/svn/trunk@2540 96395faa-99c1-11dd-bbfe-3dabce05a288 --- pcsx2/Sif0.cpp | 4 +++- pcsx2/Sif1.cpp | 4 +++- 2 files changed, 6 insertions(+), 2 deletions(-) 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");