#include "../common/lprintf.h"
#include "version.h"
-#define GPROF 0
-#define GCOV 0
-
-#if GPROF
+#ifdef GPROF
#include <pspprof.h>
#endif
-#if GCOV
+#ifdef GCOV
#include <stdio.h>
#include <stdlib.h>
}
#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..
switch (engineState)
{
case PGS_Menu:
-#if !GPROF
+#ifndef GPROF
menu_loop();
#else
- strcpy(romFileName, currentConfig.lastRomFile);
+ strcpy(romFileName, lastRomFile);
engineState = PGS_ReloadRom;
#endif
break;
}
break;
+ case PGS_Suspending:
+ while (engineState == PGS_Suspending)
+ 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;
mp3_deinit();
emu_Deinit();
-#if GPROF
+#ifdef GPROF
gprof_cleanup();
#endif
-#if !GCOV
+#ifndef GCOV
psp_finish();
#endif