Do the same thing for the Sif savestate code.

git-svn-id: http://pcsx2.googlecode.com/svn/trunk@2568 96395faa-99c1-11dd-bbfe-3dabce05a288
This commit is contained in:
arcum42 2010-02-06 03:42:54 +00:00
parent 15f01118e8
commit 0ab52c9274
1 changed files with 33 additions and 30 deletions

View File

@ -39,35 +39,38 @@ __forceinline void dmaSIF2()
void SaveStateBase::sifFreeze()
{
FreezeTag("SIFdma");
// Nasty backwards compatability stuff.
old_sif_structure old_sif0, old_sif1;
bool ee_busy[2], iop_busy[2];
old_sif0.fifo = sif0.fifo;
old_sif1.fifo = sif1.fifo;
ee_busy[0] = sif0.ee.busy;
ee_busy[1] = sif1.ee.busy;
iop_busy[0] = sif0.iop.busy;
iop_busy[1] = sif1.iop.busy;
old_sif0.end = (sif0.ee.end) ? 1 : 0;
old_sif1.end = (sif1.ee.end) ? 1 : 0;
old_sif0.counter = sif0.iop.counter;
old_sif1.counter = sif1.iop.counter;
old_sif0.data = sif0.iop.data;
old_sif1.data = sif1.iop.data;
Freeze(old_sif0);
Freeze(old_sif1);
Freeze(ee_busy);
Freeze(iop_busy);
// When we break save state, switch to just freezing sif0 & sif1.
// Freeze(sif0);
// Freeze(sif1);
if (GetVersion() <= 3)
{
// Nasty backwards compatability stuff.
old_sif_structure old_sif0, old_sif1;
bool ee_busy[2], iop_busy[2];
old_sif0.fifo = sif0.fifo;
old_sif1.fifo = sif1.fifo;
ee_busy[0] = sif0.ee.busy;
ee_busy[1] = sif1.ee.busy;
iop_busy[0] = sif0.iop.busy;
iop_busy[1] = sif1.iop.busy;
old_sif0.end = (sif0.ee.end) ? 1 : 0;
old_sif1.end = (sif1.ee.end) ? 1 : 0;
old_sif0.counter = sif0.iop.counter;
old_sif1.counter = sif1.iop.counter;
old_sif0.data = sif0.iop.data;
old_sif1.data = sif1.iop.data;
Freeze(old_sif0);
Freeze(old_sif1);
Freeze(ee_busy);
Freeze(iop_busy);
}
else
{
Freeze(sif0);
Freeze(sif1);
}
}