home *** CD-ROM | disk | FTP | other *** search
/ ftp.barnyard.co.uk / 2015.02.ftp.barnyard.co.uk.tar / ftp.barnyard.co.uk / cpm / walnut-creek-CDROM / JSAGE / ZSUS / PROGPACK / TCSRC14.LBR / TCSRC14.DZC / TCSRC14.DOC
Text File  |  2000-06-30  |  9KB  |  213 lines

  1.  
  2. ZCPR3 Z3TCAP (MYTERM.Z3T) file to source code (MYTERM.Z80)
  3. generator.
  4.  
  5. Program Name:  TCSRC
  6. Author:  Terry Hazen
  7. Version:  1.4
  8. Date:  24 August 90
  9.  
  10. Version 1.4:  Has a new command line syntax to make it compatible
  11. with ENVSRC.  The RC function is now correctly described in this
  12. document.
  13.  
  14.  
  15. Since it is difficult to extensively customize an existing
  16. Z3TCAP.Z3T file by patching alone, TCSRC was written to help the
  17. user customize his Z3TCAP by creating a commented source code
  18. file (MYTERM.Z80) from an existing MYTERM.Z3T file for his
  19. terminal, such as one extracted from Z3TCAP.TCP by TCSEL, or from
  20. the current Z3TCAP located in memory in the ZCPR3 environment.
  21. TCSRC also allows you to create a blank commented Z3TCAP source
  22. code file when you want to start from scratch.  The new source
  23. code file can then be edited as desired, assembled to MYTERM.COM
  24. and renamed to MYTERM.Z3T.  It can then be loaded to your
  25. environment using LDR.COM, NZCOM.COM, JETLDR.COM, etc.
  26.  
  27. TCSRC generates Z3TCAP commented source code based on the
  28. extended Z3TCAP defined by VLIB4D.  VLIB4D modifies the sequence
  29. of control strings in the extended Z3TCAP over that specified by
  30. earlier VLIB4 beta releases to bring all the terminal control
  31. strings into a common area located prior to the graphics area,
  32. reduces the length of the terminal name to 13 bytes and adds a
  33. byte defining the offset of the graphics area from the start of
  34. the Z3TCAP.
  35.  
  36. TCSRC expects input files to be subsets of the VLIB4D standard,
  37. such as standard Z3TCAP files.  Consult the current VLIB4 help
  38. files for explanations of each of the defined terminal functions
  39. and consult your terminal manual for information on the terminal
  40. control strings required to implement the terminal functions for
  41. your terminal.
  42.  
  43. Source code generated by TCSRC from earlier extended Z3TCAP files
  44. with different extended formats will begin to be incorrect when
  45. the sequence of control strings begins to differ from the new
  46. VLIB4D standard and will have to be corrected with a text editor.
  47. Lines of source code defining terminal control strings may simply
  48. be moved into the correct order, ignoring both comments and
  49. labels (except for GOELD, which is used to define the graphics
  50. area offset), as the corrected source code file can be assembled
  51. to a COM file and TCSRC can then be used again to quickly
  52. generate a new, correctly commented source code file.
  53.  
  54.  
  55. Syntax
  56. ------
  57.  
  58.      TCSRC [[dir:]infile[.z3t]] [[dir:]outfile[.z80]]
  59.  
  60.      Default outfile is infile.Z80 on default directory.  Any
  61.      existing R/W file of the same name will be overwritten.
  62.  
  63.      Infile 'BLANK' creates blank commented source code file.
  64.  
  65.      If no infile is specified, Z3TCAP.Z80 is created from
  66.      the Z3TCAP in the environment.
  67.  
  68.  
  69. The companion utility ENVSRC creates commented source code from
  70. your ZCPR3 environment using the latest extended environment
  71. definitions.
  72.  
  73.  
  74. Graphics TCAP Offset
  75. --------------------
  76.  
  77. VLIB4D defines a graphics offset byte at GOFF (Z3TCAP+12), which
  78. contains the offset from the start of the Z3TCAP to the start of
  79. the graphics area at GEOLD, to allow the future addition of
  80. terminal control strings in the terminal control string area
  81. without requiring rewritting of the VLIB graphics routines using
  82. the graphics data.  To compensate for the addition of the
  83. graphics offset byte, the length of the terminal name area has
  84. been reduced to 13 bytes.
  85.  
  86.  
  87. Terminal Configuration Bytes
  88. ----------------------------
  89.  
  90. VLIB4D defines two terminal configuration bytes at B14
  91. (Z3TCAP+14) and B15 (Z3TCAP+15) to allow an application program
  92. access to terminal characteristics not otherwise specified in the
  93. Z3TCAP.  Application programs such as WordStar4 (with Joe Wright's
  94. WSPAT ZCPR3 patch), V and SCAN now have access to information not
  95. only about terminal control strings, but about how users have
  96. configured their terminals.  Users can set configuration bits
  97. indicating, for example, whether or not their terminals are set
  98. to auto-wrap at the end of a line or auto-scroll at the end of a
  99. screen, whether their terminals use ANSI or ASCII control
  100. sequences, and whether they use reverse video or non-reverse
  101. (usually dim) video for their standout mode.  Not all application
  102. aprograms will check the terminal configuration bytes, but their
  103. presence allows the user some control over how application
  104. programs configure his screen display.
  105.  
  106. SCAN, for example, checks the auto-wrap and auto-scroll bits to
  107. see whether it can put characters in the last display column on
  108. the screen without causing additional blank lines to be inserted
  109. into the display.  If both bits are 0, the last column is
  110. considered safe, and the whole screen can be used for the
  111. display.  If either bit is set, the last column is considered
  112. reserved and the next-to-last column will be the final column
  113. used.  So if your terminal is configured to not automatically
  114. wrap or scroll, you can set the bits accordingly and SCAN will
  115. use the whole screen.  Joe Wright's WSPAT for WordStar4 uses the
  116. configuration bytes in a similar way, along with the set
  117. attribute string to create WS4 display screens.
  118.  
  119.  
  120. Screen Display Configuration
  121. ----------------------------
  122.  
  123. When you start looking at how many ways a given terminal can be
  124. configured by a user and how that configuration can affect screen
  125. displays, it quickly becomes clear that a standard Z3TCAP for a
  126. given terminal type is not adequate to convey more than basic
  127. standard information for that terminal.  It may make a difference
  128. to a screen display intensive applications program, for example,
  129. whether a screen is configured as dark letters on a light screen
  130. or light letters on a dark screen and whether reverse video or a
  131. non-reverse video mode, such as dim or bold is used as standout.
  132. For example, if dim is used as standout mode on a dark screen,
  133. spaces in standout mode won't show up, but if reverse video is
  134. used, they will, creating quite a different display.
  135.  
  136. If the Z3TCAP for a particular terminal specifies dim as the
  137. standout mode, but the user prefers to use bold, reserving dim
  138. for standard mode, but then wishes to exit to a normal video
  139. command line, he must customize his Z3TCAP to use SO (Start
  140. Standout), SE (End Standout), TI (Terminal Initialization) and TE
  141. (Terminal Deinitialization) to set his terminal according to his
  142. preferences.  In this example, SO would set dim, SE would set
  143. normal, TI would set dim, and TE would set normal video.
  144.  
  145. Still another user of the same terminal type might prefer half
  146. intensity for standout, and would need to customize his Z3TCAP
  147. accordingly.  So many terminal characteristics may be user
  148. configured, in fact, that it is really the user's responsibility
  149. to create a customized Z3TCAP for his system that reflects his
  150. own preferences.  TCSRC attempts to facilitate this process by
  151. providing the user a handy tool to quickly create Z3TCAP source
  152. code files that may be easily edited and used to create his
  153. working customized Z3TCAP.
  154.  
  155.  
  156. Extended Z3TCAP Terminal Control Sequences
  157. ------------------------------------------
  158.  
  159. The source code created by TCSRC includes the LD (delete line at
  160. cursor position) and LI (insert line at cursor position)
  161. sequences added in the extended Z3TCAP defined by VLIB4B.
  162. Applications such as WordStar and SCAN can use these control
  163. sequences to produce better displays.
  164.  
  165. For screen display intensive applications such as WordStar 4.0
  166. patch WSPAT, Joe Wright added a macro to the Z3TCAP and a routine
  167. in VLIB4C to set terminal display attributes.  The source code
  168. created by TCSRC includes the SA (set Attributes) macro and AT
  169. (the attribute string).
  170.  
  171. The source code created by TCSRC also includes a CD (clear screen
  172. from cursor to end-of-screen) sequence.  While sequence is, in
  173. some cases, a duplication of part of the CL (Home Cursor and
  174. Clear Screen) sequence, it is now available as a separate control
  175. sequence.
  176.  
  177.  
  178. Other New VLIB4D Terminal Control Sequences
  179. -------------------------------------------
  180.  
  181. For use with windowing routines used in pull-down menus, the
  182. extended Z3TCAP includes provisions for a new RC sequence that
  183. returns the current cursor position in HL and a new RL sequence
  184. that reads the entire line up until the cursor position into a
  185. buffer.  Consult V4LIBD.HLP for more information.
  186.  
  187.  
  188. Graphics Extensions
  189. -------------------
  190.  
  191. VLIB4D adds a new standardized character graphics area beginning
  192. at GOELD (graphics on/off delay).  Graphics extensions include
  193. GO/GE (graphics mode on and off), and CDO/GDE (turn the cursor
  194. off and on).
  195.  
  196.  
  197. Graphics Characters
  198. -------------------
  199.  
  200. Graphics characters used by VLIB4D are one-byte characters that
  201. produce lines, intersections and corners as well as full and
  202. hashed blocks.  For terminals without graphics capability, very
  203. good results can be obtained using the characters '-' and '|' for
  204. horizontal (GHL) and vertical (GVL) line characters.  The
  205. characters '*' and '#' can be used for full (GFB) and hashed
  206. (GHB) blocks, the characters '+' or '*' can be used for corners
  207. and the character '+' for intersections.
  208.  
  209. Use TCSRC to add graphics characters to your own Z3TCAP and try
  210. BOX.COM from VLIB4D for a demonstration of the new line graphics
  211. as used in a box drawing routine.
  212.  
  213.