recognize the MED ssf2 header
[picodrive.git] / platform / common / main.c
index 48f218f..5267667 100644 (file)
@@ -1,23 +1,24 @@
-// (c) Copyright 2006-2009 notaz, All rights reserved.\r
-// Free for non-commercial use.\r
-\r
-// For commercial use, separate licencing terms must be obtained.\r
+/*\r
+ * PicoDrive\r
+ * (C) notaz, 2006-2010\r
+ *\r
+ * This work is licensed under the terms of MAME license.\r
+ * See COPYING file in the top-level directory.\r
+ */\r
 \r
 #include <stdio.h>\r
 #include <stdlib.h>\r
 #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 "version.h"\r
 #include <cpu/debug.h>\r
-#include <version.h>\r
 \r
 \r
-extern char *PicoConfigFile;\r
 static int load_state_slot = -1;\r
 char **g_argv;\r
 \r
@@ -32,7 +33,9 @@ void parse_cmd_line(int argc, char *argv[])
                        if (strcasecmp(argv[x], "-config") == 0) {\r
                                if (x+1 < argc) { ++x; PicoConfigFile = argv[x]; }\r
                        }\r
-                       else if (strcasecmp(argv[x], "-loadstate") == 0) {\r
+                       else if (strcasecmp(argv[x], "-loadstate") == 0\r
+                                || strcasecmp(argv[x], "-load") == 0)\r
+                       {\r
                                if (x+1 < argc) { ++x; load_state_slot = atoi(argv[x]); }\r
                        }\r
                        else if (strcasecmp(argv[x], "-pdb") == 0) {\r
@@ -46,24 +49,25 @@ void parse_cmd_line(int argc, char *argv[])
                                break;\r
                        }\r
                } else {\r
-                       /* External Frontend: ROM Name */\r
-                       FILE *f;\r
-                       strncpy(rom_fname_reload, argv[x], sizeof(rom_fname_reload));\r
-                       rom_fname_reload[sizeof(rom_fname_reload) - 1] = 0;\r
-                       f = fopen(rom_fname_reload, "rb");\r
-                       if (f) fclose(f);\r
-                       else unrecognized = 1;\r
-                       engineState = PGS_ReloadRom;\r
+                       FILE *f = fopen(argv[x], "rb");\r
+                       if (f) {\r
+                               fclose(f);\r
+                               rom_fname_reload = argv[x];\r
+                               engineState = PGS_ReloadRom;\r
+                       }\r
+                       else\r
+                               unrecognized = 1;\r
                        break;\r
                }\r
        }\r
 \r
        if (unrecognized) {\r
-               printf("\n\n\nPicoDrive v" VERSION " (c) notaz, 2006-2009\n");\r
+               printf("\n\n\nPicoDrive v" VERSION " (c) notaz, 2006-2009,2013\n");\r
                printf("usage: %s [options] [romfile]\n", argv[0]);\r
                printf("options:\n"\r
                        " -config <file>    use specified config file instead of default 'config.cfg'\n"\r
-                       " -loadstate <num>  if ROM is specified, try loading slot <num>\n");\r
+                       " -loadstate <num>  if ROM is specified, try loading savestate slot <num>\n");\r
+               exit(1);\r
        }\r
 }\r
 \r
@@ -75,8 +79,9 @@ int main(int argc, char *argv[])
        plat_early_init();\r
 \r
        in_init();\r
-       in_probe();\r
+       //in_probe();\r
 \r
+       plat_target_init();\r
        plat_init();\r
 \r
        emu_prep_defconfig(); // depends on input\r
@@ -143,6 +148,7 @@ int main(int argc, char *argv[])
 \r
        emu_finish();\r
        plat_finish();\r
+       plat_target_finish();\r
 \r
        return 0;\r
 }\r