From 0c770c474b6cdc9ac3dbea0bd7258b001229d676 Mon Sep 17 00:00:00 2001 From: Thomas Harte Date: Fri, 29 Dec 2023 22:55:34 -0500 Subject: [PATCH] Add PC startup options. --- OSBindings/Qt/mainwindow.cpp | 19 ++++++ OSBindings/Qt/mainwindow.h | 1 + OSBindings/Qt/mainwindow.ui | 116 ++++++++++++++++++++++++++++------- 3 files changed, 113 insertions(+), 23 deletions(-) diff --git a/OSBindings/Qt/mainwindow.cpp b/OSBindings/Qt/mainwindow.cpp index 9a4d4aaf2..d0b9a53e9 100644 --- a/OSBindings/Qt/mainwindow.cpp +++ b/OSBindings/Qt/mainwindow.cpp @@ -966,6 +966,7 @@ void MainWindow::setButtonPressed(int index, bool isPressed) { #include "../../Analyser/Static/Macintosh/Target.hpp" #include "../../Analyser/Static/MSX/Target.hpp" #include "../../Analyser/Static/Oric/Target.hpp" +#include "../../Analyser/Static/PCCompatible/Target.hpp" #include "../../Analyser/Static/ZX8081/Target.hpp" #include "../../Analyser/Static/ZXSpectrum/Target.hpp" @@ -988,6 +989,7 @@ void MainWindow::startMachine() { TEST(macintosh); TEST(msx); TEST(oric); + TEST(pc); TEST(spectrum); TEST(vic20); TEST(zx80); @@ -1186,6 +1188,23 @@ void MainWindow::start_oric() { launchTarget(std::move(target)); } +void MainWindow::start_pc() { + using Target = Analyser::Static::PCCompatible::Target; + auto target = std::make_unique(); + + switch(ui->pcSpeedComboBox->currentIndex()) { + default: target->speed = Target::Speed::ApproximatelyOriginal; break; + case 1: target->speed = Target::Speed::Fast; break; + } + + switch(ui->pcVideoAdaptorComboBox->currentIndex()) { + default: target->adaptor = Target::VideoAdaptor::MDA; break; + case 1: target->adaptor = Target::VideoAdaptor::CGA; break; + } + + launchTarget(std::move(target)); +} + void MainWindow::start_spectrum() { using Target = Analyser::Static::ZXSpectrum::Target; auto target = std::make_unique(); diff --git a/OSBindings/Qt/mainwindow.h b/OSBindings/Qt/mainwindow.h index e60f17a97..a1aa5e80b 100644 --- a/OSBindings/Qt/mainwindow.h +++ b/OSBindings/Qt/mainwindow.h @@ -95,6 +95,7 @@ class MainWindow : public QMainWindow, public Outputs::Speaker::Speaker::Delegat void start_macintosh(); void start_msx(); void start_oric(); + void start_pc(); void start_spectrum(); void start_vic20(); void start_zx80(); diff --git a/OSBindings/Qt/mainwindow.ui b/OSBindings/Qt/mainwindow.ui index ca366a9d4..ab25f2df6 100644 --- a/OSBindings/Qt/mainwindow.ui +++ b/OSBindings/Qt/mainwindow.ui @@ -39,7 +39,7 @@ - + Chip RAM: @@ -65,7 +65,7 @@ - + Fast RAM: @@ -129,7 +129,7 @@ - + Model: @@ -160,7 +160,7 @@ - + Disk Controller: @@ -214,7 +214,7 @@ - + Model: @@ -240,7 +240,7 @@ - + Memory Size: @@ -294,7 +294,7 @@ - + Model: @@ -348,7 +348,7 @@ - + RAM: @@ -437,7 +437,7 @@ - + Model: @@ -463,7 +463,7 @@ - + Speed: @@ -484,7 +484,7 @@ - + EXOS: @@ -510,7 +510,7 @@ - + BASIC: @@ -541,7 +541,7 @@ - + DOS: @@ -590,7 +590,7 @@ - + Model: @@ -649,7 +649,7 @@ - + Model @@ -691,7 +691,7 @@ - + Region @@ -772,7 +772,7 @@ - + Model: @@ -798,7 +798,7 @@ - + Disk Interface: @@ -852,6 +852,76 @@ + + + PC Compatible + + + + + + + + + + Video Adaptor: + + + + + + + + MDA + + + + + CGA + + + + + + + + Speed: + + + + + + + + Similar to Original + + + + + Turbo + + + + + + + + + + Qt::Horizontal + + + + 40 + 20 + + + + + + + + Vic-20 @@ -862,7 +932,7 @@ - + Region: @@ -898,7 +968,7 @@ - + Memory Size: @@ -972,7 +1042,7 @@ - + Memory Size: @@ -1041,7 +1111,7 @@ - + Memory Size: @@ -1090,7 +1160,7 @@ - + Model: