load keys again after plat init
[fceu.git] / state.c
diff --git a/state.c b/state.c
index 5b68caa..ab2f0c9 100644 (file)
--- a/state.c
+++ b/state.c
@@ -33,7 +33,6 @@
 #include "version.h"
 #include "fce.h"
 #include "sound.h"
-#include "sound098.h"
 #define INESPRIV                // Take this out when old save state support is removed in a future version.
 #include "ines.h"
 #include "svga.h"
@@ -105,8 +104,6 @@ SFORMAT SFSND[]={
  { 0, }
 };
 
-extern SFORMAT FCEUSND_STATEINFO[]; // TODO: unify?
-#define get_snd_sf() (use098code ? FCEUSND_STATEINFO : SFSND)
 
 
 static int SubWrite(FILE *st, SFORMAT *sf)
@@ -259,7 +256,7 @@ for(;;)
          break;
    case 3:if(!ReadStateChunk(st,FCEUPPU_STATEINFO,size)) ret=0;break;
    case 4:if(!ReadStateChunk(st,FCEUCTRL_STATEINFO,size)) ret=0;break;
-   case 5:if(!ReadStateChunk(st,get_snd_sf(),size)) ret=0;break;
+   case 5:if(!ReadStateChunk(st,SFSND,size)) ret=0;break;
    case 0x10:if(!ReadStateChunk(st,SFMDATA,size)) ret=0;break;
    default:printf("ReadStateChunks: unknown chunk: %i\n", t);
            if(fseek(st,size,SEEK_CUR)<0) goto endo;break;
@@ -292,13 +289,12 @@ void SaveState(void)
 
         if(st!=NULL)
         {
-         static uint32 totalsize;
-         static uint8 header[16]="FCS";
-         memset(header+4,0,13);
+         uint32 totalsize;
+         uint8 header[16]="FCS";
+         memset(header+4,0,sizeof(header)-4);
          header[3]=VERSION_NUMERIC;
          fwrite(header,1,16,st);
 
-         FCEUSND_SaveState();
 #ifdef ASM_6502
           asmcpu_pack();
 #endif
@@ -306,7 +302,7 @@ void SaveState(void)
          totalsize+=WriteStateChunk(st,2,SFCPUC);
          totalsize+=WriteStateChunk(st,3,FCEUPPU_STATEINFO);
          totalsize+=WriteStateChunk(st,4,FCEUCTRL_STATEINFO);
-         totalsize+=WriteStateChunk(st,5,get_snd_sf());
+         totalsize+=WriteStateChunk(st,5,SFSND);
 
 
          if(SPreSave) SPreSave();
@@ -350,7 +346,6 @@ int FCEUSS_LoadFP(FILE *st, int make_backup)
         if(x)
         {
          okload:
-         FCEUSND_LoadState(header[3]);
           TempAddr=TempAddrT;
           RefreshAddr=RefreshAddrT;