



                                AmigaFax


                           The Amiga Fax System



                          C-Born Software Systems



                            February 9, 1992



===========================================================================





     Copyright (C) 1992 by C-Born Software Systems

     All right reserved.  No part of this document may be reproduced,
     stored in a retrieval system, or transmitted, in any form or by any
     means, electronic, mechanical, photocopying, recording, or otherwise,
     without the prior written permission of the publisher.
     Printed in Australia.



     PRODUCTION NOTE

     This document was produced using the LaTEX document preparation
     system macro package for AmigaTEX , Tomas Rokicki's implementa-
     tion of Donald Knuth's TEX typesetting system, running entirely on
     Commodore Amiga computers. 

     (This particular version was run through dvi2tty, hence it's not
      as pretty as it could be. The original can be supplied as a TeX
      DVI file, for those with TeX.)


===========================================================================



                                Contents



1  Introduction                                             1
   1.1 What is AmigaFax?   : : : : : : : : : : : : : : : : : : : : : :   1
   1.2 Summary of Features : : : : : : : : : : : : : : : : : : : : : :   1
   1.3 System Requirements   : : : : : : : : : : : : : : : : : : : : :   3


2  Installation                                              5
   2.1 Installing the Software  : : : : : : : : : : : : : : : : : : : : :   5
   2.2 Basic Configuration    : : : : : : : : : : : : : : : : : : : : : :   6
   2.3 Hardware   : : : : : : : : : : : : : : : : : : : : : : : : : : : :   6
   2.4 ARP  : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : :   7
   2.5 Extra FONTS    : : : : : : : : : : : : : : : : : : : : : : : : : :   7
   2.6 Printer Setup  : : : : : : : : : : : : : : : : : : : : : : : : : :   7
   2.7 Configuring for Hardware and User Preferences        : : : : : : :   7


3  Configuring the System                                  9
   3.1 General Configuration  : : : : : : : : : : : : : : : : : : : : :   9
   3.2 AmigaFax User Interface  : : : : : : : : : : : : : : : : : : : :  10
   3.3 Fax Page Layout Options    : : : : : : : : : : : : : : : : : : :  10
   3.4 Fax Viewer Configuration   : : : : : : : : : : : : : : : : : : :  11
   3.5 Fax Spooler Configuration  : : : : : : : : : : : : : : : : : : :  11
   3.6 Fax Receiver Configuration   : : : : : : : : : : : : : : : : : :  11
   3.7 Fax Transmitter Configuration    : : : : : : : : : : : : : : : :  12


4  The Workbench Interface                                13
   4.1 AmigaFax   : : : : : : : : : : : : : : : : : : : : : : : : : : : :  13
   4.2 FaxAutoAnswer    : : : : : : : : : : : : : : : : : : : : : : : : :  15
   4.3 FaxSpool   : : : : : : : : : : : : : : : : : : : : : : : : : : : :  15

5  Operating from the Shell                                17
   5.1 AFAX  : : : : : : : : : : : : : : : : : : : : : : : : : : : : :  18
   5.2 NEWFAX  : : : : : : : : : : : : : : : : : : : : : : : : : : : :  18
   5.3 AFAXSPL : : : : : : : : : : : : : : : : : : : : : : : : : : : :  18
   5.4 MKAFAX  : : : : : : : : : : : : : : : : : : : : : : : : : : : :  18
   5.5 AmigaFax Command File Format      : : : : : : : : : : : : : : :  19
       5.5.1 Fill Mode   : : : : : : : : : : : : : : : : : : : : : : :  20
   5.6 AFAXSEND    : : : : : : : : : : : : : : : : : : : : : : : : : :  20
   5.7 AFAXPRT   : : : : : : : : : : : : : : : : : : : : : : : : : : :  21
   5.8 FAA   : : : : : : : : : : : : : : : : : : : : : : : : : : : : :  21
   5.9 AFAXILBM  : : : : : : : : : : : : : : : : : : : : : : : : : : :  22


A  Configuration Specifics                                  23
   A.1 FAXLIB:Aliases : : : : : : : : : : : : : : : : : : : : : : : : :  23
   A.2 FONTS  : : : : : : : : : : : : : : : : : : : : : : : : : : : : :  23


