MTADOCEN.DOC

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

 1 ----    General information
  1.1      Copyrights and Licence 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     Remarks on PKLITE
  3.14     MTA.CTL
   3.14.1  Basic statements
   3.14.2  Statements that define the environment that MTA uses (paths)
   3.14.3  Statements that define the logging
   3.14.4  Statements that define the selection of files
   3.14.5  Statements that define the resulting files
   3.14.6  Your own (new) compressor
   3.14.7  Statements that define the MTA exits
   3.14.8  Statements that are usefull to Bulletin Board Systems and SysOps
   3.14.9  Special statements
   3.14.10 Statements available when using a registered version
  3.15     Customized compression
  3.16     Recursive support
  3.17     Compression file-in-compression file
  3.18     MTA Touching System
  3.19     Optimal sizes
  3.20     Diskette option
  3.21     Virus detection
  3.22     Screen control
  3.23     KeyBoard control
  3.24     Swapping
  3.25     Encryption and Authenticity Verification
  3.26     Mice and other trouble
  3.27     ITS
  3.28     MTA and 4Dos <tm>
  3.29     Substituted drive
  3.30     Running multiple copies of MTA at the same time
  3.31     Compression of single executable files (PKLITE)
  3.32     The MTA tag-window
  3.33     The MTA-child
  3.34     MTA and unattended operations
  3.35     Other computers
  3.36     Usage in an online-environment (remote BBS logging)
│ 3.37     Archives with volume-labels

 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
  4.8      Very special notes to read and not forget

 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 Licence 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 licence 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 licence 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 licence);

 - 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;

 - Support on MTA, when used in a non-commercial environment, is
   available by means of written letters or by entering the inter-
   national echomaol area DISP;

 - 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,91 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 licence agreements;

 - It is forbidden to modify, adapt, translate, reverse engineer, de-
   compile and/or disassemble the software in the MTA-package. Patching
   the medium at places that carry the software is seen as a program
   change and is also forbidden. It is forbidden to create a so called
   'bypass' to skip the original introduction screens and delay. Also
   it is forbidden to use such a 'bypass' unless supplied by the author
   (Robert W. van Hoeven) himself;

 - Performing any of the illegal actions as stated in the previous
   lines, is a theft and no fair play to the author and, more important,
   to the registered users;

 - Bulletin Board Systems that distribute the MTA package can convert
   the WHOLE package to any archive-system they like but all original
   files must be included in the new archive. The MTA-package on the
   Bulletin Board can contain at the most 2 extra files. These files
   can only be a commercial for that Bulletin Board and/or validation
   data that is presented as a service to all users and shall have no
   other functions;

 - After the normal trial period of 30 days, you must register the soft-
   ware (see REGISTER.MTA) or you must remove it from your PC;

 - 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 #1)       DISP-HQ
                         (Sysop: Reinier de Groot )
              2:512/129  (MultiLine Paradise NL #2)       DISP-HQ
                         (Sysop: Reinier de Groot )

 For zone 1:  1:203/988  (Amber Shadow       USA  )       Support & beta
                         (Sysop: Dave Overton     )
                         (The Chess Board    USA  )       Support & beta
                         (Sysop: Ken Givens       )

 For zone 2:  2:280/216  (Sirex              NL   )       Support & beta
                         (Sysop: Gerry Ulrich     )
              2:242/4    (GOLEM    Meerbusch FRG  )       Support & beta
                         (Sysop: Hanstheo Wolf    )
              2:241/5603 (FunBoard Felbert   FRG  )       Support & beta
                         (Sysop: Dirk Astrath     )
              2:244/8500 (Nilpferd BBS       FRG  )       Support & beta
                         (Sysop: Joerg Dassler    )
              2:403/139  (The Black Universe ISR  )       Support & beta
                         (Sysop: Saar Blitz &     )
                         (       Addy Santos      )
              2:405/166  (Hith Hiker BBS     ISR  )       Support & beta
                         (Sysop: Alon Gingold     )
              2:200/407  (Secret Blue Valley SWE  )       Support & beta
                         (Sysop: Andreas Birgerson)
              2:257/168  (Barnabas the Caring UK  )       Support & beta
                         (Sysop: John Barton      )

 For zone 3,4,5 and 6    (vacant                  )


   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. There are some options that
   do not work in the Shareware version, but these only have to deal
   with the registration itself !;

 - 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 400K free memory but it depends on the
                      archiver(s) you use;
                    - DOS 3.xx and higher;
                      (tested with 4Dos 3.02, should work with lower
                      versions);
                    - DOS 2.xx ONLY when registered. In this case, a
                      customized version will be created;
                    - HDU optional
                    - Mouse optional
                    - One or more virus-scanners (optional)
                    - The original (de)compression programs


 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


 2.4 History
 ────────────────────────────────────────────────────────────────────────
 MTA's history is now around a 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> or any other virus-scanner;
 - 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);

 - NEVER use compression programs like LZEXE, SHRINK, DIET or PKLITE
   on the following files: MTA.EXE/CH1/CH2, MTL.EXE, MTM.EXE and the
   MTZ.EXE programs. This will be fixed in the next major version
   (15.01) but until then you can not use these programs on these
   files. Skipping this warning can lead to a 154 error after you
   have started the program;

 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;

 Please read the chapter (3.35) on other computers;


 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.

 Please read the chapter (3.35) on other computers;


 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.

