add different clock speed, optimize channel processing, add quarter clock speed flag

This commit is contained in:
LTVA1 2024-08-12 11:22:10 +03:00
parent 802f55a26e
commit 6417da27e9
5 changed files with 209 additions and 113 deletions

View file

@ -2517,6 +2517,29 @@ bool FurnaceGUI::drawSysConf(int chan, int sysPos, DivSystem type, DivConfig& fl
supportsCustomRate=false;
ImGui::Text(_("nothing to configure"));
break;
case DIV_SYSTEM_SID3:
{
bool quarterClock=flags.getBool("quarterClock",false);
if (ImGui::Checkbox(_("Quarter clock speed"),&quarterClock)) {
altered=true;
}
if (ImGui::IsItemHovered()) {
ImGui::SetTooltip(_("Decreases clock speed and CPU audio load by 4 times.\nCan be used if your CPU is too slow for the chip."
"\nDoes not affect clock speed during export!\n\n"
"Warning! Filters may become unstable at high cutoff and resonance\nif this option or lower clock speed are used!\n"
"Also filters' timbre may be different near these values.\n\n"
"Default clock speed is 1MHz (1000000Hz)."));
}
if (altered) {
e->lockSave([&]() {
flags.set("quarterClock",(int)quarterClock);
});
}
break;
}
default: {
bool sysPal=flags.getInt("clockSel",0);