;
                                 TCVIEW.COM                                   

             Size (recs) CRC   Version    Author/Latest Issue      Disk
               4k (29)   0C38  2.4        Gene Pizzetta 7/90      Z3COM13

  1- Syntax  2- Usage  3- Notes  4- VLIB/TCAP Development                     

   TCVIEW displays the contents of the TCAP  portion of the  ZCPR3 environment 
descriptor or of  a file which contains the TCAP module.   There  are 3 widely 
distributed versions of TCAP,  each associated  with unique  versions of VLIB. 
TCVIEW properly displays  all three versions and reports the VLIB versions for 
which they  were intended.   Requires 80 columns,  24 lines.   Prints graphics
characters if the TCAP being displayed is from memory and compatible with VLIB
4D.  

   Vs. 1.0 (12/86) by Jay Rouman.
:1

    Syntax   TCVIEW {{dir:}fn{.ft}}

If no filename is given, the TCAP currently in memory is used.  If no filetype
is given,  "Z3T" is  assumed.   If no  DU or  DIR specification is  given, the 
current drive and user is assumed.
:2
 Usage 

   When using the TCAP in memory,  graphic characters are displayed in graphic 
mode, as you would expect.   When  using  a TCAP  file,  however,  TCVIEW will 
display graphic  characters  as ordinary characters,  resetting  the high bits 
used  by some terminals.   This feature will allow checking of TCAP files that 
are not compatible with the terminal in use.

   TCVIEW will  always  attempt  to  display  graphic  characters,  even if no 
"graphics on" string is included in the TCAP,  since that string is not needed 
on some terminals that use the high bit.   If only some of the graphic charac-
ters are provided in the TCAP, those included will be displayed and those that 
are null ignored, which may be of some help when developing a new TCAP.

   TCVIEW also displays  the state of  the terminal characteristics vector  at 
B15, which is labeled "Features" in the screen display.   The state of the B14 
vector is not displayed, but so far that byte is essentially unused.
:3
 TCVIEW Notes - 1/2 

   a. Vs 2.4 updates (07/15/90, Al Hawley):
      - Now reports  the  VLIB  version for  which  the TCAP is  intended  and
        adjusts the display accordingly. 

   b. Vs 2.3 updates (06/15/90, Gene Pizzetta):
      - Added display of terminal characteristics byte,  labelled "Features:".  
      - Now properly handles display  of graphic  characters in file mode when 
        terminal uses control characters with high bit set  (such as Televideo 
        965).

   c. Vs 2.2 updates (06/11/90, Gene Pizzetta):
      - Made compatible with Joe Wright's NZTCAPD.  
      - Display adjusted to make room  for  additional strings required by new 
        TCAP:  Set Attributes, Attributes, Read Cursor, and Read Line.
      - Now prints graphic characters,  even  if  no  "graphics on"  string is 
        included in TCAP, and even if some graphic characters are missing.  
      - In file mode,  now strips  high  bit  from  graphic  characters before 
        printing to screen.  
 TCVIEW Notes - 2/2 
   
   d. Vs 2.1 updates (11/14/89, Ernie Barnhart):
      - corrects PRGRAF routine to not strip high bit.   Only  prints graphics
        characters if  GRAPHICS ON/OFF  sequence  is present to  be compatible 
        with other programs.   If reading a file, the alpha representations of
        the graphic characters are printed.

   e. Vs 2.0 updates (05/09/89, Ernie Barnhart):
      - major rewrite to take  advantage of the  new V4LIBS and extended TCAP.
      - internal environment eliminated.   Now  a  type 1 program  which  runs 
        under CP/M and informs user if TCAP is not installed.

   f. Vs 1.2 updates (Al Heynneman):
      - fixes memory mode that used incorrect Z3ENV pointer. 
      - changed to assemble with M80 and link with L80.

   g. Vs 1.1 updates (Frank Gaude):
      - converted to use ZAS and run through PPAL pretty printer.
:4    
 VLIB/TCAP development - 1/4 

   The following discussion is a brief history of  VLIB/TCAP development,  the 
close relation  between  the  two,  and  the  importance  of having the latest 
version (currently -4D) in your system.

   A TCAP is  a 128 byte block which contains the data bytes that must be sent 
to a terminal to control its functions.   A Z-System needs  a TCAP specific to 
the system console if such functions as cursor positioning,  highlighting, and 
screen editing are to be implemented by a program written for portability from 
one computer to another whose terminal may be different.  Terminals from diff-
erent manufacturers may use different  code  bytes to  control terminal funct-
ions. If the appropriate TCAP is installed in the Z3 Environment, then a prog-
ram that needs to  position the  cursor can index into the TCAP for the proper 
code sequence and send  that  to the terminal.   This  is possible because the 
TCAP is a well defined data structure.
 VLIB/TCAP development - 2/4 

   The subroutines required to display highlighted text with  cursor position-
ing using TCAP data can be written as part of the source code for  an applica-
tion program (like the ZMATE text editor,  for example).   Since such routines 
are tedious to write and they be  required in many programs, a complete set of 
routines has been collected into a  REL library for inclusion when the program 
is  assembled  and linked.   That library is  named  VLIB.   Almost all screen 
oriented Z-System utilities make use of VLIB.

   The initial versions of VLIB and the TCAP definition are described in ZCPR3
THE MANUAL, by Richard Conn.   Since their introduction, VLIB has been revised 
several times to add functions or  optimize routines  and sometimes to correct 
errors.   The definition of the TCAP did not change.   The last major revision 
number was Version 3.   This TCAP and  the  corresponding  VLIBs  contained no 
provision for the use of  character graphics which are included in most modern 
terminals.   Control of  character attributes  like  underlining  was also not 
addressed but was needed for programs like Wordstar 4.
 VLIB/TCAP development - 3/4 

   VLIB version 4,  along with an  extended  TCAP definition,  provided access
to the Character Graphics set,  and a  few demonstration programs were written 
and distributed along with TCAPs for a number of the more popular terminals.

   There was trouble, however.   A method of optimization had been overlooked,
and control of character  attributes  had  not  been included.   After several
unreleased revisions,  VLIB version 4D  was released  along  with  a  new TCAP
structure  definition.   This  version  has  met  with general  acceptance and 
appears to be stable.

  Programs written to use  only  the  facilities  afforded  by VLIB 1, 2, or 3
execute with no problems when  one of the  later  TCAPs is present.   Programs
assembled with  VLIB 4 that  use character  graphics will not operate properly
with any other TCAP;  the same is  true  for VLIB 4D and its TCAP.   Since all 
three versions of TCAPs have  been written and released,  it becomes important 
to be able to examine and identify the version of TCAP files whose ancestry is 
unknown.  THAT is what Version 2.4 of TCVIEW does.
 VLIB/TCAP development - 4/4 

   Some users would like additional data to be included in the TCAP.   If this
were to be done, several criteria should be met:

1) The new TCAP should  be downward  compatible with that for  VLIB 4D so that
   existing application programs will continue to work.
2) New data should not cause the size of the TCAP to exceed 128 bytes.
3) A new version of VLIB would need to be generated. This is a major task!
