mirror of
https://github.com/ksherlock/itty-bitty-vtty.git
synced 2024-11-21 20:30:56 +00:00
186d71de47
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.
122 lines
1.4 KiB
ArmAsm
122 lines
1.4 KiB
ArmAsm
|
|
lst off
|
|
cas se
|
|
rel
|
|
xc
|
|
xc
|
|
|
|
use vt.equ
|
|
|
|
|
|
*control chars
|
|
ext draw_char,update_cursor
|
|
|
|
control ent
|
|
|
|
asl
|
|
tax
|
|
jmp (:table,x)
|
|
|
|
:table
|
|
dw :rts ; ^@
|
|
dw :rts ; ^A
|
|
dw :rts ; ^B
|
|
dw :rts ; ^C
|
|
dw :rts ; ^D
|
|
dw enq ; ^E
|
|
dw :rts ; ^F
|
|
dw bel ; ^G
|
|
dw bs ; ^H
|
|
dw tab ; ^I
|
|
dw lf ; ^J
|
|
dw vt ; ^K
|
|
dw ff ; ^L
|
|
dw cr ; ^M
|
|
dw so ; ^N
|
|
dw si ; ^O
|
|
dw :rts ; ^P
|
|
dw xon ; ^Q
|
|
dw :rts ; ^R
|
|
dw xoff ; ^S
|
|
dw :rts ; ^T
|
|
dw :rts ; ^U
|
|
dw :rts ; ^V
|
|
dw :rts ; ^W
|
|
dw can ; ^X
|
|
dw :rts ; ^Y
|
|
dw sub ; ^Z
|
|
dw esc ; ^[
|
|
dw :rts ; ^\
|
|
dw :rts ; ^]
|
|
dw :rts ; ^^
|
|
dw :rts ; ^_
|
|
|
|
:rts rts
|
|
|
|
enq
|
|
* send answer back message.
|
|
* answer back message is a user-controllable string of text sent as-is
|
|
* (with no specific terminator character)
|
|
rts
|
|
bel
|
|
* todo - trigger nice ensoniq beep.
|
|
rts
|
|
|
|
|
|
bs
|
|
* backspace, no wrap
|
|
lda x
|
|
beq :rts
|
|
and #$7f
|
|
dec
|
|
sta x
|
|
jmp update_cursor
|
|
:rts rts
|
|
|
|
tab
|
|
* go to next tab stop
|
|
* tab at 80 does not reset overflow.
|
|
rts
|
|
|
|
lf
|
|
vt
|
|
ff
|
|
* vt and ff interpreted as lf
|
|
* LNM: also do cr.
|
|
bit LNM
|
|
bpl :lnm
|
|
stz x
|
|
:lnm
|
|
lda y
|
|
cmp BM ; bottom margin
|
|
bne :iny
|
|
jmp scroll_up
|
|
:iny inc y
|
|
jmp update_cursor
|
|
|
|
cr
|
|
stz x
|
|
jmp update_cursor
|
|
|
|
|
|
so ; G1 character set
|
|
si ; G0 character set
|
|
rts
|
|
|
|
xon
|
|
xoff
|
|
* flow control...
|
|
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
|
|
lda #st_esc
|
|
sta state
|
|
rts |