X-Git-Url: https://notaz.gp2x.de/cgi-bin/gitweb.cgi?p=fceu.git;a=blobdiff_plain;f=state.c;h=5e4308d62670b5884a796aa215e2534d0bd8b4c9;hp=871ef80c02a7caaf2b330d2b3bd0367ef8077413;hb=92e249b10ad9e479eddb18974555366dba725ef3;hpb=af32b6c2f0ed2f1a4582c3e8d7ac704b9c61fa4c diff --git a/state.c b/state.c index 871ef80..5e4308d 100644 --- a/state.c +++ b/state.c @@ -24,6 +24,9 @@ #include #include #include +#ifdef GP2X +#include +#endif #include "types.h" #include "x6502.h" @@ -255,7 +258,11 @@ for(;;) if(!read32(&size,st)) break; switch(t) { - case 1:if(!ReadStateChunk(st,SFCPU,SFCPUELEMENTS,size)) ret=0;break; + case 1:if(!ReadStateChunk(st,SFCPU,SFCPUELEMENTS,size)) ret=0; +#ifdef ASM_6502 + asmcpu_unpack(); +#endif + break; case 2:if(!ReadStateChunk(st,SFCPUC,SFCPUCELEMENTS,size)) ret=0; else { @@ -299,6 +306,9 @@ void SaveState(void) header[3]=VERSION_NUMERIC; fwrite(header,1,16,st); +#ifdef ASM_6502 + asmcpu_pack(); +#endif totalsize=WriteStateChunk(st,1,SFCPU,SFCPUELEMENTS); totalsize+=WriteStateChunk(st,2,SFCPUC,SFCPUCELEMENTS); totalsize+=WriteStateChunk(st,3,SFPPU,SFPPUELEMENTS); @@ -310,6 +320,9 @@ void SaveState(void) write32(totalsize,st); SaveStateStatus[CurrentState]=1; fclose(st); +#ifdef GP2X + sync(); +#endif FCEU_DispMessage("State %d saved.",CurrentState); } else