**
**       #########         #       # ######### #
**              #           #     #  #         #
**            ##   #     #   #   #   #         #
**           #     #     #    ###    #######   #
**         ##      #     #   #   #   #         #
**        #        #     #  #     #  #         #
**       #########  ###### #       # ######### #########
**                       #
**                       #
**                  #####
**

This program is copyrighted by:
   R.E. Janssen
   Prof L Fuchslaan 8
   3571 HC  UTRECHT, NETHERLANDS

Permission is granted only for noncommercial use.  Any commercial use or
distribution via commercial services without the author's permission is
prohibited.


This source version of ZyXEL is not sufficient to get the program working.
You need to get the binary version as well, as it includes the documentation
and example configuration files, as well as some recorded voice.

To re-compile the program from source, install these files in any
directory (but not /usr/ZyXEL):
    README
    Makefile.SVR4
    Makefile.linux
    zyxel.c
    alphasort.c
    scandir.c
    usleep.c
    hplay.c
    rsynth-2.0-diffs
    zplay/
    zplay/zplay.c
    zplay/dsp.c
    zplay/dsp.h
    zplay/Makefile
    zplay/README

"alphasort", "scandir" and "usleep" are provided for systems that don't
have them in the C library.  Linux does not need them.

Make a link or copy of the Makefile most suitable for your system as
"Makefile" and check it.

Also on Linux, make sure the following symbolic links are present in
/usr/include:
    /usr/include/asm -> /usr/src/linux/include/asm
    /usr/include/linux -> /usr/src/linux/include/linux
                          ^^^^^^^^^^^^^^^
    (or to wherever you keep your Linux kernel sources)
The Linux kernel sources, or at least the include subdirectory of it, are
required for compilation.

Now, a "make" will compile the program, and "make install" will install it.
(you need to be logged in as "root" to do the "make install")
Make sure the destination directory (BIN= line in the Makefile) matches
your system setup.

You may get some warnings from the compiler.  The following are known
to be given by GCC version 2.5.8:
 In function `playback':
####: warning: passing arg 3 of `scandir' from incompatible pointer type
 In function `expect':
####: warning: variable `expfail' may be clobbered by `longjmp' or `vfork'
####: warning: variable `retval' may be clobbered by `longjmp' or `vfork'
####: warning: variable `oldalarm' may be clobbered by `longjmp' or `vfork'

The first of these warnings is caused by differences in declaration of
scandir between different versions of include files (<dirent.h> in this case).
I don't have any idea what the latter 3 warnings mean, and what could be
done to improve the code so they don't occur.  They were introduced by some
2.5.x version of GCC.
If you get other warnings, checkout what is happening. (e.g. missing include
files, missing declarations, etc. probably mean your include files need
updating or the abovementioned symlinks are not correctly set)


There are some configurable items near the beginning of the source.  One
is of interest to users of ZFAX.  This program runs only under DOS or
DOSEMU, but it allows conversion from and to FAX file format without
using the ridiculous amounts of memory the UNIX-based tools require.

The default is to support CLASS 2:
#undef	ZFAX				/* use AT# FAX commands (vs CLASS 2) */

To support ZFAX-style FAX files, hange this to: #define ZFAX


To re-compile the speech synthesizer, you will have to get the
rsynth-2.0 sources (these are not included in this source kit).
They are available from svr-ftp.eng.cam.ac.uk as:
comp.speech/sources/rsynth-2.0.tar.gz

Unpack this tarfile in the directory where you have stored the ZyXEL
sourcefiles, to get an rsynth-2.0 subdirectory.  "cd" to that directory,
and use "./configure" to configure the program.  Then, remove the
"hplay.c" file and replace it with the "hplay.c" included with the ZyXEL
sources.  Now "cd" back up to the ZyXEL source directory, and apply the
patches in rsynth-2.0-diffs using "patch -p0 -s <rsynth-2.0-diffs".
Type "make" to compile everything, including the speech synthesizer
(followed by "make install" when you wish to install the result)


To get updated versions of this program, call my system using UUCP.
Please note that it is only available from 23:00 to 07:30 local time,
which is GMT+1 during winter, GMT+2 during summer (DST).

You need a description for my system in your "systems" file.  Often this
file is called /usr/lib/uucp/Systems, or /usr/lib/uucp/L.sys on older
systems.  For the Taylor-UUCP which is normally used with Linux, this
can be the file /usr/lib/uucp/sys (when Taylor-style configuration
files are being used).

The entry for my system should look like this:

pe1chl Any2305-0725 ACU 19200 030715610 ogin:-\r-ogin:-\r-ogin: nuucp

Or in Taylor-UUCP format:

# Rob PE1CHL
system pe1chl
port ACU
phone 030715610
time Any2305-0725
chat ogin:-\r-ogin:-\r-ogin: \d\L
call-login nuucp

These entries make sure the system is called only at the appropriate
time (i.e. when it is open).  Please make sure you don't use "Any" because
your system will call me all the time when I am using the phone for
voice!  Also adjust the time range when you are not in the same timezone
as I am.  Add one hour for each timezone you live east of my timezone, or
subtract one hour for each timezone you live west.

You may have to modify the phone number to adjust for local conventions
(e.g. to get an outside line or to dial the international prefix and 31)

When everything is set up okay, you can get one of the INDEX files which
is available in my uucppublic directory:

-rw-r--r--   1 guest    visitor     30207 Jul  1 23:00 INDEX
-rw-r--r--   1 guest    visitor      6481 Jul  1 23:00 INDEX.gz
-rw-r--r--   1 guest    visitor      6573 Jul  1 23:00 INDEX.lzh

These files are updated automatically each day, and contain a listing
of all available subdirectories.  The .gz file is compressed using "gzip",
the .lzh file is in the format written by the DOS LHA program, and has
the file in DOS textfile convention.

Get a file using:

	uucp pe1chl!~/INDEX /tmp/pe1chl-INDEX

You may need to add a \ before the ! and the ~, depending on the shell
you are using, so that the command becomes:

	uucp pe1chl\!\~/INDEX /tmp/pe1chl-INDEX

Further files may be download using:

	uucp pe1chl!~/subdirectory/filename /tmp/filename

You can upload something using:

	uucp filename pe1chl!~/upload/filename

(uploads are only possible to the ~/upload directory)

Please send mail to pe1chl!rob when you have questions or remarks.
(for now, you can also email to pe1chl@wab-tis.rabobank.nl, but I don't
know how long that address will remain valid.  when it bounces try
rob@knoware.nl)
