The saints may come marching in, but the cpus shouldn't be. I've removed some march flags that shouldn't be there. I also made a change to Sif.cpp that was discussed in r1998.

git-svn-id: http://pcsx2.googlecode.com/svn/trunk@2002 96395faa-99c1-11dd-bbfe-3dabce05a288
This commit is contained in:
arcum42 2009-10-13 10:23:34 +00:00
parent 22d31831e6
commit 0a117b1b99
4 changed files with 13 additions and 13 deletions

View File

@ -58,10 +58,6 @@
</Target>
</Build>
<Compiler>
<Add option="-march=athlon" />
<Add option="-march=pentium4" />
<Add option="-march=i686" />
<Add option="-march=i586" />
<Add directory="../../include/Utilities" />
<Add directory="../../include" />
<Add directory="../../../3rdparty" />

View File

@ -59,8 +59,6 @@
</Target>
</Build>
<Compiler>
<Add option="-march=athlon" />
<Add option="-march=pentium3" />
<Add option="-Wno-format" />
<Add option="-Wno-unused-parameter" />
<Add option="-Wno-unused-value" />

View File

@ -88,10 +88,6 @@
</Environment>
</Build>
<Compiler>
<Add option="-march=athlon" />
<Add option="-march=pentium4" />
<Add option="-march=i686" />
<Add option="-march=i586" />
<Add option="-Wno-format" />
<Add option="-Wno-unused-parameter" />
<Add option="-Wno-unused-value" />
@ -100,6 +96,7 @@
<Add option="-fno-dse" />
<Add option="-fno-tree-dse" />
<Add option="-pipe -msse -msse2" />
<Add option="-fvisibility=default" />
<Add option="-DWX_PRECOMP" />
<Add directory="$(SvnRootDir)/common/include/" />
<Add directory="$(SvnRootDir)/3rdparty/" />

View File

@ -134,9 +134,14 @@ __forceinline void SIF0Dma()
{
if (sif0.counter == 0) // If there's no more to transfer
{
// Note.. add normal mode here
// The if statement doesn't seem to match the description...
if (sif0.sifData.data & 0xC0000000) // If NORMAL mode or end of CHAIN, or interrupt then stop DMA
// What this is supposed to do is stop DMA if it is the end of a chain, an interrupt is called, or in normal mode.
// It currently doesn't check for normal mode.
//
// The old code for this was:
// if (sif0.sifData.data & 0xC0000000)
// which checks if the tag type is refe or end, or if the irq flag is set.
// If the tag is refe or end, sif0.end gets set, so I'm replacing it with something easier to read: --arcum42
if (/*(sif0dma->chcr.MOD == NORMAL_MODE) ||*/ sif0.end || Tag::IRQ(sif0.sifData.data))
{
SIF_LOG(" IOP SIF Stopped");
@ -243,7 +248,9 @@ __forceinline void SIF0Dma()
// (tag[0] >> 28) & 3? Surely this is supposed to be (tag[0] >> 28) & 7? --arcum42
if ((dmacRegs->ctrl.STS != NO_STS) && ((tag[0] >> 28) & 3) == 0)
{
dmacRegs->stadr.ADDR = sif0dma->madr + (sif0dma->qwc * 16);
}
sif0.chain = 1;
if (tag[0] & 0x40000000) sif0.end = 1;
done = false;
@ -264,7 +271,9 @@ __forceinline void SIF1Dma()
if (eesifbusy[1]) // If EE SIF1 is enabled
{
if (dmacRegs->ctrl.STD == STD_SIF1)
{
SIF_LOG("SIF1 stall control"); // STD == fromSIF1
}
if (sif1dma->qwc == 0) // If there's no more to transfer
{