home *** CD-ROM | disk | FTP | other *** search
/ The Fred Fish Collection 1.5 / ffcollection-1-5-1992-11.iso / ff_disks / 300-399 / ff308.lzh / Vlt / docs / vlt4p428.doc < prev    next >
Text File  |  1990-01-18  |  17KB  |  384 lines

  1. +----------------------------------------------------------------------+
  2. |                                                                      |
  3. |                  D I S C L A I M E R   N O T I C E                   |
  4. |                                                                      |
  5. |  This document and/or  portions of the material and  data furnished  |
  6. |  herewith,  was developed under sponsorship of the U.S. Government.  |
  7. |  Neither the U.S.  nor  the U.S.D.O.E.,  nor  the  Leland  Stanford  |
  8. |  Junior University, nor their employees,  nor their respective con-  |
  9. |  tractors, subcontractors, or their employees, makes  any warranty,  |
  10. |  express or implied, or assumes any liability or responsibility for  |
  11. |  accuracy,  completeness or  usefulness of any information, appara-  |
  12. |  tus, product or process disclosed, or represents that its use will  |
  13. |  not infringe privately-owned rights.  Mention of any product,  its  |
  14. |  manufacturer, or suppliers shall not, nor is it intended to, imply  |
  15. |  approval, disapproval, or fitness for any particular use. The U.S.  |
  16. |  and  the University at all times  retain the right to use and dis-  |
  17. |  seminate same for any purpose whatsoever.                           |
  18. |                                                                      |
  19. +----------------------------------------------------------------------+
  20.  
  21. SAS and SAS/GRAPH are trademarks of the SAS Institute.
  22. Tektronix is a trademark of Tektronix, Inc.
  23. VT100 is a trademark of Digital Equipment Corporation.
  24.  
  25.  
  26.  
  27.  
  28.  
  29.                 VLT 4.428  Additional Documentation
  30.                 ===================================
  31.  
  32.                      (C) Copyright 1989, 1990
  33.  
  34.                                by
  35.  
  36.                         W.G.J. Langeveld
  37.  
  38.                 Stanford Linear Accelerator Center
  39.  
  40.  
  41. General
  42. =======
  43.  
  44.     The most prominent features of this release are in the Tektronix
  45. emulation. The VT100 part only suffered minor changes. This means, that
  46. VLTjr isn't very different from the previous version, 4.226.
  47.     VLT's Tektronix emulation was rewritten to a considerable degree. In
  48. particular, it now supports almost all of the Tektronix 4105 escape
  49. sequences, with some obvious extensions to Tektronix 4107. About the only
  50. unsupported feature is the "dialog area" and all commands associated with
  51. it. A few highlights of the supported feautures: area fills (panels)
  52. including all 16 Tek-style textures and 125 dithering patterns; scaled and
  53. rotated (90/180/270 degrees) fonts using new strokefont libraries; almost
  54. full support of Tek-style "pixel operations" (bitmaps); and full support for
  55. all this in the PostScript output.
  56.     Let's first discuss the minor changes in the VT100 part.
  57.  
  58. VT100 changes.
  59. ==============
  60.  
  61.     The menu options "Program Mode On/Off" no longer have keyboard
  62. abbreviations (they used to be right-Amiga "(" and ")"). This is because
  63. under AmigaDOS 1.3 and before, right-Amiga ")" is interpreted by Intuition
  64. as being identical to right-Amiga <tab> (used for the Edit/Send feature of
  65. the review buffer). This turns out to be not an Intuition bug, but a
  66. "documented misfeature". In order to avoid confusion, I decided that it was
  67. better to leave the right-Amiga <tab> for Edit/Send.
  68.     A minor fix was made to the script command "REVIEW X". It now also
  69. works after a search has been successfully completed using the menu.
  70.     A few things were fixed in the External Protocol (XPR) support.
  71. XPR's are now opened after downcasing their names, so that there are no more
  72. problems with entering XPR names with mixed case. A few esthetical changes
  73. were made to the support of XPR options of type COMMAND and COMMPAR (these
  74. were hitherto untested). Also, the auto-screen-to-back feature now works for
  75. xprzmodem downloads. A few other little things were fixed that shouldn't
  76. affect anything...
  77.     In the transition to the previous version (4.226) the Kermit code
  78. acquired a bug involving the status window. This caused random crashes when
  79. certain things happened during Kermit transfers. This problem is now fixed.
  80. Also, the status windows for Kermit and XMODEM now display the correct 
  81. protocol name in all (?) cases. The Kermit Bye command turns out to have
  82. been broken all along. It used to increment the current "packet number" and
  83. use it, rather than always using packet number 0 as the Kermit docs say it
  84. should. This also was fixed.
  85.     The VT100 escape sequences <csi>8h and <csi>8l are now supported.
  86. These turn on and off automatic key repeat. This option is now also 
  87. available from the "Operations" menu.
  88.     The Device Control String (DCS) is now correctly interpreted, but
  89. ignored. DCS is the sequence <esc>P followed by a string that changes e.g.
  90. the function keys, and concluded by the sequence <esc>/ .
  91.  
  92.     If there's any major new feature, it has to be that "Mouse Support"
  93. is now programmable. When in program mode, selecting the menu option "Mouse
  94. Support" causes a string requester to appear that allows you to enter a
  95. mouse support control string. The string may be any valid string, and it may
  96. contain ARP style escapes. It may also contain up to 6 C-style % escapes,
  97. causing substitution of 6 arguments: in order of substitution these
  98. arguments are (1) current mouse y position, (2) current mouse x position,
  99. (3) current cursor y position, (4) current cursor x position, (5) current
  100. number of lines on screen and (6) current number of columns on the screen.
  101. The simplest example of using this feature is the case where the host can
  102. accept unsollicited cursor position reports (CPR's). In that case, the
  103. string might be:
  104.  
  105.     *E[%d;%dR
  106.  
  107. This string starts with *E, which will be interpreted as an escape character
  108. (decimal 27), and then a square opening bracket (these two together are also
  109. known as the <csi> sequence). Next is the first %d : this means that at this
  110. point the current mouse Y position will be substituted. Then follows a
  111. semi-colon, and then another %d. Here the current mouse X position is
  112. substituted. The sequence ends with a capital R. The effect of entering this
  113. sequence is, that when Mouse Support is on and the left mouse button is
  114. depressed, this sequence will be sent to the host after substituting current
  115. values (e.g. <esc>[26;68R).
  116.     The mouse support control string is also programmable from the
  117. scripting language: just add it to the "mouse on/off" command:
  118.  
  119.     mouse on *E[%d;%dR
  120.  
  121. An interesting example is given in the two new example scripts vltmouse.rexx
  122. and vltmouse.vlt. In vltmouse.vlt, first the program vltmouse.rexx is
  123. started up asynchronously. Then VLT's mouse support  control string is
  124. programmed to send all six possible arguments to the ARexx port called
  125. VLTMOUSE, which is created by vltmouse.rexx. From that moment on, whenever the
  126. mouse is clicked on VLT's screen, the relevant numbers are sent to this port.
  127. The rest of vltmouse.rexx parses the numbers, and queries VLT's review buffer
  128. to find out which line of text is at that mouse location. Altogether, these
  129. two little programs make for a very nice "command-line edit/retry" setup.
  130.     The possibilities of this are rather interesting...
  131.  
  132.  
  133.  
  134.  
  135. Tektronix Changes.
  136. ==================
  137.  
  138.     Below is a list of the Tektronix escape sequences that are now
  139. supported - with comments where necessary.
  140.  
  141.  
  142. ------------------Tektronix 4105/4107 support ---------------------------
  143.  
  144. <esc> IQ  <Report-Terminal-Settings>
  145.     - All unsupported reports will return a single 0 report.
  146.       Supported reports: TF, TG, %!, ?T, ?M.
  147.  
  148. <esc> KC  <Cancel>
  149.  
  150. <esc> KI  <Ignore-Deletes>
  151.  
  152. <esc> KQ  <Report-Errors>
  153.     - Only a single error is kept track of, and only the last occurrence.
  154.       The most likely error code is 00: not implemented. Only a few
  155.       commands will generate other error conditions.
  156.  
  157. <esc> LE  <End Panel>
  158.  
  159. <esc> LF  <Move>
  160.  
  161. <esc> LG  <Draw>
  162.  
  163. <esc> LH  <Draw-Marker>
  164.  
  165. <esc> LP  <Begin-Panel-Boundary>
  166.  
  167. <esc> LT  <Graphic-Text>
  168.     - Graphic text is always drawn using a stroke font. Alpha mode text
  169.       uses the default Amiga text font, except in zoom or pan mode.
  170.  
  171. <esc> MC  <Set-Graphtext-Size>
  172.     - 4107 extension: since graphic text is drawn using a stroke font,
  173.       all sizes are allowed.
  174.  
  175. <esc> MG  <Set-Graphics-Area-Writing-Mode>
  176.  
  177. <esc> ML  <Set-Line-Index>
  178.     - 4107 extension: colors 8 through 15 are supported.
  179.  
  180. <esc> MM  <Set-Marker-Type>
  181.     - Markers are drawn using a stroke font and don't exactly match the
  182.       Tektronix ones. In the PostScript output they match better.
  183.  
  184. <esc> MN  <Set-Character-Path>
  185.  
  186. <esc> MP  <Select-Fill-Pattern>
  187.     - 4107 extension: colors 8 through 15 are supported (patterns -8
  188.       through -15)
  189.  
  190. <esc> MR  <Set-Graphtext-Rotation>
  191.     - Conform 4105 standard, only 0, 90, 180, and 270 degrees are
  192.       supported.
  193.  
  194. <esc> MT  <Set-Text-Index>
  195.     - 4107 extension: colors 8 through 15 are supported.
  196.  
  197. <esc> MV  <Set-Line-Style>
  198.  
  199. <esc> NU  <Set-Bypass-Cancel-Character>
  200.     - This character can also be set using a new menu option.
  201.  
  202. <esc> NT  <Set-EOL-String>
  203.     - This string can also be set using a new menu option.
  204.  
  205. <esc> RA  <Set-View-Attributes>
  206.  
  207. <esc> RH  <Set-Pixel-Beam-Position>
  208.  
  209. <esc> RL  <Runlength-Write>
  210.  
  211. <esc> RP  <Raster-Write>
  212.  
  213. <esc> RR  <Rectangle-Fill>
  214.  
  215. <esc> RS  <Set-Pixel-Viewport>
  216.     - 4107/Amiga extension: the full range of addressable pixels 
  217.       available in the current window/screen is available.
  218.  
  219. <esc> RU  <Begin-Pixel-Operations>
  220.  
  221. <esc> RW  <Set-Window>
  222.     - Only windows that preserve the aspect ratio are allowed. Windows
  223.       that don't preserve the aspect ratio are rescaled until they do.
  224.  
  225. <esc> RX  <Pixel-Copy>
  226.     - Only straight copies are supported. Copies where the second
  227.           source x and/or y coordinate is/are smaller than the first
  228.       will be performed after sorting the coordinates.
  229.  
  230. <esc> TG  <Set-Surface-Color-Map>
  231.     - 4107 extension: Surface -1 is supported, as well as colors
  232.       8 through 15.
  233.  
  234. <esc> TM  <Set-Color-Mode>
  235.     - 4107 extension. RGB, HLS and CMY color coordinate systems are all
  236.       supported, both in setting color maps as in color reports.
  237.  
  238. <esc> %!  <Select-Code>
  239.  
  240. <esc> #!  <Report-Syntax-Mode>
  241.  
  242.  
  243. -------------------------------------------------------------------------
  244.  
  245.     In order to support these new capabilities, the Tektronix escape
  246. parser was once again rewritten. It now knows about all escape sequences
  247. employed by Tektronix 4105/4107/4110/4112/4114/4205/4207 terminals, although
  248. it of course only takes appropriate action on the ones listed in the table
  249. above: all others are parsed but ignored. In the process, the escape parsers
  250. of the Tektronix and VT100 parts of VLT were somewhat better integrated:
  251. sequences not handled by the Tektronix part are handed to the VT100 part,
  252. although the reverse is not true. When this happens, control reverts back to
  253. the VT100 part of the program, although the VT100 screen does not
  254. automatically come to the front in order to prevent unnecessary rapid screen
  255. flipping that would otherwise take place. This also means that occasionally
  256. the user will have to flip back to the VT100 screen "by hand". The usual
  257. escape sequences (documented elsewhere) that are designed to flip back to
  258. the VT100 screen still work, though.
  259.     Another major change is that the "Preferences Requester" is no more.
  260. Too many options had to be changed/added, and it was more expedient to go
  261. with menus. Therefore, there is now an "Operations" menu. The following
  262. table summarizes what the various options do.
  263.  
  264. ------------------Tektronix Operations Menu------------------------------
  265.  
  266. Tek Emulation        - Set emulator mode.
  267.   4010/4014        - Allow standard 4010/14 commands only.
  268.   4105/4107        - Support most 4105 and some 4107 series commands.
  269.             * Note: Leave this set to 4105/4107 unless your
  270.             * host computer's actions lead you to believe
  271.             * otherwise.
  272.  
  273. GIN Report Style    - Style of xy report to host in graphic cursor mode.
  274.   4010            - Use 4010 style "four-character" report.
  275.   Extended        - Use "five-character" report.
  276.                         * Note: 4105's use the 4010 style report. It is
  277.             * unlikely your system would be happy with the
  278.             * extended report.
  279.  
  280. Report EOL String    - End-of-line string used in reports to the host.
  281.   CR            - Use a single <cr> (decimal 13) to end reports.
  282.   CR/EOT        - Use a <cr> and an <eot> (decimal 4).
  283.   LF            - Use a <lf> (decimal 10).
  284.   CR/LF            - Use a <cr> followed by a <lf>.
  285.   None            - Don't use any end-of-line characters.
  286.   Set By Host        - Allow the host to set the EOL string.
  287.             * Note: The default is <cr>. which is factory
  288.             * setting of Tektronix 4105's. If you experience
  289.             * problems, first try allowing the host to set the
  290.             * EOL string.
  291.  
  292. Bypass Cancel Character    - Character from host that cancels Bypass mode.
  293.   CR            - <cr>
  294.   LF            - <lf>
  295.   None            - None: terminal does not enter Bypass.
  296.   Set By Host        - Allow the host to set the Bypass Cancel Character.
  297.             * Note: Bypass mode is used to prevent reports from
  298.             * being echoed to the screen. If your host doesn't
  299.             * echo reports, set it to None. Otherwise, set it
  300.             * to be the same as the *last* character of the EOL
  301.             * string, see above. In case of trouble, try letting
  302.             * the host set it. Default is <cr>, the same as the
  303.             * EOL string.
  304.  
  305. Mouse Report Character    - Character to head the GIN report sent to the host.
  306.             * Note: Standard Tektronix 4105's require a space
  307.             * character when their mouse is used. When another
  308.             * printable character is used, the host likely
  309.             * thinks you're using the keyboard. The default now
  310.             * is a space character.
  311.  
  312. Incremental Mode Step    - Step size to use when in incremental mode.
  313.   1/1024        - One unit in 1024 x 1024 coordinate space.
  314.   1/4096        - One unit in 4096 x 4096 coordinate space.
  315.             * Note: Incremental mode isn't used very often, and
  316.             * is only available on 4010/4014 terminals. If your
  317.             * application uses this, you will have to experiment
  318.             * to see which setting to use. Most likely: 1/1024.
  319.  
  320. Adjust Display Size    - Adjust the display sizes used by the emulator.
  321.   Width            - Adjust width.
  322.   Height        - Adjust height.
  323.             * Note: Normally, the display sizes used are those
  324.             * of the current screen. If this causes problems with
  325.             * the aspect ratio on your monitor or you want to
  326.             * achieve special effects, play with these numbers.
  327.             * They are only used when the emulator is on its own
  328.             * custom screen: on the Workbench the window size is
  329.             * used.
  330.  
  331. Use Duplex Stroke Font    - Usage of the duplex stroke font.
  332.   Never            - Always use only the simplex font.
  333.   In Zoom        - Allow use of the duplex font in zoom/pan.
  334.             * Note: The duplex font is considerably slower than
  335.             * the simplex font, and also consumes some disk space.
  336.             * Therefore, you may want to set this option to 
  337.             * Never. On the other hand, in zoomed mode this font
  338.             * looks considerably nicer than simplex. If you have
  339.             * sufficient disk space, install duplexfont.library
  340.             * and set this option to In Zoom. The font is not
  341.             * legible in unzoomed mode, hence there is no such
  342.             * option. Note also, that in Tektronix "alpha" mode,
  343.             * the current default Amiga font is used, unless in
  344.             * zoom or pan.
  345.  
  346. Set Default Parameters    - Restore all parameters to:
  347.   Last Saved        - the last saved defaults, or:
  348.   Original        - the "factory installed" defaults.
  349.  
  350. Save Tek Configuration    - Save the current settings to TekPrefs.dat
  351.             * Note: This only saves the configuration of the
  352.             * Tektronix part of VLT. The VT100 configuration
  353.             * is separately controlled from the VT100 screen's
  354.             * menu.
  355.  
  356. -------------------------------------------------------------------------
  357.  
  358.  
  359.     A considerable amount of effort went into the PostScript support.
  360. Virtually everything supported by VLT's Tektronix emulator is also supported
  361. in the PostScript output, with the exception of the Pixel Copy operation: it
  362. only generates black rectangles.
  363.     The code has been extensively tested on files from a variety of
  364. sources. In particular, it works satisfactorily with SAS/GRAPH in 4105 and
  365. 4107 modes (and it seems that 4205 and 4207 are treated by SAS/GRAPH the
  366. same as 4105/4107).
  367.     *NOTE* When using VLT as a Tektronix 4107 emulator, you will most
  368. likely need to run with a 16 color screen. Some Amigas have a big problem
  369. keeping up with serial device input when a heavily overscanned or 16-color
  370. screen is used, and you may therefore experience rather nasty glitches in
  371. the display. If this is the case, you can always set the display to 8 colors
  372. during transmission from the host, and then redisplay the picture (using
  373. e.g. Reset Zoom/Pan) in 16-color mode.
  374.  
  375.     Aside from the major changes mentioned above, a few minor fixes were
  376. made. The checkmarks for the Fix Colors and Mask Colors menu options are now
  377. correctly updated. A possible problem with the Tektronix capture file was
  378. fixed. Some changes were made to the behaviour of the alpha mode cursor.
  379. When two VLT programs are active at the same time, conflicts in naming the
  380. Tektronix capture file are now resolved.
  381.  
  382.  
  383.     Willy Langeveld, 2 January 1990
  384.