B  Integration with other software                          25
   B.1 UUCP   : : : : : : : : : : : : : : : : : : : : : : : : : : : : : :  25
   B.2 TEX  : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : :  25
   B.3 PostScript   : : : : : : : : : : : : : : : : : : : : : : : : : : :  25
   B.4 Printer Driver : : : : : : : : : : : : : : : : : : : : : : : : : :  26
   B.5 BBS Systems    : : : : : : : : : : : : : : : : : : : : : : : : : :  26


C  FaxModem Specifics                                    27
   C.1 ZyXEL U-1496  : : : : : : : : : : : : : : : : : : : : : : : : :  27
   C.2 Maestro 9600XR  : : : : : : : : : : : : : : : : : : : : : : : :  28


===========================================================================


Chapter  1           Introduction



1.1    What is AmigaFax?


AmigaFax is a software package that, in combination with a FaxModem,
allows you to send and receive facsimile information from your Amiga com-
puter. Received faxes can be viewed, printed, forwarded to other fax ma-
chines, and saved as ILBM files which can then be accessed using many
standard Amiga programs.  You can transmit text, ILBM graphics, and
combinations of these as faxes.  Using the AmigaFax command language
you can add text from any Amiga font, along with logos and ILBM graphics,
to create high quality multi-page fax documents.
   AmigaFax can be set up to automatically send documents to multiple
recipients, to send faxes at or after set times, and to answer incoming fax
calls automatically.
   Faxes can be printed on plain paper, using your normal Amiga printer.
   AmigaFax is highly configurable, allowing you to set up a custom envi-
ronment that best suits your hardware and way of working.



