home
***
CD-ROM
|
disk
|
FTP
|
other
***
search
/
Columbia Kermit
/
kermit.zip
/
archives
/
ccdos.tar.gz
/
ccdos.tar
/
ccyibm.dat
< prev
next >
Wrap
Text File
|
1991-09-08
|
10KB
|
209 lines
public term, lclyini ; entry points
public prtbout, prtnout, csrtype, scrmod, scrseg, scrsync
public scroff, scron, atsclr, vtscru, vtscrd, scrloc, trnmod, telmsy
public chgdsp, vtroll, crt_lins, crt_cols, getflgs, tv_mode, vtclear
; action verb procedures for keyboard translator
public uparrw, dnarrw, rtarr, lfarr, pf1, pf2, pf3, pf4
public kp0, kp1, kp2, kp3, kp4, kp5, kp6, kp7, kp8, kp9
public kpminus, kpcoma, kpenter, kpdot, chrout, cstatus, cquit
public cquery, dmpscn, vtans52, vtinit, dnwpg, upwpg, endwnd, homwnd
public upone, dnone, trnprs, dumpscr, modlin, modwrt, snull
public klogon, klogof, cdos, chang, khold, vtrmac, vtsmac
public vtemu, crt_mode, scbattr, refresh, low_rgt ; data
public savescr, restscr, pntchr, pntchk, pntflsh ; code
include ccsdef.h
; some definitions
; hardware
crt_status equ 3dah ; CGA crt status port
disp_enb equ 8 ; CGA display enable bit
crtmset equ 3D8H ; CGA CRT mode set port
screen equ 10h ; Bios screen interrupt
biostty equ 0eh ; Bios screen tty write mode
; used in patsclr
video equ 10h
pmode equ 0
setcur equ 2
readcur equ 3
readch equ 8
writeach equ 9
writech equ 10
wtty equ 14
pstate equ 15
space equ 20h
modfrm struc ; format of mode (status) line
db 'Esc-chr: ' ; do not write in last column
m_echr db 2 dup (?)
db ' help: '
m_hlp db 2 dup (?)
db '? port:'
m_prt db 1 dup (?)
db ' speed:'
m_baud db 5 dup (?)
db ' parity:'
m_par db 4 dup (?)
db ' echo:'
m_echo db 3 dup (?)
m_term db 13 dup (' ') ; 13 bytes for term type
m_prn db 3 dup (' ') ; show PRN when printer is on
modfrm ends
cmodfrm struc ; format of mode (status) line
db '═╦│÷╫╓╖√: ' ; do not write in last column
cm_echr db 2 dup (?)
db ' ░∩╓·: '
cm_hlp db 2 dup (?)
db '? ╢╦┐┌:'
cm_prt db 1 dup (?)
db ' ╦┘┬╩: '
cm_baud db 5 dup (?)
db ' ╨ú╤Θ:'
cm_par db 4 dup (?)
db ' ╗╪╧╘:'
cm_echo db 4 dup (?)
cm_term db 13 dup (' ') ; 13 bytes for term type
cm_prn db 3 dup (' ') ; show PRN when printer is on
cmodfrm ends
datas segment public 'datas'
extrn flags:byte, mar_top:byte, mar_bot:byte, portval:word
extrn filtst:byte, dmpname:byte, kbdflg:byte, rxtable:byte
extrn anspflg:byte, tekflg:byte, scroll:byte, ttyact:byte
extrn holdscr:byte, taklev:byte, takadr:word, mcctab:byte
extrn isccdos:byte ; Jun 25,1990
; used in patsclr [zqf]
currow db 0 ; current cursor position
curcol db 0
curtype dw 0 ; current cursor type
activepage db 0 ; current active page
; used in SAVCCSCR & RSTCCSCR , Nov.28,1990 [zqf]
curpos dw 0 ; save cursor position before save and after restore screen
; used in proc "SAVCCSCR" and "RSTCCSCR"
curtyp dw 0 ; save cursor position before save and after restore screen
; used in proc "SAVCCSCR" and "RSTCCSCR"
; stuff for screen routines
yflags db 0 ; status flags
flags1 db 0 ; internal flags (but used in mszibm)
prtscr equ 1 ; print screen pressed
inited equ 08h ; been here before
vtinited db 0 ; flag for emulator having been inited
vtclear db 0 ; nonzero to clear emulator screen
cursor dw 0
esc_ch db 0
parmsk db 0 ; 8/7 bit parity mask, for reception
argadr dw ? ; address of arg blk
vid7id db 'VEGA BIOS Code, ' ; Video 7 Vega version string subset
vid7len equ $-vid7id ; length of string
vid7id2 db 'Video Seven BIOS Code, ' ; Video 7 VGA board
vid7len2 equ $-vid7id2
atiwid db 'ATI EGA Wonder Bios,' ; ATI EGA wonder version string subset
atilen equ $-atiwid ; length of string, inc terminator
tsngid db 'Tseng' ; Tseng Labs EVA (& Orchid Designer)
tsnglen equ $-tsngid
evrxid db 'Everex' ; Everex Micro Enhancer Deluxe EGA
evrxlen equ $-evrxid
evgid db 'VGA EV673' ; Everex EVGA EV-673
evglen equ $-evgid
ega_mode db 0 ; non-zero if IBM EGA is in use
tvhere equ 0feh ; Topview active query
tvsynch equ 0ffh ; Topview resynch request
tv_segs dw ? ; Topview virtual screen, segment
tv_sego dw ? ; and offset
tv_mode db 0 ; flag, 0 = no Topview
savadr dw 2 dup (?) ; offset then segment of saved screen
savflg dw 0 ; low_rgt at time of screen save
; The following are used to turn the display back on (after scrolling etc.)
msets db 2CH,28H,2DH,29H,2AH,2EH,1EH,29H
vtemu emulst <> ; emulator flags
ansflgs db 0 ; ANSI flags
trmtyp db 0 ; most recent terminal type
mtty db ' TTY ' ; no terminal type (mode line)
fairness dw 0
lincur dw ? ; cursor type save area
scbattr db ? ; Screen background attribute
oldattr db ? ; screen attributes at init time
curattr db ? ; current attribute
oldsp dw 0 ; offset to longjmp to for i/o failure
temp dw ? ; scratch storage
modtemp db 0 ; temp to hold ZUnet modeline status
captrtn dw ? ; routine to call for captured output
dmphand dw -1 ; screen dump file handle
dumplen equ 132
dumpbuf db dumplen dup (?), cr, lf ; 134 byte dump work buffer
dumpsep db FF,cr,lf ; screen image separators
dmperr db ' Cannot open file to save screen to disk $'
cdmperr db ' ╬▐╖¿┤≥┐¬╙├╙┌▒ú╗ñ╞┴─╗╡─╬─╝■$'
crlf db cr,lf,'$'
flowon db 0 ; flow control chars xon
flowoff db 0 ; and xoff (or both null if none)
pntmsg db 'Printer not ready, printing request skipped.'
pntmsgl equ $-pntmsg ; length of pntmsg
cpntmsg db '┤≥╙í╗·├╗╙╨╫╝▒╕║├, ╖┼╞·┤≥╙í╟δ╟≤.'
cpntmsgl equ $-cpntmsg ; length of pntmsg
pntptr dw dumpbuf ; pointer to next free byte in buffer
; some static data for mode line
modbuf modfrm <> ; mode line buffer
cmodbuf cmodfrm <> ; mode line buffer
unkbaud db 'unkwn' ; must be 5 chars
cunkbaud db ' δ֪' ; must be 5 chars
baudn db ' 45.5',' 50 ',' 75 ',' 110 ','134.5',' 150 ',' 300 ',' 600 '
db ' 1200',' 1800',' 2000',' 2400',' 4800',' 9600','19200','38400'
db '57.6K','115 K'
baudnsiz equ 18 ; # of baud rates known (tbl size / 4)
parnams db 'even','mark','none','odd ','spc '
cparnams db ' ┼╝ ','┤½║┼',' ╬▐ ',' ╞µ ','╝Σ╕⌠'
lclmsg db 'loc'
clclmsg db '▒╛╡╪'
remmsg db 'rem'
cremmsg db '╘╢│╠'
portno db ?
; storage for multi-window stuff
swidth equ 80 ; max screen width
slen equ 24 ; and length of text
npages equ 10 ; # of pages of scrolling on each side
crt_norm db ? ; video mode for normal screen
crt_mode db ? ; video mode (typ 3, must be text)
crt_cols db ? ; number of screen columns (typ 80)
crt_lins db 24 ; number of screen rows - 1 (typ 24)
low_rgt dw ? ; lower right corner of text window
; high = row address (typ 23)
; low = column address (typ 79)
inipara dw ? ; initial paragraphs of scroll memory
scrsav dw ? ; segment address of save area
refresh db 0 ; screen refresh (0=wait for retrace)
vtroll db 0 ; auto roll back allowed (0 = no)
; circular buffer for screen roll back.
cbuf struc
pp dw ? ; place ptr in buffer
bend dw ? ; end of buffer
orig dw ? ; buffer origin
lcnt dw 0 ; # of lines in buffer
lmax dw ? ; max lines of buffer
cbuf ends
twnd cbuf <> ; top screen spill-buffer struct
bwnd cbuf <> ; bottom screen spill buffer struct
vtrname db 'TERMINALR' ; a macro name, must be Upper Case
vtrlen equ $-vtrname
vtsname db 'TERMINALS' ; a macro name, must be Upper Case
vtslen equ $-vtsname
vtmacname dw vtrname ; pointer to selected macro name
vtmaclen db vtrlen
datas ends