disabled function keys for non-direct mode and for MONITOR

This commit is contained in:
FeralChild64 authored and FeralChild64 committed 2021-01-26 00:03:07 +01:00
1 parent d6f0495339
commit a67b8fec1e
3 files changed
+20 -9

No files matched your search

+13 -7
View File
@@ -13,33 +13,39 @@
chrin_programmable_keys:
; Check if in direct mode
ldx CURLIN+1
inx
bne @2
; Check if the key is programmable
ldx #(__programmable_keys_codes_end - programmable_keys_codes - 1)
@1:
cmp programmable_keys_codes, x
beq @2
beq @3
dex
bpl @1
; This is not a programmable key
@2:
sec
rts
@2:
@3:
; .X contains index of the key code, we need offset to key string instead
lda programmable_keys_offsets, x
tax
; Print all the characters assigned to key
@3:
@4:
lda programmable_keys_strings, x
beq @4
beq @5
jsr CHROUT ; our implementation preserves .X too
inx
bne @3 ; jumps always
@4:
bne @4 ; jumps always
@5:
clc
rts
+5 -1
View File
@@ -59,7 +59,11 @@
!addr Op_Ix = $2E ; type of constant
!addr Op_Len = $2F ; length of operand
; $30-$62 - free space, unused for now
; $30-$39 - free space, unused for now
!addr Key_Direct = $3A ; same as CURLIN+1
; $3B-$62 - free space, unused for now
!addr Byte_TMP = $63 ; temporary byte
!addr Long_TMP = $64 ; temporary pointer, for fetching/storing memory content; has to be the same as Long__TMP in Kernal
+2 -1
View File
@@ -43,7 +43,8 @@ Mon_Start:
TSX
STX SPL
STX SP_Storage
LDA #$c0
LDA #$C0
STA Key_Direct ; to disable function keys
JSR SETMSG
CLI
+NOP