From 33400707ded1b72c10c7ed70f925066aeae86f45 Mon Sep 17 00:00:00 2001 From: notaz Date: Sat, 29 Oct 2011 22:06:09 +0300 Subject: [PATCH] frontend: move defconfig to main .. so that maemo can use it --- frontend/main.c | 44 +++++++++++++++++++++++++++++++++++++++++++- frontend/main.h | 1 + frontend/menu.c | 22 ++-------------------- maemo/main.c | 12 ------------ 4 files changed, 46 insertions(+), 33 deletions(-) diff --git a/frontend/main.c b/frontend/main.c index aaf1bb0f..b6996592 100644 --- a/frontend/main.c +++ b/frontend/main.c @@ -33,6 +33,14 @@ void StartDebugger(); void StopDebugger(); +// sound plugin +extern int iUseReverb; +extern int iUseInterpolation; +extern int iXAPitch; +extern int iSPUIRQWait; +extern int iUseTimer; +extern int iVolume; + int ready_to_go; unsigned long gpuDisp; char cfgfile_basename[MAXPATHLEN]; @@ -125,11 +133,41 @@ static void set_default_paths(void) #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); } +void emu_set_default_config(void) +{ + // try to set sane config on which most games work + Config.Xa = Config.Cdda = Config.Sio = + Config.SpuIrq = Config.RCntFix = Config.VSyncWA = 0; + Config.CdrReschedule = 0; + Config.PsxAuto = 1; + + pl_rearmed_cbs.gpu_peops.iUseDither = 0; + pl_rearmed_cbs.gpu_peops.dwActFixes = 1<<7; + pl_rearmed_cbs.gpu_unai.abe_hack = + pl_rearmed_cbs.gpu_unai.no_light = + pl_rearmed_cbs.gpu_unai.no_blend = 0; + + iUseReverb = 2; + iUseInterpolation = 1; + iXAPitch = 0; + iSPUIRQWait = 1; + iUseTimer = 2; + iVolume = 768; +#ifndef __ARM_ARCH_7A__ /* XXX */ + iUseReverb = 0; + iUseInterpolation = 0; +#endif + new_dynarec_hacks = 0; + cycle_multiplier = 200; + + in_type1 = PSE_PAD_TYPE_STANDARD; + in_type2 = PSE_PAD_TYPE_STANDARD; +} + static void check_memcards(void) { char buf[MAXPATHLEN]; @@ -233,6 +271,7 @@ int main(int argc, char *argv[]) CheckSubDir(); set_default_paths(); + emu_set_default_config(); check_memcards(); strcpy(Config.Bios, "HLE"); @@ -424,6 +463,9 @@ void SysReset() { void *real_lace = GPU_updateLace; GPU_updateLace = dummy_lace; + // reset can run code, timing must be set + pl_timing_prepare(Config.PsxType); + EmuReset(); // hmh core forgets this diff --git a/frontend/main.h b/frontend/main.h index 7267f2b0..ffed68b4 100644 --- a/frontend/main.h +++ b/frontend/main.h @@ -35,6 +35,7 @@ extern char cfgfile_basename[MAXPATHLEN]; extern int state_slot; +void emu_set_default_config(void); int get_state_filename(char *buf, int size, int i); int emu_check_state(int slot); int emu_save_state(int slot); diff --git a/frontend/menu.c b/frontend/menu.c index 630b4ea4..60cf0c4e 100644 --- a/frontend/menu.c +++ b/frontend/menu.c @@ -179,36 +179,18 @@ static void menu_sync_config(void) static void menu_set_defconfig(void) { + emu_set_default_config(); + g_opts = 0; scaling = SCALE_4_3; volume_boost = 0; frameskip = 0; analog_deadzone = 50; psx_clock = DEFAULT_PSX_CLOCK; - new_dynarec_hacks = 0; region = 0; in_type_sel1 = in_type_sel2 = 0; in_evdev_allow_abs_only = 0; - Config.Xa = Config.Cdda = Config.Sio = - Config.SpuIrq = Config.RCntFix = Config.VSyncWA = 0; - Config.CdrReschedule = 0; - - pl_rearmed_cbs.gpu_peops.iUseDither = 0; - pl_rearmed_cbs.gpu_peops.dwActFixes = 1<<7; - pl_rearmed_cbs.gpu_unai.abe_hack = - pl_rearmed_cbs.gpu_unai.no_light = - pl_rearmed_cbs.gpu_unai.no_blend = 0; - - iUseReverb = 2; - iUseInterpolation = 1; - iXAPitch = 0; - iSPUIRQWait = 1; - iUseTimer = 2; -#ifndef __ARM_ARCH_7A__ /* XXX */ - iUseReverb = 0; - iUseInterpolation = 0; -#endif menu_sync_config(); } diff --git a/maemo/main.c b/maemo/main.c index c238556a..977f6a30 100644 --- a/maemo/main.c +++ b/maemo/main.c @@ -19,9 +19,6 @@ #include "maemo_common.h" // sound plugin -extern int iUseReverb; -extern int iUseInterpolation; -extern int iSPUIRQWait; extern int iUseTimer; int g_opts = OPT_SHOWFPS; @@ -98,15 +95,6 @@ int maemo_main(int argc, char **argv) else if (!strcmp(argv[i], "-vsync")) Config.VSyncWA = 1; } - pl_rearmed_cbs.gpu_peops.dwActFixes = 1<<7; - iUseReverb = 2; - iUseInterpolation = 1; - iSPUIRQWait = 1; - iUseTimer = 2; - - in_type1 = PSE_PAD_TYPE_STANDARD; - in_type2 = PSE_PAD_TYPE_STANDARD; - hildon_init(&argc, &argv); if (cdfile) { -- 2.39.2