MTADOCEN.DOC

234.5 KB f677701b86c23230…
╔══════════════════════════════            ┌─────────────────┐
║ MTA       Make Them Anything             │    D.I.S.P.     │────┐
║           Convert Compressed             │                 │░░░░│
╟──────────────────────────────            │                 │░░░░│
║ (c) 1990  Robert W.van Hoeven            │ Dutch           │░░░░│
╟──────────────────────────────            │   Independent   │░░░░│
║ Release : 14.10                          │     ShareWare   │░░░░│
║ Rel.Date: 1th December 1990              │       Programmer│░░░░│
╠══════════════════════════════            └─────────────────┘░░░░│
║                                          |    │░░░░░░░░░░░░░░░░░│
║ │ MTA.EXE / MTM.EXE                      |    └─────────────────┘
║ │ MTL.EXE / MTU.EXE                      |       ┌─────┐        |
║ │ MTA.CTL / MTA.CHx                      |       │░░░░░│        |
║ │                                        |       └──┬──┘        |
║ │ Lines starting with '|' are            |     ┌────┴────┐      |
║ │ changes to release 14.06 !!            ------││││││ ═══│-------
║                                                └─────────┘
╠═══════════════════════════════
║ Address: Robert W. van Hoeven
║          PO. Box 131
║          1170 AC  Badhoevedorp
║          Nederland / Holland
╚═══════════════════════════════

 ┌───────┬─────────────────────────────────────────────────────────────┐
 │   0   │ Table of contents                                           │
 └───────┴─────────────────────────────────────────────────────────────┘

 1 ---- General information
  1.1   Copyrights and License Agreement
  1.2   Newer versions and contacting the author

 2 ---- Package description and requirements
  2.1   Preface
  2.2   Requirements
  2.3   Included files
  2.4   History
  2.5   Introduction & specs

 3 ---- Installation description
  3.1   Installation
  3.2   Remarks on ARC
  3.3   Remarks on PAK
  3.4   Remarks on ZIP
  3.5   Remarks on PKPAK/PKUNPAK
  3.6   Remarks on DWC
  3.7   Remarks on ZOO
  3.8   Remarks on LHarc
  3.9   Remarks on LArc
  3.10  Remarks on MD
  3.11  Remarks on ARJ
  3.12  Remarks on HYPER
  3.13  MTA.CTL
  3.14  Customized compression
  3.15  Recursive support
  3.16  Compression file-in-compression file
  3.17  MTA Touching System
  3.18  Optimal sizes
  3.19  Diskette option
  3.20  Virus detection
  3.21  Screen control
  3.22  KeyBoard control
  3.23  Swapping
  3.24  Encryption and Authenticity Verification
  3.25  Mice and other trouble
  3.26  ITS
  3.27  MTA and 4Dos <tm>
  3.28  Substituted drive
  3.29  Running multiple copies of MTA at the same time

 4 ---- Runtime information
  4.1   Command-line switches
  4.2   Aborting MTA
  4.3   LOG file
  4.4   The (de)compressors
  4.5   Executing MTA
  4.6   Errors
  4.7   Specials

 5 ---- Version information and credits
  5.1   The BETA-team
  5.2   Credits
  5.3   Version history
  5.4   Copyright, Trademarks

 ┌───────┬─────────────────────────────────────────────────────────────┐
 │   1   │ General information                                         │
 └───────┴─────────────────────────────────────────────────────────────┘

 1.1 Copyrights and License Agreement
 ────────────────────────────────────

 - Users of the MTA-package must accept this disclaimer of warranty:

 - The MTA-package is supplied as is.  The author disclaims all
   warranties, expressed or implied, including, without limitation,
   the warranties of merchantability and of fitness for any purpose.
   The author assumes no liability for damages, direct or consequential,
   which may result from the use of the MTA-package;

 - The MTA-package is a "shareware program" and is provided at no charge
   to the user for evaluation.  Feel free to share it with your friends,
   but please do not give it away altered or as part of another system.
   The essence of "user-supported" software is to provide personal
   computer users with quality software without high prices, and yet to
   provide incentive for programmers to continue to develop new products.

 - If you find this program useful and find that you are using and
   continue the use of the MTA-package after a 30 days trial period,
   you must register the MTA-package as described below;

 - Non-commercial can get a license for the usage up to this release
   of the MTA-package for a small amount of money. Look into the
   details in REGISTER.MTA. Previous registered users will receive
   a big reduction to upgrade to the newer versions. These users
   should look into the details in UPGRADE.MTA.
   For Non-commercial users there is a POSSIBILITY to submit to one
   of the special contracts as explained in the file REGISTER.MTA.

 - Commercial usage of MTA will cost somewhat more. Also, a so called
   'closed' Bulletin Board System (a system where the user must pay
   direct to the SysOp to get full access) is has to pay more than
   a Non-commercial user. Both types of users should look into the
   details in REGISTER.MTA;

 - The registration of the MTA-package will license ONE copy for use on
   any computer at any one time, as long as the usage confirms to the
   type of registration you have done (so NON-commercial usage when you
   have a non-commercial license);

 - Anyone distributing the MTA-package for any kind of remuneration must
   first contact the Author at the address above for authorization.

 - You are encouraged to pass a copy of the MTA-package along to your
   friends for evaluation.  Please encourage them to register their
   copy if they find that they can use it;

 - When you are a non-commercial user of MTA and you are depending
   on the software, you can consider to pay a small amount of
   money for service. The terms for this option can be found in
   the file REGISTER.MTA.

 - Support on MTA, when used in a non-commercial environment, is
   available even when you don't enter a service contract, but the
   paid users (both commercial users and non-commercial users with
   a service contract) have higher priority;

 - Problems and suggestions can be entered in the FidoNet <tm> Echomail
   conference <tm> called DISP (international). Entering this echo does
   not exclude you of the duty to register the MTA-package, though users
   who evaluate the product can enter the echo for questions;

 - The MTA-package, all programs, the documentation and support-files is
   copyrighted 1990 by Robert W. van Hoeven, PO. Box 131, Badhoevedorp
   1170AC, Holland. All rights are reserved. You may copy this package
   for backup purposes. Also you may copy and share unmodified copies of
   the whole package, providing that the copyright notice is reproduced
   and included on all copies.
   Excluded from this statement are the support-files written by other
   authors. Please refer to the documentation of these programs for
   copyrights and license agreements;

 - Comments, suggestions and bug reports are welcome and will be answered
   as soon I have the time to do so. You can send me a letter of leave a
   NetMail <tm> message named to Rob Van.hoeven (mind the point) on node
   2:512/100 (RA Support, Monster, Holland, SysOp is Reinier de Groot).
   When you want to send me normal mail, address it to:
   Robert W. van Hoeven, PO. Box 131, 1171 AC Badhoevedorp, Holland;
   Also you can enter messages in the FidoNet <tm> DISP Echomail <tm>
   area;


 1.2 Newer versions and contacting the author
 ────────────────────────────────────────────────────────────────────────
