home *** CD-ROM | disk | FTP | other *** search
- **************************j**************************************************
- disTerm
-
- © 1990 by Jeff Glatt
-
- This document describes the disTerm program, a very small telecom program
- which can be used with any Hayes compatible modem.
- It assumes 8 data bits, 1 stop bit, and no parity. This is the standard for
- modern telecommunications, although some ancient, obsolete equipment still
- exists, and disTerm is not designed to communicate with such archaic devices.
- It also accesses the internal serial hardware (assuming that it is not
- already in use) for the highest possible efficiency. It is assumed that the
- modem uses both the CARRIER DETECT and CLEAR TO SEND lines of the serial port.
- This version of disTerm does not work with Amiga 2x00 serial card add-ons.
- Because it does not use the amiga serial.device, it does not inherit the
- numerous bugs of this poorly written part of the Amiga OS.
- This program requires that the dissidents "requester.library" be copied to
- the LIBS: drawer of your boot disk, as well as any transfer protocol libraries
- that have been written to work with this term program. Also, the dissidents
- "color.library" must be in LIBS: if you wish to adjust window colors. Finally,
- the "rexxapp.library" must be copied to LIBS: if you wish to use ARexx. From
- WorkBench, you can click on the InstallLibs icon. Make sure that you have some
- free space on your WB boot disk.
- The goal of this term program is to provide only those features that I have
- deemed useful for modem communications, in the most efficient manner. It is
- written entirely in 68000 for utmost speed and size. For people who do not
- need esoteric, complicated features (i.e. people who would rather use software
- than play with it), this term program should serve them well. It runs parti-
- cularly well in tight memory conditions, too.
-
- 1). General Overview
- 2). The Phone List (i.e adding/editing BBS entries)
- 3). Dialing a number
- 4). Macros and Commands
- 5). ASCII Send/Capture
- 6). Binary UpLoad/DownLoad
- 7). Split/Borders/Colors/Beep/Icon
- 8). Execute DOS
- 9). ARexx Scripts
- 10). ScrollBack Buffer
- 11). Screen/Window Types
- 12). Tech Notes
-
- *****************************************************************************
- 1). General Overview
-
- There are 5 menus. The PROJECT menu contains items applicable to the gene-
- ral operation of the program. The SETUP menu contains items that apply to the
- terminal with which you connect (i.e. these items pertain to the way that you
- want the program to be set up for any given connection). The TRANSFER menu
- pertains to file transfer (i.e. ascii or binary, what protocol, etc). The
- PHONE menu contains items for managing a list of phone numbers, and for choos-
- ing and auto-dialing a number. The COMMANDS menu is for future use.
- When the program is first started, you may type characters which will be
- sent to the modem. Since the modem is in command mode, any Hayes commands may
- be typed.
- The term configuration is stored within the Phone number file, so that
- the setup can be saved along with the numbers. Nearly every setting in the
- term program is saved in an efficient manner.
-
-
- *****************************************************************************
- 2). The Phone List
-
- The first time that you run the term program, you will need to make a phone
- listing file of all of the other terminals that you intend to call. You will
- then save this file so that it can simply be loaded in the future. You can
- later change the file, adding new BBS names to the listing, or deleting those
- names no longer needed.
- The first step to adding a new BBS name to the current phone list (or
- editing a number already added) is to setup the term program exactly as you
- would like it for this BBS. This involves setting the Baud rate, Half or Full
- Duplex, CR's/LF's, Split Window, Borders, Colors, Auto-Chop, Verbose, and the
- desired protocol library. ALL of these settings are saved per BBS name. Before
- you add a new entry or edit an existing one, always set these parameters as
- desired. Furthermore, each BBS has up to 10 macros (for the 10 Function keys),
- but these will be setup/edited when you actually add/edit the BBS name.
- To make a new phone file (or add to/edit the current one), after you have
- setup the above parameters, select "Edit Numbers" under the Phone menu. The
- phone requester should pop up. There won't be any BBS names listed in the
- requester at this time if you are starting anew. There are a scroll bar and
- arrow gadgets to the right of where the names are listed. The size and position
- of the scroll bar's knob tells you if there are any more names than are cur-
- rently being displayed. At this time, the knob should fill the entire scroll
- bar (i.e. no names are out of view). You move the scroll bar or click the
- arrows to see any names out of view. There is a Name gadget below the list of
- BBS names. This is where you type in the name of the BBS that you wish to add
- to the phone listing. You click in this gadget, type the BBS name (i.e. some
- identifying name of your choice, spaces are OK), and then hit the RETURN key
- (or click on the OK gadget) to add the name, or click on the CANCEL gadget to
- abort. If you choose to add the name, the phone requester will disappear, and
- a prompt will appear in the window title bar asking you to type in the phone
- number. Type this in (with area code if necessary). You don't have to separate
- the digits at all, but you can leave a space or "-" between digits. For
- example, these are the same:
-
- 612 555-1345
- 612-555-1345
- 6125551345
- 612 5551345
- etc
-
- Press return after you have typed in the number. This BBS will now be
- added to the phone listing at the baud rate that is currently set under the
- Settings menu "Baud Rate" with all the other current parameters. (Note that
- the "Full Duplex" item toggles to "Half Duplex" when you select it. Also, the
- "Trans EOL" and "Rcv EOL" toggle between CR only and CR/LF. The half duplex
- and CR/LF EOL settings should only be set if you're communicating with a
- terminal that doesn't echo back what you type, nor send Carriage Returns to
- advance the cursor to the next line.)
- Next, a prompt will appear in the title bar telling you to select one of the
- function keys, or press ESC. Each BBS name can have 10 macros (one for each
- function key). For example, to setup function #1, press F1. You should see
- the prompt "Function string". Simply type in the desired string and press
- RETURN. Later when you auto-dial this BBS, function key #1 will be setup as
- so. After entering your macro string, you are returned to the previous prompt.
- You may now select one of the other function keys, and set that one up too.
- When you're done setting up any function keys, press ESC one last time. You
- are now finished adding this BBS entry.
- If you make some mistake (or forgot to set a particular parameter), simply
- change your present setup as desired, then bring up the Edit Numbers requester
- again. You should see that BBS name in the list. Select it by clicking on the
- name. You should see the name appear in the name gadget. You can delete it
- altogether by clicking on the delete gadget, or you can edit the settings by
- selecting OK. You will be asked for the number again, and it will be stored at
- the current baud rate, with the other current settings. You will be given an
- opportunity to edit the macros. Note that if a function key currently has a
- macro, it will be displayed. Press CTRL-x to delete the characters if desired,
- or use the cursor keys to move about (LEFT, RIGHT, SHIFT-LEFT, SHIFT-RIGHT).
- To erase the macro without entering anything new, press ESC. Once again, you
- need to press one final ESC to exit the editing process for this BBS.
- Bring up the Edit Numbers requester for each BBS name that you wish to add to
- the phone listing, and repeat the above procedure. Always remember to adjust
- the SETUP menu items, and the last 3 items in the TRANSFER menu as desired
- before each time that you invoke "Edit Numbers". NOTE: If the settings are
- already as desired, you do not have to readjust them.
- When you have completed the list, you may wish to setup the term program
- one last time in order to establish a default setup. This is the way the term
- program will first appear when run. Note that the Audible Beep/Visual Beep,
- and the Icon/No Icon is not settable per BBS, but a master setting is saved.
- You can save this phone list by calling up the "Save Numbers" requester under
- the Phone menu. You'll see the file requester appear. (It looks similiar to the
- phone requester, but it displays the files in the current directory, and has
- gadgets to change disks/directories. It can also display a list of devices by
- pressing the mouse menu button and selecting one from the list. Drawers have a
- "»»" prepended to them. Enter the desired name of the phone file in the name
- gadget (or choose to overwrite one of the existing files) and select OK. The
- extension ".pho" will be automatically added to the end of your filename (un-
- less you change the extension string by pressing F4 while the requester is
- open. (To completely cancel the phone extension, press F4 and delete all text
- by pressing CTRL-x, then hit return. You need do this only once.)
- The next time that you run the program, you can reload all of the BBS
- names/numbers by selecting "Load Numbers" under the Phone menu, and choosing
- this file to load. Also, when first run, the program automatically loads any
- file in the same directory named "disTerm.pho" (if there is one), or any
- "disTerm.pho" on your boot disk (SYS:). The requester only displays those
- files that end in ".pho" unless you change/defeat the extension.
- For more info about using the dissidents file requester, consult the FileIO
- doc.
-
-
- *****************************************************************************
- 3). Dialing a number
-
- To dial a BBS, bring up the "Dial Numbers" requester under the Phone menu.
- The phone requester should appear with all of the BBS names that were loaded
- (via "Load Numbers"). There is also another gadget marked "Auto Off". For now,
- we'll ignore this. Select the name of the BBS that you wish to call by clicking
- twice on it, or clicking once and selecting OK, or by typing the name into the
- Name gadget and pressing RETURN (or OK). You may also select CANCEL to abort.
- disTerm will then call that BBS (at the baud rate that you specified when you
- added it to the list), establish contact, and setup the function keys and
- other settings (CR/LF, Split, Borders, Duplex, Colors, AutoChop, Verbose,
- protocol library).
- Note that you can abort during dialing by pressing ESC. If any errors, an
- error message is displayed, and the phone hangs up.
- You can also have disTerm dial several BBSes continuously until one connects.
- This is handy if there are busy signals on some BBS lines. To do this, when you
- bring up the "Dial Numbers" requester, click on the Auto Off gadget so that it
- says Auto On. You can now select several BBS names instead of only one. (Note
- how each one is highlighted when you click on it.) To "unselect" a BBS, click
- on the name again. When you select OK, disTerm will dial each number in rota-
- tion until one connects. The window title bar will display the BBS name as it
- dials. Other info will be displayed in the window below. Note that the autodial
- waits about 60 seconds for each phone number to connect before proceeding to
- the next. If you wish to increase or decrease this time, while auto-dialing is
- occurring, press the Up or Down cursor key to increase or decrease the time
- respectively. This setting is saved in your Phone file, so you should adjust
- as desired before saving your phone listing file. You can also abort the auto-
- dialing process by pressing the ESC key. The TAB key will automatically skip
- to the next number. When a modem connects, the screen will flash, and the title
- bar will display the name of the BBS contacted. If you have moved the disTerm
- window to the back while dialing, it will pop to the front when a BBS is
- reached.
-
-
- *****************************************************************************
- 4). Macros and Commands
-
- There are several Hayes commands that disTerm sends to your modem when
- it first runs, exits, auto-dials, and hangs up. These can be altered by going
- to the Phone menu's Change Cmd item and selecting the command that you wish to
- change. The current command string will be displayed in the title bar to be
- edited. For example, the Dial command is "\w\wATDP". This is for rotary dial
- phone lines. If you have a touch tone phone, you'll need to change this to
- "\w\wATDT" (minus the quotes). The hangup command is "+++ATH" which is the
- escape sequence followed by the command to hangup the receiver. The Init
- command is the same (and this is sent to the modem when disTerm is first
- started.) The Exit command is sent when disTerm is quit.
- THESE COMMANDS ARE SAVED WITHIN YOUR PHONE LISTING FILE. Note that the Init
- command only executes once at the start of the program. If you wish to take
- advantage of this, you should set it up and then save a phone file under the
- name "disTerm.pho" on your boot disk (SYS:) or current working directory.
- You can use certain escape sequences (a backslash followed by a letter) in
- these commands as so:
-
- \r = carriage return
- \n = same as \r
- \f = formfeed
- \w = delay 25/60ths of a sec
- \t = tab
- \b = backspace
- \x = execute rexx script. The rest of the macro is the filename of the script
- \d = download
- \u = upload
-
- In addition, a ^ followed by a letter is a control character. (unless ^^
- which is simply ^).
- Note that the default Dial command begins with two delays. This is to give
- the modem time to hangup the phone before dialing. Sometimes, Hayes commands
- need delays inbetween them or they will not be properly recognized. For exam-
- ple, this often will not work:
-
- ath\n atdp 555-3313\n
-
- whereas this does:
-
- ath\n \w\w atdp 555-3313
-
- Also, note that I explicitly put a carriage RETURN after the ath command.
- Most Hayes commands must be followed by a CR. It is not necessary to have a
- CR at the very end of your command string, because disTerm explicitly sends
- one there.
- Macros (i.e. the 10 function keys) may be any text of your choice, along
- with the above escape sequences and control characters. No CR is explicitly
- assumed at the end of the string. Note that the judicious use of delays may be
- required. For example, many Citadel BBSes require you to log on. You press "l",
- then type your password. Assume that your password is "blort". The following
- may not work as a macro
-
- lblort\n
-
- This is because there is not enough time between the Citadel receiving the
- l and the first char of your password, so the BBS "loses" the first chars of
- your password. Placing a delay solves the problem.
-
- l\wblort\n
-
- To get a display of the macro strings for any BBS entry, select "See Macros"
- under the PHONE MENU. This brings up the phone list. Choose the desired BBS,
- and its macro strings will be displayed in the window. If you select the
- gadget labeled "Setup On", it will toggle to "Setup Off". With Setup On, the
- function keys will be displayed as well as immediately setup to those macros,
- plus the window colors, duplex, baud rate, CR/LF, split window, verbose,
- AutoChop, and protocol library will be set for that BBS, even while ONLINE.
- This is useful for changing the term setup without having to dial a number.
- Yuo might even add "dummy" numbers to the phone file so that you can quickly
- change parameters while ONLINE via "See Macros". With Setup Off, the macros
- are displayed, but the term setup is left unchanged.
- Note that the \u and \d can be used to make customized upload/download
- macros per BBS.
-
-
- *****************************************************************************
- 5). ASCII Send/Capture
-
- You can capture text as you're reading it by selecting "Start ASCII Capture"
- under the TRANSFER menu. The file requester appears in order to choose where
- to save the captured text. The menu item changes to "Stop ASCII Capture", and
- all subsequent typed and received text is saved to this file. To stop capturing
- select "Stop ASCII Capture".
- You can also send a text file by selecting "Start ASCII Send". The file
- requester appears to select the text file. disTerm will then send the text.
- To abort, select the "Stop ASCII Send" item.
-
-
- *****************************************************************************
- 6). Binary Upload/Download
-
- To upload or download binary files (executables, packed files), there are two
- items under the TRANSFER menu. Both bring up the file requester to make your
- selection.
- Before doing this, you should select the desired protocol library (i.e.
- Xmodem, Ymodem, etc) if you didn't do so when adding the BBS name to the phone
- list. Note that you can always change the protocol lib at any time (even when
- ONLINE), but disTerm sets up the protocol lib again when a number is dialed
- or when "See Macros" with Setup On is invoked. disTerm comes with its own set
- of tranfer libraries. You cannot use any other protocol libs except these,
- which are designed to work well with disTerm. Here are the available transfer
- libs. Copy only those libs that you desire to the LIBS: drawer of your boot
- disk.
-
- A). xmodem_term.library
- Sends/Receives Xmodem protocol with 128 byte blocks (packets). It assumes
- CRC, but will go to Checksum if the other terminal doesn't handle CRC. It
- can also accept (receive) Xmodem with 1024 byte blocks and Ymodem (non-
- batch) files, although it always sends Xmodem 128 byte blocks. This
- protocol is useful for noisy phone lines, or BBSes that do not place a
- delay inbetween sending of packets (like BIX does).
-
- B). xmodem1K_term.library
- Sends/Receives Xmodem protocol with 1024 byte blocks (packets). It assumes
- CRC, but will go to Checksum if the other terminal doesn't handle CRC. It
- can also accept (receive) Xmodem with 128 blocks and Ymodem (non-batch)
- files, although it always sends Xmodem 1024 byte blocks. This protocol is
- most efficient for phone lines that aren't noisy AND BBSes that place a
- delay inbetween sending of packets. Note that some BBSes will not deal with
- Xmodem 1K packets if you tell the BBS to expect an Xmodem upload. It may
- refuse to accept such a transfer, or abort with TRANSFER or TIMEOUT errors.
- You may be able to convince the BBS to accept Xmodem 1K by telling it to
- expect a Ymodem upload. Then again, this may not work either. It depends
- upon how intelligent the BBS is.
-
- C). ymodem_term.library
- Sends/Receives Ymodem protocol with 1024 byte blocks (packets). It assumes
- CRC, but will go to Checksum if the other terminal doesn't handle CRC. It
- can also accept (receive) Xmodem with 128 or 1024 byte blocks, although it
- always sends Ymodem 1024 byte blocks. This protocol is useful for phone
- lines that aren't noisy, BBSes that place a delay inbetween sending of
- packets, AND for situations where Xmodem1K doesn't work. Note that this
- lib does not allow batch sends/receives (i.e. 1 or more files per trans-
- fer).
-
- D). ybatch_term.library
- Sends/Receives Ymodem protocol with 1024 byte blocks (packets). It assumes
- CRC, but will go to Checksum if the other terminal doesn't handle CRC. It
- can also accept (receive) Xmodem with 128 or 1024 byte blocks and Ymodem
- (non-batch), although it always sends Ymodem 1024 byte blocks (batch)
- files. This protocol is useful for phone lines that aren't noisy, BBSes
- that place a delay inbetween sending of packets, AND for situations where
- you desire batch sends/receives. The received files will be created in the
- directory that you initially selected via the file requester. The filenames
- are gotten from the other terminal. For sending, when the file requester
- appears, you are allowed to select (highlight) more than one filename. All
- the files must be in the same directory. disTerm will then send these files
- to the other terminal. Note that some BBSes do not allow batch uploads, so
- in this case, only select one file to send.
-
- Select the UpLoad menu item to send a file to the BBS. The BBS should be
- waiting for a file before you select this item. Note that if you haven't se-
- lected a protocol lib first, the requester to select the lib will appear now.
- Select DownLoad to receive a file from the BBS. The BBS should already be
- set to send a file before you select this.
- To abort during transfer, press ESC. It may takes up to a few seconds before
- the abort is acknowledged depending upon the state of the transfer.
- Any errors are posted to the window. If VERBOSE is on, a running count of
- packets and bytes transfered is displayed. Otherwise, this info is suppressed
- in order to speed up transfer.
- AUTOCHOP, when selected, strips the trailing "poot" from any received file
- whose name doesn't end in .arc, .lzh, .zip, or .zoo (case-insensitive). Other-
- wise, receipt of an uncompressed executable file with this extra poot may re-
- sult in AmigaDOS not allowing you to run it as an executable (unless you use a
- program like FixHunk to restore the proper Hunk size). When you D/L programs
- from a BBS which were not archived with some compression utility (or are in a
- self-extracting compression), you'll probably need AUTOCHOP on.
- Note: If you wish to override the setting of the protocol lib for a certain
- BBS, before adding it to the list, bring up the Protocol lib requester and
- select CANCEL. This will result in no protocol lib being set when the BBS is
- dialed, or when "See Macros" with Setup On is invoked.
-
-
- *****************************************************************************
- 7). Split/Borders/Colors/Beep/Icon
-
- "Split Windows" "Colors" and "Borders" simply affect the way in which the
- term window appears.
- With Split Windows, the term window is divided in half with your typed text
- in the top half, and received text from the modem in the bottom. This can be
- useful when conversing with someone at another terminal when both are in half
- duplex (i.e. the other terminal is not echoing back your text.) Note that if
- the other term is not sending RETURNS (i.e. the cursor overwrites the prev-
- iously printed line rather than scrolling down), you may wish to change the
- Rcv EOL to CR/LF.
- Borders simply toggles the window borders on or off.
- Colors brings up the dissidents color requester to adjust the window colors.
- You must have the dissidents "color.library" in your LIBS: drawer.
- When "Audible Beep" is selected, you will be signaled at various times with
- an audio beep instead of a screen (Visual) flash.
- When Icon is ON, any files that you download, capture, and the phone files
- are saved with a Workbench icon. No Icon does not save icons.
-
- NOTE: Remember to invoke "Edit Numbers" and choose the desired BBS name to
- store any changed settings, then resave a phone file. Otherwise, such changes
- are only temporary, and won't be saved when you go to dial another BBS. The
- Beep and Icon settings are global (i.e. are the same for all BBS numbers), and
- only need to be set once before saving the phone file.
-
-
- *****************************************************************************
- 8) Execute DOS
-
- You can execute a DOS command via the "Execute DOS" menu item just as you
- would from a CLI. For example, if you want to List the contents of DF0:, you
- would select the Execute DOS menu item, and at the prompt type:
-
- list df0:
-
- followed by a RETURN. The disTerm window will go to the back while the command
- is executing. This is also useful for invoking other programs from the term
- program via the DOS Run command. For example, to start up an editor named
- disED, select the Execute DOS item, then type:
-
- run dised
-
- If the editor allowed the inclusion of a filename on the CLI command line,
- you could add it here:
-
- run dised df0:mytextfilename
-
-
- *****************************************************************************
- 9). ARexx Scripts
-
- Arexx is a commercial product written by Bill Hawes, available from various
- outlets. You must have this product in order to utilize the ARexx features.
- You should start ARexx via the Rexxmast program that comes with ARexx.
- The name of disTerm's ARexx port is 'disTerm' minus the quotes. Note the
- spelling and case of the letters. Since only 1 copy of disTerm can be run at
- once, their are no additional ports.
- disTerm has only a few Rexx commands, but these allow access to ALL of
- disTerm's menus, plus the ability to send, display, and receive output to/from
- the serial port. In short, you can do anything via ARexx that you can do by
- hand.
- The Rexx commands are DISMENU, DISOUT, DISIN, DISSTRING, DISPRINT, DISFUNC,
- and DISWIND.
- DISWIND simply brings the term's window to the front and makes it active.
- DISMENU allows you to select one of disTerm's menu items via ARexx, and it
- takes at least 2 args: the menu and item numbers. Menus are numbered from 0,
- starting at the leftmost menu (i.e. Project = 0, Setup = 1, Transfer = 2,
- Phone = 3, and Command = 4). The items in a menu are numbered from 0. For
- example, the LOAD PHONE item is item #0 in menu #3). Some menu items may take
- additional args with the DISMENU command. Here is the form for DISMENU:
-
- 'DISMENU' menu# item# <other args if needed>
-
- So, for example, to QUIT disTerm, you issue:
-
- 'DISMENU' 0 5
-
- Here is a list of all of the possible uses of DISMENU:
-
- 'DISMENU' 0 3 <the DOS string to execute>
- Executes the DOS string. If you don't specify a string, it prompts the user
- for one.
-
- 'DISMENU' 0 4
- Sends a break
-
- 'DISMENU' 0 5
- Quits disTerm
-
- 'DISMENU' 1 0 <baud #>
- Sets the baud rate. The baud # is a number 0 to 5 for 300, 1200, 2400, 4800,
- 9600, and 19200 respectively.
-
- 'DISMENU' 1 1
- Toggles the duplex between HALF and FULL.
-
- 'DISMENU' 1 2 <0 or 1>
- Toggles the CR/LF between CR and CR/LF. A 0 for the 3rd arg affects Trans-
- mitted CR's, and a 1 affects Received CR's
-
- 'DISMENU' 1 3
- Toggles the split window
-
- 'DISMENU' 1 4
- Toggles the borders
-
- 'DISMENU' 1 5
- Invokes the color requester
-
- 'DISMENU' 1 6
- Toggles the audio beep
-
- 'DISMENU' 2 0 <filename>
- Toggles the Ascii Capture ON/OFF. If it was ON, then it is turned off. If
- OFF, Ascii capture is started. You may supply a filename as a third arg. If
- not, the file requester will open in order to choose the name. If your file-
- name has imbedded quotes, place the entire filename in double quotes ("). Be
- careful not to have any trailing spaces at the end of this line.
-
- 'DISMENU' 2 1 <filename>
- Toggles the Ascii Send ON/OFF. If it was ON, then the send is stopped. If
- OFF, Ascii send is started.
-
- 'DISMENU' 2 2 <filename>
- Receives a file (starts Download) with the current protocol
-
- 'DISMENU' 2 3 <filename>
- Sends a file (starts Upload) with the current protocol
-
- 'DISMENU' 2 4 <libname>
- Selects the current protocol library. You may supply the library name (i.e.
- xmodem_term.library). If this lib is not in your LIBS: drawer, specify the
- entire path. If no libname, then the file requester opens.
-
- 'DISMENU' 2 5
- Toggles AUTOCHOP ON/OFF
-
- 'DISMENU' 2 6
- Toggles VERBOSE ON/OFF
-
- 'DISMENU' 3 0 <filename>
- Loads a phone file. You may supply the filename. If not, then the file
- requester opens.
-
- 'DISMENU' 3 1 <filename>
- Saves the current phone file.
-
- 'DISMENU' 3 2 <BBS name>
- Dials a phone number. You may supply a BBS name. If not, then the phone
- requester opens. The BBS name must be in the current phone list and match
- exactly (i.e. case-sensitive). If the BBS name has imbedded spaces, place
- the entire name inbetween double quotes (").
-
- 'DISMENU' 3 3
- Hangs up the phone
-
- 'DISMENU' 3 4 <BBS name> <phone number>
- Adds the BBS name to the current phone list with the specified phone number
- and with the current Baud, Duplex, CR/LF, split window, borders, colors,
- auto-chop, verbose, and protocol lib settings. If the BBS name has imbedded
- spaces, place the entire name inbetween double quotes ("). If the BBS name
- is already in the list, it changes its number to the specified one, and
- saves the current settings. If you don't specify a number, the user is
- prompted to enter the number (if already in the list, the old number is
- displayed). If you don't specify a BBS name either, then this brings up the
- phone requester in order to enter the BBS by the user. NOTE: If you wish to
- change the BBS's function key macros, you should follow up this command with
- the SETFUNC command. Note that you should follow this with the Save Phone
- command ('DISMENU' 3 1) if you wish to save these changes in a phone file.
-
- 'DISMENU' 3 5 <BBS name>
- Displays the macros for that BBS name. Also, sets up the term according to
- that BBS settings if SETUP ON. If no BBS name supplied, the phone requester
- is brought up. Using the SETFUNC command after this allows you to alter a
- BBS's macros.
-
- 'DISMENU' 3 6 <Cmd #> <string>
- Changes one of the Hayes commands to the specified string. Cmd # is 0 to 3
- for Dial, Hangup, Init, and Exit commands respectively. If you don't specify
- a string, then the user is prompted for one.
-
- Whew! As you can see the DISMENU command allows control of most aspects of
- disTerm. The SETFUNC command is used to change the Macros of the current BBS
- (i.e. the BBS upon which you are currently online, or the last one dialed, or
- the last one edited, or the last one whose macros you have displayed.)
-
- 'SETFUNC' <macro #> <string>
- Macro # is from 0 to 9 for F1 to F10 respectively, and the specified string
- is setup for this. If no string is specified, then the user is prompted for
- one.
-
- The DISPRINT command prints the passed string to disTerm's window. Note that
- you may specify control chars and escape sequences as described in the section
- "Macros and Commands". Just don't have an imbedded \x within a rexx script!
- If you need to invoke a script from within a script, do so by simply specifying
- the script name on it's own line.
-
- 'DISPRINT' <string>
-
- The DISSTRING command prints the passed string to disTerm's window AND sends
- it to the modem. Note that you may specify control chars and escape sequences
- (except \x).
-
- 'DISSTRING' <string>
-
- The DISOUT command is used to send a single byte to the modem. No translation
- is done (i.e. if you want to send hex 0A, then you must specify as so).
-
- 'DISOUT' <byte>
-
- The DISIN command is used to get chars from the modem. Your Rexx script is
- put to sleep until the specified # of bytes is received, OR your char timeout
- limit is exceeded. This provides a method of aborting if there is an excessive
- delay in transmission. The timeout is the number of seconds you're willing to
- wait for the next received char before the process aborts. If an abort, then
- this function causes a Rexx error return of 20. If success, then the received
- chars are returned as a result string (i.e. your script should allow OPTION
- RESULTS). If no timeout specified, default is whatever was last specified.
- Note: the protocol libs may change this timeout value. There is a limit of
- 1030 bytes per call. NOT IMPLEMENTED AT THIS TIME!
-
- 'DISIN' <number of chars> <timeout>
-
- The DISFLAGS command may be used to initialize the current settings before
- using DISMENU commands to toggle them to a particular state. DISFLAGS sets
- the following status:
- Duplex = FULL, Transmit and Receive are both CR only, Borders is ON, Verbose
- is ON, AutoChop is ON, Split window is OFF, Icon is ON, and Audible Beep. So,
- to specifically set Duplex to HALF regardless of its present setting:
-
- 'DISFLAGS' /* This specifically sets DUPLEX=FULL */
- 'DISMENU' 1 1 /* Now we toggle it off */
-
- Note that the above will also reset the other settings as well.
-
- NOTE: It is a good idea not to place any ARexx comments upon the same line
- as a disTerm command due to the arbitrary and illogical manner in which ARexx
- parses around spaces.
-
-
- *****************************************************************************
- 10). ScrollBack buffer
-
- The ScrollBack buffer is actually an interface to disED, the dissidents
- text editor. When you select the "Start Buffer" menu item, all incoming text
- is captured and sent to the lowest numbered editor. (i.e. If editor #1 is open,
- then the editor is cleared, and text is sent to that editor.) This continues
- until you select the "Stop Buffer" menu item. Stop/Start Buffer menu item
- toggles when you select it. You can click on the editor window and edit text
- as you would normally do. When the editor fills up with text, the buffering
- is automatically turned off. (You should set your Edit Buffer size as desired
- before capturing.)
- At any time, you can select the "Send Buffer" menu item. This sends out the
- entire contents of the last editor that was sent to (defaults to editor #1).
- The difference between ScrollBack capture, and the Ascii Capture is that
- the ScrollBack text goes to disED for editing whereas the Capture is saved to
- some file. ScrollBack is useful for temporarily capturing a message that you
- wish to reply to, or repost after editing. It's also useful for writing a
- post within disED, and then sending it out directly via the "Send Buffer"
- menu item.
- To reset the term to use editor #1, first make sure that editor #1 is open.
- Then select "Start Buffer", followed by "Stop Buffer".
-
-
- *****************************************************************************
- 11). Screen/Window types
-
- The regular disTerm program opens on Workbench in order to conserve memory.
- The window(s) open to full size whether running on PAL or NTSC, and also will
- open in Interlace if your Workbench screen is set this way.
- A second version, disTermScreen, opens its own custom screen so that the
- term windows can be easily separated from WB windows. To flip the screen to
- the back, move the mouse as far into the upper right title bar as possible
- since the front/back gadgets are really behind the window title bar.
-
-
- *****************************************************************************
- 12). Tech Notes
-
- Note that this term program does not allow shared access to the serial port.
- In fact, since the amiga serial.device's BeginIO routine does not properly
- Enable/Disable when queueing IOBs, using any serial port software in "shared
- mode" is asking for periodic GURUs. Consequently, you can't run multiple
- copies of this program, or other programs that use the internal serial port
- simultaneously.
- When exiting, this program sets the serial port's DATA SET READY line so
- that the modem will not auto-answer afterward. This shouldn't bother any pro-
- gram that properly initializes the serial port before using it, but not every-
- one who writes programs that access the hardware understands how it works (or
- knows how to ask the OS for permission to use the hardware).
- This program is not designed to be made resident.
- At < 18K plus 10K for the requester library, this may be one of the smallest
- amiga term programs available. Since it uses NO GLOBAL DATA, it doesn't soak
- up memory when run like other programs which only appear small on disk. Also,
- being written entirely in 68000, it easily works with small stack sizes. The
- protocol libs are a fraction of the size of other similiar schemes being used
- in the amiga community.
- The "Any" item under "Baud Rate" allows you to type in the desired baud.
- This applies to both send/receive. The highest value is 65535 bps. Excessively
- high rates may cause a loss of incoming data. Note that any phone entry may be
- saved/entered with this custom rate.
-