X-Git-Url: https://notaz.gp2x.de/cgi-bin/gitweb.cgi?a=blobdiff_plain;f=common%2Fmain.c;h=48f218fccd7226310ec59d10a7e2902ba7beb355;hb=902972d1c7f353aebb17a5ab587b2526e1a45d60;hp=00cbac715692900bc66d7d09017b8e4f496642b0;hpb=046c454067c66b783417f4a61ab1445d06412d66;p=libpicofe.git diff --git a/common/main.c b/common/main.c index 00cbac7..48f218f 100644 --- a/common/main.c +++ b/common/main.c @@ -13,6 +13,7 @@ #include "config.h" #include "input.h" #include "plat.h" +#include #include @@ -34,6 +35,12 @@ void parse_cmd_line(int argc, char *argv[]) else if (strcasecmp(argv[x], "-loadstate") == 0) { if (x+1 < argc) { ++x; load_state_slot = atoi(argv[x]); } } + else if (strcasecmp(argv[x], "-pdb") == 0) { + if (x+1 < argc) { ++x; pdb_command(argv[x]); } + } + else if (strcasecmp(argv[x], "-pdb_connect") == 0) { + if (x+2 < argc) { pdb_net_connect(argv[x+1], argv[x+2]); x += 2; } + } else { unrecognized = 1; break; @@ -67,17 +74,15 @@ int main(int argc, char *argv[]) plat_early_init(); - /* in_init() must go before config, config accesses in_ fwk */ in_init(); - emu_prepareDefaultConfig(); - emu_ReadConfig(0, 0); - config_readlrom(PicoConfigFile); + in_probe(); plat_init(); - in_probe(); - in_debug_dump(); - emu_Init(); + emu_prep_defconfig(); // depends on input + emu_read_config(NULL, 0); + + emu_init(); menu_init(); engineState = PGS_Menu; @@ -87,11 +92,11 @@ int main(int argc, char *argv[]) if (engineState == PGS_ReloadRom) { - if (emu_ReloadRom(rom_fname_reload)) { + if (emu_reload_rom(rom_fname_reload)) { engineState = PGS_Running; if (load_state_slot >= 0) { state_slot = load_state_slot; - emu_SaveLoadGame(1, 0); + emu_save_load_game(1, 0); } } } @@ -104,8 +109,12 @@ int main(int argc, char *argv[]) menu_loop(); break; + case PGS_TrayMenu: + menu_loop_tray(); + break; + case PGS_ReloadRom: - if (emu_ReloadRom(rom_fname_reload)) + if (emu_reload_rom(rom_fname_reload)) engineState = PGS_Running; else { printf("PGS_ReloadRom == 0\n"); @@ -115,9 +124,10 @@ int main(int argc, char *argv[]) case PGS_RestartRun: engineState = PGS_Running; + /* vvv fallthrough */ case PGS_Running: - emu_Loop(); + emu_loop(); break; case PGS_Quit: @@ -131,7 +141,7 @@ int main(int argc, char *argv[]) endloop: - emu_Deinit(); + emu_finish(); plat_finish(); return 0;