X-Git-Url: https://notaz.gp2x.de/cgi-bin/gitweb.cgi?a=blobdiff_plain;f=psp%2Fmain.c;h=e0698d5ebabc3b638d37a4c11d6edce40930abae;hb=b3972d826fe31f82aa3382f80454e5d8ce895705;hp=dbe20b7c122d2b6c1352f760a2ceb07a1724e785;hpb=426ecc582f3f6f3d04f7b7ae25b548be7178c4fd;p=libpicofe.git diff --git a/psp/main.c b/psp/main.c index dbe20b7..e0698d5 100644 --- a/psp/main.c +++ b/psp/main.c @@ -10,8 +10,8 @@ #include "mp3.h" #include "../common/menu.h" #include "../common/emu.h" +#include "../common/config.h" #include "../common/lprintf.h" -#include "version.h" #ifdef GPROF #include @@ -31,9 +31,12 @@ void dummy(void) int pico_main(void) { - lprintf("\nPicoDrive v" VERSION " " __DATE__ " " __TIME__ "\n"); psp_init(); + + emu_prepareDefaultConfig(); emu_ReadConfig(0, 0); + config_readlrom(PicoConfigFile); + emu_Init(); menu_init(); // moved to emu_Loop(), after CPU clock change.. @@ -49,13 +52,13 @@ int pico_main(void) #ifndef GPROF menu_loop(); #else - strcpy(romFileName, currentConfig.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 @@ -66,13 +69,27 @@ int pico_main(void) break; case PGS_Suspending: - psp_wait_suspend(); + 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: engineState = PGS_Running; case PGS_Running: + if (psp_unhandled_suspend) { + psp_unhandled_suspend = 0; + psp_resume_suspend(); + emu_HandleResume(); + break; + } emu_Loop(); #ifdef GPROF goto endloop;