#ifndef GPROF
menu_loop();
#else
- strcpy(romFileName, lastRomFile);
+ strcpy(romFileName, loadedRomFName);
engineState = PGS_ReloadRom;
#endif
break;
case PGS_ReloadRom:
- if (emu_ReloadRom()) {
+ if (emu_ReloadRom(romFileName)) {
engineState = PGS_Running;
if (mp3_last_error != 0)
engineState = PGS_Menu; // send to menu to display mp3 error
break;
case PGS_Suspending:
- while (engineState == PGS_Suspending || engineState == PGS_SuspendAck) {
- if (engineState == PGS_Suspending)
- engineState = PGS_SuspendAck;
+ while (engineState == PGS_Suspending)
psp_wait_suspend();
- }
+ break;
+
+ case PGS_SuspendWake:
+ psp_unhandled_suspend = 0;
+ psp_resume_suspend();
+ emu_HandleResume();
+ engineState = engineStateSuspend;
break;
case PGS_RestartRun:
case PGS_Running:
if (psp_unhandled_suspend) {
+ psp_unhandled_suspend = 0;
psp_resume_suspend();
emu_HandleResume();
+ break;
}
emu_Loop();
#ifdef GPROF