diff --git a/.gitignore b/.gitignore index fe3a35b37..79cfbb168 100644 --- a/.gitignore +++ b/.gitignore @@ -36,3 +36,6 @@ Makefile /.vs /.vscode src/win/RCa04980 + +# Qt Creator +CMakeLists.txt.user diff --git a/src/qt/qt_machinestatus.cpp b/src/qt/qt_machinestatus.cpp index a2b44b36e..af81fc1e0 100644 --- a/src/qt/qt_machinestatus.cpp +++ b/src/qt/qt_machinestatus.cpp @@ -239,7 +239,8 @@ void MachineStatus::iterateCDROM(const std::function &cb) { for (size_t i = 0; i < CDROM_NUM; i++) { /* Could be Internal or External IDE.. */ if ((cdrom[i].bus_type == CDROM_BUS_ATAPI) && - !hasIDE() && hdc_name != QStringLiteral("ide")) + !hasIDE() && hdc_name != QStringLiteral("ide") && + hdc_name != QStringLiteral("xtide")) continue; if ((cdrom[i].bus_type == CDROM_BUS_SCSI) && !hasSCSI() && (scsi_card_current[0] == 0) && (scsi_card_current[1] == 0) && @@ -256,7 +257,8 @@ void MachineStatus::iterateZIP(const std::function &cb) { for (size_t i = 0; i < ZIP_NUM; i++) { /* Could be Internal or External IDE.. */ if ((zip_drives[i].bus_type == ZIP_BUS_ATAPI) && - !hasIDE() && hdc_name != QStringLiteral("ide")) + !hasIDE() && hdc_name != QStringLiteral("ide") && + hdc_name != QStringLiteral("xtide")) continue; if ((zip_drives[i].bus_type == ZIP_BUS_SCSI) && !hasSCSI() && (scsi_card_current[0] == 0) && (scsi_card_current[1] == 0) && @@ -273,7 +275,8 @@ void MachineStatus::iterateMO(const std::function &cb) { for (size_t i = 0; i < MO_NUM; i++) { /* Could be Internal or External IDE.. */ if ((mo_drives[i].bus_type == MO_BUS_ATAPI) && - !hasIDE() && hdc_name != QStringLiteral("ide")) + !hasIDE() && hdc_name != QStringLiteral("ide") && + hdc_name != QStringLiteral("xtide")) continue; if ((mo_drives[i].bus_type == MO_BUS_SCSI) && !hasSCSI() && (scsi_card_current[0] == 0) && (scsi_card_current[1] == 0) && diff --git a/src/qt/qt_mediamenu.cpp b/src/qt/qt_mediamenu.cpp index f89c25447..94cdb73f1 100644 --- a/src/qt/qt_mediamenu.cpp +++ b/src/qt/qt_mediamenu.cpp @@ -145,7 +145,7 @@ void MediaMenu::cassetteNewImage() { } void MediaMenu::cassetteSelectImage(bool wp) { - auto filename = QFileDialog::getOpenFileName(parentWidget, "Open", QString(), "Cassette images (*.pcm;*.raw;*.wav;*.cas);;All files (*)"); + auto filename = QFileDialog::getOpenFileName(parentWidget, "Open", QString(), "Cassette images (*.pcm *.PCM *.raw *.RAW *.wav *.WAV *.cas *.CAS);;All files (*)"); cassetteMount(filename, wp); } @@ -199,7 +199,7 @@ void MediaMenu::cassetteUpdateMenu() { } void MediaMenu::cartridgeSelectImage(int i) { - auto filename = QFileDialog::getOpenFileName(parentWidget, "Open", QString(), "Cartridge images (*.a;*.b;*.jrc);;All files (*)"); + auto filename = QFileDialog::getOpenFileName(parentWidget, "Open", QString(), "Cartridge images (*.a *.b *.jrc *.A *.B *.JRC);;All files (*)"); if (filename.isEmpty()) { return; } @@ -241,7 +241,7 @@ void MediaMenu::floppyNewImage(int i) { } void MediaMenu::floppySelectImage(int i, bool wp) { - auto filename = QFileDialog::getOpenFileName(parentWidget, "Open", QString(), "All images (*.0?? *.1?? *.??0 *.86F *.BIN *.CQ? *.D?? *.FLP *.HDM *.IM? *.JSON *.TD0 *.*FD? *.MFM *.XDF);;Advanced sector images (*.IMD *.JSON *.TD0);;Basic sector images (*.0?? *.1?? *.??0 *.BIN *.CQ? *.D?? *.FLP *.HDM *.IM? *.XDF *.*FD?);;Flux images (*.FDI);;Surface images (*.86F *.MFM);;All files (*)"); + auto filename = QFileDialog::getOpenFileName(parentWidget, "Open", QString(), "All images (*.0?? *.1?? *.??0 *.86F *.86f *.BIN *.bin *.CQ? *.CQ *.D?? *.d *.FLP *.flp *.HDM *.hdm *.IM? *.im? *.JSON *.json *.TD0 *.td0 *.*FD? *.*fd? *.MFM *.mfm *.XDF *.xdf);;Advanced sector images (*.IMD *.imd *.JSON *.json *.TD0 *.td0);;Basic sector images (*.0?? *.1?? *.??0 *.BIN *.bin *.CQ? *.cq? *.D?? *.d?? *.FLP *.flp *.HDM *.hdm *.IM? *.im? *.XDF *.xdf *.*FD? *.*fd?);;Flux images (*.FDI *.fdi);;Surface images (*.86F *.86f *.MFM *.mfm);;All files (*)"); floppyMount(i, filename, wp); } diff --git a/src/qt/qt_platform.cpp b/src/qt/qt_platform.cpp index c2bb7a751..d33ba24ac 100644 --- a/src/qt/qt_platform.cpp +++ b/src/qt/qt_platform.cpp @@ -54,6 +54,8 @@ extern "C" { #include <86box/86box.h> #include <86box/device.h> #include <86box/gameport.h> +#include <86box/timer.h> +#include <86box/nvr.h> #include <86box/plat_dynld.h> #include <86box/config.h> #include <86box/ui.h> @@ -328,6 +330,9 @@ plat_pause(int p) static wchar_t oldtitle[512]; wchar_t title[512]; + if ((p == 0) && (time_sync & TIME_SYNC_ENABLED)) + nvr_time_sync(); + dopause = p; if (p) { wcsncpy(oldtitle, ui_window_title(NULL), sizeof_w(oldtitle) - 1); diff --git a/src/qt/qt_settingssound.cpp b/src/qt/qt_settingssound.cpp index 35adcf295..fa8188567 100644 --- a/src/qt/qt_settingssound.cpp +++ b/src/qt/qt_settingssound.cpp @@ -169,7 +169,7 @@ void SettingsSound::on_comboBoxMidiOut_currentIndexChanged(int index) { return; } ui->pushButtonConfigureMidiOut->setEnabled(midi_device_has_config(ui->comboBoxMidiOut->currentData().toInt())); - ui->checkBoxMPU401->setEnabled(allowMpu401(ui)); + ui->checkBoxMPU401->setEnabled(allowMpu401(ui) && (machine_has_bus(machineId, MACHINE_BUS_ISA) || machine_has_bus(machineId, MACHINE_BUS_MCA))); ui->pushButtonConfigureMPU401->setEnabled(allowMpu401(ui) && ui->checkBoxMPU401->isChecked()); } @@ -182,7 +182,7 @@ void SettingsSound::on_comboBoxMidiIn_currentIndexChanged(int index) { return; } ui->pushButtonConfigureMidiIn->setEnabled(midi_in_device_has_config(ui->comboBoxMidiIn->currentData().toInt())); - ui->checkBoxMPU401->setEnabled(allowMpu401(ui)); + ui->checkBoxMPU401->setEnabled(allowMpu401(ui) && (machine_has_bus(machineId, MACHINE_BUS_ISA) || machine_has_bus(machineId, MACHINE_BUS_MCA))); ui->pushButtonConfigureMPU401->setEnabled(allowMpu401(ui) && ui->checkBoxMPU401->isChecked()); }