From f7bd0afbac3a1c956413f17bbbbdd1b766371411 Mon Sep 17 00:00:00 2001 From: Alexander Babikov <2708460+lemondrops@users.noreply.github.com> Date: Fri, 1 Sep 2023 06:44:42 +0500 Subject: [PATCH 1/3] Dev branch: Fix the GUS MAX's CS4231 using the wrong DMA channel --- src/sound/snd_gus.c | 15 +++++++++++++-- 1 file changed, 13 insertions(+), 2 deletions(-) diff --git a/src/sound/snd_gus.c b/src/sound/snd_gus.c index ce4947e3f..a68435815 100644 --- a/src/sound/snd_gus.c +++ b/src/sound/snd_gus.c @@ -111,6 +111,7 @@ typedef struct gus_t { int irq; int dma; int irq_midi; + int dma2; uint16_t base; int latch_enable; @@ -600,9 +601,17 @@ writegus(uint16_t addr, uint8_t val, void *priv) gus->sb_nmi = val & 0x80; } else { gus->dma = gus_dmas[val & 7]; + + if (val & 0x40) { + if (gus->dma == -1) + gus->dma = gus->dma2 = gus_dmas[(val >> 3) & 7]; + else + gus->dma2 = gus->dma; + } else + gus->dma2 = gus_dmas[(val >> 3) & 7]; #if defined(DEV_BRANCH) && defined(USE_GUSMAX) if (gus->type == GUS_MAX) - ad1848_setdma(&gus->ad1848, gus->dma); + ad1848_setdma(&gus->ad1848, gus->dma2); #endif } break; @@ -664,7 +673,9 @@ writegus(uint16_t addr, uint8_t val, void *priv) #if defined(DEV_BRANCH) && defined(USE_GUSMAX) if (gus->type == GUS_MAX) { if (gus->dma >= 4) - val |= 0x30; + val |= 0x10; + if (gus->dma2 >= 4) + val |= 0x20; gus->max_ctrl = (val >> 6) & 1; if (val & 0x40) { if ((val & 0xF) != ((addr >> 4) & 0xF)) { From 363e48eaf55a24b6057b2e0056e3a15fa10ec6ac Mon Sep 17 00:00:00 2001 From: Alexander Babikov <2708460+lemondrops@users.noreply.github.com> Date: Thu, 14 Sep 2023 23:20:58 +0500 Subject: [PATCH 2/3] qt: Disable the Discord integration menu item if the Discord library isn't loaded --- 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 1fb44f773..62a79c30d 100644 --- a/src/qt/qt_mainwindow.cpp +++ b/src/qt/qt_mainwindow.cpp @@ -333,6 +333,8 @@ MainWindow::MainWindow(QWidget *parent) #ifndef DISCORD ui->actionEnable_Discord_integration->setVisible(false); +#else + ui->actionEnable_Discord_integration->setEnabled(discord_loaded); #endif #if defined Q_OS_WINDOWS || defined Q_OS_MACOS From 5ce223e46998eeb25bcd99680a72e6779c238245 Mon Sep 17 00:00:00 2001 From: Alexander Babikov <2708460+lemondrops@users.noreply.github.com> Date: Fri, 15 Sep 2023 00:40:57 +0500 Subject: [PATCH 3/3] Add the SOFTFLOAT_ONLY flag to the Quadtel 286 clone Closes #2274 --- src/machine/machine_table.c | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/machine/machine_table.c b/src/machine/machine_table.c index 5ce4b0795..6df37abe9 100644 --- a/src/machine/machine_table.c +++ b/src/machine/machine_table.c @@ -3067,7 +3067,7 @@ const machine_t machines[] = { .max_multi = 0 }, .bus_flags = MACHINE_AT, - .flags = MACHINE_FLAGS_NONE, + .flags = MACHINE_SOFTFLOAT_ONLY, .ram = { .min = 512, .max = 16384,