X-Git-Url: https://notaz.gp2x.de/cgi-bin/gitweb.cgi?a=blobdiff_plain;f=psp%2Fmain.c;h=a2e99aa647e8c8c4f8f6696a0c6d0c43bb8b7369;hb=dfa8d77a42bf22658504d9d1f3d6700dd41d0c7d;hp=d970f8a012e7960838dc468bb524d924027db30e;hpb=4b811a8abecf3ca8ee0b8a02214982a87d013e2f;p=libpicofe.git diff --git a/psp/main.c b/psp/main.c index d970f8a..a2e99aa 100644 --- a/psp/main.c +++ b/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