mirror of
https://github.com/RaySollium99/libpicofe.git
synced 2025-09-05 14:57:46 -04:00
frame limiter opt, menu btn on cfg load fix
git-svn-id: file:///home/notaz/opt/svn/PicoDrive/platform@727 be3aeb3a-fb24-0410-a615-afba39da0efa
This commit is contained in:
parent
9615b3dfde
commit
4858c6338b
4 changed files with 16 additions and 16 deletions
|
@ -490,6 +490,8 @@ static int custom_read(menu_entry *me, const char *var, const char *val)
|
|||
PsndRate = strtoul(val, &tmp, 10);
|
||||
if (PsndRate < 8000 || PsndRate > 44100)
|
||||
PsndRate = 22050;
|
||||
if (*tmp == 'H' || *tmp == 'h') tmp++;
|
||||
if (*tmp == 'Z' || *tmp == 'z') tmp++;
|
||||
while (*tmp == ' ') tmp++;
|
||||
if (strcasecmp(tmp, "stereo") == 0) {
|
||||
PicoOpt |= POPT_EN_STEREO;
|
||||
|
@ -551,17 +553,6 @@ static int custom_read(menu_entry *me, const char *var, const char *val)
|
|||
return 0;
|
||||
return 1;
|
||||
|
||||
#if 0 // TODO rm?
|
||||
case MA_OPT_CPU_CLOCKS:
|
||||
#ifdef __GP2X__
|
||||
if (strcasecmp(var, "GP2X CPU clocks") != 0) return 0;
|
||||
#elif defined(PSP)
|
||||
if (strcasecmp(var, "PSP CPU clock") != 0) return 0;
|
||||
#endif
|
||||
currentConfig.CPUclock = atoi(val);
|
||||
return 1;
|
||||
#endif
|
||||
|
||||
case MA_OPT2_GAMMA:
|
||||
if (strcasecmp(var, "Gamma correction") != 0) return 0;
|
||||
currentConfig.gamma = (int) (atof(val) * 100.0);
|
||||
|
|
12
common/emu.c
12
common/emu.c
|
@ -1325,10 +1325,14 @@ void emu_loop(void)
|
|||
|
||||
if (timestamp - timestamp_base >= ms_to_ticks(1000))
|
||||
{
|
||||
if (PsndOut == 0 && currentConfig.Frameskip >= 0)
|
||||
if ((currentConfig.EmuOpt & EOPT_NO_FRMLIMIT) && currentConfig.Frameskip >= 0)
|
||||
pframes_done = 0;
|
||||
else
|
||||
else {
|
||||
pframes_done -= target_fps;
|
||||
/* don't allow it to drift during heavy slowdowns */
|
||||
if (pframes_done < -2)
|
||||
pframes_done = -2;
|
||||
}
|
||||
timestamp_base += ms_to_ticks(1000);
|
||||
}
|
||||
|
||||
|
@ -1343,7 +1347,7 @@ void emu_loop(void)
|
|||
pframes_done++; frames_done++;
|
||||
diff_lim += target_frametime;
|
||||
|
||||
if (PsndOut && !reset_timing) { // do framelimitting if sound is enabled
|
||||
if (!(currentConfig.EmuOpt & EOPT_NO_FRMLIMIT)) {
|
||||
timestamp = get_ticks();
|
||||
diff = timestamp - timestamp_base;
|
||||
if (diff < diff_lim) // we are too fast
|
||||
|
@ -1369,7 +1373,7 @@ void emu_loop(void)
|
|||
PicoFrame();
|
||||
|
||||
/* frame limiter */
|
||||
if (!reset_timing && (PsndOut != NULL || currentConfig.Frameskip < 0))
|
||||
if (!reset_timing && !(currentConfig.EmuOpt & EOPT_NO_FRMLIMIT))
|
||||
{
|
||||
timestamp = get_ticks();
|
||||
diff = timestamp - timestamp_base;
|
||||
|
|
|
@ -1450,6 +1450,7 @@ static menu_entry e_menu_adv_options[] =
|
|||
mee_onoff ("gzip savestates", MA_OPT2_GZIP_STATES, currentConfig.EmuOpt, EOPT_GZIP_SAVES),
|
||||
mee_onoff ("Don't save last used ROM", MA_OPT2_NO_LAST_ROM, currentConfig.EmuOpt, EOPT_NO_AUTOSVCFG),
|
||||
mee_onoff ("Disable idle loop patching",MA_OPT2_NO_IDLE_LOOPS,PicoOpt, POPT_DIS_IDLE_DET),
|
||||
mee_onoff ("Disable frame limiter", MA_OPT2_NO_FRAME_LIMIT,currentConfig.EmuOpt, EOPT_NO_FRMLIMIT),
|
||||
MENU_GP2X_OPTIONS_ADV
|
||||
mee_end,
|
||||
};
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue