X-Git-Url: https://notaz.gp2x.de/cgi-bin/gitweb.cgi?a=blobdiff_plain;f=psp%2Fmain.c;h=d970f8a012e7960838dc468bb524d924027db30e;hb=6589c840ca686751d15ebb127367af1378dd7de2;hp=bad56a9a8cfddaf0a3bd2ba865639542f2a14ce7;hpb=63b796cabb7d484d648755810f79bebc8f0fd689;p=libpicofe.git diff --git a/psp/main.c b/psp/main.c index bad56a9..d970f8a 100644 --- a/psp/main.c +++ b/psp/main.c @@ -10,17 +10,14 @@ #include "mp3.h" #include "../common/menu.h" #include "../common/emu.h" +#include "../common/config.h" #include "../common/lprintf.h" -#include "version.h" -#define GPROF 0 -#define GCOV 0 - -#if GPROF +#ifdef GPROF #include #endif -#if GCOV +#ifdef GCOV #include #include @@ -32,11 +29,14 @@ void dummy(void) } #endif -int main() +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,10 +49,10 @@ int main() switch (engineState) { case PGS_Menu: -#if !GPROF +#ifndef GPROF menu_loop(); #else - strcpy(romFileName, currentConfig.lastRomFile); + strcpy(romFileName, lastRomFile); engineState = PGS_ReloadRom; #endif break; @@ -68,12 +68,24 @@ int main() } break; + case PGS_Suspending: + while (engineState == PGS_Suspending || engineState == PGS_SuspendAck) { + if (engineState == PGS_Suspending) + engineState = PGS_SuspendAck; + psp_wait_suspend(); + } + break; + case PGS_RestartRun: engineState = PGS_Running; case PGS_Running: + if (psp_unhandled_suspend) { + psp_resume_suspend(); + emu_HandleResume(); + } emu_Loop(); -#if GPROF +#ifdef GPROF goto endloop; #endif break; @@ -91,10 +103,10 @@ int main() mp3_deinit(); emu_Deinit(); -#if GPROF +#ifdef GPROF gprof_cleanup(); #endif -#if !GCOV +#ifndef GCOV psp_finish(); #endif