home
***
CD-ROM
|
disk
|
FTP
|
other
***
search
/
Hall of Fame
/
HallofFameCDROM.cdr
/
arc
/
mta_ve01.lzh
/
MTADOCEN.DOC
< prev
next >
Wrap
Text File
|
1990-09-30
|
236KB
|
4,775 lines
╔══════════════════════════════ ┌─────────────────┐
║ MTA Make Them Anything │ D.I.S.P. │────┐
║ Convert Compressed │ │░░░░│
╟────────────────────────────── │ │░░░░│
║ (c) 1990 Robert W.van Hoeven │ Dutch │░░░░│
╟────────────────────────────── │ Independent │░░░░│
║ Release : 14.01 │ ShareWare │░░░░│
║ Rel.Date: 1th October 1990 │ Programmer│░░░░│
╠══════════════════════════════ └─────────────────┘░░░░│
║ | │░░░░░░░░░░░░░░░░░│
║ │ MTA.EXE / MTM.EXE | └─────────────────┘
║ │ MTL.EXE / MTU.EXE | ┌─────┐ |
║ │ MTA.CTL / MTA.CHx | │░░░░░│ |
║ │ | └──┬──┘ |
║ │ Lines starting with '|' are | ┌────┴────┐ |
║ │ changes to release 13.01 !! ------││││││ ═══│-------
║ └─────────┘
╠═══════════════════════════════
║ Address: Robert W. van Hoeven
║ PO. Box 131
║ 1170 AC Badhoevedorp
║ Nederland / Holland
╚═══════════════════════════════
┌───────┬─────────────────────────────────────────────────────────────┐
│ 0 │ Table of contents │
└───────┴─────────────────────────────────────────────────────────────┘
1 ---- General information
1.1 Copyrights and License Agreement
1.2 Newer versions and contacting the author
2 ---- Package description and requirements
2.1 Preface
2.2 Requirements
2.3 Included files
2.4 History
2.5 Introduction & specs
3 ---- Installation description
3.1 Installation
3.2 Remarks on ARC
3.3 Remarks on PAK
3.4 Remarks on ZIP
3.5 Remarks on PKPAK/PKUNPAK
3.6 Remarks on DWC
3.7 Remarks on ZOO
3.8 Remarks on LHarc
3.9 Remarks on LArc
3.10 Remarks on MD
3.11 MTA.CTL
3.12 Customized compression
3.13 Recursive support
3.14 Compression file-in-compression file
3.15 MTA Touching System
3.16 Optimal sizes
3.17 Diskette option
3.18 Virus detection
3.19 Screen control
3.20 KeyBoard control
3.21 Swapping
3.22 Encryption and Authenticity Verification
3.23 Mice and other trouble
3.24 ITS
3.25 MTA and 4Dos <tm>
│ 3.26 Substituted drive
│ 3.27 Running multiple copies of MTA at the same time
4 ---- Runtime information
4.1 Command-line switches
4.2 Aborting MTA
4.3 LOG file
4.4 The (de)compressors
4.5 Executing MTA
4.6 Errors
4.7 Specials
5 ---- Version information and credits
5.1 The BETA-team
5.2 Credits
5.3 Version history
5.4 Copyright, Trademarks
┌───────┬─────────────────────────────────────────────────────────────┐
│ 1 │ General information │
└───────┴─────────────────────────────────────────────────────────────┘
1.1 Copyrights and License Agreement
────────────────────────────────────
- Users of the MTA-package must accept this disclaimer of warranty:
- The MTA-package is supplied as is. The author disclaims all
warranties, expressed or implied, including, without limitation,
the warranties of merchantability and of fitness for any purpose.
The author assumes no liability for damages, direct or consequential,
which may result from the use of the MTA-package;
- The MTA-package is a "shareware program" and is provided at no charge
to the user for evaluation. Feel free to share it with your friends,
but please do not give it away altered or as part of another system.
The essence of "user-supported" software is to provide personal
computer users with quality software without high prices, and yet to
provide incentive for programmers to continue to develop new products.
- If you find this program useful and find that you are using and
continue the use of the MTA-package after a 30 days trial period,
you must register the MTA-package as described below;
- Non-commercial can get a license for the usage up to this release
of the MTA-package for a small amount of money. Look into the
details in REGISTER.MTA. Previous registered users will receive
a big reduction to upgrade to the newer versions. These users
should look into the details in UPGRADE.MTA.
For Non-commercial users there is a POSSIBILITY to submit to one
of the special contracts as explained in the file REGISTER.MTA.
- Commercial usage of MTA will cost somewhat more. Also, a so called
'closed' Bulletin Board System (a system where the user must pay
direct to the SysOp to get full access) is has to pay more than
a Non-commercial user. Both types of users should look into the
details in REGISTER.MTA;
- The registration of the MTA-package will license ONE copy for use on
any computer at any one time, as long as the usage confirms to the
type of registration you have done (so NON-commercial usage when you
have a non-commercial license);
- Anyone distributing the MTA-package for any kind of remuneration must
first contact the Author at the address above for authorization.
- You are encouraged to pass a copy of the MTA-package along to your
friends for evaluation. Please encourage them to register their
copy if they find that they can use it;
- When you are a non-commercial user of MTA and you are depending
on the software, you can consider to pay a small amount of
money for service. The terms for this option can be found in
the file REGISTER.MTA.
- Support on MTA, when used in a non-commercial environment, is
available even when you don't enter a service contract, but the
paid users (both commercial users and non-commercial users with
a service contract) have higher priority;
- Problems and suggestions can be entered in the FidoNet <tm> Echomail
conference <tm> called DISP (international). Entering this echo does
not exclude you of the duty to register the MTA-package, though users
who evaluate the product can enter the echo for questions;
- The MTA-package, all programs, the documentation and support-files is
copyrighted 1990 by Robert W. van Hoeven, PO. Box 131, Badhoevedorp
1170AC, Holland. All rights are reserved. You may copy this package
for backup purposes. Also you may copy and share unmodified copies of
the whole package, providing that the copyright notice is reproduced
and included on all copies.
Excluded from this statement are the support-files written by other
authors. Please refer to the documentation of these programs for
copyrights and license agreements;
- Comments, suggestions and bug reports are welcome and will be answered
as soon I have the time to do so. You can send me a letter of leave a
NetMail <tm> message named to Rob Van.hoeven (mind the point) on node
2:512/100 (RA Support, Monster, Holland, SysOp is Reinier de Groot).
When you want to send me normal mail, address it to:
Robert W. van Hoeven, PO. Box 131, 1171 AC Badhoevedorp, Holland;
Also you can enter messages in the FidoNet <tm> DISP Echomail <tm>
area;
1.2 Newer versions and contacting the author
────────────────────────────────────────────────────────────────────────
The newest version of MTA is always available on 2:512/100 (Remote
Access Support). You can obtain MTA in three ways:
- Logging on to 2:512/100.
In this case you have the possibility to look at tons of
interesting files with specialized area's for RA and so on. It
is a so called 'closed' board. Peeking around will cost nothing,
you must pay for full access. 2:512/100 is the real start of all
DISP programs in the real world. DISP-HQ (2:512/100.5) is a board
you cannot access, but my BOSS will always get the newest version
first;
- 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;
- A Message in the FidoNet <tm> DISP echomail <tm> area;
┌───────┬─────────────────────────────────────────────────────────────┐
│ 2 │ Package description and requirements │
└───────┴─────────────────────────────────────────────────────────────┘
2.1 Preface
────────────────────────────────────────────────────────────────────────
Please notice the following:
- MTA is a ShareWare product in every right way, this means this
software is not crippled in any way;
- This program only works when you have the right compressors available
on your PC. It does not do any compression of it's own ! The program
only interprets all the supported formats. I can not think of any
problem with that, but if any of the authors/companies of the
supported products has problems with this program, I will remove
that piece of coding at once (although I could not find any quote
like 'You may NOT call our program in program's of your own' in any
of the doc's);
2.2 Requirements
────────────────────────────────────────────────────────────────────────
MTA requires: - PC XT/AT/386
- At least 390K free memory
- DOS 3.xx or higher (4.xx not tested)
(tested with 4Dos 3.01a, should work with lower
versions);
- DOS 2.xx ONLY when registered. In this case, a
customized version will be created;
- HDU optional
- Mouse optional
2.3 Included files
────────────────────────────────────────────────────────────────────────
The package includes : MTA.EXE The main program
MTA.CH1 The chained tag-menu module
MTA.CH2 The chained help-menu module
MTM.EXE The maintenance program
MTU.EXE The special VIRSCAN caller
MTL.EXE The list program
MTA_DIR.EXE The directory utility
MTA_CRC.EXE The VALIDATE caller
MTA__BAT.EXE A SFX with examples of batches
MTA__UTL.EXE A SFX with additional utilities
The file MTR.EXE, included in previous versions, is now obsolete. These
functions are now implemented in MTM.EXE.
2.4 History
────────────────────────────────────────────────────────────────────────
MTA's history is now around a 1 1/2 years old. MTA was written for
some friends who had 'the conversion blues'. In somewhat less than a
year, and with the great support of many users, MTA is grown to a
'full blown' conversion program.
If you are searching for a 'quick and dirty' conversion from only
one type of archive to another one, you CAN use this program, but
using a small customized program should be faster.....
If you think you are going to convert many types of archives and
even convert your own once in a while, MTA will prove to be a
handy program.
If you own a Bulletin Board System, you will find out that MTA can
be used in 'full blown action', both manually or unattended (inside
an event). Links to other software I have developed (QF-series) will
be included soon;
I think, there will be lots of other programs that can do the job,
and, of course, it's up to you which program you will use, but if
you want to have full control over almost EVERY action during the
conversion from A to B, MTA will not disappoint you in any way.
MTA is hopefully the last of the conversion tools anyone needs, although
I agree with people who say 'Do I need a canon to shoot a fly ?'. In
any case, hereby I provide you all with a real conversion canon. Please
shoot the right things with it !
2.5 Introduction & specs
────────────────────────────────────────────────────────────────────────
Those who took the time to read the history (and I know of at least
one, beside myself who hasn't done this) will have a general picture
of MTA's functions. For those who didn't, a brief review and some
general specs:
MTA can:
- Convert most of the compressed files to almost any other format,
provided, you own the original (de)compression program(s);
- Convert SFX (self extraction) files from ARC/PAK/ZIP/LHarc and LArc
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 ZIP-files (nice banners in the ZIP for
Bulletin Boards);
- 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 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 (V 40 and up);
- Working on multiple directories in one run;
- RBBS compatible;
- Create CRC-values with a CRC program and add them in the archives;
- Leave ZIP AV'ed programs as they are (keeping the original AV)
while MTA is still able to delete some Sysop-added files and to
include some new files and comments;
- Fully mouse-aware (see chapter on mice);
- Fully ITS (1.06 and up) aware (see chapter on ITS);
- 4Dos <tm> aware;
│- Full recursive support;
│- EGA/VGA aware;
For all its functions MTA 'leans' heavily on it's own control-file.
Most of the fixed options can be toggled with invocation switches.
┌───────┬─────────────────────────────────────────────────────────────┐
│ 3 │ Installation description │
└───────┴─────────────────────────────────────────────────────────────┘
3.1 Installation
────────────────────────────────────────────────────────────────────────
People who think that installing MTA is easy should read the specs
again. With such a number of options at hand, installation will be
something more than easy.
People who (still) think that installing MTA is difficult are wrong.
When you take the time to read every possible option while creating
the control-file at the same moment, you will see that everything
is not that difficult at all.
If you still have problems, you could enter a message in the FidoNet
DISP Echomail area. Also consider paying a small amount of money and
support is very near ! Also a full-screen installation program to
setup a customized MTA.CTL is available, but only for registered
users (look into REGISTER.MTA).
Most users will have a hard-disk. Owners of a diskette oriented PC can
use MTA (provided you have a second drive). Installation however is
described for hard-disk owners:
- Place MTA.EXE and MTL.EXE in some directory in the DOS PATH. All
additional batch-files (if any) for the various exits should also
be present in the DOS PATH. Place MTA.CH1 and MTA.CH2 in the same
directory as MTA.EXE (this is mandatory !!).
MTA.EXE can be renamed (DOS 3.xx passes the (new) program-name to
the program itself, so when MTA must swap, it knows how to call
itself, even when you have renamed the file. The MTA.CHx files
CAN NOT be renamed and must be in the same directory as MTA.EXE
(or its renamed alias);
- Create a MTA.CTL file in the same directory (see instructions);
- If your MTA.CTL is not going to be somewhere inside the DOS-path
and you will convert nested arc-in-arc files, it is advised to
include a environment variable MTA, set to the path containing
both MTA.EXE, MTA.CHx and MTA.CTL. The format is 'SET MTA=path';
- Take special care with memory requirements (see description of
MTA.CTL's FreeMemory option);
- Change to your trashcan directory (if one) and do a dummy-run. You
can supply a 'non existing' file mask. MTA checks the MTA.CTL (please
correct the errors) and creates a log-file (optional);
That's all there is to, except for the real freaks. BBS owners who plan
to use MTA to convert any incoming file to their own compression
system are not ready yet.
3.2 Remarks on ARC
────────────────────────────────────────────────────────────────────────
MTA supports : All ARC versions up to 6.02
│There are no special tricks concerning ARC. When destination is ARC,
│FULL recursive support is available if you use the SubstDrive option
│in MTA.CTL, otherwise, no recursive support is available, due to the
│nature of ARC's recursive support.
MTA is NOT able to detect incoming encrypted ARC-files. There is no
indication in the ARC whatsoever that an ARC-file is encrypted. Please
be careful ! MTA IS able to unARC encrypted ARC-files when you supply
the correct switches to MTA;
3.3 Remarks on PAK
────────────────────────────────────────────────────────────────────────
│MTA supports : All PAK versions up to 2.50
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.50 with ZIP-support inside.
│MTA is not able to use PAK as a substitution for PKWare's ZIP. I
│don't know if this support will give the same problems with PAK and
│ZIP as we have seen with PKWare and S.E.A. but besides that, there are
│some major problems (?) with PAK and ZIP-files with directories in-
│side. I have not got PAK's /I and /PATH options working with a ZIP
│that contained directories. Use the normal PKZIP/PKUNZIP to convert
│ZIP's. If anyone is interested in using PAK as a substitute for ZIP
│and there are no copyright problems with PAK (using ZIP), I will con-
│sider to implement this feature.
3.4 Remarks on ZIP
────────────────────────────────────────────────────────────────────────
MTA supports : All ZIP versions up to 1.10
When using ZIP files (as destination), you must remember to set the
correct compression switches in the ZIPCompression option in MTA.CTL.
You can not (of course) use a switch that is not supported with your
current version of ZIP. So if you use PKZ 0.92, you can not code -es
in the ZIPCompression option.
│When adding comments to the ZIP file (AutoComment option), up to
64000 bytes are allowed. I have had troubles with the 0.92 evaluation
version of PK(UN)ZIP, but versions 1.01 to 1.10 seem to work ok.
MTA is able to detect and process both encrypted ZIP-files and
ZIP-files with Authenticity Verification set to ON. MTA will skip
encrypted ZIP-files when no password is supplied to MTA.
Users have pointed out that MTA uses a way to add comments to the
ZIP-files (rerouting of standard devices) that can cause incomplete
comments in the ZIP. This is true (the statement that rerouting
like PKZIP -z TEST <COMMENT.FIL could cause trouble) but not true
for MTA. MTA only uses this kind of operations with the CarryComment
option. In THAT case, MTA will place a CR-LF combination at the end
of the comment itself and no harm is done. For normal descriptions
in ZIP's (AutoComment option), MTA uses (and always used) its own
routines.
3.5 Remarks on PKPAK/PKUNPAK
────────────────────────────────────────────────────────────────────────
MTA supports : All PKPAK/UNPAK versions up to 3.61
There is nothing special in this support. To go along with S.E.A.,
PKPAK/PKUNPAK format is not supported as destination, nor are the
(archive) comments inside a PKware created ARC-file;
MTA is NOT able to detect incoming encrypted PKPAK-files. There is no
indication in the ARC whatsoever that a PKPAK-file is encrypted. Please
be careful ! MTA IS able to unPAK encrypted PKPAK-files when you supply
the correct switches to MTA.
3.6 Remarks on DWC
────────────────────────────────────────────────────────────────────────
MTA supports : DWC version 5.10A
There is nothing special in this support. For included paths, the
same goes as for PAK 2.0 (no support). You can supply an additional
parameter to DWC by means of the DWCCompression option. You can
select to compress on speed or size. The little fixes and changes in
V 5.10 do not change the way MTA works along with DWC.
│There are some special tricks concerning DWC. When destination is DWC,
│FULL recursive support is available if you use the SubstDrive option
│in MTA.CTL, otherwise, no recursive support is available, due to the
│nature of DWC's recursive support.
MTA is able to detect and process DWC files that are encrypted. MTA
will skip an encrypted DWC-file when no password is supplied to MTA.
3.7 Remarks on ZOO
────────────────────────────────────────────────────────────────────────
MTA supports : ZOO version 2.01
There is nothing special in this support. Full recursive and relative
path support is available. MTA also supports ZOO 2.01 'extended'.
│When adding comments to the ZOO file (AutoComment option), up to
│64000 bytes are allowed, although this seems to be more than ZOO
│can support.
3.8 Remarks on LHarc
────────────────────────────────────────────────────────────────────────
MTA supports : All LHarc versions up to 1.13d
MTA does not support the invalid extension ICE unless you have selected
to support SFX-files.
│There are some special tricks concerning LZH. When using LZH (in/out),
│FULL recursive support is available if you use the SubstDrive option
│in MTA.CTL, otherwise, no recursive support is available, due to the
│nature of LZH's recursive support.
3.9 Remarks on LArc
────────────────────────────────────────────────────────────────────────
MTA supports : LArc version 3.33
MTA supports LArc as it can. There is no documentation available to
me, so everything comes from 'the dark'.
│There are some special tricks concerning LZS. When using LZS (in/out),
│FULL recursive support is available if you use the SubstDrive option
│in MTA.CTL, otherwise, no recursive support is available, due to the
│nature of LZS's recursive support.
3.10 Remarks on MD
────────────────────────────────────────────────────────────────────────
MTA supports : MDCD version 1.00
MTA supports MDCD. The not so commonly used MDCD program can be used
both as source and as target. Although the sources are available, MTA
will use the stand-alone program MDCD.EXE for (de)compression.
3.11 MTA.CTL
────────────────────────────────────────────────────────────────────────
The MTA.CTL file is a normal text-file (ASCII-file). You can create
this file with program's like EDLIN or any other ASCII-editor.
MTA.CTL must be in the DOS-path (DOS 2.xx) or in the same directory
as MTA.EXE (DOS 3.xx).
MTA.CTL contains many options. Some of them optional, some of them not.
The general format for the MTA.CTL file is:
Option {parameter} {parameter} ..... {parameter}
There are NO restrictions to the position you start the command, nor
the starting position of the (optional) parameters, but the 'option'
and (if present) the 'parameters' have to be separated with one or
more spaces. You can make any mixture of upper and lower case !
Some of the parameters in the MTA.CTL file can be overruled with
command-line switches. A generalized example of MTA.CTL is included
in the release-file. It contains ALL options available in this release.
MTA.CTL can (or must) contain the following statements:
┌─────────────────────────────────────────────────────────────────────┐
│ RegistrationName [name] │
└─────────────────────────────────────────────────────────────────────┘
Usage : This option has only a meaning when you received a key after
you registered MTA. You can fill in your name (up to 35 bytes)
right now, but MTA will do nothing with it until you received
the proper code to be installed in the RegistrationKey option.
Relate: RegistrationKey
Dest. : All
┌─────────────────────────────────────────────────────────────────────┐
│ RegistrationKey [key] │
└─────────────────────────────────────────────────────────────────────┘
Usage : This option is only valid with a registered package. If you
register the MTA-package, you will receive a code to add to
the RegistrationKey option. Until then, only a zero is valid
as a key. Using invalid key's will abort MTA before any work
is done.
Relate: RegistrationName
Dest. : All
┌─────────────────────────────────────────────────────────────────────┐
│ IncludeCtl [filename] │
└─────────────────────────────────────────────────────────────────────┘
Usage : This parameter is optional. In MTA.CTL you can include one
(or several) other CTL-files. This comes in handy when you
want to separate you 'normal' run-time options and the
'special' options you change much.
MTA can handle nested IncludeCTL statements. So you can
include a 'IncludeCTL MTA.001' in your MTA.CTL and again
you can include a 'IncludeCTL MTA.002' in your MTA.001.
The total number of IncludeCTL options (nested and in the
primary file) can be up to 16.
Relate: None
Dest. : All
┌─────────────────────────────────────────────────────────────────────┐
│ ARCPath [path] {opt} │
│ PAKPath [path] {opt} │
│ ZOOPath [path] {opt} │
│ DWCPath [path] {opt} │
│ LZHPath [path] {opt} │
│ LZSPath [path] {opt} │
│ PKZIPPath [path] {opt} │
│ MDPath [path] {opt} │
│ PKUNZIPPath [path] │
│ PKUNPAKPath [path] │
└─────────────────────────────────────────────────────────────────────┘
Usage : These options are optional. MTA will do an automatic search
for all (de)compression programs. There are some cases where
you want to instruct MTA where and what to find yourself. These
cases are:
- Your HDU is a bit slow, the searches for all the needed
(de)compression program's takes too long;
- You have renamed some (or all) the (de)compression program(s)
to your own name(s). MTA will never find these program(s);
You can include some (or all) of the above options to instruct
MTA where AND what to find. The supplied options overrule the
automatic search MTA conducts.
Maybe you have noticed, but there is NO option for PKPAK. MTA
can only create a destination file of type ARC with the
program ARC.EXE and NOT with PKARC.EXE/PKARC.COM/PKPAK.EXE !
Also you can not supply PKARC.EXE as a replacement of ARC
because MTA uses the ARC.EXE syntax for compression and
decompression.
Please notice that you must supply the correct programs to the
above options. If you replace one of the program's with another
one, strange things (errors) can occur and data could corrupt.
Supply the following programs to the options:
ARCPath ARC.EXE or its alias
PAKPath PAK.EXE or its alias
ZOOPath ZOO.EXE or its alias
DWCPath DWC.EXE or its alias
LZHPath LHARC.EXE or its alias
LZSPath LARC.EXE or its alias
PKZIPPath PKZIP.EXE or its alias
MDPath MDCD.EXE or its alias
PKUNZIPPath PKUNZIP.EXE or its alias
PKUNPAKPath PKUNPAK.EXE or its alias
or PKXARC.COM or its alias
or PKXARC.EXE or its alias
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 !
New from release 9.01 and up is the optional third parameter.
If you supply a 'Y' as the third parameter, you let MTA know
that this compressor can be used for the optimize test (see
into the chapter Optimal sizes). If you leave the option out,
this compressor will not be used. This is also the case when
you let MTA search for itself for the compressors !!!
Relate: None
Dest. : All
┌─────────────────────────────────────────────────────────────────────┐
│ PAKVersion xxx │
└─────────────────────────────────────────────────────────────────────┘
Usage : This parameter is optional. If you don't use this option, PAK
version 2.00 (2.10) is assumed. This option should only be
included in one (or both) of the following cases:
- You would like to see the correct version in the MTA screen;
- You work with the old GSArc program. In THIS special case
(running GSArc) you must include a '0' as version-number;
The number is the full version number without any point, so
version 2.00 must be entered as 200, 2.10 as 210 and so on;
Relate: None
Dest. : PAK
┌─────────────────────────────────────────────────────────────────────┐
│ ZIPVersion xxx │
└─────────────────────────────────────────────────────────────────────┘
Usage : This parameter is optional. If you don't use this option, ZIP
version 1.10 is assumed.
You MUST include this option when you are running with a lower
version of ZIP. MTA will so some special 1.10-alike features,
also 0.9x version have special options that MTA will use !!!!!
The number is the full version number without any point, so
version 0.92 must be entered as 092 (or 92), 1.10 as 110 and
so on;
Relate: None
Dest. : ZIP
┌─────────────────────────────────────────────────────────────────────┐
│ ZIPCompression [options] │
└─────────────────────────────────────────────────────────────────────┘
Usage : ZIPCompression is used to let MTA tell PKZIP which type of
compression to use. Depending on the version of PKWare's
ZIP-programs, these options can vary.
With [options] you code the current ZIP compression options
you would like to use.
PKZ 0.90 : In general use 'ZIPCompression -eb4 -ea4'
PKZ 0.92 : In general use 'ZIPCompression -ex'
PKZ 1.00 : In general use 'ZIPCompression -ex' or
'ZIPCompression -es'
PKZ 1.10 : In general use 'ZIPCompression -ex' but
you can make use of -ei to force imploding
for the special PKSFX Jr;
You must code the options just like you did with PKZIP !
Relate: ZIPVersion
Dest. : ZIP
┌─────────────────────────────────────────────────────────────────────┐
│ DWCCompression [option] │
└─────────────────────────────────────────────────────────────────────┘
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).
Relate: None
Dest. : DWC
┌─────────────────────────────────────────────────────────────────────┐
│ TouchLow │
└─────────────────────────────────────────────────────────────────────┘
Usage : This parameter is optional and controls MTA's touching system.
When used, MTA touches (resets the compressed file's time/date
stamp) to the lowest date of any file inside the compressed
file. See the chapter on this feature.
Relate: TouchCur, TouchHig
Dest. : All
┌─────────────────────────────────────────────────────────────────────┐
│ TouchHig │
└─────────────────────────────────────────────────────────────────────┘
Usage : This parameter is optional and controls MTA's touching system.
When used, MTA touches (resets the compressed file's time/date
stamp) to the highest date of any file inside the compressed
file. See the chapter on this feature.
Relate: TouchCur, TouchLow
Dest. : All
┌─────────────────────────────────────────────────────────────────────┐
│ TouchCur │
└─────────────────────────────────────────────────────────────────────┘
Usage : This parameter is optional and controls MTA's touching system.
When used, MTA touches (resets the compressed file's time/date
stamp) to the current date. See the chapter on this feature.
Relate: TouchLow, TouchHig
Dest. : All
┌─────────────────────────────────────────────────────────────────────┐
│ IgnoreTimeComponent │
└─────────────────────────────────────────────────────────────────────┘
Usage : This parameter belongs to the MTA touching system. When you
want to ignore the time on date/time stamps, you must include
this option. MTA will use 00:00:00 as the time on all files
when testing. Also the compressed file is touched as 00:00:00.
Relate: TouchLow, TouchHig, TouchCur
Dest. : All
┌─────────────────────────────────────────────────────────────────────┐
│ AcceptHighDate │
└─────────────────────────────────────────────────────────────────────┘
Usage : This parameter belongs to the MTA touching system. When you
want to include dates that are higher than the current PC's
system date/time, you must include this option. This means
that a compressed file with a file inside with the date
01-07-98 will actually get the date 01-07-98 even when the
current date is lower.
Relate: TouchLow, TouchHig, TouchCur
Dest. : All
┌─────────────────────────────────────────────────────────────────────┐
│ WarningTime [cycles] │
└─────────────────────────────────────────────────────────────────────┘
Usage : This parameter is optional and controls MTA's time to display
a warning message. When running unattended (a BBS for example)
long waiting times are not so handy. When running manually they
could be handy.
By default MTA sets the WarningTime to 20 cycles (every cycle
is visualized on the screen). This comes to around 10 seconds.
You can interrupt every message by pressing any key.
When the default is to long for you, you can reduce the value,
when you want more time, increase it. Values from 0 to 65535
are valid.
Value 0 means that MTA will display no warning messages at all.
Relate: None
Dest. : All
┌─────────────────────────────────────────────────────────────────────┐
│ NoArcInArc │
└─────────────────────────────────────────────────────────────────────┘
Usage : With this option you can instruct MTA NOT to convert compressed
files INSIDE the compressed file. There could be cases where
you want to use this option. In this case no shelling of a new
MTA.EXE is done.
Relate: None
Dest. : All
┌─────────────────────────────────────────────────────────────────────┐
│ OptimizeOnSize │
└─────────────────────────────────────────────────────────────────────┘
Usage : With this option you can instruct MTA to optimize the
destination file to the smallest compressed file, selected
from all compressors with a 'Y' as the third parameter in
the xxxPATH options.
Relate: None
Dest. : All
┌─────────────────────────────────────────────────────────────────────┐
│ OnlyUpgrade │
└─────────────────────────────────────────────────────────────────────┘
Usage : This option does not contain any secondary parameters. When
active, MTA will only convert all files not standard to the
target compression method AND all files standard to the
target compression method BUT with a lower technical level
of the actual compression file. Currently only PAK and ZIP
offer two kinds of compressed files that can still be
accessed with a newer version but has a lower technical
level. For PAK files, this is the Crushed method. MTA will
(if you use PAK as target) only convert all non-PAK files
AND all PAK-files with crushed files inside. For ZIP files,
this is the reduced (1-4) method. MTA will (if you use ZIP
as target) only convert all non-ZIP files AND all ZIP files
with reduced (1-4) files inside. The method is not
fail-save in all cases. Some examples:
- A ZIP file contains 3 files, 2 shrinked files and one stored;
MTA will NOT mark this file as to be upgraded. This is only
done when a reduced (1-4) file is inside;
Note: The combination Reduced and Imploded in a file WILL trigger
MTA to convert.
Relate: ZIP, PAK files
Dest. : ZIP, PAK
┌─────────────────────────────────────────────────────────────────────┐
│ Description │
└─────────────────────────────────────────────────────────────────────┘
Usage : This parameter is optional. If you supply this parameter. MTA
orders every compressor (if that function is included) to
ASK for a description of the target compressed file. MTA ignores
this command with compressors that can't create comments to the
compressed file !
You can not use this function in conjunction with the option
│ AutoDescription !
When you use ZIP as destination, -z and -c (both file and archive
comments) are used. This is not valid for versions under 1.00.
In this case you must use the ZIPVersion 09x option !
NOTE: NEVER use this option when running unattended, because
the archivers will prompt you for a comment !!!!!!!!!!
│Relate: Autodescription, ZIPVersion
Dest. : All (when available)
┌─────────────────────────────────────────────────────────────────────┐
│ ZIPAutodescription [filename] │
└─────────────────────────────────────────────────────────────────────┘
Usage : This function is obsolete in 14.01 (and higher), you should
replace it with the AutoDescription option.
Relate: None
Dest. : ZIP
│┌─────────────────────────────────────────────────────────────────────┐
││ Autodescription [filename] │
│└─────────────────────────────────────────────────────────────────────┘
│Usage : This parameter is optional. If you supply this parameter, you
│ also have to supply a valid (and available) text-file. This
│ file will be appended to a ZIP, ZOO 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 and ZOO 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. : ZIP
┌─────────────────────────────────────────────────────────────────────┐
│ 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
source file to the target file, if the target is PAK, ZIP 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
Dest. : ZIP/PAK/ZOO
┌─────────────────────────────────────────────────────────────────────┐
│ FilesBBS {optional name} │
└─────────────────────────────────────────────────────────────────────┘
Usage : With this option you can instruct MTA to change converted
filenames in:
-a) A file (like FILES.BBS) in the current directory;
-b) A fixed file in a directory pointed by you.
To get the most of this option, you must understand that
this option can have various formats depending on what you
want. Basically the following formats are allowed and do the
following things:
- FilesBBS
You supply only the FilesBBS keyword. This means you
instruct MTA to change filenames in the file FILES.BBS
in the directory MTA is working on (if file is present);
- FilesBBS filename
You supply FilesBBS with only a filename (no path/drive).
This means you instruct MTA to change filenames in the
file supplied by 'filename' in the directory MTA is working
on (if the file is present). FilesBBS FILES.BBS has the
same meaning as if you coded only FilesBBS;
- FilesBBS drive:path\filename
You supply FilesBBS with a fully qualified filename
(including drive and path-name). This means you instruct MTA
to change filenames only in THIS file in THIS directory.
This comes in handy when all files are in one single master
directory file (like RBBS).
When you don't use the FilesBBSFormat option (described later),
MTA will search for filenames in position 1 in each record
and with the format FILENAME.EXT (upper- and lower case).
Changes are made after every conversion. If MTA aborts on an
operation, all previous filenames are changed.
When you run an ExitAfterCompression shell and in this shell
you convert a compressed file to a SFX-file and you delete
the original compressed file, MTA changes the FILES.BBS
entry to the SFX-name. If you keep the compression-file after
making a SFX-file, MTA changes the FILES.BBS to the new name
of the compressed file AND NOT the SFX-file.
So, for example, you have A.ZIP and you convert it (with
MTA) to A.LZH and in the ExitAfterCompression you create
a A.COM and delete the A.LZH, the FILES.BBS is changed from
A.ZIP to A.COM. The same goes for .EXE. When both .COM and
.EXE are created (?), MTA takes the .COM.
Up from version 11.01, MTA will also change sizes in the
FILES.BBS alike file. This should only be the case with
files that actually contain the file-length in the FILES.BBS
alike file itself like the RBBS master directory. When
converted to .COM or .EXE files (while deleting the original
target file), MTA will adjust the size to the actual .COM
or .EXE size.
If comments in the FILES.BBS alike file start with a download
counter (e.g. FILENAME.EXT [01] Downloaded once), and you use
the CarryComment option (types 2 or 3), MTA will strip the
download-counter (only when the format is [nnnn]) from the
description that will be added to the archive (not in the
FILES.BBS alike file).
This option can also be used in a NON-BBS environment where
4Dos is installed and used. Read the comments on 4Dos, later
in this documentation.
│ When the FilesBBS option is active and MTA detects a defective
│ archive, MTA will move this archive to the supplied error-path
│ or the temporary error-path and along with that, the entry in
│ the FILES.BBS alike file is copied (NOT moved) to a FILES.BBS
│ alike file (with same name and structure) in the error-path.
│ If such a file exists (when you have defined a default error-
│ path), the record is appended to this file. The original com-
│ ment will also stay in the original FILES.BBS alike file.
│ When the FILES.BBS-alike file is only on one fixed place (you
│ did add a path to this option) this option is NOT triggered;
Relate: FilesBBSFormat
Dest. : All
┌─────────────────────────────────────────────────────────────────────┐
│ AddFilesBBS │
└─────────────────────────────────────────────────────────────────────┘
Usage : This option can be used to tell MTA to add the name and
optional description to the file pointed to by the FilesBBS
option if it is NOT present in this file already. This option
will only function when the FilesBBS option is also set to
on. When you use the CarryComment (1 or 2) option, MTA will
also add any description in the original (and now converted)
archive to this file. The format of the records to be added
is the same as described by the FilesBBSFormat option.
Relate: FilesBBSFormat, FilesBBS, CarryComment
Dest. : All
┌─────────────────────────────────────────────────────────────────────┐
│ FilesBBSFormat [name] [extension] [comment] │
└─────────────────────────────────────────────────────────────────────┘
Usage : This option can be used to tell MTA something about the
internal format of the FILES.BBS alike file.
Under default conditions, MTA expects the filename to start on
position 1 of each line, with a filename format for name.ext
(with a point between the name and the extension) and the
comment to start on position 14. When your FILES.BBS alike
file (if you use any) is different, you must use this option
to set the new format.
The FilesBBSFormat option has three parameters. The first ([name])
must contain the position where the filename starts. The second
([extension]) tells MTA where the extension starts. If the
filename and extension are 'glued' together with a point (e.g.
MTA.EXE), [name] and [extension] must both contain the same
value and [name] must be the position where the filename starts
in the line. Two examples
- Records are made up like FILENAME EXT (ext always starts on
position 10, and the name on position 1). You must use 1
for [name] and 10 for [extension].
- Records are made up like FILE.EXT and the filename always
starts on position 20. You must use 20 for both [name] and
[extension].
[comment] must point to the starting position of the file
comment. If the file does not contain comments you can use
a value of 255 for [comment]. If the files (can) contain
'floating' comments, you must supply a different format of
this option. In this case, do not code the position, but
supply a 'I' (without quotes) and the ITEM number. An example:
A Filename Size Comment
In this example, the comment is ITEM number 4. Each item
must be (at least) separated with one or more spaces.
The FilesBBSFormat option only has a meaning when the FilesBBS
option is used also !
Relate: FilesBBS
Dest. : All
┌─────────────────────────────────────────────────────────────────────┐
│ TempPath [path] {min free bytes} │
└─────────────────────────────────────────────────────────────────────┘
Usage : This parameter is optional. If you supply this parameter, you
instruct MTA to pass parameters to the called (de)compressors
to use 'path' as their temporary work path. Most obvious is
the usage of a RAM-disk or EMS-disk for 'path'. Please supply
the full drive AND path, because MTA changes from and to
directories !
This option is only used for (de)compressors who have the
option to use a temporary path.
Mostly LHarc <tm> is bound to make trouble when the supplied
drive/path does not exist. There are also problems to expect
when there is too little space on the drive to contain LHarc's
temporary files.
By default MTA will look if there is 256K of free space on
the supplied drive. If there isn't, MTA will ignore the
TempPath option. If you want a lower or higher threshold, you
can supply a third parameter on the TempPath option. This
parameter has to contain the minimum number of free bytes on
the drive supplied in the second parameter. When you want to
ignore threshold testing, you supply a 0.
Relate: None
Dest. : All
┌─────────────────────────────────────────────────────────────────────┐
│ MTATempPath [path] │
└─────────────────────────────────────────────────────────────────────┘
Usage : This parameter is optional. Normally MTA creates its own working
directory under the current (startup) directory. In some cases
you don't want to use this option (f.i. you have a large RAM or
EMS disk, or your current directory name is very long).
MTA stores the UNCOMPRESSED files in his temporary directory,
so when you supply MTATempPath, please keep in mind that there
must be enough room on the supplied drive to hold all
uncompressed files in the largest compression-file ! MTA itself
will skip a conversion when [space available] / 2 <
[uncompressed space]. In other words when there isn't room
enough for twice the uncompressed size, MTA will skip.
When you do NOT supply MTATempPath, MTA creates a directory
with a 8 character long name, reflecting the current date and
time in HEX representation. When running as a child (see the
chapter about Compression-In-Compression) MTA creates paths
with the name $.
Please enter the full drive and path (not a relative one) to
this option, because MTA changes directories frequently !
WARNING : The current version of DWC (A501) does NOT like to
see points in other directories than the LAST. F.i.
C:\ZIP.ZIP is your current path, when converting
MTA creates C:\ZIP.ZIP\[mtatemppath|ownpath]. DWC
does NOT like this and this can lead to serious
errors in MTA (error messages).
By default MTA will look if there is 256K of free space on
the supplied drive. If there isn't, MTA will abort at forehand.
If you want a lower or higher threshold, you can supply a
third parameter on the MTATempPath option. This parameter
has to contain the minimum number of free bytes on the drive
supplied in the second parameter. When you want to ignore
threshold testing, you supply a 0. This should be the default
because MTA does a test for space itself, but you can use the
threshold for other reasons;
Relate: None
Dest. : All
┌─────────────────────────────────────────────────────────────────────┐
│ MTAErrorPath [path] │
└─────────────────────────────────────────────────────────────────────┘
Usage : At last, some of the users will say. When the decompression
fails (CRC-error, not enough memory), MTA will normally put the
original file in the temporary directory. This is a directory
with a name like 1A345A76 (in fact it is the HEX-value of the
combined current-date and current-time). Sysop's hate to
collect all failed archives from these directories (when you
have to collect 4 or 5 you can imagine why).
MTA is able to move a failing archive to a directory with a
fixed name. In this case you must supply this statement with
a valid (and available) path as the second parameter. MTA
will put all archives that were not converted due to an error,
in this directory.
Relate: None
Dest. : All
┌─────────────────────────────────────────────────────────────────────┐
│ FDUTempPath [path] │
└─────────────────────────────────────────────────────────────────────┘
Usage : This parameter is mandatory when using the /D switch. When
working with diskettes (e.g. convert entire diskettes from one
method to another one), MTA makes usage of two special unique
directories (supplied in FDUTempPath and FDUTrashPath).
Read the chapter about the diskette option.
Please assign full drive and path names to this option. The
first time MTA run's, it creates the directory and leaves it
hat way for the following run's. You may also assign a already
existing path.
Relate: FDUTrashPath
Dest. : All
┌─────────────────────────────────────────────────────────────────────┐
│ FDUTrashPath [path] │
└─────────────────────────────────────────────────────────────────────┘
Usage : This parameter is mandatory when using the /D switch.
The FDUTrashPath contains all files who could not be moved
back to diskettes because of a lack of space.
Read the chapter about the diskette option.
Please assign full drive and path names to this option. The
first time MTA run's, it creates the directory and leaves it
hat way for the following run's. You may also assign a already
existing path.
Relate: FDUTempPath
Dest. : All
┌─────────────────────────────────────────────────────────────────────┐
│ ITSPath [path] │
└─────────────────────────────────────────────────────────────────────┘
Usage : When you use MTA in combination with my product ITS (version
1.06 and higher), you must tell MTA where to find the
semaphore file that ITS maintains. This can be done with the
ITSPath option.
If it is left out, MTA will not be ITS-aware. If you include
the valid path to ITS.SPH (like you did in ITSCFG), MTA will
include ITS-awareness (see chapter on ITS).
Relate: None
Dest. : All
┌─────────────────────────────────────────────────────────────────────┐
│ AllDisketteFiles │
└─────────────────────────────────────────────────────────────────────┘
Usage : This parameter is optional. You can direct MTA to move ALL
(NON-compression files included) from diskette to the paths
supplied in FDUTempPath an FDUTrashPath. This option has only
meaning with the /D (diskette option) switch.
You should use this option when you are using the parameters
EXITBeforeFill and EXITAfterFill. When using this option, you
get an empty diskette to work with in EXITBeforeFill.
You can not use AllDisketteFiles along with /UPGRADE !
Relate: EXITBeforeFill, EXITAfterFill
Dest. : All
┌─────────────────────────────────────────────────────────────────────┐
│ EXITBeforeStart program option option option │
└─────────────────────────────────────────────────────────────────────┘
Usage : This parameter is optional. You can direct MTA to execute an
other program (or batch-file) before MTA starts the search
and conversion of the files. This could be handy when you
use a cache device. You can instruct the cache to (temporary)
disable its execution because the conversion could influence
the optimization of the cache. Due to the whole process
of MTA, the only benefit you will have when the cache is
active, is one per archive (unpacking, remembering the
unpacked files, if not to big..., packing).
Besides of cache you can use this exit for any general
purpose.
See example in MTA__BAT.EXE file, supplied with MTA !
Relate: EXITBeforeEnd
Dest. : All
┌─────────────────────────────────────────────────────────────────────┐
│ EXITBetweenConversion program option option option %1 │
└─────────────────────────────────────────────────────────────────────┘
Usage : This parameter is optional. You can direct MTA to execute an
other program (or batch-file) after MTA has decompressed a
file. The obvious usage should be to automatically sort the
temporary directory on filename (as is not the case when you
decompress a ZIP-file) or to create files with CRC's and
directories to be included in the new compressed files.
MTA preserves the screen BEFORE the external call is made.
All parameters after the option are passed to a child DOS
shell (COMMAND.COM /Cyour commands follow here). Inside
the parameters you can code three special parameters:
%1 This parameter can occur anywhere in the option. MTA
will substitute this parameter with the relative path
where the uncompressed files are. This parameter is
in fact superfluous, because you ARE in this directory
when the call to the exit is made;
%2 MTA will substitute this parameter with the name (not
the extension) of the compressed file to be created;
%3 MTA will substitute this parameter with the extension
(without the point, so LZH and not .LZH) of the
compressed file to be created (can be used to test the
target type in most situations);
Note that %1, %2 and %3 are all optional and don't have to
be the first, second and third parameter in the command-line.
This means that %1, %2 and %3 coded here, don't have to be
%1, %2 and %3 in the batch-file you call (if you call a batch
file). For example:
ExitBetweenConversion C:\MYBATCH.BAT /A /B %1 /C %2 %3
must result in a batch containing %1 to %6, where %3 in
the BATCH equals %1 in this option, %5 in the batch to
%2 in this option and %6 (of course) to %3 in this option.
See example in MTA__BAT.EXE file, supplied with MTA !
Relate: None
Dest. : All
┌─────────────────────────────────────────────────────────────────────┐
│ EXITAfterCompression program option option option %1 %2 %3 │
└─────────────────────────────────────────────────────────────────────┘
Usage : This parameter is optional. You can direct MTA to execute an
other program (or batch-file) after MTA has re-compressed a
file. The obvious usage should be to AUTOMATICALLY create a SFX
file of the compressed file, but you can supply almost any
program.
MTA preserves the screen BEFORE the external call is made.
All parameters after EXITAfterFill are passed to a child
DOS-shell (COMMAND.COM /Cyour commands follow here). Inside
the parameters you can code three special parameters (%1, %2
and %3). They can occur everywhere inside the options.
When MTA calls the supplied program (batch) is passes all the
parameters but substitutes %1 with the path (without a trailing
backslash), %2 with the filename and %3 with the compression
type (e.g. ARC, LZS, ZOO).
You can use these parameters in a batch-file to trigger one
or more special functions, depending on the compression type.
When the called program (batch) does not use one or more of
these special parameters, you can leave them out.
THIS IS A VERY POWERFUL OPTION AND CARRIES SOME RISKS !
You can blow MTA sky high with this option, when you are
doing some strange things in the exit. MTA will look after
exit for the following things:
- Is the original compression file still available. MTA
ignores the remainder of the process (for this file) when
you delete the file in the exit, so this should not give
any problems;
- Is there a new file with the same name but with the
extension .COM or .EXE. If so, all manipulations to the
original compressed file are also carried out on the .EXE
and .COM files;
See example in MTA__BAT.EXE file, supplied with MTA !
Relate: None
Dest. : All
┌─────────────────────────────────────────────────────────────────────┐
│ EXITBeforeFill program option option option │
└─────────────────────────────────────────────────────────────────────┘
Usage : This parameter is optional. You can direct MTA to execute an
other program (or batch-file) before MTA starts with filling
the converted diskette. The obvious usage should be a format
of the diskette, but you can supply almost any program.
MTA preserves the screen BEFORE the external call is made. The
option only works with the /D switch active !
Please notice that when this parameter is used to FORMAT the
diskette, you also must supply AllDisketteFiles because only
then you are sure that the diskette is empty !
All parameters after EXITBeforeFill are passed to a child
DOS-shell (COMMAND.COM /Cyour commands follow here).
See example in MTA__BAT.EXE file, supplied with MTA !
Relate: AllDisketteFiles, EXITAfterFill
Dest. : All
┌─────────────────────────────────────────────────────────────────────┐
│ EXITAfterFill program option option option │
└─────────────────────────────────────────────────────────────────────┘
Usage : This parameter is optional. You can direct MTA to execute an
other program (or batch-file) after MTA has filled the
converted diskette. The obvious usage should be a disk catalog
program, but you can supply almost any program.
MTA preserves the screen BEFORE the external call is made. The
option only works with the /D switch active !
All parameters after EXITAfterFill are passed to a child
DOS-shell (COMMAND.COM /Cyour commands follow here).
See example in MTA__BAT.EXE file, supplied with MTA !
Relate: AllDisketteFiles, EXITBeforeFill
Dest. : All
┌─────────────────────────────────────────────────────────────────────┐
│ EXITBeforeEnd program option option option │
└─────────────────────────────────────────────────────────────────────┘
Usage : This parameter is optional. You can direct MTA to execute an
other program (or batch-file) before MTA ends.
This exit could be used to reverse the process started (or
stopped) in the EXITBeforeStart, but you can implement any
general purpose routine over here.
See example in MTA__BAT.EXE file, supplied with MTA !
Relate: EXITBeforeStart
Dest. : All
┌─────────────────────────────────────────────────────────────────────┐
│ IncludeFile [drive:path\filename] [newname] {CF$} │
└─────────────────────────────────────────────────────────────────────┘
Usage : This parameter is optional. You can direct MTA to include
the supplied file (second parameter) into every converted
compression-file. Inside the compressed file this file has
the same name or [newname] when you supply the third
parameter (must only be a filename without path and drive).
This option comes in handy when you want to include a file
with information about yourself (or your BBS) into any
uploaded file converted with MTA.
LHarc (LARC) can work with special files like ! and the
AUTOLARC.BAT file, this option can create them for you !
MTA copies the file to its own special temporary path every
time a compressed file is created. The original file is left
intact. You MUST supply a complete path to the original
filename.
There can be up to 255 IncludeFile options in the MTA.CTL. All
files will be included in EVERY converted extension. When you
leave out the option, nothing is included (of course !).
If you add CF$ as the last parameter, you let MTA know that
the file is compressed. MTA will then re-compress the file
when creating the new compression file. In this way, your
includefile can have a transparent format.
Relate: ExcludeFile
Dest. : All
┌─────────────────────────────────────────────────────────────────────┐
│ ExcludeFile [filename] │
└─────────────────────────────────────────────────────────────────────┘
Usage : This parameter is optional. You can direct MTA to exclude
the supplied file (second parameter) from every converted
compression-file.
This comes in handy when your favorite BBS includes files
like ! and U_read.me in the files he supplies (sorry for the
bad joke R.).
LHarc (LARC) can work with special files like ! and the
AUTOLARC.BAT file, this option can exclude them for you !
There can be up to 255 ExcludeFile options in the MTA.CTL. All
files will be excluded in EVERY converted extension. When you
leave out the option, nothing is excluded (of course !).
When you are a BBS and you get uploaded files with files
like '!' or 'TheGost.BBS' and you want to convert the files
for YOUR BBS, you should know that MTA first excludes files
and then includes the new ones. So in the case of the '!'
file you could create a MTA.CTL with:
ExcludeFile !
IncludeFile C:\FILES\MY.! !
and the ! is first excluded and then the MY.! is included
as ! (so its a replace).
Relate: IncludeFile
Dest. : All
┌─────────────────────────────────────────────────────────────────────┐
│ DoNot [mask] │
└─────────────────────────────────────────────────────────────────────┘
Usage : This parameter is optional. You can direct MTA to exclude
some files at all. This option could come in handy when
you run a BBS and you want to convert every file to ZIP
(example, works with all extensions), but you don't want
to convert incoming ZIP files.
I should advise NOT TO USE this option, because:
- When Reconverting the archives, MTA can initiate a virus
scan, if you exclude some incoming files (mostly because
of time I think), this test is not done;
- Some compressors are capable of compressing files depending
on size or speed. When you want the smallest files and the
incoming file is compressed on speed, you loose some bytes
because MTA does not do a re-compress (based on size);
Of course I can think of other reasons to use the DoNot option.
You can instruct MTA to exclude some special files or any type
of self extracting (SFX) .COM or .EXE file, you pick it out...
I would like you to read the chapter on the NoMarked and
MarkString options. This also could help you a lot when you
only want to re-compress incoming files only once !!!!!!!!!
You must supply any valid file-mask (wildcards allowed) in
every DoNot option. You can include up to 255 DoNot options.
This should be enough to tackle all your problems. As said,
you can include any valid wildcard-mask like *.* (I should
not include this one), *.ZIP, A??.ARC, Z2-DIFF.* and so on.
Like all DISP products of my hand, I included another
wildcard (=) character. With this character it is possible
to do a 'shifted test'. DoNot =READ excludes all files that
contain the string READ (like READme.not, doREAD.ME and so
on). The string must match, so =READ will not select RE.AD.
When using the /D and AllDisketteFiles options together,
files are NEVER excluded. This is also the case when
MTA does call to itself (compressed-in-compressed files).
Relate: None
Dest. : All
┌─────────────────────────────────────────────────────────────────────┐
│ MoveToDir [path] │
└─────────────────────────────────────────────────────────────────────┘
Usage : This parameter is optional. You can direct MTA to move all
converted files to another path (option is only valid when
NOT using /D).
Please supply full drive and path names to this option !
There is one special format for the MoveToDir option. This
is the case when you are combining this option with the /D
command-line switch (diskette support).
When using the combination /D with MoveToDir (or /M[path])
MTA will get all files from the source diskette drive,
convert them to the new archive-system and move them back to
the drive (and path) supplied by /M or MoveToDir. This makes
it easy to convert from diskettes in (lets say) drive A: (lets
say these are 360Kb diskettes) to drive B: (lets say these are
1.44Mb diskettes). You can even convert them to a subdirectory
in the target drive.
WARNING ! When you use MoveToDir as a normal option, but now
and then you use MTA to convert diskettes then please remember
to overrule the MoveToDir option by adding /M (without drive
and path) to the command-line, otherwise your diskette files
(and those in the trashcan) will be moved to the wrong place.
MTA will give a warning when you use /M[path] or MoveToDir
and /D together. You can interrupt MTA's functions at once
by hitting ESC when the message is flashing on the screen.
WARNING: When you use MoveToDir in conjunction with the
ExitAfterCompression option you have to know the
following extra's:
- When you create an extra file in the exit with
the extension .COM or .EXE and in the same
directory as the original compressed file, MoveToDir
moves these files also. When a name-like file
already exist in the MoveToDir target directory, MTA
gives you a warning and leaves the file where it
was. This does not go for the original compressed
file !
Normally this would not be a problem but when you
create such file with LHARC.EXE (1.12b) as the
result of the creation of a Self-Extraction-File,
LHarc.EXE asks you 'Overwrite [Y/N]'. This would
be very nasty when running unattended ! Please
make a check for the target-file before LHARC
creates the SFX-file !
- When you delete the original compression file in
the exit, MTA will 'see' this and take no further
actions;
│ When you are running 4Dos <tm> and your original files contain
│ a description in the 4Dos description file, MTA will use 4DOS's
│ MOVE command to move any files (if MTA has detected a full 4DOS
│ environment and the Not4DosAware option is set to off). This
│ will cause any descriptions (added with 4DOS) to be carried
│ along to the new directory.
Relate: Not4DosAware
Dest. : All
┌─────────────────────────────────────────────────────────────────────┐
│ NoMarked │
└─────────────────────────────────────────────────────────────────────┘
Usage : This is a powerful option for BBS usage and for users with
large temporary directories with compressed files.
When you supply the NoMarked option, you instruct MTA to do
the following:
- When a file is selected, MTA looks if its own mark is
present in the last 20 bytes of the compressed file.
If so, MTA will ignore the file;
- After MTA has converted a file, it will put a special
marker to the tail of each compressed file, so the next
time MTA is executed with the NoMarked option, the file
will be ignored.
MTA appends/looks for a marker of 20 bytes at the end of
the compressed file.
This marker has the following format:
- 3 binary zeroes;
- the word MTA;
- 14 bytes of private information, by default 'Your ID here !';
All compressors have been tested with this extra information
appended and they seem to have no trouble with it. That is not
so strange if you know that some communication protocols will
append binary zeroes to a file, when transferred, to fill a
complete transfer block.
A special word about the 14 bytes of information. If everyone
should use MTA's default and should download a file, converted
with MTA/NoMarked and would like to convert this file again
with MTA/NoMarked, the file would be ignored. It is advised
to set your own marker with the MarkString option to something
more or less private. BBS's could enter their Node/Net/Point
number or the name of the SysOp or something like Ghostbuster,
Snoopy or whatsoever.
NoMarked has no meaning when using /D with the AllFiles option.
The mark is not set when the MoveToDir option (/M) is used.
Afterwards you can ZAP the appended marks with the supplied
MTR.EXE utility.
Relate: MoveToDir, /D, MarkString
Dest. : All
┌─────────────────────────────────────────────────────────────────────┐
│ MarkHeader [string] │
└─────────────────────────────────────────────────────────────────────┘
Usage : Normally MTA uses a combination of three binary zeroes and the
word MTA as the start of a mark. This header, along with the
default or supplied MarkString, will be appended to all
processed files when NoMarked (or /MAR) is set to ON. Anyone
is able to detect MTA's conversion when such a file is received
because of the combination in the header.
If you want, for what reason you may think of, receivers not
to be able to detect MTA's 'touch' in your archive, you can
supply a header of your own. This header must be 6 bytes in
length or will be 'stretched' to 6 bytes when you supply less
than 6 bytes.
Please be careful with this option ! If you supply a non
unique header, MTA can fail to detect the mark-string, also
MTA could detect marked files that , in fact, are not marked
at all.
Relate: NoMarked, MarkString
Dest. : All
┌─────────────────────────────────────────────────────────────────────┐
│ MarkString [string] │
└─────────────────────────────────────────────────────────────────────┘
Usage : This option is used in combination with the NoMarked option.
Even if you do not use the NoMarked option, it is advised to
set the MarkString to something private in case you would
like the /MAR option in a later stage.
MarkString is used to set the 14 bytes of private information
that is part of the 20 bytes appended data when NoMarked is
active.
The [string] should contain no blanks. You could use underscore
characters to separate portions of the information.
The obvious thing to do is to use your name for the string,
or (in case of BBS) the Zone:Net/Node.Point combination. But
you can also use an alias like Ghostbuster, Snoopy or something
like that. If you have set the MarkString, you should not have
to change it again. When you change the string MTA is unable
to detect files as marked when they contain the previous string.
Relate: NoMarked, MarkHeader
Dest. : All
┌─────────────────────────────────────────────────────────────────────┐
│ DefaultPath [path] │
└─────────────────────────────────────────────────────────────────────┘
Usage : You can instruct MTA to work (by default) on a standard
directory or on a list of standard directories. You can
include up to 255 DefaultPath options. MTA will process
all selected files (depending on supplied mask) in all
these directories. MTA will only abort if the first
supplied directory does not exist, otherwise MTA will go
on searching the next directory.
If you do not supply a DefaultPath option, MTA will take
the current directory or the path supplied in the /W
command-line switch. The working of this switch has influence
on the working of any present DefaultPath option.
After MTA is done, MTA will switch back to the original
(current) directory.
You must include drive and the complete (not relative) path.
NOTE : MTR also uses MTA.CTL and searches for these paths.
You can also use /W on MTR to overrule these paths.
If the full-screen selection is used, MTA will only select
the first path all other paths are skipped !!!!!!
Relate: QBBSPaths, RAPaths
Dest. : All
┌─────────────────────────────────────────────────────────────────────┐
│ QBBSPaths [full name of FLSEARCH.CTL alike file] │
└─────────────────────────────────────────────────────────────────────┘
Usage : When you run MTA in a QuickBBS environment and you don't want
to supply all the area's (paths) MTA must work on, then you can
supply this option. The additional parameter must point to
a FLSEARCH.CTL alike file (or the FLSEARCH.CTL itself, when you
did not rename it). You MUST include drive and path.
MTA will work on ALL paths that are supplied in this file. If
you want some extra paths, then add some extra DefaultPath
options to MTA.CTL. All paths from the DefaultPath option,
the QBBSPaths option and the RAPaths option are merged together
by MTA.
Relate: DefaultPath, RAPaths
Dest. : All
┌─────────────────────────────────────────────────────────────────────┐
│ RAPaths [path to FILES.RA] │
└─────────────────────────────────────────────────────────────────────┘
Usage : When you run MTA in a Remote Access environment and you don't
want to supply all the area's (paths) MTA must work on, then
you can supply this option. The additional parameter must be
the full drive and path to the FILES.RA file.
MTA will work on ALL paths that are supplied in FILES.RA. If
you want some extra paths, then add some extra DefaultPath
options to MTA.CTL. All paths from the DefaultPath option,
the QBBSPaths option and the RAPaths option are merged together
by MTA.
Relate: DefaultPath, QBBSPaths
Dest. : All
┌─────────────────────────────────────────────────────────────────────┐
│ LogPath [path] │
│ LogPath [full path & filename] │
└─────────────────────────────────────────────────────────────────────┘
Usage : When you want MTA to create a log, you MUST include the path
to the logging file MTA will create. If this option is NOT
present, no log is created (the old NoLog option is deleted).
You must supply a valid path (please with drive). MTA will
create MTA.LOG inside this directory ! MTL will use this
option to read the MTA.LOG file and to create the MTA.NEG
file in this directory.
If you want a log with a name of your own, or you want MTA
to add its log-records to an already present log-file (this
could be the log-file of a Mailer or a BBS program), you
can use the second option. In this case you must supply
not only the path, but also the name of the log-file.
If the log-file is not present, MTA will create it, otherwise
MTA will append to this file.
With the LogStyleFormat option, you can create your own log-file
format, so appending to a Mailer-log or BBS-log could be done
in a neat way !
LogPath (second option), ErrorlogPath (second option) and
│ both PasswordlistPath options can all point to the same
log ! MTA will open and close the log every time a record
must be written !
Relate: LogStyleFormat
Dest. : All
┌─────────────────────────────────────────────────────────────────────┐
│ ErrorLogPath [path] │
│ ErrorLogPath [full path & filename] │
└─────────────────────────────────────────────────────────────────────┘
Usage : When you want MTA to create an error log, you MUST include
the path to the error-log file MTA will create. The error
log is needed in most cases, because MTA (from 10.01 and
up) will go on converting even when errors are detected.
This is done so BBS's can run MTA in an event.
MTA will also display all errors on screen, but it would be
handy to let MTA create the error-log so you can do some
housekeeping after MTA is ended.
If ErrorLogPath is NOT present, MTA WILL not create an
error-log.
If you want a log with a name of your own, or you want MTA
to add its log-records to an already present log-file (this
could be the log-file of a Mailer or a BBS program), you
can use the second option. In this case you must supply
not only the path, but also the name of the log-file.
If the log-file is not present, MTA will create it, otherwise
MTA will append to this file.
With the LogStyleFormat option, you can create your own
log-file format, so appending to a Mailer-log or BBS-log
could be done in a neat way !
LogPath (second option), ErrorlogPath (second option) and
│ both PasswordlistPath options can all point to the same
log ! MTA will open and close the log every time a record
must be written !
Relate: LogStyleFormat
Dest. : All
│┌─────────────────────────────────────────────────────────────────────┐
││ PasswordListPath [path] │
││ PasswordListPath [full path & filename] │
│└─────────────────────────────────────────────────────────────────────┘
│Usage : This option is now obsolete. You should rename it in MTA.CTL
│ to RandomPasswordlistPath.
│
│Relate: None
│Dest. : All
│
│
│┌─────────────────────────────────────────────────────────────────────┐
││ RandomPasswordListPath [path] │
││ RandomPasswordListPath [full path & filename] │
│└─────────────────────────────────────────────────────────────────────┘
│Usage : When you are going to use the /OP@ option (generation of
│ random encryption passwords) or you use /OPpasword (the
│ generation of encrypted files with a standard password), you
│ must (or can, in case of standard passwords) include this
│ option. MTA will create log-records into MTA.PWD (first
│ option) with filenames and used passwords for the encryption.
│ It is STRONGLY advised to use this log so you can read the
│ used passwords in a later stage !!!!!
│ When you use /OP@ without RandomPasswordListPath, MTA will
│ force MTA.PWD to be written in the CURRENT directory. A log
│ must be created in this case, otherwise you can never extract
│ the files again because a random password is used for the
│ encryption !
│
│ If you want a log with a name of your own, or you want MTA
│ to add its log-records to an already present log-file (this
│ could be the log-file of a Mailer or a BBS program), you
│ can use the second option. In this case you must supply
│ not only the path, but also the name of the log-file.
│ If the log-file is not present, MTA will create it, otherwise
│ MTA will append to this file.
│ With the LogStyleFormat option, you can create your own
│ log-file format, so appending to a Mailer-log or BBS-log
│ could be done in a neat way !
│
│ LogPath (second option), ErrorlogPath (second option) and
│ both PasswordlistPath options can all point to the same
│ log ! MTA will open and close the log every time a record
│ must be written !
│
│Relate: NormalPasswordListPath, LogStyleFormat
│Dest. : All
│
│
│┌─────────────────────────────────────────────────────────────────────┐
││ NormalPasswordListPath [path] │
││ NormalPasswordListPath [full path & filename] │
│└─────────────────────────────────────────────────────────────────────┘
│Usage : The description for this option is the same as for the previous
│ RandomPasswordListPath, but in this (optional) log, MTA will
│ log all files you have encrypted with the normal /OPpassword
│ option and not the /OP@ random passwords.
│ If you only specify a name, MTA will generate a MTA.NPW file
│ in that directory.
│ This option is NOT forced. If you use /OPpassword and this
│ option is NOT set, a log is NOT created.
│
│Relate: RandomPasswordListPath, LogStyleFormat
│Dest. : All
┌─────────────────────────────────────────────────────────────────────┐
│ FreeMemory nnnnnn │
└─────────────────────────────────────────────────────────────────────┘
Usage : Most BBS SysOp's (author included) tend to use programs under
a child (shell) process of their running BBS or other programs.
MTA consumes a lot of memory (around 128k). This is needed for
all its special options which are many (as you have already
seen). The errors MTA creates when a shelled (de)compressor
abort due to memory shortage are nasty to work away (empty
the temporary directory and its optional trees, deleting this
directories and so on).
When MTA starts, it looks for a reasonable number of free
bytes to work with, after MTA has loaded and created ALL its
own structures. Normally this would be 256K allowing you to
run every implemented (de)compressor.
You can alter this number of bytes.
You could decrease it when:
- You don't use DWC to around 190K
- You don't use ZIP to around 170K
You must increase it when:
- Using large shells in EXITBeforeFill, ExitAfterFill or
ExitAfterCompress;
With the optional FreeMemory option, you can set memory
requirements to your own calculated number of bytes. Please
observe that in most cases you have to experiment with the
value.
The primary usage of the memory requirement test is to
warn you (with a premature abort) when you are running in
a child (shell) process.
When you want to ignore the test, set FreeMemory with a
very large number of bytes.
Relate: None
Dest. : All
┌─────────────────────────────────────────────────────────────────────┐
│ CompressionType ttt │
└─────────────────────────────────────────────────────────────────────┘
Usage : With this option you instruct MTA what type of target files
MTA will create (the default is ZIP).
Valid types (ttt) are ARC (SEA), PAK (NoGate), ZIP (PkWare),
ZOO (R. Dhesi), LZH (Yoshi), DWC (D.W. Cooper), OWN (anything)
and LZS (Miki/Okumura).
You can use one of stated options if you own that type of
(de)compression program. Only 1 CompressionType is allowed.
Relate: None
Dest. : All
┌─────────────────────────────────────────────────────────────────────┐
│ RunTime [seconds] │
└─────────────────────────────────────────────────────────────────────┘
Usage : This option can instruct MTA to run for a maximum number of
seconds. This could come in handy when you want to include
MTA in a BBS event, but also normal users can benefit of this
option.
The number of seconds can go from 0 (same as leaving out the
option) to 2147483647 (same a eternal). You have to keep in
mind that the actual time MTA takes can be longer than the
number of supplied seconds. MTA checks this option after
every converted file (so at least 1 files is converted). If
there is 1 second left, the next file is converted. So MTA
can run as long as RunTime-1+(time for the last compression
in seconds) seconds !
MTA displays the remaining seconds. If there are more than
5 minutes left the display is green, turns to yellow when
there is between 2 and 5 minutes left, turns to red when
there are 2 minutes or less left. When time is up, MTA does
a 'clean' abort.
RunTime does not function in a MTA-Child process nor when
you are converting a diskette (/D option).
Relate: None
Dest. : All
┌─────────────────────────────────────────────────────────────────────┐
│ KeepAbnormalExtensions │
└─────────────────────────────────────────────────────────────────────┘
Usage : With this option you instruct MTA to 'keep' strange extensions
in the target file. This only works when the source file has
no valid extension (ARC,PAK,PKA,ZIP,ZOO,LZH,LZS,DWC,COM,EXE)
and only if the target is something else than DWC (DWC forces
the extension to be DWC).
So if you have a file JUNK.CPR (it is really a ARC file) and
you convert to ZIP, the target name stays JUNK.CPR. If the
source is names JUNK.LZH (a ZIP file <grin>) and you convert
to ZOO, the target name will be JUNK.ZOO.
Relate: None
Dest. : All
┌─────────────────────────────────────────────────────────────────────┐
│ SFXFiles │
└─────────────────────────────────────────────────────────────────────┘
Usage : The most powerful but also most tricky option is last. The
SFXFiles option is optional (thank god).
When you include SFXFiles, MTA will try to read every file
(if the filename is validated to the command-line filespecs)
and first test if it's a normal compression file. If it is
NOT, it will read the file again (up to 32K of every file)
and test if the file is a ARC (SEA/NoGate/PKWare), PAK, ZIP,
LHarc or Larc compatible SFX-file (self extraction .EXE or
.COM file). If it is, it will try to convert the file to a
temporary file and then convert it to the compression system
you have supplied.
There can occur numerous errors in this test/conversion, but
on my system 99.99% of all SFX-files are done correctly. If
the SFX is not correct, MTA will go on (or abort depending
on the error) but nothing happens with your SFX-file. The
change to get 'Compression' or 'Decompression' errors is
somewhat bigger.
I should suggest to you, to use the option with care, of
to use the /SFX switch on the command-line as a temporary
replacement.
Relate: None
Dest. : All
│┌─────────────────────────────────────────────────────────────────────┐
││ 4DOSAware │
│└─────────────────────────────────────────────────────────────────────┘
│Usage : This option is now obsolete. Look into the Not4DosAware option.
│
│
│┌─────────────────────────────────────────────────────────────────────┐
││ Not4DosAware │
│└─────────────────────────────────────────────────────────────────────┘
│Usage : MTA will use some 4DOS instructions along the conversion-path.
│ This will only be the case when:
│ - MTA detects 4DOS in the machine (INT $2F combination);
│ - MTA detects a COMSPEC value with 4DOS somewhere inside
│ the name of the program (4DOS.COM, 4DOS88.EXE or 4DOS286.EXE)
│ belonging to this environment variable;
│
│ If you don't want to use 4DOS instructions at all (look into
│ the chapter about 4DOS), you must code the Not4DosAware op-
│ tion, otherwise MTA will use them,
│
│Relate: MoveToPath
│Dest. : All
┌─────────────────────────────────────────────────────────────────────┐
│ ForceCGA │
└─────────────────────────────────────────────────────────────────────┘
Usage : This option should be used when you have trouble with the
video while the (de)compressors are running. The option
has nothing to do with YOUR screen mode, more with the type
of display MTA will select to display your window.
Problems will look like a shell with only characters on the
first position of every line and garbage....
Relate: None
Dest. : All
│┌─────────────────────────────────────────────────────────────────────┐
││ StowBuffer [bytes] │
│└─────────────────────────────────────────────────────────────────────┘
│Usage : MTA uses some special options inside the little shell where
│ the compressors run. For this option, MTA has to reserve some
│ bytes in memory. This block of memory must be large enough to
│ contain ALL displayed output inside this shell for one run.
│ Usually 32768 bytes is enough, but when you have extreme large
│ archives and you use a compressor that produces width lines
│ (many) like ZIP when working recursive, this could not be
│ enough. In these special cases you can enlarge the buffer up
│ to 65534 bytes in length, but this means you 'consume' an
│ extra 32K when the shell is called.
│ The supplied value must be enough for ONE (the biggest) call.
│ When MTA gets control again, the buffer is cleared and can
│ be used again. Normally you don't have to use this option !
│
│Relate: None
│Dest. : All
│
│
│┌─────────────────────────────────────────────────────────────────────┐
││ SubstDrive [array of drives] │
│└─────────────────────────────────────────────────────────────────────┘
│Usage : Please read chapter 3.26 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.26. 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.27 (Concurrent MTA's)
│ for a FULL understanding on how MTA assigns substituted
│ drives in concurrent environments.
│
│Relate: None
│Dest. : All
┌─────────────────────────────────────────────────────────────────────┐
│ NoMouse {Window} │
└─────────────────────────────────────────────────────────────────────┘
Usage : If the behavior of the mouse-routines give you pain in the
head, you can shut off the mouse permanent with the NoMouse
option. There is also an in-between way. When you use the
optional parameter 'Window' (without the quotes), MTA will
shut off the mouse in ANY DOS-window, so also the little
window under MTA's main screen, used for the (de)compression.
Sometimes this is needed, when the system can not handle the
interrupt-routine that stays active while MTA calls the
(de)compression programs. On my own system, I have found no
problems at all, but there are reports of hanging programs
while the mouse is active in the (de)compression window. In
that case, use 'Nomouse Window'. This means you have still
control over the mouse in the tag-menu and while MTA is
doing something of its own.
This option only has a meaning when you have loaded a mouse
driver and attached a mouse.
Relate: None
Dest. : All
┌─────────────────────────────────────────────────────────────────────┐
│ AltDisplay │
└─────────────────────────────────────────────────────────────────────┘
Usage : MTA can display either of two screens. A screen with static
run-time options (default) or a dynamic screen with a list
of files to go. You can toggle this screen while MTA is
running. Use the 'T' key to toggle between dynamic and
static display.
If you want MTA to start (by default) with the dynamic screen,
you must include the AltDisplay option. You can still toggle
screens tough. Let it be clear that the any MTA-child (called
with arc-in-arc files) will start with the default option
(so static or dynamic when AltDisplay is included in MTA.CTL)
and NOT the state of the screen its MTA-parent had);
Relate: None
Dest. : All
┌─────────────────────────────────────────────────────────────────────┐
│ NoSwap │
└─────────────────────────────────────────────────────────────────────┘
Usage : Normally MTA will use swapping when Arc-In-Arc files are
converted. If you don't want to use swapping, include this
option. When swapping is set to OFF (NoSwap) only 1 or 2
levels of Arc-in-Arc files can be converted;
Relate: SwapPath
Dest. : All
┌─────────────────────────────────────────────────────────────────────┐
│ SwapPath [path] │
└─────────────────────────────────────────────────────────────────────┘
Usage : When NoSwap IS NOT set, you can use the SwapPath option to
let MTA know where to place the swap-files (if no EMS is
available, or EMS if fully used).
By default MTA will use the root of the current drive. The
files (if created) have SYSTEM and HIDDEN attributes set.
Never delete these files inside the MTA-shell (a crash
will occur), only when MTA is finished (or did hang up your
machine). Normally MTA will delete this file itself. Every
file is around 150.000 bytes in length;
Relate: NoSwap
Dest. : All
┌─────────────────────────────────────────────────────────────────────┐
│ VirusScanner [scanner] [type] │
└─────────────────────────────────────────────────────────────────────┘
Usage : You can let MTA call a virus scanner after MTA has decompressed
the file it is converting. At this moment only two scanners are
supported. These are:
- SCAN from McAfee Associates (only versions 39 and higher)
- VIRSCAN from J.P. van der Landen (A popular dutch virus
scanner, from version 1.2 and up);
In fact you can insert any scanner if it governs to the
following rules:
- Terminates with an error level > 0 if virus found;
- Takes the directory to scan as the first (and only)
parameter;
- You supply a 'type' 2;
When the scanner detects a virus, MTA will move the compressed
file (original) to the temporary directory, so you can examine
the file(s) yourself at a later time.
If you include VirusScanner, you must include drive, path and
filename (SCAN.EXE, VIRSCAN.EXE or yours) of the virusscanner.
When using McAfee's SCAN (up from release 39) you do not have
to do anything special. MTA was originally designed to work
with this program and it is most commonly used outside Holland.
When using McAfee's SCAN, you must supply a type 1 (or no type
at all);
When using v.d. Landen's VIRSCAN, you must do special tricks:
- VIRSCAN does not end with an errorlevel > 0 set when a
virus is detected (yet, a hint ?);
- I have build a little Shell program around VIRSCAN.EXE
because the coding would take to much from MTA's working
memory. This program (MTU.EXE) does all the dirty work for
MTA before and after VIRSCAN has taken control. You must
supply the VirusScanner option with the drive, path and
name of MTU.EXE and supply a 'type' of 2 (most important);
- VIRSCAN.EXE (and the VIRSCAN.DAT file) must be placed (with
this names) somewhere in the DOS search path;
When a errorlevel termination is implemented in VIRSCAN.EXE
(I hope), MTU is dropped and MTA is changed to call VIRSCAN
directly.
With VIRSCAN in action, you get one extra gig. MTA/MTU calls
VIRSCAN.EXE with the /Llog option (in fact MTU.EXE reads the
log to see if there are any errors) and this log-file is also
moved to the temporary directory so you can examine it.
To summarize both scanner options:
- SCAN : VirusScanner X:\path\to\scan\SCAN.EXE 1
- VIRSCAN : VirusScanner X:\path\to\mtu\MTU.EXE 2
(VIRSCAN.EXE/DAT somewhere in the path)
Relate: None
Dest. : All
┌─────────────────────────────────────────────────────────────────────┐
│ VirusScanParm [parm] {parm} {parm} │
└─────────────────────────────────────────────────────────────────────┘
Usage : When you instruct MTA to use a VirusScanner, you can (optionally)
use extra command-line parameters with your scanner if:
- The scanner knows any extra command-line parameters;
- The scanner can use the syntax:
'Program-name Directory_to_scan Commandline_parameters'
This option is useful to trigger McAfee's extra options. For
example, to let McAfee's SCAN also scan the .MTA files, you
can add 'VirusScanParm /E .MTA'.
Relate: VirusScanner
Dest. : All
│┌─────────────────────────────────────────────────────────────────────┐
││ LANAware │
│└─────────────────────────────────────────────────────────────────────┘
│Usage : This option is not obsolete.
│
│
│┌─────────────────────────────────────────────────────────────────────┐
││ ShareWait [seconds] │
│└─────────────────────────────────────────────────────────────────────┘
│Usage : This option is used to overcome problems with a so called
│ 'deadlock'. A deadlock can arise from a sharing violation.
│ When a task locks a file that MTA needs and this lock will
│ stay for a long period, then MTA will also wait as long as
│ the file is locked. The ShareWait option will define a maximum
│ to the period MTA will wait. By default MTA will wait 300
│ seconds (5 minutes). If this is not enough (or too much) then
│ you can define any other period (in seconds) with this option.
│
│ ShareWait is ONLY needed in a multitasking/network environment
│ and has no meaning when SHARE is not loaded.
│
│Relate: None
│Dest. : All
┌─────────────────────────────────────────────────────────────────────┐
│ ReportSpecialAttributes │
└─────────────────────────────────────────────────────────────────────┘
Usage : This option was already available in MTA 8.xx under the name S1.
It was a hidden option, only known to some SysOp's opt BBS's.
MTA converts all special attributes in a compressed file (lets
say HIDDEN or SYSTEM or READONLY) to a normal attribute of
ARCHIVE (X'20'). This is done to prevent files to keep on disk
after the compressed file is converted. With some compressors
it is possible to compress files with abnormal attributes.
When you include this option all files with special attributes
are reported in MTA.ERR !
Relate: None
Dest. : All
┌─────────────────────────────────────────────────────────────────────┐
│ KeepAV │
└─────────────────────────────────────────────────────────────────────┘
Usage : A very special option that puts MTA right back on the map !
ZIP-files can contain a Authenticity Verification (only USA
owners). Everywhere in the world, BBS's are receiving these
original files. When MTA converts such a file, the AV is gone
and that was not the meaning of the AV-function.
When you use KeepAV, MTA will keep all source-files with a
AV inside ! This means that ZIP's will stay ZIP's even if
the target is ZOO, DWC or something else.
Also, setting this option, will trigger some special MTA
functions. With KeepAV set to ON, you can still delete files
from these ZIP's that other Sysop's added to this file, if,
and only if, this extra file does NOT contain a AV. Also,
you can add comments and files of your own to these files
but this is not done in the 'normal' MTA way. In case of
a AV'ed file (with KeepAV on), MTA will delete files with
'PKZIP -d', add with 'PKZIP -a' and add comments with a
special type of 'PKZIP -z' (so no user intervention is
needed) and not by UNZIPing the file and ZIPing it again
as done in the normal way !
MTA will in fact UNZIP the source-file to check for any
virus (still, even with AV'ed files), so this feature is
still available.
I URGE you to use KeepAV when you use MTA on a BBS. This is
a service to your users !
Relate: None
Dest. : All
┌─────────────────────────────────────────────────────────────────────┐
│ LogStyleFormat [string] │
└─────────────────────────────────────────────────────────────────────┘
Usage : MTA creates several log-records under different conditions.
You can use the standard log, but Sysop's hate all these
different log-files (in general). MTA can create customized
log-records. With these options, you can instruct MTA to
create records that look the same as the records from your
mailer or BBS program. The option LogStyleFormat and the
LogDateFormat/LogTimeFormat combination can be used to define
the style of the log-records MTA will create for ALL three
log-files (normal log-file, error log-file and password-list
log-file). These options are implemented with the idea that
different log-styles only vary at the start of the records
and not at the end.
The LogStyleFormat defines the 'structure' of the log-record
header. The format is free but with three special cases:
- Blanks must be replaced by underscore characters '_';
- The part of the record that contains the date must be
defined with %D (if a date is wanted);
- The part of the record that contains the time must be
defined with %T (if a time is wanted);
│ - Any extra CRLF combinations (to create a separation
│ line) must be defined with ^M;
An example (also read LogDateFormat and LogTimeFormat for
a description of the time and date functions):
You want to create records that look like this:
+ 6 Jan 1990 2:00p The start of the log
The 'The start of the log' part is constructed by MTA itself,
so you have only to define the header. This is done as follows:
LogStyleFormat +_%D__%T___ (The _ character replaces
a blank)
LogDateFormat DD_nnn_yyyy
LogTimeFormat HH:mmt
%D and %T are replaced by MTA with the date and time formats
as supplied in LogDateFormat and LogTimeFormat. MTA.CTL
contains a number of examples for the various BBS programs
and Mailer programs.
Relate: LogStartStyleFormat, LogDateFormat, LogTimeFormat
Dest. : All
│┌─────────────────────────────────────────────────────────────────────┐
││ LogStartStyleFormat [string] │
│└─────────────────────────────────────────────────────────────────────┘
│Usage : This is an additional option you can use along with the pre-
│ vious LogStyleFormat option. Some types of log use a special
│ format where the actual date is put into an extra record (with-
│ out any further meaning than logging the date). MTA can create
│ such a record for you. MTA will put the record with the format
│ you supply in LogStartStyleFormat into the log as the first and
│ only record for THIS run of MTA. If MTA stops and is started
│ again, a new record of this type is written.
│ A type of log with this format is found in the FrontDoor <tm>
│ mailer.
│
│ The options you can use in this logstyle-format are the same
│ as with the LogStyleFormat option.
│
│
│Relate: LogStyleFormat, LogDateFormat, LogTimeFormat
│Dest. : All
┌─────────────────────────────────────────────────────────────────────┐
│ LogDateFormat [string] │
└─────────────────────────────────────────────────────────────────────┘
Usage : LogDateFormat is used to define the 'date part' (actually the
%D) in the LogStyleFormat option. MTA (in fact some nifty
routines from TurboPower, credit to those who should have
the credits) has knowledge of a big number of options to
define the date. The [string] must be composed of a number
special letters and (optionally) the separators and spaces
between the various parts of actual date. In fact [string]
should be a picture mask. The following characters have a
meaning in the mask:
m or M The month (upper case will create leading a
leading space as replacement for a zero)
d or D The day (upper case will create leading a
leading space as replacement for a zero)
y or Y The year (upper case will create leading a
leading space as replacement for a zero)
n or N The name of the month (upper case will force
an upper case name);
w or W The name of the day (upper case will force
an upper case name);
Each character must be repeated as many times as you want
digits or letters. So '90' for the year 1990 is defined
with yy and the full year is defined with yyyy. Some
examples:
mm/dd/yy 01-31-90
MM/dd/yy 1-31-90
dd/mm/yyyy 31-01-1990
dd/mm/yyyy 31-01-1990
dd NNN yyyy 31 JAN 1990
dd nnn yy 31 Jan 1990
dd n yyyy 31 J 1990
www dd nnn yyyy Sun 31 Jan 1990
As you can see, lots to experiment with.
Relate: LogStyleFormat, LogTimeFormat
Dest. : All
┌─────────────────────────────────────────────────────────────────────┐
│ LogTimeFormat [string] │
└─────────────────────────────────────────────────────────────────────┘
Usage : LogTimeFormat is used to define the 'time part' (actually the
%T) in the LogStyleFormat option. MTA (in fact some nifty
routines from TurboPower, credit to those who should have
the credits) has knowledge of a big number of options to
define the time. The [string] must be composed of a number
special letters and (optionally) the separators and spaces
between the various parts of actual date. In fact [string]
should be a picture mask. The following characters have a
meaning in the mask:
h or H The hour (upper case will create leading a
leading space as replacement for a zero)
m or M The minute (upper case will create leading a
leading space as replacement for a zero)
s or S The seconds (upper case will create leading a
leading space as replacement for a zero)
t or T 'p'/'P' (in PM) or 'a'/'A' (in AM)
e or E 'm'/'M' (in PM or AM)
Each character must be repeated as many times as you want
digits or letters. For h/H/m/M/s/S this should be two digits
to be useful. Some examples:
hh:mm 14:00
hh:mmt 02:00p
HH:mmte 2:00pm
HH:mm:ss 14:00:45
hh:mm:ss 14:00:45
Again, as you can see, lots to experiment with.
Relate: LogStyleFormat, LogDateFormat
Dest. : All
┌─────────────────────────────────────────────────────────────────────┐
│ OwnCompressPath {drive}{path}[filename] │
└─────────────────────────────────────────────────────────────────────┘
Usage : You can instruct MTA to include an extra compressor of your
own taste. This can be almost any compressor, but look in
the paragraph 'Customized compression' for the specs on
(de)compressors.
With this option you supply the full filename (name and
extension and optional path and drive) of the customized
compressor. This has to be a valid filename.
Relate: All Own-options
Dest. : OWN
┌─────────────────────────────────────────────────────────────────────┐
│ OwnDeCompressPath {drive}{path}[filename] │
└─────────────────────────────────────────────────────────────────────┘
Usage : You can instruct MTA to include an extra decompressor of your
own taste. This can be almost any decompressor, but look in
the paragraph 'Customized compression' for the specs on
(de)compressors.
With this option you supply the full filename (name and
extension and optional path and drive) of the customized
decompressor. This has to be a valid filename.
Relate: All Own-options
Dest. : any, source is OWN
┌─────────────────────────────────────────────────────────────────────┐
│ OwnCompressCall [parameters to use] │
└─────────────────────────────────────────────────────────────────────┘
Usage : When you include a customized compressor, you have to supply
the call to that compressor. This call must do the following:
- Compress all files in the current path to the compression
file;
- delete all original files from the directory;
- or compress all files with a MOVE (not COPY) option;
The syntax for the [parameters to use] depends on the compress.
Look in the paragraph 'Customized Compression' for an example.
There is one option you can include in the [parameter to use]
and that is the %1 combination. MTA will substitute %1 with
the name of the compressed file.
Relate: All Own-options
Dest. : OWN
┌─────────────────────────────────────────────────────────────────────┐
│ OwnDeCompressCall [parameters to use] │
└─────────────────────────────────────────────────────────────────────┘
Usage : When you include a customized decompressor, you have to supply
the call to that decompressor. This call must do the following:
- Extract all files from the compressed file to the current
path;
The syntax for the [parameters to use] depends on the
compressor. Look in the paragraph 'Customized Compression'
for an example. There is one option you can include in the
[parameters to use] and that is the %1 combination. MTA will
substitute %1 with the name of the compressed file.
Relate: All Own-options
Dest. : All, source is OWN
┌─────────────────────────────────────────────────────────────────────┐
│ OwnCompressLowErrorRC [errornumber] │
└─────────────────────────────────────────────────────────────────────┘
Usage : When you include a customized compressor, you have to supply
the LOWEST dos errorlevel given by the compressor when
something is WRONG. This must be any number between 1 and 255.
Relate: All Own-options
Dest. : OWN
┌─────────────────────────────────────────────────────────────────────┐
│ OwnDecompressLowErrorRC [errornumber] │
└─────────────────────────────────────────────────────────────────────┘
Usage : When you include a customized decompressor, you have to supply
the LOWEST dos errorlevel given by the decompressor when
something is WRONG. This must be any number between 1 and 255.
Relate: All Own-options
Dest. : All, source OWN
┌─────────────────────────────────────────────────────────────────────┐
│ OwnExtension [extension] │
└─────────────────────────────────────────────────────────────────────┘
Usage : When you want MTA to 'see' your customized compressed files,
you have to supply the name of the extension MTA has to look
for. This can only be 1 extension (e.g. OWN).
For every file that confirms to the supplied wildcards, MTA
will FIRST look if it has an 'OwnExtension'. In that case
MTA will decompress the file with the supplied decompressor.
If the destination is OWN, MTA instruct the customized
compressor to create files with extension 'OwnExtension'.
Relate: All Own-options
Dest. : All, including source OWN
┌─────────────────────────────────────────────────────────────────────┐
│ OwnRecursive │
└─────────────────────────────────────────────────────────────────────┘
Usage : When you implement an own compressor, you have to tell MTA
if that compressor is capable of handling recursive support.
This means that the compressor will look in the current and
all lower directories. If the customized compressor can not
handle recursive support, you have to leave this option out.
Relate: All Own-options
Dest. : OWN
3.12 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.13 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 this moment ZIP, LZH, LZS 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.26 about the use
│of a temporary substitute drive.
3.14 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.15 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.
3.16 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.17 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.18 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 !!!!
3.19 Screen control
────────────────────────────────────────────────────────────────────────
MTA uses a small window so you can look at the results of the called
(de)compressors. This window is maintained with Int 29, so no
timeout problems (as with earlier MTA versions that used Int 21)
should occur.
MTA 9.10 brings back the old situation but far more sophisticated than
previous versions. ANSI displays are ignored. So PKZIP header files
in ANSI format are displayed as a number of garbage characters.
Because of the problems that could arise with ANSI screens (unwanted
re-configuration of keyboard control, like a ANSI virus) and because
of the fact PKUNZIP defaults to no-ANSI, I have dropped the ANSI
support in the small window. Better, the ANSI driver is disabled
before the (de)compressor gains control and is reactivated after the
(de)compressor is finished. This also caused a slight improvement in
the overall performance inside the window (my old Int29 was always
a bit slow) of around 2-5%.
The newly implemented DOS shell has the same environment as do the
(de)compressors have, so no ANSI.
If you have troubles with the window, you can force the old type of
window. Supply ForceCGA in MTA.CTL and your problems should be gone.
This window is somewhat slower than the original one, so try MTA
without this option first.
│MTA has (from release 14.01 and up) full support for EGA/VGA/MCGA
│users. The following is implemented in MTA to please these users:
│
│- If the user runs an enlarged text-mode like 43, 50 or 60 lines
│ (with a width of 80 bytes), MTA will enlarge the Int29 window
│ while calling archivers;
│- If the user runs a text-mode that gives you more than 113 bytes
│ per line (like the 132x?? modes), MTA will reconfigure its screen
│ to this mode and the alternate displays are displayed BOTH. Toggle
│ (with T) has no meaning in these modes;
│- MTA will not set or reset any mode itself. MTA will look to the
│ initial screen dimensions and will act according to the values;
│- MTA can reset itself while running. This means that when you
│ reset the video-mode to another value (inside the shell or some-
│ where in an exit), MTA will also reset its screen when MTA gets
│ control again;
│- When you want to run MTA in standard enlarged mode (60 lines and
│ 132 characters per line, to name one), but you don't want to
│ use this mode by default for your other tasks, you can use the
│ ExitBeforeStart and ExitBeforeEnd exits to call your video set-
│ program (like VU, VGA, ESU or something like this). In the
│ ExitBeforeStart you set the mode to the value you like, MTA will
│ reset itself to this mode and before the end you call the program
│ again to reset to normal text-mode (80x25);
│- MTA will, in no case, FORCE the mode, so inside exits you are on
│ your own. If the program you call resets the mode and does not
│ set it back (shame), MTA will be forced into another mode;
3.20 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.21 Swapping
────────────────────────────────────────────────────────────────────────
As said before, MTA uses it's own internal swap routine. All of the
code, stack, heap and data is swapped. Also some overhead is swapped
along with these items.
MTA's swapping routine uses EMS or disk. If enough EMS is available,
MTA will swap itself to EMS. If EMS is low (or not available), MTA
will swap to disk. When you execute MTA with a multi-level archive
file, MTA will swap itself for each level. On machines with low
disk space, this could cause problems. Each swap file will take a
number of bytes (roughly 200.000) from your disk away. If swapping
is not possible anymore (only limited by disk space), multi-level
archives will not be converted under a certain level.
3.22 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
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 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.23 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.24 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.25 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.26 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.27 Running multiple copies of MTA at the same time
│────────────────────────────────────────────────────────────────────────
│With version 14.01 it is now possible to run multiple copies of MTA at
│the same time. This could only be the case in networks and in multi-
│tasking environments like DesqView <tm> or Windows <tm>.
│
│I will now point out the things you must set up in MTA for such situa-
│tions, what MTA will protect and what it won't protect. Having only
│a full multitasking environment and not a network, I will write this
│points with a multitasking environment in mind. But they should work
│the same on a network:
│
│Setting up MTA:
│- If you use the SubstDrive option than you must make sure you use
│ as many drive-letters in this option as you are going to run mul-
│ tiple copies of MTA;
│- Make sure the LASTDRIVE option is set along with the SubstDrive
│ option;
│- Make sure you have SHARE.EXE loaded in your machine. Without SHARE
│ MTA will make a mess of things (SURE !);
│- Make sure that you run all the concurrent copies of MTA all with
│ their own TASK-number, as supplied with /TASK. Failing to do so,
│ would also cause problems (SUBST'ed drives);
│
│Protection provided by MTA:
│- MTA will protect all the files it uses INTERNALLY;
│- All log-files (if they are the same in all running copies of MTA),
│ all temporary files, all directories and all substituted drives
│ are either unique to the task or SHARE'ed with all other tasks;
│- All external files (like the FILES.BBS-alike files) are protected
│ when they are altered. This means that these files are SHARE'ed
│ within the multiple copies of MTA but also with other tasks that
│ have SHAREing options like SOME Bulletin Board Systems;
│- When two MTA's want to access the same file at the same time and
│ with different attributes (one WRITE, one READ for example), one
│ of the tasks will wait until the file is released again. To over-
│ come problems with 'eternal waits' (called deadlocks) you can in-
│ stall an option in MTA.CTL that will manage the maximum time MTA
│ will wait before aborting. Waiting for allocation of a file, will
│ also be the case with external files, provided the 'other' task
│ has used SHAREing attributes with the open of that file;
│
│Protection NOT provided by MTA:
│- MTA will NOT manage anything that happens within the shell's. So
│ when the (de)compressors run or when you are within one of the
│ supplied exits, the called program has to manage the SHAREing by
│ itself.
│
│It is almost stupid to say, but be sure to convert different files
│in each of the copies of MTA. Letting two or more copies of MTA
│converting the same files, will cause trouble. Though SHAREing is
│managed, there could be cases where MTA is waiting for a file (it
│will do so) and when this MTA gets the 'GO' signal, the file could
│be gone (temporary) because on of the other copies of MTA is working
│on that file.
│
│Running multiple MTA's in a multitasking environment works but there
│is a big tradeoff. When you don't have enough 'power' on your machine,
│running two concurrent copies could take as long as serially running
│these copies. (De)compressors are in the habit to eat lots of your
│cycles. The multi-tasker also wants to have a little snack and all are
│eating more food than the PC can supply, causing delays, low perfor-
│mance and so on. I have tested with several machines, but you need
│at least a true 386-25 (or a very fast 286, like a 20Mh) or higher
│to get some results. But in the world where these options of MTA are
│needed, machine-power is usually available.
┌───────┬─────────────────────────────────────────────────────────────┐
│ 4 │ Runtime information │
└───────┴─────────────────────────────────────────────────────────────┘
4.1 Command-line switches
────────────────────────────────────────────────────────────────────────
MTA is driven with the MTA.CTL file, but I can imagine that you want
to use (or change) some of the options temporary. This can be done
with a number of command-line switches.
The syntax to start MTA is:
MTA filespec filespec filespec ... [switches]
Switches must start with a slash ('/') and are separated with one or
more spaces.
You can also use a different (alternate) CTL-file. In this case you
must include the /CTL[filename] somewhere in the command-line switches.
[filename] must point to the full drive/path/name of the alternate
MTA.CTL file.
You can supply MTA with a maximum of 25 different filespecs (e.g. *.ARC
*.PAK *.ZIP). The various filespecs have NO meaning when you use the
/D switch and MTA.CTL contains AllDisketteFiles !
A complete list of switches follows:
┌─────────────────────────────────────────────────────────────────────┐
│ /? │
└─────────────────────────────────────────────────────────────────────┘
If you supply /? to MTA, you will get a full-screen help function. In
this help-function you can browse thru the available command-line.
The help-function is a chained program that MTA will call (MTA.CH2).
This is done to preserve memory for MTA itself.
│┌─────────────────────────────────────────────────────────────────────┐
││ /TASKnn │
│└─────────────────────────────────────────────────────────────────────┘
│This command-line has only a meaning when running multiple copies of
│MTA at the same time. Look into chapter 3.27 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 │
└─────────────────────────────────────────────────────────────────────┘
Normally MTA converts files to the system supplied in the MTA.CTL
option CompressionType. With this switches you can overrule the
current CompressionType with another system. When you supply
more than one of these switches, the last will be active.
│┌─────────────────────────────────────────────────────────────────────┐
││ /NO4DOS │
│└─────────────────────────────────────────────────────────────────────┘
│This is the same as coding the Not4DosAware option in MTA.CTL. Look
│into the chapter about 4Dos.
┌─────────────────────────────────────────────────────────────────────┐
│ /D │
│ /D=d: │
└─────────────────────────────────────────────────────────────────────┘
This is a 'stand alone' switch, meaning that it has no counterpart
in the MTA.CTL.
This switch must be included when you want to activate the diskette
support (FDUTrashPath and FDUTempPath must be available in MTA.CTL).
When you supply /D, MTA forces to the A: drive, when this is not
what you want, you can supply /D=d: (where d: is a valid drive) to
MTA. If you want to convert a diskette and also, at the same time,
you want to convert to a different type of media (say 360Kb to 1.2Mb)
you can supply /D=A: /MB:\, telling MTA to convert all diskettes from
drive A: to drive B:.
┌─────────────────────────────────────────────────────────────────────┐
│ /W │
│ /W[path] │
└─────────────────────────────────────────────────────────────────────┘
Normally MTA works on files in the list of DefaultPath directories
or the default directory if non were specified in MTA.CTL. You
can overrule this behavior by adding a /W command-line switch.
/W instructs MTA to work on the current directory, overruling
all Defaultpath options in MTA.CTL;
/Wpath instructs MTA to work in the supplied directory, overruling
all DefaultPath options in MTA.CTL;
/W works along fine with the full-screen selection !
┌─────────────────────────────────────────────────────────────────────┐
│ /C │
│ /H │
│ /L │
│ /F │
└─────────────────────────────────────────────────────────────────────┘
One of these switches (when used) overrule the current option in
MTA.CTL for the MTA touching system.
/C forces MTA to touch archives with the current date
/H ,, ,, to touch archives with the highest date found in
the archive;
/L ,, ,, to touch archives with the lowest date found in
the archive;
/F ,, ,, to retain the original archive date;
┌─────────────────────────────────────────────────────────────────────┐
│ /M │
│ /Mpath │
└─────────────────────────────────────────────────────────────────────┘
Only /M makes the current setting of MoveToDir in MTA.CTL inactive.
/Mpath (where path is a valid path (absolute or relative to the
current path) forces MTA to use this path to move files to after
conversion (even if MoveToDir was not supplied in MTA.CTL).
When using /Mpath with /D, converted files will be moved to the drive
supplied in [path].
┌─────────────────────────────────────────────────────────────────────┐
│ /CZnnn_nnn │
└─────────────────────────────────────────────────────────────────────┘
This parameter overrules the options for ZIP-compression 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 │
└─────────────────────────────────────────────────────────────────────┘
This parameter overrules the options for DWC-compression options in
MTA.CTL. You must code the compression options just like you do when
running DWC. Currently only two DWCCompression options are allowed,
'y' and 'z' (without the quotes). 'z' stands for compression on size,
'y' for compression on speed.
┌─────────────────────────────────────────────────────────────────────┐
│ /Z │
│ /Zfile │
└─────────────────────────────────────────────────────────────────────┘
│You can assign a text-file to be added to ZIP, PAK and ZOO files when
│you use the /Zfile option. [file] must be a valid file. You can (must)
│supply path and drive to the file. Refer to AutoDescription in
│MTA.CTL. /Z blanks the current setting of AutoDescription (if
│set).
┌─────────────────────────────────────────────────────────────────────┐
│ /CARCOM or /CARCOMn │
└─────────────────────────────────────────────────────────────────────┘
When using /CARCOM, you out-rule the CarryComment option in MTA.CTL
(if any). When you want to include this option, you must supply this
switch with the valid CarryComment type (e.g. 1, 2 or 3).
┌─────────────────────────────────────────────────────────────────────┐
│ /AFB │
└─────────────────────────────────────────────────────────────────────┘
This is a toggle for the AddFilesBBS option. If present in MTA.CTL,
/AFB will turn it off and reversed.
┌─────────────────────────────────────────────────────────────────────┐
│ /P │
└─────────────────────────────────────────────────────────────────────┘
When you supply /P, MTA does not write to the MTA.LOG.
┌─────────────────────────────────────────────────────────────────────┐
│ /@[filename & path] │
└─────────────────────────────────────────────────────────────────────┘
You can supply the files to be converted by means of an external
file if you have more than will fit on the command-line (on when you
make MTA part of an automated environment). The filename you supply
must exist ! You also can supply the full drive and path information.
The file must be a ASCII flat-file, containing a file (path and
drive may be included but they will be stripped by MTA) in every
single line. The file (path and file) can be preceded by white spaces
and the line may contain more information, but this must be separated
from the filename with at least one space ! In fact the full-screen
chain creates such a file (MTA_MENU.$$$) that is processed by MTA
and deleted after processing has take place. If you use /@, the file
you supply is NOT deleted !
The ASCII file CAN contain wildcards but unlike the command-line
execution, extensions are NOT expanded with '.*' if no extension
is available.
┌─────────────────────────────────────────────────────────────────────┐
│ /IPpassword │
└─────────────────────────────────────────────────────────────────────┘
When you convert one or more encrypted files to new archives (they must
all have the same password), you must include /IP with the correct
password. /IP has no counterpart in MTA.CTL. You must always supply
this option manually.
┌─────────────────────────────────────────────────────────────────────┐
│ /OPpassword │
│ /OP@ │
└─────────────────────────────────────────────────────────────────────┘
When you want MTA to create encrypted archives (ARC, PAK, PK(ARC)(PAK),
ZIP and DWC targets), you must supply /OP with the password you want
to use. There is no counterpart for this switch in MTA.CTL. For ZIP
and DWC targets you can use a 'trick' to supply a fixed password in
MTA.CTL by using the ZipCompression and/or DWCCompression options.
ZipCompression can be set to something like '-ex-smypassword' and
DWCCompression to 'zgmypassword' where 'mypassword' is the password
you want to use.
I strongly advise NOT to use this trick but to supply /OP (in the
'worst' case you can create a batch-file with a fixed /OP switch).
│You can log the files that are worked on with /OP if you set the
│NormalPasswordListPath option.
/OP@ is a special option to create password protected (encrypted)
target files but now MTA will create a RANDOM password. The password
MTA has used on a certain file (each file gets a NEW random password)
│is listed in the file you supplied in the RandomPasswordListPath
option or in MTA.PWD (in the supplied path or the current directory).
┌─────────────────────────────────────────────────────────────────────┐
│ /E │
└─────────────────────────────────────────────────────────────────────┘
When you supply /E, MTA does not write to the MTA.ERR file (error
log).
┌─────────────────────────────────────────────────────────────────────┐
│ /DI │
│ /DE │
│ /DD │
└─────────────────────────────────────────────────────────────────────┘
You can disable the inclusion (/DI) or exclusion (/DE) of files
from the converted files even if the options in MTA.CTL are set.
/DD will disable any DoNot statement in MTA.CTL. All supplied DoNot
statements will be skipped.
┌─────────────────────────────────────────────────────────────────────┐
│ /E1 │
│ /E2 │
│ /EB │
│ /EG │
└─────────────────────────────────────────────────────────────────────┘
These options disable the working of the exits. /E1 disables the
ExitBeforeFill exit, /E2 the ExitAfterFill, /EG the common
ExitAfterCompress exit and /EB the ExitBetweenConversion exit.
┌─────────────────────────────────────────────────────────────────────┐
│ /U │
│ /Ufilename │
│ /Udrive:path\filename │
└─────────────────────────────────────────────────────────────────────┘
This option toggles the FilesBBS option. If this option is not set,
using /U sets the option. If it was set, using /U disables it.
/U using to set the FilesBBS option, sets this option to search for
the file with the name FILES.BBS.
If you want to set the FilesBBS option AND you want to change the
name of FILES.BBS to something else, you must use the second type
(/Ufilename). [filename] is used for the search and not FILES.BBS.
If you have only one descriptive file on a fixed location, you must
use the third option to set the FilesBBS option. In this case you
supply both the path (drive) and the filename to MTA.
┌─────────────────────────────────────────────────────────────────────┐
│ /UPGRADE │
└─────────────────────────────────────────────────────────────────────┘
This option toggles the OnlyUpgrade option. If this option is not set,
using /UPGRADE sets the option. If is was set, using /UPGRADE disables
it.
┌─────────────────────────────────────────────────────────────────────┐
│ /NOMOUSE │
└─────────────────────────────────────────────────────────────────────┘
This option tells MTA that mouse-support should be shut off. It only
has a meaning when a mouse-driver is active and a mouse connected.
The in-between option, available in MTA.CTL, is not supported as a
command-line switch.
┌─────────────────────────────────────────────────────────────────────┐
│ /SFX │
└─────────────────────────────────────────────────────────────────────┘
This option toggles the SFXFILES option. If this option is not set,
using /SFX sets the option. If is was set, using /SFX disables it.
┌─────────────────────────────────────────────────────────────────────┐
│ /LEA │
└─────────────────────────────────────────────────────────────────────┘
This option toggles the KeepAbnormalExtensions option. If this option
is not set, using /LEA sets the option. If it was set, /LEA disables
it.
┌─────────────────────────────────────────────────────────────────────┐
│ /TIM │
└─────────────────────────────────────────────────────────────────────┘
This option disables any RunTime parameter in the MTA.CTL file. This
comes in handy with BBS setups where the SysOp wants to use MTA as a
stand-alone program.
┌─────────────────────────────────────────────────────────────────────┐
│ /MAR │
└─────────────────────────────────────────────────────────────────────┘
This option toggles the NoMarked option. If this option is not set,
using /MAR sets the option. If is was set, using /MAR disables it.
┌─────────────────────────────────────────────────────────────────────┐
│ /MAH │
│ /MAHstring │
└─────────────────────────────────────────────────────────────────────┘
This option can be used to change the MarkHeader option. When you
use /MAH, MarkHeader is set to the default.
If you use /MAHstring, the mark-header is set to [string]. [string]
must be 6 bytes or shorter and spaces are not allowed.
┌─────────────────────────────────────────────────────────────────────┐
│ /MAS │
│ /MASstring │
└─────────────────────────────────────────────────────────────────────┘
This option can be used to change the MarkString option. When you
use /MAS, MarkString is set to the default.
If you use /MAHstring, the mark-string is set to [string]. [string]
must be 14 bytes or shorter and spaces must be coded as underscore
characters.
┌─────────────────────────────────────────────────────────────────────┐
│ /OOA │
└─────────────────────────────────────────────────────────────────────┘
This option activates the MTA optimize option. All files are optimized
to the smallest amount.
┌─────────────────────────────────────────────────────────────────────┐
│ /AIA │
└─────────────────────────────────────────────────────────────────────┘
This option toggles the NoArcInArc option. When this option is ON, it
will be set to OFF, otherwise it is set to ON;
┌─────────────────────────────────────────────────────────────────────┐
│ /KEEPAV │
└─────────────────────────────────────────────────────────────────────┘
This option toggles the KeepAV option. When this option is set to ON,
/KEEPAV will set it to OFF and reversed.
┌─────────────────────────────────────────────────────────────────────┐
│ /ALL │
└─────────────────────────────────────────────────────────────────────┘
This option toggles the AllDisketteFiles option. When this option is
set to ON, /ALL will set it to OFF and reversed.
┌─────────────────────────────────────────────────────────────────────┐
│ /CHILD │
└─────────────────────────────────────────────────────────────────────┘
Finally there is one switch YOU MAY NEVER USE YOURSELF. I mention the
switch, because some of you would find it out, even if I did not
mention it and I think you can better know what it does.
/CHILD is used by MTA to call another MTA. The child MTA uses the
same options (in MTA.CTL) as the parent and that is not what should
happen. /CHILD overrules all special options in MTA.CTL that may
not be used when converting Compression-in-Compression files !
One switch is very important for unattended operation in a BBS
environment. This is the /W[path] switch.
With this switch you can instruct MTA to work on the directory you
have supplied in [path] instead of the current directory. This switch
(in combination with the FilesBBS option) can be used to auto-convert
all your uploads to your beloved compression system. An example:
Your upload-paths are C:\USERS\UPLOADS and D:\FRIENDS\UPLOADS (both
contain a FILES.BBS file). Your compression system is LHarc. You
can put the following lines in you daily-event batch:
MTA *.* /ONA /WC:\USERS\UPLOADS
MTA *.* /ONA /WD:\FRIENDS\UPLOADS
When MTA is only used in a BBS environment, you could code the
OnlyArchive option in MTA.CTL and leave the /ONA switch out.
Two pieces of advise:
- You can still use the MoveToDir (/M[path]) option but you must
understand that the FILES.BBS in the original directory is altered
before the move and the MoveToDir doesn't carry the entry in
FILES.BBS over to the new directory. If you want to be sure, supply
the /M switch to the lines above. Also you must understand that
running unattended means that any exit (e.g. the exit declared with
ExitAfterCompression) must also be able to run unattended !
- Please set the WarningTime to a low value or to 0, otherwise MTA
will wait for nothing when a warning occurs !
4.2 Aborting MTA
────────────────────────────────────────────────────────────────────────
There is only one way to abort MTA before it's normal end. When MTA
is busy, you can press [ESC]. MTA will (in time) display that it
will terminate soon and terminates after the CURRENT file is converted
You can release the termination by hitting any other key. In that case
MTA will continue.
The termination option does NOT work with the /D switch !!
Apart from terminating with the ESC-key, you can limit the execution
time with the RunTime option (see MTA.CTL).
Termination with the mouse (if you do not use /D) is also possible
and a special form of termination with ITS is also supported;
4.3 LOG file
────────────────────────────────────────────────────────────────────────
MTA makes a log of almost everything (unless you specify NoLog in the
MTA.CTL file or supply /L as a runtime switch).
You can browse thru the log with a program like V.Buerg's LIST or with
the 'good old' TYPE command.
The log-style can be adjusted to the users need with three different
options (LogStyleFormat, LogDateFormat and LogTimeFormat). Also you
can combine all three possible logs (the 'normal' log, by default
called MTA.LOG, the error log, by default called MTA.ERR and the
password log, by default called MTA.PWD) into one log-file because
MTA will open AND close the log for every record it has to write to
the log !
Depending on the number of files MTA has to convert, the MTA.LOG file
can get very large. I have supplied a program (MTL.EXE) to solve this
problem.
With MTL.EXE you can make a statistical review of your log-file. In
addition, you can instruct MTL to shorten the log-file. MTL will
rewrite the MTA.LOG file with only the total counters so far. The next
run MTL will 'see' these counters again and adjust the current counters
with these values.
MTL depends on the format of the log-file. Therefor you should not make
any changes to the current log-file, but make a copy of the file and
work on the copy and not the original. MTL IS able to detect a
customized log and will adjust itself to search on the right places.
Also, records of different kind can be available in the log (in case of
a mailer or BBS program). MTL will skip these records but remember. If
you want to clean the log with MTL, MTL will also remove all NON-MTA
records from the log !
If you get tired of the log, delete it, and MTA will create a new one.
When MTA calls itself as a child invocation, the child MTA does not
do any logging !
4.4 The (de)compressors
────────────────────────────────────────────────────────────────────────
As already stated, MTA depends on the ORIGINAL compression/decompression
programs. As you have seen, you can instruct MTA to look for these
programs in fixed directories.
If you don't supply fixed paths, MTA will search in the current
directory, the directory where MTA.EXE is in (only DOS 3.xx) and the
DOS-path for these files. When you own a rather slow HDU (or machine),
it could take several seconds for MTA to search for all these
(de)compressors. In these cases, use the MTA.CTL file to point out
where these programs are.
There is one little trick you should know of. Of course you know that
there was a 'war' going on between SEA and PKWare. NoGate's PAK (also
a very nice program) can do best of both worlds and more.
I am no judge, and I will not make any judgments but I find that I
should respect the results of the 'war'. I can imagine that some (or
many) of you have always used PKWare's program's and don't own a copy
of ARC (not even a evaluation copy), but others have both programs.
PAK.EXE is downward compatible with (old) PKWare and PKWare is downward
compatible with ARC.EXE. Depending on the internal structure of the
source file, MTA will take ARC.EXE first, then PKWare and then PAK.EXE.
Concerning the destination options, when you ask for a destination
(CompressionType) of ARC, MTA will only work when you own a copy of
ARC.EXE. It is NOT possible to create a destination of ARC with the
PKWare or Nogate programs !
MTA will search for the following programs if you don't supply the names
in the MTA.CTL file:
- ARC.EXE (SEA);
- PKPAK.EXE/PKUNPAK.EXE (PKWare old);
- PAK.EXE (NoGate);
- DWC.EXE (Dean W. Cooper);
- ZOO.EXE (R. Dhesi);
- LHARC.EXE (Yoshi);
- LARC.EXE (Miki);
- PKZIP.EXE/PKUNZIP.EXE (PKware new);
- MDCD.EXE (MD);
4.5 Executing MTA
────────────────────────────────────────────────────────────────────────
MTA is started in the directory where the source-files are. Up to now,
there is no (recursive) sub-directory support. The syntax is:
MTA [filespec] .. [filespec] [switches]
or
MTA [switches]
[filespec] must be a valid DOS filespec (wildcard included) like *.ZIP,
ABC*.* or MYFILE?.?RC.
You can supply as many [filespec] values as will fit on the command
line. MTA will convert up to 1000 files that match the filespec.
When you supply [filespec] on the command-line, don't supply path
names (they will actually be stripped by MTA). The path(s) MTA will
work on are depending on the DefaultPath option and if no DefaultPath
option is available, MTA will use the current directory. Also you can
use /Wpath to point to the path MTA has to work on !
If you do not supply an extension, MTA adds .* to the filespec, so
the filespec MTAWOW is extended to MTAWOW.*.
If you don't supply [filespec], you will be presented a full-screen
tag-menu of the path you want to work on (only the first if you have
more than one DefaultPath option). You can tag (with the space-bar)
files for converting. You can un-tag them by pressing the space-bar
again. Also fast 'bulk-tagging' is available. Press <F1> in the
tag-menu and you get a list of all available tag-functions.
Only the first 1000 selections (Pfeew, that's a lot) will be converted.
The full-screen is displayed with a chained part of code that MTA will
call itself. This is done to keep memory consumption as low as possible
while actually converting the archives. One word of caution. If you
have included more than one DefaultPath option and you are running the
full-screen tagging, only the first of these paths is taken. The
remaining paths are skipped !!!!!
See the documentation on MTA.CTL and the run-time switches for a
complete understanding of MTA's functions.
4.6 Errors
────────────────────────────────────────────────────────────────────────
Of course no one is perfect, so it is possible that you (or I) made
a mistake. When MTA blows sky-high, you could get a message (only
when needed) about some directories.
When MTA starts its process, it creates a temporary path UNDER the
path you supplied in MTA.CTL (MTATempPath) as a 8 byte HEX value of
the current time/date or this path is created UNDER the current
directory or the path you supplied with /W.
When MTA gets an error at decompression (memory or an error in the
archive), the original archive is placed in this temporary directory
or in the path supplied with the MTAErrorPath option. Before placing
the original archive in this path, MTA will first clean the temporary
directory from already extracted files (also the temporary directory
is removed if MTAErrorPath is active).
When MTA gets an error at compression (memory in most cases), the
original files are kept in the temporary directory. The original
archive is already gone, so you must create the new archive yourself
after MTA is terminated.
Before decompression takes place, MTA will first take a look at
the drive-space of the drive that contains the temporary directory.
If there is not twice the space of the UNcompressed archive available
on this drive, MTA will skip the conversion. Why twice the space, you
ask yourself:
- The original archive can itself contain archives. These have to
be decompressed also;
- The source can be bigger than the original target (converting
ZIP to ARC for example);
These two factors must be taken care of. Taking twice the space is
still no 'fail save' mechanism but it should do in 99% of the cases
where drive-space is low. Please observe that MTA removes the original
archive after decompressing that archive (without error) to save
space on the drive.
Most of the errors explain themselves. The only tricky one is 'Error
(xx) in shell'. The 'xx' is a number. In fact it is the Dos Error number
(not errorlevel). You can find them in most DOS bibles. The most
frequent one is 8 (not enough memory).
Negative numbers are caused by internal errors. If you can not resolve
them yourself, please inform me, I will try to find out the reason.
From release 4.04 and up, MTA makes some noise about files with a
valid compression extension (ARC, PAK, ZOO, 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, LZH and LZS.
MTA has to look inside such a file to deduce if it is an SFX-file.
(only COM and EXE). Test are made of several combinations inside
the file, but I can imagine that MTA could deduce a file to be
SFX while it is not.
In this case, strange things (from disk-full to I/O error) could
happen. Only use the SFX option when converting SFX files otherwise
leave it off !
One final word about unattended BBS operation. Starting with 6.50
MTA uses some other internal structures (think of the new name for
the temporary directory) to leave BBS operation as undisturbed as
possible. Older version worked unattended but had one major drawback.
When MTA aborted as a result of an invalid compression file, all
next runs of MTA would abort because they saw the same file again
and again. That's why this file is moved to the temporary directory.
When running in unattended operation, do NOT use the MTATempPath
option but let MTA work out a path-name. The path-names MTA creates
are logged in the MTA.LOG file.
MTA 12.50 now fully uses memory in a dynamic way. This means that
all tables are stretched and you now can include 255 files, exclude
255 files, work on 255 different paths and so on. This is all managed
dynamically by MTA, so when you use entries, MTA will use less memory
This also can mean that you can overrun the limits of your PC's memory
If you get a memory-error message you must first look into DoNot,
IncludeFile, ExcludeFile and Defaultpath options.
Consider to merge some of the masks in DoNot or pack all your included
files into an archive and add this archive to your new files.
Under normal conditions a 640K PC should have enough memory to use
all options to the limits.
All this could give you the impression that you should thank the
Lord when MTA runs ok. THIS IS NOT THE CASE. I have converted
around 3000 files on 200 diskettes and 2 HDU's myself again and
again using MTA and so far only 4 errors occurred (2 of them in the
SFX support). All these (and more) are already fixed in this release.
4.7 Specials
────────────────────────────────────────────────────────────────────────
MTA preserves memory for executing the shell and uses some space
of its own. To use as limited memory as possible, there is a limit
to the number of files MTA can handle. In any of the given used
directories, you can have a maximum of 1000 files (do YOU have a
315 MegaByte HDU, I don't..).
With the current settings MTA will use 163K. The remainder of the
memory can be uses for the shell's. Normally this leaves enough
memory for all the (de)compressors and/or the shells.
Strange things can occur when you have too little memory and you
have included the SFXFiles (/SFX) option. MTA normally reads around
32K of each SFX file (or less when the file is smaller), but adjusts
the amount to memory bounds.
MTA uses a little trick when detecting name-like filenames. Imagine
you have a TEST.PAK, TEST.LZH and TEST.DWC in your directory and
you want to convert to ZIP.
The first file is ok (TEST.PAK -> TEST.ZIP), the second gives a little
problem (MTA can not make another TEST.ZIP. If MTA should do so, all
the files in MTA.LZH are added (worse updated !) in the first TEST.ZIP)
to work around. MTA warns the user and will create TEST.ZI1. The third
is converted to TEST.ZI2.
All these actions are reflected on the screen with a message and in the
MTA.LOG file.
As you already saw, MTA has its own touching system. This system is
triggered with the TOUCHHIG, TOUCHLOW or TOUCHCUR options in the
MTA.CTL.
If you would like to leave the time/date stamps as is, you must not
supply any of the above options !
When MTA searches for the (de)compression programs, it will not be
confused by the READ-ONLY attribute that some users use to protect
their programs !
MTA (all versions before 12.05) contain a bug that could be 'mis-used'
if someone knew how to do it. This is corrected in MTA 12.05.
┌───────┬─────────────────────────────────────────────────────────────┐
│ 5 │ Version information and credits │
└───────┴─────────────────────────────────────────────────────────────┘
5.1 The BETA-team
────────────────────────────────────────────────────────────────────────
The following Sysop's and their CoSysop's (only if they use the same
BBS or a NON-user (closed) shadow BBS) are allowed to make use of the
BETA-releases on their own risk:
- Remote Access Multiline/Multiport Paradise 2:512/100 (*)
Sysop: Reinier De Groot
- GOLEM Service BBS 2:242/4
Sysop: Hanstheo Wolf
- Sirex BBS 2:280/216
Sysop: Gerry Ulrich
│- Funboard BBS
│ Sysop: Dirk Astrath 2:244/12
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 users who did write me a message and/or sent me a postcard;
- The BETA-team;
- A special 'thanks' to Reinier de Groot, Hanstheo Wolf and
Dirk Astrath. They keep coming with nice suggestions;
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.01 │ Major Release │
└───────┴────────────────────────────┘
■ Included a table of contents (at last);
■ The ChildCall option is now obsolete. Remove it from MTA.CTL;
■ Stretched the number of file-masks to 255;
■ Included a full-screen tag-menu for the lazy (and confused);
■ Included /@ command-line option to pass a file-list to MTA;
Suggested by: Reinier de Groot
■ Included /MD command-line option;
■ Included AltDisplay option to change the default startup
screen from static to dynamic;
■ Included an internal swap-routine;
Suggested by: Many users who got tired of the external SWAP;
■ Included SwapPath to set the path to a (fast) drive, containing
the swap-files if no EMS is present and the default (root of the
current drive) is not wanted;
■ Included NoSwap option to force MTA not to swap;
■ Included a full-screen selection menu (is MTA growing to be
another archive shell, wait and see);
Suggested by: Reinier de Groot and myself;
■ User is now warned when a swap is in progress (EMS or DISK);
■ MTA is again somewhat faster (any self respecting programmer
will tell you that of his newest version, so will I <grin>)
■ Included MDCD compression, so a MDPath option is included
now;
■ MTA will now display the nest-level of Arc-in-Arc files;
■ MTA can now display a dynamic file-list of files still to
convert;
■ CarryComment contained a bug. The user had to press enter
to continue the execution. This is fixed;
■ MTA now only can run under DOS 3.xx or higher. Please contact
me if you have troubles with this. I can supply a special
version that can run under 2.xx but this version will be somewhat
slower;
┌───────┬────────────────────────────┐
│ 12.05 │ Minor Release │
└───────┴────────────────────────────┘
■ There was an error in the screen handling when /D was used (bar,
counters). This is fixed.
Reported by: Author
■ When /D was used and no file-mask was given, MTA would display
the full-screen tag-menu. This is fixed. MTA assumes *.* when
/D is used;
Reported by: Author
■ MTA did not pass the alternate CTL-file (if any) to the child.
This is fixed. MTA will pass /CTL[name] to any level of child
calls;
Reported by: Author
■ It is meaningless to use the Runtime option when the user tags
files from the full-screen tag-MENU. MTA will reset RunTime
to 0 when tagging is active;
Reported by: Author
■ MTA could not convert itself. This is fixed.
Reported by: Eef Hartman
■ MTA 12.01 could (sometimes) give strange errors when MANY special
options were selected. This is fixed. Also extended the main-part
of MTA to different segments, so expanding MTA is now easy again.
Reported by: Author
■ When using /OOA (optimize) with files containing in-archive files,
MTA would pass the OLD (initial) target to any child. This is fixed;
Reported by: Eef Hartman
■ Deleted the OldPak and OldZip options and replaced them with
ZIPVersion and PAKVersion options.
Suggested by: Author
■ MTA now displays the ZIP-command-line (when using ZIPVersion 110 or
higher);
Suggested by: Author
■ There have been some reports about troubles with extended path
information (like APPEND). This is fixed in a rather easy way
by accessing an environment variable MTA (if any) to find the
MTA.CTL.
Suggested by: Martijn Ruygrok
■ It is now possible to include special files in the MTA.CTL with
the IncludeCTL option;
Suggested by: Martijn Ruygrok
■ Extended the functions of the CarryComment statement. It is now
possible to add a special comment to current comment;
Suggested by: Dirk Astrath
■ Removed MTR and added this functions to MTM (marking);
Suggested by: Dirk Astrath
■ Problems with MTM (see MTMDOCEN.DOC) fixed (I hope);
Suggested by: Adrie '(A3)' van Lith
┌───────┬────────────────────────────┐
│ 12.10 │ Alpha Release (no distrib) │
└───────┴────────────────────────────┘
■ Changed the information while running the /D option;
Reported by: Author
┌───────┬────────────────────────────┐
│ 12.50 │ Major Release (pre 13.01) │
└───────┴────────────────────────────┘
■ Fixed some 'holes' in the documentation. Some switches were not
reported in the documentation. Also removed some obsolete
information;
Reported by: Author
■ Added more statistics to the /D option. MTA will now display
more useful information when running /D.
Suggested by: Author
■ Stretched the DoNot statements from 20 to 255. This should be
enough to satisfy all your needs.
Suggested by: Hanstheo Wolf
■ Stretched the IncludeFile and ExcludeFile options to 255 each.
Suggested by: Author
■ Stretched the Defaultpath option to 255 entries.
Suggested by: Author
■ Stretched the selectable masks to 255 entries and the selected
files to 1000;
Suggested by: Author
■ Made MTA aware of PKWare's Authenticity Verification (AV). MTA
can now convert AV'ed ZIP-files (to ZIP targets) while keeping
the original AV. Included KeepAV option and /KEEPAV switch;
Suggested : Reinier de Groot, Author
■ MTA is made aware of encrypted files. Also target files can be
encrypted with a fixed or RANDOM password. A log is kept in a
special log-file, containing all converted files and their
passwords. Added /IP and /OP switches. Added PasswordListPath
option.
Suggested by: Hanstheo Wolf, Author
■ Removed a bug in CarryComment when the original source was not
a ZIP and did not contain any comment. Strange comment could
be included in the target file. Fixed;
Reported by: Author
■ MTA is now able to combine ZipAutoComment along with CarryComment.
Users can now maintain their ZIP-comment (Sysop's use this a lot)
and append the file description (CarryComment) to this header;
Suggested: Hanstheo Wolf
■ MTA's log-records are now configurable. Added LogStyleFormat,
LogDateFormat and LogTimeFormat options.
Suggested by: Sicco Bruins, Dirk Astrath
■ Added MTAErrorPath option, so users can now point to a special
directory that will contain original archives with an error;
Suggested by: Reinier de Groot, Rob Lirb
■ MTA now removes extracted files from the temporary directory
(when extraction is in error) before moving the original archive
to the temporary directory (or the error-directory);
Suggested by: Dirk Astrath, Reinier de Groot, Rob Lirb
■ MTA will now test for enough space on the drive BEFORE the actual
conversion of a file starts. If there isn't enough space on the
drive for such a file, MTA will skip that file. There must be
twice the uncompressed space available on the drive;
Suggested by: Dirk Astrath, Rob Lirb
■ Help for the command-line switches (MTA /?) is removed from the
main program and put into a chained program (MTA.CH2). Also help
is now complete and can be scrolled.
Suggested by: Author
■ The 6 byte header of the mark-string can now be customized by the
user to 'hide' the fact that MTA converted the file. MarkHeader
option and /MAH switch included;
Suggested by: Hanstheo Wolf
■ The LogPath and ErrorLogPath options are extended. The user is
now able to supply not only the path to the log-file but also
the name of the log-file so log-records can be appended to any
type of log (f.i. the log of a Mailer or a BBS program).
The same goes for the PasswordListPath option. Also all log-types
can point to the same log-file;
Suggested by: Author
■ The /X switch is renamed to /DD.
Suggested by: Author
┌───────┬────────────────────────────┐
│ 12.51 │ Minor Release (pre 13.01) │
└───────┴────────────────────────────┘
■ Fixed a problem where the EXIT's could not find an AV'ed ZIP
file that was being converted with KEEPAV. Fixed;
Reported by: Stuart Henderson
■ A AV'ed ZIP in SFX form (EXE/COM) like PKZ110.EXE would convert
to PKZ110.$E$ and not to PKZ110.ZIP. Fixed;
Reported by: Author
■ A AV'ed file with a ZIPComment would not be converted to a new
file with a carried (CarryComment) or created (ZIPAutoComment)
comment. Fixed;
Reported by: Stuart Henderson
■ CarryComment with option 3 did not seem to work. This problem
was already introduced in the first release, containing the
CarryComment option. Fixed;
Reported by: Dirk Astrath, Hanstheo Wolf
■ CarryComment with all options and source file (any type) without
a comment and a FILES.BBS NOT containing any new comment would
give a trashed comment in the target file. Fixed;
Reported by: Author
■ Added mouse awareness in the full-screen tagging and in MTA.EXE
itself.
■ Changed screen layout to support mouse;
■ MTA is now ITS-aware if you use ITS version 1.06 or higher. MTA
can now be stopped with an ITS-command (/DOWNMTA);
┌───────┬────────────────────────────┐
│ 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
MTA is tested with PKWare PKPAK release 3.61, PKWare ZIP release 1.10,
│NoGate PAK release 2.50, ARC release 6.02 and ZOO release 2.01(X),
DWC release 5.10, LHarc release 1.13c/d, LARC release 3.33 and MDCD
version 1.0;
5.4 Copyright, Trademarks
────────────────────────────────────────────────────────────────────────
PKPAK, PKUNPAK, PKZIP and PKUNZIP are trademarks of PKWare Inc.
PAK is a trademark of NoGate Consulting.
ARC is a trademark of SEA inc.
ZOO is a trademark of R. Dhesi.
DWC is a trademark of Dean W. Cooper
LZH and LHarc are trademarks of Yoshi;
LZS and LARC are trademarks of K.Miki H.Okumura and K.Masuyama
MD is a trademark of Michael Davenport
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
VALIDATE is a trademark of McAfee Associates
CRC.EXE is copyrighted by Howard Vigorita but seems to be
public domain;
CRC32.EXE is copyrighted by Barry Geller but seems to be
public domain;
QuickBBS is a trademark of the QuickBBS group Inc.
Remote Access is a trademark of Continental Software
MTA is written in Turbo Pascal 5.5, with help of the Turbo Debugger 1.0
and makes extensive use of Object Professional 1.02 and TxCFI V 8.21.
Also included are some routines of Blaise's fine PowerTools Plus
package (5.0).
Turbo Pascal is a trademark of Borland International
Turbo Debugger is a trademark of Borland International
Object Professional is a trademark of TurboPower Inc.
PowerTools Plus is a trademark of Blaise Computing Inc.
TxCFI is a trademark of Robert W. van Hoeven