mirror of
https://github.com/ksherlock/itty-bitty-vtty.git
synced 2025-02-07 22:30:34 +00:00
print the cancel character for ^X and ^Z.
based on testing, this applies to vt52 and vt100. use the current x pos to choose between $56 and $57 (mouse text checkerboard) so multiple characters look pretty.
This commit is contained in:
parent
4eb578b94e
commit
186d71de47
@ -109,8 +109,11 @@ xoff
|
||||
rts
|
||||
can
|
||||
sub
|
||||
ext draw_char_raw
|
||||
* cancel esc sequence and display error character
|
||||
stz state
|
||||
lda #$57 ; mouse text block
|
||||
jmp draw_char_raw
|
||||
rts
|
||||
|
||||
esc
|
||||
|
13
vt100.main.S
13
vt100.main.S
@ -214,7 +214,7 @@ vt100
|
||||
ext vt100_esc,vt100_csi,vt100_csi_2
|
||||
ext vt100_esc_pound,vt100_esc_lparen,vt100_esc_rparen
|
||||
ext vt100_esc_bad,vt100_csi_bad
|
||||
ext draw_char
|
||||
ext draw_char,draw_char_raw
|
||||
|
||||
dw draw_char
|
||||
dw vt52_esc
|
||||
@ -290,7 +290,16 @@ ctrl_18
|
||||
ctrl_1a
|
||||
* vt100 - abort current escape sequence
|
||||
* and display error character.
|
||||
* TODO - display error character (mouse text)
|
||||
*
|
||||
* based on testing, this applies to vt52 and vt100;
|
||||
* cancel character is drawn regardless of current state.
|
||||
|
||||
lda x
|
||||
and #$1
|
||||
ora #$56 ; $56 or $57
|
||||
* lda #$57
|
||||
jsr draw_char_raw
|
||||
|
||||
bit DECANM
|
||||
bpl :vt52
|
||||
lda #st_vt100
|
||||
|
@ -236,16 +236,20 @@ draw_char ent
|
||||
bpl :normal
|
||||
; invert it.
|
||||
cmp #$60 ; `, first lowercase
|
||||
bge :draw ; nothing to do for lowercase
|
||||
bge draw_char_raw ; nothing to do for lowercase
|
||||
cmp #$40 ; @, first uppercase
|
||||
bcc :draw ; nothing to do for special
|
||||
bcc draw_char_raw ; nothing to do for special
|
||||
|
||||
:uc and #%10111111 ; ~ $40
|
||||
bra :draw
|
||||
bra draw_char_raw
|
||||
|
||||
|
||||
:normal ora #$80
|
||||
:draw
|
||||
|
||||
draw_char_raw ent
|
||||
* entry point for writing character to screen w/o processing it
|
||||
|
||||
|
||||
* sta cursor_saved_char
|
||||
|
||||
* with DECAWM, x = 79, will CR LF (with scroll) before drawing character.
|
||||
@ -280,8 +284,6 @@ draw_char ent
|
||||
rts
|
||||
|
||||
|
||||
|
||||
|
||||
:wrap
|
||||
stz x
|
||||
ldy y
|
||||
|
Loading…
x
Reference in New Issue
Block a user