;
;                     **** DRAFT--Not Final ****
;                        ZCPR 3.3 System TCAP
; Copyright 1985, 1986 by Richard Conn, Dennis Wright, and Echelon, Inc.
;                        All Rights Reserved
;
; Note on Padding:
;               All entries which have an asterisk (like, *) following
;               their one-line explanation have delays which may be
;               variable.
; Note on Definition:
;               If a function is not available for a particular terminal,
;               its string should be 0 and its delay should be 0 (if it has
;               a delay).
;
;
; Section 1: Basic Terminal Characteristics
;
;       YU      Single Character Generated by Uparrow Key on Keyboard
;       YD      Single Character Generated by Downarrow Key on Keyboard
;       YL      Single Character Generated by Leftarrow Key on Keyboard
;       YR      Single Character Generated by Rightarrow Key on Keyboard
;               Note: If no arrow keys or arrow keys generate more than
;               one character (like VT100), then use WordStar convention
;               for these codes: YU=^E, YD=^X, YL=^S, YR=^D
;
;       CL      Clear Screen String (has a delay which may be variable);
;               cursor is placed in home position (upper left corner) when
;               this sequence is complete
;
;       CM      Cursor Motion String (see explanation of codes in the Manual)
;
;       CE      Clear to End of Line String; cursor is left at original
;               position when this sequence is complete
;
;       SO      Begin Highlighting (Reverse Video or Dim); no character
;               positions on the screen are used by this sequence (ie, cursor
;               does not move after this sequence is complete)
;       SE      End Highlighting (return to Normal display intensity); no
;               character positions on the screen are used by this sequence
;
;       TI      Initialize Terminal String; it is preferred that nothing be
;               output to the screen by this sequence, but no output is not
;               required
;       TE      Deinitialize Terminal String; it is preferred that nothing
;               be output to the screen by this sequence
;
envorg2:
       db      'WYSE 50         '      ; Name of Terminal (16 chars)
       db      'K'-'@'                 ; YU (YU = Cursor UP)
       db      'J'-'@'                 ; YD (YD = Cursor DOWN)
       db      'L'-'@'                 ; YL (YL = Cursor LEFT)
       db      'H'-'@'                 ; YR (YR = Cursor RIGHT)
       db      0                       ; CL Delay (CL = Clear Screen)*
       db      0                       ; CM Delay (CM = Cursor Motion)
       db      0                       ; CE Delay (CE = Clear to EOL)
       db      1bh,'+',0               ; CL String
       db      1bh,'%ia%dR%dC',0       ; CM String
       db      1bh,'T',0               ; CE String
       db      1bh,')',0               ; SO String (SO = Stand Out Mode)
       db      1bh,'(',0               ; SE String (SE = End Stand Out Mode)
       db      0                       ; TI String (TI = Terminal Init)
       db      0                       ; TE String (TE = Terminal Deinit)
;
;       Section 2: Business Graphics
;
;  The following strings are used to create graphics symbols.
; If your terminal does not support business graphics, make (GO) and (GE)
; a non-zero non-printable character that has no effect on your
; terminal and use ASCII characters like '*' to replace the graphics
; characters.  Recommended character values are indicated in [], like [*].
; An alternate recommendation using '.' and ':' will be made with release
; of ZCPRB3.
;
       db      0                       ; GO Delay (GO = Graphics On)
       db      0                       ; GE Delay (GE = Graphics End)
       db      27,'H',2,0              ; GO  - Graphics on string
       db      27,'H',3,0              ; GE  - Graphics end string
       db      '2',0                   ; GULC - Upper left corner [*]
       db      '3',0                   ; GURC - Upper right corner [*]
       db      '1',0                   ; GLLC - Lower left corner [*]
       db      '5',0                   ; GLRC - Lower right corner [*]
       db      ':',0                   ; GHL  - Horizontal line [-]
       db      '6',0                   ; GVL  - Vertical line [|]
       db      '7',0                   ; GFB  - Full block [*]
       db      '?',0                   ; GHB  - Hashed block [#]
;       db      ';',0                   ; GHB  - Use this if RSP is used
;                                                on WYSE 50 because  the
;                                                ? (01fh) will be confused
;                                                with the ELM end line mark
       db      '0',0                   ; GUI  - Upper intersect [+]
       db      '=',0                   ; GLI  - Lower intersect [+]
       db      '8',0                   ; GIS  - Intersection [+]
       db      '9',0                   ; GRTI - Right intersect [+]
       db      '4',0                   ; GLTI - Left intersect [+]
;
;       Section 3: Windowing
;
;     The following environmental data must be present if window
; routines are to be used.  GCM (Graphic Character Mask) contains
; any bits that are not used by on screen graphics characters.
; GCD (Graphics Chararacter Difference) are the bits that are
; stripped (by the terminal) from a sent graphics character to
; form the on screen graphics character.
;
       db      0e0h                    ; GCM - Graphic character mask byte
       db      20h                     ; GCD - Graphic char difference bit(s)
;
; The next string can be either a terminal control code or an
; address of a user supplied subroutine.  If a user supplied routine
; is to be used set the U1 address accordingly.  Remember if an
; address is placed here and both bytes of the address are 00h,
; then the RAT string will be used.  If the RAT string is null the RSP
; string will be used.  At least one of these two functions must be
; available for window routines, RAT is prefered.
;
; If a RAT user supplied routine is to be used it must return the
; characters as follows:
;
; RAT - Read character at cursor position must return the character
;       at the current cursor position in the (A) register.
;
;
       db      1bh,'M',0               ; RAT - Read char at current cursor
                                       ;       position
;       db      0                       ; Zero if using RSP
;
; Set the following address non-zero if user supplied RAT subroutine
; is to be used.
;
       dw      0                       ; U1  - Use user supplied RAT routine
;
       db      1bh,'7',0               ; RSP - Read screen page
;
; If RSP is to be used the following two bytes must be defined; if not,
; make them zero.
;
       db      1fh                     ; ELM - End of line mark
       db      0dh                     ; EPM - End of screen mark
;
; These bytes are the screen codes sent by the terminal at the end of
; each line (ELM) and end of page (EPM).  Some terminals like the WYSE 50
; may have graphics character codes that are the same as the ELM or EPM
; codes.  In this case an alternative graphic character must be used.
;
;       Section 4: Extended Terminal Characteristics
;                  (More to be added in banked ZCPRB3 256-byte version)
;
;       CD      Clear to End of Display; the cursor is not moved by this
;               action
;       KL      Keyboard Lock; the keys on the keyboard are made inoperative
;       KU      Keyboard Unlock; the keys on the keyboard are made operative
;
;       CDO     Cursor Display Off; Cursor is no longer displayed, no
;               character positions on the screen are used by this sequence
;       CDE     Cursor Display Enable; Cursor is displayed, no character
;               positions on the screen are used by this sequence
;
       db      0                       ; CD Delay (CD = Clear to End Display)*
       db      1bh,'Y',0               ; CD String
       db      1bh,'#',0               ; KL String (KL = Keyboard Lock)
       db      1bh,'"',0               ; KU String (KU = Keyboard Unlock)
       db      1bh,'`','0',0           ; CDO String (Cursor Display Off)
       db      1bh,'`','1',0           ; CDE String (Cursor Display Enable)
;
       ds      80H-[$-envorg2]         ; Make exactly 80H bytes long
;
; End of ZCPR 3.3 TCAP
;