Merge pull request #1837 from TomHarte/QtSelection
Update Qt UI for Thomson and Tandy machine selections.
This commit is contained in:
5 files changed
+110
-13
No files matched your search
@@ -16,8 +16,6 @@ DiskController::DiskController() : WD::WD1770(P1773) {
|
||||
}
|
||||
|
||||
void DiskController::set_control(const uint8_t value) {
|
||||
// TODO:
|
||||
//
|
||||
// b7: halt flag, 1 = enabled
|
||||
// b6: drive select 3
|
||||
// b5: density, 1 = double
|
||||
|
||||
@@ -1186,7 +1186,7 @@ const std::vector<Description> &Description::all_roms() {
|
||||
{
|
||||
OlivettiProdest128,
|
||||
"Thomson",
|
||||
"the Olivetti Prodest 127 ROM",
|
||||
"the Olivetti Prodest 128 ROM",
|
||||
"pc128.rom",
|
||||
64_kb,
|
||||
0xfc173504u
|
||||
|
||||
@@ -14,9 +14,9 @@
|
||||
#include <cstdio>
|
||||
#include <memory>
|
||||
|
||||
#include "../../Configurable/StandardOptions.hpp"
|
||||
#include "../../Machines/Utility/ROMLibrary.hpp"
|
||||
#include "../../Numeric/CRC.hpp"
|
||||
#include "../../Configurable/StandardOptions.hpp"
|
||||
|
||||
namespace {
|
||||
|
||||
@@ -282,7 +282,7 @@ void MainWindow::launchMachine() {
|
||||
}
|
||||
}
|
||||
|
||||
// Fallback: check the ROM catalogue.
|
||||
// Fallback: check the ROM library.
|
||||
if(results.find(description.name) == results.end()) {
|
||||
auto data = ROM::included_rom_image(description.name);
|
||||
if(data.has_value()) {
|
||||
@@ -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,9 +1284,25 @@ void MainWindow::start_spectrum() {
|
||||
launchTarget(std::move(target));
|
||||
}
|
||||
|
||||
void MainWindow::start_tandyCoCo() {
|
||||
using Target = Analyser::Static::TandyCoCo::Target;
|
||||
auto target = std::make_unique<Target>();
|
||||
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<Target>();
|
||||
switch(ui->thomsonModelComboBox->currentIndex()) {
|
||||
default: target->model = Target::Model::MO5v11; break;
|
||||
case 1: target->model = Target::Model::MO6v3; break;
|
||||
case 2: target->model = Target::Model::Prodest128; break;
|
||||
}
|
||||
target->floppy = ui->thomsonDiskDriveCheckBox->isChecked() ? Target::Floppy::CD90_640 : Target::Floppy::None;
|
||||
launchTarget(std::move(target));
|
||||
}
|
||||
@@ -1428,7 +1445,12 @@ 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");
|
||||
|
||||
/* Vic-20 */
|
||||
|
||||
@@ -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();
|
||||
|
||||
@@ -222,17 +222,17 @@
|
||||
<widget class="QComboBox" name="appleIIgsMemorySizeComboBox">
|
||||
<item>
|
||||
<property name="text">
|
||||
<string>256kb</string>
|
||||
<string>256 kb</string>
|
||||
</property>
|
||||
</item>
|
||||
<item>
|
||||
<property name="text">
|
||||
<string>1mb</string>
|
||||
<string>1 mb</string>
|
||||
</property>
|
||||
</item>
|
||||
<item>
|
||||
<property name="text">
|
||||
<string>8mb</string>
|
||||
<string>8 mb</string>
|
||||
</property>
|
||||
</item>
|
||||
</widget>
|
||||
@@ -821,11 +821,87 @@
|
||||
</item>
|
||||
</layout>
|
||||
</widget>
|
||||
<widget class="QWidget" name="thomsonTab">
|
||||
<widget class="QWidget" name="tandyCoCoTab">
|
||||
<attribute name="title">
|
||||
<string>Thomson MO5</string>
|
||||
<string>Tandy CoCo</string>
|
||||
</attribute>
|
||||
<layout class="QVBoxLayout">
|
||||
<item>
|
||||
<layout class="QFormLayout">
|
||||
<item row="1" column="0">
|
||||
<widget class="QLabel">
|
||||
<property name="text">
|
||||
<string>Memory Size:</string>
|
||||
</property>
|
||||
</widget>
|
||||
</item>
|
||||
<item row="1" column="1">
|
||||
<widget class="QComboBox" name="tandyCoCoMemorySizeComboBox">
|
||||
<item>
|
||||
<property name="text">
|
||||
<string>32 kb</string>
|
||||
</property>
|
||||
</item>
|
||||
<item>
|
||||
<property name="text">
|
||||
<string>64 kb</string>
|
||||
</property>
|
||||
</item>
|
||||
</widget>
|
||||
</item>
|
||||
</layout>
|
||||
</item>
|
||||
<item>
|
||||
<widget class="QCheckBox" name="tandyCoCoDiskDriveCheckBox">
|
||||
<property name="text">
|
||||
<string>With Disk Drive</string>
|
||||
</property>
|
||||
</widget>
|
||||
</item>
|
||||
<item>
|
||||
<spacer>
|
||||
<property name="orientation">
|
||||
<enum>Qt::Orientation::Vertical</enum>
|
||||
</property>
|
||||
</spacer>
|
||||
</item>
|
||||
</layout>
|
||||
</widget>
|
||||
<widget class="QWidget" name="thomsonTab">
|
||||
<attribute name="title">
|
||||
<string>Thomson MO</string>
|
||||
</attribute>
|
||||
<layout class="QVBoxLayout">
|
||||
<item>
|
||||
<layout class="QFormLayout">
|
||||
<item row="1" column="0">
|
||||
<widget class="QLabel">
|
||||
<property name="text">
|
||||
<string>Model:</string>
|
||||
</property>
|
||||
</widget>
|
||||
</item>
|
||||
<item row="1" column="1">
|
||||
<widget class="QComboBox" name="thomsonModelComboBox">
|
||||
<item>
|
||||
<property name="text">
|
||||
<string>MO5</string>
|
||||
</property>
|
||||
</item>
|
||||
<item>
|
||||
<property name="text">
|
||||
<string>MO6</string>
|
||||
</property>
|
||||
</item>
|
||||
<item>
|
||||
<property name="text">
|
||||
<string>Prodest 128</string>
|
||||
</property>
|
||||
</item>
|
||||
</widget>
|
||||
</item>
|
||||
</layout>
|
||||
</item>
|
||||
<item>
|
||||
<widget class="QCheckBox" name="thomsonDiskDriveCheckBox">
|
||||
<property name="text">
|
||||
@@ -1019,17 +1095,17 @@
|
||||
<widget class="QComboBox" name="spectrumModelComboBox">
|
||||
<item>
|
||||
<property name="text">
|
||||
<string>16kb</string>
|
||||
<string>16 kb</string>
|
||||
</property>
|
||||
</item>
|
||||
<item>
|
||||
<property name="text">
|
||||
<string>48kb</string>
|
||||
<string>48 kb</string>
|
||||
</property>
|
||||
</item>
|
||||
<item>
|
||||
<property name="text">
|
||||
<string>128kb</string>
|
||||
<string>128 kb</string>
|
||||
</property>
|
||||
</item>
|
||||
<item>
|
||||
|
||||
Reference in new issue
Block a user