From 81ac0d786e0caa469a26f9f64d1a8e68ec397333 Mon Sep 17 00:00:00 2001 From: Alexander Babikov Date: Wed, 30 Jul 2025 16:22:26 +0500 Subject: [PATCH 1/3] Fix MKE bus channels 2 and 3 not being usable --- src/config.c | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/config.c b/src/config.c index ba02760ad..6801670d2 100644 --- a/src/config.c +++ b/src/config.c @@ -1396,7 +1396,7 @@ load_floppy_and_cdrom_drives(void) cdrom_set_type(c, cdrom_get_from_internal_name("cr563_075")); sprintf(temp, "cdrom_%02i_mke_channel", c + 1); - cdrom[c].mke_channel = !!ini_section_get_int(cat, temp, c & 3); + cdrom[c].mke_channel = ini_section_get_int(cat, temp, c & 3); if (cdrom[c].mke_channel > 3) cdrom[c].mke_channel = 3; From 9204c1b6d87f72e720eea99c0ea4e1a20fa555a1 Mon Sep 17 00:00:00 2001 From: Alexander Babikov Date: Wed, 30 Jul 2025 16:23:53 +0500 Subject: [PATCH 2/3] Qt: Explicitly set CD-ROM speed on a bus change --- src/qt/qt_settingsfloppycdrom.cpp | 14 ++++++++++++++ 1 file changed, 14 insertions(+) diff --git a/src/qt/qt_settingsfloppycdrom.cpp b/src/qt/qt_settingsfloppycdrom.cpp index cb8b15018..c47d6f772 100644 --- a/src/qt/qt_settingsfloppycdrom.cpp +++ b/src/qt/qt_settingsfloppycdrom.cpp @@ -414,6 +414,20 @@ SettingsFloppyCDROM::on_comboBoxBus_activated(int) setCDROMType(ui->tableViewCDROM->model(), ui->tableViewCDROM->selectionModel()->currentIndex(), ui->comboBoxCDROMType->currentData().toUInt()); + + int speed = cdrom_get_speed(ui->comboBoxCDROMType->currentData().toUInt()); + if ((speed == -1) && (bus_type != CDROM_BUS_MITSUMI)) { + speed = ui->comboBoxSpeed->currentData().toUInt(); + ui->comboBoxSpeed->setEnabled(bus_type != CDROM_BUS_DISABLED); + } else { + ui->comboBoxSpeed->setEnabled(false); + if (bus_type == CDROM_BUS_MITSUMI) // temp hack + speed = 0; + } + ui->comboBoxSpeed->setCurrentIndex(speed == 0 ? 7 : speed - 1); + setCDROMSpeed(ui->tableViewCDROM->model(), + ui->tableViewCDROM->selectionModel()->currentIndex(), + speed); emit cdromChannelChanged(); } From 72a5c0add48cd513cf344978236ef9c5ccc97bbd Mon Sep 17 00:00:00 2001 From: Alexander Babikov Date: Wed, 30 Jul 2025 16:24:19 +0500 Subject: [PATCH 3/3] Qt: Disable the CD-ROM speed dropdown on disabled entries --- src/qt/qt_settingsfloppycdrom.cpp | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/qt/qt_settingsfloppycdrom.cpp b/src/qt/qt_settingsfloppycdrom.cpp index c47d6f772..f597aebe6 100644 --- a/src/qt/qt_settingsfloppycdrom.cpp +++ b/src/qt/qt_settingsfloppycdrom.cpp @@ -277,7 +277,7 @@ SettingsFloppyCDROM::onCDROMRowChanged(const QModelIndex ¤t) int speed = cdrom_get_speed(type); if (speed == -1) { speed = current.siblingAtColumn(1).data(Qt::UserRole).toUInt(); - ui->comboBoxSpeed->setEnabled(true); + ui->comboBoxSpeed->setEnabled((bus == CDROM_BUS_DISABLED) ? false : true); } else ui->comboBoxSpeed->setEnabled(false); ui->comboBoxSpeed->setCurrentIndex(speed == 0 ? 7 : speed - 1);