From fdb67ee87203f20cd2bad5123cb8ceabca55eade Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?David=20Hrdli=C4=8Dka?= Date: Mon, 7 Feb 2022 00:21:24 +0100 Subject: [PATCH 01/59] Revert "Turned QT on." This reverts commit 732db12b310be9ee958e4fa0500e1bc72c83a1df. --- CMakeLists.txt | 3 +-- 1 file changed, 1 insertion(+), 2 deletions(-) diff --git a/CMakeLists.txt b/CMakeLists.txt index d768742ed..b8635cdc1 100644 --- a/CMakeLists.txt +++ b/CMakeLists.txt @@ -114,7 +114,7 @@ option(CPPTHREADS "C++11 threads" option(NEW_DYNAREC "Use the PCem v15 (\"new\") dynamic recompiler" OFF) option(MINITRACE "Enable Chrome tracing using the modified minitrace library" OFF) option(DEV_BRANCH "Development branch" OFF) -option(QT "QT GUI" ON) +option(QT "QT GUI" OFF) # Development branch features # @@ -139,7 +139,6 @@ cmake_dependent_option(ISAMEM_BRAT "BocaRAM/AT" # Ditto but for Qt if (QT) - option(QT_STATIC "Statically build QT" ON) option(USE_QT6 "Use Qt6 instead of Qt5" OFF) endif() From 94ce0f9613750ed99df92aec97107f0709e5fc38 Mon Sep 17 00:00:00 2001 From: Cacodemon345 Date: Mon, 7 Feb 2022 12:16:07 +0600 Subject: [PATCH 02/59] Final round of bugfixes --- src/qt/qt_mainwindow.cpp | 8 ++++++++ src/qt/qt_settingsfloppycdrom.cpp | 4 ++-- 2 files changed, 10 insertions(+), 2 deletions(-) diff --git a/src/qt/qt_mainwindow.cpp b/src/qt/qt_mainwindow.cpp index 881053cdc..4383ede9a 100644 --- a/src/qt/qt_mainwindow.cpp +++ b/src/qt/qt_mainwindow.cpp @@ -88,7 +88,15 @@ MainWindow::MainWindow(QWidget *parent) : auto toolbar_label = new QLabel(); ui->toolBar->addWidget(toolbar_label); +#ifdef RELEASE_BUILD + this->setWindowIcon(QIcon(":/settings/win/icons/86Box-green.ico")); +#elif defined ALPHA_BUILD + this->setWindowIcon(QIcon(":/settings/win/icons/86Box-read.ico")) +#elif defined BETA_BUILD this->setWindowIcon(QIcon(":/settings/win/icons/86Box-yellow.ico")); +#else + this->setWindowIcon(QIcon(":/settings/win/icons/86Box-gray.ico")); +#endif this->setWindowFlag(Qt::MSWindowsFixedSizeDialogHint, vid_resize != 1); this->setWindowFlag(Qt::WindowMaximizeButtonHint, vid_resize == 1); diff --git a/src/qt/qt_settingsfloppycdrom.cpp b/src/qt/qt_settingsfloppycdrom.cpp index 0f4ede800..ad6bbfbbf 100644 --- a/src/qt/qt_settingsfloppycdrom.cpp +++ b/src/qt/qt_settingsfloppycdrom.cpp @@ -173,8 +173,8 @@ void SettingsFloppyCDROM::onCDROMRowChanged(const QModelIndex ¤t) { if (! match.isEmpty()) { ui->comboBoxChannel->setCurrentIndex(match.first().row()); } - else ui->comboBoxChannel->setCurrentIndex(8); - ui->comboBoxSpeed->setCurrentIndex(speed - 1); + + ui->comboBoxSpeed->setCurrentIndex(speed == 0 ? 7 : speed - 1); } void SettingsFloppyCDROM::on_checkBoxTurboTimings_stateChanged(int arg1) { From eec8945fa3aee3437190f1d63914fbcb47831ee7 Mon Sep 17 00:00:00 2001 From: Cacodemon345 Date: Mon, 7 Feb 2022 12:30:25 +0600 Subject: [PATCH 03/59] Implement bus tracking for hard disk creation dialog --- src/qt/qt_harddiskdialog.cpp | 23 +++++++++++++++++++++++ 1 file changed, 23 insertions(+) diff --git a/src/qt/qt_harddiskdialog.cpp b/src/qt/qt_harddiskdialog.cpp index 2ed784a42..15032f9ff 100644 --- a/src/qt/qt_harddiskdialog.cpp +++ b/src/qt/qt_harddiskdialog.cpp @@ -22,6 +22,7 @@ extern "C" { #include #include "qt_harddrive_common.hpp" +#include "qt_settings_bus_tracking.hpp" #include "qt_models_common.hpp" #include "qt_util.hpp" @@ -609,6 +610,7 @@ bool HarddiskDialog::checkAndAdjustCylinders() { void HarddiskDialog::on_comboBoxBus_currentIndexChanged(int index) { + int chanIdx = 0; if (index < 0) { return; } @@ -665,6 +667,27 @@ void HarddiskDialog::on_comboBoxBus_currentIndexChanged(int index) { ui->lineEditSectors->setValidator(new QIntValidator(1, max_sectors, this)); Harddrives::populateBusChannels(ui->comboBoxChannel->model(), ui->comboBoxBus->currentData().toInt()); + switch (ui->comboBoxBus->currentData().toInt()) + { + case HDD_BUS_MFM: + chanIdx = (Harddrives::busTrackClass->next_free_mfm_channel()); + break; + case HDD_BUS_XTA: + chanIdx = (Harddrives::busTrackClass->next_free_xta_channel()); + break; + case HDD_BUS_ESDI: + chanIdx = (Harddrives::busTrackClass->next_free_esdi_channel()); + break; + case HDD_BUS_ATAPI: + case HDD_BUS_IDE: + chanIdx = (Harddrives::busTrackClass->next_free_ide_channel()); + break; + case HDD_BUS_SCSI: + chanIdx = (Harddrives::busTrackClass->next_free_scsi_id()); + break; + } + + ui->comboBoxChannel->setCurrentIndex(chanIdx); } void HarddiskDialog::on_lineEditSize_textEdited(const QString &text) { From 88789ec95d08e3c0a7c94c366356c50009e02cd6 Mon Sep 17 00:00:00 2001 From: Cacodemon345 Date: Mon, 7 Feb 2022 12:30:56 +0600 Subject: [PATCH 04/59] Fix about dialog having wrong icon --- src/qt/qt_mainwindow.cpp | 8 ++++++++ 1 file changed, 8 insertions(+) diff --git a/src/qt/qt_mainwindow.cpp b/src/qt/qt_mainwindow.cpp index 4383ede9a..51fed3a57 100644 --- a/src/qt/qt_mainwindow.cpp +++ b/src/qt/qt_mainwindow.cpp @@ -1415,7 +1415,15 @@ void MainWindow::on_actionAbout_86Box_triggered() { QDesktopServices::openUrl(QUrl("https://86box.net/")); }); +#ifdef RELEASE_BUILD + msgBox.setIconPixmap(QIcon(":/settings/win/icons/86Box-green.ico").pixmap(32, 32)); +#elif defined ALPHA_BUILD + msgBox.setIconPixmap(QIcon(":/settings/win/icons/86Box-read.ico").pixmap(32, 32)) +#elif defined BETA_BUILD msgBox.setIconPixmap(QIcon(":/settings/win/icons/86Box-yellow.ico").pixmap(32, 32)); +#else + msgBox.setIconPixmap(QIcon(":/settings/win/icons/86Box-gray.ico").pixmap(32, 32)); +#endif msgBox.setWindowFlags(Qt::Dialog | Qt::CustomizeWindowHint | Qt::WindowTitleHint | Qt::WindowCloseButtonHint); msgBox.exec(); } From ad00770410dd854475dbafe6d4ecd0af45d2fbe1 Mon Sep 17 00:00:00 2001 From: Cacodemon345 Date: Mon, 7 Feb 2022 12:51:57 +0600 Subject: [PATCH 05/59] Fix mistyped name for alpha build icon --- src/qt/qt_mainwindow.cpp | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/src/qt/qt_mainwindow.cpp b/src/qt/qt_mainwindow.cpp index 51fed3a57..2e7a212e1 100644 --- a/src/qt/qt_mainwindow.cpp +++ b/src/qt/qt_mainwindow.cpp @@ -91,7 +91,7 @@ MainWindow::MainWindow(QWidget *parent) : #ifdef RELEASE_BUILD this->setWindowIcon(QIcon(":/settings/win/icons/86Box-green.ico")); #elif defined ALPHA_BUILD - this->setWindowIcon(QIcon(":/settings/win/icons/86Box-read.ico")) + this->setWindowIcon(QIcon(":/settings/win/icons/86Box-red.ico")) #elif defined BETA_BUILD this->setWindowIcon(QIcon(":/settings/win/icons/86Box-yellow.ico")); #else @@ -1418,7 +1418,7 @@ void MainWindow::on_actionAbout_86Box_triggered() #ifdef RELEASE_BUILD msgBox.setIconPixmap(QIcon(":/settings/win/icons/86Box-green.ico").pixmap(32, 32)); #elif defined ALPHA_BUILD - msgBox.setIconPixmap(QIcon(":/settings/win/icons/86Box-read.ico").pixmap(32, 32)) + msgBox.setIconPixmap(QIcon(":/settings/win/icons/86Box-red.ico").pixmap(32, 32)) #elif defined BETA_BUILD msgBox.setIconPixmap(QIcon(":/settings/win/icons/86Box-yellow.ico").pixmap(32, 32)); #else From a637f61d4f9f60f609625965ba5501d126017851 Mon Sep 17 00:00:00 2001 From: Cacodemon345 Date: Mon, 7 Feb 2022 15:00:02 +0600 Subject: [PATCH 06/59] Add missing copyright notices --- src/qt/evdev_mouse.cpp | 16 ++++++++++++++++ src/qt/qt.c | 14 ++++++++++++++ src/qt/qt_deviceconfig.cpp | 18 ++++++++++++++++++ src/qt/qt_filefield.cpp | 18 ++++++++++++++++++ src/qt/qt_harddiskdialog.cpp | 18 ++++++++++++++++++ src/qt/qt_harddrive_common.cpp | 16 ++++++++++++++++ src/qt/qt_hardwarerenderer.cpp | 22 +++++++++++++++++++++- src/qt/qt_joystickconfiguration.cpp | 16 ++++++++++++++++ src/qt/qt_machinestatus.cpp | 18 ++++++++++++++++++ src/qt/qt_main.cpp | 19 +++++++++++++++++++ src/qt/qt_mainwindow.cpp | 20 ++++++++++++++++++++ src/qt/qt_mediamenu.cpp | 20 ++++++++++++++++++++ src/qt/qt_models_common.cpp | 16 ++++++++++++++++ src/qt/qt_newfloppydialog.cpp | 20 ++++++++++++++++++++ src/qt/qt_platform.cpp | 19 +++++++++++++++++++ src/qt/qt_progsettings.cpp | 16 ++++++++++++++++ src/qt/qt_renderercommon.cpp | 17 +++++++++++++++++ src/qt/qt_rendererstack.cpp | 20 ++++++++++++++++++++ src/qt/qt_settings.cpp | 18 ++++++++++++++++++ src/qt/qt_settings_bus_tracking.cpp | 18 ++++++++++++++++++ src/qt/qt_settingsdisplay.cpp | 16 ++++++++++++++++ src/qt/qt_settingsfloppycdrom.cpp | 16 ++++++++++++++++ src/qt/qt_settingsharddisks.cpp | 16 ++++++++++++++++ src/qt/qt_settingsinput.cpp | 16 ++++++++++++++++ src/qt/qt_settingsmachine.cpp | 16 ++++++++++++++++ src/qt/qt_settingsnetwork.cpp | 16 ++++++++++++++++ src/qt/qt_settingsotherperipherals.cpp | 16 ++++++++++++++++ src/qt/qt_settingsotherremovable.cpp | 16 ++++++++++++++++ src/qt/qt_settingsports.cpp | 16 ++++++++++++++++ src/qt/qt_settingssound.cpp | 16 ++++++++++++++++ src/qt/qt_settingsstoragecontrollers.cpp | 16 ++++++++++++++++ src/qt/qt_softwarerenderer.cpp | 20 ++++++++++++++++++++ src/qt/qt_soundgain.cpp | 16 ++++++++++++++++ src/qt/qt_specifydimensions.cpp | 16 ++++++++++++++++ src/qt/qt_styleoverride.cpp | 18 +++++++++++++++++- src/qt/qt_ui.cpp | 18 ++++++++++++++++++ src/qt/qt_util.cpp | 18 +++++++++++++++++- src/qt/wl_mouse.cpp | 18 +++++++++++++++++- 38 files changed, 655 insertions(+), 4 deletions(-) diff --git a/src/qt/evdev_mouse.cpp b/src/qt/evdev_mouse.cpp index cb4cd4ffe..c04c8c8d6 100644 --- a/src/qt/evdev_mouse.cpp +++ b/src/qt/evdev_mouse.cpp @@ -1,3 +1,19 @@ +/* + * 86Box A hypervisor and IBM PC system emulator that specializes in + * running old operating systems and software designed for IBM + * PC systems and compatibles from 1981 through fairly recent + * system designs based on the PCI bus. + * + * This file is part of the 86Box distribution. + * + * Linux/FreeBSD libevdev mouse input module. + * + * + * + * Authors: Cacodemon345 + * + * Copyright 2021-2022 Cacodemon345 + */ #include "evdev_mouse.hpp" #include #include diff --git a/src/qt/qt.c b/src/qt/qt.c index 507645c84..259f79c88 100644 --- a/src/qt/qt.c +++ b/src/qt/qt.c @@ -1,3 +1,17 @@ +/* + * 86Box A hypervisor and IBM PC system emulator that specializes in + * running old operating systems and software designed for IBM + * PC systems and compatibles from 1981 through fairly recent + * system designs based on the PCI bus. + * + * This file is part of the 86Box distribution. + * + * + * + * Authors: Joakim L. Gilje + * + * Copyright 2021 Joakim L. Gilje + */ /* * C functionality for Qt platform, where the C equivalent is not easily * implemented in Qt diff --git a/src/qt/qt_deviceconfig.cpp b/src/qt/qt_deviceconfig.cpp index 32e202e76..c51a8a49e 100644 --- a/src/qt/qt_deviceconfig.cpp +++ b/src/qt/qt_deviceconfig.cpp @@ -1,3 +1,21 @@ +/* + * 86Box A hypervisor and IBM PC system emulator that specializes in + * running old operating systems and software designed for IBM + * PC systems and compatibles from 1981 through fairly recent + * system designs based on the PCI bus. + * + * This file is part of the 86Box distribution. + * + * Device configuration UI code. + * + * + * + * Authors: Joakim L. Gilje + * Cacodemon345 + * + * Copyright 2021 Joakim L. Gilje + * Copyright 2022 Cacodemon345 + */ #include "qt_deviceconfig.hpp" #include "ui_qt_deviceconfig.h" diff --git a/src/qt/qt_filefield.cpp b/src/qt/qt_filefield.cpp index 770a244e0..75523c20e 100644 --- a/src/qt/qt_filefield.cpp +++ b/src/qt/qt_filefield.cpp @@ -1,3 +1,21 @@ +/* + * 86Box A hypervisor and IBM PC system emulator that specializes in + * running old operating systems and software designed for IBM + * PC systems and compatibles from 1981 through fairly recent + * system designs based on the PCI bus. + * + * This file is part of the 86Box distribution. + * + * File field widget. + * + * + * + * Authors: Joakim L. Gilje + * Cacodemon345 + * + * Copyright 2021 Joakim L. Gilje + * Copyright 2022 Cacodemon345 + */ #include "qt_filefield.hpp" #include "ui_qt_filefield.h" diff --git a/src/qt/qt_harddiskdialog.cpp b/src/qt/qt_harddiskdialog.cpp index 15032f9ff..3e933ddab 100644 --- a/src/qt/qt_harddiskdialog.cpp +++ b/src/qt/qt_harddiskdialog.cpp @@ -1,3 +1,21 @@ +/* + * 86Box A hypervisor and IBM PC system emulator that specializes in + * running old operating systems and software designed for IBM + * PC systems and compatibles from 1981 through fairly recent + * system designs based on the PCI bus. + * + * This file is part of the 86Box distribution. + * + * Hard disk dialog code. + * + * + * + * Authors: Joakim L. Gilje + * Cacodemon345 + * + * Copyright 2021 Joakim L. Gilje + * Copyright 2022 Cacodemon345 + */ #include "qt_harddiskdialog.hpp" #include "ui_qt_harddiskdialog.h" diff --git a/src/qt/qt_harddrive_common.cpp b/src/qt/qt_harddrive_common.cpp index fbc60f627..fa08f7f2c 100644 --- a/src/qt/qt_harddrive_common.cpp +++ b/src/qt/qt_harddrive_common.cpp @@ -1,3 +1,19 @@ +/* + * 86Box A hypervisor and IBM PC system emulator that specializes in + * running old operating systems and software designed for IBM + * PC systems and compatibles from 1981 through fairly recent + * system designs based on the PCI bus. + * + * This file is part of the 86Box distribution. + * + * Common storage devices module. + * + * + * + * Authors: Joakim L. Gilje + * + * Copyright 2021 Joakim L. Gilje + */ #include "qt_harddrive_common.hpp" #include diff --git a/src/qt/qt_hardwarerenderer.cpp b/src/qt/qt_hardwarerenderer.cpp index ca0e60efb..b322cbaf2 100644 --- a/src/qt/qt_hardwarerenderer.cpp +++ b/src/qt/qt_hardwarerenderer.cpp @@ -1,3 +1,23 @@ +/* + * 86Box A hypervisor and IBM PC system emulator that specializes in + * running old operating systems and software designed for IBM + * PC systems and compatibles from 1981 through fairly recent + * system designs based on the PCI bus. + * + * This file is part of the 86Box distribution. + * + * Hardware renderer module. + * + * + * + * Authors: Joakim L. Gilje + * Cacodemon345 + * Teemu Korhonen + * + * Copyright 2021 Joakim L. Gilje + * Copyright 2021-2022 Cacodemon345 + * Copyright 2021-2022 Teemu Korhonen + */ #include "qt_hardwarerenderer.hpp" #include #include @@ -199,4 +219,4 @@ std::vector> HardwareRenderer::getBuffer buffers.push_back(std::make_tuple(imagebufs[1].get(), &buf_usage[1])); return buffers; -} \ No newline at end of file +} diff --git a/src/qt/qt_joystickconfiguration.cpp b/src/qt/qt_joystickconfiguration.cpp index 83b2f50be..594a1ef17 100644 --- a/src/qt/qt_joystickconfiguration.cpp +++ b/src/qt/qt_joystickconfiguration.cpp @@ -1,3 +1,19 @@ +/* + * 86Box A hypervisor and IBM PC system emulator that specializes in + * running old operating systems and software designed for IBM + * PC systems and compatibles from 1981 through fairly recent + * system designs based on the PCI bus. + * + * This file is part of the 86Box distribution. + * + * Joystick configuration UI module. + * + * + * + * Authors: Joakim L. Gilje + * + * Copyright 2021 Joakim L. Gilje + */ #include "qt_joystickconfiguration.hpp" #include "ui_qt_joystickconfiguration.h" diff --git a/src/qt/qt_machinestatus.cpp b/src/qt/qt_machinestatus.cpp index b844ade83..47274994a 100644 --- a/src/qt/qt_machinestatus.cpp +++ b/src/qt/qt_machinestatus.cpp @@ -1,3 +1,21 @@ +/* + * 86Box A hypervisor and IBM PC system emulator that specializes in + * running old operating systems and software designed for IBM + * PC systems and compatibles from 1981 through fairly recent + * system designs based on the PCI bus. + * + * This file is part of the 86Box distribution. + * + * Joystick configuration UI module. + * + * + * + * Authors: Joakim L. Gilje + * Cacodemon345 + * + * Copyright 2021 Joakim L. Gilje + * Copyright 2021-2022 Cacodemon345 + */ #include "qt_machinestatus.hpp" extern "C" { diff --git a/src/qt/qt_main.cpp b/src/qt/qt_main.cpp index a6a999fa1..b95d1e9e9 100644 --- a/src/qt/qt_main.cpp +++ b/src/qt/qt_main.cpp @@ -1,3 +1,22 @@ +/* + * 86Box A hypervisor and IBM PC system emulator that specializes in + * running old operating systems and software designed for IBM + * PC systems and compatibles from 1981 through fairly recent + * system designs based on the PCI bus. + * + * This file is part of the 86Box distribution. + * + * Main entry point module + * + * + * Authors: Joakim L. Gilje + * Cacodemon345 + * Teemu Korhonen + * + * Copyright 2021 Joakim L. Gilje + * Copyright 2021-2022 Cacodemon345 + * Copyright 2021-2022 Teemu Korhonen + */ #include #include #include diff --git a/src/qt/qt_mainwindow.cpp b/src/qt/qt_mainwindow.cpp index 51fed3a57..564ef3506 100644 --- a/src/qt/qt_mainwindow.cpp +++ b/src/qt/qt_mainwindow.cpp @@ -1,3 +1,23 @@ +/* + * 86Box A hypervisor and IBM PC system emulator that specializes in + * running old operating systems and software designed for IBM + * PC systems and compatibles from 1981 through fairly recent + * system designs based on the PCI bus. + * + * This file is part of the 86Box distribution. + * + * Main window module. + * + * + * + * Authors: Joakim L. Gilje + * Cacodemon345 + * Teemu Korhonen + * + * Copyright 2021 Joakim L. Gilje + * Copyright 2021-2022 Cacodemon345 + * Copyright 2021-2022 Teemu Korhonen + */ #include "qt_mainwindow.hpp" #include "ui_qt_mainwindow.h" diff --git a/src/qt/qt_mediamenu.cpp b/src/qt/qt_mediamenu.cpp index 2aabe04a8..8ffccffdd 100644 --- a/src/qt/qt_mediamenu.cpp +++ b/src/qt/qt_mediamenu.cpp @@ -1,3 +1,23 @@ +/* + * 86Box A hypervisor and IBM PC system emulator that specializes in + * running old operating systems and software designed for IBM + * PC systems and compatibles from 1981 through fairly recent + * system designs based on the PCI bus. + * + * This file is part of the 86Box distribution. + * + * Media menu UI module. + * + * + * + * Authors: Joakim L. Gilje + * Cacodemon345 + * Teemu Korhonen + * + * Copyright 2021 Joakim L. Gilje + * Copyright 2021-2022 Cacodemon345 + * Copyright 2021-2022 Teemu Korhonen + */ #include "qt_mediamenu.hpp" #include "qt_machinestatus.hpp" diff --git a/src/qt/qt_models_common.cpp b/src/qt/qt_models_common.cpp index 892048605..eaa14bc0d 100644 --- a/src/qt/qt_models_common.cpp +++ b/src/qt/qt_models_common.cpp @@ -1,3 +1,19 @@ +/* + * 86Box A hypervisor and IBM PC system emulator that specializes in + * running old operating systems and software designed for IBM + * PC systems and compatibles from 1981 through fairly recent + * system designs based on the PCI bus. + * + * This file is part of the 86Box distribution. + * + * Common storage devices module. + * + * + * + * Authors: Joakim L. Gilje + * + * Copyright 2021 Joakim L. Gilje + */ #include "qt_models_common.hpp" #include diff --git a/src/qt/qt_newfloppydialog.cpp b/src/qt/qt_newfloppydialog.cpp index 9450dfe1c..1a9d1364a 100644 --- a/src/qt/qt_newfloppydialog.cpp +++ b/src/qt/qt_newfloppydialog.cpp @@ -1,3 +1,23 @@ +/* + * 86Box A hypervisor and IBM PC system emulator that specializes in + * running old operating systems and software designed for IBM + * PC systems and compatibles from 1981 through fairly recent + * system designs based on the PCI bus. + * + * This file is part of the 86Box distribution. + * + * Common storage devices module. + * + * + * + * Authors: Joakim L. Gilje + * Cacodemon345 + * Teemu Korhonen + * + * Copyright 2021 Joakim L. Gilje + * Copyright 2022 Cacodemon345 + * Copyright 2022 Teemu Korhonen + */ #include "qt_newfloppydialog.hpp" #include "ui_qt_newfloppydialog.h" diff --git a/src/qt/qt_platform.cpp b/src/qt/qt_platform.cpp index b13e2a877..97ef5d649 100644 --- a/src/qt/qt_platform.cpp +++ b/src/qt/qt_platform.cpp @@ -1,3 +1,22 @@ +/* + * 86Box A hypervisor and IBM PC system emulator that specializes in + * running old operating systems and software designed for IBM + * PC systems and compatibles from 1981 through fairly recent + * system designs based on the PCI bus. + * + * This file is part of the 86Box distribution. + * + * Main entry point module + * + * + * Authors: Joakim L. Gilje + * Cacodemon345 + * Teemu Korhonen + * + * Copyright 2021 Joakim L. Gilje + * Copyright 2021-2022 Cacodemon345 + * Copyright 2021-2022 Teemu Korhonen + */ #include #include diff --git a/src/qt/qt_progsettings.cpp b/src/qt/qt_progsettings.cpp index f7fbd2ea6..c51070132 100644 --- a/src/qt/qt_progsettings.cpp +++ b/src/qt/qt_progsettings.cpp @@ -1,3 +1,19 @@ +/* + * 86Box A hypervisor and IBM PC system emulator that specializes in + * running old operating systems and software designed for IBM + * PC systems and compatibles from 1981 through fairly recent + * system designs based on the PCI bus. + * + * This file is part of the 86Box distribution. + * + * Program settings UI module. + * + * + * + * Authors: Cacodemon345 + * + * Copyright 2021-2022 Cacodemon345 + */ #include #include "qt_progsettings.hpp" diff --git a/src/qt/qt_renderercommon.cpp b/src/qt/qt_renderercommon.cpp index 10cd72d8c..0974c1f78 100644 --- a/src/qt/qt_renderercommon.cpp +++ b/src/qt/qt_renderercommon.cpp @@ -1,3 +1,20 @@ +/* + * 86Box A hypervisor and IBM PC system emulator that specializes in + * running old operating systems and software designed for IBM + * PC systems and compatibles from 1981 through fairly recent + * system designs based on the PCI bus. + * + * This file is part of the 86Box distribution. + * + * Program settings UI module. + * + * + * + * Authors: Joakim L. Gilje + * + * Copyright 2021 Joakim L. Gilje + */ + #include "qt_renderercommon.hpp" #include "qt_mainwindow.hpp" diff --git a/src/qt/qt_rendererstack.cpp b/src/qt/qt_rendererstack.cpp index b07ed34f7..eff53d441 100644 --- a/src/qt/qt_rendererstack.cpp +++ b/src/qt/qt_rendererstack.cpp @@ -1,3 +1,23 @@ +/* + * 86Box A hypervisor and IBM PC system emulator that specializes in + * running old operating systems and software designed for IBM + * PC systems and compatibles from 1981 through fairly recent + * system designs based on the PCI bus. + * + * This file is part of the 86Box distribution. + * + * Program settings UI module. + * + * + * + * Authors: Joakim L. Gilje + * Cacodemon345 + * Teemu Korhonen + * + * Copyright 2021 Joakim L. Gilje + * Copyright 2021-2021 Teemu Korhonen + * Copyright 2021-2022 Cacodemon345 + */ #include "qt_rendererstack.hpp" #include "ui_qt_rendererstack.h" diff --git a/src/qt/qt_settings.cpp b/src/qt/qt_settings.cpp index b7678bb8e..c8312013a 100644 --- a/src/qt/qt_settings.cpp +++ b/src/qt/qt_settings.cpp @@ -1,3 +1,21 @@ +/* + * 86Box A hypervisor and IBM PC system emulator that specializes in + * running old operating systems and software designed for IBM + * PC systems and compatibles from 1981 through fairly recent + * system designs based on the PCI bus. + * + * This file is part of the 86Box distribution. + * + * Program settings UI module. + * + * + * + * Authors: Joakim L. Gilje + * Cacodemon345 + * + * Copyright 2021 Joakim L. Gilje + * Copyright 2021-2022 Cacodemon345 + */ #include "qt_settings.hpp" #include "ui_qt_settings.h" diff --git a/src/qt/qt_settings_bus_tracking.cpp b/src/qt/qt_settings_bus_tracking.cpp index 3744c10c7..41c7990da 100644 --- a/src/qt/qt_settings_bus_tracking.cpp +++ b/src/qt/qt_settings_bus_tracking.cpp @@ -1,3 +1,21 @@ +/* + * 86Box A hypervisor and IBM PC system emulator that specializes in + * running old operating systems and software designed for IBM + * PC systems and compatibles from 1981 through fairly recent + * system designs based on the PCI bus. + * + * This file is part of the 86Box distribution. + * + * Program settings UI module. + * + * + * + * Authors: Miran Grca + * Cacodemon345 + * + * Copyright 2022 Miran Grca + * Copyright 2022 Cacodemon345 + */ #include #include #include diff --git a/src/qt/qt_settingsdisplay.cpp b/src/qt/qt_settingsdisplay.cpp index 4cd604305..b3a2cfd0d 100644 --- a/src/qt/qt_settingsdisplay.cpp +++ b/src/qt/qt_settingsdisplay.cpp @@ -1,3 +1,19 @@ +/* + * 86Box A hypervisor and IBM PC system emulator that specializes in + * running old operating systems and software designed for IBM + * PC systems and compatibles from 1981 through fairly recent + * system designs based on the PCI bus. + * + * This file is part of the 86Box distribution. + * + * Display settings UI module. + * + * + * + * Authors: Joakim L. Gilje + * + * Copyright 2021 Joakim L. Gilje + */ #include "qt_settingsdisplay.hpp" #include "ui_qt_settingsdisplay.h" diff --git a/src/qt/qt_settingsfloppycdrom.cpp b/src/qt/qt_settingsfloppycdrom.cpp index ad6bbfbbf..4d813737f 100644 --- a/src/qt/qt_settingsfloppycdrom.cpp +++ b/src/qt/qt_settingsfloppycdrom.cpp @@ -1,3 +1,19 @@ +/* + * 86Box A hypervisor and IBM PC system emulator that specializes in + * running old operating systems and software designed for IBM + * PC systems and compatibles from 1981 through fairly recent + * system designs based on the PCI bus. + * + * This file is part of the 86Box distribution. + * + * Floppy/CD-ROM devices configuration UI module. + * + * + * + * Authors: Joakim L. Gilje + * + * Copyright 2021 Joakim L. Gilje + */ #include "qt_settingsfloppycdrom.hpp" #include "ui_qt_settingsfloppycdrom.h" diff --git a/src/qt/qt_settingsharddisks.cpp b/src/qt/qt_settingsharddisks.cpp index ac3ec67ca..692437743 100644 --- a/src/qt/qt_settingsharddisks.cpp +++ b/src/qt/qt_settingsharddisks.cpp @@ -1,3 +1,19 @@ +/* + * 86Box A hypervisor and IBM PC system emulator that specializes in + * running old operating systems and software designed for IBM + * PC systems and compatibles from 1981 through fairly recent + * system designs based on the PCI bus. + * + * This file is part of the 86Box distribution. + * + * Hard disk configuration UI module. + * + * + * + * Authors: Joakim L. Gilje + * + * Copyright 2021 Joakim L. Gilje + */ #include "qt_settingsharddisks.hpp" #include "ui_qt_settingsharddisks.h" diff --git a/src/qt/qt_settingsinput.cpp b/src/qt/qt_settingsinput.cpp index f9b99dd7a..120065a88 100644 --- a/src/qt/qt_settingsinput.cpp +++ b/src/qt/qt_settingsinput.cpp @@ -1,3 +1,19 @@ +/* + * 86Box A hypervisor and IBM PC system emulator that specializes in + * running old operating systems and software designed for IBM + * PC systems and compatibles from 1981 through fairly recent + * system designs based on the PCI bus. + * + * This file is part of the 86Box distribution. + * + * Mouse/Joystick configuration UI module. + * + * + * + * Authors: Joakim L. Gilje + * + * Copyright 2021 Joakim L. Gilje + */ #include "qt_settingsinput.hpp" #include "ui_qt_settingsinput.h" diff --git a/src/qt/qt_settingsmachine.cpp b/src/qt/qt_settingsmachine.cpp index 8a1f12be2..37d66e9c0 100644 --- a/src/qt/qt_settingsmachine.cpp +++ b/src/qt/qt_settingsmachine.cpp @@ -1,3 +1,19 @@ +/* + * 86Box A hypervisor and IBM PC system emulator that specializes in + * running old operating systems and software designed for IBM + * PC systems and compatibles from 1981 through fairly recent + * system designs based on the PCI bus. + * + * This file is part of the 86Box distribution. + * + * Machine selection and configuration UI module. + * + * + * + * Authors: Joakim L. Gilje + * + * Copyright 2021 Joakim L. Gilje + */ #include "qt_settingsmachine.hpp" #include "ui_qt_settingsmachine.h" diff --git a/src/qt/qt_settingsnetwork.cpp b/src/qt/qt_settingsnetwork.cpp index a8a6dd2fc..836e3f83d 100644 --- a/src/qt/qt_settingsnetwork.cpp +++ b/src/qt/qt_settingsnetwork.cpp @@ -1,3 +1,19 @@ +/* + * 86Box A hypervisor and IBM PC system emulator that specializes in + * running old operating systems and software designed for IBM + * PC systems and compatibles from 1981 through fairly recent + * system designs based on the PCI bus. + * + * This file is part of the 86Box distribution. + * + * Network devices configuration UI module. + * + * + * + * Authors: Joakim L. Gilje + * + * Copyright 2021 Joakim L. Gilje + */ #include "qt_settingsnetwork.hpp" #include "ui_qt_settingsnetwork.h" diff --git a/src/qt/qt_settingsotherperipherals.cpp b/src/qt/qt_settingsotherperipherals.cpp index 7fa28f812..ffa7391a8 100644 --- a/src/qt/qt_settingsotherperipherals.cpp +++ b/src/qt/qt_settingsotherperipherals.cpp @@ -1,3 +1,19 @@ +/* + * 86Box A hypervisor and IBM PC system emulator that specializes in + * running old operating systems and software designed for IBM + * PC systems and compatibles from 1981 through fairly recent + * system designs based on the PCI bus. + * + * This file is part of the 86Box distribution. + * + * Other peripherals configuration UI module. + * + * + * + * Authors: Joakim L. Gilje + * + * Copyright 2021 Joakim L. Gilje + */ #include "qt_settingsotherperipherals.hpp" #include "ui_qt_settingsotherperipherals.h" diff --git a/src/qt/qt_settingsotherremovable.cpp b/src/qt/qt_settingsotherremovable.cpp index c6f089f80..7d1073752 100644 --- a/src/qt/qt_settingsotherremovable.cpp +++ b/src/qt/qt_settingsotherremovable.cpp @@ -1,3 +1,19 @@ +/* + * 86Box A hypervisor and IBM PC system emulator that specializes in + * running old operating systems and software designed for IBM + * PC systems and compatibles from 1981 through fairly recent + * system designs based on the PCI bus. + * + * This file is part of the 86Box distribution. + * + * Other removable devices configuration UI module. + * + * + * + * Authors: Joakim L. Gilje + * + * Copyright 2021 Joakim L. Gilje + */ #include "qt_settingsotherremovable.hpp" #include "ui_qt_settingsotherremovable.h" diff --git a/src/qt/qt_settingsports.cpp b/src/qt/qt_settingsports.cpp index e2a0a4fdc..b6ead8746 100644 --- a/src/qt/qt_settingsports.cpp +++ b/src/qt/qt_settingsports.cpp @@ -1,3 +1,19 @@ +/* + * 86Box A hypervisor and IBM PC system emulator that specializes in + * running old operating systems and software designed for IBM + * PC systems and compatibles from 1981 through fairly recent + * system designs based on the PCI bus. + * + * This file is part of the 86Box distribution. + * + * Serial/Parallel ports configuration UI module. + * + * + * + * Authors: Joakim L. Gilje + * + * Copyright 2021 Joakim L. Gilje + */ #include "qt_settingsports.hpp" #include "ui_qt_settingsports.h" diff --git a/src/qt/qt_settingssound.cpp b/src/qt/qt_settingssound.cpp index fa8188567..7277f4007 100644 --- a/src/qt/qt_settingssound.cpp +++ b/src/qt/qt_settingssound.cpp @@ -1,3 +1,19 @@ +/* + * 86Box A hypervisor and IBM PC system emulator that specializes in + * running old operating systems and software designed for IBM + * PC systems and compatibles from 1981 through fairly recent + * system designs based on the PCI bus. + * + * This file is part of the 86Box distribution. + * + * Sound/MIDI devices configuration UI module. + * + * + * + * Authors: Joakim L. Gilje + * + * Copyright 2021 Joakim L. Gilje + */ #include "qt_settingssound.hpp" #include "ui_qt_settingssound.h" diff --git a/src/qt/qt_settingsstoragecontrollers.cpp b/src/qt/qt_settingsstoragecontrollers.cpp index 8432a300a..0b66cec0a 100644 --- a/src/qt/qt_settingsstoragecontrollers.cpp +++ b/src/qt/qt_settingsstoragecontrollers.cpp @@ -1,3 +1,19 @@ +/* + * 86Box A hypervisor and IBM PC system emulator that specializes in + * running old operating systems and software designed for IBM + * PC systems and compatibles from 1981 through fairly recent + * system designs based on the PCI bus. + * + * This file is part of the 86Box distribution. + * + * Storage devices configuration UI module. + * + * + * + * Authors: Joakim L. Gilje + * + * Copyright 2021 Joakim L. Gilje + */ #include "qt_settingsstoragecontrollers.hpp" #include "ui_qt_settingsstoragecontrollers.h" diff --git a/src/qt/qt_softwarerenderer.cpp b/src/qt/qt_softwarerenderer.cpp index 6a935a7a5..1245fd70a 100644 --- a/src/qt/qt_softwarerenderer.cpp +++ b/src/qt/qt_softwarerenderer.cpp @@ -1,3 +1,23 @@ +/* + * 86Box A hypervisor and IBM PC system emulator that specializes in + * running old operating systems and software designed for IBM + * PC systems and compatibles from 1981 through fairly recent + * system designs based on the PCI bus. + * + * This file is part of the 86Box distribution. + * + * Software renderer module. + * + * + * + * Authors: Joakim L. Gilje + * Cacodemon345 + * Teemu Korhonen + * + * Copyright 2021 Joakim L. Gilje + * Copyright 2021-2022 Cacodemon345 + * Copyright 2021-2022 Teemu Korhonen + */ #include "qt_softwarerenderer.hpp" #include #include diff --git a/src/qt/qt_soundgain.cpp b/src/qt/qt_soundgain.cpp index 9f02608e7..7b3f7cc04 100644 --- a/src/qt/qt_soundgain.cpp +++ b/src/qt/qt_soundgain.cpp @@ -1,3 +1,19 @@ +/* + * 86Box A hypervisor and IBM PC system emulator that specializes in + * running old operating systems and software designed for IBM + * PC systems and compatibles from 1981 through fairly recent + * system designs based on the PCI bus. + * + * This file is part of the 86Box distribution. + * + * Sound gain dialog UI module. + * + * + * + * Authors: Cacodemon345 + * + * Copyright 2021-2022 Cacodemon345 + */ #include "qt_soundgain.hpp" #include "ui_qt_soundgain.h" diff --git a/src/qt/qt_specifydimensions.cpp b/src/qt/qt_specifydimensions.cpp index 4a5b0ea0f..caf831466 100644 --- a/src/qt/qt_specifydimensions.cpp +++ b/src/qt/qt_specifydimensions.cpp @@ -1,3 +1,19 @@ +/* + * 86Box A hypervisor and IBM PC system emulator that specializes in + * running old operating systems and software designed for IBM + * PC systems and compatibles from 1981 through fairly recent + * system designs based on the PCI bus. + * + * This file is part of the 86Box distribution. + * + * Specify dimensions UI module. + * + * + * + * Authors: Cacodemon345 + * + * Copyright 2021-2022 Cacodemon345 + */ #include "qt_specifydimensions.h" #include "ui_qt_specifydimensions.h" diff --git a/src/qt/qt_styleoverride.cpp b/src/qt/qt_styleoverride.cpp index 449b167aa..3beb4c2db 100644 --- a/src/qt/qt_styleoverride.cpp +++ b/src/qt/qt_styleoverride.cpp @@ -1,3 +1,19 @@ +/* + * 86Box A hypervisor and IBM PC system emulator that specializes in + * running old operating systems and software designed for IBM + * PC systems and compatibles from 1981 through fairly recent + * system designs based on the PCI bus. + * + * This file is part of the 86Box distribution. + * + * Style override class. + * + * + * + * Authors: Teemu Korhonen + * + * Copyright 2022 Teemu Korhonen + */ #include "qt_styleoverride.hpp" int StyleOverride::styleHint( @@ -18,4 +34,4 @@ void StyleOverride::polish(QWidget* widget) /* Disable title bar context help buttons globally as they are unused. */ if (widget->isWindow()) widget->setWindowFlag(Qt::WindowContextHelpButtonHint, false); -} \ No newline at end of file +} diff --git a/src/qt/qt_ui.cpp b/src/qt/qt_ui.cpp index d45fb889b..78e7723c9 100644 --- a/src/qt/qt_ui.cpp +++ b/src/qt/qt_ui.cpp @@ -1,3 +1,21 @@ +/* + * 86Box A hypervisor and IBM PC system emulator that specializes in + * running old operating systems and software designed for IBM + * PC systems and compatibles from 1981 through fairly recent + * system designs based on the PCI bus. + * + * This file is part of the 86Box distribution. + * + * Common UI functions. + * + * + * + * Authors: Joakim L. Gilje + * Cacodemon345 + * + * Copyright 2021 Joakim L. Gilje + * Copyright 2021-2022 Cacodemon345 + */ #include #include diff --git a/src/qt/qt_util.cpp b/src/qt/qt_util.cpp index 3c41d6745..96a60004b 100644 --- a/src/qt/qt_util.cpp +++ b/src/qt/qt_util.cpp @@ -1,3 +1,19 @@ +/* + * 86Box A hypervisor and IBM PC system emulator that specializes in + * running old operating systems and software designed for IBM + * PC systems and compatibles from 1981 through fairly recent + * system designs based on the PCI bus. + * + * This file is part of the 86Box distribution. + * + * Utility functions. + * + * + * + * Authors: Teemu Korhonen + * + * Copyright 2022 Teemu Korhonen + */ #include #include #include "qt_util.hpp" @@ -28,4 +44,4 @@ namespace util return " (" % temp.join(' ') % ")" % (!last ? ";;" : ""); } -} \ No newline at end of file +} diff --git a/src/qt/wl_mouse.cpp b/src/qt/wl_mouse.cpp index b399dafd7..36a91b68e 100644 --- a/src/qt/wl_mouse.cpp +++ b/src/qt/wl_mouse.cpp @@ -1,3 +1,19 @@ +/* + * 86Box A hypervisor and IBM PC system emulator that specializes in + * running old operating systems and software designed for IBM + * PC systems and compatibles from 1981 through fairly recent + * system designs based on the PCI bus. + * + * This file is part of the 86Box distribution. + * + * Wayland mouse input module. + * + * + * + * Authors: Cacodemon345 + * + * Copyright 2021-2022 Cacodemon345 + */ #include "wl_mouse.hpp" #include #include @@ -86,4 +102,4 @@ void wl_mouse_uncapture() zwp_relative_pointer_v1_destroy(rel_pointer); rel_pointer = nullptr; conf_pointer = nullptr; -} \ No newline at end of file +} From 7451e245ea31070c3a5a34ffa84105065ef32ec6 Mon Sep 17 00:00:00 2001 From: Cacodemon345 Date: Mon, 7 Feb 2022 15:35:15 +0600 Subject: [PATCH 07/59] Copyright header fixes --- src/qt/qt_mainwindow.cpp | 2 ++ 1 file changed, 2 insertions(+) diff --git a/src/qt/qt_mainwindow.cpp b/src/qt/qt_mainwindow.cpp index 82fcb99da..8df8417cc 100644 --- a/src/qt/qt_mainwindow.cpp +++ b/src/qt/qt_mainwindow.cpp @@ -13,10 +13,12 @@ * Authors: Joakim L. Gilje * Cacodemon345 * Teemu Korhonen + * dob205 * * Copyright 2021 Joakim L. Gilje * Copyright 2021-2022 Cacodemon345 * Copyright 2021-2022 Teemu Korhonen + * Copyright 2022 dob205 */ #include "qt_mainwindow.hpp" #include "ui_qt_mainwindow.h" From 7470c7015a212f5f91dc5f2c24d9484a1af534db Mon Sep 17 00:00:00 2001 From: Cacodemon345 Date: Mon, 7 Feb 2022 15:39:14 +0600 Subject: [PATCH 08/59] Don't add duplicate separator when minitrace is enabled --- src/qt/qt_mainwindow.cpp | 1 - 1 file changed, 1 deletion(-) diff --git a/src/qt/qt_mainwindow.cpp b/src/qt/qt_mainwindow.cpp index 8df8417cc..9f7f845ea 100644 --- a/src/qt/qt_mainwindow.cpp +++ b/src/qt/qt_mainwindow.cpp @@ -377,7 +377,6 @@ MainWindow::MainWindow(QWidget *parent) : #ifdef MTR_ENABLED { - ui->menuTools->addSeparator(); ui->actionBegin_trace->setVisible(true); ui->actionEnd_trace->setVisible(true); ui->actionBegin_trace->setShortcut(QKeySequence(Qt::Key_Control + Qt::Key_T)); From 208a9d520565837c7ddd96c5a73daaba1d94d03c Mon Sep 17 00:00:00 2001 From: Cacodemon345 Date: Mon, 7 Feb 2022 15:51:59 +0600 Subject: [PATCH 09/59] Fix wrong copyright notice --- src/qt/qt_platform.cpp | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/qt/qt_platform.cpp b/src/qt/qt_platform.cpp index 97ef5d649..95ff15eba 100644 --- a/src/qt/qt_platform.cpp +++ b/src/qt/qt_platform.cpp @@ -6,7 +6,7 @@ * * This file is part of the 86Box distribution. * - * Main entry point module + * Common platform functions. * * * Authors: Joakim L. Gilje From 3bb0b4d56b77aef88103e6adfa265e1c17ba3963 Mon Sep 17 00:00:00 2001 From: Cacodemon345 Date: Mon, 7 Feb 2022 16:07:07 +0600 Subject: [PATCH 10/59] qt: Add option to configure LPT4 device --- src/qt/qt_settingsports.cpp | 7 ++++++- src/qt/qt_settingsports.hpp | 2 ++ src/qt/qt_settingsports.ui | 17 +++++++++++++++++ 3 files changed, 25 insertions(+), 1 deletion(-) diff --git a/src/qt/qt_settingsports.cpp b/src/qt/qt_settingsports.cpp index b6ead8746..6163c277e 100644 --- a/src/qt/qt_settingsports.cpp +++ b/src/qt/qt_settingsports.cpp @@ -34,7 +34,7 @@ SettingsPorts::SettingsPorts(QWidget *parent) : { ui->setupUi(this); - for (int i = 0; i < 3; i++) { + for (int i = 0; i < 4; i++) { auto* cbox = findChild(QString("comboBoxLpt%1").arg(i+1)); auto* model = cbox->model(); int c = 0; @@ -95,3 +95,8 @@ void SettingsPorts::on_checkBoxParallel3_stateChanged(int state) { ui->comboBoxLpt3->setEnabled(state == Qt::Checked); } + +void SettingsPorts::on_checkBoxParallel4_stateChanged(int state) { + ui->comboBoxLpt4->setEnabled(state == Qt::Checked); +} + diff --git a/src/qt/qt_settingsports.hpp b/src/qt/qt_settingsports.hpp index e4a8a050a..c5deef80a 100644 --- a/src/qt/qt_settingsports.hpp +++ b/src/qt/qt_settingsports.hpp @@ -21,6 +21,8 @@ private slots: void on_checkBoxParallel2_stateChanged(int arg1); void on_checkBoxParallel1_stateChanged(int arg1); + void on_checkBoxParallel4_stateChanged(int arg1); + private: Ui::SettingsPorts *ui; }; diff --git a/src/qt/qt_settingsports.ui b/src/qt/qt_settingsports.ui index 0e52b4f3f..a1fbb47e7 100644 --- a/src/qt/qt_settingsports.ui +++ b/src/qt/qt_settingsports.ui @@ -58,6 +58,16 @@ + + + + LPT4 Device: + + + + + + @@ -111,6 +121,13 @@ + + + + Parallel port 4 + + + From 2b62ee0be0f478205585fd25de02b66b1b226333 Mon Sep 17 00:00:00 2001 From: Cacodemon345 Date: Mon, 7 Feb 2022 16:07:33 +0600 Subject: [PATCH 11/59] Fix yet another copyright notice --- src/qt/qt_settingsports.cpp | 1 + 1 file changed, 1 insertion(+) diff --git a/src/qt/qt_settingsports.cpp b/src/qt/qt_settingsports.cpp index 6163c277e..a8d9ecb05 100644 --- a/src/qt/qt_settingsports.cpp +++ b/src/qt/qt_settingsports.cpp @@ -12,6 +12,7 @@ * * Authors: Joakim L. Gilje * + * Copyright 2022 Cacodemon345 * Copyright 2021 Joakim L. Gilje */ #include "qt_settingsports.hpp" From 0cec3ad98886817d9739abe8ec4351bc3c845cfd Mon Sep 17 00:00:00 2001 From: Cacodemon345 Date: Mon, 7 Feb 2022 16:09:01 +0600 Subject: [PATCH 12/59] ..and fix for previous commit --- src/qt/qt_settingsports.cpp | 1 + 1 file changed, 1 insertion(+) diff --git a/src/qt/qt_settingsports.cpp b/src/qt/qt_settingsports.cpp index a8d9ecb05..dbabae73c 100644 --- a/src/qt/qt_settingsports.cpp +++ b/src/qt/qt_settingsports.cpp @@ -11,6 +11,7 @@ * * * Authors: Joakim L. Gilje + * Cacodemon345 * * Copyright 2022 Cacodemon345 * Copyright 2021 Joakim L. Gilje From e152f85bb9f40c49e73a242a62b2c089009b3524 Mon Sep 17 00:00:00 2001 From: Cacodemon345 Date: Mon, 7 Feb 2022 16:11:13 +0600 Subject: [PATCH 13/59] Fix more copyright notices --- src/qt/qt_settingsfloppycdrom.cpp | 2 ++ src/qt/qt_settingsharddisks.cpp | 2 ++ src/qt/qt_settingsotherremovable.cpp | 2 ++ 3 files changed, 6 insertions(+) diff --git a/src/qt/qt_settingsfloppycdrom.cpp b/src/qt/qt_settingsfloppycdrom.cpp index 4d813737f..ba2c1d601 100644 --- a/src/qt/qt_settingsfloppycdrom.cpp +++ b/src/qt/qt_settingsfloppycdrom.cpp @@ -11,7 +11,9 @@ * * * Authors: Joakim L. Gilje + * Cacodemon345 * + * Copyright 2021-2022 Cacodemon345 * Copyright 2021 Joakim L. Gilje */ #include "qt_settingsfloppycdrom.hpp" diff --git a/src/qt/qt_settingsharddisks.cpp b/src/qt/qt_settingsharddisks.cpp index 692437743..25fc06bfe 100644 --- a/src/qt/qt_settingsharddisks.cpp +++ b/src/qt/qt_settingsharddisks.cpp @@ -11,7 +11,9 @@ * * * Authors: Joakim L. Gilje + * Cacodemon345 * + * Copyright 2021-2022 Cacodemon345 * Copyright 2021 Joakim L. Gilje */ #include "qt_settingsharddisks.hpp" diff --git a/src/qt/qt_settingsotherremovable.cpp b/src/qt/qt_settingsotherremovable.cpp index 7d1073752..574fdccb5 100644 --- a/src/qt/qt_settingsotherremovable.cpp +++ b/src/qt/qt_settingsotherremovable.cpp @@ -11,7 +11,9 @@ * * * Authors: Joakim L. Gilje + * Cacodemon345 * + * Copyright 2021-2022 Cacodemon345 * Copyright 2021 Joakim L. Gilje */ #include "qt_settingsotherremovable.hpp" From 309b2362b73eaa279d857789852d4e1a886b81eb Mon Sep 17 00:00:00 2001 From: Cacodemon345 Date: Mon, 7 Feb 2022 16:50:51 +0600 Subject: [PATCH 14/59] qt: Implement ui_sb_set_ready and ui_sb_set_text functions --- src/qt/qt_ui.cpp | 9 ++++++++- 1 file changed, 8 insertions(+), 1 deletion(-) diff --git a/src/qt/qt_ui.cpp b/src/qt/qt_ui.cpp index 78e7723c9..c2ea294c8 100644 --- a/src/qt/qt_ui.cpp +++ b/src/qt/qt_ui.cpp @@ -100,6 +100,10 @@ void ui_sb_set_text_w(wchar_t *wstr) { main_window->statusBar()->showMessage(QString::fromWCharArray(wstr)); } +void ui_sb_set_text(char *str) { + main_window->statusBar()->showMessage(QString(str)); +} + void ui_sb_update_tip(int arg) { main_window->updateStatusBarTip(arg); @@ -115,7 +119,10 @@ void ui_sb_bugui(char *str) { } void ui_sb_set_ready(int ready) { - qDebug() << Q_FUNC_INFO << ready; + if (ready == 0) { + ui_sb_bugui(nullptr); + ui_sb_set_text(nullptr); + } } void From ff6793e535dfc6d885ef2a0e7153a30ace0da227 Mon Sep 17 00:00:00 2001 From: Jasmine Iwanek Date: Mon, 7 Feb 2022 05:20:20 -0500 Subject: [PATCH 15/59] More win32 UI changes --- src/win/languages/dialogs.rc | 113 ++++++++++++++++++----------------- 1 file changed, 58 insertions(+), 55 deletions(-) diff --git a/src/win/languages/dialogs.rc b/src/win/languages/dialogs.rc index 1f871ffdb..4f838014c 100644 --- a/src/win/languages/dialogs.rc +++ b/src/win/languages/dialogs.rc @@ -193,13 +193,13 @@ BEGIN LTEXT STR_CPU_TYPE, IDT_CPU_TYPE, CFG_HMARGIN, 47, CFG_PANE_LTEXT_PRI_WIDTH, CFG_PANE_LTEXT_HEIGHT COMBOBOX IDC_COMBO_CPU_TYPE, - CFG_COMBO_BOX_LEFT, 45, 115, CFG_COMBO_HEIGHT, + CFG_COMBO_BOX_LEFT, 45, 110, CFG_COMBO_HEIGHT, CBS_DROPDOWNLIST | WS_VSCROLL | WS_TABSTOP LTEXT STR_CPU_SPEED, IDT_CPU_SPEED, - 225, 47, 24, CFG_PANE_LTEXT_HEIGHT + 216, 47, 34, CFG_PANE_LTEXT_HEIGHT COMBOBOX IDC_COMBO_CPU_SPEED, - 255, 45, 106, CFG_COMBO_HEIGHT, + 252, 45, 109, CFG_COMBO_HEIGHT, CBS_DROPDOWNLIST | WS_VSCROLL | WS_TABSTOP LTEXT STR_FPU,IDT_FPU, @@ -286,16 +286,16 @@ BEGIN CBS_DROPDOWNLIST | WS_VSCROLL | WS_TABSTOP PUSHBUTTON STR_JOY1, IDC_JOY1, - CFG_HMARGIN, 44, 80, CFG_BTN_HEIGHT + CFG_HMARGIN, 44, 84, CFG_BTN_HEIGHT PUSHBUTTON STR_JOY2, IDC_JOY2, - 99, 44, 80, CFG_BTN_HEIGHT + 96, 44, 84, CFG_BTN_HEIGHT PUSHBUTTON STR_JOY3, IDC_JOY3, - 195, 44, 80, CFG_BTN_HEIGHT + 187, 44, 84, CFG_BTN_HEIGHT PUSHBUTTON STR_JOY4, IDC_JOY4, - 290, 44, 80, CFG_BTN_HEIGHT + 277, 44, 84, CFG_BTN_HEIGHT END DLG_CFG_SOUND DIALOG DISCARDABLE CFG_PANE_LEFT, CFG_PANE_TOP, CFG_PANE_WIDTH, CFG_PANE_HEIGHT @@ -453,19 +453,19 @@ BEGIN CONTROL STR_PARALLEL1, IDC_CHECK_PARALLEL1, "Button", BS_AUTOCHECKBOX | WS_TABSTOP, - 147, 83, CFG_CHECKBOX_PRI_WIDTH, CFG_CHECKBOX_HEIGHT + 167, 83, CFG_CHECKBOX_PRI_WIDTH, CFG_CHECKBOX_HEIGHT CONTROL STR_PARALLEL2, IDC_CHECK_PARALLEL2, "Button", BS_AUTOCHECKBOX | WS_TABSTOP, - 147, 102, CFG_CHECKBOX_PRI_WIDTH, CFG_CHECKBOX_HEIGHT + 167, 102, CFG_CHECKBOX_PRI_WIDTH, CFG_CHECKBOX_HEIGHT CONTROL STR_PARALLEL3, IDC_CHECK_PARALLEL3, "Button", BS_AUTOCHECKBOX | WS_TABSTOP, - 147, 121, CFG_CHECKBOX_PRI_WIDTH, CFG_CHECKBOX_HEIGHT + 167, 121, CFG_CHECKBOX_PRI_WIDTH, CFG_CHECKBOX_HEIGHT CONTROL STR_PARALLEL4, IDC_CHECK_PARALLEL4, "Button", BS_AUTOCHECKBOX | WS_TABSTOP, - 147, 140, CFG_CHECKBOX_PRI_WIDTH, CFG_CHECKBOX_HEIGHT + 167, 140, CFG_CHECKBOX_PRI_WIDTH, CFG_CHECKBOX_HEIGHT END DLG_CFG_STORAGE DIALOG DISCARDABLE CFG_PANE_LEFT, CFG_PANE_TOP, CFG_PANE_WIDTH, CFG_PANE_HEIGHT @@ -550,35 +550,38 @@ BEGIN "SysListView32", LVS_REPORT | LVS_SHOWSELALWAYS | LVS_SINGLESEL | WS_BORDER | WS_TABSTOP, - CFG_HMARGIN, 18, CFG_SYSLISTVIEW32_WIDTH, 182 - - PUSHBUTTON STR_NEW, IDC_BUTTON_HDD_ADD_NEW, - 80, 206, 62, CFG_BTN_HEIGHT - PUSHBUTTON STR_EXISTING, IDC_BUTTON_HDD_ADD, - 153, 206, 62, CFG_BTN_HEIGHT - PUSHBUTTON STR_REMOVE, IDC_BUTTON_HDD_REMOVE, - 222, 206, 62, CFG_BTN_HEIGHT + CFG_HMARGIN, 18, CFG_SYSLISTVIEW32_WIDTH, 162 LTEXT STR_BUS,IDT_BUS, - CFG_HMARGIN, 119, 24, CFG_PANE_LTEXT_HEIGHT + CFG_HMARGIN, 188, 24, CFG_PANE_LTEXT_HEIGHT COMBOBOX IDC_COMBO_HD_BUS, - 33, 117, 90, 12,CBS_DROPDOWNLIST | + 33, 186, 130, 12,CBS_DROPDOWNLIST | WS_VSCROLL | WS_TABSTOP LTEXT STR_CHANNEL, IDT_CHANNEL, - 131, 119, 38, CFG_PANE_LTEXT_HEIGHT + 181, 188, 38, CFG_PANE_LTEXT_HEIGHT COMBOBOX IDC_COMBO_HD_CHANNEL, - 170, 117, 90, 12, + 221, 186, 140, 12, CBS_DROPDOWNLIST | WS_VSCROLL | WS_TABSTOP COMBOBOX IDC_COMBO_HD_CHANNEL_IDE, - 170, 117, 90, 12, + 221, 186, 140, 12, CBS_DROPDOWNLIST | WS_VSCROLL | WS_TABSTOP LTEXT STR_ID, IDT_ID, - 131, 119, 38, CFG_PANE_LTEXT_HEIGHT + 181, 188, 38, CFG_PANE_LTEXT_HEIGHT COMBOBOX IDC_COMBO_HD_ID, - 170, 117, 90, 12, + 221, 186, 140, 12, CBS_DROPDOWNLIST | WS_VSCROLL | WS_TABSTOP + + PUSHBUTTON STR_NEW, IDC_BUTTON_HDD_ADD_NEW, + CFG_HMARGIN, 207, 112, CFG_BTN_HEIGHT + + PUSHBUTTON STR_EXISTING, IDC_BUTTON_HDD_ADD, + 128, 207, 112, CFG_BTN_HEIGHT + + PUSHBUTTON STR_REMOVE, IDC_BUTTON_HDD_REMOVE, + 249, 207, 112, CFG_BTN_HEIGHT + END DLG_CFG_HARD_DISKS_ADD DIALOG DISCARDABLE 0, 0, 219, 151 @@ -680,16 +683,16 @@ BEGIN LTEXT STR_TYPE, IDT_FDD_TYPE, CFG_HMARGIN, 87, 24, CFG_PANE_LTEXT_HEIGHT COMBOBOX IDC_COMBO_FD_TYPE, - 33, 85, 90, 12, + 33, 85, 140, 12, CBS_DROPDOWNLIST | WS_VSCROLL | WS_TABSTOP CONTROL STR_TURBO, IDC_CHECKTURBO, "Button", BS_AUTOCHECKBOX | WS_TABSTOP, - 131, 86, 64, CFG_CHECKBOX_HEIGHT + 186, 86, 84, CFG_CHECKBOX_HEIGHT CONTROL STR_CHECKBPB, IDC_CHECKBPB, "Button", BS_AUTOCHECKBOX | WS_TABSTOP, - 196, 86, 64, CFG_CHECKBOX_HEIGHT + 272, 86, 84, CFG_CHECKBOX_HEIGHT LTEXT STR_CDROM_DRIVES, IDT_CD_DRIVES, CFG_HMARGIN, 107, 258, CFG_PANE_LTEXT_HEIGHT @@ -702,25 +705,25 @@ BEGIN LTEXT STR_BUS, IDT_CD_BUS, CFG_HMARGIN, 187, 24, CFG_PANE_LTEXT_HEIGHT COMBOBOX IDC_COMBO_CD_BUS, - 33, 185, 90, 12, - CBS_DROPDOWNLIST | WS_VSCROLL | WS_TABSTOP - - LTEXT STR_ID, IDT_CD_ID, - 131, 187, 38, CFG_PANE_LTEXT_HEIGHT - COMBOBOX IDC_COMBO_CD_ID, - 170, 185, 90, 12, + 33, 185, 140, 12, CBS_DROPDOWNLIST | WS_VSCROLL | WS_TABSTOP LTEXT STR_CHANNEL, IDT_CD_CHANNEL, - 131, 187, 38, CFG_PANE_LTEXT_HEIGHT + 181, 187, 38, CFG_PANE_LTEXT_HEIGHT COMBOBOX IDC_COMBO_CD_CHANNEL_IDE, - 170, 185, 90, 12, + 221, 185, 140, 12, + CBS_DROPDOWNLIST | WS_VSCROLL | WS_TABSTOP + + LTEXT STR_ID, IDT_CD_ID, + 181, 187, 38, CFG_PANE_LTEXT_HEIGHT + COMBOBOX IDC_COMBO_CD_ID, + 221, 185, 140, 12, CBS_DROPDOWNLIST | WS_VSCROLL | WS_TABSTOP LTEXT STR_CD_SPEED, IDT_CD_SPEED, CFG_HMARGIN, 207, 24, CFG_PANE_LTEXT_HEIGHT COMBOBOX IDC_COMBO_CD_SPEED, - 33, 205, 90, 12, + 33, 205, 328, 12, CBS_DROPDOWNLIST | WS_VSCROLL | WS_TABSTOP END @@ -740,25 +743,25 @@ BEGIN LTEXT STR_BUS, IDT_MO_BUS, CFG_HMARGIN, 87, 24, CFG_PANE_LTEXT_HEIGHT COMBOBOX IDC_COMBO_MO_BUS, - 33, 85, 90, 12, + 33, 85, 140, 12, CBS_DROPDOWNLIST | WS_VSCROLL | WS_TABSTOP LTEXT STR_ID, IDT_MO_ID, - 131, 87, 38, CFG_PANE_LTEXT_HEIGHT + 181, 87, 38, CFG_PANE_LTEXT_HEIGHT COMBOBOX IDC_COMBO_MO_ID, - 170, 85, 90, 12, + 221, 85, 140, 12, CBS_DROPDOWNLIST | WS_VSCROLL | WS_TABSTOP LTEXT STR_CHANNEL, IDT_MO_CHANNEL, - 131, 87, 38, CFG_PANE_LTEXT_HEIGHT + 181, 87, 38, CFG_PANE_LTEXT_HEIGHT COMBOBOX IDC_COMBO_MO_CHANNEL_IDE, - 170, 85, 90, 12, + 221, 85, 140, 12, CBS_DROPDOWNLIST | WS_VSCROLL | WS_TABSTOP LTEXT STR_TYPE, IDT_MO_TYPE, CFG_HMARGIN, 107, 24, CFG_PANE_LTEXT_HEIGHT COMBOBOX IDC_COMBO_MO_TYPE, - 33, 105, 120, 12, + 33, 105, 328, 12, CBS_DROPDOWNLIST | WS_VSCROLL | WS_TABSTOP LTEXT STR_ZIP_DRIVES, IDT_ZIP_DRIVES, @@ -772,24 +775,24 @@ BEGIN LTEXT STR_BUS, IDT_ZIP_BUS, CFG_HMARGIN, 207, 24, CFG_PANE_LTEXT_HEIGHT COMBOBOX IDC_COMBO_ZIP_BUS, - 33, 205, 90, 12, - CBS_DROPDOWNLIST | WS_VSCROLL | WS_TABSTOP - - LTEXT STR_ID, IDT_ZIP_ID, - 131, 207, 38, CFG_PANE_LTEXT_HEIGHT - COMBOBOX IDC_COMBO_ZIP_ID, - 170, 205, 90, 12, + 33, 205, 140, 12, CBS_DROPDOWNLIST | WS_VSCROLL | WS_TABSTOP LTEXT STR_CHANNEL, IDT_ZIP_CHANNEL, - 131, 207, 38, CFG_PANE_LTEXT_HEIGHT + 181, 207, 38, CFG_PANE_LTEXT_HEIGHT COMBOBOX IDC_COMBO_ZIP_CHANNEL_IDE, - 170, 205, 90, 12, + 221, 205, 105, 12, + CBS_DROPDOWNLIST | WS_VSCROLL | WS_TABSTOP + + LTEXT STR_ID, IDT_ZIP_ID, + 181, 207, 38, CFG_PANE_LTEXT_HEIGHT + COMBOBOX IDC_COMBO_ZIP_ID, + 221, 205, 105, 12, CBS_DROPDOWNLIST | WS_VSCROLL | WS_TABSTOP CONTROL STR_250, IDC_CHECK250, "Button", BS_AUTOCHECKBOX | WS_TABSTOP, - 268, 205, 44, CFG_CHECKBOX_HEIGHT + 329, 206, 44, CFG_CHECKBOX_HEIGHT END DLG_CFG_PERIPHERALS DIALOG DISCARDABLE CFG_PANE_LEFT, CFG_PANE_TOP, CFG_PANE_WIDTH, CFG_PANE_HEIGHT From 1a7a93010dc4b65d911580e76587f90a1d23e355 Mon Sep 17 00:00:00 2001 From: Alexander Babikov Date: Mon, 7 Feb 2022 15:59:13 +0500 Subject: [PATCH 16/59] Remove the obsolete logging and defunct VRAM dumping options from the Win32 UI --- CMakeLists.txt | 1 - src/CMakeLists.txt | 4 -- src/Makefile.local | 3 - src/include/86box/86box.h | 23 -------- src/include/86box/resource.h | 11 ---- src/include/86box/video.h | 4 -- src/qt/languages/cs-CZ.po | 30 ---------- src/qt/languages/de-DE.po | 30 ---------- src/qt/languages/en-GB.po | 30 ---------- src/qt/languages/en-US.po | 30 ---------- src/qt/languages/es-ES.po | 30 ---------- src/qt/languages/fi-FI.po | 30 ---------- src/qt/languages/fr-FR.po | 30 ---------- src/qt/languages/hr-HR.po | 30 ---------- src/qt/languages/hu-HU.po | 30 ---------- src/qt/languages/it-IT.po | 30 ---------- src/qt/languages/ja-JP.po | 30 ---------- src/qt/languages/ko-KR.po | 30 ---------- src/qt/languages/pl-PL.po | 30 ---------- src/qt/languages/pt-BR.po | 30 ---------- src/qt/languages/pt-PT.po | 30 ---------- src/qt/languages/ru-RU.po | 30 ---------- src/qt/languages/sl-SI.po | 30 ---------- src/qt/languages/tr-TR.po | 30 ---------- src/qt/languages/uk-UA.po | 30 ---------- src/qt/languages/zh-CN.po | 30 ---------- src/win/86Box.rc | 27 --------- src/win/Makefile.mingw | 4 -- src/win/languages/cs-CZ.rc | 37 ------------ src/win/languages/de-DE.rc | 37 ------------ src/win/languages/en-GB.rc | 37 ------------ src/win/languages/en-US.rc | 37 ------------ src/win/languages/es-ES.rc | 37 ------------ src/win/languages/fi-FI.rc | 37 ------------ src/win/languages/fr-FR.rc | 37 ------------ src/win/languages/hr-HR.rc | 37 ------------ src/win/languages/hu-HU.rc | 37 ------------ src/win/languages/it-IT.rc | 37 ------------ src/win/languages/ja-JP.rc | 37 ------------ src/win/languages/ko-KR.rc | 37 ------------ src/win/languages/pl-PL.rc | 37 ------------ src/win/languages/pt-BR.rc | 37 ------------ src/win/languages/pt-PT.rc | 37 ------------ src/win/languages/ru-RU.rc | 37 ------------ src/win/languages/sl-SI.rc | 37 ------------ src/win/languages/tr-TR.rc | 37 ------------ src/win/languages/uk-UA.rc | 37 ------------ src/win/languages/zh-CN.rc | 37 ------------ src/win/win_ui.c | 110 ----------------------------------- 49 files changed, 1527 deletions(-) diff --git a/CMakeLists.txt b/CMakeLists.txt index b8635cdc1..da97bc03d 100644 --- a/CMakeLists.txt +++ b/CMakeLists.txt @@ -108,7 +108,6 @@ option(DYNAREC "Dynamic recompiler" option(OPENAL "OpenAL" ON) option(FLUIDSYNTH "FluidSynth" ON) option(MUNT "MUNT" ON) -option(VRAMDUMP "Video RAM dumping" OFF) option(DINPUT "DirectInput" OFF) option(CPPTHREADS "C++11 threads" ON) option(NEW_DYNAREC "Use the PCem v15 (\"new\") dynamic recompiler" OFF) diff --git a/src/CMakeLists.txt b/src/CMakeLists.txt index a502b602f..0a9fc03a1 100644 --- a/src/CMakeLists.txt +++ b/src/CMakeLists.txt @@ -36,10 +36,6 @@ if(DYNAREC) add_compile_definitions(USE_DYNAREC) endif() -if(VRAMDUMP) - add_compile_definitions(ENABLE_VRAM_DUMP) -endif() - if(DEV_BRANCH) add_compile_definitions(DEV_BRANCH) endif() diff --git a/src/Makefile.local b/src/Makefile.local index 095b60024..16df56b3d 100644 --- a/src/Makefile.local +++ b/src/Makefile.local @@ -30,8 +30,6 @@ STUFF := # Add feature selections here. # -DANSI_CFG forces the config file to ANSI encoding. -# -DENABLE_VRAM_DUMP enables Video Ram dumping. -# -DENABLE_LOG_BREAKPOINT enables extra logging. # Root logging: # -DENABLE_ACPI_LOG=N sets logging level at N. # -DENABLE_APM_LOG=N sets logging level at N. @@ -168,7 +166,6 @@ STUFF := # -DENABLE_DISCORD_LOG=N sets logging level at N. # -DENABLE_DYNLD_LOG=N sets logging level at N. # -DENABLE_JOYSTICK_LOG=N sets logging level at N. -# -DENABLE_LOG_TOGGLES=N sets logging level at N. # -DENABLE_SDL_LOG=N sets logging level at N. # -DENABLE_SETTINGS_LOG=N sets logging level at N. EXTRAS := diff --git a/src/include/86box/86box.h b/src/include/86box/86box.h index 0947ceb66..62aaddc99 100644 --- a/src/include/86box/86box.h +++ b/src/include/86box/86box.h @@ -36,19 +36,6 @@ /* Default language 0xFFFF = from system, 0x409 = en-US */ #define DEFAULT_LANGUAGE 0x0409 -#if defined(ENABLE_BUSLOGIC_LOG) || \ - defined(ENABLE_CDROM_LOG) || \ - defined(ENABLE_D86F_LOG) || \ - defined(ENABLE_FDC_LOG) || \ - defined(ENABLE_IDE_LOG) || \ - defined(ENABLE_NIC_LOG) -# define ENABLE_LOG_TOGGLES 1 -#endif - -#if defined(ENABLE_LOG_BREAKPOINT) || defined(ENABLE_VRAM_DUMP) -# define ENABLE_LOG_COMMANDS 1 -#endif - #ifdef MIN #undef MIN #endif @@ -143,16 +130,6 @@ extern int is_pentium; /* TODO: Move back to cpu/cpu.h when it's figured out, extern int fixed_size_x, fixed_size_y; -#ifdef ENABLE_LOG_TOGGLES -extern int buslogic_do_log; -extern int cdrom_do_log; -extern int d86f_do_log; -extern int fdc_do_log; -extern int ide_do_log; -extern int serial_do_log; -extern int nic_do_log; -#endif - extern char exe_path[2048]; /* path (dir) of executable */ extern char usr_path[1024]; /* path (dir) of user data */ extern char cfg_path[1024]; /* full path of config file */ diff --git a/src/include/86box/resource.h b/src/include/86box/resource.h index 4b05d1c8e..242b6c9b4 100644 --- a/src/include/86box/resource.h +++ b/src/include/86box/resource.h @@ -411,17 +411,6 @@ #define IDM_VID_GL_SHADER 40107 #define IDM_VID_GL_NOSHADER 40108 -#define IDM_LOG_BREAKPOINT 51201 -#define IDM_DUMP_VRAM 51202 // should be an Action - -#define IDM_LOG_SERIAL 51211 -#define IDM_LOG_D86F 51212 -#define IDM_LOG_FDC 51213 -#define IDM_LOG_IDE 51214 -#define IDM_LOG_CDROM 51215 -#define IDM_LOG_NIC 51216 -#define IDM_LOG_BUSLOGIC 51217 - /* * We need 7 bits for CDROM (2 bits ID and 5 bits for host drive), * and 5 bits for Removable Disks (5 bits for ID), so we use an diff --git a/src/include/86box/video.h b/src/include/86box/video.h index ebd6d3933..05b7055b3 100644 --- a/src/include/86box/video.h +++ b/src/include/86box/video.h @@ -188,10 +188,6 @@ extern void loadfont(char *s, int format); extern int get_actual_size_x(void); extern int get_actual_size_y(void); -#ifdef ENABLE_VRAM_DUMP -extern void svga_dump_vram(void); -#endif - extern uint32_t video_color_transform(uint32_t color); extern void agpgart_set_aperture(void *handle, uint32_t base, uint32_t size, int enable); diff --git a/src/qt/languages/cs-CZ.po b/src/qt/languages/cs-CZ.po index 4e2135271..7f8d51957 100644 --- a/src/qt/languages/cs-CZ.po +++ b/src/qt/languages/cs-CZ.po @@ -178,36 +178,6 @@ msgstr "Začít trace\tCtrl+T" msgid "End trace\tCtrl+T" msgstr "Zastavit trace\tCtrl+T" -msgid "&Logging" -msgstr "&Záznamy" - -msgid "Enable BusLogic logs\tCtrl+F4" -msgstr "Povolit záznamy BusLogic\tCtrl+F4" - -msgid "Enable CD-ROM logs\tCtrl+F5" -msgstr "Povolit záznamy CD-ROM\tCtrl+F5" - -msgid "Enable floppy (86F) logs\tCtrl+F6" -msgstr "Povolit záznamy diskety (86F)\tCtrl+F6" - -msgid "Enable floppy controller logs\tCtrl+F7" -msgstr "Povolit záznamy disketového řadiče\tCtrl+F7" - -msgid "Enable IDE logs\tCtrl+F8" -msgstr "Povolit záznamy IDE\tCtrl+F8" - -msgid "Enable Serial Port logs\tCtrl+F3" -msgstr "Povolit záznamy sériového portu\tCtrl+F3" - -msgid "Enable Network logs\tCtrl+F9" -msgstr "Povolit záznamy sítě\tCtrl+F9" - -msgid "&Log breakpoint\tCtrl+F10" -msgstr "Zaznamenat do &logu zarážku\tCtrl+F10" - -msgid "Dump &video RAM\tCtrl+F1" -msgstr "Zaznamenat obsah &video RAM\tCtrl+F1" - msgid "&Help" msgstr "Ná&pověda" diff --git a/src/qt/languages/de-DE.po b/src/qt/languages/de-DE.po index 3f2133deb..2280a68cc 100644 --- a/src/qt/languages/de-DE.po +++ b/src/qt/languages/de-DE.po @@ -178,36 +178,6 @@ msgstr "Tracing starten\tStrg+T" msgid "End trace\tCtrl+T" msgstr "Tracing beenden\tStrg+T" -msgid "&Logging" -msgstr "&Logging" - -msgid "Enable BusLogic logs\tCtrl+F4" -msgstr "BusLogic-Logs aktivieren\tStrg+F4" - -msgid "Enable CD-ROM logs\tCtrl+F5" -msgstr "CD-ROM-Logs aktivieren\tStrg+F5" - -msgid "Enable floppy (86F) logs\tCtrl+F6" -msgstr "Disketten (86F)-Logs aktivieren\tStrg+F6" - -msgid "Enable floppy controller logs\tCtrl+F7" -msgstr "Diskettencontroller-Logs aktivieren\tStrg+F7" - -msgid "Enable IDE logs\tCtrl+F8" -msgstr "IDE-Logs aktivieren\tStrg+F8" - -msgid "Enable Serial Port logs\tCtrl+F3" -msgstr "Seriell-Port-Logs aktivieren\tStrg+F3" - -msgid "Enable Network logs\tCtrl+F9" -msgstr "Netzwerk-Logs aktivieren\tStrg+F9" - -msgid "&Log breakpoint\tCtrl+F10" -msgstr "&Breakpoint für die Log-Datei\tStrg+F10" - -msgid "Dump &video RAM\tCtrl+F1" -msgstr "&Video-RAM dumpen\tStrg+F1" - msgid "&Help" msgstr "&Hilfe" diff --git a/src/qt/languages/en-GB.po b/src/qt/languages/en-GB.po index d20e08705..7f8ace40d 100644 --- a/src/qt/languages/en-GB.po +++ b/src/qt/languages/en-GB.po @@ -178,36 +178,6 @@ msgstr "Begin trace\tCtrl+T" msgid "End trace\tCtrl+T" msgstr "End trace\tCtrl+T" -msgid "&Logging" -msgstr "&Logging" - -msgid "Enable BusLogic logs\tCtrl+F4" -msgstr "Enable BusLogic logs\tCtrl+F4" - -msgid "Enable CD-ROM logs\tCtrl+F5" -msgstr "Enable CD-ROM logs\tCtrl+F5" - -msgid "Enable floppy (86F) logs\tCtrl+F6" -msgstr "Enable floppy (86F) logs\tCtrl+F6" - -msgid "Enable floppy controller logs\tCtrl+F7" -msgstr "Enable floppy controller logs\tCtrl+F7" - -msgid "Enable IDE logs\tCtrl+F8" -msgstr "Enable IDE logs\tCtrl+F8" - -msgid "Enable Serial Port logs\tCtrl+F3" -msgstr "Enable Serial Port logs\tCtrl+F3" - -msgid "Enable Network logs\tCtrl+F9" -msgstr "Enable Network logs\tCtrl+F9" - -msgid "&Log breakpoint\tCtrl+F10" -msgstr "&Log breakpoint\tCtrl+F10" - -msgid "Dump &video RAM\tCtrl+F1" -msgstr "Dump &video RAM\tCtrl+F1" - msgid "&Help" msgstr "&Help" diff --git a/src/qt/languages/en-US.po b/src/qt/languages/en-US.po index 973ba63e9..bce66a3f8 100644 --- a/src/qt/languages/en-US.po +++ b/src/qt/languages/en-US.po @@ -178,36 +178,6 @@ msgstr "Begin trace\tCtrl+T" msgid "End trace\tCtrl+T" msgstr "End trace\tCtrl+T" -msgid "&Logging" -msgstr "&Logging" - -msgid "Enable BusLogic logs\tCtrl+F4" -msgstr "Enable BusLogic logs\tCtrl+F4" - -msgid "Enable CD-ROM logs\tCtrl+F5" -msgstr "Enable CD-ROM logs\tCtrl+F5" - -msgid "Enable floppy (86F) logs\tCtrl+F6" -msgstr "Enable floppy (86F) logs\tCtrl+F6" - -msgid "Enable floppy controller logs\tCtrl+F7" -msgstr "Enable floppy controller logs\tCtrl+F7" - -msgid "Enable IDE logs\tCtrl+F8" -msgstr "Enable IDE logs\tCtrl+F8" - -msgid "Enable Serial Port logs\tCtrl+F3" -msgstr "Enable Serial Port logs\tCtrl+F3" - -msgid "Enable Network logs\tCtrl+F9" -msgstr "Enable Network logs\tCtrl+F9" - -msgid "&Log breakpoint\tCtrl+F10" -msgstr "&Log breakpoint\tCtrl+F10" - -msgid "Dump &video RAM\tCtrl+F1" -msgstr "Dump &video RAM\tCtrl+F1" - msgid "&Help" msgstr "&Help" diff --git a/src/qt/languages/es-ES.po b/src/qt/languages/es-ES.po index a0c0b9d2d..9e04d0544 100644 --- a/src/qt/languages/es-ES.po +++ b/src/qt/languages/es-ES.po @@ -178,36 +178,6 @@ msgstr "Comenzar traza\tCtrl+T" msgid "End trace\tCtrl+T" msgstr "Terminar traza\tCtrl+T" -msgid "&Logging" -msgstr "&Trazas" - -msgid "Enable BusLogic logs\tCtrl+F4" -msgstr "Habilitar trazas de BusLogic\tCtrl+F4" - -msgid "Enable CD-ROM logs\tCtrl+F5" -msgstr "Habilitar trazas de CD-ROM\tCtrl+F5" - -msgid "Enable floppy (86F) logs\tCtrl+F6" -msgstr "Habilitar trazas de disquete (86F)\tCtrl+F6" - -msgid "Enable floppy controller logs\tCtrl+F7" -msgstr "Habilitar trazas de controladora de disquete\tCtrl+F7" - -msgid "Enable IDE logs\tCtrl+F8" -msgstr "Habilitar trazas de IDE\tCtrl+F8" - -msgid "Enable Serial Port logs\tCtrl+F3" -msgstr "Habilitar trazas de Puerto Serie\tCtrl+F3" - -msgid "Enable Network logs\tCtrl+F9" -msgstr "Habilitar trazas de Red\tCtrl+F9" - -msgid "&Log breakpoint\tCtrl+F10" -msgstr "&Punto de ruptura de traza\tCtrl+F10" - -msgid "Dump &video RAM\tCtrl+F1" -msgstr "Volcar RAM de &video\tCtrl+F1" - msgid "&Help" msgstr "&Ayuda" diff --git a/src/qt/languages/fi-FI.po b/src/qt/languages/fi-FI.po index 3812b49db..85af22173 100644 --- a/src/qt/languages/fi-FI.po +++ b/src/qt/languages/fi-FI.po @@ -178,36 +178,6 @@ msgstr "Aloita jäljitys\tCtrl+T" msgid "End trace\tCtrl+T" msgstr "Lopeta jäljitys\tCtrl+T" -msgid "&Logging" -msgstr "&Lokitus" - -msgid "Enable BusLogic logs\tCtrl+F4" -msgstr "BusLogic-lokitus päällä\tCtrl+F4" - -msgid "Enable CD-ROM logs\tCtrl+F5" -msgstr "CD-ROM-lokitus päällä\tCtrl+F5" - -msgid "Enable floppy (86F) logs\tCtrl+F6" -msgstr "Levykelokitus (86F) päällä\tCtrl+F6" - -msgid "Enable floppy controller logs\tCtrl+F7" -msgstr "Levykekontrollerin lokitus päällä\tCtrl+F7" - -msgid "Enable IDE logs\tCtrl+F8" -msgstr "IDE-lokitus päällä\tCtrl+F8" - -msgid "Enable Serial Port logs\tCtrl+F3" -msgstr "Sarjaporttilokitus päällä\tCtrl+F3" - -msgid "Enable Network logs\tCtrl+F9" -msgstr "Verkkolokitus päällä\tCtrl+F9" - -msgid "&Log breakpoint\tCtrl+F10" -msgstr "&Kirjaa keskeytyskohdat\tCtrl+F10" - -msgid "Dump &video RAM\tCtrl+F1" -msgstr "Tallenna &videomuistin vedos\tCtrl+F1" - msgid "&Help" msgstr "&Ohje" diff --git a/src/qt/languages/fr-FR.po b/src/qt/languages/fr-FR.po index d13c00585..54a85e79a 100644 --- a/src/qt/languages/fr-FR.po +++ b/src/qt/languages/fr-FR.po @@ -178,36 +178,6 @@ msgstr "Démarrer traces\tCtrl+T" msgid "End trace\tCtrl+T" msgstr "Finir traces\tCtrl+T" -msgid "&Logging" -msgstr "&Journalisation" - -msgid "Enable BusLogic logs\tCtrl+F4" -msgstr "Activer journaux de BusLogic\tCtrl+F4" - -msgid "Enable CD-ROM logs\tCtrl+F5" -msgstr "Activer journaux du CD-ROM\tCtrl+F5" - -msgid "Enable floppy (86F) logs\tCtrl+F6" -msgstr "Activer journaux des disquettes (86F)s\tCtrl+F6" - -msgid "Enable floppy controller logs\tCtrl+F7" -msgstr "Activer journaux du contrôleur de disquettes\tCtrl+F7" - -msgid "Enable IDE logs\tCtrl+F8" -msgstr "Activer journaux de IDE\tCtrl+F8" - -msgid "Enable Serial Port logs\tCtrl+F3" -msgstr "Activer journaux de port série\tCtrl+F3" - -msgid "Enable Network logs\tCtrl+F9" -msgstr "Activer journaux du réseau\tCtrl+F9" - -msgid "&Log breakpoint\tCtrl+F10" -msgstr "&Point d'arrêt du journal\tCtrl+F10" - -msgid "Dump &video RAM\tCtrl+F1" -msgstr "Vidage de la mémoire &vidéo\tCtrl+F1" - msgid "&Help" msgstr "&Aide" diff --git a/src/qt/languages/hr-HR.po b/src/qt/languages/hr-HR.po index e6dd3d190..210de3002 100644 --- a/src/qt/languages/hr-HR.po +++ b/src/qt/languages/hr-HR.po @@ -178,36 +178,6 @@ msgstr "Z&apočni praćenje\tCtrl+T" msgid "End trace\tCtrl+T" msgstr "&Svrši praćenje\tCtrl+T" -msgid "&Logging" -msgstr "&Logging" - -msgid "Enable BusLogic logs\tCtrl+F4" -msgstr "Omogući bilježenje za BusLogic\tCtrl+F4" - -msgid "Enable CD-ROM logs\tCtrl+F5" -msgstr "Omogući bilježenje za CD-ROM\tCtrl+F5" - -msgid "Enable floppy (86F) logs\tCtrl+F6" -msgstr "Omogući bilježenje za diskete (86F)\tCtrl+F6" - -msgid "Enable floppy controller logs\tCtrl+F7" -msgstr "Omogući bilježenje za disketni krmilnik\tCtrl+F7" - -msgid "Enable IDE logs\tCtrl+F8" -msgstr "Omogući bilježenje za IDE\tCtrl+F8" - -msgid "Enable Serial Port logs\tCtrl+F3" -msgstr "Omogući bilježenje za serijska vrata\tCtrl+F3" - -msgid "Enable Network logs\tCtrl+F9" -msgstr "Omogući bilježenje za omrežje\tCtrl+F9" - -msgid "&Log breakpoint\tCtrl+F10" -msgstr "&Zabilježi prekidnu točku\tCtrl+F10" - -msgid "Dump &video RAM\tCtrl+F1" -msgstr "&Ispiši memoriju zaslona\tCtrl+F1" - msgid "&Help" msgstr "&Pomoć" diff --git a/src/qt/languages/hu-HU.po b/src/qt/languages/hu-HU.po index d6426a9a3..3f44d06b6 100644 --- a/src/qt/languages/hu-HU.po +++ b/src/qt/languages/hu-HU.po @@ -178,36 +178,6 @@ msgstr "Nyomkövetés megkezdése\tCtrl+T" msgid "End trace\tCtrl+T" msgstr "Nyomkövetés befejezése\tCtrl+T" -msgid "&Logging" -msgstr "&Naplózás" - -msgid "Enable BusLogic logs\tCtrl+F4" -msgstr "BusLogic naplók engedélyezése\tCtrl+F4" - -msgid "Enable CD-ROM logs\tCtrl+F5" -msgstr "CD-ROM naplók engedélyezése\tCtrl+F5" - -msgid "Enable floppy (86F) logs\tCtrl+F6" -msgstr "Hajlékonylemez (86F) naplók engedélyezése\tCtrl+F6" - -msgid "Enable floppy controller logs\tCtrl+F7" -msgstr "Hajlékonylemez-vezérlő naplók engedélyezése\tCtrl+F7" - -msgid "Enable IDE logs\tCtrl+F8" -msgstr "IDE naplók engedélyezése\tCtrl+F8" - -msgid "Enable Serial Port logs\tCtrl+F3" -msgstr "Soros port naplók engedélyezése\tCtrl+F3" - -msgid "Enable Network logs\tCtrl+F9" -msgstr "Hálózati naplók engedélyezése\tCtrl+F9" - -msgid "&Log breakpoint\tCtrl+F10" -msgstr "Töréspontok &naplózása\tCtrl+F10" - -msgid "Dump &video RAM\tCtrl+F1" -msgstr "&Videómemória lementése\tCtrl+F1" - msgid "&Help" msgstr "&Súgó" diff --git a/src/qt/languages/it-IT.po b/src/qt/languages/it-IT.po index c60a0635a..bc8275e6b 100644 --- a/src/qt/languages/it-IT.po +++ b/src/qt/languages/it-IT.po @@ -178,36 +178,6 @@ msgstr "Inizia traccia\tCtrl+T" msgid "End trace\tCtrl+T" msgstr "Ferma traccia\tCtrl+T" -msgid "&Logging" -msgstr "&Registra" - -msgid "Enable BusLogic logs\tCtrl+F4" -msgstr "Attiva registrazione di BusLogic\tCtrl+F4" - -msgid "Enable CD-ROM logs\tCtrl+F5" -msgstr "Attiva registrazione del CD-ROM\tCtrl+F5" - -msgid "Enable floppy (86F) logs\tCtrl+F6" -msgstr "Attiva registrazione del floppy (86F)\tCtrl+F6" - -msgid "Enable floppy controller logs\tCtrl+F7" -msgstr "Attiva registrazione del controller floppy\tCtrl+F7" - -msgid "Enable IDE logs\tCtrl+F8" -msgstr "Attiva registrazione di IDE\tCtrl+F8" - -msgid "Enable Serial Port logs\tCtrl+F3" -msgstr "Attiva registrazione della porta seriale\tCtrl+F3" - -msgid "Enable Network logs\tCtrl+F9" -msgstr "Attiva registrazione della rete\tCtrl+F9" - -msgid "&Log breakpoint\tCtrl+F10" -msgstr "&Punto di interruzione del registro\tCtrl+F10" - -msgid "Dump &video RAM\tCtrl+F1" -msgstr "Scarica &la RAM video\tCtrl+F1" - msgid "&Help" msgstr "&?" diff --git a/src/qt/languages/ja-JP.po b/src/qt/languages/ja-JP.po index 758ddec6e..38add0fc3 100644 --- a/src/qt/languages/ja-JP.po +++ b/src/qt/languages/ja-JP.po @@ -178,36 +178,6 @@ msgstr "トレース開始\tCtrl+T" msgid "End trace\tCtrl+T" msgstr "トレース終了\tCtrl+T" -msgid "&Logging" -msgstr "ログ(&L)" - -msgid "Enable BusLogic logs\tCtrl+F4" -msgstr "BusLogicのログを有効\tCtrl+F4" - -msgid "Enable CD-ROM logs\tCtrl+F5" -msgstr "CD-ROMのログを有効\tCtrl+F5" - -msgid "Enable floppy (86F) logs\tCtrl+F6" -msgstr "フロッピー(86F)のログを有効\tCtrl+F6" - -msgid "Enable floppy controller logs\tCtrl+F7" -msgstr "フロッピーコントローラーのログを有効\tCtrl+F7" - -msgid "Enable IDE logs\tCtrl+F8" -msgstr "IDEのログを有効\tCtrl+F8" - -msgid "Enable Serial Port logs\tCtrl+F3" -msgstr "シリアルポートのログを有効\tCtrl+F3" - -msgid "Enable Network logs\tCtrl+F9" -msgstr "ネットワークのログを有効\tCtrl+F9" - -msgid "&Log breakpoint\tCtrl+F10" -msgstr "ブレークポイントのログを有効(&L)\tCtrl+F10" - -msgid "Dump &video RAM\tCtrl+F1" -msgstr "ビデオRAMのダンプを有効(&V)\tCtrl+F1" - msgid "&Help" msgstr "ヘルプ(&H)" diff --git a/src/qt/languages/ko-KR.po b/src/qt/languages/ko-KR.po index 4664e5cc6..b06d800a4 100644 --- a/src/qt/languages/ko-KR.po +++ b/src/qt/languages/ko-KR.po @@ -178,36 +178,6 @@ msgstr "추적 시작하기\tCtrl+T" msgid "End trace\tCtrl+T" msgstr "추적 끝내기\tCtrl+T" -msgid "&Logging" -msgstr "로그(&L)" - -msgid "Enable BusLogic logs\tCtrl+F4" -msgstr "BusLogic 로그 켜기\tCtrl+F4" - -msgid "Enable CD-ROM logs\tCtrl+F5" -msgstr "CD-ROM 로그 켜기\tCtrl+F5" - -msgid "Enable floppy (86F) logs\tCtrl+F6" -msgstr "플로피 (86F) 로그 켜기\tCtrl+F6" - -msgid "Enable floppy controller logs\tCtrl+F7" -msgstr "플로피 컨트롤러 로그 켜기\tCtrl+F7" - -msgid "Enable IDE logs\tCtrl+F8" -msgstr "IDE 로그 켜기\tCtrl+F8" - -msgid "Enable Serial Port logs\tCtrl+F3" -msgstr "직렬 포트 로그 켜기\tCtrl+F3" - -msgid "Enable Network logs\tCtrl+F9" -msgstr "네트워크 로그 켜기\tCtrl+F9" - -msgid "&Log breakpoint\tCtrl+F10" -msgstr "중단점 로그 켜기(&L)\tCtrl+F10" - -msgid "Dump &video RAM\tCtrl+F1" -msgstr "비디오 RAM 덤프 켜기(&V)\tCtrl+F1" - msgid "&Help" msgstr "도움말(&H)" diff --git a/src/qt/languages/pl-PL.po b/src/qt/languages/pl-PL.po index c576cf883..1b9e05e81 100644 --- a/src/qt/languages/pl-PL.po +++ b/src/qt/languages/pl-PL.po @@ -178,36 +178,6 @@ msgstr "Rozpocznij śledzenie\tCtrl+T" msgid "End trace\tCtrl+T" msgstr "Zakończ śledzenie\tCtrl+T" -msgid "&Logging" -msgstr "&Logowanie" - -msgid "Enable BusLogic logs\tCtrl+F4" -msgstr "Włącz logu BusLogic\tCtrl+F4" - -msgid "Enable CD-ROM logs\tCtrl+F5" -msgstr "Włącz logi CD-ROM\tCtrl+F5" - -msgid "Enable floppy (86F) logs\tCtrl+F6" -msgstr "Włącz logi dyskietek (86F)\tCtrl+F6" - -msgid "Enable floppy controller logs\tCtrl+F7" -msgstr "Włącz logi kontrolera dyskietek\tCtrl+F7" - -msgid "Enable IDE logs\tCtrl+F8" -msgstr "Włącz logi IDE\tCtrl+F8" - -msgid "Enable Serial Port logs\tCtrl+F3" -msgstr "Włącz logi portu szeregowego\tCtrl+F3" - -msgid "Enable Network logs\tCtrl+F9" -msgstr "Włącz logi sieci\tCtrl+F9" - -msgid "&Log breakpoint\tCtrl+F10" -msgstr "&Punkt przerwania dziennika\tCtrl+F10" - -msgid "Dump &video RAM\tCtrl+F1" -msgstr "Zrzuć pamięć &wideo\tCtrl+F1" - msgid "&Help" msgstr "&Pomoc" diff --git a/src/qt/languages/pt-BR.po b/src/qt/languages/pt-BR.po index 7a1f33529..5e9418eeb 100644 --- a/src/qt/languages/pt-BR.po +++ b/src/qt/languages/pt-BR.po @@ -178,36 +178,6 @@ msgstr "Inicio do rastreamento\tCtrl+T" msgid "End trace\tCtrl+T" msgstr "Fim do rastreamento\tCtrl+T" -msgid "&Logging" -msgstr "&Registros" - -msgid "Enable BusLogic logs\tCtrl+F4" -msgstr "Ativar registros da BusLogic\tCtrl+F4" - -msgid "Enable CD-ROM logs\tCtrl+F5" -msgstr "Ativar registros do CD-ROM\tCtrl+F5" - -msgid "Enable floppy (86F) logs\tCtrl+F6" -msgstr "Ativar registros do disquete (86F)\tCtrl+F6" - -msgid "Enable floppy controller logs\tCtrl+F7" -msgstr "Ativar registros do controlador de disquete\tCtrl+F7" - -msgid "Enable IDE logs\tCtrl+F8" -msgstr "Ativar registros da IDE\tCtrl+F8" - -msgid "Enable Serial Port logs\tCtrl+F3" -msgstr "Ativar registros da porta serial\tCtrl+F3" - -msgid "Enable Network logs\tCtrl+F9" -msgstr "Ativar registros da rede\tCtrl+F9" - -msgid "&Log breakpoint\tCtrl+F10" -msgstr "&Ponto de parada no registo\tCtrl+F10" - -msgid "Dump &video RAM\tCtrl+F1" -msgstr "Despejo da RAM de &vídeo\tCtrl+F1" - msgid "&Help" msgstr "&Ajuda" diff --git a/src/qt/languages/pt-PT.po b/src/qt/languages/pt-PT.po index bc2ced0c2..9f6b1482a 100644 --- a/src/qt/languages/pt-PT.po +++ b/src/qt/languages/pt-PT.po @@ -178,36 +178,6 @@ msgstr "Iniciar o rastreio\tCtrl+T" msgid "End trace\tCtrl+T" msgstr "Terminar o rastreio\tCtrl+T" -msgid "&Logging" -msgstr "&Registo" - -msgid "Enable BusLogic logs\tCtrl+F4" -msgstr "Ativar registo BusLogic\tCtrl+F4" - -msgid "Enable CD-ROM logs\tCtrl+F5" -msgstr "Ativar registo do CD-ROM\tCtrl+F5" - -msgid "Enable floppy (86F) logs\tCtrl+F6" -msgstr "Ativar registo de disquetes (86F)\tCtrl+F6" - -msgid "Enable floppy controller logs\tCtrl+F7" -msgstr "Ativar registo do controlador de disquetes\tCtrl+F7" - -msgid "Enable IDE logs\tCtrl+F8" -msgstr "Ativar registo IDE\tCtrl+F8" - -msgid "Enable Serial Port logs\tCtrl+F3" -msgstr "Ativar registo da porta série\tCtrl+F3" - -msgid "Enable Network logs\tCtrl+F9" -msgstr "Ativar registo de rede\tCtrl+F9" - -msgid "&Log breakpoint\tCtrl+F10" -msgstr "&Ponto de paragem no registo\tCtrl+F10" - -msgid "Dump &video RAM\tCtrl+F1" -msgstr "Despejo de RAM &vídeo\tCtrl+F1" - msgid "&Help" msgstr "&Ajuda" diff --git a/src/qt/languages/ru-RU.po b/src/qt/languages/ru-RU.po index 443c6f28c..ac4802b4b 100644 --- a/src/qt/languages/ru-RU.po +++ b/src/qt/languages/ru-RU.po @@ -178,36 +178,6 @@ msgstr "Начать трассировку\tCtrl+T" msgid "End trace\tCtrl+T" msgstr "Завершить трассировку\tCtrl+T" -msgid "&Logging" -msgstr "&Ведение журнала" - -msgid "Enable BusLogic logs\tCtrl+F4" -msgstr "Включить журналы BusLogic\tCtrl+F4" - -msgid "Enable CD-ROM logs\tCtrl+F5" -msgstr "Включить журналы CD-ROM\tCtrl+F5" - -msgid "Enable floppy (86F) logs\tCtrl+F6" -msgstr "Включить журналы дискет (86F)\tCtrl+F6" - -msgid "Enable floppy controller logs\tCtrl+F7" -msgstr "Включить журналы контроллера дискет\tCtrl+F7" - -msgid "Enable IDE logs\tCtrl+F8" -msgstr "Включить журналы IDE\tCtrl+F8" - -msgid "Enable Serial Port logs\tCtrl+F3" -msgstr "Включить журналы COM порта\tCtrl+F3" - -msgid "Enable Network logs\tCtrl+F9" -msgstr "Включить журналы сети\tCtrl+F9" - -msgid "&Log breakpoint\tCtrl+F10" -msgstr "&Точка останова журнала\tCtrl+F10" - -msgid "Dump &video RAM\tCtrl+F1" -msgstr "&Выгрузка дампа видеопамяти\tCtrl+F1" - msgid "&Help" msgstr "&Помощь" diff --git a/src/qt/languages/sl-SI.po b/src/qt/languages/sl-SI.po index 6bb8a66d2..d4bdedfe3 100644 --- a/src/qt/languages/sl-SI.po +++ b/src/qt/languages/sl-SI.po @@ -178,36 +178,6 @@ msgstr "Z&ačni sledenje\tCtrl+T" msgid "End trace\tCtrl+T" msgstr "&Končaj sledenje\tCtrl+T" -msgid "&Logging" -msgstr "&Beleženje" - -msgid "Enable BusLogic logs\tCtrl+F4" -msgstr "Omogoči beleženje za BusLogic\tCtrl+F4" - -msgid "Enable CD-ROM logs\tCtrl+F5" -msgstr "Omogoči beleženje za CD-ROM\tCtrl+F5" - -msgid "Enable floppy (86F) logs\tCtrl+F6" -msgstr "Omogoči beleženje za diskete (86F)\tCtrl+F6" - -msgid "Enable floppy controller logs\tCtrl+F7" -msgstr "Omogoči beleženje za disketni krmilnik\tCtrl+F7" - -msgid "Enable IDE logs\tCtrl+F8" -msgstr "Omogoči beleženje za IDE\tCtrl+F8" - -msgid "Enable Serial Port logs\tCtrl+F3" -msgstr "Omogoči beleženje za serijska vrata\tCtrl+F3" - -msgid "Enable Network logs\tCtrl+F9" -msgstr "Omogoči beleženje za omrežje\tCtrl+F9" - -msgid "&Log breakpoint\tCtrl+F10" -msgstr "&Zabeleži prelomno točko\tCtrl+F10" - -msgid "Dump &video RAM\tCtrl+F1" -msgstr "&Izvozi pomnilnik zaslona\tCtrl+F1" - msgid "&Help" msgstr "&Pomoč" diff --git a/src/qt/languages/tr-TR.po b/src/qt/languages/tr-TR.po index a6c36ac77..a37e71344 100644 --- a/src/qt/languages/tr-TR.po +++ b/src/qt/languages/tr-TR.po @@ -178,36 +178,6 @@ msgstr "Begin trace\tCtrl+T" msgid "End trace\tCtrl+T" msgstr "End trace\tCtrl+T" -msgid "&Logging" -msgstr "&Logging" - -msgid "Enable BusLogic logs\tCtrl+F4" -msgstr "BusLogic kayıtlarını etkinleştir\tCtrl+F4" - -msgid "Enable CD-ROM logs\tCtrl+F5" -msgstr "CD-ROM kayıtlarını etkinleştir\tCtrl+F5" - -msgid "Enable floppy (86F) logs\tCtrl+F6" -msgstr "Disket (86F) kayıtlarını etkinleştir\tCtrl+F6" - -msgid "Enable floppy controller logs\tCtrl+F7" -msgstr "Disket kontrolcüsü kayıtlarını etkinleştir\tCtrl+F7" - -msgid "Enable IDE logs\tCtrl+F8" -msgstr "IDE kayıtlarını etkinleştir\tCtrl+F8" - -msgid "Enable Serial Port logs\tCtrl+F3" -msgstr "Seri Port kayıtlarını etkinleştir\tCtrl+F3" - -msgid "Enable Network logs\tCtrl+F9" -msgstr "Ağ kayıtlarını etkinleştir\tCtrl+F9" - -msgid "&Log breakpoint\tCtrl+F10" -msgstr "&breakpoint'i kayıtla\tCtrl+F10" - -msgid "Dump &video RAM\tCtrl+F1" -msgstr "&Video belleğini depola\tCtrl+F1" - msgid "&Help" msgstr "&Yardım" diff --git a/src/qt/languages/uk-UA.po b/src/qt/languages/uk-UA.po index a8dc7bd0f..d5210ad7f 100644 --- a/src/qt/languages/uk-UA.po +++ b/src/qt/languages/uk-UA.po @@ -178,36 +178,6 @@ msgstr "Почати трасування\tCtrl+T" msgid "End trace\tCtrl+T" msgstr "Завершити трасування\tCtrl+T" -msgid "&Logging" -msgstr "&Ведення журнала" - -msgid "Enable BusLogic logs\tCtrl+F4" -msgstr "Увімкнути журнали BusLogic\tCtrl+F4" - -msgid "Enable CD-ROM logs\tCtrl+F5" -msgstr "Увімкнути журнали CD-ROM\tCtrl+F5" - -msgid "Enable floppy (86F) logs\tCtrl+F6" -msgstr "Увімкнути журнали дискет (86F)\tCtrl+F6" - -msgid "Enable floppy controller logs\tCtrl+F7" -msgstr "Увімкнути журнали контролера дискет\tCtrl+F7" - -msgid "Enable IDE logs\tCtrl+F8" -msgstr "Увімкнути журнали IDE\tCtrl+F8" - -msgid "Enable Serial Port logs\tCtrl+F3" -msgstr "Увімкнути журнали COM порту\tCtrl+F3" - -msgid "Enable Network logs\tCtrl+F9" -msgstr "Увімкнути журнали мережі\tCtrl+F9" - -msgid "&Log breakpoint\tCtrl+F10" -msgstr "&Точка зупинка журналу\tCtrl+F10" - -msgid "Dump &video RAM\tCtrl+F1" -msgstr "&Вивантаження дампа відеопам'яті\tCtrl+F1" - msgid "&Help" msgstr "&Допомога" diff --git a/src/qt/languages/zh-CN.po b/src/qt/languages/zh-CN.po index 1d5a94da7..1b00c3586 100644 --- a/src/qt/languages/zh-CN.po +++ b/src/qt/languages/zh-CN.po @@ -178,36 +178,6 @@ msgstr "开始追踪\tCtrl+T" msgid "End trace\tCtrl+T" msgstr "结束追踪\tCtrl+T" -msgid "&Logging" -msgstr "记录日志(&L)" - -msgid "Enable BusLogic logs\tCtrl+F4" -msgstr "启用 BusLogic 日志\tCtrl+F4" - -msgid "Enable CD-ROM logs\tCtrl+F5" -msgstr "启用 CD-ROM 日志\tCtrl+F5" - -msgid "Enable floppy (86F) logs\tCtrl+F6" -msgstr "启用软盘 (86F) 日志\tCtrl+F6" - -msgid "Enable floppy controller logs\tCtrl+F7" -msgstr "启用软盘控制器日志\tCtrl+F7" - -msgid "Enable IDE logs\tCtrl+F8" -msgstr "启用 IDE 日志\tCtrl+F8" - -msgid "Enable Serial Port logs\tCtrl+F3" -msgstr "启用串口日志\tCtrl+F3" - -msgid "Enable Network logs\tCtrl+F9" -msgstr "启用网络日志\tCtrl+F9" - -msgid "&Log breakpoint\tCtrl+F10" -msgstr "日志断点(&L)\tCtrl+F10" - -msgid "Dump &video RAM\tCtrl+F1" -msgstr "创建显卡内存转储(&V)\tCtrl+F1" - msgid "&Help" msgstr "帮助(&H)" diff --git a/src/win/86Box.rc b/src/win/86Box.rc index 1d9fbf06c..342870d62 100644 --- a/src/win/86Box.rc +++ b/src/win/86Box.rc @@ -37,33 +37,6 @@ MainAccel ACCELERATORS MOVEABLE PURE BEGIN -#ifdef ENABLE_VRAM_DUMP - VK_F1, IDM_DUMP_VRAM, CONTROL, VIRTKEY -#endif -#ifdef ENABLE_SERIAL_LOG - VK_F3, IDM_LOG_SERIAL, CONTROL, VIRTKEY -#endif -#ifdef ENABLE_BUSLOGIC_LOG - VK_F4, IDM_LOG_BUSLOGIC, CONTROL, VIRTKEY -#endif -#ifdef ENABLE_CDROM_LOG - VK_F5, IDM_LOG_CDROM, CONTROL, VIRTKEY -#endif -#ifdef ENABLE_D86F_LOG - VK_F6, IDM_LOG_D86F, CONTROL, VIRTKEY -#endif -#ifdef ENABLE_FDC_LOG - VK_F7, IDM_LOG_FDC, CONTROL, VIRTKEY -#endif -#ifdef ENABLE_IDE_LOG - VK_F8, IDM_LOG_IDE, CONTROL, VIRTKEY -#endif -#ifdef ENABLE_NIC_LOG - VK_F9, IDM_LOG_NIC, CONTROL, VIRTKEY -#endif -#ifdef ENABLE_LOG_BREAKPOINT - VK_F10, IDM_LOG_BREAKPOINT, CONTROL, VIRTKEY -#endif #ifdef MTR_ENABLED "T", IDM_ACTION_TRACE, CONTROL, VIRTKEY #endif diff --git a/src/win/Makefile.mingw b/src/win/Makefile.mingw index 4362273e7..26d7239f3 100644 --- a/src/win/Makefile.mingw +++ b/src/win/Makefile.mingw @@ -316,10 +316,6 @@ ifeq ($(RELEASE), y) OPTS += -DRELEASE_BUILD RFLAGS += -DRELEASE_BUILD endif -ifeq ($(VRAMDUMP), y) -OPTS += -DENABLE_VRAM_DUMP -RFLAGS += -DENABLE_VRAM_DUMP -endif # Optional modules. diff --git a/src/win/languages/cs-CZ.rc b/src/win/languages/cs-CZ.rc index ababda8f2..2699627ae 100644 --- a/src/win/languages/cs-CZ.rc +++ b/src/win/languages/cs-CZ.rc @@ -112,43 +112,6 @@ BEGIN MENUITEM "Zastavit trace\tCtrl+T", IDM_ACTION_END_TRACE #endif END -#if defined(ENABLE_LOG_TOGGLES) || defined(ENABLE_LOG_COMMANDS) - POPUP "&Záznamy" - BEGIN -# ifdef ENABLE_BUSLOGIC_LOG - MENUITEM "Povolit záznamy BusLogic\tCtrl+F4", IDM_LOG_BUSLOGIC -# endif -# ifdef ENABLE_CDROM_LOG - MENUITEM "Povolit záznamy CD-ROM\tCtrl+F5", IDM_LOG_CDROM -# endif -# ifdef ENABLE_D86F_LOG - MENUITEM "Povolit záznamy diskety (86F)\tCtrl+F6", IDM_LOG_D86F -# endif -# ifdef ENABLE_FDC_LOG - MENUITEM "Povolit záznamy disketového řadiče\tCtrl+F7", IDM_LOG_FDC -# endif -# ifdef ENABLE_IDE_LOG - MENUITEM "Povolit záznamy IDE\tCtrl+F8", IDM_LOG_IDE -# endif -# ifdef ENABLE_SERIAL_LOG - MENUITEM "Povolit záznamy sériového portu\tCtrl+F3", IDM_LOG_SERIAL -# endif -# ifdef ENABLE_NIC_LOG - MENUITEM "Povolit záznamy sítě\tCtrl+F9", IDM_LOG_NIC -# endif -# ifdef ENABLE_LOG_COMMANDS -# ifdef ENABLE_LOG_TOGGLES - MENUITEM SEPARATOR -# endif -# ifdef ENABLE_LOG_BREAKPOINT - MENUITEM "Zaznamenat do &logu zarážku\tCtrl+F10", IDM_LOG_BREAKPOINT -# endif -# ifdef ENABLE_VRAM_DUMP - MENUITEM "Zaznamenat obsah &video RAM\tCtrl+F1", IDM_DUMP_VRAM -# endif -# endif - END -#endif POPUP "Ná&pověda" BEGIN MENUITEM "&Dokumentace", IDM_DOCS diff --git a/src/win/languages/de-DE.rc b/src/win/languages/de-DE.rc index 08f152795..2f5975975 100644 --- a/src/win/languages/de-DE.rc +++ b/src/win/languages/de-DE.rc @@ -112,43 +112,6 @@ BEGIN MENUITEM "Tracing beenden\tStrg+T", IDM_ACTION_END_TRACE #endif END -#if defined(ENABLE_LOG_TOGGLES) || defined(ENABLE_LOG_COMMANDS) - POPUP "&Logging" - BEGIN -# ifdef ENABLE_BUSLOGIC_LOG - MENUITEM "BusLogic-Logs aktivieren\tStrg+F4", IDM_LOG_BUSLOGIC -# endif -# ifdef ENABLE_CDROM_LOG - MENUITEM "CD-ROM-Logs aktivieren\tStrg+F5", IDM_LOG_CDROM -# endif -# ifdef ENABLE_D86F_LOG - MENUITEM "Disketten (86F)-Logs aktivieren\tStrg+F6", IDM_LOG_D86F -# endif -# ifdef ENABLE_FDC_LOG - MENUITEM "Diskettencontroller-Logs aktivieren\tStrg+F7", IDM_LOG_FDC -# endif -# ifdef ENABLE_IDE_LOG - MENUITEM "IDE-Logs aktivieren\tStrg+F8", IDM_LOG_IDE -# endif -# ifdef ENABLE_SERIAL_LOG - MENUITEM "Seriell-Port-Logs aktivieren\tStrg+F3", IDM_LOG_SERIAL -# endif -# ifdef ENABLE_NIC_LOG - MENUITEM "Netzwerk-Logs aktivieren\tStrg+F9", IDM_LOG_NIC -# endif -# ifdef ENABLE_LOG_COMMANDS -# ifdef ENABLE_LOG_TOGGLES - MENUITEM SEPARATOR -# endif -# ifdef ENABLE_LOG_BREAKPOINT - MENUITEM "&Breakpoint für die Log-Datei\tStrg+F10", IDM_LOG_BREAKPOINT -# endif -# ifdef ENABLE_VRAM_DUMP - MENUITEM "&Video-RAM dumpen\tStrg+F1", IDM_DUMP_VRAM -# endif -# endif - END -#endif POPUP "&Hilfe" BEGIN MENUITEM "&Dokumentation...", IDM_DOCS diff --git a/src/win/languages/en-GB.rc b/src/win/languages/en-GB.rc index 381091ca5..eec6c4699 100644 --- a/src/win/languages/en-GB.rc +++ b/src/win/languages/en-GB.rc @@ -112,43 +112,6 @@ BEGIN MENUITEM "End trace\tCtrl+T", IDM_ACTION_END_TRACE #endif END -#if defined(ENABLE_LOG_TOGGLES) || defined(ENABLE_LOG_COMMANDS) - POPUP "&Logging" - BEGIN -# ifdef ENABLE_BUSLOGIC_LOG - MENUITEM "Enable BusLogic logs\tCtrl+F4", IDM_LOG_BUSLOGIC -# endif -# ifdef ENABLE_CDROM_LOG - MENUITEM "Enable CD-ROM logs\tCtrl+F5", IDM_LOG_CDROM -# endif -# ifdef ENABLE_D86F_LOG - MENUITEM "Enable floppy (86F) logs\tCtrl+F6", IDM_LOG_D86F -# endif -# ifdef ENABLE_FDC_LOG - MENUITEM "Enable floppy controller logs\tCtrl+F7", IDM_LOG_FDC -# endif -# ifdef ENABLE_IDE_LOG - MENUITEM "Enable IDE logs\tCtrl+F8", IDM_LOG_IDE -# endif -# ifdef ENABLE_SERIAL_LOG - MENUITEM "Enable Serial Port logs\tCtrl+F3", IDM_LOG_SERIAL -# endif -# ifdef ENABLE_NIC_LOG - MENUITEM "Enable Network logs\tCtrl+F9", IDM_LOG_NIC -# endif -# ifdef ENABLE_LOG_COMMANDS -# ifdef ENABLE_LOG_TOGGLES - MENUITEM SEPARATOR -# endif -# ifdef ENABLE_LOG_BREAKPOINT - MENUITEM "&Log breakpoint\tCtrl+F10", IDM_LOG_BREAKPOINT -# endif -# ifdef ENABLE_VRAM_DUMP - MENUITEM "Dump &video RAM\tCtrl+F1", IDM_DUMP_VRAM -# endif -# endif - END -#endif POPUP "&Help" BEGIN MENUITEM "&Documentation...", IDM_DOCS diff --git a/src/win/languages/en-US.rc b/src/win/languages/en-US.rc index 6013cea7b..e276015e1 100644 --- a/src/win/languages/en-US.rc +++ b/src/win/languages/en-US.rc @@ -112,43 +112,6 @@ BEGIN MENUITEM "End trace\tCtrl+T", IDM_ACTION_END_TRACE #endif END -#if defined(ENABLE_LOG_TOGGLES) || defined(ENABLE_LOG_COMMANDS) - POPUP "&Logging" - BEGIN -# ifdef ENABLE_BUSLOGIC_LOG - MENUITEM "Enable BusLogic logs\tCtrl+F4", IDM_LOG_BUSLOGIC -# endif -# ifdef ENABLE_CDROM_LOG - MENUITEM "Enable CD-ROM logs\tCtrl+F5", IDM_LOG_CDROM -# endif -# ifdef ENABLE_D86F_LOG - MENUITEM "Enable floppy (86F) logs\tCtrl+F6", IDM_LOG_D86F -# endif -# ifdef ENABLE_FDC_LOG - MENUITEM "Enable floppy controller logs\tCtrl+F7", IDM_LOG_FDC -# endif -# ifdef ENABLE_IDE_LOG - MENUITEM "Enable IDE logs\tCtrl+F8", IDM_LOG_IDE -# endif -# ifdef ENABLE_SERIAL_LOG - MENUITEM "Enable Serial Port logs\tCtrl+F3", IDM_LOG_SERIAL -# endif -# ifdef ENABLE_NIC_LOG - MENUITEM "Enable Network logs\tCtrl+F9", IDM_LOG_NIC -# endif -# ifdef ENABLE_LOG_COMMANDS -# ifdef ENABLE_LOG_TOGGLES - MENUITEM SEPARATOR -# endif -# ifdef ENABLE_LOG_BREAKPOINT - MENUITEM "&Log breakpoint\tCtrl+F10", IDM_LOG_BREAKPOINT -# endif -# ifdef ENABLE_VRAM_DUMP - MENUITEM "Dump &video RAM\tCtrl+F1", IDM_DUMP_VRAM -# endif -# endif - END -#endif POPUP "&Help" BEGIN MENUITEM "&Documentation...", IDM_DOCS diff --git a/src/win/languages/es-ES.rc b/src/win/languages/es-ES.rc index ff774c894..67d2dcbfc 100644 --- a/src/win/languages/es-ES.rc +++ b/src/win/languages/es-ES.rc @@ -112,43 +112,6 @@ BEGIN MENUITEM "Terminar traza\tCtrl+T", IDM_ACTION_END_TRACE #endif END -#if defined(ENABLE_LOG_TOGGLES) || defined(ENABLE_LOG_COMMANDS) - POPUP "&Trazas" - BEGIN -# ifdef ENABLE_BUSLOGIC_LOG - MENUITEM "Habilitar trazas de BusLogic\tCtrl+F4", IDM_LOG_BUSLOGIC -# endif -# ifdef ENABLE_CDROM_LOG - MENUITEM "Habilitar trazas de CD-ROM\tCtrl+F5", IDM_LOG_CDROM -# endif -# ifdef ENABLE_D86F_LOG - MENUITEM "Habilitar trazas de disquete (86F)\tCtrl+F6", IDM_LOG_D86F -# endif -# ifdef ENABLE_FDC_LOG - MENUITEM "Habilitar trazas de controladora de disquete\tCtrl+F7", IDM_LOG_FDC -# endif -# ifdef ENABLE_IDE_LOG - MENUITEM "Habilitar trazas de IDE\tCtrl+F8", IDM_LOG_IDE -# endif -# ifdef ENABLE_SERIAL_LOG - MENUITEM "Habilitar trazas de Puerto Serie\tCtrl+F3", IDM_LOG_SERIAL -# endif -# ifdef ENABLE_NIC_LOG - MENUITEM "Habilitar trazas de Red\tCtrl+F9", IDM_LOG_NIC -# endif -# ifdef ENABLE_LOG_COMMANDS -# ifdef ENABLE_LOG_TOGGLES - MENUITEM SEPARATOR -# endif -# ifdef ENABLE_LOG_BREAKPOINT - MENUITEM "&Punto de ruptura de traza\tCtrl+F10", IDM_LOG_BREAKPOINT -# endif -# ifdef ENABLE_VRAM_DUMP - MENUITEM "Volcar RAM de &video\tCtrl+F1", IDM_DUMP_VRAM -# endif -# endif - END -#endif POPUP "&Ayuda" BEGIN MENUITEM "&Documentación...", IDM_DOCS diff --git a/src/win/languages/fi-FI.rc b/src/win/languages/fi-FI.rc index b24e297d8..0008bd4c6 100644 --- a/src/win/languages/fi-FI.rc +++ b/src/win/languages/fi-FI.rc @@ -112,43 +112,6 @@ BEGIN MENUITEM "Lopeta jäljitys\tCtrl+T", IDM_ACTION_END_TRACE #endif END -#if defined(ENABLE_LOG_TOGGLES) || defined(ENABLE_LOG_COMMANDS) - POPUP "&Lokitus" - BEGIN -# ifdef ENABLE_BUSLOGIC_LOG - MENUITEM "BusLogic-lokitus päällä\tCtrl+F4", IDM_LOG_BUSLOGIC -# endif -# ifdef ENABLE_CDROM_LOG - MENUITEM "CD-ROM-lokitus päällä\tCtrl+F5", IDM_LOG_CDROM -# endif -# ifdef ENABLE_D86F_LOG - MENUITEM "Levykelokitus (86F) päällä\tCtrl+F6", IDM_LOG_D86F -# endif -# ifdef ENABLE_FDC_LOG - MENUITEM "Levykekontrollerin lokitus päällä\tCtrl+F7", IDM_LOG_FDC -# endif -# ifdef ENABLE_IDE_LOG - MENUITEM "IDE-lokitus päällä\tCtrl+F8", IDM_LOG_IDE -# endif -# ifdef ENABLE_SERIAL_LOG - MENUITEM "Sarjaporttilokitus päällä\tCtrl+F3", IDM_LOG_SERIAL -# endif -# ifdef ENABLE_NIC_LOG - MENUITEM "Verkkolokitus päällä\tCtrl+F9", IDM_LOG_NIC -# endif -# ifdef ENABLE_LOG_COMMANDS -# ifdef ENABLE_LOG_TOGGLES - MENUITEM SEPARATOR -# endif -# ifdef ENABLE_LOG_BREAKPOINT - MENUITEM "&Kirjaa keskeytyskohdat\tCtrl+F10", IDM_LOG_BREAKPOINT -# endif -# ifdef ENABLE_VRAM_DUMP - MENUITEM "Tallenna &videomuistin vedos\tCtrl+F1", IDM_DUMP_VRAM -# endif -# endif - END -#endif POPUP "&Ohje" BEGIN MENUITEM "&Dokumentaatio...", IDM_DOCS diff --git a/src/win/languages/fr-FR.rc b/src/win/languages/fr-FR.rc index e048c5065..c7c7dcbe6 100644 --- a/src/win/languages/fr-FR.rc +++ b/src/win/languages/fr-FR.rc @@ -112,43 +112,6 @@ BEGIN MENUITEM "Finir traces\tCtrl+T", IDM_ACTION_END_TRACE #endif END -#if defined(ENABLE_LOG_TOGGLES) || defined(ENABLE_LOG_COMMANDS) - POPUP "&Journalisation" - BEGIN -# ifdef ENABLE_BUSLOGIC_LOG - MENUITEM "Activer journaux de BusLogic\tCtrl+F4", IDM_LOG_BUSLOGIC -# endif -# ifdef ENABLE_CDROM_LOG - MENUITEM "Activer journaux du CD-ROM\tCtrl+F5", IDM_LOG_CDROM -# endif -# ifdef ENABLE_D86F_LOG - MENUITEM "Activer journaux des disquettes (86F)s\tCtrl+F6", IDM_LOG_D86F -# endif -# ifdef ENABLE_FDC_LOG - MENUITEM "Activer journaux du contrôleur de disquettes\tCtrl+F7", IDM_LOG_FDC -# endif -# ifdef ENABLE_IDE_LOG - MENUITEM "Activer journaux de IDE\tCtrl+F8", IDM_LOG_IDE -# endif -# ifdef ENABLE_SERIAL_LOG - MENUITEM "Activer journaux de port série\tCtrl+F3", IDM_LOG_SERIAL -# endif -# ifdef ENABLE_NIC_LOG - MENUITEM "Activer journaux du réseau\tCtrl+F9", IDM_LOG_NIC -# endif -# ifdef ENABLE_LOG_COMMANDS -# ifdef ENABLE_LOG_TOGGLES - MENUITEM SEPARATOR -# endif -# ifdef ENABLE_LOG_BREAKPOINT - MENUITEM "&Point d'arrêt du journal\tCtrl+F10", IDM_LOG_BREAKPOINT -# endif -# ifdef ENABLE_VRAM_DUMP - MENUITEM "Vidage de la mémoire &vidéo\tCtrl+F1", IDM_DUMP_VRAM -# endif -# endif - END -#endif POPUP "&Aide" BEGIN MENUITEM "&Documentation...", IDM_DOCS diff --git a/src/win/languages/hr-HR.rc b/src/win/languages/hr-HR.rc index 5a212cc91..ca2f49af2 100644 --- a/src/win/languages/hr-HR.rc +++ b/src/win/languages/hr-HR.rc @@ -112,43 +112,6 @@ BEGIN MENUITEM "&Svrši praćenje\tCtrl+T", IDM_ACTION_END_TRACE #endif END -#if defined(ENABLE_LOG_TOGGLES) || defined(ENABLE_LOG_COMMANDS) - POPUP "&Logging" - BEGIN -# ifdef ENABLE_BUSLOGIC_LOG - MENUITEM "Omogući bilježenje za BusLogic\tCtrl+F4", IDM_LOG_BUSLOGIC -# endif -# ifdef ENABLE_CDROM_LOG - MENUITEM "Omogući bilježenje za CD-ROM\tCtrl+F5", IDM_LOG_CDROM -# endif -# ifdef ENABLE_D86F_LOG - MENUITEM "Omogući bilježenje za diskete (86F)\tCtrl+F6", IDM_LOG_D86F -# endif -# ifdef ENABLE_FDC_LOG - MENUITEM "Omogući bilježenje za disketni krmilnik\tCtrl+F7", IDM_LOG_FDC -# endif -# ifdef ENABLE_IDE_LOG - MENUITEM "Omogući bilježenje za IDE\tCtrl+F8", IDM_LOG_IDE -# endif -# ifdef ENABLE_SERIAL_LOG - MENUITEM "Omogući bilježenje za serijska vrata\tCtrl+F3", IDM_LOG_SERIAL -# endif -# ifdef ENABLE_NIC_LOG - MENUITEM "Omogući bilježenje za omrežje\tCtrl+F9", IDM_LOG_NIC -# endif -# ifdef ENABLE_LOG_COMMANDS -# ifdef ENABLE_LOG_TOGGLES - MENUITEM SEPARATOR -# endif -# ifdef ENABLE_LOG_BREAKPOINT - MENUITEM "&Zabilježi prekidnu točku\tCtrl+F10", IDM_LOG_BREAKPOINT -# endif -# ifdef ENABLE_VRAM_DUMP - MENUITEM "&Ispiši memoriju zaslona\tCtrl+F1", IDM_DUMP_VRAM -# endif -# endif - END -#endif POPUP "&Pomoć" BEGIN MENUITEM "&Dokumentacija...", IDM_DOCS diff --git a/src/win/languages/hu-HU.rc b/src/win/languages/hu-HU.rc index cc1f9aebb..ba4d14073 100644 --- a/src/win/languages/hu-HU.rc +++ b/src/win/languages/hu-HU.rc @@ -117,43 +117,6 @@ BEGIN MENUITEM "Nyomkövetés befejezése\tCtrl+T", IDM_ACTION_END_TRACE #endif END -#if defined(ENABLE_LOG_TOGGLES) || defined(ENABLE_LOG_COMMANDS) - POPUP "&Naplózás" - BEGIN -# ifdef ENABLE_BUSLOGIC_LOG - MENUITEM "BusLogic naplók engedélyezése\tCtrl+F4", IDM_LOG_BUSLOGIC -# endif -# ifdef ENABLE_CDROM_LOG - MENUITEM "CD-ROM naplók engedélyezése\tCtrl+F5", IDM_LOG_CDROM -# endif -# ifdef ENABLE_D86F_LOG - MENUITEM "Hajlékonylemez (86F) naplók engedélyezése\tCtrl+F6", IDM_LOG_D86F -# endif -# ifdef ENABLE_FDC_LOG - MENUITEM "Hajlékonylemez-vezérlő naplók engedélyezése\tCtrl+F7", IDM_LOG_FDC -# endif -# ifdef ENABLE_IDE_LOG - MENUITEM "IDE naplók engedélyezése\tCtrl+F8", IDM_LOG_IDE -# endif -# ifdef ENABLE_SERIAL_LOG - MENUITEM "Soros port naplók engedélyezése\tCtrl+F3", IDM_LOG_SERIAL -# endif -# ifdef ENABLE_NIC_LOG - MENUITEM "Hálózati naplók engedélyezése\tCtrl+F9", IDM_LOG_NIC -# endif -# ifdef ENABLE_LOG_COMMANDS -# ifdef ENABLE_LOG_TOGGLES - MENUITEM SEPARATOR -# endif -# ifdef ENABLE_LOG_BREAKPOINT - MENUITEM "Töréspontok &naplózása\tCtrl+F10", IDM_LOG_BREAKPOINT -# endif -# ifdef ENABLE_VRAM_DUMP - MENUITEM "&Videómemória lementése\tCtrl+F1", IDM_DUMP_VRAM -# endif -# endif - END -#endif POPUP "&Súgó" BEGIN MENUITEM "&Dokumentáció...", IDM_DOCS diff --git a/src/win/languages/it-IT.rc b/src/win/languages/it-IT.rc index c941bc585..634b73e32 100644 --- a/src/win/languages/it-IT.rc +++ b/src/win/languages/it-IT.rc @@ -113,43 +113,6 @@ BEGIN MENUITEM "Ferma traccia\tCtrl+T", IDM_ACTION_END_TRACE #endif END -#if defined(ENABLE_LOG_TOGGLES) || defined(ENABLE_LOG_COMMANDS) - POPUP "&Registra" - BEGIN -# ifdef ENABLE_BUSLOGIC_LOG - MENUITEM "Attiva registrazione di BusLogic\tCtrl+F4", IDM_LOG_BUSLOGIC -# endif -# ifdef ENABLE_CDROM_LOG - MENUITEM "Attiva registrazione del CD-ROM\tCtrl+F5", IDM_LOG_CDROM -# endif -# ifdef ENABLE_D86F_LOG - MENUITEM "Attiva registrazione del floppy (86F)\tCtrl+F6", IDM_LOG_D86F -# endif -# ifdef ENABLE_FDC_LOG - MENUITEM "Attiva registrazione del controller floppy\tCtrl+F7", IDM_LOG_FDC -# endif -# ifdef ENABLE_IDE_LOG - MENUITEM "Attiva registrazione di IDE\tCtrl+F8", IDM_LOG_IDE -# endif -# ifdef ENABLE_SERIAL_LOG - MENUITEM "Attiva registrazione della porta seriale\tCtrl+F3", IDM_LOG_SERIAL -# endif -# ifdef ENABLE_NIC_LOG - MENUITEM "Attiva registrazione della rete\tCtrl+F9", IDM_LOG_NIC -# endif -# ifdef ENABLE_LOG_COMMANDS -# ifdef ENABLE_LOG_TOGGLES - MENUITEM SEPARATOR -# endif -# ifdef ENABLE_LOG_BREAKPOINT - MENUITEM "&Punto di interruzione del registro\tCtrl+F10", IDM_LOG_BREAKPOINT -# endif -# ifdef ENABLE_VRAM_DUMP - MENUITEM "Scarica &la RAM video\tCtrl+F1", IDM_DUMP_VRAM -# endif -# endif - END -#endif POPUP "&?" BEGIN MENUITEM "&Documentazione...", IDM_DOCS diff --git a/src/win/languages/ja-JP.rc b/src/win/languages/ja-JP.rc index c3e9b2acd..fbadc32b4 100644 --- a/src/win/languages/ja-JP.rc +++ b/src/win/languages/ja-JP.rc @@ -112,43 +112,6 @@ BEGIN MENUITEM "トレース終了\tCtrl+T", IDM_ACTION_END_TRACE #endif END -#if defined(ENABLE_LOG_TOGGLES) || defined(ENABLE_LOG_COMMANDS) - POPUP "ログ(&L)" - BEGIN -# ifdef ENABLE_BUSLOGIC_LOG - MENUITEM "BusLogicのログを有効\tCtrl+F4", IDM_LOG_BUSLOGIC -# endif -# ifdef ENABLE_CDROM_LOG - MENUITEM "CD-ROMのログを有効\tCtrl+F5", IDM_LOG_CDROM -# endif -# ifdef ENABLE_D86F_LOG - MENUITEM "フロッピー(86F)のログを有効\tCtrl+F6", IDM_LOG_D86F -# endif -# ifdef ENABLE_FDC_LOG - MENUITEM "フロッピーコントローラーのログを有効\tCtrl+F7", IDM_LOG_FDC -# endif -# ifdef ENABLE_IDE_LOG - MENUITEM "IDEのログを有効\tCtrl+F8", IDM_LOG_IDE -# endif -# ifdef ENABLE_SERIAL_LOG - MENUITEM "シリアルポートのログを有効\tCtrl+F3", IDM_LOG_SERIAL -# endif -# ifdef ENABLE_NIC_LOG - MENUITEM "ネットワークのログを有効\tCtrl+F9", IDM_LOG_NIC -# endif -# ifdef ENABLE_LOG_COMMANDS -# ifdef ENABLE_LOG_TOGGLES - MENUITEM SEPARATOR -# endif -# ifdef ENABLE_LOG_BREAKPOINT - MENUITEM "ブレークポイントのログを有効(&L)\tCtrl+F10", IDM_LOG_BREAKPOINT -# endif -# ifdef ENABLE_VRAM_DUMP - MENUITEM "ビデオRAMのダンプを有効(&V)\tCtrl+F1", IDM_DUMP_VRAM -# endif -# endif - END -#endif POPUP "ヘルプ(&H)" BEGIN MENUITEM "ドキュメント(&D)...", IDM_DOCS diff --git a/src/win/languages/ko-KR.rc b/src/win/languages/ko-KR.rc index 8d494c718..d5f8115f6 100644 --- a/src/win/languages/ko-KR.rc +++ b/src/win/languages/ko-KR.rc @@ -112,43 +112,6 @@ BEGIN MENUITEM "추적 끝내기\tCtrl+T", IDM_ACTION_END_TRACE #endif END -#if defined(ENABLE_LOG_TOGGLES) || defined(ENABLE_LOG_COMMANDS) - POPUP "로그(&L)" - BEGIN -# ifdef ENABLE_BUSLOGIC_LOG - MENUITEM "BusLogic 로그 켜기\tCtrl+F4", IDM_LOG_BUSLOGIC -# endif -# ifdef ENABLE_CDROM_LOG - MENUITEM "CD-ROM 로그 켜기\tCtrl+F5", IDM_LOG_CDROM -# endif -# ifdef ENABLE_D86F_LOG - MENUITEM "플로피 (86F) 로그 켜기\tCtrl+F6", IDM_LOG_D86F -# endif -# ifdef ENABLE_FDC_LOG - MENUITEM "플로피 컨트롤러 로그 켜기\tCtrl+F7", IDM_LOG_FDC -# endif -# ifdef ENABLE_IDE_LOG - MENUITEM "IDE 로그 켜기\tCtrl+F8", IDM_LOG_IDE -# endif -# ifdef ENABLE_SERIAL_LOG - MENUITEM "직렬 포트 로그 켜기\tCtrl+F3", IDM_LOG_SERIAL -# endif -# ifdef ENABLE_NIC_LOG - MENUITEM "네트워크 로그 켜기\tCtrl+F9", IDM_LOG_NIC -# endif -# ifdef ENABLE_LOG_COMMANDS -# ifdef ENABLE_LOG_TOGGLES - MENUITEM SEPARATOR -# endif -# ifdef ENABLE_LOG_BREAKPOINT - MENUITEM "중단점 로그 켜기(&L)\tCtrl+F10", IDM_LOG_BREAKPOINT -# endif -# ifdef ENABLE_VRAM_DUMP - MENUITEM "비디오 RAM 덤프 켜기(&V)\tCtrl+F1", IDM_DUMP_VRAM -# endif -# endif - END -#endif POPUP "도움말(&H)" BEGIN MENUITEM "문서(&D)...", IDM_DOCS diff --git a/src/win/languages/pl-PL.rc b/src/win/languages/pl-PL.rc index eaca1fb99..1001e3c62 100644 --- a/src/win/languages/pl-PL.rc +++ b/src/win/languages/pl-PL.rc @@ -112,43 +112,6 @@ BEGIN MENUITEM "Zakończ śledzenie\tCtrl+T", IDM_ACTION_END_TRACE #endif END -#if defined(ENABLE_LOG_TOGGLES) || defined(ENABLE_LOG_COMMANDS) - POPUP "&Logowanie" - BEGIN -# ifdef ENABLE_BUSLOGIC_LOG - MENUITEM "Włącz logu BusLogic\tCtrl+F4", IDM_LOG_BUSLOGIC -# endif -# ifdef ENABLE_CDROM_LOG - MENUITEM "Włącz logi CD-ROM\tCtrl+F5", IDM_LOG_CDROM -# endif -# ifdef ENABLE_D86F_LOG - MENUITEM "Włącz logi dyskietek (86F)\tCtrl+F6", IDM_LOG_D86F -# endif -# ifdef ENABLE_FDC_LOG - MENUITEM "Włącz logi kontrolera dyskietek\tCtrl+F7", IDM_LOG_FDC -# endif -# ifdef ENABLE_IDE_LOG - MENUITEM "Włącz logi IDE\tCtrl+F8", IDM_LOG_IDE -# endif -# ifdef ENABLE_SERIAL_LOG - MENUITEM "Włącz logi portu szeregowego\tCtrl+F3", IDM_LOG_SERIAL -# endif -# ifdef ENABLE_NIC_LOG - MENUITEM "Włącz logi sieci\tCtrl+F9", IDM_LOG_NIC -# endif -# ifdef ENABLE_LOG_COMMANDS -# ifdef ENABLE_LOG_TOGGLES - MENUITEM SEPARATOR -# endif -# ifdef ENABLE_LOG_BREAKPOINT - MENUITEM "&Punkt przerwania dziennika\tCtrl+F10", IDM_LOG_BREAKPOINT -# endif -# ifdef ENABLE_VRAM_DUMP - MENUITEM "Zrzuć pamięć &wideo\tCtrl+F1", IDM_DUMP_VRAM -# endif -# endif - END -#endif POPUP "&Pomoc" BEGIN MENUITEM "&Dokumentacja...", IDM_DOCS diff --git a/src/win/languages/pt-BR.rc b/src/win/languages/pt-BR.rc index 72cab4239..76903e4d6 100644 --- a/src/win/languages/pt-BR.rc +++ b/src/win/languages/pt-BR.rc @@ -115,43 +115,6 @@ BEGIN MENUITEM "Fim do rastreamento\tCtrl+T", IDM_ACTION_END_TRACE #endif END -#if defined(ENABLE_LOG_TOGGLES) || defined(ENABLE_LOG_COMMANDS) - POPUP "&Registros" - BEGIN -# ifdef ENABLE_BUSLOGIC_LOG - MENUITEM "Ativar registros da BusLogic\tCtrl+F4", IDM_LOG_BUSLOGIC -# endif -# ifdef ENABLE_CDROM_LOG - MENUITEM "Ativar registros do CD-ROM\tCtrl+F5", IDM_LOG_CDROM -# endif -# ifdef ENABLE_D86F_LOG - MENUITEM "Ativar registros do disquete (86F)\tCtrl+F6", IDM_LOG_D86F -# endif -# ifdef ENABLE_FDC_LOG - MENUITEM "Ativar registros do controlador de disquete\tCtrl+F7", IDM_LOG_FDC -# endif -# ifdef ENABLE_IDE_LOG - MENUITEM "Ativar registros da IDE\tCtrl+F8", IDM_LOG_IDE -# endif -# ifdef ENABLE_SERIAL_LOG - MENUITEM "Ativar registros da porta serial\tCtrl+F3", IDM_LOG_SERIAL -# endif -# ifdef ENABLE_NIC_LOG - MENUITEM "Ativar registros da rede\tCtrl+F9", IDM_LOG_NIC -# endif -# ifdef ENABLE_LOG_COMMANDS -# ifdef ENABLE_LOG_TOGGLES - MENUITEM SEPARATOR -# endif -# ifdef ENABLE_LOG_BREAKPOINT - MENUITEM "&Ponto de parada no registo\tCtrl+F10", IDM_LOG_BREAKPOINT -# endif -# ifdef ENABLE_VRAM_DUMP - MENUITEM "Despejo da RAM de &vídeo\tCtrl+F1", IDM_DUMP_VRAM -# endif -# endif - END -#endif POPUP "&Ajuda" BEGIN MENUITEM "&Documentação...", IDM_DOCS diff --git a/src/win/languages/pt-PT.rc b/src/win/languages/pt-PT.rc index 2d8103147..1db17eb18 100644 --- a/src/win/languages/pt-PT.rc +++ b/src/win/languages/pt-PT.rc @@ -112,43 +112,6 @@ BEGIN MENUITEM "Terminar o rastreio\tCtrl+T", IDM_ACTION_END_TRACE #endif END -#if defined(ENABLE_LOG_TOGGLES) || defined(ENABLE_LOG_COMMANDS) - POPUP "&Registo" - BEGIN -# ifdef ENABLE_BUSLOGIC_LOG - MENUITEM "Ativar registo BusLogic\tCtrl+F4", IDM_LOG_BUSLOGIC -# endif -# ifdef ENABLE_CDROM_LOG - MENUITEM "Ativar registo do CD-ROM\tCtrl+F5", IDM_LOG_CDROM -# endif -# ifdef ENABLE_D86F_LOG - MENUITEM "Ativar registo de disquetes (86F)\tCtrl+F6", IDM_LOG_D86F -# endif -# ifdef ENABLE_FDC_LOG - MENUITEM "Ativar registo do controlador de disquetes\tCtrl+F7", IDM_LOG_FDC -# endif -# ifdef ENABLE_IDE_LOG - MENUITEM "Ativar registo IDE\tCtrl+F8", IDM_LOG_IDE -# endif -# ifdef ENABLE_SERIAL_LOG - MENUITEM "Ativar registo da porta série\tCtrl+F3", IDM_LOG_SERIAL -# endif -# ifdef ENABLE_NIC_LOG - MENUITEM "Ativar registo de rede\tCtrl+F9", IDM_LOG_NIC -# endif -# ifdef ENABLE_LOG_COMMANDS -# ifdef ENABLE_LOG_TOGGLES - MENUITEM SEPARATOR -# endif -# ifdef ENABLE_LOG_BREAKPOINT - MENUITEM "&Ponto de paragem no registo\tCtrl+F10", IDM_LOG_BREAKPOINT -# endif -# ifdef ENABLE_VRAM_DUMP - MENUITEM "Despejo de RAM &vídeo\tCtrl+F1", IDM_DUMP_VRAM -# endif -# endif - END -#endif POPUP "&Ajuda" BEGIN MENUITEM "&Documentação...", IDM_DOCS diff --git a/src/win/languages/ru-RU.rc b/src/win/languages/ru-RU.rc index 0fd617d74..84f3c6e7d 100644 --- a/src/win/languages/ru-RU.rc +++ b/src/win/languages/ru-RU.rc @@ -112,43 +112,6 @@ BEGIN MENUITEM "Завершить трассировку\tCtrl+T", IDM_ACTION_END_TRACE #endif END -#if defined(ENABLE_LOG_TOGGLES) || defined(ENABLE_LOG_COMMANDS) - POPUP "&Ведение журнала" - BEGIN -# ifdef ENABLE_BUSLOGIC_LOG - MENUITEM "Включить журналы BusLogic\tCtrl+F4", IDM_LOG_BUSLOGIC -# endif -# ifdef ENABLE_CDROM_LOG - MENUITEM "Включить журналы CD-ROM\tCtrl+F5", IDM_LOG_CDROM -# endif -# ifdef ENABLE_D86F_LOG - MENUITEM "Включить журналы дискет (86F)\tCtrl+F6", IDM_LOG_D86F -# endif -# ifdef ENABLE_FDC_LOG - MENUITEM "Включить журналы контроллера дискет\tCtrl+F7", IDM_LOG_FDC -# endif -# ifdef ENABLE_IDE_LOG - MENUITEM "Включить журналы IDE\tCtrl+F8", IDM_LOG_IDE -# endif -# ifdef ENABLE_SERIAL_LOG - MENUITEM "Включить журналы COM порта\tCtrl+F3", IDM_LOG_SERIAL -# endif -# ifdef ENABLE_NIC_LOG - MENUITEM "Включить журналы сети\tCtrl+F9", IDM_LOG_NIC -# endif -# ifdef ENABLE_LOG_COMMANDS -# ifdef ENABLE_LOG_TOGGLES - MENUITEM SEPARATOR -# endif -# ifdef ENABLE_LOG_BREAKPOINT - MENUITEM "&Точка останова журнала\tCtrl+F10", IDM_LOG_BREAKPOINT -# endif -# ifdef ENABLE_VRAM_DUMP - MENUITEM "&Выгрузка дампа видеопамяти\tCtrl+F1", IDM_DUMP_VRAM -# endif -# endif - END -#endif POPUP "&Помощь" BEGIN MENUITEM "&Документация...", IDM_DOCS diff --git a/src/win/languages/sl-SI.rc b/src/win/languages/sl-SI.rc index 1b4f1c3fa..e67ba0ab8 100644 --- a/src/win/languages/sl-SI.rc +++ b/src/win/languages/sl-SI.rc @@ -112,43 +112,6 @@ BEGIN MENUITEM "&Končaj sledenje\tCtrl+T", IDM_ACTION_END_TRACE #endif END -#if defined(ENABLE_LOG_TOGGLES) || defined(ENABLE_LOG_COMMANDS) - POPUP "&Beleženje" - BEGIN -# ifdef ENABLE_BUSLOGIC_LOG - MENUITEM "Omogoči beleženje za BusLogic\tCtrl+F4", IDM_LOG_BUSLOGIC -# endif -# ifdef ENABLE_CDROM_LOG - MENUITEM "Omogoči beleženje za CD-ROM\tCtrl+F5", IDM_LOG_CDROM -# endif -# ifdef ENABLE_D86F_LOG - MENUITEM "Omogoči beleženje za diskete (86F)\tCtrl+F6", IDM_LOG_D86F -# endif -# ifdef ENABLE_FDC_LOG - MENUITEM "Omogoči beleženje za disketni krmilnik\tCtrl+F7", IDM_LOG_FDC -# endif -# ifdef ENABLE_IDE_LOG - MENUITEM "Omogoči beleženje za IDE\tCtrl+F8", IDM_LOG_IDE -# endif -# ifdef ENABLE_SERIAL_LOG - MENUITEM "Omogoči beleženje za serijska vrata\tCtrl+F3", IDM_LOG_SERIAL -# endif -# ifdef ENABLE_NIC_LOG - MENUITEM "Omogoči beleženje za omrežje\tCtrl+F9", IDM_LOG_NIC -# endif -# ifdef ENABLE_LOG_COMMANDS -# ifdef ENABLE_LOG_TOGGLES - MENUITEM SEPARATOR -# endif -# ifdef ENABLE_LOG_BREAKPOINT - MENUITEM "&Zabeleži prelomno točko\tCtrl+F10", IDM_LOG_BREAKPOINT -# endif -# ifdef ENABLE_VRAM_DUMP - MENUITEM "&Izvozi pomnilnik zaslona\tCtrl+F1", IDM_DUMP_VRAM -# endif -# endif - END -#endif POPUP "&Pomoč" BEGIN MENUITEM "&Dokumentacija...", IDM_DOCS diff --git a/src/win/languages/tr-TR.rc b/src/win/languages/tr-TR.rc index 617f0a45a..2dd422f15 100644 --- a/src/win/languages/tr-TR.rc +++ b/src/win/languages/tr-TR.rc @@ -112,43 +112,6 @@ BEGIN MENUITEM "End trace\tCtrl+T", IDM_ACTION_END_TRACE #endif END -#if defined(ENABLE_LOG_TOGGLES) || defined(ENABLE_LOG_COMMANDS) - POPUP "&Logging" - BEGIN -# ifdef ENABLE_BUSLOGIC_LOG - MENUITEM "BusLogic kayıtlarını etkinleştir\tCtrl+F4", IDM_LOG_BUSLOGIC -# endif -# ifdef ENABLE_CDROM_LOG - MENUITEM "CD-ROM kayıtlarını etkinleştir\tCtrl+F5", IDM_LOG_CDROM -# endif -# ifdef ENABLE_D86F_LOG - MENUITEM "Disket (86F) kayıtlarını etkinleştir\tCtrl+F6", IDM_LOG_D86F -# endif -# ifdef ENABLE_FDC_LOG - MENUITEM "Disket kontrolcüsü kayıtlarını etkinleştir\tCtrl+F7", IDM_LOG_FDC -# endif -# ifdef ENABLE_IDE_LOG - MENUITEM "IDE kayıtlarını etkinleştir\tCtrl+F8", IDM_LOG_IDE -# endif -# ifdef ENABLE_SERIAL_LOG - MENUITEM "Seri Port kayıtlarını etkinleştir\tCtrl+F3", IDM_LOG_SERIAL -# endif -# ifdef ENABLE_NIC_LOG - MENUITEM "Ağ kayıtlarını etkinleştir\tCtrl+F9", IDM_LOG_NIC -# endif -# ifdef ENABLE_LOG_COMMANDS -# ifdef ENABLE_LOG_TOGGLES - MENUITEM SEPARATOR -# endif -# ifdef ENABLE_LOG_BREAKPOINT - MENUITEM "&breakpoint'i kayıtla\tCtrl+F10", IDM_LOG_BREAKPOINT -# endif -# ifdef ENABLE_VRAM_DUMP - MENUITEM "&Video belleğini depola\tCtrl+F1", IDM_DUMP_VRAM -# endif -# endif - END -#endif POPUP "&Yardım" BEGIN MENUITEM "&Dökümanlar...", IDM_DOCS diff --git a/src/win/languages/uk-UA.rc b/src/win/languages/uk-UA.rc index 0d3e9a767..a752a5add 100644 --- a/src/win/languages/uk-UA.rc +++ b/src/win/languages/uk-UA.rc @@ -112,43 +112,6 @@ BEGIN MENUITEM "Завершити трасування\tCtrl+T", IDM_ACTION_END_TRACE #endif END -#if defined(ENABLE_LOG_TOGGLES) || defined(ENABLE_LOG_COMMANDS) - POPUP "&Ведення журнала" - BEGIN -# ifdef ENABLE_BUSLOGIC_LOG - MENUITEM "Увімкнути журнали BusLogic\tCtrl+F4", IDM_LOG_BUSLOGIC -# endif -# ifdef ENABLE_CDROM_LOG - MENUITEM "Увімкнути журнали CD-ROM\tCtrl+F5", IDM_LOG_CDROM -# endif -# ifdef ENABLE_D86F_LOG - MENUITEM "Увімкнути журнали дискет (86F)\tCtrl+F6", IDM_LOG_D86F -# endif -# ifdef ENABLE_FDC_LOG - MENUITEM "Увімкнути журнали контролера дискет\tCtrl+F7", IDM_LOG_FDC -# endif -# ifdef ENABLE_IDE_LOG - MENUITEM "Увімкнути журнали IDE\tCtrl+F8", IDM_LOG_IDE -# endif -# ifdef ENABLE_SERIAL_LOG - MENUITEM "Увімкнути журнали COM порту\tCtrl+F3", IDM_LOG_SERIAL -# endif -# ifdef ENABLE_NIC_LOG - MENUITEM "Увімкнути журнали мережі\tCtrl+F9", IDM_LOG_NIC -# endif -# ifdef ENABLE_LOG_COMMANDS -# ifdef ENABLE_LOG_TOGGLES - MENUITEM SEPARATOR -# endif -# ifdef ENABLE_LOG_BREAKPOINT - MENUITEM "&Точка зупинка журналу\tCtrl+F10", IDM_LOG_BREAKPOINT -# endif -# ifdef ENABLE_VRAM_DUMP - MENUITEM "&Вивантаження дампа відеопам'яті\tCtrl+F1", IDM_DUMP_VRAM -# endif -# endif - END -#endif POPUP "&Допомога" BEGIN MENUITEM "&Документація...", IDM_DOCS diff --git a/src/win/languages/zh-CN.rc b/src/win/languages/zh-CN.rc index 668b1a061..5ce2fcccb 100644 --- a/src/win/languages/zh-CN.rc +++ b/src/win/languages/zh-CN.rc @@ -112,43 +112,6 @@ BEGIN MENUITEM "结束追踪\tCtrl+T", IDM_ACTION_END_TRACE #endif END -#if defined(ENABLE_LOG_TOGGLES) || defined(ENABLE_LOG_COMMANDS) - POPUP "记录日志(&L)" - BEGIN -# ifdef ENABLE_BUSLOGIC_LOG - MENUITEM "启用 BusLogic 日志\tCtrl+F4", IDM_LOG_BUSLOGIC -# endif -# ifdef ENABLE_CDROM_LOG - MENUITEM "启用 CD-ROM 日志\tCtrl+F5", IDM_LOG_CDROM -# endif -# ifdef ENABLE_D86F_LOG - MENUITEM "启用软盘 (86F) 日志\tCtrl+F6", IDM_LOG_D86F -# endif -# ifdef ENABLE_FDC_LOG - MENUITEM "启用软盘控制器日志\tCtrl+F7", IDM_LOG_FDC -# endif -# ifdef ENABLE_IDE_LOG - MENUITEM "启用 IDE 日志\tCtrl+F8", IDM_LOG_IDE -# endif -# ifdef ENABLE_SERIAL_LOG - MENUITEM "启用串口日志\tCtrl+F3", IDM_LOG_SERIAL -# endif -# ifdef ENABLE_NIC_LOG - MENUITEM "启用网络日志\tCtrl+F9", IDM_LOG_NIC -# endif -# ifdef ENABLE_LOG_COMMANDS -# ifdef ENABLE_LOG_TOGGLES - MENUITEM SEPARATOR -# endif -# ifdef ENABLE_LOG_BREAKPOINT - MENUITEM "日志断点(&L)\tCtrl+F10", IDM_LOG_BREAKPOINT -# endif -# ifdef ENABLE_VRAM_DUMP - MENUITEM "创建显卡内存转储(&V)\tCtrl+F1", IDM_DUMP_VRAM -# endif -# endif - END -#endif POPUP "帮助(&H)" BEGIN MENUITEM "文档(&D)...", IDM_DOCS diff --git a/src/win/win_ui.c b/src/win/win_ui.c index 701a306e3..be5ab760d 100644 --- a/src/win/win_ui.c +++ b/src/win/win_ui.c @@ -251,30 +251,6 @@ ResetAllMenus(void) CheckMenuItem(menuMain, IDM_UPDATE_ICONS, MF_UNCHECKED); -#ifdef ENABLE_LOG_TOGGLES -# ifdef ENABLE_BUSLOGIC_LOG - CheckMenuItem(menuMain, IDM_LOG_BUSLOGIC, MF_UNCHECKED); -# endif -# ifdef ENABLE_CDROM_LOG - CheckMenuItem(menuMain, IDM_LOG_CDROM, MF_UNCHECKED); -# endif -# ifdef ENABLE_D86F_LOG - CheckMenuItem(menuMain, IDM_LOG_D86F, MF_UNCHECKED); -# endif -# ifdef ENABLE_FDC_LOG - CheckMenuItem(menuMain, IDM_LOG_FDC, MF_UNCHECKED); -# endif -# ifdef ENABLE_IDE_LOG - CheckMenuItem(menuMain, IDM_LOG_IDE, MF_UNCHECKED); -# endif -# ifdef ENABLE_SERIAL_LOG - CheckMenuItem(menuMain, IDM_LOG_SERIAL, MF_UNCHECKED); -# endif -# ifdef ENABLE_NIC_LOG - CheckMenuItem(menuMain, IDM_LOG_NIC, MF_UNCHECKED); -# endif -#endif - CheckMenuItem(menuMain, IDM_VID_HIDE_STATUS_BAR, MF_UNCHECKED); CheckMenuItem(menuMain, IDM_VID_HIDE_TOOLBAR, MF_UNCHECKED); CheckMenuItem(menuMain, IDM_VID_FORCE43, MF_UNCHECKED); @@ -320,30 +296,6 @@ ResetAllMenus(void) CheckMenuItem(menuMain, IDM_UPDATE_ICONS, update_icons ? MF_CHECKED : MF_UNCHECKED); -#ifdef ENABLE_LOG_TOGGLES -# ifdef ENABLE_BUSLOGIC_LOG - CheckMenuItem(menuMain, IDM_LOG_BUSLOGIC, buslogic_do_log?MF_CHECKED:MF_UNCHECKED); -# endif -# ifdef ENABLE_CDROM_LOG - CheckMenuItem(menuMain, IDM_LOG_CDROM, cdrom_do_log?MF_CHECKED:MF_UNCHECKED); -# endif -# ifdef ENABLE_D86F_LOG - CheckMenuItem(menuMain, IDM_LOG_D86F, d86f_do_log?MF_CHECKED:MF_UNCHECKED); -# endif -# ifdef ENABLE_FDC_LOG - CheckMenuItem(menuMain, IDM_LOG_FDC, fdc_do_log?MF_CHECKED:MF_UNCHECKED); -# endif -# ifdef ENABLE_IDE_LOG - CheckMenuItem(menuMain, IDM_LOG_IDE, ide_do_log?MF_CHECKED:MF_UNCHECKED); -# endif -# ifdef ENABLE_SERIAL_LOG - CheckMenuItem(menuMain, IDM_LOG_SERIAL, serial_do_log?MF_CHECKED:MF_UNCHECKED); -# endif -# ifdef ENABLE_NIC_LOG - CheckMenuItem(menuMain, IDM_LOG_NIC, nic_do_log?MF_CHECKED:MF_UNCHECKED); -# endif -#endif - CheckMenuItem(menuMain, IDM_VID_HIDE_STATUS_BAR, hide_status_bar ? MF_CHECKED : MF_UNCHECKED); CheckMenuItem(menuMain, IDM_VID_HIDE_TOOLBAR, hide_tool_bar ? MF_CHECKED : MF_UNCHECKED); CheckMenuItem(menuMain, IDM_VID_FORCE43, force_43?MF_CHECKED:MF_UNCHECKED); @@ -879,68 +831,6 @@ MainWindowProcedure(HWND hwnd, UINT message, WPARAM wParam, LPARAM lParam) discord_close(); break; -#ifdef ENABLE_LOG_TOGGLES -# ifdef ENABLE_BUSLOGIC_LOG - case IDM_LOG_BUSLOGIC: - buslogic_do_log ^= 1; - CheckMenuItem(hmenu, IDM_LOG_BUSLOGIC, buslogic_do_log ? MF_CHECKED : MF_UNCHECKED); - break; -# endif - -# ifdef ENABLE_CDROM_LOG - case IDM_LOG_CDROM: - cdrom_do_log ^= 1; - CheckMenuItem(hmenu, IDM_LOG_CDROM, cdrom_do_log ? MF_CHECKED : MF_UNCHECKED); - break; -# endif - -# ifdef ENABLE_D86F_LOG - case IDM_LOG_D86F: - d86f_do_log ^= 1; - CheckMenuItem(hmenu, IDM_LOG_D86F, d86f_do_log ? MF_CHECKED : MF_UNCHECKED); - break; -# endif - -# ifdef ENABLE_FDC_LOG - case IDM_LOG_FDC: - fdc_do_log ^= 1; - CheckMenuItem(hmenu, IDM_LOG_FDC, fdc_do_log ? MF_CHECKED : MF_UNCHECKED); - break; -# endif - -# ifdef ENABLE_IDE_LOG - case IDM_LOG_IDE: - ide_do_log ^= 1; - CheckMenuItem(hmenu, IDM_LOG_IDE, ide_do_log ? MF_CHECKED : MF_UNCHECKED); - break; -# endif - -# ifdef ENABLE_SERIAL_LOG - case IDM_LOG_SERIAL: - serial_do_log ^= 1; - CheckMenuItem(hmenu, IDM_LOG_SERIAL, serial_do_log ? MF_CHECKED : MF_UNCHECKED); - break; -# endif - -# ifdef ENABLE_NIC_LOG - case IDM_LOG_NIC: - nic_do_log ^= 1; - CheckMenuItem(hmenu, IDM_LOG_NIC, nic_do_log ? MF_CHECKED : MF_UNCHECKED); - break; -# endif -#endif - -#ifdef ENABLE_LOG_BREAKPOINT - case IDM_LOG_BREAKPOINT: - pclog("---- LOG BREAKPOINT ----\n"); - break; -#endif - -#ifdef ENABLE_VRAM_DUMP - case IDM_DUMP_VRAM: - svga_dump_vram(); - break; -#endif default: media_menu_proc(hwnd, message, wParam, lParam); break; From 1cb301cf3b397252e85310c2e368c58c43ab64d5 Mon Sep 17 00:00:00 2001 From: Alexander Babikov Date: Mon, 7 Feb 2022 18:05:58 +0500 Subject: [PATCH 17/59] Refactor NIC logging --- src/Makefile.local | 2 +- src/network/net_ne2000.c | 15 +++------------ src/network/net_pcnet.c | 9 --------- src/network/net_wd8003.c | 8 +------- src/network/network.c | 9 +-------- 5 files changed, 6 insertions(+), 37 deletions(-) diff --git a/src/Makefile.local b/src/Makefile.local index 16df56b3d..c927037d8 100644 --- a/src/Makefile.local +++ b/src/Makefile.local @@ -123,7 +123,7 @@ STUFF := # -DENABLE_3COM503_LOG=N sets logging level at N. # -DENABLE_DP8390_LOG=N sets logging level at N. # -DENABLE_NETWORK_LOG=N sets logging level at N. -# -DENABLE_NIC_LOG=N sets logging level at N. +# -DENABLE_NE2K_LOG=N sets logging level at N. # -DENABLE_PCAP_LOG=N sets logging level at N. # -DENABLE_PCNET_LOG=N sets logging level at N. # -DENABLE_SLIRP_LOG=N sets logging level at N. diff --git a/src/network/net_ne2000.c b/src/network/net_ne2000.c index db2a08bf1..6878e4f94 100644 --- a/src/network/net_ne2000.c +++ b/src/network/net_ne2000.c @@ -124,15 +124,15 @@ typedef struct { } nic_t; -#ifdef ENABLE_NIC_LOG -int nic_do_log = ENABLE_NIC_LOG; +#ifdef ENABLE_NE2K_LOG +int ne2k_do_log = ENABLE_NE2K_LOG; static void nelog(int lvl, const char *fmt, ...) { va_list ap; - if (nic_do_log >= lvl) { + if (ne2k_do_log >= lvl) { va_start(ap, fmt); pclog_ex(fmt, ap); va_end(ap); @@ -920,15 +920,6 @@ nic_init(const device_t *info) uint32_t mac; char *rom; nic_t *dev; -#ifdef ENABLE_NIC_LOG - int i; -#endif - - /* Get the desired debug level. */ -#ifdef ENABLE_NIC_LOG - i = device_get_config_int("debug"); - if (i > 0) nic_do_log = i; -#endif dev = malloc(sizeof(nic_t)); memset(dev, 0x00, sizeof(nic_t)); diff --git a/src/network/net_pcnet.c b/src/network/net_pcnet.c index 373299732..441c50f67 100644 --- a/src/network/net_pcnet.c +++ b/src/network/net_pcnet.c @@ -2905,18 +2905,9 @@ pcnet_init(const device_t *info) { uint32_t mac; nic_t *dev; -#ifdef ENABLE_NIC_LOG - int i; -#endif int c; uint16_t checksum; - /* Get the desired debug level. */ -#ifdef ENABLE_NIC_LOG - i = device_get_config_int("debug"); - if (i > 0) pcnet_do_log = i; -#endif - dev = malloc(sizeof(nic_t)); memset(dev, 0x00, sizeof(nic_t)); dev->name = info->name; diff --git a/src/network/net_wd8003.c b/src/network/net_wd8003.c index 4a8559dc4..33aa1578c 100644 --- a/src/network/net_wd8003.c +++ b/src/network/net_wd8003.c @@ -120,7 +120,7 @@ typedef struct { #ifdef ENABLE_WD_LOG -int WE_do_log = ENABLE_WD_LOG; +int wd_do_log = ENABLE_WD_LOG; static void wdlog(const char *fmt, ...) @@ -596,12 +596,6 @@ wd_init(const device_t *info) uint32_t mac; wd_t *dev; - /* Get the desired debug level. */ -#ifdef ENABLE_NIC_LOG - i = device_get_config_int("debug"); - if (i > 0) WE_do_log = i; -#endif - dev = malloc(sizeof(wd_t)); memset(dev, 0x00, sizeof(wd_t)); dev->name = info->name; diff --git a/src/network/network.c b/src/network/network.c index 1112d397e..fad9eacbc 100644 --- a/src/network/network.c +++ b/src/network/network.c @@ -112,9 +112,6 @@ char network_host[522]; netdev_t network_devs[32]; int network_rx_pause = 0, network_tx_pause = 0; -#ifdef ENABLE_NIC_LOG -int nic_do_log = ENABLE_NIC_LOG; -#endif /* Local variables. */ @@ -490,13 +487,9 @@ network_reset(void) { int i = -1; -#ifdef ENABLE_NIC_LOG - network_log("NETWORK: reset (type=%d, card=%d) debug=%d\n", - network_type, network_card, nic_do_log); -#else network_log("NETWORK: reset (type=%d, card=%d)\n", network_type, network_card); -#endif + ui_sb_update_icon(SB_NETWORK, 0); /* Just in case.. */ From 23eaa3112c3fd8db5a7421b3c5bcc0ca7deee03f Mon Sep 17 00:00:00 2001 From: Cacodemon345 Date: Mon, 7 Feb 2022 20:26:34 +0600 Subject: [PATCH 18/59] qt: Text update behaviour now identical to Win32 --- src/qt/qt_ui.cpp | 15 ++++++++++++--- 1 file changed, 12 insertions(+), 3 deletions(-) diff --git a/src/qt/qt_ui.cpp b/src/qt/qt_ui.cpp index c2ea294c8..b3150a0ec 100644 --- a/src/qt/qt_ui.cpp +++ b/src/qt/qt_ui.cpp @@ -28,6 +28,8 @@ MainWindow* main_window = nullptr; +static QString sb_text, sb_buguitext; + extern "C" { #include <86box/plat.h> @@ -96,12 +98,18 @@ int ui_msgbox(int flags, void *message) { return ui_msgbox_header(flags, nullptr, message); } +void ui_sb_update_text() { + main_window->statusBar()->showMessage(sb_text.isEmpty() ? sb_buguitext : sb_text); +} + void ui_sb_set_text_w(wchar_t *wstr) { - main_window->statusBar()->showMessage(QString::fromWCharArray(wstr)); + sb_text = QString::fromWCharArray(wstr); + ui_sb_update_text(); } void ui_sb_set_text(char *str) { - main_window->statusBar()->showMessage(QString(str)); + sb_text = str; + ui_sb_update_text(); } void @@ -115,7 +123,8 @@ ui_sb_update_panes() { } void ui_sb_bugui(char *str) { - main_window->statusBarMessage(str); + sb_buguitext = str; + ui_sb_update_text();; } void ui_sb_set_ready(int ready) { From 0fa87edebbd15e471f690bc13fdc31fa5add1671 Mon Sep 17 00:00:00 2001 From: Cacodemon345 Date: Mon, 7 Feb 2022 20:31:56 +0600 Subject: [PATCH 19/59] Fix missing semicolons --- src/qt/qt_mainwindow.cpp | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/src/qt/qt_mainwindow.cpp b/src/qt/qt_mainwindow.cpp index 9f7f845ea..6fe6a15b3 100644 --- a/src/qt/qt_mainwindow.cpp +++ b/src/qt/qt_mainwindow.cpp @@ -113,7 +113,7 @@ MainWindow::MainWindow(QWidget *parent) : #ifdef RELEASE_BUILD this->setWindowIcon(QIcon(":/settings/win/icons/86Box-green.ico")); #elif defined ALPHA_BUILD - this->setWindowIcon(QIcon(":/settings/win/icons/86Box-red.ico")) + this->setWindowIcon(QIcon(":/settings/win/icons/86Box-red.ico")); #elif defined BETA_BUILD this->setWindowIcon(QIcon(":/settings/win/icons/86Box-yellow.ico")); #else @@ -1439,7 +1439,7 @@ void MainWindow::on_actionAbout_86Box_triggered() #ifdef RELEASE_BUILD msgBox.setIconPixmap(QIcon(":/settings/win/icons/86Box-green.ico").pixmap(32, 32)); #elif defined ALPHA_BUILD - msgBox.setIconPixmap(QIcon(":/settings/win/icons/86Box-red.ico").pixmap(32, 32)) + msgBox.setIconPixmap(QIcon(":/settings/win/icons/86Box-red.ico").pixmap(32, 32)); #elif defined BETA_BUILD msgBox.setIconPixmap(QIcon(":/settings/win/icons/86Box-yellow.ico").pixmap(32, 32)); #else From 250c82a250233e809e44f278fcf8442f01a9227b Mon Sep 17 00:00:00 2001 From: RichardG867 Date: Mon, 7 Feb 2022 12:00:21 -0300 Subject: [PATCH 20/59] Jenkins: Clean output directory after archiving artifacts --- .ci/Jenkinsfile | 6 ++++++ 1 file changed, 6 insertions(+) diff --git a/.ci/Jenkinsfile b/.ci/Jenkinsfile index 003dfd451..3b459302e 100644 --- a/.ci/Jenkinsfile +++ b/.ci/Jenkinsfile @@ -195,6 +195,9 @@ pipeline { /* Archive resulting artifacts. */ archiveArtifacts artifacts: "$packageName*" } + + /* Clean up. */ + removeDir("${env.WORKSPACE_TMP}/output") } catch (e) { /* Mark that a failure occurred. */ anyFailure = true @@ -231,6 +234,9 @@ pipeline { /* Archive resulting artifacts. */ archiveArtifacts artifacts: "**/**/$packageName*" } + + /* Clean up. */ + removeDir("${env.WORKSPACE_TMP}/output") } catch (e) { /* Mark that a failure occurred. */ anyFailure = true From cbd0415d78711a79d6d790e9f26fde7ee34fee20 Mon Sep 17 00:00:00 2001 From: RichardG867 Date: Mon, 7 Feb 2022 14:13:05 -0300 Subject: [PATCH 21/59] Jenkins: Build with Qt now --- .ci/Jenkinsfile | 2 +- .ci/build.sh | 15 ++++++++++----- 2 files changed, 11 insertions(+), 6 deletions(-) diff --git a/.ci/Jenkinsfile b/.ci/Jenkinsfile index 3b459302e..be594097d 100644 --- a/.ci/Jenkinsfile +++ b/.ci/Jenkinsfile @@ -228,7 +228,7 @@ pipeline { /* Run build process. */ def packageName = "${env.JOB_BASE_NAME}${dynarecSlugs[dynarec]}${presetSlugs[preset]}-$os-$arch-b${env.BUILD_NUMBER}" dir("${dynarecNames[dynarec]}/$os - ${archNames[arch]}") { - runBuild("-b \"$packageName\" \"$arch\" ${presetFlags[preset]} ${dynarecFlags[dynarec]} -D \"BUILD_TYPE=$BUILD_TYPE\" -D \"EMU_BUILD=build ${env.BUILD_NUMBER}\" -D \"EMU_BUILD_NUM=${env.BUILD_NUMBER}\"") + runBuild("-b \"$packageName\" \"$arch\" ${presetFlags[preset]} ${dynarecFlags[dynarec]} -D QT=ON -D \"BUILD_TYPE=$BUILD_TYPE\" -D \"EMU_BUILD=build ${env.BUILD_NUMBER}\" -D \"EMU_BUILD_NUM=${env.BUILD_NUMBER}\"") } /* Archive resulting artifacts. */ diff --git a/.ci/build.sh b/.ci/build.sh index 8f56b3128..ec300f70e 100644 --- a/.ci/build.sh +++ b/.ci/build.sh @@ -213,8 +213,8 @@ else *) arch_deb="$arch";; esac - # Establish general and architecture-specific dependencies. - pkgs="cmake pkg-config git tar xz-utils dpkg-dev rpm" + # Establish general dependencies. + pkgs="cmake pkg-config git tar xz-utils dpkg-dev rpm wayland-protocols" if [ "$(dpkg --print-architecture)" = "$arch_deb" ] then pkgs="$pkgs build-essential" @@ -222,12 +222,17 @@ else sudo dpkg --add-architecture $arch_deb pkgs="$pkgs crossbuild-essential-$arch_deb" fi + + # Establish architecture-specific dependencies we don't want listed on the readme... + pkgs="$pkgs linux-libc-dev:$arch_deb extra-cmake-modules:$arch_deb qttools5-dev:$arch_deb qtbase5-private-dev:$arch_deb" + + # ...and the ones we do want listed. Non-dev packages fill missing spots on the list. libpkgs="" longest_libpkg=0 - for pkg in libc6-dev linux-libc-dev libopenal-dev libfreetype6-dev libsdl2-dev libpng-dev librtmidi-dev + for pkg in libc6-dev libstdc++6 libopenal-dev libfreetype6-dev libx11-dev libsdl2-dev libpng-dev librtmidi-dev qtdeclarative5-dev libwayland-dev libevdev-dev libglib2.0-dev do libpkgs="$libpkgs $pkg:$arch_deb" - length=$(echo -n $pkg | sed 's/-dev$//' | wc -c) + length=$(echo -n $pkg | sed 's/-dev$//' | sed "s/qtdeclarative/qt/" | wc -c) [ $length -gt $longest_libpkg ] && longest_libpkg=$length done @@ -392,7 +397,7 @@ then else # Archive readme with library package versions. echo Libraries used to compile this $arch build of $project: > archive_tmp/README - dpkg-query -f '${Package} ${Version}\n' -W $libpkgs | sed "s/-dev / /" | while IFS=" " read pkg version + dpkg-query -f '${Package} ${Version}\n' -W $libpkgs | sed "s/-dev / /" | sed "s/qtdeclarative/qt/" | while IFS=" " read pkg version do for i in $(seq $(expr $longest_libpkg - $(echo -n $pkg | wc -c))) do From b73d8f4c2fdba105d46e8e0a64b72e91fdeca9b4 Mon Sep 17 00:00:00 2001 From: Teemu Korhonen <80648513+ts-korhonen@users.noreply.github.com> Date: Mon, 7 Feb 2022 19:19:00 +0200 Subject: [PATCH 22/59] fix statusbar message (#2056) --- src/qt/qt_ui.cpp | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/qt/qt_ui.cpp b/src/qt/qt_ui.cpp index b3150a0ec..3e71d13d9 100644 --- a/src/qt/qt_ui.cpp +++ b/src/qt/qt_ui.cpp @@ -99,7 +99,7 @@ int ui_msgbox(int flags, void *message) { } void ui_sb_update_text() { - main_window->statusBar()->showMessage(sb_text.isEmpty() ? sb_buguitext : sb_text); + emit main_window->statusBarMessage(sb_text.isEmpty() ? sb_buguitext : sb_text); } void ui_sb_set_text_w(wchar_t *wstr) { From d3717b6df055eab90cecc86f484e2bacc4f05ad5 Mon Sep 17 00:00:00 2001 From: RichardG867 Date: Mon, 7 Feb 2022 14:31:02 -0300 Subject: [PATCH 23/59] Jenkins: Make Discord commit browser URL a variable --- .ci/Jenkinsfile | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/.ci/Jenkinsfile b/.ci/Jenkinsfile index be594097d..a9c11c69e 100644 --- a/.ci/Jenkinsfile +++ b/.ci/Jenkinsfile @@ -16,6 +16,7 @@ */ def repository = 'https://github.com/86Box/86Box.git' +def commitBrowser = 'https://github.com/86Box/86Box/commit/%s' def branch = 'master' def osArchs = [ @@ -278,7 +279,7 @@ pipeline { description: "**Status:** ${result}\n\u2060", /* word joiner character forces a blank line */ enableArtifactsList: false, showChangeset: true, - scmWebUrl: "https://github.com/86Box/86Box/commit/%s" + scmWebUrl: commitBrowser /* Notify IRC, which needs a node for whatever reason. */ node { From b50e1534003b293fe61560f8d0229bd2d5a4bb6f Mon Sep 17 00:00:00 2001 From: TC1995 Date: Mon, 7 Feb 2022 19:14:54 +0100 Subject: [PATCH 24/59] Ported the latest fixes of the SCAMP EMS implementation from PCem. --- src/chipset/scamp.c | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/src/chipset/scamp.c b/src/chipset/scamp.c index 33d6d909e..57b0120b2 100644 --- a/src/chipset/scamp.c +++ b/src/chipset/scamp.c @@ -729,7 +729,7 @@ scamp_write(uint16_t addr, uint8_t val, void *priv) recalc_ems(dev); } if (dev->ems_autoinc) - dev->ems_index = (dev->ems_index + 1) & 0x1f; + dev->ems_index = (dev->ems_index + 1) & 0x3f; break; case 0xec: @@ -795,9 +795,9 @@ scamp_read(uint16_t addr, void *priv) break; case 0xeb: if (dev->ems_index < 0x24) - ret = dev->ems[dev->ems_index] = (dev->ems[dev->ems_index] >> 8) & 0xfc; + ret = (dev->ems[dev->ems_index] >> 8) | 0xfc; if (dev->ems_autoinc) - dev->ems_index = (dev->ems_index + 1) & 0x1f; + dev->ems_index = (dev->ems_index + 1) & 0x3f; break; case 0xed: From b53fb07810dd4220f3ba622a11e2a319475677b3 Mon Sep 17 00:00:00 2001 From: Cacodemon345 Date: Tue, 8 Feb 2022 00:40:34 +0600 Subject: [PATCH 25/59] Preferences on macOS now brings up program settings instead --- src/qt/qt_mainwindow.ui | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/src/qt/qt_mainwindow.ui b/src/qt/qt_mainwindow.ui index 787112399..f0c1881ac 100644 --- a/src/qt/qt_mainwindow.ui +++ b/src/qt/qt_mainwindow.ui @@ -317,7 +317,7 @@ &Settings... - QAction::PreferencesRole + QAction::NoRole false @@ -632,7 +632,7 @@ &Preferences... - QAction::NoRole + QAction::PreferencesRole From 8d28e3623c3f417414fd69c1ec133734c3120377 Mon Sep 17 00:00:00 2001 From: TC1995 Date: Mon, 7 Feb 2022 20:08:25 +0100 Subject: [PATCH 26/59] Fixed the ISA bus detection of the Mach64GX. Removed the threaded FIFO on the ViRGE cards due to bugs, instead, relying on a non-threaded FIFO again. Fixed some 8MB parts of the blitter for the ViRGE/VX-based STB Velocity 3D card so that 8MB RAM detection doesn't glitch everything else, including the blitter. --- src/video/vid_ati_mach64.c | 6 +- src/video/vid_s3_virge.c | 1259 +++++++++++++++++------------------- 2 files changed, 593 insertions(+), 672 deletions(-) diff --git a/src/video/vid_ati_mach64.c b/src/video/vid_ati_mach64.c index d6291cd5e..ffe77274a 100644 --- a/src/video/vid_ati_mach64.c +++ b/src/video/vid_ati_mach64.c @@ -385,7 +385,7 @@ void mach64_out(uint16_t addr, uint8_t val, void *p) case 0x1cf: mach64->regs[mach64->index & 0x3f] = val; if ((mach64->index & 0x3f) == 0x36) - mach64_recalctimings(svga); + svga_recalctimings(svga); break; case 0x3C6: case 0x3C7: case 0x3C8: case 0x3C9: @@ -3393,8 +3393,10 @@ static void *mach64gx_init(const device_t *info) mach64->config_stat0 = (5 << 9) | (3 << 3); /*ATI-68860, 256Kx16 DRAM*/ if (info->flags & DEVICE_PCI) mach64->config_stat0 |= 0; /*PCI, 256Kx16 DRAM*/ - else if ((info->flags & DEVICE_VLB) || (info->flags & DEVICE_ISA)) + else if (info->flags & DEVICE_VLB) mach64->config_stat0 |= 1; /*VLB, 256Kx16 DRAM*/ + else if (info->flags & DEVICE_ISA) + mach64->config_stat0 |= 7; /*ISA 16-bit, 256k16 DRAM*/ ati_eeprom_load(&mach64->eeprom, "mach64.nvr", 1); diff --git a/src/video/vid_s3_virge.c b/src/video/vid_s3_virge.c index 256f1591b..f0b22805a 100644 --- a/src/video/vid_s3_virge.c +++ b/src/video/vid_s3_virge.c @@ -39,8 +39,6 @@ #include <86box/vid_svga_render.h> -static uint64_t virge_time = 0; - static int dither[4][4] = { {0, 4, 1, 5}, @@ -158,12 +156,6 @@ typedef struct s3d_t uint8_t fog_r, fog_g, fog_b; } s3d_t; - -typedef struct { - uint16_t dblword_read, dblword_write; - uint8_t datatype; -} VIRGEDMAHeader; - typedef struct virge_t { mem_mapping_t linear_mapping; @@ -173,9 +165,7 @@ typedef struct virge_t rom_t bios_rom; svga_t svga; - - VIRGEDMAHeader dmahdr; - + uint8_t bank; uint8_t ma_ext; uint8_t reg6b, lfb_bios; @@ -291,31 +281,24 @@ typedef struct virge_t } streams; uint8_t cmd_dma; - uint8_t dma_bs; uint32_t cmd_dma_base; - uint32_t dma_base_addr; uint32_t dma_ptr; - uint8_t dmabuffer[65536]; - int dmaidx_r, dmaidx_w; + uint64_t blitter_time; + volatile int fifo_slot; pc_timer_t tri_timer; - - fifo_entry_t fifo[FIFO_SIZE]; - volatile int fifo_read_idx, fifo_write_idx; - - thread_t *fifo_thread; - event_t *wake_fifo_thread; - event_t *fifo_not_full_event; int virge_busy, local; uint8_t subsys_stat, subsys_cntl, advfunc_cntl; - uint8_t render_thread_run, fifo_thread_run; + uint8_t render_thread_run; uint8_t serialport; void *i2c, *ddc; + + int waiting; } virge_t; static video_timings_t timing_diamond_stealth3d_2000_pci = {VIDEO_PCI, 2, 2, 3, 28, 28, 45}; @@ -422,12 +405,6 @@ s3_virge_tri_timer(void *p) thread_set_event(virge->wake_render_thread); /*Wake up FIFO thread if moving from idle*/ } -static __inline void -wake_fifo_thread(virge_t *virge) -{ - thread_set_event(virge->wake_fifo_thread); /*Wake up FIFO thread if moving from idle*/ -} - static void queue_triangle(virge_t *virge) { @@ -488,6 +465,7 @@ static void s3_virge_out(uint16_t addr, uint8_t val, void *p) virge_t *virge = (virge_t *)p; svga_t *svga = &virge->svga; uint8_t old; + uint32_t cursoraddr; if (((addr & 0xfff0) == 0x3d0 || (addr & 0xfff0) == 0x3b0) && !(svga->miscout & 1)) addr ^= 0x60; @@ -590,9 +568,10 @@ static void s3_virge_out(uint16_t addr, uint8_t val, void *p) case 0x4c: case 0x4d: case 0x4e: case 0x4f: svga->hwcursor.x = ((svga->crtc[0x46] << 8) | svga->crtc[0x47]) & 0x7ff; svga->hwcursor.y = ((svga->crtc[0x48] << 8) | svga->crtc[0x49]) & 0x7ff; - svga->hwcursor.xoff = svga->crtc[0x4e] & 63; - svga->hwcursor.yoff = svga->crtc[0x4f] & 63; - svga->hwcursor.addr = ((((svga->crtc[0x4c] << 8) | svga->crtc[0x4d]) & 0xfff) * 1024) + (svga->hwcursor.yoff * 16); + svga->hwcursor.xoff = svga->crtc[0x4e] & 0x3f; + svga->hwcursor.yoff = svga->crtc[0x4f] & 0x3f; + cursoraddr = (virge->memory_size == 8) ? 0x1fff : 0x0fff; + svga->hwcursor.addr = ((((svga->crtc[0x4c] << 8) | svga->crtc[0x4d]) & cursoraddr) * 1024) + (svga->hwcursor.yoff * 16); break; case 0x4a: @@ -716,12 +695,6 @@ static uint8_t s3_virge_in(uint16_t addr, void *p) case 0x31: ret = (svga->crtc[0x31] & 0xcf) | ((virge->ma_ext & 3) << 4); break; case 0x33: ret = (svga->crtc[0x33] | 0x04); break; case 0x35: ret = (svga->crtc[0x35] & 0xf0) | (virge->bank & 0xf); break; - case 0x36: - ret = svga->crtc[0x36]; - if (virge->chip == S3_TRIO3D2X) { - ret |= 0x40; /*Needed to get around glitches under Windows 95 using 1280x1024 24-bit.*/ - } - break; case 0x45: virge->hwc_col_stack_pos = 0; ret = svga->crtc[0x45]; break; case 0x51: ret = (svga->crtc[0x51] & 0xf0) | ((virge->bank >> 2) & 0xc) | ((virge->ma_ext >> 2) & 3); break; case 0x5c: /* General Output Port Register */ @@ -739,6 +712,7 @@ static uint8_t s3_virge_in(uint16_t addr, void *p) break; case 0x69: ret = virge->ma_ext; break; case 0x6a: ret = virge->bank; break; + case 0xaa: /* DDC */ if (virge->chip >= S3_VIRGEGX2) { ret = svga->crtc[0xaa] & ~(SERIAL_PORT_SCR | SERIAL_PORT_SDR); @@ -809,6 +783,7 @@ static void s3_virge_recalctimings(svga_t *svga) svga->lowres = !((svga->gdcreg[5] & 0x40) && (svga->crtc[0x3a] & 0x10)); if ((svga->gdcreg[5] & 0x40) && (svga->crtc[0x3a] & 0x10)) { + svga->fb_only = 1; switch (svga->bpp) { case 8: svga->render = svga_render_8bpp_highres; @@ -835,14 +810,18 @@ static void s3_virge_recalctimings(svga_t *svga) svga->rowoffset = (svga->rowoffset * 3) / 4; /*Hack*/ break; case 32: - svga->render = svga_render_32bpp_highres; + svga->render = svga_render_32bpp_highres; break; } - } + } else + svga->fb_only = 0; svga->vram_display_mask = (!(svga->crtc[0x31] & 0x08) && (svga->crtc[0x32] & 0x40)) ? 0x3ffff : virge->vram_mask; + s3_virge_log("VGA mode\n"); } else /*Streams mode*/ { + svga->fb_only = 1; + if (virge->streams.buffer_ctrl & 1) svga->ma_latch = virge->streams.pri_fb1 >> 2; else @@ -925,7 +904,7 @@ static void s3_virge_updatemapping(virge_t *virge) virge->linear_base = (svga->crtc[0x5a] << 16) | (svga->crtc[0x59] << 24); - s3_virge_log("Linear framebuffer %02X, linear base = %08x\n", svga->crtc[0x58] & 0x10, virge->linear_base); + s3_virge_log("Linear framebuffer %02X, linear base = %08x, display mask = %08x\n", svga->crtc[0x58] & 0x17, virge->linear_base, svga->vram_display_mask); if ((svga->crtc[0x58] & 0x10) || (virge->advfunc_cntl & 0x10)) { /*Linear framebuffer*/ switch (svga->crtc[0x58] & 7) { case 0: /*64k*/ @@ -938,13 +917,13 @@ static void s3_virge_updatemapping(virge_t *virge) virge->linear_size = 0x200000; break; case 3: /*4mb on other than ViRGE/VX, 8mb on ViRGE/VX*/ - if (virge->chip == S3_VIRGEVX) + if (virge->chip == S3_VIRGEVX || virge->chip == S3_TRIO3D2X) virge->linear_size = 0x800000; else virge->linear_size = 0x400000; break; case 7: - virge->linear_size = 0x400000; + virge->linear_size = 0x800000; break; } virge->linear_base &= ~(virge->linear_size - 1); @@ -953,15 +932,19 @@ static void s3_virge_updatemapping(virge_t *virge) mem_mapping_set_addr(&svga->mapping, 0xa0000, 0x10000); mem_mapping_disable(&virge->linear_mapping); } else { + if (virge->chip == S3_VIRGEVX || virge->chip == S3_TRIO3D2X) { + virge->linear_base &= 0xfe000000; + } else { + virge->linear_base &= 0xfc000000; + } + mem_mapping_set_addr(&virge->linear_mapping, virge->linear_base, virge->linear_size); } - svga->fb_only = 1; } else { mem_mapping_disable(&virge->linear_mapping); - svga->fb_only = 0; } - s3_virge_log("Memory mapped IO %02X\n", svga->crtc[0x53] & 0x28); + s3_virge_log("Memory mapped IO %02X\n", svga->crtc[0x53] & 0x38); /* Memory mapped I/O. */ /* Old MMIO. */ @@ -989,588 +972,48 @@ s3_virge_vblank_start(svga_t *svga) s3_virge_update_irqs(virge); } -static void -s3_virge_wait_fifo_idle(virge_t *virge) -{ - while (!FIFO_EMPTY) - { - wake_fifo_thread(virge); - thread_wait_event(virge->fifo_not_full_event, 1); - } -} - -static uint8_t -s3_virge_mmio_read(uint32_t addr, void *p) -{ - virge_t *virge = (virge_t *)p; - uint8_t ret = 0xff; - - s3_virge_log("[%04X:%08X]: MMIO ReadB addr = %04x\n", CS, cpu_state.pc, addr & 0xffff); - - switch (addr & 0xffff) - { - case 0x8505: - if (virge->s3d_busy || virge->virge_busy || !FIFO_EMPTY) - ret = 0x10; - else - ret = 0x10 | (1 << 5); - if (!virge->virge_busy) - wake_fifo_thread(virge); - return ret; - - case 0x83b0: case 0x83b1: case 0x83b2: case 0x83b3: - case 0x83b4: case 0x83b5: case 0x83b6: case 0x83b7: - case 0x83b8: case 0x83b9: case 0x83ba: case 0x83bb: - case 0x83bc: case 0x83bd: case 0x83be: case 0x83bf: - case 0x83c0: case 0x83c1: case 0x83c2: case 0x83c3: - case 0x83c4: case 0x83c5: case 0x83c6: case 0x83c7: - case 0x83c8: case 0x83c9: case 0x83ca: case 0x83cb: - case 0x83cc: case 0x83cd: case 0x83ce: case 0x83cf: - case 0x83d0: case 0x83d1: case 0x83d2: case 0x83d3: - case 0x83d4: case 0x83d5: case 0x83d6: case 0x83d7: - case 0x83d8: case 0x83d9: case 0x83da: case 0x83db: - case 0x83dc: case 0x83dd: case 0x83de: case 0x83df: - return s3_virge_in(addr & 0x3ff, virge); - - case 0x859c: - s3_virge_wait_fifo_idle(virge); - return virge->cmd_dma; - - case 0xff20: case 0xff21: - ret = virge->serialport & ~(SERIAL_PORT_SCR | SERIAL_PORT_SDR); - if ((virge->serialport & SERIAL_PORT_SCW) && i2c_gpio_get_scl(virge->i2c)) - ret |= SERIAL_PORT_SCR; - if ((virge->serialport & SERIAL_PORT_SDW) && i2c_gpio_get_sda(virge->i2c)) - ret |= SERIAL_PORT_SDR; - return ret; - } - return 0xff; -} -static uint16_t -s3_virge_mmio_read_w(uint32_t addr, void *p) -{ - virge_t *virge = (virge_t *)p; - uint16_t ret = 0xffff; - - s3_virge_log("[%04X:%08X]: MMIO ReadW addr = %04x\n", CS, cpu_state.pc, addr & 0xfffe); - - switch (addr & 0xfffe) { - case 0x8504: - if (FIFO_EMPTY) - virge->subsys_stat |= INT_FIFO_EMP; - ret |= virge->subsys_stat; - ret |= 0x30; /*A bit of a workaround at the moment.*/ - s3_virge_update_irqs(virge); - return ret; - - case 0x859c: - s3_virge_wait_fifo_idle(virge); - return virge->cmd_dma; - - default: - return s3_virge_mmio_read(addr, virge) | - (s3_virge_mmio_read(addr + 1, virge) << 8); - } - - return 0xffff; -} - -static uint32_t -s3_virge_mmio_read_l(uint32_t addr, void *p) -{ - virge_t *virge = (virge_t *)p; - VIRGEDMAHeader *dmahdr = &virge->dmahdr; - uint32_t ret = 0xffffffff; - - s3_virge_log("[%04X:%08X]: MMIO ReadL addr = %04x\n", CS, cpu_state.pc, addr & 0xfffc); - - switch (addr & 0xfffc) { - case 0x8180: - ret = virge->streams.pri_ctrl; - break; - case 0x8184: - ret = virge->streams.chroma_ctrl; - break; - case 0x8190: - ret = virge->streams.sec_ctrl; - break; - case 0x8194: - ret = virge->streams.chroma_upper_bound; - break; - case 0x8198: - ret = virge->streams.sec_filter; - break; - case 0x81a0: - ret = virge->streams.blend_ctrl; - break; - case 0x81c0: - ret = virge->streams.pri_fb0; - break; - case 0x81c4: - ret = virge->streams.pri_fb1; - break; - case 0x81c8: - ret = virge->streams.pri_stride; - break; - case 0x81cc: - ret = virge->streams.buffer_ctrl; - break; - case 0x81d0: - ret = virge->streams.sec_fb0; - break; - case 0x81d4: - ret = virge->streams.sec_fb1; - break; - case 0x81d8: - ret = virge->streams.sec_stride; - break; - case 0x81dc: - ret = virge->streams.overlay_ctrl; - break; - case 0x81e0: - ret = virge->streams.k1_vert_scale; - break; - case 0x81e4: - ret = virge->streams.k2_vert_scale; - break; - case 0x81e8: - ret = virge->streams.dda_vert_accumulator; - break; - case 0x81ec: - ret = virge->streams.fifo_ctrl; - break; - case 0x81f0: - ret = virge->streams.pri_start; - break; - case 0x81f4: - ret = virge->streams.pri_size; - break; - case 0x81f8: - ret = virge->streams.sec_start; - break; - case 0x81fc: - ret = virge->streams.sec_size; - break; - - case 0x8504: - if (virge->s3d_busy || virge->virge_busy || !FIFO_EMPTY) - ret = (0x10 << 8); - else - ret = (0x10 << 8) | (1 << 13); - ret |= virge->subsys_stat; - if (!virge->virge_busy) - wake_fifo_thread(virge); - dmahdr->dblword_read = 0; - dmahdr->dblword_write = 0; - break; - - case 0x8590: - s3_virge_wait_fifo_idle(virge); - ret = virge->cmd_dma_base; - break; - case 0x8594: - s3_virge_wait_fifo_idle(virge); - break; - case 0x8598: - s3_virge_wait_fifo_idle(virge); - ret = virge->dma_ptr; - break; - case 0x859c: - s3_virge_wait_fifo_idle(virge); - ret = virge->cmd_dma; - break; - - case 0xa4d4: - s3_virge_wait_fifo_idle(virge); - ret = virge->s3d.src_base; - break; - case 0xa4d8: - s3_virge_wait_fifo_idle(virge); - ret = virge->s3d.dest_base; - break; - case 0xa4dc: - s3_virge_wait_fifo_idle(virge); - ret = (virge->s3d.clip_l << 16) | virge->s3d.clip_r; - break; - case 0xa4e0: - s3_virge_wait_fifo_idle(virge); - ret = (virge->s3d.clip_t << 16) | virge->s3d.clip_b; - break; - case 0xa4e4: - s3_virge_wait_fifo_idle(virge); - ret = (virge->s3d.dest_str << 16) | virge->s3d.src_str; - break; - case 0xa4e8: case 0xace8: - s3_virge_wait_fifo_idle(virge); - ret = virge->s3d.mono_pat_0; - break; - case 0xa4ec: case 0xacec: - s3_virge_wait_fifo_idle(virge); - ret = virge->s3d.mono_pat_1; - break; - case 0xa4f0: - s3_virge_wait_fifo_idle(virge); - ret = virge->s3d.pat_bg_clr; - break; - case 0xa4f4: - s3_virge_wait_fifo_idle(virge); - ret = virge->s3d.pat_fg_clr; - break; - case 0xa4f8: - s3_virge_wait_fifo_idle(virge); - ret = virge->s3d.src_bg_clr; - break; - case 0xa4fc: - s3_virge_wait_fifo_idle(virge); - ret = virge->s3d.src_fg_clr; - break; - case 0xa500: - s3_virge_wait_fifo_idle(virge); - ret = virge->s3d.cmd_set; - break; - case 0xa504: - s3_virge_wait_fifo_idle(virge); - ret = (virge->s3d.r_width << 16) | virge->s3d.r_height; - break; - case 0xa508: - s3_virge_wait_fifo_idle(virge); - ret = (virge->s3d.rsrc_x << 16) | virge->s3d.rsrc_y; - break; - case 0xa50c: - s3_virge_wait_fifo_idle(virge); - ret = (virge->s3d.rdest_x << 16) | virge->s3d.rdest_y; - break; - - default: - ret = s3_virge_mmio_read(addr, virge) | - (s3_virge_mmio_read(addr + 1, virge) << 8) | - (s3_virge_mmio_read(addr + 2, virge) << 16) | - (s3_virge_mmio_read(addr + 3, virge) << 24); - break; - } - - if ((((addr & 0xfffc) >= 0xa000) && ((addr & 0xfffc) < 0xc000))) { - if (virge->cmd_dma) { - dmahdr->dblword_read++; - virge->dmabuffer[virge->dmaidx_r] = dmahdr->dblword_read & 0xff; /*0-7*/ - virge->dmabuffer[virge->dmaidx_r + 1] = dmahdr->dblword_read << 8; /*8-15*/ - if (dmahdr->dblword_read == 1) { - virge->dmabuffer[virge->dmaidx_r + 2] = ret & 0xff; /*16-23*/ - virge->dmabuffer[virge->dmaidx_r + 3] = ((ret >> 8) & 0x3f); /*24-31*/ - } - virge->dmaidx_r += 4; - if (virge->dma_bs) { - if (virge->dmaidx_r == 65536) - virge->dmaidx_r = 0; - } else { - if (virge->dmaidx_r == 4096) - virge->dmaidx_r = 0; - } - dma_bm_write(virge->dma_base_addr + virge->dma_ptr, virge->dmabuffer, (virge->dma_bs) ? 65536 : 4096, 4); - } - } - - s3_virge_log("MMIO ReadL addr = %04x, val = %08x\n", addr & 0xfffc, ret); - return ret; -} static void -fifo_thread(void *param) +s3_virge_mmio_fifo_write(uint32_t addr, uint8_t val, virge_t *virge) { - virge_t *virge = (virge_t *)param; - - while (virge->fifo_thread_run) - { - thread_set_event(virge->fifo_not_full_event); - thread_wait_event(virge->wake_fifo_thread, -1); - thread_reset_event(virge->wake_fifo_thread); - virge->virge_busy = 1; - while (!FIFO_EMPTY) - { - uint64_t start_time = plat_timer_read(); - uint64_t end_time; - uint32_t addr, val; - fifo_entry_t *fifo = &virge->fifo[virge->fifo_read_idx & FIFO_MASK]; - addr = fifo->addr_type & FIFO_ADDR; - val = fifo->val; - - switch (fifo->addr_type & FIFO_TYPE) - { - case FIFO_WRITE_BYTE: - if ((addr & 0xfffc) < 0x8000) - s3_virge_bitblt(virge, 8, val); - break; - case FIFO_WRITE_WORD: - if ((addr & 0xfffc) < 0x8000) - { - if (virge->s3d.cmd_set & CMD_SET_MS) - s3_virge_bitblt(virge, 16, ((val >> 8) | (val << 8)) << 16); - else - s3_virge_bitblt(virge, 16, val); - } - break; - case FIFO_WRITE_DWORD: - if ((addr & 0xfffc) < 0x8000) - { - if (virge->s3d.cmd_set & CMD_SET_MS) - s3_virge_bitblt(virge, 32, ((val & 0xff000000) >> 24) | ((val & 0x00ff0000) >> 8) | ((val & 0x0000ff00) << 8) | ((val & 0x000000ff) << 24)); - else - s3_virge_bitblt(virge, 32, val); - } - break; - } - - virge->fifo_read_idx++; - fifo->addr_type = FIFO_INVALID; - - if (FIFO_ENTRIES > 0xe000) - thread_set_event(virge->fifo_not_full_event); - - end_time = plat_timer_read(); - virge_time += end_time - start_time; - } - virge->virge_busy = 0; - virge->subsys_stat |= INT_FIFO_EMP | INT_3DF_EMP; - s3_virge_update_irqs(virge); - } -} - -static void -s3_virge_queue(virge_t *virge, uint32_t addr, uint32_t val, uint32_t type) -{ - fifo_entry_t *fifo = &virge->fifo[virge->fifo_write_idx & FIFO_MASK]; - - if (FIFO_FULL) - { - thread_reset_event(virge->fifo_not_full_event); - if (FIFO_FULL) - thread_wait_event(virge->fifo_not_full_event, -1); /*Wait for room in ringbuffer*/ - } - - fifo->val = val; - fifo->addr_type = (addr & FIFO_ADDR) | type; - - virge->fifo_write_idx++; - - if (FIFO_ENTRIES > 0xe000 || FIFO_ENTRIES < 8) - wake_fifo_thread(virge); -} - -static void -s3_virge_mmio_write(uint32_t addr, uint8_t val, void *p) -{ - virge_t *virge = (virge_t *)p; - s3_virge_log("MMIO WriteB addr = %04x, val = %02x\n", addr & 0xffff, val); - if ((addr & 0xffff) < 0x8000) { - s3_virge_queue(virge, addr, val, FIFO_WRITE_BYTE); + s3_virge_bitblt(virge, 8, val); } else { switch (addr & 0xffff) { - case 0x83b0: case 0x83b1: case 0x83b2: case 0x83b3: - case 0x83b4: case 0x83b5: case 0x83b6: case 0x83b7: - case 0x83b8: case 0x83b9: case 0x83ba: case 0x83bb: - case 0x83bc: case 0x83bd: case 0x83be: case 0x83bf: - case 0x83c0: case 0x83c1: case 0x83c2: case 0x83c3: - case 0x83c4: case 0x83c5: case 0x83c6: case 0x83c7: - case 0x83c8: case 0x83c9: case 0x83ca: case 0x83cb: - case 0x83cc: case 0x83cd: case 0x83ce: case 0x83cf: - case 0x83d0: case 0x83d1: case 0x83d2: case 0x83d3: - case 0x83d4: case 0x83d5: case 0x83d6: case 0x83d7: - case 0x83d8: case 0x83d9: case 0x83da: case 0x83db: - case 0x83dc: case 0x83dd: case 0x83de: case 0x83df: - s3_virge_out(addr & 0x3ff, val, virge); - break; - case 0x859c: virge->cmd_dma = val; break; - - case 0xff20: - virge->serialport = val; - i2c_gpio_set(virge->i2c, !!(val & SERIAL_PORT_SCW), !!(val & SERIAL_PORT_SDW)); - break; } - } + } } static void -s3_virge_mmio_write_w(uint32_t addr, uint16_t val, void *p) +s3_virge_mmio_fifo_write_w(uint32_t addr, uint16_t val, virge_t *virge) { - virge_t *virge = (virge_t *)p; - s3_virge_log("[%04X:%08X]: MMIO WriteW addr = %04x, val = %04x\n", CS, cpu_state.pc, addr & 0xfffe, val); - if ((addr & 0xfffe) < 0x8000) { - s3_virge_queue(virge, addr, val, FIFO_WRITE_WORD); + if (virge->s3d.cmd_set & CMD_SET_MS) + s3_virge_bitblt(virge, 16, ((val >> 8) | (val << 8)) << 16); + else + s3_virge_bitblt(virge, 16, val); } else { - if ((addr & 0xfffe) == 0x83d4) { - s3_virge_mmio_write(addr, val, virge); - s3_virge_mmio_write(addr + 1, val >> 8, virge); - } else if ((addr & 0xfffe) == 0x859c) { + if ((addr & 0xfffe) == 0x859c) virge->cmd_dma = val; - } else if ((addr & 0xfffe) == 0xff20) - s3_virge_mmio_write(addr, val, virge); } } static void -s3_virge_mmio_write_l(uint32_t addr, uint32_t val, void *p) -{ - virge_t *virge = (virge_t *)p; - svga_t *svga = &virge->svga; - VIRGEDMAHeader *dmahdr = &virge->dmahdr; - - s3_virge_log("MMIO WriteL addr = %04x, val = %08x\n", addr & 0xfffc, val); - if ((addr & 0xfffc) < 0x8000) { - if ((addr & 0xe000) == 0) { - if (virge->s3d.cmd_set & CMD_SET_MS) - s3_virge_bitblt(virge, 32, ((val & 0xff000000) >> 24) | ((val & 0x00ff0000) >> 8) | ((val & 0x0000ff00) << 8) | ((val & 0x000000ff) << 24)); - else - s3_virge_bitblt(virge, 32, val); - } else { - s3_virge_queue(virge, addr, val, FIFO_WRITE_DWORD); - } - - if (virge->cmd_dma) { - dmahdr->datatype = 1; - } - } else { - if (virge->cmd_dma) { - dmahdr->datatype = 0; - } +s3_virge_mmio_fifo_write_l(uint32_t addr, uint32_t val, virge_t *virge) +{ + if ((addr & 0xfffc) < 0x8000) { + if (virge->s3d.cmd_set & CMD_SET_MS) + s3_virge_bitblt(virge, 32, ((val & 0xff000000) >> 24) | ((val & 0x00ff0000) >> 8) | ((val & 0x0000ff00) << 8) | ((val & 0x000000ff) << 24)); + else + s3_virge_bitblt(virge, 32, val); + } else { + virge->fifo_slot++; switch (addr & 0xfffc) { - case 0x8180: - virge->streams.pri_ctrl = val; - svga_recalctimings(svga); - svga->fullchange = changeframecount; - break; - case 0x8184: - virge->streams.chroma_ctrl = val; - break; - case 0x8190: - virge->streams.sec_ctrl = val; - virge->streams.dda_horiz_accumulator = val & 0xfff; - if (val & (1 << 11)) - virge->streams.dda_horiz_accumulator |= 0xfffff800; - virge->streams.sdif = (val >> 24) & 7; - break; - case 0x8194: - virge->streams.chroma_upper_bound = val; - break; - case 0x8198: - virge->streams.sec_filter = val; - virge->streams.k1_horiz_scale = val & 0x7ff; - if (val & (1 << 10)) - virge->streams.k1_horiz_scale |= 0xfffff800; - virge->streams.k2_horiz_scale = (val >> 16) & 0x7ff; - if ((val >> 16) & (1 << 10)) - virge->streams.k2_horiz_scale |= 0xfffff800; - break; - case 0x81a0: - virge->streams.blend_ctrl = val; - break; - case 0x81c0: - virge->streams.pri_fb0 = val & 0x3fffff; - svga_recalctimings(svga); - svga->fullchange = changeframecount; - break; - case 0x81c4: - virge->streams.pri_fb1 = val & 0x3fffff; - svga_recalctimings(svga); - svga->fullchange = changeframecount; - break; - case 0x81c8: - virge->streams.pri_stride = val & 0xfff; - svga_recalctimings(svga); - svga->fullchange = changeframecount; - break; - case 0x81cc: - virge->streams.buffer_ctrl = val; - svga_recalctimings(svga); - svga->fullchange = changeframecount; - break; - case 0x81d0: - virge->streams.sec_fb0 = val; - svga_recalctimings(svga); - svga->fullchange = changeframecount; - break; - case 0x81d4: - virge->streams.sec_fb1 = val; - svga_recalctimings(svga); - svga->fullchange = changeframecount; - break; - case 0x81d8: - virge->streams.sec_stride = val; - svga_recalctimings(svga); - svga->fullchange = changeframecount; - break; - case 0x81dc: - virge->streams.overlay_ctrl = val; - break; - case 0x81e0: - virge->streams.k1_vert_scale = val & 0x7ff; - if (val & (1 << 10)) - virge->streams.k1_vert_scale |= 0xfffff800; - break; - case 0x81e4: - virge->streams.k2_vert_scale = val & 0x7ff; - if (val & (1 << 10)) - virge->streams.k2_vert_scale |= 0xfffff800; - break; - case 0x81e8: - virge->streams.dda_vert_accumulator = val & 0xfff; - if (val & (1 << 11)) - virge->streams.dda_vert_accumulator |= 0xfffff800; - break; - case 0x81ec: - virge->streams.fifo_ctrl = val; - break; - case 0x81f0: - virge->streams.pri_start = val; - virge->streams.pri_x = (val >> 16) & 0x7ff; - virge->streams.pri_y = val & 0x7ff; - svga_recalctimings(svga); - svga->fullchange = changeframecount; - break; - case 0x81f4: - virge->streams.pri_size = val; - virge->streams.pri_w = (val >> 16) & 0x7ff; - virge->streams.pri_h = val & 0x7ff; - svga_recalctimings(svga); - svga->fullchange = changeframecount; - break; - case 0x81f8: - virge->streams.sec_start = val; - virge->streams.sec_x = (val >> 16) & 0x7ff; - virge->streams.sec_y = val & 0x7ff; - svga_recalctimings(svga); - svga->fullchange = changeframecount; - break; - case 0x81fc: - virge->streams.sec_size = val; - virge->streams.sec_w = (val >> 16) & 0x7ff; - virge->streams.sec_h = val & 0x7ff; - svga_recalctimings(svga); - svga->fullchange = changeframecount; - break; - - case 0x8504: - virge->subsys_stat &= ~(val & 0xff); - virge->subsys_cntl = (val >> 8); - s3_virge_update_irqs(virge); - break; - - case 0x850c: - virge->advfunc_cntl = val & 0xff; - s3_virge_updatemapping(virge); - break; - case 0x8590: virge->cmd_dma_base = val; - virge->dma_bs = !!(val & 2); - if (virge->dma_bs) - virge->dma_base_addr = val & 0xffff0000; - else - virge->dma_base_addr = val & 0xfffff000; break; case 0x8594: @@ -1648,10 +1091,12 @@ s3_virge_mmio_write_l(uint32_t addr, uint32_t val, void *p) break; case 0xa4d4: case 0xa8d4: - virge->s3d.src_base = val & 0x3ffff8; + virge->s3d.src_base = (virge->memory_size == 8) ? (val & 0x7ffff8) : (val & 0x3ffff8); + s3_virge_log("PortWrite = %04x, SRC Base = %08x, memsize = %i\n", addr & 0xfffc, val, virge->memory_size); break; case 0xa4d8: case 0xa8d8: - virge->s3d.dest_base = val & 0x3ffff8; + virge->s3d.dest_base = (virge->memory_size == 8) ? (val & 0x7ffff8) : (val & 0x3ffff8); + s3_virge_log("PortWrite = %04x, DST Base = %08x, memsize = %i\n", addr & 0xfffc, val, virge->memory_size); break; case 0xa4dc: case 0xa8dc: virge->s3d.clip_l = (val >> 16) & 0x7ff; @@ -1756,10 +1201,10 @@ s3_virge_mmio_write_l(uint32_t addr, uint32_t val, void *p) virge->s3d_tri.fog_r = (val >> 16) & 0xff; break; case 0xb4d4: - virge->s3d_tri.z_base = val & 0x3ffff8; + virge->s3d_tri.z_base = (virge->memory_size == 8) ? (val & 0x7ffff8) : (val & 0x3ffff8); break; case 0xb4d8: - virge->s3d_tri.dest_base = val & 0x3ffff8; + virge->s3d_tri.dest_base = (virge->memory_size == 8) ? (val & 0x7ffff8) : (val & 0x3ffff8); break; case 0xb4dc: virge->s3d_tri.clip_l = (val >> 16) & 0x7ff; @@ -1777,7 +1222,7 @@ s3_virge_mmio_write_l(uint32_t addr, uint32_t val, void *p) virge->s3d_tri.z_str = val & 0xff8; break; case 0xb4ec: - virge->s3d_tri.tex_base = val & 0x3ffff8; + virge->s3d_tri.tex_base = (virge->memory_size == 8) ? (val & 0x7ffff8) : (val & 0x3ffff8); break; case 0xb4f0: virge->s3d_tri.tex_bdr_clr = val & 0xffffff; @@ -1892,31 +1337,439 @@ s3_virge_mmio_write_l(uint32_t addr, uint32_t val, void *p) queue_triangle(virge); } break; - - case 0xff20: - s3_virge_mmio_write(addr, val, virge); - break; } + } +} + +static uint8_t +s3_virge_mmio_read(uint32_t addr, void *p) +{ + virge_t *virge = (virge_t *)p; + uint8_t ret = 0xff; + + s3_virge_log("[%04X:%08X]: MMIO ReadB addr = %04x\n", CS, cpu_state.pc, addr & 0xffff); + + switch (addr & 0xffff) + { + case 0x8505: + ret = 0; + if (virge->s3d_busy || virge->fifo_slot) { + ret = 0x10; + } else { + ret = 0x30; + } + if (virge->fifo_slot) + virge->fifo_slot--; + return ret; + + case 0x83b0: case 0x83b1: case 0x83b2: case 0x83b3: + case 0x83b4: case 0x83b5: case 0x83b6: case 0x83b7: + case 0x83b8: case 0x83b9: case 0x83ba: case 0x83bb: + case 0x83bc: case 0x83bd: case 0x83be: case 0x83bf: + case 0x83c0: case 0x83c1: case 0x83c2: case 0x83c3: + case 0x83c4: case 0x83c5: case 0x83c6: case 0x83c7: + case 0x83c8: case 0x83c9: case 0x83ca: case 0x83cb: + case 0x83cc: case 0x83cd: case 0x83ce: case 0x83cf: + case 0x83d0: case 0x83d1: case 0x83d2: case 0x83d3: + case 0x83d4: case 0x83d5: case 0x83d6: case 0x83d7: + case 0x83d8: case 0x83d9: case 0x83da: case 0x83db: + case 0x83dc: case 0x83dd: case 0x83de: case 0x83df: + return s3_virge_in(addr & 0x3ff, virge); - if ((((addr & 0xfffc) < 0x8000)) || (((addr & 0xfffc) >= 0xa000) && ((addr & 0xfffc) < 0xc000))) { - if (virge->cmd_dma) { - dmahdr->dblword_write++; - virge->dmabuffer[virge->dmaidx_w] = dmahdr->dblword_write & 0xff; /*0-7*/ - virge->dmabuffer[virge->dmaidx_w + 1] = dmahdr->dblword_write << 8; /*8-15*/ - if (dmahdr->dblword_write == 1) { - virge->dmabuffer[virge->dmaidx_w + 2] = val & 0xff; /*16-23*/ - virge->dmabuffer[virge->dmaidx_w + 3] = ((val >> 8) & (dmahdr->datatype ? 0xbf : 0x3f)); /*24-31*/ - } - virge->dmaidx_w += 4; - if (virge->dma_bs) { - if (virge->dmaidx_w == 65536) - virge->dmaidx_w = 0; - } else { - if (virge->dmaidx_w == 4096) - virge->dmaidx_w = 0; - } - dma_bm_read(virge->dma_base_addr + virge->dma_ptr, virge->dmabuffer, (virge->dma_bs) ? 65536 : 4096, 4); - } + case 0x859c: + return virge->cmd_dma; + + case 0xff20: case 0xff21: + ret = virge->serialport & ~(SERIAL_PORT_SCR | SERIAL_PORT_SDR); + if ((virge->serialport & SERIAL_PORT_SCW) && i2c_gpio_get_scl(virge->i2c)) + ret |= SERIAL_PORT_SCR; + if ((virge->serialport & SERIAL_PORT_SDW) && i2c_gpio_get_sda(virge->i2c)) + ret |= SERIAL_PORT_SDR; + return ret; + } + return 0xff; +} +static uint16_t +s3_virge_mmio_read_w(uint32_t addr, void *p) +{ + virge_t *virge = (virge_t *)p; + uint16_t ret = 0xffff; + + s3_virge_log("[%04X:%08X]: MMIO ReadW addr = %04x\n", CS, cpu_state.pc, addr & 0xfffe); + + switch (addr & 0xfffe) { + case 0x8504: + if (!virge->fifo_slot) + virge->subsys_stat |= INT_FIFO_EMP; + ret |= virge->subsys_stat; + if (virge->fifo_slot) + virge->fifo_slot--; + ret |= 0x30; /*A bit of a workaround at the moment.*/ + s3_virge_update_irqs(virge); + return ret; + + case 0x859c: + return virge->cmd_dma; + + default: + return s3_virge_mmio_read(addr, virge) | + (s3_virge_mmio_read(addr + 1, virge) << 8); + } + + return 0xffff; +} + +static uint32_t +s3_virge_mmio_read_l(uint32_t addr, void *p) +{ + virge_t *virge = (virge_t *)p; + uint32_t ret = 0xffffffff; + + s3_virge_log("[%04X:%08X]: MMIO ReadL addr = %04x\n", CS, cpu_state.pc, addr & 0xfffc); + + switch (addr & 0xfffc) { + case 0x8180: + ret = virge->streams.pri_ctrl; + break; + case 0x8184: + ret = virge->streams.chroma_ctrl; + break; + case 0x8190: + ret = virge->streams.sec_ctrl; + break; + case 0x8194: + ret = virge->streams.chroma_upper_bound; + break; + case 0x8198: + ret = virge->streams.sec_filter; + break; + case 0x81a0: + ret = virge->streams.blend_ctrl; + break; + case 0x81c0: + ret = virge->streams.pri_fb0; + break; + case 0x81c4: + ret = virge->streams.pri_fb1; + break; + case 0x81c8: + ret = virge->streams.pri_stride; + break; + case 0x81cc: + ret = virge->streams.buffer_ctrl; + break; + case 0x81d0: + ret = virge->streams.sec_fb0; + break; + case 0x81d4: + ret = virge->streams.sec_fb1; + break; + case 0x81d8: + ret = virge->streams.sec_stride; + break; + case 0x81dc: + ret = virge->streams.overlay_ctrl; + break; + case 0x81e0: + ret = virge->streams.k1_vert_scale; + break; + case 0x81e4: + ret = virge->streams.k2_vert_scale; + break; + case 0x81e8: + ret = virge->streams.dda_vert_accumulator; + break; + case 0x81ec: + ret = virge->streams.fifo_ctrl; + break; + case 0x81f0: + ret = virge->streams.pri_start; + break; + case 0x81f4: + ret = virge->streams.pri_size; + break; + case 0x81f8: + ret = virge->streams.sec_start; + break; + case 0x81fc: + ret = virge->streams.sec_size; + break; + + case 0x8504: + if (virge->s3d_busy || virge->fifo_slot) { + ret = (0x10 << 8); + } else { + ret = (0x10 << 8) | (1 << 13); + if (!virge->s3d_busy) + virge->subsys_stat |= INT_3DF_EMP; + if (!virge->fifo_slot) + virge->subsys_stat |= INT_FIFO_EMP; + } + ret |= virge->subsys_stat; + if (virge->fifo_slot) + virge->fifo_slot--; + s3_virge_update_irqs(virge); + break; + + case 0x8590: + ret = virge->cmd_dma_base; + break; + case 0x8594: + break; + case 0x8598: + ret = virge->dma_ptr; + break; + case 0x859c: + ret = virge->cmd_dma; + break; + + case 0xa4d4: + ret = virge->s3d.src_base; + break; + case 0xa4d8: + ret = virge->s3d.dest_base; + break; + case 0xa4dc: + ret = (virge->s3d.clip_l << 16) | virge->s3d.clip_r; + break; + case 0xa4e0: + ret = (virge->s3d.clip_t << 16) | virge->s3d.clip_b; + break; + case 0xa4e4: + ret = (virge->s3d.dest_str << 16) | virge->s3d.src_str; + break; + case 0xa4e8: case 0xace8: + ret = virge->s3d.mono_pat_0; + break; + case 0xa4ec: case 0xacec: + ret = virge->s3d.mono_pat_1; + break; + case 0xa4f0: + ret = virge->s3d.pat_bg_clr; + break; + case 0xa4f4: + ret = virge->s3d.pat_fg_clr; + break; + case 0xa4f8: + ret = virge->s3d.src_bg_clr; + break; + case 0xa4fc: + ret = virge->s3d.src_fg_clr; + break; + case 0xa500: + ret = virge->s3d.cmd_set; + break; + case 0xa504: + ret = (virge->s3d.r_width << 16) | virge->s3d.r_height; + break; + case 0xa508: + ret = (virge->s3d.rsrc_x << 16) | virge->s3d.rsrc_y; + break; + case 0xa50c: + ret = (virge->s3d.rdest_x << 16) | virge->s3d.rdest_y; + break; + + default: + ret = s3_virge_mmio_read(addr, virge) | + (s3_virge_mmio_read(addr + 1, virge) << 8) | + (s3_virge_mmio_read(addr + 2, virge) << 16) | + (s3_virge_mmio_read(addr + 3, virge) << 24); + break; + } + + s3_virge_log("MMIO ReadL addr = %04x, val = %08x\n", addr & 0xfffc, ret); + return ret; +} + +static void +s3_virge_mmio_write(uint32_t addr, uint8_t val, void *p) +{ + virge_t *virge = (virge_t *)p; + s3_virge_log("MMIO WriteB addr = %04x, val = %02x\n", addr & 0xffff, val); + if (((addr & 0xffff) >= 0x8590) || ((addr & 0xffff) < 0x8000)) { + if ((addr & 0xffff) == 0xff20) { + virge->serialport = val; + i2c_gpio_set(virge->i2c, !!(val & SERIAL_PORT_SCW), !!(val & SERIAL_PORT_SDW)); + } else + s3_virge_mmio_fifo_write(addr, val, virge); + } else { + switch (addr & 0xffff) { + case 0x83b0: case 0x83b1: case 0x83b2: case 0x83b3: + case 0x83b4: case 0x83b5: case 0x83b6: case 0x83b7: + case 0x83b8: case 0x83b9: case 0x83ba: case 0x83bb: + case 0x83bc: case 0x83bd: case 0x83be: case 0x83bf: + case 0x83c0: case 0x83c1: case 0x83c2: case 0x83c3: + case 0x83c4: case 0x83c5: case 0x83c6: case 0x83c7: + case 0x83c8: case 0x83c9: case 0x83ca: case 0x83cb: + case 0x83cc: case 0x83cd: case 0x83ce: case 0x83cf: + case 0x83d0: case 0x83d1: case 0x83d2: case 0x83d3: + case 0x83d4: case 0x83d5: case 0x83d6: case 0x83d7: + case 0x83d8: case 0x83d9: case 0x83da: case 0x83db: + case 0x83dc: case 0x83dd: case 0x83de: case 0x83df: + s3_virge_out(addr & 0x3ff, val, virge); + break; + } + } +} + +static void +s3_virge_mmio_write_w(uint32_t addr, uint16_t val, void *p) +{ + virge_t *virge = (virge_t *)p; + s3_virge_log("[%04X:%08X]: MMIO WriteW addr = %04x, val = %04x\n", CS, cpu_state.pc, addr & 0xfffe, val); + if (((addr & 0xfffe) >= 0x8590) || ((addr & 0xfffe) < 0x8000)) + if ((addr & 0xfffe) == 0xff20) + s3_virge_mmio_write(addr, val, virge); + else + s3_virge_mmio_fifo_write_w(addr, val, virge); + else { + if ((addr & 0xfffe) == 0x83d4) { + s3_virge_mmio_write(addr, val, virge); + s3_virge_mmio_write(addr + 1, val >> 8, virge); + } + } +} + +static void +s3_virge_mmio_write_l(uint32_t addr, uint32_t val, void *p) +{ + virge_t *virge = (virge_t *)p; + svga_t *svga = &virge->svga; + + s3_virge_log("[%04X:%08X]: MMIO WriteL addr = %04x, val = %04x\n", CS, cpu_state.pc, addr & 0xfffc, val); + if (((addr & 0xfffc) >= 0x8590) || ((addr & 0xfffc) < 0x8000)) + if ((addr & 0xfffc) == 0xff20) + s3_virge_mmio_write(addr, val, virge); + else { + s3_virge_mmio_fifo_write_l(addr, val, virge); + } + else { + switch (addr & 0xfffc) { + case 0x8180: + virge->streams.pri_ctrl = val; + svga_recalctimings(svga); + svga->fullchange = changeframecount; + break; + case 0x8184: + virge->streams.chroma_ctrl = val; + break; + case 0x8190: + virge->streams.sec_ctrl = val; + virge->streams.dda_horiz_accumulator = val & 0xfff; + if (val & (1 << 11)) + virge->streams.dda_horiz_accumulator |= 0xfffff800; + virge->streams.sdif = (val >> 24) & 7; + break; + case 0x8194: + virge->streams.chroma_upper_bound = val; + break; + case 0x8198: + virge->streams.sec_filter = val; + virge->streams.k1_horiz_scale = val & 0x7ff; + if (val & (1 << 10)) + virge->streams.k1_horiz_scale |= 0xfffff800; + virge->streams.k2_horiz_scale = (val >> 16) & 0x7ff; + if ((val >> 16) & (1 << 10)) + virge->streams.k2_horiz_scale |= 0xfffff800; + break; + case 0x81a0: + virge->streams.blend_ctrl = val; + break; + case 0x81c0: + virge->streams.pri_fb0 = val & 0x7fffff; + svga_recalctimings(svga); + svga->fullchange = changeframecount; + break; + case 0x81c4: + virge->streams.pri_fb1 = val & 0x7fffff; + svga_recalctimings(svga); + svga->fullchange = changeframecount; + break; + case 0x81c8: + virge->streams.pri_stride = val & 0xfff; + svga_recalctimings(svga); + svga->fullchange = changeframecount; + break; + case 0x81cc: + virge->streams.buffer_ctrl = val; + svga_recalctimings(svga); + svga->fullchange = changeframecount; + break; + case 0x81d0: + virge->streams.sec_fb0 = val; + svga_recalctimings(svga); + svga->fullchange = changeframecount; + break; + case 0x81d4: + virge->streams.sec_fb1 = val; + svga_recalctimings(svga); + svga->fullchange = changeframecount; + break; + case 0x81d8: + virge->streams.sec_stride = val; + svga_recalctimings(svga); + svga->fullchange = changeframecount; + break; + case 0x81dc: + virge->streams.overlay_ctrl = val; + break; + case 0x81e0: + virge->streams.k1_vert_scale = val & 0x7ff; + if (val & (1 << 10)) + virge->streams.k1_vert_scale |= 0xfffff800; + break; + case 0x81e4: + virge->streams.k2_vert_scale = val & 0x7ff; + if (val & (1 << 10)) + virge->streams.k2_vert_scale |= 0xfffff800; + break; + case 0x81e8: + virge->streams.dda_vert_accumulator = val & 0xfff; + if (val & (1 << 11)) + virge->streams.dda_vert_accumulator |= 0xfffff800; + break; + case 0x81ec: + virge->streams.fifo_ctrl = val; + break; + case 0x81f0: + virge->streams.pri_start = val; + virge->streams.pri_x = (val >> 16) & 0x7ff; + virge->streams.pri_y = val & 0x7ff; + svga_recalctimings(svga); + svga->fullchange = changeframecount; + break; + case 0x81f4: + virge->streams.pri_size = val; + virge->streams.pri_w = (val >> 16) & 0x7ff; + virge->streams.pri_h = val & 0x7ff; + svga_recalctimings(svga); + svga->fullchange = changeframecount; + break; + case 0x81f8: + virge->streams.sec_start = val; + virge->streams.sec_x = (val >> 16) & 0x7ff; + virge->streams.sec_y = val & 0x7ff; + svga_recalctimings(svga); + svga->fullchange = changeframecount; + break; + case 0x81fc: + virge->streams.sec_size = val; + virge->streams.sec_w = (val >> 16) & 0x7ff; + virge->streams.sec_h = val & 0x7ff; + svga_recalctimings(svga); + svga->fullchange = changeframecount; + break; + + case 0x8504: + virge->subsys_stat &= ~(val & 0xff); + virge->subsys_cntl = (val >> 8); + s3_virge_update_irqs(virge); + break; + + case 0x850c: + virge->advfunc_cntl = val & 0xff; + s3_virge_updatemapping(virge); + break; } } } @@ -1956,7 +1809,8 @@ s3_virge_mmio_write_l(uint32_t addr, uint32_t val, void *p) y > s3d_tri->clip_b)) \ update = 0; \ } - + + #define MIX() \ { \ int c; \ @@ -3456,7 +3310,7 @@ static void s3_virge_triangle(virge_t *virge, s3d_t *s3d_tri) end_time = plat_timer_read(); - virge_time += end_time - start_time; + virge->blitter_time += end_time - start_time; } static void s3_virge_hwcursor_draw(svga_t *svga, int displine) @@ -3467,6 +3321,7 @@ static void s3_virge_hwcursor_draw(svga_t *svga, int displine) int xx; int offset = svga->hwcursor_latch.x - svga->hwcursor_latch.xoff; uint32_t fg, bg; + uint32_t vram_mask = virge->vram_mask; if (svga->interlace && svga->hwcursor_oddeven) svga->hwcursor_latch.addr += 16; @@ -3496,8 +3351,8 @@ static void s3_virge_hwcursor_draw(svga_t *svga, int displine) for (x = 0; x < 64; x += 16) { - dat[0] = (svga->vram[svga->hwcursor_latch.addr & virge->vram_mask] << 8) | svga->vram[(svga->hwcursor_latch.addr + 1) & virge->vram_mask]; - dat[1] = (svga->vram[(svga->hwcursor_latch.addr + 2) & virge->vram_mask] << 8) | svga->vram[(svga->hwcursor_latch.addr + 3) & virge->vram_mask]; + dat[0] = (svga->vram[svga->hwcursor_latch.addr & vram_mask] << 8) | svga->vram[(svga->hwcursor_latch.addr + 1) & vram_mask]; + dat[1] = (svga->vram[(svga->hwcursor_latch.addr + 2) & vram_mask] << 8) | svga->vram[(svga->hwcursor_latch.addr + 3) & vram_mask]; if (svga->crtc[0x55] & 0x10) { /*X11*/ @@ -3836,7 +3691,7 @@ static uint8_t s3_virge_pci_read(int func, int addr, void *p) case 0x10: ret = 0x00; break;/*Linear frame buffer address*/ case 0x11: ret = 0x00; break; case 0x12: ret = 0x00; break; - case 0x13: ret = svga->crtc[0x59] & 0xfc; break; + case 0x13: ret = (virge->chip == S3_VIRGEVX || virge->chip == S3_TRIO3D2X) ? (svga->crtc[0x59] & 0xfe) : (svga->crtc[0x59] & 0xfc); break; case 0x2c: ret = 0x33; break; /* Subsystem vendor ID */ case 0x2d: ret = 0x53; break; @@ -3911,7 +3766,7 @@ static void s3_virge_pci_write(int func, int addr, uint8_t val, void *p) return; case 0x13: - svga->crtc[0x59] = val & 0xfc; + svga->crtc[0x59] = (virge->chip == S3_VIRGEVX || virge->chip == S3_TRIO3D2X) ? (val & 0xfe) : (val & 0xfc); s3_virge_updatemapping(virge); return; @@ -3935,7 +3790,7 @@ static void s3_virge_pci_write(int func, int addr, uint8_t val, void *p) return; case 0x88: - virge->pci_regs[0x5c] = val & 0x27; + virge->pci_regs[0x88] = val & 0x27; return; case 0x89: @@ -4008,18 +3863,29 @@ static void s3_virge_reset(void *priv) break; } - if (virge->chip >= S3_VIRGEGX2) - virge->svga.crtc[0x36] = 2 | (2 << 2) | (1 << 4) | (0 << 5); + if (virge->chip == S3_VIRGEGX2) + virge->svga.crtc[0x36] = 2 | (2 << 2) | (1 << 4) | (1 << 5); else { switch (virge->memory_size) { case 2: - virge->svga.crtc[0x36] = 2 | (0 << 2) | (1 << 4) | (4 << 5); + if (virge->chip == S3_VIRGEVX) { + virge->svga.crtc[0x36] = (0 << 5); + } else + virge->svga.crtc[0x36] = 2 | (0 << 2) | (1 << 4) | (4 << 5); break; case 8: - virge->svga.crtc[0x36] = 2 | (0 << 2) | (1 << 4) | (3 << 5); + if (virge->chip == S3_TRIO3D2X) + virge->svga.crtc[0x36] = 2 | (2 << 2) | (1 << 4) | (0 << 5); + else + virge->svga.crtc[0x36] = (3 << 5); break; case 4: - virge->svga.crtc[0x36] = 2 | (0 << 2) | (1 << 4) | (0 << 5); + if (virge->chip == S3_VIRGEVX) + virge->svga.crtc[0x36] = (1 << 5); + else if (virge->chip == S3_TRIO3D2X) + virge->svga.crtc[0x36] = 2 | (2 << 2) | (1 << 4) | (2 << 5); + else + virge->svga.crtc[0x36] = 2 | (0 << 2) | (1 << 4) | (0 << 5); break; } if (virge->local == S3_VIRGE_GX) @@ -4031,8 +3897,6 @@ static void s3_virge_reset(void *priv) mem_mapping_disable(&virge->bios_rom.mapping); - memset(virge->dmabuffer, 0, 65536); - s3_virge_updatemapping(virge); mem_mapping_disable(&virge->mmio_mapping); @@ -4179,7 +4043,7 @@ static void *s3_virge_init(const device_t *info) break; case S3_TRIO_3D2X: - virge->svga.decode_mask = (4 << 20) - 1; + virge->svga.decode_mask = (8 << 20) - 1; virge->virge_id_high = 0x8a; virge->virge_id_low = 0x13; virge->virge_rev = 0x01; @@ -4205,41 +4069,50 @@ static void *s3_virge_init(const device_t *info) break; } - if (virge->chip >= S3_VIRGEGX2) { + if (virge->chip == S3_VIRGEGX2) { virge->vram_mask = (4 << 20) - 1; virge->svga.vram_mask = (4 << 20) - 1; virge->svga.vram_max = 4 << 20; - virge->svga.crtc[0x36] = 2 | (2 << 2) | (1 << 4) | (0 << 5); + virge->svga.crtc[0x36] = 2 | (2 << 2) | (1 << 4) | (1 << 5); } else { switch (virge->memory_size) { case 2: virge->vram_mask = (2 << 20) - 1; virge->svga.vram_mask = (2 << 20) - 1; virge->svga.vram_max = 2 << 20; - virge->svga.crtc[0x36] = 2 | (0 << 2) | (1 << 4) | (4 << 5); + if (virge->chip == S3_VIRGEVX) { + virge->svga.crtc[0x36] = (0 << 5); + } else + virge->svga.crtc[0x36] = 2 | (0 << 2) | (1 << 4) | (4 << 5); break; case 8: virge->vram_mask = (8 << 20) - 1; virge->svga.vram_mask = (8 << 20) - 1; virge->svga.vram_max = 8 << 20; - virge->svga.crtc[0x36] = 2 | (0 << 2) | (1 << 4) | (3 << 5); + if (virge->chip == S3_TRIO3D2X) + virge->svga.crtc[0x36] = 2 | (2 << 2) | (1 << 4) | (0 << 5); + else + virge->svga.crtc[0x36] = (3 << 5); break; case 4: virge->vram_mask = (4 << 20) - 1; virge->svga.vram_mask = (4 << 20) - 1; virge->svga.vram_max = 4 << 20; - virge->svga.crtc[0x36] = 2 | (0 << 2) | (1 << 4) | (0 << 5); + if (virge->chip == S3_VIRGEVX) + virge->svga.crtc[0x36] = (1 << 5); + else if (virge->chip == S3_TRIO3D2X) + virge->svga.crtc[0x36] = 2 | (2 << 2) | (1 << 4) | (2 << 5); + else + virge->svga.crtc[0x36] = 2 | (0 << 2) | (1 << 4) | (0 << 5); break; } if (info->local == S3_VIRGE_GX) virge->svga.crtc[0x36] |= (1 << 2); } - + virge->svga.crtc[0x37] = 1 | (7 << 5); virge->svga.crtc[0x53] = 8; - memset(virge->dmabuffer, 0, 65536); - virge->card = pci_add_card(virge->is_agp ? PCI_ADD_AGP : PCI_ADD_VIDEO, s3_virge_pci_read, s3_virge_pci_write, virge); virge->i2c = i2c_gpio_init("ddc_s3_virge"); @@ -4253,11 +4126,6 @@ static void *s3_virge_init(const device_t *info) virge->render_thread_run = 1; virge->render_thread = thread_create(render_thread, virge); - virge->wake_fifo_thread = thread_create_event(); - virge->fifo_not_full_event = thread_create_event(); - virge->fifo_thread_run = 1; - virge->fifo_thread = thread_create(fifo_thread, virge); - timer_add(&virge->tri_timer, s3_virge_tri_timer, virge, 0); virge->local = info->local; @@ -4276,12 +4144,6 @@ static void s3_virge_close(void *p) thread_destroy_event(virge->wake_main_thread); thread_destroy_event(virge->wake_render_thread); - virge->fifo_thread_run = 0; - thread_set_event(virge->wake_fifo_thread); - thread_wait(virge->fifo_thread); - thread_destroy_event(virge->wake_fifo_thread); - thread_destroy_event(virge->fifo_not_full_event); - svga_close(&virge->svga); ddc_close(virge->ddc); @@ -4381,6 +4243,36 @@ static const device_config_t s3_virge_config[] = } }; +static const device_config_t s3_virge_stb_config[] = +{ + { + "memory", "Memory size", CONFIG_SELECTION, "", 4, "", { 0 }, + { + { + "2 MB", 2 + }, + { + "4 MB", 4 + }, + { + "8 MB", 8 + }, + { + "" + } + } + }, + { + "bilinear", "Bilinear filtering", CONFIG_BINARY, "", 1 + }, + { + "dithering", "Dithering", CONFIG_BINARY, "", 1 + }, + { + "", "", -1 + } +}; + static const device_config_t s3_virge_357_config[] = { { @@ -4394,6 +4286,33 @@ static const device_config_t s3_virge_357_config[] = } }; +static const device_config_t s3_trio3d2x_config[] = +{ + { + "memory", "Memory size", CONFIG_SELECTION, "", 4, "", { 0 }, + { + { + "4 MB", 4 + }, + { + "8 MB", 8 + }, + { + "" + } + } + }, + { + "bilinear", "Bilinear filtering", CONFIG_BINARY, "", 1 + }, + { + "dithering", "Dithering", CONFIG_BINARY, "", 1 + }, + { + "", "", -1 + } +}; + const device_t s3_virge_325_pci_device = { "S3 ViRGE (325) PCI", @@ -4436,7 +4355,7 @@ const device_t s3_diamond_stealth_3000_pci_device = { s3_virge_988_diamond_available }, s3_virge_speed_changed, s3_virge_force_redraw, - s3_virge_config + s3_virge_stb_config }; const device_t s3_stb_velocity_3d_pci_device = @@ -4451,7 +4370,7 @@ const device_t s3_stb_velocity_3d_pci_device = { s3_virge_988_stb_available }, s3_virge_speed_changed, s3_virge_force_redraw, - s3_virge_config + s3_virge_stb_config }; const device_t s3_virge_375_pci_device = @@ -4571,7 +4490,7 @@ const device_t s3_trio3d2x_pci_device = { s3_trio3d2x_available }, s3_virge_speed_changed, s3_virge_force_redraw, - s3_virge_357_config + s3_trio3d2x_config }; const device_t s3_trio3d2x_agp_device = @@ -4586,5 +4505,5 @@ const device_t s3_trio3d2x_agp_device = { s3_trio3d2x_available }, s3_virge_speed_changed, s3_virge_force_redraw, - s3_virge_357_config + s3_trio3d2x_config }; From bb25829dbc371bda73e3b49a5d3b62d575f22e21 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?David=20Hrdli=C4=8Dka?= Date: Mon, 7 Feb 2022 20:25:31 +0100 Subject: [PATCH 27/59] Try to build a static build on MSYS2 --- src/CMakeLists.txt | 115 +++++++++++++++++------------------------- src/qt/CMakeLists.txt | 17 +++++++ 2 files changed, 62 insertions(+), 70 deletions(-) diff --git a/src/CMakeLists.txt b/src/CMakeLists.txt index 0a9fc03a1..00719e301 100644 --- a/src/CMakeLists.txt +++ b/src/CMakeLists.txt @@ -79,25 +79,6 @@ if(APPLE) endif() endif() -if(QT) - set(CMAKE_CXX_STANDARD 17) - set(CMAKE_CXX_STANDARD_REQUIRED ON) - set(CMAKE_CXX_EXTENSIONS OFF) - if (USE_QT6) - set(QT_MAJOR 6) - else() - set(QT_MAJOR 5) - endif() - - # if we want to use qt5-static to eliminate need for bundling qt dlls (windows) - #set(QT_STATIC ON) - # needed to build with qt5-static if both qt5 and qt5-static are installed - #set(CMAKE_PREFIX_PATH "path/to/qt5-static") - - find_package(Qt${QT_MAJOR} COMPONENTS Core Widgets OpenGL REQUIRED) - find_package(Qt${QT_MAJOR}LinguistTools REQUIRED) -endif() - find_package(Freetype REQUIRED) include_directories(${FREETYPE_INCLUDE_DIRS}) if(APPLE) @@ -174,13 +155,6 @@ else() install(TARGETS 86Box) endif() -# prepare everything for Qt5 bundle creation -if (APPLE AND QT) - set(prefix "86Box.app/Contents") - set(INSTALL_RUNTIME_DIR "${prefix}/MacOS") - set(INSTALL_CMAKE_DIR "${prefix}/Resources") -endif() - # loads a macro to install Qt5 plugins on macOS # based on https://stackoverflow.com/questions/35612687/cmake-macos-x-bundle-with-bundleutiliies-for-qt-application macro(install_qt5_plugin _qt_plugin_name _qt_plugins_var _prefix) @@ -201,55 +175,56 @@ endmacro() # Install our dependencies to the macOS bundle if(APPLE) - if (NOT QT) + if (QT) + set(prefix "86Box.app/Contents") + set(INSTALL_RUNTIME_DIR "${prefix}/MacOS") + set(INSTALL_CMAKE_DIR "${prefix}/Resources") + + # using the install_qt5_plugin to add Qt plugins into the macOS app bundle + if (USE_QT6) + install_qt5_plugin("Qt6::QCocoaIntegrationPlugin" QT_PLUGINS ${prefix}) + else() + install_qt5_plugin("Qt5::QCocoaIntegrationPlugin" QT_PLUGINS ${prefix}) + install_qt5_plugin("Qt5::QMacStylePlugin" QT_PLUGINS ${prefix}) + install_qt5_plugin("Qt5::QICOPlugin" QT_PLUGINS ${prefix}) + install_qt5_plugin("Qt5::QICNSPlugin" QT_PLUGINS ${prefix}) + endif() + + file(WRITE "${CMAKE_CURRENT_BINARY_DIR}/qt.conf" + "[Paths]\nPlugins = ${_qt_plugin_dir}\n") + install(FILES "${CMAKE_CURRENT_BINARY_DIR}/qt.conf" + DESTINATION "${INSTALL_CMAKE_DIR}") + + # Note Mac specific extension .app + set(APPS "\$ENV{DESTDIR}\${CMAKE_INSTALL_PREFIX}/86Box.app") + + # Directories to look for dependencies + set(DIRS "${CMAKE_BINARY_DIR}") + + # Path used for searching by FIND_XXX(), with appropriate suffixes added + if(CMAKE_PREFIX_PATH) + foreach(dir ${CMAKE_PREFIX_PATH}) + list(APPEND DIRS "${dir}/bin" "${dir}/lib") + endforeach() + endif() + + # Append Qt's lib folder which is two levels above Qt5Widgets_DIR + list(APPEND DIRS "${Qt5Widgets_DIR}/../..") + + include(InstallRequiredSystemLibraries) + + message(STATUS "APPS: ${APPS}") + message(STATUS "QT_PLUGINS: ${QT_PLUGINS}") + message(STATUS "DIRS: ${DIRS}") + + install(CODE "include(BundleUtilities) + fixup_bundle(\"${APPS}\" \"${QT_PLUGINS}\" \"${DIRS}\")") + else() install(CODE " include(BundleUtilities) get_filename_component(CMAKE_INSTALL_PREFIX_ABSOLUTE \${CMAKE_INSTALL_PREFIX} ABSOLUTE) fixup_bundle(\"\${CMAKE_INSTALL_PREFIX_ABSOLUTE}/86Box.app\" \"\" \"\")" COMPONENT Runtime) - endif() - - if(QT) - # using the install_qt5_plugin to add Qt plugins into the macOS app bundle - if (USE_QT6) - install_qt5_plugin("Qt6::QCocoaIntegrationPlugin" QT_PLUGINS ${prefix}) - else() - install_qt5_plugin("Qt5::QCocoaIntegrationPlugin" QT_PLUGINS ${prefix}) - install_qt5_plugin("Qt5::QMacStylePlugin" QT_PLUGINS ${prefix}) - install_qt5_plugin("Qt5::QICOPlugin" QT_PLUGINS ${prefix}) - install_qt5_plugin("Qt5::QICNSPlugin" QT_PLUGINS ${prefix}) - endif() - - file(WRITE "${CMAKE_CURRENT_BINARY_DIR}/qt.conf" - "[Paths]\nPlugins = ${_qt_plugin_dir}\n") - install(FILES "${CMAKE_CURRENT_BINARY_DIR}/qt.conf" - DESTINATION "${INSTALL_CMAKE_DIR}") - - # Note Mac specific extension .app - set(APPS "\$ENV{DESTDIR}\${CMAKE_INSTALL_PREFIX}/86Box.app") - - # Directories to look for dependencies - set(DIRS "${CMAKE_BINARY_DIR}") - - # Path used for searching by FIND_XXX(), with appropriate suffixes added - if(CMAKE_PREFIX_PATH) - foreach(dir ${CMAKE_PREFIX_PATH}) - list(APPEND DIRS "${dir}/bin" "${dir}/lib") - endforeach() - endif() - - # Append Qt's lib folder which is two levels above Qt5Widgets_DIR - list(APPEND DIRS "${Qt5Widgets_DIR}/../..") - - include(InstallRequiredSystemLibraries) - - message(STATUS "APPS: ${APPS}") - message(STATUS "QT_PLUGINS: ${QT_PLUGINS}") - message(STATUS "DIRS: ${DIRS}") - - install(CODE "include(BundleUtilities) - fixup_bundle(\"${APPS}\" \"${QT_PLUGINS}\" \"${DIRS}\")") - endif() endif() diff --git a/src/qt/CMakeLists.txt b/src/qt/CMakeLists.txt index 020a60cbe..8aeb91a6b 100644 --- a/src/qt/CMakeLists.txt +++ b/src/qt/CMakeLists.txt @@ -3,8 +3,25 @@ set(CMAKE_INCLUDE_CURRENT_DIR ON) set(CMAKE_AUTOMOC ON) set(CMAKE_AUTOUIC ON) set(CMAKE_AUTORCC ON) +set(CMAKE_CXX_STANDARD 17) +set(CMAKE_CXX_STANDARD_REQUIRED ON) +set(CMAKE_CXX_EXTENSIONS OFF) + +if (USE_QT6) + set(QT_MAJOR 6) +else() + set(QT_MAJOR 5) +endif() + +set(QT_STATIC ${STATIC_BUILD}) + +if(QT_STATIC AND MINGW) + set(CMAKE_PREFIX_PATH "$ENV{MSYSTEM_PREFIX}/qt5-static") +endif() find_package(Threads REQUIRED) +find_package(Qt${QT_MAJOR} COMPONENTS Core Widgets OpenGL REQUIRED) +find_package(Qt${QT_MAJOR}LinguistTools REQUIRED) add_library(plat STATIC qt.c From 7d7826d7a58b7543078095a05821af23ccb87130 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?David=20Hrdli=C4=8Dka?= Date: Mon, 10 Jan 2022 22:45:52 +0100 Subject: [PATCH 28/59] Set static build properly on non-Windows vcpkg targets --- CMakeLists.txt | 36 ++++++++++++++++++------------------ 1 file changed, 18 insertions(+), 18 deletions(-) diff --git a/CMakeLists.txt b/CMakeLists.txt index da97bc03d..8df5d4378 100644 --- a/CMakeLists.txt +++ b/CMakeLists.txt @@ -32,26 +32,26 @@ include(CPack) include(CMakeDependentOption) # Basic build options -if(WIN32) - if(VCPKG_TOOLCHAIN) - # For vcpkg builds we have to respect the linking method used by the - # specified triplet. - set(NO_STATIC_OPTION ON) - if(VCPKG_TARGET_TRIPLET MATCHES "-windows-static$") - # `-static` triplet, use static linking - set(CMAKE_MSVC_RUNTIME_LIBRARY "MultiThreaded$<$:Debug>") - set(STATIC_BUILD ON) - elseif(VCPKG_TARGET_TRIPLET MATCHES "-windows-static-md$") - # `-static-md` triplet, use static linking with dynamic CRT - set(CMAKE_MSVC_RUNTIME_LIBRARY "MultiThreaded$<$:Debug>DLL") - set(STATIC_BUILD ON) - elseif() - # Regular triplet, use dynamic linking - set(CMAKE_MSVC_RUNTIME_LIBRARY "MultiThreaded$<$:Debug>DLL") - set(STATIC_BUILD OFF) - endif() +if(VCPKG_TOOLCHAIN) + # For vcpkg builds we have to respect the linking method used by the + # specified triplet. + set(NO_STATIC_OPTION ON) + if(VCPKG_TARGET_TRIPLET MATCHES "-static$") + # `-static` triplet, use static linking + set(CMAKE_MSVC_RUNTIME_LIBRARY "MultiThreaded$<$:Debug>") + set(STATIC_BUILD ON) + elseif(VCPKG_TARGET_TRIPLET MATCHES "-static-md$") + # `-static-md` triplet, use static linking with dynamic CRT + set(CMAKE_MSVC_RUNTIME_LIBRARY "MultiThreaded$<$:Debug>DLL") + set(STATIC_BUILD ON) + elseif() + # Regular triplet, use dynamic linking + set(CMAKE_MSVC_RUNTIME_LIBRARY "MultiThreaded$<$:Debug>DLL") + set(STATIC_BUILD OFF) endif() +endif() +if(WIN32) # Prefer static builds on Windows set(PREFER_STATIC ON) From 3305063f55263d7915e2193493ce5fc36ee47fe4 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?David=20Hrdli=C4=8Dka?= Date: Thu, 13 Jan 2022 03:01:15 +0100 Subject: [PATCH 29/59] Add options to discover munt and slirp locally --- src/network/CMakeLists.txt | 13 +++++++++++-- src/sound/CMakeLists.txt | 13 +++++++++++-- src/win/CMakeLists.txt | 2 +- 3 files changed, 23 insertions(+), 5 deletions(-) diff --git a/src/network/CMakeLists.txt b/src/network/CMakeLists.txt index 434daa407..5cfa87d91 100644 --- a/src/network/CMakeLists.txt +++ b/src/network/CMakeLists.txt @@ -16,5 +16,14 @@ add_library(net OBJECT network.c net_pcap.c net_slirp.c net_dp8390.c net_3c503.c net_ne2000.c net_pcnet.c net_wd8003.c net_plip.c) -add_subdirectory(slirp) -target_link_libraries(86Box slirp) \ No newline at end of file +option(SLIRP_EXTERNAL "Link against the system-provided libslirp library" OFF) +mark_as_advanced(SLIRP_EXTERNAL) + +if(SLIRP_EXTERNAL) + find_package(PkgConfig REQUIRED) + pkg_check_modules(SLIRP REQUIRED IMPORTED_TARGET slirp) + target_link_libraries(86Box PkgConfig::SLIRP) +else() + add_subdirectory(slirp) + target_link_libraries(86Box slirp) +endif() \ No newline at end of file diff --git a/src/sound/CMakeLists.txt b/src/sound/CMakeLists.txt index 464e5c45a..e815d7329 100644 --- a/src/sound/CMakeLists.txt +++ b/src/sound/CMakeLists.txt @@ -33,8 +33,17 @@ if(MUNT) target_compile_definitions(snd PRIVATE USE_MUNT) target_sources(snd PRIVATE midi_mt32.c) - add_subdirectory(munt) - target_link_libraries(86Box mt32emu) + option(MUNT_EXTERNAL "Link against the system-provided MUNT library" OFF) + mark_as_advanced(MUNT_EXTERNAL) + + if(MUNT_EXTERNAL) + find_package(PkgConfig REQUIRED) + pkg_check_modules(MT32EMU REQUIRED IMPORTED_TARGET mt32emu) + target_link_libraries(86Box PkgConfig::MT32EMU) + else() + add_subdirectory(munt) + target_link_libraries(86Box mt32emu) + endif() endif() if(PAS16) diff --git a/src/win/CMakeLists.txt b/src/win/CMakeLists.txt index 0e8300946..b12d8523b 100644 --- a/src/win/CMakeLists.txt +++ b/src/win/CMakeLists.txt @@ -54,4 +54,4 @@ else() endif() target_link_libraries(86Box advapi32 comctl32 comdlg32 gdi32 shell32 iphlpapi - dxguid imm32 hid setupapi uxtheme version winmm psapi) + dxguid imm32 hid setupapi uxtheme version winmm psapi ws2_32) From 7d758ea9cd7b05f3a54c131053a5efc4f0f456b3 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?David=20Hrdli=C4=8Dka?= Date: Thu, 13 Jan 2022 04:16:05 +0100 Subject: [PATCH 30/59] Prefer config mode for finding OpenAL --- CMakeLists.txt | 1 + src/CMakeLists.txt | 8 ++++++-- 2 files changed, 7 insertions(+), 2 deletions(-) diff --git a/CMakeLists.txt b/CMakeLists.txt index 8df5d4378..a29e0bdd7 100644 --- a/CMakeLists.txt +++ b/CMakeLists.txt @@ -98,6 +98,7 @@ if(WIN32) endif() set(CMAKE_CXX_STANDARD 11) +set(CMAKE_FIND_PACKAGE_PREFER_CONFIG ON) # Optional features # diff --git a/src/CMakeLists.txt b/src/CMakeLists.txt index 00719e301..17920c07a 100644 --- a/src/CMakeLists.txt +++ b/src/CMakeLists.txt @@ -89,8 +89,12 @@ endif() if(OPENAL) find_package(OpenAL REQUIRED) - include_directories(${OPENAL_INCLUDE_DIR}) - target_link_libraries(86Box ${OPENAL_LIBRARY}) + if(TARGET OpenAL::OpenAL) + target_link_libraries(86Box OpenAL::OpenAL) + else() + include_directories(${OPENAL_INCLUDE_DIR}) + target_link_libraries(86Box ${OPENAL_LIBRARY}) + endif() endif() find_package(SDL2 REQUIRED) From d87962855358e313dca1738f0cb8b98b60fd2626 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?David=20Hrdli=C4=8Dka?= Date: Thu, 13 Jan 2022 04:17:30 +0100 Subject: [PATCH 31/59] Use `fixup_bundle` on Windows as well --- src/CMakeLists.txt | 14 +++++++++++++- 1 file changed, 13 insertions(+), 1 deletion(-) diff --git a/src/CMakeLists.txt b/src/CMakeLists.txt index 17920c07a..c4e62ff8d 100644 --- a/src/CMakeLists.txt +++ b/src/CMakeLists.txt @@ -179,7 +179,7 @@ endmacro() # Install our dependencies to the macOS bundle if(APPLE) - if (QT) + if(QT) set(prefix "86Box.app/Contents") set(INSTALL_RUNTIME_DIR "${prefix}/MacOS") set(INSTALL_CMAKE_DIR "${prefix}/Resources") @@ -229,6 +229,7 @@ if(APPLE) get_filename_component(CMAKE_INSTALL_PREFIX_ABSOLUTE \${CMAKE_INSTALL_PREFIX} ABSOLUTE) fixup_bundle(\"\${CMAKE_INSTALL_PREFIX_ABSOLUTE}/86Box.app\" \"\" \"\")" COMPONENT Runtime) + endif() endif() @@ -237,6 +238,17 @@ if(VCPKG_TOOLCHAIN) x_vcpkg_install_local_dependencies(TARGETS 86Box DESTINATION ".") endif() + +# Install other dependencies +if(WIN32) + install(CODE " + include(BundleUtilities) + get_filename_component(CMAKE_INSTALL_PREFIX_ABSOLUTE \${CMAKE_INSTALL_PREFIX} ABSOLUTE) + fixup_bundle(\"\${CMAKE_INSTALL_PREFIX_ABSOLUTE}/$\" \"\" \"\")" + COMPONENT Runtime) +endif() + + # Install the PDB file on Windows builds if(MSVC) # CMake fully supports PDB files on MSVC-compatible compilers From 5061d6c2751ec5561b0397ca4f97a7572a2561bd Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?David=20Hrdli=C4=8Dka?= Date: Mon, 7 Feb 2022 20:37:10 +0100 Subject: [PATCH 32/59] Futureproof the QT static path --- src/qt/CMakeLists.txt | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/qt/CMakeLists.txt b/src/qt/CMakeLists.txt index 8aeb91a6b..9cedb83a2 100644 --- a/src/qt/CMakeLists.txt +++ b/src/qt/CMakeLists.txt @@ -16,7 +16,7 @@ endif() set(QT_STATIC ${STATIC_BUILD}) if(QT_STATIC AND MINGW) - set(CMAKE_PREFIX_PATH "$ENV{MSYSTEM_PREFIX}/qt5-static") + set(CMAKE_PREFIX_PATH "$ENV{MSYSTEM_PREFIX}/qt${QT_MAJOR}-static") endif() find_package(Threads REQUIRED) From b21d5b5a43a0104e829501084d494c9ac92d3f49 Mon Sep 17 00:00:00 2001 From: Cacodemon345 Date: Tue, 8 Feb 2022 01:52:02 +0600 Subject: [PATCH 33/59] Add MT-32 LCD message display support in the status bar --- src/include/86box/ui.h | 1 + src/qt/qt_ui.cpp | 10 ++++++++-- src/sound/midi_mt32.c | 16 +++++++++++++++- src/win/win_stbar.c | 6 ++++++ 4 files changed, 30 insertions(+), 3 deletions(-) diff --git a/src/include/86box/ui.h b/src/include/86box/ui.h index 256ae6002..61e251eeb 100644 --- a/src/include/86box/ui.h +++ b/src/include/86box/ui.h @@ -74,6 +74,7 @@ extern void ui_sb_update_icon_state(int tag, int active); extern void ui_sb_set_text_w(wchar_t *wstr); extern void ui_sb_set_text(char *str); extern void ui_sb_bugui(char *str); +extern void ui_sb_mt32lcd(char *str); #ifdef __cplusplus } diff --git a/src/qt/qt_ui.cpp b/src/qt/qt_ui.cpp index 3e71d13d9..c9f5c5451 100644 --- a/src/qt/qt_ui.cpp +++ b/src/qt/qt_ui.cpp @@ -28,7 +28,7 @@ MainWindow* main_window = nullptr; -static QString sb_text, sb_buguitext; +static QString sb_text, sb_buguitext, sb_mt32lcdtext; extern "C" { @@ -99,7 +99,13 @@ int ui_msgbox(int flags, void *message) { } void ui_sb_update_text() { - emit main_window->statusBarMessage(sb_text.isEmpty() ? sb_buguitext : sb_text); + emit main_window->statusBarMessage( !sb_mt32lcdtext.isEmpty() ? sb_mt32lcdtext : sb_text.isEmpty() ? sb_buguitext : sb_text); +} + +void ui_sb_mt32lcd(char* str) +{ + sb_mt32lcdtext = QString(str); + ui_sb_update_text(); } void ui_sb_set_text_w(wchar_t *wstr) { diff --git a/src/sound/midi_mt32.c b/src/sound/midi_mt32.c index 595023d52..6b59cf87f 100644 --- a/src/sound/midi_mt32.c +++ b/src/sound/midi_mt32.c @@ -9,6 +9,7 @@ #include <86box/mem.h> #include <86box/rom.h> #include <86box/plat.h> +#include <86box/ui.h> #include <86box/sound.h> #include <86box/midi.h> @@ -18,6 +19,19 @@ extern void givealbuffer_midi(void *buf, uint32_t size); extern void al_set_midi(int freq, int buf_size); #endif +static void display_mt32_message(void *instance_data, const char *message) +{ + int sz = 0; + char* ui_msg = NULL; + + sz = snprintf(NULL, 0, "MT-32: %s", message); + ui_msg = calloc(sz + 1, 1); + if (ui_msg) + { + snprintf(ui_msg, sz, "MT-32: %s", message); + ui_sb_mt32lcd(ui_msg); + } +} static const mt32emu_report_handler_i_v0 handler_v0 = { /** Returns the actual interface version ID */ NULL, //mt32emu_report_handler_version (*getVersionID)(mt32emu_report_handler_i i); @@ -28,7 +42,7 @@ static const mt32emu_report_handler_i_v0 handler_v0 = { NULL, //void (*onErrorControlROM)(void *instance_data); NULL, //void (*onErrorPCMROM)(void *instance_data); /** Callback for reporting about displaying a new custom message on LCD */ - NULL, //void (*showLCDMessage)(void *instance_data, const char *message); + display_mt32_message, //void (*showLCDMessage)(void *instance_data, const char *message); /** Callback for reporting actual processing of a MIDI message */ NULL, //void (*onMIDIMessagePlayed)(void *instance_data); /** diff --git a/src/win/win_stbar.c b/src/win/win_stbar.c index 29985aaf3..bf2830456 100644 --- a/src/win/win_stbar.c +++ b/src/win/win_stbar.c @@ -1073,3 +1073,9 @@ ui_sb_bugui(char *str) memset(sb_bugtext, 0x00, sizeof(sb_bugtext)); ui_sb_update_text(); } + +/* API */ +void +ui_sb_mt32lcd(char* str) +{ +} From ee998a71a49a0290a316c08ee0956205e19666b7 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?David=20Hrdli=C4=8Dka?= Date: Mon, 7 Feb 2022 21:08:28 +0100 Subject: [PATCH 34/59] Fix Qt on Mac bundle generation --- src/CMakeLists.txt | 75 +------------------------------------------ src/qt/CMakeLists.txt | 65 +++++++++++++++++++++++++++++++++++++ 2 files changed, 66 insertions(+), 74 deletions(-) diff --git a/src/CMakeLists.txt b/src/CMakeLists.txt index c4e62ff8d..c5728721b 100644 --- a/src/CMakeLists.txt +++ b/src/CMakeLists.txt @@ -159,79 +159,6 @@ else() install(TARGETS 86Box) endif() -# loads a macro to install Qt5 plugins on macOS -# based on https://stackoverflow.com/questions/35612687/cmake-macos-x-bundle-with-bundleutiliies-for-qt-application -macro(install_qt5_plugin _qt_plugin_name _qt_plugins_var _prefix) - get_target_property(_qt_plugin_path "${_qt_plugin_name}" LOCATION) - if(EXISTS "${_qt_plugin_path}") - get_filename_component(_qt_plugin_file "${_qt_plugin_path}" NAME) - get_filename_component(_qt_plugin_type "${_qt_plugin_path}" PATH) - get_filename_component(_qt_plugin_type "${_qt_plugin_type}" NAME) - set(_qt_plugin_dest "${_prefix}/PlugIns/${_qt_plugin_type}") - install(FILES "${_qt_plugin_path}" - DESTINATION "${_qt_plugin_dest}") - set(${_qt_plugins_var} - "${${_qt_plugins_var}};\$ENV{DEST_DIR}\${CMAKE_INSTALL_PREFIX}/${_qt_plugin_dest}/${_qt_plugin_file}") - else() - message(FATAL_ERROR "QT plugin ${_qt_plugin_name} not found") - endif() -endmacro() - -# Install our dependencies to the macOS bundle -if(APPLE) - if(QT) - set(prefix "86Box.app/Contents") - set(INSTALL_RUNTIME_DIR "${prefix}/MacOS") - set(INSTALL_CMAKE_DIR "${prefix}/Resources") - - # using the install_qt5_plugin to add Qt plugins into the macOS app bundle - if (USE_QT6) - install_qt5_plugin("Qt6::QCocoaIntegrationPlugin" QT_PLUGINS ${prefix}) - else() - install_qt5_plugin("Qt5::QCocoaIntegrationPlugin" QT_PLUGINS ${prefix}) - install_qt5_plugin("Qt5::QMacStylePlugin" QT_PLUGINS ${prefix}) - install_qt5_plugin("Qt5::QICOPlugin" QT_PLUGINS ${prefix}) - install_qt5_plugin("Qt5::QICNSPlugin" QT_PLUGINS ${prefix}) - endif() - - file(WRITE "${CMAKE_CURRENT_BINARY_DIR}/qt.conf" - "[Paths]\nPlugins = ${_qt_plugin_dir}\n") - install(FILES "${CMAKE_CURRENT_BINARY_DIR}/qt.conf" - DESTINATION "${INSTALL_CMAKE_DIR}") - - # Note Mac specific extension .app - set(APPS "\$ENV{DESTDIR}\${CMAKE_INSTALL_PREFIX}/86Box.app") - - # Directories to look for dependencies - set(DIRS "${CMAKE_BINARY_DIR}") - - # Path used for searching by FIND_XXX(), with appropriate suffixes added - if(CMAKE_PREFIX_PATH) - foreach(dir ${CMAKE_PREFIX_PATH}) - list(APPEND DIRS "${dir}/bin" "${dir}/lib") - endforeach() - endif() - - # Append Qt's lib folder which is two levels above Qt5Widgets_DIR - list(APPEND DIRS "${Qt5Widgets_DIR}/../..") - - include(InstallRequiredSystemLibraries) - - message(STATUS "APPS: ${APPS}") - message(STATUS "QT_PLUGINS: ${QT_PLUGINS}") - message(STATUS "DIRS: ${DIRS}") - - install(CODE "include(BundleUtilities) - fixup_bundle(\"${APPS}\" \"${QT_PLUGINS}\" \"${DIRS}\")") - else() - install(CODE " - include(BundleUtilities) - get_filename_component(CMAKE_INSTALL_PREFIX_ABSOLUTE \${CMAKE_INSTALL_PREFIX} ABSOLUTE) - fixup_bundle(\"\${CMAKE_INSTALL_PREFIX_ABSOLUTE}/86Box.app\" \"\" \"\")" - COMPONENT Runtime) - endif() -endif() - # Install our dependencies if using vcpkg if(VCPKG_TOOLCHAIN) @@ -240,7 +167,7 @@ endif() # Install other dependencies -if(WIN32) +if(WIN32 OR (APPLE AND NOT QT)) install(CODE " include(BundleUtilities) get_filename_component(CMAKE_INSTALL_PREFIX_ABSOLUTE \${CMAKE_INSTALL_PREFIX} ABSOLUTE) diff --git a/src/qt/CMakeLists.txt b/src/qt/CMakeLists.txt index 9cedb83a2..643e7ece7 100644 --- a/src/qt/CMakeLists.txt +++ b/src/qt/CMakeLists.txt @@ -189,6 +189,71 @@ if (WIN32) qt_import_plugins(plat INCLUDE Qt${QT_MAJOR}::QWindowsIntegrationPlugin Qt${QT_MAJOR}::QICOPlugin QWindowsVistaStylePlugin) endif() +# loads a macro to install Qt5 plugins on macOS +# based on https://stackoverflow.com/questions/35612687/cmake-macos-x-bundle-with-bundleutiliies-for-qt-application +macro(install_qt5_plugin _qt_plugin_name _qt_plugins_var _prefix) + get_target_property(_qt_plugin_path "${_qt_plugin_name}" LOCATION) + if(EXISTS "${_qt_plugin_path}") + get_filename_component(_qt_plugin_file "${_qt_plugin_path}" NAME) + get_filename_component(_qt_plugin_type "${_qt_plugin_path}" PATH) + get_filename_component(_qt_plugin_type "${_qt_plugin_type}" NAME) + set(_qt_plugin_dest "${_prefix}/PlugIns/${_qt_plugin_type}") + install(FILES "${_qt_plugin_path}" + DESTINATION "${_qt_plugin_dest}") + set(${_qt_plugins_var} + "${${_qt_plugins_var}};\$ENV{DEST_DIR}\${CMAKE_INSTALL_PREFIX}/${_qt_plugin_dest}/${_qt_plugin_file}") + else() + message(FATAL_ERROR "QT plugin ${_qt_plugin_name} not found") + endif() +endmacro() + +if (APPLE AND CMAKE_MACOSX_BUNDLE) + set(prefix "$/Contents") + set(INSTALL_RUNTIME_DIR "${prefix}/MacOS") + set(INSTALL_CMAKE_DIR "${prefix}/Resources") + + # using the install_qt5_plugin to add Qt plugins into the macOS app bundle + if (USE_QT6) + install_qt5_plugin("Qt6::QCocoaIntegrationPlugin" QT_PLUGINS ${prefix}) + else() + install_qt5_plugin("Qt5::QCocoaIntegrationPlugin" QT_PLUGINS ${prefix}) + install_qt5_plugin("Qt5::QMacStylePlugin" QT_PLUGINS ${prefix}) + install_qt5_plugin("Qt5::QICOPlugin" QT_PLUGINS ${prefix}) + install_qt5_plugin("Qt5::QICNSPlugin" QT_PLUGINS ${prefix}) + endif() + + file(WRITE "${CMAKE_CURRENT_BINARY_DIR}/qt.conf" + "[Paths]\nPlugins = ${_qt_plugin_dir}\n") + install(FILES "${CMAKE_CURRENT_BINARY_DIR}/qt.conf" + DESTINATION "${INSTALL_CMAKE_DIR}") + + # Note Mac specific extension .app + set(APPS "\$ENV{DESTDIR}\${CMAKE_INSTALL_PREFIX}/$") + + # Directories to look for dependencies + set(DIRS "${CMAKE_BINARY_DIR}") + + # Path used for searching by FIND_XXX(), with appropriate suffixes added + if(CMAKE_PREFIX_PATH) + foreach(dir ${CMAKE_PREFIX_PATH}) + list(APPEND DIRS "${dir}/bin" "${dir}/lib") + endforeach() + endif() + + # Append Qt's lib folder which is two levels above Qt5Widgets_DIR + list(APPEND DIRS "${Qt5Widgets_DIR}/../..") + + include(InstallRequiredSystemLibraries) + + message(STATUS "APPS: ${APPS}") + message(STATUS "QT_PLUGINS: ${QT_PLUGINS}") + message(STATUS "DIRS: ${DIRS}") + + install(CODE " + include(BundleUtilities) + fixup_bundle(\"${APPS}\" \"${QT_PLUGINS}\" \"${DIRS}\")") +endif() + if (UNIX AND NOT APPLE) find_package(X11 REQUIRED) target_link_libraries(ui PRIVATE X11::X11) From 2654642090225df05c7ea787f6419d9c7f0e0521 Mon Sep 17 00:00:00 2001 From: RichardG867 Date: Mon, 7 Feb 2022 17:39:59 -0300 Subject: [PATCH 35/59] Jenkins: Turn down Windows zip compression --- .ci/build.sh | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.ci/build.sh b/.ci/build.sh index ec300f70e..6dc276f59 100644 --- a/.ci/build.sh +++ b/.ci/build.sh @@ -430,7 +430,7 @@ cd archive_tmp if is_windows then # Create zip. - "$sevenzip" a -y -mx9 "$(cygpath -w "$cwd")\\$package_name.zip" * + "$sevenzip" a -y "$(cygpath -w "$cwd")\\$package_name.zip" * status=$? elif is_mac then From bf3bdb7367e478944dce6b09e68ed6352db6ca40 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?David=20Hrdli=C4=8Dka?= Date: Mon, 7 Feb 2022 22:48:07 +0100 Subject: [PATCH 36/59] Work around MinGW's weird OpenAL config --- src/CMakeLists.txt | 9 ++++++++- 1 file changed, 8 insertions(+), 1 deletion(-) diff --git a/src/CMakeLists.txt b/src/CMakeLists.txt index c5728721b..53a38a006 100644 --- a/src/CMakeLists.txt +++ b/src/CMakeLists.txt @@ -88,7 +88,14 @@ if(APPLE) endif() if(OPENAL) - find_package(OpenAL REQUIRED) + if(VCPKG_TOOLCHAIN) + find_package(OpenAL CONFIG REQUIRED) + elseif(MINGW) + find_package(OpenAL MODULE REQUIRED) + else() + find_package(OpenAL REQUIRED) + endif() + if(TARGET OpenAL::OpenAL) target_link_libraries(86Box OpenAL::OpenAL) else() From 4b3aabc4ba0fde6e3e7393a95594bb1e54050af8 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?David=20Hrdli=C4=8Dka?= Date: Mon, 7 Feb 2022 22:58:08 +0100 Subject: [PATCH 37/59] Fix non-Qt Unix build --- src/unix/unix.c | 6 ++++++ 1 file changed, 6 insertions(+) diff --git a/src/unix/unix.c b/src/unix/unix.c index 3727e1f63..62b28b12d 100644 --- a/src/unix/unix.c +++ b/src/unix/unix.c @@ -1267,3 +1267,9 @@ void endblit() { SDL_UnlockMutex(blitmtx); } + +/* API */ +void +ui_sb_mt32lcd(char* str) +{ +} \ No newline at end of file From 0f4931cdcc0d35ab47f68fa51586acbec7e7e75f Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?David=20Hrdli=C4=8Dka?= Date: Mon, 7 Feb 2022 23:05:59 +0100 Subject: [PATCH 38/59] Fix macOS bundles --- src/CMakeLists.txt | 8 +++++++- src/qt/CMakeLists.txt | 4 ++-- 2 files changed, 9 insertions(+), 3 deletions(-) diff --git a/src/CMakeLists.txt b/src/CMakeLists.txt index 53a38a006..27cbad661 100644 --- a/src/CMakeLists.txt +++ b/src/CMakeLists.txt @@ -174,12 +174,18 @@ endif() # Install other dependencies -if(WIN32 OR (APPLE AND NOT QT)) +if(WIN32) install(CODE " include(BundleUtilities) get_filename_component(CMAKE_INSTALL_PREFIX_ABSOLUTE \${CMAKE_INSTALL_PREFIX} ABSOLUTE) fixup_bundle(\"\${CMAKE_INSTALL_PREFIX_ABSOLUTE}/$\" \"\" \"\")" COMPONENT Runtime) +elseif(APPLE AND NOT QT) + install(CODE " + include(BundleUtilities) + get_filename_component(CMAKE_INSTALL_PREFIX_ABSOLUTE \${CMAKE_INSTALL_PREFIX} ABSOLUTE) + fixup_bundle(\"\${CMAKE_INSTALL_PREFIX_ABSOLUTE}/86Box.app\" \"\" \"\")" + COMPONENT Runtime) endif() diff --git a/src/qt/CMakeLists.txt b/src/qt/CMakeLists.txt index 643e7ece7..9bae270ab 100644 --- a/src/qt/CMakeLists.txt +++ b/src/qt/CMakeLists.txt @@ -208,7 +208,7 @@ macro(install_qt5_plugin _qt_plugin_name _qt_plugins_var _prefix) endmacro() if (APPLE AND CMAKE_MACOSX_BUNDLE) - set(prefix "$/Contents") + set(prefix "86Box.app/Contents") set(INSTALL_RUNTIME_DIR "${prefix}/MacOS") set(INSTALL_CMAKE_DIR "${prefix}/Resources") @@ -228,7 +228,7 @@ if (APPLE AND CMAKE_MACOSX_BUNDLE) DESTINATION "${INSTALL_CMAKE_DIR}") # Note Mac specific extension .app - set(APPS "\$ENV{DESTDIR}\${CMAKE_INSTALL_PREFIX}/$") + set(APPS "\$ENV{DESTDIR}\${CMAKE_INSTALL_PREFIX}/86Box.app") # Directories to look for dependencies set(DIRS "${CMAKE_BINARY_DIR}") From 58aca9ebd48f84bb4e30198bdf0b9e7b352bba82 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?David=20Hrdli=C4=8Dka?= Date: Tue, 8 Feb 2022 01:55:25 +0100 Subject: [PATCH 39/59] Add libmt32emu and libslirp as optional dependencies to vcpkg manifest --- CMakeLists.txt | 10 +++++++++- cmake/flags-gcc-aarch64.cmake | 4 ++-- vcpkg.json | 12 ++++++++++++ 3 files changed, 23 insertions(+), 3 deletions(-) diff --git a/CMakeLists.txt b/CMakeLists.txt index a29e0bdd7..e1f6fc47e 100644 --- a/CMakeLists.txt +++ b/CMakeLists.txt @@ -18,10 +18,18 @@ cmake_minimum_required(VERSION 3.16) cmake_policy(SET CMP0091 NEW) cmake_policy(SET CMP0079 NEW) -if (QT) +if(QT) list(APPEND VCPKG_MANIFEST_FEATURES "qt-ui") endif() +if(SLIRP_EXTERNAL) + list(APPEND VCPKG_MANIFEST_FEATURES "slirp") +endif() + +if(MUNT_EXTERNAL) + list(APPEND VCPKG_MANIFEST_FEATURES "munt") +endif() + project(86Box VERSION 3.2 DESCRIPTION "Emulator of x86-based systems" diff --git a/cmake/flags-gcc-aarch64.cmake b/cmake/flags-gcc-aarch64.cmake index 146a869fc..2de0cc053 100644 --- a/cmake/flags-gcc-aarch64.cmake +++ b/cmake/flags-gcc-aarch64.cmake @@ -14,7 +14,7 @@ # Copyright 2021 David Hrdlička. # -string(APPEND CMAKE_C_FLAGS_INIT " -march=armv8-a -mfloat-abi=hard") -string(APPEND CMAKE_CXX_FLAGS_INIT " -march=armv8-a -mfloat-abi=hard") +string(APPEND CMAKE_C_FLAGS_INIT " -march=armv8-a -mfloat-abi=hard ${CMAKE_C_FLAGS_INIT}") +string(APPEND CMAKE_CXX_FLAGS_INIT " -march=armv8-a -mfloat-abi=hard ${CMAKE_C_FLAGS_INIT}") include(${CMAKE_CURRENT_LIST_DIR}/flags-gcc.cmake) \ No newline at end of file diff --git a/vcpkg.json b/vcpkg.json index f4e78d8e7..85295f1cf 100644 --- a/vcpkg.json +++ b/vcpkg.json @@ -18,6 +18,18 @@ "qt5-base", "qt5-translations" ] + }, + "munt": { + "description": "Roland MT-32 emulation", + "dependencies": [ + "libmt32emu" + ] + }, + "slirp": { + "description": "Slirp network support", + "dependencies": [ + "libslirp" + ] } } } From 2bc56c775d0cdbb93f716f148b081ba2899a5b44 Mon Sep 17 00:00:00 2001 From: Cacodemon345 Date: Tue, 8 Feb 2022 12:14:10 +0600 Subject: [PATCH 40/59] Disable LCD messages on Roland CM-32L emulation --- src/sound/midi_mt32.c | 71 ++++++++++++++++++++++++++++++++++--------- 1 file changed, 56 insertions(+), 15 deletions(-) diff --git a/src/sound/midi_mt32.c b/src/sound/midi_mt32.c index 6b59cf87f..00c26b392 100644 --- a/src/sound/midi_mt32.c +++ b/src/sound/midi_mt32.c @@ -19,20 +19,9 @@ extern void givealbuffer_midi(void *buf, uint32_t size); extern void al_set_midi(int freq, int buf_size); #endif -static void display_mt32_message(void *instance_data, const char *message) -{ - int sz = 0; - char* ui_msg = NULL; +static void display_mt32_message(void *instance_data, const char *message); - sz = snprintf(NULL, 0, "MT-32: %s", message); - ui_msg = calloc(sz + 1, 1); - if (ui_msg) - { - snprintf(ui_msg, sz, "MT-32: %s", message); - ui_sb_mt32lcd(ui_msg); - } -} -static const mt32emu_report_handler_i_v0 handler_v0 = { +static const mt32emu_report_handler_i_v0 handler_mt32_v0 = { /** Returns the actual interface version ID */ NULL, //mt32emu_report_handler_version (*getVersionID)(mt32emu_report_handler_i i); @@ -68,7 +57,45 @@ static const mt32emu_report_handler_i_v0 handler_v0 = { NULL, //void (*onProgramChanged)(void *instance_data, mt32emu_bit8u part_num, const char *sound_group_name, const char *patch_name); }; -static const mt32emu_report_handler_i handler = { &handler_v0 }; +/** Alternate report handler for Roland CM-32L */ +static const mt32emu_report_handler_i_v0 handler_cm32l_v0 = { + /** Returns the actual interface version ID */ + NULL, //mt32emu_report_handler_version (*getVersionID)(mt32emu_report_handler_i i); + + /** Callback for debug messages, in vprintf() format */ + NULL, //void (*printDebug)(void *instance_data, const char *fmt, va_list list); + /** Callbacks for reporting errors */ + NULL, //void (*onErrorControlROM)(void *instance_data); + NULL, //void (*onErrorPCMROM)(void *instance_data); + /** Callback for reporting about displaying a new custom message on LCD */ + NULL, //void (*showLCDMessage)(void *instance_data, const char *message); + /** Callback for reporting actual processing of a MIDI message */ + NULL, //void (*onMIDIMessagePlayed)(void *instance_data); + /** + * Callback for reporting an overflow of the input MIDI queue. + * Returns MT32EMU_BOOL_TRUE if a recovery action was taken + * and yet another attempt to enqueue the MIDI event is desired. + */ + NULL, //mt32emu_boolean (*onMIDIQueueOverflow)(void *instance_data); + /** + * Callback invoked when a System Realtime MIDI message is detected in functions + * mt32emu_parse_stream and mt32emu_play_short_message and the likes. + */ + NULL, //void (*onMIDISystemRealtime)(void *instance_data, mt32emu_bit8u system_realtime); + /** Callbacks for reporting system events */ + NULL, //void (*onDeviceReset)(void *instance_data); + NULL, //void (*onDeviceReconfig)(void *instance_data); + /** Callbacks for reporting changes of reverb settings */ + NULL, //void (*onNewReverbMode)(void *instance_data, mt32emu_bit8u mode); + NULL, //void (*onNewReverbTime)(void *instance_data, mt32emu_bit8u time); + NULL, //void (*onNewReverbLevel)(void *instance_data, mt32emu_bit8u level); + /** Callbacks for reporting various information */ + NULL, //void (*onPolyStateChanged)(void *instance_data, mt32emu_bit8u part_num); + NULL, //void (*onProgramChanged)(void *instance_data, mt32emu_bit8u part_num, const char *sound_group_name, const char *patch_name); +}; + +static const mt32emu_report_handler_i handler_mt32 = { &handler_mt32_v0 }; +static const mt32emu_report_handler_i handler_cm32l = { &handler_cm32l_v0 }; static mt32emu_context context = NULL; static int roms_present[2] = {-1, -1}; @@ -110,6 +137,20 @@ static float* buffer = NULL; static int16_t* buffer_int16 = NULL; static int midi_pos = 0; +static void display_mt32_message(void *instance_data, const char *message) +{ + int sz = 0; + char* ui_msg = NULL; + + sz = snprintf(NULL, 0, "MT-32: %s", message); + ui_msg = calloc(sz + 1, 1); + if (ui_msg) + { + snprintf(ui_msg, sz, "MT-32: %s", message); + ui_sb_mt32lcd(ui_msg); + } +} + void mt32_stream(float* stream, int len) { if (context) mt32emu_render_float(context, stream, len); @@ -190,7 +231,7 @@ void* mt32emu_init(char *control_rom, char *pcm_rom) midi_device_t* dev; char fn[512]; - context = mt32emu_create_context(handler, NULL); + context = mt32emu_create_context(strstr(control_rom, "CM32L_CONTROL.ROM") ? handler_cm32l : handler_mt32, NULL); if (!rom_getfile(control_rom, fn, 512)) return 0; if (!mt32_check("mt32emu_add_rom_file", mt32emu_add_rom_file(context, fn), MT32EMU_RC_ADDED_CONTROL_ROM)) return 0; From 0b3a6d8e8428082c9e76639275a39752f2538993 Mon Sep 17 00:00:00 2001 From: Cacodemon345 Date: Tue, 8 Feb 2022 14:22:48 +0600 Subject: [PATCH 41/59] Qt is now on by default for non-Windows --- CMakeLists.txt | 4 ++++ 1 file changed, 4 insertions(+) diff --git a/CMakeLists.txt b/CMakeLists.txt index e1f6fc47e..9170741cb 100644 --- a/CMakeLists.txt +++ b/CMakeLists.txt @@ -122,7 +122,11 @@ option(CPPTHREADS "C++11 threads" option(NEW_DYNAREC "Use the PCem v15 (\"new\") dynamic recompiler" OFF) option(MINITRACE "Enable Chrome tracing using the modified minitrace library" OFF) option(DEV_BRANCH "Development branch" OFF) +if(NOT WIN32) +option(QT "QT GUI" ON) +else() option(QT "QT GUI" OFF) +endif() # Development branch features # From 2899185c05d0963003a222f5f415344877b192b8 Mon Sep 17 00:00:00 2001 From: Cacodemon345 Date: Tue, 8 Feb 2022 14:44:36 +0600 Subject: [PATCH 42/59] Fix Linux GH builds --- .github/workflows/cmake.yml | 1 + 1 file changed, 1 insertion(+) diff --git a/.github/workflows/cmake.yml b/.github/workflows/cmake.yml index 6ee6d6b43..915298da6 100644 --- a/.github/workflows/cmake.yml +++ b/.github/workflows/cmake.yml @@ -260,6 +260,7 @@ jobs: -D DEV_BRANCH=${{ matrix.build.dev-build }} -D NEW_DYNAREC=${{ matrix.build.new-dynarec }} -D VNC=OFF + -D QT=OFF -D CMAKE_BUILD_TYPE=${{ matrix.build.type }} -D CMAKE_C_COMPILER=gcc-11 -D CMAKE_CXX_COMPILER=g++-11 - name: Build From 6b4b4381956b7a960858f7574d17978eaf8b412b Mon Sep 17 00:00:00 2001 From: Cacodemon345 Date: Tue, 8 Feb 2022 14:46:01 +0600 Subject: [PATCH 43/59] Fix macOS GH build --- .github/workflows/cmake.yml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.github/workflows/cmake.yml b/.github/workflows/cmake.yml index 915298da6..216c1568d 100644 --- a/.github/workflows/cmake.yml +++ b/.github/workflows/cmake.yml @@ -317,7 +317,7 @@ jobs: steps: - uses: actions/checkout@v2 - name: Install dependencies - run: brew install freetype sdl2 libpng openal-soft rtmidi + run: brew install freetype sdl2 libpng openal-soft rtmidi qt@5 && brew link qt@5 - name: Configure CMake run: >- cmake -S . -B build From a343609bcaf6a251cdd8245c8e34c957771278d8 Mon Sep 17 00:00:00 2001 From: Cacodemon345 Date: Tue, 8 Feb 2022 15:13:21 +0600 Subject: [PATCH 44/59] macOS GH builds use Qt6 --- .github/workflows/cmake.yml | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) diff --git a/.github/workflows/cmake.yml b/.github/workflows/cmake.yml index 216c1568d..07c9c38db 100644 --- a/.github/workflows/cmake.yml +++ b/.github/workflows/cmake.yml @@ -317,7 +317,7 @@ jobs: steps: - uses: actions/checkout@v2 - name: Install dependencies - run: brew install freetype sdl2 libpng openal-soft rtmidi qt@5 && brew link qt@5 + run: brew install freetype sdl2 libpng openal-soft rtmidi qt - name: Configure CMake run: >- cmake -S . -B build @@ -326,6 +326,8 @@ jobs: -D NEW_DYNAREC=${{ matrix.build.new-dynarec }} -D VNC=OFF -D CMAKE_BUILD_TYPE=${{ matrix.build.type }} + -D QT=ON + -D USE_QT6=ON - name: Build run: cmake --build build - name: Generate package From 8d947bdce5af868655b404d4fad28d7da7e8b642 Mon Sep 17 00:00:00 2001 From: dob205 Date: Tue, 8 Feb 2022 10:28:48 +0100 Subject: [PATCH 45/59] Updates to the German Win32 translation --- src/win/languages/de-DE.rc | 22 +++++++++++----------- 1 file changed, 11 insertions(+), 11 deletions(-) diff --git a/src/win/languages/de-DE.rc b/src/win/languages/de-DE.rc index 2f5975975..63186994f 100644 --- a/src/win/languages/de-DE.rc +++ b/src/win/languages/de-DE.rc @@ -32,7 +32,7 @@ BEGIN POPUP "&Ansicht" BEGIN MENUITEM "&Statusleiste ausblenden", IDM_VID_HIDE_STATUS_BAR - MENUITEM "Hide &toolbar", IDM_VID_HIDE_TOOLBAR + MENUITEM "&Werkzeugleiste ausblenden", IDM_VID_HIDE_TOOLBAR MENUITEM SEPARATOR MENUITEM "&Größenverstellbares Fenster", IDM_VID_RESIZE MENUITEM "&Größe && Position merken", IDM_VID_REMEMBER @@ -255,10 +255,10 @@ END #define STR_LOCK_TO_SIZE "Feste Größe" #define STR_MACHINE_TYPE "Systemtyp:" -#define STR_MACHINE "Maschine:" +#define STR_MACHINE "System:" #define STR_CONFIGURE "Einstellen" #define STR_CPU_TYPE "CPU-Typ:" -#define STR_CPU_SPEED "Geschwindigkeit:" +#define STR_CPU_SPEED "Takt:" #define STR_FPU "FPU-Einheit:" #define STR_WAIT_STATES "Wartezustände:" #define STR_MB "MB" @@ -450,7 +450,7 @@ BEGIN IDS_2119 "Beenden" IDS_2120 "Keine ROMs gefunden" IDS_2121 "Möchten Sie die Einstellungen speichern?" - IDS_2122 "Dies wird zu einem Hard-Reset der emulierten Maschine führen." + IDS_2122 "Dies wird zu einem Hard-Reset des emulierten Systems führen." IDS_2123 "Speichern" IDS_2124 "Über 86Box" IDS_2125 "86Box Version " EMU_VERSION @@ -503,13 +503,13 @@ BEGIN IDS_2151 "Cartridgeimages (*.A;*.B;*.JRC)\0*.A;*.B;*.JRC\0Alle Dateien (*.*)\0*.*\0" IDS_2152 "Fehler bei der Rendererinitialisierung" IDS_2153 "Der OpenGL (3.0-Kern)-Renderer konnte nicht initialisiert werden. Bitte benutzen Sie einen anderen Renderer." - IDS_2154 "Resume execution" - IDS_2155 "Pause execution" - IDS_2156 "Press Ctrl+Alt+Del" - IDS_2157 "Press Ctrl+Alt+Esc" - IDS_2158 "Hard reset" - IDS_2159 "ACPI shutdown" - IDS_2160 "Settings" + IDS_2154 "Fortsetzen" + IDS_2155 "Pausieren" + IDS_2156 "Strg+Alt+Entf drücken" + IDS_2157 "Strg+Alt+Esc drücken" + IDS_2158 "Hard-Reset" + IDS_2159 "ACPI-basiertes Herunterfahren" + IDS_2160 "Optionen" END STRINGTABLE DISCARDABLE From 7f2aea621b46090e0139bb672fe0b2b6bb6057ab Mon Sep 17 00:00:00 2001 From: dob205 Date: Tue, 8 Feb 2022 10:30:55 +0100 Subject: [PATCH 46/59] Updates to the Croatian Win32 translation --- src/win/languages/hr-HR.rc | 14 +++++++------- 1 file changed, 7 insertions(+), 7 deletions(-) diff --git a/src/win/languages/hr-HR.rc b/src/win/languages/hr-HR.rc index ca2f49af2..c52c5922f 100644 --- a/src/win/languages/hr-HR.rc +++ b/src/win/languages/hr-HR.rc @@ -503,13 +503,13 @@ BEGIN IDS_2151 "Slike kasete (*.A;*.B;*.JRC)\0*.A;*.B;*.JRC\0Sve datoteke (*.*)\0*.*\0" IDS_2152 "Nije moguće inicijalizirati renderer" IDS_2153 "Nije moguće inicijalizirati OpenGL (3.0 jezgra) renderer. Molimte koristite drugi renderer." - IDS_2154 "Resume execution" - IDS_2155 "Pause execution" - IDS_2156 "Press Ctrl+Alt+Del" - IDS_2157 "Press Ctrl+Alt+Esc" - IDS_2158 "Hard reset" - IDS_2159 "ACPI shutdown" - IDS_2160 "Settings" + IDS_2154 "Nastavi" + IDS_2155 "Pauziraj" + IDS_2156 "Stisni Ctrl+Alt+Del" + IDS_2157 "Stisni Ctrl+Alt+Esc" + IDS_2158 "Ponovno pokretanje" + IDS_2159 "ACPI bazirano gašenje" + IDS_2160 "Postavke" END STRINGTABLE DISCARDABLE From 350554b89fc607515dafe886c539663c7cc76080 Mon Sep 17 00:00:00 2001 From: dob205 Date: Tue, 8 Feb 2022 10:36:34 +0100 Subject: [PATCH 47/59] Updates to the German Qt translation --- src/qt/languages/de-DE.po | 18 +++++++++--------- 1 file changed, 9 insertions(+), 9 deletions(-) diff --git a/src/qt/languages/de-DE.po b/src/qt/languages/de-DE.po index 2280a68cc..7856d962d 100644 --- a/src/qt/languages/de-DE.po +++ b/src/qt/languages/de-DE.po @@ -29,7 +29,7 @@ msgid "&Hide status bar" msgstr "&Statusleiste ausblenden" msgid "Hide &toolbar" -msgstr "Hide &toolbar" +msgstr "Werkzeugleiste &ausblenden" msgid "&Resizeable window" msgstr "&Größenverstellbares Fenster" @@ -320,7 +320,7 @@ msgid "Machine type:" msgstr "Systemtyp:" msgid "Machine:" -msgstr "Maschine:" +msgstr "System:" msgid "Configure" msgstr "Einstellen" @@ -812,7 +812,7 @@ msgid "Do you want to save the settings?" msgstr "Möchten Sie die Einstellungen speichern?" msgid "This will hard reset the emulated machine." -msgstr "Dies wird zu einem Hard-Reset der emulierten Maschine führen." +msgstr "Dies wird zu einem Hard-Reset des emulierten Systems führen." msgid "Save" msgstr "Speichern" @@ -926,22 +926,22 @@ msgid "OpenGL (3.0 Core) renderer could not be initialized. Use another renderer msgstr "Der OpenGL (3.0-Kern)-Renderer konnte nicht initialisiert werden. Bitte benutzen Sie einen anderen Renderer." msgid "Resume execution" -msgstr "Resume execution" +msgstr "Fortsetzen" msgid "Pause execution" -msgstr "Pause execution" +msgstr "Pausieren" msgid "Press Ctrl+Alt+Del" -msgstr "Press Ctrl+Alt+Del" +msgstr "Strg+Alt+Entf drücken" msgid "Press Ctrl+Alt+Esc" -msgstr "Press Ctrl+Alt+Esc" +msgstr "Strg+Alt+Esc drücken" msgid "Hard reset" -msgstr "Hard reset" +msgstr "Hard-Reset" msgid "ACPI shutdown" -msgstr "ACPI shutdown" +msgstr "ACPI-basiertes Herunterfahren" msgid "Hard disk (%s)" msgstr "Festplatte (%s)" From 50daf6227dd89049f596a6928c098d1430a9fd21 Mon Sep 17 00:00:00 2001 From: dob205 Date: Tue, 8 Feb 2022 10:37:50 +0100 Subject: [PATCH 48/59] Missed a string in Croatian here --- src/win/languages/hr-HR.rc | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/win/languages/hr-HR.rc b/src/win/languages/hr-HR.rc index c52c5922f..818dbf770 100644 --- a/src/win/languages/hr-HR.rc +++ b/src/win/languages/hr-HR.rc @@ -32,7 +32,7 @@ BEGIN POPUP "&Pogled" BEGIN MENUITEM "&Sakrij statusni redak", IDM_VID_HIDE_STATUS_BAR - MENUITEM "Hide &toolbar", IDM_VID_HIDE_TOOLBAR + MENUITEM "&Sakrij alatni redak", IDM_VID_HIDE_TOOLBAR MENUITEM SEPARATOR MENUITEM "&Prozor s promjenjivim veličinama", IDM_VID_RESIZE MENUITEM "&Zapamtite veličinu i položaj", IDM_VID_REMEMBER From 27ae38abf984b205833ad9e3a3222fc93252ea1a Mon Sep 17 00:00:00 2001 From: dob205 Date: Tue, 8 Feb 2022 10:39:40 +0100 Subject: [PATCH 49/59] Updates to the Croatian Qt translation --- src/qt/languages/hr-HR.po | 14 +++++++------- 1 file changed, 7 insertions(+), 7 deletions(-) diff --git a/src/qt/languages/hr-HR.po b/src/qt/languages/hr-HR.po index 210de3002..c65fa2c34 100644 --- a/src/qt/languages/hr-HR.po +++ b/src/qt/languages/hr-HR.po @@ -29,7 +29,7 @@ msgid "&Hide status bar" msgstr "&Sakrij statusni redak" msgid "Hide &toolbar" -msgstr "Hide &toolbar" +msgstr "&Sakrij alatni redak" msgid "&Resizeable window" msgstr "&Prozor s promjenjivim veličinama" @@ -926,22 +926,22 @@ msgid "OpenGL (3.0 Core) renderer could not be initialized. Use another renderer msgstr "Nije moguće inicijalizirati OpenGL (3.0 jezgra) renderer. Molimte koristite drugi renderer." msgid "Resume execution" -msgstr "Resume execution" +msgstr "Nastavi" msgid "Pause execution" -msgstr "Pause execution" +msgstr "Pauziraj" msgid "Press Ctrl+Alt+Del" -msgstr "Press Ctrl+Alt+Del" +msgstr "Stisni Ctrl+Alt+Del" msgid "Press Ctrl+Alt+Esc" -msgstr "Press Ctrl+Alt+Esc" +msgstr "Stisni Ctrl+Alt+Esc" msgid "Hard reset" -msgstr "Hard reset" +msgstr "Ponovno pokretanje" msgid "ACPI shutdown" -msgstr "ACPI shutdown" +msgstr "ACPI bazirano gašenje" msgid "Hard disk (%s)" msgstr "Tvrdi disk (%s)" From f6a68e933aa535e161b6aa0a334a695cdd070855 Mon Sep 17 00:00:00 2001 From: Cacodemon345 Date: Tue, 8 Feb 2022 15:43:17 +0600 Subject: [PATCH 50/59] Revert with fixes --- .github/workflows/cmake.yml | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/.github/workflows/cmake.yml b/.github/workflows/cmake.yml index 07c9c38db..47cf9f71e 100644 --- a/.github/workflows/cmake.yml +++ b/.github/workflows/cmake.yml @@ -317,7 +317,7 @@ jobs: steps: - uses: actions/checkout@v2 - name: Install dependencies - run: brew install freetype sdl2 libpng openal-soft rtmidi qt + run: brew install freetype sdl2 libpng openal-soft rtmidi qt@5 - name: Configure CMake run: >- cmake -S . -B build @@ -327,7 +327,7 @@ jobs: -D VNC=OFF -D CMAKE_BUILD_TYPE=${{ matrix.build.type }} -D QT=ON - -D USE_QT6=ON + -D Qt5_DIR=/usr/local/opt/qt@5/lib/cmake/ - name: Build run: cmake --build build - name: Generate package From 022f5dbdeada1b21cfab87e9833e8838f16c17d4 Mon Sep 17 00:00:00 2001 From: Cacodemon345 Date: Tue, 8 Feb 2022 15:50:56 +0600 Subject: [PATCH 51/59] qt: Fix theming bugs under KDE --- src/qt/qt_styleoverride.cpp | 1 + 1 file changed, 1 insertion(+) diff --git a/src/qt/qt_styleoverride.cpp b/src/qt/qt_styleoverride.cpp index 3beb4c2db..20d45e94a 100644 --- a/src/qt/qt_styleoverride.cpp +++ b/src/qt/qt_styleoverride.cpp @@ -31,6 +31,7 @@ int StyleOverride::styleHint( void StyleOverride::polish(QWidget* widget) { + QProxyStyle::polish(widget); /* Disable title bar context help buttons globally as they are unused. */ if (widget->isWindow()) widget->setWindowFlag(Qt::WindowContextHelpButtonHint, false); From 6a425916eb44c6c04bb9568fa74375149b24aca2 Mon Sep 17 00:00:00 2001 From: Cacodemon345 Date: Tue, 8 Feb 2022 15:54:17 +0600 Subject: [PATCH 52/59] Fix wrong Qt5_DIR variable --- .github/workflows/cmake.yml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.github/workflows/cmake.yml b/.github/workflows/cmake.yml index 47cf9f71e..f1be35dee 100644 --- a/.github/workflows/cmake.yml +++ b/.github/workflows/cmake.yml @@ -327,7 +327,7 @@ jobs: -D VNC=OFF -D CMAKE_BUILD_TYPE=${{ matrix.build.type }} -D QT=ON - -D Qt5_DIR=/usr/local/opt/qt@5/lib/cmake/ + -D Qt5_DIR=/usr/local/opt/qt@5/lib/cmake/Qt5/ - name: Build run: cmake --build build - name: Generate package From b8fe36edd44c2d1ebf8ec3f5770edb511210fe25 Mon Sep 17 00:00:00 2001 From: Cacodemon345 Date: Tue, 8 Feb 2022 15:56:31 +0600 Subject: [PATCH 53/59] Fix untranslated hide toolbar string --- src/qt/qt_mainwindow.ui | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/qt/qt_mainwindow.ui b/src/qt/qt_mainwindow.ui index f0c1881ac..6a35279c2 100644 --- a/src/qt/qt_mainwindow.ui +++ b/src/qt/qt_mainwindow.ui @@ -648,7 +648,7 @@ true - Hide tool bar + Hide &toolbar Hide tool bar From 97a2efb5e8596c4b47612f6ef03dc14437438779 Mon Sep 17 00:00:00 2001 From: Cacodemon345 Date: Tue, 8 Feb 2022 15:58:00 +0600 Subject: [PATCH 54/59] 2nd attempt --- .github/workflows/cmake.yml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.github/workflows/cmake.yml b/.github/workflows/cmake.yml index f1be35dee..348576e40 100644 --- a/.github/workflows/cmake.yml +++ b/.github/workflows/cmake.yml @@ -327,7 +327,7 @@ jobs: -D VNC=OFF -D CMAKE_BUILD_TYPE=${{ matrix.build.type }} -D QT=ON - -D Qt5_DIR=/usr/local/opt/qt@5/lib/cmake/Qt5/ + -D Qt5_DIR=/usr/local/Cellar/qt@5/5.15.2/lib/cmake/ - name: Build run: cmake --build build - name: Generate package From 1df33b4946e45d65b7aeadd13aabce6d0c7ebe78 Mon Sep 17 00:00:00 2001 From: Cacodemon345 Date: Tue, 8 Feb 2022 16:26:41 +0600 Subject: [PATCH 55/59] Specify directory for Qt Linguist Tools in CMake --- .github/workflows/cmake.yml | 1 + 1 file changed, 1 insertion(+) diff --git a/.github/workflows/cmake.yml b/.github/workflows/cmake.yml index 348576e40..1db23c823 100644 --- a/.github/workflows/cmake.yml +++ b/.github/workflows/cmake.yml @@ -328,6 +328,7 @@ jobs: -D CMAKE_BUILD_TYPE=${{ matrix.build.type }} -D QT=ON -D Qt5_DIR=/usr/local/Cellar/qt@5/5.15.2/lib/cmake/ + -D Qt5LinguistTools_DIR=/usr/local/Cellar/qt@5/5.15.2/lib/cmake/Qt5LinguistTools/ - name: Build run: cmake --build build - name: Generate package From b61ae8eaa178304e34eaf851621d7850d63efc27 Mon Sep 17 00:00:00 2001 From: Cacodemon345 Date: Tue, 8 Feb 2022 16:40:46 +0600 Subject: [PATCH 56/59] Fix window title after changing UI language --- src/qt/qt_progsettings.cpp | 2 ++ 1 file changed, 2 insertions(+) diff --git a/src/qt/qt_progsettings.cpp b/src/qt/qt_progsettings.cpp index c51070132..ac8ae0ed8 100644 --- a/src/qt/qt_progsettings.cpp +++ b/src/qt/qt_progsettings.cpp @@ -30,6 +30,7 @@ extern "C" { #include <86box/86box.h> +#include <86box/version.h> #include <86box/config.h> #include <86box/plat.h> } @@ -120,6 +121,7 @@ void ProgSettings::accept() reloadStrings(); update_mouse_msg(); main_window->ui->retranslateUi(main_window); + main_window->setWindowTitle(QString("%1 - %2 %3").arg(vm_name, EMU_NAME, EMU_VERSION_FULL)); QString msg = main_window->status->getMessage(); main_window->status.reset(new MachineStatus(main_window)); main_window->refreshMediaMenu(); From 4c37234ce0007ed6beaa7eb20968fb9368bca435 Mon Sep 17 00:00:00 2001 From: dob205 Date: Tue, 8 Feb 2022 13:56:36 +0100 Subject: [PATCH 57/59] Potential fixes for GitHub Actions on macOS --- .github/workflows/cmake.yml | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/.github/workflows/cmake.yml b/.github/workflows/cmake.yml index 1db23c823..afec3450f 100644 --- a/.github/workflows/cmake.yml +++ b/.github/workflows/cmake.yml @@ -327,8 +327,8 @@ jobs: -D VNC=OFF -D CMAKE_BUILD_TYPE=${{ matrix.build.type }} -D QT=ON - -D Qt5_DIR=/usr/local/Cellar/qt@5/5.15.2/lib/cmake/ - -D Qt5LinguistTools_DIR=/usr/local/Cellar/qt@5/5.15.2/lib/cmake/Qt5LinguistTools/ + -D Qt5_DIR=/usr/local/Cellar/qt@5/5.15.2_1/lib/cmake/Qt5 + -D Qt5LinguistTools_DIR=/usr/local/Cellar/qt@5/5.15.2_1/lib/cmake/Qt5LinguistTools/ - name: Build run: cmake --build build - name: Generate package From dd83bdb0f6fb84274876b44f8d8ef4a545e0d092 Mon Sep 17 00:00:00 2001 From: Cacodemon345 Date: Wed, 9 Feb 2022 00:29:19 +0600 Subject: [PATCH 58/59] * Fix fixed size window sizing * Fix device config windows not appearing centered and modal under Wayland --- src/qt/qt_deviceconfig.cpp | 5 +++-- src/qt/qt_deviceconfig.hpp | 6 +++++- src/qt/qt_settings.cpp | 4 ++++ src/qt/qt_settings.hpp | 1 + src/qt/qt_settingsdisplay.cpp | 4 ++-- src/qt/qt_settingsinput.cpp | 2 +- src/qt/qt_settingsmachine.cpp | 2 +- src/qt/qt_settingsnetwork.cpp | 2 +- src/qt/qt_settingsotherperipherals.cpp | 10 +++++----- src/qt/qt_settingssound.cpp | 16 ++++++++-------- src/qt/qt_settingsstoragecontrollers.cpp | 16 ++++++++-------- src/qt/qt_styleoverride.cpp | 8 +++++++- src/qt/qt_styleoverride.hpp | 3 ++- 13 files changed, 48 insertions(+), 31 deletions(-) diff --git a/src/qt/qt_deviceconfig.cpp b/src/qt/qt_deviceconfig.cpp index c51a8a49e..ac967f678 100644 --- a/src/qt/qt_deviceconfig.cpp +++ b/src/qt/qt_deviceconfig.cpp @@ -18,6 +18,7 @@ */ #include "qt_deviceconfig.hpp" #include "ui_qt_deviceconfig.h" +#include "qt_settings.hpp" #include #include @@ -47,8 +48,8 @@ DeviceConfig::~DeviceConfig() delete ui; } -void DeviceConfig::ConfigureDevice(const _device_* device, int instance) { - DeviceConfig dc; +void DeviceConfig::ConfigureDevice(const _device_* device, int instance, Settings* settings) { + DeviceConfig dc(settings); dc.setWindowTitle(QString("%1 Device Configuration").arg(device->name)); device_context_t device_context; diff --git a/src/qt/qt_deviceconfig.hpp b/src/qt/qt_deviceconfig.hpp index 8062c1851..2662df11c 100644 --- a/src/qt/qt_deviceconfig.hpp +++ b/src/qt/qt_deviceconfig.hpp @@ -3,6 +3,8 @@ #include +#include "qt_settings.hpp" + extern "C" { struct _device_; } @@ -11,6 +13,8 @@ namespace Ui { class DeviceConfig; } +class Settings; + class DeviceConfig : public QDialog { Q_OBJECT @@ -19,7 +23,7 @@ public: explicit DeviceConfig(QWidget *parent = nullptr); ~DeviceConfig(); - static void ConfigureDevice(const _device_* device, int instance = 0); + static void ConfigureDevice(const _device_* device, int instance = 0, Settings* settings = nullptr); static QString DeviceName(const _device_* device, const char* internalName, int bus); private: Ui::DeviceConfig *ui; diff --git a/src/qt/qt_settings.cpp b/src/qt/qt_settings.cpp index c8312013a..25493ae2d 100644 --- a/src/qt/qt_settings.cpp +++ b/src/qt/qt_settings.cpp @@ -97,6 +97,7 @@ int SettingsModel::rowCount(const QModelIndex &parent) const { return pages.size(); } +Settings* Settings::settings = nullptr;; Settings::Settings(QWidget *parent) : QDialog(parent), ui(new Ui::Settings) @@ -142,6 +143,8 @@ Settings::Settings(QWidget *parent) : connect(ui->listView->selectionModel(), &QItemSelectionModel::currentChanged, this, [this](const QModelIndex ¤t, const QModelIndex &previous) { ui->stackedWidget->setCurrentIndex(current.row()); }); + + Settings::settings = this; } Settings::~Settings() @@ -149,6 +152,7 @@ Settings::~Settings() delete ui; delete Harddrives::busTrackClass; Harddrives::busTrackClass = nullptr; + Settings::settings = nullptr; } void Settings::save() { diff --git a/src/qt/qt_settings.hpp b/src/qt/qt_settings.hpp index 49137b8b7..7e0a78cfa 100644 --- a/src/qt/qt_settings.hpp +++ b/src/qt/qt_settings.hpp @@ -28,6 +28,7 @@ public: ~Settings(); void save(); + static Settings* settings; protected slots: void accept() override; diff --git a/src/qt/qt_settingsdisplay.cpp b/src/qt/qt_settingsdisplay.cpp index b3a2cfd0d..394033a47 100644 --- a/src/qt/qt_settingsdisplay.cpp +++ b/src/qt/qt_settingsdisplay.cpp @@ -93,11 +93,11 @@ void SettingsDisplay::onCurrentMachineChanged(int machineId) { void SettingsDisplay::on_pushButtonConfigure_clicked() { auto* device = video_card_getdevice(ui->comboBoxVideo->currentData().toInt()); - DeviceConfig::ConfigureDevice(device); + DeviceConfig::ConfigureDevice(device, 0, qobject_cast(Settings::settings)); } void SettingsDisplay::on_pushButtonConfigureVoodoo_clicked() { - DeviceConfig::ConfigureDevice(&voodoo_device); + DeviceConfig::ConfigureDevice(&voodoo_device, 0, qobject_cast(Settings::settings)); } void SettingsDisplay::on_comboBoxVideo_currentIndexChanged(int index) { diff --git a/src/qt/qt_settingsinput.cpp b/src/qt/qt_settingsinput.cpp index 120065a88..c735153d9 100644 --- a/src/qt/qt_settingsinput.cpp +++ b/src/qt/qt_settingsinput.cpp @@ -122,7 +122,7 @@ void SettingsInput::on_comboBoxJoystick_currentIndexChanged(int index) { void SettingsInput::on_pushButtonConfigureMouse_clicked() { int mouseId = ui->comboBoxMouse->currentData().toInt(); - DeviceConfig::ConfigureDevice(mouse_get_device(mouseId)); + DeviceConfig::ConfigureDevice(mouse_get_device(mouseId), 0, qobject_cast(Settings::settings)); } static int get_axis(JoystickConfiguration& jc, int axis, int joystick_nr) { diff --git a/src/qt/qt_settingsmachine.cpp b/src/qt/qt_settingsmachine.cpp index 37d66e9c0..7f402de1b 100644 --- a/src/qt/qt_settingsmachine.cpp +++ b/src/qt/qt_settingsmachine.cpp @@ -282,5 +282,5 @@ void SettingsMachine::on_pushButtonConfigure_clicked() { // deviceconfig_inst_open int machineId = ui->comboBoxMachine->currentData().toInt(); const auto* device = machine_getdevice(machineId); - DeviceConfig::ConfigureDevice(device); + DeviceConfig::ConfigureDevice(device, 0, qobject_cast(Settings::settings)); } diff --git a/src/qt/qt_settingsnetwork.cpp b/src/qt/qt_settingsnetwork.cpp index 836e3f83d..290fea43b 100644 --- a/src/qt/qt_settingsnetwork.cpp +++ b/src/qt/qt_settingsnetwork.cpp @@ -124,6 +124,6 @@ void SettingsNetwork::on_comboBoxAdapter_currentIndexChanged(int index) { } void SettingsNetwork::on_pushButtonConfigure_clicked() { - DeviceConfig::ConfigureDevice(network_card_getdevice(ui->comboBoxAdapter->currentData().toInt())); + DeviceConfig::ConfigureDevice(network_card_getdevice(ui->comboBoxAdapter->currentData().toInt()), 0, qobject_cast(Settings::settings)); } diff --git a/src/qt/qt_settingsotherperipherals.cpp b/src/qt/qt_settingsotherperipherals.cpp index ffa7391a8..ebf849d28 100644 --- a/src/qt/qt_settingsotherperipherals.cpp +++ b/src/qt/qt_settingsotherperipherals.cpp @@ -127,7 +127,7 @@ void SettingsOtherPeripherals::on_comboBoxRTC_currentIndexChanged(int index) { } void SettingsOtherPeripherals::on_pushButtonConfigureRTC_clicked() { - DeviceConfig::ConfigureDevice(isartc_get_device(ui->comboBoxRTC->currentData().toInt())); + DeviceConfig::ConfigureDevice(isartc_get_device(ui->comboBoxRTC->currentData().toInt()), 0, qobject_cast(Settings::settings)); } void SettingsOtherPeripherals::on_comboBoxCard1_currentIndexChanged(int index) { @@ -138,7 +138,7 @@ void SettingsOtherPeripherals::on_comboBoxCard1_currentIndexChanged(int index) { } void SettingsOtherPeripherals::on_pushButtonConfigureCard1_clicked() { - DeviceConfig::ConfigureDevice(isamem_get_device(ui->comboBoxCard1->currentData().toInt()), 1); + DeviceConfig::ConfigureDevice(isamem_get_device(ui->comboBoxCard1->currentData().toInt()), 1, qobject_cast(Settings::settings)); } void SettingsOtherPeripherals::on_comboBoxCard2_currentIndexChanged(int index) { @@ -149,7 +149,7 @@ void SettingsOtherPeripherals::on_comboBoxCard2_currentIndexChanged(int index) { } void SettingsOtherPeripherals::on_pushButtonConfigureCard2_clicked() { - DeviceConfig::ConfigureDevice(isamem_get_device(ui->comboBoxCard2->currentData().toInt()), 2); + DeviceConfig::ConfigureDevice(isamem_get_device(ui->comboBoxCard2->currentData().toInt()), 2, qobject_cast(Settings::settings)); } void SettingsOtherPeripherals::on_comboBoxCard3_currentIndexChanged(int index) { @@ -160,7 +160,7 @@ void SettingsOtherPeripherals::on_comboBoxCard3_currentIndexChanged(int index) { } void SettingsOtherPeripherals::on_pushButtonConfigureCard3_clicked() { - DeviceConfig::ConfigureDevice(isamem_get_device(ui->comboBoxCard3->currentData().toInt()), 3); + DeviceConfig::ConfigureDevice(isamem_get_device(ui->comboBoxCard3->currentData().toInt()), 3, qobject_cast(Settings::settings)); } void SettingsOtherPeripherals::on_comboBoxCard4_currentIndexChanged(int index) { @@ -171,5 +171,5 @@ void SettingsOtherPeripherals::on_comboBoxCard4_currentIndexChanged(int index) { } void SettingsOtherPeripherals::on_pushButtonConfigureCard4_clicked() { - DeviceConfig::ConfigureDevice(isamem_get_device(ui->comboBoxCard4->currentData().toInt()), 4); + DeviceConfig::ConfigureDevice(isamem_get_device(ui->comboBoxCard4->currentData().toInt()), 4, qobject_cast(Settings::settings)); } diff --git a/src/qt/qt_settingssound.cpp b/src/qt/qt_settingssound.cpp index 7277f4007..5cf1114b0 100644 --- a/src/qt/qt_settingssound.cpp +++ b/src/qt/qt_settingssound.cpp @@ -177,7 +177,7 @@ void SettingsSound::on_comboBoxSoundCard_currentIndexChanged(int index) { void SettingsSound::on_pushButtonConfigureSoundCard_clicked() { - DeviceConfig::ConfigureDevice(sound_card_getdevice(ui->comboBoxSoundCard->currentData().toInt())); + DeviceConfig::ConfigureDevice(sound_card_getdevice(ui->comboBoxSoundCard->currentData().toInt()), 0, qobject_cast(Settings::settings)); } void SettingsSound::on_comboBoxMidiOut_currentIndexChanged(int index) { @@ -190,7 +190,7 @@ void SettingsSound::on_comboBoxMidiOut_currentIndexChanged(int index) { } void SettingsSound::on_pushButtonConfigureMidiOut_clicked() { - DeviceConfig::ConfigureDevice(midi_device_getdevice(ui->comboBoxMidiOut->currentData().toInt())); + DeviceConfig::ConfigureDevice(midi_device_getdevice(ui->comboBoxMidiOut->currentData().toInt()), 0, qobject_cast(Settings::settings)); } void SettingsSound::on_comboBoxMidiIn_currentIndexChanged(int index) { @@ -203,7 +203,7 @@ void SettingsSound::on_comboBoxMidiIn_currentIndexChanged(int index) { } void SettingsSound::on_pushButtonConfigureMidiIn_clicked() { - DeviceConfig::ConfigureDevice(midi_in_device_getdevice(ui->comboBoxMidiIn->currentData().toInt())); + DeviceConfig::ConfigureDevice(midi_in_device_getdevice(ui->comboBoxMidiIn->currentData().toInt()), 0, qobject_cast(Settings::settings)); } void SettingsSound::on_checkBoxMPU401_stateChanged(int state) { @@ -224,20 +224,20 @@ void SettingsSound::on_checkBoxGUS_stateChanged(int state) { void SettingsSound::on_pushButtonConfigureMPU401_clicked() { if (machine_has_bus(machineId, MACHINE_BUS_MCA) > 0) { - DeviceConfig::ConfigureDevice(&mpu401_mca_device); + DeviceConfig::ConfigureDevice(&mpu401_mca_device, 0, qobject_cast(Settings::settings)); } else { - DeviceConfig::ConfigureDevice(&mpu401_device); + DeviceConfig::ConfigureDevice(&mpu401_device, 0, qobject_cast(Settings::settings)); } } void SettingsSound::on_pushButtonConfigureSSI2001_clicked() { - DeviceConfig::ConfigureDevice(&ssi2001_device); + DeviceConfig::ConfigureDevice(&ssi2001_device, 0, qobject_cast(Settings::settings)); } void SettingsSound::on_pushButtonConfigureCMS_clicked() { - DeviceConfig::ConfigureDevice(&cms_device); + DeviceConfig::ConfigureDevice(&cms_device, 0, qobject_cast(Settings::settings)); } void SettingsSound::on_pushButtonConfigureGUS_clicked() { - DeviceConfig::ConfigureDevice(&gus_device); + DeviceConfig::ConfigureDevice(&gus_device, 0, qobject_cast(Settings::settings)); } diff --git a/src/qt/qt_settingsstoragecontrollers.cpp b/src/qt/qt_settingsstoragecontrollers.cpp index 0b66cec0a..2427b5774 100644 --- a/src/qt/qt_settingsstoragecontrollers.cpp +++ b/src/qt/qt_settingsstoragecontrollers.cpp @@ -188,19 +188,19 @@ void SettingsStorageControllers::on_checkBoxQuaternaryIDE_stateChanged(int arg1) } void SettingsStorageControllers::on_pushButtonHD_clicked() { - DeviceConfig::ConfigureDevice(hdc_get_device(ui->comboBoxHD->currentData().toInt())); + DeviceConfig::ConfigureDevice(hdc_get_device(ui->comboBoxHD->currentData().toInt()), 0, qobject_cast(Settings::settings)); } void SettingsStorageControllers::on_pushButtonFD_clicked() { - DeviceConfig::ConfigureDevice(fdc_card_getdevice(ui->comboBoxFD->currentData().toInt())); + DeviceConfig::ConfigureDevice(fdc_card_getdevice(ui->comboBoxFD->currentData().toInt()), 0, qobject_cast(Settings::settings)); } void SettingsStorageControllers::on_pushButtonTertiaryIDE_clicked() { - DeviceConfig::ConfigureDevice(&ide_ter_device); + DeviceConfig::ConfigureDevice(&ide_ter_device, 0, qobject_cast(Settings::settings)); } void SettingsStorageControllers::on_pushButtonQuaternaryIDE_clicked() { - DeviceConfig::ConfigureDevice(&ide_qua_device); + DeviceConfig::ConfigureDevice(&ide_qua_device, 0, qobject_cast(Settings::settings)); } void SettingsStorageControllers::on_comboBoxSCSI1_currentIndexChanged(int index) { @@ -233,17 +233,17 @@ void SettingsStorageControllers::on_comboBoxSCSI4_currentIndexChanged(int index) void SettingsStorageControllers::on_pushButtonSCSI1_clicked() { - DeviceConfig::ConfigureDevice(scsi_card_getdevice(ui->comboBoxSCSI1->currentData().toInt()), 1); + DeviceConfig::ConfigureDevice(scsi_card_getdevice(ui->comboBoxSCSI1->currentData().toInt()), 1, qobject_cast(Settings::settings)); } void SettingsStorageControllers::on_pushButtonSCSI2_clicked() { - DeviceConfig::ConfigureDevice(scsi_card_getdevice(ui->comboBoxSCSI2->currentData().toInt()), 2); + DeviceConfig::ConfigureDevice(scsi_card_getdevice(ui->comboBoxSCSI2->currentData().toInt()), 2, qobject_cast(Settings::settings)); } void SettingsStorageControllers::on_pushButtonSCSI3_clicked() { - DeviceConfig::ConfigureDevice(scsi_card_getdevice(ui->comboBoxSCSI3->currentData().toInt()), 3); + DeviceConfig::ConfigureDevice(scsi_card_getdevice(ui->comboBoxSCSI3->currentData().toInt()), 3, qobject_cast(Settings::settings)); } void SettingsStorageControllers::on_pushButtonSCSI4_clicked() { - DeviceConfig::ConfigureDevice(scsi_card_getdevice(ui->comboBoxSCSI4->currentData().toInt()), 4); + DeviceConfig::ConfigureDevice(scsi_card_getdevice(ui->comboBoxSCSI4->currentData().toInt()), 4, qobject_cast(Settings::settings)); } diff --git a/src/qt/qt_styleoverride.cpp b/src/qt/qt_styleoverride.cpp index 20d45e94a..628f4c143 100644 --- a/src/qt/qt_styleoverride.cpp +++ b/src/qt/qt_styleoverride.cpp @@ -33,6 +33,12 @@ void StyleOverride::polish(QWidget* widget) { QProxyStyle::polish(widget); /* Disable title bar context help buttons globally as they are unused. */ - if (widget->isWindow()) + if (widget->isWindow()) { + if (widget->layout() && widget->minimumSize() == widget->maximumSize()) { + widget->setFixedSize(QSize(QWIDGETSIZE_MAX, QWIDGETSIZE_MAX)); + widget->layout()->setSizeConstraint(QLayout::SetFixedSize); + widget->setWindowFlag(Qt::MSWindowsFixedSizeDialogHint, true); + } widget->setWindowFlag(Qt::WindowContextHelpButtonHint, false); + } } diff --git a/src/qt/qt_styleoverride.hpp b/src/qt/qt_styleoverride.hpp index fa365d946..9a2223322 100644 --- a/src/qt/qt_styleoverride.hpp +++ b/src/qt/qt_styleoverride.hpp @@ -3,6 +3,7 @@ #include #include +#include class StyleOverride : public QProxyStyle { @@ -16,4 +17,4 @@ public: void polish(QWidget* widget) override; }; -#endif \ No newline at end of file +#endif From cbd7ae90d755043597df73a8bf3ead9bdd6fd8f6 Mon Sep 17 00:00:00 2001 From: Cacodemon345 Date: Wed, 9 Feb 2022 00:47:05 +0600 Subject: [PATCH 59/59] qt: Scale icons based on screen DPI --- src/qt/qt_mainwindow.cpp | 2 ++ 1 file changed, 2 insertions(+) diff --git a/src/qt/qt_mainwindow.cpp b/src/qt/qt_mainwindow.cpp index 6fe6a15b3..ea3942958 100644 --- a/src/qt/qt_mainwindow.cpp +++ b/src/qt/qt_mainwindow.cpp @@ -415,6 +415,8 @@ MainWindow::MainWindow(QWidget *parent) : }); } #endif + + ui->toolBar->setIconSize(QSize(16 * screen()->devicePixelRatio(), 16 * screen()->devicePixelRatio())); } void MainWindow::closeEvent(QCloseEvent *event) {