more cleanups and granularity improvements
This commit is contained in:
1 parent
d62f193c88
commit
9b2638f739
7 files changed
+109
-54
No files matched your search
@@ -34,11 +34,18 @@ chrout_try_jumptable_loop_noquote:
|
||||
bne !+
|
||||
|
||||
// Found, perform a jump to subroutine
|
||||
#if !HAS_OPCODES_65C02_XXX_DISABLED
|
||||
lda chrout_screen_jumptable_hi, x
|
||||
pha
|
||||
lda chrout_screen_jumptable_lo, x
|
||||
pha
|
||||
rts
|
||||
#else
|
||||
txa
|
||||
asl
|
||||
tax
|
||||
jmp (chrout_screen_jumptable, x) // XXX whyy Kick Assembler does not accept this?
|
||||
#endif
|
||||
!:
|
||||
dex
|
||||
bpl chrout_try_jumptable_loop
|
||||
|
||||
@@ -1,6 +1,6 @@
|
||||
|
||||
//
|
||||
// Jumptable for screen control coldes support. To improve performance, should be sorted
|
||||
// Jumptable for screen control codes support. To improve performance, should be sorted
|
||||
// starting from the least probable routine.
|
||||
//
|
||||
|
||||
@@ -36,6 +36,8 @@ __chrout_screen_jumptable_quote_guard:
|
||||
__chrout_screen_jumptable_codes_end:
|
||||
|
||||
|
||||
#if !HAS_OPCODES_65C02_XXX_DISABLED
|
||||
|
||||
chrout_screen_jumptable_lo:
|
||||
|
||||
.byte <(chrout_screen_CLR - 1)
|
||||
@@ -85,3 +87,32 @@ chrout_screen_jumptable_hi:
|
||||
.byte >(chrout_screen_INS - 1)
|
||||
.byte >(chrout_screen_DEL - 1)
|
||||
.byte >(chrout_screen_RETURN - 1)
|
||||
|
||||
#else
|
||||
|
||||
chrout_screen_jumptable:
|
||||
|
||||
.word chrout_screen_CLR
|
||||
.word chrout_screen_HOME
|
||||
.word chrout_screen_SHIFT_OFF
|
||||
.word chrout_screen_SHIFT_ON
|
||||
.word chrout_screen_TXT
|
||||
.word chrout_screen_GFX
|
||||
.word chrout_screen_RVS_OFF
|
||||
.word chrout_screen_RVS_ON
|
||||
.word chrout_screen_CRSR_RIGHT
|
||||
.word chrout_screen_CRSR_LEFT
|
||||
.word chrout_screen_CRSR_DOWN
|
||||
.word chrout_screen_CRSR_UP
|
||||
#if CONFIG_EDIT_STOPQUOTE
|
||||
.word chrout_screen_STOP
|
||||
#endif
|
||||
#if CONFIG_EDIT_TABULATORS
|
||||
.word chrout_screen_TAB_BW
|
||||
.word chrout_screen_TAB_FW
|
||||
#endif
|
||||
.word chrout_screen_INS
|
||||
.word chrout_screen_DEL
|
||||
.word chrout_screen_RETURN
|
||||
|
||||
#endif
|
||||
Reference in new issue
Block a user