]> git.unchartedbackwaters.co.uk Git - francis/winuae.git/commitdiff
Allow AUDxPER=1
authorToni Wilen <twilen@winuae.net>
Wed, 30 Aug 2023 17:47:14 +0000 (20:47 +0300)
committerToni Wilen <twilen@winuae.net>
Wed, 30 Aug 2023 17:47:14 +0000 (20:47 +0300)
audio.cpp

index 4aad7f2b3f562dea57695f8b17306bf319b0ed2a..7127f51fdfe5adb695e9abd5efd2ea9fefd00b20 100644 (file)
--- a/audio.cpp
+++ b/audio.cpp
@@ -54,7 +54,7 @@
 #define TEST_MISSED_DMA 0
 #define TEST_MANUAL_AUDIO 0
 
-#define PERIOD_MIN 4
+#define PERIOD_MIN 1
 #define PERIOD_MIN_NONCE 60
 
 #define PERIOD_LOW 124
@@ -1570,10 +1570,19 @@ static void loadperm1(int nr)
 {
        struct audio_channel_data *cdp = audio_channel + nr;
 
-       if (cdp->per > CYCLE_UNIT) {
+       if (cdp->per == CYCLE_UNIT) {
+               cdp->evtime = CYCLE_UNIT;
+               if (isirq(nr)) {
+                       cdp->irqcheck = 1;
+               } else {
+                       cdp->irqcheck = -1;
+               }
+       } else if (cdp->per > CYCLE_UNIT) {
                cdp->evtime = cdp->per - 1 * CYCLE_UNIT;
+               cdp->state |= 0x10;
        } else {
-               cdp->evtime = 65536 * CYCLE_UNIT + cdp->per;
+               cdp->evtime = 65536 * CYCLE_UNIT;
+               cdp->state |= 0x10;
        }
 #if DEBUG_AUDIO2 > 0
        if (debugchannel(nr)) {
@@ -1816,7 +1825,6 @@ static bool audio_state_channel2 (int nr, bool perfin)
                        if (chan_ena) {
                                loadper(nr);
                        } else {
-                               cdp->state |= 0x10;
                                loadperm1(nr);
                        }
                        cdp->pbufldl = false;