diff --git a/OSBindings/Qt/mainwindow.cpp b/OSBindings/Qt/mainwindow.cpp index add5a4183..95bebc313 100644 --- a/OSBindings/Qt/mainwindow.cpp +++ b/OSBindings/Qt/mainwindow.cpp @@ -953,6 +953,7 @@ void MainWindow::setButtonPressed(int index, bool isPressed) { #include "../../Analyser/Static/AppleIIgs/Target.hpp" #include "../../Analyser/Static/AtariST/Target.hpp" #include "../../Analyser/Static/Commodore/Target.hpp" +#include "../../Analyser/Static/Enterprise/Target.hpp" #include "../../Analyser/Static/Macintosh/Target.hpp" #include "../../Analyser/Static/MSX/Target.hpp" #include "../../Analyser/Static/Oric/Target.hpp" @@ -973,6 +974,7 @@ void MainWindow::startMachine() { TEST(amstradCPC); TEST(atariST); TEST(electron); + TEST(enterprise); TEST(macintosh); TEST(msx); TEST(oric); @@ -1057,6 +1059,38 @@ void MainWindow::start_electron() { launchTarget(std::move(target)); } +void MainWindow::start_enterprise() { + using Target = Analyser::Static::Enterprise::Target; + auto target = std::make_unique(); + + switch(ui->enterpriseModelComboBox->currentIndex()) { + default: target->model = Target::Model::Enterprise64; break; + case 1: target->model = Target::Model::Enterprise128; break; + case 2: target->model = Target::Model::Enterprise256; break; + } + + switch(ui->enterpriseEXOSComboBox->currentIndex()) { + default: target->exos_version = Target::EXOSVersion::v10; break; + case 1: target->exos_version = Target::EXOSVersion::v20; break; + case 2: target->exos_version = Target::EXOSVersion::v21; break; + case 3: target->exos_version = Target::EXOSVersion::v23; break; + } + + switch(ui->enterpriseBASICComboBox->currentIndex()) { + default: target->basic_version = Target::BASICVersion::None; break; + case 1: target->basic_version = Target::BASICVersion::v10; break; + case 2: target->basic_version = Target::BASICVersion::v11; break; + case 3: target->basic_version = Target::BASICVersion::v21; break; + } + + switch(ui->enterpriseDOSComboBox->currentIndex()) { + default: target->dos = Target::DOS::None; break; + case 1: target->dos = Target::DOS::EXDOS; break; + } + + launchTarget(std::move(target)); +} + void MainWindow::start_macintosh() { using Target = Analyser::Static::Macintosh::Target; auto target = std::make_unique(); @@ -1212,6 +1246,12 @@ void MainWindow::launchTarget(std::unique_ptr &&target CheckBox(electronAP6CheckBox, "electron.hasAP6"); \ CheckBox(electronSidewaysRAMCheckBox, "electron.fillSidewaysRAM"); \ \ + /* Enterprise. */ \ + ComboBox(enterpriseModelComboBox, "enterprise.model"); \ + ComboBox(enterpriseEXOSComboBox, "enterprise.exos"); \ + ComboBox(enterpriseBASICComboBox, "enterprise.basic"); \ + ComboBox(enterpriseDOSComboBox, "enterprise.dos"); \ + \ /* Macintosh. */ \ ComboBox(macintoshModelComboBox, "macintosh.model"); \ \ diff --git a/OSBindings/Qt/mainwindow.h b/OSBindings/Qt/mainwindow.h index 24f3593e1..0fd3f6978 100644 --- a/OSBindings/Qt/mainwindow.h +++ b/OSBindings/Qt/mainwindow.h @@ -91,6 +91,7 @@ class MainWindow : public QMainWindow, public Outputs::Speaker::Speaker::Delegat void start_amstradCPC(); void start_atariST(); void start_electron(); + void start_enterprise(); void start_macintosh(); void start_msx(); void start_oric(); diff --git a/OSBindings/Qt/mainwindow.ui b/OSBindings/Qt/mainwindow.ui index 931f8a73c..8929705fe 100644 --- a/OSBindings/Qt/mainwindow.ui +++ b/OSBindings/Qt/mainwindow.ui @@ -310,6 +310,138 @@ + + + Enterprise + + + + + + + + + + Model: + + + + + + + + Enterprise 64 + + + + + Enterprise 128 + + + + + Enterprise 256 + + + + + + + + EXOS: + + + + + + + + Version 1.0 + + + + + Version 2.0 + + + + + Version 2.1 + + + + + + + + BASIC: + + + + + + + + None + + + + + Version 1.0 + + + + + Version 1.1 + + + + + Version 2.1 + + + + + + + + DOS: + + + + + + + + None + + + + + EXDOS + + + + + + + + + + Qt::Horizontal + + + + 40 + 20 + + + + + + + + Macintosh @@ -533,75 +665,6 @@ - - - Spectrum - - - - - - - - - - Model: - - - - - - - - 16kb - - - - - 48kb - - - - - 128kb - - - - - +2 - - - - - +2a - - - - - +3 - - - - - - - - - - Qt::Horizontal - - - - 40 - 20 - - - - - - - - Vic-20 @@ -830,6 +893,75 @@ + + + ZX Spectrum + + + + + + + + + + Model: + + + + + + + + 16kb + + + + + 48kb + + + + + 128kb + + + + + +2 + + + + + +2a + + + + + +3 + + + + + + + + + + Qt::Horizontal + + + + 40 + 20 + + + + + + + +