workaround for shifted escape sequences
This commit is contained in:
1 parent
5d9201eb80
commit
6b8ef20dc0
2 files changed
+21
-42
No files matched your search
@@ -12,15 +12,30 @@ m65_chrout_screen_escmode:
|
|||||||
; Select subroutine
|
; Select subroutine
|
||||||
|
|
||||||
txa
|
txa
|
||||||
; XXX cmp #$BD ; SHIFT + '@'
|
|
||||||
; XXX beq m65_chrout_esc_AT
|
|
||||||
sec
|
sec
|
||||||
sbc #$30 ; '0'
|
sbc #$40 ; '@'
|
||||||
cmp #$2E
|
cmp #$1E
|
||||||
bcs m65_chrout_esc_done
|
bcc @1
|
||||||
|
|
||||||
; XXX add workaround for SHIFT+key
|
; Check for shifted characters
|
||||||
|
|
||||||
|
sec
|
||||||
|
sbc #$20
|
||||||
|
beq m65_chrout_esc_done ; $60 - character not supported here
|
||||||
|
cmp #$1B
|
||||||
|
bcc @1
|
||||||
|
|
||||||
|
|
||||||
|
; Check for fgew special shifted characters
|
||||||
|
cpx #$3A ; colon
|
||||||
|
beq m65_chrout_esc_LBR
|
||||||
|
cpx #$3B ; semicolon
|
||||||
|
beq m65_chrout_esc_RBR
|
||||||
|
cpx #$DB
|
||||||
|
beq m65_chrout_esc_AT
|
||||||
|
|
||||||
|
bra m65_chrout_esc_done
|
||||||
|
@1:
|
||||||
asl
|
asl
|
||||||
tax
|
tax
|
||||||
jmp (m65_chrout_screen_jumptable_escape, x)
|
jmp (m65_chrout_screen_jumptable_escape, x)
|
||||||
@@ -80,26 +95,6 @@ m65_chrout_esc_X: ; cycle through available screen modes
|
|||||||
|
|
||||||
; XXX: implement screen routines below:
|
; XXX: implement screen routines below:
|
||||||
|
|
||||||
m65_chrout_esc_0:
|
|
||||||
+nop
|
|
||||||
m65_chrout_esc_1:
|
|
||||||
+nop
|
|
||||||
m65_chrout_esc_2:
|
|
||||||
+nop
|
|
||||||
m65_chrout_esc_3:
|
|
||||||
+nop
|
|
||||||
m65_chrout_esc_4:
|
|
||||||
+nop
|
|
||||||
m65_chrout_esc_5:
|
|
||||||
+nop
|
|
||||||
m65_chrout_esc_6:
|
|
||||||
+nop
|
|
||||||
m65_chrout_esc_7:
|
|
||||||
+nop
|
|
||||||
m65_chrout_esc_8:
|
|
||||||
+nop
|
|
||||||
m65_chrout_esc_9:
|
|
||||||
+nop
|
|
||||||
m65_chrout_esc_AT:
|
m65_chrout_esc_AT:
|
||||||
+nop
|
+nop
|
||||||
m65_chrout_esc_A:
|
m65_chrout_esc_A:
|
||||||
|
|||||||
@@ -113,22 +113,6 @@ m65_chrout_screen_jumptable:
|
|||||||
|
|
||||||
m65_chrout_screen_jumptable_escape:
|
m65_chrout_screen_jumptable_escape:
|
||||||
|
|
||||||
!word m65_chrout_esc_0
|
|
||||||
!word m65_chrout_esc_1
|
|
||||||
!word m65_chrout_esc_2
|
|
||||||
!word m65_chrout_esc_3
|
|
||||||
!word m65_chrout_esc_4
|
|
||||||
!word m65_chrout_esc_5
|
|
||||||
!word m65_chrout_esc_6
|
|
||||||
!word m65_chrout_esc_7
|
|
||||||
!word m65_chrout_esc_8
|
|
||||||
!word m65_chrout_esc_9
|
|
||||||
!word m65_chrout_esc_LBR ; ':'
|
|
||||||
!word m65_chrout_esc_RBR ; ';'
|
|
||||||
!word m65_chrout_screen_done ; '<'
|
|
||||||
!word m65_chrout_screen_done ; '='
|
|
||||||
!word m65_chrout_screen_done ; '>'
|
|
||||||
!word m65_chrout_screen_done ; '?'
|
|
||||||
!word m65_chrout_esc_AT
|
!word m65_chrout_esc_AT
|
||||||
!word m65_chrout_esc_A
|
!word m65_chrout_esc_A
|
||||||
!word m65_chrout_esc_B
|
!word m65_chrout_esc_B
|
||||||
|
|||||||
Reference in new issue
Block a user