From 28254d4b243235f180c95facc7402af4358c7972 Mon Sep 17 00:00:00 2001 From: tildearrow Date: Thu, 24 Feb 2022 18:00:19 -0500 Subject: [PATCH] SMS: add 1.79MHz option --- src/engine/platform/sms.cpp | 4 +++- src/gui/gui.cpp | 4 ++++ 2 files changed, 7 insertions(+), 1 deletion(-) diff --git a/src/engine/platform/sms.cpp b/src/engine/platform/sms.cpp index 325665003..114d67b05 100644 --- a/src/engine/platform/sms.cpp +++ b/src/engine/platform/sms.cpp @@ -301,7 +301,9 @@ void DivPlatformSMS::poke(std::vector& wlist) { } void DivPlatformSMS::setFlags(unsigned int flags) { - if ((flags&3)==2) { + if ((flags&3)==3) { + chipClock=COLOR_NTSC/2.0; + } else if ((flags&3)==2) { chipClock=4000000; } else if ((flags&3)==1) { chipClock=COLOR_PAL*4.0/5.0; diff --git a/src/gui/gui.cpp b/src/gui/gui.cpp index 10a7159c2..1a5a13f47 100644 --- a/src/gui/gui.cpp +++ b/src/gui/gui.cpp @@ -4544,6 +4544,10 @@ bool FurnaceGUI::loop() { e->setSysFlags(i,(flags&(~3))|2,restart); updateWindowTitle(); } + if (ImGui::RadioButton("Half NTSC (1.79MHz)",(flags&3)==3)) { + e->setSysFlags(i,(flags&(~3))|3,restart); + updateWindowTitle(); + } ImGui::Text("Chip type:"); if (ImGui::RadioButton("Sega VDP/Master System",((flags>>2)&3)==0)) { e->setSysFlags(i,(flags&(~12))|0,restart);