]> git.unchartedbackwaters.co.uk Git - francis/winuae.git/commitdiff
Removed 91078-01 CIA bug behavior from joystick fire/mouse left button handling.
authorToni Wilen <twilen@winuae.net>
Mon, 4 Dec 2017 18:10:59 +0000 (20:10 +0200)
committerToni Wilen <twilen@winuae.net>
Mon, 4 Dec 2017 18:10:59 +0000 (20:10 +0200)
inputdevice.cpp

index d84fff022c7cd22baa9a17f575f0ee94a8980f06..562f889eaad4af14da9c2e842bbacc6d4f4184b3 100644 (file)
@@ -3440,6 +3440,10 @@ uae_u8 handle_joystick_buttons (uae_u8 pra, uae_u8 dra)
                        if (!cd32padmode (p5dir, p5dat)) {
                                if (getbuttonstate (i, JOYBUTTON_CD32_RED) || getbuttonstate (i, JOYBUTTON_1))
                                        but &= ~mask;
+                               // always zero if output=1 and data=0
+                               if ((dra & mask) && !(pra & mask)) {
+                                       but &= ~mask;
+                               }
                        }
                } else {
                        if (!getbuttonstate (i, JOYBUTTON_1))
@@ -3449,8 +3453,10 @@ uae_u8 handle_joystick_buttons (uae_u8 pra, uae_u8 dra)
                                if (uaerand () & 1)
                                        but |= mask;
                        }
-                       if (dra & mask)
-                               but = (but & ~mask) | (pra & mask);
+                       // always zero if output=1 and data=0
+                       if ((dra & mask) && !(pra & mask)) {
+                               but &= ~mask;
+                       }
                }
        }