1.2    Summary of Features


   o Automatic Reception
     AmigaFax may be configured to receive faxes in the background, or to
     answer an already ringing line in Fax mode. Autoanswer may also be
     integrated with a UUCP or BBS environment, where incoming calls
     may be Fax or data, by using a specially modified version of the getty
     program that recognises Fax calls.

   o Automatic Transmission
     Faxes may be queued for transmission after a particular time, to take
     advantage of lower off-peak telecom rates, for example.  You may
     specify the number of times to try before giving up on transmission,
     and the period at which retry attempts should be made.  All call
     progress is logged, and progress may be monitored from the main
     program. Call logging displays when attempts were made, the success
     or failure of the call, and the Called Number ID of the remote Fax
     machine reached.


   o Multiple Recipients
     Fax numbers may be entered either directly, or using defineable aliases.
     Therefore instead of sending to `99123456', you could send it to `Fred'.
     In the same way, an alias can refer to a list of other aliases, or num-
     bers, so that one fax could be sent to `Customers', representing a list
     of customers.


   o Flexible Fax Viewer
     The Fax viewer allows you to view a fax document at scales of from
     1:1 to 1:8. A 1:3 scale igenerally gives a quite readable image while
     still fitting the entire Fax width across a standard Amiga screen. You
     can easily zoom in on areas of particular interest if required.


   o Powerful Document Builder
     This allows you to mix any Amiga font or ILBM graphic on a page,
     include text, ILBM or AmigaFax command files anywhere on a page
     or in a document, perform alignment at character or pixel level, justify
     text regardless of font size, automatically add standard information
     such as address, signature, logo, and current time/date.


   o Highly User Configurable
     The configuration file allows you to set the system up to suit your
     requirements.  You can define your prefered editor for text and for
     graphics, set a standard file to use as a template when creating new
     Fax documents, customize your dial type (pulse/tone, special prefix
     to get outside line, etc), set the Caller ID string to identify yourself
     to remote Fax machines, define the modem type you are using, and
     set many system default values.


   o Multiple Serial Port Support
     Using the A2232 multi-serial port card, AmigaFax can support mul-
     tiple FaxModems simultaneously, each modem being able to transmit
     and receive facimiles and data.

   o Uses Preferences Printer
     Because the Amiga Preferences printer is used to print out the docu-
     ments, you can tradeoff speed for resolution as you require.

   o Workbench or CLI interface
     AmigaFax can be run either from the workbench, or from a shell or
     CLI interface. In either case, an easy to use graphical presentation
     makes operation straightforward.



1.3    System Requirements


AmigaFax requires AmigaDOS version 1.3 or greater.  It operates with
AmigaDOS 2.0, and will run on Amigas from the original A1000 through
to the A3000.  It is possible to run on an unexpanded A1000 with 512K
RAM and 1 disk drive, but in this case memory and disk restraints will
limit the number and size of faxes that may be generated or received. In
general the more memory and disk available the better.  For unattended
Auto-receive operation a hard disk system is highly desirable.


===========================================================================


Chapter  2               Installation



Warning: Be sure to back up your original disks, and use working copies
of the disks for normal operation.



2.1    Installing the Software


Information on installing the AmigaFax software on your system is given
in the ReadMe file on the distribution disk. Insert the distribution disk, and
from the WorkBench double-click on the ReadMe icon for instructions.
   The installation script should automatically handle most installations.
To use it, from the WorkBench double-click the Install_Now icon, or from
a Shell window type amigafax:install. The script will prompt you for
information required to complete the installation.
   If you are updating to a later revision, the installation procedure will not
overwrite your configuration or alias files, so you will not lose information.
However in this case you may want to examine the files in the directories
lib.user and s.user on the distribution disk for examples of more recent
configuration options.
   The AmigaFaX software requires certain logical assignments to be made.
The installation procedure will create a file afax:s/User-Startup.  You
must edit your S:User-Startup (2.0) or S:Startup-Sequence (1.3)
to include the contents of that file, which will be typically something like:

assign afax: Work:AmigaFax
mount null:
run >nil: <nil: l:fifo-handler
if exists afax:s/AFAX-Startup
        execute afax:s/AFAX-Startup
endif


   If your devs:MountList doesn't contain an entry for the NULL: device,
append the MountList file from the devs directory on the AmigaFax to it.



2.2    Basic Configuration


There are many possible ways to operate the AmigaFax software. You may
wish to operate it as the only software using your FaxModem, or have it
share the modem with other software such as AmigaUUCP. The AmigaFax
spooler may be started when you boot up your computer, or only when you
want to send a fax. Fax Auto-Answer may be left on all the time, started
only when you are expecting a fax, or not used at all.
   If you want the fax-spooler to start when you boot up your system, you
must add the line


run >nil: <nil: AFAX:C/afaxspl


   to your startup sequence. This can be done in the AFAX:s/AFaxAssign
file, for example. Normally this would only be necessary if you send a lot
of faxes with delayed spooling, and your computer may be rebooted often,
as the spooler is automatically started when sending a fax.
   If you want auto-answer with Fax detection running constantly in back-
ground, you may either use the modified Getty command, or use faa di-
rectly, by adding the line


run >nil: <nil: faa


somewhere in your startup sequence.
   Note that the modified getty will allow you to receive data and fax calls
effectively, and is the recommended approach. However if you only wish to
receive faxes, faa is effective and may be started by double-clicking on the
FaxAutoAnswer icon.



2.3    Hardware


The cable between your Amiga and Modem MUST connect CTS,RTS,
DTR, DCD, TXD, RXD and GND conductors.  CTS and RTS are used
for flow control handshaking. DTR is used to keep the modem on line -
hangup occurs if it is dropped. DCD is used for carrier detection.


TXD    2     Transmit Data
RXD    3     Receive Data
RTS    4     Request to Send
CTS    5     Clear to Send
GND    7     Signal Ground
DCD    8     Data Carrier Detect
DTR    20    Data Terminal Ready



2.4    ARP


If you have the ARP library installed (Libs:arp.library) the system will
make use of it for file requesters.
   Support for the ASL library under AmigaDOS2.0 will be added to Ami-
gaFax in the near future, and then be used in preference to ARP.



2.5    Extra FONTS


Some extra fonts have been included in the FaxFonts directory. You may
let the installation script copy them into your FONTS: directory, or under
AmigaDOS2.0 you may copy them into another directory, and modify your
startup to extend the FONT: assign to that directory. The extra fonts are
from the Computer Modern series, as used with TEX.



2.6    Printer Setup


AmigaFax currently uses the standard printer driver, as configured in Pref-
erences.  A future update may allow you to override the default settings
via the configuration file. Using a dot-matrix printer, Halftone Dithering,
Integer Scaling, Black and White, Density 7 appears to work reasonably
well.



2.7    Configuring for Hardware and User Preferences


You will need to modify the file FAXLIB:Config to suit your specific hard-
ware and preferences. See Chapter 3 for details on how to do this.


===========================================================================


Chapter  3            Configuring  the  System



The file FAXLIB:Config is used to configure the basic operation of Ami-
gaFax to suit your particular hardware and preferences.  You must edit
this file carefully, using a text editor.  You should always keep a backup
copy of this file. The configuration options are continually being added to
as AmigaFax grows, so if you are upgrading you should look at the latest
copy. This will NOT overwrite your existing configuration as part of the
installation process.



3.1    General Configuration


   o Debug
     Debug level, 0-9.  Takes one numeric argument.  Useful for fault-
     finding, observing handshake between the Amiga and your FaxMo-
     dem.

   o LogFile
     Specifies the file for logging debug and error information. If not given,
     information will not be logged.

   o LocalID
     The rest of the line is used as the local identifier string, which is
     passed to the remote fax machine. This is usually your fax number,
     and is limited to 20 characters.

   o Device
     The device to use for connecting to the modem, usually serial.device
     (default). This should only be changed if using a different serial de-
     vice, as with a third-party serial hardware.

   o Unit
     Takes one numeric parameter as the unit number to use on the given
     device. Default is 0. For example when using the first port on the
     A2232 multi-serial, set this to 2.



3.2    AmigaFax User Interface


These items are used by the afax program.

   o Editor
     The name of the your prefered text editor, for example TxEd, ced,
     memacs, dme, mg, or Ed (default). I use mg (MicroGnuEmacs).

   o ILBMEditor
     The editor you prefer for editing IFF ILBM graphics, for example
     dpaint.

   o Template
     The name of a file to use as a template for building fax documents, If
     given, the editor will be given a copy of this file to work on when you
     ask for a new fax file. This may include references to your address,
     your signature, etc.



3.3    Fax Page Layout Options


These items are used by the mkafax program.

   o DefaultFont
     This is the default font, used for normal text unless otherwise spec-
     ified.  It takes two parameters, the font name, and size.  The font
     cmtt10 41 looks quite good for standard text.

   o HeaderFont
     This is the font used for page headers.

   o PHeader
     If given, a header will be printed on each fax page, and the rest of
     the line used as the main text, along with the date, local ID string,
     and page number. If not given, no header will be printed.

   o LeftIndent
     The left indentation (border) to be used, in pixels. Many fax machines
     will not print to the full fax width, and typically an indentation of
     at least 50 pixels (approx 1/4 inch) on each size is required to avoid
     losing characters.

   o RightIndent
     The right indentation (border) to be used, in pixels.



3.4    Fax Viewer Configuration


These items are used by the viewafax program.

   o ViewScale
     Takes one numeric argument, 1-8. This is the default scale used by
     the fax viewer when it starts up. A value of three allows a standard
     fax to fit across the screen. A scale of 1 shows maximum detail.



3.5    Fax Spooler Configuration


These items are used by the afaxspl program.

   o SpoolInterval
     This is the time interval, in minutes, at which the outbound fax queue
     is scanned for untransmitted files.



3.6    Fax Receiver Configuration


These items are used by the faa program.

   o RSetup
     The receive setup string. This optional string is sent to the modem,
     preceded by AT, when initializing the modem.  This allows you to
     add commands to set such things as speaker use and volume.

   o RStatus
     Receive Status. If present, a status window will pop up when a fax is
     being received, showing various details such as name, connect speed,
     transmitter ID, amount of data received. It takes two optional nu-
     meric parameters, which are used for the top and left edge pixel po-
     sitions to place the window.

   o DLEmode
     There are many incompatible modems and modem ROM revisions
     about.  This allows you to specify certain things about how your
     FaxModem sends your data. It currently takes one numeric argument,
     (0 or 1).

       - 0
         (default) treat DLE in received data as escape (Maestro 3.1,
         ZyXEL 3.99+)

       - 1
         Received DLE is g3 data (ZyXEL Vn3.90)



3.7    Fax Transmitter Configuration


These items are used by the afaxsend program.


   o WSetup
     The transmit setup string. This optional string is sent to the modem,
     preceded by AT, when initializing the modem.  This allows you to
     add commands to set such things as speaker use and volume.

   o DialType
     Takes the parameters Pulse (default) or Tone.

   o DialPrefix
     Prefix to add before number when dialling. I use it to get an outside
     line (dials 0 first), by setting it to ATDP0,DT, which will pulse-dial
     0, then tone-dial the rest of the number.

   o DoPadding
     This should not be necessary. However, some FaxModems to not ob-
     serve the minimum scan-time restrictions set by the standard. When
     connecting to slower fax machines, this may result in missed scan-
     lines. Note that if you set this parameter, it will usually result in fax
     transmissions taking longer, as worst-case padding must be added.

   o WStatus
     Write Status.  If present, a status window will pop up when a fax
     is being transmitted, showing various details such as name, connect
     speed, receiver ID, percent of file sent. It takes two optional numeric
     parameters, which are used for the top and left edge pixel positions
     to place the window.


===========================================================================



Chapter  4         The  Workbench  Interface



Once configured, AmigaFax may be operated either from a Shell or CLI
(Command Line Interface), or from the Workbench. If you choose to op-
erate from the Workbench, you will find three main icons, `AmigaFax',
`FaxAutoAnswer' and `FaxSpool'.



