home *** CD-ROM | disk | FTP | other *** search
/ Club Amiga de Montreal - CAM / CAM_CD_1.iso / files / 574.lha / BackTalk_v1.51 / BackTalk.doc.pp / BackTalk.doc
Text File  |  1991-10-23  |  62KB  |  1,510 lines

  1.                               BackTalk 1.51
  2.                                Oct 1, 1991
  3.  
  4.             Copyright 1991 by Steve Ahlstrom and Don Curtis
  5.  
  6.  
  7. Copyright and Distribution Notice:
  8.  
  9. BackTalk is a copyrighted program.  BackTalk is freely distributable
  10. provided the following files (listed below) remain UNCHANGED and AS A WHOLE
  11. in LHARCIVE FORM along with this notice.
  12.  
  13. All rights to the program BackTalk and all files in this archive, except
  14. where specifically noted, remain the property of Steve Ahlstrom and Don
  15. Curtis.
  16.  
  17. BackTalk may not be sold or distributed for any fee.  The exception to this
  18. is that BackTalk may be included on any Amiga User Group Club disks on which
  19. BackTalk is not the only program on the disk and the disk does not sell for
  20. more than $10US.
  21.  
  22. Disclaimer:
  23.  
  24. No warranty is offered and no fitness for any particular purpose is claimed.
  25. Every effort has been made for this software to perform as indicated in
  26. the documentation.  However, nothing is perfect.
  27.  
  28.  
  29. Credits:
  30.  
  31. Thanks to the creators of the XPR library specification.
  32.  
  33. Thanks to the authors of the various XPR libraries.  Do be aware than that,
  34. depending upon implementation, some of these libraries work better than
  35. others.
  36.  
  37. Thanks to Keith Young for his many clarifications.
  38.  
  39. Thanks to Khalid Aldoseri for this File Requester library, his considerable
  40. help and expertise with suggestions, coding hints, and support all while he
  41. was constantly donning his gas mask and seeking shelter from SCUD attacks.
  42.  
  43. And special thanks to the corp of BackTalk testers who include, but are not
  44. limited to, Khalid Aldoseri, Larry Phillips, Bob Rakosky, Steve Pietrowicz,
  45. Betty Clay, David Art, Brian Bartlett, Vic Wagner, Michael McCormick, and
  46. Rick Stevens.
  47.  
  48.  
  49. Files in this LHARCHIVE:
  50.  
  51. BackTalk                  This is the terminal program "BackTalk"
  52. BackTalk.info             Icon for BackTalk
  53. BackTalk.doc              This file
  54.  
  55. *frqlib.lzh               Khalid Aldoseri's File Requester library (ver 3.0).
  56.                           This is the full distribution of the library,
  57.                           auxillary programs, user documentation, and
  58.                           programmer documentation.
  59.  
  60.                           Release 3.0 of Khalid's file requester library
  61.                           is due to be released "any day now" (as of the
  62.                           the date this is written, 24 Feb 1991).  It
  63.                           is fully backward compatible with previous
  64.                           versions and with BackTalk's calls to the
  65.                           library.
  66.  
  67. *xprquickb.library        Jack Rousse's CompuServe QuickB XPR library
  68.                           updated and modified by Keith Young.
  69.  
  70. *xprzmodem.library        Rick Huebner's XPR Zmodem library version 2.1.
  71.  
  72. *xprascii.library         an ascii XPR library distributed with the
  73.                           XPR 2.0 specification
  74.  
  75. About_XPR                 A text file describing the various user
  76.                           options for the enclosed XPR libraries
  77.  
  78. *and various example ARexx scripts
  79.  
  80. * These files freely distributable and all rights to them remain with
  81.   their authors.
  82.  
  83. ---------------------------------------------------------------------------
  84.  
  85.                                  BackTalk
  86.  
  87.     A general purpose TTY-type telecommunications program for the Amiga
  88.  
  89. Feature Overview:
  90.  
  91.    - Supports the complete XPR specification.  You may use any file
  92.      transfer protocol for which there exists an XPR library implementation.
  93.      Save/load user settable XPR protocol options.  At the time of this
  94.      writing there exists XPR libraries for CompuServe QuickB, Zmodem,
  95.      Xmodem, Kermit, and Ascii.
  96.  
  97.    - Fully supports user selected fonts, including proportional fonts.
  98.  
  99.    - Runs under 2.0 as well as 1.3.
  100.  
  101.    - ARexx interface - callable internally and externally
  102.      113 ARexx commands and growing
  103.  
  104.    - ARexx scripts callable from FKey macros
  105.  
  106.    - Full featured Review Buffer
  107.  
  108.    - User sizable Review Buffer, from 8k to available ram.
  109.  
  110.    - "Live" Review Buffer.  You may use the review buffer while continuing
  111.      to interact with the communications window.
  112.  
  113.    - Sizable Review Buffer window
  114.  
  115.    - Program will operate in a 1 or a 2 bit plane custom screen or in
  116.      a workbench window.
  117.  
  118.    - If run in a hi-res/interlaced environment, a "split" is provided
  119.      (half screen)
  120.  
  121.    - Capture Buffer for saving text to a file
  122.  
  123.    - Chat Window for network conferencing.
  124.  
  125.    - Color requester for loading and saving color choices
  126.  
  127.    - Phone Book limited only by available memory
  128.  
  129.    - Double click dialing
  130.  
  131.    - Phone Book entries carry their own configuration and macro
  132.      files
  133.  
  134.    - Real time clock
  135.  
  136.    - A non-graphic Print Screen function
  137.  
  138.    - Print feature for echoing incoming text to a printer
  139.  
  140.    - Screen text is restored when moving from one display configuration
  141.      to another or in and out of the Chat Window
  142.  
  143. Minimum System Requirement:
  144.  
  145. Amiga 500/1000/2000/3000 with a minimum of 512k and 1 floppy drive
  146. Modem: Support up to 38400 baud
  147.  
  148. ---------------------------------------------------------------------------
  149.  
  150.                             How to Use BackTalk
  151.  
  152.  
  153.  
  154. For 2.0 Users ...
  155. Before running BackTalk for the first time, place xprquickb.library,
  156. xprzmodem.library and xprascii.library files in your LIBS: logical directory.
  157. Library file names are case sensitive, please do not change them.
  158. BackTalk will not run without xprquickb.library.
  159.  
  160. BackTalk will open its screen/window in whatever resolution your computer
  161. is in at the time the program is run.  When BackTalk loads, it looks for 3
  162. files, BT.CFG (its configuration file), BT.MACROS (it's macro key file),
  163. and BT.PHONES (its phone book data file).  The S: directory will be
  164. searched for these files.  If they do not exist program defaults will be
  165. used.
  166.  
  167. --------------------------
  168.  
  169. For 1.3 Users ...
  170. Before running BackTalk for the first time, decompress frqlib.lzh and place
  171. kd_freq.library, xprquickb.library, xprzmodem.library and xprascii.library
  172. files in your LIBS: logical directory.  Library file names are case sensitive,
  173. please do not change them.  BackTalk will not run without kd_freq.library and
  174. xprquickb.library.
  175.  
  176. BackTalk will open its screen/window in whatever resolution your computer
  177. is in at the time the program is run.  When BackTalk loads, it looks for 3
  178. files, BT.CFG (its configuration file), BT.MACROS (it's macro key file),
  179. and BT.PHONES (its phone book data file).  The S: directory will be
  180. searched for these files.  If they do not exist program defaults will be
  181. used.
  182.  
  183. --------------------------
  184.  
  185. NOTE:  The "proper" place for program data files can arguably be said to
  186.        be devs: (CBM puts their system-configuration file there) or
  187.        possibly env: (or envarc: under 2.0).  Some would argue that these
  188.        files belong in a directory from which the program is located
  189.        (thereby causing the user to explicitly "assign" that directory).
  190.        I have taken the route of a great many others and put them in
  191.        S:.  This is _not_ the correct place for such files but it is
  192.        generally accepted.  Should the time come when there is a definitive
  193.        guideline in this area BackTalk will be modified to follow the
  194.        guideline.  All of the files that BackTalk creates have a filenote
  195.        attached so should you list S: it will be obvious as to what files
  196.        were created by and used by BackTalk.
  197.  
  198.        In a future update, BackTalk may require an assign and all of it's
  199.        files will be put in that logical directory.  So far, I'm resistant
  200.        to that change but may yet be convinced.
  201.  
  202.        When saving XPR Option files (discussed later) they will be placed
  203.        in a directory in S: named XPR (S:XPR) when BackTalk is run under
  204.        1.3.  When running under 2.0 they are placed in ENVARC:XPR.
  205.  
  206.  
  207. The most coherent method to document BackTalk is to describe the function
  208. of its menus (from left to right) and their menu items.
  209.  
  210. Menu: Project
  211.    MenuItem: About
  212.       Hot Key: Right-Amiga-A
  213.  
  214.       This brings up a "credits" requester containing copyright, support,
  215.       and distribution information.  This requester also contains
  216.       information on the current available chip ram, current available
  217.       fast ram, and current buffer size.
  218.  
  219.    MenuItem: Change Current Directory
  220.    Hot Key: None
  221.  
  222.       This brings up a string requester into which you enter the
  223.       directory path you'd like to be the new current directory.
  224.  
  225.    MenuItem: Quit
  226.       Hot Key: Right-Amiga-Q
  227.  
  228.       This will terminate the program.  There are no "Are you sure?"
  229.       requesters.  Make sure you really want to exit the program before
  230.       using this menu item.
  231.  
  232. Menu: Phone
  233.    MenuItem: Dial...
  234.    Hot Key: Right-Amiga-P
  235.  
  236.       This brings up the Phone Directory.
  237.  
  238.       The Phone Directory displays 10 entries.  If there are more than 10
  239.       entries, you may scroll through them using the UP and DOWN arrow keys.
  240.  
  241.       You may select the entry to dial by using the mouse and clicking upon
  242.       the entry or by typing the number to the left of the entry from the
  243.       keyboard.  This will place the entry into the string gadgets below.
  244.       You may dial the entry by clicking on the gadget labeled "Dial" or by
  245.       typing "D" from the keyboard.  The phone number will be sent to the
  246.       modem with a terminating carriage return.
  247.  
  248.       If for any reason you do not want the carriage return sent, in the
  249.       phone number portion of that entry, place an asterisk (*) as the last
  250.       character in the phone number (see "Adding Phone Book Entries" and
  251.       "Editing Phone Book Entries" below).  When "Dial" is clicked upon or
  252.       the letter "D" is typed, the phone number will be sent to the modem
  253.       without a terminating carriage return.
  254.  
  255.       Adding Phone Book Entries:
  256.       To add a phone book entry, click on the "Add" gadget with the mouse.
  257.       This will activate the "System" string gadget.  Type in the name and
  258.       then type return.
  259.  
  260.       The "Phone" string gadget will now be activated.  Enter the phone
  261.       number to be dialed and type a  return.
  262.  
  263.       The "Comment" string gadget will be activated.  Enter a comment if you
  264.       wish, and type return.
  265.  
  266.       The "Configuration" gadget will be activated.  In this string gadget
  267.       enter the name of the configuration file you wish to have activated
  268.       for this Phone Book entry.  If you do not remember the name of the
  269.       configuration file, click on the small gadget immediately to the
  270.       right of the "Configuration" string gadget.  This will bring up a file
  271.       requester defaulted to S:#?.CFG.
  272.  
  273.       The "Macros" gadget will be activated.  In this string gadget enter the
  274.       name of the macro file you wish to have activated for this Phone Book
  275.       entry.  If you do not remember the name of the macro file, click on
  276.       the small gadget immediately to the left of the "Macros" string gadget.
  277.       This will bring up a file requester defaulted to S:#?.MACROS.
  278.  
  279.       The "Modem Prefix" string gadget will be activated.  The "Modem Prefix"
  280.       string gadget serves two purposes.  The information entered here will
  281.       be prepended to the phone number when it is sent to the modem.  This is
  282.       also a "terminator" field for the Phone Book entry.  If you do not type
  283.       a return in this gadget the Phone Book entry will not be added.
  284.       By default, an "ATDT" is placed in the "Modem Prefix" string gadget.
  285.       If this is acceptable, just type a carriage return, if not, enter your
  286.       dialing prefix and type a carriage return.
  287.  
  288.       You may also enter the new phone entry by clicking again on the
  289.       ADD gadget.  If the "System" string requester contains text, the
  290.       entry will be added.  Should you change your mind about adding a
  291.       Phone Book entry, click on the DELETE gadget and all information
  292.       currently in the string gadgets will be thrown away.
  293.  
  294.       Editing Phone Book Entries:
  295.       To edit an existing Phone Book entry, select the entry to be edited by
  296.       clicking upon the entry or by typing the number of the entry.  The
  297.       entry will be placed into the string gadgets below.  Click the mouse
  298.       on the string gadget you wish to change and make your changes.  When
  299.       you type a carriage return in the "Modem Prefix" string gadget, the
  300.       changes will be accepted.
  301.  
  302.       Deleting Phone Book Entries:
  303.       To delete an existing Phone Book entry, select the entry to be deleted
  304.       by clicking upon the entry of by typing the number of the entry.  The
  305.       entry will be placed into the string gadgets below.  Click the mouse
  306.       on the "Delete" gadget.  The entry will be removed from the list.
  307.  
  308.       The Phone Book entries are "hot keyable" from within the requester by
  309.       using the number keys 1-1(0).  The Dial and Exit gadgets are also hot
  310.       keyable using the D and E keys, respectively.
  311.  
  312.       If there have been any changes to the Phone Book those changes will be
  313.       written to the file BT.PHONES when you exit the Phone Book (by using
  314.       the Dial or Exit gadgets).
  315.  
  316.    MenuItem: Redial
  317.    Hot Key: Right-Amiga-$
  318.  
  319.       This will cause the last dialed Phone Book entry to be dialed again.
  320.       This will not cause the associated configuration or macros file
  321.       to be read.
  322.  
  323.    MenuItem: Hangup
  324.       Hot Key: Right-Amiga-H
  325.  
  326.       This will cause your modem to hang up the phone.  This is done by
  327.       dropping DTR.  If your modem is setup to ignore DTR or you are using
  328.       a 3 wire serial cable between your computer and your modem, this
  329.       command has detects that dropping DTR had no effect and will then
  330.       send the standard Hayes compatible "+++ATH" string to your modem.
  331.  
  332. Menu: Files
  333.    MenuItem: Protocols...
  334.    Hot Key:  NONE
  335.  
  336.       BackTalk utilizes the XPR protocol specification.  This menu item will
  337.       bring up a file requester from which you may load the xpr library you
  338.       would like to use.  By default, the file requester will display files
  339.       in LIBS: that begin with XPR#?.
  340.  
  341.    MenuItem: Protocol Options
  342.    Hot Key: None
  343.  
  344.       All of the XPR libraries have options that the user may select
  345.       on a "run time" basis.  Using this item you will be presented
  346.       with a requester with various options that the currently
  347.       selected protocol offers.
  348.  
  349.       ALSO SEE:  The SETXPR ARexx command and the text file About_XPR.
  350.  
  351.     MenuItem: Save Protocol Options
  352.    Hot Key: NONE
  353.  
  354.       This will save to a file all of the users options for the
  355.       currently active XPR Protocol.  The file will be named the
  356.       same as the protocol (ie, if XPRQUICKB.LIBARY is the active XPR
  357.       protocol, the file name will be xprquickb).  Under 2.0 these files
  358.       will be stored in ENVARC:XPR.  Under 1.3 they will be in S:XPR.
  359.  
  360.       When you select an XPR protocol to be loaded the options file will
  361.       automatically be read in and used.  If an option file does not exist
  362.       the protocol defaults will be used.
  363.  
  364.    MenuItem: Receive File...
  365.    Hot Key: Right-Amiga-D
  366.  
  367.       When selected you will be presented with a file requester for you to
  368.       indicate the path and file name of where the download will be written.
  369.       Some transfer protocols are "autostart" meaning that when you tell
  370.       the system you are calling that you want to download a file the file
  371.       transfer starts automatically.  You will be prompted for the location
  372.       of where the file will be written.
  373.  
  374.       An example of an autostart protocol is CompuServe QuickB protocol.
  375.       You would simply type "DOW filename", Compuserve will respond with
  376.       "Filename for your computer".  You would respond with the
  377.       path/filename of the file you are downloading.  The transfer will
  378.       start automatically at that point.
  379.  
  380.    MenuItem: Send File...
  381.    Hot Key: Right-Amiga-U
  382.  
  383.       Same as Receive File... only in the reverse direction.
  384.  
  385.    MenuItem: Capture On
  386.    Hot Key: Right-Amiga-O
  387.  
  388.       A file requester will be presented with the default path and filename
  389.       taken from the path and filename you indicated in the Configuration
  390.       requester (more on the Configuration requester later).  If this is
  391.       acceptable, hit return and the capture file will be opened.  If it is
  392.       not acceptable, enter the desired path and filename.
  393.  
  394.       Should you open a capture file, and that file already exists, the
  395.       new information will be appended to the existing file rather than
  396.       overwriting the existing file.
  397.  
  398.    MenuItem: Capture Off
  399.    Hot Key: Right-Amiga-C
  400.  
  401.       This turns off the capture buffer and closes the capture file.
  402.  
  403. Menu: Review
  404.    MenuItem: Show Review
  405.    Hot Key: Right-Amiga-R
  406.  
  407.       This opens the Review Buffer.  The Review Buffer is a circular buffer,
  408.       user sizable.  You may move around in the Review Buffer by using the
  409.       up arrow and down arrow keys to scroll a line at a time.  Shifted up
  410.       or down arrows will scroll a page at a time.  ALT up and down arrow
  411.       will move you to top or bottom of file, respectively.  Clicking the
  412.       mouse   upper half of the display will scroll the display up one page.
  413.       Clicking the mouse in the lower half of the display will scroll the
  414.       display down one page.
  415.  
  416.       A menu called "Size" is available.  The menu item below will either
  417.       be "FULL" or "HALF".  Select this item if you want to change the
  418.       size of the Review Buffer's window.  This will cause the Review
  419.       Buffer's window to be the full size of the communications window or
  420.       half the size of the communications window.  You may also size the
  421.       Review Buffer's window by using the sizing gadget in the lower
  422.       right corner.
  423.  
  424.       NOTE:  When you use the "Save Configuration" menu item located
  425.              in the Configuration menu, the current setting of the
  426.              Size variable will be saved in the configuration file.
  427.  
  428.       You may exit the Review Buffer via the menu.  Other methods to exit
  429.       the Review Buffer is to type Right-Amiga-Q, type ESC, or type HELP.
  430.       If you are running in a workbench window, there will also be a
  431.       Close Box in the upper left corner.
  432.  
  433.       NOTE:  The Review Buffer is "live", meaning that you may scroll around
  434.              in the buffer while text continues to come into the serial
  435.              port.  When the Review Buffer's window is opened, only that
  436.              text which is currently in the review buffer will be displayed.
  437.              Text which subsequently is received will continue to be added
  438.              to the Review Buffer but will not be displayable until you
  439.              close and reopen the Review Buffer window.
  440.  
  441.    MenuItem: Save Review
  442.    Hot Key: NONE
  443.  
  444.       This brings up a file requester with the path "RAM:ReviewBuff" as
  445.       the default.  If this is acceptable hit return or click on the
  446.       SAVE button.  If it is not acceptable, enter the desired path and
  447.       file.
  448.  
  449.     MenuItem: Save Review/Open Capture
  450.    HotKey: NONE
  451.  
  452.       This item will save the review buffer then immediately open the
  453.       capture buffer.
  454.  
  455.    MenuItem: Size Review Buffer
  456.    Hot Key: NONE
  457.  
  458.      Enter the size you want the Review Buffer to be _in bytes_.  The
  459.      minimum size is 8k, the maximum is available memory size.  If the
  460.      attempted allocation fails, the program will automatically subtract
  461.      8k the given size and try again, repeating as necessary until the
  462.      the allocation succeeds.
  463.  
  464.      NOTE:  When changing the size of the Review Buffer, all information
  465.             currently in the Review Buffer will be destroyed.
  466.  
  467.  
  468. Menu: Print
  469.    MenuItem: Print Screen
  470.    Hot Key: Right-Amiga-Z
  471.  
  472.       This will send what is currently displayed on BackTalk's screen to
  473.       your prt:.
  474.  
  475.    MenuItem: Print Review
  476.    Hot Key: Right-Amiga-!
  477.  
  478.       This will send the contents of the Review Buffer to prt:.
  479.  
  480.    MenuItem: Echo Printer
  481.    Hot Key: Right-Amiga-E
  482.  
  483.       All text that is displayed on BackTalk's screen will be echoed to
  484.       prt:.
  485.  
  486.  
  487. Menu: Options
  488.    MenuItem: Configuration
  489.    Hot Key: Right-Amiga-*
  490.  
  491.       This brings up the Configuration requester.  Here you specify
  492.       a variety of global system options, from serial settings to
  493.       upload/download paths and more.
  494.  
  495.       When BackTalk is first run, it takes note of the current directory.
  496.       It then will change the current directory to the path defined in
  497.       the "Download Directory" string gadget.  When BackTalk terminates,
  498.       it sets current directory to what it was before.
  499.  
  500.       NOTE:  If you use the Change Current Directory menu item from
  501.              the Files menu, the current directory will be set to
  502.              that directory.  On program termination, current directory
  503.              will be restored to what it was when the program was
  504.              run.
  505.  
  506.       BackTalk utilizes proportional fonts.  Even if the font you have
  507.       selected is not proportional, it is treated as such.  When using
  508.       the Chat Window (described in more detail later) lines are
  509.       "auto sent" when a maximum line length is reached.  This line
  510.       length is based upon the pixel length of the line, not the
  511.       character length of the line.  You may, in the Configuration
  512.       requester, specify at what pixel length the line should be sent.
  513.       You are shown the current maximum line length, in pixels, that
  514.       is possible (based upon your horizontal resolution) and may enter
  515.       a different value in the string gadget.  This feature is basicly
  516.       a trial and error adventure depending on the font you are using.
  517.  
  518.       When using the Chat Window, as mentioned above, lines are auto sent
  519.       if a maximum line length is reached before a carriage return is
  520.       entered.  You may elect to have a "..." automatically appended to
  521.       all lines that are auto sent from the Chat Window.  Appending the
  522.       dots is especially useful when in a conferencing area to indicate to
  523.       others that you are not through typing.  However, it can become a
  524.       nuisance if you are leaving a message while using the Chat Window.
  525.       In the Configuration requester you may select to have the dots
  526.       appended or not.
  527.  
  528.       Also in the Configuration requester are two string gadgets, labeled
  529.       "Modem Init Command" and "Modem Exit Command".  Whatever string is
  530.       in the Moden Init Command string gadget will be sent to the serial
  531.       port immediately upon starting BackTalk.  The Modem Exit Command
  532.       string will be sent to the serial port just prior to terminating
  533.       BackTalk.  If you do not want these strings to be sent, clear
  534.       these string gadgets.
  535.  
  536.       The cycle gadget (Capture Ask, Capture Append, Capture Overwrite)
  537.       refers to the function of the capture buffer.  If set to Capture
  538.       Append text will be appended to the current capture file, if it
  539.       exists.  If Capture Overwrite and an existing capture file, the
  540.       current capture file will be overwritten.  If Capture Ask and a
  541.       current capture file, you will be prompted as to whether you want
  542.       to append or overwrite.
  543.  
  544.       If you are using a modem or a serial card that requires the use of a
  545.       serial device driver other than the CBM supplied "serial.device" make
  546.       sure that device driver is located in your DEVS: directory.  Enter
  547.       the name of the device driver (the name is case sensitive) into the
  548.       "Device Name" string gadget.  If a unit number other than 0 is
  549.       required, enter the unit number into the "Unit #" string gadget (check
  550.       the documentation for your non-CBM supplied device driver for this
  551.       information.
  552.  
  553.       NOTE 1:  There appears to be a problem with CBM's serial.device that
  554.                is distributed with the A2232 card.  The symptom is that when
  555.                a unit number other than 0 is being used, attempting to close
  556.                and reopen the port while online will cause BackTalk to hang.
  557.  
  558.       NOTE 2: BackTalk opens the serial port in SHARED mode, thus, one of
  559.               the first things it does it check to see if the serial port is
  560.               already in use (on-line).  BackTalk does this by checking the
  561.               state of the Carrier Detect line.  Thus, IF you have your modem
  562.               configured to have the Carrier Detect line held ON all the time
  563.               (this is the default configuration for many modems!), BackTalk
  564.               will take the current serial parameters and use them, you will
  565.               NOT be able to change them.
  566.  
  567.               If you're not really on-line, but have the Carrier Detect line
  568.               set HIGH all the time, the serial port will open with the values
  569.               you've saved using the Amiga's Serial Preferences (saved by
  570.               running the PREFERENCES program).  If you must keep your modem
  571.               configured with the Carrier Detect line HIGH all the time, use
  572.               PREFERENCES to set your serial parameters.
  573.  
  574.               The best solution is, of course, to have the modem configured so
  575.               the Carrier Detect line shows the true state of connection.  On
  576.               a Hayes Compatible modem, this is done via the AT&C1 command
  577.               followed by the AT&W command to save that setting.
  578.  
  579.       To exit the Configuration requester, click on the Cancel or Use
  580.       gadgets, or type the letter C or U.  If you have made changes and
  581.       selected "Use", those changes will go into effect immediately.  By
  582.       selecting "Cancel" all changes will be negated and your serial
  583.       definitions will remain as they were before you entered the
  584.       Configuration requester.
  585.  
  586.         The Save Config gadget:
  587.       Selecting this item causes all current user selectable options to
  588.       be written to the file BT.CFG.  This includes the current selection
  589.       of protocol, colors, fonts, split or full window, 1 bit plane screen,
  590.       2 bit plane screen, or workbench screen, modem init and modem exit
  591.       strings, mouse xoff or xon, borders off or on, send dots off or
  592.       on, all serial parameters -- ANYTHING the user may select or change
  593.       from the default configuration.
  594.  
  595.       NOTE: As of BackTalk 1.30, a version check is made when BT.CFG
  596.       is read from disk.  If your BT.CFG file was written with a version
  597.       of BackTalk prior to 1.30 you will be presented with a requester
  598.       informing you that the file format is incompatible.  The program
  599.       will then use the internal default values.  However, the next time
  600.       you use select "Save Config" the new file format will be written to
  601.       disk.  This was added in anticipation of future additions to the
  602.       BT.CFG file.
  603.  
  604.       Selecting the Save Config gadget will present you with a file
  605.       requester so you may save this particular configuration.
  606.  
  607.  
  608.    MenuItem: Screen Type
  609.       SubItem: 1 Bit Plane
  610.       Hot Key: Right-Amiga-1
  611.  
  612.          Causes BackTalk to be run in a 1 bit plane custom screen.
  613.          The state of this item is saved in the BT.CFG file.
  614.  
  615.       SubItem: 2 Bit Plane
  616.       Hot Key: Right-Amiga-2
  617.  
  618.          Causes BackTalk to be run in a 2 bit plane custom screen.
  619.          The state of this item is saved in the BT.CFG file.
  620.  
  621.       SubItem: Workbench
  622.       Hot Key: Right-Amiga-3
  623.  
  624.          Causes BackTalk to be run in a workbench window.
  625.          The state of this item is saved in the BT.CFG file.
  626.  
  627.  
  628.    MenuItem: Split
  629.    Hot Key: Right-Amiga-S
  630.  
  631.       If you are running BackTalk in a hi resolution/interlaced mode, the
  632.       Split command will reduce the size of BackTalk's window to half
  633.       screen.  Split is a toggle.  If BackTalk is in half size mode,
  634.       selecting split again will return it to full screen size.
  635.       The state of this item is saved in the BT.CFG file.
  636.  
  637.  
  638.    MenuItem: Set Colors
  639.    Hot Key: NONE
  640.  
  641.       This brings up a color requester.  You may change the colors of the
  642.       program with this requester.  This menu item is ghosted if you are
  643.       running BackTalk from a workbench window.
  644.       The state of this item is saved in the BT.CFG file.
  645.  
  646.  
  647.    MenuItem: Fonts
  648.       SubItem: Diskfonts...
  649.       Hot Key: Right-Amiga-F
  650.  
  651.          This brings up a file requester defaulted to FONTS:.  Select the
  652.          font you wish to use, then select the point size, and click
  653.          on use.  The state of this item is saved in the BT.CFG file.
  654.  
  655.       SubItem: Topaz 8
  656.       Hot Key: Right-Amiga-8
  657.  
  658.          Since Topaz is a rom font it will not show up in the Fonts
  659.          file requester.  This item will select the Topaz 8 font.
  660.          The state of this item is saved in the BT.CFG file.
  661.  
  662.       SubItem: Topaz 9
  663.       Hot Key: Right-Amiga-9
  664.  
  665.          Since Topaz is a rom font it will not show up in the Fonts
  666.          file requester.  This item will select the Topaz 9 font.
  667.          The state of this item is saved in the BT.CFG file.
  668.  
  669.  
  670.    MenuItem: Borders On/Off
  671.    Hot Key: Right-Amiga-B
  672.  
  673.       A check marked menu item which turns the window borders on or off.
  674.       The state of this item is saved in the BT.CFG file.
  675.  
  676.  
  677.    MenuItem: Mouse XON/XOFF
  678.    Hot Key: NONE
  679.  
  680.       A check marked menu item that toggles on and off the ability to double
  681.       click the mouse to send an xon/xoff.  The state of this item is saved
  682.       in the BT.CFG file.
  683.  
  684.  
  685.    MenuItem: Macros
  686.       SubItem: Load Macros
  687.       Hot Key: NONE
  688.  
  689.          This brings up the a file requester.  You may choose the macro
  690.          file you want to be active.
  691.  
  692.          NOTE: Macro files may be in any directory and named in any
  693.                way you would like.  However, it is recommended that
  694.                you place your macros files in S: and that you use
  695.                the extension ".macro".  When the file requester is
  696.                presented it will be defaulted to S:#?.macros.
  697.  
  698.       SubItem: Edit Macros
  699.       Hot Key: NONE
  700.  
  701.          This brings up the Macros requester.  Simply click on the FKey
  702.          gadget of your choice, or type the associated F-key, enter the
  703.          text into the string gadget and type return in the string gadget.
  704.          To enter a carriage return into your macros, type a ^M (either
  705.          the 2 separate characters ^ and M or the 2 keys together.  The
  706.          same goes for any control character you'd like to embed in a macro).
  707.          If you exit the Macro requester by selecting SAVE a file requester
  708.          will be presented with the name of the currently selected macro file.
  709.  
  710.          A macro may contain the command to execute an ARexx script.  The
  711.          delimiter for ARexx script names is the backslash (\).
  712.          An example ...
  713.  
  714.          This is a test \do_something\and another test.
  715.  
  716.          If the above is your macro, "This is a test " will be sent as a
  717.          normal macro string.  Then the ARexx script "do_something" will be
  718.          run, then the text "and another test" will be sent as a normal macro
  719.          string.
  720.  
  721.          NOTE 1:  If you need to send a backslash as part of your macro and
  722.                 it's not to be used as an ARexx scriptname delimiter, preface
  723.                 the backslash with another backslash, ie., \\.
  724.  
  725.          NOTE 2:  The ARexx script name need not contain the path nor the
  726.                 extension.  The path is assumed to be REXX: and the extension
  727.                 is assumed to be .BT.
  728.  
  729.  
  730.    MenuItem: Chat Window
  731.    Hot Key: Right-Amiga-W
  732.  
  733.       This check marked menu item toggles the Chat Window on and off.
  734.       Text typed into the Chat Window will be sent to the serial port
  735.       when a carriage return is typed or when the length of the line
  736.       exceeds the maximum line length (see Configuration Requester for
  737.       more information on the maximum line length).  You may move the
  738.       cursor on the line in the Chat Window with the left and right
  739.       arrow keys.  If you use the left arrow key you will automatically
  740.       go into insert mode.  If there are more characters than can be
  741.       displayed on screen, the line will scroll horizontally.  You may
  742.       continue inserting characters until you've have type 120 characters
  743.       (the line lenght limit in CompuServe's conference areas).  If the
  744.       cursor position is less than the total character length the line will
  745.       not be auto-sent.
  746.  
  747.       A ctrl-X typed in the Chat Window will clear the current line.
  748.       A ctrl-Y typed in the Chat Window will delete the text from the cursor
  749.       position to the end of the line.
  750.  
  751.       The Chat Window features a 20 line Chat History Buffer.  This is a
  752.       circular buffer.  You move through previously sent lines by using the
  753.       the up and down arrow keys.
  754.  
  755.       Sending control characters from the Chat Window to the serial port is
  756.       sometimes necessary.  BackTalk will send ctrl-C, ctrl-O, ctrl-P, ctrl-Q,
  757.       ctrl-S, ctrl-Z, and ESC from the Chat Window to the serial port.
  758.       All others are ignored.
  759.  
  760.    MenuItem: Append "..."
  761.    Hot Key: Right-Amiga-. (period)
  762.  
  763.       This function was decribed in more detail under Configuration.
  764.       It is another way (that is "hot keyable") to turn on and off the
  765.       append dots feature of lines auto sent from the Chat Window.  When
  766.       this option is selected a "box" will appear on the far right side of
  767.       the Chat Window bar (the bar separates the main communications window
  768.       from the Chat Window).  This gives you a visual indication that you
  769.       have selected the Send Dots feature.
  770.       The state of this item is saved in the BT.CFG file.
  771.  
  772.  
  773.    MenuItem: CTRL-U From Chat
  774.    Hot Key: NONE
  775.  
  776.       A check marked menu item that prepends a ^U to all lines sent from
  777.       the Chat Window.  This option is CompuServe specific.  If you are using
  778.       the Chat Window and you are experiencing line noise, a ^U will clear
  779.       CompuServe's input buffer (get rid of the noise) before your line is
  780.       sent.  The state of this item is saved in the BT.CFG file.
  781.  
  782.  
  783.    MenuItem: /SEN Active
  784.     Hot Key: Right-Amiga-/
  785.       A check marked menu item.
  786.       If the beginning of a line is "/sen nn" (where nn is a "job number")
  787.       and the line is auto sent before a carriage return is entered, the
  788.       unsent text will be wrapped to the next line and PREpended with
  789.       the "/sen nn" from the previous line.  This helps prevent embarassing
  790.       moments if the first /sen line is auto sent and the user neglects to
  791.       type "/sen nn" on the following line.
  792.  
  793.       When the Chat Window is active, a gadget labeled /SEN is located
  794.       on the right side of the bottom status line.  When the /SEN gadget
  795.       is clicked upon a string gadget will appear to it's right.  This
  796.       gadget is used to make it more convenient to have a /SEN converation
  797.       (private conversation) with someone in CompuServe's Conferencing or
  798.       CB areas.  When the the /SEN gadget is activated and a job number
  799.       is entered into the string gadget, all lines in the Chat Window will
  800.       be prepended with "/SEN nn" (where nn is the job number).
  801.  
  802.       The state of this item is saved in the BT.CFG file.
  803.  
  804.  
  805.    MenuItem: Load Configuration
  806.    Hot Key: NONE
  807.  
  808.       Selecting this item will present a file requester.  You may choose
  809.       a configuration file to be loaded and "take effect".
  810.  
  811.       NOTE: Configuration files may be in any directory and named in any
  812.             way you would like.  However, it is recommended that you place
  813.             your configuration files in S: and that you use the extension
  814.             ".cfg".  When the file requester is presented it will be
  815.             defaulted to S:#?.cfg.
  816.  
  817.  
  818.  
  819. ---------------------------------------------------------------------------
  820.  
  821.                        Other Features and Functions
  822.  
  823.  
  824. ARexx:
  825.  
  826. Using internal scripts ...
  827.  
  828. When BackTalk is run it attempts to open the ARexx port "REXX".  If this
  829. port is found an new menu is added, ARexx.  Under this menu is one menuitem,
  830. "ARexx...".  When this is selected a file requester is presented.
  831. The file requester is defaulted to the REXX: directory and only filenames
  832. with an extension of .BT are displayed.  .BT is the recognized extension
  833. for BackTalk specific ARexx scripts.
  834.  
  835. Using external scripts ...
  836.  
  837. Since BackTalk may be run more than once, different iterations of the progrm
  838. will have a uniquely named ARexx port.  In the first iteration it is
  839. named BT_REXX. The second iteration is BT_REXX2, the third is
  840. BT_REXX3, etc.
  841.  
  842. Quote all string arguments in your BackTalk ARexx scripts.
  843. NOTE:  All <string> arguments are case sensitive EXCEPT those used
  844.        with the ONSTRING and OFFSTRING commands.
  845.  
  846. Following are the ARexx command currently supported:
  847.  
  848. WAITFOR  Usage: WAITFOR <string>
  849.    This command waits for the string.  ARexx is not replied to
  850.    until this string is found.
  851.  
  852. ONSTRING  Usage: ONSTRING <string>
  853.    Sends a message to ARexx whenever <string> is encountered in the
  854.    serial input stream.  Your ARexx program must open a port named
  855.    BT_msg.  When a match is found, BackTalk will send a message
  856.    to BT_msg, arg0 will be MATCH.
  857.  
  858.    You may embed control characters within <string>.  To do so, use
  859.    the ^ (caret) then the character.  (ie, "John^M^J(" will cause the
  860.    serial input stream to be searched for "John" followed by an
  861.    0x0d (^M/carriage return), a 0x0a (^J), and a left parenthesis.
  862.    If you want to search the input stream for a ^ (caret) itself,
  863.    use "^^".  IE., to search for "2^2" your string would be entered
  864.    as "2^^2".  Each caret to be searched for must be preceeded with
  865.    another caret so the program knows you really want to search for
  866.    a caret and not to interpret it as the next character being a
  867.    control character.
  868.  
  869.    NOTE 1:  If you call ONSTRING(n) while an existing ONSTRING(n) command is
  870.           running you will not add a second string to the search but
  871.           will change the search string for the currently running
  872.           iteration of ONSTRING(n).
  873.           IE., ONSTRING "JOE"   (input stream being searched for "JOE")
  874.                ONSTRING "MOE"   (input strean now being searched for "MOE")
  875.  
  876.    NOTE 2:  There is only 1 port for BackTalk to send messages to
  877.             your ARexx script, that being "BT_msg".  You should
  878.             include something like the following in your scripts
  879.             that use ONSTRING(n) and OFFSTRING(n) in case another
  880.             script you've got running is already using the port.
  881.  
  882.               if ~openport("BT_msg") then do
  883.                  MESSAGE "PORT ALREADY IN USE"
  884.                  exit
  885.               end
  886.  
  887.               If you don't and just assume the port opened without
  888.               checking the return value, or you ignore the return
  889.               value and try to use it anyway, all sorts of strange
  890.               things may happen.
  891.  
  892.               The length of the ONSTRINGn/OFFSTRINGn arguments can
  893.               be up to 64 characters.  They are NOT case sensitive.
  894.  
  895. ONSTRING1  Usage: ONSTRING1 <string>
  896.    Works exactly as described for ONSTRING except the message sent to your
  897.    ARexx script will be MATCH1.
  898.  
  899. ONSTRING2  Usage: ONSTRING2 <string>
  900.    Works exactly as described for ONSTRING except the message sent to your
  901.    ARexx script will be MATCH2.
  902.  
  903. ONSTRING3  Usage: ONSTRING3 <string>
  904.    Works exactly as described for ONSTRING except the message sent to your
  905.    ARexx script will be MATCH3.
  906.  
  907. ONSTRING4  Usage: ONSTRING4 <string>
  908.    Works exactly as described for ONSTRING except the message sent to your
  909.    ARexx script will be MATCH4.
  910.  
  911. ONSTRING5  Usage: ONSTRING5 <string>
  912.    Works exactly as described for ONSTRING except the message sent to your
  913.    ARexx script will be MATCH5.
  914.  
  915. ONSTRING6  Usage: ONSTRING6 <string>
  916.    Works exactly as described for ONSTRING except the message sent to your
  917.    ARexx script will be MATCH6.
  918.  
  919. ONSTRING7  Usage: ONSTRING7 <string>
  920.    Works exactly as described for ONSTRING except the message sent to your
  921.    ARexx script will be MATCH7.
  922.  
  923. ONSTRING8  Usage: ONSTRING8 <string>
  924.    Works exactly as described for ONSTRING except the message sent to your
  925.    ARexx script will be MATCH8.
  926.  
  927. ONSTRING9  Usage: ONSTRING9 <string>
  928.    Works exactly as described for ONSTRING except the message sent to your
  929.    ARexx script will be MATCH9.
  930.  
  931. ONSTRING10  Usage: ONSTRING10 <string>
  932.    Works exactly as described for ONSTRING except the message sent to your
  933.    ARexx script will be MATCH10.
  934.  
  935. ONSTRING11  Usage: ONSTRING11 <string>
  936.    Works exactly as described for ONSTRING except the message sent to your
  937.    ARexx script will be MATCH11.
  938.  
  939. ONSTRING12  Usage: ONSTRING12 <string>
  940.    Works exactly as described for ONSTRING except the message sent to your
  941.    ARexx script will be MATCH12.
  942.  
  943. ONSTRING13  Usage: ONSTRING13 <string>
  944.    Works exactly as described for ONSTRING except the message sent to your
  945.    ARexx script will be MATCH13.
  946.  
  947. ONSTRING14  Usage: ONSTRING14 <string>
  948.    Works exactly as described for ONSTRING except the message sent to your
  949.    ARexx script will be MATCH14.
  950.  
  951. ONSTRING15  Usage: ONSTRING15 <string>
  952.    Works exactly as described for ONSTRING except the message sent to your
  953.    ARexx script will be MATCH15.
  954.  
  955. ONSTRING16  Usage: ONSTRING16 <string>
  956.    Works exactly as described for ONSTRING except the message sent to your
  957.    ARexx script will be MATCH16.
  958.  
  959. ONSTRING17  Usage: ONSTRING17 <string>
  960.    Works exactly as described for ONSTRING except the message sent to your
  961.    ARexx script will be MATCH17.
  962.  
  963. ONSTRING18  Usage: ONSTRING18 <string>
  964.    Works exactly as described for ONSTRING except the message sent to your
  965.    ARexx script will be MATCH18.
  966.  
  967. ONSTRING19  Usage: ONSTRING19 <string>
  968.    Works exactly as described for ONSTRING except the message sent to your
  969.    ARexx script will be MATCH19.
  970.  
  971. OFFSTRING  Usage: OFFSTRING <no argument> | <string>
  972.    This causes BackTalk to terminate the ONSTRING command.
  973.    If an argument is given to OFFSTRING it will be searched for in the
  974.    serial input string.  When found BackTalk will send a message to
  975.    ARexx which will terminate the ONSTRING command.  If no argument
  976.    is given to OFFSTRING a message will be sent to ARexx immediately
  977.    to terminate the ONSTRING command.
  978.  
  979.    When the message is sent to ARexx it is sent to a port that ARexx
  980.    has opened named "BT_msg".  Arg0 will contain "OFF".
  981.  
  982.    You may embed control characters within <string>.  To do so, use
  983.    the ^ (caret) then the character.  (ie, "John^M^J(" will cause the
  984.    serial input stream to be searched for "John" followed by an
  985.    0x0d (^M/carriage return), a 0x0a (^J), and a left parenthesis.
  986.    If you want to search the input stream for a ^ (caret) itself,
  987.    use "^^".  IE., to search for "2^2" your string would be entered
  988.    as "2^^2".  Each caret to be searched for must be preceeded with
  989.    another caret so the program knows you really want to search for
  990.    a caret and not to interpret it as the next character being a
  991.    control character.
  992.  
  993.    NOTE:  If you give OFFSTRINGn an argument ...
  994.           The input stream is searched for the argument string.
  995.           When it is found a message is sent to ARexx and the
  996.           corresponding ONSTRINGn (it it exists) is cleared.
  997.           If you change the argument to OFFSTRINGn before a match
  998.           is found in the input stream, all you have done is changed
  999.           the search string and NOT cleared the corresponding
  1000.           ONSTRING (if it exists).  This means you may do a
  1001.  
  1002.           OFFSTRING "test"
  1003.  
  1004.           if later in your ARexx script you do a
  1005.  
  1006.           OFFSTRING "news"
  1007.  
  1008.           BEFORE a match on "test" is made, you will have changed
  1009.           the search criteria from "test" to "news".
  1010.  
  1011.           If you do NOT give OFFSTRINGn an argument ...
  1012.           A message is sent to ARexx immediately and the
  1013.           corresponding ONSTRINGn (if it exists) is cleared.
  1014.  
  1015.           What this means is that OFFSTRINGn can be used as a "one shot"
  1016.           "signal me when this string is found".  Very much like WAITFOR
  1017.           with the exception being that your ARexx script will have to
  1018.           be looking for the message from BackTalk signaling the string
  1019.           was found.  (WAITFOR does not reply to ARexx until the string
  1020.           is found and therefore effectively stops further execution of
  1021.           your ARexx script until a match is found).
  1022.  
  1023.  
  1024. OFFSTRING1  Usage: OFFSTRING1 <no argument> | <string>
  1025.    Works exactly as described for OFFSTRING except the message sent to your
  1026.    ARexx script will be OFF1.
  1027.  
  1028. OFFSTRING2  Usage: OFFSTRING2 <no argument> | <string>
  1029.    Works exactly as described for OFFSTRING except the message sent to your
  1030.    ARexx script will be OFF2.
  1031.  
  1032. OFFSTRING3  Usage: OFFSTRING3 <no argument> | <string>
  1033.    Works exactly as described for OFFSTRING except the message sent to your
  1034.    ARexx script will be OFF3.
  1035.  
  1036. OFFSTRING4  Usage: OFFSTRING4 <no argument> | <string>
  1037.    Works exactly as described for OFFSTRING except the message sent to your
  1038.    ARexx script will be OFF4.
  1039.  
  1040. OFFSTRING5  Usage: OFFSTRING5 <no argument> | <string>
  1041.    Works exactly as described for OFFSTRING except the message sent to your
  1042.    ARexx script will be OFF5.
  1043.  
  1044. OFFSTRING6  Usage: OFFSTRING6 <no argument> | <string>
  1045.    Works exactly as described for OFFSTRING except the message sent to your
  1046.    ARexx script will be OFF6.
  1047.  
  1048. OFFSTRING7  Usage: OFFSTRING7 <no argument> | <string>
  1049.    Works exactly as described for OFFSTRING except the message sent to your
  1050.    ARexx script will be OFF7.
  1051.  
  1052. OFFSTRING8  Usage: OFFSTRING8 <no argument> | <string>
  1053.    Works exactly as described for OFFSTRING except the message sent to your
  1054.    ARexx script will be OFF8.
  1055.  
  1056. OFFSTRING9  Usage: OFFSTRING9 <no argument> | <string>
  1057.    Works exactly as described for OFFSTRING except the message sent to your
  1058.    ARexx script will be OFF9.
  1059.  
  1060. OFFSTRING10  Usage: OFFSTRING10 <no argument> | <string>
  1061.    Works exactly as described for OFFSTRING except the message sent to your
  1062.    ARexx script will be OFF10.
  1063.  
  1064. OFFSTRING11  Usage: OFFSTRING11 <no argument> | <string>
  1065.    Works exactly as described for OFFSTRING except the message sent to your
  1066.    ARexx script will be OFF11.
  1067.  
  1068. OFFSTRING12  Usage: OFFSTRING12 <no argument> | <string>
  1069.    Works exactly as described for OFFSTRING except the message sent to your
  1070.    ARexx script will be OFF12.
  1071.  
  1072. OFFSTRING13  Usage: OFFSTRING13 <no argument> | <string>
  1073.    Works exactly as described for OFFSTRING except the message sent to your
  1074.    ARexx script will be OFF13.
  1075.  
  1076. OFFSTRING14  Usage: OFFSTRING14 <no argument> | <string>
  1077.    Works exactly as described for OFFSTRING except the message sent to your
  1078.    ARexx script will be OFF14.
  1079.  
  1080. OFFSTRING15  Usage: OFFSTRING15 <no argument> | <string>
  1081.    Works exactly as described for OFFSTRING except the message sent to your
  1082.    ARexx script will be OFF15.
  1083.  
  1084. OFFSTRING16  Usage: OFFSTRING16 <no argument> | <string>
  1085.    Works exactly as described for OFFSTRING except the message sent to your
  1086.    ARexx script will be OFF16.
  1087.  
  1088. OFFSTRING17  Usage: OFFSTRING17 <no argument> | <string>
  1089.    Works exactly as described for OFFSTRING except the message sent to your
  1090.    ARexx script will be OFF17.
  1091.  
  1092. OFFSTRING18  Usage: OFFSTRING18 <no argument> | <string>
  1093.    Works exactly as described for OFFSTRING except the message sent to your
  1094.    ARexx script will be OFF18.
  1095.  
  1096. OFFSTRING19  Usage: OFFSTRING19 <no argument> | <string>
  1097.    Works exactly as described for OFFSTRING except the message sent to your
  1098.    ARexx script will be OFF19.
  1099.  
  1100. OFFSTRINGALL  Usage:  OFFSTRINGALL
  1101.    This will clear all outstanding OFFSTRINGn and ONSTRINGn
  1102.    calls.  To be used if RESET does too much for your needs.
  1103.    It is HIGHLY recommended you use either OFFSTRINGALL or
  1104.    RESET immediately before exiting your ARexx script if
  1105.    ONSTRINGn and/or OFFSTRINGn were used in the script.
  1106.  
  1107. RESET  Usage: RESET
  1108.    This is recommended to be used immediately before the "exit" command
  1109.    in your ARexx scripts.  It will clear all outstanding ONSTRINGn and
  1110.    OFFSTRINGn calls, restore screen display if DISPLAYOFF was called,
  1111.    and UNBLOCK user input if BLOCK was called.  The main purpose of this
  1112.    command is to tell BackTalk that the script has terminated and there
  1113.    is no longer any reason to be checking the input stream for matches
  1114.    if you had used ONSTRINGn/OFFSTRINGn.  Of course, RESET can be used
  1115.    at any time in an ARexx script if you wish the above actions to take
  1116.    place.
  1117.  
  1118. SEND  Usage: SEND <string>
  1119.    Sends a string to the serial port with a terminating carriage return.
  1120.    If the first character of <string> is a ^ (caret) the following
  1121.    character will immediately be sent as a control character and any
  1122.    text following that 2 character sequence will be ignored.  No carriage
  1123.    return is sent after a control character regardless of whether SEND
  1124.    or SENDNCR was used.
  1125.  
  1126. SENDNCR  Usage: SENDNCR <string>
  1127.     The same as SEND however does not send a terminating carriage return
  1128.  
  1129. MESSAGE  Usage:  MESSAGE <string>
  1130.    Sends a text message to the screen and to the review buffer
  1131.    but does not send it to the serial port.
  1132.  
  1133. FKEY  Usage: FKEY <Fn | SFn>
  1134.    This will send one of BackTalk's fkey macros
  1135.    Returns a non-zero on failure.
  1136.  
  1137. LMACROS  Usage: LMACROS <path/filename>
  1138.    This will load in an alternate set of macros.
  1139.    Returns a non-zero on failure.
  1140.  
  1141. LCONFIG  Usage: LCONFIG <path/filename>
  1142.    This will load in an alternate configuration.
  1143.    Returns a non-zero on failure.
  1144.  
  1145. CDIR  Usage: CDIR <drive/path>
  1146.    Changes the current directory.  Returns non-zero on failure.
  1147.  
  1148. FONT  Usage: FONT <fontname> <size>  (ie, FONT "courier" "13")
  1149.    Will load in a new font.  If the point size argument is missing
  1150.    no change will be made and an error of "5" will be returned.  If
  1151.    the font name cannot be found the font will be changed to Topaz 8 and
  1152.    and error of 10 will be returned.
  1153.  
  1154. OPENCAPTURE  Usage: OPENCAPTURE <filename | default from Configuration>
  1155.    Returns a non-zero on failure.
  1156.  
  1157. CLOSECAPTURE  Usage:  CLOSECAPTURE
  1158.    closes the capture file
  1159.  
  1160. DISPLAYOFF  Usage: DISPLAYOFF
  1161.    this turns off screen output.  Scrolling, cursor
  1162.    positioning, etc. still takes place, just no text
  1163.    is output to the screen.
  1164.  
  1165. DISPLAYON  Usage:
  1166.    resume text display
  1167.  
  1168. GETSTRING  Usage: GETSTRING <no argument> | <string>
  1169.    Brings up a string requester and returns the string to ARexx.
  1170.    The argument for this command is the prompt string for the requester.
  1171.    You may remember why the requester popped up requesting input but
  1172.    other users of your script might not.  If no argument is given the
  1173.    default text is "Enter your text".  An error code of 10 is returned
  1174.    if the requester failed to display.
  1175.  
  1176. GETFILENAME  Usage: GETFILENAME <no argument | path>
  1177.    Brings up a file requester and returns the full path to ARexx.
  1178.    If cancel is clicked in the file requester a null string is returned.
  1179.  
  1180. PROTOCOL  Usage: PROTOCOL <xprlibrary name>  (ie., PROTOCOL "xprascii")
  1181.    Selects and loads the specified XPR library.  The ".library" is not
  1182.    needed in the argument (but nothing is harmed if it's there).  If the
  1183.    specified library cannot be loaded for some reason, the xprquickb.library
  1184.    will be loaded.  If this is the case an error of 10 will be returned,
  1185.    otherwise the result will be 0.
  1186.  
  1187. SETXPR  Usage: SETXPR <string>
  1188.    This will send string containing the codes for various user definable
  1189.    options for the currently loaded XPR library.  NO checking is made
  1190.    to determine which library is currently active, just that there IS a
  1191.    library loaded.  This function is probably best used immediately
  1192.    after a PROTOCOL call.  For details on just what user definable
  1193.    options each individual XPR protocol offers, and their codes,
  1194.    see the file "ABOUT_XPR".
  1195.  
  1196. DOWNLOAD  Usage: DOWNLOAD <path/filename>
  1197.    The argument the path/name of the file that is written to your computer.
  1198.    If no path/filename argument is given a file requester will be presented
  1199.    for you to enter the path/name.  If you select Cancel on the file requester
  1200.    or select USE with no filename selected a non-zero error code will be
  1201.    returned.
  1202.  
  1203.    NOTE: If the protocol selected is an "auto-start" protocol (currently
  1204.          xprquickb and xprzmodem are the only two currently available in
  1205.          XPR format that I know of) this function will return immediately
  1206.          with an error code of 0.  If the protocol is not an auto-start
  1207.          protocol this function will return with a 0 after completion of
  1208.          the file transfer.
  1209.  
  1210. UPLOAD  Usage: UPLOAD <path/filename>
  1211.    The argument the path/name of the file that is sent from your computer.
  1212.    If no path/filename argument is given a file requester will be presented
  1213.    for you to enter the path/name.  If you select Cancel on the file requester
  1214.    or select USE with no filename selected a non-zero error code will be
  1215.    returned.
  1216.  
  1217.    NOTE: See the NOTE for DOWNLOAD.
  1218.  
  1219. BAUD  Usage: BAUD <rate>
  1220.    Returns a non-zero on failure.
  1221.  
  1222. PARITY  Usage: PARITY <Odd | Even | None>
  1223.   Returns a non-zero on failure.
  1224.  
  1225. DUPLEX  Usage: DUPLEX <Full | Half>
  1226.    Returns a non-zero on failure.
  1227.  
  1228. DLENGTH  Usage: DLENGTH <7 | 8>
  1229.    Returns a non-zero on failure.
  1230.  
  1231. STOPBITS  Usage: STOPBITS <1 | 2>
  1232.    Returns a non-zero on failure.
  1233.  
  1234. DEVICENAME <string>  Usage: DEVICENAME <device.name>
  1235.    Should this command fail, the program will read bt.cfg and use
  1236.    those values to reopen the serial port.  Of course, this will
  1237.    negate any changes you may have made previously via the
  1238.    PARITY, DUPLEX, DLENGTH, BAUD, and STOPBITS command.
  1239.  
  1240. UNITNUMBER <number>  Usage: UNITNUMBER <number>
  1241.    This command has the same caveat as DEVICENAME.  If it fails
  1242.    bt.cfg will be read and the serial port reopened with those
  1243.    values.  A strange thing with unit number, tho.  Serial.device
  1244.    will allow you to open using unit number 1, so the change is
  1245.    successful altho BackTalk no longer talks to the modem.
  1246.  
  1247. PRINTERON  Usage: PRINTERON
  1248.    turns on echo to printer
  1249.  
  1250. PRINTEROFF  Usage: PRINTEROFF
  1251.    turns off echo to printer
  1252.  
  1253. BEEP  Usage: BEEP
  1254.    Flashes all screens
  1255.  
  1256. CLEARSCREEN  Usage: CLEARSCREEN
  1257.    Clears the communications window.  If the Chat Window is present it will
  1258.    clear up to the Chat Bar.
  1259.  
  1260. BLOCK  Usage: BLOCK
  1261.    This function blocks all user input to BackTalk.
  1262.    Block removes the menustrip and ignores all keyboard input.
  1263.  
  1264.    Note: Make sure that you issue either the UNBLOCK command or
  1265.          the QUIT command before the ARexx script ends otherwise
  1266.          you will not be able to communicate at all with BackTalk.
  1267.  
  1268. UNBLOCK  Usage: UNBLOCK
  1269.    Restores the menustrip and again pays attention to keyboard input.
  1270.  
  1271. SCREENTOBACK  Usage: SCREENTOBACK
  1272.    If BackTalk is running in a non-workbench screen, this will push
  1273.    the screen to the back.
  1274.  
  1275. SCREENTOFRONT  Usage: SCREENTOFRONT
  1276.    If BackTalk is running in a non-workbench screen, this will push
  1277.    the screen to the front.
  1278.  
  1279. HANGUP  Usage: HANGUP
  1280.   This command works just like the Hangup menu item.
  1281.   It drops DTR.  If CD was never set (dip flipped or using a 3 wire cable)
  1282.   it will wait 60 ticks then send a "+++", delay(60), "ATH\r\n".
  1283.  
  1284. QUIT  Usage: QUIT
  1285.    It does what it says, it will shutdown the program.
  1286.  
  1287. DOTS  Usage: DOTS
  1288.    This is a toggle.  If the "Append ..." feature is enabled this will
  1289.    turn it off.  If it is not enabled, this will turn it on.
  1290.  
  1291. BORDER  Usage: BORDER
  1292.    This is a toggle.  If the window borders are displayed this will remove
  1293.    them.  If the borders are not displayed this will a set them.
  1294.  
  1295. CHAT  Usage: CHAT
  1296.    This is a toggle.  If the chat window is up, this removes it.  If it is
  1297.    not enabled this enables it.
  1298.  
  1299. CLICK  Usage: CLICK
  1300.    This is a toggle.  If the "Double Click XON/XOFF" feature is set this
  1301.    turns it off.  If it is off, this turns it on.
  1302.  
  1303. SENDU  Usage: SENDU
  1304.    This is a toggle.  If the "Preface lines from chat window with ^U" is set
  1305.    this turns it off.  If it is off, this turns it on.
  1306.  
  1307. SPLIT  Usage: SPLIT
  1308.    This is a toggle.  If you are running on an interlaced system, SPLIT will
  1309.    toggle from full screen display to half screen display and back again.
  1310.  
  1311. BITPLANE1  Usage: BITPLANE1
  1312.    Causes BackTalk to be run in a 1 bitplane custom screen.
  1313.  
  1314. BITPLANE2  Usage: BITPLANE2
  1315.    Causes BackTalk to be run in a 2 bitplane custom screen.
  1316.  
  1317. WBWINDOW  Usage: WBWINDOW
  1318.    Causes BackTalk to be run in a Workbench window.
  1319.  
  1320. QSCREEN  Usage: QSCREEN
  1321.    Returns the string "SCREEN" or "WORKBENCH" indicating in what screen mode
  1322.    the program is currently running.
  1323.  
  1324. QSIZE  Usage: QSIZE
  1325.    Checks whether the program is running with a half or full sized window.
  1326.    Returns the string "HALF" or "FULL".
  1327.  
  1328. QLACE  Usage: QLACE
  1329.    Checks the interlace flag.  Returns the string "ON" or "OFF".
  1330.  
  1331. QDEPTH  Usage: QDEPTH
  1332.    If the program is running on a custom screen, returns, as a string,  the
  1333.    number of bit planes.  If running in a workbench window, it returns a
  1334.    null string.
  1335.  
  1336. QFONTNAME  Usage: QFONTNAME
  1337.     Returns the name of the currently selected font.
  1338.  
  1339. QFONTSIZE  Usage: QFONTSIZE
  1340.    Returns the size of the currently selected font.
  1341.  
  1342. QCHAT  Usage: QCHAT
  1343.    Returns the "ON" or "OFF" state of chat window.
  1344.  
  1345. QBORDER  Usage: QBORDER
  1346.    Returns the "ON" or "OFF" state of the window borders.
  1347.  
  1348. QDUPLEX  Usage: QDUPLEX
  1349.    Returns the "FULL" or "HALF" state of the duplex.
  1350.  
  1351. QBAUD  Usage: QBAUD
  1352.    Returns the current baud rate.
  1353.  
  1354. QWLENGTH  Usage: QWLENGTH
  1355.    Returns the current word length setting.
  1356.  
  1357. QSTOPBITS  Usage: QSTOPBITS
  1358.    Returns the current stop bit setting.
  1359.  
  1360. QPARITY  Usage: QPARITY
  1361.    Returns the current parity setting, "NONE", "ODD", or "EVEN".
  1362.  
  1363. QCD  Usage: QCD
  1364.    Returns the state of Carrier Detect.  Returns the string "ON" if
  1365.    you are online, "OFF" if you aren't.
  1366.  
  1367. QDEVICENAME  Usage: QDEVICENAME
  1368.    Returns the name of the currently seleced serial device.
  1369.  
  1370. QUNITNUMBER  Usage: QUNITNUMBER
  1371.    Returns the currently selected serial device unit number.
  1372.  
  1373. QPROTOCOL  Usage: QPROTOCOL
  1374.    Returns the currently selected XPR protocol.
  1375.  
  1376. QDOTS   Usage: QDOTS
  1377.    Returns the state of "Append ...".  "ON" or "OFF".
  1378.  
  1379. QPIXELS  Usage: QPIXELS
  1380.    Returns the currently selected pixel length wrap point.
  1381.  
  1382. QCAPTURE  Usage: QCAPTURE
  1383.    Returns the name of the default capture path/file
  1384.  
  1385. QDOWNLOAD  Usage: QDOWNLOAD
  1386.    Returns the name of the default download path
  1387.  
  1388. QUPLOAD  Usage: QUPLOAD
  1389.    Returns the name of the default upload path
  1390.  
  1391. QCLICK  Usage: QCLICK
  1392.    Returns the current state of the "Double Click XON/XOFF" feature,
  1393.    "ON", or "OFF".
  1394.  
  1395. QSENDU  Usage: QSENDU
  1396.    Returns the current state of the "prepend ^U to chat lines" feature,
  1397.    "ON", of "OFF"
  1398.  
  1399. QSADDRESS  Usage: QSADDRESS
  1400.    If BackTalk is currently running in a custom screen, this
  1401.    returns the hex address of that screen.  If the program is
  1402.    running in a workbench window, this command returns a null string.
  1403.  
  1404.  
  1405.                        !!!!! IMPORTANT !!!!!
  1406.  
  1407. In all of your ARexx scripts that call ONSTRINGn and/or OFFSTRINGn,
  1408. make sure that in your getpkt() loop you've got something similiar to...
  1409.  
  1410. when arg0 = 'DIE' then do
  1411.    closeport("BT_msg")
  1412.    /* other clean up stuff here */
  1413.    exit
  1414. end
  1415.  
  1416. This is _VERY_ important.  If you have an ARexx script running that is
  1417. waiting for events (currently the only implemented BackTalk ARexx calls
  1418. that will generate these events are the ONSTRINGn and OFFSTRINGn calls)
  1419. and you terminate BackTalk, BackTalk will not be able to fully terminate
  1420. until your ARexx script exits the getpkt() loop.  During BackTalk's
  1421. termination process, it will check if the port BT_msg is open.  If it
  1422. is, BackTalk will send the "DIE" message to BT_msg.  It is up to your
  1423. script to properly exit the getpkt() loop and terminate.  The termination
  1424. of the ARexx script will signal BackTalk to complete its termination
  1425. process.
  1426.  
  1427. ---------------------------------------------------------------------------
  1428.  
  1429. Following is an example ARexx script:
  1430.  
  1431.  
  1432. /* Start BackTalk ARexx script */
  1433. options results
  1434. address command "run BackTalk"
  1435. waitforport BT_REXX
  1436.  
  1437. if ~show('l', "rexxsupport.library") then
  1438.    addlib('rexxsupport.library',0,-30,0)
  1439.  
  1440. address BT_REXX
  1441. BLOCK
  1442. QSIZE
  1443. if result = "FULL" then
  1444.    SPLIT
  1445.  
  1446. call delay 100
  1447.  
  1448. GETSTRING "Enter the phone number to dial"
  1449. num = result
  1450.  
  1451. SENDNCR "atmdt "
  1452. SEND num
  1453. WAITFOR "CONNECT"
  1454. call delay 50
  1455. SENDNCR "^C"
  1456. WAITFOR "User ID:"
  1457. call delay 50
  1458. DISPLAYOFF
  1459. FKEY F2      /* this is an fkey macro, it sends my ppn and password */
  1460.              /* in the form of 77777,1234\\password                 */
  1461.  
  1462. call delay 100
  1463. DISPLAYON
  1464. FONT "Courier" "13"
  1465. SEND "G AmigaUser"
  1466. WAITFOR "Forum !"
  1467. OPENCAPTURE "ram:testing"
  1468. SEND "RN"
  1469. WAITFOR "Forum !"
  1470. CLOSECAPTURE
  1471. SEND "BYE"
  1472. QUIT
  1473.  
  1474.  
  1475. (More scripts are included in the archive and will likely change from
  1476. release to release.  Remember, scripts ending in .REXX are meant to be
  1477. run external to BackTalk, those ending in .BT are meant to be run from
  1478. within BackTalk)
  1479.  
  1480. ---------------------------------------------------------------------------
  1481.  
  1482. Scroll Lock:
  1483.  
  1484. When a ^S is sent to the serial port, a text message, "Scroll Lock On" is
  1485. displayed on the left side of bottom status line.  This is just a visual
  1486. indication that a ^S has been send and incoming text will not be resumed
  1487. until a ^Q is sent.
  1488.  
  1489. Mouse double click:
  1490.  
  1491. Double clicking the left mouse button sends a ^S to the modem.  Double
  1492. clicking again sends a ^Q.  This feature is user selectable via the
  1493. Configuration menu.  The state of this item will be saved in BT.CFG.
  1494.  
  1495. ARexx Entrance and Exit Scripts:
  1496.  
  1497. If ARexx is available on your system, when you startup BackTalk, it will
  1498. look in REXX: for an ARexx script named BTstartup.bt.  If the ARexx script
  1499. exists it will be run.
  1500.  
  1501. When terminating Backtalk, if ARexx is available on your system, BackTalk
  1502. will look for a file in REXX: named BTexit.bt.  If found, the script
  1503. will be run before BackTalk terminates.
  1504.  
  1505. ---------------------------------------------------------------------------
  1506.  
  1507. Many enhancements are planned for the future.  Please don't be shy with
  1508. enhancement requests and bug reports.
  1509.  
  1510.