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