From e151dbbaa22504eac300aff9baeaa9ee27f53480 Mon Sep 17 00:00:00 2001 From: Thomas Harte Date: Mon, 25 May 2026 09:20:55 -0400 Subject: [PATCH] Add Tandy CoCo to UI; standardise space before units. --- OSBindings/Qt/mainwindow.cpp | 18 ++++++++++- OSBindings/Qt/mainwindow.h | 1 + OSBindings/Qt/mainwindow.ui | 58 ++++++++++++++++++++++++++++++++---- 3 files changed, 70 insertions(+), 7 deletions(-) diff --git a/OSBindings/Qt/mainwindow.cpp b/OSBindings/Qt/mainwindow.cpp index 4c6877216..cdf99be47 100644 --- a/OSBindings/Qt/mainwindow.cpp +++ b/OSBindings/Qt/mainwindow.cpp @@ -14,9 +14,9 @@ #include #include +#include "../../Configurable/StandardOptions.hpp" #include "../../Machines/Utility/ROMLibrary.hpp" #include "../../Numeric/CRC.hpp" -#include "../../Configurable/StandardOptions.hpp" namespace { @@ -1024,6 +1024,7 @@ void MainWindow::setButtonPressed(const int index, const bool isPressed) { #include "../../Analyser/Static/MSX/Target.hpp" #include "../../Analyser/Static/Oric/Target.hpp" #include "../../Analyser/Static/PCCompatible/Target.hpp" +#include "../../Analyser/Static/TandyCoCo/Target.hpp" #include "../../Analyser/Static/Thomson/Target.hpp" #include "../../Analyser/Static/ZX8081/Target.hpp" #include "../../Analyser/Static/ZXSpectrum/Target.hpp" @@ -1283,6 +1284,17 @@ void MainWindow::start_spectrum() { launchTarget(std::move(target)); } +void MainWindow::start_tandyCoCo() { + using Target = Analyser::Static::TandyCoCo::Target; + auto target = std::make_unique(); + switch(ui->tandyCoCoMemorySizeComboBox->currentIndex()) { + default: target->memory_size = Target::MemorySize::ThirtyTwoKB; break; + case 1: target->memory_size = Target::MemorySize::SixtyFourKB; break; + } + target->has_disk_drive = ui->tandyCoCoDiskDriveCheckBox->isChecked(); + launchTarget(std::move(target)); +} + void MainWindow::start_thomson() { using Target = Analyser::Static::Thomson::MOTarget; auto target = std::make_unique(); @@ -1433,6 +1445,10 @@ void MainWindow::processAllSettings() { applier(ui->pcSpeedComboBox, "pc.speed"); applier(ui->pcVideoAdaptorComboBox, "pc.videoAdaptor"); + /* Tandy CoCo. */ + applier(ui->tandyCoCoMemorySizeComboBox, "tandy.memorySize"); + applier(ui->tandyCoCoDiskDriveCheckBox, "tandy.hasDiskDrive"); + /* Thomson. */ applier(ui->thomsonModelComboBox, "thomson.model"); applier(ui->thomsonDiskDriveCheckBox, "thomson.hasDiskDrive"); diff --git a/OSBindings/Qt/mainwindow.h b/OSBindings/Qt/mainwindow.h index 4d9fba969..e724114f9 100644 --- a/OSBindings/Qt/mainwindow.h +++ b/OSBindings/Qt/mainwindow.h @@ -99,6 +99,7 @@ class MainWindow : public QMainWindow, public Outputs::Speaker::Speaker::Delegat void start_plus4(); void start_pc(); void start_spectrum(); + void start_tandyCoCo(); void start_thomson(); void start_vic20(); void start_zx80(); diff --git a/OSBindings/Qt/mainwindow.ui b/OSBindings/Qt/mainwindow.ui index f9eccb5a5..b50aaf4a0 100644 --- a/OSBindings/Qt/mainwindow.ui +++ b/OSBindings/Qt/mainwindow.ui @@ -222,17 +222,17 @@ - 256kb + 256 kb - 1mb + 1 mb - 8mb + 8 mb @@ -821,6 +821,52 @@ + + + Tandy CoCo + + + + + + + + Memory Size: + + + + + + + + 32 kb + + + + + 64 kb + + + + + + + + + + With Disk Drive + + + + + + + Qt::Orientation::Vertical + + + + + Thomson MO @@ -1049,17 +1095,17 @@ - 16kb + 16 kb - 48kb + 48 kb - 128kb + 128 kb