home *** CD-ROM | disk | FTP | other *** search
/ Fish 'n' More 2 / fishmore-publicdomainlibraryvol.ii1991xetec.iso / fish / telecom / disterm / terminstructions < prev    next >
Text File  |  1991-03-08  |  36KB  |  674 lines

  1. *****************************************************************************
  2. disTerm
  3.  
  4. © 1990 by Jeff Glatt
  5.  
  6.    This document describes the disTerm program, a very small telecom program
  7. which can be used with any Hayes compatible modem.
  8.    It assumes 8 data bits, 1 stop bit, and no parity. This is the standard for
  9. modern telecommunications, although some ancient, obsolete equipment still
  10. exists, and disTerm is not designed to communicate with such archaic devices.
  11.    It also accesses the internal serial hardware (assuming that it is not
  12. already in use) for the highest possible efficiency. It is assumed that the
  13. modem uses both the CARRIER DETECT and CLEAR TO SEND lines of the serial port.
  14. This version of disTerm does not work with Amiga 2x00 serial card add-ons.
  15. Because it does not use the amiga serial.device, it does not inherit the
  16. numerous bugs of this poorly written part of the Amiga OS.
  17.    This program requires that the dissidents "requester.library" be copied to
  18. the LIBS: drawer of your boot disk, as well as any transfer protocol libraries
  19. that have been written to work with this term program. Also, the dissidents
  20. "color.library" must be in LIBS: if you wish to adjust window colors. Finally,
  21. the "rexxapp.library" must be copied to LIBS: if you wish to use ARexx. From
  22. WorkBench, you can click on the InstallLibs icon. Make sure that you have some
  23. free space on your WB boot disk.
  24.    The goal of this term program is to provide only those features that I have
  25. deemed useful for modem communications, in the most efficient manner. It is
  26. written entirely in 68000 for utmost speed and size. For people who do not
  27. need esoteric, complicated features (i.e. people who would rather use software
  28. than play with it), this term program should serve them well. It runs parti-
  29. cularly well in tight memory conditions, too.
  30.  
  31. 1).  General Overview
  32. 2).  The Phone List (i.e adding/editing BBS entries)
  33. 3).  Dialing a number
  34. 4).  Macros and Commands
  35. 5).  ASCII Send/Capture
  36. 6).  Binary UpLoad/DownLoad
  37. 7).  Split/Borders/Colors/Beep/Icon
  38. 8).  Execute DOS
  39. 9).  ARexx Scripts
  40. 10). ScrollBack Buffer
  41. 11). Screen/Window Types
  42. 12). Tech Notes
  43.  
  44. *****************************************************************************
  45. 1). General Overview
  46.  
  47.    There are 5 menus. The PROJECT menu contains items applicable to the gene-
  48. ral operation of the program. The SETUP menu contains items that apply to the
  49. terminal with which you connect (i.e. these items pertain to the way that you
  50. want the program to be set up for any given connection). The TRANSFER menu
  51. pertains to file transfer (i.e. ascii or binary, what protocol, etc). The
  52. PHONE menu contains items for managing a list of phone numbers, and for choos-
  53. ing and auto-dialing a number. The COMMANDS menu is for future use.
  54.    When the program is first started, you may type characters which will be
  55. sent to the modem. Since the modem is in command mode, any Hayes commands may
  56. be typed.
  57.    The term configuration is stored within the Phone number file, so that
  58. the setup can be saved along with the numbers. Nearly every setting in the
  59. term program is saved in an efficient manner.
  60.  
  61.  
  62. *****************************************************************************
  63. 2). The Phone List
  64.  
  65.    The first time that you run the term program, you will need to make a phone
  66. listing file of all of the other terminals that you intend to call. You will
  67. then save this file so that it can simply be loaded in the future. You can
  68. later change the file, adding new BBS names to the listing, or deleting those
  69. names no longer needed.
  70.    The first step to adding a new BBS name to the current phone list (or
  71. editing a number already added) is to setup the term program exactly as you
  72. would like it for this BBS. This involves setting the Baud rate, Half or Full
  73. Duplex, CR's/LF's, Split Window, Borders, Colors, Auto-Chop, Verbose, and the
  74. desired protocol library. ALL of these settings are saved per BBS name. Before
  75. you add a new entry or edit an existing one, always set these parameters as
  76. desired. Furthermore, each BBS has up to 10 macros (for the 10 Function keys),
  77. but these will be setup/edited when you actually add/edit the BBS name.
  78.    To make a new phone file (or add to/edit the current one), after you have
  79. setup the above parameters, select "Edit Numbers" under the Phone menu. The
  80. phone requester should pop up. There won't be any BBS names listed in the
  81. requester at this time if you are starting anew. There are a scroll bar and
  82. arrow gadgets to the right of where the names are listed. The size and position
  83. of the scroll bar's knob tells you if there are any more names than are cur-
  84. rently being displayed. At this time, the knob should fill the entire scroll
  85. bar (i.e. no names are out of view). You move the scroll bar or click the
  86. arrows to see any names out of view. There is a Name gadget below the list of
  87. BBS names. This is where you type in the name of the BBS that you wish to add
  88. to the phone listing. You click in this gadget, type the BBS name (i.e. some
  89. identifying name of your choice, spaces are OK), and then hit the RETURN key
  90. (or click on the OK gadget) to add the name, or click on the CANCEL gadget to
  91. abort. If you choose to add the name, the phone requester will disappear, and
  92. a prompt will appear in the window title bar asking you to type in the phone
  93. number. Type this in (with area code if necessary). You don't have to separate
  94. the digits at all, but you can leave a space or "-" between digits. For
  95. example, these are the same:
  96.  
  97. 612 555-1345
  98. 612-555-1345
  99. 6125551345
  100. 612 5551345
  101. etc
  102.  
  103.   Press return after you have typed in the number. This BBS will now be
  104. added to the phone listing at the baud rate that is currently set under the
  105. Settings menu "Baud Rate" with all the other current parameters. (Note that
  106. the "Full Duplex" item toggles to "Half Duplex" when you select it. Also, the
  107. "Trans EOL" and "Rcv EOL" toggle between CR only and CR/LF. The half duplex
  108. and CR/LF EOL settings should only be set if you're communicating with a
  109. terminal that doesn't echo back what you type, nor send Carriage Returns to
  110. advance the cursor to the next line.)
  111.   Next, a prompt will appear in the title bar telling you to select one of the
  112. function keys, or press ESC. Each BBS name can have 10 macros (one for each
  113. function key). For example, to setup function #1, press F1. You should see
  114. the prompt "Function string". Simply type in the desired string and press
  115. RETURN. Later when you auto-dial this BBS, function key #1 will be setup as
  116. so. After entering your macro string, you are returned to the previous prompt.
  117. You may now select one of the other function keys, and set that one up too.
  118. When you're done setting up any function keys, press ESC one last time. You
  119. are now finished adding this BBS entry.
  120.   If you make some mistake (or forgot to set a particular parameter), simply
  121. change your present setup as desired, then bring up the Edit Numbers requester
  122. again. You should see that BBS name in the list. Select it by clicking on the
  123. name. You should see the name appear in the name gadget. You can delete it
  124. altogether by clicking on the delete gadget, or you can edit the settings by
  125. selecting OK. You will be asked for the number again, and it will be stored at
  126. the current baud rate, with the other current settings. You will be given an
  127. opportunity to edit the macros. Note that if a function key currently has a
  128. macro, it will be displayed. Press CTRL-x to delete the characters if desired,
  129. or use the cursor keys to move about (LEFT, RIGHT, SHIFT-LEFT, SHIFT-RIGHT).
  130. To erase the macro without entering anything new, press ESC. Once again, you
  131. need to press one final ESC to exit the editing process for this BBS.
  132.   Bring up the Edit Numbers requester for each BBS name that you wish to add to
  133. the phone listing, and repeat the above procedure. Always remember to adjust
  134. the SETUP menu items, and the last 3 items in the TRANSFER menu as desired
  135. before each time that you invoke "Edit Numbers". NOTE: If the settings are
  136. already as desired, you do not have to readjust them.
  137.   When you have completed the list, you may wish to setup the term program
  138. one last time in order to establish a default setup. This is the way the term
  139. program will first appear when run. Note that the Audible Beep/Visual Beep,
  140. and the Icon/No Icon is not settable per BBS, but a master setting is saved.
  141.   You can save this phone list by calling up the "Save Numbers" requester under
  142. the Phone menu. You'll see the file requester appear. (It looks similiar to the
  143. phone requester, but it displays the files in the current directory, and has
  144. gadgets to change disks/directories. It can also display a list of devices by
  145. pressing the mouse menu button and selecting one from the list. Drawers have a
  146. "»»" prepended to them. Enter the desired name of the phone file in the name
  147. gadget (or choose to overwrite one of the existing files) and select OK. The
  148. extension ".pho" will be automatically added to the end of your filename (un-
  149. less you change the extension string by pressing F4 while the requester is
  150. open. (To completely cancel the phone extension, press F4 and delete all text
  151. by pressing CTRL-x, then hit return. You need do this only once.)
  152.   The next time that you run the program, you can reload all of the BBS
  153. names/numbers by selecting "Load Numbers" under the Phone menu, and choosing
  154. this file to load. Also, when first run, the program automatically loads any
  155. file in the same directory named "disTerm.pho" (if there is one), or any
  156. "disTerm.pho" on your boot disk (SYS:). The requester only displays those
  157. files that end in ".pho" unless you change/defeat the extension.
  158.   For more info about using the dissidents file requester, consult the FileIO
  159. doc.
  160.  
  161.  
  162. *****************************************************************************
  163. 3). Dialing a number
  164.  
  165.   To dial a BBS, bring up the "Dial Numbers" requester under the Phone menu.
  166. The phone requester should appear with all of the BBS names that were loaded
  167. (via "Load Numbers"). There is also another gadget marked "Auto Off". For now,
  168. we'll ignore this. Select the name of the BBS that you wish to call by clicking
  169. twice on it, or clicking once and selecting OK, or by typing the name into the
  170. Name gadget and pressing RETURN (or OK). You may also select CANCEL to abort.
  171. disTerm will then call that BBS (at the baud rate that you specified when you
  172. added it to the list), establish contact, and setup the function keys and
  173. other settings (CR/LF, Split, Borders, Duplex, Colors, AutoChop, Verbose,
  174. protocol library).
  175.   Note that you can abort during dialing by pressing ESC. If any errors, an
  176. error message is displayed, and the phone hangs up.
  177.   You can also have disTerm dial several BBSes continuously until one connects.
  178. This is handy if there are busy signals on some BBS lines. To do this, when you
  179. bring up the "Dial Numbers" requester, click on the Auto Off gadget so that it
  180. says Auto On. You can now select several BBS names instead of only one. (Note
  181. how each one is highlighted when you click on it.) To "unselect" a BBS, click
  182. on the name again. When you select OK, disTerm will dial each number in rota-
  183. tion until one connects. The window title bar will display the BBS name as it
  184. dials. Other info will be displayed in the window below. Note that the autodial
  185. waits about 60 seconds for each phone number to connect before proceeding to
  186. the next. If you wish to increase or decrease this time, while auto-dialing is
  187. occurring, press the Up or Down cursor key to increase or decrease the time
  188. respectively. This setting is saved in your Phone file, so you should adjust
  189. as desired before saving your phone listing file. You can also abort the auto-
  190. dialing process by pressing the ESC key. The TAB key will automatically skip
  191. to the next number. When a modem connects, the screen will flash, and the title
  192. bar will display the name of the BBS contacted. If you have moved the disTerm
  193. window to the back while dialing, it will pop to the front when a BBS is
  194. reached.
  195.  
  196.  
  197. *****************************************************************************
  198. 4). Macros and Commands
  199.  
  200.   There are several Hayes commands that disTerm sends to your modem when
  201. it first runs, exits, auto-dials, and hangs up. These can be altered by going
  202. to the Phone menu's Change Cmd item and selecting the command that you wish to
  203. change. The current command string will be displayed in the title bar to be
  204. edited. For example, the Dial command is "\w\wATDP". This is for rotary dial
  205. phone lines. If you have a touch tone phone, you'll need to change this to
  206. "\w\wATDT" (minus the quotes). The hangup command is "+++ATH" which is the
  207. escape sequence followed by the command to hangup the receiver. The Init
  208. command is the same (and this is sent to the modem when disTerm is first
  209. started.) The Exit command is sent when disTerm is quit.
  210.   THESE COMMANDS ARE SAVED WITHIN YOUR PHONE LISTING FILE. Note that the Init
  211. command only executes once at the start of the program. If you wish to take
  212. advantage of this, you should set it up and then save a phone file under the
  213. name "disTerm.pho" on your boot disk (SYS:) or current working directory.
  214.   You can use certain escape sequences (a backslash followed by a letter) in
  215. these commands as so:
  216.  
  217. \r = carriage return
  218. \n = same as \r
  219. \f = formfeed
  220. \w = delay 25/60ths of a sec
  221. \t = tab
  222. \b = backspace
  223. \x = execute rexx script. The rest of the macro is the filename of the script
  224. \d = download
  225. \u = upload
  226.  
  227.   In addition, a ^ followed by a letter is a control character. (unless ^^
  228. which is simply ^).
  229.   Note that the default Dial command begins with two delays. This is to give
  230. the modem time to hangup the phone before dialing. Sometimes, Hayes commands
  231. need delays inbetween them or they will not be properly recognized. For exam-
  232. ple, this often will not work:
  233.  
  234.  ath\n atdp 555-3313\n
  235.  
  236. whereas this does:
  237.  
  238.  ath\n \w\w atdp 555-3313
  239.  
  240.   Also, note that I explicitly put a carriage RETURN after the ath command.
  241. Most Hayes commands must be followed by a CR. It is not necessary to have a
  242. CR at the very end of your command string, because disTerm explicitly sends
  243. one there.
  244.   Macros (i.e. the 10 function keys) may be any text of your choice, along
  245. with the above escape sequences and control characters. No CR is explicitly
  246. assumed at the end of the string. Note that the judicious use of delays may be
  247. required. For example, many Citadel BBSes require you to log on. You press "l",
  248. then type your password. Assume that your password is "blort". The following
  249. may not work as a macro
  250.  
  251. lblort\n
  252.  
  253.   This is because there is not enough time between the Citadel receiving the
  254. l and the first char of your password, so the BBS "loses" the first chars of
  255. your password. Placing a delay solves the problem.
  256.  
  257. l\wblort\n
  258.  
  259.   To get a display of the macro strings for any BBS entry, select "See Macros"
  260. under the PHONE MENU. This brings up the phone list. Choose the desired BBS,
  261. and its macro strings will be displayed in the window. If you select the
  262. gadget labeled "Setup On", it will toggle to "Setup Off". With Setup On, the
  263. function keys will be displayed as well as immediately setup to those macros,
  264. plus the window colors, duplex, baud rate, CR/LF, split window, verbose,
  265. AutoChop, and protocol library will be set for that BBS, even while ONLINE.
  266. This is useful for changing the term setup without having to dial a number.
  267. Yuo might even add "dummy" numbers to the phone file so that you can quickly
  268. change parameters while ONLINE via "See Macros". With Setup Off, the macros
  269. are displayed, but the term setup is left unchanged.
  270.   Note that the \u and \d can be used to make customized upload/download
  271. macros per BBS.
  272.  
  273.  
  274. *****************************************************************************
  275. 5). ASCII Send/Capture
  276.  
  277.   You can capture text as you're reading it by selecting "Start ASCII Capture"
  278. under the TRANSFER menu. The file requester appears in order to choose where
  279. to save the captured text. The menu item changes to "Stop ASCII Capture", and
  280. all subsequent typed and received text is saved to this file. To stop capturing
  281. select "Stop ASCII Capture".
  282.   You can also send a text file by selecting "Start ASCII Send". The file
  283. requester appears to select the text file. disTerm will then send the text.
  284. To abort, select the "Stop ASCII Send" item.
  285.  
  286.  
  287. *****************************************************************************
  288. 6). Binary Upload/Download
  289.  
  290.   To upload or download binary files (executables, packed files), there are two
  291. items under the TRANSFER menu. Both bring up the file requester to make your
  292. selection.
  293.   Before doing this, you should select the desired protocol library (i.e.
  294. Xmodem, Ymodem, etc) if you didn't do so when adding the BBS name to the phone
  295. list. Note that you can always change the protocol lib at any time (even when
  296. ONLINE), but disTerm sets up the protocol lib again when a number is dialed
  297. or when "See Macros" with Setup On is invoked. disTerm comes with its own set
  298. of tranfer libraries. You cannot use any other protocol libs except these,
  299. which are designed to work well with disTerm. Here are the available transfer
  300. libs. Copy only those libs that you desire to the LIBS: drawer of your boot
  301. disk.
  302.  
  303. A). xmodem_term.library
  304.     Sends/Receives Xmodem protocol with 128 byte blocks (packets). It assumes
  305.     CRC, but will go to Checksum if the other terminal doesn't handle CRC. It
  306.     can also accept (receive) Xmodem with 1024 byte blocks and Ymodem (non-
  307.     batch) files, although it always sends Xmodem 128 byte blocks. This
  308.     protocol is useful for noisy phone lines, or BBSes that do not place a
  309.     delay inbetween sending of packets (like BIX does).
  310.  
  311. B). xmodem1K_term.library
  312.     Sends/Receives Xmodem protocol with 1024 byte blocks (packets). It assumes
  313.     CRC, but will go to Checksum if the other terminal doesn't handle CRC. It
  314.     can also accept (receive) Xmodem with 128 blocks and Ymodem (non-batch)
  315.     files, although it always sends Xmodem 1024 byte blocks. This protocol is
  316.     most efficient for phone lines that aren't noisy AND BBSes that place a
  317.     delay inbetween sending of packets. Note that some BBSes will not deal with
  318.     Xmodem 1K packets if you tell the BBS to expect an Xmodem upload. It may
  319.     refuse to accept such a transfer, or abort with TRANSFER or TIMEOUT errors.
  320.     You may be able to convince the BBS to accept Xmodem 1K by telling it to
  321.     expect a Ymodem upload. Then again, this may not work either. It depends
  322.     upon how intelligent the BBS is.
  323.  
  324. C). ymodem_term.library
  325.     Sends/Receives Ymodem protocol with 1024 byte blocks (packets). It assumes
  326.     CRC, but will go to Checksum if the other terminal doesn't handle CRC. It
  327.     can also accept (receive) Xmodem with 128 or 1024 byte blocks, although it
  328.     always sends Ymodem 1024 byte blocks. This protocol is useful for phone
  329.     lines that aren't noisy, BBSes that place a delay inbetween sending of
  330.     packets, AND for situations where Xmodem1K doesn't work. Note that this
  331.     lib does not allow batch sends/receives (i.e. 1 or more files per trans-
  332.     fer).
  333.  
  334. D). ybatch_term.library
  335.     Sends/Receives Ymodem protocol with 1024 byte blocks (packets). It assumes
  336.     CRC, but will go to Checksum if the other terminal doesn't handle CRC. It
  337.     can also accept (receive) Xmodem with 128 or 1024 byte blocks and Ymodem
  338.     (non-batch), although it always sends Ymodem 1024 byte blocks (batch)
  339.     files. This protocol is useful for phone lines that aren't noisy, BBSes
  340.     that place a delay inbetween sending of packets, AND for situations where
  341.     you desire batch sends/receives. The received files will be created in the
  342.     directory that you initially selected via the file requester. The filenames
  343.     are gotten from the other terminal. For sending, when the file requester
  344.     appears, you are allowed to select (highlight) more than one filename. All
  345.     the files must be in the same directory. disTerm will then send these files
  346.     to the other terminal. Note that some BBSes do not allow batch uploads, so
  347.     in this case, only select one file to send.
  348.  
  349.   Select the UpLoad menu item to send a file to the BBS. The BBS should be
  350. waiting for a file before you select this item. Note that if you haven't se-
  351. lected a protocol lib first, the requester to select the lib will appear now.
  352.   Select DownLoad to receive a file from the BBS. The BBS should already be
  353. set to send a file before you select this.
  354.   To abort during transfer, press ESC. It may takes up to a few seconds before
  355. the abort is acknowledged depending upon the state of the transfer.
  356.   Any errors are posted to the window. If VERBOSE is on, a running count of
  357. packets and bytes transfered is displayed. Otherwise, this info is suppressed
  358. in order to speed up transfer.
  359.   AUTOCHOP, when selected, strips the trailing "poot" from any received file
  360. whose name doesn't end in .arc, .lzh, .zip, or .zoo (case-insensitive). Other-
  361. wise, receipt of an uncompressed executable file with this extra poot may re-
  362. sult in AmigaDOS not allowing you to run it as an executable (unless you use a
  363. program like FixHunk to restore the proper Hunk size). When you D/L programs
  364. from a BBS which were not archived with some compression utility (or are in a
  365. self-extracting compression), you'll probably need AUTOCHOP on.
  366.   Note: If you wish to override the setting of the protocol lib for a certain
  367. BBS, before adding it to the list, bring up the Protocol lib requester and
  368. select CANCEL. This will result in no protocol lib being set when the BBS is
  369. dialed, or when "See Macros" with Setup On is invoked.
  370.  
  371.  
  372. *****************************************************************************
  373. 7). Split/Borders/Colors/Beep/Icon
  374.  
  375.   "Split Windows" "Colors" and "Borders" simply affect the way in which the
  376. term window appears.
  377.   With Split Windows, the term window is divided in half with your typed text
  378. in the top half, and received text from the modem in the bottom. This can be
  379. useful when conversing with someone at another terminal when both are in half
  380. duplex (i.e. the other terminal is not echoing back your text.) Note that if
  381. the other term is not sending RETURNS (i.e. the cursor overwrites the prev-
  382. iously printed line rather than scrolling down), you may wish to change the
  383. Rcv EOL to CR/LF.
  384.   Borders simply toggles the window borders on or off.
  385.   Colors brings up the dissidents color requester to adjust the window colors.
  386. You must have the dissidents "color.library" in your LIBS: drawer.
  387.   When "Audible Beep" is selected, you will be signaled at various times with
  388. an audio beep instead of a screen (Visual) flash.
  389.   When Icon is ON, any files that you download, capture, and the phone files
  390. are saved with a Workbench icon. No Icon does not save icons.
  391.  
  392.   NOTE: Remember to invoke "Edit Numbers" and choose the desired BBS name to
  393. store any changed settings, then resave a phone file. Otherwise, such changes
  394. are only temporary, and won't be saved when you go to dial another BBS. The
  395. Beep and Icon settings are global (i.e. are the same for all BBS numbers), and
  396. only need to be set once before saving the phone file.
  397.  
  398.  
  399. *****************************************************************************
  400. 8) Execute DOS
  401.  
  402.   You can execute a DOS command via the "Execute DOS" menu item just as you
  403. would from a CLI. For example, if you want to List the contents of DF0:, you
  404. would select the Execute DOS menu item, and at the prompt type:
  405.  
  406. list df0:
  407.  
  408. followed by a RETURN. The disTerm window will go to the back while the command
  409. is executing. This is also useful for invoking other programs from the term
  410. program via the DOS Run command. For example, to start up an editor named
  411. disED, select the Execute DOS item, then type:
  412.  
  413. run dised
  414.  
  415. If the editor allowed the inclusion of a filename on the CLI command line,
  416. you could add it here:
  417.  
  418. run dised df0:mytextfilename
  419.  
  420.  
  421. *****************************************************************************
  422. 9). ARexx Scripts
  423.  
  424.    Arexx is a commercial product written by Bill Hawes, available from various
  425. outlets. You must have this product in order to utilize the ARexx features.
  426. You should start ARexx via the Rexxmast program that comes with ARexx.
  427.    The name of disTerm's ARexx port is 'disTerm' minus the quotes. Note the
  428. spelling and case of the letters. Since only 1 copy of disTerm can be run at
  429. once, their are no additional ports.
  430.    disTerm has only a few Rexx commands, but these allow access to ALL of
  431. disTerm's menus, plus the ability to send, display, and receive output to/from
  432. the serial port. In short, you can do anything via ARexx that you can do by
  433. hand.
  434.    The Rexx commands are DISMENU, DISOUT, DISIN, DISSTRING, DISPRINT, DISFUNC,
  435. and DISWIND.
  436.    DISWIND simply brings the term's window to the front and makes it active.
  437.    DISMENU allows you to select one of disTerm's menu items via ARexx, and it
  438. takes at least 2 args: the menu and item numbers. Menus are numbered from 0,
  439. starting at the leftmost menu (i.e. Project = 0, Setup = 1, Transfer = 2,
  440. Phone = 3, and Command = 4). The items in a menu are numbered from 0. For
  441. example, the LOAD PHONE item is item #0 in menu #3). Some menu items may take
  442. additional args with the DISMENU command. Here is the form for DISMENU:
  443.  
  444.   'DISMENU' menu# item# <other args if needed>
  445.  
  446.    So, for example, to QUIT disTerm, you issue:
  447.  
  448.   'DISMENU' 0 5
  449.  
  450.    Here is a list of all of the possible uses of DISMENU:
  451.  
  452.  'DISMENU' 0 3 <the DOS string to execute>
  453.   Executes the DOS string. If you don't specify a string, it prompts the user
  454.   for one.
  455.  
  456.  'DISMENU' 0 4
  457.   Sends a break
  458.  
  459.  'DISMENU' 0 5
  460.   Quits disTerm
  461.  
  462.  'DISMENU' 1 0 <baud #>
  463.   Sets the baud rate. The baud # is a number 0 to 5 for 300, 1200, 2400, 4800,
  464.   9600, and 19200 respectively.
  465.  
  466.  'DISMENU' 1 1
  467.   Toggles the duplex between HALF and FULL.
  468.  
  469.  'DISMENU' 1 2 <0 or 1>
  470.   Toggles the CR/LF between CR and CR/LF. A 0 for the 3rd arg affects Trans-
  471.   mitted CR's, and a 1 affects Received CR's
  472.  
  473.  'DISMENU' 1 3
  474.   Toggles the split window
  475.  
  476.  'DISMENU' 1 4
  477.   Toggles the borders
  478.  
  479.  'DISMENU' 1 5
  480.   Invokes the color requester
  481.  
  482.  'DISMENU' 1 6
  483.   Toggles the audio beep
  484.  
  485.  'DISMENU' 2 0 <filename>
  486.   Toggles the Ascii Capture ON/OFF. If it was ON, then it is turned off. If
  487.   OFF, Ascii capture is started. You may supply a filename as a third arg. If
  488.   not, the file requester will open in order to choose the name. If your file-
  489.   name has imbedded quotes, place the entire filename in double quotes ("). Be
  490.   careful not to have any trailing spaces at the end of this line.
  491.  
  492.  'DISMENU' 2 1 <filename>
  493.   Toggles the Ascii Send ON/OFF. If it was ON, then the send is stopped. If
  494.   OFF, Ascii send is started.
  495.  
  496.  'DISMENU' 2 2 <filename>
  497.   Receives a file (starts Download) with the current protocol
  498.  
  499.  'DISMENU' 2 3 <filename>
  500.   Sends a file (starts Upload) with the current protocol
  501.  
  502.  'DISMENU' 2 4 <libname>
  503.   Selects the current protocol library. You may supply the library name (i.e.
  504.   xmodem_term.library). If this lib is not in your LIBS: drawer, specify the
  505.   entire path. If no libname, then the file requester opens.
  506.  
  507.  'DISMENU' 2 5
  508.   Toggles AUTOCHOP ON/OFF
  509.  
  510.  'DISMENU' 2 6
  511.   Toggles VERBOSE ON/OFF
  512.  
  513.  'DISMENU' 3 0 <filename>
  514.   Loads a phone file. You may supply the filename. If not, then the file
  515.   requester opens.
  516.  
  517.  'DISMENU' 3 1 <filename>
  518.   Saves the current phone file.
  519.  
  520.  'DISMENU' 3 2 <BBS name>
  521.   Dials a phone number. You may supply a BBS name. If not, then the phone
  522.   requester opens. The BBS name must be in the current phone list and match
  523.   exactly (i.e. case-sensitive). If the BBS name has imbedded spaces, place
  524.   the entire name inbetween double quotes (").
  525.  
  526.  'DISMENU' 3 3
  527.   Hangs up the phone
  528.  
  529.  'DISMENU' 3 4 <BBS name> <phone number>
  530.   Adds the BBS name to the current phone list with the specified phone number
  531.   and with the current Baud, Duplex, CR/LF, split window, borders, colors,
  532.   auto-chop, verbose, and protocol lib settings. If the BBS name has imbedded
  533.   spaces, place the entire name inbetween double quotes ("). If the BBS name
  534.   is already in the list, it changes its number to the specified one, and
  535.   saves the current settings. If you don't specify a number, the user is
  536.   prompted to enter the number (if already in the list, the old number is
  537.   displayed). If you don't specify a BBS name either, then this brings up the
  538.   phone requester in order to enter the BBS by the user. NOTE: If you wish to
  539.   change the BBS's function key macros, you should follow up this command with
  540.   the SETFUNC command. Note that you should follow this with the Save Phone
  541.   command ('DISMENU' 3 1) if you wish to save these changes in a phone file.
  542.  
  543.  'DISMENU' 3 5 <BBS name>
  544.   Displays the macros for that BBS name. Also, sets up the term according to
  545.   that BBS settings if SETUP ON. If no BBS name supplied, the phone requester
  546.   is brought up. Using the SETFUNC command after this allows you to alter a
  547.   BBS's macros.
  548.  
  549.  'DISMENU' 3 6 <Cmd #> <string>
  550.   Changes one of the Hayes commands to the specified string. Cmd # is 0 to 3
  551.   for Dial, Hangup, Init, and Exit commands respectively. If you don't specify
  552.   a string, then the user is prompted for one.
  553.  
  554.   Whew! As you can see the DISMENU command allows control of most aspects of
  555. disTerm. The SETFUNC command is used to change the Macros of the current BBS
  556. (i.e. the BBS upon which you are currently online, or the last one dialed, or
  557. the last one edited, or the last one whose macros you have displayed.)
  558.  
  559.  'SETFUNC' <macro #> <string>
  560.   Macro # is from 0 to 9 for F1 to F10 respectively, and the specified string
  561.   is setup for this. If no string is specified, then the user is prompted for
  562.   one.
  563.  
  564.   The DISPRINT command prints the passed string to disTerm's window. Note that
  565. you may specify control chars and escape sequences as described in the section
  566. "Macros and Commands". Just don't have an imbedded \x within a rexx script!
  567. If you need to invoke a script from within a script, do so by simply specifying
  568. the script name on it's own line.
  569.  
  570.   'DISPRINT' <string>
  571.  
  572.   The DISSTRING command prints the passed string to disTerm's window AND sends
  573. it to the modem. Note that you may specify control chars and escape sequences
  574. (except \x).
  575.  
  576.   'DISSTRING' <string>
  577.  
  578.   The DISOUT command is used to send a single byte to the modem. No translation
  579. is done (i.e. if you want to send hex 0A, then you must specify as so).
  580.  
  581.   'DISOUT' <byte>
  582.  
  583.   The DISIN command is used to get chars from the modem. Your Rexx script is
  584. put to sleep until the specified # of bytes is received, OR your char timeout
  585. limit is exceeded. This provides a method of aborting if there is an excessive
  586. delay in transmission. The timeout is the number of seconds you're willing to
  587. wait for the next received char before the process aborts. If an abort, then
  588. this function causes a Rexx error return of 20. If success, then the received
  589. chars are returned as a result string (i.e. your script should allow OPTION
  590. RESULTS). If no timeout specified, default is whatever was last specified.
  591. Note: the protocol libs may change this timeout value. There is a limit of
  592. 1030 bytes per call. NOT IMPLEMENTED AT THIS TIME!
  593.  
  594.  'DISIN' <number of chars> <timeout>
  595.  
  596.   The DISFLAGS command may be used to initialize the current settings before
  597. using DISMENU commands to toggle them to a particular state. DISFLAGS sets
  598. the following status:
  599.   Duplex = FULL, Transmit and Receive are both CR only, Borders is ON, Verbose
  600. is ON, AutoChop is ON, Split window is OFF, Icon is ON, and Audible Beep. So,
  601. to specifically set Duplex to HALF regardless of its present setting:
  602.  
  603.   'DISFLAGS'    /* This specifically sets DUPLEX=FULL */
  604.   'DISMENU' 1 1 /* Now we toggle it off */
  605.  
  606.   Note that the above will also reset the other settings as well.
  607.  
  608.   NOTE: It is a good idea not to place any ARexx comments upon the same line
  609. as a disTerm command due to the arbitrary and illogical manner in which ARexx
  610. parses around spaces.
  611.  
  612.  
  613. *****************************************************************************
  614. 10). ScrollBack buffer
  615.  
  616.    The ScrollBack buffer is actually an interface to disED, the dissidents
  617. text editor. When you select the "Start Buffer" menu item, all incoming text
  618. is captured and sent to the lowest numbered editor. (i.e. If editor #1 is open,
  619. then the editor is cleared, and text is sent to that editor.) This continues
  620. until you select the "Stop Buffer" menu item. Stop/Start Buffer menu item
  621. toggles when you select it. You can click on the editor window and edit text
  622. as you would normally do. When the editor fills up with text, the buffering
  623. is automatically turned off. (You should set your Edit Buffer size as desired
  624. before capturing.)
  625.    At any time, you can select the "Send Buffer" menu item. This sends out the
  626. entire contents of the last editor that was sent to (defaults to editor #1).
  627.    The difference between ScrollBack capture, and the Ascii Capture is that
  628. the ScrollBack text goes to disED for editing whereas the Capture is saved to
  629. some file. ScrollBack is useful for temporarily capturing a message that you
  630. wish to reply to, or repost after editing. It's also useful for writing a
  631. post within disED, and then sending it out directly via the "Send Buffer"
  632. menu item.
  633.    To reset the term to use editor #1, first make sure that editor #1 is open.
  634. Then select "Start Buffer", followed by "Stop Buffer".
  635.  
  636.  
  637. *****************************************************************************
  638. 11). Screen/Window types
  639.  
  640.    The regular disTerm program opens on Workbench in order to conserve memory.
  641. The window(s) open to full size whether running on PAL or NTSC, and also will
  642. open in Interlace if your Workbench screen is set this way.
  643.    A second version, disTermScreen, opens its own custom screen so that the
  644. term windows can be easily separated from WB windows. To flip the screen to
  645. the back, move the mouse as far into the upper right title bar as possible
  646. since the front/back gadgets are really behind the window title bar.
  647.  
  648.  
  649. *****************************************************************************
  650. 12). Tech Notes
  651.  
  652.    Note that this term program does not allow shared access to the serial port.
  653. In fact, since the amiga serial.device's BeginIO routine does not properly
  654. Enable/Disable when queueing IOBs, using any serial port software in "shared
  655. mode" is asking for periodic GURUs. Consequently, you can't run multiple
  656. copies of this program, or other programs that use the internal serial port
  657. simultaneously.
  658.    When exiting, this program sets the serial port's DATA SET READY line so
  659. that the modem will not auto-answer afterward. This shouldn't bother any pro-
  660. gram that properly initializes the serial port before using it, but not every-
  661. one who writes programs that access the hardware understands how it works (or
  662. knows how to ask the OS for permission to use the hardware).
  663.    This program is not designed to be made resident.
  664.    At < 18K plus 10K for the requester library, this may be one of the smallest
  665. amiga term programs available. Since it uses NO GLOBAL DATA, it doesn't soak
  666. up memory when run like other programs which only appear small on disk. Also,
  667. being written entirely in 68000, it easily works with small stack sizes. The
  668. protocol libs are a fraction of the size of other similiar schemes being used
  669. in the amiga community.
  670.    The "Any" item under "Baud Rate" allows you to type in the desired baud.
  671. This applies to both send/receive. The highest value is 65535 bps. Excessively
  672. high rates may cause a loss of incoming data. Note that any phone entry may be
  673. saved/entered with this custom rate.
  674.