From fd569201efad565a320e3b2ec500ab86eaf57107 Mon Sep 17 00:00:00 2001 From: Thomas Harte Date: Thu, 23 Dec 2021 11:28:44 -0500 Subject: [PATCH] Add Qt GUI for Amiga memory selection. --- OSBindings/Qt/mainwindow.cpp | 18 +++++++- OSBindings/Qt/mainwindow.ui | 88 +++++++++++++++++++++++++++++++++--- 2 files changed, 99 insertions(+), 7 deletions(-) diff --git a/OSBindings/Qt/mainwindow.cpp b/OSBindings/Qt/mainwindow.cpp index 4c41ea43f..39a1b646a 100644 --- a/OSBindings/Qt/mainwindow.cpp +++ b/OSBindings/Qt/mainwindow.cpp @@ -1016,7 +1016,19 @@ void MainWindow::start_amiga() { using Target = Analyser::Static::Amiga::Target; auto target = std::make_unique(); - /* There are no options yet for an Amiga. */ + switch(ui->amigaChipRAMComboBox->currentIndex()) { + default: target->chip_ram = Target::ChipRAM::FiveHundredAndTwelveKilobytes; break; + case 1: target->chip_ram = Target::ChipRAM::OneMegabyte; break; + case 2: target->chip_ram = Target::ChipRAM::TwoMegabytes; break; + } + + switch(ui->amigaFastRAMComboBox->currentIndex()) { + default: target->fast_ram = Target::FastRAM::None; break; + case 1: target->fast_ram = Target::FastRAM::OneMegabyte; break; + case 2: target->fast_ram = Target::FastRAM::TwoMegabytes; break; + case 3: target->fast_ram = Target::FastRAM::FourMegabytes; break; + case 4: target->fast_ram = Target::FastRAM::EightMegabytes; break; + } launchTarget(std::move(target)); } @@ -1247,6 +1259,10 @@ void MainWindow::launchTarget(std::unique_ptr &&target /* Machine selection. */ \ Tabs(machineSelectionTabs, "machineSelection"); \ \ + /* Amiga. */ \ + ComboBox(amigaChipRAMComboBox, "amiga.chipRAM"); \ + ComboBox(amigaFastRAMComboBox, "amiga.fastRAM"); \ + \ /* Apple II. */ \ ComboBox(appleIIModelComboBox, "appleII.model"); \ ComboBox(appleIIDiskControllerComboBox, "appleII.diskController"); \ diff --git a/OSBindings/Qt/mainwindow.ui b/OSBindings/Qt/mainwindow.ui index 88fb31684..2bbbc29a2 100644 --- a/OSBindings/Qt/mainwindow.ui +++ b/OSBindings/Qt/mainwindow.ui @@ -34,12 +34,88 @@ Amiga - - - - At present only a 1mb Amiga 500 is supported. - - + + + + + + + + Chip RAM: + + + + + + + + 512 kb + + + + + 1 mb + + + + + 2 mb + + + + + + + + Fast RAM: + + + + + + + + None + + + + + 1 mb + + + + + 2 mb + + + + + 4 mb + + + + + 8 mb + + + + + + + + + + Qt::Horizontal + + + + 40 + 20 + + + + +