Added VT100 test.

Re-added VT100 test that was created for KIPPERTERM development. Not very usefully as-is but a good template for any offline VT100 rendering test/debugging.

Additionally the disk images were renamed to distinguish them from the disk images created in the apps directory.
This commit is contained in:
Oliver Schmidt 2017-05-19 00:17:38 +02:00
parent 3359061ce2
commit 579b6f3334
2 changed files with 100 additions and 8 deletions

View File

@ -28,7 +28,8 @@ UDP =\
dottedquad \
parsequerystring \
sntp \
tftp
tftp \
vt100
TCP =\
cifs \
@ -68,11 +69,11 @@ com: $(addsuffix .com,$(UDP) $(TCP))
vicprg: $(addsuffix .vicprg,$(UDP) $(TCP))
d64: ip65.d64
d64: ip65test.d64
dsk: ip65.dsk
dsk: ip65test.dsk
atr: ip65.atr
atr: ip65test.atr
ip65:
make -C ../ip65
@ -95,7 +96,7 @@ drivers:
%.vicprg: %.o ip65 drivers $(INCFILES)
ld65 -o $*.vicprg -C vic20-32k.cfg -m $*.vic.map -vm $< $(IP65LIB) $(VICDRIVERLIB) vic20.lib
ip65.d64: prg
ip65test.d64: prg
$(C1541) -format ip65,00 d64 $@
$(C1541) -attach $@ -write dns.prg dns,p
$(C1541) -attach $@ -write dottedquad.prg dottedquad,p
@ -106,8 +107,9 @@ ip65.d64: prg
$(C1541) -attach $@ -write sntp.prg sntp,p
$(C1541) -attach $@ -write tcp.prg tcp,p
$(C1541) -attach $@ -write tftp.prg tftp,p
$(C1541) -attach $@ -write vt100.prg vt100,p
ip65.dsk: bin
ip65test.dsk: bin
cp prodos.dsk $@
java -jar $(AC) -cc65 $@ dns bin < dns.bin
java -jar $(AC) -cc65 $@ dottedquad bin < dottedquad.bin
@ -118,8 +120,9 @@ ip65.dsk: bin
java -jar $(AC) -cc65 $@ sntp bin < sntp.bin
java -jar $(AC) -cc65 $@ tcp bin < tcp.bin
java -jar $(AC) -cc65 $@ tftp bin < tftp.bin
java -jar $(AC) -cc65 $@ vt100 bin < vt100.bin
ip65.atr: com
ip65test.atr: com
mkdir atr
cp dos.sys atr/dos.sys
cp dup.sys atr/dup.sys
@ -132,6 +135,7 @@ ip65.atr: com
cp sntp.com atr/sntp.com
cp tcp.com atr/tcp.com
cp tftp.com atr/tftp.com
cp vt100.com atr/vt100.com
$(DIR2ATR) -b Dos25 1040 $@ atr
rm -r atr
@ -150,4 +154,4 @@ clean:
make -C ../drivers clean
-rm -f ../supplement/*.o
-rm -f *.o *.prg *.bin *.com *.vicprg *.map
-rm -f ip65.d64 ip65.dsk ip65.atr ip65demo.dsk
-rm -f ip65test.d64 ip65test.dsk ip65test.atr ip65demo.dsk

88
test/vt100.s Normal file
View File

@ -0,0 +1,88 @@
.include "../inc/common.i"
.include "../inc/commonprint.i"
.export start
.export telnet_close = $1000
.export telnet_send_char = $1000
.export telnet_send_string = $1000
.import exit_to_basic
.import timer_init
.import vt100_init_terminal
.import vt100_process_inbound_char
; keep LD65 happy
.segment "INIT"
.segment "ONCE"
.segment "STARTUP"
start:
jsr timer_init
jsr vt100_init_terminal
ldax #string1
jsr emit_string
jmp exit_to_basic
emit_string:
stax next_byte+1
: jsr next_byte
beq @done
jsr vt100_process_inbound_char
jmp :-
@done:
rts
next_byte:
ldy $ffff
inc next_byte+1
bne :+
inc next_byte+2
: cpy #0
rts
.rodata
string1:
.byte $1b,"[H" ; HOME
.byte "hello world",13,10
.byte $1b,"[1m" ; BOLD
.byte "hello bold",13,10
.byte $1b,"[7m" ; reverse
.byte "hello reverse bold",13,10
.byte $1b,"7" ; save cursor position & attributes
.byte $1b,"[m" ; normal
.byte "hello normal",13,10
.byte 07
.byte "that was a beep!",13,10
.byte $1b,"8" ; restore cursor position & attributes
.byte $1b,"[20;1H"; ; move to row 20, pos 1
.byte "ABCDEFGhijklmnopqRsTuVwXyZ01234567890"
.byte $1b,"[20;10f"; ; move to row 20, pos 1
.byte $1b,"[1K"
.byte 0
;-- LICENSE FOR vt00.s --
; The contents of this file are subject to the Mozilla Public License
; Version 1.1 (the "License"); you may not use this file except in
; compliance with the License. You may obtain a copy of the License at
; http://www.mozilla.org/MPL/
;
; Software distributed under the License is distributed on an "AS IS"
; basis, WITHOUT WARRANTY OF ANY KIND, either express or implied. See the
; License for the specific language governing rights and limitations
; under the License.
;
; The Original Code is ip65.
;
; The Initial Developer of the Original Code is Jonno Downes,
; jonno@jamtronix.com.
; Portions created by the Initial Developer are Copyright (C) 2009
; Jonno Downes. All Rights Reserved.
; -- LICENSE END --