X-Git-Url: https://notaz.gp2x.de/cgi-bin/gitweb.cgi?p=pcsx_rearmed.git;a=blobdiff_plain;f=frontend%2Fmain.c;h=175083e58cf785a846cecc560e457214498783cc;hp=13be9acc514e87adad71598b5419732bafb5974e;hb=ce5f8f353568e075c4ef419731f3ca4a8f93be7b;hpb=51f77282d6cb4bc06248395cc1e712ee298910af diff --git a/frontend/main.c b/frontend/main.c index 13be9acc..175083e5 100644 --- a/frontend/main.c +++ b/frontend/main.c @@ -27,10 +27,13 @@ #include "common/input.h" #include "common/readpng.h" +// don't include debug.h - it breaks ARM build (R1 redefined) +void StartDebugger(); +void StopDebugger(); + int ready_to_go; unsigned long gpuDisp; char cfgfile_basename[MAXPATHLEN]; -static char *(*real_getenv)(const char *name); int state_slot; enum sched_action emu_action, emu_action_old; char hud_msg[64]; @@ -117,6 +120,9 @@ static void set_default_paths(void) strcpy(Config.Pad1, "builtin_pad"); strcpy(Config.Pad2, "builtin_pad"); strcpy(Config.Net, "Disabled"); +#if defined(__arm__) && !defined(__ARM_ARCH_7A__) /* XXX */ + strcpy(Config.Gpu, "gpuPCSX4ALL.so"); +#endif Config.PsxAuto = 1; snprintf(Config.PatchesDir, sizeof(Config.PatchesDir), "." PATCHES_DIR); @@ -149,8 +155,6 @@ void do_emu_action(void) emu_action_old = emu_action; switch (emu_action) { - case SACTION_NONE: - return; case SACTION_ENTER_MENU: menu_loop(); return; @@ -173,9 +177,14 @@ void do_emu_action(void) state_slot = 9; goto do_state_slot; case SACTION_TOGGLE_FSKIP: - pl_rearmed_cbs.frameskip ^= 1; - snprintf(hud_msg, sizeof(hud_msg), "FRAMESKIP %s", - pl_rearmed_cbs.frameskip ? "ON" : "OFF"); + pl_rearmed_cbs.fskip_advice = 0; + pl_rearmed_cbs.frameskip++; + if (pl_rearmed_cbs.frameskip > 1) + pl_rearmed_cbs.frameskip = -1; + snprintf(hud_msg, sizeof(hud_msg), "FRAMESKIP: %s", + pl_rearmed_cbs.frameskip == -1 ? "AUTO" : + pl_rearmed_cbs.frameskip == 0 ? "OFF" : "1" ); + plugin_call_rearmed_cbs(); break; case SACTION_SCREENSHOT: { @@ -196,6 +205,8 @@ void do_emu_action(void) snprintf(hud_msg, sizeof(hud_msg), "SCREENSHOT TAKEN"); break; } + default: + return; } hud_new_msg = 3; return; @@ -204,23 +215,11 @@ do_state_slot: snprintf(hud_msg, sizeof(hud_msg), "STATE SLOT %d [%s]", state_slot, emu_check_state(state_slot) == 0 ? "USED" : "FREE"); hud_new_msg = 3; + printf("* %s\n", hud_msg); } int main(int argc, char *argv[]) { - void *tmp; - - tmp = dlopen("/lib/libdl.so.2", RTLD_LAZY); - if (tmp == NULL) - tmp = dlopen("/lib32/libdl.so.2", RTLD_LAZY); - if (tmp != NULL) - real_getenv = dlsym(tmp, "getenv"); - if (real_getenv == NULL) { - fprintf(stderr, "%s\n", dlerror()); - return 1; - } - dlclose(tmp); - // what is the name of the config file? // it may be redefined by -cfg on the command line strcpy(cfgfile_basename, "pcsx.cfg"); @@ -317,6 +316,7 @@ int main(int argc, char *argv[]) //in_probe(); plat_init(); menu_init(); // loads config + pl_init(); if (psxout) Config.PsxOut = 1; @@ -476,7 +476,9 @@ int emu_save_state(int slot) if (ret != 0) return ret; - return SaveState(fname); + ret = SaveState(fname); + printf("* %s \"%s\" [%d]\n", ret == 0 ? "saved" : "failed to save", fname, slot); + return ret; } int emu_load_state(int slot) @@ -642,20 +644,6 @@ void ClosePlugins() { } } -#if 1 -/* this is to avoid having to hack every plugin to stop using $HOME */ -char *getenv(const char *name) -{ - static char ret[8] = "."; - - if (name && strcmp(name, "HOME") == 0 && - ((int)name >> 28) == 0) // HACK: let libs find home - return ret; - - return real_getenv(name); -} -#endif - /* we hook statically linked plugins here */ static const char *builtin_plugins[] = { "builtin_gpu", "builtin_spu", "builtin_cdr", "builtin_pad",