workaround for shifted escape sequences

This commit is contained in:
FeralChild64 authored and FeralChild64 committed 2021-01-26 00:03:07 +01:00
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
txa
; XXX cmp #$BD ; SHIFT + '@'
; XXX beq m65_chrout_esc_AT
sec
sbc #$30 ; '0'
cmp #$2E
bcs m65_chrout_esc_done
sbc #$40 ; '@'
cmp #$1E
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
tax
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:
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:
+nop
m65_chrout_esc_A:
@@ -113,22 +113,6 @@ m65_chrout_screen_jumptable:
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_A
!word m65_chrout_esc_B