frontend: get rid of plat_rescan_inputs
[pcsx_rearmed.git] / frontend / main.c
index aaf1bb0..c902142 100644 (file)
 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];
@@ -207,6 +245,10 @@ void do_emu_action(void)
                                snprintf(hud_msg, sizeof(hud_msg), "SCREENSHOT TAKEN");
                        break;
                }
+       case SACTION_VOLUME_UP:
+       case SACTION_VOLUME_DOWN:
+               plat_step_volume(emu_action == SACTION_VOLUME_UP);
+               return;
        default:
                return;
        }
@@ -233,6 +275,7 @@ int main(int argc, char *argv[])
 
        CheckSubDir();
        set_default_paths();
+       emu_set_default_config();
        check_memcards();
        strcpy(Config.Bios, "HLE");
 
@@ -320,7 +363,6 @@ int main(int argc, char *argv[])
        plat_init();
        menu_init(); // loads config
        pl_init();
-       plat_rescan_inputs();
 
        if (psxout)
                Config.PsxOut = 1;
@@ -424,6 +466,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