giz menu works
[picodrive.git] / platform / gp2x / main.c
index f21ebd7..13eb5a8 100644 (file)
@@ -11,7 +11,9 @@
 \r
 #include "gp2x.h"\r
 #include "menu.h"\r
+#include "../common/menu.h"\r
 #include "emu.h"\r
+#include "940ctl.h"\r
 #include "version.h"\r
 \r
 #include "squidgehack.h"\r
@@ -62,7 +64,7 @@ void parse_cmd_line(int argc, char *argv[])
        }\r
 \r
        if (unrecognized) {\r
-               printf("\n\n\nPicoDrive v" VERSION " (c) notaz, 2006\n");\r
+               printf("\n\n\nPicoDrive v" VERSION " (c) notaz, 2006-2007\n");\r
                printf("usage: %s [options] [romfile]\n", argv[0]);\r
                printf( "options:\n"\r
                                "-menu <menu_path> launch a custom program on exit instead of default gp2xmenu\n"\r
@@ -78,7 +80,7 @@ int main(int argc, char *argv[])
 {\r
        g_argv = argv;\r
 \r
-       emu_ReadConfig(0);\r
+       emu_ReadConfig(0, 0);\r
        gp2x_init();\r
        if (currentConfig.EmuOpt&0x10) {\r
                int ret = mmuhack();\r
@@ -86,15 +88,17 @@ int main(int argc, char *argv[])
                mmuhack_status = ret;\r
        }\r
        cpuctrl_init();\r
-       Reset940(1);\r
-       Pause940(1);\r
+       // Reset940(1);\r
+       // Pause940(1);\r
        if (currentConfig.EmuOpt&0x100) {\r
                printf("setting RAM timings.. "); fflush(stdout);\r
                // craigix: --trc 6 --tras 4 --twr 1 --tmrd 1 --trfc 1 --trp 2 --trcd 2\r
                set_RAM_Timings(6, 4, 1, 1, 1, 2, 2);\r
                printf("done.\n"); fflush(stdout);\r
        }\r
+       sharedmem_init();\r
        emu_Init();\r
+       menu_init();\r
 \r
        engineState = PGS_Menu;\r
 \r
@@ -118,13 +122,16 @@ int main(int argc, char *argv[])
                                }\r
                                break;\r
 \r
+                       case PGS_RestartRun:\r
+                               engineState = PGS_Running;\r
+\r
                        case PGS_Running:\r
                                emu_Loop();\r
                                break;\r
 \r
                        case PGS_Quit:\r
                                goto endloop;\r
-                       \r
+\r
                        default:\r
                                printf("engine got into unknown state (%i), exitting\n", engineState);\r
                                goto endloop;\r
@@ -134,6 +141,7 @@ int main(int argc, char *argv[])
        endloop:\r
 \r
        emu_Deinit();\r
+       sharedmem_deinit();\r
        cpuctrl_deinit();\r
        gp2x_deinit();\r
        if(mmuhack_status)\r