notaz.gp2x.de
/
libpicofe.git
/ blobdiff
commit
grep
author
committer
pickaxe
?
search:
re
summary
|
shortlog
|
log
|
commit
|
commitdiff
|
tree
raw
|
inline
| side by side
linux port fixed; some cleanups
[libpicofe.git]
/
psp
/
main.c
diff --git
a/psp/main.c
b/psp/main.c
index
ffbc761
..
e96eacc
100644
(file)
--- a/
psp/main.c
+++ b/
psp/main.c
@@
-1,3
+1,8
@@
+// (c) Copyright 2007 notaz, All rights reserved.
+// Free for non-commercial use.
+
+// For commercial use, separate licencing terms must be obtained.
+
#include <string.h>
#include "psp.h"
#include "emu.h"
#include <string.h>
#include "psp.h"
#include "emu.h"
@@
-5,33
+10,33
@@
#include "mp3.h"
#include "../common/menu.h"
#include "../common/emu.h"
#include "mp3.h"
#include "../common/menu.h"
#include "../common/emu.h"
+#include "../common/config.h"
#include "../common/lprintf.h"
#include "../common/lprintf.h"
-#include "version.h"
-
-#define GPROF 0
-#define GCOV 0
-#if GPROF
+#if
def
GPROF
#include <pspprof.h>
#endif
#include <pspprof.h>
#endif
-#if GCOV
+#if
def
GCOV
#include <stdio.h>
#include <stdlib.h>
void dummy(void)
{
#include <stdio.h>
#include <stdlib.h>
void dummy(void)
{
- engineState = atoi(rom
FileName
);
+ engineState = atoi(rom
_fname_reload
);
setbuf(NULL, NULL);
getenv(NULL);
}
#endif
setbuf(NULL, NULL);
getenv(NULL);
}
#endif
-int
main(
)
+int
pico_main(void
)
{
{
- lprintf("\nPicoDrive v" VERSION " " __DATE__ " " __TIME__ "\n");
psp_init();
psp_init();
+
+ emu_prepareDefaultConfig();
emu_ReadConfig(0, 0);
emu_ReadConfig(0, 0);
+ config_readlrom(PicoConfigFile);
+
emu_Init();
menu_init();
// moved to emu_Loop(), after CPU clock change..
emu_Init();
menu_init();
// moved to emu_Loop(), after CPU clock change..
@@
-44,16
+49,16
@@
int main()
switch (engineState)
{
case PGS_Menu:
switch (engineState)
{
case PGS_Menu:
-#if
!
GPROF
+#if
ndef
GPROF
menu_loop();
#else
menu_loop();
#else
- strcpy(rom
FileName, currentConfig.lastRomFile
);
+ strcpy(rom
_fname_reload, rom_fname_loaded
);
engineState = PGS_ReloadRom;
#endif
break;
case PGS_ReloadRom:
engineState = PGS_ReloadRom;
#endif
break;
case PGS_ReloadRom:
- if (emu_ReloadRom()) {
+ if (emu_ReloadRom(
rom_fname_reload
)) {
engineState = PGS_Running;
if (mp3_last_error != 0)
engineState = PGS_Menu; // send to menu to display mp3 error
engineState = PGS_Running;
if (mp3_last_error != 0)
engineState = PGS_Menu; // send to menu to display mp3 error
@@
-63,12
+68,30
@@
int main()
}
break;
}
break;
+ case PGS_Suspending:
+ 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:
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();
emu_Loop();
-#if GPROF
+#if
def
GPROF
goto endloop;
#endif
break;
goto endloop;
#endif
break;
@@
-86,10
+109,10
@@
int main()
mp3_deinit();
emu_Deinit();
mp3_deinit();
emu_Deinit();
-#if GPROF
+#if
def
GPROF
gprof_cleanup();
#endif
gprof_cleanup();
#endif
-#if
!
GCOV
+#if
ndef
GCOV
psp_finish();
#endif
psp_finish();
#endif