--
You received this message because you are subscribed to the Google Groups "Altair-Duino" group.
To unsubscribe from this group and stop receiving emails from it, send an email to altair-duino...@googlegroups.com.
To view this discussion on the web visit https://groups.google.com/d/msgid/altair-duino/284fe30f-c410-411a-ae37-00c2a55fbdc9n%40googlegroups.com.
A>type b:qt.asm
;
; QTERM overlay for VT-100 terminal
;
; terminal name string
ORG 01D0H
DB '(VT-100)',0
; now the string for clear screen
ORG 01F0H
CLRS: DB 1BH,'[2J'
DB 1BH,'[1;1H',0
; moveto - this routine is called with a word in hl - h = row
; l = column to move to, at 109 is a routine to print a char in c,
; at 10c is a routine to print a decimal number in hl (for ansi tubes)
ORG 0200H
MOVETO:
PUSH H ; save coords
MVI C,1BH
CALL 109H ; lead in escape
MVI C,5BH
CALL 109H ; print '['
POP H
PUSH H
MOV L,H
MVI H,0
INR L
CALL 10CH ; print row in decimal
MVI C,3BH
CALL 109H ; print ';'
POP H
PUSH H
MVI H,0
INR L
CALL 10CH ; print column in decimal
MVI C,48H
CALL 109H ; print 'H'
POP H
RET
; these next strings are used to do various screen functions. There are
; eight of them, and immediately preceding them is a flag byte. Each string
; has a bit in the byte, and if a capability is present, its bit should
; be set. This byte is an absolute necessity, as various programs use it
; to tell if various things are present.
ORG 022FH
TCBITS: DB 11000000B ; bits are:
; 0: bright b_brite 1
; 1: dim b_dim 2
; 2: delete line b_delln 4
; 3: insert line b_insln 8
; 4: delete character b_delch 16
; 5: insert character b_insch 32
; 6: clear end line b_cleol 64
; 7: clear end screen b_cleos 128
ORG 0230H
BRITES: DB '\e(\0'
ORG 0238H
DIMS: DB '\e)\0'
ORG 0240H
DLSTR: DB '\eR\0'
ORG 0248H
ILSTR: DB '\eE\0'
ORG 0250H
DCSTR: DB '\eW\0'
ORG 0258H
ICSTR: DB '\eQ\0'
ORG 0260H
CEOL: DB 1BH,'[0K',0
ORG 0268H
CEOS: DB 1BH,'[0J',0
END 100H
To view this discussion on the web visit https://groups.google.com/d/msgid/altair-duino/BD4484F5-E354-49DD-B4A2-0468D38ACE25%40gmail.com.
Wow, if the output decimal routine at 10CH was a snake it would have bit me! :) The good news is others have the right answers now. Also, computers is a hobby of continuous learning. The day I quit learning is the day I need to quit computer science. I still appreciate the sessions with DDT hand assembling code and getting it to work (if even a waste of time at the end of the day). What wasn't wasted was the learning experiences both during and now after as I continue to learn even more.
A>type b:rogue.sub
a:xsub
a:asm qt.ddz
a:ddt rogue.com
iqt.hex
r
g0
save 89 rogue-vt.com