frontend: move defconfig to main
authornotaz <notasas@gmail.com>
Sat, 29 Oct 2011 19:06:09 +0000 (22:06 +0300)
committernotaz <notasas@gmail.com>
Sun, 30 Oct 2011 21:48:09 +0000 (23:48 +0200)
.. so that maemo can use it

frontend/main.c
frontend/main.h
frontend/menu.c
maemo/main.c

index aaf1bb0..b699659 100644 (file)
 void StartDebugger();
 void StopDebugger();
 
 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];
 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
 #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);
 }
 
 
        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];
 static void check_memcards(void)
 {
        char buf[MAXPATHLEN];
@@ -233,6 +271,7 @@ int main(int argc, char *argv[])
 
        CheckSubDir();
        set_default_paths();
 
        CheckSubDir();
        set_default_paths();
+       emu_set_default_config();
        check_memcards();
        strcpy(Config.Bios, "HLE");
 
        check_memcards();
        strcpy(Config.Bios, "HLE");
 
@@ -424,6 +463,9 @@ void SysReset() {
        void *real_lace = GPU_updateLace;
        GPU_updateLace = dummy_lace;
 
        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
        EmuReset();
 
        // hmh core forgets this
index 7267f2b..ffed68b 100644 (file)
@@ -35,6 +35,7 @@
 extern char cfgfile_basename[MAXPATHLEN];
 
 extern int state_slot;
 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);
 int get_state_filename(char *buf, int size, int i);
 int emu_check_state(int slot);
 int emu_save_state(int slot);
index 630b4ea..60cf0c4 100644 (file)
@@ -179,36 +179,18 @@ static void menu_sync_config(void)
 
 static void menu_set_defconfig(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;
        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;
 
        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();
 }
 
        menu_sync_config();
 }
index c238556..977f6a3 100644 (file)
@@ -19,9 +19,6 @@
 #include "maemo_common.h"
 
 // sound plugin
 #include "maemo_common.h"
 
 // sound plugin
-extern int iUseReverb;
-extern int iUseInterpolation;
-extern int iSPUIRQWait;
 extern int iUseTimer;
 
 int g_opts = OPT_SHOWFPS;
 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;
        }
 
                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) {
        hildon_init(&argc, &argv);
        
        if (cdfile) {