various keyboard related fixes

This commit is contained in:
FeralChild64 committed 2020-12-04 01:07:18 +01:00
1 parent c4ed858e5f
commit 4a84316ecd
8 files changed
+29 -12

No files matched your search

+5
View File
@@ -7,6 +7,11 @@
cmd_rem:
lda LSTX
jsr print_hex_byte
jmp cmd_rem
; XXX do we need these PHA's?
pha
-1
View File
@@ -11,7 +11,6 @@
;; #ALIAS# scnkey_buffer_full = KERNAL_0.scnkey_buffer_full
;; #ALIAS# scnkey_toggle_if_needed = KERNAL_0.scnkey_toggle_if_needed
;; #ALIAS# kb_matrix_bucky_shflag = KERNAL_0.kb_matrix_bucky_shflag
;; #ALIAS# kb_matrix_alwaysrepeat = KERNAL_0.kb_matrix_alwaysrepeat
;; #ALIAS# __kb_matrix_alwaysrepeat_end = KERNAL_0.__kb_matrix_alwaysrepeat_end
+2
View File
@@ -0,0 +1,2 @@
This routine is pointed by a vector - it has to be available at the same location as in the original ROM,
otherwise programs frozem with (for example) Action Replay might crash after loading.
+1 -5
View File
@@ -61,11 +61,7 @@ kb_matrix_bucky_shflag: ; mask to be ORed to SHFLAG to mark key status
!byte KEY_FLAG_SHIFT
!byte KEY_FLAG_VENDOR
!byte KEY_FLAG_CTRL
!ifdef CONFIG_MB_M65 {
!byte KEY_FLAG_ALT
!byte KEY_FLAG_NO_SCRL
!byte KEY_FLAG_CAPSL
} else ifdef CONFIG_KEYBOARD_C128 {
!ifdef CONFIG_KEYBOARD_C128 {
!byte KEY_FLAG_ALT
!byte KEY_FLAG_NO_SCRL
}
@@ -0,0 +1,14 @@
;; #LAYOUT# M65 KERNAL_C #TAKE
;; #LAYOUT# * * #IGNORE
kb_matrix_bucky_shflag: ; mask to be ORed to SHFLAG to mark key status
!byte KEY_FLAG_SHIFT
!byte KEY_FLAG_SHIFT
!byte KEY_FLAG_CTRL
!byte KEY_FLAG_VENDOR
!byte KEY_FLAG_ALT
!byte KEY_FLAG_NO_SCRL
!byte KEY_FLAG_CAPSL
+6 -6
View File
@@ -169,11 +169,11 @@ m65_scnkey_next_1:
; No new key - check if the last one is still pressed
ldy LSTX
cmp M65_KB_PRESSED+0
cpy M65_KB_PRESSED+0
beq m65_scnkey_got_key_skip_cmp
cmp M65_KB_PRESSED+1
cpy M65_KB_PRESSED+1
beq m65_scnkey_got_key_skip_cmp
cmp M65_KB_PRESSED+2
cpy M65_KB_PRESSED+2
beq m65_scnkey_got_key_skip_cmp
; Nope, previous key is not pressed
@@ -331,11 +331,11 @@ m65_scnkey_compare_with_old:
; Compare key index with the ones from previous scan
cmp M65_KB_PRESSED+0
cmp M65_KB_PRESSED_OLD+0
beq @1
cmp M65_KB_PRESSED+1
cmp M65_KB_PRESSED_OLD+1
beq @1
cmp M65_KB_PRESSED+2
cmp M65_KB_PRESSED_OLD+2
@1:
rts