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
This commit is contained in:
arcum42 2010-01-29 10:55:31 +00:00
parent 1b6fd8377e
commit b624486932
2 changed files with 6 additions and 2 deletions

View File

@ -30,7 +30,7 @@ static __forceinline void Sif0Init()
done = false; done = false;
cycles = 0; cycles = 0;
psxCycles = 0; psxCycles = 0;
memzero(sif0); //memzero(sif0);
//sif0.end = 0; //sif0.end = 0;
//sif0.data.data = 0; //sif0.data.data = 0;
} }
@ -157,6 +157,7 @@ static __forceinline bool ProcessIOPTag()
static __forceinline void EndEE() static __forceinline void EndEE()
{ {
SIF_LOG("Sif0: End EE"); SIF_LOG("Sif0: End EE");
sif0.end = 0;
eesifbusy[0] = false; eesifbusy[0] = false;
if (cycles == 0) DevCon.Warning("SIF0 EE: cycles = 0"); // No transfer happened if (cycles == 0) DevCon.Warning("SIF0 EE: cycles = 0"); // No transfer happened
else CPU_INT(DMAC_SIF0, cycles*BIAS); // Hence no Interrupt else CPU_INT(DMAC_SIF0, cycles*BIAS); // Hence no Interrupt
@ -166,6 +167,7 @@ static __forceinline void EndEE()
static __forceinline void EndIOP() static __forceinline void EndIOP()
{ {
SIF_LOG("Sif0: End IOP"); SIF_LOG("Sif0: End IOP");
sif0.data.data = 0;
iopsifbusy[0] = false; iopsifbusy[0] = false;
// iop is 1/8th the clock rate of the EE and psxcycles is in words (not quadwords) // iop is 1/8th the clock rate of the EE and psxcycles is in words (not quadwords)

View File

@ -30,7 +30,7 @@ static __forceinline void Sif1Init()
done = false; done = false;
cycles = 0; cycles = 0;
psxCycles = 0; psxCycles = 0;
memzero(sif1); //memzero(sif1);
//sif1.end = 0; //sif1.end = 0;
//sif1.data.data = 0; //sif1.data.data = 0;
} }
@ -177,6 +177,7 @@ static __forceinline bool SIFIOPReadTag()
// Stop processing EE, and signal an interrupt. // Stop processing EE, and signal an interrupt.
static __forceinline void EndEE() static __forceinline void EndEE()
{ {
sif1.end = 0;
eesifbusy[1] = false; eesifbusy[1] = false;
SIF_LOG("Sif 1: End EE"); SIF_LOG("Sif 1: End EE");
@ -198,6 +199,7 @@ static __forceinline void EndEE()
// Stop processing IOP, and signal an interrupt. // Stop processing IOP, and signal an interrupt.
static __forceinline void EndIOP() static __forceinline void EndIOP()
{ {
sif1.data.data = 0;
iopsifbusy[1] = false; iopsifbusy[1] = false;
SIF_LOG("Sif 1: End IOP"); SIF_LOG("Sif 1: End IOP");