]> git.unchartedbackwaters.co.uk Git - francis/winuae.git/commitdiff
Scale MM "red" dongle support.
authorToni Wilen <twilen@winuae.net>
Tue, 24 Sep 2019 13:35:44 +0000 (16:35 +0300)
committerToni Wilen <twilen@winuae.net>
Tue, 24 Sep 2019 13:35:44 +0000 (16:35 +0300)
dongle.cpp

index 76929ff2cce22ff9b20df03ccb40e9a51a3148e0..85609d28c26d49bd0ebe7c5fb01336946dccf4f4 100644 (file)
@@ -91,7 +91,7 @@ Scala MM (Red)
 
 - 10uF Capacitor between fire button and second button pin
 - Drives firebutton high, then low
-- Polls POTGOR second button pin, it must go low between about ?? DMA cycles.
+- Polls POTGOR second button pin, it must go low between about 350000-540000 DMA cycles.
 
 */
 
@@ -243,14 +243,18 @@ uae_u16 dongle_potgor (uae_u16 val)
                break;
        case SCALA_RED:
        case SCALA_GREEN:
-               if ((dflag & 1) || get_cycles() >= cycles + CYCLE_UNIT * 80000 * (currprefs.dongle == SCALA_RED ? 21 : 1)) {
-                       if (dflag & 0x80)
+               {
+                       uae_u8 mode = 0x80;
+                       if ((dflag & 1) || get_cycles() >= cycles + CYCLE_UNIT * (currprefs.dongle == SCALA_RED ? 450000 : 80000)) {
+                               mode = 0x00;
+                               dflag |= 1;
+                       }
+                       if (((dflag & 0x80) ^ mode) == 0x80)
                                val |= 1 << 14;
                        else
                                val &= ~(1 << 14);
-                       dflag |= 1;
+                       break;
                }
-               break;
        }
        return val;
 }