X-Git-Url: https://notaz.gp2x.de/cgi-bin/gitweb.cgi?p=pcsx_rearmed.git;a=blobdiff_plain;f=frontend%2Fmain.c;h=b69965929c0686c911b7e25a081f49052323bd67;hp=aaf1bb0ff9964f0b863ab834e1d542ba7f9ec6ec;hb=33400707ded1b72c10c7ed70f925066aeae86f45;hpb=d64280d6f8f3064fffd834f374900f0bfb735ac7 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