│The newest version of MTA is always available at the DISP-HQ on node
│2:512/100. MTA is also distributed thru a number of DISP support nodes.
│You can obtain MTA in four different ways:
│
│- Logging on at DISP-HQ or a support node
│
│  All zones :  2:512/100 (Multiline Paradise NL  )       DISP-HQ
│                         (Sysop: Reinier de Groot)
│
│  For zone 1:  1:203/988 (Amber Shadow           )       Support & beta
│                         (Sysop: Dave Overton    )
│
│  For zone 2:  2:280/216 (Sirex              NL  )       Support & beta
│                         (Sysop: Gerry Ulrich    )
│               2:242/4   (GOLEM    Meerbusch FGR )       Support & beta
│                         (Sysop: Hanstheo Wolf   )
│               2:244/12  (FunBoard Felbert   FGR )       Support & beta
│                         (Sysop: Dirk Astrath    )
│
│  The BBS's above will always have the most current version of MTA
│  available. Also, in some cases, it is possible to request the
│  newest MTA with a standard file-request (ask the SysOp in question).
│  On 2:512/100 you can use MTANEW as magical name to Freq. the newest
│  version.
│  The actual DISP-HQ is point 2:512/100.5, but this is a closed system
│  and can not be accessed from the 'outside'). You CAN address netmail
│  to this point though !
│
│- Logging on to a SDS node
│  MTA is distributed thru SDS/SDN, but only big minors (x.10, x.20 and
│  so on) and majors (14.01, 15.01 and so on) are submitted to the SDS
│  distribution point in Holland;

 - Logging on to your own BBS;
   Chances are, that you will find an older version (international
   users) because it will take some time for the new version to
   'bleed' thru the net;

 - Update service;
   You can enter a special update service (read REGISTER.MTA).


 If you think you have found problems in MTA, or in any other case,
 you wish to contact the author, you can send me:

 - A letter to the address you can find in the header of this file;
 - A NetMail <tm> message to Rob Van.hoeven (please mind the point
│  between Van and Hoeven) at 2:512/100 or (better) 2:512/100.5;
 - A Message in the FidoNet <tm> DISP echomail <tm> area;

 ┌───────┬─────────────────────────────────────────────────────────────┐
 │   2   │ Package description and requirements                        │
 └───────┴─────────────────────────────────────────────────────────────┘

 2.1 Preface
 ────────────────────────────────────────────────────────────────────────
 Please notice the following:

 - MTA is a ShareWare product in every right way, this means this
   software is not crippled in any way;

 - This program only works when you have the right compressors available
   on your PC. It does not do any compression of it's own ! The program
   only interprets all the supported formats. I can not think of any
   problem with that, but if any of the authors/companies of the
   supported products has problems with this program, I will remove
   that piece of coding at once (although I could not find any quote
   like 'You may NOT call our program in program's of your own' in any
   of the doc's);


 2.2 Requirements
 ────────────────────────────────────────────────────────────────────────
 MTA requires:      - PC XT/AT/386
                    - At least 390K free memory
                    - DOS 3.xx or higher (4.xx not tested)
                      (tested with 4Dos 3.01a, should work with lower
                      versions);
                    - DOS 2.xx ONLY when registered. In this case, a
                      customized version will be created;
                    - HDU optional
                    - Mouse optional


 2.3 Included files
 ────────────────────────────────────────────────────────────────────────
 The package includes : MTA.EXE         The main program
                        MTA.CH1         The chained tag-menu module
                        MTA.CH2         The chained help-menu module
                        MTM.EXE         The maintenance program
                        MTU.EXE         The special VIRSCAN caller
                        MTL.EXE         The list program
                        MTA_DIR.EXE     The directory utility
                        MTA_CRC.EXE     The VALIDATE caller
                        MTA__BAT.EXE    A SFX with examples of batches
                        MTA__UTL.EXE    A SFX with additional utilities

 The file MTR.EXE, included in previous versions, is now obsolete. These
 functions are now implemented in MTM.EXE.


 2.4 History
 ────────────────────────────────────────────────────────────────────────
 MTA's history is now around a 1 1/2 years old. MTA was written for
 some friends who had 'the conversion blues'. In somewhat less than a
 year, and with the great support of many users, MTA is grown to a
 'full blown' conversion program.

 If you are searching for a 'quick and dirty' conversion from only
 one type of archive to another one, you CAN use this program, but
 using a small customized program should be faster.....

 If you think you are going to convert many types of archives and
 even convert your own once in a while, MTA will prove to be a
 handy program.

 If you own a Bulletin Board System, you will find out that MTA can
 be used in 'full blown action', both manually or unattended (inside
 an event). Links to other software I have developed (QF-series) will
 be included soon;

 I think, there will be lots of other programs that can do the job,
 and, of course, it's up to you which program you will use, but if
 you want to have full control over almost EVERY action during the
 conversion from A to B, MTA will not disappoint you in any way.

 MTA is hopefully the last of the conversion tools anyone needs, although
 I agree with people who say 'Do I need a canon to shoot a fly ?'. In
 any case, hereby I provide you all with a real conversion canon. Please
 shoot the right things with it !


 2.5 Introduction & specs
 ────────────────────────────────────────────────────────────────────────
 Those who took the time to read the history (and I know of at least
 one, beside myself who hasn't done this) will have a general picture
 of MTA's functions. For those who didn't, a brief review and some
 general specs:

 MTA can:

 - Convert most of the compressed files to almost any other format,
   provided, you have the original (de)compression program(s);
│- Convert SFX (self extraction) files from ARC/PAK/ZIP/LHarc,LArc and
│  ARJ systems to normal compression files of any kind;
 - Conversion can be done on individual files, whole or partial
   directories (not recursive) and whole or partial diskettes (only
   root) by providing a valid file-mask to MTA;
 - When converting, MTA keeps (optional) a log-file (text-file) with
   the result of its actions. MTA appends to an existing log-file or
   creates one the first time;
 - Most of the important compression options can be configured with
   a control-file (MTA.CTL);
 - When converting whole diskettes, MTA can hold back those files that
   won't fit on this diskette AFTER the conversion. Later, MTA can spool
   those files to diskettes with more free space;
 - When converting one (or more) files, MTA can move them to an alternate
   directory;
 - When converting files, MTA converts compression files INSIDE this
   files to the same compression system, while keeping up almost every
   function as you have for the main file (some of the other programs
   use a more 'slick' way to deal with this, but can not give you all
   the functions when converting nested archives);
│- MTA can add comment-files to files (nice banners in the ZIP for
│  Bulletin Boards), currently for ZIP, ZOO, DWC and ARJ;
 - MTA can carry over the ARCHIVE comment (not (yet) the file comments)
   in three different ways;
 - MTA can run unattended (nice for BBS's);
│- Depending on the TARGET format, MTA can preserve directories, as
│  supported by ZOO, ZIP ,ARJ and LHarc (recursive support);
 - You can configure your own compressor (if you have one), or any new
   type of compressor as a user-implemented feature;
 - Prepared to run a customized compression/decompression program;
 - The log-file can be analyzed with the support-program MTL.EXE. This
   program is also useful when you want to 'compress' your log-file;
 - Call user-EXIT when converting full diskettes;
 - Call user-EXIT after any conversion;
 - Call user-EXIT between conversion;
 - Call EXIT before the real start and end of MTA's execution. This
   could be handy for those users who use a cache device;
 - Run unattended in a BBS configuration while changing FILES.BBS
   to reflect the new situation;
 - Run unattended in a BBS configuration and only convert the new
   files;
 - Can optimize an archive to the smallest type;
 - Scan archives for viruses while converting them with McAfee's
   SCAN.EXE <tm>;
│- Scan archives for viruses while converting them with TBScan <tm>;
 - Working on multiple directories in one run;
 - RBBS compatible;
 - Create CRC-values with a CRC program and add them in the archives;
 - Leave ZIP AV'ed programs as they are (keeping the original AV)
   while MTA is still able to delete some Sysop-added files and to
   include some new files and comments;
 - Fully mouse-aware (see chapter on mice);
 - Fully ITS (1.06 and up) aware (see chapter on ITS);
 - 4Dos <tm> aware;
 - Full recursive support;
 - EGA/VGA aware;

 For all its functions MTA 'leans' heavily on it's own control-file.
 Most of the fixed options can be toggled with invocation switches.

 ┌───────┬─────────────────────────────────────────────────────────────┐
 │   3   │ Installation description                                    │
 └───────┴─────────────────────────────────────────────────────────────┘

 3.1 Installation
 ────────────────────────────────────────────────────────────────────────
 People who think that installing MTA is easy should read the specs
 again. With such a number of options at hand, installation will be
 something more than easy.

 People who (still) think that installing MTA is difficult are wrong.
 When you take the time to read every possible option while creating
 the control-file at the same moment, you will see that everything
 is not that difficult at all.

 If you still have problems, you could enter a message in the FidoNet
 DISP Echomail area. Also consider paying a small amount of money and
 support is very near ! Also a full-screen installation program to
 setup a customized MTA.CTL is available, but only for registered
 users (look into REGISTER.MTA).

 Most users will have a hard-disk. Owners of a diskette oriented PC can
 use MTA (provided you have a second drive). Installation however is
 described for hard-disk owners:

 - Place MTA.EXE and MTL.EXE in some directory in the DOS PATH. All
   additional batch-files (if any) for the various exits should also
   be present in the DOS PATH. Place MTA.CH1 and MTA.CH2 in the same
   directory as MTA.EXE (this is mandatory !!).
   MTA.EXE can be renamed (DOS 3.xx passes the (new) program-name to
   the program itself, so when MTA must swap, it knows how to call
   itself, even when you have renamed the file. The MTA.CHx files
   CAN NOT be renamed and must be in the same directory as MTA.EXE
   (or its renamed alias);

 - Create a MTA.CTL file in the same directory (see instructions);

 - If your MTA.CTL is not going to be somewhere inside the DOS-path
   and you will convert nested arc-in-arc files, it is advised to
   include a environment variable MTA, set to the path containing
   both MTA.EXE, MTA.CHx and MTA.CTL. The format is 'SET MTA=path';

 - Take special care with memory requirements (see description of
   MTA.CTL's FreeMemory option);

 - Change to your trashcan directory (if one) and do a dummy-run. You
   can supply a 'non existing' file mask. MTA checks the MTA.CTL (please
   correct the errors) and creates a log-file (optional);

 That's all there is to, except for the real freaks. BBS owners who plan
 to use MTA to convert any incoming file to their own compression
 system are not ready yet.


 3.2 Remarks on ARC
 ────────────────────────────────────────────────────────────────────────
 MTA supports : All ARC versions up to 6.02

 There are no special tricks concerning ARC. When destination is ARC,
 FULL recursive support is available if you use the SubstDrive option
 in MTA.CTL, otherwise, no recursive support is available, due to the
 nature of ARC's recursive support.

 MTA is NOT able to detect incoming encrypted ARC-files. There is no
 indication in the ARC whatsoever that an ARC-file is encrypted. Please
 be careful ! MTA IS able to unARC encrypted ARC-files when you supply
 the correct switches to MTA;


 3.3 Remarks on PAK
 ────────────────────────────────────────────────────────────────────────
│MTA supports : All PAK versions up to 2.51

 There are a few things to keep in mind when using a PAK version. The
 oldest version (also called GSARC) had some trouble with errorlevels.
 If you are still using this version, insert PAKVersion 0 in MTA.CTL.

 If you use PAK 1.5 to PAK 1.61, everything will be fine with this
 version of MTA.

 There are some special tricks concerning PAK. When destination is PAK,
 FULL recursive support is available if you use the SubstDrive option
 in MTA.CTL, otherwise, no recursive support is available, due to the
 nature of PAK's recursive support.

 When adding comments to the PAK file (AutoComment option), up to
 64000 bytes are allowed, although this seems to be more than PAK
 can support.

 MTA is NOT able to detect incoming encrypted PAK-files. There is no
 indication in the PAK whatsoever that a PAK-file is encrypted. Please
 be careful ! MTA IS able to unPAK encrypted PAK-files when you supply
 the correct switches to MTA. The Security Envelope is not processed
 by MTA (only ZIP's Authenticity Verification).

 NoGate Consulting have released a PAK 2.5x with ZIP-support inside.
 MTA is not able to use PAK as a substitution for PKWare's ZIP. I
 don't know if this support will give the same problems with PAK and
 ZIP as we have seen with PKWare and S.E.A. but besides that, there are
 some major problems (?) with PAK and ZIP-files with directories in-
 side. I have not got PAK's /I and /PATH options working with a ZIP
 that contained directories. Use the normal PKZIP/PKUNZIP to convert
 ZIP's. If anyone is interested in using PAK as a substitute for ZIP
 and there are no copyright problems with PAK (using ZIP), I will con-
 sider to implement this feature.


 3.4 Remarks on ZIP
 ────────────────────────────────────────────────────────────────────────
 MTA supports : All ZIP versions up to 1.10

 When using ZIP files (as destination), you must remember to set the
 correct compression switches in the ZIPCompression option in MTA.CTL.
 You can not (of course) use a switch that is not supported with your
 current version of ZIP. So if you use PKZ 0.92, you can not code -es
 in the ZIPCompression option.

 When adding comments to the ZIP file (AutoComment option), up to
 64000 bytes are allowed. I have had troubles with the 0.92 evaluation
 version of PK(UN)ZIP, but versions 1.01 to 1.10 seem to work ok.

 MTA is able to detect and process both encrypted ZIP-files and
 ZIP-files with Authenticity Verification set to ON. MTA will skip
 encrypted ZIP-files when no password is supplied to MTA.

 Users have pointed out that MTA uses a way to add comments to the
 ZIP-files (rerouting of standard devices) that can cause incomplete
 comments in the ZIP. This is true (the statement that rerouting
 like PKZIP -z TEST <COMMENT.FIL could cause trouble) but not true
 for MTA. MTA only uses this kind of operations with the CarryComment
 option. In THAT case, MTA will place a CR-LF combination at the end
 of the comment itself and no harm is done. For normal descriptions
 in ZIP's (AutoComment option), MTA uses (and always used) its own
 routines.


 3.5 Remarks on PKPAK/PKUNPAK
 ────────────────────────────────────────────────────────────────────────
 MTA supports : All PKPAK/UNPAK versions up to 3.61

 There is nothing special in this support. To go along with S.E.A.,
 PKPAK/PKUNPAK format is not supported as destination, nor are the
 (archive) comments inside a PKware created ARC-file;

 MTA is NOT able to detect incoming encrypted PKPAK-files. There is no
 indication in the ARC whatsoever that a PKPAK-file is encrypted. Please
 be careful ! MTA IS able to unPAK encrypted PKPAK-files when you supply
 the correct switches to MTA.


 3.6 Remarks on DWC
 ────────────────────────────────────────────────────────────────────────
 MTA supports : DWC version 5.10A

 There is nothing special in this support. For included paths, the
 same goes as for PAK 2.0 (no support). You can supply an additional
 parameter to DWC by means of the DWCCompression option. You can
 select to compress on speed or size. The little fixes and changes in
 V 5.10 do not change the way MTA works along with DWC.

 There are some special tricks concerning DWC. When destination is DWC,
 FULL recursive support is available if you use the SubstDrive option
 in MTA.CTL, otherwise, no recursive support is available, due to the
 nature of DWC's recursive support.

 MTA is able to detect and process DWC files that are encrypted. MTA
 will skip an encrypted DWC-file when no password is supplied to MTA.


 3.7 Remarks on ZOO
 ────────────────────────────────────────────────────────────────────────
 MTA supports : ZOO version 2.01

 There is nothing special in this support. Full recursive and relative
 path support is available. MTA also supports ZOO 2.01 'extended'.

 When adding comments to the ZOO file (AutoComment option), up to
 64000 bytes are allowed, although this seems to be more than ZOO
 can support.


 3.8 Remarks on LHarc
 ────────────────────────────────────────────────────────────────────────
 MTA supports : All LHarc versions up to 1.13d

 MTA does not support the invalid extension ICE unless you have selected
 to support SFX-files.

 There are some special tricks concerning LZH. When using LZH (in/out),
 FULL recursive support is available if you use the SubstDrive option
 in MTA.CTL, otherwise, no recursive support is available, due to the
 nature of LZH's recursive support.


 3.9 Remarks on LArc
 ────────────────────────────────────────────────────────────────────────
 MTA supports : LArc version 3.33

 MTA supports LArc as it can. There is no documentation available to
 me, so everything comes from 'the dark'.

 There are some special tricks concerning LZS. When using LZS (in/out),
 FULL recursive support is available if you use the SubstDrive option
 in MTA.CTL, otherwise, no recursive support is available, due to the
 nature of LZS's recursive support.


 3.10 Remarks on MD
 ────────────────────────────────────────────────────────────────────────
 MTA supports : MDCD version 1.00

 MTA supports MDCD. The not so commonly used MDCD program can be used
 both as source and as target. Although the sources are available, MTA
 will use the stand-alone program MDCD.EXE for (de)compression.


│3.11 Remarks on ARJ
│────────────────────────────────────────────────────────────────────────
│MTA supports : ARJ  version 0.15 (Beta version)
│
│MTA did 'hit' the 'ARJ boat' from release 0.13 (this was an alpha
│release). Because of the fact that I am very impressed with Robert
│Jung's new archiver, I have inserted a full functional implementation
│of the ARJ protocol inside MTA.
│
│While ARJ 0.13/0/13a and 0.14 were still alpha tests, users could
│test the archiver on a large basis, and I know at least 3 large
│(300Mb+) BBS's who converted one or more areas to ARJ with the help
│of MTA. ARJ 0.15 is still a beta, but MTA now contains a full and
│'rock-steady' support for this protocol. If the command-line options
│in ARJ (more or less) remain the same, MTA will also work with newer
│versions.
│
│Like with ZIP (older versions) MTA has only one drawback while working
│with ARJ. When using optimize (/OOA option) with MTA, MTA will only
│test ONE (the one you defined on the ARJCompression (/CJ) option, or
│the default) compression method. MTA could test for the most optimal
│compression (-m1 to -m4) but this would take hours when several files
│were selected. In general, the default will give you the best average
│compression.
│
│MTA implements the 0.13, 0.14 and 0.15 structures of ARJ files. So
│working with one of these versions should not cause any trouble.
│MTA uses the 'old' 'a'/'-d' combination and not the 'm' (move) com-
│bination that is implemented in ARJ 0.15. When a production version
│of ARJ is released in general, MTA will be changed to use 'm' and
│not the 'a'/'-d' combination.
│
│MTA does NOT support the usage of extended files (multi-volume
│ARJ-files) but there will be no need to use MTA on such files at
│all. Archive comments can only be used with ARJ 0.14 and up. All
│comment-related MTA-functions will work on ARJ files.
│
│Up from MTA 14.10 (and ARJ 0.15 for that matter), MTA will also be
│able to convert ARJ-SFX (self extracting archive) files.
│
│Also MTM, MTL and MTZ are changed to reflect the results of the change
│from or to ARJ and to do maintenance on these files.
│
│
│3.12 Remarks on HYPER
│────────────────────────────────────────────────────────────────────────
│MTA supports : HYPER version 25 (and up)
│
│This nice little compression program from Germany, is also supported
│in MTA. Testing (to implement the protocol in MTA) gave results that
│are in the same order as LHARC.
│
│MTA support the recursive features in HYPER. Any commenting in a HYP
│file is impossible (yet) and thus not supported by MTA. All comment
│related features will do nothing on a HYP file.
│
│MTA will support HYPER SFX (self extracting archive) files.
│
│Also MTM, MTL and MTZ are changed to reflect the results of the change
│from or to ARJ and to do maintenance on these files.


 3.13 MTA.CTL
 ────────────────────────────────────────────────────────────────────────
 The MTA.CTL file is a normal text-file (ASCII-file). You can create
 this file with program's like EDLIN or any other ASCII-editor.
 MTA.CTL must be in the DOS-path (DOS 2.xx) or in the same directory
 as MTA.EXE (DOS 3.xx).

 MTA.CTL contains many options. Some of them optional, some of them not.
 The general format for the MTA.CTL file is:

 Option {parameter} {parameter} ..... {parameter}

 There are NO restrictions to the position you start the command, nor
 the starting position of the (optional) parameters, but the 'option'
 and (if present) the 'parameters' have to be separated with one or
 more spaces. You can make any mixture of upper and lower case !

 Some of the parameters in the MTA.CTL file can be overruled with
 command-line switches. A generalized example of MTA.CTL is included
 in the release-file. It contains ALL options available in this release.

 MTA.CTL can (or must) contain the following statements:

 ┌─────────────────────────────────────────────────────────────────────┐
 │ RegistrationName [name]                                             │
 └─────────────────────────────────────────────────────────────────────┘
 Usage : This option has only a meaning when you received a key after
         you registered MTA. You can fill in your name (up to 35 bytes)
         right now, but MTA will do nothing with it until you received
         the proper code to be installed in the RegistrationKey option.

 Relate: RegistrationKey
 Dest. : All


 ┌─────────────────────────────────────────────────────────────────────┐
 │ RegistrationKey [key]                                               │
 └─────────────────────────────────────────────────────────────────────┘
 Usage : This option is only valid with a registered package. If you
         register the MTA-package, you will receive a code to add to
         the RegistrationKey option. Until then, only a zero is valid
         as a key. Using invalid key's will abort MTA before any work
         is done.

 Relate: RegistrationName
 Dest. : All


 ┌─────────────────────────────────────────────────────────────────────┐
 │ IncludeCtl [filename]                                               │
 └─────────────────────────────────────────────────────────────────────┘
 Usage : This parameter is optional. In MTA.CTL you can include one
         (or several) other CTL-files. This comes in handy when you
         want to separate you 'normal' run-time options and the
         'special' options you change much.
         MTA can handle nested IncludeCTL statements. So you can
         include a 'IncludeCTL MTA.001' in your MTA.CTL and again
         you can include a 'IncludeCTL MTA.002' in your MTA.001.
         The total number of IncludeCTL options (nested and in the
         primary file) can be up to 16.

 Relate: None
 Dest. : All


 ┌─────────────────────────────────────────────────────────────────────┐
 │ ARCPath     [path] {opt}                                            │
 │ PAKPath     [path] {opt}                                            │
 │ ZOOPath     [path] {opt}                                            │
 │ DWCPath     [path] {opt}                                            │
 │ LZHPath     [path] {opt}                                            │
 │ LZSPath     [path] {opt}                                            │
 │ PKZIPPath   [path] {opt}                                            │
 │ MDPath      [path] {opt}                                            │
 │ PKUNZIPPath [path]                                                  │
 │ PKUNPAKPath [path]                                                  │
 │ ARJPath     [path] {opt}                                            │
││ HYPERPath   [path] {opt}                                            │
 └─────────────────────────────────────────────────────────────────────┘
 Usage : These options are optional. MTA will do an automatic search
         for all (de)compression programs. There are some cases where
         you want to instruct MTA where and what to find yourself. These
         cases are:
         - Your HDU is a bit slow, the searches for all the needed
           (de)compression program's takes too long;
         - You have renamed some (or all) the (de)compression program(s)
           to your own name(s). MTA will never find these program(s);
         You can include some (or all) of the above options to instruct
         MTA where AND what to find. The supplied options overrule the
         automatic search MTA conducts.

         Maybe you have noticed, but there is NO option for PKPAK. MTA
         can only create a destination file of type ARC with the
         program ARC.EXE and NOT with PKARC.EXE/PKARC.COM/PKPAK.EXE !
         Also you can not supply PKARC.EXE as a replacement of ARC
         because MTA uses the ARC.EXE syntax for compression and
         decompression.

         Please notice that you must supply the correct programs to the
         above options. If you replace one of the program's with another
         one, strange things (errors) can occur and data could corrupt.
         Supply the following programs to the options:

         ARCPath             ARC.EXE     or its alias
         PAKPath             PAK.EXE     or its alias
         ZOOPath             ZOO.EXE     or its alias
         DWCPath             DWC.EXE     or its alias
         LZHPath             LHARC.EXE   or its alias
         LZSPath             LARC.EXE    or its alias
         PKZIPPath           PKZIP.EXE   or its alias
         MDPath              MDCD.EXE    or its alias
         PKUNZIPPath         PKUNZIP.EXE or its alias
         PKUNPAKPath         PKUNPAK.EXE or its alias
                          or PKXARC.COM  or its alias
                          or PKXARC.EXE  or its alias
         ARJPath             ARJ.EXE     or its alias
│        HYPERPath           HYPER.EXE   or its alias

         Where 'alias' is the name you renamed the original file to.
         Please supply the complete drive, path and filename to any
         of the options !

         If you don't own one or more of the (de)compression programs,
         leave out the related option, otherwise MTA will abort !

         If you supply a 'Y' as the third parameter, you let MTA know
         that this compressor can be used for the optimize test (see
         into the chapter Optimal sizes). If you leave the option out,
         this compressor will not be used. This is also the case when
         you let MTA search for itself for the compressors !!!

 Relate: None
 Dest. : All


 ┌─────────────────────────────────────────────────────────────────────┐
 │ PAKVersion xxx                                                      │
 └─────────────────────────────────────────────────────────────────────┘
 Usage : This parameter is optional. If you don't use this option, PAK
         version 2.00 (2.10) is assumed. This option should only be
         included in one (or both) of the following cases:
         - You would like to see the correct version in the MTA screen;
         - You work with the old GSArc program. In THIS special case
           (running GSArc) you must include a '0' as version-number;
         The number is the full version number without any point, so
         version 2.00 must be entered as 200, 2.10 as 210 and so on;

 Relate: None
 Dest. : PAK


 ┌─────────────────────────────────────────────────────────────────────┐
 │ ZIPVersion xxx                                                      │
 └─────────────────────────────────────────────────────────────────────┘
 Usage : This parameter is optional. If you don't use this option, ZIP
         version 1.10 is assumed.
         You MUST include this option when you are running with a lower
         version of ZIP. MTA will so some special 1.10-alike features,
         also 0.9x version have special options that MTA will use !!!!!
         The number is the full version number without any point, so
         version 0.92 must be entered as 092 (or 92), 1.10 as 110 and
         so on;

 Relate: None
 Dest. : ZIP


 ┌─────────────────────────────────────────────────────────────────────┐
 │ ZIPCompression [options]                                            │
 └─────────────────────────────────────────────────────────────────────┘
 Usage : ZIPCompression is used to let MTA tell PKZIP which type of
         compression to use. Depending on the version of PKWare's
         ZIP-programs, these options can vary.
         With [options] you code the current ZIP compression options
         you would like to use.
         PKZ 0.90 : In general use 'ZIPCompression -eb4 -ea4'
         PKZ 0.92 : In general use 'ZIPCompression -ex'
         PKZ 1.00 : In general use 'ZIPCompression -ex' or
                                   'ZIPCompression -es'
         PKZ 1.10 : In general use 'ZIPCompression -ex' but
                    you can make use of -ei to force imploding
                    for the special PKSFX Jr;

         You must code the options just like you did with PKZIP !

 Relate: ZIPVersion
 Dest. : ZIP


 ┌─────────────────────────────────────────────────────────────────────┐
 │ DWCCompression [options]                                            │
 └─────────────────────────────────────────────────────────────────────┘
 Usage : With the DWCCompression option, you can select to overrule
         the DWC default for compression on speed or size. Use a
         value of 'y' for compression on speed, use 'z' for
         compression on size (both values to be coded without
│        quotes). You can also add multiple values like with the
│        ZIPCompression option;

 Relate: None
 Dest. : DWC


 ┌─────────────────────────────────────────────────────────────────────┐
 │ ARJCompression [options]                                            │
 └─────────────────────────────────────────────────────────────────────┘
 Usage : With the ARJCompression option, you can select to overrule
         the ARJ default for compression on speed or size. Use a value
         of -m1 to -m4 for compression on size to speed. Also extra op-
│        tions (not implemented by MTA) can be added in the same way
│        as with the ZIPCompression option.

 Relate: None
 Dest. : ARJ


 ┌─────────────────────────────────────────────────────────────────────┐
 │ TouchLow                                                            │
 └─────────────────────────────────────────────────────────────────────┘
 Usage : This parameter is optional and controls MTA's touching system.
         When used, MTA touches (resets the compressed file's time/date
         stamp) to the lowest date of any file inside the compressed
         file. See the chapter on this feature.

 Relate: TouchCur, TouchHig
 Dest. : All


 ┌─────────────────────────────────────────────────────────────────────┐
 │ TouchHig                                                            │
 └─────────────────────────────────────────────────────────────────────┘
 Usage : This parameter is optional and controls MTA's touching system.
         When used, MTA touches (resets the compressed file's time/date
         stamp) to the highest date of any file inside the compressed
         file. See the chapter on this feature.

 Relate: TouchCur, TouchLow
 Dest. : All


 ┌─────────────────────────────────────────────────────────────────────┐
 │ TouchCur                                                            │
 └─────────────────────────────────────────────────────────────────────┘
 Usage : This parameter is optional and controls MTA's touching system.
         When used, MTA touches (resets the compressed file's time/date
         stamp) to the current date. See the chapter on this feature.

 Relate: TouchLow, TouchHig
 Dest. : All


 ┌─────────────────────────────────────────────────────────────────────┐
 │ IgnoreTimeComponent                                                 │
 └─────────────────────────────────────────────────────────────────────┘
 Usage : This parameter belongs to the MTA touching system. When you
         want to ignore the time on date/time stamps, you must include
         this option. MTA will use 00:00:00 as the time on all files
         when testing. Also the compressed file is touched as 00:00:00.

 Relate: TouchLow, TouchHig, TouchCur
 Dest. : All


 ┌─────────────────────────────────────────────────────────────────────┐
 │ AcceptHighDate                                                      │
 └─────────────────────────────────────────────────────────────────────┘
 Usage : This parameter belongs to the MTA touching system. When you
         want to include dates that are higher than the current PC's
         system date/time, you must include this option. This means
         that a compressed file with a file inside with the date
         01-07-98 will actually get the date 01-07-98 even when the
         current date is lower.

 Relate: TouchLow, TouchHig, TouchCur
 Dest. : All


 ┌─────────────────────────────────────────────────────────────────────┐
 │ WarningTime [cycles]                                                │
 └─────────────────────────────────────────────────────────────────────┘
 Usage : This parameter is optional and controls MTA's time to display
         a warning message. When running unattended (a BBS for example)
         long waiting times are not so handy. When running manually they
         could be handy.
         By default MTA sets the WarningTime to 20 cycles (every cycle
         is visualized on the screen). This comes to around 10 seconds.
         You can interrupt every message by pressing any key.
         When the default is to long for you, you can reduce the value,
         when you want more time, increase it. Values from 0 to 65535
         are valid.
         Value 0 means that MTA will display no warning messages at all.

 Relate: None
 Dest. : All


 ┌─────────────────────────────────────────────────────────────────────┐
 │ NoArcInArc                                                          │
 └─────────────────────────────────────────────────────────────────────┘
 Usage : With this option you can instruct MTA NOT to convert compressed
         files INSIDE the compressed file. There could be cases where
         you want to use this option. In this case no shelling of a new
         MTA.EXE is done.

 Relate: None
 Dest. : All


 ┌─────────────────────────────────────────────────────────────────────┐
 │ OptimizeOnSize                                                      │
 └─────────────────────────────────────────────────────────────────────┘
Usage : With this option you can instruct MTA to optimize the
        destination file to the smallest compressed file, selected
        from all compressors with a 'Y' as the third parameter in
        the xxxPATH options.

 Relate: None
 Dest. : All


 ┌─────────────────────────────────────────────────────────────────────┐
 │ OnlyUpgrade                                                         │
 └─────────────────────────────────────────────────────────────────────┘
 Usage : This option does not contain any secondary parameters. When
         active, MTA will only convert all files not standard to the
         target compression method AND all files standard to the
         target compression method BUT with a lower technical level
         of the actual compression file.  Currently only PAK and ZIP
         offer two kinds of compressed files that can still be
         accessed with a newer version but has a lower technical
         level. For PAK files, this is the Crushed method. MTA will
         (if you use PAK as target) only convert all non-PAK files
         AND all PAK-files with crushed files inside.  For ZIP files,
         this is the reduced (1-4) method. MTA will (if you use ZIP
         as target) only convert all non-ZIP files AND all ZIP files
         with reduced (1-4) files inside.  The method is not
         fail-save in all cases. Some examples:

         - A ZIP file contains 3 files, 2 shrinked files and one stored;
           MTA will NOT mark this file as to be upgraded. This is only
           done when a reduced (1-4) file is inside;

         Note: The combination Reduced and Imploded in a file WILL trigger
               MTA to convert.

 Relate: ZIP, PAK files
 Dest. : ZIP, PAK


 ┌─────────────────────────────────────────────────────────────────────┐
 │ Description                                                         │
 └─────────────────────────────────────────────────────────────────────┘
 Usage : This parameter is optional. If you supply this parameter. MTA
         orders every compressor (if that function is included) to
         ASK for a description of the target compressed file. MTA ignores
         this command with compressors that can't create comments to the
         compressed file !
         You can not use this function in conjunction with the option
         AutoDescription !
         When you use ZIP as destination, -z and -c (both file and archive
         comments) are used. This is not valid for versions under 1.00.
         In this case you must use the ZIPVersion 09x option !

         NOTE: NEVER use this option when running unattended, because
               the archivers will prompt you for a comment !!!!!!!!!!

 Relate: Autodescription, ZIPVersion
 Dest. : All


 ┌─────────────────────────────────────────────────────────────────────┐
 │ ZIPAutodescription [filename]                                       │
 └─────────────────────────────────────────────────────────────────────┘
 Usage : This function is obsolete in 14.01 (and higher), you should
         replace it with the AutoDescription option.

 Relate: None
 Dest. : ZIP


 ┌─────────────────────────────────────────────────────────────────────┐
 │ Autodescription [filename]                                          │
 └─────────────────────────────────────────────────────────────────────┘
 Usage : This parameter is optional. If you supply this parameter, you
         also have to supply a valid (and available) text-file. This
         file will be appended to a ZIP, ZOO, ARJ or PAK-file as a
         comment.
         The file can be of any kind (ASCII, ANSI or even invalid). MTA
         reads the first 64000 bytes (or less) of the file and appends
         this to the archive.
         When using the (de)compress on this file, these programs will
         display the appended file as a header. Very nice option for
         BBS systems, but remember, use PKUNZIP's -q option to display
         ANSI screens. For BBS's, in general it is recommended to only
         add ASCII files.
         Up from release 12.50, you can use AutoComment along with
         the CarryComment statement ! Look into the description of
         this option for details;

         One piece of advise for PAK, ZOO and ARJ descriptions. MTA uses
         a quick and dirty way to add to such a file. Be sure not to
         include multiple CRLF combinations for these archivers. If
         PAK or ZOO detects one (due to the method of adding) the
         remaining part of the text is gone in the target file. En-
         hancement for this is scheduled for some of the maintenance
         releases;

 Relate: Description
 Dest. : ARJ, ZIP, ZOO, PAK


 ┌─────────────────────────────────────────────────────────────────────┐
 │ CarryComment [type] [extra comment]                                 │
 └─────────────────────────────────────────────────────────────────────┘
 Usage : CarryComment is optional. If you supply a CarryComment option,
         you must also include a [type]. [type] must be a '1', '2' or
         '3'. Every type has a special function, but only one can be
         used (but overruled with the /CARCOM[type] command-line option).

         When you include a CarryComment option, you instruct MTA to
         carry over any ARCHIVE comment contained in a PAK/ZIP/ZOO/ARJ
         source file to the target file, if the target is PAK, ZIP,ARJ
         or ZOO. The carry will be done in one of three ways, depending
         on the type.

         [Type] set to 1 : MTA will carry over the comment (up to
                           256 bytes) from the source file, if a
                           comment is available;

         [Type] set to 2 : MTA will first look into the source file
                           and will remember up to 256 bytes of the
                           comment (if any).
                           After conversion, MTA will look into the
                           file you supplied in the FilesBBS option
                           (if you did supply this option). If the
                           file has a record inside the FILES.BBS
                           (or alike file), this comment is taken
                           and not the comment in the source file.
                           If no comment is available, MTA will use
                           the comment from the source file (if any);

         [Type] set to 3 : MTA will always look into the FILES.BBS
                           (or alike) file. This is only valid when
                           you use the FilesBBS option. If a record
                           is available, the comment is carried over
                           to the target file. If no record is available
                           the target also will not have any comment;

         When you include [extra comment], you have the option to
         add (in front) some extra comment to the archive. This can
         be used when you want a combination of (lets say) a
         description of the archive AND your personal comment.
         CarryComment 2 MTA_Node_Here (and a description of (lets say)
         'A special file for you', will create:
         'MTA Node Here A special file for you' (there will be a
         CRLF between the special comment and the description).
         Any spaces inside the special comment MUST be replaced with
         the underscore character. MTA will translate it back to spaces.
         If there is NO comment available but the special comment is
         set to a value, MTA will add the special comment without any
         other comment.

         You can make a combination of the AutoComment (when the
         destination is ZIP) and the CarryComment option. In this
         case MTA will add a combined comment into the ZIP-file.
         In the combination the AutoComment file comes first and
         the comment constructed by the CarryComment statement comes
         directly (without a linefeed) after this comment. Please
         keep in mind to keep some empty tailing lines in the file
         pointed by AutoComment otherwise a not so nice display
         of the comment will happen when the ZIP-file is viewed or
         extracted.

         Please also read the info on the FilesBBS option and the
         AddFilesBBS option.

 Relate: FilesBBS, AddFilesBBS
 Source: ZIP/PAK/ZOO/ARJ
 Dest. : ZIP/PAK/ZOO/ARJ


 ┌─────────────────────────────────────────────────────────────────────┐
 │ FilesBBS {optional name}                                            │
 └─────────────────────────────────────────────────────────────────────┘
 Usage : With this option you can instruct MTA to change converted
         filenames in:
         -a) A file (like FILES.BBS) in the current directory;
         -b) A fixed file in a directory pointed by you.
         To get the most of this option, you must understand that
         this option can have various formats depending on what you
         want. Basically the following formats are allowed and do the
         following things:

         - FilesBBS
           You supply only the FilesBBS keyword. This means you
           instruct MTA to change filenames in the file FILES.BBS
           in the directory MTA is working on (if file is present);
         - FilesBBS filename
           You supply FilesBBS with only a filename (no path/drive).
           This means you instruct MTA to change filenames in the
           file supplied by 'filename' in the directory MTA is working
           on (if the file is present). FilesBBS FILES.BBS has the
           same meaning as if you coded only FilesBBS;
         - FilesBBS drive:path\filename
           You supply FilesBBS with a fully qualified filename
           (including drive and path-name). This means you instruct MTA
           to change filenames only in THIS file in THIS directory.
           This comes in handy when all files are in one single master
           directory file (like RBBS).

         When you don't use the FilesBBSFormat option (described later),
         MTA will search for filenames in position 1 in each record
         and with the format FILENAME.EXT (upper- and lower case).
         Changes are made after every conversion. If MTA aborts on an
         operation, all previous filenames are changed.

         When you run an ExitAfterCompression shell and in this shell
         you convert a compressed file to a SFX-file and you delete
         the original compressed file, MTA changes the FILES.BBS
         entry to the SFX-name. If you keep the compression-file after
         making a SFX-file, MTA changes the FILES.BBS to the new name
         of the compressed file AND NOT the SFX-file.
         So, for example, you have A.ZIP and you convert it (with
         MTA) to A.LZH and in the ExitAfterCompression you create
         a A.COM and delete the A.LZH, the FILES.BBS is changed from
         A.ZIP to A.COM. The same goes for .EXE. When both .COM and
         .EXE are created (?), MTA takes the .COM.

         Up from version 11.01, MTA will also change sizes in the
         FILES.BBS alike file. This should only be the case with
         files that actually contain the file-length in the FILES.BBS
         alike file itself like the RBBS master directory. When
         converted to .COM or .EXE files (while deleting the original
         target file), MTA will adjust the size to the actual .COM
         or .EXE size.

         If comments in the FILES.BBS alike file start with a download
         counter (e.g. FILENAME.EXT [01] Downloaded once), and you use
         the CarryComment option (types 2 or 3), MTA will strip the
         download-counter (only when the format is [nnnn]) from the
         description that will be added to the archive (not in the
         FILES.BBS alike file).

         This option can also be used in a NON-BBS environment where
         4Dos is installed and used. Read the comments on 4Dos, later
         in this documentation.

         When the FilesBBS option is active and MTA detects a defective
         archive, MTA will move this archive to the supplied error-path
         or the temporary error-path and along with that, the entry in
         the FILES.BBS alike file is copied (NOT moved) to a FILES.BBS
         alike file (with same name and structure) in the error-path.
         If such a file exists (when you have defined a default error-
         path), the record is appended to this file. The original com-
         ment will also stay in the original FILES.BBS alike file.
         When the FILES.BBS-alike file is only on one fixed place (you
         did add a path to this option) this option is NOT triggered;

 Relate: FilesBBSFormat
 Dest. : All


 ┌─────────────────────────────────────────────────────────────────────┐
 │ AddFilesBBS                                                         │
 └─────────────────────────────────────────────────────────────────────┘
 Usage : This option can be used to tell MTA to add the name and
         optional description to the file pointed to by the FilesBBS
         option if it is NOT present in this file already. This option
         will only function when the FilesBBS option is also set to
         on. When you use the CarryComment (1 or 2) option, MTA will
         also add any description in the original (and now converted)
         archive to this file. The format of the records to be added
         is the same as described by the FilesBBSFormat option.

 Relate: FilesBBSFormat, FilesBBS, CarryComment
 Dest. : All


 ┌─────────────────────────────────────────────────────────────────────┐
 │ FilesBBSFormat [name] [extension] [comment]                         │
 └─────────────────────────────────────────────────────────────────────┘
 Usage : This option can be used to tell MTA something about the
         internal format of the FILES.BBS alike file.
         Under default conditions, MTA expects the filename to start on
         position 1 of each line, with a filename format for name.ext
         (with a point between the name and the extension) and the
         comment to start on position 14. When your FILES.BBS alike
         file (if you use any) is different, you must use this option
         to set the new format.
         The FilesBBSFormat option has three parameters. The first ([name])
         must contain the position where the filename starts. The second
         ([extension]) tells MTA where the extension starts. If the
         filename and extension are 'glued' together with a point (e.g.
         MTA.EXE), [name] and [extension] must both contain the same
         value and [name] must be the position where the filename starts
         in the line. Two examples

         - Records are made up like FILENAME EXT (ext always starts on
           position 10, and the name on position 1). You must use 1
           for [name] and 10 for [extension].
         - Records are made up like FILE.EXT and the filename always
           starts on position 20. You must use 20 for both [name] and
           [extension].

         [comment] must point to the starting position of the file
         comment. If the file does not contain comments you can use
         a value of 255 for [comment]. If the files (can) contain
         'floating' comments, you must supply a different format of
         this option. In this case, do not code the position, but
         supply a 'I' (without quotes) and the ITEM number. An example:

         A Filename Size Comment

         In this example, the comment is ITEM number 4. Each item
         must be (at least) separated with one or more spaces.

         The FilesBBSFormat option only has a meaning when the FilesBBS
         option is used also !

 Relate: FilesBBS
 Dest. : All


 ┌─────────────────────────────────────────────────────────────────────┐
 │ TempPath [path] {min free bytes}                                    │
 └─────────────────────────────────────────────────────────────────────┘
 Usage : This parameter is optional. If you supply this parameter, you
         instruct MTA to pass parameters to the called (de)compressors
         to use 'path' as their temporary work path. Most obvious is
         the usage of a RAM-disk or EMS-disk for 'path'. Please supply
         the full drive AND path, because MTA changes from and to
         directories !
         This option is only used for (de)compressors who have the
         option to use a temporary path.
         Mostly LHarc <tm> is bound to make trouble when the supplied
         drive/path does not exist. There are also problems to expect
         when there is too little space on the drive to contain LHarc's
         temporary files.
         By default MTA will look if there is 256K of free space on
         the supplied drive. If there isn't, MTA will ignore the
         TempPath option. If you want a lower or higher threshold, you
         can supply a third parameter on the TempPath option. This
         parameter has to contain the minimum number of free bytes on
         the drive supplied in the second parameter. When you want to
         ignore threshold testing, you supply a 0.

         When you have an Environment Variable TEMP available (pointing
         to a full directory-name), then MTA will use this directory if
         there is NO TempPath option defined. The test on available
         space is skipped in this case !!
         If you supply the TempPath option AND a TEMP variable is pre-
         sent in the environment table, then MTA will overrule the
         value in the TEMP variable with the value in the TempPath
         option and the (optional) test on space IS performed !

 Relate: None
 Dest. : All


 ┌─────────────────────────────────────────────────────────────────────┐
 │ MTATempPath [path]                                                  │
 └─────────────────────────────────────────────────────────────────────┘
 Usage : This parameter is optional. Normally MTA creates its own working
         directory under the current (startup) directory. In some cases
         you don't want to use this option (f.i. you have a large RAM or
         EMS disk, or your current directory name is very long).
         MTA stores the UNCOMPRESSED files in his temporary directory,
         so when you supply MTATempPath, please keep in mind that there
         must be enough room on the supplied drive to hold all
         uncompressed files in the largest compression-file ! MTA itself
         will skip a conversion when [space available] / 2 <
         [uncompressed space]. In other words when there isn't room
         enough for twice the uncompressed size, MTA will skip.

         When you do NOT supply MTATempPath, MTA creates a directory
         with a 8 character long name, reflecting the current date and
         time in HEX representation. When running as a child (see the
         chapter about Compression-In-Compression) MTA creates paths
         with the name $.
         Please enter the full drive and path (not a relative one) to
         this option, because MTA changes directories frequently !

         WARNING : The current version of DWC (A501) does NOT like to
                   see points in other directories than the LAST. F.i.
                   C:\ZIP.ZIP is your current path, when converting
                   MTA creates C:\ZIP.ZIP\[mtatemppath|ownpath]. DWC
                   does NOT like this and this can lead to serious
                   errors in MTA (error messages).

         By default MTA will look if there is 256K of free space on
         the supplied drive. If there isn't, MTA will abort at forehand.
         If you want a lower or higher threshold, you can supply a
         third parameter on the MTATempPath option. This parameter
         has to contain the minimum number of free bytes on the drive
         supplied in the second parameter. When you want to ignore
         threshold testing, you supply a 0. This should be the default
         because MTA does a test for space itself, but you can use the
         threshold for other reasons;

 Relate: None
 Dest. : All


 ┌─────────────────────────────────────────────────────────────────────┐
 │ MTAErrorPath [path]                                                 │
 └─────────────────────────────────────────────────────────────────────┘
 Usage : At last, some of the users will say. When the decompression
         fails (CRC-error, not enough memory), MTA will normally put the
         original file in the temporary directory. This is a directory
         with a name like 1A345A76 (in fact it is the HEX-value of the
         combined current-date and current-time). Sysop's hate to
         collect all failed archives from these directories (when you
         have to collect 4 or 5 you can imagine why).
         MTA is able to move a failing archive to a directory with a
         fixed name. In this case you must supply this statement with
         a valid (and available) path as the second parameter. MTA
         will put all archives that were not converted due to an error,
         in this directory.

 Relate: None
 Dest. : All


 ┌─────────────────────────────────────────────────────────────────────┐
 │ FDUTempPath [path]                                                  │
 └─────────────────────────────────────────────────────────────────────┘
 Usage : This parameter is mandatory when using the /D switch. When
         working with diskettes (e.g. convert entire diskettes from one
         method to another one), MTA makes usage of two special unique
         directories (supplied in FDUTempPath and FDUTrashPath).
         Read the chapter about the diskette option.

         Please assign full drive and path names to this option. The
         first time MTA run's, it creates the directory and leaves it
         hat way for the following run's. You may also assign a already
         existing path.

 Relate: FDUTrashPath
 Dest. : All


 ┌─────────────────────────────────────────────────────────────────────┐
 │ FDUTrashPath [path]                                                 │
 └─────────────────────────────────────────────────────────────────────┘
 Usage : This parameter is mandatory when using the /D switch.
         The FDUTrashPath contains all files who could not be moved
         back to diskettes because of a lack of space.
         Read the chapter about the diskette option.

         Please assign full drive and path names to this option. The
         first time MTA run's, it creates the directory and leaves it
         hat way for the following run's. You may also assign a already
         existing path.

 Relate: FDUTempPath
 Dest. : All


 ┌─────────────────────────────────────────────────────────────────────┐
 │ ITSPath [path]                                                      │
 └─────────────────────────────────────────────────────────────────────┘
 Usage : When you use MTA in combination with my product ITS (version
         1.06 and higher), you must tell MTA where to find the
         semaphore file that ITS maintains. This can be done with the
         ITSPath option.
         If it is left out, MTA will not be ITS-aware. If you include
         the valid path to ITS.SPH (like you did in ITSCFG), MTA will
         include ITS-awareness (see chapter on ITS).

 Relate: None
 Dest. : All


 ┌─────────────────────────────────────────────────────────────────────┐
 │ AllDisketteFiles                                                    │
 └─────────────────────────────────────────────────────────────────────┘
 Usage : This parameter is optional. You can direct MTA to move ALL
         (NON-compression files included) from diskette to the paths
         supplied in FDUTempPath an FDUTrashPath. This option has only
         meaning with the /D (diskette option) switch.
         You should use this option when you are using the parameters
         EXITBeforeFill and EXITAfterFill. When using this option, you
         get an empty diskette to work with in EXITBeforeFill.
         You can not use AllDisketteFiles along with /UPGRADE !

 Relate: EXITBeforeFill, EXITAfterFill
 Dest. : All


 ┌─────────────────────────────────────────────────────────────────────┐
 │ EXITBeforeStart program option option option                        │
 └─────────────────────────────────────────────────────────────────────┘
 Usage : This parameter is optional. You can direct MTA to execute an
         other program (or batch-file) before MTA starts the search
         and conversion of the files. This could be handy when you
         use a cache device. You can instruct the cache to (temporary)
         disable its execution because the conversion could influence
         the optimization of the cache. Due to the whole process
         of MTA, the only benefit you will have when the cache is
         active, is one per archive (unpacking, remembering the
         unpacked files, if not to big..., packing).
         Besides of cache you can use this exit for any general
         purpose.
         See example in MTA__BAT.EXE file, supplied with MTA !

 Relate: EXITBeforeEnd
 Dest. : All


 ┌─────────────────────────────────────────────────────────────────────┐
 │ EXITBetweenConversion program option option option %1               │
 └─────────────────────────────────────────────────────────────────────┘
 Usage : This parameter is optional. You can direct MTA to execute an
         other program (or batch-file) after MTA has decompressed a
         file. The obvious usage should be to automatically sort the
         temporary directory on filename (as is not the case when you
         decompress a ZIP-file) or to create files with CRC's and
         directories to be included in the new compressed files.

         MTA preserves the screen BEFORE the external call is made.
         All parameters after the option are passed to a child DOS
         shell (COMMAND.COM /Cyour commands follow here). Inside
         the parameters you can code three special parameters:
         %1   This parameter can occur anywhere in the option. MTA
              will substitute this parameter with the relative path
              where the uncompressed files are. This parameter is
              in fact superfluous, because you ARE in this directory
              when the call to the exit is made;
         %2   MTA will substitute this parameter with the name (not
              the extension) of the compressed file to be created;
         %3   MTA will substitute this parameter with the extension
              (without the point, so LZH and not .LZH) of the
              compressed file to be created (can be used to test the
              target type in most situations);
         Note that %1, %2 and %3 are all optional and don't have to
         be the first, second and third parameter in the command-line.
         This means that %1, %2 and %3 coded here, don't have to be
         %1, %2 and %3 in the batch-file you call (if you call a batch
         file). For example:
         ExitBetweenConversion C:\MYBATCH.BAT /A /B %1 /C %2 %3
         must result in a batch containing %1 to %6, where %3 in
         the BATCH equals %1 in this option, %5 in the batch to
         %2 in this option and %6 (of course) to %3 in this option.
         See example in MTA__BAT.EXE file, supplied with MTA !

 Relate: None
 Dest. : All


 ┌─────────────────────────────────────────────────────────────────────┐
 │ EXITAfterCompression program option option option %1 %2 %3          │
 └─────────────────────────────────────────────────────────────────────┘
 Usage : This parameter is optional. You can direct MTA to execute an
         other program (or batch-file) after MTA has re-compressed a
         file. The obvious usage should be to AUTOMATICALLY create a SFX
         file of the compressed file, but you can supply almost any
         program.
         MTA preserves the screen BEFORE the external call is made.
         All parameters after EXITAfterFill are passed to a child
         DOS-shell (COMMAND.COM /Cyour commands follow here). Inside
         the parameters you can code three special parameters (%1, %2
         and %3). They can occur everywhere inside the options.
         When MTA calls the supplied program (batch) is passes all the
         parameters but substitutes %1 with the path (without a trailing
         backslash), %2 with the filename and %3 with the compression
         type (e.g. ARC, LZS, ZOO).
         You can use these parameters in a batch-file to trigger one
         or more special functions, depending on the compression type.
         When the called program (batch) does not use one or more of
         these special parameters, you can leave them out.

         THIS IS A VERY POWERFUL OPTION AND CARRIES SOME RISKS !
         You can blow MTA sky high with this option, when you are
         doing some strange things in the exit. MTA will look after
         exit for the following things:
         - Is the original compression file still available. MTA
           ignores the remainder of the process (for this file) when
           you delete the file in the exit, so this should not give
           any problems;
         - Is there a new file with the same name but with the
           extension .COM or .EXE. If so, all manipulations to the
           original compressed file are also carried out on the .EXE
           and .COM files;

         See example in MTA__BAT.EXE file, supplied with MTA !

 Relate: None
 Dest. : All


 ┌─────────────────────────────────────────────────────────────────────┐
 │ EXITBeforeFill program option option option                         │
 └─────────────────────────────────────────────────────────────────────┘
 Usage : This parameter is optional. You can direct MTA to execute an
         other program (or batch-file) before MTA starts with filling
         the converted diskette. The obvious usage should be a format
         of the diskette, but you can supply almost any program.
         MTA preserves the screen BEFORE the external call is made. The
         option only works with the /D switch active !
         Please notice that when this parameter is used to FORMAT the
         diskette, you also must supply AllDisketteFiles because only
         then you are sure that the diskette is empty !
         All parameters after EXITBeforeFill are passed to a child
         DOS-shell (COMMAND.COM /Cyour commands follow here).
         See example in MTA__BAT.EXE file, supplied with MTA !

 Relate: AllDisketteFiles, EXITAfterFill
 Dest. : All


 ┌─────────────────────────────────────────────────────────────────────┐
 │ EXITAfterFill program option option option                          │
 └─────────────────────────────────────────────────────────────────────┘
 Usage : This parameter is optional. You can direct MTA to execute an
         other program (or batch-file) after MTA has filled the
         converted diskette. The obvious usage should be a disk catalog
         program, but you can supply almost any program.
         MTA preserves the screen BEFORE the external call is made. The
         option only works with the /D switch active !
         All parameters after EXITAfterFill are passed to a child
         DOS-shell (COMMAND.COM /Cyour commands follow here).
         See example in MTA__BAT.EXE file, supplied with MTA !

 Relate: AllDisketteFiles, EXITBeforeFill
 Dest. : All


 ┌─────────────────────────────────────────────────────────────────────┐
 │ EXITBeforeEnd program option option option                          │
 └─────────────────────────────────────────────────────────────────────┘
 Usage : This parameter is optional. You can direct MTA to execute an
         other program (or batch-file) before MTA ends.
         This exit could be used to reverse the process started (or
         stopped) in the EXITBeforeStart, but you can implement any
         general purpose routine over here.
         See example in MTA__BAT.EXE file, supplied with MTA !

 Relate: EXITBeforeStart
 Dest. : All


 ┌─────────────────────────────────────────────────────────────────────┐
 │ IncludeFile [drive:path\filename] [newname] {CF$}                   │
 └─────────────────────────────────────────────────────────────────────┘
 Usage : This parameter is optional. You can direct MTA to include
         the supplied file (second parameter) into every converted
         compression-file. Inside the compressed file this file has
         the same name or [newname] when you supply the third
         parameter (must only be a filename without path and drive).
         This option comes in handy when you want to include a file
         with information about yourself (or your BBS) into any
         uploaded file converted with MTA.
         LHarc (LARC) can work with special files like ! and the
         AUTOLARC.BAT file, this option can create them for you !

         MTA copies the file to its own special temporary path every
         time a compressed file is created. The original file is left
         intact. You MUST supply a complete path to the original
         filename.

         There can be up to 255 IncludeFile options in the MTA.CTL. All
         files will be included in EVERY converted extension. When you
         leave out the option, nothing is included (of course !).

         If you add CF$ as the last parameter, you let MTA know that
         the file is compressed. MTA will then re-compress the file
         when creating the new compression file. In this way, your
         includefile can have a transparent format.

 Relate: ExcludeFile
 Dest. : All


 ┌─────────────────────────────────────────────────────────────────────┐
 │ ExcludeFile [filename]                                              │
 └─────────────────────────────────────────────────────────────────────┘
 Usage : This parameter is optional. You can direct MTA to exclude
         the supplied file (second parameter) from every converted
         compression-file.
         This comes in handy when your favorite BBS includes files
         like ! and U_read.me in the files he supplies (sorry for the
         bad joke R.).
         LHarc (LARC) can work with special files like ! and the
         AUTOLARC.BAT file, this option can exclude them for you !

         There can be up to 255 ExcludeFile options in the MTA.CTL. All
         files will be excluded in EVERY converted extension. When you
         leave out the option, nothing is excluded (of course !).

         When you are a BBS and you get uploaded files with files
         like '!' or 'TheGost.BBS' and you want to convert the files
         for YOUR BBS, you should know that MTA first excludes files
         and then includes the new ones. So in the case of the '!'
         file you could create a MTA.CTL with:

         ExcludeFile !
         IncludeFile C:\FILES\MY.! !

         and the ! is first excluded and then the MY.! is included
         as ! (so its a replace).

 Relate: IncludeFile
 Dest. : All


 ┌─────────────────────────────────────────────────────────────────────┐
 │ DoNot [mask]                                                        │
 └─────────────────────────────────────────────────────────────────────┘
 Usage : This parameter is optional. You can direct MTA to exclude
         some files at all. This option could come in handy when
         you run a BBS and you want to convert every file to ZIP
         (example, works with all extensions), but you don't want
         to convert incoming ZIP files.
         I should advise NOT TO USE this option, because:
         - When Reconverting the archives, MTA can initiate a virus
           scan, if you exclude some incoming files (mostly because
           of time I think), this test is not done;
         - Some compressors are capable of compressing files depending
           on size or speed. When you want the smallest files and the
           incoming file is compressed on speed, you loose some bytes
           because MTA does not do a re-compress (based on size);
         Of course I can think of other reasons to use the DoNot option.
         You can instruct MTA to exclude some special files or any type
         of self extracting (SFX) .COM or .EXE file, you pick it out...
         I would like you to read the chapter on the NoMarked and
         MarkString options. This also could help you a lot when you
         only want to re-compress incoming files only once !!!!!!!!!

         You must supply any valid file-mask (wildcards allowed) in
         every DoNot option. You can include up to 255 DoNot options.
         This should be enough to tackle all your problems. As said,
         you can include any valid wildcard-mask like *.* (I should
         not include this one), *.ZIP, A??.ARC, Z2-DIFF.* and so on.
         Like all DISP products of my hand, I included another
         wildcard (=) character. With this character it is possible
         to do a 'shifted test'. DoNot =READ excludes all files that
         contain the string READ (like READme.not, doREAD.ME and so
         on). The string must match, so =READ will not select RE.AD.

         When using the /D and AllDisketteFiles options together,
         files are NEVER excluded. This is also the case when
         MTA does call to itself (compressed-in-compressed files).

 Relate: None
 Dest. : All


 ┌─────────────────────────────────────────────────────────────────────┐
 │ MoveToDir [path]                                                    │
 └─────────────────────────────────────────────────────────────────────┘
 Usage : This parameter is optional. You can direct MTA to move all
         converted files to another path (option is only valid when
         NOT using /D).
         Please supply full drive and path names to this option !

         There is one special format for the MoveToDir option. This
         is the case when you are combining this option with the /D
         command-line switch (diskette support).
         When using the combination /D with MoveToDir (or /M[path])
         MTA will get all files from the source diskette drive,
         convert them to the new archive-system and move them back to
         the drive (and path) supplied by /M or MoveToDir. This makes
         it easy to convert from diskettes in (lets say) drive A: (lets
         say these are 360Kb diskettes) to drive B: (lets say these are
         1.44Mb diskettes). You can even convert them to a subdirectory
         in the target drive.
         WARNING ! When you use MoveToDir as a normal option, but now
         and then you use MTA to convert diskettes then please remember
         to overrule the MoveToDir option by adding /M (without drive
         and path) to the command-line, otherwise your diskette files
         (and those in the trashcan) will be moved to the wrong place.
         MTA will give a warning when you use /M[path] or MoveToDir
         and /D together. You can interrupt MTA's functions at once
         by hitting ESC when the message is flashing on the screen.

         WARNING: When you use MoveToDir in conjunction with the
                  ExitAfterCompression option you have to know the
                  following extra's:
                  - When you create an extra file in the exit with
                    the extension .COM or .EXE and in the same
                    directory as the original compressed file, MoveToDir
                    moves these files also. When a name-like file
                    already exist in the MoveToDir target directory, MTA
                    gives you a warning and leaves the file where it
                    was. This does not go for the original compressed
                    file !
                    Normally this would not be a problem but when you
                    create such file with LHARC.EXE (1.12b) as the
                    result of the creation of a Self-Extraction-File,
                    LHarc.EXE asks you 'Overwrite [Y/N]'. This would
                    be very nasty when running unattended ! Please
                    make a check for the target-file before LHARC
                    creates the SFX-file !
                  - When you delete the original compression file in
                    the exit, MTA will 'see' this and take no further
                    actions;

         When you are running 4Dos <tm> and your original files contain
         a description in the 4Dos description file, MTA will use 4DOS's
         MOVE command to move any files (if MTA has detected a full 4DOS
         environment and the Not4DosAware option is set to off). This
         will cause any descriptions (added with 4DOS) to be carried
         along to the new directory.

 Relate: Not4DosAware
 Dest. : All


 ┌─────────────────────────────────────────────────────────────────────┐
 │ NoMarked                                                            │
 └─────────────────────────────────────────────────────────────────────┘
 Usage : This is a powerful option for BBS usage and for users with
         large temporary directories with compressed files.
         When you supply the NoMarked option, you instruct MTA to do
         the following:

         - When a file is selected, MTA looks if its own mark is
           present in the last 20 bytes of the compressed file.
           If so, MTA will ignore the file;
         - After MTA has converted a file, it will put a special
           marker to the tail of each compressed file, so the next
           time MTA is executed with the NoMarked option, the file
           will be ignored.

         MTA appends/looks for a marker of 20 bytes at the end of
         the compressed file.
         This marker has the following format:

         - 3 binary zeroes;
         - the word MTA;
         - 14 bytes of private information, by default 'Your ID here !';

         All compressors have been tested with this extra information
         appended and they seem to have no trouble with it. That is not
         so strange if you know that some communication protocols will
         append binary zeroes to a file, when transferred, to fill a
         complete transfer block.

         A special word about the 14 bytes of information. If everyone
         should use MTA's default and should download a file, converted
         with MTA/NoMarked and would like to convert this file again
         with MTA/NoMarked, the file would be ignored. It is advised
         to set your own marker with the MarkString option to something
         more or less private. BBS's could enter their Node/Net/Point
         number or the name of the SysOp or something like Ghostbuster,
         Snoopy or whatsoever.

         NoMarked has no meaning when using /D with the AllFiles option.
         The mark is not set when the MoveToDir option (/M) is used.

         Afterwards you can ZAP the appended marks with the supplied
         MTR.EXE utility.

 Relate: MoveToDir, /D, MarkString
 Dest. : All


 ┌─────────────────────────────────────────────────────────────────────┐
 │ MarkHeader [string]                                                 │
 └─────────────────────────────────────────────────────────────────────┘
 Usage : Normally MTA uses a combination of three binary zeroes and the
         word MTA as the start of a mark. This header, along with the
         default or supplied MarkString, will be appended to all
         processed files when NoMarked (or /MAR) is set to ON. Anyone
         is able to detect MTA's conversion when such a file is received
         because of the combination in the header.
         If you want, for what reason you may think of, receivers not
         to be able to detect MTA's 'touch' in your archive, you can
         supply a header of your own. This header must be 6 bytes in
         length or will be 'stretched' to 6 bytes when you supply less
         than 6 bytes.
         Please be careful with this option ! If you supply a non
         unique header, MTA can fail to detect the mark-string, also
         MTA could detect marked files that , in fact, are not marked
         at all.

 Relate: NoMarked, MarkString
 Dest. : All


 ┌─────────────────────────────────────────────────────────────────────┐
 │ MarkString [string]                                                 │
 └─────────────────────────────────────────────────────────────────────┘
 Usage : This option is used in combination with the NoMarked option.
         Even if you do not use the NoMarked option, it is advised to
         set the MarkString to something private in case you would
         like the /MAR option in a later stage.

         MarkString is used to set the 14 bytes of private information
         that is part of the 20 bytes appended data when NoMarked is
         active.
         The [string] should contain no blanks. You could use underscore
         characters to separate portions of the information.
         The obvious thing to do is to use your name for the string,
         or (in case of BBS) the Zone:Net/Node.Point combination. But
         you can also use an alias like Ghostbuster, Snoopy or something
         like that. If you have set the MarkString, you should not have
         to change it again. When you change the string MTA is unable
         to detect files as marked when they contain the previous string.

 Relate: NoMarked, MarkHeader
 Dest. : All


 ┌─────────────────────────────────────────────────────────────────────┐
 │ DefaultPath [path]                                                  │
 └─────────────────────────────────────────────────────────────────────┘
 Usage : You can instruct MTA to work (by default) on a standard
         directory or on a list of standard directories. You can
         include up to 255 DefaultPath options. MTA will process
         all selected files (depending on supplied mask) in all
         these directories. MTA will only abort if the first
         supplied directory does not exist, otherwise MTA will go
         on searching the next directory.
         If you do not supply a DefaultPath option, MTA will take
         the current directory or the path supplied in the /W
         command-line switch. The working of this switch has influence
         on the working of any present DefaultPath option.
         After MTA is done, MTA will switch back to the original
         (current) directory.
         You must include drive and the complete (not relative) path.

         NOTE : MTR also uses MTA.CTL and searches for these paths.
                You can also use /W on MTR to overrule these paths.

         If the full-screen selection is used, MTA will only select
         the first path all other paths are skipped !!!!!!

 Relate: QBBSPaths, RAPaths
 Dest. : All


 ┌─────────────────────────────────────────────────────────────────────┐
 │ QBBSPaths [full name of FLSEARCH.CTL alike file]                    │
 └─────────────────────────────────────────────────────────────────────┘
 Usage : When you run MTA in a QuickBBS environment and you don't want
         to supply all the area's (paths) MTA must work on, then you can
         supply this option. The additional parameter must point to
         a FLSEARCH.CTL alike file (or the FLSEARCH.CTL itself, when you
         did not rename it). You MUST include drive and path.

         MTA will work on ALL paths that are supplied in this file. If
         you want some extra paths, then add some extra DefaultPath
         options to MTA.CTL. All paths from the DefaultPath option,
         the QBBSPaths option and the RAPaths option are merged together
         by MTA.

 Relate: DefaultPath, RAPaths
 Dest. : All


 ┌─────────────────────────────────────────────────────────────────────┐
 │ RAPaths [path to FILES.RA]                                          │
 └─────────────────────────────────────────────────────────────────────┘
 Usage : When you run MTA in a Remote Access environment and you don't
         want to supply all the area's (paths) MTA must work on, then
         you can supply this option. The additional parameter must be
         the full drive and path to the FILES.RA file.

         MTA will work on ALL paths that are supplied in FILES.RA. If
         you want some extra paths, then add some extra DefaultPath
         options to MTA.CTL. All paths from the DefaultPath option,
         the QBBSPaths option and the RAPaths option are merged together
         by MTA.

 Relate: DefaultPath, QBBSPaths
 Dest. : All


 ┌─────────────────────────────────────────────────────────────────────┐
 │ LogPath [path]                                                      │
 │ LogPath [full path & filename]                                      │
 └─────────────────────────────────────────────────────────────────────┘
 Usage : When you want MTA to create a log, you MUST include the path
         to the logging file MTA will create. If this option is NOT
         present, no log is created (the old NoLog option is deleted).
         You must supply a valid path (please with drive). MTA will
         create MTA.LOG inside this directory ! MTL will use this
         option to read the MTA.LOG file and to create the MTA.NEG
         file in this directory.

         If you want a log with a name of your own, or you want MTA
         to add its log-records to an already present log-file (this
         could be the log-file of a Mailer or a BBS program), you
         can use the second option. In this case you must supply
         not only the path, but also the name of the log-file.
         If the log-file is not present, MTA will create it, otherwise
         MTA will append to this file.
         With the LogStyleFormat option, you can create your own log-file
         format, so appending to a Mailer-log or BBS-log could be done
         in a neat way !

         LogPath (second option), ErrorlogPath (second option) and
         both PasswordlistPath options can all point to the same
         log ! MTA will open and close the log every time a record
         must be written !

 Relate: LogStyleFormat
 Dest. : All


 ┌─────────────────────────────────────────────────────────────────────┐
 │ ErrorLogPath [path]                                                 │
 │ ErrorLogPath [full path & filename]                                 │
 └─────────────────────────────────────────────────────────────────────┘
 Usage : When you want MTA to create an error log, you MUST include
         the path to the error-log file MTA will create. The error
         log is needed in most cases, because MTA (from 10.01 and
         up) will go on converting even when errors are detected.
         This is done so BBS's can run MTA in an event.
         MTA will also display all errors on screen, but it would be
         handy to let MTA create the error-log so you can do some
         housekeeping after MTA is ended.
         If ErrorLogPath is NOT present, MTA WILL not create an
         error-log.

         If you want a log with a name of your own, or you want MTA
         to add its log-records to an already present log-file (this
         could be the log-file of a Mailer or a BBS program), you
         can use the second option. In this case you must supply
         not only the path, but also the name of the log-file.
         If the log-file is not present, MTA will create it, otherwise
         MTA will append to this file.
         With the LogStyleFormat option, you can create your own
         log-file format, so appending to a Mailer-log or BBS-log
         could be done in a neat way !

         LogPath (second option), ErrorlogPath (second option) and
         both PasswordlistPath options can all point to the same
         log ! MTA will open and close the log every time a record
         must be written !

 Relate: LogStyleFormat
 Dest. : All


 ┌─────────────────────────────────────────────────────────────────────┐
 │ PasswordListPath [path]                                             │
 │ PasswordListPath [full path & filename]                             │
 └─────────────────────────────────────────────────────────────────────┘
 Usage : This option is now obsolete. You should rename it in MTA.CTL
         to RandomPasswordlistPath.

 Relate: None
 Dest. : All


 ┌─────────────────────────────────────────────────────────────────────┐
 │ RandomPasswordListPath [path]                                       │
 │ RandomPasswordListPath [full path & filename]                       │
 └─────────────────────────────────────────────────────────────────────┘
 Usage : When you are going to use the /OP@ option (generation of
         random encryption passwords) or you use /OPpasword (the
         generation of encrypted files with a standard password), you
         must (or can, in case of standard passwords) include this
         option. MTA will create log-records into MTA.PWD (first
         option) with filenames and used passwords for the encryption.
         It is STRONGLY advised to use this log so you can read the
         used passwords in a later stage !!!!!
         When you use /OP@ without RandomPasswordListPath, MTA will
         force MTA.PWD to be written in the CURRENT directory. A log
         must be created in this case, otherwise you can never extract
         the files again because a random password is used for the
         encryption !

         If you want a log with a name of your own, or you want MTA
         to add its log-records to an already present log-file (this
         could be the log-file of a Mailer or a BBS program), you
         can use the second option. In this case you must supply
         not only the path, but also the name of the log-file.
         If the log-file is not present, MTA will create it, otherwise
         MTA will append to this file.
         With the LogStyleFormat option, you can create your own
         log-file format, so appending to a Mailer-log or BBS-log
         could be done in a neat way !

         LogPath (second option), ErrorlogPath (second option) and
         both PasswordlistPath options can all point to the same
         log ! MTA will open and close the log every time a record
         must be written !

 Relate: NormalPasswordListPath, LogStyleFormat
 Dest. : All


 ┌─────────────────────────────────────────────────────────────────────┐
 │ NormalPasswordListPath [path]                                       │
 │ NormalPasswordListPath [full path & filename]                       │
 └─────────────────────────────────────────────────────────────────────┘
 Usage : The description for this option is the same as for the previous
         RandomPasswordListPath, but in this (optional) log, MTA will
         log all files you have encrypted with the normal /OPpassword
         option and not the /OP@ random passwords.
         If you only specify a name, MTA will generate a MTA.NPW file
         in that directory.
         This option is NOT forced. If you use /OPpassword and this
         option is NOT set, a log is NOT created.

 Relate: RandomPasswordListPath, LogStyleFormat
 Dest. : All


 ┌─────────────────────────────────────────────────────────────────────┐
 │ FreeMemory nnnnnn                                                   │
 └─────────────────────────────────────────────────────────────────────┘
 Usage : Most BBS SysOp's (author included) tend to use programs under
         a child (shell) process of their running BBS or other programs.
         MTA consumes a lot of memory (around 128k). This is needed for
         all its special options which are many (as you have already
         seen). The errors MTA creates when a shelled (de)compressor
         abort due to memory shortage are nasty to work away (empty
         the temporary directory and its optional trees, deleting this
         directories and so on).
         When MTA starts, it looks for a  reasonable number of free
         bytes to work with, after MTA has loaded and created ALL its
         own structures. Normally this would be 256K allowing you to
         run every implemented (de)compressor.
         You can alter this number of bytes.

         You could decrease it when:
         - You don't use DWC to around 190K
         - You don't use ZIP to around 170K

         You must increase it when:
         - Using large shells in EXITBeforeFill, ExitAfterFill or
           ExitAfterCompress;

         With the optional FreeMemory option, you can set memory
         requirements to your own calculated number of bytes. Please
         observe that in most cases you have to experiment with the
         value.
         The primary usage of the memory requirement test is to
         warn you (with a premature abort) when you are running in
         a child (shell) process.
         When you want to ignore the test, set FreeMemory with a
         very large number of bytes.


 Relate: None
 Dest. : All


 ┌─────────────────────────────────────────────────────────────────────┐
 │ CompressionType ttt                                                 │
 └─────────────────────────────────────────────────────────────────────┘
 Usage : With this option you instruct MTA what type of target files
         MTA will create (the default is ZIP).
         Valid types (ttt) are ARC (SEA), PAK (NoGate), ZIP (PkWare),
         ZOO (R. Dhesi), LZH (Yoshi), DWC (D.W. Cooper), OWN (anything),
│        LZS (Miki/Okumura), HYP (Sawatzki/Mischke) and ARJ (Robert
│        K. Jung).
         You can use one of stated options if you own that type of
         (de)compression program. Only 1 CompressionType is allowed.


 Relate: None
 Dest. : All


 ┌─────────────────────────────────────────────────────────────────────┐
 │ RunTime [seconds]                                                   │
 └─────────────────────────────────────────────────────────────────────┘
 Usage : This option can instruct MTA to run for a maximum number of
         seconds. This could come in handy when you want to include
         MTA in a BBS event, but also normal users can benefit of this
         option.
         The number of seconds can go from 0 (same as leaving out the
         option) to 2147483647 (same a eternal). You have to keep in
         mind that the actual time MTA takes can be longer than the
         number of supplied seconds. MTA checks this option after
         every converted file (so at least 1 files is converted). If
         there is 1 second left, the next file is converted. So MTA
         can run as long as RunTime-1+(time for the last compression
         in seconds) seconds !
         MTA displays the remaining seconds. If there are more than
         5 minutes left the display is green, turns to yellow when
         there is between 2 and 5 minutes left, turns to red when
         there are 2 minutes or less left. When time is up, MTA does
         a 'clean' abort.
         RunTime does not function in a MTA-Child process nor when
         you are converting a diskette (/D option).

 Relate: None
 Dest. : All


 ┌─────────────────────────────────────────────────────────────────────┐
 │ KeepAbnormalExtensions                                              │
 └─────────────────────────────────────────────────────────────────────┘
 Usage : With this option you instruct MTA to 'keep' strange extensions
         in the target file. This only works when the source file has
         no valid extension (ARC,PAK,PKA,ZIP,ZOO,LZH,LZS,DWC,COM,EXE)
         and only if the target is something else than DWC (DWC forces
         the extension to be DWC).
         So if you have a file JUNK.CPR (it is really a ARC file) and
         you convert to ZIP, the target name stays JUNK.CPR. If the
         source is names JUNK.LZH (a ZIP file <grin>) and you convert
         to ZOO, the target name will be JUNK.ZOO.

 Relate: None
 Dest. : All


 ┌─────────────────────────────────────────────────────────────────────┐
 │ SFXFiles                                                            │
 └─────────────────────────────────────────────────────────────────────┘
 Usage : The most powerful but also most tricky option is last. The
         SFXFiles option is optional (thank god).
         When you include SFXFiles, MTA will try to read every file
         (if the filename is validated to the command-line filespecs)
         and first test if it's a normal compression file. If it is
         NOT, it will read the file again (up to 32K of every file)
         and test if the file is a ARC (SEA/NoGate/PKWare), PAK, ZIP,
         LHarc or Larc compatible SFX-file (self extraction .EXE or
         .COM file). If it is, it will try to convert the file to a
         temporary file and then convert it to the compression system
         you have supplied.
         There can occur numerous errors in this test/conversion, but
         on my system 99.99% of all SFX-files are done correctly. If
         the SFX is not correct, MTA will go on (or abort depending
         on the error) but nothing happens with your SFX-file. The
         change to get 'Compression' or 'Decompression' errors is
         somewhat bigger.
         I should suggest to you, to use the option with care, of
         to use the /SFX switch on the command-line as a temporary
         replacement.

 Relate: None
 Dest. : All


 ┌─────────────────────────────────────────────────────────────────────┐
 │ 4DOSAware                                                           │
 └─────────────────────────────────────────────────────────────────────┘
 Usage : This option is now obsolete. Look into the Not4DosAware option.


 ┌─────────────────────────────────────────────────────────────────────┐
 │ Not4DosAware                                                        │
 └─────────────────────────────────────────────────────────────────────┘
 Usage : MTA will use some 4DOS instructions along the conversion-path.
         This will only be the case when:
         - MTA detects 4DOS in the machine (INT $2F combination);
         - MTA detects a COMSPEC value with 4DOS somewhere inside
           the name of the program (4DOS.COM, 4DOS88.EXE or 4DOS286.EXE)
           belonging to this environment variable;

         If you don't want to use 4DOS instructions at all (look into
         the chapter about 4DOS), you must code the Not4DosAware op-
         tion, otherwise MTA will use them,

 Relate: MoveToPath
 Dest. : All


 ┌─────────────────────────────────────────────────────────────────────┐
 │ ForceCGA                                                            │
 └─────────────────────────────────────────────────────────────────────┘
 Usage : This option should be used when you have trouble with the
         video while the (de)compressors are running. The option
         has nothing to do with YOUR screen mode, more with the type
         of display MTA will select to display your window.
         Problems will look like a shell with only characters on the
         first position of every line and garbage....

 Relate: None
 Dest. : All


 ┌─────────────────────────────────────────────────────────────────────┐
 │ StowBuffer [bytes]                                                  │
 └─────────────────────────────────────────────────────────────────────┘
 Usage : MTA uses some special options inside the little shell where
         the compressors run. For this option, MTA has to reserve some
         bytes in memory. This block of memory must be large enough to
         contain ALL displayed output inside this shell for one run.
         Usually 32768 bytes is enough, but when you have extreme large
         archives and you use a compressor that produces width lines
         (many) like ZIP when working recursive, this could not be
         enough. In these special cases you can enlarge the buffer up
         to 65534 bytes in length, but this means you 'consume' an
         extra 32K when the shell is called.
         The supplied value must be enough for ONE (the biggest) call.
         When MTA gets control again, the buffer is cleared and can
         be used again. Normally you don't have to use this option !

 Relate: None
 Dest. : All


 ┌─────────────────────────────────────────────────────────────────────┐
 │ SubstDrive [array of drives]                                        │
 └─────────────────────────────────────────────────────────────────────┘
 Usage : Please read chapter 3.28 about substituted drives before using
         this option. If you use the option you must only supply a
         drive you want to use as a temporary substituted drive.

         With this option you specify 1 or more (if you run more than
         one MTA-task at a time in network or multitasking environments)
         drive-letters that MTA can use as a SUBSTituted drive. Details
         on how to select drives are also given in chapter 3.28. You
         must supply multiple drives as one array (without spaces) of
         letters. For example:

         To use A:            as the substituted drive : SubstDrive A
         To use E:, F: and G: as the substituted drives: SubstDrive EFG
            (only needed when you run multiple copies of MTA)

         Please also read CAREFULLY chapter 3.29 (Concurrent MTA's)
         for a FULL understanding on how MTA assigns substituted
         drives in concurrent environments.

 Relate: None
 Dest. : All


 ┌─────────────────────────────────────────────────────────────────────┐
 │ NoMouse {Window}                                                    │
 └─────────────────────────────────────────────────────────────────────┘
 Usage : If the behavior of the mouse-routines give you pain in the
         head, you can shut off the mouse permanent with the NoMouse
         option. There is also an in-between way. When you use the
         optional parameter 'Window' (without the quotes), MTA will
         shut off the mouse in ANY DOS-window, so also the little
         window under MTA's main screen, used for the (de)compression.
         Sometimes this is needed, when the system can not handle the
         interrupt-routine that stays active while MTA calls the
         (de)compression programs. On my own system, I have found no
         problems at all, but there are reports of hanging programs
         while the mouse is active in the (de)compression window. In
         that case, use 'Nomouse Window'. This means you have still
         control over the mouse in the tag-menu and while MTA is
         doing something of its own.
         This option only has a meaning when you have loaded a mouse
         driver and attached a mouse.

 Relate: None
 Dest. : All


 ┌─────────────────────────────────────────────────────────────────────┐
 │ AltDisplay                                                          │
 └─────────────────────────────────────────────────────────────────────┘
 Usage : MTA can display either of two screens. A screen with static
         run-time options (default) or a dynamic screen with a list
         of files to go. You can toggle this screen while MTA is
         running. Use the 'T' key to toggle between dynamic and
         static display.
         If you want MTA to start (by default) with the dynamic screen,
         you must include the AltDisplay option. You can still toggle
         screens tough. Let it be clear that the any MTA-child (called
         with arc-in-arc files) will start with the default option
         (so static or dynamic when AltDisplay is included in MTA.CTL)
         and NOT the state of the screen its MTA-parent had);

 Relate: None
 Dest. : All


 ┌─────────────────────────────────────────────────────────────────────┐
 │ NoSwap                                                              │
 └─────────────────────────────────────────────────────────────────────┘
 Usage : Normally MTA will use swapping when Arc-In-Arc files are
         converted. If you don't want to use swapping, include this
         option. When swapping is set to OFF (NoSwap) only 1 or 2
         levels of Arc-in-Arc files can be converted;

 Relate: SwapPath
 Dest. : All


 ┌─────────────────────────────────────────────────────────────────────┐
 │ SwapPath [path]                                                     │
 └─────────────────────────────────────────────────────────────────────┘
 Usage : When NoSwap IS NOT set, you can use the SwapPath option to
         let MTA know where to place the swap-files (if no EMS is
         available, or EMS if fully used).
         By default MTA will use the root of the current drive. The
         files (if created) have SYSTEM and HIDDEN attributes set.
         Never delete these files inside the MTA-shell (a crash
         will occur), only when MTA is finished (or did hang up your
         machine). Normally MTA will delete this file itself. Every
         file is around 150.000 bytes in length;

 Relate: NoSwap
 Dest. : All


 ┌─────────────────────────────────────────────────────────────────────┐
 │ VirusScanner [scanner] [type]                                       │
 └─────────────────────────────────────────────────────────────────────┘
 Usage : You can let MTA call a virus scanner after MTA has decompressed
         the file it is converting. At this moment only two scanners are
         supported. These are:
         - SCAN     from McAfee Associates (only versions 39 and higher)
         - VIRSCAN  from J.P. van der Landen (A popular dutch virus
                    scanner, from version 1.2 and up);
         - TBScan   from Frans Veldman / ESaSS b.v. (Also a popular
                    dutch and international scanner, from version
                    17 and up);
         In fact you can insert any scanner if it governs to the
         following rules:

         - Terminates with an error level > 0 if virus found;
         - Takes the directory to scan as the first (and only)
           parameter;
         - Writes thru BIOS;
         - You supply a 'type' 2;

│        or
│
│        - Terminates with an error level > 0 if virus found;
│        - Takes the directory to scan as the first (and only)
│          parameter;
│        - Writes directly to the screen;
│        - You supply a 'type' 3;

         Type 1 is designed for McAfee's SCAN.EXE, Type 2 is written
         with VIRSCAN.EXE (and alike) programs and Type 3 must be used
         with TBSCAN.COM (and alike) scanner.

         When the scanner detects a virus, MTA will move the compressed
         file (original) to the temporary directory, so you can examine
         the file(s) yourself at a later time.
         If you include VirusScanner, you must include drive, path and
         filename (SCAN.EXE, VIRSCAN.EXE or yours) of the virusscanner.

         When using McAfee's SCAN (up from release 39) you do not have
         to do anything special. MTA was originally designed to work
         with this program and it is most commonly used outside Holland.
         When using McAfee's SCAN, you must supply a type 1 (or no type
         at all);

         When using v.d. Landen's VIRSCAN, you must do special tricks:
         - VIRSCAN does not end with an errorlevel > 0 set when a
           virus is detected (yet, a hint ?);
         - I have build a little Shell program around VIRSCAN.EXE
           because the coding would take to much from MTA's working
           memory. This program (MTU.EXE) does all the dirty work for
           MTA before and after VIRSCAN has taken control. You must
           supply the VirusScanner option with the drive, path and
           name of MTU.EXE and supply a 'type' of 2 (most important);
         - VIRSCAN.EXE (and the VIRSCAN.DAT file) must be placed (with
           this names) somewhere in the DOS search path;
         When a errorlevel termination is implemented in VIRSCAN.EXE
         (I hope), MTU is dropped and MTA is changed to call VIRSCAN
         directly.
         With VIRSCAN in action, you get one extra gig. MTA/MTU calls
         VIRSCAN.EXE with the /Llog option (in fact MTU.EXE reads the
         log to see if there are any errors) and this log-file is also
         moved to the temporary directory so you can examine it.

│        When using Veldman's TBSCAN, you can use type 3. Type 3 con-
│        tains 2 special tricks. First, the errorlevel is reset to 0
│        if errorlevel 2 is returned by TBSCAN (or such alike program).
│        TBSCAN will give errorlevel 2 in case of an invalid parameter,
│        but ALSO when no valid files are found.
│        In case of type 3, MTA's special DOS-window can not be used
│        because TBSCAN writes directly to the screen. Though being a
│        drawback on 'standard procedures' this makes no difference
│        to MTA. MTA will create a full DOS-window to run TBScan or
│        any program assigned a 3 as the type. You can assign a special
│        virus-log to TBScan. Not only the file is moved to a separate
│        directory (by MTA) but you can also see the type of virus.
│        Using a log calls for the usage of extra parameters (see the
│        following option).

         To summarize all scanner options:
         - SCAN    :  VirusScanner X:\path\to\scan\SCAN.EXE 1
         - VIRSCAN :  VirusScanner X:\path\to\mtu\MTU.EXE 2
                      (VIRSCAN.EXE/DAT somewhere in the path)
│        - TBSCAN  :  VirusScanner X:\path\to\mtu\TBSCAN.COM 3
│                     (TBSCAN.DAT is in the same directory as TBSCAN)


 Relate: None
 Dest. : All


 ┌─────────────────────────────────────────────────────────────────────┐
 │ VirusScanParm [parm] {parm} {parm}                                  │
 └─────────────────────────────────────────────────────────────────────┘
 Usage : When you instruct MTA to use a VirusScanner, you can (optionally)
         use extra command-line parameters with your scanner if:
         - The scanner knows any extra command-line parameters;
         - The scanner can use the syntax:
           'Program-name Directory_to_scan Commandline_parameters'
         This option is useful to trigger McAfee's extra options. For
         example, to let McAfee's SCAN also scan the .MTA files, you
         can add 'VirusScanParm /E .MTA'.
│        In case of Veldman's TBSCAN, you can use something like
│        -v -d -a -r -s +n +lC:\LOG\MYVIRUS.LOG


 Relate: VirusScanner
 Dest. : All



 ┌─────────────────────────────────────────────────────────────────────┐
 │ ShareWait [seconds]                                                 │
 └─────────────────────────────────────────────────────────────────────┘
 Usage : This option is used to overcome problems with a so called
         'deadlock'. A deadlock can arise from a sharing violation.
         When a task locks a file that MTA needs and this lock will
         stay for a long period, then MTA will also wait as long as
         the file is locked. The ShareWait option will define a maximum
         to the period MTA will wait. By default MTA will wait 300
         seconds (5 minutes). If this is not enough (or too much) then
         you can define any other period (in seconds) with this option.

         ShareWait is ONLY needed in a multitasking/network environment
         and has no meaning when SHARE is not loaded.

 Relate: None
 Dest. : All


 ┌─────────────────────────────────────────────────────────────────────┐
 │ ReportSpecialAttributes                                             │
 └─────────────────────────────────────────────────────────────────────┘
 Usage : This option was already available in MTA 8.xx under the name S1.
         It was a hidden option, only known to some SysOp's opt BBS's.
         MTA converts all special attributes in a compressed file (lets
         say HIDDEN or SYSTEM or READONLY) to a normal attribute of
         ARCHIVE (X'20'). This is done to prevent files to keep on disk
         after the compressed file is converted. With some compressors
         it is possible to compress files with abnormal attributes.
         When you include this option all files with special attributes
         are reported in MTA.ERR !


 Relate: None
 Dest. : All


 ┌─────────────────────────────────────────────────────────────────────┐
 │ KeepAV                                                              │
 └─────────────────────────────────────────────────────────────────────┘
 Usage : A very special option that puts MTA right back on the map !
         ZIP-files can contain a Authenticity Verification (only USA
         owners). Everywhere in the world, BBS's are receiving these
         original files. When MTA converts such a file, the AV is gone
         and that was not the meaning of the AV-function.
         When you use KeepAV, MTA will keep all source-files with a
         AV inside ! This means that ZIP's will stay ZIP's even if
         the target is ZOO, DWC or something else.
         Also, setting this option, will trigger some special MTA
         functions. With KeepAV set to ON, you can still delete files
         from these ZIP's that other Sysop's added to this file, if,
         and only if, this extra file does NOT contain a AV. Also,
         you can add comments and files of your own to these files
         but this is not done in the 'normal' MTA way. In case of
         a AV'ed file (with KeepAV on), MTA will delete files with
         'PKZIP -d', add with 'PKZIP -a' and add comments with a
         special type of 'PKZIP -z' (so no user intervention is
         needed) and not by UNZIPing the file and ZIPing it again
         as done in the normal way !
         MTA will in fact UNZIP the source-file to check for any
         virus (still, even with AV'ed files), so this feature is
         still available.

         I URGE you to use KeepAV when you use MTA on a BBS. This is
         a service to your users !


 Relate: None
 Dest. : All


 ┌─────────────────────────────────────────────────────────────────────┐
 │ LogStyleFormat [string]                                             │
 └─────────────────────────────────────────────────────────────────────┘
 Usage : MTA creates several log-records under different conditions.
         You can use the standard log, but Sysop's hate all these
         different log-files (in general). MTA can create customized
         log-records. With these options, you can instruct MTA to
         create records that look the same as the records from your
         mailer or BBS program. The option LogStyleFormat and the
         LogDateFormat/LogTimeFormat combination can be used to define
         the style of the log-records MTA will create for ALL three
         log-files (normal log-file, error log-file and password-list
         log-file). These options are implemented with the idea that
         different log-styles only vary at the start of the records
         and not at the end.

         The LogStyleFormat defines the 'structure' of the log-record
         header. The format is free but with three special cases:
         - Blanks must be replaced by underscore characters '_';
         - The part of the record that contains the date must be
           defined with %D (if a date is wanted);
         - The part of the record that contains the time must be
           defined with %T (if a time is wanted);
         - Any extra CRLF combinations (to create a separation
           line) must be defined with ^M;

         An example (also read LogDateFormat and LogTimeFormat for
         a description of the time and date functions):

         You want to create records that look like this:

         +  6 Jan 1990   2:00p   The start of the log

         The 'The start of the log' part is constructed by MTA itself,
         so you have only to define the header. This is done as follows:

         LogStyleFormat +_%D__%T___         (The _ character replaces
                                            a blank)
         LogDateFormat  DD_nnn_yyyy
         LogTimeFormat  HH:mmt

         %D and %T are replaced by MTA with the date and time formats
         as supplied in LogDateFormat and LogTimeFormat. MTA.CTL
         contains a number of examples for the various BBS programs
         and Mailer programs.


 Relate: LogStartStyleFormat, LogDateFormat, LogTimeFormat
 Dest. : All


 ┌─────────────────────────────────────────────────────────────────────┐
 │ LogStartStyleFormat [string]                                        │
 └─────────────────────────────────────────────────────────────────────┘
 Usage : This is an additional option you can use along with the pre-
         vious LogStyleFormat option. Some types of log use a special
         format where the actual date is put into an extra record (with-
         out any further meaning than logging the date). MTA can create
         such a record for you. MTA will put the record with the format
         you supply in LogStartStyleFormat into the log as the first and
         only record for THIS run of MTA. If MTA stops and is started
         again, a new record of this type is written.
         A type of log with this format is found in the FrontDoor <tm>
         mailer.

         The options you can use in this logstyle-format are the same
         as with the LogStyleFormat option.


 Relate: LogStyleFormat, LogDateFormat, LogTimeFormat
 Dest. : All


 ┌─────────────────────────────────────────────────────────────────────┐
 │ LogDateFormat [string]                                              │
 └─────────────────────────────────────────────────────────────────────┘
 Usage : LogDateFormat is used to define the 'date part' (actually the
         %D) in the LogStyleFormat option. MTA (in fact some nifty
         routines from TurboPower, credit to those who should have
         the credits) has knowledge of a big number of options to
         define the date. The [string] must be composed of a number
         special letters and (optionally) the separators and spaces
         between the various parts of actual date. In fact [string]
         should be a picture mask. The following characters have a
         meaning in the mask:

         m or M       The month (upper case will create leading a
                      leading space as replacement for a zero)
         d or D       The day   (upper case will create leading a
                      leading space as replacement for a zero)
         y or Y       The year  (upper case will create leading a
                      leading space as replacement for a zero)
         n or N       The name of the month (upper case will force
                      an upper case name);
         w or W       The name of the day   (upper case will force
                      an upper case name);

         Each character must be repeated as many times as you want
         digits or letters. So '90' for the year 1990 is defined
         with yy and the full year is defined with yyyy. Some
         examples:

         mm/dd/yy         01-31-90
         MM/dd/yy          1-31-90
         dd/mm/yyyy       31-01-1990
         dd/mm/yyyy       31-01-1990
         dd NNN yyyy      31 JAN 1990
         dd nnn yy        31 Jan 1990
         dd n yyyy        31 J 1990
         www dd nnn yyyy  Sun 31 Jan 1990

         As you can see, lots to experiment with.


 Relate: LogStyleFormat, LogTimeFormat
 Dest. : All


 ┌─────────────────────────────────────────────────────────────────────┐
 │ LogTimeFormat [string]                                              │
 └─────────────────────────────────────────────────────────────────────┘
 Usage : LogTimeFormat is used to define the 'time part' (actually the
         %T) in the LogStyleFormat option. MTA (in fact some nifty
         routines from TurboPower, credit to those who should have
         the credits) has knowledge of a big number of options to
         define the time. The [string] must be composed of a number
         special letters and (optionally) the separators and spaces
         between the various parts of actual date. In fact [string]
         should be a picture mask. The following characters have a
         meaning in the mask:

         h or H       The hour    (upper case will create leading a
                      leading space as replacement for a zero)
         m or M       The minute  (upper case will create leading a
                      leading space as replacement for a zero)
         s or S       The seconds (upper case will create leading a
                      leading space as replacement for a zero)
         t or T       'p'/'P' (in PM) or 'a'/'A' (in AM)
         e or E       'm'/'M' (in PM or AM)

         Each character must be repeated as many times as you want
         digits or letters. For h/H/m/M/s/S this should be two digits
         to be useful. Some examples:

         hh:mm            14:00
         hh:mmt           02:00p
         HH:mmte           2:00pm
         HH:mm:ss         14:00:45
         hh:mm:ss         14:00:45

         Again, as you can see, lots to experiment with.


 Relate: LogStyleFormat, LogDateFormat
 Dest. : All


 ┌─────────────────────────────────────────────────────────────────────┐
 │ OwnCompressPath {drive}{path}[filename]                             │
 └─────────────────────────────────────────────────────────────────────┘
 Usage : You can instruct MTA to include an extra compressor of your
         own taste. This can be almost any compressor, but look in
         the paragraph 'Customized compression' for the specs on
         (de)compressors.
         With this option you supply the full filename (name and
         extension and optional path and drive) of the customized
         compressor. This has to be a valid filename.


 Relate: All Own-options
 Dest. : OWN


 ┌─────────────────────────────────────────────────────────────────────┐
 │ OwnDeCompressPath {drive}{path}[filename]                           │
 └─────────────────────────────────────────────────────────────────────┘
 Usage : You can instruct MTA to include an extra decompressor of your
         own taste. This can be almost any decompressor, but look in
         the paragraph 'Customized compression' for the specs on
         (de)compressors.
         With this option you supply the full filename (name and
         extension and optional path and drive) of the customized
         decompressor. This has to be a valid filename.


 Relate: All Own-options
 Dest. : any, source is OWN


 ┌─────────────────────────────────────────────────────────────────────┐
 │ OwnCompressCall [parameters to use]                                 │
 └─────────────────────────────────────────────────────────────────────┘
 Usage : When you include a customized compressor, you have to supply
         the call to that compressor. This call must do the following:
         - Compress all files in the current path to the compression
           file;
         - delete all original files from the directory;
         - or compress all files with a MOVE (not COPY) option;
         The syntax for the [parameters to use] depends on the compress.
         Look in the paragraph 'Customized Compression' for an example.
         There is one option you can include in the [parameter to use]
         and that is the %1 combination. MTA will substitute %1 with
         the name of the compressed file.


 Relate: All Own-options
 Dest. : OWN


 ┌─────────────────────────────────────────────────────────────────────┐
 │ OwnDeCompressCall [parameters to use]                               │
 └─────────────────────────────────────────────────────────────────────┘
 Usage : When you include a customized decompressor, you have to supply
         the call to that decompressor. This call must do the following:
         - Extract all files from the compressed file to the current
           path;
         The syntax for the [parameters to use] depends on the
         compressor. Look in the paragraph 'Customized Compression'
         for an example. There is one option you can include in the
         [parameters to use] and that is the %1 combination. MTA will
         substitute %1 with the name of the compressed file.



 Relate: All Own-options
 Dest. : All, source is OWN


 ┌─────────────────────────────────────────────────────────────────────┐
 │ OwnCompressLowErrorRC [errornumber]                                 │
 └─────────────────────────────────────────────────────────────────────┘
 Usage : When you include a customized compressor, you have to supply
         the LOWEST dos errorlevel given by the compressor when
         something is WRONG. This must be any number between 1 and 255.


 Relate: All Own-options
 Dest. : OWN


 ┌─────────────────────────────────────────────────────────────────────┐
 │ OwnDecompressLowErrorRC [errornumber]                               │
 └─────────────────────────────────────────────────────────────────────┘
 Usage : When you include a customized decompressor, you have to supply
         the LOWEST dos errorlevel given by the decompressor when
         something is WRONG. This must be any number between 1 and 255.


 Relate: All Own-options
 Dest. : All, source OWN


 ┌─────────────────────────────────────────────────────────────────────┐
 │ OwnExtension [extension]                                            │
 └─────────────────────────────────────────────────────────────────────┘
 Usage : When you want MTA to 'see' your customized compressed files,
         you have to supply the name of the extension MTA has to look
         for. This can only be 1 extension (e.g. OWN).
         For every file that confirms to the supplied wildcards, MTA
         will FIRST look if it has an 'OwnExtension'. In that case
         MTA will decompress the file with the supplied decompressor.
         If the destination is OWN, MTA instruct the customized
         compressor to create files with extension 'OwnExtension'.


 Relate: All Own-options
 Dest. : All, including source OWN


 ┌─────────────────────────────────────────────────────────────────────┐
 │ OwnRecursive                                                        │
 └─────────────────────────────────────────────────────────────────────┘
 Usage : When you implement an own compressor, you have to tell MTA
         if that compressor is capable of handling recursive support.
         This means that the compressor will look in the current and
         all lower directories. If the customized compressor can not
         handle recursive support, you have to leave this option out.


 Relate: All Own-options
 Dest. : OWN


 3.14 Customized compression
 ────────────────────────────────────────────────────────────────────────
 From release 7.01 and up, MTA can work with customized compressors.
 This was implemented for special (de)compressors (maybe written by
 your own hand) but it also comes in handy when a new version of one
 of the common compressors hit the marked and MTA can not (yet) work
 with some of the new options.

 With an example I will show you how to implement a customized
 compressor, but first there are some basic rules for the new
 (de)compressor:
 - It must report an error with an errorlevel higher than 0;
 - The first errorlevel that reports an error can not be followed
   by a higher errorlevel that does NOT report an error;
 - The compressor MUST have an option to delete the files it
   compresses after compression;
 - The decompressor CAN have recursive support. This also goes for
   the compressor;
 - You can NOT use a batch-file to call the compressor/decompressor.
   Probably I will include this in a higher version of MTA;

 Now the example. Suppose we are implementing the compressor CRA.
 CRA is fully compatible with the popular ARC but works backward
 and not forward (maybe YOU like this). The calling syntax is just
 like SEA's <tm> ARC (c). Now how do you implement this program:

 OwnCompressPath         C:\SYS\ARC\CRA.EXE
 OwnCompressCall         m %1 *.*
 OwnCompressLowErrorRC   8
 OwnDeCompressPath       C:\SYS\ARC\CRA.EXE
 OwnDecompressCall       e %1
 OwnDecompressLowErrorRC 8
 OwnExtension            CRA
 OwnRecursive

 MTA will substitute %1 in OwnCompressCall and OwnDeCompressCall
 with the name and location of the compressed file (something like
 C:\TRASH\PATH\MYTRASH.CRA), the rest is up to you.
 The decompressor has to decompress the files in the CURRENT
 directory, the compressor gets its files from the CURRENT directory.

 Please feel free to experiment with this options. Next releases of
 MTA will extend the features a lot, but this option can help you to
 implement some basic compressors.
 When you have to replace a common compressor (like ZIP) with a newer
 version, the OwnExtension ZIP will do the trick. You must include
 all other OWN-options and you have to create files with a destination
 of OWN (/OWN). For safety you can comment out the other ZIP-related
 options !!!


 3.15 Recursive support
 ────────────────────────────────────────────────────────────────────────
 MTA carries a complete recursive support. This means that MTA will
 carry the (relative) path-names (if available in the source file)
 into the target file (if the target compression method supports
 path-names).
│At the moment ZIP, LZH, LZS, ARJ, HYP  and ZOO can contain path-names.
 MTA will look at the target method to determine if the source is
 decompressed with or without path-names. MTA will clean all the
 created paths and remove them from under its own temporary path
 when compression is done. This means that MTA carries a complete
 recursive directory system inside itself.

 LZH, LZS (Larc), DWC and PAK use a special trick with recursive
 support. These archives are not extracted with paths relative to
 the current directory but absolute from the root (sometime if
 specified). It is impossible for MTA (without special resources
 like an empty drive <grin>) to extract these archives, but when
 you use the SubstDrive option in MTA, MTA will be able to work
 on these archives in the correct manner (WITH recursive support).
 I advise you to use the SubstDrive option, unless you have an
 incompatible DOS (old versions, or special customized versions)
 on your machine. If SubstDrive gives you problems, you can leave
 the option out, but in that case MTA will leave the full recursive
 support for LZH, LZS, DWC and PAK out. This means that you can still
 convert from and to these systems but path-names inside the original
 archives are gone after conversion. Read chapter 3.27 about the use
 of a temporary substitute drive.


 3.16 Compression File-in-Compression File
 ────────────────────────────────────────────────────────────────────────
 This is a nice (I think) feature. You should thank Reinier de Groot,
 Eef Hartman and John Lots for this feature.

 The facts:

 - Many compressed files contain extra (also) compressed files with
   collections of supporting files (like batches for a communication
   program);
 - When converting say ZOO files (with ZOO files inside the original
   ZOO file) to ZIP, it should be nice also to convert the included
   ZOO files to ZIP, giving a ZIP files with ZIP files inside;

 My history (or 'why wait until now'):

 - In its original form, MTA took about 140K to do 'it's thing'. I
   should urge to say that I have done the utmost to optimize all
   used variables and to keep the code as small as possible, creating
   a mixture of structured and spaghetti code (it is inherent to create
   spaghetti when searching for speed and size);
 - I should also like a 'convert compressed in compressed' option, but
   again I urge to say that I would only implement this option when
   giving (almost) the same options as a normal conversion of a file;
 - Doing this with only 1 level of 'compression inside compression'
   should cost (again) 100K. Even when the whole MTA program could
   be converted to a recursive executable program, memory could not
   be limited to a normal size;
 - Forgetting the facts above, I would like to see a real conversion.
   This means that MTA should convert compressed-in-compressed files
   with:
   - recursive support;
   - description support;
   - more levels of compressed-in-compressed (I mean a A.ZIP containing
     a B.ZIP containing a C.ZIP containing.... and so on);
   This is far more than the easy way where most other programs come
   in the picture. I mean, decompressing the original and adding (1
   level only) of a next compression file into the original one, thus
   (possible) overwriting existing files in the original one.

 Facts and fiction:

 After reading questions from two users again, I was sure that the
 compression-in-compression option was needed. I even got a little
 crazy about the whole thing. But after a long and hot night (no
 sleep !) I had it.
 When I could rewrite MTA in a way that it could called again with
 a fresh start, everything would work, but what about the memory
 consumption. That was the least of the problems. There are enough
 program swappers around, and now MTA contains (again at last) its
 own (internal) swap utility !
 MTA will swap itself (around 150.000 bytes) to EMS (if present and
 usable) or to DISK (see SwapPath option) if less than 150.000 bytes
 are present in EMS or there is no EMS at all. XMS is not (yet)
 supported yet but will be in the future !

 Diskette users are urged to buy a large EMS-card (with every swap
 around 150 KBytes are set aside) or a hard-disk <grin> or they
 must include the NoSwap option in their MTA.CTL (causing MTA to
 call itself without swap, thus putting a limit on the number of
 nest-levels).

 The number of levels depends on two things:
 - The length of the source-directory name and the length of the
   directory name the called (de)compressor is in;
 - The number of bytes available;

 When you start with a directory called C:\A the possible number of
 levels is higher than when you start with C:\DOWNLOAD\DOWNLOAD.
 This is due to the maximum number of characters a directory name
 can be (67 bytes).

 When working in directory C:\FIRST, MTA normally creates the directory
 C:\FIRST\xxxxxxxx  (xxxxxxxx is a Hex representation of the current
 time and date with a fixed length of 8 bytes). For every 'level' of
 compression files inside the primary compression file, MTA creates
 a directory with the name $ under the previous, thus creating
 C:\FIRST\xxxxxxxx\$ for the first level, C:\FIRST\xxxxxxxx\$\$ for the
 second level and so on.

 The following discussion is based on swap of 150.000 bytes and a
 remaining portion of around 4K (it is less) with every swap.

 When MTA starts is 'takes' 128K. When processing the first 'level'
 of compressed-in-compressed, it gives back 124K and holds 4K. The
 second level needs 128K, but gives away 124K when working on the
 following level.
 Every 'give away' is swapped to EMS or DISK when EMS is not
 available or full.

 In a diagram (when converting a '2 level' compression-in-compression
 file (the numbers are the total bytes occupied by the MTA program(s)
 in memory):

 MTA (128K) ------> MTA (132K) ------> MTA (136K)
 A.ZIP ............ files
                    B.ZIP............. files
                                       C.ZIP

 You should add the number of bytes needed for the largest called
 (de)compression program (around 250K), so with a 640K machine, 60
 levels should be the limit (this is 59 times MTA in memory and around
 60 * 12k = 7,6 MegaBytes in EMS or on Hard-disk, so be prepared !).

 Recursive support inside compression-in-compression files, sounds
 like fiction, but with this structure its a FACT. MTA maintains its
 complete recursive support with EVERY level of compressed files
 inside a compressed file !


 3.17 MTA Touching System
 ────────────────────────────────────────────────────────────────────────
 MTA carries a complete file-touching (is (re)setting file time/date
 stamps) system. This system works like the MTT (another DISP program).

 What can this touching system do ? Well that's easy to tell. Your
 compressed files all carry a file time/date stamp. In fact, most of
 these time/date stamps say nothing about the file. Sometimes it's the
 time/date of creation, sometimes the time/date of download, something
 non of the kind.

 Some of the compression programs carry a function to set the date of
 the compressed file to the highest (or lowest) date in the archive,
 but not all the compressors know of this option and when it does, it
 has no meaning to you when you get the compressed file in it's
 compressed form.

 MTA has it's build-in touching system to supply you a with this
 function, even when the target compressor does not have this function.
 MTA extends this feature by letting you choose from 4 kinds of file
 touching. These are:

 - Touch compressed file with current date (TOUCHCUR parameter);
 - Touch compressed file with the lowest date IN the compressed
   file (TOUCHLOW parameter);
 - Touch compressed file with the highest date IN the compressed
   file (TOUCHHIG parameter);
 - Leave the compressed file's time/date as it is (supply non of the
   three parameters above or supply /F to the command-line);

 There is one thing you must observe ! MTA can give a message (depending
 on the WarningTime parameter) about the touching. In fact there are two
 possible errors:

 - A file IN the compressed file has an invalid date;
 - All files IN the compressed file have an invalid date;

 An invalid date is a date lower than 01-01-80 (00:00) or higher than
 the current date and time.
 Messages of these kind can have two meanings:

 - The one who created the compressed file has done something strange
   with time/date stamps;
 - Your own current date on your PC is incorrect (lower than the
   actual date);

 You special cases you want to ignore the time component in a date/time
 stamp. There is an option available for this feature. Also you can
 instruct MTA to ignore dates that are to high.

 The last of the two is the most dangerous and you should look into
 it at once !

 MTA excludes all files marked as excluded (but also those marked as
 pending for include) for the touching system. When these files are
 not excluded, it could be possible that all your archives will get
 the same date (e.g. the date of one of the included or excluded
 files). The included and excluded files will have nothing to do with
 the archive itself so excluding them from the test will not harm the
 results at all.

│One final note on archivers that do the touching of their own. MTA
│let them do their touching but after the file is created, MTA will
│change the date/time of the new file again to reflect the detected
│date/time execpt when you use not touching at all.


 3.18 Optimal sizes
 ────────────────────────────────────────────────────────────────────────
 From release 9.01 of MTA there is a new feature available. You can
 now construct the smallest compression file from a selection of
 compression programs. All you have to do is to add a third parameter
 to the ..PATH options in MTA.CTL. When you supply a 'Y' as the
 third parameter (after the path and name of the compressor), you let
 MTA know that it can use this compressor as one of a selection of
 compressors that are called to obtain the smallest compressed file.

 MTA optimizes like this:

 - Supply at least 2 (or 1 in the case of ZIP) compressors with the
   'Y' option;
 - Call MTA with the /OOA switch;
 - MTA decompresses the compressed file;
 - MTA compresses the file with all of the compressors with 'Y' as
   the third parameter. In the case of PKZIP 1.01, MTA tries both
   -ex and -eb;
 - MTA selects the smallest compressed file and will create this one
   for you as the target.

 This all means that you can get a mixture of compressed files. Only
 when you include only ZIP as a optimize compressor (only 1.01>) you
 always get ZIP's. In case of all other compressors it is useless
 (and time consuming) to only add 1 optimize compressor because in this
 case MTA will do the same thing twice.

 To keep disk-space inside limits, MTA will delete every temporary
 compressed file after its creation. This means that when a file is
 LZH and the optimizer will choose LZH, you are compressing the file
 twice, but the disk-space used will be the same as when you run MTA
 without /OOA.


 3.19 Diskette option
 ────────────────────────────────────────────────────────────────────────
 MTA's greatest power lies in it's diskette option. With this option
 you can easy convert full diskette's (with compressed files) to
 another compression system.
 When activating the diskette option (with the /D switch) MTA goes in
 recursive state and will ask for the next diskette when the previous
 one is done.

 MTA's diskette option depends on a number of parameters in MTA.CTL.
 These are FDUTempPath and FDUTrashPath. These parameter MUST be
 available (and correct) in the MTA.CTL file.

 What steps does MTA take when converting a diskette:

 - Read all (selected) files on the diskette and decide which are
   compressed files and which are not;
 - Move (copy + delete from source) these files to the path supplied
   in FDUTempPath;
 - Create a temporary directory (MTA$$$$$.MTA or one you named in the
   MTA.CTL);
 - Take a file until no files left;
   - Decompress the file in FDUTempPath to the temporary directory;
   - Compress the file to the new system and put the result in the
     FDUTempPath;
 - Execute the 'Before' EXIT if available;
 - Move all files (from big to small) back to the diskette until there
   is no room left on the diskette or all files are moved;
 - If there was no room on the diskette to store all files, move the
   remaining files to FDUTrashPath and keep them there until a next
   diskette comes along with enough space to hold one (or more) of
   the files in FDUTrashPath;
 - If there was still room left after the move to diskette, MTA looks
   in FDUTrashPath to see if there are one or more files that will fit
   onto this diskette. If so, MTA moves this(these) file(s) to this
   diskette;
 - Execute the 'After' EXIT if available;
 - Clean up the temporary directory;
 - Ask for next diskette or stop;

 From the previous description you could learn three things:

 - The FDUTrashPath and FDUTempPath directories remains intact after MTA
   ends. FDUTrashPath could contain files, FDUTempPath should be empty;
 - When the FDUTrashPath directory gets to big (you are using a target
   compression program that creates bigger files than the original ones)
   you supply MTA with on or more (almost) empty diskettes and MTA will
   move files from FDUTrashPath to diskette;
 - You could move all your new incoming files (even NON-compression
   files) to the FDUTrashPath directory by hand. MTA will move these
   files to a diskette when time (and diskette space) comes.

   One final word. As you have noticed (I hope) you can add unlimited
   power to MTA's diskette option with the 'Before' and 'After' exits
   to another program. Please read the EXITBeforeFill and EXITAfterFill
   options in MTA.CTL.


 3.20 Virus detection
 ────────────────────────────────────────────────────────────────────────
 This is a nice option for both BBS's and normal users. MTA can call
 McAfee's SCAN program (must be version 40 or higher) and if this
 program detects VIRUSES, MTA will move the original file to the
 temporary directory (also the decompressed files are found over here)
 and creates 3 null-files as a comment, so when you display the
 directory, you can see that programs with a virus are over here.

 SCAN (version 40 and higher) is available on any good BBS. Please
 make sure the SCAN version you upload is version 40 or higher. MTA
 will not work with lower versions.

 SCAN is NOT included in this archive !

 Check out with McAfee's bulletin board. They have a lot of vaccines
 for most viruses. A great venture !!!!

 A warning about the usage of SCAN in combination with a multitasker
 like DesqView <tm>. You must install the multitasker in such a way
 that it is not possible for a task to perform 'bleeding' of any
 characters stowed in the keyboard-buffer. MTA will store a number of
 keystrokes in the keyboard buffer to maintain unattended operation
 even with up to 150 virus-infected files in one single archive. This
 can cause problems in the other task when these characters are stored
 in one task and used/read in one or more other tasks.

│Also Veldman's TBSCAN is directly supported by MTA. See the notes on
│the Virus-options in MTA.CTL. TBScan does not have the problem as
│mentioned above (DesqView) because MTA will NOT stuff any keys to
│the keyboard !


 3.21 Screen control
 ────────────────────────────────────────────────────────────────────────
 MTA uses a small window so you can look at the results of the called
 (de)compressors. This window is maintained with Int 29, so no
 timeout problems (as with earlier MTA versions that used Int 21)
 should occur.

 MTA 9.10 brings back the old situation but far more sophisticated than
 previous versions. ANSI displays are ignored. So PKZIP header files
 in ANSI format are displayed as a number of garbage characters.
 Because of the problems that could arise with ANSI screens (unwanted
 re-configuration of keyboard control, like a ANSI virus) and because
 of the fact PKUNZIP defaults to no-ANSI, I have dropped the ANSI
 support in the small window. Better, the ANSI driver is disabled
 before the (de)compressor gains control and is reactivated after the
 (de)compressor is finished. This also caused a slight improvement in
 the overall performance inside the window (my old Int29 was always
 a bit slow) of around 2-5%.

 The newly implemented DOS shell has the same environment as do the
 (de)compressors have, so no ANSI.

 If you have troubles with the window, you can force the old type of
 window. Supply ForceCGA in MTA.CTL and your problems should be gone.
 This window is somewhat slower than the original one, so try MTA
 without this option first.

 MTA has (from release 14.01 and up) full support for EGA/VGA/MCGA
 users. The following is implemented in MTA to please these users:

 - If the user runs an enlarged text-mode like 43, 50 or 60 lines
   (with a width of 80 bytes), MTA will enlarge the Int29 window
   while calling archivers;
 - If the user runs a text-mode that gives you more than 113 bytes
   per line (like the 132x?? modes), MTA will reconfigure its screen
   to this mode and the alternate displays are displayed BOTH. Toggle
   (with T) has no meaning in these modes;
 - MTA will not set or reset any mode itself. MTA will look to the
   initial screen dimensions and will act according to the values;
 - MTA can reset itself while running. This means that when you
   reset the video-mode to another value (inside the shell or some-
   where in an exit), MTA will also reset its screen when MTA gets
   control again;
 - When you want to run MTA in standard enlarged mode (60 lines and
   132 characters per line, to name one), but you don't want to
   use this mode by default for your other tasks, you can use the
   ExitBeforeStart and ExitBeforeEnd exits to call your video set-
   program (like VU, VGA, ESU or something like this). In the
   ExitBeforeStart you set the mode to the value you like, MTA will
   reset itself to this mode and before the end you call the program
   again to reset to normal text-mode (80x25);
 - MTA will, in no case, FORCE the mode, so inside exits you are on
   your own. If the program you call resets the mode and does not
   set it back (shame), MTA will be forced into another mode;


 3.22 KeyBoard control
 ────────────────────────────────────────────────────────────────────────
 When MTA is running you have control over some keyboard functions.

 When you press [ESC] (escape button), MTA will terminate when the
 current files is converted. When you hit ESC you can release the
 termination stage by hitting any other key, MTA will resume as
 normal. This option is not available in /D mode.

 When you press 'S', MTA will bring you in a DOS-shell, the moment
 MTA thinks it is save to do so. This can be anywhere in the conversion
 phase. MTA will set you in the directory you started MTA from. NEVER
 alter files in the temporary directory MTA has created if you do not
 know what you are doing. Also pressing any other key after 'S',
 releases the DOS-shell option as with [ESC].

 Pressing 'T' will cause MTA to toggle the statistical display from
 static to dynamic mode or the other way around, depending on the
 default settings (AltDisplay option). You can toggle as much as
 you like while MTA is running !

 Some users have put in complaint about the hard way MTA can be
 interrupted. While converting files (not in diskette mode) MTA will
 stop (after hitting ESC) as soon as possible but I will try to find
 a more flexible way to deal with this in version 12 and higher.


 3.23 Swapping
 ────────────────────────────────────────────────────────────────────────
 As said before, MTA uses it's own internal swap routine. All of the
 code, stack, heap and data is swapped. Also some overhead is swapped
 along with these items.

 MTA's swapping routine uses EMS or disk. If enough EMS is available,
 MTA will swap itself to EMS. If EMS is low (or not available), MTA
 will swap to disk. When you execute MTA with a multi-level archive
 file, MTA will swap itself for each level. On machines with low
 disk space, this could cause problems. Each swap file will take a
 number of bytes (roughly 200.000) from your disk away. If swapping
 is not possible anymore (only limited by disk space), multi-level
 archives will not be converted under a certain level.


 3.24 Encryption and Authenticity Verification
 ────────────────────────────────────────────────────────────────────────
 Look into the KeepAV option and you will know the most of the special
 ZIP files with AV-files. Keep in mind that keeping the original AV
 is a service to the users if you run a BBS and uses MTA to convert
 your BBS-files.

 A special case is encryption. At this moment, DWC, PAK, ARC, PKPAK,
 ARJ and ZIP can encrypt files. PAK, ARC and PKPAK (they all try to be
 compatible with each other) give no normal way to detect the usage
 of encryption, so trial on error is the case. ZIP and DWC do better
 in this case. The fact that these files are encrypted can be detected
 from the internal headers. The actual password can not be deleted.

 MTA can extract encrypted files if you supply the correct password
 with the /IPpassword command-line option. Release 13.xx will contain
 a somewhat more sophisticated way to handle encrypted files.
 If MTA detects a ZIP or DWC with encryption and /IPpassword is not
 supplied, MTA will skip conversion for this file. ARC, PAK and PKPAK
 files with encryption will give an error and the file is moved to
 the error-path if no valid /IPpassword is supplied.

 MTA can create encrypted files (ARC, PAK, PKPAK, DWC, ARJ and ZIP)
 with the usage of the /OPpassword option. All selected files will be
 encrypted with the supplied password. Also a log can be created to
 reflect all files generated with a password, using the option with
 the name NormalPasswordListPath;

 MTA also contains a nifty feature. If you (in case you are a Sysop)
 want to create encrypted files in your BBS and you only want the
 users to extract these files when you give permission, you can
 generate files with RANDOM encryption passwords. Use /OP@ and MTA
 will create files with a random password. The used passwords are
 stored in a special log-file (supplied in the RandomPasswordListPath
 option or generated as MTA.PWD in the current directory). Only when
 you supply the password to the user, the user is able to extract
 the files in the archive. You could also use the list as a viewable
 file, somewhere in the BBS.

 Normal users will (normally) have no need for this option, but I can
 imagine there are users who share a PC and who would like to encrypt
 their own files with a unique password in an easy way.


 3.25 Mice and other trouble
 ────────────────────────────────────────────────────────────────────────
 With the introduction of programs like Microsoft's Windows, mice got a
 true life of their own. I am (for sure) not in favor to use the mouse
 in a normal keyboard oriented application, as is now the new trend in
 programming. But MTA is not that keyboard oriented and the mouse will
 only 'consume' 3K of extra memory, so why not !

 Programming a mouse is something for specialist and I am, for sure,
 no mouse specialist (as specialist will see when they run MTA). I
 have found out that programming this little creature is far more
 complex than it appears, but I have tried to make it acceptable,
 both for the hands and for the eye. If users have ideas on how to
 do a better job, let me know.

 Now for the functions of this little rodent in MTA itself. The full
 screen tag is mouse-supported (not such a big task). Tagging and
 scrolling is like with every other mouse program (clicking and the
 famous scroll-bar).
 The status-screen of the running MTA is something else. I have created
 a mouse-window so only horizontal movement is possible and only inside
 the bounds of the selectable objects. You can move the mouse to the
 white (highlighted) '<.>' parts in this window (tagging, shelling,
 terminating and resetting) and click the LEFT button. It will take a
 while before the screen changes (there are some technical reasons for
 this, mainly speed) but it WILL change. The mouse is even accessible
 in most of the DOS-shells except the EXIT-shells. Inside the EXIT's you
 run another application. If that application supports the mouse, you
 will have your support. On return, MTA will reset the mouse to the
 bounds I have defined.

 Clicking the RIGHT button is the same as hitting [ESC] on the keyboard
 or placing the mouse-cursor on <ESC> and use the right-click. It is
 just a shortcut.

 When the mouse is active in MTA, the lower frame will change a bit.
 You will see the '  ├██╞≈≈' symbol, with the mouse-cursor (initially)
 on the ''.

 Some systems have problems with the active interrupt routine while the
 (de)compressor is running in the little window. In that case (hangups
 and such), use the NoMouse option with the Window parameter !

 If you run an enlarged mode (80x43, 132x60 or anything else but 80x25)
 MTA will force the mouse to disable. This is the result of the bad
 performance some drivers have with these modes. Because the mouse-cur-
 sor is also almost invisible in these modes (or you must have Mount
 Palomar on your desk), mice are useless in these mode (at least with
 MTA they are).


 3.26 ITS
 ────────────────────────────────────────────────────────────────────────
 One of my other products is called ITS (Inter Task Semaphore) and is a
 batch-file enhancement for multi-task environments like DesqView or
 Windows. It's main usage lies in the BBS environments. If you include
 a call to ITS in all batch-files in all BBS-lines, you can manipulate
 the batch for line 'x' inside line 'y' because ITS can 'talk' to a
 second (third, up to eight) ITS. It contains some handy features so
 you can run a variable event in one task and let the other tasks wait
 until the event is ready.

 MTA is a program that is tailored to run inside a BBS-event. MTA 12.51
 is aware of the ITS commands /DOWNMTA and /UPMTA. This means that when
 you make MTA aware of ITS (with the ITSPath option set), you can submit
 a /DOWNMTA with ITS and when MTA is running, it will complete the
 current file and terminate, just like you are hitting the ESC key.

 MTA will only read the ITS.SPH (semaphore) file. So when you select to
 terminate MTA with /DOWNMTA (with ITS), don't forget to set the status
 back (with the ITS command /UPMTA) after the event is done, otherwise
 the next execution of MTA will only convert one file !!

 For more details on ITS, read the documentation of this product !


 3.27 MTA and 4Dos <tm>
 ────────────────────────────────────────────────────────────────────────
 Many environments run under 4Dos, so why should MTA not be aware of
 4Dos. When you don't run a BBS, you can use many of the BBS-options
 in your private environment even when you don't run a BBS. Most of
 BBS-options are rewritten or enhanced to support 4Dos. Let me give
 you a full list of features, MTA will give you in a 4Dos environment:

 - More and more BBS SysOp's give an extra service to the user. More
   SysOp's are aware of the fact that when you have seen the archive
   comment with their commercial, you have seen enough. So more Sysop's
   replace this commercial with a description of the file as the
   archive comment and add a little file with their commercials to
   the archive. When you receive such files, MTA can come to help.

   Make the following installation:
   - Set the FilesBBS option like this:
     'FilesBBS DESCRIPT.ION' (without quotes)
   - Set the FilesBBSFormat option like this (or leave it out because
     this is the default):
     'FilesBBSFormat 1 1 I2'
   - Set the Not4DosAware option to OFF (comment it out);
   - Set the AddFilesBBS option;
   - Set the CarryComment option to 2 (without extra parameters);

   So what happens:
   - MTA will convert the archive and extract the comment from it;
   - In the conversion process, MTA can remove the Sysop's commercial;
   - MTA will add the old comment to the new archive (why, you will
     see later);
   - MTA will add a record with the name and description (as extracted
     from the original archive) to the file DESCRIPT.ION in the current
     directory;
   - MTA van optionally move the archive to another location and in
     this case the description in DESCRIPT.ION is carried along with
     the file;

   What is the result:
   - When you give a DIR, you will see the  description of the archive
     in the listing (a 4Dos feature);
   - When you catalog your files, there is a 50% chance that your
     catalog program can read the archive and add the archive comment
     to the database as the description of the file;

   What you don't see:
   - It is possible that you can not find the file DESCRIPT.ION in
     the directory. This is caused by the 'HIDDEN' attribute that
     4Dos assigns to this file;

   So you can see that there are many options in MTA that could be
   meaningful to you, even when you don't run a BBS !

 In a 4DOS environment, most people use the default '^' character as
 the 'COMPOUND' character. PKWare also uses this character to let
 PK(UN)ZIP display the command-line (1.10 and higher) and this will
 cause trouble in paradise. MTA switches the -^ command-line option for
 PK(UN)ZIP to off, when 4Dos is fully present in the PC and the option
 Not4DosAware is set to OFF (commented out).

 MTA will detect a full 4Dos environment when:
 - 4Dos is aware in the machine (Int. $2F combination);
 - The word 4DOS is present somewhere in the value of the COMSPEC
   environment variable.
 IF COMMAND.COM is used as a secondary shell, MTA will not recognize
 the PC as being under full 4Dos control because MTA uses the shell
 pointed by COMSPEC (COMMAND.COM in this case) to call some of the
 programs.

 When MTA detects a full 4DOS environment, it will not use the -^
 option in PK(UN)ZIP. Changing the COMPOUND character to something
 else will still not trigger MTA to use the -^ option. In fact, be
 careful with the COMPOUND-character. There can always be another
 invalid combination !

 When you don't like the 4DOS options MTA uses than there are several
 options at hand:

 - Include the Not4DosAware option in MTA.CTL, but change the COMPOUND
   character to something else than '^';
 - Change the secondary shell to COMMAND.COM and not to 4DOS (in this
   case you don't have to change the COMPOUND character);


 3.28 Substituted drive
 ────────────────────────────────────────────────────────────────────────
 If you have a very old version of DOS that does not support the SUBST
 command (check the manual) than NEVER (I mean NEVER) use the SubstDrive
 options unless you would like to rebuild most of your archives manually.

 So you have checked your manual and your DOS supports SUBST. Please take
 a moment to look into the dos-path (where things like FORMAT, XCOPY,
 ASSIGN and such programs are) to see if the SUBST program is in fact
 present in this directory. Also check if this directory is inside the
 DOS-path. If not, correct the problem and copy SUBST from the original
 DOS-diskette to this directory and/or add the directory to the DOS-path.

 So you have corrected the problem (if any). Now take some time to read
 your DOS-manual to see what SUBST in fact does (if you did not know).

 Now it is time to blow the horn. Some compressors (PAK to name one,
 but LHarc and LArc also share this problem) are in the habit to
 extract archives (with directories inside) into directories counted
 from the root and not from the current path. MTA can not work around
 this problem in a normal manner unless you assign a temporary drive
 (with NOTHING on it) to work with MTA.

 MTA fixes this in an un-ordinary fashion. When MTA creates a temporary
 directory  on the drive, it 'covers' this directory with a substituted
 drive. The only thing YOU have to do, is to assign a suitable drive-
 letter (of a drive you do not use while MTA is running, let's say
 one of the floppies, or use a unused drive-letter, PROVIDED THAT THE
 YOU DO NOT GET A CONFLICT WITH THE LASTDRIVE PARAMETER). The best
 choice for a hard-disk oriented machine is one or more of the re-
 maining unused drive-letters. Please alter the LASTDRIVE option in
 your CONFIG.SYS (if you have one installed) so that you enable as
 many drives as you are going to use in MTA (normally only one, but
 it could be more if you are going to run multiple MTA's at the same
 time in networks or in a multitasking environment). It IS valid to
 use the floppy-drive letters but they must be unused at the time
 you are going to run MTA. If you use a floppy-drive letter, you can
 NOT use the /D (diskette) option in MTA if it is pointing to the
 same drive you used as a SUBST'ed drive.

 MTA creates AND REMOVES the substituted drive several times for each
 archive. I have fixed all possible problems (shells, child and so
 on) in MTA itself so that even a high-levelled archive (many archives
 inside the archive and lower) could be converted. Don't bother the
 technique (let me do the dirty work) only make sure that you never
 set the same substituted drive inside the ExitbetweenCompression
 exit !

 NEVER, NEVER, NEVER, NEVER use one of your harddisk drive-letters
 as the substitution drive. Use the A or B drive or create a new
 entry by adding one drive to the LASTDRIVE command (the saves op-
 tion). Because of the way MTA switches between drives and directories
 (with the SubstDrive set to ON) it could happen (when you assign one
 of your harddisks as the substitution drive) that an archive is
 created with ALL files on that drive and that all files are gone
 (COMMAND.COM, CONFIG.SYS, get the picture) after MTA is ended. They
 are not gone, but somewhere in one HUGE archive, just converted by
 MTA !!!!!

 To help you with these problems, MTA checks if the supplied drive
 contains a readable disk. This is (hopefully) always true for your
 current hard-disks and RAM-disks, and could be true for your diskette
 drives. If MTA finds a readable drive with the same name as the sup-
 plied substituted drive, MTA ends with an error. When you use A: or
 B: as the substituted drive, be sure to remove any disks. Also, when
 no disk is present in the floppy, there will be a little (or long,
 depending on the machine) delay to check the drive. If you supply
 /D on the command-line (diskette option), then MTA will ALSO test
 if the /D-drive (default A:, but can be overruled with /D=B:) is not
 the same as the substituted drive.
 Everything said here, goes in favor for the usage of a new drive-
 letter, one higher than the last active drive, but using A: or B:
 is still possible !

 With 14.01 it is now officially possible to run multiple copies of
 MTA at the same time (networks, multitasking environments). This
 causes trouble to the substitute mechanism if these multiple MTA's
 run on the same LOGICAL machine. There are situations where a multi-
 tasker could create a self-contained DOS-environment. But in most
 cases (multitaskers), setting a SUBST drive causes this SUBST to
 'bleed' thru to the other tasks (DesqView to name one, try starting
 two DOS-shell's, set a SUBST in one DOS-shell and ask for a list of
 SUBST'ed drives in the other).

 In these cases, MTA needs to use different substituted drives in the
 different tasks. Supply as many drive-letters (and alter the LASTDRIVE
 option along with these specification) as you are going to run multi-
 ple copies of MTA. So in a case where you run two copies of MTA at the
 same time, two drive-letters are needed on the SubstDrive option in
 MTA.CTL. Also read the next chapter !

 Try the option and be amazed or angry (don't say I didn't warn you).
 Leave the option out (comment the SubstDrive option) if you are un-
 sure !

 Many thanks to Dirk Astrath for suggesting this option. I was already
 working on a time-consuming and not so fail-save mechanism for the
 problem, but this is much better and it actually works also !!


 3.29 Running multiple copies of MTA at the same time
 ────────────────────────────────────────────────────────────────────────
 With version 14.01 it is now possible to run multiple copies of MTA at
 the same time. This could only be the case in networks and in multi-
 tasking environments like DesqView <tm> or Windows <tm>.

 I will now point out the things you must set up in MTA for such situa-
 tions, what MTA will protect and what it won't protect. Having only
 a full multitasking environment and not a network, I will write this
 points with a multitasking environment in mind. But they should work
 the same on a network:

 Setting up MTA:
 - If you use the SubstDrive option than you must make sure you use
   as many drive-letters in this option as you are going to run mul-
   tiple copies of MTA;
 - Make sure the LASTDRIVE option is set along with the SubstDrive
   option;
 - Make sure you have SHARE.EXE loaded in your machine. Without SHARE
   MTA will make a mess of things (SURE !);
 - Make sure that you run all the concurrent copies of MTA all with
   their own TASK-number, as supplied with /TASK. Failing to do so,
   would also cause problems (SUBST'ed drives);

 Protection provided by MTA:
 - MTA will protect all the files it uses INTERNALLY;
 - All log-files (if they are the same in all running copies of MTA),
   all temporary files, all directories and all substituted drives
   are either unique to the task or SHARE'ed with all other tasks;
 - All external files (like the FILES.BBS-alike files) are protected
   when they are altered. This means that these files are SHARE'ed
   within the multiple copies of MTA but also with other tasks that
   have SHAREing options like SOME Bulletin Board Systems;
 - When two MTA's want to access the same file at the same time and
   with different attributes (one WRITE, one READ for example), one
   of the tasks will wait until the file is released again. To over-
   come problems with 'eternal waits' (called deadlocks) you can in-
   stall an option in MTA.CTL that will manage the maximum time MTA
   will wait before aborting. Waiting for allocation of a file, will
   also be the case with external files, provided the 'other' task
   has used SHAREing attributes with the open of that file;

 Protection NOT provided by MTA:
 - MTA will NOT manage anything that happens within the shell's. So
   when the (de)compressors run or when you are within one of the
   supplied exits, the called program has to manage the SHAREing by
   itself.

 It is almost stupid to say, but be sure to convert different files
 in each of the copies of MTA. Letting two or more copies of MTA
 converting the same files, will cause trouble. Though SHAREing is
 managed, there could be cases where MTA is waiting for a file (it
 will do so) and when this MTA gets the 'GO' signal, the file could
 be gone (temporary) because on of the other copies of MTA is working
 on that file.

 Running multiple MTA's in a multitasking environment works but there
 is a big tradeoff. When you don't have enough 'power' on your machine,
 running two concurrent copies could take as long as serially running
 these copies. (De)compressors are in the habit to eat lots of your
 cycles. The multi-tasker also wants to have a little snack and all are
 eating more food than the PC can supply, causing delays, low perfor-
 mance and so on. I have tested with several machines, but you need
 at least a true 386-25 (or a very fast 286, like a 20Mh) or higher
 to get some results. But in the world where these options of MTA are
 needed, machine-power is usually available.

 ┌───────┬─────────────────────────────────────────────────────────────┐
 │   4   │ Runtime information                                         │
 └───────┴─────────────────────────────────────────────────────────────┘

 4.1 Command-line switches
 ────────────────────────────────────────────────────────────────────────
 MTA is driven with the MTA.CTL file, but I can imagine that you want
 to use (or change) some of the options temporary. This can be done
 with a number of command-line switches.

 The syntax to start MTA is:

 MTA filespec filespec filespec ... [switches]

 Switches must start with a slash ('/') and are separated with one or
 more spaces.

 You can also use a different (alternate) CTL-file. In this case you
 must include the /CTL[filename] somewhere in the command-line switches.
 [filename] must point to the full drive/path/name of the alternate
 MTA.CTL file.

 You can supply MTA with a maximum of 25 different filespecs (e.g. *.ARC
 *.PAK *.ZIP). The various filespecs have NO meaning when you use the
 /D switch and MTA.CTL contains AllDisketteFiles !

 A complete list of switches follows:

 ┌─────────────────────────────────────────────────────────────────────┐
 │ /?                                                                  │
 └─────────────────────────────────────────────────────────────────────┘
 If you supply /? to MTA, you will get a full-screen help function. In
 this help-function you can browse thru the available command-line.
 The help-function is a chained program that MTA will call (MTA.CH2).
 This is done to preserve memory for MTA itself.

 ┌─────────────────────────────────────────────────────────────────────┐
 │ /TASKnn                                                             │
 └─────────────────────────────────────────────────────────────────────┘
 This command-line has only a meaning when running multiple copies of
 MTA at the same time. Look into chapter 3.29 for a description of this
 option.

 ┌─────────────────────────────────────────────────────────────────────┐
 │ /LVL0                                                               │
 └─────────────────────────────────────────────────────────────────────┘
 With /LVL0 you can instruct MTA to work on all selected files in the
 current directory. Coding /LVL0 is the same as coding /W without a
 directory name. /LVL0 overrules any DefaultPath option in the MTA.CTL
 (alike) file.

 ┌─────────────────────────────────────────────────────────────────────┐
 │ /LVL1                                                               │
 └─────────────────────────────────────────────────────────────────────┘
 With /LVL1 you can instruct MTA to work on all selected files in all
 directories UNDER (not including) the current. This option overrules
 the DefaultPath option(s). Also you can (an may) not use the /W option
 in the command-line.
 BBS systems can use this option well if all their area-directories
 are under the current directory !

 ┌─────────────────────────────────────────────────────────────────────┐
 │ /LVL2                                                               │
 └─────────────────────────────────────────────────────────────────────┘
 With /LVL2 you can instruct MTA to work on all selected files in all
 directories UNDER AND INCLUDING the current. This option overrules
 the DefaultPath option(s). Also you can (an may) not use the /W option
 in the command-line.
 BBS systems can use this option well if all their area-directories
 are under and including the current directory !

 ┌─────────────────────────────────────────────────────────────────────┐
 │ /LVL3                                                               │
 └─────────────────────────────────────────────────────────────────────┘
 With /LVL3 you can instruct MTA to work on the COMPLETE current drive.
 All directories on this drive will be selected by MTA, provided that
 there are NO MORE than 255 directories on this drive. This option also
 overrules the DefaultPath option(s) in MTA.CTL.

 ┌─────────────────────────────────────────────────────────────────────┐
 │ /ARC                                                                │
 │ /DWC                                                                │
 │ /LZH                                                                │
 │ /LZS                                                                │
 │ /OWN                                                                │
 │ /PAK                                                                │
 │ /ZIP                                                                │
 │ /ZOO                                                                │
 │ /MD                                                                 │
 │ /ARJ                                                                │
││ /HYP                                                                │
 └─────────────────────────────────────────────────────────────────────┘
 Normally MTA converts files to the system supplied in the MTA.CTL
 option CompressionType. With this switches you can overrule the
 current CompressionType with another system. When you supply
 more than one of these switches, the last will be active.

 ┌─────────────────────────────────────────────────────────────────────┐
 │ /NO4DOS                                                             │
 └─────────────────────────────────────────────────────────────────────┘
 This is the same as coding the Not4DosAware option in MTA.CTL. Look
 into the chapter about 4Dos.

 ┌─────────────────────────────────────────────────────────────────────┐
 │ /D                                                                  │
 │ /D=d:                                                               │
 └─────────────────────────────────────────────────────────────────────┘
 This is a 'stand alone' switch, meaning that it has no counterpart
 in the MTA.CTL.
 This switch must be included when you want to activate the diskette
 support (FDUTrashPath and FDUTempPath must be available in MTA.CTL).
 When you supply /D, MTA forces to the A: drive, when this is not
 what you want, you can supply /D=d: (where d: is a valid drive) to
 MTA. If you want to convert a diskette and also, at the same time,
 you want to convert to a different type of media (say 360Kb to 1.2Mb)
 you can supply /D=A: /MB:\, telling MTA to convert all diskettes from
 drive A: to drive B:.

 ┌─────────────────────────────────────────────────────────────────────┐
 │ /W                                                                  │
 │ /W[path]                                                            │
 └─────────────────────────────────────────────────────────────────────┘
 Normally MTA works on files in the list of DefaultPath directories
 or the default directory if non were specified in MTA.CTL. You
 can overrule this behavior by adding a /W command-line switch.
 /W       instructs MTA to work on the current directory, overruling
          all Defaultpath options in MTA.CTL;
 /Wpath   instructs MTA to work in the supplied directory, overruling
          all DefaultPath options in MTA.CTL;
 /W works along fine with the full-screen selection !

 ┌─────────────────────────────────────────────────────────────────────┐
 │ /C                                                                  │
 │ /H                                                                  │
 │ /L                                                                  │
 │ /F                                                                  │
 └─────────────────────────────────────────────────────────────────────┘
 One of these switches (when used) overrule the current option in
 MTA.CTL for the MTA touching system.
 /C      forces MTA to touch archives with the current date
 /H        ,,    ,, to touch archives with the highest date found in
                    the archive;
 /L        ,,    ,, to touch archives with the lowest date found in
                    the archive;
 /F        ,,    ,, to retain the original archive date;

 ┌─────────────────────────────────────────────────────────────────────┐
 │ /M                                                                  │
 │ /Mpath                                                              │
 └─────────────────────────────────────────────────────────────────────┘
 Only /M makes the current setting of MoveToDir in MTA.CTL inactive.
 /Mpath (where path is a valid path (absolute or relative to the
 current path) forces MTA to use this path to move files to after
 conversion (even if MoveToDir was not supplied in MTA.CTL).
 When using /Mpath with /D, converted files will be moved to the drive
 supplied in [path].

 ┌─────────────────────────────────────────────────────────────────────┐
 │ /CZnnn_nnn                                                          │
 └─────────────────────────────────────────────────────────────────────┘
 This parameter overrules the options for ZIPCompression options in
 MTA.CTL. You must code the compression options just like you do when
 running ZIP, but if you use more than one option (like -ea4 -eb2),
 you must NOT separate them with a space but with an underscore (like
 -ea4_-eb2).
 Refer to the PKZIP documentation (-eax, -ebx, -exn, -ex and -es options).

 ┌─────────────────────────────────────────────────────────────────────┐
 │ /CDn_n_n                                                            │
 └─────────────────────────────────────────────────────────────────────┘
 This parameter overrules the options for DWCCompression options in
 MTA.CTL. You must code the compression options just like you do when
 running DWC (or example z for size or y for speed), but if you use more
 than one option, you must NOT separate them with a space but with an
 underscore (like y_myoption).

│┌─────────────────────────────────────────────────────────────────────┐
││ /CJn_n_n                                                            │
│└─────────────────────────────────────────────────────────────────────┘
│This parameter overrules the options for ARJCompression options in
│MTA.CTL. You must code the compression options just like you do when
│running DWC (or example -m1), but if you use more than one option,
│you must NOT separate them with a space but with an underscore (like
│-m1_myoption).

 ┌─────────────────────────────────────────────────────────────────────┐
 │ /Z                                                                  │
 │ /Zfile                                                              │
 └─────────────────────────────────────────────────────────────────────┘
 You can assign a text-file to be added to ZIP, PAK and ZOO files when
 you use the /Zfile option. [file] must be a valid file. You can (must)
 supply path and drive to the file.  Refer to AutoDescription in
 MTA.CTL.  /Z blanks the current setting of AutoDescription (if
 set).

 ┌─────────────────────────────────────────────────────────────────────┐
 │ /CARCOM or /CARCOMn                                                 │
 └─────────────────────────────────────────────────────────────────────┘
 When using /CARCOM, you out-rule the CarryComment option in MTA.CTL
 (if any). When you want to include this option, you must supply this
 switch with the valid CarryComment type (e.g. 1, 2 or 3).

 ┌─────────────────────────────────────────────────────────────────────┐
 │ /AFB                                                                │
 └─────────────────────────────────────────────────────────────────────┘
 This is a toggle for the AddFilesBBS option. If present in MTA.CTL,
 /AFB will turn it off and reversed.

 ┌─────────────────────────────────────────────────────────────────────┐
 │ /P                                                                  │
 └─────────────────────────────────────────────────────────────────────┘
 When you supply /P, MTA does not write to the MTA.LOG.

 ┌─────────────────────────────────────────────────────────────────────┐
 │ /@[filename & path]                                                 │
 └─────────────────────────────────────────────────────────────────────┘
 You can supply the files to be converted by means of an external
 file if you have more than will fit on the command-line (on when you
 make MTA part of an automated environment). The filename you supply
 must exist ! You also can supply the full drive and path information.

 The file must be a ASCII flat-file, containing a file (path and
 drive may be included but they will be stripped by MTA) in every
 single line. The file (path and file) can be preceded by white spaces
 and the line may contain more information, but this must be separated
 from the filename with at least one space ! In fact the full-screen
 chain creates such a file (MTA_MENU.$$$) that is processed by MTA
 and deleted after processing has take place. If you use /@, the file
 you supply is NOT deleted !

 The ASCII file CAN contain wildcards but unlike the command-line
 execution, extensions are NOT expanded with '.*' if no extension
 is available.

 ┌─────────────────────────────────────────────────────────────────────┐
 │ /IPpassword                                                         │
 └─────────────────────────────────────────────────────────────────────┘
 When you convert one or more encrypted files to new archives (they must
 all have the same password), you must include /IP with the correct
 password. /IP has no counterpart in MTA.CTL. You must always supply
 this option manually.

 ┌─────────────────────────────────────────────────────────────────────┐
 │ /OPpassword                                                         │
 │ /OP@                                                                │
 └─────────────────────────────────────────────────────────────────────┘
 When you want MTA to create encrypted archives (ARC, PAK, PK(ARC)(PAK),
 ZIP and DWC targets), you must supply /OP with the password you want
 to use. There is no counterpart for this switch in MTA.CTL. For ZIP
 and DWC targets you can use a 'trick' to supply a fixed password in
 MTA.CTL by using the ZipCompression and/or DWCCompression options.
 ZipCompression can be set to something like '-ex-smypassword' and
 DWCCompression to 'zgmypassword' where 'mypassword' is the password
 you want to use.
 I strongly advise NOT to use this trick but to supply /OP (in the
 'worst' case you can create a batch-file with a fixed /OP switch).
 You can log the files that are worked on with /OP if you set the
 NormalPasswordListPath option.

 /OP@ is a special option to create password protected (encrypted)
 target files but now MTA will create a RANDOM password. The password
 MTA has used on a certain file (each file gets a NEW random password)
 is listed in the file you supplied in the RandomPasswordListPath
 option or in MTA.PWD (in the supplied path or the current directory).

 ┌─────────────────────────────────────────────────────────────────────┐
 │ /E                                                                  │
 └─────────────────────────────────────────────────────────────────────┘
 When you supply /E, MTA does not write to the MTA.ERR file (error
 log).

 ┌─────────────────────────────────────────────────────────────────────┐
 │ /DI                                                                 │
 │ /DE                                                                 │
 │ /DD                                                                 │
 └─────────────────────────────────────────────────────────────────────┘
 You can disable the inclusion (/DI) or exclusion (/DE) of files
 from the converted files even if the options in MTA.CTL are set.
 /DD will disable any DoNot statement in MTA.CTL. All supplied DoNot
 statements will be skipped.

 ┌─────────────────────────────────────────────────────────────────────┐
 │ /E1                                                                 │
 │ /E2                                                                 │
 │ /EB                                                                 │
 │ /EG                                                                 │
 └─────────────────────────────────────────────────────────────────────┘
 These options disable the working of the exits. /E1 disables the
 ExitBeforeFill exit, /E2 the ExitAfterFill, /EG the common
 ExitAfterCompress exit and /EB the ExitBetweenConversion exit.

 ┌─────────────────────────────────────────────────────────────────────┐
 │ /U                                                                  │
 │ /Ufilename                                                          │
 │ /Udrive:path\filename                                               │
 └─────────────────────────────────────────────────────────────────────┘
 This option toggles the FilesBBS option. If this option is not set,
 using /U sets the option. If it was set, using /U disables it.
 /U using to set the FilesBBS option, sets this option to search for
 the file with the name FILES.BBS.
 If you want to set the FilesBBS option AND you want to change the
 name of FILES.BBS to something else, you must use the second type
 (/Ufilename). [filename] is used for the search and not FILES.BBS.
 If you have only one descriptive file on a fixed location, you must
 use the third option to set the FilesBBS option. In this case you
 supply both the path (drive) and the filename to MTA.

 ┌─────────────────────────────────────────────────────────────────────┐
 │ /UPGRADE                                                            │
 └─────────────────────────────────────────────────────────────────────┘
 This option toggles the OnlyUpgrade option. If this option is not set,
 using /UPGRADE sets the option. If is was set, using /UPGRADE disables
 it.

 ┌─────────────────────────────────────────────────────────────────────┐
 │ /NOMOUSE                                                            │
 └─────────────────────────────────────────────────────────────────────┘
 This option tells MTA that mouse-support should be shut off. It only
 has a meaning when a mouse-driver is active and a mouse connected.
 The in-between option, available in MTA.CTL, is not supported as a
 command-line switch.

 ┌─────────────────────────────────────────────────────────────────────┐
 │ /SFX                                                                │
 └─────────────────────────────────────────────────────────────────────┘
 This option toggles the SFXFILES option. If this option is not set,
 using /SFX sets the option. If is was set, using /SFX disables it.

 ┌─────────────────────────────────────────────────────────────────────┐
 │ /LEA                                                                │
 └─────────────────────────────────────────────────────────────────────┘
 This option toggles the KeepAbnormalExtensions option. If this option
 is not set, using /LEA sets the option. If it was set, /LEA disables
 it.

 ┌─────────────────────────────────────────────────────────────────────┐
 │ /TIM                                                                │
 └─────────────────────────────────────────────────────────────────────┘
 This option disables any RunTime parameter in the MTA.CTL file. This
 comes in handy with BBS setups where the SysOp wants to use MTA as a
 stand-alone program.

 ┌─────────────────────────────────────────────────────────────────────┐
 │ /MAR                                                                │
 └─────────────────────────────────────────────────────────────────────┘
 This option toggles the NoMarked option. If this option is not set,
 using /MAR sets the option. If is was set, using /MAR disables it.

 ┌─────────────────────────────────────────────────────────────────────┐
 │ /MAH                                                                │
 │ /MAHstring                                                          │
 └─────────────────────────────────────────────────────────────────────┘
 This option can be used to change the MarkHeader option. When you
 use /MAH, MarkHeader is set to the default.
 If you use /MAHstring, the mark-header is set to [string]. [string]
 must be 6 bytes or shorter and spaces are not allowed.

 ┌─────────────────────────────────────────────────────────────────────┐
 │ /MAS                                                                │
 │ /MASstring                                                          │
 └─────────────────────────────────────────────────────────────────────┘
 This option can be used to change the MarkString option. When you
 use /MAS, MarkString is set to the default.
 If you use /MAHstring, the mark-string is set to [string]. [string]
 must be 14 bytes or shorter and spaces must be coded as underscore
 characters.

 ┌─────────────────────────────────────────────────────────────────────┐
 │ /OOA                                                                │
 └─────────────────────────────────────────────────────────────────────┘
 This option activates the MTA optimize option. All files are optimized
 to the smallest amount.

 ┌─────────────────────────────────────────────────────────────────────┐
 │ /AIA                                                                │
 └─────────────────────────────────────────────────────────────────────┘
 This option toggles the NoArcInArc option. When this option is ON, it
 will be set to OFF, otherwise it is set to ON;

 ┌─────────────────────────────────────────────────────────────────────┐
 │ /KEEPAV                                                             │
 └─────────────────────────────────────────────────────────────────────┘
 This option toggles the KeepAV option. When this option is set to ON,
 /KEEPAV will set it to OFF and reversed.

 ┌─────────────────────────────────────────────────────────────────────┐
 │ /ALL                                                                │
 └─────────────────────────────────────────────────────────────────────┘
 This option toggles the AllDisketteFiles option. When this option is
 set to ON, /ALL will set it to OFF and reversed.

 ┌─────────────────────────────────────────────────────────────────────┐
 │ /CHILD                                                              │
 └─────────────────────────────────────────────────────────────────────┘
 Finally there is one switch YOU MAY NEVER USE YOURSELF. I mention the
 switch, because some of you would find it out, even if I did not
 mention it and I think you can better know what it does.
 /CHILD is used by MTA to call another MTA. The child MTA uses the
 same options (in MTA.CTL) as the parent and that is not what should
 happen. /CHILD overrules all special options in MTA.CTL that may
 not be used when converting Compression-in-Compression files !


 One switch is very important for unattended operation in a BBS
 environment. This is the /W[path] switch.
 With this switch you can instruct MTA to work on the directory you
 have supplied in [path] instead of the current directory. This switch
 (in combination with the FilesBBS option) can be used to auto-convert
 all your uploads to your beloved compression system. An example:

 Your upload-paths are C:\USERS\UPLOADS and D:\FRIENDS\UPLOADS (both
 contain a FILES.BBS file). Your compression system is LHarc. You
 can put the following lines in you daily-event batch:

 MTA *.* /ONA /WC:\USERS\UPLOADS
 MTA *.* /ONA /WD:\FRIENDS\UPLOADS

 When MTA is only used in a BBS environment, you could code the
 OnlyArchive option in MTA.CTL and leave the /ONA switch out.

 Two pieces of advise:

 - You can still use the MoveToDir (/M[path]) option but you must
   understand that the FILES.BBS in the original directory is altered
   before the move and the MoveToDir doesn't carry the entry in
   FILES.BBS over to the new directory. If you want to be sure, supply
   the /M switch to the lines above. Also you must understand that
   running unattended  means that any exit (e.g. the exit declared with
   ExitAfterCompression) must also be able to run unattended !

 - Please set the WarningTime to a low value or to 0, otherwise MTA
   will wait for nothing when a warning occurs !


 4.2 Aborting MTA
 ────────────────────────────────────────────────────────────────────────
 There is only one way to abort MTA before it's normal end. When MTA
 is busy, you can press [ESC]. MTA will (in time) display that it
 will terminate soon and terminates after the CURRENT file is converted
 You can release the termination by hitting any other key. In that case
 MTA will continue.
 The termination option does NOT work with the /D switch !!
 Apart from terminating with the ESC-key, you can limit the execution
 time with the RunTime option (see MTA.CTL).

 Termination with the mouse (if you do not use /D) is also possible
 and a special form of termination with ITS is also supported;


 4.3 LOG file
 ────────────────────────────────────────────────────────────────────────
 MTA makes a log of almost everything (unless you specify NoLog in the
 MTA.CTL file or supply /L as a runtime switch).
 You can browse thru the log with a program like V.Buerg's LIST or with
 the 'good old' TYPE command.

 The log-style can be adjusted to the users need with three different
 options (LogStyleFormat, LogDateFormat and LogTimeFormat). Also you
 can combine all three possible logs (the 'normal' log, by default
 called MTA.LOG, the error log, by default called MTA.ERR and the
 password log, by default called MTA.PWD) into one log-file because
 MTA will open AND close the log for every record it has to write to
 the log !

 Depending on the number of files MTA has to convert, the MTA.LOG file
 can get very large. I have supplied a program (MTL.EXE) to solve this
 problem.
 With MTL.EXE you can make a statistical review of your log-file. In
 addition, you can instruct MTL to shorten the log-file. MTL will
 rewrite the MTA.LOG file with only the total counters so far. The next
 run MTL will 'see' these counters again and adjust the current counters
 with these values.

 MTL depends on the format of the log-file. Therefor you should not make
 any changes to the current log-file, but make a copy of the file and
 work on the copy and not the original. MTL IS able to detect a
 customized log and will adjust itself to search on the right places.
 Also, records of different kind can be available in the log (in case of
 a mailer or BBS program). MTL will skip these records but remember. If
 you want to clean the log with MTL, MTL will also remove all NON-MTA
 records from the log !

 If you get tired of the log, delete it, and MTA will create a new one.

 When MTA calls itself as a child invocation, the child MTA does not
 do any logging !


 4.4 The (de)compressors
 ────────────────────────────────────────────────────────────────────────
 As already stated, MTA depends on the ORIGINAL compression/decompression
 programs. As you have seen, you can instruct MTA to look for these
 programs in fixed directories.
 If you don't supply fixed paths, MTA will search in the current
 directory, the directory where MTA.EXE is in (only DOS 3.xx) and the
 DOS-path for these files. When you own a rather slow HDU (or machine),
 it could take several seconds for MTA to search for all these
 (de)compressors. In these cases, use the MTA.CTL file to point out
 where these programs are.

 There is one little trick you should know of. Of course you know that
 there was a 'war' going on between SEA and PKWare. NoGate's PAK (also
 a very nice program) can do best of both worlds and more.

 I am no judge, and I will not make any judgments but I find that I
 should respect the results of the 'war'. I can imagine that some (or
 many) of you have always used PKWare's program's and don't own a copy
 of ARC (not even a evaluation copy), but others have both programs.

 PAK.EXE is downward compatible with (old) PKWare and PKWare is downward
 compatible with ARC.EXE. Depending on the internal structure of the
 source file, MTA will take ARC.EXE first, then PKWare and then PAK.EXE.

 Concerning the destination options, when you ask for a destination
 (CompressionType) of ARC, MTA will only work when you own a copy of
 ARC.EXE. It is NOT possible to create a destination of ARC with the
 PKWare or Nogate programs !

 MTA will search for the following programs if you don't supply the names
 in the MTA.CTL file:

 - ARC.EXE                        (SEA);
 - PKPAK.EXE/PKUNPAK.EXE          (PKWare old);
 - PAK.EXE                        (NoGate);
 - DWC.EXE                        (Dean W. Cooper);
 - ZOO.EXE                        (R. Dhesi);
 - LHARC.EXE                      (Yoshi);
 - LARC.EXE                       (Miki);
 - PKZIP.EXE/PKUNZIP.EXE          (PKware new);
 - MDCD.EXE                       (MD);
 - ARJ.EXE                        (ARJ);
│- HYPER.EXE                      (HYP);


 4.5 Executing MTA
 ────────────────────────────────────────────────────────────────────────
 MTA is started in the directory where the source-files are. Up to now,
 there is no (recursive) sub-directory support. The syntax is:

 MTA [filespec] .. [filespec] [switches]

 or

 MTA [switches]

 [filespec] must be a valid DOS filespec (wildcard included) like *.ZIP,
 ABC*.* or MYFILE?.?RC.

 You can supply as many [filespec] values as will fit on the command
 line. MTA will convert up to 1000 files that match the filespec.
 When you supply [filespec] on the command-line, don't supply path
 names (they will actually be stripped by MTA). The path(s) MTA will
 work on are depending on the DefaultPath option and if no DefaultPath
 option is available, MTA will use the current directory. Also you can
 use /Wpath to point to the path MTA has to work on !

 If you do not supply an extension, MTA adds .* to the filespec, so
 the filespec MTAWOW is extended to MTAWOW.*.

 If you don't supply [filespec], you will be presented a full-screen
 tag-menu of the path you want to work on (only the first if you have
 more than one DefaultPath option). You can tag (with the space-bar)
 files for converting. You can un-tag them by pressing the space-bar
 again. Also fast 'bulk-tagging' is available. Press <F1> in the
 tag-menu and you get a list of all available tag-functions.

 Only the first 1000 selections (Pfeew, that's a lot) will be converted.
 The full-screen is displayed with a chained part of code that MTA will
 call itself. This is done to keep memory consumption as low as possible
 while actually converting the archives. One word of caution. If you
 have included more than one DefaultPath option and you are running the
 full-screen tagging, only the first of these paths is taken. The
 remaining paths are skipped !!!!!

 See the documentation on MTA.CTL and the run-time switches for a
 complete understanding of MTA's functions.


 4.6 Errors
 ────────────────────────────────────────────────────────────────────────
 Of course no one is perfect, so it is possible that you (or I) made
 a mistake. When MTA blows sky-high, you could get a message (only
 when needed) about some directories.

 When MTA starts its process, it creates a temporary path UNDER the
 path you supplied in MTA.CTL (MTATempPath) as a 8 byte HEX value of
 the current time/date or this path is created UNDER the current
 directory or the path you supplied with /W.

 When MTA gets an error at decompression (memory or an error in the
 archive), the original archive is placed in this temporary directory
 or in the path supplied with the MTAErrorPath option. Before placing
 the original archive in this path, MTA will first clean the temporary
 directory from already extracted files (also the temporary directory
 is removed if MTAErrorPath is active).

 When MTA gets an error at compression (memory in most cases), the
 original files are kept in the temporary directory. The original
 archive is already gone, so you must create the new archive yourself
 after MTA is terminated.

 Before decompression takes place, MTA will first take a look at
 the drive-space of the drive that contains the temporary directory.
 If there is not twice the space of the UNcompressed archive available
 on this drive, MTA will skip the conversion. Why twice the space, you
 ask yourself:

 - The original archive can itself contain archives. These have to
   be decompressed also;
 - The source can be bigger than the original target (converting
   ZIP to ARC for example);

 These two factors must be taken care of. Taking twice the space is
 still no 'fail save' mechanism but it should do in 99% of the cases
 where drive-space is low. Please observe that MTA removes the original
 archive after decompressing that archive (without error) to save
 space on the drive.

 Most of the errors explain themselves. The only tricky one is 'Error
 (xx) in shell'. The 'xx' is a number. In fact it is the Dos Error number
 (not errorlevel). You can find them in most DOS bibles. The most
 frequent one is 8 (not enough memory).
 Negative numbers are caused by internal errors. If you can not resolve
 them yourself, please inform me, I will try to find out the reason.

 From release 4.04 and up, MTA makes some noise about files with a
 valid compression extension (like ARC, PAK, ZIP, DWC and LZH/S) but
 failed the 'test the compressed file' test. Possible causes are:

 - The file is corrupted (sometimes the header only).
   Try to decompress the file with the belonging decompression program
   If it decompressed, delete the original one and create a fresh
   compressed file and try again;
 - The file is wrong
   Some people rename 'normal' files to one of the above extensions.
   There is nothing against doing this, but it will confuse MTA like
   hell (not to mention other people who get a copy of that file from
   you). Try another extension or remove these files from the directory
   MTA is working on;

 From release 6.11 and up, MTA has introduced a new source of possible
 errors. MTA is now able (when you set the right option in MTA.CTL)
 to work on SFX (self extracting) compression files in the formats ARC
│(all), PAK, ZIP, ARJ, HYP, LZH and LZS.
 MTA has to look inside such a file to deduce if it is an SFX-file.
 (only COM and EXE). Test are made of several combinations inside
 the file, but I can imagine that MTA could deduce a file to be
 SFX while it is not.
 In this case, strange things (from disk-full to I/O error) could
 happen. Only use the SFX option when converting SFX files otherwise
 leave it off !

 One final word about unattended BBS operation. Starting with 6.50
 MTA uses some other internal structures (think of the new name for
 the temporary directory) to leave BBS operation as undisturbed as
 possible. Older version worked unattended but had one major drawback.
 When MTA aborted as a result of an invalid compression file, all
 next runs of MTA would abort because they saw the same file again
 and again. That's why this file is moved to the temporary directory.
 When running in unattended operation, do NOT use the MTATempPath
 option but let MTA work out a path-name. The path-names MTA creates
 are logged in the MTA.LOG file.

 MTA 12.50 now fully uses memory in a dynamic way. This means that
 all tables are stretched and you now can include 255 files, exclude
 255 files, work on 255 different paths and so on. This is all managed
 dynamically by MTA, so when you use entries, MTA will use less memory
 This also can mean that you can overrun the limits of your PC's memory
 If you get a memory-error message you must first look into DoNot,
 IncludeFile, ExcludeFile and Defaultpath options.
 Consider to merge some of the masks in DoNot or pack all your included
 files into an archive and add this archive to your new files.
 Under normal conditions a 640K PC should have enough memory to use
 all options to the limits.

 All this could give you the impression that you should thank the
 Lord when MTA runs ok. THIS IS NOT THE CASE. I have converted
 around 3000 files on 200 diskettes and 2 HDU's myself again and
 again using MTA and so far only 4 errors occurred (2 of them in the
 SFX support). All these (and more) are already fixed in this release.


 4.7 Specials
 ────────────────────────────────────────────────────────────────────────
 MTA preserves memory for executing the shell and uses some space
 of its own. To use as limited memory as possible, there is a limit
 to the number of files MTA can handle. In any of the given used
 directories, you can have a maximum of 1000 files (do YOU have a
 315 MegaByte HDU, I don't..).

 With the current settings MTA will use 163K. The remainder of the
 memory can be uses for the shell's. Normally this leaves enough
 memory for all the (de)compressors and/or the shells.
 Strange things can occur when you have too little memory and you
 have included the SFXFiles (/SFX) option. MTA normally reads around
 32K of each SFX file (or less when the file is smaller), but adjusts
 the amount to memory bounds.

 MTA uses a little trick when detecting name-like filenames. Imagine
 you have a TEST.PAK, TEST.LZH and TEST.DWC in your directory and
 you want to convert to ZIP.
 The first file is ok (TEST.PAK -> TEST.ZIP), the second gives a little
 problem (MTA can not make another TEST.ZIP. If MTA should do so, all
 the files in MTA.LZH are added (worse updated !) in the first TEST.ZIP)
 to work around. MTA warns the user and will create TEST.ZI1. The third
 is converted to TEST.ZI2.
 All these actions are reflected on the screen with a message and in the
 MTA.LOG file.

 As you already saw, MTA has its own touching system. This system is
 triggered with the TOUCHHIG, TOUCHLOW or TOUCHCUR options in the
 MTA.CTL.
 If you would like to leave the time/date stamps as is, you must not
 supply any of the above options !

 When MTA searches for the (de)compression programs, it will not be
 confused by the READ-ONLY attribute that some users use to protect
 their programs !

 MTA (all versions before 12.05) contain a bug that could be 'mis-used'
 if someone knew how to do it. This is corrected in MTA 12.05.

 ┌───────┬─────────────────────────────────────────────────────────────┐
 │   5   │ Version information and credits                             │
 └───────┴─────────────────────────────────────────────────────────────┘

 5.1 The BETA-team
 ────────────────────────────────────────────────────────────────────────
 The following Sysop's and their CoSysop's (only if they use the same
 BBS or a NON-user (closed) shadow BBS) are allowed to make use of the
 BETA-releases on their own risk:

 - Remote Access Multiline/Multiport Paradise        2:512/100 (*)
   Sysop: Reinier De Groot

 - GOLEM Service BBS                                 2:242/4
   Sysop: Hanstheo Wolf

 - Sirex BBS                                         2:280/216
   Sysop: Gerry Ulrich

 - Funboard BBS
   Sysop: Dirk Astrath                               2:244/12

 - Amber Shadow
   Sysop: Dave Overton                               1:203/988

 The BBS marked with (*) will always test the newest version and is
 also the main distribution node for the MT-series. Also mail to me
 can be send to this system. The other BBS's are asked, if they like,
 to test the new versions, but if there is no time, or if they find
 the risk to high I don't mind. I would be pleased though, if these
 BBS's would like to look into the new BETA version.


 5.2 Credits
 ────────────────────────────────────────────────────────────────────────
 Thanks to the following people:

 - All paying, registered users. You make it possible to enhance MTA
   with nice features;
 - All users who did write me a message and/or sent me a postcard;
 - The BETA-team;
 - A special 'thanks' to Reinier de Groot, Hanstheo Wolf and
   Dirk Astrath. They keep coming with nice suggestions;
│- A big thanks to Dave Overton who is doing the USA support;


 5.3 Version history
 ────────────────────────────────────────────────────────────────────────

 ┌───────┬────────────────────────────┐
 │ 11.xx │ Sampled release info       │
 └───────┴────────────────────────────┘
  ■ Bug fixes;
  ■ Added FilesBBSFormat option, CarryComment option, alternate CTL
    support, combination of /M and /D allowed;

 ┌───────┬────────────────────────────┐
 │ 12.xx │ Sample release info        │
 └───────┴────────────────────────────┘
  ■ Bug fixes;
  ■ All tables to 255 entries, tag-menu, /@, /MD, AltDisplay, internal
    swapping (SwapPath, NoSwap), MDCD support (MDPath), IncludeCTL,
    AV-aware, encryption aware, configurable log-file, MTAErrorPath,
    extended help, mouse aware, ITS aware and many, many more changes;

 ┌───────┬────────────────────────────┐
 │ 13.01 │ Major release              │
 └───────┴────────────────────────────┘
  ■ Fixed a bug in the display with combinations of AV'ed and non
    AV'ed file. Fixed;

  ■ Fixed a flaw with the CarryComment option. As I have found out,
    several Sysop's use special utilities to add files to their
    FILES.BBS that do not use the, more or less, standard. There was
    NO way to tell MTA what to do with entries that use the format
    'F.E comment' (where F.E is the filename). These entries will
    have a 'floating' start of the comment and do not always begin
    on a fixed position. This is changed in this release of MTA.
    The FilesBBS option is changed to support not only a position,
    but also a starting ITEM number for the comment-part. In fact
    MTA uses by DEFAULT item number 2 in the line as the comment.
    Reported by: Hanstheo Wolf

  ■ Worked around problems in the shell window, where the system
    could crash when the mouse was active. When this happens, the
    'Nomouse Window' option must be used to keep control over the
    mouse in MTA and its pick-list itself and to shut off the
    mouse when the (de)compression window comes active;
    Reported by: Joerg Dassler

  ■ Fixed a flaw with the NoMouse (/Nomouse) option. When used, MTA
    did in fact display the mouse 'symbol' for a short moment and
    mouse control was also available for a short moment. This is
    fixed. Also the NoMouse option now also has a meaning inside
    the pick-list.
    Reported by: Joerg Dassler

  ■ Reworked the 'windmill' while MTA was reading MTA.CTL. Now MTA
    will display a flashing star. Parsing of MTA.CTL is now much
    faster;

  ■ Added support for 4Dos <tm> descriptions. The CarryComment and
    FilesBBS options are reworked in a way that MTA can now extract
    the description from the 4Dos DESCRIPT.ION file (see FilesBBS
    option);

  ■ Added support to add the description (and filename) from the
    original archive into the file as pointed to by the FilesBBS
    option. This option is also 4Dos-aware;

  ■ Added support to 4Dos in cases where MTA moves files to and
    from directories. When the 4DosAware option is available in
    MTA.CTL, MTA will use the 4DOS MOVE command and not it's own
    internal move;

  ■ Made MTA aware of larger displays. EGA and VGA users should now
    have no problems with MTA in 43/50 lines modes. MTA will, under
    special conditions, also use the full screen in the DOS-shell;
    Reported by: Joerg Dassler, Dirk Astrath

  ■ MTA is not free anymore. Look for details in UPGRADE.MTA if
    you registered earlier. Read REGISTER.MTA when you are new
    to MTA. Registered users of lower versions will get a reduction.

  ■ Added the RegistrationName and RegistrationKey options to support
    registration keys;

  ■ Added introduction screens to MTA, MTL and MTM. You can still use
    MTA stand-alone, but in that case a 75 seconds delay is present;

 ┌───────┬────────────────────────────┐
 │ 14.01 │ Major release              │
 └───────┴────────────────────────────┘
  ■ When MTA detected an archive inside an archive for which you did
    not supply a archiver (no ???Path option), MTA would move this
    archive to the error-path, then swap back to the parent MTA and
    would compress the new archive without this file. This was a
    nasty bug. Fixed;
    Reported by: Dirk Astrath

  ■ When the user wanted to terminate MTA (hitting ESC), MTA would
    not stop if multiple directories had to be processed. This is
    now fixed.
    Reported by: Many users, beta-team

  ■ Touching would (in some cases) go wild. This was caused by the
    fact that MTA also used the included/excluded files for the
    test. These files would normally have a recent date, so all
    archives would get this high date (TouchHig).
    Reported by: Many users

  ■ With the introduction of volume-labels in PKZIP, MTA would report
    a file with invalid attributes when the ReportSpecialAttributes
    option was set to on. This file was also altered to a normal
    file and sometimes gone after this change. This is fixed. MTA
    will now ignore files with a attribute VOLUMEID.
    Reported by: Hanstheo Wolf

  ■ If MTA was unable to obtain the PROMPT environment variable from
    your master environment, MTA would use not prompt at all. Now,
    when MTA can not obtain a prompt, $P$G is substituted and when
    your prompt does not contain $P or $G, MTA will add this to the
    prompt even when you did not ask for it. This is done because it
    could be the case, you are left in a (for you) unknown directory
    and this little trick will fix that. The $P$G is only used inside
    MTA. When MTA is finished, you get your old prompt back (if any);
    Reported by: Dirk Astrath

  ■ If MTA was called with the /CTL command-line option, and this option
    was not the last command in the command-line, MTA would abort with
    something like '[next command] file not found'. You had to use the
    /CTL as the last option. This is fixed;
    Reported by: Hanstheo Wolf and Author

  ■ MTA contained a little flaw. The password-list (MTA.PWD or something
    supplied by user) was longer than 80 bytes. In some BBS implementa-
    tions, this caused a problem.
    Reported by: Hanstheo Wolf

  ■ MTA could hang on large archives. When the total number of DISPLAYED
    bytes inside the (de)compress shell was more than a certain number,
    MTA would hang the machine. See StowBuffer option. Fixed;
    Reported by: Author

  ■ Added a LogStartStyleFormat option to create extra log-records at
    the start of the new log. Also the LogStyleFormat option is en-
    hanced with ^M to reflect a CRLF combination. This feature is al-
    so added to the LogStartStyleFormat;
    Suggested by: Dirk Astrath

  ■ When a compressed file is in error, MTA will now COPY (not MOVE)
    the entry in the FILES.BBS-alike file to a file of the same type
    inside the error-path. This only works when the FilesBBS option
    is set to on;
    Suggested by: Dirk Astrath

  ■ Somewhat enhanced the ZIPAutodescription option to make it usable
    for ZIP, ZOO and PAK. Renamed the option to AutoDescription and
    made the old version obsolete in this release;
    Suggested by: Dirk Astrath

  ■ Changed the PasswordListPath option to RandomPasswordListPath and
    made the first obsolete. Also added a NormalPasswordListPath op-
    tion to MTA.CTL to log files with a normal password (supplied
    with /OPpassword);
    Suggested by: Hanstheo Wolf

  ■ Added full recursive support to all archivers that support such a
    feature. Added the SubstDrive option;
    Suggested by: Hanstheo Wolf

  ■ Added full EGA/VGA support to MTA (in all shells and in MTA itself)
    so users with default enlarged screens don't have to look to a
    very little MTA, running in the upper left corner of their huge
    screen.
    Suggested by: Joerg Dassler, Reinier de Groot, Hanstheo Wolf and
                  Dirk Astrath

  ■ Older releases of MTA (nobody is perfect) could not detect arc-
    in-arc files when they did not occur in the (relative) root of
    the archive, so when a ZIP-file contained TEST.ME and \NEW\TEST.LZH
    (the directory \NEW also stored in the ZIP), MTA did not detect such
    a situation and the TEST.LZH was not converted to ZIP. This is now
    fixed.
    Suggested by: Dirk Astrath and author

  ■ MTA could add funny lines with trash in the FILES.BBS-alike file
    along with the CarryComment statement. This occurred with new
    files that were not already present in this file. This is fixed;
    Suggested by: Hanstheo Wolf

  ■ Added /LVL0 to process all files in the current directory, over-
    ruling any DefaultPath option. /LVL0 is the same as /W without a
    directory-name.
    Suggested by: Author

  ■ Added /LVL1 to process all files in all sub-directories under the
    current directory and NOT including the current directory itself,
    thus also overruling any DefaultPath option.
    Suggested by: Hanstheo Wolf

  ■ Added /LVL2 to process all files in all sub-directories under the
    current directory AND INCLUDING the current directory itself, thus
    also overruling any DefaultPath option.
    Suggested by: Hanstheo Wolf

  ■ Added /LVL3 to process all files in all directories on the current
    drive (starting from the root-directory), thus also overruling the
    DefaultPath option(s).
    Suggested by: Author & Hanstheo Wolf

  ■ Added the name of the directory that MTA is working on in the
    alternate display (the last 22 characters, or the last 24 when
    working in 132x?? extended text mode).
    Suggested by: Author

  ■ MTA could display 'path not found' messages in the little shell.
    This is fixed.
    Suggested by: Reinier de Groot

  ■ MTA could seem to hang with a AV-ed file when comments were
    added and/or deleted. Could only occur under 4Dos. This is
    (more or less) fixed (see notes on MTA and 4Dos).
    Suggested by: Reinier de Groot

  ■ MTA could seem to hang with a AV-ed file, when deleting files
    from the archive (ExcludeFile option). This could only occur
    when the filename started with a '-' (like --------.---). This
    is also fixed.
    Suggested by: Hanstheo Wolf

  ■ Fixed some display errors in /D option.
    Suggested by: Author

  ■ Changed the chained file MTA.CH1, called to display a pick-list.
    The pick-list will now test all files in the directory and will
    only display archives, independent of the extension. In this way
    you get .SDN, .SDS, .OWN or whatever files in the list if they
    are archives and even when you did set SFXFiles (/SFX) to off !
    Suggested by: Hanstheo Wolf

  ■ Removed the 4DosAware option and changed it to the Not4DosAware
    option. MTA will detect a full 4Dos environment itself. This
    can now be switched off, rather than switched on.
    Suggested by: Author

  ■ MTA's file-access if fully changed. When SHARE.EXE is present in
    the PC (networks, multitasking environment like DesqView and
    Windows), MTA will test and place the correct locks and sharing
    on the accessed file(s). If a file is denied by SHARE, MTA will
    wait until the file is released. The wait-period is configurable
    in MTA.CTL by means of the ShareWait option.
    Suggested by: Dirk Astrath

  ■ You can now, officially, run multiple copies of MTA at the same
    time. You must make your own checks to overcome any problems that
    would occur when you start to convert the same files in the dif-
    ferent copies.
    Suggested by: Author

 ┌───────┬────────────────────────────┐
 │ 14.05 │ Minor and Bug release      │
 └───────┴────────────────────────────┘
  ■ MTA could not detect some LZH SFX files and would abort on some
    LZH (normal) files. This was caused by a bug in my CFI routine
    and has (finally) been fixed;
    Reported by: Dirk Astrath, Reinier de Groot

  ■ Some bad characters could be displayed at the end of MTA's run.
    This is fixed.
    Reported by: Klaus Schoelhorn

  ■ MTA will do some internal and external tests. Both environments
    are checked to see if MTA is capable to run. In strange cases
    this could result in a runtime-error. In this case, please
    contact the author. This testing will delay MTA for around a
    second (at the start) on a slow machine.

  ■ Added the ARJ protocol. This is still temporary until ARJ is
    released in general, but 0.13a (alpha release) is implemented
    in MTA to make testing of this very 'dense' protocol easier.

 ┌───────┬────────────────────────────┐
 │ 14.06 │ Minor and Bug release      │
 └───────┴────────────────────────────┘
  ■ MTA is now aware of ARJ release 0.14 (and 0.13 for that matter).
    Some bugs in CFI-routines fixed and made code faster and tighter;

  ■ MTA can now handle comments in ARJ files. All comment-related
    options in MTA (CarryComment and so on) will now also work on
    ARJ-files;

  ■ Added support for TEMP variable in the environment table. If TEMP
    is set, MTA will use the supplied directory as the temporary
    directory for the archivers. This directory can (and is) overruled
    by the MTATemp option (if set). If the TEMP environment variable
    is not complete (no drive, invalid path), MTA will skip the value;

  ■ Added new release of OPRO (1.03). Will have no effect on the
    specifications but will fix some strange bugs.

 ┌───────┬────────────────────────────┐
 │ 14.07 │ Minor and Bug release      │
 └───────┴────────────────────────────┘
  ■ The ARJCompression option was not passed to ARJ itself and was in
    fact a dummy option. This is fixed;
    Reported by: Gert Ensing

  ■ The switch /CJ to overrule the ARJCompression option is added to
    MTA;

  ■ The /CD switch is enhanced (along with /CJ) to work the same way
    as /CZ. Now multiple options can be added;

  ■ /CZ and /CD contained an error. Both option passed wrong parameters
    to the MTA child (arc-in-arc);

  ■ Tightened the ARJ detection routines.

  ■ Added support for Frans Veldman's TBSCAN.COM

  ■ Added a reduction percentage to complement the total reduction
    value.
    Suggested by: Gert Ensing

 ┌───────┬────────────────────────────┐
 │ 14.10 │ Minor and Bug release      │
 └───────┴────────────────────────────┘
  ■ Fixed some minor and one major flaw in the CFI-interface. This
    caused MTA to hang with LHarc-files with paths inside. Also
    files were detected as ARC or ARJ-files were not detected at
    all (for the same reason);
    Reported by: Gert Ensing, Rob Lirb, Reinier de Groot

  ■ Fixed a problem with ARJ-files with paths inside. ARJ would stop
    and say 'Create directory ?'. This was a nasty problem when running
    MTA in unattended mode. The ARJ '-y' switch is implemented now;

  ■ Changed the display again;

  ■ Changed MTA.CH1 (file selection chain). Hangups in MTA.CH1 would
    occur as a result of the CFI problems mentioned earlier. MTA.CH1
    will now display the files it is selecting, so in case of problems
    you can now see the file causing the problem;
    Reported by: Hanstheo Wolf, Gert Ensing

  ■ Added suport for the German HYPER compression program.
    Suggested by: Reinier de Groot

 MTA is tested with PKWare PKPAK release 3.61, PKWare ZIP release 1.10,
│NoGate PAK release 2.51, ARC release 6.02 and ZOO release 2.01(X),
 DWC release 5.10, LHarc release 1.13c/d, LARC release 3.33, MDCD
│version 1.0, ARJ version 0.15beta and HYPER version 25;


 5.4 Copyright, Trademarks
 ────────────────────────────────────────────────────────────────────────
 PKPAK, PKUNPAK, PKZIP and PKUNZIP are trademarks of PKWare Inc.
 PAK           is a trademark of NoGate Consulting.
 ARC           is a trademark of SEA inc.
 ZOO           is a trademark of R. Dhesi.
 DWC           is a trademark of Dean W. Cooper
 LZH and LHarc are trademarks of Yoshi;
 LZS and LARC  are trademarks of K.Miki H.Okumura and K.Masuyama
 MD            is a trademark of Michael Davenport
 ARJ           is a trademark of Robert K. Jung
│HYPER         is a trademark of Peter Sawatzki and Klaus Peter Nischke
 CRA           is a trademark of DISP and donated to public domain
 Windows       is a trademark of The Microsoft Corporation
 4Dos          is a trademark of J.P. Software / R.C. Conn and T. Rawson
 FrontDoor     is a trademark of J. Homrichhausen
 SWAP          is a trademark of Nico Mak / Mansfield Software Group
 SCAN          is a trademark of McAfee Associates
 VIRSCAN       is a trademark of J.P. van der Landen
│TBSCAN        is a trademark of Frans Veldman / ESaSS B.V.
 VALIDATE      is a trademark of McAfee Associates
 CRC.EXE       is copyrighted by Howard Vigorita but seems to be
                              public domain;
 CRC32.EXE     is copyrighted by Barry Geller    but seems to be
                              public domain;
 QuickBBS      is a trademark of the QuickBBS group Inc.
 Remote Access is a trademark of Continental Software

 MTA is written in Turbo Pascal 5.5, with help of the Turbo Debugger 2.0
│and makes extensive use of Object Professional 1.03 and TxCFI V 9.04.
 Also included are some routines of Blaise's fine PowerTools Plus
 package (5.0).

 Turbo Pascal        is a trademark of Borland International
 Turbo Debugger      is a trademark of Borland International
 Object Professional is a trademark of TurboPower Inc.
 PowerTools Plus     is a trademark of Blaise Computing Inc.
 TxCFI               is a trademark of Robert W. van Hoeven

 ==================== END OF DOCUMENT ==================================