X-Git-Url: https://notaz.gp2x.de/cgi-bin/gitweb.cgi?a=blobdiff_plain;f=platform%2Fpsp%2Fmain.c;h=989ce5c738c1bfb300256b7e53f21ba59de0db14;hb=fa8fb7544593a0ed43f3354cc5f41150464b55bf;hp=e947b43c13de66566b3e9f7af3efe8e29f805119;hpb=6fc5714482ecd4da20c3d5189b607afafc72b248;p=picodrive.git diff --git a/platform/psp/main.c b/platform/psp/main.c index e947b43..989ce5c 100644 --- a/platform/psp/main.c +++ b/platform/psp/main.c @@ -1,7 +1,10 @@ -// (c) Copyright 2007 notaz, All rights reserved. -// Free for non-commercial use. - -// For commercial use, separate licencing terms must be obtained. +/* + * PicoDrive + * (C) notaz, 2007,2008 + * + * This work is licensed under the terms of MAME license. + * See COPYING file in the top-level directory. + */ #include #include "psp.h" @@ -10,8 +13,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 @@ -23,7 +26,7 @@ void dummy(void) { - engineState = atoi(romFileName); + engineState = atoi(rom_fname_reload); setbuf(NULL, NULL); getenv(NULL); } @@ -31,10 +34,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.. @@ -50,13 +55,13 @@ int pico_main(void) #ifndef GPROF menu_loop(); #else - strcpy(romFileName, lastRomFile); + strcpy(rom_fname_reload, rom_fname_loaded); engineState = PGS_ReloadRom; #endif break; case PGS_ReloadRom: - if (emu_ReloadRom()) { + if (emu_reload_rom(rom_fname_reload)) { engineState = PGS_Running; if (mp3_last_error != 0) engineState = PGS_Menu; // send to menu to display mp3 error @@ -71,15 +76,24 @@ int pico_main(void) 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(); + pemu_loop(); #ifdef GPROF goto endloop; #endif