X-Git-Url: https://notaz.gp2x.de/cgi-bin/gitweb.cgi?a=blobdiff_plain;f=platform%2Fpsp%2Fmain.c;h=a2e99aa647e8c8c4f8f6696a0c6d0c43bb8b7369;hb=2b02d6e533b114456785f39a356476eb97306fcf;hp=d970f8a012e7960838dc468bb524d924027db30e;hpb=f0f0d2df762a7fbbf8d4d9359d541621837ed067;p=picodrive.git diff --git a/platform/psp/main.c b/platform/psp/main.c index d970f8a..a2e99aa 100644 --- a/platform/psp/main.c +++ b/platform/psp/main.c @@ -69,11 +69,15 @@ int pico_main(void) 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: @@ -81,8 +85,10 @@ int pico_main(void) case PGS_Running: if (psp_unhandled_suspend) { + psp_unhandled_suspend = 0; psp_resume_suspend(); emu_HandleResume(); + break; } emu_Loop(); #ifdef GPROF