home
***
CD-ROM
|
disk
|
FTP
|
other
***
search
/
The Fred Fish Collection 1.5
/
ffcollection-1-5-1992-11.iso
/
ff_disks
/
500-599
/
ff589.lza
/
Term
/
Term.doc
< prev
next >
Wrap
Text File
|
1992-01-04
|
85KB
|
1,673 lines
================================== term ===================================
===========================================================================
A Gift-Ware telecommunications program written by
Olaf Barthel, © copyright 1990,91 by Olaf Barthel & MXM,
All rights reserved.
No guarantee of any kind is given that the program(s) described in this
document are 100% reliable. You are using this material on your own risk.
========================== Important information ==========================
===========================================================================
xprzmodem.library 2.0e
----------------------
Martin Berndt and I spent several hours in a long-distance debugging run
to discover the reason for `term' crashing after a ZModem upload. We
suspected the newly introduced double-buffering routines but discovered the
next morning that the crash would not turn up when using xprzmodem.library
v2.10 instead of v2.0e. This means: unless you like spectacular system
crashes after ZModem data transfer, replace xprzmodem.library v2.0e with
the xprzmodem.library supplied on the `term' distribution disk.
A few words on `term' 1.8b
--------------------------
During beta-testing an unauthorized copy of `term' 1.8b escaped through
dark channels. I am unable to trace this copy back to the unlucky
distributor and cannot guarantee that it is a reliable program (i.e.
nobody knows yet if it does not in fact contain a trojan horse link virus).
Some program functions, namely the dialing routine, would not work at all.
Please delete any copy of `term' 1.8b you encounter. If a copy of `term'
1.8b turns up at your local BBS please ask the system operator to delete
the file.
Wanted!
-------
In order to improve the ANSI terminal emulation of `term' I require more
information on the ANSI X3.64 control sequences for video terminals and
peripherals. I was able to obtain a file entitled `ANSI Standard (X3.64)
Control Sequences for Video Terminals and Peripherals in alphabetic order
by mnemonic' but it hasn't helped me much (more precisely: it hasn't
helped me at all). So if you have any public domain or original material
which may help me to complete the ANSI terminal emulation of `term', please
send it to me. The file also mentions an article "Toward Stardardized
Video Terminals: ANSI X3.64 Device Control" by Mark L. Siegel to be found
on page 365 in the April 1984 issue of BYTE magazine which may prove
helpful. It would also be helpful to know how to order the X3.64 specs
from ANSI (I don't know their adress, for example).
In any case, your help to complete the ANSI terminal emulation (which
currently is a slightly enhanced VT220 emulation) would be appreciated!
=============================== Background ================================
===========================================================================
This program is a product of anger and despair; I was unable to find a
telecommunications program to suit my personal needs -- neither in the
commercial area, nor in the public-domain.
Most programs had a lot of extras but lacked other more important,
perhaps more sensible features (just to take an example: in revision 2.20c
and after four years of constant development `HandShake' still fails to use
the current keymap settings and also strips bit 7 when displaying
characters - sorry Eric, that's why I never registered!).
I have hesitated for a long time before starting my first attempt at
writing my very own telecommunications program. When Kickstart 2.x was
about to become widely available I took the opportunity to create `term'
always trying to use the new OS routines wherever possible. While this
started to be quite a difficult task it also was a lot of fun (imagine
Columbus wrecking his fleat four times on his journey to the West Indies
due to unexpected leakages in all vessels and sudden changes in the ships'
sailing manuals -- that's how I felt!).
As far as computer-telecommunications are concerned, Germany appears to
be a developing country. This is partly due to the Deutsche Bundespost,
the federal mail/phone company whose telecommunications monopoly used to be
protected by federal law. Until 1989 you would risk a heavy penalty if
using a non-registered modem or telephone instead of the
Bundespost-supplied hardware. So, if you have any complaints, or miss a
few extremely important features in `term', don't boo and hiss, I am not as
long in the telecomm business as you are (I have yet seen only a single DEC
VT-101 from afar!). Tell me what you need and I will try to add it in the
next revision.
This project was started at December 24 1990 and completed by January 25
1991. I used the following tools to create `term': SAS/C 5.10a, WShell,
CygnusEd Professional Release 2, KeyMacro & ARexx.
My thanks go to the following people for their invaluable help and
assistance: Holger Lubitz, Peter Fischer, Christoph Teuber, Garry
Glendown, Oliver Wagner, Jürgen Otte, Germar Morgenthaler, Matthias Zepf,
Markus Stoll, Ralf Thanner, Veith Schörgenhummer, Michael Vaeth, Roby
Leemann & AUGS, Thorsten Seidel, Till `Dill-Prince' Prinzler, Volker Ulle &
the Aquila Sysop Team, Marc-Christian Schröer, Udo Wolt, Michael Hohmann,
Henning Hucke and to all those who supplied libraries & control sequence
tables.
The xpr-libraries were created by Willy Langeveld (ascii), Kenneth
Osterberg and Markus Pietz (jmodem), Stephen Walton (kermit), Jack Rouse
(quickb), Marc Boucher (xmodem), Ueli Kaufmann (ymodem) and Rick Huebner
(zmodem).
The xpr-standard was created by Willy Langeveld, the Res.asm source code
was provided by Edward Carrol, I borrowed a single routine (ahtoi) from
Matthew Dillon's `DMouse' program, the quicksort routine (QuickSort.asm)
was written by David Jones, the touch-tone dialing routines are based on
the article `DTMF - A Program for Generating Touch-Tone Signals' by Adam
Levin, the touch tone period and cycle values are © Copyright 1989 by
Commodore-Amiga, Inc.
Since time did not permit me to translate the full original German
documentation into English, I had asked the Z-Net Amiga community for help.
As a result this document was translated by three different authors (in
order of translation): me, Marc Schröer and Henning Hucke. Garry Glendown
took care of the termRexx documentation -- thanks to all of you!
============================= The source code =============================
===========================================================================
Since there are still only very few well-documented examples (or general
programming examples) for Kickstart 2.x I have decided to include the
*full* `C' source code with the `term' distribution.
The source code is _not_ intended for commercial use. If you are about
to include portions in commercial programs you will need to ask me for
permission. Still you may use parts of the source code for non-commercial
software development without my consent.
I sincerely hope that the release of the full `term' source code will
give Kickstart 2.x a better start (I've overcome quite a lot of obstacles)
so that more programs to use the new OS features will be available soon.
============================ The distribution =============================
===========================================================================
`term' may be included with commercial programs as long as no money is made
by including it in the distribution (this also applies to inclusion in
AmigaDOS Enhancer kits, on Workbench/Extras disks or A3x00 hard disk
drives).
You _must_not_ make any money by distributing `term'. A small copy fee
for data media (5$ US maximum) or the inclusion of `term' in Public-Domain
collections such as Fred Fish's Amiga Library of Freely Distributable
Software is permitted though.
============================== Using `term' ===============================
===========================================================================
The program `term' and the data received/sent by it must not be used for
the following purposes:
1) The construction, development, production or testing of weapons or
weapon systems of any kind.
2) The construction, development, production or use of plants/installations
which include the processing of radioactive/fissionable material.
3) The training of persons to deal with the abovesaid actions.
===================== Updates & new program revision ======================
===========================================================================
Whenever a new release of `term' becomes available I will try to make it
known in the telecommunications networks. To order a copy send a self
addressed envelope, an international mail reply coupon (coupon-réponse
international) and a 3½" disk to the author.
============================ Operating `term' =============================
===========================================================================
`term' can be controlled both by mouse and keyboard. With two minor
exceptions each operation requiring mouse control can also be executed
using keyboard shortcuts.
The program can be started both from Workbench and from Shell.
Kickstart 2.x is required to run `term'. The program will refuse to work
if executed under control of Kickstart 1.3 and below!
At least Kickstart 2.04 (revision 37.175) and Workbench 2.04 (revision
37.67) are required to execute `term' successfully. Earlier developer
Kickstart revisions or the Kickstart release installed on the older A3000
models will probably not work (try it if you want -- but don't complain!).
If called from Shell `term' will detach itself immediately allowing the
Shell window to be closed afterwards. This effect can be avoided if
`KEEPIO' is entered in the command line (`term keepio').
Usually, running `term' twice will cause the screen of the other program
to be popped to the front instead of creating a second `term' process. To
avoid this effect, enter `DONTPOP' as a calling parameter (e.g. `term
dontpop'). If called from Workbench, each program will run as a separate
process.
=============================== The display ===============================
===========================================================================
The `term' main screen always opens to the full text-overscan size (which
can be set using the `Overscan' tool in the `Prefs' drawer).
At the bottom of the screen a small window displays a few basic
parameters. These are:
Status ........ The current program operating status. This includes
`Ready', `Holding' (control-s was pressed), `Dialing' (the
dialing function is at work), `Upload' (data is being
sent), `Download' (data is being received), `Breaking' (a
break signal is transmitted across the serial line) and
`Hanging up' (connection is being cancelled).
Font .......... The currently active screen font used for text/graphics
rendering.
Protocol ...... The currently set data transfer protocol.
Emulation ..... The currently active terminal emulation mode.
Baud Rate ..... The data transfer rate in bits per second.
Parameters .... The current serial parameters (Data bits-Parity-Stop bits).
Time .......... The current time of day.
Online ........ The time elapsed after a connection was successfully
established. This counter will be stopped as soon as the
connection is cancelled (e.g. by hanging up) and is reset
to 00:00:00 as soon as a new connection is made.
Every five seconds the time display will change to a
calling fee display and the other way round.
The screen itself is opened as a public screen (called `TERM') which is
available to other programs for their purposes. If more than one `term'
process is running, the public screen name will change according to the
number of the program (i.e. the first `term' to be started will call the
scren `TERM', the second one will call it `TERM1', the third one `TERM2',
etc.). The screen title bar will also display the name of the public
screen.
Cut & paste functions are available on the main screen. Use the mouse
to point to the first character you wish to send to the clipboard, hold
down the (left) select button, move the mouse to the last character you
wish to cut and release the button. The characters you have just marked
will have been transferred to the clipboard, use the key combination
Amiga+V to paste the contents of the clipboard and to feed them back into
the input stream. Holding down the control key while clicking on a
character will feed the single character into the input stream, it will not
be buffered in the clipboard. Hold down any shift key to have the contents
of the clipboard fed into the input stream right after the mouse button is
released, a <return> will follow the data.
In standard string editing fields a solution had to be found to preserve
the line editing functions while still supporting menu shortcuts. To undo
any changes made press Amiga+Q, to clear the string editing field press
Amiga+X. Menus associated with the shortcuts Amiga+Q/X are called by
holding down any shift key along with the Amiga keys (i.e. Shift+Amiga+Q
will select the `Quit' menu item if available).
================================ The menus ================================
===========================================================================
For each requester and input window there exists a set of menu items to
execute the commands associated with the buttons, dials and gauges in the
requester/window. Press to right mouse button to have a look at the
commands and their shortcuts.
The following text is to describe the menu items available in the `term'
main menu.
1. Project
----------
This menu contains functions to load and to save program configurations and
to quit the program.
Open Preferences............... Loads the program configuration from a file
to be selected.
Save Preferences............... Saves the current program configuration
under the configuration file name last
entered.
Save Preferences As............ Saves the current program configuration to
a file to be selected.
Print Screen................... Sends the current contents of the `term'
screen to the printer. This is not a
graphics hardcopy, only the ASCII
characters are printed.
Iconify........................ Closes all screens and windows `term' has
currently open, resets and releases the
serial driver and puts an icon into the
Workbench window. Double-clicking this
icon will cause `term' to wake up and to
return the state is was in before
iconification took place.
Note: while `term' is iconified, all
incoming synchronous ARexx-commands will be
queued and the corresponding ARexx programs
will appear to `hang'. As soon as `term'
is `awake' again pending commands will be
processed again.
About.......................... Shows some information on the program.
Quit........................... Quits the program after asking for
confirmation.
After selecting the `Quit' menu item the program may take a few seconds
to exit since the contents of the `log book' are freed first.
2. Utilities
------------
This menu contains functions which are to make your life a bit easier.
AmigaDOS commands as well as ARexx script files may be started from here.
As a special gift for `Snap' users, the contents of the clipboard may be
fed into the input stream.
Set Console Window............. Whenever an AmigaDOS/ARexx command is
executed an output window is opened. This
menu item will bring up a requester
allowing you to edit the size and position
of the window to be opened (consult your
AmigaDOS manual for a description of the
window position string). If you do not
want the window to appear, simply enter
`NIL:'.
Execute AmigaDOS Command....... Enter the command you want to execute and
its command line arguments here.
Execute ARexx Command.......... This function calls the ARexx server to
execute a script file. If the first input
character is a ` or " the input will be
considered as a small program in a line.
Note that this function will not be
available if the ARexx server isn't
running.
The ARexx command set supported by
`term' is described in the file
`termRexx.doc'.
Edit File...................... Invokes the currently selected (see `Paths'
preferences menu below) text editor on a
file to be selected using a file requester.
`term' will block and wait until the
editor has returned.
Paste Clipboard Contents....... The current contents of the clipboard will
be fed into the input stream (max. 255
characters). Use the `log book' screen to
cut strings and characters to the clipboard
(`Snap' may also be used for this purpose).
Packet Window.................. Opens/closes an input window in which a
single line of characters to be transferred
across the serial line can be entered.
More on this feature is explained under
`The packet window' below.
The menu functions `Execute AmigaDOS Command' and `Execute ARexx
Command' allow you to select the name of the file to be executed by
clicking on the `Load File' gadget.
3. Capture & Buffer
-------------------
The menu items in this menu offer functions to load/save, to display and to
capture incoming text/graphics data.
Clear Buffer................... Clears the contents of the `log book'. Any
text will be discarded and _cannot_ be
recovered. Capture files are not affected
by this command.
Display Buffer................. Opens the `log book' screen.
Close Buffer................... Closes the `log book' screen but does not
free the contents.
Load Buffer.................... Loads the contents of the `log book' from a
file. If there are still text lines in the
`log book' a requester will appear giving
you the choice to discard the old data,
append the new data, or to cancel the
action.
Save Buffer.................... Saves the contents of the `log book' to a
file. You will be notified if the file to
save to exists already (you may discard the
old file, append the new data or cancel the
action).
Capture To Disk................ Toggles file capture, options are the same
as with `Save Buffer'.
Capture To Printer............. Toggles printer capture.
More detailed information on the `log book' will be given later in this
document.
4. Transfer
-----------
Since data transfer cannot always be done by keyboard and console, `term'
supports a number of transfer protocols implemented as xpr-libraries. The
`term' distribution includes xprascii.library, xprjmodem.library,
xprkermit.library, xprquickb.library, xprxmodem.library, xprymodem.library
and xprzmodem.library.
Upload Text.................... Sends a file/files to the remote receiver
using the current transfer protocol. If
possible this command will `ask' the
transfer protocol to transmit the file(s)
in text mode (whatever that means) which
may include CR/LF substitution and other
gimmicks. Consult the library
documentation to find out if your favourite
transfer library supports text mode.
Download Text.................. Request a file/files using the current
transfer protocol. Refer to `Upload Text'
for features/options of this mode.
Upload ASCII................... This is a pure ASCII-file upload
implemented through xprascii.library. It
was added to allow poor BBS programs to
receive text files (especially Paragon
doesn't seem to like ZModem text file
upload).
Download ASCII................. This is a pure ASCII-file download
implemented through xprascii.library.
Refer to `Upload ASCII' for
features/options of this mode.
Upload File(s)................. Send a file/files to the remote receiver
using the current transfer protocol. True
batch upload is supported both through
wildcard expressions ("#?.txt" will send
all files whose names end with `.txt') or
through multiple selection (hold down the
shift key and click the names of the files
you wish to transmit). Refer to the
documentation of your favourite transfer
library to find out if batch file transfer
is supported.
Download File(s)............... Receive a file/files using the current
transfer protocol. If the protocol does
not support batch download you are required
to enter the name of the file to be
received. Files which remain empty after
the transfer are deleted automatically.
Transfer Options............... The transfer options can be changed with
this command. If possible a control panel
will pop up which allows you to change the
current parameters by mouse/keyboard. If
the selected transfer protocol does not
provide these option hooks, a simple string
requester will prompt for input. Consult
the documentation of your favourite
transfer protocol for legal options and the
values to which they can be set.
Transfer Protocol.............. This command allows you to specify the
transfer protocol library to be employed
for up-/downloads.
The transfer routines open an information window in which a number of
transfer parameters are displayed. Additionally, the file transfer can be
aborted by clicking either of two buttons (`Abort Entire Transfer' and
`Skip Current File'). Note: for most transfer protocols both buttons
(abort and skip) have the same effect. Consult the documentation if
different levels of abort are supported by your favourite transfer
protocol.
The following information is displayed in the transfer window:
Protocol............... The name of the transfer protocol currently
running.
File................... The name of the file being transferred.
Size................... If available, the size of the file.
Bytes Transferred...... Number of bytes transferred yet.
Blocks Transferred..... Number of data blocks transferred yet.
Block Check Type....... The method employed to verify the integrity of the
data blocks being transferred (this usually is a
form of cyclic redundancy checking).
Block Size............. Size of a data block in bytes.
Estimated Time......... The time the transfer protocol expects the transfer
will take.
Elapsed Time........... The time elapsed during transfer.
Message................ A message of the transfer protocol addressed to the
user.
Last Error............. A short description of the last error which occured
during file transfer.
Number Of Errors....... The number of errors occured during file transfer.
Number Of Timeouts..... The number of timeouts occured during file
transfer.
Packet Type............ A short description of the data block type employed
for data transfer.
Packet Delay........... The delay between two packets being sent.
Characters/Second...... The effective transfer speed in characters per
second.
Character Delay........ The delay between two character being sent.
If the currently active transfer protocol provides the necessary
information, two bars will be displayed at the bottom of the transfer
window indicating the amount of transferred data and of time to go before
the transfer is finished.
`term' knows about the ZModem data-inquire sequence the remote receiver
issues when expecting files. If recognized, this sequence will cause
`term' to display a requester asking for the type of data upload: text or
binary. One could call this feature `auto upload'. You also have the
opportunity to select `Abort' which will transfer the ZModem abort sequence
or to click on the `Ignore' gadget which will plainly ignore the fact that
the ZModem inquiry sequence has been recognized. Note that the ZModem
abort sequence will also be transferred if you select the `Cancel' button
in the file requester to appear after selecting text- or binary-upload.
Each file that is received and which does not remain empty is examined
briefly to find out about the file type. If recognized successfully, a
small comment indicating the file type will be attached to the file.
`term' currently knows about the following 68 different file types:
Workbench icon TIF image
ASCII text IFF-ILBM image
`C' sourcecode IFF-ANIM animation
`C' header file IFF-8SVX sound
Asm language source code IFF-SMUS score
Asm header file IFF-FTXT text
Modula-2/Oberon source code IFF-PREF preferences file
ARexx program IFF-TERM `term' configuration
Basic source code IFF (general)
TeX document AmigaVision flow
Metafont font Imploder data
Generic font PowerPacker data
Packed TeX-font LhPak archive**
TeX device independent data Arc archive
PasTeX font library ARJ archive
Manx 3.x object code LhArc archive
Manx 5.x object code LHA archive
Manx 3.x library Zoo archive
Manx 5.x library PKZip archive
AmigaDOS object code Stuff It! archive²
Object code library Pack It! archive²
AmigaDOS program MacCompress archive²
System library Compact archive²
System device Diamond archive²
AmigaDOS filing system Compress archive*
AmigaDOS handler CPIO archive*
GIF image DMS disk archive
Degas image¹ Warp disk archive
MacPaint image² Zoom disk archive
SuperPaint image² SPARC object code
PostScript document SPARC program
Macintosh PICT image² MS-DOS program
Sun raster format image³ Atari-ST/TT program
PCX image Macintosh program
¹ Atari-ST/TT-specific (Degas Elite)
² Macintosh-specific
³ Sun-specific
* Unix-specific
** Not yet ready for release
5. Modem
--------
The commands in this menu deal with controlling the serial line and the
modem.
Phonebook...................... The phonebook is one of the most powerful
and complex functions of `term' and will be
described later in this document.
Dial........................... To dial a single phone number select this
menu item. The phone number entered will
be passed to the dialing routine.
Redial......................... Dialing list entries the dialing routine
was unable to establish a connection to are
again passed to the dialer.
Play Number.................... Outputs a telephone number using touch-tone
dial coding on the Amiga audio hardware.
Send Break..................... Sends a `break' signal across the serial
line.
Hang Up........................ Tells the modem to hang up the serial line.
Release Serial Device.......... The serial driver is released for other
programs to use it. A requester will
appear which allows you to reopen the
serial driver or to quit `term'.
If the serial driver has been released
by the ARexx interface and has not been
reopened yet, this menu item will do it.
6. Display
----------
The items in this menu deal with the `term' main screen and the terminal
emulation.
Reset Styles................... Resets all character style attributes
(bold, blinking, inverse video, underlined,
etc.) and sets the text colour to the
default pen.
Clear Screen................... Clears the whole `term' screen and moves
the cursor to the top left home position.
Save Screen (IFF-ILBM)......... Saves the contents of the `term' main
screen to a file. The resulting image file
can be read by any program to support
IFF-ILBM images.
Save Screen (ASCII)............ Saves the current contents of the screen to
a file; this does not include any graphics,
only the ASCII characters are saved.
7. Preferences
--------------
`term' is configured using the `Preferences' menu. The following text will
describe the functions associated with each menu item:
a) Serial Preferences
---------------------
This is where the serial parameters may be changed.
Baud Rate.............. Transfer speed in bits per second.
Bits/Char.............. Number of bits per transferred character (7 / 8).
Parity................. Serial parity (none, odd, even, mark, space).
Stop Bits.............. Number of stop bits (1 / 2).
Handshaking............ Serial handshaking mode (XON/XOFF, RTS/CTS, none).
Duplex................. Determines whether characters are echoed back to
the terminal screen or not (full, half = local
echo).
High-Speed Mode........ Activates a special mode of the serial driver which
is to skip a couple of internal parity and stop
bits checks resulting in higher data throughput
rate. Note that enabling this feature will only
make sense if used on two directly connected
computers.
Break Length........... Length of the break signal given in microseconds.
Serial Device.......... The name of the serial driver to be used by `term'.
This is usually `serial.device' (`modem?.device'
for the internal Supra modem, `sxbios.device' for
ASDG's serial IO card).
Device Unit Number..... The device unit number of the serial driver
selected above. This usually left 0 but can also
be used to address multiple serial IO ports.
Use.................... Accept the current settings.
Cancel................. Dont' use the current settings.
Most modems will not recognize a sudden change in the baud rate. Type
`AT<RETURN>' to make the change known.
b) Modem Preferences
--------------------
This is where modem control strings and other related parameters are
configured.
Modem Init String...... The string to send to the modem after successful
program initialization. This string is optional
and does not need to be entered.
The dialing routine will use the initialization
string entered here before dialing a phone number.
Modem Exit String...... The string to be sent to the modem shortly before
the program terminates. Just like the modem init
string this string is optional and does not need to
be entered.
The dialing routine will use the initialization
string entered here before dialing the next
telephone number.
Modem Hangup String.... The string to be sent to the modem when asked to
hang up the line. This string is not optional, it
has to be present for the program to work properly.
Dial Prefix............ The string to be used to prefix each dialing
command. This is usually a variant of `ATDP' or
`ATTD'.
Redial Delay........... The time to wait after walking through the whole
dialing list without making any successful
connection before another attempt is started.
Number Of Dial Retries. The number of times the dialer walks through the
dialing list trying to make a successful connection
before giving up.
Dial Timeout........... The time to wait for a successful connection during
dialing. After this time has elapsed, the dialer
will skip to the next entry in the list.
Connect Auto-Capture... If enabled will automatically open a capture file
after successfully making a connection. Any other
already open capture file will be closed before
proceeding.
Connect Auto-Baud...... Most modems echo the baud rate upon successful
connection. If enabled the baud rate will be read
and set for the serial driver.
Log Actions............ If enabled will write a protocol of each program
action (uploads, downloads, dial attempts, etc.) to
a file. Each action is listed along with time and
date. Carrier-lost-events will also note the
approximate cost of the call.
No Carrier String...... The string the modem emits if the data carrier is
lost. The program uses this to determine the
length of the connection and to calculate the how
much the user is to pay for it.
Connect String......... The string the modem emits after detecting a
carrier signal. `term' uses this input to
determine successful telephone connection, to
reconfigure itself and to start the online timer.
Voice String........... The string `term' is expected to receive if the
modem detects a voice call. If in dialing mode,
`term' will abort the process. The user will in
any case be notified of the event.
Ring String............ The string the modem emits if it receives a call,
same effects as with the `Voice String'.
Busy String............ The string the modem returns if the number which
has just been dialed is busy.
Use.................... Use the current settings.
Cancel................. Keep original settings.
c) Screen Preferences
---------------------
This menu-item will bring up a window to change all parameters of the main
screen.
Display Modes........... All graphic-modes available for the main screen are
displayed here. If you wish to use the 'Super
Hires', the 'Productivity' mode or the A2024-modes,
you will have to put up with some restrictions:
there are only screens with a depth of two (Amiga
colourmodes)and if in A2024-mode, different
resolutions cannot be mixed with each other any
longer.
Annotation: the A2024-modes should only be used
in connection with an A2024/Hedley-monitor.
Otherwise the screen may 'crash' and working with
`term' is not possible any longer.
Edit Screen Palette..... These gadgets are used to select a colour of the
screen palette that is to to be changed.
Red/Green/Blue.......... These proportional-gadgets are used to modify the
portions of red, green or blue.
Make Screen Public...... As dealt with before, the `term' mainscreen is
opened as 'public'. With this gadget the user may
define if other applications are allowed to open up
their windows on the `term' screen.
'Shanghai' Windows...... This item, that is only displayed if 'Make Screen
Public' has been selected, is closely related to
the function before. If active, all windows that
will normally be displayed on the Workbench screen
will open on the `term' main screen.
Use..................... Use the current preferences.
Cancel.................. Keep the old preferences.
It has to be remarked that all the 'new' display-modes (Super-Hires,
Productivity, etc.) restrict the number of colours. Instead of 16-bit
portions for red, green and blue, only 2-bit portions are used, which leads
to a maximum width of the palette of at all 64 (4 × 4 × 4) colours. This
is no 'feature' of `term' but a hardware restriction.
d) Terminal Preferences
-----------------------
All settings that may be done here determine the behaviour of the terminal
itself, i.e. how command sequences are interpreted and displayed.
Capture Filter......... If selected, command sequences are filtered out
before the incoming characters are captured to disk
or printer.
Destructive BS......... Determines if the 'Backspace' code, which will
delete the character left from the cursor, only
moves the cursor to the left or removes the
character from the screen.
Audible Bell........... If this function has been activated, every 'Bell'
code will cause `term' to generate a audible
signal.
Visible Bell........... If the function has been activated, every 'Bell'
code will cause `term' to generate a visible signal
(screen flash).
Force 80 x 24.......... Because of a higher horizontal resolution or as a
result of the current overscan-preferences there
often is space left at the right margin, which is
automatically used by `term'. Some BBS-programs
are dependent on a fixed number of columns and
lines (80 × 24) so that a change in the resolution
leads to a disturbance in the display. With this
gadget the user can force an 80 × 24 columns/lines
display (the actual resolution of the screen is not
changed, `term' only performes a linefeed at the
80. horizontal position).
Stop Blinking.......... If selected the VT100-blink option is suppressed.
Send CR................ This gadget determines the sequence that is sent
to the remote if a carriage-return is issued.
As CR = without any change.
As CR+LF = carriage-return and linefeed
Ignore = suppress any carriage-return
Send LF................ This gadget determines the sequence that is sent
to the remote if a linefeed is issued.
As LF = without any change.
As LF+CR = linefeed and carriage-return.
Ignore = suppress any linefeed.
Colour................. This gadget determines the colour-mode the terminal
emulation is going to use. Until now, three modes
have been implemented:
- Amiga
Four colours and blinking.
- 8 Colours (Blink)
Eight colours and blinking.
- 16 Colours
Sixteen colours, as the EGA-palette.
- Mono
Monochrome, two colours.
Emulation.............. At this point the user may select the terminal
emulation. First there is the a solid VT100/VT220/
ANSI emulation that supports all common command-
sequences, then there is a so called 'Atomic'
emulation which does only support the very basic
command-sequences (CR, LF, Backspace, etc.), all
VT100- and ANSI-command-sequences are suppressed,
and, last but not least, a 'TTY'-emulation which
does not suppress all command-sequences, as
'Atomic' does, but rather echoes them to the
screen.
Font................... `term' makes use of two fonts to display text and
graphics. 'Topaz' is the system-integrated
standard font, 'IBM' is a font similar to the
Standard IBM PC font which also contains
graphics-symbols. If 'IBM' is selected input from
the console is automatically translated into the
corresponding 'IBM' characters.
Use.................... Use the current preferences.
Cancel................. Keep the old preferences.
The built-in VT100-emulation supports all commands that have any use
with `term'. Not implemented are commands that control the printer (this
should be left to the user), initiate internal terminal-tests, change the
LEDs or were very complicated to implement.
Although only hard-core VT100-users may recognize this: the backspace-
and delete-keys were not swapped, characters with ASCII-code > 127 are
displayed either and are not stripped (real 8 bits instead of 7 bits).
The VT100-emulation also supports all commands of the VT220-terminal
(thanks to Germar Morgenthaler who was able to get hold of the original
documentation of the DEC VT220 console!), although there were only a few to
be added. Acctually I had built in a lot commands that were supported only
by VT220. Commands to swap between national keymaps (the DEC Multinational
Character Set is accessed at _all_ times) and commands that control the
printer are not supported. These commands are stripped.
e) Startup Macro
----------------
At the beginning of every session with `term' and after a connection has
been established by the dialing routine a command-sequence is executed
which may execute command-files or perform a automatical 'login'. This
command-sequence can be edited by selecting this menu-item.
f) Paths
--------
In this part of the preferences all paths, which `term' uses to save or load
any data, can be determined.
Config. Storage Dir.... The directory that will contain all configuration
files (Phonebook, Makrokeys, etc.). The default
configuration file is called 'Preferences.term' and
will be searched in the path defined by the
enviroment variable 'TERMPATH' (see end of
document).
xxx Up/Downloadpath.... The directories in which the functions contained in
the 'Transfer' menu will search and create files.
Capture Path........... This gadgets contain the path in which the the
capture files will be created if 'Connect
Auto-Capture' is enabled.
Log File............... The name of the file in which the information on
the actions executed by `term' will be logged if
'Log Actions' is enabled.
Text Editor............ Contains the name and search path of the editor
used by 'Edit File' in the Utilities menu.
Terminal 'Beep' Sound.. The name of the IFF-sound-file that will be played
if a BEL-signal is detected. This file may for
technical reasons not be larger than 102400 bytes.
Use.................... Use the current preferences.
Cancel................. Keep the old preferences.
If the gadget 'Select' is clicked, the path or filename beside can be
selected by the file-requester.
g) Emulation
------------
The gadgets found here allow you to change the internal parameters of the
selected emulation.
Smooth Scrolling....... If active, the each carriage-return code will cause
the contents of the screen to scroll up smoothly.
Wrap Characters........ This function activates the automatical carriage
return function which is triggered as soon as the
cursor crosses the right screen margin. To avoid
unpleasant side-effects, this gadget should be
activated all the time.
Wrap Cursor............ According to the VT100-specification the cursor
movements have to stop at the edges of the screen.
In spite of this the cursor may leave these
borders, especially in ANSI-mode, and may appear at
the other side of the screen. This gadget
activates a more 'tolerant' mode.
Insert Mode............ Normally, `term' is in overwrite-mode (characters
entered overwrite the contents of the screen). If
this gadget is activated, typed characters are
inserted by pushing all the characters right of the
cursor towards the right margin.
Note: the insert-mode does only work for lines.
If characters are pushed out of the screen they
cannot be restored.
New Line Mode.......... This gadget activates a special mode in which some
VT100-control-sequences cause `term' to perform a
linefeed instead of clearing the screen or other
serious changes of the contents of the screen.
Numeric Keypad......... If this mode is activated the keys of the numeric
keypad transmit a command-sequence instead of a
number. If the remote computer needs these
sequences, this mode - applications mode - can be
activated with this gadget.
Cursor Keys............ If this mode is active the cursor-keys transmit a
command-sequence instead of a cursor-move. If the
remote computer needs these sequences, this mode -
applications mode - can be activated with this
gadget.
Font Scale............. VT-100 offers four different sizes of fonts. They
can be selected with this gadget:
- Normal
The normal height of the font.
- Double Height (Top)
Double height of font, only the upper part
of the character is displayed.
- Double Height (Bottom)
Double height of font, only the lower part
of the character is displayed.
- Double Width
Double width of font.
- Half Width
Half width of font.
Use.................... Use the current preferences.
Cancel................. Keep the old preferences.
Now for the global preferences:
a) Macro Preferences
--------------------
This menu is used to set user definable strings for all ten function keys.
All strings are considered command sequences, a topic which will be covered
later in this document.
Qualifier............. All in all 40 Keys may be covered with user defined
command sequences. As the Amiga keyboard only has
ten function-keys this gadget switches between the
modifier keys (shift, control, alt) which, if
pressed in addition which a function key, will
execute one of the 40 command sequences.
Load.................. Load the macro-keys from a file.
Save.................. Save the macro-keys to a file.
Use................... Use the current preferences.
Cancel................ Keep the old preferences.
As the definition of the function keys with command sequences
contradicts the standard definition of the four functions keys of a
VT-100-terminal, the keys F1-F4, which may be executed by pressing the
shift key and the approriate function-key simultaneously, are mapped to the
standard sequences for function-keys. The user may - of course - change
these settings.
b) Fast! Macro Preferences
--------------------------
The design and implementation of the settings to be configured in this menu
are closely related to the menu entry `Macro Preferences' discussed before,
the only difference to be seen in the fact that the fast! macros are
mapped to buttons rather than function keys (more on this topic later in
this document).
Macro List............... The list of macros entered yet, to edit one of
these, select it by clicking the mouse button
with the mouse pointer on it.
Macro.................... The name of a macro by which it is listed in the
fast! macro list.
Macro Code............... The command sequenz associated with a fast!
macro. Command sequenzes are discussed later in
this document.
New...................... Appends a new macro to the list. The user may
then select and customize it.
Delete................... Removes the currently selected macro from the
list.
Load..................... Loads the macro list from a file.
Save..................... Saves the macro list to a file.
c) Hotkeys
----------
This is where the key sequences used to arrange screens and to execute
special functions are to be configured.
term Screen To Front.. The keys to press to bring the `term' screen to the
front.
Buffer Screen To Front The keys to press to bring the screen of the log
book process to the front (note: if the screen is
not already open, pressing these keys will
accomplish nothing).
Skip Dial Entry....... As an alternative to the `Skip' gadget, pressing
these keys will skip a dialing entry if the dialing
function is currently active.
Commodity Priority.... The commodity priority to assign this task to. You
may want to change this value if you have more than
one program running which uses the same key
sequences as `term'. The program with the higher
commodity priority will receive the keystrokes
first.
Hotkeys enabled....... Whether the hotkeys are enabled or not can be
toggled by clicking on this gadget, or by using the
`Exchange' program to be found in the
`Tools/Commodities' drawer.
Load.................. Loads the hotkey settings from a file.
Save.................. Saves the hotkey settings to a file.
Use................... Use the current settings.
Cancel................ Keep the original settings.
If any changes made here do not seem to take effect immediately, the
user has probably typed a keyword wrong (causing the entire hotkey setup to
fail). I'm sorry about this, but the current implementation of hotkey
support does not sport error checking.
d) Speech
---------
If enabled, the Amiga speech synthesizer will be used to alert the user of
certain actions, such as carrier lost, connection made, etc. This feature
makes sense if `term' is running in the background where the user cannot
see what is actually happening on the main screen. By default this feature
is disabled.
Rate.................. Speaking speed in words per minute.
Pitch................. The greater this value, the higher the voice
appears to speak.
Frequency............. Voice frequency in Hertz.
Volume................ The volume of the voice.
Sex................... Enabled female or male voice.
Speech enabled........ Toggles the activity of the speech synthesizer.
Speak!................ Speaks a small sample text, note that speech must
be enabled for this function to work.
Load.................. Loads the speech settings from a file.
Save.................. Saves the speech settings to a file.
Use................... Use the current settings.
Cancel................ Keep the original settings.
===================== Telephone book & Dial function ======================
===========================================================================
The functions described in the following can be found in the `Modem' menu
and relate to the menu entries `Phonebook', `Dial' and `Redial'.
`term' is equipped with a user friendly telephone number management
system, the `telephone book', which is operated via a Control field. The
Control field is described in the following lines.
Name List.............. The list of all telephone numbers with names
against them (name of the corresponding mailbox).
If one of these entries is selected with a double
click, it will be placed at the end of the dialing
list (More on this later).
Name................... Name of the last selected telephone book entry.
Phone Number........... telephone number of the last selected telephone
book entry.
Password............... Keyword to access the mailbox related to the last
selected telephone book entry.
Macro File............. Name for the file which contains the function key
definitions for the last selected telephone book
entry.
Pay/Unit 1/2........... Cost for one pay unit.
Minutes/Unit 1/2....... Duration of one pay unit in minutes. Together with
the `Pay/Unit' entry the costs for a call are cal-
culated.
Start Time 1/2......... These two sliders select which one of the two
charge rates will be used for which time of day.
In Germany the 6 minute units (DM 0,23 per unit)
start at 8:00 am and end at 6:00 pm. The 12 minute
units start at 6:00 pm and end at 8:00 am the
following morning.
Serial,Modem,Screen,... These functions communicate with the corresponding
Terminal,Startup, functions in the `Preferences' menu and specify the
Paths,Transfer settings which are adopted as soon as a successful
connection is made to one of the telephone numbers
which are stored in the telephone book.
Play Number............ Plays the currently selected telephone number using
touch-tone signal coding.
Dial................... Enters the last selected telephone book entry into
the dialing queue and jumps immideatelly to the
dial function.
Get Settings........... Copies the actual terminal settings to the selected
telephone book entry.
New Entry.............. Generates a new telephone book entry with standard
settings and places it at the end of the telephone
book.
Remove Entry........... Removes the last selected telephone book entry from
the telephone book and frees the memory allocated
for this entry.
Load................... Loads the contents of a telephone book from a file.
Sort................... Sorts the contents of the telephone book in ascen-
ding alphabetical order.
Save................... Saves the contents of a telephone book to a file.
As I have been asked several times: For dialing a telephone number the
dialing prefix specified for this telephone number is used. If the
MNP-error correction for a certain mailbox has to be specifically switched
on via the dial string, this has to be done in the modem settings for this
mailbox and not in the global settings of `term'. The `Modem Init-String'
and `Modem Exit-String' entries of the telephone book can also be used for
initialisation.
A further field is opened as soon as a telephone book entry is queued to
the dialing queue. Either the name of the telephone book entry is
displayed, or, if it is a telephone number which has been entered via the
dial function, only the telephone number.
The following input elements can be found in the input field of the
dialing queue:
Dial................... Activates the dial function and attempts to dial
each of the dialing queue entries one after the
other.
Delete Call............ Removes an entry from the dialing queue. If all
entries are removed the input field is closed.
Cancel................. Deletes all entries from the dialing queue and
closes the input field.
If the dial function is activated all input fields previously opened
will be closed, a new input field is opened and the dialing process is
followed. The following information about the dialling process is
displayed:
Calling................ The name of the telephone book entry belonging to
the number being dialled. If it is just a
telephone number the string constant
`-- Unknown --' is shown, meaning that the name of
the mailbox is unknown.
Number................. The telephone number being dialed or _just_ dialed.
Next................... The name of the telephone book entry which will be
processed next if no connection is established. If
no further entry exists, `-- None --' will be
displayed.
Timeout................ A counter which is decreased every second and which
reflects the time remaining to establish a
connection or to cycle through the dial queue
again.
Attempt................ This field shows the number of unsuccessful cycles
made through the dialing queue to establish a
connection.
Message................ A message to the user. This can be:
- Dialing...
A dial is in process.
- Line Is Busy.
The dialed number is engaged.
- Incoming Call!
The Modem has been called from another Modem.
- Incoming Voice Call!
The Modem is receiving a call which was not
originated by another Modem.
- Connection Established.
Nomen est omen!
- Maximum Number Of Dial Retries Reached!
Also nomen est omen.
- Dial Attempt Timeout.
The time available to establish a connection has
been reached or exceeded.
- Redial Delay...
Pause until the next cycle through the dialing
queue.
Additionally three buttons can be found in the input field, which
initiate the following functions.
Skip Call............... With this function the current dialing attempt is
cancelled and the next number is processed. If no
succeeding telephone number exists `term' waits
for the next cycle through the dial queue or until
`Skip Call' is `pressed' again.
There also is a hotkey combination available to
accomplish the same effect.
Go To Online............ If the line is very noisy, the connection to a
mailbox has been made but the `CONNECT' signal has
been lost, you can use this button to switch
directly to the online mode of the Modem. This
will also start the pay unit counter and the dial
queue will be exited.
Abort Dialing........... Operation of this button exits the dial queue
(leaving the the dial queue intact) and ends the
dialing process.
If a connection is successfully made the corresponding entry in the dial
queue will be removed.
============================== The Log book ===============================
===========================================================================
The `Log book' is a function which continually stores text displayed on
`term's mainscreen, so that the user can inform himself about the received
text at any time .
1. General characteristics
--------------------------
The "size" of the `log book' is managed dynamically so that for every new
line which is read new memory must be allocated. So the "size" of the `log
book' is limited only by the amount of the available memory. It is
recommended that the `log book' is emptied periodically to avoid using the
entire free memory.
If there is insufficient memory to `write' a new line into the `log
book', the first line will be deleted to make room for the new line.
2. Operation
------------
The contents of the `log book' can be paged through using the keys for
moving of the cursor (`Cursor keys') (cursor keys + shift key moves page by
page, cursor keys + control key jumps to the beginning or end of the log
book). Additionally, the numpad keys are overlaid with jump and paging
functions (corresponding to the inscriptions/graphics on the front of the
keys).
With the aid of the mouse you can mark blocks in the `log book' which
are to be copied into the `clipboard' and which can later be fed into the
input stream with the function `Paste Clipboard Contents'.
Additionally there is a further menu whose functions should be explained
briefly:
Search................. A search function is called which searches from the
topmost line ON THE SCREEN downwards for an entered
search string. Upper- and lowercase are ignored
with this function.
If the search string is found it is displayed and
marked/highlighted.
Repeat Search.......... Continues the search process started with `Search'.
The previously entered search string is carried
over.
Go To Main Screen...... Switches to the main screen of `term'.
Clear Buffer........... Clears the contents of the `log book'.
Close Buffer, Quit..... Closes the `log book' screen but leaves the
contents unchanged.
============================ Command sequences ============================
===========================================================================
Each character string sent directly to the modem is a command sequence.
This includes telephone numbers, modem initialisation strings, function key
assignments, etc. In addition to the normal ASCII character strings
various other commands are supported which will be described in the
following.
a) The `Backslash' (mirrored slash) \
-------------------------------------
The following sequences are introduced with the '\':
\\..... generates a single `Backslash'.
\b..... generates a `Backspace' (delete the character to the left of the
cursor).
\e..... generates the escape character (ASCII code 27).
\f..... generates a `Form Feed' (skip to beginning of the next page or
clear the screen).
\g..... places a character string into the `Clipboard'.
\n..... generates a `Line Feed'.
\p..... feeds the password of the telephone book entry into the input
stream of the last made connection. Note: The password is
automaticly cleared for security reasons when the connection is
broken.
\r..... generates a `Carriage Return'.
\t..... generates a tab jump.
\x..... generates a break signal (as with the `Send Break' menu entry).
\d..... executes an AmigaDOS command.
\a..... executes an ARexx command.
\i..... feeds the contents of the `Clipboard' into the input stream.
\^..... generates a `circumflex' (also named roof :-).
If none of the mentioned combinations is recognized the character which
follows the '\' will be fed into the input stream without any changes.
b) The `circumflex' (also named roof :-) ^
------------------------------------------
This character is used to change the following character to a `control
character'. So the sequence `^J' will become a Line feed and `^H' becomes
a tab jump. The character which follows the `^' has to be located between
`@' and `[', otherwise it is fed into the input stream without changes.
c) The tilde ~
--------------
This character causes the program to pause for exactly half a second before
it continues to process the following commands.
============================== Fast! Macros ===============================
===========================================================================
There is currently no menu item to invoke this function, just press the
`Help' key to open or close the corresponding control panel.
In implementation and design the fast! macros are closely related to
the function key macros. If invoked, a window opens on the right hand side
of the screen sporting a scrollable list of macros (the contents of this
list can be edited using the `Fast Macros' preferences menu item). When a
list entry is selected, the associated command sequence (discussed above)
will be executed.
By using the fast! macros is theoretically possible to control a bbs
just by mouse, provided that you have the approriate macros in your fast!
macro list.
The fast! macro panel can be resized and acts just like the main `term'
window: menu items can be selected and characters entered are sent to the
serial driver.
=========================== The `Packet Window' ===========================
===========================================================================
In this window a line can be edited before it is sent. All the usual
editing functions known from standard input fields are available (shift +
left/right jumps to the start/end of the line).
Additionally some extended functions exist which are performed by
pressing a cursor key together with the shift or ctrl key:
Left + ctrl............ Jumps to the next word.
Right + ctrl........... Jumps to the previous word.
Up..................... Shows the last entered command in the input line.
Up + shift............. Shows the very first command entered so far.
Down................... Shows the next entered command (if you moved back
for some commands before).
Down + shift........... Shows the very last command entered so far.
This input field has a buffer where all previously entered commands are
stored (`Command History'). You can page through this buffer, load and
save it and individual lines can be called up again. As with the `log
book' this buffer is managed dynamically. The same memory restrictions
that apply to the `log book' are valid for this buffer.
The input line also has a menu which offers the following functions:
Load History........... Loads the contents of the input line buffer from a
file. Each stored line in this file can be called
up and sent.
Save History........... Saves the contents of the input line buffer to a
file.
Clear History.......... Simply releases all previously stored commands and
the used memory.
Other Window........... Switches to the main screen of `term'.
Quit................... Closes the window (corresponds to clicking the
close gadget of the window).
It must be mentioned that every character entered into this window is
shown immediately so that those things where it is better that they should
not appear on the screen (like passwords for a mailbox) should be entered
in another way.
The content of every input line is interpreted as a command sequence and
therefore can also contain control characters.
If a line taken from the input buffer is sent without change it is _not_
stored in the buffer again (`true history' as known from `ConMan').
The contents of the input buffer are cleared automatically after the
window is closed. Under no circumstances are the contents maintained until
the next call!
============================= System variables ============================
===========================================================================
Information which is to be available the next time the program is run is
placed as AmigaDOS variables in the directory `ENV:' and `ENVARC:' by
`term'.
The variables used by `term' can be used and manipulated by other
programs transparently. In detail these variables are:
TERMPATH............... The name of the directory in which all information
used by `term' is placed (Standard configuration,
telephone book, etc.). The default setting is
`ENVARC:term'.
TERMWINDOW............. The window definition which can also be entered in
the program via the menu function `Set Console
Window'.
xpr... ................ The standard settings used for the corresponding
transfer protocol (xprzmodem, xprkermit, etc.).
============== An author's request & gift-ware-remuneration ===============
===========================================================================
The development of `term' required conciderable expense. The effort to
find out by trial and error and with a little help from the DevCon-Disks
and the Includes & Autodocs the operating principles of some routines would
alone be worth a remuneration to the author (it's simply bad luck if the
Atlanta-DevCon records arrive with considerable delay).
The author is susceptible to all kinds of donation and gifts so long as
it is assured that they are useful to him (these nice little sacks with
elephant food are better sent to the Hannover zoo). Therefore anyone
pleased by `term' or who works with the source code is welcome to
remunerate my programming efforts as he/she thinks that it matches my
efforts (If you've got no ideas yet: I am looking for the GNU C++
objective `C' compiler in a version executable on the Amiga, old Infocom
games or the source for `ARJ' or a Modula-2 compiler) - a lot of thanks!
My address:
Olaf Barthel, MXM (ETG030)
Brabeckstrasse 35
D-W-3000 Hannover 71
Federal Republic of Germany
Z-Net: O.BARTHEL@A-Link-H
Usenet: o.barthel@a-link-h.zer.sub.org
cbmvax.commodore.com!cbmehq!sourcery!olsen
Would those people looking at the source code to extend it or do some
modifications here and there please contact me before publication so that
our efforts can be coordinated.
If someone should have a brilliant idea to improve or extend the
structure and contents of this manual, he/she may do it with my blessing (I
haven't had the enthusiasm up to now to TeXify the text).
============================ Revision History =============================
===========================================================================
V1.9a Compared to its predecessor this version of `term' does not include
any new features, I merely fixed a number of quite substancial
bugs, cleaned up the visual appearance a bit and removed a couple
of inconsistencies. In particular I fixed the dialing routine and
the double buffering routines employed by the XPR-transfer process
(there was more of course, but nothing to worry about). One big
change will probably go unnoticed: `term' no longer uses the
gadtools.library routines to create string gadgets but a couple of
home brewn ones. This was absolutely necessary since the
previously used technique of adding extra editing functions was
clearly offending official programming guidelines. Last but not
least I improved the behaviour of the program when running under
low-memory conditions. Only a few hours before I had originally
intended to release the final program I discovered an almost
historical bug: if printer capture was enabled the data was not
sent to the printer but - open or not - to the capture file. The
bug was fixed and the file capture was rewritten to use the
doubly-buffered I/O routines also employed by the XPR-transfer
module. Another last minute bug fix concerns the telephone book:
in revision `term' 1.9 it was impossible to change the call fee
settings, this has been fixed.
V1.9 Starting with this release AmigaOS 2.04 (Kickstart 37.175,
Workbench 37.67) becomes a must (by the time this `term' release
becomes widely available Commodore should be shipping Kickstart 2.0
enhancer kits -- it was a tough job, and it has been nicely done,
congratulations!). On machines equipped with a Super-Agnus chip,
but without an ECS-Denise chip the screen mode selection would
occasionally select the wrong resolution, this has been fixed. I
have increased the read buffer of the serial device driver, it is
now about sixteen times as large as it used to be. Read and write
accesses during up- and downloads are now doubly buffered (i.e.
while one buffer is transferred the other buffer is asynchronously
filled with new data) which is to permit data transfers without the
usual delay times caused by buffer flushing and filling. The
filetype identification now recognizes `some' more file types (23
additional types to be accurate). The auto-upload function has
been fixed and enhanced in this release. You now have the
opportunity to cancel an upload (by sending the approriate ZModem
abort sequence) or to ignore the inquiry sequence. Cancelling the
file requester to appear after the inquiry sequence has been
recognized will also transmit a ZModem abort sequence. The calling
fees corresponding to phonebook entries can now be edited as plain
numbers instead of adjusting a slider gadget which would always
only allow numbers ranging from 0 to 10.00 to be entered. The
touch-tone-dialing routine now plays numbers half as fast as in the
previous release. The log book screen now opens in the same
resolution as the main screen (which may look strange in
resolutions such as `SuperHires Interlaced'). Transfer protocol
library and serial device driver can now be selected using the
asl.library file requester instead of typing the names manually.
The `VOICE' and `RING' recognition did not work in the previous
release, this has been fixed. I also fixed a problem encountered
with the path panel: it was impossible to select a path using the
file requester without having to select a file in the corresponding
directory. The transfer panel has been reworked and now sports two
bar displays which graphically show the amount of data transferred
and the time to wait until the transfer is finished. The old
transfer panel would crash or generate Enforcer hits when selecting
an menu item, this has been fixed. The save/restore cursor
attributes function in the VT100 terminal emulation would save and
restore values it should not do, namely the scroll region borders
(fixed). The dialing function now also recognizes `NO CARRIER' as
a synonym for `BUSY'. I must have caused unrecoverable damage to
the dialing function when trying to fix a particular bug, so I had
to rewrite the whole routine (not a bad thing actually, the routine
is now much less complex than in the previous releases and works
like new!). The blinking display could cause problems when the
packet window was active (the window borders would flash just like
the screen cursor did), this has been fixed. Every five seconds
the online time display will change to a call fee display and the
other way round. `term' now sports an iconify function (requires
Workbench to be running). I also added the `Fast! macros' and a
couple of ARexx commands which were missing in the previous
release. Well... it's all in a day's work for a bicycle repair
man!
While some errors seem to show their hand and to wave shouting
`I am here, get me out quick!' I am still deeply indebted to Martin
Berndt, Ralf Thanner and Holger Lubitz who discovered most errors
and bugs in the previous `term' release.
V1.8a First international release.
V1.0- See german documentation (that's why its about 40K bytes longer).
*
"...you can't get what you want till you know what you want..."
-Joe Jackson