4.1    AmigaFax


When you double-click on the `AmigaFax' icon, the main AmigaFax con-
trol window will open.  This allows you to edit, compile and view faxes,
queue them for transmission, review previously queued transmissions, and
so forth. There are currently six string gadgets, six pushbutton gadgets,
and one toggle gadget on the control window.
   The gadget functions are:


   o FINE/STD
     This toggle gadget allows the user to toggle between Fine (200 DPI)
     and Standard (100 DPI) vertical resolution, when creating AFax files.
     Standard resolution takes half the space, and half the time to trans-
     mit, of Fine mode, but Fine looks MUCH nicer !!

   o To:
     This is the intended recipient of the Fax.  It may be just a phone
     number, or it may be an alias. When you enter a string and press
     return, if the first character is a digit it will be treated as a number,
     otherwise it will be checked for aliases. If no aliases are found, the
     string is removed, otherwise the number of aliases found is shown.
     Refer to section A.1 for more information on aliases.

   o From:
     This is picked up from the LocalID field in your Config file, if present.
     You may override this value. It is a 20 character string sent to the
     remote Fax to identify you as the sender, usually your phone number
     for return faxes.

   o Source:
     This is the name of the fax source document, usually an AmigaFax
     command (.FCOM) file, although plain text or ILBM files may also be
     used. If you press return with an empty string, and ARP is installed,
     a requester will prompt you for a filename.

   o AFAX:
     This is the name for the actual fax file. The system will usually pick a
     name for you, but you may wish to override it. Note that the AFAX
     file name will be reserved, but not actually created, until time to send
     the Fax. You may force creation with the "Make" gadget if you wish
     to test that it is created correctly. If a document is to be faxed to
     multiple recipients, only one copy of the AFAX file will be made. It
     is automatically deleted when all recipients have been reached.

   o Tries:
     The maximum number of times to try to get a fax through to a
     specific recipient if problems are encountered, such as remote phone
     being engaged. Defaults to three.

   o Time:
     The Fax will not be sent until after this time. An empty field means
     send at any time.  Fill in as hh:mm, (24 hour format) then press
     return.  The system will interpret the time, and display the result.
     Time can only be in the future, past time is rounded up by a day.

   o New
     Create a new Fax document, and edit it using your configuration
     editor. The file pointed to by the configuration entry "Template" will
     be used as a fax pro-forma. The system will pick a default document
     name for you, which you may keep or override.

   o Edit
     Edit a Fax document, using your configuration editor. Note that you
     may set both a text and a graphic editor in your config file.

   o Make
     The system will attempt to build an AFAX file from your source
     document. This is not necessary when sending faxes, but does allow
     you to check whether the document will appear as you wish.

   o Preview
     Invokes the AFAX viewer program, so you can preview the completed
     document.

   o Send
     Your facsimile document will be queued for sending to the appropriate
     recipients. If the fax-spooler is not running, you will be asked if you
     wish to start it.

   o QCheck
     This gadget will bring up the queue check window, to monitor the
     progress of outgoing Faxes. From here it is possible to requeue Faxes
     that have exceeded their error allowance, and to remove the spool files
     for faxes that have been successfully sent, or that are still queued for
     transmission.



4.2    FaxAutoAnswer


This icon will activate the background automatic-answer facility.  If it is
already operating, you will get the choice of removing the existing applica-
tion (stopping it), or replacing it with the new version. You may wish to
replace it if you have modified the configuration file settings.
   Note that you should only activate the auto-answer system in this fash-
ion if you are not using the GETTY mode of operation, and only want to
receive facimile transmissions, not data.



4.3    FaxSpool


This icon will activate the background fax-spooler program. If it is already
operating, you will get the choice of removing the existing application (stop-
ping it), or replacing it with the new version. Note that in normal operation
the main AmigaFax program will start the spooler for you when you queue
a fax for transmission, or you will run it up automatically in your startup
sequence. You may wish to replace it if you have modified the configuration
file settings.



===========================================================================



Chapter  5         Operating  from  the  Shell



There are 11 separate executable modules included in the release.


   o afax
     Intuitionized interface for AFAX create/edit/send etc


   o newfax
     Notifies new fax received, allows print/view/delete, etc [Intuitionized
     interface]


   o afaxspl
     Fax spooler daemon, many options/features


   o mkafax
     Convert documents to AmigaFax AFAX IFF file format


   o afaxprt
     Print and AmigaFax AFAX IFF file using preferences printer


   o afaxsend
     Send an AmigaFax AFAX IFF file to a remote Fax machine


   o faa
     Receive Fax documents in auto-answer mode


   o afaxilbm
     Convert pages from an AmigaFax AFAX IFF file to ILBM format


   o viewafax
     FAX viewer


AFAX:c/afax - no command line switches at present. This brings up a win-
dow which you can use to create new Fax documents, edit the documents,
create the actual AFAX files, and send your faxes.



5.2    NEWFAX


AFAX:C/newfax faxname This program is automatically invoked by faa
when a fax is received.  It puts up a window informing you of the Fax,
with details about it (name, sender ID, number of pages), and allows you
to view, print or delete the document.



5.3    AFAXSPL


[run >nil: <nil:] afax:c/afaxspl  [-s] [-i n]


   With the -S option, the spooler will run once only, checking for any
faxes waiting to be spooled out. In this mode, it could be launched using
cron/dcron/amicron at whatever times you wish to send faxes.
   Otherwise it will run in background and check for faxes to spool at in-
tervals of every n minutes, where n is the interval in minutes from the con-
figuration file default, optionally overridden by the -i command-line switch.
You could do this perhaps every 1/2 hour, (n = 30), or even at 1 minute
intervals while testing.
   The spooler checks for files of the form FAXSPOOL:*.SPL. These are
human-readable. As calls progress, results are added to the end of the file. If
successfully sent, the file is renamed FAXSPOOL:*.OK . If unsuccessful for
more than the specified number of tries, it is renamed FAXSPOOL:*.ERR
Note that you can re-spool a .ERR file by using an editor to increase the
allowed tries, then renaming it back to .SPL



5.4    MKAFAX


mkafax <docfilename> <AFAX_filename>


   mkafax currently recognizes the IFF file types AFAX and ILBM, plain
text files, and AFAX command text files, as input.
   A plain text file will be converted to an AFAX file using default settings.
   An IFF ILBM will be converted to a single-page FAX document. Only
the first plane is converted, to convert multi-plane (eg DigiView Pics) use
another tool, such as PfiltView (AmigaTeX). May integrate later ?
   An AFAX command file uses lines starting with a dot (.)  as special
commands, similar to TROFF style text processors. The file MUST start
with .FCOM on the first line.



5.5    AmigaFax Command File Format


An AFAX command file uses lines starting with a dot (.) as special com-
mands, similar to TROFF style text processors. The file MUST start with
.FCOM on the first line.


 .FCOM
on the first line to be recognised as a command file.
.FCOM may optionally be followed by a dialstring or target alias.
(Currently unused, future compatability)


Other commands currently supported are :


 .PG     Clear out the old page and start a new one
 .LM n   Set the left margin to n characters, in the current font
 .LI n   Set the left  indentation to n pixels (default 50)
 .RI n   Set the right indentation to n pixels (default 50)
 .LJ     Left-justify text and Graphics from now on
 .RJ     Right Justify text and Graphics
 .CT     Center Text and Graphics
 .TS n   Set Tabs every n characters (default 8)
 .PL n   Set page length to n (pixel) rows (default 2292 == A4)
 .FILL   Turn on fill mode
 .NOFILL Turn off fill mode


 .VERBATIM
All text read in will be printed verbatim, until .ENDVERB


 .VERBINC filename
Include a file in verbatim mode. Still requires a .ENDVERB


 .ENDVERB
End verbatim mode

 .FONT name size
Set the font as specified. Typical use might be
.FONT topaz 11
.FONT diamond 20
.FONT cmr10 30
and so on.


 .  (dot followed by white-space) Rest of line is a comment


 .INC file
Include the named file. File may be text, ILBM, or another command
file. Type is auto-recognised. If a full path is not given to the
include file, the current directory will be searched, then the
FAXLIB: directory. Thus addresses, signatures, etc may be kept
in FAXLIB:


 .DATE Insert a line with the current date and time, using current font
and line settings.



   Any line not beginning with a . will be processed as normal text, ac-
cording to the current settings.


5.5.1   Fill Mode

In this mode, lines will be filled from input to full width (inside LR indent)
in the current font. Line filling terminates on a dot command, blank line,
or end of page. Left Margin is disabled while filling.
   See the included test.com file for examples of useage.



5.6    AFAXSEND


afaxsend [-t -d -P] <dialstring | alias> <AFAX_filename>

   eg afaxsend Jeff MyFaxFile



-D name - Use name for the device  (default serial.device)
-U num  - Use device unit num  (default 0)
-t      - Use Tone Dialing
-P      - Padding on (default)
-p      - Padding off

   Attempts to dial out, connect to the remote fax machine, and tranfer
the specified document.
   If the first character of dialstring is not a digit, and not a name alias,
the whole string will we be sent to the modem non-prefixed as a dial string.
If an alias is used, it may be a group alias, resulting in the fax being sent
to everyone in that group.



5.7    AFAXPRT


afaxprt [-pnum] <AFAX_filename>


   eg afaxprt -p2 MyFaxFile

   If the -p option is not used, all pages are printed.
   Sends the AmigaFax document to the preferences printer. It is a good
idea to set your printer for high density.  Using a dot-matrix, Halftone
Dithering, Integer Scaling, Black and White, Density 7 appears to work ok.
   Note that this has not been extensively tested with printers other than
the HPLJIII and the Star NX10.



5.8    FAA


faa [BaseName]
   Fax auto-answer. Sets up the FaxModem to auto-answer and recognise
Fax or data tranmissions. Incoming Faxes will be saved in AFAX format.
the default BaseName is FAXREC:FAX, so that incoming faxes will be
named

FAXREC:FAX0000
FAXREC:FAX0001
FAXREC:FAX0002

   etc.
   Note also that although faa recognises the difference between Fax and
Data, it currently does nothing special with data. I hope to integrate this
with the UUCP system in the future. Any other suggestion ?
   To terminate the faa program, send it a CTL_C break.  If you ran it
directly from your shell, just type control-C and wait. If you used RUN or
RUNBACK, send a break to its process number. (eg break 7 all)
   Command Line switches are:

-dn     - Set debug on, level n  (default 1)
-D name - Use name for the device  (default serial.device)
-U num  - Use device unit num  (default 0)
-a      - Immediate Answer
-G      - Run from a Getty

   The Immediate Answer switch assumes phone is ringing, configures the
modem & answers immediately. It probably makes sense to attach this to
an alias if you use it this way. eg. alias fa "faa -a"
   The Getty option specifies that faa was run from a Getty. It will not
modify the serial port parameters. It assumes that the Getty has answered
the phone, detected a Fax call, and set up the line accordingly. Faa will
connect, collect a Fax document, and return control to the Getty.


5.9    AFAXILBM


afaxilbm [-pnum] <AFAX_filename> <ILBM_filename>


eg


afaxilbm -p2 RAM:AFAXR001 FX.ILBM


   This will extract the specified page from the AFAX file to the named
ILBM file. It may then be viewed using standard ILBM viewing programs,
such as LoadImage from Fish disks 281 and 355, of programs like Deluxe-
Paint.
   If no page number is given, all pages will be extracted to separate files,
and given names of the format base.1 base.2, etc
   The default ILBM file base name is afax_ilbm


===========================================================================


Appendix  A         Configuration  Specifics



A.1     FAXLIB:Aliases


This file allows you to alias numbers to names, create fax mailing groups,
etc. Aliases may be defined in terms of other aliases.
   For example we could have:


joe: 1234596


fred: 9876123


bill: 0981234


customers: joe, fred, bill


   Lines beginning with # are treated as comments, a comma means the
alias list continues.
   The alias system is modelled closely on the one used in Matt Dillon's
UUCP package. See UUCP documentation for more details. Thanks, Matt.



A.2     FONTS


AmigaFax can use all the standard Amiga fonts. Under AmigaDOS2.0 the
ability to perform font-scaling means that you can generate quite impressive
documents very easily. The AmigaFax distribution also includes a selection
of larger sized fonts from the Computer Modern series, which again allows
very high quality faxes to be produced.

   These include the fonts cmr10, cmbx10, cmssbx10 and cmtt10 in sizes
from 29 to 103.



===========================================================================



Appendix  B       Integration  with  other software


B.1     UUCP


AmigaFax was designed from the beginning to integrate with UUCP, in
particular with Matt Dillon's AmigaUUCP1.15D. Using the modified Getty
program provided, a Fax call will be recognised, and the Fax auto-answer
program will be called to handle it. Normal logins and UUCP connections
should function as usual.
   Other facilities, such as network fax-server capability, can be provided
to enhance the basic AmigaFax system.



B.2     TEX


We have written a dvifax program, which will take a standard TEX .dvi
file, and transform it to an AmigaFax file, with superb quality output.
This is not yet provided with the distribution, but is available on request
to users of the AmigaTEX package, by Radical Eye Software. We hope to
fully integrate this capability in the future.



B.3     PostScript


PostScript support is not yet in place, but it is on the list. Priority given
depends on demand.


B.4     Printer Driver


An AmigaFax printer-driver is also high on the list of things to do. This
will allow any program that normally produces output using the standard
Amiga Preferences printer to produce AmigaFax files as output.



B.5     BBS Systems


There are scripts provided with the registered version of AmigaFax to al-
low use of the software as a bulletin-board system.  These make use of
the excellent VLT communications package, by Willy Langeveld, and the
fifo.device by Matt Dillon, both available on Fish disks or via ftp for
those with network access.
   Writers of other BBS packages are also incorporating support for Ami-
gaFax in their products, for example the Welmat system, by Russell McOr-
mond.


===========================================================================



Appendix  C             FaxModem  Specifics



C.1     ZyXEL U-1496


The ZyXEL U-1496 provides data rates to v32bis and higher, with v42bis er-
ror correction and compression. It is capable of facsimile data rates greater
than 9600bps, currently up to 14400bps. ZeroOne makes ROM upgrades
available through their BBS, with frequent upgrades. They are very helpful
and responsive to customer requests.
   The latest ROM version we have used is V4.00F.
   With this ROM, it is possible to lock the DCE/DTE data rate for fax
with the sequence ATS38=8S18=n, where n is the DTE speed as per the S20
register list, eg 2 for 38.4Kbps, 3 for 19.2Kbps.
   A few more tips on configuration, with getty. In my standard startup
line I have been setting the page-length to A4, as my printer is A4, which
is the standard here. However, it appears that my fax (and most others)
when appending their header/footer lines, force the page past A4. This has
not been a problem in the past, but now the U1496 must be obeying the
page-length setting, and forces out an extra very short page for each A4
page. This causes handshake problems, etc.
   So for now, the best solution seems to be setting up for unlimited page-
length. The AmigaFax software has no problem with this, but your printer
may, if single-sheet type.
   Another option allows fax data-rates greater than 9600. Not many fax
machines support this yet, but we may as well use it, just in case.


The +FDCC options are as follows:


+FDCC=1,5,0,2

      ^ ^ ^ ^
      | | | +- Page Length: 0=A4(297mm) 1=B4(364mm) 2=unlimited
      | | +--- Page Width : 0=1728 Pixels in 215mm (Current AmigaFax Limit)
      | +----- Bit Rate   : 0=2400 1=4800 2=7200 3=9600 4=12000 5=14400
      +--------Vert. Res. : 0=Normal(98 lpi) 1=Fine(196 lpi)



   Other options cover compression format, error correction mode, binary
file transfer, and scan time.  These are not yet supported, probably not
until the standards are finalized.
   The line I use to start up Getty is:


run >nil: <nil: Getty -Mh -B19200 -F2 AT&C1&D2+FDCC=1,5,0,2


   As I have the FaxModem running from a AS2232 multiport serial card,
with a maximum baud rate of 19200, I must limit the DCE/DTE rate to
that.



C.2     Maestro 9600XR


This is a low-cost Australian made 2400bps data, 9600bps send/receive fax
modem, based on the Exar chipset. It does not allow DCE/DTE rate lock-
ing, and as of the latest version ROMs we have, still has occasional problems
in correctly synchronising to incoming fax data, resulting in `garbage data'
faxes, and missing lines from the top of pages. These problems may have
been fixed in later ROM versions, but we have not been notified of any up-
grades. The modem software does not appear to observe specified line-scan
delays, which may result in missing lines when transmitting to older/slower
fax machines.
   A typical Getty startup-line for this modem is:

run >nil: <nil: Getty -Mh -B2400 -F AT&C1&D2+FDCC=1,3
