home
***
CD-ROM
|
disk
|
FTP
|
other
***
search
/
CP/M
/
CPM_CDROM.iso
/
beehive
/
utilitys
/
swdemo15.arc
/
SWNEWTCP.ASM
< prev
next >
Wrap
Assembly Source File
|
1991-08-11
|
5KB
|
134 lines
;*********************************************************
;
; SWIND Windowing Library Demo
; Eugene Nolan
;
; For the users of non-Z3 systems, this
; file is an overlay for the SWIND demo
; program that allows you to specify to the
; demo your terminal capabilities under control of the
; TCAP proposal as shown in NZ3-TCAP.LBR
;
; It is meant to be assembled to a .HEX file and
; overlayed upon the Demo .COM file.
;
; Mload Demo=Demo.com,newtcp.hex
;
; The only capabilities that the demo require is
; the cursor move and clear screen. If your terminal
; has some sort of standout video mode, that will be
; made use of, but is not required.
;
; Terminal Capabilities Data
;
org 10bh
db 10 ;Proc speed in MHZ
;********************************************************************
; This is the revised HFB Z3 Termcap proposal for VLIB. There were
; a few goofs in the original proposal (missing nulls and the like)
; that are corrected here. As well, a few things have been removed
; or combined.
;
; Harold F. Bower
; P.O. Box 313
; Ft. Meade, MD 20755
;
; Additional notes and revisions by Cameron W. Cotrill
;********************************************************************
;
ESC EQU 27 ; Escape character
;
; New Terminal Capabilities Data
;
TCNAME: DB 'NOLAN ' ; Name of terminal (15 chars)
;
; This byte differs from the WS4PAT proposal. I suggest this byte be
; used as eight binary flags. Definitions suggested are:
; When set / When clear
; B0 - Reverse / Highlight - Dim
; 1 - Wraps at End-of-Line / No Wrap at EOL
; 2 - Scroll at End-of-Page / No Scroll at EOP
; 3-7 RFU
;
TRMMOD: DB 00000111B ; 8 Flags bits. N/U
;
; No single character arrow keys on my terminal, use the WordStar diamond.
; Note: in the Graphics Libs, cursor right and left were reversed. This
; is changed back here to the "normal" ZCPR definitions.
; NOTE: the comment N/U means SWIND does not need this function, but if null,
; then supply a 0
; NOTE: the comment U/NR means SWIND will use it if it is there
DB 'K'-'@' ;Cursor UP N/U
DB 'J'-'@' ;Cursor DOWN N/U
DB 'L'-'@' ;Cursor RIGHT N/U
DB 'H'-'@' ;Cursor LEFT N/U
DB 00 ;CL Delay
DB 00 ;CM Delay N/U
DB 00 ;CE Delay N/U
DB 1bh,'H',1bh,'J',0 ;CLear screen String
DB 1bh,'Y%+ %+ ',0 ;Cursor Move string
DB 1bh,'K',0 ;Clear to Eol String N/U
;
; Terminal definitions need clarification. If your STNDOUT/STNDEND uses
; DIM capabilities, TINIT should set the terminal for DIM, STNDOUT sets
; for Normal. DINIT should restore the terminal to normal video
;
DB 1bh,5,0 ;Start standOut String U/NR
DB 1bh,6,0 ;Stop standout E String U/NR
DB 0 ;TI String
DB 0 ;TE String
;
; Extensions to Standard TCAP
;
DB ESC,1,0 ; DL - Line Delete N/U
DB ESC,2,0 ; IL - Line Insert N/U
DB ESC,'J',0 ; CD - Clear to End of Screen String N/U
;
; At this point, I propose to provide some capabilities of GRXLIB
; by adding some features as:
;
; NOTE My terminal does not support graphics, but the following
; five codes ARE USED by SWDEM15Z. If yours supports none
; of them, set all five to a single 0 entry.
; Eugene Nolan
DB 00 ; GO/GE - Graphics Mode On/Off Delay
DB 0 ; GS - Graphics Mode On
DB 0 ; GE - Graphics Mode End
DB ESC,9,0 ; CDO - Cursor display off
DB ESC,8,0 ; CDE - Cursor display enable
;
; If there is enough interest and we can have the source code released,
; I will volunteer to modify and integrate the code for the following
; GRXLIB functions.
;
; If no terminal uses more than one character to print these characters,
; they may be consolidated into a table with relative indices for
; standardized functions (e.g. 1=upper left corner, 2=upper right corner,
; etc) at a savings of 13 bytes (better than 10% of the TCAP).
;
DB '+',0 ; GULC - Upper Left Corner String [*]
DB '+',0 ; GURC - Upper Right Corner String [*]
DB '+',0 ; GLLC - Lower Left Corner String [*]
DB '+',0 ; GLRC - Lower Right Corner String [*]
DB '-',0 ; GHL - Horizontal Line String [-]
DB '|',0 ; GVL - Vertical Line String [|]
DB '*',0 ; GFB - Full Block String [*]
DB '#',0 ; GHB - Hashed Block String [#]
DB '+',0 ; GUI - Upper Intersection [+]
DB '+',0 ; GLI - Lower Intersection [+]
DB '+',0 ; GIS - Intersection [+]
DB '+',0 ; GRTI - Right Intersection [+]
DB '+',0 ; GLTI - Left Intersection [+]
;
; At this point, if enough space remains in TERMCAPS, we might consider
; more "Bells and Whistles" or implementing the GRWLIB windowing functions
; if there is enough call for them.
;
ds 80h-($-TCNAME)
;
;