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
|
rts
|
||||||
can
|
can
|
||||||
sub
|
sub
|
||||||
|
ext draw_char_raw
|
||||||
* cancel esc sequence and display error character
|
* cancel esc sequence and display error character
|
||||||
stz state
|
stz state
|
||||||
|
lda #$57 ; mouse text block
|
||||||
|
jmp draw_char_raw
|
||||||
rts
|
rts
|
||||||
|
|
||||||
esc
|
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,vt100_csi,vt100_csi_2
|
||||||
ext vt100_esc_pound,vt100_esc_lparen,vt100_esc_rparen
|
ext vt100_esc_pound,vt100_esc_lparen,vt100_esc_rparen
|
||||||
ext vt100_esc_bad,vt100_csi_bad
|
ext vt100_esc_bad,vt100_csi_bad
|
||||||
ext draw_char
|
ext draw_char,draw_char_raw
|
||||||
|
|
||||||
dw draw_char
|
dw draw_char
|
||||||
dw vt52_esc
|
dw vt52_esc
|
||||||
@ -290,7 +290,16 @@ ctrl_18
|
|||||||
ctrl_1a
|
ctrl_1a
|
||||||
* vt100 - abort current escape sequence
|
* vt100 - abort current escape sequence
|
||||||
* and display error character.
|
* 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
|
bit DECANM
|
||||||
bpl :vt52
|
bpl :vt52
|
||||||
lda #st_vt100
|
lda #st_vt100
|
||||||
|
@ -236,16 +236,20 @@ draw_char ent
|
|||||||
bpl :normal
|
bpl :normal
|
||||||
; invert it.
|
; invert it.
|
||||||
cmp #$60 ; `, first lowercase
|
cmp #$60 ; `, first lowercase
|
||||||
bge :draw ; nothing to do for lowercase
|
bge draw_char_raw ; nothing to do for lowercase
|
||||||
cmp #$40 ; @, first uppercase
|
cmp #$40 ; @, first uppercase
|
||||||
bcc :draw ; nothing to do for special
|
bcc draw_char_raw ; nothing to do for special
|
||||||
|
|
||||||
:uc and #%10111111 ; ~ $40
|
:uc and #%10111111 ; ~ $40
|
||||||
bra :draw
|
bra draw_char_raw
|
||||||
|
|
||||||
|
|
||||||
:normal ora #$80
|
:normal ora #$80
|
||||||
:draw
|
|
||||||
|
draw_char_raw ent
|
||||||
|
* entry point for writing character to screen w/o processing it
|
||||||
|
|
||||||
|
|
||||||
* sta cursor_saved_char
|
* sta cursor_saved_char
|
||||||
|
|
||||||
* with DECAWM, x = 79, will CR LF (with scroll) before drawing character.
|
* with DECAWM, x = 79, will CR LF (with scroll) before drawing character.
|
||||||
@ -280,8 +284,6 @@ draw_char ent
|
|||||||
rts
|
rts
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
:wrap
|
:wrap
|
||||||
stz x
|
stz x
|
||||||
ldy y
|
ldy y
|
||||||
|
Loading…
x
Reference in New Issue
Block a user