--- uae/src/keybuf.c 2018/04/24 16:58:27 1.1.1.6 +++ uae/src/keybuf.c 2018/04/24 17:12:35 1.1.1.7 @@ -52,11 +52,11 @@ void getjoystate(int nr, unsigned int *s if (left) top = !top; if (right) bot = !bot; *st = bot | (right << 1) | (top << 8) | (left << 9); - *button = fake[4]; - if (! fake[4] && fake[5] && (n_frames & 1)) - *button = 1; + *button = fake[4] | (!!fake[5] << 2); } else read_joystick (nr, st, button); + if ((*button & 5) == 4 && (n_frames & 1)) + *button |= 1; } /* Not static so the DOS code can mess with them */