home *** CD-ROM | disk | FTP | other *** search
- ;*********************************************************
- ;
- ; 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)
- ;
- ;