X-Git-Url: https://notaz.gp2x.de/cgi-bin/gitweb.cgi?a=blobdiff_plain;f=gp2x%2Fmain.c;h=ed2191c8cfb715b5980b60ce30f0cf4cd94391fc;hb=3f2aaff20c940e90e970c008e56f5253d494a92c;hp=5422b2b650a7c529fe8bd1ab77b4c6936e3510b2;hpb=8dfb9fd5df1ccef9f8aba43cfed8be82c822f512;p=libpicofe.git diff --git a/gp2x/main.c b/gp2x/main.c index 5422b2b..ed2191c 100644 --- a/gp2x/main.c +++ b/gp2x/main.c @@ -11,7 +11,11 @@ #include "gp2x.h" #include "menu.h" +#include "../common/menu.h" +#include "../common/emu.h" +#include "../common/config.h" #include "emu.h" +#include "940ctl.h" #include "version.h" #include "squidgehack.h" @@ -62,7 +66,7 @@ void parse_cmd_line(int argc, char *argv[]) } if (unrecognized) { - printf("\n\n\nPicoDrive v" VERSION " (c) notaz, 2006\n"); + printf("\n\n\nPicoDrive v" VERSION " (c) notaz, 2006-2008\n"); printf("usage: %s [options] [romfile]\n", argv[0]); printf( "options:\n" "-menu launch a custom program on exit instead of default gp2xmenu\n" @@ -78,7 +82,10 @@ int main(int argc, char *argv[]) { g_argv = argv; - emu_ReadConfig(0); + emu_prepareDefaultConfig(); + emu_ReadConfig(0, 0); + config_readlrom(PicoConfigFile); + gp2x_init(); if (currentConfig.EmuOpt&0x10) { int ret = mmuhack(); @@ -94,7 +101,9 @@ int main(int argc, char *argv[]) set_RAM_Timings(6, 4, 1, 1, 1, 2, 2); printf("done.\n"); fflush(stdout); } + sharedmem_init(); emu_Init(); + menu_init(); engineState = PGS_Menu; @@ -118,6 +127,9 @@ int main(int argc, char *argv[]) } break; + case PGS_RestartRun: + engineState = PGS_Running; + case PGS_Running: emu_Loop(); break; @@ -134,6 +146,7 @@ int main(int argc, char *argv[]) endloop: emu_Deinit(); + sharedmem_deinit(); cpuctrl_deinit(); gp2x_deinit(); if(mmuhack_status)