home *** CD-ROM | disk | FTP | other *** search
/ 17 Bit Software 1: Collection A / 17Bit_Collection_A.iso / files / 68.dms / in.adf / Wtp.doc < prev    next >
Encoding:
Text File  |  2008-06-07  |  38.5 KB  |  949 lines

  1.  
  2.  
  3.  
  4.  
  5.             the Wombat Terminal Program (WTP)
  6.             Amiga Version 3.01, November 1986
  7.               Documentation file "Wtp.doc"
  8.  
  9.  
  10.         Both this document and the executable file "Wtp" are
  11.             Copyright (C) 1986 by Dave Warker
  12.                 (who is Wombat Software.)
  13.  
  14.                 Delphi:     DAVEWARKER
  15.                 Compuserve: 70406,626
  16.  
  17.  
  18.  
  19.  
  20.     THE PROGRAM "the Wombat Terminal Program (Wtp)" AND IT'S DOCUMENTATION
  21.     ARE DISTRIBUTED FREE OF CHARGE.  THE AUTHOR AND COPYRIGHT HOLDER GRANTS
  22.     PERMISSION FOR ANYONE TO DISTRIBUTE COPIES OF THESE FILES PROVIDED THEY
  23.     ARE DISTRIBUTED FREE OF CHARGE AND NO LIMITATION IS PLACED ON FURTHER
  24.     REDISTRIBUTION.
  25.  
  26.  
  27.     1.  What and why is "Wtp"?
  28.         a. General features.
  29.         b. Distributed files.
  30.         c. Required system resources.
  31.         d. Optional system resources.
  32.         e. Running Wtp.
  33.  
  34.     2.  Communications Port Settings.
  35.         a.  Baud rate.
  36.         b.  Character format (size & parity.)
  37.         c.  Stop bits.
  38.         d.  XON/XOFF handshaking.
  39.  
  40.     3.  User Preferences.
  41.         a.  Cursor style.
  42.         b.  Bell options.
  43.  
  44.     4.  User Programmable Function Keys.
  45.  
  46.     5.  VT-102 Terminal Emulation:
  47.         a.  Supported features.
  48.         b.  Unsupported features.
  49.         c.  Extensions and differences.
  50.  
  51.     6.  File Transfers:
  52.         a.  Text capture.
  53.         b.  XMODEM transmission.
  54.  
  55.     7.  Auto-dialing.
  56.  
  57.     8.  Wtp Saved Settings Files.
  58.         a.  Saving current settings.
  59.         b.  Reloading settings.
  60.  
  61.     9.  Miscellaneous Features.
  62.  
  63.     A.  Revision history:
  64.         a.  Changes from Version 2 to Version 3.
  65.  
  66.     B.  Things You Probably Didn't Want to Know:
  67.         a.  Format of saved Settings file.
  68.  
  69.  
  70. 1.  What and Why is Wtp?
  71.     ---- --- --- -- ---
  72.  
  73.     "Wtp" is a terminal emulation program which (currently) only runs on
  74. the Commodore Amiga (tm) personal computer.  Why it was written is basically
  75. because it's author wanted to learn how to use the many wierd and wonderfull
  76. capabilities of the Amiga and terminal programs are something he has had
  77. some appreciable experience writing.  Also, at the time when Wtp was started,
  78. available Amiga terminal programs were very limited (now we have lots and lots
  79. of the little buggers of just about any concievable combination of features.)
  80.  
  81.     a. General Features of Wtp:
  82.        ------- -------- -- ---
  83.  
  84.     - DEC VT-102 terminal emulation.  "Wtp" provides a very complete emulation
  85.       including:  all editing functions, keypad & function keys, character sets
  86.       including special graphics and line drawing, VT-52 emulation, video
  87.       atributes, tabs and other functions. See the section on VT-102 compat-
  88.       ibility for a more complete list. The VT102 emulation has been tested
  89.       with EDT, Emacs and a special compatibility tester.
  90.  
  91.     - Both XMODEM & text capture file transfers.  A fast XMODEM receive option
  92.       is also provided.
  93.  
  94.     - Programmable function keys.
  95.  
  96.     - Supports baud rates to 19200 and various character formats.
  97.  
  98.     - Options for visual, tone or speech bell. Speech bell phoneme string
  99.       is user-programmable.  Several cursor styles are supported.
  100.  
  101.     - Auto-dialing.
  102.  
  103.     - Saving and loading of settings files which include the function keys,
  104.       communications, transfer & user preference options and an auto-dial
  105.       phone number. Can auto-dial on load of a settings file.
  106.  
  107.  
  108.     b. Distributed Files:
  109.        ----------- -----
  110.  
  111.     NOTE: Wtp is distributed FREE OF CHARGE!
  112.  
  113.     The "Wtp" distribution for version 3 consists of the following files:
  114.  
  115.     "Wtp"               the executable file for Wtp.
  116.     "Wtp.inf"           an Icon file for Wtp, -- RENAME TO "Wtp.info" --
  117.     "Wtp.doc"           this documentation file.
  118.     "sgTopaz.fnt"       modified Topaz font which includes special graphics.
  119.     "sgTopaz.8"         additional font data for "sg_topaz".
  120.     "InstalSg"          EXECUTE file to install "sg_topaz" in FONTS: directory.
  121.  
  122.     The "sg_Topaz" files are only required if the VT-102 special graphics
  123.     character set is desired.
  124.  
  125.  
  126.     c. Required System Resources:
  127.        -------- ------ ---------
  128.  
  129.     Basic use of "Wtp" will require the presence of the following system
  130.     resources:
  131.  
  132.         "DEVS:serial.device"     serial port driver.
  133.  
  134.  
  135.     d. Optional System Resources:
  136.        -------- ------ ---------
  137.  
  138.     Some features require the presence of additional system resources:
  139.  
  140.     Use of the VT-102 special graphics character set:
  141.         "FONTS:sg_Topaz.font"       Modified font containing special graphics.
  142.         "FONTS:sg_Topaz/8"          (both are provided in this package.)
  143.  
  144.     Use of the speech bell:
  145.         "DEVS:narrator.device"      Speech output device.
  146.  
  147.  
  148.     e. Running Wtp:
  149.        ------- ---
  150.  
  151.     Wtp may be started from either the CLI or Workbench, though the CLI is
  152. currently the only way to start Wtp with a non-default Settings file. Support
  153. for Workbench settings icons will be added if the demand is high enough.
  154.  
  155.     Workbench start:
  156.         double click on the Wtp "wombat" icon.
  157.  
  158.     CLI start:
  159.         enter:  "wtp <settings>", where <settings> is the optional file path
  160.             for an existing Wtp saved settings file which will be used for the
  161.             default settings after Wtp loads.
  162.  
  163. If no settings file is specified Wtp will search the current directory and then
  164. the directory "SYS:wtp" for a settings file named "default.wtp". If found it's
  165. contents will be used for the default settings, otherwise a reasonable set of
  166. default values hardwired into Wtp will be used.
  167.  
  168.      When Wtp finishes loading you should see a blank screen with a cursor
  169. in the upper left corner and with the current time displayed on the bottom
  170. (status) line with the elapsed session time, which will be 00:00 hours,
  171. to the right.  If instead you see an alert box then Wtp could not start up
  172. due to lack of some required resource.  The possible alerts are:
  173.  
  174.     "Can't open window"
  175.     Wtp could not open the Intuition window to be used for it's
  176.     output. Probably due to a lack of memory.
  177.  
  178.     "Can't get cursor sprite"
  179.     The cursor used in Wtp is actually a hardware sprite. You may
  180.     get this error if some other application has grabbed up all
  181.     the available sprites.
  182.  
  183.     "Can't open timer"
  184.     "Can't open serial Port"
  185.     There was insufficient memory to allocate the MsgPorts or
  186.     IORequests needed for serial or timer device operation, or
  187.         the "serial.device" file is not present on the system.
  188.  
  189.      If you do not get an Alert you are up and running and should peruse
  190. the menu options to inspect/change the settings as needed.
  191.  
  192.      Note that the session time is the elapsed time, in hours and minutes,
  193. since you started the current call or since you reset it via the "reset
  194. session time" menu option.  The current time is displayed in standard
  195. Amiga 24 hour format.
  196.  
  197.  
  198. 2.  Communications Port Settings:
  199.     -------------- ---- --------
  200.  
  201.     Wtp uses the built-in serial port for communications.  The settings
  202. controlling serial port operation are placed in the "Port" menu.  All serial
  203. port settings are saved in "Settings" files. Wtp will restore the serial port
  204. back to your Preferences settings when it exits.
  205.  
  206.     a. Baud Rate:
  207.        ---- ----
  208.  
  209.     The "baud rate" menu item sets the receive and transmit speed. Available
  210. rates are: 300, 600, 1200, 2400, 4800, 9600 & 19200.  Note that while Wtp can
  211. communicate at all these speeds, it cannot display characters faster than
  212. about a 4800 baud rate.  This means that you will have to use XON/XOFF hand-
  213. shaking or padding characters for 9600 and 19200 baud operation.
  214.  
  215. The default baud rate is 1200 baud.
  216.  
  217.  
  218.     b.  Character Format:
  219.         --------- ------
  220.  
  221.     Character format refers to the size, in bits, of transmitted and received
  222. characters: 7 or 8 bits, and also to the optional parity bit appended to the
  223. characters.  Available parity modes are:
  224.  
  225.     "no parity"             No parity bit sent.
  226.     "even parity"           Parity bit set to keep count of 1 bits even.
  227.     "odd parity"            Parity bit set to keep count of 1 bits odd.
  228.     "space parity"          Parity bit is set to 0.
  229.     "mark parity"           Parity bit set to 1.
  230.  
  231. Most systems can use either "7 bits/space parity" or "8 bits/no parity."
  232.  
  233. The default character format is "7 bits/space parity."
  234.  
  235.  
  236.     c.  Stop Bits:
  237.         ---- ----
  238.  
  239.     Stop bits are 1 bits appended to the end of transmitted characters which
  240. separate successive characters.  The receiver hardware uses stop bits to
  241. determine that it has reached the end of the current character.  Most systems
  242. expect 1 stop bit, though will work fine with 2 but at a lower rate since the
  243. time to send the extra stop bit eats up available transfer time.  There is
  244. normally no need to run with 2 stop bits but the capability has been provided
  245. in the event that some system requires it.
  246.  
  247.     Note that due to hardware limitations within the Amiga serial port, you
  248. cannot specify 2 stop bits if you have specified 8 data bits AND a parity bit.
  249. Wtp allows you to make the selection but only 1 stop bit will actually be used.
  250.  
  251. Default value is 1 stop bit.
  252.  
  253.  
  254.     d.  XON/XOFF Handshaking:
  255.         -------- -----------
  256.  
  257.     Some terminal functions take longer than a single character transmission
  258. time to execute, therefore the potential exists for the host system to send
  259. data so fast to the terminal that the internal 512 character buffer is
  260. overflowed causing the loss of some data.  Also some systems can lose data
  261. sent by the terminal (especially from function keys) if it is sent too fast.
  262. To prevent loss of data, most systems will respond to and (possibly) also
  263. generate XON/XOFF handshaking.
  264.  
  265.     If either the terminal or the host are falling behind too far they sen
  266. an XOFF character (CONTROL-S) to the other device which then stops sending.
  267. When the receiving device has caught up it then sends an XON character
  268. (CONTROL-Q) and the sending device then continues sending data.
  269.  
  270.     Wtp will both send and receive the XON/XOFF handshaking protocol based
  271. on the setting of the option in the "Port" menu.
  272.  
  273.     Note that XMODEM transmission does not require XON/XOFF handshaking and
  274. will temporarily turn it off during an XMODEM send or receive transfer.
  275.  
  276. The default setting is XON/XOFF handshaking turned on.
  277.  
  278.  
  279. 3.  User Preferences:
  280.     ---- -----------
  281.  
  282.     Wtp maintains several options which are basically user preference items.
  283. The settings of all these options are preserved in saved Settings files.
  284.  
  285.  
  286.     a.  Cursor style:
  287.         ------ -----
  288.  
  289.     Cursor styles available in the "Screen" menu:
  290.  
  291.     "solid underline"       two pixel line at bottom of character.
  292.     "solid box"             hollow box around character.
  293.     "blink underline"       blinking version of solid underline.
  294.     "blink box"             blinking version of solid box.
  295.  
  296.     Note that the blink rate is fixed. No menu option is given to change
  297. the blink rate but the actual rate is stored in Settings files and may be
  298. changed with a binary file editor.  See section "B" for placement of the
  299. blink rate in the settings file.
  300.  
  301.  
  302.     b.  Bell Options:
  303.         ---- -------
  304.  
  305.     Several different bell options are provided in the "Screen" menu:
  306.  
  307.     "visual"        Screen will be flashed.
  308.     "beep"          A 1 khz square wave tone is sounded 7{\27R\0d\27R\7|\27R\0\27R\6|\27R\0o\8'o\8\27S\000^\27To\8\27R\7{\27R\0\27R\2|\27R\0/\27R\4|\27R\0\27R\6\96\27R\0u\8'u\8\27S\000^\27T\27R\2}\27R\0y\8'ty\8\27R\7{\27R\0쬸´°¬¨¤ œ˜”Œˆ„€|xtplhd`\XTPLHD@<840,($  üøôðìèäàÜØÔÐÌÈÄÀ¼¸´°¬¨¤ ives a BELL character (CONTROL-G):
  309.         the default phrase is "Attention", though the actual phoneme string
  310.         spoken can be edited through the "edit speech bell" item in the
  311.         "Screen" menu. Note that nothing will be spoken if you enter an
  312.         illegal phoneme string.  See the ROM Kernel Manual for phoneme
  313.         formats.
  314.  
  315.     2. At the end of an XMODEM send file transfer:
  316.         "upload complete."
  317.  
  318.     3. At the end of an XMODEM receive file transfer:
  319.         "download complete."
  320.  
  321.     4. On 1st, and every 10th error during XMODEM file transfer:
  322.         "error."
  323.  
  324.     5. When XMODEM file transfer is aborted by user or too many errors:
  325.         "transfer aborted."
  326.  
  327.     6. When a new Settings file is loaded & when bell type set to "speech":
  328.         "ok."
  329.  
  330.     7. At end of XMODEM receive in fast mode if an error occurred:
  331.         "file is not complete."
  332.  
  333.     8. If VT-102 keyboard lock is in effect and a key is pressed:
  334.         "keyboard is locked."
  335.  
  336.  
  337. 4.  User Programmable Function Keys:
  338.     ---- ------------ -------- ----
  339.  
  340.     Wtp allows character strings to be attached to all ten function keys in
  341. both shofted and unshifted form.  Each definition may be up to 256 bytes long.
  342. All definitions are saved in a Settings file when the "Save Settings" menu
  343. option is executed and will be restored by a "Load settings".
  344.  
  345.  
  346.     a.  Programing a Function Key:
  347.         ---------- - -------- ---
  348.  
  349.     Any unprogrammed function key, and by default this is all ten, will
  350. transmit a VT-102 compatible function key ID string (see section 5 for details)
  351. To program a string onto a function key you press either the left or right
  352. AMIGA keys and the function key to br programmed.  Pressing the SHIFT key too
  353. will program the shifted version of the function key.
  354.     A string requester will pop up on the screen with a text box showing the
  355. current string programmed on the specified key.  Click in the text box to
  356. activate it and then enter or edit the definition for that key.  The following
  357. special character sequences are recognized:
  358.  
  359.     '^ch' (up-arrow followed by a character 'ch'):
  360.         Enters a control character into the string. 'ch' should be a character
  361.         between 'A' and '_'. Examples:
  362.             '^M' inserts a carriage return (CONTROL-M),
  363.             '^[' inserts an ESCAPE.
  364.  
  365.     '\^' (backslash up-arrow):
  366.         Enters a single up-arrow in the string.
  367.  
  368.     '\\' (backslash backslash):
  369.         Enters a single backslash.
  370.  
  371. Press RETURN or click the 'OK' box to accept the definition. Clicking in the
  372. 'Cancel' box will abort the changes made to that key.  Any characters entered
  373. beyond the 256th will be dropped.  Enter an empty string to return a function
  374. key back to it's VT102 definition.
  375.  
  376.  
  377.     b.  Invoking a Programmed Function Key:
  378.         -------- - ---------- -------- ---
  379.  
  380.     Just press the function key or SHIFT and the function key and the
  381. programmed string will be transmitted out and also echoed to the screen if
  382. local echo is turned on.
  383.  
  384.  
  385. 5.  VT-102 Terminal Emulation:
  386.     ------ -------- ---------
  387.  
  388.     Wtp emulates many of the features of the DEC VT-102 terminal, too many to
  389. fully detail here.  All supported control and escape sequences will be listed
  390. but you should refer to a VT-102 manual for detailed functioning of each
  391. command.  Detailed info is given for areas where the Wtp implementation differs
  392. from the VT-102.
  393.  
  394.  
  395. a.  Supported Features:
  396.     --------- --------
  397.  
  398.     KEYBOARD FUNCTIONS:
  399.     -------- ---------
  400.  
  401. Function keys:
  402.     VT-102 function keys PF1 through PF4 are supported as Amiga keys F1 - F4
  403.     in all VT-102 modes including application and VT-52.  Additionally, Amiga
  404.     keys F5 through F10 generate sequences which are similar to and extensions
  405.     of the standard four function keys. F1 through F4 use generate final char-
  406.     acters in the range 'P' through 'S', F5 through F10 use 'T' through 'Y'.
  407.  
  408. Cursor arrow pad:
  409.     Fully supported in all VT-102 modes.
  410.  
  411. Numeric keypad:
  412.     Fully supported in all VT-102 modes.  The missing keypad comma (,) key can
  413.     be generated by pressing the ALT key and the keypad period (.) key.
  414.  
  415. Short and long BREAK generation:
  416.     Supported on the Amiga 'HELP' key as follows: 'ALT HELP' = short break,
  417.     'SHIFT ALT HELP' = long break.
  418.  
  419. Keyboard related control sequences:
  420. (* = also available in the 'Screen' menu)
  421.     ESC [ 2 h/l     lock/unlock keyboard
  422.     ESC [ 12 h/l   *turn on/off keyboard local echo
  423.     ESC [ 20 h/l   *enable/disable linefeed newline
  424.     ESC [ ? 1 h/l   cursor pad application mode on/off
  425.     ESC [ ? 2 l    *enter VT52 mode (changes pad sequences.)
  426.     ESC [ ? 8 h/l  *enable/disable keyboard auto-repeat
  427.     ESC =           set keypad application mode (VT102 & VT52 modes)
  428.     ESC >           set keypad numeric mode (VT102 & VT52 modes)
  429.  
  430.  
  431.     CHARACTER SETS:
  432.     --------- ----
  433.  
  434.     Character set mapping and selection are supported.  The special character
  435. and line drawing character set is supported if the optional character set
  436. "sg_Topaz" exists in the FONTS: directory.  The default mappings are:
  437. G0 = US ASCII set, G1 = special characters & line drawing set.
  438.  
  439. Character set mapping and selection sequences:
  440.     SO (CONTROL-N)      selects G1 set as current set.
  441.     SI (CONTROL-O)      selects G0 set as current set.
  442.     ESC ( x             maps character set 'x' as current G0 set,
  443.     ESC ) x             maps character set 'x' as current G1 set:
  444.                         'x' = 'A' for the UK character set (mapped to US set)
  445.                             = 'B' for the US character set
  446.                             = '0' for the special graphics set
  447.                             = '1' for alternate ROM set (treated same as 'B')
  448.                             = '2' for alternate ROM special chars (same as '0')
  449.     ESC F               in VT52 mode, selects special graphics set.
  450.     ESC G               in VT52 mode, selects normal US set.
  451.  
  452.  
  453.     VIDEO ATTRIBUTES:
  454.     ----- ----------
  455.  
  456.     Fully supported, though the blinking attribute is mapped as a color change
  457. since fully supporting blinking would require more than 2 color planes. Normal
  458. color usage is: character foreground = color reg 1, character background =
  459. color reg 0.
  460.  
  461. Video attribute sequences:
  462.     ESC [ attr; attr; ... m     Select video attributes, 'attr's are:
  463.                                 0 = reset all attributes to normal
  464.                                 1 = bold on (color register 2)
  465.                                 4 = underline on
  466.                                 5 = blink on (color register 3)
  467.                                 7 = inverse video on
  468.  
  469.     example: 'ESC[0;1;7m'     selects inverse bold video.
  470.  
  471.  
  472.     CURSOR MOVEMENT:
  473.     ------ --------
  474.  
  475. Cursor movement sequences:
  476. (* = also available in 'Screen' menu)
  477.     BS (CONTROL-H)          backspace
  478.     HT (CONTROL-I)          horizontal tab to next tab stop
  479.     LF (CONTROL-J)          line feed, scroll if bottom of scroll region.
  480.     VT (CONTROL-K)          vertical tab, same as LF.
  481.     FF (CONTROL-L)          form feed, same as LF.
  482.     CR (CONTROL-M)          carriage return, move cursor to column 1.
  483.  
  484.     ESC [ ? 6 h/l           set screen origin to scroll region/screen.
  485.     ESC [ ? 7 h/l          *enable/disable auto-wrap at right margin.
  486.     ESC [ 'top' ; 'bot' r   set scrolling region bounds, ex: 'ESC[1;12r'
  487.     ESC [ 'count' A         cursor up 'count' lines.
  488.     ESC [ 'count' B         cursor down 'count' lines.
  489.     ESC [ 'count' C         cursor right 'count' lines.
  490.     ESC [ 'count' D         cursor left 'count' lines.
  491.     ESC [ 'row' ; 'col' H   position cursor to 'row', 'col', eg: ESC[H homes.
  492.     ESC [ 'row' ; 'col' f   same as position cursor above.
  493.  
  494.     ESC D                   perform a line feed
  495.     ESC M                   reverse line feed, scroll at top of scroll region.
  496.     ESC E                   new line, same as CR then LF.
  497.     ESC 7                   saves cursor position, attributes, char sets.
  498.     ESC 8                   restores cursor position, etc.
  499.     ESC H                   set a tab stop at current cursor position.
  500.     ESC [ g or ESC [ 0 g    clear tab stop at current position.
  501.     ESC [ 3 g               clear all tab stops.
  502.  
  503.  
  504.     EDITING FUNCTIONS:
  505.     ------- ---------
  506.  
  507. Editing sequences:
  508. (* = also available in 'Screen' menu)
  509.     ESC [ K or ESC [ 0 K    erase to end of line.
  510.     ESC [ 1 K               erase start of line to cursor.
  511.     ESC [ 2 K               erase entire line.
  512.     ESC [ J or ESC [ 0 J    erase cursor to end of screen.
  513.     ESC [ 1 J               erase start of screen to cursor.
  514.     ESC [ 2 J              *erase entire screen.
  515.  
  516.     ESC [ 4 h/l             turn insert mode on/off.
  517.     ESC [ 'count' P         delete 'count' chars from line at cursor pos.
  518.     ESC [ 'count' L         insert 'count' lines above cursor in scroll region.
  519.     ESC [ 'count' M         delete 'count' lines at cursor in scrolling region.
  520.  
  521.  
  522.     REPORTS:
  523.     -------
  524.  
  525.     All reports are supported, though some simply send fixed responses.
  526.  
  527. Report sequences:
  528.     ESC [ 5 n               terminal status (always reports terminal ok.)
  529.     ESC [ ? 15 n            printer status (always reports no printer.)
  530.     ESC [ 6 n               reports current cursor position.
  531.     ESC [ c or ESC [ 0 c    device attributes (reports I am a VT102)
  532.     ESC Z                   same as device attributes report.
  533.  
  534.  
  535.     MISCELLANEOUS SEQUENCES:
  536.     ------------- ---------
  537.  
  538. Miscellaneous sequences:
  539. (* = also available in 'Screen' menu)
  540.     NUL (CONTROL-@)         padding character, ignored.
  541.     ENQ (CONTROL-E)         transmits answerback (defined in 'Screen' menu)
  542.     BEL (CONTROL-G)         ring terminal bell.
  543.     CAN (CONTROL-X)         aborts any escape sequence in progress.
  544.     SUB (CONTROL-Z)         treated same as CAN.
  545.  
  546.     ESC c                  *resets terminal to default state.
  547.     ESC # 8                 displays screen full of 'E's.
  548.     ESC [ ? 2 l             enter VT52 mode.
  549.  
  550.  
  551.     VT52 MODE SEQUENCES:
  552.     ---- ---- ---------
  553.  
  554.     The following sequences replace the normal VT102 sequence set while in
  555. VT52 mode. Note that you can set/reset VT52 mode from the 'Screen' menu. A
  556. program enters VT52 mode through the ANSI 'ESC [ ? 2 l' sequence.
  557.  
  558. Other VT52 sequences:
  559.     ESC <                   exit back to ANSI mode.
  560.     ESC A                   cursor up 1 line.
  561.     ESC B                   cursor down 1 line.
  562.     ESC C                   cursor right 1 character.
  563.     ESC D                   cursor left 1 character.
  564.     ESC H                   home cursor.
  565.     ESC Y 'row' 'col'       position cursor, 'row' & 'col' = # + 32
  566.     ESC I                   reverse line feed.
  567.     ESC K                   erase to end of line.
  568.     ESC J                   erase to end of screen.
  569.     ESC Z                   identify terminal (replies: 'ESC / Z')
  570.  
  571.  
  572.     b.  Unsupported VT102 features:
  573.         ----------- ----- --------
  574.  
  575.     The following VT102 sequences have not been implemented mainly due to
  576. their usefullness not being worth the extreme difficulties involved. Maybe
  577. later guys.
  578.  
  579.     Note that though these functions are not supported, they will be accepted
  580. by Wtp and discarded.
  581.  
  582. Unsupported VT102 sequences:
  583.     ESC [ ? 3 h/l           132 columns, not enough screen resolution to do it.
  584.     ESC [ ? 4 h/l           smooth scroll. Come on, who really uses this.
  585.     ESC [ ? 5 h/l           screen reverse video. Tough to reverse all colors.
  586.     ESC N, ESC O            single shifts into G2 & G3 sets, no one uses them.
  587.     ESC # 3, 4, 5, 6        double wide/high lines are a bitch to do right.
  588.     ESC [ 'tests' y         self-tests.
  589.     ESC [ 'led' q           turn on/off LED.
  590.  
  591.     ESC [ ? 18 h/l          none of these printing functions are implemented:
  592.     ESC [ ? 19 h/l
  593.     ESC [ ? 0, 1, 5, 4 i
  594.     ESC ^, ESC -
  595.     ESC W, ESC X
  596.     ESC ]
  597.     ESC V
  598.  
  599.  
  600.     c.  Extensions and Differences:
  601.         ---------- --- -----------
  602.  
  603.     The 'Screen' menu option 'mouse cursor keys' enables the use of the mouse
  604. as an alternate method of moving the cursor.  Click on the screen with the left
  605. mouse button and Wtp will transmit the proper cursor movement key commands to
  606. cause the host to move it's cursor to the desired location.
  607.  
  608.  
  609. 6.  File Transfers:
  610.     ---- ---------
  611.  
  612.     Wtp provides two transfer methods: simple text capture and XMODEM protocol
  613. transfers.  XMODEM transfers may be either "text" or "binary" transfers, the
  614. simple text capture transfers are always "text" mode.
  615.  
  616.     "Binary" transfers will transmit and receive all possible 8 bit character
  617. codes without altering them in any way. This is required when transferring
  618. executable or library files.  Selecting a binary transfer will temporarily
  619. force the terminal into "8 bit, no parity" character format for the duration
  620. of the transfer.
  621.  
  622.     "Text" mode transfers assume that the data being moved is 7 bit data and
  623. will automatically convert between the Amiga end of line character convention
  624. (a single line feed) and other conventions (carriage return or carriage return
  625. and line feed.)  Any non-text characters may also be stripped from the transfer
  626. by setting the appropriate option.  The state of the "text" mode transfer
  627. options may be inspected and changed through the "Text transfer options" sub-
  628. menu in the "File" menu.  Note that the line feed translation option specifys
  629. both how to convert out-going LFs and how to convert in-coming end of line
  630. sequences into single LFs.
  631.  
  632.  
  633.     TEXT FILE CAPTURE:
  634.     ---- ---- -------
  635.  
  636.     Text file capture will save characters that are displayed on the screen in
  637. a file that you specify.
  638.  
  639.     Selecting the "capture text to a file" item in the "File" menu brings up
  640. a file requester into which you enter the name of the file into which you wish
  641. to save the text.  Pressing RETURN or clicking in 'ok' will start capturing
  642. text, clicking in 'Cancel' will abort the text capture operation. You may have
  643. to click in the text box before typing the file name.
  644.  
  645.     During the text capture operation, the left half of the bottom status line
  646. will display the name of the file which is receiving the text.  All text
  647. transfer options specified in the "Text transfer options" sub-menu will be
  648. applied to the received data. Selecting "STOP CAPTURING TEXT" in the "File"
  649. menu will terminate text capture and close the file.
  650.  
  651.  
  652.     SENDING A TEXT FILE:
  653.     ------- - ---- ----
  654.  
  655.     The "send a text file" option in the "File" menu prompts you for the name
  656. of an existing file.  After you enter the name of the file, and press RETURN or
  657. click 'ok', Wtp will open the specified file and begin sending it's contents
  658. out the host port just as if you were entering it from the keyboard. Non-text
  659. character and LFs will be processed as per the "Text file options" sub-menu
  660. settings.  The bottom right half of the status line will display the name of
  661. the file being sent during the transfer.
  662.  
  663.     Selecting "STOP TEXT FILE SEND" in the "File" menu will abort an ongoing
  664. file send.
  665.  
  666.     After the file has been completely sent, it is closed and the status line
  667. will rever to displaying the current and session times.
  668.  
  669.  
  670.     XMODEM FILE TRANSFERS:
  671.     ------ ---- ---------
  672.  
  673.     The XMODEM file transfer protocol is a method of transmitting a file
  674. between computers which was created by Ward Christensen for use on CP/M
  675. systems.  The protocol is simple enough to implement and reliable enough that
  676. it has become the standard for most personal computers.  Wtp implements the
  677. basic XMODEM protocol and also a few extensions.
  678.  
  679.     Note that Wtp now leaves the "send to back" and "bring to front" items in
  680. the "Stuff" menu enabled during the transfer so that you can continue doing
  681. other work while the transfer takes place.  You should use "run Wtp" from the
  682. CLI if you want Wtp to run in the background.
  683.  
  684.     "CRC checksums."  XMODEM achieves it reliability by sending a file in small
  685. chunks (records) and including a checksum which the receiver uses to verify the
  686. integrity of the record.  The simple XMODEM checksum technique just adds the
  687. ASCII values of ann the characters in the record, which is simply but can
  688. potentially miss some types of errors.  The CRC checksum option uses a
  689. different checksum method which can catch many mor transmission errors and
  690. so it is the method of choice.
  691.     The receiver in an XMODEM transfer can tell the sender which checksum
  692. method it wants to use.  The "use CRC checksums" option in the "XMODEM
  693. transfer options" sub-menu of the "File" menu (pause to take a breath)
  694. specifies whether you want Wtp to request a CRC transfer when receiving a
  695. file and whether to accept a CRC request when sending a file.
  696.     You should normally leave the CRC option set unless you know that the
  697. system you are using does not accept CRC checksums.  The transfer would work
  698. anyway but it speeds up the start of the transfer if Wtp knows not to try
  699. for CRC.
  700.  
  701.     The other extension to XMODEM used by Wtp is more non-standard.  When
  702. receiving a file from a large system, such as Delphi or Compuserve, there can
  703. be a noticable delay between records sent by the system to your computer. This
  704. means that you wasting expensive connect time waiting for their computer to
  705. get around to sending data.  There is a simple but dangerous way to speed up
  706. these transfers substantially.
  707.     The trick involves fooling the system into starting to fetch the next
  708. record while the current record is being sent. The danger of this option is
  709. that if any legitimate transmission errors occur they will not be handled
  710. properly and the final file will have corrupted data. Wtp will inform you of
  711. the corruption but the transfer has basically been wasted.  If you have a very
  712. clean connection and want to risk it, the "fast/unforgiving receive" XMODEM
  713. option can drastically speed up your transfers.  I have used it heavily with
  714. Delphi with no ill effects (though mostly under Uninet, what Telenit and
  715. Tymnit will do is anybody's guess.)
  716.  
  717.  
  718.     RECEIVING A FILE USING XMODEM:
  719.     --------- - ---- ----- ------
  720.  
  721.     Do whatever you have to do to get the host system to start an XMODEM
  722. transmission to your system.
  723.  
  724.     Select either "XMODEM (text) receive" or "XMODEM (binary) receive" from the
  725. "File" menu and enter the name of the file to receive in the requester, you
  726. may have to click in the text box first though (unless I can get 1.2 to work
  727. properly :-)  A "text" receive will convert the received data into Amiga text
  728. using the current "Text transfer options", "binary" transfers leave the data
  729. alone.  The status line will display the type of transfer, the name of the
  730. file and some additional info including: the number of 128 byte records
  731. received so far this transfer (0), the total bytes written to the file (0) and
  732. the number of records which had an error and had to be re-transmitted (0).
  733.  
  734.     If all goes well, within about 5 to 10 seconds you should see the received
  735. record count start to increment. If the transfer is using CRC checksums then
  736. you will see "CRC" to the right of the file name.  The record number should
  737. increment about every second or two at 1200 baud (unless the system you are
  738. downloading from is busy.)
  739.  
  740.     Selecting "ABORT XMODEM TRANSFER" from the "File" menu will cancel an
  741. XMODEM transfer in progress.
  742.  
  743.     After the last record has been received, the status line will revert to
  744. displaying the current and session time and the received file will be closed.
  745. The final XMODEM status line contents will be copied to the line containing
  746. the cursor as an aid to determining whether the transfer was successfull or
  747. not.  Remember that any errors during a "fast/unforgiving" XMODEM receive
  748. will render the received file useless.  Try rerunning the transfer in non-
  749. fast mode.
  750.  
  751.     Remember to feed squeezed (xxx.xQx) and archived (xxx.ARC) files through
  752. the appropriate utility before using them.  Both of these file types MUST be
  753. received in "binary" mode.
  754.  
  755.  
  756.     SENDING A FILE USING XMODEM:
  757.     ------- - ---- ----- ------
  758.  
  759.     Do whatever you have to do to prepare the host system to receive a file
  760. using XMODEM protocol.
  761.  
  762.     Select either "XMODEM (text) send" or "XMODEM (binary) send" from the
  763. "File" menu as appropriate, enter the name of an existing file into the file
  764. requester box.  If all is ok the bottom status line will display the type of
  765. transfer, the file name and the same status info as for an XMODEM receive.
  766.  
  767.     Within 5 to 10 seconds you should see the count of records sent start to
  768. increment, just as in the XMODEM receive.
  769.  
  770.     Selecting "ABORT XMODEM TRANSFER" in the "File" menu will cancel the
  771. transfer in progress.
  772.  
  773.     After the last record has been sent, the status line will revert to
  774. displaying the current and session time and the file will be closed.
  775.  
  776.  
  777.     SENDING FILES BETWEEN TWO TERMINALS:
  778.     ------- ----- ------- --- ---------
  779.  
  780.     When sending a file between two terminals you should always start the
  781. sending terminal first.  If the receiver is started first it may take 10 or
  782. 20 seconds longer for the transfer to start up and also the CRC transfer
  783. request can be missed causing the transfer to use the more error-prone
  784. additive checksum method.
  785.  
  786.  
  787. 7.  Auto-dialing:
  788.     ------------
  789.  
  790.     The "Dialing" menu contains options relating to use of the auto-dialing
  791. feature of Wtp.  With that menu you specify: a title identifying the system
  792. you are calling, a phone number to dial (which must start with a digit), and
  793. whether the number should be dialed automatically when the Settings file
  794. containing these settings is loaded.
  795.  
  796.     Note that all dialing functions assume the use of a Hayes compatible
  797. modem command set.
  798.  
  799.  
  800.     DIALING:
  801.     -------
  802.  
  803.     Selecting "dial number now" causes Wtp to first hang up the phone and
  804. then dial the phone number specified in the "Dialing" menu.  You should see
  805. something like:
  806.  
  807.         Dialing <title> at <number>
  808.         +++
  809.         ATH
  810.         ATDT <number>
  811.  
  812. after dialing is completed you should get a connect message from the modem
  813. within 10 to 20 seconds.  The dialing option will be disabled if no phone
  814. number has been specified.
  815.  
  816.  
  817.     HANGING UP:
  818.     ------- --
  819.  
  820.     Selecting "hang up the phone" will cause Wtp to send the commands to the
  821. Hayes compatible modem to disconnect the current call.
  822.  
  823.  
  824. 8.  Wtp Saved Settings Files:
  825.     --- ----- -------- -----
  826.  
  827.     Virtually all of the Wtp options you can specify in the menu (the exception
  828. being some of the VT-102 modes which have defined initial states), including
  829. function key definitions, user preferences, dialing options, transfer options
  830. and port settings, can be saved on disk in a Settings file.  Selecting the
  831. "save settings" option in the "Stuff" menu brings up a requester into which
  832. you enter the name of the file to receive the settings. Pressing RETURN or
  833. clicking 'Ok' will write out the current settings.
  834.  
  835.     The saved settings are restored via the "load settings" command in the
  836. "Stuff" menu.  Enter the same Settings file name as was used in the save.
  837. If all goes well then the bell will sound and your settings have been restored.
  838. If you specified "auto-dial when loaded" in the "Dial" menu then Wtp will also
  839. dial the associated number.
  840.  
  841.     If the file you asked to be loaded has been corrupted or is not a Wtp
  842. Settings file then no settings will be changed.
  843.  
  844.     The settings file capability allows you to create an entire library of
  845. settings for all the various systems you use, each customized for that
  846. particular system.
  847.  
  848.  
  849. 9.  Miscellaneous Features:
  850.     ------------- --------
  851.  
  852. Wtp Window Manipulations:
  853.  
  854.     The "send to back" and "bring to front" options in the "Stuff" menu allow
  855. you to place the Wtp terminal window in the back of other Workbench windows
  856. an so, if you started Wtp as a separate task, you can do CLI stuff or run other
  857. applications while Wtp is doing it's thing in the background.
  858.  
  859.     "mouse cursor keys" in "Screen" menu causes clicks of the left mouse button
  860. to be changed into cursor movement commands which are sent to the host.
  861.  
  862.     "reset session time", also in "Screen" menu, will reset the elapsed session
  863. time which is displayed on the status line, back to 0.  It is auto-matically
  864. reset whenever you dial a new number via the "Dial" menu.
  865.  
  866.  
  867. A.  REVISION HISTORY:
  868.     -------- -------
  869.  
  870. Changes from version 2 to version 3:
  871.  
  872.  - EXTENSIVE VT102 compatibility added.
  873.  
  874.  - programmable function keys.
  875.  
  876.  - added fast XMODEM option.
  877.  
  878.  - allow editing of speech bell phonemes.
  879.  
  880.  - BREAK generation added.
  881.  
  882.  - fixed cursor handling to work properly on systems with > 512K RAM.
  883.  
  884.  - split "send to back/bring to front" into separate items.
  885.  
  886.  - fixed bug in XMODEM transfers which caused them to hang if you were
  887.    using EVEN or MARK parity. Infinite thanks to Steve Plegge (aka Opus)
  888.    for help catching this one.
  889.  
  890.  
  891. B.  Things You Probably Didn't Want to Know:
  892.     ------ --- -------- ------ ---- -- ----
  893.  
  894.     a.  Format of a Saved Settings File:
  895.         ------ -- - ----- -------- ----
  896.  
  897.     The following information is provided so that industrious folk can change
  898. fields in the Settings file which are not currently user-alterable.  Note that
  899. the OFFSET and SIZE fields below are specified in bytes from the start of the
  900. file. All numbers are in HEX.
  901.  
  902.                 DEFAULT
  903. OFFSET SIZE     CONTENTS    FUNCTION
  904.  
  905.  0000   4        'tWtp'      Tag used to determine file type.
  906.  0004   2        3           Wtp version number that created the file.
  907.  0006   2        0E2         Size in bytes of following parameter data.
  908.  0008   2        0           Size in bytes of following function key defs.
  909.  000A   4        0           - spare bytes, reserved for future use -
  910.  
  911.  000E   2        0           Auto-wrap state, 1=enabled, 0=disabled.
  912.  0010   2        0           Local echo state.
  913.  0012   2        0           Line feed/newline state.
  914.  0014   1        1           Cursor type (0..3)
  915.  0015   1        2D          Cursor blink delay (in 16.6 mSec increments.)
  916.  0016   1        0           Bell type (0..2)
  917.  0017   1        0           - unused -
  918.  0018   2        2           Baud rate (0..6)
  919.  001A   2        4           Character format (0..5)
  920.  001C   2        1           Number of stop bits
  921.  001E   2        1           XON/XOFF handshake enabled flag.
  922.  0020   2        1           Text transfer, LF conversion option (0..2)
  923.  0022   2        1           Text transfer, strip control chars flag.
  924.  0024   2        1           XMODEM use CRC checksum flag.
  925.  0026   4        40          XMODEM no. of records to buffer before disk write.
  926.  002A   2        0           Dial on load flag.
  927.  002C   20       "(.."       Dial title string (0 terminated.)
  928.  004C   20       "(.."       Dial number string.
  929.  006C   2        0           XMODEM fast receive flag.
  930.  006E   2        1           VT102 auto-repeat enable flag.
  931.  0070   2        0           - used internally -
  932.  0072   2        0           Mouse cursor enable flag.
  933.  0074   2        0           - used internally -
  934.  0076   2        0           VT102 in VT52 mode flag.
  935.  0078   2        0           VT102 smooth scroll flag (not used currently.)
  936.  007A   2        0           VT102 screen reverse video (not used.)
  937.  007C   2        0           - used internally -
  938.  007E   0A       8080...     VT102 tab settings, 1 bit per column.
  939.  0088   20       ""          VT102 answerback string.
  940.  00A8   4        275000      Length of short break (in uSec.)
  941.  00AC   4        2000000     Length of long break (in uSec.)
  942.  00B0   20       0           - reserved for future use -
  943.  00D0   20       "AXTT..."   Speech bell phoneme string.
  944.  
  945. Function key definitions:
  946.  00F0   ??                   Strings for function key, prefixed by function
  947.                              key id byte and terminated with a 0 bytes. Extra
  948.                              0 bytes terminates list.
  949.