X-Git-Url: https://notaz.gp2x.de/cgi-bin/gitweb.cgi?p=fceu.git;a=blobdiff_plain;f=state.c;h=871ef80c02a7caaf2b330d2b3bd0367ef8077413;hp=ac4881875a6185e96fd0aa5ba80bcd50846ec98c;hb=937bf65b1c80e9394547e5f105664bd26f3671de;hpb=c62d28102c77e19c291c78bf6bf7f0a81abd54b9 diff --git a/state.c b/state.c index ac48818..871ef80 100644 --- a/state.c +++ b/state.c @@ -38,6 +38,7 @@ #include "general.h" #include "state.h" #include "memory.h" +#include "ppu.h" static SFORMAT SFMDATA[64]; static int SFEXINDEX; @@ -119,7 +120,7 @@ int WriteStateChunk(FILE *st, int type, SFORMAT *sf, int count) int x; fputc(type,st); - + for(x=bsize=0;x=0;z--) + for(z=(sf[x].s&(~RLSB))-1;z>=0;z--) *(uint8*)sf[x].v=fgetc(st); } else @@ -304,7 +305,7 @@ void SaveState(void) // totalsize+=WriteStateChunk(st,4,SFCTLR,SFCTLRELEMENTS); totalsize+=WriteStateChunk(st,5,SFSND,SFSNDELEMENTS); totalsize+=WriteStateChunk(st,0x10,SFMDATA,SFEXINDEX); - + fseek(st,4,SEEK_SET); write32(totalsize,st); SaveStateStatus[CurrentState]=1; @@ -336,7 +337,7 @@ void LoadState(void) fread(&header,1,16,st); if(memcmp(header,"FCS",3)) { - fseek(st,0,SEEK_SET); + fseek(st,0,SEEK_SET); if(!LoadStateOld(st)) goto lerror; goto okload; @@ -378,7 +379,7 @@ void CheckStates(void) FILE *st=NULL; int ssel; - if(SaveStateStatus[0]==-1) + if(SaveStateStatus[0]==(char)-1) for(ssel=0;ssel<10;ssel++) { st=fopen(FCEU_MakeFName(FCEUMKF_STATE,ssel,0),"rb"); @@ -483,7 +484,7 @@ static int LoadStateOld(FILE *st) int32 nada; uint8 version; nada=0; - + StateBuffer=FCEU_malloc(59999); if(StateBuffer==NULL) return 0; @@ -522,7 +523,7 @@ static int LoadStateOld(FILE *st) afread(&nada,1,1); afread(&nada,1,1); afread(&nada,1,1); - + for(x=0;x<8;x++) areadupper8of16((int8 *)&CHRBankList[x]); afread(PRGBankList,4,1); @@ -548,7 +549,7 @@ static int LoadStateOld(FILE *st) aread16((int8 *)&scanline); aread16((int8 *)&RefreshAddr); afread(&VRAMBuffer,1,1); - + afread(&IRQa,1,1); aread32((int8 *)&IRQCount); aread32((int8 *)&IRQLatch); @@ -576,16 +577,16 @@ static int LoadStateOld(FILE *st) { nada=0; afread(&nada,1,1); - PPUCHRRAM|=(nada?1:0)<