more properly handling new haa semantics
[drnoksnes] / snapshot.cpp
index 44d554d..94ae8d0 100644 (file)
@@ -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;
        }