'Start from Reset' now working, plus some cleanup. We're getting there godspeed !

This commit is contained in:
grinvader
2005-03-24 01:08:06 +00:00
parent f933b5a9ec
commit 0db1e6b865
2 changed files with 24 additions and 20 deletions

View File

@@ -1809,6 +1809,11 @@ extern unsigned int spcnumread, spchalted;
extern unsigned char NextLineCache, sramsavedis, sndrot, regsbackup[3019]; extern unsigned char NextLineCache, sramsavedis, sndrot, regsbackup[3019];
extern unsigned char yesoutofmemory; extern unsigned char yesoutofmemory;
void SetupROM();
void initsnes();
void outofmemfix();
void GUIDoReset();
void powercycle() void powercycle()
{ {
memset(sram, 0xFF, 8192*4); memset(sram, 0xFF, 8192*4);

View File

@@ -46,15 +46,16 @@ Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA.
#define mkdir(path) mkdir(path, (S_IRWXU|S_IRWXG|S_IRWXO)) //0777 #define mkdir(path) mkdir(path, (S_IRWXU|S_IRWXG|S_IRWXO)) //0777
#endif #endif
extern unsigned int versionNumber; extern unsigned int versionNumber, CRC32, cur_zst_size;
extern unsigned int CRC32;
extern unsigned int cur_zst_size;
extern bool romispal;
extern unsigned int JoyAOrig, JoyBOrig, JoyCOrig, JoyDOrig, JoyEOrig; extern unsigned int JoyAOrig, JoyBOrig, JoyCOrig, JoyDOrig, JoyEOrig;
extern unsigned char MovieStartMethod; extern unsigned int MsgCount, MessageOn;
void powercycle(); extern unsigned char MovieStartMethod, GUIReset, ReturnFromSPCStall;
extern unsigned char MovieProcessing, *Msgptr;
extern bool romispal;
bool firstloop; bool firstloop;
void GUIDoReset();
void powercycle();
void zst_save(FILE *, bool); void zst_save(FILE *, bool);
bool zst_load(FILE *); bool zst_load(FILE *);
@@ -558,7 +559,9 @@ static void zmv_create(char *filename)
powercycle(); powercycle();
break; break;
case zmv_sm_reset: case zmv_sm_reset:
//resetcycle(); // not done yet GUIReset = 1;
asm_call(GUIDoReset);
ReturnFromSPCStall = 0;
break; break;
} }
@@ -712,7 +715,7 @@ static bool zmv_open(char *filename)
if (zmv_vars.header.zsnes_version != (versionNumber & 0xFFFF)) if (zmv_vars.header.zsnes_version != (versionNumber & 0xFFFF))
{ {
zst_load(zmv_vars.fp); zst_load(zmv_vars.fp);
//Also need to display a warning of some sort Msgptr = "MOVIE VERSION MISMATCH - MAY DESYNC.";
} }
else else
{ {
@@ -726,10 +729,14 @@ static bool zmv_open(char *filename)
fseek(zmv_vars.fp, zmv_vars.header.zst_size, SEEK_CUR); fseek(zmv_vars.fp, zmv_vars.header.zst_size, SEEK_CUR);
break; break;
case zmv_sm_reset: case zmv_sm_reset:
//resetcycle(); // not done yet GUIReset = 1;
//fseek(zmv_vars.fp, zmv_vars.header.zst_size, SEEK_CUR); asm_call(GUIDoReset);
ReturnFromSPCStall = 0;
fseek(zmv_vars.fp, zmv_vars.header.zst_size, SEEK_CUR);
break; break;
} }
Msgptr = "MOVIE STARTED.";
} }
firstloop = true; firstloop = true;
@@ -1383,9 +1390,6 @@ MovieProcessing
*/ */
extern unsigned int MsgCount, MessageOn;
extern unsigned char MovieProcessing, *Msgptr;
void MovieInsertChapter() void MovieInsertChapter()
{ {
switch (MovieProcessing) switch (MovieProcessing)
@@ -1528,15 +1532,11 @@ void MovieStop()
else { firstloop = false; } else { firstloop = false; }
} }
extern unsigned int MovieCounter, statefileloc, Totalbyteloaded, curexecstate; extern unsigned int statefileloc;
extern unsigned int nmiprevaddrl, nmiprevaddrh, nmirept, nmiprevline, nmistatus; extern unsigned char GUIQuit, fnamest[512], CMovieExt;
extern unsigned char GUIQuit, fnamest[512], CMovieExt, RecData[16], soundon;
extern unsigned char NextLineCache, sramsavedis, UseRemoteSRAMData;
extern unsigned char UnableMovie2[24], UnableMovie3[23];
extern unsigned char RewindStates; extern unsigned char RewindStates;
void SRAMChdir(); void SRAMChdir();
void loadstate2();
void ChangetoLOADdir(); void ChangetoLOADdir();
void MoviePlay() void MoviePlay()
@@ -1562,7 +1562,6 @@ void MoviePlay()
memcpy(&fnamest[statefileloc-3], ".sub", 4); memcpy(&fnamest[statefileloc-3], ".sub", 4);
if (isdigit(CMovieExt)) { fnamest[statefileloc] = CMovieExt; } if (isdigit(CMovieExt)) { fnamest[statefileloc] = CMovieExt; }
MovieSub_Open(fnamest+1); MovieSub_Open(fnamest+1);
Msgptr = "MOVIE STARTED.";
MessageOn = MsgCount; MessageOn = MsgCount;
} }
else else