X-Git-Url: http://vcs.maemo.org/git/?a=blobdiff_plain;f=snapshot.cpp;h=94ae8d02af259f47495b0022b8820742c1514a39;hb=69f45a759e3ba9719958c4ea6f30207ced0b013c;hp=44d554d161f1f1f2451817a6a92efda698fe6509;hpb=73ae75351e84ed7d816457e444a2420decdc8fb2;p=drnoksnes diff --git a/snapshot.cpp b/snapshot.cpp index 44d554d..94ae8d0 100644 --- a/snapshot.cpp +++ b/snapshot.cpp @@ -64,6 +64,8 @@ #include "srtc.h" #include "sdd1.h" +#define dprintf(...) /* disabled */ + extern uint8 *SRAM; #ifdef ZSNES_FX @@ -407,7 +409,7 @@ static int UnfreezeBlock (const char *name, uint8 *block, int size); bool8 S9xFreezeGame (const char *filename) { - if (ss_st = OPEN_STREAM(filename, "wb")) + if ((ss_st = OPEN_STREAM(filename, "wb"))) { Freeze(); CLOSE_STREAM(ss_st); @@ -419,7 +421,7 @@ bool8 S9xFreezeGame (const char *filename) bool8 S9xUnfreezeGame (const char *filename) { - if (ss_st = OPEN_STREAM(filename, "rb")) + if ((ss_st = OPEN_STREAM(filename, "rb"))) { int result; if ((result = Unfreeze()) != SUCCESS) @@ -644,25 +646,27 @@ static int Unfreeze() S9xSetSoundMute (TRUE); } #ifdef USE_SA1 - if ((result = UnfreezeStruct ("SA1", &SA1, SnapSA1, + if ((result = UnfreezeStruct ("SA1", &SA1, SnapSA1, COUNT(SnapSA1))) == SUCCESS) - { - if ((result = UnfreezeStruct ("SAR", &SA1Registers, - SnapSA1Registers, COUNT (SnapSA1Registers))) != SUCCESS) - return (result); + { + if ((result = UnfreezeStruct ("SAR", &SA1Registers, + SnapSA1Registers, COUNT (SnapSA1Registers))) != SUCCESS) + return result; - S9xFixSA1AfterSnapshotLoad (); - SA1.Flags |= sa1_old_flags & (TRACE_FLAG); - } + S9xFixSA1AfterSnapshotLoad (); + SA1.Flags |= sa1_old_flags & (TRACE_FLAG); + } #endif S9xFixSoundAfterSnapshotLoad (); ICPU.ShiftedPB = Registers.PB << 16; ICPU.ShiftedDB = Registers.DB << 16; S9xSetPCBase (ICPU.ShiftedPB + Registers.PC); - - - //S9xUnpackStatus (); // not needed - //S9xFixCycles (); // also not needed? + +#if !CONF_BUILD_ASM_CPU + S9xUnpackStatus (); + S9xFixCycles (); +#endif + S9xReschedule (); #ifdef ZSNES_FX if (Settings.SuperFX) @@ -890,7 +894,7 @@ int UnfreezeBlock(const char *name, uint8 *block, int size) strncmp (buffer, name, 3) != 0 || buffer [3] != ':' || (len = atoi (&buffer [4])) == 0) { - printf("%s: %s: Invalid block header\n", __func__, name); + dprintf("%s: %s: Invalid block header\n", __func__, name); return WRONG_FORMAT; } @@ -902,7 +906,7 @@ int UnfreezeBlock(const char *name, uint8 *block, int size) if (READ_STREAM(block, len, ss_st) != len) { - printf("%s: Invalid block\n", __func__); + dprintf("%s: Invalid block\n", __func__); return WRONG_FORMAT; }