start new makefile, migrate to libpicofe
[picodrive.git] / platform / common / main.c
index d43aabc..5f31b06 100644 (file)
@@ -8,11 +8,12 @@
 #include <string.h>\r
 #include <strings.h>\r
 \r
-#include "menu.h"\r
+#include "../libpicofe/input.h"\r
+#include "../libpicofe/plat.h"\r
+#include "menu_pico.h"\r
 #include "emu.h"\r
 #include "config.h"\r
-#include "input.h"\r
-#include "plat.h"\r
+#include <cpu/debug.h>\r
 #include <version.h>\r
 \r
 \r
@@ -34,6 +35,12 @@ void parse_cmd_line(int argc, char *argv[])
                        else if (strcasecmp(argv[x], "-loadstate") == 0) {\r
                                if (x+1 < argc) { ++x; load_state_slot = atoi(argv[x]); }\r
                        }\r
+                       else if (strcasecmp(argv[x], "-pdb") == 0) {\r
+                               if (x+1 < argc) { ++x; pdb_command(argv[x]); }\r
+                       }\r
+                       else if (strcasecmp(argv[x], "-pdb_connect") == 0) {\r
+                               if (x+2 < argc) { pdb_net_connect(argv[x+1], argv[x+2]); x += 2; }\r
+                       }\r
                        else {\r
                                unrecognized = 1;\r
                                break;\r
@@ -65,17 +72,15 @@ int main(int argc, char *argv[])
 {\r
        g_argv = argv;\r
 \r
-       plat_early_init();\r
+       //plat_early_init();\r
 \r
-       /* in_init() must go before config, config accesses in_ fwk */\r
        in_init();\r
-       pemu_prep_defconfig();\r
-       emu_read_config(0, 0);\r
-       config_readlrom(PicoConfigFile);\r
-\r
-       plat_init();\r
        in_probe();\r
-       in_debug_dump();\r
+\r
+       plat_target_init();\r
+\r
+       emu_prep_defconfig(); // depends on input\r
+       emu_read_config(NULL, 0);\r
 \r
        emu_init();\r
        menu_init();\r
@@ -104,6 +109,10 @@ int main(int argc, char *argv[])
                                menu_loop();\r
                                break;\r
 \r
+                       case PGS_TrayMenu:\r
+                               menu_loop_tray();\r
+                               break;\r
+\r
                        case PGS_ReloadRom:\r
                                if (emu_reload_rom(rom_fname_reload))\r
                                        engineState = PGS_Running;\r
@@ -115,9 +124,10 @@ int main(int argc, char *argv[])
 \r
                        case PGS_RestartRun:\r
                                engineState = PGS_Running;\r
+                               /* vvv fallthrough */\r
 \r
                        case PGS_Running:\r
-                               pemu_loop();\r
+                               emu_loop();\r
                                break;\r
 \r
                        case PGS_Quit:\r
@@ -132,7 +142,7 @@ int main(int argc, char *argv[])
        endloop:\r
 \r
        emu_finish();\r
-       plat_finish();\r
+       plat_target_finish();\r
 \r
        return 0;\r
 }\r