Virtual Boy: make it work on hardware

issue #2373
This commit is contained in:
tildearrow 2025-02-18 02:30:14 -05:00
parent 63ee7cf5d8
commit e1b7618348
3 changed files with 70 additions and 3 deletions

View file

@ -2475,6 +2475,8 @@ bool FurnaceGUI::drawSysConf(int chan, int sysPos, DivSystem type, DivConfig& fl
}
case DIV_SYSTEM_VBOY: {
bool romMode=flags.getBool("romMode",false);
bool noAntiClick=flags.getBool("noAntiClick",false);
bool screwThis=flags.getBool("screwThis",false);
ImGui::Text(_("Waveform storage mode:"));
ImGui::Indent();
@ -2488,9 +2490,23 @@ bool FurnaceGUI::drawSysConf(int chan, int sysPos, DivSystem type, DivConfig& fl
}
ImGui::Unindent();
if (!romMode) {
if (ImGui::Checkbox(_("Disable anti-phase-reset"),&noAntiClick)) {
altered=true;
}
if (ImGui::Checkbox(_("I don't care about hardware"),&screwThis)) {
altered=true;
}
if (ImGui::IsItemHovered()) {
ImGui::SetTooltip(_("Virtual Boy hardware requires all channels to be disabled before writing to wave memory.\nif the clicks that arise from this annoy you, use this option.\nnote that your song won't play on hardware if you do so!"));
}
}
if (altered) {
e->lockSave([&]() {
flags.set("romMode",romMode);
flags.set("noAntiClick",noAntiClick);
flags.set("screwThis",screwThis);
});
}
break;