Wed Jun  7 19:29:29 PDT 1989

ZTERM - Background Zmodem Transfer and Auto Dialer for Minix
		hacked by bob best (bob@dhw68k.cts.com)

The following hack provides support for zmodem transfers under Minix.
The term.c (now zterm.c) code has been modified to allow access to the
sz (send zmodem) and rz (receive zmodem) programs developed by Chuck
Forsberg.  The actual rz and sz sources used are based on the original
2.0 release dating back to 5/88.  I have also included support for a background
dialer and dialing directory.  The dial.c code assumes a Hayes compatible
modem ("AT" command set that sends a "CONNECT" string on carrier detect).

The file zterm.c uses some hard coded parameters that should be modified
for compatibility with your system.  The definable constant MODEM is
currently set for /dev/tty1.  The constant ZDIR is set for
'/usr/lib/zterm'.  The 'dialer' 'dial', 'bgdial', 'bgzmod', and 'bell'
programs are all placed in ZDIR by 'make install'.  Similarly, the
programs 'zterm', 'rz', and 'sz' are placed in /usr/bin.
If ZDIR is changed in zterm.c the absolute paths must be changed in the
various shell scripts.

The dialing directory is formatted as 5 tab separated fields defined as follows:
1) a code number used to refer to a particular entry
2) the telephone number to be dialed
3) the baud rate used for dialing
4) the date and time of the last connection to this system
5) user description of this system (not used by software)
Each field must be separated by exactly one tab character.
A preformatted directory 'dial.dir' has been included.  The 'dial.dir'
should be located in $HOME, the user's home directory.

To access the dialing directory in zterm, type a tilde '~' followed by
the character 'd' for dial.  To access the zmodem protocol handlers,
type a tilde followed by 't' for transfer.  You will be prompted for the
transfer command.  To receive, simply type 'rz'.  To send, type 'sz'.
You will then be prompted for a list of files (shell wildcards accepted)
to transmit.  When the zmodem handlers start execution, zterm will exit
to the shell.  The transfers will continue in the background.  Upon
completion, a bell will sound and a message will be displayed on the
terminal.  The user can then return to zterm.  Do NOT run zterm while
the transfers are taking place.  To monitor an ongoing transfer, examine
the file /tmp/[rs]zlog.  To exit from the terminal, type a tilde
followed by a period '.'.  To enter a tilde, type 2 tildes.

The automatic dialing code has been designed to continuously dial in the
background until a connection is made.  The dialer will cycle through a
user selected list of systems to dial.  During dialing, the user will be
able to access a shell to interact with the system.  When a connection
is made, the user will be rudely interrupted with a message to that effect.
If background dialing must be terminated prior to a connection, hit 'F1'
for a process dump, and use the kill command with the 'bgdial' pid.

The zterm terminal can be entered or exited at anytime without
dropping carrier.  The user is solely responsible for disconnecting the
line.  This implementation is somewhat messy.  On my Xenix system, the
interface is simplified via a window manager.  If anyone is working on a
window manager or job control for Minix, please notify.
Some locking mechanism should be provided to prevent multiple access
to the modem.

It is not my intent to support this package.  For users with particular
needs, the source is straightforward and can be easily modified.  If you
have specific questions, please post them to comp.os.minix.  This
package has been tested using only the Evans kernel including the Evans
tty driver.