│From 14.50 and on, conversion of volume-labels from and to ZIP files
│is available;


 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 2.12E

 From 14.30 and up, MTA will support LZH files created with LHARC 2.10
 and higher. I have not seen any versions later than 1.13d (original
 versions that is) and not earlier that 2.05, so it could be possible
 that some 'inbetween' version (>1.13d or <2.05) will not function.

 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.

 The author of LZH has made a terrible mistake in versions below the
 2.06 I have seen. In version 2.05 at least, he has introduced a
 special (but rather failsafe) test on the length of the archive. If
 the archive is longer than its original size (after compression is
 done) the LHA program can still unpack the archive but returns with
 an errorlevel. I know at least 2 possible sources of problems:
 - When downloading such a file with some protocols (original XModem
   to name one) the file is appended to the length of the block that
   has been send. In most cases the original archive will not be on
   that block-boundery, so decompressing will be possible, but always
   with an error;
 - When using MTA (!) with the MarkString and marking set to on, MTA
   will 'glue' 20 bytes to the archive. This ALSO causes LHA to return
   an errorlevel when decompressing;
 In both cases MTA will decompress the LZH-file, report an error and
 move the file to the error-directory. We can not use that specific
 error-level (a) because it is probably used for some other errors
 too, (b) it is likely to be used on a later moment (and forgotten
 by me, so problems will occur). From 14.35 and up, I have implemented
 an option to be used in that case (UnMark along with /UNMARK). This
 option will cause MTA to remove the mark-string BEFORE decompression
 but only works with your own (marked) archives AND when you did not
 change the mark somewhere along the way. It seems that Yoshi has
 changed things again (sigh) back to normal with the 2.06 version,
 but because of lacking documentation I can not be sure of this, in
 my case everything worked again.

 Another problem that occurs with the LHA (LHARC 2.xx) implementation
 is the backward compatible archive format. Look at chapter 4.8 (Very
 special notes to read and not forget) for details. Also read the
 description of the ExtendedTesting option !!!!

 Please read the chapter (3.35) on other computers;

 Remember to set the LZHVersion option to the correct value !!!!!!!!!!


 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 2.10

 Support for ARJ is rather straight foreward. All standard functions
 are implemented but at least ARJ 0.20 is needed because MTA uses the
 m(ove) option and not the a(dd) /d(elete) combination.

 One drawback of ARJ can be its memory consumption. In some cases (XT,
 many TSR's) it is needed to use the swapping option of MTA to do a
 call for ARJ. You should experiment with COMPRESS and not DECOMPRESS
 because the compress function needs more memory than the decompress
 function of ARJ. Keep in mind that MTA can use a variable number of
 extra bytes of memory, depending on the number of selected files.
 You should at least use a 20-40K margin between MTA and ARJ. Large
 computers (386+) can free most of their memory in upper memory, so
 MTA will have enough room to survive WITH ARJ and WITHOUT swap.

 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. Keep in mind
 though, that ARJ is LINE-oriented. If the comment you would like
 to add (e.g. a banner file) starts with an empty line, or has
 empty lines inside the banner, ARJ will think that the comment is
 finished and nothing, or only a part of the comment is added !

 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.

 MTA can (from version 14.35 and up) also detect ARJ files with the
 security envelope. Unlike ZIP, ARJ does not allow any changes to
 these files. With KeepAV on, MTA will only check the included files
 for special attributes and for viri (if installed) but is unable to
 delete or add files, nor will MTA be able to insert comments in such
 a file.

 ARJ contains the original archive-name within the archive itself. MTA
 can use this name and (optionally) rename the source-archive back to
 that original name before conversion start (OriginalARJName option).

 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.

│Support for the 2.10 volume labels is added. Please remember to put
│the KeepVolLabel (/KEEPVL) option on ONLY in combination with ARJ
│version 2.10. If you use ZIP (1.10) and a lower version of ARJ than
│2.10, conversion of the volume-labels will cause ARJ to abort and
│the converted files to be moved to the error-directory !


 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 HYPER and to do maintenance on these files.


 3.13 Remarks on PKLITE
 ────────────────────────────────────────────────────────────────────────
 MTA supports : PKLITE version 1.05 (and up)

 It is a little off-topic type of program to be included in MTA, but
 it is. MTA (and the selection-menu MTA.CH1) is changed so that you
 easy convert COM/EXE files to compressed (self-contained) COM/EXE
 files with PKLITE. I think this is a usefull bonus (and nothing more)
 to MTA.

 Why not include LZEXE you would ask. The reasons are simple (and a
 hint to the author, based on the current version 0.91):

 - LZEXE can only directly compress EXE files (COM files need a
   special conversion);
 - LZEXE can only go one way;

 In the near future I will think about adding the Japanese DIET program
 into MTA (it can do the same, and more, than PKLITE).

 When MTA works in (UN)PKLITE mode, it can only convert with PKLITE.
 All other files (archives) are not converted.

 When MTA ignores files in the selection, there can be a number of
 reasons. These are:

 With PKLITE:
 - The file is already PKLITE'ed;
 - The file is already LZEXE'ed;
 - The file is a SFX (Self extracting archive);

 With UNPKLITE:
 - The file is not PKLITE'ed;

 LZEXE files are left, because it wil create problems when converting
 these programs with PKLITE and when it does NOT create problems, there
 will be NO gain in size. SFX-files are left for the same reasons.


 3.14 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.

 The following sub-chapters of 3.14 will contain the several statements
 you can use in MTA.CTL. In the documentation, the statements are put
 in logical groups. These groups contain statements with the same sort
 of functions. The actual order of the statements in MTA.CTL does not
 matter at all.


 3.14.1 Basic statements
 ────────────────────────────────────────────────────────────────────────
 The following statements are more or less basic statements and should
 be used in any setup. Some of the statements can be left out, because
 they only add something extra or change the default that MTA.EXE itself
 assumes.

 ┌─────────────────────────────────────────────────────────────────────┐
 │ ARCPath     [path] {opt} {SWAP}                                     │
 │ PAKPath     [path] {opt} {SWAP}                                     │
 │ ZOOPath     [path] {opt} {SWAP}                                     │
 │ DWCPath     [path] {opt} {SWAP}                                     │
 │ LZHPath     [path] {opt} {SWAP}                                     │
 │ LZSPath     [path] {opt} {SWAP}                                     │
 │ PKZIPPath   [path] {opt} {SWAP}                                     │
 │ MDPath      [path] {opt} {SWAP}                                     │
 │ PKUNZIPPath [path] {opt} {SWAP}                                     │
 │ PKUNPAKPath [path] {opt} {SWAP}                                     │
 │ ARJPath     [path] {opt} {SWAP}                                     │
 │ HYPERPath   [path] {opt} {SWAP}                                     │
 │ PKLITEPath  [path] {opt} {SWAP}                                     │
 └─────────────────────────────────────────────────────────────────────┘
 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 want to include the archiver in the 'optimize' process;
         - You want to swap MTA before the archiver is called;
         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.

         {opt} can either be a 'Y' a 'N' or not coded at all (in the
         last case, 'N' is assumed). When {opt} is set to 'Y' (do not
         include the quotes), you mark this archiver as one of the
         archivers that is called when you use 'OptimizeOnSize' (/OOA)
         to get the smallest possible archive-file. Only when you code
         the OptimizeOnSize option or the /OOA switch, this optimize
         process is called and in that case, all archivers marked with
         a 'Y' will be used to obtain the smallest archive.
         When {opt} is set to 'N' or you do not code it at all, MTA
         will not include this archiver when OptimizeOnSize or /OOA
         is used.

         {opt} has no meaning with PKUNZIPPath, PKUNPAKPath and the
         PKLITEPath option but must be set to 'N' when the third
         parameter (SWAP) is used. Setting it to 'Y' will have no
         meaning for these options.

         Any archiver you include in the optimize process (so {opt}
         is set to 'Y') will cause a longer throughput. History tells
         us that (in general) ZIP, ARJ and LHarc can be seen as a
         'competition' group, followed by HYPER, DWC, ZOO, LArc as
         the second group and the others as the 'rest'. Mixing programs
         from different groups can be done but is not usefull.

         The third parameters tells MTA if it need to swap itself out
         of memory (only 4K left) before the archiver is called. When
         you include 'SWAP' (without the quotes) as the third parameter,
         MTA will do a swap (causing some delay, depending on the used
         resources) of itself. This also causes the 'normal' window
         below the MTA-frame NOT to work. MTA will start the archiver
         just below its own frame, but is the archiver needs more that
         6 lines (in 25 line mode) to do its thing, the MTA screen will
         scroll of the screen. After MTA gains control again, the screen
         is restored to the correct situation again. If you want to use
         the swap-parameter, you must also include the {opt} parameter.
         If you left it {opt} earlier, you can now code a 'N' and still
         use the swap parameter without including this archiver in any
         optimize process.

         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 !


 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), ARJ (Robert K.
         Jung), PKLITE (PKWare) to create compressed EXE/COM files or
         UNPKLITE (PKWARE) to decompress compressed EXE/COM files again.

         You can use one of stated options if you own that type of
         (de)compression program. Only one CompressionType option is
         allowed.

         I suggest to use one of the normal archivers (and not the
         PKLITE/UNPKLITE options) because that is the major goal of
         MTA. The PKLITE/UNPKLITE options come as a bonus and can
         easy be used with the /PKLITE and /UNPKLITE switches on the
         command-line.


 Relate: None
 Dest. : All


 ┌─────────────────────────────────────────────────────────────────────┐
 │ LZHVersion xxx                                                      │
 └─────────────────────────────────────────────────────────────────────┘
 Usage : This parameter is optional. If you don't use this option, LHarc
         version 1.13 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 a version higher than 1.13.
         If the number is set to 1.13 or lower, MTA will ignore (warn)
         LZH files created with LHARC 2.05 (or higher). If set to a
         higher number and you don't have that version available (but
         you use an older version), trashed (or deleted) files could
         be the case.
         Remember that versions between 1.13 and 2.00 are invalid (and
         illegal) versions. Most of them were patched versions of the
         original 1.13c/d, some of them even contained a virus.
         Also there is a litte change in the way LHARC 1.13 will handle
         recursed directories and the way LHA(RC) 2.05 will do such
         work. Depending on this switch, MTA will use one of both
         methods, so setting the option to the correct version is very
         important if you use LHARC versions OTHER than 1.13.

 Relate: None
 Dest. : LZH


 ┌─────────────────────────────────────────────────────────────────────┐
 │ 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


 ┌─────────────────────────────────────────────────────────────────────┐
 │ OriginalARJName                                                     │
 └─────────────────────────────────────────────────────────────────────┘
 Usage : With this option included, MTA will look inside any ARJ file
         before it starts converting it. If the name inside the archive
         is different from the filename (ARJ stores the name of the
         archive at creation-time), MTA will rename it back to that
         original name. If the option is not included, MTA will not
         change the name of the archive even if a difference is de-
         tected.

         The rename will be done BEFORE MTA starts with the conversion
         of the file, so the target archive will have the new name
         also.

 Relate: None
 Source: ARJ


 ┌─────────────────────────────────────────────────────────────────────┐
 │ LZHCompression [options]                                            │
 └─────────────────────────────────────────────────────────────────────┘
 Usage : With the LZHCompression option, you can select to overrule
         the LZH default for compressions. You can use this option to
         toggle the /A option and so on. So extra options (not imple-
         mented by MTA) can be added in the same way as with the
         ZIPCompression option.

 Relate: None
 Dest. : LZH


 ┌─────────────────────────────────────────────────────────────────────┐
 │ PKLITECompression [options]                                         │
 └─────────────────────────────────────────────────────────────────────┘
 Usage : With the PKLITECompression option, you can select to overrule
         the PKLITE default for (de)compression of any EXE or COM file.
         The usage of -b (create backup) and -n (no overlays) are the
         obvious parameters you would like to use.
         Extra options (not implemented by MTA) can be added in the same
         way as with the ZIPCompression option.

 Relate: None
 Dest. : PKLITE


 3.14.2 Statements that define the environment that MTA uses (paths)
 ────────────────────────────────────────────────────────────────────────
 The following statements all define a part of the actual environment
 that MTA.EXE will use. Included are statements that define the several
 directories that MTA can use, the minimal requirements for memory and
 space on the drives, the swapping functions and so on.

 ┌─────────────────────────────────────────────────────────────────────┐
 │ 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. If
         no drive is included, MTA assumes the current drive.

         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. If you do not include a drive, MTA will add the
         current drive to the supplied 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. If you do not include a drive, MTA will add the
         current drive to the supplied 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


 ┌─────────────────────────────────────────────────────────────────────┐
 │ 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


 ┌─────────────────────────────────────────────────────────────────────┐
 │ 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


 ┌─────────────────────────────────────────────────────────────────────┐
 │ 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


 ┌─────────────────────────────────────────────────────────────────────┐
 │ 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


 ┌─────────────────────────────────────────────────────────────────────┐
 │ VideoMode [mode]                                                    │
 └─────────────────────────────────────────────────────────────────────┘
 Usage : This option can be used on systems that have an EGA or VGA
         card installed that supports alternate text-modes like 80x43,
         132x60 and so on. MTA will adjust itself to both length and
         width of the screen. With a width that is bigger than 110
         bytes, MTA will also use a alternate display.
         MTA can change the videomode (text-mode) by itself when you
         supply the correct value with [mode]. Look into your video-
         card's manual to find the correct video-mode (it is usually
         in hex, with VideoMode you must supply the DECIMAL form) for
         a valid text-(NOT GRAPHICS)-mode like 132x60. Because of the
         many different implementation of the videomodes on different
         cards, it is up to you to supply the correct mode. When you
         leave out this option, MTA will use (and stay) in the current
         mode (this can already be an enhanced text-mode).
         After MTA finishes the process, the original videomode at the
         start of MTA is restored.

 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.29 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.29. 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.30 (Concurrent MTA's)
         for a FULL understanding on how MTA assigns substituted
         drives in concurrent environments.

 Relate: None
 Dest. : All


 ┌─────────────────────────────────────────────────────────────────────┐
 │ ExtendedTesting                                                     │
 └─────────────────────────────────────────────────────────────────────┘
 Usage : Look into chapter 4.08 for details. When set to on, MTA will
         perform extended testing after the decompression of any file.
         The drawback is a (small) loss in performance.

 Relate: None
 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


 ┌─────────────────────────────────────────────────────────────────────┐
 │ 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. MTA forces NOMOUSE when you run
         MTA in a screen-mode other than 80*25. This is because of
         the fact that many third-party vendor mouse-drivers can not
         work correctly with larger screen-modes.

 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.
         MTA will report an error when you include NoSwap and you have
         set one or more archivers to SWAP (third option in xxxPath
         options). Then you want to swap any archiver, you MUST use
         MTA's swapping feature and this statement must be left out !

 Relate: SwapPath, xxxPath
 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 current directory. The files
         (if created) have SYSTEM and HIDDEN attributes set AND will
         stay OPEN while swapping is done. Read the chapter on swapping
         for more details !
         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


 ┌─────────────────────────────────────────────────────────────────────┐
 │ 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


 3.14.3 Statements that define the logging
 ────────────────────────────────────────────────────────────────────────
 MTA can log almost anything. The following statements define the type
 of logging (if any) for the several actions and the actual format of
 the logged records.

 ┌─────────────────────────────────────────────────────────────────────┐
 │ 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


 ┌─────────────────────────────────────────────────────────────────────┐
 │ 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


 3.14.4 Statements that define the selection of files
 ────────────────────────────────────────────────────────────────────────
 MTA contains several statements that define where and what to search
 for files that must be converted.

 ┌─────────────────────────────────────────────────────────────────────┐
 │ DefaultPath [path] {move_to_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 directory 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) di-
         rectory name in [path].

│        Optionally, you can add a directory as the second parameter
│        of this option. If {move_to_path} is present, MTA will move
│        all files in the belonging Defaultpath directory to the di-
│        recory you supplied overhere. If you use the MoveToPath
│        option or the /W option, then you will see that that option
│        overrules the directory(ies) you supplied overhere, so be
│        sure to use either the combination of two directories in
│        the DefaultPath option OR the MoveToPath option (/W).

         If the full-screen selection is used, MTA will only select
         the first path all other paths are skipped ! All DefaultPath
         options become obsolete when you include a directory in one
         of the file-masks on the command-line.

 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


 ┌─────────────────────────────────────────────────────────────────────┐
 │ RA0 or RA1                                                          │
 └─────────────────────────────────────────────────────────────────────┘
 Usage : When you run MTA with the RAPaths option, MTA will assume a
         layout of FILES.RA for Remote Access 0.04 and lower. Newer
         versions of Remote Access will have a different structure
         for this file. If you are running MTA with Remote Access 1.xx
         (or higher) you must include RA1 into MTA.CTL. RA0 is the
         default and causes MTA to use the old FILES.RA structure.

 Relate: RAPaths
 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


 ┌─────────────────────────────────────────────────────────────────────┐
 │ 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


 ┌─────────────────────────────────────────────────────────────────────┐
 │ UnMark                                                              │
 └─────────────────────────────────────────────────────────────────────┘
 Usage : This option can be used to let MTA strip (your own!!) mark
         string from any archive before decompression. Look into the
         details in the LHARC chapter.

 Relate: NoMarked, MarkHeader
 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


 3.14.5 Statements that define the resulting files
 ────────────────────────────────────────────────────────────────────────
 MTA includes a number of options that will deside what will happen to
 the resulting converted files. These include optimizing the files, the
 comments to add and so on.

 ┌─────────────────────────────────────────────────────────────────────┐
 │ 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


 ┌─────────────────────────────────────────────────────────────────────┐
 │ 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


 ┌─────────────────────────────────────────────────────────────────────┐
 │ 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


 ┌─────────────────────────────────────────────────────────────────────┐
 │ 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


 ┌─────────────────────────────────────────────────────────────────────┐
 │ 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


 ┌─────────────────────────────────────────────────────────────────────┐
 │ 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.

         KeepAV will also function on ARJ files with a security
         envelope. In that case, it is impossible to add and delete
         files from such files and also it is impossible to add any
         comments.

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


 Relate: None
 Dest. : All


│┌─────────────────────────────────────────────────────────────────────┐
││ KeepVolLabel                                                        │
│└─────────────────────────────────────────────────────────────────────┘
│Usage : A very special option that can be used in combination with
│        all archivers that can have volume-labels contained inside
│        the archives (currently only ARJ and ZIP). Look into chapter
│        3.37 for a full and detailed description of this option.
│
│        WARNING: When using ARJ in the conversion, you must use
│                 ARJ V 2.10 or higher in combination with this
│                 option, otherwise errors will occur !
│
│
│Relate: None
│Dest. : ZIP, ARJ


 ┌─────────────────────────────────────────────────────────────────────┐
 │ 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


 ┌─────────────────────────────────────────────────────────────────────┐
 │ 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


 3.14.6 Your own (new) compressor
 ────────────────────────────────────────────────────────────────────────
 The following statements can be used to define a compressor that is
 not (yet) included in MTA. If you find a compressor that meets the
 standard to be included into MTA then please contact the author.

 ┌─────────────────────────────────────────────────────────────────────┐
 │ OwnCompressPath {drive}{path}[filename] {opt} {SWAP}                │
 └─────────────────────────────────────────────────────────────────────┘
 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.

         {opt} and {SWAP} have the same meaning as with all other
         xxxPath options (see start of this chapter), so {opt} to
         (de)select this archiver for optimalisation and {SWAP} to
         force MTA to swap before the compressor is called;


 Relate: All Own-options
 Dest. : OWN


 ┌─────────────────────────────────────────────────────────────────────┐
 │ OwnDeCompressPath {drive}{path}[filename] {opt} {SWAP}              │
 └─────────────────────────────────────────────────────────────────────┘
 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.

         {opt} and {SWAP} have the same meaning as with all other
         xxxPath options (see start of this chapter), {opt} has no
         function with a decompressor and {SWAP} is used to force
         MTA to swap before the decompressor is called;


 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.7 Statements that define the MTA exits
 ────────────────────────────────────────────────────────────────────────
 The following statements can be used to define one or more exits. An
 exit a sort of hook in the MTA execution process. The several exits
 (hooks) are called at special places while MTA is executing on one or
 more files. The user can 'hook into' the process when one or more exits
 are defined in MTA.CTL.

 ┌─────────────────────────────────────────────────────────────────────┐
 │ VirusScanner [screen] [errorlevel] [scanner] [parm] {parm}..{parm}  │
 └─────────────────────────────────────────────────────────────────────┘
 Usage : MTA is able to call up to 10 virus-scanners per archive, to
         check the uncompressed files for viri. MTA is able to implement
         any type of 'normal' virus-scanner that looks like the famous
         SCAN by McAfee. Normally you should implement your favourite
         scanner but you can also implement more than one scanner. Each
         of the scanners is called until either:
         - One of them has found a virus;
         - The all are executed without any found virus;
         With the current version of MTA, up to 10 scanners can be in-
         cluded. If a file contains a virus, the archive is moved to
         the error-directory and marked with special 0-byte files. Also
         further processing of THIS file is aborted and MTA will start
         working on the next archive.

         [screen] must be present and must be either 'B' or 'D'. 'B'
         means that this virus-scanner uses BIOS writes and can be
         executed inside the small MTA DOS-window. 'D' means that this
         scanner does direct screen updating and in that case MTA will
         make a full (empty) screen available for the scanner. Some of
         the scanners (like TBScan) can do either of the both, depen-
         ding on a parameter. Be sure to implement the correct value
         for [screen] of the MTA screen will look silly while executing
         the scanner;

         [errorlevel] must be set to a value between 0 and 255. You
         must set this parameter to the errorlevel value that this
         scanner will return when a virus is detected. As a unwritten
         standard, all current scanners (SCAN, HTScan, TBScan) take
         1 as the errorlevel for a detected virus. If a scanner imple-
         ments several errors under one errorlevel, you can not use
         that scanner. You should ask for a change ! MTA is tested
         with SCAN by McAfee, HTScan by Thijssen and TBScan by Veldman.
         Examples for all three are included in the sample MTA.CTL !

         [scanner] must be the drive, path and filename of the scanner
         itself (like C:\NOVIRUS\SCAN.EXE).

         [parm] is up to you. At least 1 parameter should be included.
         MTA offers the %D and %F parameters. The %D is substituted
         with the directory (drive included) to perform the scan on.
         There is no trailing backslash and no filemask.
         %F is substituted with the drive, directory AND *.*, so it
         is an enhancement on %D.
         You can include several other parameters, depending on the
         type of scanner you use. %D OR %F must be at least one of
         them. Two examples, where the current decompressed files are
         in C:\MTA\1456AB67:

         ... C:\NOVIRUS\SCAN.EXE %D /NOPAUSE
         ... C:\NOVIRUS\HTSCAN.COM %D /A /B

         {parm} can be none to any number of extra parameters that you
         would like to pass to this scanner.

         WARNING: Never forget to check if the scanner will halt for
                  a prompt. If this is the case and you run unattended,
                  you could have a problem. If you run attended, this
                  makes no difference. Most scanners implement a type
                  of 'No-prompt' mode, like /NOPAUSE with SCAN. Be sure
                  to set it somewhere in [parm] or {parm}.


 Relate: None
 Dest. : All


 ┌─────────────────────────────────────────────────────────────────────┐
 │ VirusScanParm [parm] {parm} {parm}                                  │
 └─────────────────────────────────────────────────────────────────────┘
 This option is now obsolete and replaced with VirusScanner parameters.


 ┌─────────────────────────────────────────────────────────────────────┐
 │ 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



 3.14.8 Statements that are usefull to Bulletin Board Systems and SysOps
 ────────────────────────────────────────────────────────────────────────
 The following statements can be used to define one or more exits. An
 exit a sort of hook in the MTA execution process. The several exits
 (hooks) are called at special places while MTA is executing on one or
 more files. The user can 'hook into' the process when one or more exits
 are defined in MTA.CTL.

 ┌─────────────────────────────────────────────────────────────────────┐
 │ 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


 ┌─────────────────────────────────────────────────────────────────────┐
 │ TICKFiles [mask]                                                    │
 └─────────────────────────────────────────────────────────────────────┘
 Usage : Until now, all previous BBS-options had to do with normal
         FILES.BBS alike type of files. The following options do some-
         thing with other types of files.
         The TICKFiles option makes it possible to pick up the descrip-
         tion of a certain file from a TICK-file (*.TIC). When you get
         your files into the inbound directory and the *.TIC files along
         with them, you can now convert them (and optionally move them)
         to any other system, while MTA will try to extract the comment
         of the file from the associated TICK-file. You can do two types
         of things with these comments. You can add them to FILES.BBS
         (if AddFILESBBS is set to on) AND you can store them in the
         header of the archive (comment) when CaryComment is set to on.

         If CarryComment is on (independent of the type 1,2 or 3), MTA
         will search for the comment in the old archive-header, the
         FILES.BBS or both. If TICKFiles is set to on AND MTA can find
         a description in any of the TICK-files, this comment will then
         always overrule the comment from the FILES.BBS or the old
         header.

         [mask] must point to a drive, path and filemask (wildcards
         can be included). For example you can let it point to your
         inbound directory (e.g. C:\INBOUND\*.TIC). You can inplement
         multiple TICKFILES options to point to different masks and/or
         directories for example:
         - TICKFiles C:\INBOUND1\*.TIC
         - TICKFiles C:\INBOUND1\*.BAD
         - TICKFiles C:\INBOUND2\*.TIC
         - TICKFiles C:\INBOUND2\*.BAD
         Up to 255 (!) TICKFiles options can be included.

         The TICK-files are ALL searched (for every converted archive)
         until either:
         - a description is found;
         - all files are processed and no description was found;
         MTA will search for either FILE: or FILE and DESC: and DESC
         inside the TICK-files. This is pointed out in FSC-0028 !

 Relate: FilesBBS, AddFilesBBS, CarryComment
 Dest. : All


 ┌─────────────────────────────────────────────────────────────────────┐
 │ UpdateUntypedFiles [mask]                                           │
 └─────────────────────────────────────────────────────────────────────┘
 Usage : This is a special, independent, option to update any type of
         file with the new (converted) name of the archive. Let us take
         two examples.

         1) Sometimes you hatch files into the TICK system that are in
            some directory (e.g. upload directory or something like
            that). After the HATCH, you get 3 files. The *.TIC file
            with a description and name of the file and 2 *.MSG files,
            one with the file-attach for the archive and one with the
            file-attach of the TIC-file.
            Now you start MTA and MTA converts the previously hatched
            file from *.ZIP to *.ARJ. NOW you (and the receiver) have
            a problem. The mailer will send the *.MSG's, though the
            1th will fail, because the attached file (something.ZIP)
            is not present anymore (it is renamed to something.ARJ).
            Also the *.TIC is sended but the info is invalid because
            (a) the original file is not present, (b) the info inside
            the *.TIC points to something.ZIP and not something.ARJ.
            UpdateUntypedFiles will give you the answer to this Quest!

         2) Some product keeps a small database with names of files
            (also your archives) inside. My RFW is such an example.
            Now you convert some archive and the information inside
            the database has become invalid !
            Again, UpdateUntypedFiles is the answer to your problems.

         UpdateUntypedFiles will update ANY type of file (even a pro-
         gram/binary file) with the new name of the archive IF:
         - You don't use the /D option;
         - The name of the target has the same length as the name of
           the source. A conversion from something.ZIP to Something.MD
           will not be performed !
         - The name of the source is within the 64K (65535) bytes bounds
           of the file;
         Longer files will NOT be truncated but only the first 64K of
         bytes are scanned and (optionally) changed.

         Back to the examples. A solution to both problems:
         1) Add the UpdateUntypedFiles C:\OUTBOUND\*.TIC
            and the UpdateUntypedFiles C:\OUTBOUND\*.MSG
            options to MTA.CTL (directories and drives may vary on your
            system). MTA will now update all *.TIC files with the name
            something.ARJ after the conversion. The same will be the
            case with all *.MSG that contained something.ZIP;
         2) Add the UpdateUntypedFiles C:\MYBASE\DATABASE.DBF to the
            MTA.CTL. Any change will be updated into the DATABASE.DBF
            database;

         You can add up to 255 UpdateUntypedFiles options into the
         MTA.CTL file. But be smart and think before you act. MTA
         will search ALL files and though this is fast I/O, it can
         take some time if you include numerous files !
         UpdateUntypedFiles can be used as a replacement to the up-
         dating of FILES.BBS when these files are smaller than 64K.
         In that case, this option will give you a 50-200% gain in
         speed over the FILESBBS option !!

 Relate: None
 Dest. : All


 ┌─────────────────────────────────────────────────────────────────────┐
 │ COMPort [port]                                                      │
 └─────────────────────────────────────────────────────────────────────┘
 Usage : This option, on its own, does nothing. It will only be active
         when /REMOTE is added to the command-line options. [port] must
         define the COM-port where MTA can do remote logging. COMPort
         can only be used when COM-port - 1 = FOSSIL-port. So COM2 will
         be FOSSIL-port 1 and so on. If this is not the case, you must
         use the FOSSILPort option.
         COMPort must also be combined with the BaudRate option or the
         /BAUD command-line option.

 Relate: BaudRate, /REMOTE
 Dest. : All


 ┌─────────────────────────────────────────────────────────────────────┐
 │ FOSSILPort [port]                                                   │
 └─────────────────────────────────────────────────────────────────────┘
 Usage : This option, on its own, does nothing. It will only be active
         when /REMOTE is added to the command-line options. [port] must
         define the FOSSIL-port where MTA can do remote logging.
         FOSSILPort must only be used when COMPort can not be used.
         FOSSILPort must also be combined with the BaudRate option or
         the /BAUD command-line option.

 Relate: BaudRate, /REMOTE
 Dest. : All


 ┌─────────────────────────────────────────────────────────────────────┐
 │ BAUDRate [baud]                                                     │
 └─────────────────────────────────────────────────────────────────────┘
 Usage : This option, on its own, does nothing. It will only be active
         when /REMOTE is added to the command-line options. Normally
         you will add the baud-rate with a command-line option (/BAUD)
         because it is depending on the users baud-rate. When you use
         a locked baudrate (up to 19600) you can use the BaudRate option
         though.

 Relate: COMPort or FOSSILPort, /REMOTE
 Dest. : All


 ┌─────────────────────────────────────────────────────────────────────┐
 │ StoreSize                                                           │
 └─────────────────────────────────────────────────────────────────────┘
 Usage : This option, on its own, does nothing. It will only be active
         when /REMOTE is added to the command-line options. Look into
         chapter 3.36 for a detailed description of this option.

 Relate: /REMOTE
 Dest. : All



 3.14.9 Special statements
 ────────────────────────────────────────────────────────────────────────
 The following statements are a collection of statements that can not
 be catagorized in one of the other groups.

 ┌─────────────────────────────────────────────────────────────────────┐
 │ 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


 3.14.10 Statements available when using a registered version
 ────────────────────────────────────────────────────────────────────────
 The following statements can be used to define one or more exits. An
 exit a sort of hook in the MTA execution process. The several exits
 (hooks) are called at special places while MTA is executing on one or
 more files. The user can 'hook into' the process when one or more exits
 are defined in MTA.CTL.

 ┌─────────────────────────────────────────────────────────────────────┐
 │ RegistrationName [name]                                             │
 └─────────────────────────────────────────────────────────────────────┘
 Usage : This option has only a meaning when you received a key after
         you registered MTA. In ANY OTHER case (non registered usage)
         you must NOT include this option.

 Relate: None
 Dest. : All


 ┌─────────────────────────────────────────────────────────────────────┐
 │ RegistrationKey [key]                                               │
 └─────────────────────────────────────────────────────────────────────┘
 Usage : This option is now obsolete and must be removed. MTA now uses
         a file as the key for REGISTERED users. Non registered users
         must remove both the RegistrationName and RegistrationKey op-
         tions.


 3.15 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.16 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.28 about the use
 of a temporary substitute drive.


 3.17 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.18 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. PKLITE/UNPKLITE
 is excluded from this story. MTA leaves the touching to PKLITE.


 3.19 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.20 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.21 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.22 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
   VideoModem option to set this mode to the one you like. After
   termination, MTA has reset the mode back to the one that was
   used at the start of MTA;
 - 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;

 When you let MTA swap itself before an archive-program is called
 (MTA 14.20 and up), MTA will not retain the child-process window
 at the bottom of the screen, but the actual window (with the in-
 formation before the call) is restored after the call.


 3.23 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.24 Swapping
 ────────────────────────────────────────────────────────────────────────
 Regulary I get questions about swapping. Most of this questions deal
 with the functions of swapping, so I will try to point out what swap-
 ping is.

 When you run MTA, it takes away around 160K (or more) from memory.
 In a 'normal' (non 80386 and some special chipsets) environment, this
 will leave anywhere between 440K and 360K (or less with TRS's in your
 machine) for shells (archivers, dos-shell and exits). If this is NOT
 enough, than conventional memory must be found somewhere. MTA (and
 other programs that use swapping) contain a little (nifty) routine
 that gets control. This routine (obvious this routine is located at
 the start or end of the memory) will 'move' (swap) the surrounding
 program (the rest of MTA) to 'unconventional' memory. With unconven-
 tional memory I mean some type of storage that can not be used to
 execute a program. Types of storage that can be used are extended or
 expanded memory but also disk-storage. The little routine stays in
 memory though and loads the next program (archiver, shell or exit).
 Then it sits and waits for that program to finish and it gets con-
 trol again. After getting control, it restores the moved (swapped)
 parts of MTA back to conventional memory again and the next MTA
 function is started.

 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. In MTA 14.20 (again) a new swap-routine is
 implemented that is both faster and uses more types of resources
 with less space.

 MTA's swapping routine uses EMS, XMS or disk. If EMS is available,
 MTA will swap to EMS (if enough space is available). If no EMS is
 available but you have XMS, MTA uses XMS. If neither EMS nor XMS
 is available, MTA uses disk-space.

 For every swap MTA uses a file-handle, even for swaps to XMS and
 EMS. This file-handle will stay open until the current swap is
 complete. If MTA does a recursive swap (so MTA swappes, a new MTA
 is loaded, this one swaps again and so on), all file-handles of
 previous swaps (swaps earlier in the recursion that have not yet
 finished) will stay open. In special cases, you should alter the
 FILES= statement in CONFIG.SYS to a higher value when you expect
 a large number or recursive swaps.

 When MTA swaps to disk, a file is created in the directory that
 you supplied in the SwapPath option OR in the current directory
 at the moment that MTA started ! Just like the file-handles, these
 files stay open until the swap has returned to the original task.
 NEVER start a CHKDSK or a disk-optimizing utility in one of MTA's
 exits while there is a swap in progress. Also a directory sort of
 the directory containing the swap-file(s) can be dangerous.

 For every swap, MTA creates a special unique file. The name of this
 file is equal to the HEX-representation of the combined date/time
 at the moment of swapping. Though almost impossible, MTA checks if
 this file is present in the directory. If this is the case, MTA will
 wait for a second and tries a new name, until a non-matching name is
 found. For every MTA-task you start, MTA adds a extension, equal to
 'S' and the task-number (e.g. S01 for the first task) to the file
 name, so several concurrent MTA's can never create equal swap-files.

 For each swap, MTA will swap almost all of the coding, data and stack
 to the swap-file. This can vary depending on the number of files that
 MTA selected but should be somewhere between 160 and 200K.


 3.25 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.26 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.27 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.28 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.29 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.30 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.


 3.31 Compression of single executable files (PKLITE)
 ────────────────────────────────────────────────────────────────────────
 With MTA 14.20 and higher you can also use MTA to do conversions of
 executable files to compressed (self contained) executable files
 with PKLITE. This feature merely comes as a bonus to the program.
 MTA's main goal is to convert archives from a certain system to a
 system you like. The compression of EXE/COM files can be used as a
 separate function.

 Most of the MTA.CTL statements have no meaning to this type of con-
 version. You can setup MTA to do nothing BUT conversion of COM/EXE
 files when you set the CompressionType option to PKLITE or UNPKLITE
 but in this case you only use around 10% of the programs functions.
 In most cases you setup MTA to do a archive-to-archive conversion
 and you set CompressionType to the system you like. If you have setup
 MTA like this (along with all possible options), you can easy use
 MTA to convert COM/EXE files by including /PKLITE or /UNPKLITE as a
 command-line option when you call MTA. MTA will ignore all options
 that have nothing to do with the conversion of executable files and
 will convert COM/EXE files from normal to PKLITE or back.

 Included in MTA 14.20 is the interface to the PKLITE program (as you
 already imagined). I did not include LZEXE because the latest version
 I have seen can, only convert from normal to LZEXE'ed and not back.
 There are programs that can do the reversed (LZEXE'ed to normal) but
 there are at least 3 I have seen and I can not create a protected and
 generalized interface to all of them (also because 2 of them come as
 a shell and not as a stand-alone program). This does not mean that
 MTA is not LZEXE-aware. When selecting files, MTA takes into account
 if a COM/EXE file is already compressed with LZEXE (0.90 or 0.91) and
 will skip the file in that case. When decompressing, MTA will only
 select PKLITE-compressed COM/EXE files.

 While releasing MTA 14.20 I am working with a new japanese program
 called DIET (version 1.0) that can do the same thing as PKLITE. If
 this program comes popular and/or I do not find any problems while
 testing it, I will include it in one of the next releases. The same
 goes for LZEXE when a 'both-way' version comes available. Also I
 will include an option to compress all COM/EXE files inside archives
 with PKLITE or any other PKLITE-alike program, though this has the
 risk of automatically creating unusable files.

 When you run MTA without anmy file-mask, but WITH the /PKLITE or
 /UNPKLITE option (or CompressionType set to one of both), the
 tag-window will also change and will only display available files
 for this type compression.

 A file is available (and selectable by MTA) for PKLITE if:

 - It is a COM or EXE file;
 - If it is not compressed with PKLITE, LZEXE 0.90 or LZEXE 0.91;
 - If it is not a self-extracting archive (SFX) of any of the known
   archive systems;

 A file is available (and selectable by MTA) for UNPKLITE if:

 - It is a COM or EXE file;
 - It is compressed with PKLITE;


 3.32 The MTA tag-window
 ────────────────────────────────────────────────────────────────────────
 In previous versions (14.10 and less), the tag-window was not that
 fancy as it should be. Because of the change in the command-line,
 where you can now include a directory (and drive) to search for files
 (remember, it overrules any selection in MTA.CTL, such as the options
 DefaultPath, RAPaths and QBBSPaths), the tag-menu is also changed.

 When you run MTA without any file-masks on the command-line, a tag
 menu is displayed as before. In this tag-menu you have now the option
 to tag files inside ONE directory. A mix of files in several different
 directories is impossible.
 When the tag-menu is displayed, you can switch to other directories
 and even to other drives. If one or more of the displayed drives is
 not available (not ready, door open, unformatted disk) it can be
 selected but the tag-window will ignore it after it has detected any
 error on that drive.

 When you start MTA with SFX support (so you include self extracting
 archives), all files with abonormal extensions and COM/EXE files
 that are SFX-files, will be included. The testing will take a while,
 depending on the speed of the drive and the machine you have.

 If you start MTA with the PKLITE or UNPKLITE option, all available
 AND selectable files are displayed (see chapter 3.31).


 3.33 The MTA-child
 ────────────────────────────────────────────────────────────────────────
 When MTA detects an archive inside an archive, it will try to convert
 this archive also (arc-in-arc operations). Normal (small) conversion
 programs would do this in a recursed way, but MTA is so big and uses
 so many options that it is almost impossible to handle this recursed.
 For one arc-in-arc level things could be managed, but with 10 of such
 levels (so archive in archive in archive .... and so on ...) would be
 impossible.

 MTA uses a little trick. MTA can run in two modes, called parent and
 child mode. In parent mode, MTA is a child of the DOS itself (so MTA
 is either called from another program, from a batch or the command-
 line) and this is MTA's primary mode. All mentioned options and all
 features are available in parent mode. It is called parent mode, be-
 cause MTA can call itself. The primary MTA is then the parent of the
 newly called MTA. This secondairy copy of MTA will run in child mode.
 The child mode will disable some features. Archives contained in
 archives do not have any need for a banner-comment inside. So the
 AutoDescription option is not working in child mode. This is not the
 only feature that does not work in child mode. There are several of
 them, some dealing with internals, some with options and features
 (externals).

 The parent MTA can call one child MTA, but this child MTA (in child
 mode) can, again, call another copy of MTA that will also run in
 child mode. This does NOT mean that the 2nd MTA that calls the 3th
 MTA will switch to parent mode. Only the first copy is in parent
 mode and all other copies are NEVER in child mode.

 Without special tricks, memory would not be sufficient to contain
 more copies of MTA. In general (640K available) there will be just
 enough room to allow 2 copies of MTA (one parent, one child) in
 memory and keep enough free space to run a small (e.g. not ARJ or
 LHARC, but ARC, PKZIP and such) archive program. This special trick
 is called swapping and is described elsewhere. With swapping set to
 on, each MTA will keep 4K of memory occupied while calling the next
 copy of MTA, so a large number of childs can be called before the
 memory gets low.

 MTA detects its mode from a command-line option. In previous versions
 this was the /CHILD parameter but this is changed (in 14.30) to the
 /| parameter. When you call MTA from the command-line and you supply
 /|, you will be amazed that MTA will report an error (invalid command-
 line option). This is because DOS strips the | character (this is the
 piping character) from the command-line before calling the program.
 You can still call MTA with /| from a program (I do it myself) but I
 advise you not to do this. Strange things can happen, because the
 parent MTA will create an environment for the child to feel itself
 happy and you will not. So NEVER call MTA with /| on your own.

 For unregistered users there is also no bonus in calling MTA with
 /| because the delay-screen is also available in the child and
 you will loose some options in child mode that are available when
 you call MTA in parent mode.

 One final note (an IMPORTANT note). All options that you supply to
 the parent MTA on the COMMAND-LINE will be passed to the child(s).
 The child(s) read the MTA.CTL again and MUST use these parameters
 to overrule some options. For example, you have set the MTA.CTL to
 compression in ZIP format. Now when you call 'MTA *.ZIP /LZH' forcing
 MTA to create LZH files (overrule the ZIP) and an arc-in-arc situation
 is at hand, the child would convert the nested archives to ZIP and
 not to LZH. This is why several COMMAND-LINE options are passed to
 the child(s).

 Normally this will function ok, but when you use a big list of
 options (almost to the limit of the 121 characters that DOS allows
 on the command-line), the result could be overflow on the command-
 line, causing the child to do strange things. This is because of
 the fact that the parent MTA adds some options to the command-line
 (/| amongst them) itself. Previous versions of MTA would choke on
 this, version 14.30 and up will check for this situation and report
 an error. If this happens there is only one thing to do. Create an
 alternate MTA.CTL (MTA.ALT or something from your own imagination)
 and carry the bulk of the COMMAND-LINE options over into this
 alternate configuration file. Now call MTA with /CTL to point to
 this alternate file and everything will be ok again (you must leave
 out all other options naturally).


 3.34 MTA and unattended operations
 ────────────────────────────────────────────────────────────────────────
 Recently there keep on comming questions about the unattended support
 of MTA. This is all my fault, because the earlier documentation was
 somewhat cruel on this item (and not without errors either).

 There are a number of options that influence the way that MTA works
 in unattended mode. Most of them you can find out when the need is
 there but some must be pointed out.

 In most cases you will do an unattended MTA on the same directories
 each time over and over. First I must point out the way you must
 setup MTA to work in the right directories. This can be done in one
 of the 3 following ways:

 - Put the MTA in a batch-file, change to the right directory before
   you call MTA and call MTA with its options (see later). You can
   repeat this for every directory. For example:
   ..
   ..
   D:
   CD \ZIP1
   MTA [parameters]
   E:
   CD \ZIP2
   MTA [parameters]
   ..
   ..
   To work on \ZIP1 on D: and \ZIP2 on E:;

 - Make the batch smaller and use DefaultPath options in MTA.CTL.
   You include DefaultPath D:\ZIP1 and DefaultPath E:\ZIP2 in
   MTA.CTL and you can reduce the previous batch to:
   ..
   ..
   MTA [parameters]
   ..
   ..
   To work on those two directories again;

 - You would like to run MTA on all your directories of a BBS. MTA
   supports both QuickBBS <tm> and Remote Access <tm> BBS types.
   You include either the QBBSPaths option or the RAPaths option.
   Inside the batch you do:
   ..
   ..
   MTA [parameters]
   ..
   ..
   And MTA will work on all files in all BBS directories.

 Now the next problem. You must tel MTA to work on some files. You
 can do this in two different ways:

 - Use file-masks for [parameters]. In the previous examples you
   could tell MTA to convert all *.ZIP and *.LZH files (ARJ is
   your target) with 'MTA *.ZIP *.LZH' and MTA will convert all
   *.ZIP and *.LZH files in the supplied directories;

 - Use the MarkString and NoMarked options (or /MAS and /MAR on the
   command-line).
   This is a better option. In the previous example you would have
   problems when someone uploaded a *.LZS or *.ARC file. These
   would not be converted. If you used *.* ALL files would be converted
   even those that you converted earlier !!!
   NoMarked can be used to tell MTA only to convert files that confirm
   to the supplied mask AND that are not converted before. So with
   the NoMarked and MarkString opions set, the call to MTA can be
   changed to 'MTA *.*'. Only those files that are not converted before
   are converted and will not be converted again until you set the
   NoMarked option to OFF;

 Finally there are some options that you must change or include. When
 you run MTA in unattended mode but you don't want MTA to run longer
 than a certain amount of time (BBS events !!) you can include the
 RunTime option to limit the number of minutes that MTA can run.
 Remember that MTA will start in a new archive even when 1 second is
 left, so you can outrun the RunTime by the time that your machine
 needs to convert the last archive.
 Sometimes you can get frequent warnings on some files. In unattended
 mode these warnings won't be seen, neither do you want to hear the
 beeping, so put a value of 0 to the WarningTime option. All important
 things are logged (when you put on the logging).

 REMEMBER. ALLWAYS include a file-mask. To call MTA without parameters
 in unattended mode will force MTA to display the tag-menu and to wait
 until you enter the files.


 3.35 Other computers
 ────────────────────────────────────────────────────────────────────────
 A many asked question deals with LHA, ZOO and ARC files on different
 kind of computers (AMIGA and such). MTA CAN be used on these files if
 the archiver creates compatible files BUT with one restriction (see
 later). For LHARC this means for example, that you should include a
 /CL/O- or LZHCompression /O- command-line/option.

 There is only ONE restriction. There can be files inside these archives
 that contain longer filenames than allowed by DOS. MTA could handle
 these files but DOS can't. Take xxxVirusSig for example. When this
 file were extracted, a file xxxVirus.SIG would be created and the new
 archive would include the point ! Also special types of attributes
 could cause a problem. These files are therefore ignored by MTA (in
 general).

 From parts of LHARC documentation for AMIGA that have been sended to
 me, I have understood that users of AMIGA-LHARC are advised to make
 archives that can be handled by DOS itself if they are passed to a
 DOS-system (for storage or distribution).


 3.36 Usage in an online-environment (remote BBS logging)
 ────────────────────────────────────────────────────────────────────────
 This an all following versions can run as an exit to a BBS-door. The
 most common example would be FileDoor <tm>. It is possible to implement
 MTA into FileDoor's ExitAfterUploadx (x is 1, 2 or 3) hook. You should
 notice though, that implementing online conversion of files, at the
 expence of the users, is something you must deside carefully. When the
 users are impatient, it could turn out that users hang up the phone
 before MTA is terminated (e.g. FileDoor gets control again) or that
 users don't upload anymore. So think twice before you act.

 If you implement MTA into a door that runs remote, you can use the
 /REMOTE switch (there is no counterpart in MTA.CTL) to instruct MTA
 to also log its action (only a small part of the logging) to the
 remote node. /REMOTE must be combined with FOSSILPort (/FOSSIL) or
 COMPort (/COM) and BAUDRate (/BAUD). You can setup the right confi-
 guration (depending on the BBS-line) with a combination of MTA.CTL
 options and/or command-line switches.

 If remote operation (/REMOTE) is wanted, MTA will log the progress
 to the FOSSIL-port that is configured. MTA will monitor the carrier
 and will stop logging (but continue working) to the remote side if
 the carrier is lost.

 If the door is compatible with FileDoor <tm>, you can instruct MTA
 to create files with the name [origname].F$D (where [origname] is
 the filename of the file that is processed). This file will contain
 the ORIGINAL size of the file before MTA started conversion and can
 be used to calculate any upload credits. The receiving door must
 delete these files itself after MTA has created them ! This option
 is only active when /STOSIZ (StoreSize) is active !


│3.37 Archives with volume-labels
│────────────────────────────────────────────────────────────────────────
│Currently ZIP and ARJ support volume-labels. These little entries in
│these archives can cause a pain in the head of the programmer and so
│they did me. I first tried to do it the fancy way but any of these
│options caused MTA to use to much memory, so I have implemented it
│in a simple but working way.
│
│When you convert ZIP to ZIP you don't have to get special versions,
│but if you use ARJ in the process (so ZIP to ARJ or ARJ to ZIP or
│ARJ to ARJ) you need version 2.10 of ARJ otherwise you get errors.
│
│There are some special things you must do, before you can use the
│KeepVolLabel (/KeepVL) option. Here's a checklist:
│
│- Make sure that a 'standard' DOS label program is inside the DOS
│  path under the name LABEL.EXE (default) or LABEL.COM (alternate).
│  MTA will call the label-program with the syntax:
│  LABEL.ext drive:description
│  If no LABEL.EXE/COM is available and KeepVolLabel is set to active,
│  MTA will abort;
│
│- Assign a label to the drive that MTA will use for the temporary
│  path. If there isn't a volume-label and a file with volume-label
│  inside is to be converted, you will get a warning and MTA will
│  label the drive to 'MTA LABELED';
│
│- Make sure you use ARJ 2.10 or higher when you convert from and/or
│  to ARJ;
│
│- Set the KeepVolLabel option to active or use the /KEEPVL command-
│  line switch if KeepVolLabel is not active, to activate the con-
│  version of volume-labels.
│
│What does MTA do when converting volume labels:
│
│- All following actions are only done for a file that actually con-
│  tains a volume label. And they are done for each of the files
│  that you selected and contain a volume-label;
│
│- Before decompressing, MTA will obtain the current volume-label
│  from the drive that contains the temporary path;
│
│- Conversion is set with decompression of volume-label to ON. For
│  ZIP, the current drive (e.g. the drive that contains the tempo-
│  rary path) is used (-$), for ARJ this drive is assigned (-$drive:);
│
│- Conversion continues by setting compression with volume-label to
│  ON. For both ARJ and ZIP, the drive is assigned (-$drive/-$drive:);
│
│- After compression, MTA calls LABEL.EXE/COM with the old volume
│  label to restore this label;
│
│The above actions do NOT take place if the source archive does not
│contain a label otherwise the target should always contain the volume-
│label of your temporary drive and that is not what you want. If the
│target is non-ZIP or non-ARJ, the labels are changed because I have
│made MTA prepared for other archivers that will support volume-labels
│in newer releases.
│
│If the source is an AV'ed ARJ or ZIP and contains a volume label, the
│label is also changed but that will have no meaning and/or result if
│you have set the KeepAV option to on because in that case, compression
│is not started.
│
│If anywhere between decompression and compression an error occurs, MTA
│will try to restore the old volume-label. There could be instances
│where this does not happen but those are not foreseen (runtime errors).
│
│Be sure that your LABEL.EXE/LABEL.COM works unattended (test it before-
│hand). Also there are some versions of LABEL that will use incorrect
│conversion. If a label is 11 bytes and contains DISK......1 (the points
│are spaces), LABEL drive:DISK......1 (points are again spaces) will
│result in a label DISK.1 and not DISK......1. If this happens with
│your LABEL.EXE/COM and you don't want it, you can not use KeepVolLabel.
│Newer versions of MTA are planned to have an internal label-routine
│that CAN work in the correct way and still unattended !

 ┌───────┬─────────────────────────────────────────────────────────────┐
 │   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.30 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                                                                │
 │ /PKLITE                                                             │
 │ /UNPKLITE                                                           │
 └─────────────────────────────────────────────────────────────────────┘
 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.

 ┌─────────────────────────────────────────────────────────────────────┐
 │ /SIM                                                                │
 └─────────────────────────────────────────────────────────────────────┘
 This option (only implemented as a runtime command-line option) can be
 used to run MTA in simulate mode. This mode will do the following:
 - Select files depending on mask/menu;
 - Decompress the file(s);
 - Scan for Virus;
 - Call exits;
 - Next file.
 With this option you can use MTA to scan for a virus in any archive or
 archives without compressing them back again. MTA will do the normal
 extraction (in the temporary directory or RAM-disk) but will not do the
 compression again.

 ┌─────────────────────────────────────────────────────────────────────┐
 │ /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 but /W is ignored
 when you include a drive and/or directory in one of the file-masks.

 ┌─────────────────────────────────────────────────────────────────────┐
 │ /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 ARJ (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).

 ┌─────────────────────────────────────────────────────────────────────┐
 │ /CHn_n_n                                                            │
 └─────────────────────────────────────────────────────────────────────┘
 This parameter overrules the options for LZHCompression options in
 MTA.CTL. You must code the compression options just like you do when
 running LZH (or example /A+), but if you use more than one option,
 you must NOT separate them with a space but with an underscore (like
 /A1_myoption).

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

 ┌─────────────────────────────────────────────────────────────────────┐
 │ /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.

 With /OP you can use some special generic parameters. These parameters
 are replaced by MTA to create a new password. They are:

 $JD     Julian date-number. This is the day-number since the start
         of the current year, so 01/01/1991 has a julian datenumber
         of 001, 01/02/91 has julian datenumber 032;

 $JY     Julian year-component. These are the last 2 bytes of the
         current year, so 91 in 1991;

 $ND     The current day   (2 positions always);
 $NM     The current month (2 positions always);
 $NY     The current year  (4 positions always);
 $FN     The current filename (only name, not extension)

 So /OP$JY$JDFile will create password 91112File on 22th of April 1991
 and /OPFile$ND$NM$JY will create File220491 on the same date. You can
 mix parameters and text as long as there are no spaces in the password;

 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.

 ┌─────────────────────────────────────────────────────────────────────┐
 │ /VMODE or /VMODE [mode]                                             │
 └─────────────────────────────────────────────────────────────────────┘
 Used as /VMODE it will reset any VideoMode as set in MTA.CTL. Used as
 /VMODE [mode] it will instruct MTA to switch to [mode] independent of
 any available VideoMode option in MTA.CTL.

 ┌─────────────────────────────────────────────────────────────────────┐
 │ /EXTTST                                                             │
 └─────────────────────────────────────────────────────────────────────┘
 /EXTTST is a toggle. If ExtendedTesting is not available in MTA.CTL,
 the command will set it to on, otherwise it will set it to off.

 ┌─────────────────────────────────────────────────────────────────────┐
 │ /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.

 ┌─────────────────────────────────────────────────────────────────────┐
 │ /UNMARK                                                             │
 └─────────────────────────────────────────────────────────────────────┘
 This option is used as a toggle. If UnMark is set in MTA.CRL, /UNMARK
 will set it to off otherwise it will set it to on.

 ┌─────────────────────────────────────────────────────────────────────┐
 │ /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.

│┌─────────────────────────────────────────────────────────────────────┐
││ /KEEPAV                                                             │
│└─────────────────────────────────────────────────────────────────────┘
│This option toggles the KeepVolLab option. When this option is set to
│ON, KeepVolLab 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.

 ┌─────────────────────────────────────────────────────────────────────┐
 │ /BAUD[baudrate]                                                     │
 └─────────────────────────────────────────────────────────────────────┘
 Tell MTA to work on [baudrate] for remote logging. This option only
 works when /REMOTE is used.

 ┌─────────────────────────────────────────────────────────────────────┐
 │ /COM[comport]                                                       │
 └─────────────────────────────────────────────────────────────────────┘
 Tell MTA to work on [comport] for remote logging. This option only
 works when /REMOTE is used. If COM-port - 1 does not equal the FOSSIL
 port to use, than you must use /FOSSIL.

 ┌─────────────────────────────────────────────────────────────────────┐
 │ /FOSSIL[fossilport]                                                 │
 └─────────────────────────────────────────────────────────────────────┘
 Tell MTA to work on [fossilport] for remote logging. This option only
 works when /REMOTE is used. If COM-port - 1 does not equal the FOSSIL
 port to use, you must use this option. Otherwise you can also use the
 /COM option.

 ┌─────────────────────────────────────────────────────────────────────┐
 │ /REMOTE                                                             │
 └─────────────────────────────────────────────────────────────────────┘
 When this option is set, MTA will give a small progress log on the
 remote side. This remote session is defined with the baudrate (/BAUD)
 and port (/COM or /FOSSIL) or the equivalent options in MTA.CTL. Only
 when /REMOTE is used, these other options will have a meaning. You can
 put them in MTA.CTL and they will only be activated when /REMOTE is
 set.

 ┌─────────────────────────────────────────────────────────────────────┐
 │ /STOSIZ                                                             │
 └─────────────────────────────────────────────────────────────────────┘
 This option toggles the StoreSize option in MTA.CTL. When set to on,
 /STOSIZ will set it to off and reversed.

 ┌─────────────────────────────────────────────────────────────────────┐
 │ /|                                                                  │
 └─────────────────────────────────────────────────────────────────────┘
 Finally there is one switch YOU MAY NEVER USE YOURSELF. I mention this
 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.

 A detailed description is available in the chapter 'The MTA-child'
 (chapter 3.33).


 MTA in combination with unattended operations need some special care.
 Also there are several switches and options available to make the
 work easy. A detailed description of unattended operations is available
 in the chapter 'MTA and unattended operations' (chapter 3.34).


 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 !

 PAK.EXE is also compatible with some versions of ZIP. I have had a
 number of errors on the PAK-ZIP combination. Also ZIP is for PK(UN)ZIP
 and not for PAK to convert to normal files. Unless multiple users ask
 for ZIP-support with PAK, I will not include it inside MTA and you
 must use PKUNZIP to decompress a ZIP file and PKZIP to create one.

 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 or LHA.EXE           (Yoshi);
 - LARC.EXE                       (Miki);
 - PKZIP.EXE/PKUNZIP.EXE          (PKware new);
 - MDCD.EXE                       (MD);
 - ARJ.EXE                        (ARJ);
 - HYPER.EXE                      (HYP);
 - PKLITE.EXE                     (PKLITE)


 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.
 If you include a directory (and or drive) in one or more of the masks,
 then MTA will use the FIRST path you entered and ignores the rest if
 they are different. Also the DefaultPath option becomes obsolete when
 you include a directory in the mask.

 If you enter MTA E:\ZIP\*.ZIP E:\ZOO\*.ZOO, then MTA will convert
 *.ZIP and *.ZOO files in E:\ZIP\. The directory E:\ZOO is ignored.
 If you want such combinations to work, you must include  DefaultPath
 options and/or use one of the LVLx command-line switches.

 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 200K. 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. But in critical
 cases (ARJ to name one), you can use the swapping option to give back
 enough memory to the compression program.

 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.


 4.8 Very special notes to read and not forget
 ────────────────────────────────────────────────────────────────────────
 Please read some notes on LHARC and LHA about the marking of such
 files.

 Another problem that occurs with the LHA (LHARC 2.xx) implementation
 is the backward compatible archive format. If a user still uses an
 old LHARC 1.13 (or lower) and that user gets a new LZH file (with the
 2.xx compression), LHARC 1.13 will give error messages about unknow
 compression techniques BUT does NOT set the errorlevel to something
 higher than 0 (everything OK). In that case, the following will happen
 when MTA tries to convert such an archive:

 - MTA calls LHARC;
 - LHARC reports 'unknown compression method' on some or all (!) files
   and returns with 0 (ok!);
 - MTA deletes the original archive (everything went ok, didn't it ?);
 - MTA starts the new compressor. That compressor will not find all
   the files (worse, because your new archive is incomplete) or will
   find no files (a relief because now MTA reports an error);

 Get the picture ? Something more than a flaw. One of my beta-testers
 (Hanstheo Wolf) has simulated this problem with many files and did
 come to the conclusion that there could be more problems of this kind.
 In fact, when users start to experiment with clone-programs that give
 a shell above a real archiver, or when the original archiver is repla-
 ced with a clone, these problems could occur.

 In the above case (and I suggest you to use ALWAYS when you still use
 the LHARC 1.xx version) you can set the option ExtendedTesting in the
 MTA.CTL file to on !

 What does ExtendedTesting do. First the flow of operations and the
 place where Extended Testing comes in the picture:

 - MTA selects a file to decompress and starts the decompress;
 - If the errorlevel is non-zero, the archive is marked in error and
   moved to the error-directory and MTA starts with the next archive;
 - After decompressing, MTA starts the extended testing;
 - If extended testing reports an error, MTA moves the original archive
   to the error-directory and starts the next archive;
 - MTA deletes the orginal archive and goes on (compressing and such);

 Now what does Extended Testing do:

 - It reads the original archive and collects the total of all uncom-
   pressed sizes;
 - It reads the uncompressed files and also collects the total of all
   these file sizes;
 - It compares both sizes. If different, MTA is reported that the
   archive is decompressed in an invalid way (missing files without
   any report of errors by means of an errorlevel), if equal, the
   file is decompressed in a normal way;

 The extra reading of the archive and the decompressed files will cause
 some loss in speed. But savety is optimal !!

 ┌───────┬─────────────────────────────────────────────────────────────┐
 │   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  (*)
   Sysop: Reinier De Groot

 - GOLEM Service BBS
   Sysop: Hanstheo Wolf

 - Sirex BBS
   Sysop: Gerry Ulrich

 - Funboard BBS
   Sysop: Dirk Astrath

 - Amber Shadow
   Sysop: Dave Overton

 - The Black Universe
   Sysop: Saar Blitz & Addy Santos

 - The Chess Board
   Sysop: Ken Givens

 - Barnabas The Caring
   Sysop: John Barton

 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 very warm and loud applause !);


 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

 ┌───────┬────────────────────────────┐
 │ 14.20 │ Minor release              │
 └───────┴────────────────────────────┘
  ■ Changed all the code to Turbo Pascal version 6.0, OPRO 1.10 and
    Powertools 5.10. Thanks to TurboPower and Blaise for sending the
    changed units in a hurry;

  ■ Under TP 6.0 the old swapper did not work anymore. Changed the
    whole MTA programming concept and added a new swapper that is
    both faster, more versitile and swaps less code.

  ■ Added options to make it possible to swap MTA before one or more
    user selectable) archivers get control. Thios was needed to let
    MTA run in small configurations with ARJ 0.20 and higher. ARJ
    uses around 110 Kb more memory than the biggest archiver until
    now (LHarc and DWC). 512K users and users with 808x machines
    that have no higher memory areas to use for their DOS and/or
    device drivers can now still run MTA.
    Suggested by : Reinier de Groot and Author

  ■ Added the RA0 and RA1 parameters to let MTA work fine with the
    new FILES.RA structure of Remote Access 1.xx (beta still).
    Suggested by : Ruud de Bruin, Reinier de Groot

  ■ Changed ARJ support somewhat. Earlier versions of MTA could work
    with older ARJ releases (0.13, 0.14) but this release needs 0.15
    or higher because the -d -y combination is changed to -m (supported
    in ARJ 0.15 and higher). Using MTA with older ARJ versions will
    result in errors.
    Suggested by : Author

  ■ Drives and directories are now supported in MTA. In earlier versions
    you had to use MTA *.ZIP /WD:\MYPATH to convert *.ZIP files in the
    directory D:\MYPATH\. Now it is possible to enter the following
    combination MTA D:\MYPATH\*.ZIP. If more masks are supplied with
    different directories, MTA will ignore the directories (NOT the
    masks, so MTA E:\ZIP\*.ZIP E:\ZOO\*.ZOO will result in a conversion
    of *.ZIP and *.ZOO files inside E:\ZIP\ and NOT in E:\ZOO\.
    Suggested by : Almost everybody

  ■ Added support to PKLITE. Added PKLITEPath option and CompressionType
    PKLITE and UNPKLITE. Also Added PKLITECompression option, along with
    the /CL command-line switch;
    Suggested by : Author

  ■ Added new coding to the tag-menu so users can now switch directories
    and drives to do their selection;
    Suggested by : Hanstheo Wolf and author

  ■ Added new coding to the tag-menu for PKLITE support;
    Suggested by : Author

  ■ Changed the HELP-menu (MTA.CH2). This menu will now display any
    changes to the previous version with a '│' in lightred before
    the description of that changed option.
    Suggested by : Author

  ■ Thanks to some hackers I had to change the key-support. It looks
    the same but is different. Registered users should read the
    REG_USER.MTA document and the separate letter they will receive
    by mail;

 ┌───────┬────────────────────────────┐
 │ 14.30 │ Minor release              │
 └───────┴────────────────────────────┘
  ■ Fixed a problem with directories on the command-line. The parse
    routine did not work ok (normal paths and paths on options like
    /W). When you included /WD: (or MTA D:*.ZIP), MTA would work on
    the root of D: and not the current directory on D:. This is
    fixed;
    Reported by: Peter Schmidhofer

  ■ Fixed possible problems with child calls. In some cases MTA could
    overrun the command-line of the child, causing strange things. In
    some cases this could cause MTA to show the tag-menu when working
    on a recursed ZIP. This is fixed. MTA will now report an error;
    Reported by: Richard Lee

  ■ Fixed some problems in the documentation. Added chapters about the
    child calls and unattended operations. Also some errors were re-
    moved.
    Suggested by: Dirk Kissing

  ■ Included LHARC 2.xx support. MTA can now convert old LHARC (1.13)
    and new LHARC (2.05) LZH files;

  ■ Included LZHCompression option and the /CH command-line parameter
    to give optimum support for LZH;

  ■ Changed the help support again. When you enter HELP (MTA /?) you
    can now create a complete command-line when you hit ENTER while
    you are scrolling in the HELP screens. After you are finished
    (hitting ESC), MTA will display the constructed command-line on
    the screen, so you can read it while you enter the MTA command
    on the command-line;
    Suggested by: Hanstheo Wolf

  ■ Fixed a documentation bug in the MTA.CTL example I supplied.
    For all xxxPath options, the **CHA1420** at the end, caused a
    problem for those who used this MTA.CTL as a template for their
    own CTL-file;
    Suggested by: Hanstheo Wolf, Wim Abels

  ■ Changed the unregistered behaviour somewhat. People who liked to
    experiment with MTA before desciding to use it, would go nuts
    with the 30 second delay. The sequence is now as follows:
    - 10 seconds delay (always);
    - 20 seconds delay unless you enter the supplied pass-code before
      the 20 seconds are passed and while MTA is counting down;
    - 60 seconds delay unless you press any key;
    So nothing has changed for unattended use but testing MTA will
    now only cost 10 seconds and 4 keystokes and not the whole 30
    seconds and a keystroke.
    The registration delay is NOT to punish people (that is why ALL
    functions are available in unregistered mode and MTA is not
    crippled in that mode) but more as a reminder to register the
    product if you use it after the 30 days trial period. The develop-
    ment of MTA costed months of labour, testing not to mention the
    costs of keeping compilers and add-on's on the required level.
    That won't say that I am not unwilling when several users from all
    over the world complained about the long delays. This is why I have
    changed it a bit;

  ■ Including a warning !! PLEASE, before you implement a newer version
    of some archiver do a TEST !!
    With LHARC 2.05 there were some reports on missing files with the
    14.20 release (and earlier). This was caused by a change in the
    internal archive structure of LZH files. This caused MTA to think
    that the file was a LHARC 1.13 or (wors) LARC 3.33 file. The con-
    version would sometimes work (stored files) and sometimes not
    (trashed archive or a very small new archive). With the current
    flow of files, a new MTA will be available within a week after
    the new version hits the European market. Better not to do some
    experiments (on expensive files) and to wait than to loose one
    in your own experiments ! The versions below should (!) work on
    MTA. The list is always correct for the given version.

 ┌───────┬────────────────────────────┐
 │ 14.35 │ Minor and bug release      │
 └───────┴────────────────────────────┘
  ■ MTA would fail to convert a SFX ARJ-file. This is fixed;
    Reported by: Many users

  ■ MTA would display ????? in its window for LHA 2.xx files.
    Reported by: Chris Buys, Reinier de Groot;

  ■ Implemented a work-around in MTA for the LHA 2.05 size testing
    error. Added UnMark (/UNMARK) option.
    Reported by: Many users

  ■ Implemented a work-around in MTA for the LHARC 1.xx problem with
    LHA 2.xx files. Can be used always as an extra safety. Added the
    ExtendedTesting (/EXTTST) option;
    Reported by: Hanstheo Wolf

  ■ Added ARJ security envelope support. Works the same as AV'ed
    ZIP-files and is triggered with the KeepAV option;
    Reported by: Many users

  ■ Added switching of video-mode. Added VideoMode (/VMODE) option.
    Suggested by: Author

  ■ Added notice to users that it is impossible to compress the
    programs MTA.EXE/CH1/CH2, MTL.EXE, MTM.EXE and MTZ.EXE. This
    will change is the 15.xx release;

 ┌───────┬────────────────────────────┐
 │ 14.36 │ Bug release                │
 └───────┴────────────────────────────┘
  ■ Fixed a bug that caused MTA not to work when both /D and the
    ExtendedTesting option were active. MTA would report an error
    on every archive;

  ■ This is a in-between release. Only MTA.EXE is changed. All
    other programs keep the 14.35 release !!!!

 ┌───────┬────────────────────────────┐
 │ 14.40 │ Minor release              │
 └───────┴────────────────────────────┘
  ■ Fixed a problem with error-log processing in combination with
    share. This could cause a runtime-error 202 under certain con-
    ditions. This is fixed;
    Reported by : Pauline Surink

  ■ The error-log would report 'File moved to : xxx' (where xxx is
    a directoryname). MTA would always report 'xxx' as the temporary
    directory EVEN when a fixed error-path was installed. This is
    now fixed;

  ■ MTA would keep the substituted drive and temporary directory
    under certain error-conditions (no compressor available, CRC
    errors and such) and would abort when trying to reuse the
    subst-drive. This is fixed;
    Reported by : Rob Lirb

  ■ Fixed a problem with ZIP in combination with HIDDEN and SYSTEM
    files. ZIP would not store these files inside the ZIP-file.
    This is fixed;
    Reported by : Dave Overton

  ■ Implemented various new routines that are optimized on size and
    speed. Internal processing will be around 10% better but the
    overall speed will not change much because most of the time is
    lost on the (de)compression;

  ■ MTA would not recognize ARC and LZH/LZS files when the first file
    inside such an archive contained special, country dependent,
    characters like ô and ë. This is fixed;
    Reported by : Hanstheo Wolf

  ■ Documentation did not point out that the OwnCompressPath and the
    OwnDecompressPath options could also use a second (opt) and even
    third (SWAP) parameter;
    Reported by : Rob Lirb

  ■ Added OriginalARJName option to force MTA to use the original
    name of any ARJ source-file (the name is stored inside the
    archive) and not the file-name itself.

  ■ Added TICKFiles option to extract comments from TICK-files;

  ■ Added UpdateUntypedFiles to update any type of file (even binary
    files/programs) with the changed archive-name (if changed);

  ■ Implemented a new VirusScanner option (different syntax, so be
    sure to read when you upgrade). It is now possible to call up
    to 10 different scanners for each converted archive;
    Suggested by : Harry Thijssen

  ■ Removed VirusScanParm option.

  ■ Added parameters for /OP option to generate passwords with normal
    and current-year based julian dates inside the actual password;
    Suggested by : Hantheo Wolf;

  ■ Added /SIM command-line option so MTA can be used to scan for
    a virus (and call exits) without repacking (compressing) the
    file(s) again;
    Suggested by : Harry Thijssen

  ■ MTA would stuff keys into the keyboard before a scanner was
    called. This to overcome the problem with McAfee's SCAN and
    the prompt for the user when more than 15 viri were found.
    This caused problems under multitaskers and this function is
    now removed from MTA because you can use the /NOPAUSE option
    in SCAN itself (version 76 and up);
    Suggested by : Reinier de Groot

 ┌───────┬────────────────────────────┐
 │ 14.45 │ Minor release              │
 └───────┴────────────────────────────┘
  ■ MTA will now read the MTA.CTL and command-line options much faster
    than before. Depending on the number of comment-lines it will give
    you a 50 to 500% gain in speed.

  ■ Fixed a little flaw with the LHARC 2.xx level 2 headers. MTA would
    not recognize them. This is fixed.

  ■ Added $FN to /OP option;
    Suggested by: Hanstheo Wolf

  ■ Added COMPort (/COM), FOSSILPort (/FOSSIL), BaudRate (/BAUD),
    StoreSize (/STOSIZ) and /REMOTE options to use MTA inside protocol
    doors and such on the BBS;

 ┌───────┬────────────────────────────┐
 │ 14.50 │ Minor release              │
 └───────┴────────────────────────────┘
  ■ Fixed a bug with FILES.BBS entries in combination with /M and
    MoveToPath options. Comments are now also moved from the original
    FILES.BBS to the FILES.BBS inside the target directory;
    Reported by : Andrew Leary

  ■ Fixed a bug that would show the cursor with MicroSoft's mouse
    drivers version 7 (later versions) and 8. This is not the case
    with other drivers (Genius for example) but since I moved from
    a Genius FS-3xx serial mouse to a MicroSoft bus-mouse, this
    trouble occured with MTA. I now hide the cursur everytime the
    mouse is showed (after a hide);

  ■ Hopefully fixed a bug in the log-file processing;
    Reported by : Bob R.

  ■ Added volume support for converion of volume-labels inside ZIP
    and/or ARJ files (finally !!);
    Suggested by : Dave Overton

  ■ Added support for ARJ 2.10. Added a new version of OPCFI that
    will (correctly) detect volume labels in ARJ and ZIP files;

  ■ Changed the way that comments are added to ARJ-files. Up from
    this release I dropped piping for ARJ. MTA now uses the -z
    option with a temporary/fixed file to add comments to ARJ ar-
    chives. Several users who complained about comments in ARJ,
    will be glad to see this enhancement;
    Reported by : Several users

  ■ Added support to move files from diferent DefaultPath directories
    to different target-paths. A nice one for a BBS with multiple up-
    load area's;
    Suggested by : Bob R.


 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/2.12, LARC release 3.33, MDCD
│version 1.0, ARJ version 2.10, HYPER version 25 and PKLITE release
│1.05.


 5.4 Copyright, Trademarks
 ────────────────────────────────────────────────────────────────────────
 PKPAK, PKUNPAK, PKZIP and PKUNZIP are trademarks of PKWare Inc.
 PKLITE        is a trademark 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
 TICK          is a trademark of Berry Geller

 MTA is written in Turbo Pascal 6.0, with help of the Turbo Debugger 2.0
│and makes extensive use of Object Professional 1.11 and OPCFI V 9.30.
 Also included are some routines of Blaise's fine PowerTools Plus
 package (5.1). Both STRG and SYS (6.1 and 6.0a) are included because
 I recently registered for (and got) a commercial license for both
 products. Give them a try ! Very nice !

 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.
 OPCFI               is a trademark  of Robert W. van Hoeven
 STRG and SYS        are  trademarks of Eagle Performance Software

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