From 91f2dd02fdcf0f1811fc2624d6b9e92e00a1f20b Mon Sep 17 00:00:00 2001 From: Paul Gardner-Stephen Date: Sat, 20 Apr 2019 02:35:39 +0930 Subject: [PATCH] fix bucky key detection --- c64/kernal/scan_keyboard.s | 14 +++++++++----- 1 file changed, 9 insertions(+), 5 deletions(-) diff --git a/c64/kernal/scan_keyboard.s b/c64/kernal/scan_keyboard.s index 7cedd60a..6b7bd3af 100644 --- a/c64/kernal/scan_keyboard.s +++ b/c64/kernal/scan_keyboard.s @@ -98,7 +98,7 @@ scan_keyboard: KeyInRow: ldy #7 * - asl + ror bcs nokey jsr KeyFound nokey: @@ -148,8 +148,12 @@ OverFlow: ;; // Exit Routine for: No Activity NoActivityDetected: - ;; // Exit With A = #$01, Carry Set & Reset BufferOld. - + ;; So cancel all bucky keys + lda key_bucky_state + sta key_last_bucky_state + lda #$00 + sta key_bucky_state + stx BufferOld stx BufferOld+1 stx BufferOld+2 @@ -254,8 +258,8 @@ skip0: lda ScanResult+6 eor #$ff and #%10000000 ;// Left Shift - asl - asl + rol + rol and #$01 ora key_bucky_state sta key_bucky_state