home
***
CD-ROM
|
disk
|
FTP
|
other
***
search
/
ftp.wwiv.com
/
ftp.wwiv.com.zip
/
ftp.wwiv.com
/
pub
/
BBS
/
MTA_VF35.EXE
/
MTADOCEN.DOC
< prev
next >
Wrap
Text File
|
1993-02-22
|
442KB
|
8,424 lines
╔══════════════════════════════ ┌─────────────────┐
║ MTA Make Them Anything │ D.I.S.P. │────┐
║ Convert Compressed │ │░░░░│
╟────────────────────────────── │ │░░░░│
║ (c) 1993 Robert W.van Hoeven │ Dutch │░░░░│
╟────────────────────────────── │ Independent │░░░░│
║ Release : 15.35 │ ShareWare │░░░░│
║ Rel.Date: February 22th, 1993 │ Programmer│░░░░│
╠══════════════════════════════ └─────────────────┘░░░░│
║ | │░░░░░░░░░░░░░░░░░│
║ │ MTA.EXE / MTM.EXE | └─────────────────┘
║ │ MTL.EXE / MTZ.EXE | ┌─────┐ |
║ │ MTA.CTL / MTA.CHx | │░░░░░│ |
║ │ | └──┬──┘ |
║ │ MTAOVR.EXE / MTAOVR.OVR (*) | ┌────┴────┐ |
║ │ ------││││││ ═══│-------
║ │ Lines starting with '│' are └─────────┘
║ │ changes to release 15.30
║ │
║ │
╠═══════════════════════════════
║ Address: Robert W. van Hoeven
║ PO. Box 131
║ 1170 AC Badhoevedorp
║ Nederland / Holland
╚═══════════════════════════════
╔═══════════════════════ (*) OVERLAY FILES ════════════════════════════╗
║ MTAOVR.EXE and MTAOVR.OVR are files that make the overlayed version ║
║ of MTA. These files are available in a separate package which can be ║
║ found under the name MTAOVvvv.eee (where vvv has the same number as ║
║ the last 3 digits of this archive (e.g. F10, F11, F32) and eee is ║
║ the extension. ║
╚══════════════════════════════════════════════════════════════════════╝
╔══════════════════════════════════════════════════════════════════════╗
║ READ THE MTA.NEW DOCUMENTATION, THERE ARE SOME CHANGES IN PARAMETERS ║
║ AND OPTIONS ! ║
╚══════════════════════════════════════════════════════════════════════╝
┌───────┬─────────────────────────────────────────────────────────────┐
│ 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
3 ---- Installation description
3.1 Installation
3.1.1 Installation of the software
3.1.2 The overlay mechanism
3.2 Archivers
3.2.1 General remarks and suggestions on archivers
3.2.2 Remarks on ARC
3.2.3 Remarks on PAK
3.2.4 Remarks on ZIP
3.2.5 Remarks on PKPAK/PKUNPAK
3.2.6 Remarks on DWC
3.2.7 Remarks on ZOO
3.2.8 Remarks on LHarc
3.2.9 Remarks on LArc
3.2.10 Remarks on MD
3.2.11 Remarks on ARJ
3.2.12 Remarks on HYPER
3.2.13 Remarks on PKLITE
3.2.14 Remarks on GIFLITE
3.2.15 Remarks on JPEG
3.2.16 Remarks on GIFTEST
3.2.17 Remarks on SQZ
3.3 MTA.CTL
3.3.1 Basic statements
3.3.2 Statements that define the environment that MTA uses (paths)
3.3.3 Statements that define the logging
3.3.4 Statements that define the selection of files
3.3.5 Statements that define the resulting files
3.3.6 Your own (new) compressor
3.3.7 Statements that define the various exits (hooks) in MTA
3.3.8 Statements that are useful to Bulletin Board Systems/SysOp's
3.3.9 Special statements
3.3.10 Statements available when using a registered version
3.4 Diskette option
3.5 KeyBoard control
3.6 Running multiple copies of MTA at the same time
3.7 Compression of single executable files (PKLITE)
3.8 The MTA tag-window
3.9 MTA and unattended operations
3.10 TICK-files and related material
3.11 FES, yet another TICK-clone ?
3.12 Special ARC considerations
3.13 Using newer versions of archivers
3.14 Lo-tek functions, calling MTA as shell of MTA
3.15 TEC files
4 ---- Run-time information
4.1 Command-line parameters
4.1.1 Command-line parameters that stand on their own
4.1.2 Command-line parameters that overrule/toggle/disable MTA.CTL
4.1.3 Command-line parameters with a special usage
4.2 Aborting MTA
4.3 LOG file
4.4 Errors
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;
- Support on MTA, when used in a non-commercial environment, is
available by means of written letters or by entering the inter-
national echomail area DISP;
- Problems and suggestions can be entered in the FidoNet <tm> Echomail
conference <tm> called DISP (international). Entering this echo does
not exclude you of the duty to register the MTA-package, though
users who evaluate the product can enter the echo for questions;
- The MTA-package, all programs, the documentation and support-files
is copyrighted 1990,93 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;
- It is forbidden to modify, adapt, translate, reverse engineer,
decompile and/or disassemble the software in the MTA-package.
Patching the medium at places that carry the software is seen as a
program change and is also forbidden. It is forbidden to create a so
called 'bypass' to skip the original introduction screens and delay.
Also it is forbidden to use such a 'bypass' unless supplied by the
author (Robert W. van Hoeven) himself;
- Performing any of the illegal actions as stated in the previous
lines, is a theft and no fair play to the author and, more
important, to the registered users;
- Bulletin Board Systems that distribute the MTA package can convert
the WHOLE package to any archive-system they like but all original
files must be included in the new archive. The MTA-package on the
Bulletin Board can contain at the most 2 extra files. These files
can only be a commercial for that Bulletin Board and/or validation
data that is presented as a service to all users and shall have no
other functions;
- After the normal trial period of 30 days, you must register the
soft- ware (see REGISTER.MTA) or you must remove it from your PC;
- Comments, suggestions and bug reports are welcome and will be
answered as soon I have the time to do so. You can send me a letter
of leave a NetMail <tm> message named to Rob Van.hoeven (mind the
point) on node 2:512/100 (RA Support, Monster, Holland, SysOp is
Reinier de Groot). When you want to send me normal mail, address it
to: Robert W. van Hoeven, PO. Box 131, 1171 AC Badhoevedorp,
Holland; Also you can enter messages in the FidoNet <tm> DISP
Echomail <tm> area;
1.2 Newer versions and contacting the author
───────────────────────────────────────────────────────────────────────
The newest version of MTA is always available at the DISP-HQ on node
2:512/100. MTA is also distributed thru a number of DISP support
nodes. There are three ways of obtaining newer versions of MTA:
- Logging on at DISP-HQ or a support node
Look into the file SUPPORT.MTA for a full list of support nodes;
- Logging on to a SDS node
MTA is distributed thru SDS/SDN, but only big minors (x.10, x.20 and
so on) and majors (14.01, 15.01 and so on) are submitted to the SDS
distribution point in Holland;
- Logging on to your own BBS;
Chances are, that you will find an older version (international
users) because it will take some time for the new version to 'bleed'
thru the net;
- Update service;
You can enter a special update service (read REGISTER.MTA).
If you think you have found problems in MTA, or in any other case, you
wish to contact the author, you can send me:
- A letter to the address you can find in the header of this file;
- A NetMail <tm> message to Rob Van.hoeven (please mind the point
between Van and Hoeven) at 2:512/100 or (better) 2:512/100.5;
- A Message in the FidoNet <tm> DISP echomail <tm> area;
┌───────┬─────────────────────────────────────────────────────────────┐
│ 2 │ Package description and requirements │
└───────┴─────────────────────────────────────────────────────────────┘
2.1 Preface
───────────────────────────────────────────────────────────────────────
MTA is a program that can be helpful with the job to convert archives
(compressed files) from one archive-system (ZIP, ARJ, LZH and such are
called archive-systems) to another one.
The conversion from archive-systems is something that is
done frequently on BBS systems. Different users do uploads for
files created in various archive-systems. The SysOp (System
Operator of a BBS) will make these files available in only one
system so all users who download one or more files, only need
one archive program to decompress the files.
When a normal user visits various BBS's that all have their
own archive system, she/he will also get a mixture of different
files, created in different archive-systems. In this case MTA can also
help.
There a tons of features available in MTA. Some of them will only have
a meaning for a SysOp, some of them only for the normal user and many
of them for both. Users can automatically remove files from archives
(many BBS's add headers and/or files to the archive as advertisement
for the BBS), SysOp's can add them, both can scan for viri (in many
different ways). There are options to convert a single file, a
complete directory (with or without sub-directories), complete drives
and a special feature to convert all files on a diskettes from one
system to another (while the user won't have to worry that the target
files will not fit on the diskette). The list can go on for hours.
The MAJOR benefit of MTA is, that it treats ANY of the most
known archivers with the same service. Other programs may be
smaller but only treat a certain archive-system for the full 100%.
MTA is made in a way that YOU can decide what output
(archive-system) should be created without having to search for
better programs when you swap from one system to another. Another
benefit of MTA is the up-to-date status of the program. For more
than 3 years now, I have managed to update MTA at the same time
(and sometimes earlier) you got hold of a new version of your
archive-program. And even when you are not served within the minute,
you can always use the special routines in MTA that implement a
'user-type' of archive program (based on the extension of the
archives).
MTA's documentation is NOT easy. It is a large text. There are so
many options that can be useful for you. The best way to start is
to read everything one (without the description of the options),
then take a ASCII-editor, import chapter 3 and start to create the
configuration file, line by line, option by option. If you have
completed the setup, you nearly don't have to look at it anymore
for a long time, so take your time.
2.2 Requirements
───────────────────────────────────────────────────────────────────────
MTA requires: - PC XT/AT/386/486 (or more)
- At least 400K free memory but it depends on the
archiver(s) you use (NON OVERLAYED VERSION);
- At least 200K free memory but it depends on the
archiver(s) you use (OVERLAYED VERSION);
- DOS 3.xx and higher;
(tested with 4Dos 4.0, should work with lower
versions);
- DOS 2.xx ONLY when registered. In this case, a
customized version will be created;
- HDU optional
- Mouse optional
- One or more virus-scanners (optional)
- The original (de)compression programs. MTA does
NOT contain the compression/decompression
routines;
- The original GIF conversion programs that are
supported by MTA;
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
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
Besides this normal and complete package, there is an additional file,
containing MTAOVR.EXE and MTA.OVR. These are the files that are needed
to run MTA in overlayed mode.
2.4 History
───────────────────────────────────────────────────────────────────────
MTA is now 3 years old. It started with version 4.01 (first public
release). Releases 1, 2 and 3 were called MTZ and could only convert
ZIP-files. With release 13, MTA changed from freeware to shareware.
With release 14, MTA added some extra options for BBS's and became
able to output some of the text to a modem (so MTA could be run as a
shell under the BBS or a protocol-driver). With release 15, a new type
of compressed files is supported. These are GIF files. Release 15 can
support the conversion of GIF files. Also, within release 15, a
MS/Windows version of MTA will be released AND (finally) the setup of
the configuration file will change from a ASCII-file to a windowed
(full-screen) setup program (not in 15.01, 15.01 is a forced release
because of the upcoming ZIP 2.xx).
I will try to keep MTA as up-to-date as possible. Every few months
or so, new versions of archive programs hit the market. Some of
these versions contain new algorithms and also contain changes
in the internal structure. Up to now, I was able to release a new
version of MTA only a few days after the final release of such
versions (and sometimes earlier, based on the beta-versions).
Needless to say that it is a hell of a job to keep informed about all
the changed.
┌───────┬─────────────────────────────────────────────────────────────┐
│ 3 │ Installation description │
└───────┴─────────────────────────────────────────────────────────────┘
3.1 Installation
───────────────────────────────────────────────────────────────────────
MTA is not an easy program to install. There are numerous features
that can be used. Also, there are no specific guidelines for a quick
install of the program, but in the next chapters I will try to guide
you thru the installation in a structured way. Both new and advanced
users should also take a look at any included *.TEC file. These files
(if present) will give a wider description of a specific topic which
has caused some questions in the past.
3.1.1 Installation of the software
───────────────────────────────────────────────────────────────────────
The first step is the installation of the (program) files. This is a
very easy step if you observe all the following rules. The next steps
are described with a hard-disk system in mind:
- Decide which directory you want to use. MTA can find its own support
files in three possible ways (in the following order):
- In the current directory;
- The directory containing MTA.EXE (DOS 3.xx and higher only) or any
other program name if you have renamed MTA.EXE to something else.
The same goes for the overlay version;
- The DOS PATH (DOS 2.xx and higher);
Either use an existing directory or create a new directory that will
be used for the installation of MTA (in the second case, add it to
the DOS PATH, so the call to MTA.EXE can be done from anywhere on
the disk);
- Place MTA.EXE, MTA.CH1, MTA.CH2, MTL.EXE, MTM.EXE and MTZ.EXE in the
selected directory. If you don't want to use MTL, MTM and/or MTZ,
you can always remove them later. MTA.CH1 and MTA.CH2 are
(sometimes) needed by MTA. MTA.CH1 contains the interactive pick-
list to select files from a large list, MTA.CH2 is called when you
want help information about the command-line options. When you have
obtained the overlayed version of MTA, you must also copy MTAOVR.EXE
and MTAOVR.OVR to the selected directory. All programs CAN be renamed
to anything you like (e.g. delete the non-overlayed MTA.EXE and re-
name the overlayed MTAOVR.EXE to MTA.EXE) but the files MTA.CH1,
MTA.CH2 can NOT be renamed. Also when you rename the overlay version
(MTAOVR.EXE), you must give the filename-part (not the extension) of
the overlay file (MTAOVR.OVR) the SAME name (so rename MTAOVR.EXE to
BLURB.EXE, in that case, rename MTAOVR.OVR to BLURB.OVR);
- Copy the included example of MTA.CTL to the same directory as the
MTA program files. This example file must be changed later on to you
own environment and needs. For now, leave it unchanged;
- MTA can also look for an environment variable called MTA. You can
add a line in AUTOEXEC.BAT with the value 'SET MTA=[path]' (do not
code the quotes and replace [path] with the name of the directory
where MTA.EXE/CH1/CH2/OVR/CTL are;
- NEVER use compression programs like PKLITE, SHRINK or DIET on the
executable files inside the MTA package. They must stay unaltered.
The programs that are called within MTA (archivers, exits) can, from
MTA's point of view, be compressed with these programs. If you insist
on using the least possible space, you CAN compress the MTA.CH1/CH2,
MTL.EXE, MTM.EXE and MTZ.EXE files with PKLITE or any other program
that you like;
- Be sure to have the DOS program SUBST.COM/EXE inside your DOS path.
This program comes with your release of DOS and without them, MTA
can do less of the conversion than when you have them available.
As you will see later, you need special options to set to a value
to let MTA make use of this program (so you can still have them on
the drive without MTA using them). Unless you have a special setup
networks and such), you can rest assure that you can use the SUBST
program along with MTA, unless you use specialized software that will
not match with SUBST usage;
- When installing the MTA files, also take some time to see which
archive programs you have where (write them down, because you can
use this info when you create MTA.CTL). Also take a look at the
versions you run of these programs. The next chapters will go
into specific details for every supported archiver. In case of
difficulty or just to stay up-to-date, you should try to obtain
the highest version that is mentioned in the documentation;
- When using the overlayed version of MTA, you should read the next
paragraph for more details on how to setup the overlay environment;
3.1.2 The overlay mechanism
────────────────────────────────────────────────────────────────────────
There is also an overlay version of MTA. This means that only part of
the code will be active and available in conventional memory (the part
of memory up to 640K) and the remaining parts of the code can be
loaded into memory when a certain part is needed. Overlays are only
useful when a program will not have to access all parts of the coding
in a short time. The more coding is not needed concurrently, the
bigger the overlay and the smaller the part of conventional memory the
program needs.
When a program is written, the author will always try to search for
the best result on a large number of implementations, but not all
situations can be dealt with. Because of these special situations, MTA
includes a number of options to make the overlay mechanism as flexible
as possible. To change the overlay mechanism means that you must know
how it works by default. When MTA is loaded, it will try to initialize
the overlay manager first. This is done in the following manner:
- The program will search for the overlay-file. The location it will
search is the location where the EXE-file is found. The name must be
the same as the filename-part (without extension) of the EXE-file,
so when you rename MTAOVR.EXE to MTA.EXE, you must also rename the
MTAOVR.OVR file to TA.OVR. This mechanism works for all DOS releases
from version 3.0 and higher. Lower versions of DOS (1.x and 2.x) can
not work in this manner and you need to set the location and name
overlay-file with help of an environment variable (see later);
- If the overlay-file is found, the program will initialize it and
will examine the memory. The overlay-manager need some conventional
memory and it can store the remaining part of the overlay (the
not-active part) in expanded memory (EMS) if that is available and
contains enough free memory. The size of the part of conventional
memory is variable (though it can not be too small) and is set to a
good average (by default). The size of the part of EMS memory is
fixed for a given release of the program. The more conventional
memory that is assigned to the overlay buffer, the better the
performance of the program but the less memory (conventional) is
available. If the overlay part can not be loaded into EMS (because
it isn't there or there isn't enough free memory in EMS), it will be
left on disk and parts of the coding must be loaded from disk
(slower!) when they are needed;
- If the overlay-managers fails to install the overlay, the program
will abort. In general, the failing will be the result of:
- The OVR-file (the overlay) could not be found;
- Not enough conventional memory available to load the overlay;
- Invalid (old) EMS drivers;
- I/O errors on the overlay-file
- Conflicts between other programs that use EMS or conventional
memory (TSR's, device drivers);
In general, when you do nothing about the overlay-manager and you run
under DOS 3.xx or higher, you will have a solid running program. If
you have problems (see above) or you want to optimize the program for
better thruput, you can (must) alter the overlay management. These
changes must be made with help of environment variables (see the DOS
SET command). Many people asked why you can't put these changes inside
the control-file. That is not possible, because the parsing of the
control-file itself is an overlayed part of the coding. You need the
overlay before you can access the control file. That is why you must
make use of environment variables. The following environment variables
are tested for:
MTAOVROL : This environment variable can be used to point to the name
and/or location of the overlay-file. You can use it in two
ways:
(1) SET MTAOVROL=F:\RAMDRIVE\
(2) SET MTAOVROL=C:\BBS\PRG\MTA.OVR
In the first case (1) you point to the directory that
contains the overlay-file. The name of the overlay-file is
generated from the program-name (minus the extension), so
when you have MYMTA.EXE, you must put MYMTA.OVR in this
directory first. The directory-name MUST end with a '\'
otherwise the overlay-manager will assume RAMDRIVE as the
name of the overlay-file and will search for it in F:\.
In the second case (2) you point to the location AND name
of the overlay-file. In this case the overlay-file can have
a complete different name. So it is valid to call the
program MTAHELL.EXE and the overlay MTAOVR.OVR if you use
SET MTAOVROL=C:\BBS\PRG\MTAOVR.OVR. This option is also
needed when you run under DOS 1.xx or 2.xx;
The most common usage of this environment variable is to
put the overlay-file on a RAM-disk (fast access) and to
deny the usage of EMS for the overlay (because you have
better candidates for EMS usage).
MTAOVRUE : This environment variable can have 2 values, either Y or N.
The program will only test if the value 'N' is used (so SET
MTAOVRUE=N). If this is the case, the overlay manager will
not use EMS for the overlay-file and access to the
overlay-file is done on disk (see MTAOVROL);
MTAOVRBS : This environment variable can be used to alter (enlarge)
the overlay buffer in conventional memory. The program's
default will give a good average, but when memory is not a
problem (conventional memory), you can make the overlay
buffer bigger and gain some speed in the program thruput.
To see which value you should set, you should run the
program without this option first. Inside the log (you must
activate the log), you can find the default value for the
overlay buffer. You can make it smaller but don't make it
smaller than the current size minus 8192 otherwise the
overlay-manager could fail. You can make it bigger but
don't make it too big (experiment with small steps and see
if the performance gets better). SET MTAOVRBS=100000 will
allocate 100.000 bytes of conventional memory for the
overlay buffer;
MTAOVRPS : This environment variable can be used to alter (enlarge)
the 'prohibition area'. This area is a part of the normal
overlay buffer. It is used to store recently accessed parts
of the code. The code will remain as long as possible over
here. If the code is accessed again, it doesn't have to be
loaded from the overlay-file but can come from this area.
The value you supply with this variable should not be less
than 2. The default is 3 (buffersize / 3). You can try to
gain some speed by making the overlay buffer larger and to
set this value to 2. The default gives a good average in
combination with most overlay buffers;
In general (DOS version equal or higher than 3.xx, unaltered names for
the program-file and overlay-file, enough EMS memory or a fast disk),
you can use the default values and don't have to set these environment
variables.
MTA's overlayed version is available as a separate package (MTAOVxxx).
It is advised to use the overlay version when the remaining memory is
very low (when running MTA under a BBS door like FileDoor <tm>.
3.2 Archivers
───────────────────────────────────────────────────────────────────────
In the next chapters I will give some personal advise and some remarks
on the various archivers that are available and that MTA can support.
If you are an inexperienced user, you can obtain some information
about archivers you haven't looked at, if you are a pro, you will find
some remarks on the various archivers that have to deal with the way
MTA converts from and to these kind of systems.
3.2.1 General remarks and suggestions on archivers
───────────────────────────────────────────────────────────────────────
This chapter (3.2.1) contains some PERSONAL information about
archivers in general. If you don't know all the systems or if you are
still in search for a better one, this chapter can guide you in a
certain way. I won't start a discussion about the information in this
chapter, neither with the authors (beta-testers) nor with the users,
remember it is my personal point of view, after looking at all of
them. For starters, I will URGE to say that MTA supports ALL archive
systems in the BEST possible way, so the fact that I am not using a
certain system does not mean that MTA does not support it for 100%.
Some other vendors supply conversion programs from all (or one)
systems to all (or one) other system. Please be warned that most of
these programs ar written with a certain archive system in mind. MTA
is not such a program. I neither sell nor develop any archive system
myself so MTA can look as 'objective' as possible to any archive
system.
The question 'which is the best archive system for my situation' is a
question that is asked many times. I can not give 100% OK answer to
this question but I can try. First you must ask yourself one question.
WHY, besides gaining disk space, should I use an archive program.
Here are some guidelines:
-a) I need as much files in on my disks, so HIGH compression is my
major goal;
-b) I want to create compressed files very quickly because I have
either a slow machine or much archives to maintain;
-c) I want to make my archives 'transparent' to other types of
operating systems (called 'platforms' with a difficult word);
-d) I need to archive (and store) files on diskette that are bigger
than my highest diskette format;
-e) I want some sort of version control, so when I add a file to an
archive, any previous file with the same name inside that archive
must be kept as a backup (older level);
I am sure there are some other guidelines to follow. For one, I
personally like a good and bug-free archive program with a good
feedback from users of vendor when needed. But let us take the given
guidelines (a) to (e) and see what COULD be best for you. In the given
order:
-a) Most archivers can compress to a very small format but there are
three groups that differ in size. The first group contains ZIP
(2.xx), LZH (2.xx) and ARJ (2.xx) in a random order. It is a
matter of 1 to 3 percent depending on the kind of files. LZH is
free (with source-code) which can be a bonus but also a drawback.
The second group contains ZOO (2.xx), HYPER (25) and PAK (2.xx).
ZOO 2.1x is somewhere between the first and second group, other
differ in speed and options. The remaining systems are combined as
the third group;
-b) When speed is the main interest, ZIP is your goal. LZH (2.xx) is
also good and some of the older systems can work fast. There is a
rule that says, the higher the compression, the more time it will
take to compress. Where ARJ, ZIP and LZH make very com- pressed
files (within a the 5% bounds), ZIP outruns the others;
-c) If you want to make 'portable' archives, the choices are small.
Excluding OS/2 and to my knowledge, only LZH and ZOO can create
transparent archives. ARJ is working on one and the archives are
already prepared to be transparent;
-d) For this feature you need the so called multi-volume support.
Only ARJ and ZIP (2.xx) support multi-volume support (MTA does not
by the way);
-e) Version control is an option in demand by programmers. ARJ and
ZOO include version control. ZOO in a somewhat nicer way as ARJ
but it has just been included in ARJ, so there is room for
improvements;
I think that most of the users need a combination of -a) and -b).
From the text you can see that, unless you need special tricks, ARJ,
LZH and ZIP are the first you should try. If you love many options
(and have a fast machine), you should take a look at ARJ. If you love
a good simple interface and very speedy results, ZIP is your first
target and when you want something of both (and the sources, AND no
registration), LZH would be nice, though it has some drawbacks (no
path-information, no multi-volume). I will skip to ZIP 2.xx because
the AV-code is finally possible for non-USA users.
3.2.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;
If you receive files from the newer (7.xx) version of ARC (SEA) but
you don't own ARC 7.xx, you can use the UNARCPath option in MTA.EXE.
This option can point to either ARCE.EXE or XARC.EXE. In that case you
can decompress the files and convert them to another system that you
CAN support.
3.2.3 Remarks on PAK
───────────────────────────────────────────────────────────────────────
MTA supports : All PAK versions up to 2.51
There are a few things to keep in mind when using a PAK version. If
you still use GSARC (the old PAK), skip as fast as you can to a newer
level (GSARC support will be removed from MTA, somewhere in 1993).
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, see the
remarks on ARC files.
NoGate Consulting have released a PAK 2.5x with ZIP-support inside.
MTA is NOT able to use PAK as a substitution for PKWare's ZIP. You
MUST use PKZIP/PKUNZIP to compress and decompress ZIP files !
3.2.4 Remarks on ZIP
───────────────────────────────────────────────────────────────────────
MTA supports : All ZIP versions up to 2.01
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. Also be sure to upgrade to
the highest possible version. MTA versions up to 14.57 contain
upgrade support to upgrade from older ZIP (0.xx) to newer ZIP
(1.xx) formats. MTA 15.01 and up still contain upgrade support but
now for the 1.xx to 2.xx versions of ZIP. MTA will ignore newer
ZIP archives if you still use an older ZIP version.
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.
From 14.50 and on, conversion of volume-labels from and to ZIP files
is available in MTA.
3.2.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.2.6 Remarks on DWC
───────────────────────────────────────────────────────────────────────
MTA supports : DWC version 5.10A
No support for included directories. You can set the type of compress
(average, good) by means of the DWCCompression option in MTA.CTL.
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.2.7 Remarks on ZOO
───────────────────────────────────────────────────────────────────────
MTA supports : ZOO version 2.10
There is nothing special in this support. Full recursive and relative
path support is available. MTA also supports ZOO 2.01 'extended' and
the new ZOO 2.10 with very small target files (high compression).
You can set high compression for ZOO by using the ZOOCompression
option with a value of h.
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.2.8 Remarks on LHarc
───────────────────────────────────────────────────────────────────────
MTA supports : All LHarc versions up to 2.13E
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.
NEVER use versions 2.03 to 2.06. Please contact me if you want to know
the details WHY MTA can not support these versions.
Remember to set the LZHVersion option to the correct value !!!!!!!!!!
3.2.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.2.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.2.11 Remarks on ARJ
───────────────────────────────────────────────────────────────────────
MTA supports : ARJ version 2.39a (probably also upcomming 2.40)
Support for ARJ is rather straight forward. All standard functions are
implemented but at least ARJ 2.22 is needed because MTA uses the -+
option to switch off the SW_ARJ options.
There is no support for multi-volumes and neither for ARJ files with
backups inside. MTA can process them correctly (even with extended
testing, see later) but it is up to you what will happen. You can set
the ARJCompression option in MTA to whatever you like. If you add the
-jo switch, ARJ will decompress the backup-versions along the
original, renaming the backup-versions.
ARJ files with a security envelope are supported but MTA will not add
comments or files to these files as with ZIP (ARJ disallows adding of
these objects by reporting an invalid security envelope).
ARJ contains the original archive-name within the archive itself. MTA
can use this name and (optionally) rename the source-archive back to
that original name before conversion start (OriginalARJName option).
Support for the 2.10 volume labels is added. Please remember to put
the KeepVolLabel (/KEEPVL) option on ONLY in combination with ARJ
version 2.1x>. If you use ZIP (1.1x>) and a lower version of ARJ than
2.1x, conversion of the volume-labels will cause ARJ to abort and the
converted files to be moved to the error-directory !
3.2.12 Remarks on HYPER
───────────────────────────────────────────────────────────────────────
MTA supports : HYPER version 25 (and up)
This nice little compression program from Germany, is also supported
in MTA. Testing (to implement the protocol in MTA) gave results that
are in the same order as LHARC.
MTA support the recursive features in HYPER. Any commenting in a HYP
file is impossible (yet) and thus not supported by MTA. All comment
related features will do nothing on a HYP file.
MTA will support HYPER SFX (self extracting archive) files.
Also MTM, MTL and MTZ are changed to reflect the results of the change
from or to HYPER and to do maintenance on these files.
3.2.13 Remarks on PKLITE
───────────────────────────────────────────────────────────────────────
MTA supports : PKLITE version 1.15 (and up)
It is a little off-topic type of program to be included in MTA, but it
is. MTA (and the selection-menu MTA.CH1) is changed so that you easy
convert COM/EXE files to compressed (self-contained) COM/EXE files
with PKLITE. I think this is a useful bonus (and nothing more) to MTA.
Why not include LZEXE you would ask. The reasons are simple (and a
hint to the author, based on the current version 0.91):
- LZEXE can only directly compress EXE files (COM files need a special
conversion); - LZEXE can only go one way;
In the near future I will think about adding the Japanese DIET program
into MTA (it can do the same, and more, than PKLITE).
When MTA works in (UN)PKLITE mode, it can only convert with PKLITE.
All other files (archives) are not converted.
When MTA ignores files in the selection, there can be a number of
reasons. These are:
With PKLITE:
- The file is already PKLITE'ed;
- The file is already LZEXE'ed;
- The file is a SFX (Self extracting archive);
With UNPKLITE:
- The file is not PKLITE'ed;
LZEXE files are left, because it will create problems when converting
these programs with PKLITE and when it does NOT create problems, there
will be NO gain in size. SFX-files are left for the same reasons.
3.2.14 Remarks on GIFLITE
───────────────────────────────────────────────────────────────────────
MTA supports : GIFLITE 1.41 (and up)
With version 15.01, MTA can also convert GIF files. There is support
for GIFLITE (registered and un-registered) without any drawbacks.
3.2.15 Remarks on JPEG
───────────────────────────────────────────────────────────────────────
MTA supports : JPEG 15 (and up)
There are various JPEG implementations. The one from Handmade Software
is included for the moment. The original programs from the JPEG group
have reached DISP-HQ to late to be implemented.
3.2.16 Remarks on GIFTEST
───────────────────────────────────────────────────────────────────────
MTA supports : GIFTEST 4.0ß
MTA does not use any command-line parameter in the call to GIFTEST.
You can add some yourself (using MTA.CTL options and/or a command-line
parameter for MTA). MTA is aware of all of the errorlevels that can be
returned by GIFTEST. If you include command-line parameters for
GIFTEST that cause the GIF-file(s) to be removed if they are wrong,
MTA still try to move the file but without success. The only 'problem'
in this case, is the warning message you will receive. MTA is aware of
all the errorlevels. 5 and 255 are converted to 'decompression error'.
When you use /L on the GTECOMPRESSION option, be sure to point to a
place (directory) that is not 'owned' by MTA (so NOT the current
directory). Use /M to trigger when the dimensions are not supported.
In that case MTA will move the file to the error-directory (lvl 20).
3.2.17 Remarks on SQZ
───────────────────────────────────────────────────────────────────────
MTA supports : SQZ version 1.08.2
This is a new compression/decompression program from Sweden. The 1.08.2
is a BETA test version and should be used with care ! There is contact
between the SQZ author (Jonas I Hammarberg) and me, and I will try to
update MTA as soon as possible as there are new (changed) versions of
SQZ that need a change in MTA !
The performance of SQZ is the same or better than ARJ and the new alpha
of PKZIP (1.93a). The speed is somewhere between ZIP and ARJ, all in
all it looks very impressive and I have the intention (if possible) to
support all functions in SQZ.
MTA does NOT support the c(omment) option of SQZ because SQZ itself
(1.08.2) does not support it yet. When a new version of SQZ is
released with this option active, you should not use it in combination
with MTA 15.21 but wait until the explicit support of this option is
included in MTA. MTA is unable to obtain comments FROM SQZ files
(CarryComment 1 and 2 will work but will use an empty string) but CAN
add comments to SQZ files.
Recursive support is included and MTA will always try to compress the
files with the /p0 switch (paths 'as-is'). To use recursive support
for source SQZ-files, the SUBSTDrive support is needed (as with all
other archivers).
Also MTM, MTL and MTZ are changed to reflect the results of the change
from or to HYPER and to do maintenance on these files.
3.3 MTA.CTL
───────────────────────────────────────────────────────────────────────
To let MTA work, you must create a configuration file where MTA can
obtain the information it needs. This file is called MTA.CTL by
default but can have any other name (in which case you must assign it
to MTA by means of a command-line option or an environment variable).
You can even have more configuration files for different tasks. If you
call the file MTA.CTL and place it as described in chapter 3.1, MTA
will find it without the use of special forces like command-lines
and/or environment variables. In this DOCUMENTATION we refer to a
configuration file by its original name (MTA.CTL). You can substitute
your filename in place.
The configuration file is a normal ASCII-file (text file) which you
can create and edit with line-editors like EDLIN or EDIT. You can make
the file as big as you want (by inserting many comment-lines) but
remember that the size has a relation with the speed of reading when
MTA starts. Large files will take MTA to do longer over the startup.
The general formats of options are:
OPTION parameter parameter parameter .... parameter
for active options, or:
% comment
for comments in the configuration file. In the documentation we call
the first parameter 'option' and the secondary parameters are called
'parameter'. For parameters, the following syntax is used in the
description:
[.....] this parameter is mandatory, it MUST be present and have a
valid value;
{.....} this parameter is optional. If it is NOT present, some
default is used;
'value' Values between quotes must be coded WITHOUT the quotes
itself UNLESS specified;
(*) If this mark occurs at the end of the options syntax, it
means that this option is used by other programs in the MTA
package as well. In that case refer to the bottom of the
description to see in which program(s) the option is used
also;
There are NO restrictions to the position you start the option, nor
the starting position of the parameters, but the 'option' and (if
present) the 'parameters' have to be separated with at least one or
more spaces. You can make any mixture of upper and lower case !
Some of the parameters in the MTA.CTL file can be overruled with
command-line switches. A generalized example of MTA.CTL is included in
the release-file. It contains ALL options available in this release.
The following chapters will contain the several statements you can use
in MTA.CTL. In the documentation, the statements are put in logical
groups. These groups contain statements with the same sort of
functions or serve the same group of users. The ACTUAL order of
options in the configuration file does not matter at all.
3.3.1 Basic statements
───────────────────────────────────────────────────────────────────────
The following options are more or less basic options and should be used
in any setup. Some of the statements can be left out, because they only
add something extra or change the default that MTA itself assumes.
┌─────────────────────────────────────────────────────────────────────┐
│ ARCPath [path] {opt} {DynSwapSiz} {second path} (*)│
│ UNARCPath [path] {opt} {DynSwapSiz} {second path} │
│ PAKPath [path] {opt} {DynSwapSiz} {second path} (*)│
│ ZOOPath [path] {opt} {DynSwapSiz} {second path} (*)│
│ DWCPath [path] {opt} {DynSwapSiz} {second path} (*)│
│ LZHPath [path] {opt} {DynSwapSiz} {second path} (*)│
│ LZSPath [path] {opt} {DynSwapSiz} {second path} (*)│
│ PKZIPPath [path] {opt} {DynSwapSiz} {second path} (*)│
│ MDPath [path] {opt} {DynSwapSiz} {second path} │
│ PKUNZIPPath [path] {opt} {DynSwapSiz} {second path} (*)│
│ PKUNPAKPath [path] {opt} {DynSwapSiz} {second path} (*)│
│ ARJPath [path] {opt} {DynSwapSiz} {second path} (*)│
│ HYPERPath [path] {opt} {DynSwapSiz} {second path} (*)│
│ PKLITEPath [path] {opt} {DynSwapSiz} {second path} │
│ ZIP2EXEPath [path] {opt} {DynSwapSiz} {second path} │
│ GIFLITEPath [path] {opt} {DynSwapSiz} {second path} │
│ GIF2JPGPath [path] {opt} {DynSwapSiz} {second path} │
│ JPG2GIFPath [path] {opt} {DynSwapSiz} {second path} │
│ GIFTESTPath [path] {opt} {DynSwapSiz} {second path} │
└─────────────────────────────────────────────────────────────────────┘
Usage : These options point to the various archivers you have installed
on your system. If you do not include statements for archivers
that ARE installed AND can be found in the DOS-path, MTA will
search for them itself, so do not be surprised if, for example,
you did not include the ZOOPath option but MTA is still able to
work with ZOO files. In that case MTA has found ZOO.EXE in the
DOS-path ! If you have all archivers in the DOS-path, it is
still advised to include the options for these archivers. MTA
will be able to pin-point the archiver directly in this case,
causing a gain of speed because, otherwise, MTA will start a
'quest' for the archiver in the DOS-path.
[Path] This parameter must contain the drive, directory
and filename of the archiver in question. MTA
will validate if the program is at the given
location and terminate with an error if it
isn't.
{opt} This parameter is optional. You MUST code it
when one of the following parameters is used
and/or if you want to change the default. This
parameter must have a value of either 'Y' or
'N'. The value will decide if THIS archiver is
going to be included when you want to optimize
your archive on to the smallest size. All the
archive programs that do COMPRESSION and have a
value of 'Y' will be included if you force MTA
to optimize on size (/OOA on the command-line
or OptimizeOnSize option in MTA.CTL set). 'N'
will cause MTA to skip this archiver when
optimize is running. For some archivers the
value is not important because they either can
not COMPRESS (like PKUNZIP) or they have nothing
to do with normal file-compression (GIFLITE and
such), but if you code one or more of the next
parameters you still must include a 'Y' or 'N'
('N' would be obvious. 'Y' is ignored) for this
parameter;
{DynSwapSiz} This parameter will instruct MTA if swapping is
needed before the (de)compression program is
actually called. In previous releases, this
parameters was set to a fixed value ('SWAP') but
with 15.01 and up, MTA uses DYNAMIC swapping.
You need to supply the amount of memory that is
needed to run the specific archive program. In
the included example of MTA.CTL, all minimal
values that worked are included. If you need at
least 250K to run a specific archive program,
you must code '256' (or higher) over here. For
some programs it is best to swap ALWAYS. In this
case a value of '640' will do, because that
amount of CONVENTIONAL memory is NEVER available
when MTA is running, causing MTA to always swap
before the archive program is called. With this
option you are more or less save when MTA is run
from a secondary shell. Programs that need as
much memory as possible are GIG2JPG, JPG2GIF
and, in some cases, ARJ.
{second path} MTA (from 15.01) can use two different sets (or
versions) of a specific archiver. If you use the
current PKZIP and a newer version (or even an
alpha or beta) is released, you normally would
like to test this archiver before you start
using it. For this situation, you can use this
parameter. You can rename your new version to an
alternate name (f.i. P2ZIP.EXE) or you can place
it in another directory. When you have done so,
you can include the full path to this new
program in this parameter. Now if you run MTA
with the /ALT command-line, MTA will use the
program that is coded over and not the one that
is coded in the [path] parameter. If there is no
{second path} option included but you run MTA
with /ALT, the program in [path] is used;
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
UNARCPath XARC.EXE or its alias (see ARC remarks)
PAKPath PAK.EXE or its alias
ZOOPath ZOO.EXE or its alias
DWCPath DWC.EXE or its alias
LZHPath LHARC.EXE or its alias
LZSPath LARC.EXE or its alias
PKZIPPath PKZIP.EXE or its alias
MDPath MDCD.EXE or its alias
PKUNZIPPath PKUNZIP.EXE or its alias
PKUNPAKPath PKUNPAK.EXE or its alias
or PKXARC.COM or its alias
or PKXARC.EXE or its alias
ARJPath ARJ.EXE or its alias
HYPERPath HYPER.EXE or its alias
ZIP2EXEPath ZIP2EXE.EXE or its alias
GIFLITEPath GIFLITE.EXE or its alias
JPG2GIFPath JPG2GIF.EXE or its alias
│ You need to set DJPEG.EXE if you use
│ the StandardJPEG option (see later)
GIF2JPGPath GIF2JPG.EXE or its alias
│ You need to set CJPEG.EXE if you use
│ the StandardJPEG option (see later)
GIFTESTPath GIFTEST.EXE or its alias
Where 'alias' is the name you renamed the original file to.
Please supply the complete drive, directory and filename to
any of the options ! If you leave the drive and/or directory,
MTA will replace it with the CURRENT drive and/or directory.
If you don't own one or more of the (de)compression programs,
leave out the related option, otherwise MTA will abort !
Relate: None
Dest. : All
(*) : Marked options are also in usage by: MTM
┌─────────────────────────────────────────────────────────────────────┐
│ CompressionType [ttt] │
└─────────────────────────────────────────────────────────────────────┘
Usage : This option sets the normal TARGET archive system. You can, at
any time, overrule this target with another target. In that
case you can supply the correct command-line to do so.
[ttt] This sets the target. You can supply the values
'ARC', 'PAK', 'ZIP', 'ZOO', 'LZH' (LHarc/LHA),
'LZS' (Larc), 'DWC', 'HYP', 'ARJ', 'MD' (MDCD),
'PAKSFX', 'ZIPSFX', 'LZHSFX', 'ARJSFX',
'PKLITE', 'UNPKLITE', 'GIFLITE', 'GIF2JPG',
'JPG2GIF', 'GIF', 'SQZ', 'SQZSFX' and 'OWN'.
Most of them look normal. Some of them don't.
The PAKSFX, ZIPSFX, LZHSFX, SQZSFX and ARJSFX
are the same as PAK, ZIP, LZH, SQZ and ARJ but
also include the creation of an EXE/COM (SFX)
file. The PKLITE can be used to convert EXE
files to PKLITE'ed EXE files, the UNPKLITE does
the reversed. The GIFLITE will convert normal
GIF files to GIFLITE GIF's. The GIF2JPG can be
used to convert GIF files to JPG files with JPEG
and JPG2GIF does the reversed. The value GIF
will cause MTA to test all GIF's (normal and
lite) with GIFTEST (no conversion, other than
removal of obsolete bytes, will be done).
OWN is used when you work with a special (not
normally supported compression program, see the
OWNxxxx options later on).
When set to PKLITE/UNPKLITE, MTA will only look
for COM/EXE files that can be converted to
PKLITE or that are converted with PKLITE. When
set to GIFLITE, GIF2JPG or GIF, MTA will only
look for GIF files, when set to JPG2GIF, MTA
will only look for files with the extension
'.JPG'. All other values will cause MTA to look
at all known archives.
I suggest that you include the most frequently used target in
MTA.CTL and use command-line switches to work with the special
ones (so set CompressionType to ZIP if ZIP is your normal
target and use /PKLITE on the command-line to let MTA work on
COM/EXE files when needed).
Relate: None
Dest. : All
┌─────────────────────────────────────────────────────────────────────┐
│ LZHVersion [version] {alt version} │
│ PAKVersion [version] {alt version} (*)│
│ ZIPVersion [version] {alt version} (*)│
└─────────────────────────────────────────────────────────────────────┘
Usage : These options set the version number for the various archives.
They are needed because the archivers involved use different
command-lines and/or internal formats for different versions.
MTA can NOT auto-detect the version-number (f.i. based on the
length of the archive program) because these programs can be
converted with PKLITE, DIET, LZEXE or some other EXE-compress
program. You MUST set the manually and you MUST set them to
the version you actually use !
[version] Must contain the right version. 1.10 must be
translated to 110, 2.0 to 200, 1.13c to 113 and
so on.
{alt version} If you use the /ALT command-line option and the
archiver in question has an alternate version
set with {second path} in the xxxPath option,
you must supply the version number of this
program if it is not the same as the one you
supplied in [version]. So if you use both
PKZIP.EXE (1.10) and P2ZIP.EXE (2.01), you must
code 'ZIPVersion 110 201'. If you do not supply
{alt version}, it will be the same as the value
set for [version] !
Some notes about the various differences between versions.
For LZH, any value under 200 will cause MTA to give a warning
when a 2.xx archive is found (it will skip the conversion).
For ZIP, any value under 200 will cause MTA to give a warning
when a ZIP with a 2.xx format is detected (it will not convert
such a file). For PAK, the difference lies between 000 (GSArc)
and 100 and higher (GSArc does not return an errorlevel) and
100-199 and 200 and higher (other formats in the PAK files).
By default, MTA uses the versions 110 for ZIP, 251 for PAK and
213 for LHarc/LHA.
Relate: None
Dest. : LZH/PAK/ZIP
(*) : Marked options are also in usage by: MTM
│┌─────────────────────────────────────────────────────────────────────┐
││ StandardJPEG │
│└─────────────────────────────────────────────────────────────────────┘
│Usage : When this option is NOT set, MTA will assume the GIF2JPEG and
│ JPEG2GIF programs from HandMade Software <tm> as the programs
│ to convert to and from JPEG. If you set this option, MTA will
│ call the supplied programs without any parameters so you can
│ use the STANDARD CJPEG and DJPEG programs that come from the
│ Independent JPEG Group <tm>.
│
│Relate: JPG2GIFPath, GIF2JPGPath
│Dest. : JPG/GIF
┌─────────────────────────────────────────────────────────────────────┐
│ ZIPCompression [parm..parm] (*)│
│ ZSFCompression [parm..parm] │
│ DWCCompression [parm..parm] │
│ ARJCompression [parm..parm] │
│ ASFCompression [parm..parm] │
│ ZOOCompression [parm..parm] │
│ LZHCompression [parm..parm] │
│ LSFCompression [parm..parm] │
│ SQZCompression [parm..parm] │
│ SSFCompression [parm..parm] │
│ PKLITECompression [parm..parm] │
│ GIFLITECompression [parm..parm] │
│ G2JCompression [parm..parm] │
│ J2GCompression [parm..parm] │
│ GTECompression [parm..parm] │
└─────────────────────────────────────────────────────────────────────┘
Usage : These options can be used to add some extra parameters to the
compression program. Normally MTA uses the standard parameters
for each program but some of the programs can have alternate
parameters to set the density of the compression, the usage of
BIOS/Direct screen calls, the detail of reporting and so on.
You can add these options yourself (some suggestions are given
below) by means of these statements. Those archive programs
that are NOT included, don't have any useful extra parameters
that MTA should pass.
[parm..parm] When you include the options, you must set the
parameters you want to ADD to the ones that MTA
already adds. You can code them just as you
would do when you called the program from the
command-line.
The following options can be used to add (overrule) command-
line parameters to the specific program:
ZIPCompression for PKZIP/PKUNZIP
ZSFCompression for ZIP2EXE
DWCCompression for DWC
ARJCompression for ARJ
ASFCompression for ARJ (when creating SFX files)
ZOOCompression for ZOO
LZHCompression for LZH
LSFCompression for LZH (when creating SFX files)
SQZCompression for SQZ
SSFCompression for SQZ (when creating SFX files)
PKLITECompression for PKLITE
GIFLITECompression for GIFLITE
G2JCompression for GIF2JPG
J2GCompression for JPG2GIF
GTECompression for GIFTEST
For ZIP you could add -es, -en or -ex to overrule the default
type of compression, for ZOO you could add the 'h' for high
compression (ZOO 2.1x), for DWC you could add the 'y' or 'z'
for compression on speed or size, of ARJ the -jm1 parameter
would be nice and also the -jo statement would be nice when
you use ARJ 2.3x+ and want to convert any backups inside the
archives as well. For LHarc the /o option would force the
older (1.13) method and so we can go on for a while. Be sure
to add only extra parameters. The obvious ones are already
passed by MTA itself. The parameters for encrypted files and
for special work directories (and drives) are also passed by
MTA, depending on other options !
Relate: None
Dest : All
(*) : Marked options are also in usage by: MTM
┌─────────────────────────────────────────────────────────────────────┐
│ OriginalARJName │
└─────────────────────────────────────────────────────────────────────┘
Usage : ARJ keeps the name of the archive (when created) inside its
own internal structure. Normally you would nor have any
problem with that, but there are users who rename the ARJ to a
name that fits their own needs better. When you include this
option in MTA.CTL, MTA will FIRST rename the file back to the
ORIGINAL name inside the ARJ-structure BEFORE conversion will
start. This could be useful but please be warned that some
third party archive-conversion programs first create the
archive with a temporary name before renaming it to the name
it should be. In such case a file DSZ1212.ARJ could also be
renamed back by MTA to ZIPCONV$.$$$ before the conversion
starts. In general, when you receive files from others, don't
use the option, otherwise you could set it.
Relate: None
Source: ARJ
3.3.2 Statements that define the environment that MTA uses
───────────────────────────────────────────────────────────────────────
The following statements all define a part of the actual environment
that MTA.EXE will use. Included are statements that define the several
directories that MTA can use, the minimal requirements for memory and
space on the drives, the swapping functions and so on.
┌─────────────────────────────────────────────────────────────────────┐
│ TempPath [dir] {bytfree} │
└─────────────────────────────────────────────────────────────────────┘
Usage : Most decompressors can use an assigned work-directory. It
can be useful to point this work-directory to a virtual disk
(a so called RAM-disk) or to the fastest medium you have,
but, in most cases, you must sure that this drive
(directory) will contain enough space to hold the temporary
work files for the largest file to convert. Some
archivers also use the environment variable TEMP to look
which directory can be used for temporary work-space. In
MTA you can (optionally) assign the temporary directory that
will be passed to all archivers that can work with such a
directory. In most cases, this will cause the archiver to
use THIS directory for work-space and NOT the one supplied
in the variable TEMP (if any). In doubt, consult the
documentation of the archiver in question.
[dir] This value must point to a valid drive/directory
which can be used for temporary work-space. If
no drive is supplied, the default one is used.
Relative directories (..\WRKDIR and such) are
not advised but can be used (the are counted
from the CURRENT directory).
{bytfree} For most conversions you need at least a number
of bytes free on the assigned work-directory
(drive). To make sure that this amount is
present on that drive, you can, optionally,
supply the number of bytes that must be free as
the third parameter. If the number of bytes on
the drive is LOWER than the supplied value, MTA
will not work and abort with an error. If you do
not supply a value, MTA will look if at least
256K bytes is available, though that could not
be enough in some cases. If you want to ignore
the test at all, you can supply a value if 0.
Relate: None
Dest. : All
┌─────────────────────────────────────────────────────────────────────┐
│ MTATempPath [dir] {bytfree} │
└─────────────────────────────────────────────────────────────────────┘
Usage : For every archive (and other object) that MTA will convert,
MTA creates (and later on removes) a temporary directory UNDER
the current directory. If this is not what you want (and this
is advised), you must supply this option.
[dir] This value must point to a valid drive/directory
which can be used for temporary directories. If
no drive is supplied, the default one is used.
Relative directories (..\WRKDIR and such) are
not advised but can be used (the are counted
from the CURRENT directory). In fact, relative
directories for this option, are useless in most
cases.
{bytfree} For most conversions you need at least a number
of bytes free on the assigned directory (drive).
To make sure that this amount is present on that
drive, you can, optionally, supply the number of
bytes that must be free as the third parameter.
If the number of bytes on the drive is LOWER
than the supplied value, MTA will not work and
abort with an error. If you do not supply a
value, MTA will look if at least 256K bytes is
available, though that could not be enough in
some cases. If you want to ignore the test at
all, you can supply a value if 0.
MTA will create temporary directories UNDER this directory.
The name is 8 bytes long (and when you run as a second or
third TASK, not child, they also contain the task-number) and
will represent the HEX value of the time/date they were
created. When running as a child of itself (arc-in-arc), MTA
will create temporary directories with the name '$' under the
original first (8 byte) temporary directory.
Some archivers (DWC as the most important, related to MTA) do
not like to see points inside a directory-name. Such a name
(f.i. DC33ABAF.1) can ONLY be the LAST tree from the root. As
an example, C:\ZIP\DC33ABAF.1 is allright with DWC but
C:\ZIP.ZIP\DC33ABAF.1 is NOT.
Relate: ALTMTATempPath
Dest. : All
┌─────────────────────────────────────────────────────────────────────┐
│ ALTMTATempPath [dir] {bytfree} │
└─────────────────────────────────────────────────────────────────────┘
Usage : When you have supplied the MTATemppath option, you can also
supply this option. The format and usage of this option is
the same as for the MTATempPath option.
What is the usage of this option ? You can setup the normal
MTATEMPPath option to point to a fast drive (like a RAM-disk).
Normally a RAM-disk only contains a limited number of bytes
and that can be a problem when big archives are converted.
If there is not enough free space on the drive that is pointed
to by the MTATempPath option, the archive(s) in question will
be skipped.
If you supply the ALTMTATempPath (along with the MTATEMPPath)
you are out of trouble. IN MTATempPath you point to a RAM-disk
of average size (or your fastest hard-disk). Most of the small
archives will fit in the free space and are converted with a
reasonable speed. Now if there are bigger archives that don't
fit on that drive, MTA will swap to the drive (and directory)
that is pointed to by the ALTMTATempPath option. This can be
a normal hard-disk (or a slower one) with more free space. The
big archives can still be converted !
If an archive won't fit on either of the two drives, MTA will
(as before) skip the archive.
Relate: MTATempPath
Dest. : All
┌─────────────────────────────────────────────────────────────────────┐
││ MTAErrorPath [dir] {F|S[count]} │
└─────────────────────────────────────────────────────────────────────┘
Usage : When decompression fails (memory, corrupted archive and so
on), MTA will put the original archive (even though it could
not be OK) into the temporary directory that was assigned to
this file (the directory with the 8-byte (or more) name under
the current directory OR under the directory assigned in the
MTATempPath option (see above). This will lead to a
maintenance problem when much archives fail. All corrupted
files are moved to different directories and you need tools to
move (or delete) them all AND to remove the temporary
directories. If you do not want this maintenance, you can
assign a special directory where MTA places such files. All
you have to do, is to include this option in MTA.CTL.
[dir] This value must point to a valid drive/directory
which can be used for files in error. If no
drive is supplied, the default one is used.
Relative directories (..\WRKDIR and such) are
not advised but can be used (the are counted
from the CURRENT directory). In fact, relative
directories for this option, are useless in most
cases.
│ {F|S[count]} When this parameter is present, MTA will stop the
│ conversion when [count] number of files (when you
│ use F) or bytes (when you use S) is present in
│ [dir]. For example, F200 will cause MTA to stop
│ when there are 200 or more files in [dir] and
│ S200000 will cause MTA to stop when all combined
│ files in [dir] come to (or exceed) 200.000 bytes.
Relate: None
Dest. : All
┌─────────────────────────────────────────────────────────────────────┐
│ FDUTempPath [dir] │
│ FDUTrashPath [dir] │
└─────────────────────────────────────────────────────────────────────┘
Usage : When you want to convert whole diskettes to a new system (use
the /D switch, see later), you need two special directories.
Without these directories you can still convert archives on
diskette but you can't use the special options that MTA can
offer when converting diskettes. There is a special chapter
about the conversion of diskettes.
[dir] This value must point to a valid drive/directory
which can be used the /D option. If no drive is
supplied, the default one is used. Relative
directories (..\WRKDIR and such) are not advised
but can be used (the are counted from the
CURRENT directory). The directories must NOT
point to the same drive as you are going to
convert. For a 'mixed' (HDU and FDU) system, you
must assign the HDU, for a 'single' (FDU 2
times) system, you must assign a directory on
the other diskette station.
Relate: /D option
Dest. : All
┌─────────────────────────────────────────────────────────────────────┐
│ ITSPath [dir] │
└─────────────────────────────────────────────────────────────────────┘
Usage : MTA can be used in combination with ITS (version 1.06 and all
higher versions). When used in combination with ITS, MTA can
be stopped like pressing the ESC-key but now without any human
actions involved. The stopping of MTA is ruled from the ITS
task(s) that are running.
[dir] This value must point to a valid drive/directory
which contains the ITS.SPH file. If no drive is
supplied, the default one is used. Relative
directories (..\WRKDIR and such) are not advised
but can be used (the are counted from the
CURRENT directory).
MTA MUST find the ITS.SPH file, otherwise MTA will abort, even
when ITS is not currently in use. If you don't have (or use)
ITS, you must leave this option OFF.
Relate: None
Dest. : All
┌─────────────────────────────────────────────────────────────────────┐
│ SwapPath [dir] │
└─────────────────────────────────────────────────────────────────────┘
Usage : MTA can (and will) use a mechanism to clear memory when it
needs to. This technique is called swapping. Swapping will do
the following:
- All data structures that MTA uses are compressed together
and written to the swapping device;
- All program-coding minus a small piece (the program code for
the swapping itself) will be written to the swapping device;
- Memory is cleared an will be rearranged so it will be
(again) one continuous piece of memory;
- The external program (compressor, decompressor, exit, virus
checker and so on) is called and uses the freed memory;
- After termination of the external program, control is passed
to the swapping-code that remained in memory;
- The coding will (again) rearrange memory as it was, will
read the program-coding back AND will read all
data-structures back;
- It will clean the swapping device;
- It will pass control back to the point where MTA was;
With this technique, around 230.000 bytes are removed from
memory. These 230.000 were in use by MTA (non-overlayed) and
there will remain only a couple of bytes for the swapping
itself (around 4K bytes).
Normally the swapping device can be any of the following
resources:
- EMS
First choice, unless the NoEMS option (or /NOEMS
command-line parameter) is supplied or there is not enough
EMS to contain all data (ca. 230.000 bytes);
- XMS
Second choice in SOME cases. Not all swapping routines in
MTA can support XMS yet. If the NoXMS (or /NOXMS
command-line parameter) is supplied or there is not enough
(or no) XMS to contain all data (ca. 230.000 bytes), MTA
will use the next resource;
- Disk
When there is not enough (or no) EMS or XMS (or the NoEms
and/or NoXMS options are active), MTA will use disk for the
swapping;
When MTA is forced to use disk, it will use the current
directory for the swap-file that will be created. You can (and
sometimes MUST) overrule this with this option.
[dir] This value must point to a valid drive/directory
which contains the swapping file. If no drive is
supplied, the default one is used. Relative
directories (..\WRKDIR and such) are not advised
but can be used (the are counted from the
CURRENT directory).
You can also assign a directory on a RAM-disk when you have a
large one. The only place where MTA disallows disk-swapping is
on REMOVABLE drives (diskettes). The swap-file (if created)
has a special (unique) name and will have the HIDDEN/SYSTEM
attribute. You must NEVER try to remove such a file while MTA
is still running. It will cause a hangup !
Relate: All swapping options
Dest. : All
┌─────────────────────────────────────────────────────────────────────┐
│ NoEMS │
│ NoXMS │
└─────────────────────────────────────────────────────────────────────┘
Usage : When you do not want MTA to use either (or both) EMS or (and)
XMS, you can add these option(s) to MTA.CTL. When NoEMS is set
and NoXMS isn't and you use QEMM or 386Max (or some program
like that), XMS is used. When you set both options, only disk
is used. These options are related to the swapping mechanism.
This mechanism is the only mechanism in MTA that can make use
of EMS/XMS.
Relate: All swapping options
Dest. : All
┌─────────────────────────────────────────────────────────────────────┐
│ MoveToDir [dir] │
└─────────────────────────────────────────────────────────────────────┘
Usage : MTA can, optionally, move archives (and all other converted
objects) to another directory AFTER the conversion. There are
currently 2 different ways to obtain this result. One is the
usage of the DefaultPath option (see later), which can be used
by most SysOp's of Bulletin Boards. The other one, the current
option, can be used when you want to move all converted files
from any directory that you wish to use to a new one. Normally
you will use the command-line /M to do so, but if you always
want to have the converted archives on the same place, you can
use the MoveToDir option.
[dir] This value must point to a valid drive/directory
where the files are moved to. If no drive is
supplied, the default one is used. Relative
directories (..\WRKDIR and such) are not advised
but can be used (the are counted from the
CURRENT directory).
There is one special format. When combining the /D option
(diskette conversion) with the MoveToDir (or the /M command-
line parameter), MTA will convert diskettes from one diskette
to another one. If you mix runs of MTA to convert diskettes
AND to do normal conversion, you can get problems when this
option is put into the MTA.CTL. In such cases it is advised to
use the /M command-line parameter.
WARNING: When you use MoveToDir in conjunction with the
ExitAfterCompression option you have to be aware of
the following extra's:
- When you create an extra file in the exit with the
extension .COM or .EXE which is 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;
- When you delete the original compression file in
the exit, MTA will notice this and will 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 not set).
This will cause any descriptions (added with 4DOS) to be
carried along to the new directory.
Relate: Not4DosAware, /D command-line parameter
Dest. : All
┌─────────────────────────────────────────────────────────────────────┐
│ FreeMemory [minfree] │
└─────────────────────────────────────────────────────────────────────┘
Usage : MTA uses memory very dynamically. When you convert two
different directories you will see that the starting amount of
free memory (displayed by MTA) will never be the same. To make
the story short, almost every option that can be entered
multiple times (like DoNot, DefaultPath, IncludeFile and so
on) will take a few extra bytes of memory and all files that
will be converted (up to 1000 in one run) will also take a
dynamic amount of memory. All external calls can be ruled with
a swap option (see xxxPath, Virusscanner and all exits) so
that is not such a problem. Also MTA will take a look at the
memory and will determine if it is possible to make itself
useful in the presented amount of bytes. If you still want to
abort MTA when a specific number of free bytes in NOT
available, you can add this option to MTA.CTL.
[minfree] This value must be the number of BYTES (not KILO
bytes) that must be free in order to let MTA
start the conversion.
By default MTA will look if 256Kb is free in memory after all
structures are build in memory. You can overrule the test when
you supply 'FreeMemory 0'.
Relate: None
Dest. : All
┌─────────────────────────────────────────────────────────────────────┐
│ Runtime [seconds] │
└─────────────────────────────────────────────────────────────────────┘
Usage : MTA can be interrupted when running attended (by pressing the
ESC key) but when you run UNattended this can be a problem.
When you want to run MTA for a certain time (when MTA is run
inside a BBS event for instance), you can supply this option.
[seconds] This value must be set to the number of seconds
that MTA must execute.
If the time is over and there are still files left, MTA will
skip them. To make sure that already converted files are not
converted again, it is advised to either move them to another
directory, use MTA's marking-technique or use the option where
MTA will only convert files that have an earlier date then the
file FILES.MTA (a semaphore file, see later).
MTA will always run somewhat longer than [seconds]. MTA will
not stop in the middle of a conversion so the one that started
[seconds]-1 will be finished. If this is a big one, some time
can pass before MTA will terminate.
Relate: None
Dest. : All
┌─────────────────────────────────────────────────────────────────────┐
│ Not4DosAware │
└─────────────────────────────────────────────────────────────────────┘
Usage : MTA will do some internal DOS-calls to see if 4DOS is present
in the machine. If so, MTA will use 4DOS's move on any move of
a file that will be done inside MTA. If there is no 4DOS in
usage, MTA will use its own internal (and quicker) MOVE.
4DOS's MOVE is used to move any descriptions inside the file
DESCRIPT.ION (a 4DOS internal file which can be present inside
the directory with a HIDDEN attribute).
If you don't use 4DOS descriptions for your files and/or you
want to use the faster internal MOVE AND you run 4DOS on your
machine, you can include this option.
Relate: MoveToPath (and all internal moves)
Dest. : All
┌─────────────────────────────────────────────────────────────────────┐
│ VideoMode [mode] │
└─────────────────────────────────────────────────────────────────────┘
Usage : MTA can adjust itself to non-standard text-modes. Some of the
more common examples are 80x43, 132x60 and so on. If you enter
MTA when the screen is such a mode, MTA will extend the
display in the actual number of lines and, with modes that
support more than 110 characters, also the number of
characters on a line.
If you normally run in a normal text-mode (80x25) but still
want to see MTA running in a special text-mode, you can add
this statement to MTA.CTL.
[mode] This is the decimal number of the video mode
that MTA will try to set. Look inside your
video-card manual to see which mode you should
use.
After MTA has processed the MTA.CTL options, MTA will reset
the video-card to the supplied mode (if included in MTA.CTL)
and before termination, MTA will reset to the standard text-
mode. If you use an invalid mode, damage to your monitor could
be the case (see video-card manual) or you are not able to see
anything until MTA has finished (or the machine can even
hang).
MTA will not alter the video-mode if it can detect that it is
called under a multi-tasking environment like DesqView <tm>. In
these cases the VIDEOMODE option will be obsolete.
Relate: None
Dest. : All
┌─────────────────────────────────────────────────────────────────────┐
│ SubstDrive [drivearray] │
└─────────────────────────────────────────────────────────────────────┘
Usage : This is a VERY important option. Most archives include the so
called directory entries. These are the directories that were
included when the archive was created. If an archive was made,
containing all files (*.*) from the current directory and all
lower trees AND you supplied the options to include the actual
directories, given the following structure (root is the
current directory):
[root, current directory, drive C]
CONFIG.SYS
[sub-dir HLP]
TEST.TST
[sub-dir ZIP]
TEST.TST
[sub-dir ZAP]
TEST.TST
[sub-dir ZA1]
TEST.TST
[sub-dir ZA2]
TEST.TST
the archive will contain one of the two following formats,
either the relative directories:
CONFIG.SYS
HLP\TEST.TST
HLP\ZIP\TEST.TST
HLP\ZAP\TEST.TST
HLP\ZAP\ZA1\TEST.TST
HLP\ZAP\ZA2\TEST.TST
or the absolute directories:
\CONFIG.SYS
\HLP\TEST.TST
\HLP\ZIP\TEST.TST
\HLP\ZAP\TEST.TST
\HLP\ZAP\ZA1\TEST.TST
\HLP\ZAP\ZA2\TEST.TST
The fact if there are ABSOLUTE or RELATIVE directories will
depend on the type of archive system. Normally (without the
SubstDrive option set), MTA will only convert directories if
the source archive system contains RELATIVE directories AND
the target archive system can contain directory entries. For
some archivers you can not be sure about the fact if they
contain ABSOLUTE or RELATIVE directories and some will ONLY
contain ABSOLUTE entries. When MTA would convert such an
archive, it would extract the archive with all options into a
directory F:\JUST\AN\EXAMPLE\156DA12F (just an example) but
while decompress starts, the decompress program would add
files in ABSOLUTE directories, causing NONE of the files to be
added to F:\JUST\AN\EXAMPLE\156DA12F. Files would be stored in
C:\, C:\HLP\, C:\HLP\ZIP, C:\HLP\ZAP, C:\HLP\ZA1 and the
C:\HLP\ZA2 directory.
MTA would be able to notice this and could archive the files
from these directories back into the new archive (with the
delete option) but there are too many risks involved. MTA is
created so UNATTENDED operation is possible. To secure this,
all warnings and queries are suppressed. MTA would start to
call the decompress program and the first thing that will
happen is the overwrite of CONFIG.SYS on C:\ (all other files
look like if they will not cause any trouble). When MTA would
start the target-compression program, CONFIG.SYS would then be
archived AND deleted, leaving C: without CONFIG.SYS. Can you
imagine what would happen if files like IO.SYS and MSDOS.SYS
would be extracted to the root or COMMAND.COM ?
Given the example above, MTA will NEVER decompress archives
that could contain ABSOLUTE directories unless you use some
special options. There ARE many archives that have a structure
like this AND you would still be able to convert them but in
all cases WITHOUT any risk involved.
For this reason, MTA contains support for SUBSTituted drives.
If you don't know what the command SUBST means under DOS, you
should read the DOS manual. In short, SUBST will create a new
drive-letter and the root of this drive is the same directory
as you supply to SUBST. So when you make a SUBST drive (G:)
from F:\JUST\AN\EXAMPLE\156DA12F (see above), G:\ would be the
same as F:\JUST\AN\EXAMPLE\156DA12F and all directories
created under G:\ would in fact be created under the directory
F:\JUST\AN\EXAMPLE\156DA12F. With this trick (which is a
normal DOS command), you CAN convert archives with directories
that are ABSOLUTE and you can still convert archives with
RELATIVE directories. If you include the SubstDrive option,
all archives WITH directories, no matter the type of the
directories, will convert in the BEST possible way to the new
target (if the new target does not support directories, MTA
can't fix that, but if it does, they will be there).
There are some precautions to take before you start with this
option. First, your DOS must support SUBSTituted drives:
- Your DOS must support SUBSTituted drives. All DOS versions
from 3.0 and up will contain the support for SUBSTituted
drives;
- You need the DOS program that can make and delete these kind
of SUBSTituted drives. This program is called SUBST (EXE in
most cases, sometimes COM). It would be possible to have a
self-contained support in MTA but the methods to create
SUBSTituted drives vary every DOS release. Make sure that
the program SUBST.EXE or SUBST.COM is somewhere inside the
DOS-path (MTA will search for the file itself and will abort
if the SubstDrive option is set but the SUBST.EXE/COM
program isn't found);
- You must alter the LASTDRIVE option in CONFIG.SYS (or set
with one of the QEMM <tm> utilities) to a higher value. If
your current last drive is F: and you are going to run only
ONE MTA at a time (it is possible to run multiple copies at
the same time under any multi-tasker like DesqView <tm> or
MS Windows <tm>), you can set it to G:. In fact, you need as
much extra drives as the number of concurrently running MTA
programs. If you have a variable drive configuration
(sometimes you have a RAM-disk, sometimes you haven't), you
can also assign a much higher letter. In fact, it is allowed
to use drive Z: for SUBSTituted drives, even if the last one
is F:. In doubt, you must leave out the LASTDRIVE option in
CONFIG.SYS;
- You must test the SUBST program manually to make sure is
works. Use a directory and try SUBST on all drives that are
going to use in MTA;
If all points above are checked, you can add the SubstDrive
option in MTA. If you use the SubstDrive option with invalid
letters things CAN go wrong. I strongly advise to use drive
letters that are NEVER going to be used (f.i. Y: and Z: when
running 2 concurrent MTA's or only Z: if you only use one).
It IS possible but NEVER use a drive letter that is one of
your CURRENT drives and certainly not one of the floppy drive
letters if you want to use the /D option !
[drivearray] You must supply at least one drive-letter but
you can supply op to 26. You must supply a
different letter for each concurrent MTA that
you are going to run. The first MTA (task 1)
uses the first letter, the next MTA (task 2)
will use the second and so on ! With all
warnings in mind, you could supply the option
'SubstDrive Z' of one MTA and 'SubstDrive YZ'
for two concurrently running MTA's;
There is nothing to worry about when you use the SubstDrive
option (unless you have a very special configuration). MTA
will do all the work for you. MTA will assign the SUBSTituted
drives itself (by calling SUBST.EXE/COM) and will remove them
again when conversion is finished. MTA will check the drive
letters you supplied in the SubstDrive to see if any of them
is a 'real' drive. If this is the case, MTA will abort. Under
special conditions this test may fail though, so you should
take all previous warnings in mind before you start. Don't
experiment with the option, just do it the way it is
suggested.
Relate: SubstOn, SubstOff
Dest. : All
┌─────────────────────────────────────────────────────────────────────┐
│ SubstOn [path] {parm}..{parm} │
└─────────────────────────────────────────────────────────────────────┘
Usage : This option can only be used in combination with the
SUBSTDrive option. When used, the SubstOff option is
mandatory.
When SubstDrive is set, MTA will use the following calls to
the DOS SUBST.EXE program to set the substituted drive ON or
OFF:
- On
[drive:][dir]\SUBST.EXE [drive_to_page] [dir_to_page_over]
- Off
[drive:][dir]\SUBST.EXE [drive_to_page] /D
Normally this will work in the proper way unless you need
another syntax (special DOS-versions) or you even need another
program (networks) to page (virtual) drives over directories.
For this need, you can use the SubstOn and SubstOff options.
With these options, you can tell MTA which program(s) with
which parameters are to be called to switch the substituded
(paged) drive on (SubstOn) and off (SubstOff):
[Path] This parameter must contain the drive, directory
and filename of the program in question. MTA
will validate the working of the program;
[parm] {parm} At this location you can (must) supply the
various parameters for the program. There are a
few macros available that will be replaced by
values at run-time. These are:
%DP This macro will be replaced with the drive
letter (without ':') of drive that will be
paged over the temporary directory;
%DF This macro will be replaced with the drive
letter (WITH ':') of drive that will be
paged over the temporary directory;
%PP This macro will be replaced by the temporary
directory that needs to be accessed as a
drive (normally a directory under the one
you specified in MTATempPath). This macro
will NOT give a directory with a backslash;
%PF This macro will be replaced by the temporary
directory that needs to be accessed as a
drive (normally a directory under the one
you specified in MTATempPath). This macro
WILL give a directory with a backslash;
%NP Same as %PP but without the drive-letter (so
you can create combinations like \\TEM\PAS;
%NF Same as %PF but without the drive-letter (so
you can create combinations like \\TEM\PAS\;
Included are two examples, one that will be the same as MTA
uses internally (but now specified with SubstOn and SubstOff)
and one for a network that needs a program MAP to subtitute
(page the drive). The first example is split in two examples
(one with a DIRECT call to SUBST and one using a batch-file
SUBST.BAT):
- Using SUBST (THIS IS THE MTA DEFAULT AND NEED NOT BE USED)
- Directly:
SubstOn C:\DOS\SUBST.EXE %DF %PP
SubstOff C:\DOS\SUBST.EXE %DF /D
- Called from a batch-file
SubstOn C:\DOS\COMMAND.COM /C C:\DOS\SUB.BAT %DF %PP
SubstOff C:\DOS\COMMAND.COM /C C:\DOS\SUB.BAT %DF /D
- Using MAP (only an example, use your own Network-program)
SubstOn C:\NOV\MAP.EXE %DF=\%NP
SubstOff C:\NOV\MAP.EXE R %DF
Relate: SubstOff, NoSubstTest
Dest. : All
┌─────────────────────────────────────────────────────────────────────┐
│ SubstOff [path] {parm}..{parm} │
└─────────────────────────────────────────────────────────────────────┘
Usage : See SubstOn (SubstOff is used tro switch the substitution off).
Relate: SubstOn, NoSubstTest
Dest. : All
┌─────────────────────────────────────────────────────────────────────┐
│ NoSubstTest │
└─────────────────────────────────────────────────────────────────────┘
Usage : When substituted drives will be used by MTA (either by using
SUBST or any other kind of program when the SubstOn and
SubstOff options are used), MTA will check (after the 'subst'
drive is assigned) if this new drive is not a REAL drive. In
certain configurations (networks), MTA will get a REAL drive
back and will abort. In these cases this option should be
supplied. It will bypass the test for a REAL drive ! If this
is used in a normal (non-network) DOS environment, you are
bypassing all security checks and strange things can happen
if the SUBST-drive actually IS a real drive with files. Never
use this option unless you know what you are doing AND after
you have made a backup of the files on the drive(s) in that
can/will be used.
Relate: SubstOn, SubstOff, SubstDrive
Dest. : All
┌─────────────────────────────────────────────────────────────────────┐
│ ExtendedTesting │
└─────────────────────────────────────────────────────────────────────┘
Usage : Some older decompress programs do not return an errorlevel
when something is wrong with the decompress. For example, some
older PAK versions (GSARC) could signal that one or more files
inside the archive contained a CRC-error but returned a zero
errorlevel. In these cases MTA will think that the decompress
is ok, will remove the archive and will compress the remaining
(if any) files to a new archive, causing only a part (or none)
of the original archive to be converted.
MTA can make sure (for 98%) that the extracted files are the
same as the ones that are in the original source-archive. To
add this fail-save mechanism, you must add the ExtendedTesting
option in MTA.CTL. MTA will count the combined uncompressed
bytes that the archive will show to the world and will count
these bytes again (bases on the actual files) after the files
are decompressed. If they differ, MTA will delete these files
again and will move the original archive to the directory that
contains the faulty archives. A warning is produced and the
next conversion (if any) will start.
There are some special archives that can not be tested for the
full 100%. These are:
- ARJ archives with files that are compressed as TEXT-files
ARJ can compress files as TEXT-files (-t1 parameter on the
ARJ command-line). The filesize of such files inside the
ARJ-archive is showed as the size WITHOUT any CR/LF and
CTRL-Z (EOF) markers. For instance, a text-file with 2
records, each containing 10 bytes, will normally have a size
of (2 x 10) + (2 x 2 (CRLF)) + 1 is 25 bytes. ARJ will show
this file as a file with a size of 20. THIS IS ONLY THE CASE
with files that are compressed with -t1 ! If MTA detects an
ARJ-file with such text-files inside, it will skip the
extended test (not to worry, because ARJ will return an
errorlevel when the files inside the original archive are
not OK). In a discussion with the author of ARJ I was told
that this has something to do with the multi- platform
(DOS/UNIX and so on) support;
- ARJ and ZOO archives with backups inside Both ZOO and ARJ
archives can contain backup copies, even multiple backup
copies. When you make an archive with the file A.A inside an
a few days later you will do this again (with special
ZOO/ARJ command-line options), the first A.A will be marked
as backup and the second is added. This can go on for a
large number of times, eventually resulting in archives that
contain (for instance) 100 A.A files, 1 of them being the
original (the one added last) and 99 backups. There is NO
direct support archival backups in MTA but you CAN add
options in MTA to instruct ARJ (and ZOO) to extract all of
these backups (with a rename, done by the archive program
itself). Because this is possible, MTA will skip extended
testing for archives with backups inside. This is no
problem. ARJ and ZOO will both report errorlevels when the
decompress fails;
It is advised to always use ExtendedTesting. The only drawback
is some loss in speed but on hard-disks this will be less than
a second for each file (average).
Relate: None
Dest. : All
┌─────────────────────────────────────────────────────────────────────┐
│ ShareWait [seconds] │
└─────────────────────────────────────────────────────────────────────┘
Usage : You can run multiple copies of MTA AND it is possible to run
MTA in a second task (along side a BBS). In these cases it can
be possible that MTA needs resources (files) that the other
task is using also. In multi-tasking environments you must
always load SHARE (see DOS manual) to give support to programs
that would like to share resources (files). If MTA needs a
resource that is currently locked (a file that is being
updated by the other task), it will wait until the resource is
free again unless it takes to long. If it takes to long, MTA
will abort.
MTA will look every 10 seconds to see if a resource if free to
use again (after the initial lock). This process will go on
for 300 seconds (5 minutes) by default. After that, no new
cycle will start, but MTA will abort. You can also stop the
cycle by pressing CTRL-E, in which case MTA will abort.
[seconds] By default, MTA will look every 10 seconds for
the duration of 300 seconds. You can alter this
value to anything you like. If you want to
change it, you must supply the ShareWait option
with that number of seconds. F.i., 'ShareWait
600' will cause MTA to look every 10 seconds for
the duration of 600 seconds (is 10 minutes).
ShareWait is ONLY needed in a multitasking/network environment
and has no meaning when SHARE is not loaded. If SHARE is not
loaded and a lock occurs (multi-tasking without sharing), MTA
will abort directly !
Relate: None
Dest. : All
┌─────────────────────────────────────────────────────────────────────┐
│ AltDisplay │
└─────────────────────────────────────────────────────────────────────┘
Usage : When running in a normal 80x25 text-screen, MTA can display
two different kind of information windows on the right side of
the screen. The normal one contains a summary of the most
important options. The other one contains a dynamic list of
the archives that still need to be converted. You can swap
between the list with the 'T' key but you can also force MTA
to display the dynamic file-list at startup. In that case you
can still swap screens with the 'T' key, but the dynamic
window is the first one to show up when you start MTA.
To force MTA to start with the dynamic file-list, you must
supply the AltDisplay option. When running in 110+x25+ modes,
MTA will always display BOTH windows and the AltDisplay option
will be ignored.
Relate: None
Dest. : All
┌─────────────────────────────────────────────────────────────────────┐
│ WarningTime [cycles] (*)│
└─────────────────────────────────────────────────────────────────────┘
Usage : MTA will sometimes give a warning or an error. In this case a
message is displayed and a 'running light' is displayed for a
number of cycles. You can stop the cycles by hitting ESC or
you can wait until it is finished (around 20 seconds).
[cycles] By default, MTA will use 20 cycles (equivalent
to 20 seconds). You can supply any value from 0
(no cycles) to 65535.
If you supply a value of zero, MTA will also stop making some
noise when errors or warnings are displayed. If you supply any
non-zero value, MTA will beep when an error or a warning is
displayed unless the NoBeep option is active.
Relate: NoBeep
Dest. : All
(*) : Marked options are also in usage by: MTM
┌─────────────────────────────────────────────────────────────────────┐
│ NoBeep │
└─────────────────────────────────────────────────────────────────────┘
Usage : By default MTA will produce a beep on the PC-speaker when an
error or warning is displayed (or when MTA is finished). There
will be no sound when WarningTIme equals a value of zero but
in this case you will also not see any messages. If you want
to see messages but you dislike the sound, you must use the
NoBeep option in MTA.CTL.
Relate: WarningTime
Dest. : All
3.3.3 Statements that define the logging
───────────────────────────────────────────────────────────────────────
MTA can log almost anything. The following statements define the type
of logging (if any) for the several actions and the actual format of
the logged records.
┌─────────────────────────────────────────────────────────────────────┐
│ LogPath [dir] │
│ LogPath [path] │
└─────────────────────────────────────────────────────────────────────┘
Usage : MTA can log almost everything. Under normal conditions you can
choose not to log (it will speed things up a little) but then
you will not be able to create statistical reports and nothing
can be traced back. In a BBS environment you can choose to log
in the same log-file as the one that is used by your BBS
program. In all cases MTA will try to open the log in shared
append mode, so current logs will appended to and full sharing
is available. There are two different ways you can setup the
logging:
[dir] This value must point to a valid drive/directory
where logging will take place. If no drive is
supplied, the default one is used. Relative
directories (..\WRKDIR and such) are not advised
but can be used (the are counted from the
CURRENT directory). In this case MTA will try
to open the file with the name MTA.LOG and will
append to it when it is present or create it
when it is not (yet) available;
[path] This value must point to a valid drive/directory
and filename of the log-file. If no drive is
supplied, the default one is used. Relative
directories (..\WRKDIR and such) are not advised
but can be used (the are counted from the
CURRENT directory). In this case MTA will try
to open the file with the SUPPLIED name and will
append to it when it is present or create it
when it is not (yet) available;
The LogPath option only assigns the actual log-file or (if not
present) will force to 'noLog'. The style of logging that will
be used, will depend on other options. Inside the log-file you
will see information, statistics, warnings and errors. The
earlier MTA versions contained a ErrorLogPath option. With the
15.01 release (and higher) this option has become obsolete.
Relate: LogStyleFormat
Dest. : All
┌─────────────────────────────────────────────────────────────────────┐
│ LogThreshold [bytes] │
└─────────────────────────────────────────────────────────────────────┘
Usage : This option is used by both MTA and MTL. You can set a number
of bytes which will be the threshold for both MTA and MTL to
do a special function.
[bytes] This must be a numeric (positive) value that will
be used as the threshold;
If the log-file (as defined on the LOGPATH option) gets bigger
than [bytes], MTA will terminate with an errorlevel that is
100 bigger than normal. Currently MTA can terminate with the
errorlevels 0 (normal termination), 16 (abnormal termination),
100 (normal termination and LOG-file is bigger than [bytes] or
116 (abnormal termination and LOG-file is bigger that [bytes]).
MTL will use the LogThreshold option to detect if the log
has to be compressed (when MTL is executed with /BATCH) and
will (or will not) compress the log according to the actual
size.
MTA can work with errorlevel for this function, to overcome
a useless call to MTL.
You can setup a batch where you can test the errorlevel and
call MTL when the errorlevel is 100 or 116.
Relate: LogPath and MTL
Dest. : All
┌─────────────────────────────────────────────────────────────────────┐
│ AVLogPath [dir] │
│ AVLogPath [path] │
└─────────────────────────────────────────────────────────────────────┘
Usage : MTA can log AV-codes and names. Under normal conditions you can
choose not to log (it will speed things up a little) but then
you will not be able to see which AV-codes belong to which
authors. This log-file will contain AV-numbers (from ZIP and
ARJ files) and the names that belong to that numbers. The log
can be a help when you setup the IncludeAVFile option(s). Never
point to the same log as in the LogPath option. The general
format of the AV-log is quite different than the normal log
that MTA maintains !
There are two different ways you can setup the logging:
[dir] This value must point to a valid drive/directory
where logging will take place. If no drive is
supplied, the default one is used. Relative
directories (..\WRKDIR and such) are not advised
but can be used (the are counted from the
CURRENT directory). In this case MTA will try
to open the file with the name MTA.LOG and will
append to it when it is present or create it
when it is not (yet) available;
[path] This value must point to a valid drive/directory
and filename of the log-file. If no drive is
supplied, the default one is used. Relative
directories (..\WRKDIR and such) are not advised
but can be used (the are counted from the
CURRENT directory). In this case MTA will try
to open the file with the SUPPLIED name and will
append to it when it is present or create it
when it is not (yet) available;
Relate: None
Dest. : All
┌─────────────────────────────────────────────────────────────────────┐
│ NormalPasswordListPath [dir] │
│ NormalPasswordListPath [path] │
└─────────────────────────────────────────────────────────────────────┘
Usage : When you create archives with passwords (/OP command-line
parameter), MTA will log these archives (and passwords) in a
special log-file. This log-file CAN be the same as the
log-file that is assigned in the LogPath option or it can be a
different log. The usage of NormalPasswordListPath is fully
optional but if you leave it out and you use passwords for the
target archives you must remember the passwords from your
head.
[dir] This value must point to a valid drive/directory
where logging will take place. If no drive is
supplied, the default one is used. Relative
directories (..\WRKDIR and such) are not advised
but can be used (the are counted from the
CURRENT directory). In this case MTA will try
to open the file with the name MTA.NPW and will
append to it when it is present or create it
when it is not (yet) available;
[path] This value must point to a valid drive/directory
and filename of the log-file. If no drive is
supplied, the default one is used. Relative
directories (..\WRKDIR and such) are not advised
but can be used (the are counted from the
CURRENT directory). In this case MTA will try
to open the file with the SUPPLIED name and will
append to it when it is present or create it
when it is not (yet) available;
Relate: RandomPasswordListPath, LogStyleFormat
Dest. : All
┌─────────────────────────────────────────────────────────────────────┐
│ RandomPasswordListPath [dir] │
│ RandomPasswordListPath [path] │
└─────────────────────────────────────────────────────────────────────┘
Usage : MTA has an option to assign RANDOM passwords to the target
archives (the /OP@ command-line parameter). The files that are
converted and the passwords that have been assigned to each
file MUST be logged. If you leave out this option and you use
/OP@, MTA will ENFORCE the logging in the current directory,
otherwise it uses the values that are supplied with this
option.
[dir] This value must point to a valid drive/directory
where logging will take place. If no drive is
supplied, the default one is used. Relative
directories (..\WRKDIR and such) are not advised
but can be used (the are counted from the
CURRENT directory). In this case MTA will try
to open the file with the name MTA.PWD and will
append to it when it is present or create it
when it is not (yet) available;
[path] This value must point to a valid drive/directory
and filename of the log-file. If no drive is
supplied, the default one is used. Relative
directories (..\WRKDIR and such) are not advised
but can be used (the are counted from the
CURRENT directory). In this case MTA will try
to open the file with the SUPPLIED name and will
append to it when it is present or create it
when it is not (yet) available;
Relate: NormalPasswordListPath, LogStyleFormat
Dest. : All
┌─────────────────────────────────────────────────────────────────────┐
│ LogStyleFormat [styleformat] │
└─────────────────────────────────────────────────────────────────────┘
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 this option, you can instruct MTA to create
records that look the same as the records from your mailer
and/or BBS program. The option LogStyleFormat and the
following LogDateFormat/LogTimeFormat combination can be used
to define the style of the log-records that MTA will create
for ALL three log-files (LogPath, NormalPasswordListPath
RandomPasswordListPath log-files). 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:
- Spaces 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;
[styleformat] This is the actual string that defines the
format of the log-header. You can use two macros
inside this string, the %T that will be replaced
with the time in the format as supplied in the
LogTimeFormat option and %D that will be
replaced with the date in the format as supplied
in the LogDateFormat option. You must observe
the 4 rules that are described above;
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 '_' replaces the spaces)
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/Mailer
programs.
Relate: LogStartStyleFormat, LogDateFormat, LogTimeFormat
Dest. : All
┌─────────────────────────────────────────────────────────────────────┐
│ LogStartStyleFormat [styleformat] │
└─────────────────────────────────────────────────────────────────────┘
Usage : This is an additional option you can use along with
the previous 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.
[styleformat] This is the actual string that defines the
format of the log-file start. You can use two
macros inside this string, the %T that will be
replaced with the time in the format as supplied
in the LogTimeFormat option and %D that will be
replaced with the date in the format as supplied
in the LogDateFormat option. You must observe
the 4 rules that are described above;
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 [styleformat] │
└─────────────────────────────────────────────────────────────────────┘
Usage : LogDateFormat is used to define the 'date part' (actually the
%D) in the LogStyleFormat option. MTA can is able to replace a
number of characters (macros) by parts that make up the date.
You can (must) also include special date-separation characters
so your newly created date will actually look like a data !
[styleformat] This is the actual string that defines the
format of the %D macros, used in the options
LogStyleFormat and LogStartStyleFormat. The
[styleformat] must be coded in the format you
want the date to have. Spaces, used as the
separation between components of the date, must
be coded as spaces (and not as '_' characters).
The following codes can be used:
mm Month with a (optionally) leading zero
MM Month ,, ,, ,, space
dd Day ,, ,, ,, zero
DD Day ,, ,, ,, space
yy Year (format: 92 )
yyyy Year (format: 1992)
nnn Name of the month (with mixed case, like
Jan, Oct and so on). The length of 'nnn'
will rule the length of the name, so
'nnnn' will be replaced by 'Janu';
NNN Name of the month (UPPER case, like JAN
OCT and so on). The length of 'nnn' will
rule the length of the name, so 'NNNN'
will be replaced by 'JANU';
www Name of the day (with mixed case, like
Fri, Sat and so on). The length of 'www'
will rule the length of the name, so
'wwww' will be replaced by 'Frid';
WWW Name of the month (UPPER case, like FRI
SAT and so on). The length of 'nnn' will
rule the length of the name, so 'WWWW'
will be replaced by 'FRID';
Some valid examples (notice the separation characters that are
coded between the macros):
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
Relate: LogStyleFormat, LogStartStyleFormat
Dest. : All
┌─────────────────────────────────────────────────────────────────────┐
│ LogTimeFormat [styleformat] │
└─────────────────────────────────────────────────────────────────────┘
Usage : LogTimeFormat is used to define the 'time part' (actually the
%T) in the LogStyleFormat option. MTA can is able to replace a
number of characters (macros) by parts that make up the time.
You can (must) also include special time-separation characters
so your newly created time will actually look like a time !
[styleformat] This is the actual string that defines the
format of the %T macros, used in the options
LogStyleFormat and LogStartStyleFormat. The
[styleformat] must be coded in the format you
want the time to have. Spaces, used as the
separation between components of the time, must
be coded as spaces (and not as '_' characters).
The following codes can be used:
hh Hour with a (optionally) leading zero
HH Hour ,, ,, ,, space
mm Min ,, ,, ,, zero
MM Min ,, ,, ,, space
ss Sec ,, ,, ,, zero
SS Sec ,, ,, ,, zero
t will be replaced by 'p' (in pm) or 'a' (in
am);
T will be replaced by 'P' (in PM) or 'A' (in
AM);
e will be replaced with 'm' (in am or pm)
and must be combined with 'T' or 't';
E will be replaced with 'M' (in AM or PM)
and must be combined with 'T' or 't';
If you leave out any 't'/'T'/'e'/'E'
combination, the time will be in 24-hour format.
Some valid examples (notice the separation characters that
are coded between the macros):
hh:mm 14:00
hh.mmt 02.00p
HH:mmte 2:00pm
HH:mm:ss 14:00:45
hh:mm:ss 14:00:45
Relate: LogStyleFormat, LogStartStyleFormat
Dest. : All
3.3.4 Statements that define the selection of files
───────────────────────────────────────────────────────────────────────
There are several options in MTA.CTL that rule the selection of files.
Most of them are described in this chapter. Those which have to do
with the selection of files in a BBS environment (SysOp's) can be
found in the chapter that describes the special BBS parameters.
┌─────────────────────────────────────────────────────────────────────┐
│ DefaultPath [dir] {targetdir} │
└─────────────────────────────────────────────────────────────────────┘
Usage : Without any special options, MTA will start working in the
current directory. There are several ways to overrule this (by
default in MTA.CTL or temporary on the command-line). One of
the options that can be used by both BBS operators and by
normal users, is this DefaultPath option. With this option you
force MTA to convert files that are in the directories that
you supply on one or more (up to 255) DefaultPath options.
If you don't do special actions AND you leave the converted
files inside the directories that you assign with the FIRST
parameter of this option, MTA will convert them AGAIN when you
start MTA for the second (and further) time. You can fix this
problem by either marking the files as done (see the
MarkString related options) or by using the OnlyNewFiles
option or by moving them to another directory that is not
touched by MTA, either automatically or by hand.
The selection of which files inside these directories are to
be converted is ruled by the file-mask(s) that you supply on
the command-line.
[dir] This value must point to a valid drive/directory
where conversion will take place. If no drive is
supplied, the default one is used. Relative
directories (..\WRKDIR and such) are not advised
but can be used (the are counted from the
CURRENT directory).
{targetdir} This value CAN point to a valid drive/directory
where files that are converted in [dir] are
moved to AFTER the conversion. If no {targetdir}
is supplied, the files stay in [dir].
Relative directories (..\WRKDIR and such) are
not advised but can be used (the are counted
from the CURRENT directory). This parameter is
optional !!
There can be up to 255 DefaultPath options. You can mix the
formats (some of them can have a {targetdir}, some of them
don't have this parameter).
If you use the /W command-line parameter, the DefaultPath
options are ignored ! If you use the full-screen selection of
files (MTA is started without any file-mask), ONLY the first
directory is converted and all other DefaultPath options are
ignored !
Relate: QBBSPaths, RAPaths, MAXPaths for BBS systems)
Dest. : All
┌─────────────────────────────────────────────────────────────────────┐
│ DoNot [filemask] │
│ DoNot [path] │
└─────────────────────────────────────────────────────────────────────┘
Usage : When you use MTA unattended or you convert
complete directories (with f.i. DefaultPath options) it
is possible that files are converted that you don't
want to convert. Examples of these files are many but most
commonly, you can think of files that came from programs like
XRS (734B0384.TU1 and such) or files that have a public usage
(like NODEDIFF.A23 and such).
The DoNot option can be used to exclude some files EVEN when
they match the file-mask selection on the command-line. You
can use up to 255 of EACH these options (so 255 with [path] AND
255 with [filemask]).
[path] This parameter must contain a complete path with
filemask, so drive, directory and filemask like
in E:\ZIP\*.A??. Wildcards in the filemask can
be used (see below);
[filemask] The parameter must contain a single file-mask.
You can use the normal DOS wildcards (?,*).
Also a special wildcard (=) can be used. '='
will test for a shifting match. So '=WAR' will
match tradeWAR.zip and also WARning.ARC. =FZ
will NOT match with nodedifF.Zip. In this case
you must use =F.Z;
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
┌─────────────────────────────────────────────────────────────────────┐
│ SFXFiles │
└─────────────────────────────────────────────────────────────────────┘
Usage : With archive conversion you have to deal with so called SFX
files. These are SelF eXtracting archives. In general, this
are normal COM or EXE files that can be started as a program
and which task only is to decompress all files that are also
inside this COM/EXE file. SFX files are commonly used for
distribution of the archive programs them self. It would be
rather difficult to decompress PKZ110.ZIP if this was the
first time you got involved with ZIP, so such a file will be
distributed as PKZ110.EXE.
MTA is able to convert SFX files into a new target system. To
do so, it must be able to recognize such a file as an archive.
These is a lot of coding involved in MTA to do so and I won't
say that the coding can trap 100% of each cases. Most other
products that involve archives will tell you that they will
recognize SFX files for 100% but most of them will fail on
occasion. A SFX archive contains some executable coding at the
start of the archive. MTA must be able (and is) to skip this
coding and to look for the archive part. To keep MTA as
'generic' as possible, there is no SPECIFIC code for each type
of header. This would make maintenance almost an impossible
job because the headers change with every new version of every
archive that supports SFX archives. Up to now, MTA has never
failed its job BUT it is possible that MTA will recognize a
normal EXE/COM file as being a SFX file. This is not a
problem because the decompression of such a file will fail and
the file will stay as it is.
Normally MTA will NOT (by default) convert SFX archives. If
you supply this option, MTA will also start converting SFX
files if they match the file-masks that you supply on the
command-line.
Relate: None
Dest. : All
┌─────────────────────────────────────────────────────────────────────┐
│ MaxGifDim [w] [h] [c] │
└─────────────────────────────────────────────────────────────────────┘
Usage : This option rules the selection of GIF files. It is only
needed when you run the unregistered version of GIFLITE <tm>
but will also work for GIF to JPEG conversions. With this
option you instruct MTA only to select GIF files that have the
same or a lower resolution. The option is ignored when using
GIF as the compression type (GIFTEST). For this conversion,
you can add a command-line parameter for GIFTEST
(GTECompression option) in which case GIFTEST will reject all
GIF files with dimensions LOWER than a specific one.
[w] [h] [c] With this 3 parameters you define the maximum
resolution of GIF files what will be selected.
The values 640 480 256 will be useful when you
use the unregistered version of GIFLITE, other
values can be set to narrow the selection.
Please notice that the three parameters have an OR relation.
If one of them is smaller than the actual resolution of a GIF
file, the file is not selected. So a 641*479*255 GIF is NOT
selected when the option is set to 640 480 256 because the
weight (641) is higher than 640.
Relate : GIFLite
Dest : GIF types
┌─────────────────────────────────────────────────────────────────────┐
│ NoMarked │
└─────────────────────────────────────────────────────────────────────┘
Usage : What if you have one or more directories that contain archives
and where you want to convert ONLY archives that haven't been
converted before ? So a directory contains 20 ZIP archives and
each period, you move 1 or more new archives (ALSO containing
ZIP archives amongst others) to this directory. You only want
to convert these 1 or more archives once, without having to
convert the other 20. This is a normal problem on a BBS where
various archives are stored in the upload-space and the Sysop
only wants to convert the newly uploaded archives.
There are two ways to do it. One is to use the OnlyNewFiles
option (see later), but this is a very primitive (but fast)
way. The other is to use MTA's Archive Marking System <tm>.
When AMS is active, MTA will convert an archive and after the
conversion is finished, MTA will add a special string at the
end of the archive. This string is made up with some special
information that will be unique. When MTA runs again, the file
is read and MTA will detect that this string is present. If it
is, MTA will ignore the archive (unless AMS is switched off).
If, for some reason, you want to remove the special string,
you can run MTM (a support utility in this package) to do so.
Also, when you want to start using AMS and you already have
many converted archives, you can use MTM to add the string
(called the mark-string) to all these files, without having to
convert them.
AMS will be active when NoMarked is set to on. This option
will instruct MTA to look if an archive contains a mark-string
and if so, if it is the one that you use on your system. The
mark-string can be created (and made unique) by yourself !
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 mark-string 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.
Another piece of advise. Many BBS Sysop's like to convert all
files in the upload-space to see if there is a virus inside.
MTA is perfect to do that job BUT you must be careful with
your mark-string. If users can download archives from you that
contain the mark-string, they are able to upload archives with
a virus AND YOUR mark-string also. When this file is placed in
the upload-directory and you use the NoMarked option, MTA will
ignore the archive because it already contains your mark-ID.
You can use one of the following scenarios:
- Use the mark-string in the upload directory conversion but
remove the string (with MTM) before the file is available
for download (when moved to its own directory);
- Don't use the mark-string in your upload-directory but use
it only in your normal directories;
- Don't use the mark-string in your upload-directory (run MTM
to remove any), then convert the file with NoMark and move
it at once to another directory. When MTA is used as an exit
to the protocol-driver in your BBS (you can use FileDoor,
another DISP product, to do so), you can set up marking in a
save way (convert ALL archives that are uploaded and only
convert archives that are not marked in your upload
directory);
NoMarked has no meaning when using /D with the AllFiles
option. The mark is not set when the MoveToDir option (/M) is
used.
Relate: MoveToDir, /D, MarkString
Dest. : All
┌─────────────────────────────────────────────────────────────────────┐
│ MarkHeader [markstring] (*)│
└─────────────────────────────────────────────────────────────────────┘
Usage : The mark-string that is used by MTA to test if archives are
already converted and which is added to new archives when the
NoMarked option is set, is made up of two parts, the so called
header and the actual string). Both have a default but when
you work with the NoMarked option, you should AT LEAST alter
the value of the string and you COULD alter the value of the
header also. If you don't alter one or both of them, it will
be possible that someone else supplies an archive with the
same values as you use (because they didn't alter the header
also).
[markstring] This must be a 6 byte long value you want to
assign to the header. The default is 3 times a
binary zero and the upper-case word MTA. If you
supply less than 6 bytes, the header is filled
up to 6 bytes with spaces.
If, for some reason, you change [markstring] after you have
converted one or more archives with the older [markstring],
you must run MTM to convert [markstring] to the new value in
those archives that have the old value.
Relate: NoMarked, MarkString
Dest. : All
(*) : Marked options are also in usage by: MTM
┌─────────────────────────────────────────────────────────────────────┐
│ MarkString [string] (*)│
└─────────────────────────────────────────────────────────────────────┘
Usage : The mark-string that is used by MTA to test if archives are
already converted and which is added to new archives when the
NoMarked option is set, is made up of two parts, the so called
header and the actual string). Both have a default but when
you work with the NoMarked option, you should AT LEAST alter
the value of the string and you COULD alter the value of the
header also. If you don't alter one or both of them, it will
be possible that someone else supplies an archive with the
same values as you use (because they didn't alter the header
also).
[markstring] This must be a 14 byte long value you want to
assign to the string. The default has the value
'MTAYour ID here !'. If you supply less than 14
bytes, the string is filled up to 14 bytes with
spaces.
If, for some reason, you change [markstring] after you have
converted one or more archives with the older [markstring],
you must run MTM to convert [markstring] to the new value in
those archives that have the old value.
Relate: NoMarked, MarkString
Dest. : All
(*) : Marked options are also in usage by: MTM
┌─────────────────────────────────────────────────────────────────────┐
│ UnMark │
└─────────────────────────────────────────────────────────────────────┘
Usage : Unmark overrules the NoMark option and should not be used
together with it. The option is there for those special cases
where an archiver is not able to decompress a file with a
mark-string at the end. The earlier (older) LHA.EXE programs
(2.0x series, the 2.1x series work ok), would fail with a CRC
check when the file was longer than the length calculated by
LHA itself. This foolish option is removed from LHA and there
is no current usage for the option.
Relate: NoMarked, MarkHeader
Dest. : All
┌─────────────────────────────────────────────────────────────────────┐
│ ExcludeFriendlyMark [markmask] │
└─────────────────────────────────────────────────────────────────────┘
Usage : When your receive files from a known BBS and that BBS has done
everthing to the archive that you would normally do yourself
(the correct virus-scanners, the correct target format and so
on), you could select to skip conversion of such files because
you are doing the same as the BBS has already done for you !
With the ExcludeFriendlyMark (up to 10 of these options are
allowed), you can instruct MTA which files (in combination with
those files that already carry your own mark) can be skipped.
The only thing that you must know, is the mark-string that the
BBS uses (the BBS must use marking to make this option work).
[markmask] This must be a 20 byte long value you want to
use as the mask. Depending on the values that the
BBS uses (there can be non-printable characters
in use, when the MTA-default is used), you can
use the '?' wildcard on one or more placed. You
can NOT include spaces in the mask ! Spaces can
be replaced with a wildcard ('?');
An example:
ExcludeFriendlyMark ??????Rob?van.Hoeven
The first 6 characters are masked because they are the MTA
default X'00' (6 times) and not printable characters. The
space between 'Rob' and 'van.Hoeven' is also masked because
there are no spaces allowed in the ExcludeFriendlyMark option.
Relate: NoMarked, MarkHeader
Dest. : All
┌─────────────────────────────────────────────────────────────────────┐
│ OnlyNewFiles │
└─────────────────────────────────────────────────────────────────────┘
Usage : This option works something different than the NoMarked
option. When set, MTA will look for a file FILES.MTA in the
directory where the source-archives are. MTA will read the
date/time of this file and EVERY file with a date/time HIGHER
than the date/time of FILES.MTA will be converted. At the end
of the conversion, MTA will set the dat/time of the FILES.MTA
to the current date and time.
If no FILES.MTA is present, MTA will assume 0 for both
the date and time (resulting in a conversion of ALL
selected files) and will create the file when conversion is
done.
Relate: None
Dest. : All
┌─────────────────────────────────────────────────────────────────────┐
│ DelOldFiles [mm-yyyy] {action} │
│ DelOldFiles [-days] {action} │
└─────────────────────────────────────────────────────────────────────┘
Usage : MTA is able to do some maintenance for you also. Users
with big libraries of archives would like to clean some
of the older ones, once in a while. Also, BBS SysOp's like
to remove uploaded files when they are too old. Most
protocol drivers (also FileDoor) have such options but most
of them only look at the file date (FileDoor looks inside the
archive). With MTA you can assign a file date that depends
on the files inside the archives (see later). If you did
so, you can use this option to clean your library from older
files.
[mm-yyyy] Is the month (2 bytes, use leading zeros) and
yyyy is the year of the oldest files you want to
KEEP in your library. If the file date is lower
than [mm-yyyy], MTA will do something with that
file, depending on the presence of the second
parameter and the DelOldPath option;
[-days] You can also use this syntax as a replacement for
[mm-yyyy]. In this case, you supply the number of
days that must be subtracted from the current
date. This new date will now be the marking-line
and older files are considered 'too old'. You
must supply the minus sign and a number of days
(up to 32767) that must be subtracted from the
current date.
{action} {action} can have the following values:
NONE : MTA will sound the bell (if NoBeep is
not set and WarningTime is not zero) and
will give a warning. The actual
manipulation of the file will follow;
NOMSG : MTA will not sound the bell, nor will
there be any message;
ASK : MTA will ask the user if this file must
be manipulated or not. The file IS too
old (otherwise no questions will be
asked) but it allows you to manually
exclude some of the files from the
manipulation that will follow. You can
answer 'Y' or 'N'. This parameter must
not be used when you want to run MTA
unattended.
If the DelOldPath option is NOT set and the file IS marked as
too old (either direct or after a positive reply when you use
the ASK parameter), MTA will DELETE the file. If the
DelOldPath option IS set and the file IS marked, MTA will MOVE
the file to the directory assigned in the DelOldPath option.
Relate: DelOldPath
Dest. : All
┌─────────────────────────────────────────────────────────────────────┐
│ DelOldPath [dir] │
└─────────────────────────────────────────────────────────────────────┘
Usage : If DelOldFiles is set and a file is marked as too old, MTA
will delete the file, unless you supply the DelOldPath option.
If this option is supplied, MTA will MOVE (not delete) the
file to the assigned directory.
[dir] This value must point to a valid drive/directory
where the files are moved to when they are too
old. If no drive is supplied, the default one
is used. Relative directories (..\WRKDIR and
such) are not advised but can be used (the are
counted from the CURRENT directory).
Relate: DelOldFiles
Dest. : All
┌─────────────────────────────────────────────────────────────────────┐
│ SkipNewFiles [days] │
└─────────────────────────────────────────────────────────────────────┘
Usage : Where DelOldFiles will do something for files that are too old,
this option can be used to skip files that are too new to
convert.
[days] This value must be set to the number of days that
an archive can not be converted by MTA. Any value
between 1 and 65535 is valid.
MTA will not convert the files if the file-date/time is higher
than [currentdate]-[days]. This can be useful when you don't
want to change archives for a certain number of days.
Relate: None
Dest. : All
3.3.5 Statements that define the resulting files
───────────────────────────────────────────────────────────────────────
MTA includes a number of options that will rule the resulting
archives. These include optimizing the files, the comments to add,
the files to add and remove from the archive and so on.
┌─────────────────────────────────────────────────────────────────────┐
│ ExcludeFile [filemask] (*)│
│ ExcludeFile [filemask] {SUB} │
└─────────────────────────────────────────────────────────────────────┘
Usage : Today there can be no archive that does not include some files
that have no relation with the actual archive but which is/are
added as some sort of advertisement. Every BBS adds, at least,
a comment in the archive, so you can read over and over from
which BBS the file came but there are also BBS Sysop's who add
files to the archive with the same (or other) information.
When I had to choose, I would like to see NONE of the both
ways (all the extra bytes will cause longer connections, thus
costing money) but if I had to choose between one of them, I
would rather like to see included files than archive comments.
The included files are compressed (thus costing less transfer
time) but the comments are not ! I wait for the day that
SysOp's start to add GIF's (640*480*256 or higher) with their
own pictures. In that case we all can have fun when we
download an archive with 2 Kb programs and 300Kb GIF
advertisements !
Normally, when you obtain archives with added advertisements,
you would like to remove them as soon as possible. There is
one thing positive about it, MOST SysOp's use the same name of
the included file(s) over and over. MTA can remove these
files, based on their name, AFTER the decompression AND the
check for any virus. So these files ARE included in the check
for a virus.
[filemask] The parameter must contain a single file-mask.
You can use the normal DOS wildcards (?,*).
Also a special wildcard (=) can be used. '='
will test for a shifting match. So '=WAR' will
match tradeWAR.zip and also WARning.ARC. =FZ
will NOT match with nodedifF.Zip. In this case
you must use =F.Z. You must only include a
file-mask and not a directory and/or drive;
{SUB} If you code SUB on the ExcludeFile option, MTA
will also look into all sub-directories that are
created by the extraction. If a match is found
in a sub-directory, MTA will also remove it from
the archive. If the parameter is NOT coded, MTA
will only look in the relative 'root' directory
of the archive.
The usage of the '=' wildcard can be handy when the SysOp
alters the name of his/her include file now and then. In most
cases you will see a range like this:
JOHNDOE.ADD $JOHNDOE.ADD
JOHNDOE$.ADD JOHNDOE.$$$
It is a real pain in the neck and I can't see the reason for
doing so, but with =JOHNDOE for [filemask], you get rid of all
these files. Don't use README or READ.ME. If some SysOp adds
files like this as an advertisement, they should think twice.
Most of the time, these files contain important info about the
package you have just obtained.
You can use up to 255 (!) ExcludeFile statements in MTA.CTL.
Relate: IncludeFile
Dest. : All
(*) : Marked options are also in usage by: MTM
ExcludeFiles [mask] {SUB}
When the new SUB option is coded, MTA will also test if this mask will
match files in all SUB-directories that are extracted. If nothing is
supplied, only the root directory of the extracted files is tested;
┌─────────────────────────────────────────────────────────────────────┐
│ IncludeFile [path] {newname} {CF$} (*)│
└─────────────────────────────────────────────────────────────────────┘
Usage : See the discussion on ExcludeFile. This option can do the
reversed. Where ExcludeFile removes any advertisement files,
IncludeFile can add your own advertisement !
[path] This value must point to a valid drive/directory
and filename of the file to include. If no drive
is supplied, the default one is used. Relative
directories (..\WRKDIR and such) are not advised
but can be used (the are counted from the
CURRENT directory);
{newname} This optional parameter can be used to change
the name of the file assigned with [path] as it
appears in the archive. For example, if [path]
is C:\COMMON\MYFILES.ASC and {newname} is
JDOEBBS.ADD, the file inside the archive will
actually be called JDOEBBS.ADD. If you don't use
the {newname} parameter, the file will be called
MYFILES.ASC;
{CF$} This parameter is optional. When you use it, the
{newname} parameter is mandatory because {CF$}
MUST be the third parameter ! When you code
CF$, you are telling MTA that the file you
include is in fact an archive. In this case,
MTA will convert the included file to the same
system as the target system for the archive.
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. I hope that no
SysOp will use ALL 255 options for advertisement files.
Relate: ExcludeFile
Dest. : All
(*) : Marked options are also in usage by: MTM
┌─────────────────────────────────────────────────────────────────────┐
│ 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. All files that match any supplied ExcludeFile option
(see before) are NOT looked at. As an example, the archive
contains:
A.A 12/31/91
B.B 11/18/91
C.C 01/01/92
JOHNDOE.ADD 01/01/91
JOHNDOE.ADD is not looked at because it matches one (or more)
of the ExcludeFile options. With TouchLow set, the archive
will get the date 11/18/91 (JOHNDOE.ADD has a lower date but
is not looked at).
When TouchLow is set, TouchCur and TouchHig can not be used.
When neither TouchLow nor TouchCur nor TouchHig are set, MTA
will retain the original file date/time;
Relate: TouchCur, TouchHig, ChildTouch
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. All files that match any supplied ExcludeFile option
(see before) are NOT looked at. As an example, the archive
contains:
A.A 12/31/91
B.B 11/18/91
C.C 01/01/92
JOHNDOE.ADD 02/01/92
JOHNDOE.ADD is not looked at because it matches one (or more)
of the ExcludeFile options. With TouchHig set, the archive
will get the date 01/01/92 (JOHNDOE.ADD has a higher date but
is not looked at).
When TouchHig is set, TouchCur and TouchLow can not be used.
When neither TouchLow nor TouchCur nor TouchHig are set, MTA
will retain the original file date/time;
Relate: TouchCur, TouchLow, ChildTouch
Dest. : All
┌─────────────────────────────────────────────────────────────────────┐
│ TouchCur │
│ TouchCur [+days] │
└─────────────────────────────────────────────────────────────────────┘
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.
When TouchCur is set, TouchHig and TouchLow can not be used.
When neither TouchLow nor TouchCur nor TouchHig are set, MTA
will retain the original file date/time.
A special format is the usage of [+days]. If this parameter is
present, MTA will add the number of days that is supplied in
this parameter to the current date and will touch all archives
with that new date (comes in handy when using a BBS and giving
the new uploads a new date in the future).
[+days] This value must be set to a plus sign and the
number of days (up to 365) to add to the current
date;
Relate: TouchLow, TouchHig, ChildTouch
Dest. : All
┌─────────────────────────────────────────────────────────────────────┐
│ ChildTouch [type] │
└─────────────────────────────────────────────────────────────────────┘
Usage : Normally, MTA will use the same type of touching for archives
inside archives (nested arc-in-arc files) as for the main
archive. When this is not what you want, you can make use of
this ChildTouch option to overrule the touching with another
method for nested archives.
[type] You must either supply HIGH, LOW, CUR or FILE.
When HIGH is used, touching on the highest date
will occur for nexted archives, LOW for the
lowest date, CUR for the current date and FILE
will cause the original date to be retained for
these nested archives.
As an example, you can touch all archives on current date (so
they will show as new files on a BBS) but it is logical that
this is not desired for archives inside archives. These nested
archives can be touched in another way if you include this op-
tion;
Relate: TouchLow, TouchHig, TouchCur
┌─────────────────────────────────────────────────────────────────────┐
│ IgnoreTimeComponent (*)│
└─────────────────────────────────────────────────────────────────────┘
Usage : This option belongs to the previous TouchHig and TouchLow
options. When you use this option (you don't have to), the
time-component of the date/time of every file inside the
archive is ignored. Sometimes you need such an option when you
use software that use the spare bit of the time/date field in
the DOS directory entry. There are some programs (some
commercial backup programs) that do so. When the option is
set, all archives will get the time 00:00:00 when the TouchHig
or TouchLow option is active.
Relate: TouchLow, TouchHig
Dest. : All
(*) : Marked options are also in usage by: MTM
┌─────────────────────────────────────────────────────────────────────┐
│ AcceptHighDate (*)│
└─────────────────────────────────────────────────────────────────────┘
Usage : Also this option belongs to the TouchHig and TouchLow options.
Sometimes archives contain files with dates higher than the
current date. MTA will give a warning for each of such files
inside any archive because it could be possible that your PC's
date is not correctly set. If this is normal, or if you expect
to receive files with higher (invalid) dates, you must use the
AcceptHighDate option. The actual archive will also get the
high date when TouchLow or TouchHig are in use.
Relate: TouchLow, TouchHig
Dest. : All
(*) : Marked options are also in usage by: MTM
┌─────────────────────────────────────────────────────────────────────┐
│ NoArcInArc │
└─────────────────────────────────────────────────────────────────────┘
Usage : MTA will convert any archives inside archives (in this manual
we call them arc-in-arc files) up to ANY level deep (but with
respect to the conventional memory available).
When running DOS 5.0 on 286, 386 or 486 machines, it is normal
to have around 600.000 (or more) bytes of memory free. With
this number of bytes free (and when swapping is used), you can
go up to 80 levels deep (I have never seen such a file). You
need around 200K to run MTA itself and every MTA child uses 4K
extra overhead for swapping.
Normally you should let MTA convert any archives inside. But
if memory is low, or speed is slow or disk-space (for
swapping) is low, you CAN select to leave arc-in-arc files
alone. In this case a TEST.ZIP, containing a TEST.ARJ and the
target is LZH, will result in TEST.LZH containing TEST.ARJ.
When the option is NOT set, it will result in TEST.LZH,
containing TEST.LZH !
For each level of arc-in-arc files, MTA will call itself to do
the job on the nested archives, thus giving all possible
options (with a few restrictions).
Relate: None
Dest. : All
┌─────────────────────────────────────────────────────────────────────┐
│ OptimizeOnSize │
└─────────────────────────────────────────────────────────────────────┘
Usage : MTA can also be used to make the smallest possible archive. It
needs a selection of different archive programs to complete
this job and it will convert any archive to the system that
will result in the smallest archive (this creating a mixture
of a number of different target systems).
All archivers that are included in the xxxPath options (see
3.3.1, the first options) and that have a 'Y' as the second
parameter, will be used for testing.
YOU must select which archivers to include in the test. There
are some combinations (that can change when newer versions hit
the street) that are useful. ZIP, ARJ, LZH and ZOO (2.1x) can
give a good result. Including MD or ARJ in this list has NO
meaning. They ALWAYS result in a bigger archive, but the given
combination works.
For each archive, MTA will call the selected archivers and
will start to convert the archive to each of them (one after
another, only taking disk-space for one of them). When the
smallest is known, MTA will AGAIN start the conversion but now
with ALL possible options (IncludeFile and such) active.
OptimizeOnSize will cause MTA to run [number of archivers
selected]+1 times longer (average) than normal. Only when your
space is limited, this option should be used !
Relate: None
Dest. : All
┌─────────────────────────────────────────────────────────────────────┐
│ OnlyUpgrade │
└─────────────────────────────────────────────────────────────────────┘
Usage : This option can be useful when you want to convert your files
to a higher technical level. In general, OnlyUpgrade will
cause the following files (also based on the file-mask(s)) to
convert to the new target:
- Files that are not in the target format (e.g. ZIP is the
destination, so all non-ZIP files will be converted);
- Files that ARE in the target format (e.g. ZIP and the target
is also ZIP) but that have a LOWER TECHNICAL level than the
current target;
The latter looks somewhat difficult to understand, so I will
come to the point. ZIP, PAK and LZH have different levels of
archives. You have the older LZH 1.13 format but the new 2.xx
format is different, you have the older PAK (crushed) files
and today we have also a new PAK format (distilled). For ZIP
the same rules apply.
In plain english for each archiver involved:
- If the source and target are LZH and the source contains
1.13 formatted files, conversion will be done to the 2.xx
format with LHA;
- If the source and target are PAK and the source contains
crushed files, conversion will be done to the destilled
format with PAK;
- If the source and target are ZIP and the source contains
either reduced 1-4 files or imploded files, conversion will
be done to the ZIP 2.xx deflated format (the previous
versions of MTA up to 14.57 only did an upgrade from 1-4
reduced to imploding, 15.01 will convert to deflated);
If the source archive already contains one or more files from
the NEW systems (f.i. 3 x stored but 1 x deflated), MTA will
not convert it when ZIP is also the target.
Relate: ZIP, PAK, LZH
Dest. : ZIP, PAK, LZH
┌─────────────────────────────────────────────────────────────────────┐
│ AllDisketteFiles │
└─────────────────────────────────────────────────────────────────────┘
Usage : When you use the /D command-line parameter (start diskette
conversion), MTA will only convert archives on the diskettes.
If you want to move the files to another diskette (with the
MoveToDir option) or you want to format the diskette (with one
of the exits), you must make sure that ALL files are reMOVED
from the diskette. These files will not be converted but
(temporary) moved to the same directory as where the converted
files are stored (temporary). You can instruct MTA to move ALL
files from the diskette (and back!) by setting this option.
Diskette conversion is not possible when the OnlyUpgrade
option is set !
Relate: EXITBeforeFill, EXITAfterFill, MoveToDir
Dest. : All
┌─────────────────────────────────────────────────────────────────────┐
│ MakeArc [mask] │
└─────────────────────────────────────────────────────────────────────┘
Usage : MTA is able to convert ANY NON-ARCHIVE file that is in the
working directory when it has started to convert archives.
To instruct MTA to do such a thing, you must include one or
more MakeArc (and optionally MakeArcExclude) option(s).
[mask] This must be a valid DOS (4DOS <tm> or DISP <tm>)
filemask (up to 12 characters, wildcards allowed)
of (a) non-archived file(s) that MTA must convert
along the way;
MTA will convert all matching files to archives of the selected
target-type on a one-to-one basis. An example:
MakeArc *.*
MTA detects the following files in the working directory:
A.ZIP
B.ARJ
C.WAV
D.DOC
E.GIF
Z.ZOO
With a destination (target) of ZIP, the following will happen:
A.ZIP will be converted to A.ZIP
B.ARJ ,, ,, ,, ,, B.ZIP
C.WAV ,, ,, archived into C.ZIP
D.DOC ,, ,, archived into D.ZIP
E.GIF ,, ,, archived into E.ZIP
Z.ZOO ,, ,, converted to Z.ZIP
With this example, MTA will archive every SINGLE file into a
SINGLE archive. There can be up to 255 MakeArc options.
Relate: MakeArcExclude
Dest. : All
┌─────────────────────────────────────────────────────────────────────┐
│ MakeArcExclude [mask] │
└─────────────────────────────────────────────────────────────────────┘
Usage : This option can be used in combination with the MakeArc option
and can be used to narrow the selection of non-archived files
that will be converted to an archive.
[mask] This must be a valid DOS (4DOS <tm> or DISP <tm>)
filemask (up to 12 characters, wildcards allowed)
of (a) non-archived file(s) that MTA must exclude
from the MakeArc process;
MTA will exclude all matching files from the archive process
that is initialized by the MakeArc option(s). An example:
MakeArc *.*
MakeArcExclude *.GIF
MakeArcExclude *.WAV
MTA detects the following files in the working directory:
A.ZIP
B.ARJ
C.WAV
D.DOC
E.GIF
Z.ZOO
With a destination (target) of ZIP, the following will happen:
A.ZIP will be converted to A.ZIP
B.ARJ ,, ,, ,, ,, B.ZIP
C.WAV ,, ,, archived into C.WAP
D.DOC ,, ,, archived into D.ZIP
E.GIF ,, ,, left alone as E.GIF <------------
Z.ZOO ,, ,, converted to Z.ZIP
With this example, MTA will archive every SINGLE file into a
SINGLE archive except GIF files !
Relate: MakeArc
Dest. : All
┌─────────────────────────────────────────────────────────────────────┐
│ KeepAbnormalExtensions │
└─────────────────────────────────────────────────────────────────────┘
Usage : Some of the archives contain a special extension that is not
common with the archive system. You can receive files with the
extension .A25, .SDN and so on. Normally MTA will convert
these archives (unless excluded by DoNot or the file-mask) to
a new archive with a NORMAL extension (e.g. ZIP when you
convert to ZIP). If you include this option, MTA will keep the
abnormal extension even after the conversion. So A.SDN (in ZIP
format), converted to ARJ, will still be called A.SDN.
Only one archive system can not work with abnormal extensions.
DWC can only work with archives that end with .DWC. When you
convert A.SDN (in ZIP format) to DWC, the result will be named
A.DWC !
Relate: None
Dest. : All
┌─────────────────────────────────────────────────────────────────────┐
│ WeekExtension [ext] [letter] │
└─────────────────────────────────────────────────────────────────────┘
Usage : There are archives with a very special extension. These are the
archives that (f.i.) contain the BBS-nodelist and BBS-nodediff
files. These extensions are made up by a letter (normally a A)
and two digits that are the last two digits of a day-number.
In this manner, files with names like NODEDIFF.A21 can be found
on various BBS's.
There have been some proposals and standards as how to use these
extensions for BBS-nodelist/nodediff files. As fas as I know,
there is only one valid standard and that is the usage of ARC
(SEA ARC, crunched) files with extension Axx (xx are the last
two digits of the day-number). Some nets use other archivers
for these files (like ZIP, ARJ and LZH). To keep a difference
between these SEA ARC (Axx) files and those converted to any of
the other systems, nets use different letters. As such the
following list looks more or less standard (but is not covered
by a formal fidonet-standard):
SEA ARC xxxxxxxx.Ann
ZIP xxxxxxxx.Znn
ARJ xxxxxxxx.Jnn
LZH/LZS xxxxxxxx.Lxx
MTA can be used to maintain such a system. Normally, you can
supply the KeepAbnormalExtensions option to maintain the
original extension of a file, but this would cause NODEDIFF.A10
to keep its original extension (A10) even when the file is
actually converted to ZIP (Z10 would be better).
You can use the WeekExtension option(s) (up to 20) to inform
MTA how files with the an extension made up by one letter and
two digits (A01, Z11, J18 and so on) should be (re)named. If
you do not supply this option, MTA will either convert the name
to a normal archive-extension or to the original extension if
the KeepAbnormalExtensions option is active. The WeekExtension
option is set for the target-file !
[ext] This parameter must be set to the NORMAL archive
extension that the target-file would have been
given (like ZIP, ARJ, ARC and so on);
[letter] This parameter must be set to the letter of the
new extension that belongs to [ext] (like Z for
ZIP, L of LZH/LZS or J for ARJ).
When MTA starts converting an archive with an extension that
is made up by a letter and two numbers AND the new extension
that the archive should get under normal conditions (LZH for
LHarc, ZIP for ZIP, ARJ for ARJ and so on) is defined by a
WeekExtension option, MTA will use the supplied letter and
will create a new extension with this letter and the original
two digits. For example:
WeekExtension ARC A
WeekExtension ZIP Z
WeekExtension LZH L
WeekExtension LZS L
WeekExtension ARJ J
Source-archive is called NODEDIFF.A12 and conversion is done
to ZIP. ZIP is inside the array and 'owns' letter 'Z', so the
new archive will be called NODEDIFF.Z12. Source is RA.H11 and
conversion is done to ARJ. ARJ is in the array and 'owns' the
letter 'J' so the new archive is called RA.J11. Source archive
is called DISP.J01 and conversion is done to HYPER. HYP (the
extension for a normal HYPER archive) is NOT in the array so,
unless KeepAbnormalExtensions is set, the new archive will be
called DISP.HYP !
Because of the lack of rules for the conversion of extensions,
MTA uses a 'dynamic' system.
Relate: KeepAbnormalExtensions
Dest. : All
┌─────────────────────────────────────────────────────────────────────┐
│ FixedConversion [mask] [target] │
└─────────────────────────────────────────────────────────────────────┘
Usage : There can be up to 255 of these options in MTA.CTL. For each
file that is selected for processing, MTA will look if it
matches any [mask] in the FIXEDCONVERSION option. If the name
matches [mask] (the first match will count), MTA will convert
the file to the [target] format EVEN if the default format is
something else.
[mask] This must be a valid DOS (4DOS <tm> or DISP <tm>)
filemask (up to 12 characters, wildcards allowed)
that will have a fixed conversion;
[target] This must be a valid name of the target archiver
(or convertor in case of GIF-alike files). The
valid names are the same as you supply with the
COMPRESSIONTYPE option (ZIP, ARJ, ARC, ZOO, GIF
and so on);
For example:
FixedConversion NODELIST.A?? ARC
FixedConversion NODEDIFF.A?? ARC
Will force MTA to convert any selected file with one of that
names, to the ARC format, even if the selected target-format
is ZIP.
This option comes in handy when certain files always have to be
converted to a fixed system.
All other options like WEEKEXTENSION and KEEPABNORMALEXTENSION
will still word.
Relate: None
Dest. : All
┌─────────────────────────────────────────────────────────────────────┐
│ ReportSpecialAttributes │
│ ReportSpecialAttributes SKIP │
└─────────────────────────────────────────────────────────────────────┘
Usage : Some archives can contain files with abnormal file-attributes
like HIDDEN, READONLY and/or SYSTEM. If the decompression
program is able to decompress these files in this way, you
could be in for trouble (though MTA will remove any left files
after the conversion). If you like to, MTA can report archives
that contain such files when you set this option. Also, when
this option is set, MTA will reset all attributes that are not
'normal' (READONLY, HIDDEN and SYSTEM) before the new archive
is created.
When SKIP is supplied, MTA will not convert the attributes and
will not even convert the archive. The archive is moved to the
error-directory and conversion must be done by hand.
Relate: None
Dest. : All
┌─────────────────────────────────────────────────────────────────────┐
│ ReportInvalidFiles │
└─────────────────────────────────────────────────────────────────────┘
Usage : It is invalid (and dangerous) when an archive contains one of
more files with a name equal to a device-name in your PC. To
overcome any problems with these archives, you should remove
them !
MTA is (optionally) able to test EVERY filename inside the
archive against ALL CURRENT device-driver names you have
active in your PC. If you set this option (it is highly
recommened that you do so), MTA will perform these checks,
otherwise (no option) it won't. Testing of all files will
only take a few moments extra !
In general, only when this option will cause problems in
your PC, you should not include it, otherwise include the
option !
Relate: None
Dest. : All
┌─────────────────────────────────────────────────────────────────────┐
│ KeepAV │
└─────────────────────────────────────────────────────────────────────┘
Usage : Both ARJ and ZIP can create archives with a special attribute,
called the security envelope/Authentification Verification.
Normally these files are created by the original author of the
program(s) that are included and the code functions as a kind
of proof that the file is untouched by others (virus, patches
and so on). One piece of bad luck is that some BBS's also use
the AV/Security Envelope to mark these files as 'theirs',
destroying the original idea behind the AV/SE code.
When you want to keep files with a valid AV/SE as they are
(and you should do so, certainly on a BBS), you must include
this option. If MTA detects such an archive it will do the
following:
- Decompress the file
- Test for any virus (still)
- Perform the exists involved;
- Remove all decompressed files;
- Include any new files to the original file (only ZIP);
- Add comments to the original file (only ZIP);
- If the source is an SFX, it CAN be converted to a non-SFX
file of the same system (when you set the SFXFiles option);
The original archive is kept as it was. Only some special
files could be added and, optionally a comment header (ZIP).
Relate: IncludeAVFile
Dest. : All
┌─────────────────────────────────────────────────────────────────────┐
│ IncludeAVFile [filemask] {AVCode} │
└─────────────────────────────────────────────────────────────────────┘
Usage : As you have read in the previous option, there are situations
where the AV/SE code has NO meaning whatsoever. You can use
this option to instruct MTA WHICH AV/SE files must keep their
code. All others will be stripped EVEN if the KeepAV option
forces MTA not to do so.
[filemask] The parameter must contain a single file-mask.
You can use the normal DOS wildcards (?,*).
Also a special wildcard (=) can be used. '='
will test for a shifting match. So '=WAR' will
match tradeWAR.zip and also WARning.ARC. =FZ
will NOT match with nodedifF.Zip. In this case
you must use =F.Z. You must only include a
file-mask and not a directory and/or drive;
{AVCode} When this parameter is NOT present, all files
that match [filemask] will keep their AV-code
(e.g. they will not be converted) if KeepAV is
set. You can also supply a valid AV-code or
AV-code-mask overhere. In this case, all files
that match [filemask] AND that match {AVCode}
will keep their AV-code (e.g. they will not be
converted) when KeepAV is set. You can either
supply a full AV-code overhere (like 0000 for
the AV-code that comes with original ARJxxx.EXE
distribution file or PKW655 that comes with the
original PKLTExxx.EXE file) or a mask. The mask
can include 2 types of characters. Either a #
(for numeric digit) or @ (for alphabetic digit)
can be used in combination with real digits. For
example, P@W### will cause a match for PKW655
but NOT for P1WA11;
Most obvious you would like to keep the AV/E codes for some
general files like SCAN*.*, CLEAN*.*, 4DOS*.* and so on. Some
examples are included in the archive. Some general hits:
- When you want to keep all ZIP AV-codes, you can supply
IncludeAVFile *.* @@@###
- When you want to keep all ARJ AV-codes, you can supply
IncludeAVFile *.* ####
- Independent of the IncludeAVFile options you MUST set the
KeepAV option to actually KEEP the AV-codes (e.g. no con-
version of the archive). If there is a matching IncludeAVFile
but NO KeepAV option, the archive will still be converted;
There can be up to 512 IncludeAVFile options in MTA.CTL !
Relate: KeepAV, ExcludeAVFile
Dest. : All
┌─────────────────────────────────────────────────────────────────────┐
│ ExcludeAVFile [filemask] [AVCode] {KEEP│DELETE│MOVE} │
└─────────────────────────────────────────────────────────────────────┘
Usage : This option works is the reversed of the IncludeAVFiles option
described above. The combination of In- and ExcludeAVFiles can
result in a very nifty management of archives with AV-codes.
The number of ExcludeAVFile options that can be used is 512.
The ExcludeAVFile option is tested AFTER A MATCH from the
IncludeAVFile is found. If it then matches the ExcludeAVFile
option, it is again excluded AV operation an the AV is not
kept. If you did not use any IncludeAVFile (but KeepAV is set)
you can still use this option. In this case ALL AV'ed archives
match (e.g. there is no specific IncludeAVFile) and you can
exclude them again with this option.
The first two parameters for the ExcludeAVFile opion are the
same as those on the IncludeAVFile option.
The ExcludeAVFile option can use an extra parameter (when you
compare it with the IncludeAVFile option). This parameter can
have the following value:
KEEP : KEEP is the default so it can be left out. When KEEP
mode is selected, MTA will leave the AV'ed archive
when it matches the ExcludeAVFile option in question;
MOVE : When MOVE is used and the AV'ed archive will match the
given ExcludeAVFile option, the file is MOVED to the
error directory;
DELETE : When DELETE is used and the AV'ed archive will match
the given ExcludeAVFile option, the file is deleted
from the disk. This comes in handy when you want to
remove all bogus-files with a bogus-AVcode. Because
both the ARJ and ZIP AV-codes are cracked, there are
some bogus codes in the circuit. If you know one,
you can include the ExcludeAVFile option for this
AV-code, along with the DELETE option;
Example 1:
IncludeAVFile *.* #### (include all ARJ's)
IncludeAVFile *.* @@@### (include all ZIP's)
ExcludeAVFile *.* 0123 KEEP (EXclude ARJ AV 123)
A file A.ZIP enters with AV-code PKQ001. It matches the second
IncludeAVFile option and does not match the ExcludeAVFile. Now
a B.ARJ with code 123 enters. This file matches the first of
the IncludeAVFile options but also matches the ExcludeAVFile
option. It is kept as it was and no conversion will take place.
Example 2:
IncludeAVFile MT*.* RVH001
ExcludeAVFile M*.* RVH001 DELETE
MTA_VXXX.ZIP with AV-code RVH001 enters. It matches MT*.* but
also M*.* and is deleted. Both Include and exclude match but
the exclude is tested last and has a higher priority !
Relate: KeepAV, IncludeAVFile
Dest. : All
│┌─────────────────────────────────────────────────────────────────────┐
││ KeepAVNoCode │
│└─────────────────────────────────────────────────────────────────────┘
│Usage : If MTA is unable to extract the AV-code or AV-user from the
│ archive (see AVCODES.TEC file) where the original file 'looks'
│ like a file that has an AV-code, MTA will mark those files as
│ NOT having the AV-code and they are converted. If you include
│ this option, MTA will always KEEP the file in original state
│ (when KEEPAV is also included), though there is no check
│ against the IncludeAVFile and ExcludeAVFile options possible
│ (there is no AV-code/AV-user obtained from the archive);
│
│Relate: KeepAV, IncludeAVFile, ExcludeAVFile
│Dest. : All
┌─────────────────────────────────────────────────────────────────────┐
│ KeepVolLabel │
└─────────────────────────────────────────────────────────────────────┘
Usage : Both ARJ and ZIP can contain (optionally) a volume label. This
is sometimes used for ARJ/ZIP files that are a compressed
image of a diskette.
MTA uses some special techniques to enforce the volume label
inside a ZIP or ARJ (if any). The technique only works when
you have the SubstDrive option set and is as follows:
- The current volume-label of the substituted drive is read.
This is the same label as the drive containing the ORIGINAL
directory that is now used for the substitution (in fact it
IS the volume label of that drive);
- The ARJ or ZIP is read. If it contains no volume-label, it
will be converted as normal;
- If it contains a volume-label, MTA will decompress it with
the option to decompress the volume-label as well;
- The target system will be called to compress the file again
(if it supports volume-labels, those options are also added
by MTA);
- MTA will reset the volume-label to the original value unless
there was no previous value, in which case MTA will set the
label to MTA TMP LBL;
Relate: None
Dest. : ZIP, ARJ
│┌─────────────────────────────────────────────────────────────────────┐
││ NoCloakedArchives {ALL} │
│└─────────────────────────────────────────────────────────────────────┘
│Usage : Some achives are repacked recursively. For example, someone has
│ created MYFILES.ZIP (with 15 files inside). Now this file is
│ for some reason packed again to MYFILES.ZIP. You now have a
│ file MYFILES.ZIP with ONE file inside (MYFILES.ZIP). This
│ included file contains the real files. This type of files is
│ very dangerous to process from the command-line. If you should
│ unpack MYFILES.ZIP with 'PKUNZIP MYFILES.ZIP', PKUNZIP would
│ report a message, asking to overwrite the existing file. If you
│ answer 'Y'es, PKUNZIP will start doing so and while the work is
│ in progress, PKUNZIP could overwrite parts of the original
│ archive MYFILES.ZIP with new data from the extracted file
│ MYFILES.ZIP. This will cause a damaged source AND target file.
│
│ On BBS's this type of archives is sometimes created to show a
│ newer file-date than the actual files inside are (a bad
│ behaviour) or it can happen as a result of a conversion of a
│ complete package (originally containing INSTALL.ARC which is
│ now converted to, lets say, INSTALL.ZIP).
│
│ If you include the NoCloakedArchives option, MTA will test if
│ the archive will ontain ONE file AND that file has the same
│ name as the original archive. You can also add the parameter
│ ALL in which case MTA will test of ANY file inside the archive
│ has the same name as the archive itself. When the test matches,
│ MTA will move the archive to the error-directory.
│
│Relate: None
│Dest. : All
┌─────────────────────────────────────────────────────────────────────┐
│ SkipBackups │
└─────────────────────────────────────────────────────────────────────┘
Usage : Both ARJ and ZOO can contain (optionally) backups. These files
are normally not decompressed by MTA and will be lost unless
you have set special options for both ARJ and ZOO.
If you want to keep the backups, you can force MTA to leave
this archives as they were. In fact, they are skipped when you
supply this option ! Normal ARJ/ZOO files that DON'T contain
backup versions are processed as before.
Relate: None
Dest. : ZOO, ARJ
┌─────────────────────────────────────────────────────────────────────┐
│ OverwriteDuplicates │
└─────────────────────────────────────────────────────────────────────┘
Usage : Normally MTA will never overwrite any duplicate file. If you
convert A.ZIP and A.ARJ to ZOO, it will result in A.ZOO and
A.ZO1 (the second archive will be renamed but will NOT erase
the other). If you supply the OverwriteDuplicates option, MTA
WILL overwrite any file with the same name. This also goes for
files that are moved to the error-directory and/or the trashcan
directory !
Relate: None
Dest. : All
┌─────────────────────────────────────────────────────────────────────┐
│ Description │
└─────────────────────────────────────────────────────────────────────┘
Usage : Most archivers have the option to add a description to one or
more (or all) components inside the archive. If you set this
option, MTA will add options for the target to ask for such
comments. THIS IS MANUAL WORK, DON'T USE THIS OPTION WHEN MTA
MUST RUN UNATTENDED !!
Relate: Autodescription
Dest. : All
┌─────────────────────────────────────────────────────────────────────┐
│ Autodescription [path] (*)│
└─────────────────────────────────────────────────────────────────────┘
Usage : When you want to include a comment header in your target file,
you can use this option to do so (automatically). Those target
systems that support it, will be instructed to add a common
header to each and every converted archive. Currently the
comment can be added to ZIP, ZOO, ARJ and PAK files.
[path] This value must point to a valid drive/directory
and filename of the file which include the
actual comment. If no drive is supplied, the
default one is used. Relative directories
(..\WRKDIR and such) are not advised but can be
used (the are counted from the CURRENT
directory). The file must be a normal
text-file. It can be a ANSI file (not preferred,
most archivers won't display ANSI-sequences
unless specifically told, because ANSI sequences
can reconfigure the key- board. You would be
surprises and angry to see that F3 now starts a
FORMAT of your hard-disk), but a normal pain
ASCII file is best. The total size can not be
greater than 64000 bytes.
The AutoDescription can also be combined with the CarryComment
option (see BBS options) to gain maximum result !
MTA uses the quickest but safest way to add the comment to a
file. In most cases piping will be used (PKZIP -z A <comment)
but sometimes special options.
Relate: Description
Dest. : ARJ, ZIP, ZOO, PAK
(*) : Marked options are also in usage by: MTM
3.3.6 Your own (new) compressor
───────────────────────────────────────────────────────────────────────
The following statements can be used to define a compressor that is
not (yet) included in MTA. If you find a compressor that meets the
standard to be included into MTA then please contact the author.
Your OWN compression and decompression programs must follow some basic
rules and it is only needed to include them if they are not yet added
to the STANDARD MTA support. The following rules apply:
- They must report an errorlevel higher than 0 if errors occur;
- 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 has added
to the archive;
- The decompressor CAN have recursive support. This also goes for the
compressor. It is not mandatory;
- You can NOT use a batch-file to call the compressor/decompressor;
- The compression system must use its own extension (CRA in the
following examples);
- Sometimes you can use the support for OWN compressors to overrule
the normal compression/decompression programs that MTA supports
internally, but you are on your own;
┌─────────────────────────────────────────────────────────────────────┐
│ OwnCompressPath [path] {opt} {DynSwapSiz} {second path} │
│ OwnDeCompressPath [path] {opt} {DynSwapSiz} {second path} │
└─────────────────────────────────────────────────────────────────────┘
Usage : For your own compression and decompression program, these two
statements must be included. The syntax is the same as all
other xxxPath options. OwnCompressPath and OwnDecompressPath
must point to the same file if compression/decompression is
combined in one program.
Relate: All Own-options
Dest. : OWN
┌─────────────────────────────────────────────────────────────────────┐
│ OwnCompressCall [parms2use] │
│ OwnDeCompressCall [param2use] │
└─────────────────────────────────────────────────────────────────────┘
Usage : When using a customized compression program, you must supply
the parameters to be passed to this program in the option
OwnCompressCall. For any decompression, you must supply the
parameters in the OwnDecompressCall option.
[parms2use] This parameter must be set in a way that the
following sequence is started for compression:
- Compress all files in the current directory in
the new archive;
- Delete all files from the current directory or
compress with a move option (implicit delete);
This parameter must be set in a way that the
following sequence is started for decompression:
- DeCompress all files in the current directory
from the new archive; The name of the new
archive is included at the location where you
add %1 in this parameter.
Relate: All Own-options
Dest. : OWN
┌─────────────────────────────────────────────────────────────────────┐
│ OwnCompressLowErrorRC [errornumber] │
│ OwnDecompressLowErrorRC [errornumber] │
└─────────────────────────────────────────────────────────────────────┘
Usage : When you include a customized (de)compressor, you have to
supply the LOWEST DOS errorlevel given by the (de)compressor
when something is WRONG.
[errornumber] This parameter must be the lowest errorlevel
returned by the (de)compression program when
something is wrong. Values must be between 1 and
255;
Relate: All Own-options
Dest. : 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).
[extension] This parameter must be the (up to 3 bytes long)
extension of the compressed files that are ruled
under the OWN options.
For every file that confirms to the supplied file-mask(s), 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 a 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 must leave out this option out.
Relate: All Own-options
Dest. : OWN
3.3.7 Statements that define the various exits (hooks) in MTA
───────────────────────────────────────────────────────────────────────
The following statements can be used to define one or more exits. The
exit points in MTA can be used to call other programs, before, while
or after the compression and/or start and end of MTA. Some of the
exits like the VirusScanner option are advised, the others are up to
you !
┌─────────────────────────────────────────────────────────────────────┐
│ VirusScanner [desc] [crt] [swap] [lowe] {highe} [path] [parm] {parm}│
└─────────────────────────────────────────────────────────────────────┘
Usage : One of the major topics on the PC today is the virus. MTA has
specific support for the scan for a virus. The scanning (when
active) is done after the decompression of the files (before
the removal of any files that match any ExcludeFile option).
Which scanner(s) you want to use is fully up to you. MTA can
support a wide range of scanners. MTA is tested with the
following scanners (examples for their calls are included in
the sample MTA.CTL inside the distribution archive):
- Scan by McAfee <tm>
- TBScan by Frans Veldman <tm>
- HTScan by Harry Thijssen <tm>
- VIRX by Microcom Software Division <tm>
- CPAV by Central Point Software <tm> (Version 1.2 and up)
- FINDVIRU by S&S International <tm> (Dr. Solomon)
With the current version of MTA, up to 10 scanners can
be included. If a file contains a virus, the archive is
moved to the error-directory and marked with special 0-byte
files. Also further processing of THIS file is aborted and
MTA will start working on the next archive.
[desc] This must be a short description of the type of
scanner. It will be displayed in the MTA log-file
and remote when MTA is doing its work under a
protocol driver like FileDoor <tm>. It can be up
to 40 bytes and spaces must be substituded by
underscore characters ('_');
[crt] You must either supply 'B' or 'D'. If the
scanner is BIOS oriented (line-mode) and can be
run in the MTA window, you can use 'B'. If the
scanner is using direct video calls/running full
screen, you must supply 'D'. MTA will preserve
the screen according to this option;
[swap] This must be the amount of memory (in Kbytes)
that must be available to run the scanner
without MTA having to swap itself out of memory.
The examples in the supplied MTA.CTL are good
ones and used while testing;
[lowe] This must be the errorlevel the scanner returns
when a virus is found. Most scanners use the
errorlevel 1 when a virus is found, some of them
use a range. Check the documentation of the
scanner to make sure you supply the right level.
The examples in MTA.CTL are correct for the
given scanners;
{highe} This parameter is optional. If the scanner will
return a range of errorlevels when a virus is
involved (HTScan does), you must supply the
lower limit in [lowe] and the higher limit in
{highe}. If you don't supply {highe}, it will
be set to the same value as [lowe]. The given
examples in MTA.CTL are correct for the given
scanners;
[Path] This parameter must contain the drive, directory
and filename of the scanner in question. MTA
will validate if the program is at the given
location and give a warning if it isn't;
[parm] {parm} At this location you can (must) supply the
various parameters for the scanner. There are a
few macros available that will be replaced by
values at run-time. These are:
%P This macro will be replaced with the full name
of the HIGHEST directory in the tree where the
decompressed files reside;
%F Will do the same but will show a \*.* behind
the directory;
%D This macro will be replaced with the LAST node
in the directory tree. For example, if the
directory is E:\TUP\TST\1F6566A6, %D will be
replaced by 1F6566A6. This comes in handy for
scanners that make problems in networks;
%L This macro will be replaced by the driveletter
and a colon (C:, E: and so on). Some scanners
can only work on drives and not on directories
only;
%S This is a better replacement for %L. It will
be subtituded with the driveletter (and colon)
of the SUBSTituted drive (only when you use
the SUBST support, which is advised). Only
when the scanner has problems with a SUBST
drive you should use %L. If you don't use the
SUBST support of MTA, %S will be replaced with
the normal drive (as with %L);
Never forget to check if the scanner will halt for a prompt.
If this is the case and you run unattended, you could have a
problem. If you run attended, this makes no difference. Most
scanners implement a type of 'No-prompt' mode, like /NOPAUSE
with SCAN. Be sure to set it somewhere in [parm] or {parm}.
Also do not forget to implement the option to check ALL lower
trees under the directory that is tested. The scanner must
also scan all sub-directories.
Examples for the mentioned scanners are included (and tested)
in the example MTA.CTL in the distribution archive.
Relate: VirusMasks
Dest. : All
┌─────────────────────────────────────────────────────────────────────┐
│ VirusMasks [mask1] {mask2}..{mask10} │
└─────────────────────────────────────────────────────────────────────┘
Usage : Normally when you supply one or more VirusScanner options, MTA
will ALWAYS call all virus-scanners for every archive that is
converted. This can be a pain in the neck when you have lots of
files that don't contain files that can carry a virus. If this
is the case, or you want to limit the testing of viri for some
other reason, you can supply this VirusMasks option. With the
option you can supply 1 to 10 different file-masks. If one or
more of these file-masks match files inside the archive that
is converted, MTA will call the virus-scanners. If no file in
the archive matches any of the masks that you supply with this
option, the virus-scanners are NOT called !
[mask1] This parameter must be a valid file-mask. You can
\\ also use the DISP-compatible format (=value). You
{mask10} must supply at least one mask when you use this
option and you can supply to a maximum of 10 of
these masks. In normal situations you will only
supply extensions like (*.COM, *.EXE, *.OVR and
*.SYS) but it IS possible to trigger the scan
on a full file-mask (like AVIRUS.COM).
When you do NOT supply this option but you have supplied one or
more VirusScanner options, the scan is ALWAYS performed. Only
when the VirusMasks option is present, the scan will be limited
to those archives that contain one or more match !
Relate: VirusScanner
Dest. : All
┌─────────────────────────────────────────────────────────────────────┐
│ EXITBeforeStart {dynswapsiz} [path] {option}...{option} │
│ EXITBeforeEnd {dynswapsiz} [path] {option}...{option} │
│ EXITBetweenConversion {dynswapsiz} [path] {option}...{option} │
│ EXITAfterCompression {dynswapsiz} [path] {option}...{option} │
│ EXITBeforeFill {dynswapsiz} [path] {option}...{option} │
│ EXITAfterFill {dynswapsiz} [path] {option}...{option} │
└─────────────────────────────────────────────────────────────────────┘
Usage : These options include the support for various user exits at
various places in MTA. You can instruct MTA to call a
program OR a batch-file (normally batch-files are not allowed
but they are for these exits). All options have these
parameters in common:
{dynswapsiz]} This can be the amount of memory (in Kbytes)
that must be available to run the scanner
without MTA having to swap itself out of memory.
You can also leave out the parameter (no
swapping);
[Path] This parameter must contain the drive, directory
and filename of the exit in question. MTA will
not validate if they are present but will fail
the exit (but continue) if they are not. You can
either supply a program or a batch-file.
{option} You can include various parameters that will be
passed to the called program/batch over here.
For some options there are special macros (see
below) that can be used.
Some of the exits can contain macros inside the {option} part
of the call, these are:
%1 This parameter can occur anywhere in {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 (only valid for the
ExitBetweenConversion and ExitAfterCompression exits);
%2 MTA will substitute this parameter with the name (not the
extension) of the compressed file (to be) created (only
valid for the ExitBetweenConversion and
ExitAfterCompression exits);
%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 (only valid for the
ExitBetweenConversion and ExitAfterCompression exits);
%T MTA will substitute this parameter with the number of the
MTA-task (see /TASK) that is running. When no /TASK is
supplied, %T will be replaced by 1. This macro can be
used to assign different exits for different tasks;
You can take a look into the supplied example of batch-files
that are present inside the distribution archive.
The various exits are called in the following phases:
ExitBeforeStart Called once, after reading the
MTA.CTL file and before the
actual conversion. Can be used to
(re)set the cache (if any) or to
sort directories and so on;
ExitBeforeEnd Called once, after the conversion
and just before the termination
of MTA. Can be used to reverse
the actions in ExitBeforeStart or
anything else;
ExitBetweenConversion Called after every decompress and
before the actual compress takes
place. Can be used to perform
special actions on the
decompressed files that MTA can't
do for you;
ExitAfterCompression Called after every final compress
of a file. Can be used to perform
actions on the new archive that
MTA can't do;
ExitBeforeFill Only called when /D is used. Can
be used to do something with the
empty diskette that is going to
be filled with files. An example
is to (re)format such a diskette.
Exit is called for every
converted diskette;
ExitAfterFill Only called when /D is used. Can
be used to do something with the
newly filled diskette. An example
is to catalogue all files on the
diskette with your favorite
catalogue program. Exit is called
for every converted diskette;
As said before, there are some example batch-files inside the
distribution archive.
Relate: All of MTA
Dest. : Any
3.3.8 Statements that are useful to Bulletin Board Systems and SysOps
───────────────────────────────────────────────────────────────────────
MTA can be useful for normal user and also for SysOp's of Bulletin
Board Systems (BBS). There are several options that involve the daily
operation of archives inside a BBS.
┌─────────────────────────────────────────────────────────────────────┐
│ QBBSPaths [areafile] {ver} │
└─────────────────────────────────────────────────────────────────────┘
Usage : If you change your file areas once in a while, you can decide
to use another source for MTA than the usage of the
DefaultPath option. If you use the QBBSPaths option, MTA will
start the conversion on all directories inside the area-file
that you assign. This is only useful when you make usage of
AMS (the MarkString/NoMarked options) or the OnlyNewFiles
option. The QBBSPaths option is meant for generic QuickBBS
<tm> systems.
[areafile] This parameter must contain the drive, directory
and filename of the QBBS areafile. MTA will
validate if it is present. The file must follow
the standard (transparent) FLSEARCH.BBS file
format for QuickBBS <tm> versions 2.74 and less
supply {ver} with a value of 'OLD' or must be a
file of the FILECFG.DAT type for versions 2.75
and higher;
{ver} Must be either OLD or NEW (OLD is the default).
OLD must be supplied if [areafile] points to a
FLSEARCH.CTL alike file. NEW must be supplied if
[areafile] is a FILECFG.DAT alike file that is
in use by QuickBBS <tm> from version 2.75 and up.
MTA will work on ALL areas that are supplied in this file. If
you want some extra areas, then add some extra DefaultPath
options to MTA.CTL. All directories from the DefaultPath, the
QBBSPaths and the RAPaths options are merged together when they
are supplied. Also the directories from MAXPaths are included !
IF MTA can detect a CDROM area (FILES.BBS and files are in
different directries), it will ignore this directory unless you
add it with a DefaultPath option !
Relate: DefaultPath, RAPaths, MAXPaths
Dest. : All
┌─────────────────────────────────────────────────────────────────────┐
│ MAXPaths [areafile] │
└─────────────────────────────────────────────────────────────────────┘
Usage : If you change your file areas once in a while, you can decide
to use another source for MTA than the usage of the
DefaultPath option. If you use the MAXPaths option, MTA will
start the conversion on all directories inside the area-file
that you assign. This is only useful when you make usage of
AMS (the MarkString/NoMarked options) or the OnlyNewFiles
option. The MAXPaths option is meant for generic MAXIMUS
<tm> systems (based on MAXIMUS 2.xx and higher versions).
[areafile] This parameter must contain the drive, directory
and filename of the MAXIMUS areafile. MTA will
validate if it is present. The file must follow
the standard AREAS.DAT file for MAXIMUS 2.xx or
higher.
MTA will work on ALL areas that are supplied in this file. If
you want some extra areas, then add some extra DefaultPath
options to MTA.CTL. All directories from the DefaultPath, the
QBBSPaths and the RAPaths options are merged together when they
are supplied.
IF MTA can detect a CDROM area (FILES.BBS and files are in
different directries), it will ignore this directory unless you
add it with a DefaultPath option !
Relate: DefaultPath, RAPaths, QBBSPaths
Dest. : All
┌─────────────────────────────────────────────────────────────────────┐
│ RAPaths [areafile] {RAver} │
└─────────────────────────────────────────────────────────────────────┘
Usage : If you change your file areas once in a while, you can decide
to use another source for MTA than the usage of the
DefaultPath option. If you use the RAPaths option, MTA will
start the conversion on all directories inside the area-file
that you assign. This is only useful when you make usage of
AMS (the MarkString/NoMarked options) or the OnlyNewFiles
option. The RAPaths option is meant for Remote Access <tm>
systems.
[areafile] This parameter must contain the drive, directory
and filename of the RA areafile. MTA will
validate if it is present. The file must follow
the standard (transparent) FILES.RA file format;
{RAVer} There are several formats of the FILES.RA file,
depending on the version of Remote Access <tm>
you use. If you do not supply this parameter, a
RA 1.1x is assumed. If you run an older version
of RA, you must supply a '0' for versions
0.0x or a '1' for versions 1.0x. If you use the
special FILES.nnn (where nnn equals the FILEAREA)
files for CDRom files (only version 1.1x), you
must supply a directory as second parameter and
not a '0' or '1'. In this case RA version 1.1x is
assumed and the directory you supplied will be
used by MTA to detect file-area's that are on a
offline device. MTA will NOT work on these files.
Examples: RA 0.0x RAFILES C:\FILES.RA 0
RA 1.0x RAFILES C:\FILES.RA 1
RA 1.1x RAFILES C:\FILES.RA D:\FILES\
MTA will work on ALL areas that are supplied in this file. If
you want some extra areas, then add some extra DefaultPath
options to MTA.CTL. All directories from the DefaultPath, the
QBBSPaths,MAXPaths and RAPaths options are merged together when
they are supplied. IF MTA can detect the presence of a CDRom
file-area (the FILES.BBS is in another location than the files)
it will IGNORE such directory. If it must be included, you need
to add a extra DefaultPath option !
Relate: DefaultPath, QBBSPaths, MAXPaths
Dest. : All
┌─────────────────────────────────────────────────────────────────────┐
│ ExcludeDirectory [dir] │
└─────────────────────────────────────────────────────────────────────┘
Usage : This option is mainly used when you want to exclude one or more
(up to 255) directories from the directories that are collected
by RAPaths, QBBSPaths and/or MAXPaths. If one or more of the
directories inside in the BBS contain abnormal archives (other
platforms), you can exclude such directory to overcome the
problem that otherwise would occur when MTA starts converting
these archives !
[dir] This value must point to a valid drive/directory
which will be excluded from RAPaths, QBBSPaths or
MAXPaths (even from DefaultPath, but this has no
useful meaning).
Relate: DefaultPath, QBBSPaths, MAXPaths, RAPaths
Dest. : All
┌─────────────────────────────────────────────────────────────────────┐
│ CarryComment [type] {comment} │
└─────────────────────────────────────────────────────────────────────┘
Usage : This option is another way of putting (useful) comment inside
the target archives. There are various in which way this
option can work, but only one is allowed. You can overrule the
type of work with the /CARCOM command-line option though.
With CarryComment you order MTA to carry over any comment from
the source archive (PAK/ZIP/ARJ/ZOO) into the target archive
(same types). The carry can be done in three different ways.
[type] This parameter can be set to 1, 2 or 3. The way
CarryComment will work depends on the number you
set over here. The values have the following
meaning:
1 : MTA will carry over the comment (up to 256
bytes) from the source file, if a comment is
available;
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);
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 will NOT have any comment;
{comment} When you supply this parameter (spaces must be
replaced with underscore characters), MTA will
put this comment IN FRONT of the comment that
came from the carry itself. There will be a CRLF
between this comment and the following (carried)
comment.
You can make a combination of the AutoComment and the current
option (CarryComment). In this case, MTA will add a combined
into the target-file. In the combination, the comment from
AutoComment file comes first and the comment constructed by
the CarryComment statement comes directly (WITHOUT A CRLF)
after this comment. Please keep in mind that you separate the
two comments yourself (if needed) by adding a CRLF in the file
assigned by AutoComment.
Please also read the info on the FilesBBS option and the
AddFilesBBS option.
Relate: FilesBBS, AddFilesBBS
Source: ZIP/PAK/ZOO/ARJ
Dest. : ZIP/PAK/ZOO/ARJ
┌─────────────────────────────────────────────────────────────────────┐
│ FILEIDDIZ {name1} {name2} {name3} {name4} {name5} │
└─────────────────────────────────────────────────────────────────────┘
Usage : For some BBS programs, the file FILE_ID.DIZ has a special
meaning. It contains a description of the programs (files)
that are included inside the archive. MTA can do a few things
with this comment. If you use this option (FILEIDDIZ), you
instruct MTA to store the text from FILE_ID.DIZ into memory.
This is done, only when the archive actually contains a
FILE_ID.DIZ file (or name-like, see parameters).
You can also instruct MTA to search for other files that have
the same usage as FILE_ID.DIZ. In some distribution nets, the
author can create two files, one containing 'high' characters
and one containing only characters in the range X'00'-X'127'.
Other types of files will also be used for sure, so MTA is very
'dynamic' in the usage of this option.
{name1} Normally MTA will look for files with the name
// FILE_ID.DIZ. If this is not the correct standard
{name5} on your system, MTA can look for (an)other
file(s) with such usage but with different names.
MTA will use the priority in the way you order
the different names. If you use A B C D and E for
{name1} to {name5} and the archive contains both
B and D, MTA will use B and will leave D alone.
If you use A D C B and E, MTA will use the D-file
because it comes first in the list. There can be
a maximum of 5 different names !
Previous versions of MTA were not so relaxed when the format of
the FILE_ID.DIZ was tested. There is no actual standard for
this file, though the original distribution-net used files with
8 lines, each containing 43 bytes of text (FILES.BBS format).
MTA would give a warning when more (or less) lines were present
and the lines exceeded the 43 byte bounds. Because of the more
dynamic usage (not only FILE_ID.DIZ can be used), MTA will now
store up to 20 lines of (up to) 128 bytes of text without any
warning.
This option (on its own) will not do more than reading the
file FILE_ID.DIZ (or the names you supplied) and storing the
information in memory. What is going to happen with this
informations is depending on the FilesBBS/AddFILESBBS option
and/or the StoreComment and ReplaceComment option).
Relate: FilesBBS/AddFilesBBS, StoreComment, ReplaceComment
Source: All
Dest. : All
┌─────────────────────────────────────────────────────────────────────┐
│ LeadingSpace TRIM │
│ LeadingSpace CHAR [char] │
└─────────────────────────────────────────────────────────────────────┘
Usage : This is a very special option that can be used when you work
with special door-programs that list your FILES.BBS-alike files
in a non-conventional way.
When MTA obtains information from the FILE_ID.DIZ (or alike)
files and this comments contains spaces at the beginning of
the second (or higher) line, like:
This file description has a special format because
- It contains spaces at the start of this line
- And again
- And again
it will keep this spaces (by default), resulting in entries in
the FILES.BBS-alike file, that look like this:
ffffffff.eee This file description has a special format because
+ - It contains spaces at the start of this line
+ - And again
+ - And again
Some door-programs that list FILES.BBS-alike files with this
format, will display these lines with a bad adjustment on the
screen. To overcome this problem, you can use LEADINGSPACE to
convert the descriptions.
TRIM : When TRIM is used, MTA will strip all leading spaces
from the comment and will add the '+' before the first
non-space character;
CHAR : When CHAR is used, MTA will replace all leading spaces
with the character [char]. [char] can be coded as a
single character (like 'Leadingspace #', resulting in
the replacement of each leading space into '#') or as
a 3-digit number (like 'Leadingspace 225', resulting
in the replacement of each leading space into 'ß').
The number must be decimal !
Relate: FILEIDDIZ, ADDFILESBBS
Dest. : All
┌─────────────────────────────────────────────────────────────────────┐
│ ReplaceComment │
└─────────────────────────────────────────────────────────────────────┘
Usage : When you use the FILEIDDIZ parameter, MTA can add new comments
to FILES.BBS that come from this file (see FILEIDDIZ option).
Normally, MTA will not REPLACE a comment in FILES.BBS with the
comment taken from this file. This could cause much harm to all
your FILES.BBS files when you (re)convert a complete area of
files. All you modified comments would be removed when a file
contains a FILE_ID.DIZ-alike file.
If you want to replace existing comments in FILES.BBS with the
comment that comes from a FILE_ID.DIZ-alike file that is read
when the file in question is converted, you can supply this
option but be careful. For starters, MTA remove the comment
somewhere in the FILES.BBS and will add the new comment to
the end of the FILES.BBS. Also, carefully created comments
with nice bells and whistles are replaced by something that
indeed covers the file-description but is always very simple !
Relate: FilesBBS/AddFilesBBS, FILEIDDiz
Source: All
Dest. : All
┌─────────────────────────────────────────────────────────────────────┐
│ DefFilesBBSDesc [mask] [desc] │
└─────────────────────────────────────────────────────────────────────┘
Usage : When MTA has to add the converted file to the FILES.BBS (alike)
file and there is NO comment taken from ANY location (any of
the FILE_ID.DIZ-alike files and/or previous FILES.BBS entries),
MTA will (by default) add 'No description available' as the
comment inside the FILES.BBS-alike file. Previous versions of
MTA would even only add the filename (and no comment) to the
FILES.BBS-alike file when the archive was NEW.
MTA will now, by default, put 'No description available' in
the FILES.BBS-alike file. This will be the case if NO previous
description is available (FILE_ID.DIZ, FILES.BBS) and/or the
archive is NEW.
BEFORE MTA will add 'No description available', MTA will scan
all available DefFILESBBSDesc options in MTA.CTL. These options
(up to 255 are allowed) have two parameters:
[mask] This must be a valid DOS, 4Dos <tm> or DISP <tm>
filename mask (wildcards allowed). There are no
directories allowed;
[desc] This must be the description that belongs to the
previous [mask]. It can be up to 47 byte long
and spaces are allowed.
If MTA can match the filename with a mask, the comment of the
FIRST match is carried over into the FILES.BBS-alike file.
You can also use this option to change the default comment for
ALL files.
An example:
DefFilesBBSDesc NODELIST.* The new nodelist file
DefFilesBBSDesc NODEDIFF.* The new nodelist difference file
DefFilesBBSDesc NODE*.* Something to do with the nodelist
DefFilesBBSDesc *.LU ARRRG, who uses LU these days ?
DefFilesBBSDesc *.* No description found, sorry !
The following files will give the following results:
NODELIST.A26 Decription : The new nodelist file
NODESHIT.A88 Something to do with the nodelist
NADASHIT.Z12 No description found, sorry !
BAR.LU ARRRG, who uses LU these days ?
FOOBAR.ZOO No description found, sorry !
Relate: FilesBBS/AddFilesBBS, FILEIDDiz, CarryComment
Source: All
┌─────────────────────────────────────────────────────────────────────┐
│ FilesBBS {location} │
└─────────────────────────────────────────────────────────────────────┘
Usage : If you convert files, the name will change in most cases (from
the source system, fi. A.ZIP, to the destination, fi. A.LZH).
This change will cause any entry in the FILES.BBS alike file
to be invalid. MTA can help out in this case. When you add
this option, the entries in the FILES.BBS alike file (if
available) will also change !
There are several formats of this option. If coded without a
parameter, MTA will assume FILES.BBS as the filename and the
directory where the conversion takes place as the location of
the file.
{location} This parameter is optional an can either contain:
- A filename. In this case MTA will assume this
filename as the name of the FILES.BBS alike
file and the directory where the conversion
takes place as the location;
- A full path, containing drive, directory and
filename. In this case, MTA will assume that
you only have ONE FILES.BBS alike file (this
is the case for RBBS-alike systems). The name
and location are assigned with this parameter.
When you don't use the FilesBBSFormat option (see later), MTA
will search for filenames in position 1 of 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 archives that are converted ARE
already changed in the FILES.BBS alike file(s).
If you run the ExitAfterCompression to create SFX files from
the target archives, the change in the FILES.BBS alike file
will be incorrect ! You must use one of the MTA
CompressionType values that instruct MTA to create the SFX. In
this case the change will be done correctly !
It is also possible to change any sizes in the FILES.BBS alike
file(s). Some of these files contain the actual size of the
file (RBBS master directory). MTA will change the size also,
if the correct size was already present in the FILES.BBS alike
file.
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. You should set the various options
as follows:
- Set the FilesBBS option to 'FilesBBS DESCRIPT.ION';
- Set the FilesBBSFormat option to 'FilesBBSFormat 1 1 I2';
- Set the AddFilesBBS option;
- Set the CarryComment option to 2 (without extra parameters);
In this case the comment will be carried over out of the 4Dos
DESCRIPT.ION file (this is a hidden file that 4DOS maintains
when you use the DESCRIBE command), the change of extension
(if any) will be performed in the same file and if there is no
comment for this file in the DESCRIPT.ION file, MTA can carry
over the comment from the archive (if any) into this file.
When the FilesBBS option is active and MTA detects a defective
archive, MTA will move this archive to the supplied directory
for archives in error. MTA will also carry the description
from the original FILES.BBS alike file over to a new FILES.BBS
alike file in this error directory. The original comment will
ALSO stay in the original FILES.BBS alike file. When the
FILES.BBS alike file is on a fixed location, this option is
not triggered.
Relate: FilesBBSFormat
Dest. : All
┌─────────────────────────────────────────────────────────────────────┐
│ AddFilesBBS │
└─────────────────────────────────────────────────────────────────────┘
Usage : If you receive new files without any entries in the FILES.BBS
alike file, MTA can add them for you. If the source archive
also contains a description (comment), this is also added to
that file. The AddFilesBBS option will ONLY function when you
have set the FilesBBS option. The description will only be
added (if present) when the CarryComment option is set with a
value of 1 or 2. The format of the added record is the same as
set in the FilesBBSFormat option.
If you have set the FILEIDDIZ option AND there is such a file
inside the archive, MTA will use THIS comment (it has a higher
priority than CarryComment) for the new entry in the FILES.BBS
alike file. If there already IS a comment in the FILES.BBS
alike file (for this file), MTA will NOT overwrite that comment
with the new comment.
If MTA is unable to obtain comments from the FILEIDDIZ option,
it will also search in any DESCRIPT.ION file (4Dos <tm> comment
file) or in any ?????????.I?? (FileDoor <tm> information file)
file before searching in the DefFilesBBSDesc options !
Relate: FilesBBSFormat, FilesBBS, CarryComment, FileIDDiz,
DefFilesBBSDesc
Dest. : All
┌─────────────────────────────────────────────────────────────────────┐
│ FilesBBSFormat [name] [extension] [comment] │
└─────────────────────────────────────────────────────────────────────┘
Usage : This option will instruct MTA 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.
[name] This parameter must be set to the position where
the filename will start;
[extension] This parameter must be set to the position where
the extension will start. If filename and the
extension are combined together with a point,
[name] and [extension] must be the same value;
[comment] This parameter must be the starting point of the
comment. If the FILES.BBS alike file does not
contain a comment, you must set it to 255. If
the comment 'floats' somewhere in the file, the
starting position is different every time, you
can use another format. In this case you supply
the ITEM NUMBER (and not the starting position)
with the value 'I'. For example:
My.ZIP 1234 The comment
Our.ZIP 233222 The comment
In this case, the comment is floating but is
always the 4th item. In this case you supply I4
for this parameter.
The FilesBBSFormat option only has a meaning when the FilesBBS
option is also set.
Relate: FilesBBS
Dest. : All
┌─────────────────────────────────────────────────────────────────────┐
│ FilesCounter [location] {startchar} {endchar} │
└─────────────────────────────────────────────────────────────────────┘
Usage : This option can be used to instruct MTA how to recognize and
use files-counters in the FILES.BBS-alike file. MTA will use
the information to strip files-counter from descriptions that
are added as comment to the archive (CARRYCOMMENT option) and
to add files-counters when the filenames are changed in the
FILES.BBS-alike files or files are added to this file (if the
ADDFILESBBS option is set).
[location] This is the location of the files-counter in the
FILES.BBS-alike file. Valid values are:
NONE : There are NO files-counters set in the
FILES.BBS-alike files (you don't use any
counters);
START : The files-counters are placed at the
start of the comment;
END : The files-counters are placed at the end
of the comment;
{startchar} This parameter can be used to tell MTA which
character is used as the starting character for
the files-counter (like '[', '{', '(' and so on).
By default MTA assumes the '[' character as the
start-character of the files-counter;
{endchar} This parameter can be used to tell MTA which
character is used as the ending character for the
files-counter (like ']', '}', ')' and so on). By
default MTA assumes the ']' character as the end-
character of the files-counter;
When no FILESCOUNTER option is supplied, MTA will assume:
FilesCounter START [ ]
E.g. counters at the start of the comment, starting with '['
and ending with ']'. FILES.BBS-alike entries will look like:
nnnnnnnn.eee [##] ccccccccccccccccccccccccccccccccccccccccc
When you do not use any counters in your FILES.BBS-alike files,
you have to set:
FilesCounter NONE
Relate: FilesBBS, AddFilesBBS, CarryComment
Dest. : All
┌─────────────────────────────────────────────────────────────────────┐
│ TICKFiles [mask] │
│ FESFiles [mask] │
└─────────────────────────────────────────────────────────────────────┘
Usage : Until now, all previous BBS-options had to do with normal
FILES.BBS alike type of files. The following options do some-
thing with other types of files. These options makes it
possible to pick up the description of a certain file from a
TICK or FES file. When you get your files into the inbound
directory and the *.TIC/FES files along with them, you can now
convert them (and optionally move them) to any other system,
while MTA will try to extract the comment of the file from the
associated TICK/FES-file. You can do two types of things with
these comments. You can add them to the FILES.BBS (if
AddFILESBBS is set to on) AND you can store them in the header
of the archive (comment) when CarryComment is set to on.
If CarryComment is on (independent of the type 1,2 or 3), MTA
will search for the comment in the old archive-header, the
FILES.BBS or both. If TICKFiles is set AND MTA can find a
description in any of the TICK-files, this comment will always
overrule the comment from the FILES.BBS or the old header. The
same goes for the FESFiles option.
[mask] This parameter must point to a drive, directory
and filemask. Most obvious is to include
*.TIC as the filemask (and in some cases
*.BAD can also be handy).
You can use multiple TICKFiles options to assign different
TICK files (*.TIC and *.BAD) and in different directories. Up
to 10 are allowed. Also 10 FESFiles options are allowed
(*.FES, *.BAD).
The TICK/FES-files are ALL searched (for every converted
archive) until either:
- a description is found;
- all files are processed and no description was found;
MTA will search for either FILE: or FILE and DESC: and DESC
inside the TICK-files. This is pointed out in FSC-0028 ! The
FES files follow the authors description !
Relate: FilesBBS, AddFilesBBS, CarryComment
Dest. : All
┌─────────────────────────────────────────────────────────────────────┐
│ UpdateUntypedFiles [mask] │
└─────────────────────────────────────────────────────────────────────┘
Usage : This is a special, independent, option to update any type of
file with the new (converted) name of the archive. Let us take
an example:
-) Some products keeps a small database with names of files
(also your archives) inside. RFW is such an example. Now
you convert some archive and the information inside the
database has become invalid ! UpdateUntypedFiles is the
answer to your problem.
UpdateUntypedFiles will update ANY type of file (even a program
or binary file) with the new name of the archive IF:
- You don't use the /D option;
- The name of the target has the same length as the name of
the source. A conversion from something.ZIP to Something.MD
will not be performed;
- The name location is within the 64K (65535) bytes bounds of
the file; Longer files will NOT be truncated but only the
first 64K of bytes are scanned and (optionally) changed;
[mask] This parameter must point to a drive, directory
and filemask.
You can add up to 10 UpdateUntypedFiles options into the file
MTA.CTL. But be smart and think before you do. MTA will search
ALL files and though this is fast I/O, it can take some time
if you include numerous files !
UpdateUntypedFiles can be used as a replacement to the update
of the FILES.BBS alike file(s) when these files are smaller
than 64K. In that case, this option will give you a 50-200%
gain in speed over the FilesBBS option !!.
Relate: UpdateTICKFiles, UpdateFESFiles
Dest. : All
┌─────────────────────────────────────────────────────────────────────┐
│ UpdateUntypedFull │
└─────────────────────────────────────────────────────────────────────┘
Usage : This option can be used in combination with the previous option
(UPDATEUNTYPEDFILES). If this option is set, MTA will only
change the filename in the 'untyped file' when both the old
filename AND the name of the directory both match the converted
file.
Without this option, MTA will only change the file when the old
old filename matches but MTA won't look at the directoryname.
You should set this option when you use UPDATEUNTYPEDFILES to
update *.MSG files with attached files (TICK/FES support) !
Relate: UpdateUntypedFiles
Dest. : All
┌─────────────────────────────────────────────────────────────────────┐
│ UpdateTICKFiles [mask] │
│ UpdateFESFiles [mask] │
└─────────────────────────────────────────────────────────────────────┘
Usage : The syntax is the same as with UpdateUntypedfiles. See the
chapter about TICK files, later in this documentation. The
material is to complex to put over here.
Relate: UpdateUntypedFiles, UpdateMSGFiles
Dest. : All
┌─────────────────────────────────────────────────────────────────────┐
│ UpdateMSGFiles [dir] │
└─────────────────────────────────────────────────────────────────────┘
Usage : The UPDATEMSGFILES option has a different format than the three
previous options. There can be ut to 255 of these options with
the following parameter:
[dir] This parameter must point to a ddirectory where
your *.MSG files are. Do not code the file-mask,
but ONLY the directory.
See the chapter on TICK files for a description of this option.
Relate: UpdateTICKFiles, UpdateFESFiles
Dest. : All
┌─────────────────────────────────────────────────────────────────────┐
│ UpdateMSGFull │
└─────────────────────────────────────────────────────────────────────┘
Usage : Same as the UPDATEUNTYPEDFULL option but now in relation with
the UPDATEMSGFILES option.
You should set this option when you use UPDATEMSGFILES to
update *.MSG files with attached files (TICK/FES support) !
Relate: UpdateMSGFiles
Dest. : All
┌─────────────────────────────────────────────────────────────────────┐
│ COMPort [port] │
└─────────────────────────────────────────────────────────────────────┘
Usage : MTA has internal modem support. This is needed in case you run
MTA as an exit of the BBS (e.g. a protocol driver like DISP's
FileDoor). When you use modem support, MTA will echo some of
the progress to the COM-port and the user can follow a part of
the conversion. All modem related options will do NOTHING
unless the Remote option or the /REMOTE command-line parameter
is used.
[port] This parameter must point to the COM-port that
MTA will use. If set to 0, no remote tracking is
done.
Relate: BaudRate, Remote, FossilPort /REMOTE
Dest. : All
┌─────────────────────────────────────────────────────────────────────┐
│ FOSSILPort [port] │
└─────────────────────────────────────────────────────────────────────┘
Usage : This option can be used as a replacement for the COMPort
option. The major difference is that [port] will now point to
the FOSSIL port number (usually 1 less than the COM-port).
Relate: BaudRate, Remote, COMPort /REMOTE
Dest. : All
┌─────────────────────────────────────────────────────────────────────┐
│ BAUDRate [baud] │
└─────────────────────────────────────────────────────────────────────┘
Usage : When remote tracking is used, MTA must know the baudrate of
the MTA-to-Modem speed.
[baud] This parameter must be set to the connect speed.
If you use a locked modem, you must set it to
the locked speed and not to the connect speed.
If set to 0, remote tracking is disabled.
Normally you use the /BAUD command-line parameter to set the
baud-rate because it can vary, unless a locked speed is used.
Relate: COMPort or FOSSILPort, Remote, /REMOTE
Dest. : All
┌─────────────────────────────────────────────────────────────────────┐
│ StoreSize {ext} │
└─────────────────────────────────────────────────────────────────────┘
Usage : This option, on its own, does nothing, but it will be useful
when remote tracking is active. In this case it will do a
function that is specific to FileDoor. If this option is
active and MTA is running under FileDoor, MTA will create a
special file with a specific format. This file contains the
ACTUAL size of the file BEFORE the conversion. FileDoor will
detect this file and will credit the user for the actual bytes
that were uploaded and not the newly created number of bytes.
For example the user uploads A.ARC (10000 bytes) and MTA will
convert it to A.ZIP (6000 bytes). Without StoreSize, FileDoor
will credit the user for 6000 bytes but with StoreSize set,
FileDoor will take the actual 10000 bytes as credit.
{ext} Normally, MTA will create a file with the name equal to
the archive (without extension) and the extension XS1.
This extension can only be used in FileDoor 3.01+. All
earlier versions (up to 3.01Γ5) use the extension F$D.
When you run FileDoor 2.03 (up to 3.01Γ5) or a clone of
FileDoor that uses this system, you must change {ext} to
the proper extension (F$D in case of FileDoor 2.03);
Even if you don't run remote, you can still use this option. In
this case, it is up to you (or a batch oriented program) to do
something with the created file(s).
Relate: Remote
Dest. : All
┌─────────────────────────────────────────────────────────────────────┐
│ StoreName {nam} │
└─────────────────────────────────────────────────────────────────────┘
Usage : This option, on its own, does nothing, but it will be useful
when remote tracking is active. In this case it will do a
function that is specific to FileDoor. If this option is
active and MTA is running under FileDoor, MTA will create a
special file with a specific format. This file contains the
name of the archives before and after the conversion. FileDoor
will detect this file and will use it to see any altered names
AFTER the upload.
{nam} Normally, MTA will create a file with the name equal to
FileDoor.XS2. This filename can only be used in FileDoor
versions 3.01 (3.01Γ6 up to release). Only beta-testers
and users of FileDoor <tm> clones will have to alter
{name} to something different (FILEDOOR.F#D for gamma's
up to 3.01Γ5.
Even if you don't run remote, you can still use this option. In
this case, it is up to you (or a batch oriented program) to do
something with the created file(s).
Relate: Remote
Dest. : All
┌─────────────────────────────────────────────────────────────────────┐
│ StoreComment {ext} │
└─────────────────────────────────────────────────────────────────────┘
Usage : This option, on its own, does nothing, but it will be useful
when remote tracking is active. In this case it will do a
function that is specific to FileDoor. If this option is
active and MTA is running under FileDoor, MTA will create a
special file with a specific format. This file contains the
comment (from CarryComment or FileIDDIZ) for the specific file
that was uploaded by the user.
{nam} Normally, MTA will create a file with the name equal to
FILEDOOR.XS3. This name can only be used in FileDoor
3.01+ (up from FileDoor 3.01Γ6). If you use a FileDoor
clone you will have to alter {nam} to the name this
program uses;
Even if you don't run remote, you can still use this option. In
this case, it is up to you (or a batch oriented program) to do
something with the created file(s).
Relate: Remote
Dest. : All
┌─────────────────────────────────────────────────────────────────────┐
│ Remote │
└─────────────────────────────────────────────────────────────────────┘
Usage : When set (and when both COMPort and Baudrate contain non-zero
values), MTA will do remote tracking and will send messages to
the remote user.
Relate: Baudrate,FOSSILPort,COMPort,StoreSize,StoreName,StoreComment
Dest. : All
┌─────────────────────────────────────────────────────────────────────┐
│ RemoteColor [txtlow] [txthig] [ok] [err] [act] [fil] │
└─────────────────────────────────────────────────────────────────────┘
Usage : This option can be used to overrule the default colors that
MTA uses for remote messages.
[...] There are 6 types of colors that can be changed
to your own needs. You must supply ALL of them
when you use this option. [...] can have the
following values:
0 : Black 8 : DarkGray
1 : Blue 9 : LightBlue
2 : Green 10 : LightGreen
3 : Cyan 11 : LightCyan
4 : Red 12 : LightRed
5 : Magenta 13 : LightMagenta
6 : Brown 14 : Yellow
7 : LightGray 15 : White
You must supply a value that is made up by the
foreground-color and background-color with the
following formula:
Color = [Foreground] + 16 * [Background]
Only the values 0 to 7 can be used for the back-
ground color. Also you can add 128 to the total
to force a blinking value !
[txtLow] This is the low intensity text color
(common text). Default value is 3;
[txtHig] This is the high intensity text color
(common text). Default value is 11;
[Ok] This is the color to display ok-text.
Default value is 10;
[Err] This is the color to display errors.
Default value is 12;
[Act] This is the color to display special
activity. Default value is 13;
[Fil] This is the color to display files.
Default value is 14;
Local colors can not be changed (yet). Colors are only shown
when ANSI-support is used (so /ANS0 is not used).
Relate: Remote
Dest. : All
3.3.9 Special statements
───────────────────────────────────────────────────────────────────────
The following statements are a collection of statements that can not
be categorized in one of the other groups.
┌─────────────────────────────────────────────────────────────────────┐
│ IncludeCtl [path] │
└─────────────────────────────────────────────────────────────────────┘
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 your 'normal' run-time options and the 'special'
options you change much.
MTA can handle nested IncludeCTL statements. So you can
include 'IncludeCTL MTA.001' in your MTA.CTL and again you can
include 'IncludeCTL MTA.002' in your MTA.001. The total
number of IncludeCTL options (nested and in the primary file)
can be up to 16.
[path] This parameter must point to the control-file
you want to include. The parameter must contain
the drive, directory and filename.
Relate: None
Dest. : All
3.3.10 Statements available when using a registered version
───────────────────────────────────────────────────────────────────────
The following statements can be used to define one or more exits. An
exit a sort of hook in the MTA execution process. The several exits
(hooks) are called at special places while MTA is executing on one or
more files. The user can 'hook into' the process when one or more
exits are defined in MTA.CTL.
┌─────────────────────────────────────────────────────────────────────┐
│ RegistrationName [name] │
└─────────────────────────────────────────────────────────────────────┘
Usage : This option has only a meaning when you received a key after
you registered MTA. In ANY OTHER case (non registered usage)
you must NOT include this option.
Relate: None
Dest. : All
3.4 Diskette option
───────────────────────────────────────────────────────────────────────
One of the benefits of MTA is its power to convert diskettes with
great ease. This method is only functioning properly when you have a
PC with both floppy (FDU) and hard-disk (HDU).
Most users with hard-disks will have a collection of archive
diskettes, containing their (less) used software. When new archive
systems are released (or newer versions), conversion of the complete
collection is sometimes needed (or wanted).
You must activate MTA's diskette option with the /D switch. If you do,
MTA will start a conversion cycle that can be interrupted by pressing
[ESC] when the next diskette is finished. It can be repeated for the
next diskette when you insert this diskette into the drive and when
you press [ENTER].
Which steps does MTA take to convert a diskette:
- MTA will read all files (the ones matching the wildcard, normally
you use the *.* wildcard to select them all) and will detect which
files are archives or not;
- MTA will move (copy + delete) the archives to the directory that you
assigned to the FDUTempPath option. If you also supplied the
AllDisketteFiles option, MTA will also move all non-archive files to
that directory;
- MTA will convert all archives inside the FDUTempPath directory to
the new system or the higher release;
- The exit ExitBeforeFill is called, so you can do something with the
(empty if AllDisketteFiles was set) diskette (like a reformat);
- Now MTA will sort the converted (and non-archive) files based on
size. It will start a copy for each file, from the FDUTempPath
directory (back) to the diskette until one of the following events
happens:
- The diskette is full before the last file is copied. This can be
the case when the target system has created bigger files (a
negative reduction); - The files are all moved;
Depending on the type of event above, MTA will do the following:
- When there are still files left to copy back, MTA will move these
files to the directory you assigned in the FDUTrashPath option;
- When all files were moved back to the diskette and the diskette
still contains free space (you had a positive reduction on one or
more archives), MTA will look if there is/are (a) file(s) in the
FDUTrashPath directory that fit on the diskette. If so, it will
copy this(these) file(s) until the diskette is full or until there
are no files left that will fit into the free space on the
diskette;
- MTA will now execute the ExitAfterFill EXIT if set;
- MTA will ask for next diskette (or you press [ESC] to terminate);
Please notice that it is possible that MTA leaves some files inside
the FDUTrashPath directory after it has finished. If the number of
files is getting to big (or there are no more diskettes left to
convert), insert an empty diskette in the FDU and run MTA with the /D
option. Because there are no files to convert, MTA will move files
from the FDUTrashPath directory to this empty diskette. You can repeat
this until the lower threshold is reached or until all files are
moved.
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.
These can be used to reformat the diskette or something else (the
'Before' exit) and/or to re-catalog your diskette when you use a
disk-catalog program (the 'After' exit).
3.5 KeyBoard control
───────────────────────────────────────────────────────────────────────
When MTA is executing you have control over some keyboard functions.
When you press [ESC] (escape button), MTA will terminate AFTER the
current files is converted. When you did hit [ESC] but you would like
to continue after all, you can do so by hitting any other key. Using
the [ESC] key is not available when you execute MTA with the diskette
option (/D).
When you press [S], MTA will start a DOS-shell, the moment it is save
to do so. This can be anywhere in the conversion phase. MTA will place
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. If you run in a special text mode that has
more than 110 characters for each line, the [T] button is disabled
because all possible screens are displayed.
3.6 Running multiple copies of MTA at the same time
───────────────────────────────────────────────────────────────────────
You ARE able to execute multiple copies of MTA at the same time when
you run a network or a multitasking environment like DesqView <tm> or
MS-Windows <tm>.
To make it possible for MTA to execute concurrent, you take some
special actions:
- If you use the SubstDrive option, you must make sure you use as many
drive-letters in this option as you are going to run multiple 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. You assign a task number with the /TASK
command-line option. If you forget this, MTA will crash because it
will try to use the same substituted drive for each different task;
After you have setup MTA in the way I described above, MTA will give
protection for some resources:
- MTA will protect all the files it uses INTERNALLY;
- All log-files (if they are the same in all 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. If you want to abort
the waiting (and MTA along the way), you can press [CTRL-E]. In that
case the 'deadlock' is released an MTA will abort;
Some resources can NOT be protected 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 convert
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 one 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 performance 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 good results. But in the
world where these options of MTA are needed, machine-power is
usually available. Also, when you run MTA concurrent and you
use only the /SIM option, performance is not so very much
affected because MTA will only perform a decompress (usually this
is very fast). This is the case when you run MTA as an exit
under some BBS program (like FileDoor <tm>).
3.7 Compression of single executable files (PKLITE)
───────────────────────────────────────────────────────────────────────
With this version of MTA, you can also use MTA to do conversions of
executable files to compressed (self contained) executable files with
PKLITE. This feature merely comes as a bonus to the program.
MTA's main goal is to convert archives from a certain system to a
system you like. The compression of EXE/COM files can be used as a
separate function.
Most of the MTA.CTL statements have no meaning to this type of con-
version. You can setup MTA to do nothing BUT conversion of COM/EXE
files when you set the CompressionType option to PKLITE or UNPKLITE
but in this case you only use around 10% of the programs functions.
In most cases you setup MTA to do a archive-to-archive conversion and
you set CompressionType to the system you like. If you have setup MTA
like this (along with all possible options), you can still use MTA to
convert COM/EXE files by including /PKLITE or /UNPKLITE as a
command-line parameter when you call MTA. MTA will ignore all options
that have nothing to do with the conversion of executable files and
will convert COM/EXE files from normal to PKLITE or back.
I did not include LZEXE because the latest version I have seen can,
only convert from normal to LZEXE'ed and not back. There are programs
that can do the reversed (LZEXE'ed to normal) but there are at least 3
I have seen and I can not create a protected and generalized interface
to all of them (also because 2 of them come as a shell and not as a
stand-alone program). This does not mean that MTA is not LZEXE-aware.
When selecting files, MTA takes into account if a COM/EXE file is
already compressed with LZEXE (0.90 or 0.91) and will skip the file in
that case. When decompressing, MTA will only select PKLITE-compressed
COM/EXE files.
When you run MTA without any file-mask, but WITH the /PKLITE or
/UNPKLITE option (or CompressionType set to one of both), the
tag-window will also change and will only display available files for
this type compression.
A file is available (and usable by MTA) for PKLITE if:
- It is a COM or EXE file;
- If it is not compressed with PKLITE, LZEXE 0.90 or LZEXE 0.91;
- If it is not a self-extracting archive (SFX) of any of the known
archive systems;
A file is available (and usable by MTA) for UNPKLITE if:
- It is a COM or EXE file;
- It is compressed with PKLITE;
3.8 The MTA tag-window
───────────────────────────────────────────────────────────────────────
When you run MTA without any file-masks on the command-line, a tag
menu is displayed. In this tag-menu you have the option to tag inside
only ONE directory. A mix of files in several different directories is
impossible then you use the full-screen tag.
When the tag-menu is displayed, you CAN switch to other directories
and even to other drives. If one or more of the displayed drives is
not available (not ready, door open, unformatted disk) it can be
selected but the tag-window will ignore it after it has detected any
error on that drive. In that case you must select another drive.
When you start MTA with SFX support (so you include self extracting
archives), all files with abnormal extensions and COM/EXE files that
are SFX-files, will be included. The testing will take a while,
depending on the speed of the drive and the machine you have.
If you start MTA with the PKLITE or UNPKLITE option, all available AND
usable files are displayed (so only decompressed executable files or
executable files, compressed with PKLITE).
If you start MTA with the GIFLITE option, all available GIF files that
are not already processed by GIFLITE (AND which are valid for MTA,
based on the MaxGIFDim option) will be shown.
If you start MTA with the GIF option, all available GIF files that are
present will be shown (normal AND GIFLITE).
If you start MTA with the GIF2JPG option, all available GIF files
(again with respect to the MaxGifDim option) are displayed. When you
used the JPG2GIF option, MTA will only show (all available) JPG files.
3.9 MTA and unattended operations
───────────────────────────────────────────────────────────────────────
There are a number of options that influence the way that MTA works in
unattended mode. Most of them you can find out when the need is there
but some must be pointed out.
In most cases you will do an unattended MTA on the same directories
each time over and over. First I must point out the way you must setup
MTA to work in the right directories. This can be done in one of the 3
following ways:
- Put the MTA in a batch-file, change to the right directory before
you call MTA and call MTA with its options (see later). You can
repeat this for every directory. For example:
..
..
D:
CD \ZIP1
MTA [parameters]
E:
CD \ZIP2
MTA [parameters]
..
..
To work on \ZIP1 on D: and \ZIP2 on E:;
- Make the batch smaller and use DefaultPath options in MTA.CTL. You
include DefaultPath D:\ZIP1 and DefaultPath E:\ZIP2 in MTA.CTL and
you can reduce the previous batch to:
..
..
MTA [parameters]
..
..
To work on those two directories again;
- You would like to run MTA on all your directories of a BBS. MTA
supports both QuickBBS <tm> and Remote Access <tm> BBS types. You
include either the QBBSPaths option or the RAPaths option. Inside
the batch you do:
..
..
MTA [parameters]
..
..
And MTA will work on all files in all BBS directories.
Now the next problem. You must tel MTA to work on some files. You can
do this in two different ways:
- Use file-masks for [parameters]. In the previous examples you could
tell MTA to convert all *.ZIP and *.LZH files (ARJ is your target)
with 'MTA *.ZIP *.LZH' and MTA will convert all *.ZIP and *.LZH
files in the supplied directories;
- Use the MarkString and NoMarked options (or /MAS and /MAR on the
command-line). This is a better option. In the previous example you
would have problems when someone uploaded a *.LZS or *.ARC file.
These would not be converted. If you used *.* ALL files would be
converted even those that you converted earlier !!!
NoMarked can be used to tell MTA only to convert files that confirm
to the supplied mask AND that are not converted before. So with the
NoMarked and MarkString options set, the call to MTA can be changed
to 'MTA *.*'. Only those files that are not converted before are
converted and will not be converted again until you set the NoMarked
option to OFF;
- Use the OnlyNewFiles option (see the description of this option);
Finally there are some options that you must change or include. When
you run MTA in unattended mode but you don't want MTA to run longer
than a certain amount of time (BBS events !!) you can include the
RunTime option to limit the number of minutes that MTA can run.
Remember that MTA will start in a new archive even when 1 second is
left, so you can outrun the RunTime by the time that your machine
needs to convert the last archive.
Sometimes you can get frequent warnings on some files. In unattended
mode these warnings won't be seen, neither do you want to hear the
beeping, so put a value of 0 to the WarningTime option. All important
things are logged (when you put on the logging). You can also use the
NoBeep option to make the execution of MTA more quiet. When you run
MTA as an exit under a door (FileDoor <tm>), you should keep the
WarningTime option (set to 1 or higher) and you should use the NoBeep
option. If you set Warningtime to 0 in this case, the user won't see
any error messages !
REMEMBER. ALWAYS include a file-mask. To call MTA without parameters
in unattended mode will force MTA to display the tag-menu and to wait
until you enter the files.
3.10 TICK files and related material
───────────────────────────────────────────────────────────────────────
As you know by now, there are several options that deal with TICK (and
its clone FES) files. I won't go into the TICKFILES option. This
option is described in detail in the CTL-section and is only important
with incoming files.
It becomes different with TICK/FES files that are outbound ! In
general you have the following problems when you run MTA over files
that are also the subject of an outgoing TICK/FES file:
- The messages that are generated by TICK and FES, contain the name of
the archive. With a conversion from ARC to ZIP, this will cause the
file to be renamed from A.ARC to A.ZIP but the messages generated by
TICK/FES still contain A.ARC !
- The TICK/FES files ALSO contain the name A.ARC, so that is another
problem;
- The TICK/FES files also contain the CRC of the A.ARC file. Obvious,
when you convert A.ARC to A.ZIP, the CRC will also be changed but
the TICK/FES files still contain the old CRC;
MTA can deal with all these problems. You must use a number of
special options to do so (using them will cause some overhead on
MTA) but after implementing them, you won't have any trouble with a
conversion of a file that is also subject of a TICK/FES file. In
general, these options can also deal with other products than TICK/FES
if they work in the same way.
The following options must be set and will do the following:
- UpdateTICKFiles and/or UpdateFESFiles
You can add up to 10 of EACH options all pointing to file-masks in
certain directories. When you have set up the BBS is a way that you
support different TICK/FES outbound directories for different nets
(or zones), you must point to all of them, for example:
UpDateTickFiles D:\MAILER\OUTBOUND\TICZONE1\*.TIC
UpDateFESFiles D:\MAILER\OUTBOUND\TICZONE1\*.FES
UpDateTickFiles D:\MAILER\OUTBOUND\TICZONE2\*.TIC
UpDateTickFiles D:\MAILER\OUTBOUND\TICZONE5\*.TIC
When A.ARC is converted to A.ZIP, MTA will scan ALL these files
in the supplied directories and search for hits for A.ARC. When
found, A.ARC is changed in A.ZIP. The TICK/FES files are changed
as binary files. MTA reads up to 16K of data per file and does a
search on the changed item. As a result of this, it is NOT
possible to use these options when the file-name length is
changed. So a conversion from A.MD to A.ARC and reversed is NOT
supported. The changed files don't have to be TICK/FES files
but these files contain the filename (obvious). If your product
also creates a file with a filename inside, MTA can still do the
job !
Now you have a choice either to use the UpdateUntypedFiles option OR
the UpdateMSGFiles option. The choice depends on the number of messages
that are normally inside the MSG-directory. If this are many messages
(100 or more), you should use the UpdateMSGFiles option. If it are a
small number of messages, you should use the UpdateUntypedFiles option.
The UpdateUntypedFiles option will update very fast but will slowdown
MTA when there are many files (*.MSG files in this case) to search thru
after each conversion. The UpdateMSGFiles is somewhat slower than the
UpdateUntypedFiles option but will benefit from the fact that it only
has to search ALL messages ONCE and will then update ONLY THE RELATED
files. I will describe both:
- UpdateUntypedFiles
You can add up to 10 of these options. In our TICK/FES example, this
option must point to the netmail directory (outbound) be- cause the
*.MSG files must also be changed. For example:
UpDateUntypedFiles D:\MAILER\OUTBOUND\TICZONE1\*.MSG
UpDateUntypedFiles D:\MAILER\OUTBOUND\TICZONE2\*.MSG
UpDateUntypedFiles D:\MAILER\OUTBOUND\TICZONE5\*.MSG
MTA will do the same with these files (obvious they are the outbound
messages). This option differs from the previous 2 in the fact that
UpdateTICKFiles and UpdateFESFiles ALSO change the CRC (32-bit CRC)
of the files and this option ONLY the file names;
- UpdateMSGFiles
You can add up to 255 of these options. In our TICK/FES example, this
option must point to the netmail directory (outbound) where the *.MSG
files will be. For example:
UpDateMSGFiles D:\MAILER\OUTBOUND\TICZONE1\
UpDateMSGFiles D:\MAILER\OUTBOUND\TICZONE2\
UpDateMSGFiles D:\MAILER\OUTBOUND\TICZONE5\
The result of these options will be the same as in the previous
example for the UpdateUntypedFiles option BUT will work in a
different way. Where UpdateUntypedFiles will scan ALL *.MSG files
after EVERY converted files (this can slow down the process when
there are MANY messages to search thru), UpdateMSGFiles will work in
he following way:
- When MTA starts, MTA will look in ALL CONFIGURES message areas (3
in the case of our previous example, can be up to 255);
- For every area whete there is at least ONE message found with an
attached file, MTA will create a record in a special file which is
called MTA$$$$$.MFA (in the current directory or the directory
pointed to by the MTATEMPPATH option);
- Each record can contain information for message numbers 1 to 65000
which would be enough;
- Now AFTER the conversion of EVERY file, MTA will search thru the
MTA$$$$$.MFA file and will only try to change the messages that
have attached files in the message. The change will only be done
when the filename of the old file (f.i. A.ARC) will match the name
in the message;
- Before termination, MTA will delete the MTA$$$$$.MFA file again;
With this flow of action, MTA will only have to check the messages
that have files attached to them, which will normally be only a small
percentage of the total number of messages.
When you use the UpdateTICKFiles/UpdateFESFiles options in combination
with the UpdateUntypedFiles/UpdateMSGFiles options to update your TICK
or FES files (incomming and outgoing), you should also set one of the
two related options UpdateUntypedFULL or UpdateMSGFull.
DON'T use this options when you don't work with a TICK/FES
alike complex. When UpdateTICKFiles and/or UpdateFESFiles
options are present in MTA.CTL, MTA will ALWAYS calculate the
32-bit CRC of the source and the target. This causes overhead
when there are never updates for TICK or FES files. The 32-bit CRC
is fast but on a big number of files it will still count ! If you
have TICK or FES files that are BIGGER than 16K, please contact me.
I can change MTA to make it compatible with files up to 64K, but it
will cause memory overhead. Only when your seen-by lines are to
many to mention, these problems will occur !
3.11 FES, yet another TICK-clone ?
───────────────────────────────────────────────────────────────────────
By now you will have seen the word FES several times. In zone 2,
net 24x, most of the people know FES. FES looks like a TICK-clone
but implements some nice features (including its own type of
communication files, called *.FES) that are not found in TICK.
FES is already released but development goes on. Most
eye-catching is the HATCH procedure that gives you a user-friendly
interface between your files, FILES.BBS (in AND out) and yourself.
FES can optionally create FES or TICK files for a given node.
If TICK is all you want, stay with TICK or take a peek at FES. If
you are doing distribution yourself (so adding new files to a chain),
like I do, FES could be it. Also, if you have nodes that want a
large number of files from certain area's, FES can also come in
handy and there is even a FESFix option to obtain files from remote.
FES can be obtained from several german BBS's and the author can be
contacted thru FidoNet.
3.12 Special ARC considerations
───────────────────────────────────────────────────────────────────────
There are a few special ARC-files. These are the files that
are normally created with a clone of ARC or with ARC 7.xx (or whatever
SEA likes to call it). In MOST cases, these archives can not
be decompressed with ARC, PAK or PKUNPAK but need a special
kind of program.
So far I have NO information about SEA's new archiver and that
will stay that way unless either SEA or someone else can give
me full details about the operation of this program. Until that
time, SEA eXtended (7.xx) archives will NOT be supported as
OUTPUT (target) files.
There ARE is a special program that is able to EXTRACT these
special type of archives. It is called XARC.EXE and is released
by SEA for PD/Shareware (??) usage. XARC must be executed without
any parameters and is therefore not suitable to be included in MTA's
ARCPath option !
The same story goes for some very old types of archives that are
more or less compatible to the older ARC. An example is the older
ARCA and its counterpart ARCE but these files will, in general, be
available for decompress with ARC, PAK or PKUNPAK.
From my point of view, it is very difficult to support all these
non-standard formats. But to make it more flexible, I have included
ONE options that makes it possible to use a special un-arc program
that will be used for all ARC-alike archives. You could even call a
special shell program that can see the difference between all
ARC-formats (I do NOT mean the difference between ARC, PAK and
PKUNPAK, MTA can see this for itself) and calls the correct un-ARC
procedure for the supplied archives. This option is the UNARCPath
option. The program that is supplied in this option will ONLY be
called for DECOMPRESSION and is called as PROGRAM.EXT
DRIVE:\PATH\ARCHIVEN.AME (no options, only the archive and its
location is presented in the call).
The UNARCPATH option is designed to be used with XARC.EXE or with
ARCE.EXE/ARCE.COM when you don't expect eXtended SEA archives !
If you include the following:
ARCPATH C:\ARC\ARC.EXE [rest of MTA-parameters]
UNARCPATH C:\ARC\XARC.EXE [rest of MTA-parameters]
The following will happen when MTA is called to convert A.ARC to the
ARC format:
- XARC.EXE (or its substitute) is called for decompress;
- ARC.EXE (or its substitute) is called for compress;
The following will happen when MTA is called to convert A.ARC to the
ZIP (or any NON-ARC) format:
- XARC.EXE (or its substitute) is called for decompress;
- PKZIP.EXE (or its substitute) is called for compress;
Now the same sequences without UNARCPath set and without XARC.EXE in
your DOS-path:
- ARC.EXE (or its substitute) is called for decompress;
- ARC.EXE (or its substitute) is called for compress;
and
- ARC.EXE (or its substitute) is called for decompress;
- PKZIP.EXE (or its substitute) is called for compress;
The latter can result in errors when A.ARC is a SEA eXtended (7.xx)
archive. The first examples will run fine !
If you think this is all, then read on. It will become rather messy.
In their development, NoGate (PAK) and SEA (ARC) have both found it
the correct procedure to keep the internal archive format the same
(understandable, you will be backward compatible), but they both use
the archive version-number 10 (and maybe higher on SEA's format, but
information is not available to me) for their extended format. In the
NoGate version, 10 is crushed, in the SEA format, 10 is something else
(eXtended in any case because XARC can decompress it). Now see what
happens with A.ARC (an eXtended archive, containing 10 files, created
with ARC 7.xx):
- A.ARC contains 10 files all with code 10;
- Code 10 is PAK crushed;
- PAK.EXE with extract is called to decompress the archive;
- The result is an archive in error and not converted because PAK
terminates with error 'CRC error in data' or something else;
Nothing can keep me from thinking that the same COULD also be the case
for code 11 (NoGate destilled, SEA whatever) or even higher ! In any
case it is a complete mess and about 10K of coding in MTA is consumed
by these little jokes. The actual victims are the users who receive
ARC 7.xx files AND PAK files. Our dear friends in the SDN/SDS circuit
to name but a few !
MTA fixes the problem with the ARC-version 10 and 11 with a rather Q&D
solution. When PAKPath AND UNARCPath are available in MTA.CTL, MTA
will first call PAK with the T (test) option. If the resulting
errorlevel is not 0, MTA will use the program you supplied in the
UNARCPath option (e.g. XARC.EXE). If the resulting errorlevel equals
0, MTA will use the program you supplied in the PAKPath option (e.g.
PAK.EXE).
When the PAKPAth option is NOT available and PAK.EXE is not in the DOS
path but A.ARC contains files with archive-code 10, MTA will use the
program supplied in UNARCPATH by default, EVEN when A.ARC was a NoGate
archive with crushed files (in which case the decompress will result
in an error). When the PAKPath option IS available but the UNARCPath
option is NOT, A.ARC will be marked as a NoGate archive (even when it
is SEA eXtended) and the program supplied in the PAKPath option is
used (resulting in an error when A.ARC was SEA eXtended). When BOTH
are NOT supplied, MTA will give an error because neither PAKPath nor
UNARCPath are present.
The special dirty tricks that must be executed on these files will
result in somewhat overhead but should work full-proof. Because I
dislike 2 versions per day, I do the same with archives that contain
only ARC-version 11 files). Normal users should not use the UNARCPath
option UNLESS they got trouble. SDS/SDN sysops will have no other
choice than to include them (in general).
You can make up your own mind about all these special tricks that must
be executed to serialize an archive in the correct way. I myself find
it rather strange that these mixups are created in the first place.
3.13 Using newer versions of archivers
───────────────────────────────────────────────────────────────────────
Once in a while you receive new versions of the archivers that you use
(or don't use). In some cases, it is quit a risk to start converting
all files to the new version (certainly when you receive beta
versions) and in some other cases you would like to see if a specific
new option is indeed working and giving you the expected result.
UNLESS the internal format of the archive is changed, MTA can work
with a ALTernate set of archive-program versions. This comes in handy
when you want to test the new version on various files but in the mean
while you would like to convert all other files with the older
version.
All you have to do is the following:
- Rename the new version (for example, you receive PKZIP/PKUNZIP 2.0ß,
in which case you could rename PKZIP.EXE to P2ZIP.EXE and
PKUNZIP.EXE to P2UNZIP.EXE);
- Alter the xxxPath option(s) in MTA.CTL. You must add the path to the
new version as the LAST parameter in the option. In this example you
add the path, C:\ARC\P2ZIP.EXE to the PKZIPPath option and also you
add C:\ARC\P2UNZIP.EXE to the PKUNZIPPath option. They will look
something like:
PKZIPPath C:\ARC.PKZIP.EXE N 200 C:\ARC\P2ZIP.EXE
PKUNZIPPath C:\ARC.PKUNZIP.EXE N 200 C:\ARC\P2UNZIP.EXE
You can do this for each and every archiver (GIF-conversion program)
you use;
- Alter the xxxVersion option in MTA.CTL. You must add the version of
the new release as the second parameter to the xxxVersion option(s).
In the example, you normally use PKZIP 1.10 and will start to test
the PKZIP 2.01. In this case you change ZIPVersion so it will have
both values showed (ZIPVersion 110 201);
When you are finished with the changes, you can execute MTA as normal
to get the 'normal' versions of all archivers. When you execute MTA
with the (optional) /ALT command-line parameter, MTA will look if
there is a second path available inside the xxxPath option and will
use THAT one. If it is not set, MTA will use the original path from
this option (e.g. there is no new version present). After this routine
is finished, MTA will look if there is a second value set in the
xxxVersion. If so, MTA will use that one, otherwise the original value
(or the default value) is used. With our example and in short:
MTA *.* will convert files, using PKZIP/PKUNZIP (1.10) when
needed, to the format you have set;
MTA *.* /ALT will convert files, using P2ZIP/P2UNZIP (2.01) when
needed, to the format you have set;
3.14 Lo-tek functions, calling MTA as shell under MTA
───────────────────────────────────────────────────────────────────────
MTA can only call itself as a child (to work on arc-in-arc files). If
you try to run MTA as a shell of MTA (e.g. you press [S] to shell out
if MTA and start MTA again), you will get a message and the second MTA
will abort.
This coding is present for a various number of reasons (one of the is
the usage of SUBST functions). If for some reason these functions can
not be used, MTA will give a 'lo-tek' warning and will perform various
other tests to make sure that it's own working-environment is not
trashed by other tasks.
3.15 TEC files
───────────────────────────────────────────────────────────────────────
With every release, one or more *.TEC files will be supplied. These TEC
files will each go deeper into some delicate subjects. The TEC files
are based upon the most frequently asked questions. These problems can
range from examples for simple setups to discussions about comments in
archives.
┌───────┬─────────────────────────────────────────────────────────────┐
│ 4 │ Runtime information │
└───────┴─────────────────────────────────────────────────────────────┘
4.1 Command-line parameters
───────────────────────────────────────────────────────────────────────
Most of the information that MTA needs is obtained from the MTA.CTL
configuration file. When you want to change one (or some) of the
options temporary, you can use command-line parameters to do so.
The syntax to start execution of MTA is:
MTA {filespec} {filespec}..{filespec} {CMD} {CMD}..{CMD}
{filespec} is the optional wildcard (or complete filename) you can
supply. You can supply up to 25 {filespec} values. You can
use the normal DOS wildcards AND the special wildcard that
is supplied in almost ALL DISP-programs. This is the '='.
This wildcard can be used for a shifted test. =MTA will
select files with the names doMTA.bat, MTAtest.zip,
newMTA.me. If you want to include the '.', you MUST supply
it in the wildcard. =A.Z will include mtaA.Zip and so on.
If you do not supply a {filespec} a full-screen menu will
be shown. This menu can be used to select files in ONE
directory.
{CMD} You can (optionally) supply one or more command-line
options when you execute MTA. Some of the work like a
toggle, some of the overrule options in MTA.CTL, some of
them can only switch on or off in MTA.CTL.
In general, the /STOSIZ, /STOCOM and /STONAM toggles work in
the old-fashioned way, command-line options that work like a
toggle, can be supplied in two different ways:
- /CMDOPT
With this format you reverse (toggle) the option in the
MTA.CTL file but you need to know for sure in what state
the option in MTA.CTL is. In other words, if the FOO
option is set in MTA.CTL, /FOO will switch is off. If it
was off in MTA.CTL, /FOO will switch it to on;
- /CMDOPT+ or /CMDOPT-
With this format you can explicitly switch an option on
(with /COMOPT+) or off (with /CMDOPT-). You don't need to
know in what state the option in MTA.CTL is;
The three switches mentioned earlier (/STONAM, /STOSIZ and
/STOCOM) work in the old way (+ or - is NOT possible). This
is the result of the extended format (where a name can be
supplied along with the command-line option).
A command-line parameter must start with a slash ('/').
Multiple command-line parameters must be separated with at
least one space. If the command-line parameter has extra
values, the must follow the parameter itself WITHOUT any
spaces between the command-line parameter and the value. If
the value must include spaces, you must replace them with
the underscore character. So if you use the /M command-line
option to move files to C:\ZIP, you must supply /MC:\ZIP;
The following command-line options are available and can be used:
4.1.1 Command-line parameters that stand on their own
───────────────────────────────────────────────────────────────────────
The following command-line parameters can be used (in special cases)
and they don't have any counterpart in MTA.CTL.
┌─────────────────────────────────────────────────────────────────────┐
│ /? │
└─────────────────────────────────────────────────────────────────────┘
Function : Using /? will activate MTA's help system. When this system
is invoked, no conversion will be possible. You are shown a
screen where all command-line options are described. You
can now hit the [ENTER] key and you will have the option to
setup the calling sequence for MTA. You can do this for
different options until you have all the options you need
(so you can read about the option and its syntax while you
can write it down in the help-screen's little note-book).
When you have finished (use [ESC]), the system will make a
batch-file, called GOMTA.BAT with all this options inside.
You can start this batch-file (and you can even add some
extra parameters to it);
┌─────────────────────────────────────────────────────────────────────┐
│ /CTL[path] │
│ /CTL[file] │
└─────────────────────────────────────────────────────────────────────┘
Function : By default, MTA will use MTA.CTL IF the file is somewhere
in the DOS path (DOS 2.x and higher), in the current
directory (all DOS versions) or in the directory where the
MTA.EXE file resides (DOS 3.x and higher). If your MTA.CTL
does not follow this conventions OR you want to assign a
different name for it OR you want to use an alternate file
for special tasks, you can instruct MTA to use this file if
you supply the /CTL command-line parameter. It comes in two
forms. Either you supply a complete path (eg. the drive,
directory and filename, or you just supply the filename, if
MTA is able to find it in the same was as it can find the
MTA.CTL (path, current directory, executed directory).
┌─────────────────────────────────────────────────────────────────────┐
│ /TASKnn │
└─────────────────────────────────────────────────────────────────────┘
Function : If you want to run multiple (concurrent) runs of MTA, you
must supply a task-number to each of the concurrently
running tasks. By default, MTA assumes that is will run
stand alone. If this is not the case, you must supply the
/TASK switch with a task-number from 01 to 99. Each con-
currently running MTA must have a different task-number !
┌─────────────────────────────────────────────────────────────────────┐
│ /LVL0 │
│ /LVL1 │
│ /LVL2 │
│ /LVL3 │
└─────────────────────────────────────────────────────────────────────┘
Function : There are several command-line parameters that can be used
to limit (extend) the search for files to be converted.
The set of /LVLx command-line parameters can be used (in
combination with the filemask(s)) to define WHERE MTA has
to look for files. They can be used as command-line driven
replacement for some of the options in MTA.CTL (DefaultPath
to name one). The search is extended in the following way:
/LVL0 : The search will be done in the CURRENT directory.
This is the same as NOT using any DefaultPath (or
alike) option in MTA.CTL or using /W when you did
set these options. It can be overruled to run MTA
from the command-line for just the current
directory without having to change the DefaultPath
(or alike) options in MTA.CTL;
/LVL1 : With /LVL1, MTA will look in all sub-directories
under (NOT INCLUDING) the current directory;
/LVL2 : With /LVL2, MTA will look in all sub-directories
under AND the current directory;
/LVL3 : With /LVL3, MTA will search the whole CURRENT drive
(all directories included);
┌─────────────────────────────────────────────────────────────────────┐
│ /@[path] │
└─────────────────────────────────────────────────────────────────────┘
Function : All the files you want to convert can be selected in
several ways. The usage of the /@ command-line option is
just only one of them. [path] must point to a drive,
directory and filename that exists. This file must be a
ASCII flat-file (created with any normal line-editor) and
it must contain one filename on each line (any drives and
directories are stripped by MTA internally). All files must
reside in one directory. It is allowed to use wildcards
but, unlike the masks you can supply on the command-line,
the extension '.*' is NOT added when you do not supply any
extension. MTA will convert all these files (if they
exist) after each other. You can use /@ when the masks on
the normal command-line would exceed the maximum number of
bytes of a parameter list.
│ As an extension to this option, it is now also allowed to
│ supply various files with directory-names in VARIOUS
│ directories (usage for some popular programs that call MTA
│ to convert archives). There is one flaw. If you use this
│ format, MTA will search for all supplied files in ALL of the
│ supplied directory, so:
│
│ F:\ZIP\TEST.ZIP
│ C:\TEST\WANTED.ARJ
│
│ Will force MTA to convert TEST.ZIP and WANTED.ARJ in F:\ZIP
│ and to convert TEST.ZIP and WANTED.ARJ in C:\TEST. Normally
│ this is no problem because only one of the two will reside
│ in each directory.
┌─────────────────────────────────────────────────────────────────────┐
│ /IP[password] │
└─────────────────────────────────────────────────────────────────────┘
Function : With MTA you can convert encrypted files. When you select
such files, you MUST supply the original password that was
used for encryption. You can only supply ONE password for
each execution of MTA, so when you must convert various
files with various passwords, you must do so in separate
runs of MTA. The password that is needed for the decompress
of the input-file, is supplied with the /IP option. There
is (obvious) no counterpart in MTA.CTL;
┌─────────────────────────────────────────────────────────────────────┐
│ /OP[password] │
│ /OP@ │
└─────────────────────────────────────────────────────────────────────┘
Function : It is possible to let MTA create new archives that will be
encrypted with a password. In this case, you must supply
the password for the target files, which is used as the
password for compression IF the target system supports any
encryption in this way. Any target files with passwords are
(optionally) recorded in a log-file (filename and the
password). There is no counterpart in MTA.CTL BUT you could
use the xxxCompression options to set a fixed password (if
needed).
When you use /OP with a password, you can also use some
macros inside [password], in which case MTA will do a
substitution of the macros. The following macros are
available:
$JD : Replaced by julian-date number. This is the number of
days, counted from the start of the year, so January
31th will be date-number 31, February 2nd will be
number 33 and so on;
$JY : Replaced by the year-component. These are the last 2
bytes of the year (so 92 for 1992);
$ND : The current day (2 positions always);
$NM : The current month (2 positions always);
$NY : The current year (4 positions always);
$FN : The current filename (only name, not extension)
/OP$JY$JDRvh will create a password of 92002Rvh when used
on January 2nd 1992. With this macros you can create any
password you like, as long as the target password (and the
supplied [password]) will NOT contain any spaces.
/OP@ is a special form of password usage for output files.
If you supply /OP@, MTA will generate a RANDOM password for
every file it converts. In this case the logging of these
passwords is mandatory otherwise you would never know which
passwords were assigned to which files. These IS some usage
for this option. You can allow users to download ANYTHING
from your system but they can only use the files when they
obtain the password in another way (by calling you on a
separate line, by paying you in which case you can send the
passwords by mail etc.);
┌─────────────────────────────────────────────────────────────────────┐
│ /ALT │
└─────────────────────────────────────────────────────────────────────┘
Function : When you have set SPECIAL versions of archivers (see the
xxxPath and xxxVersion options in MTA.CTL) that can be used
(on request) for testing or swift conversion, you can
select THESE versions (which are not the normal versions)
by using the /ALT command-line parameter. When /ALT is
used, MTA will look if an alternate version of any archiver
is set and will, if set, this version (if needed). If there
is no special version set, /ALT will cause the normal
version to be used. See the chapter on using new versions
of archivers;
┌─────────────────────────────────────────────────────────────────────┐
│ /SIM │
└─────────────────────────────────────────────────────────────────────┘
Function : This option can be used to execute MTA in a kind of
simulate mode. For each archive to be converted, MTA will
do the following:
- Decompress the file;
- Scan for Virus;
- Call exits;
This option comes in handy when you execute MTA under a
door inside a BBS (FileDoor) to look for a virus inside
files, the moment the file is uploaded or to check you
files (without a convert) when a new virus-scanner is
released. There is no counterpart option for this
command-line parameter in the MTA.CTL file;
┌─────────────────────────────────────────────────────────────────────┐
│ /REMSIM │
└─────────────────────────────────────────────────────────────────────┘
Function : This option can be used to create a file called MTAVANSI.xxx
(where xxx is equal to the MTA-task number, by default this
will be 001). After MTA has finished, you can use DOS TYPE
to list the file. You will see what otherwise a remote call
would have seen when MTA would have been used under a BBS
door (like FileDoor <tm>). You can use several runs with
/REMSIM to adjust the remote colors to your own taste !
If you do not delete the MTAVANSI.xxx file yourself, MTA
will append to that file if /REMSIM is used again and the
file is still in place (by default, MTA will place the file
in the CURRENT directory).
┌─────────────────────────────────────────────────────────────────────┐
│ /DATE │
└─────────────────────────────────────────────────────────────────────┘
Function : This option can be used to execute MTA in a kind of
simulate mode. For each archive to be converted, MTA will
do the following:
- Test if the file matches any mask;
- If it does, test if the date is lower than the date that
you supplied in the DelOldFiles option;
- If it does, manipulate the file (delete, move) depending
on the DelOldPath option;
This option comes in handy when you execute MTA to remove
(without conversion) all your files that are too old to
keep.
┌─────────────────────────────────────────────────────────────────────┐
│ /ANS[type] │
└─────────────────────────────────────────────────────────────────────┘
Function : When this command-line parameter is NOT set AND MTA will
use remote logging, MTA will use ANSI sequences. This is
also the case when you code any value from 1 to 9 for
[type]. If you use the value 0 for [type] MTA will use
ASCII for remote logging;
┌─────────────────────────────────────────────────────────────────────┐
│ /D{=d:} │
└─────────────────────────────────────────────────────────────────────┘
Function : With this parameter you instruct MTA to start the diskette
support as described before. There is no alternative option
for it in MTA.CTL. When you use /D, MTA will start
diskette support for DRIVE A:. If your diskettes are
accessed from another drive (eg. B:), you must use /D=B:
to do so;
4.1.2 Command-line parameters that overrule/toggle/disable MTA.CTL
───────────────────────────────────────────────────────────────────────
The following command-line parameters will either switch an option in
MTA.CTL on, off or will act like a toggle. Some can overrule values
that are set in MTA.CTL.
│┌─────────────────────────────────────────────────────────────────────┐
││ /DEBUG{file} │
│└─────────────────────────────────────────────────────────────────────┘
│Function : See MTADEBUG.TEC inside the supplied MTA__TEC.EXE file for a
│ discription of this option.
┌─────────────────────────────────────────────────────────────────────┐
│ /ARC │
│ /ARJ │
│ /ARJSFX │
│ /DWC │
│ /HYP │
│ /LZH │
│ /LZHSFX │
│ /LZS │
│ /MD │
│ /OWN │
│ /PAK │
│ /PAKSFX │
│ /SQZ │
│ /SQZSFX │
│ /ZIP │
│ /ZIPSFX │
│ /ZOO │
│ /PKLITE │
│ /UNPKLITE │
│ /GIFLITE │
│ /GIF2JPG │
│ /JPG2GIF │
│ /GIF │
└─────────────────────────────────────────────────────────────────────┘
Function : Normally MTA will convert all matched (and selected) files
to the system you assigned to the CompressionType option in
MTA.CTL. With these command-line switches you can overrule
them with another format (see CompressionType option for a
description of the various supported targets);
┌─────────────────────────────────────────────────────────────────────┐
│ /NO4DOS │
└─────────────────────────────────────────────────────────────────────┘
Function : When you run under 4DOS <tm> and you want to use MTA's
internal move options, you can overrule the 4DOS <tm>
MOVE command with this parameter. It has the same
meaning as when you include the Not4DOSAware option in
MTA.CTL.
┌─────────────────────────────────────────────────────────────────────┐
│ /W{directory} │
└─────────────────────────────────────────────────────────────────────┘
Function : When you have included DefaultPath (or alike) options in
MTA.CTL, or you wish to convert files in another directory
as the current, you can include /W. /W by itself will over-
rule any DefaultPath (or alike, like RAPaths) option in
MTA.CTL and will force MTA to work inside the CURRENT
directory. /W{directory} (so you append a valid directory
to the parameter, like /WD:\ZIP) will force MTA to work on
the supplied directory;
┌─────────────────────────────────────────────────────────────────────┐
│ /TOUCHC{+days} │
│ /TOUCHH │
│ /TOUCHL │
│ /TOUCHF │
└─────────────────────────────────────────────────────────────────────┘
Function : One of these command-line parameters can be used (if you
use multiple at the same time, only the last will count) to
overrule the touching system that MTA uses. If you have set
a way of touching (TouchHig, TouchCur, TouchLow) in the
MTA.CTL, these parameters can be used to overrule this
option in the following way:
/TOUCHC : Converted files will get the current date (or a
date {+days} (for example /TOUCHC+10 for +10 days)
away from the current-date;
/TOUCHH : The same as using TouchHig in MTA.CTL (use the
highest date inside the archive);
/TOUCHL : The same as using TouchLow in in MTA.CTL (use the
lowest date inside the archive);
/TOUCHF : Files will keep the same date as they had before
the conversion started;
┌─────────────────────────────────────────────────────────────────────┐
│ /M{directory} │
└─────────────────────────────────────────────────────────────────────┘
Function : If you use the MoveToDir option in MTA.CTL you can use /M
on its own to make that option inactive. If you also append
a directory (eg. /MD:\ZIP\TRA), it will work the same as if
you supplied D:\ZIP\TRA as the directory in this option.
So /MD:\ZIP\TRA will move converted files to D:\ZIP\TRA
even when the MoveToDir option in MTA.CTL is set otherwise
or when it is not set at all;
┌─────────────────────────────────────────────────────────────────────┐
│ /C2G[options] │
│ /C2J[options] │
│ /CD[options] │
│ /CGL[options] │
│ /CH[options] │
│ /CHS[options] │
│ /CJ[options] │
│ /CJS[options] │
│ /CL[options] │
│ /CQ[options] │
│ /CS[options] │
│ /CSS[options] │
│ /CZ[options] │
│ /CZS[options] │
│ /CGT[options] │
└─────────────────────────────────────────────────────────────────────┘
Function : For almost all archivers (and GIF-alike programs) you can
add some extra options for each and every archiver (or GIF
program). These options can be found in MTA.CTL as the
xxxCompression options (see over there). You can also over-
rule them (or add them on the fly) with these command-line
parameters. [options] must be the added options for that
archiver. Spaces must be replaced by underscore characters,
so '-a -z' must be coded as '-a_-z' (without the quotes).
Each of the command-line parameter stands for:
- /C2G GIF2JPG
- /C2J JPG2GIF
- /CD DWC
- /CGL GIFLITE
- /CH LZH
- /CHS LZH (SFX)
- /CJ ARJ
- /CJS ARJ (SFX)
- /CL PKLITE
- /CQ ZOO
- /CS SQZ
- /CSS SQZ (SFX)
- /CZ ZIP
- /CZS ZIP2EXE (ZIP SFX)
- /CGT GIFTEST
Refer to the documentation for each archiver to see a list
of non-common options that can be used. Also remember that
the SFX creation is done AFTER the compression (and NOT at
the same time, even if the compression program supports
it). This means that adding something for LZH SFX will
cause that it will ONLY be used to create the SFX and NOT
for the compression of the LZH-file (same goes for all
other SFX's);
┌─────────────────────────────────────────────────────────────────────┐
│ /Z{path} │
└─────────────────────────────────────────────────────────────────────┘
Function : This command-line parameter has the same meaning as the
usage of the AutoDescription option in MTA.CTL. When you
use /Z as is, the AutoDescription option (if set) is turned
off and no comments will be added. When you append a path
(the drive, directory and filename) to the parameter, the
file that you supply will be added as comment to all
converted archives that support these comments. As such it
can be used to (temporary) add the AutoDescription or to
overrule the values set in MTA.CTL;
┌─────────────────────────────────────────────────────────────────────┐
│ /CARCOM{n} │
└─────────────────────────────────────────────────────────────────────┘
Function : This command-line option can be used to change the behavior
of the CarryComment option in MTA.CTL (if set). When you
supply /CARCOM as is, the CarryComment option in MTA.CTL
will be (temporary) switched off. If you use /CARCOMn
(where 'n' is the number 1, 2 or 3), you can (re)set the
function of the CarryComment option for this run;
┌─────────────────────────────────────────────────────────────────────┐
│ /AFB │
│ /AFB- or /AFB+ │
└─────────────────────────────────────────────────────────────────────┘
Function : This command-line parameter is a toggle for the AddFilesBBS
option in MTA.CTL;
┌─────────────────────────────────────────────────────────────────────┐
│ /P │
└─────────────────────────────────────────────────────────────────────┘
Function : When you use the /P command-line parameter, MTA will stop
any logging in the normal log-file(s) for the duration of
the run.
┌─────────────────────────────────────────────────────────────────────┐
│ /DI │
│ /DE │
│ /DD │
└─────────────────────────────────────────────────────────────────────┘
Function : You can disable the functions of the options IncludeFile
(/DI), ExcludeFile (/DE) and the DoNot (/DD) options with
help of these command-line parameters;
┌─────────────────────────────────────────────────────────────────────┐
│ /E1 │
│ /E2 │
│ /EB │
│ /EG │
└─────────────────────────────────────────────────────────────────────┘
Functions : Any exit you have declared, can be disabled. /E1 will
disable ExitBeforeFill (if set), /E2 will do the same for
ExitAfterFill (if set), /EB for ExitBetweenConversion and
/EG for ExitAfterCompression. Exits can only be SET with
help of options in MTA.CTL;
┌─────────────────────────────────────────────────────────────────────┐
│ /U │
│ /U[filename] │
│ /U[path] │
└─────────────────────────────────────────────────────────────────────┘
Function : This command-line parameter comes in three flavors. The
first, /U, is a toggle for the FilesBBS option in MTA.CTL.
/U will disable the option if it was set in MTA.CTL and
will enable the option if it was not set.
/U[filename] will enable the FilesBBS option but in this
case you overrule the filename FILES.BBS (in the working
directory) with [filename].
/U[path] will enable the FilesBBS option but in this case
you overrule the filename FILES.BBS AND the fact that this
file must reside in EACH working directory with [path].
[path] is the SINGLE filename (with drive and directory)
that MTA will update (RBBS master directory and such);
┌─────────────────────────────────────────────────────────────────────┐
│ /NOOLD │
└─────────────────────────────────────────────────────────────────────┘
Function : When you added the DelOldFiles option to MTA.CTL, you can
use /NOOLD to switch the option off.
┌─────────────────────────────────────────────────────────────────────┐
│ /UPGRADE │
│ /UPGRADE+ or /UPGRADE- │
└─────────────────────────────────────────────────────────────────────┘
Function : This command-line parameter is a toggle for the OnlyUpgrade
option in MTA.CTL;
┌─────────────────────────────────────────────────────────────────────┐
│ /SBA │
│ /SBA+ or /SBA- │
└─────────────────────────────────────────────────────────────────────┘
Function : This command-line parameter is a toggle for the SkipBackups
option in MTA.CTL;
┌─────────────────────────────────────────────────────────────────────┐
│ /NFC or /NFC- │
└─────────────────────────────────────────────────────────────────────┘
Function : This command-line parameter toggles the FIXEDCONVERSION
option in MTA.CTL to off. You can not toggle this option
to ON. When FIXEDCONVERSION options are set in MTA.CTL, they
are set ON by default.
┌─────────────────────────────────────────────────────────────────────┐
│ /NUU or /NUU- │
└─────────────────────────────────────────────────────────────────────┘
Function : This command-line parameter toggles the UPDATEUNTYPEDFILES
option to off (on is not possible);
┌─────────────────────────────────────────────────────────────────────┐
│ /NUM or /NUM- │
└─────────────────────────────────────────────────────────────────────┘
Function : This command-line parameter toggles the UPDATEMSGFILES
option to off (on is not possible);
┌─────────────────────────────────────────────────────────────────────┐
│ /NUT or /NUT- │
└─────────────────────────────────────────────────────────────────────┘
Function : This command-line parameter toggles the UPDATETICKFILES
option to off (on is not possible);
┌─────────────────────────────────────────────────────────────────────┐
│ /NUF or /NUF- │
└─────────────────────────────────────────────────────────────────────┘
Function : This command-line parameter toggles the UPDATEFESFILES
option to off (on is not possible);
┌─────────────────────────────────────────────────────────────────────┐
│ /NMA or /NMA- │
└─────────────────────────────────────────────────────────────────────┘
Function : This command-line parameter toggles the MAKEARC option to
off (on is not possible);
┌─────────────────────────────────────────────────────────────────────┐
│ /NME or /NME- │
└─────────────────────────────────────────────────────────────────────┘
Function : This command-line parameter toggles the MAKEARCEXCLUDE
option to off (on is not possible);
┌─────────────────────────────────────────────────────────────────────┐
│ /NOB │
│ /NOB+ or /NOB- │
└─────────────────────────────────────────────────────────────────────┘
Function : This command-line parameter is a toggle for the NoBeep
option in MTA.CTL;
┌─────────────────────────────────────────────────────────────────────┐
│ /NVI │
└─────────────────────────────────────────────────────────────────────┘
Function : This command-line parameter will switch of the configured
virus scanners for the duration of this run.
┌─────────────────────────────────────────────────────────────────────┐
│ /NVM │
└─────────────────────────────────────────────────────────────────────┘
Function : This command-line parameter will switch of the configured
masks that limit the scan for a virus. If /NVM is supplied
and the VirusScanner options are available and active (no
usage of /NVI), the scan is ALWAYS performed on EVERY file
in EVERY archive.
┌─────────────────────────────────────────────────────────────────────┐
│ /NOEMS │
│ /NOXMS │
└─────────────────────────────────────────────────────────────────────┘
Function : This command-line parameters can be used to disable the
usage of EMS and/or XMS. The same can be done permanently
with the NoEMS and/or NoXMS options in MTA.CTL;
┌─────────────────────────────────────────────────────────────────────┐
│ /VMODE{mode} │
└─────────────────────────────────────────────────────────────────────┘
Function : /VMODE as is, will switch any VideoMode option in MTA.CTL
to OFF. /VMode{mode} (where {mode} is the DECIMAL video-
mode) will force MTA to switch the video-card to {mode};
┌─────────────────────────────────────────────────────────────────────┐
│ /EXTTST │
│ /EXTTST+ or /EXTTST- │
└─────────────────────────────────────────────────────────────────────┘
Function : /EXTTST is used as a toggle for the ExtendedTesting option
in MTA.CTL.
┌─────────────────────────────────────────────────────────────────────┐
│ /SFX │
│ /SFX+ or /SFX- │
└─────────────────────────────────────────────────────────────────────┘
Function : /SFX is used as a toggle for the SFXFiles option in
MTA.CTL;
┌─────────────────────────────────────────────────────────────────────┐
│ /LEA │
│ /LEA+ or /LEA- │
└─────────────────────────────────────────────────────────────────────┘
Function : /LEA is used as a toggle for the KeepAbnormalExtensions
option in MTA.CTL;
┌─────────────────────────────────────────────────────────────────────┐
│ /TIM │
└─────────────────────────────────────────────────────────────────────┘
Function : When you use the /TIM command-line parameter, you disable
the RunTime option in MTA.CTL (if set);
┌─────────────────────────────────────────────────────────────────────┐
│ /NEW │
│ /NEW+ or /NEW- │
└─────────────────────────────────────────────────────────────────────┘
Function : /NEW is used as a toggle for the OnlyNewFiles option in
MTA.CTL;
┌─────────────────────────────────────────────────────────────────────┐
│ /MAR │
│ /MAR+ or /MAR- │
└─────────────────────────────────────────────────────────────────────┘
Function : /MAR is used as a toggle for the NoMarked option in
MTA.CTL;
┌─────────────────────────────────────────────────────────────────────┐
│ /MAH{string} │
└─────────────────────────────────────────────────────────────────────┘
Function : If you want to change the value for the MarkHeader option,
you can use the /MAH{string} command-line option. When you
do not supply {string}, MTA will be forced to use the
default value. When used, {string} must be 6 bytes of less;
┌─────────────────────────────────────────────────────────────────────┐
│ /MAS{string} │
└─────────────────────────────────────────────────────────────────────┘
Function : If you want to change the value for the MarkString option,
you can use the /MAS{string} command-line option. When you
do not supply {string}, MTA will be forced to use the
default value. When used, {string} must be 14 bytes of
less;
┌─────────────────────────────────────────────────────────────────────┐
│ /UNMARK │
│ /UNMARK+ or /UNMARK- │
└─────────────────────────────────────────────────────────────────────┘
Function : /UNMARK is used as a toggle for the UnMark option in
MTA.CTL;
┌─────────────────────────────────────────────────────────────────────┐
│ /NOOWNMARK │
└─────────────────────────────────────────────────────────────────────┘
Function : /NOOWNMARK should only be used when MTA is executed under a
protocol driver like FIleDoor <tm> (XFD). In this case, the
incomming (uploaded) files are checked against your own mark
that you use with NoMarked/MarkString. If the file contains
the same mark, MTA will delete the file at once. This option
will stop those users who download a file from you, rename
the file to a bogus-name and upload it again. The dupe-check
will not deny such a file, but MTA can see that it is one of
your own files. If you use /NOOWNMARK you should make it
sure that you are NOT using the DEFAULT mark-string but one
of your own !!
┌─────────────────────────────────────────────────────────────────────┐
│ /OOA │
│ /OOA+ or /OOA- │
└─────────────────────────────────────────────────────────────────────┘
Function : Using /OOA will do the same as using the OptimizeOnSize
option in MTA.CTL;
┌─────────────────────────────────────────────────────────────────────┐
│ /AIA │
│ /AIA+ or /AIA- │
└─────────────────────────────────────────────────────────────────────┘
Function : /AIA is used as a toggle for the NoArcInArc option in
MTA.CTL;
┌─────────────────────────────────────────────────────────────────────┐
│ /KEEPAV │
│ /KEEPAV+ or /KEEPAV- │
└─────────────────────────────────────────────────────────────────────┘
Function : /KEEPAV is used as a toggle for the KeepAV option in
MTA.CTL;
┌─────────────────────────────────────────────────────────────────────┐
│ /KEEPVL │
│ /KEEPVL+ or /KEEPVL- │
└─────────────────────────────────────────────────────────────────────┘
Function : /KEEPVL is used as a toggle for the KeepVL option in
MTA.CTL;
│┌─────────────────────────────────────────────────────────────────────┐
││ /NOCLOAK │
││ /NOCLOAD+ or /NOCLOAK- │
│└─────────────────────────────────────────────────────────────────────┘
│Function : /NOCLOAK is used as a toggle for the NoCloakedArchives
│ option in MTA.CTL;
┌─────────────────────────────────────────────────────────────────────┐
│ /ALL │
│ /ALL+ or /ALL- │
└─────────────────────────────────────────────────────────────────────┘
Function : /ALL is used as a toggle for the AllDisketteFiles option in
MTA.CTL;
┌─────────────────────────────────────────────────────────────────────┐
│ /BAUD[baudrate] │
│ /COM[comport] │
│ /FOSSIL[fossilport] │
│ /REMOTE │
└─────────────────────────────────────────────────────────────────────┘
Function : When MTA is used under a door inside a BBS and you want MTA
to keep the user informed about the current status, you can
use /BAUD, /COM (or /PORT) and /REMOTE (or their equivalent
counterparts in MTA.CTL) to do so. [baudrate] can be the
baudrate (locked or not) or 0 (in which case NO remote
operations will be done). [comport] can be a valid COM port
or 0 (in which case no remote operations will take place).
[fossilport] must be the valid fossil-port, there is no
value to switch remote operations off other than setting
[baudrate] to 0. /COM is preferred. You can use all these
command-line parameters (or their counterparts in MTA.CTL)
but they will do nothing unless the following combination
is made (where the command-line parameters overrule any
options in MTA.CTL):
- /BAUD (Baudrate) must be set to a non-zero value;
- /COM (ComPort ) ,, ,, ,, ,, ,, ,, ,, OR
/FOSSIL (FossilPort) must be used;
- /REMOTE (Remote) is used;
You should also look into the /ANS command-line parameter
in the previous (sub)chapter.
┌─────────────────────────────────────────────────────────────────────┐
│ /STOSIZ{ext} │
└─────────────────────────────────────────────────────────────────────┘
Function : /STOSIZ is used as a toggle for the StoreSize option
MTA.CTL. When you use this option to SET the option to ON,
{ext} (optional) can be used to set the extension of the
semaphore file (default XS1) to something else (F#D when
running FileDoor 2.03 or older betas);
┌─────────────────────────────────────────────────────────────────────┐
│ /STONAM{nam} │
└─────────────────────────────────────────────────────────────────────┘
Function : /STONAM is used as a toggle for the StoreName option
MTA.CTL. When you use this option to SET the option to ON,
{nam} (optional) can be used to set the filename of the
semaphore file (default FILEDOOR.XS2) to something else
(FILEDOOR.F#D when running older FileDoor betas);
┌─────────────────────────────────────────────────────────────────────┐
│ /STOCOM{nam} │
└─────────────────────────────────────────────────────────────────────┘
Function : /STOCOM is used as a toggle for the StoreComment option
MTA.CTL. When you use this option to SET the option to ON,
{nam} (optional) can be used to set the name of the
semaphore file (default FILEDOOR.XS3) to something else.
4.1.3 Command-line parameters with a special usage
───────────────────────────────────────────────────────────────────────
The following command-line parameters are special (should not be used
but are documented to be complete) or are only used in debugging
situations.
┌─────────────────────────────────────────────────────────────────────┐
│ /| │
│ /> │
│ /< │
└─────────────────────────────────────────────────────────────────────┘
Function : These options should (and can not) be used. They can not be
executed from the DOS command-line because they have
something to do with piping. These command-line parameters
are used by MTA internally !
┌─────────────────────────────────────────────────────────────────────┐
│ /PAUSE │
└─────────────────────────────────────────────────────────────────────┘
Function : Sometimes MTA will execute a program (archiver, virus scan,
exit and so on) and this programs reports an error. In
these cases you are not able to see what happens because
MTA will go on (after a warning is given). If you use
/PAUSE, MTA will pause (without clearing the screen) after
the shell returns to MTA. You must press [ESC] to continue
MTA in the normal way;
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. Termination will be done AFTER THE CURRENT FILE IS
CONVERTED !
When you did press [ESC] by mistake, you can always press any other
key to release the pending termination. In that case, MTA will
continue as normal.
The termination option does NOT work when you use the /D switch. In
this case you must wait until the diskette is fully converted.
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 possible logs (the 'normal' log, called MTA.LOG by
default, the password log, called MTA.PWN by default and the random
password log, called MTA.PWD by default) into one log-file, because
MTA will open (APPEND) and close the log for every record it has to
write.
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 detect 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
customized log-files and will adjust itself to search at the right
places. Also, records of a different kind can be available in the log
(in case of a mailer or BBS program). MTL will skip these records but.
If you want to clean the log with MTL, MTL will ALSO remove all
NON-MTA data 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 type of logging !
4.4 Errors
───────────────────────────────────────────────────────────────────────
Under some conditions, MTA can abort (or skip files) which causes the
temporary directory to stay on disk. Normally MTA will try to remove
all files from this temporary directory but there can be cases when
this is impossible. In such cases, MTA will report this at the end of
the run. In that case you must correct the errors manually and remove
the directory (or directories) from disk. Under normal conditions,
this will only take place with critical errors (disk failures and
such).
┌───────┬─────────────────────────────────────────────────────────────┐
│ 5 │ Version information and credits │
└───────┴─────────────────────────────────────────────────────────────┘
5.1 The BETA-team
───────────────────────────────────────────────────────────────────────
Look into the file SUPPORT.MTA for a full list of all beta-testers
and support nodes.
5.2 Credits
───────────────────────────────────────────────────────────────────────
Thanks to the following people (besides my eternal thanks for the
BETA team):
- All paying, registered users. You made it possible to enhance
MTA with nice features;
- All users who did write me bug reports, suggestions and so on;
5.3 Version history
───────────────────────────────────────────────────────────────────────
┌───────┬────────────────────────────┐
│ 11.xx │ Sampled release info │
└───────┴────────────────────────────┘
■ Bug fixes;
■ Added FilesBBSFormat option, CarryComment option, alternate
CTL support, combination of /M and /D allowed;
┌───────┬────────────────────────────┐
│ 12.xx │ Sample release info │
└───────┴────────────────────────────┘
■ Bug fixes;
■ All tables to 255 entries, tag-menu, /@, /MD, AltDisplay,
internal swapping (SwapPath, NoSwap), MDCD support (MDPath),
IncludeCTL, AV-aware, encryption aware, configurable log-file,
MTAErrorPath, extended help, mouse aware, ITS aware and many, many
more changes;
┌───────┬────────────────────────────┐
│ 13.xx │ Sample release info │
└───────┴────────────────────────────┘
■ MTA swapped from free-ware to shareware so now a small price must
be payed for continued usage;
■ Several bugs fixed;
■ Added support for 4DOS descriptions, EGA/VGA special text-modes
┌───────┬────────────────────────────┐
│ 14.xx │ Sample release info │
└───────┴────────────────────────────┘
■ Fixed some bugs;
■ Added support for volume-labels (ZIP/ARJ), special log-files,
descriptions, substituted drives (recursive support), VGA support,
special selections (/LVLx), sharing and multi-tasking (also multi-
MTA), ARJ, multiple virus scanners, HYP(er), PKLITE, menu-tagging,
better help, LZH 2.xx support, videomode, TICK, FES, untyped files,
simulation, macros in the password command-line parameters, remote
logging, files that are too old, XARC/ARCE, ZOO 2.xx,
┌───────┬────────────────────────────┐
│ 15.01 │ Major Release │
└───────┴────────────────────────────┘
■ I did an almost complete rewrite of the documentation. Many cross
references are now explained at their proper locations, old info is
removed (a couple of chapters), all options and command-line
parameters are revised and (I hope) better explained. The only
thing that still is on the list, is an index and a proper utility
to create the page numbers for the various users. Overall the new
documentation is somewhat smaller than the previous version while
still giving you all relevant information;
■ The internals of MTA have changed completely. This causes MTA to
use almost the same amount of memory as before though there are
many options added. There is also a separate overlayed version of
MTA available (MTAOVR) that uses 100K less of (conventional)
memory;
■ There was a serious bug in the RAPATHS option logic, causing MTA
not to recognize the FILES.RA file. This is fixed. The RAPATHS
option is somewhat changed in syntax and the RA0 and RA1 options
are removed from MTA;
■ The dos-shell in MTA (you know, the little window) was getting
somewhat old for the current state of the technique. The same was
true for the swapping routines. They are all replaced and we now
have 4 new DOS-shell routines in MTA (2 non swapped, 2 swapped,
each pair consisting of a windowed and non-windowed routine). This
also causes archivers that needed a swap, to stay inside the
DOS-window as were the non-swapped archivers. Because of these
changes the STOWBUFFER and FORCECGA options are removed from MTA
and are now obsolete;
■ Changed the logic for AV'ed files. Previous versions would give
errors under special conditions. This problem is fixed;
■ Fixed a problem where MTA could make a mess of ARJ AV'ed archives
(if KEEPAV was set) in combination with AutoDescription. If these
conditions were met (KEEPAV, ARJ-AV, AutoDescription) and the
target was ZIP, MTA would add a description to the ARJ-file, using
internal patching techniques, causing the target-file to be defect
(you could still extract them, but with a warning). This is fixed;
■ Changed the logic for SFX files. Previous versions did contain
their own logic to remove the SFX-header from the archives. This
coding is removed and MTA should be able to convert SFX files if
the archiver can extract files from the SFX'ed file. By my
knowledge, there is only one non-standard SFX-file. This is the
ZOO-SFX created with a separate program. These files can not be
converted when ZOO is not able to decompress files from the *.EXE
files. Overall, this will give a much more secure (and version
independent) result;
■ The /M (MOVETOPATH) command-line parameter could be used with
invalid directory names. MTA would report errors when the converted
files was actually moved to this directory or a file would be
renamed (convert RA_110.ZIP to ZIP, with /MTRA where TRA was not a
valid directory. The result was a file TRARA_11.ZIP and the file
was still in the current directory). This logic has been changed
and fixed; MTA will now validate the supplied directory and will
abort (before the conversion) if there is an invalid directory
supplied;
■ Previous versions of MTA could not work with generic directories.
You always had to include the full pathname (directory and the
drive name). When reading options from MTA.CTL and the
command-line, MTA will now expand generic paths (/M.. or /Z\ZIP\)
to full names, based on the current directory and drive. Be warned
though. If the generic path results in an expanded NON-existing
path, MTA will abort with an error;
■ MTA would fail the extended test when ARJ files were converted that
contained files, archived with -t1. These files can be found in the
original ARJxxx.EXE distribution file (just run a verbose list of
this archive, write down the length of all files, decompress the
file, run a DIR and compare the lengths) and all other ARJ files
that are created with the -t1 ARJ command-line parameter. MTA will
now ignore the extended test when dealing with such ARJ archives;
■ In certain cases, MTA would forget to clean the temporary directory
when an extended test failed. This is fixed;
■ MTA will now FULLY ignore the ARJ_SW environment variable. MTA will
pass a command-line parameter to ARJ (2.21 and higher) that will
force ARJ NOT to look at this env.var.. All additional options in
this env.var. must be added to the ARJCompression option;
■ MTA will still give a beep EVEN when the WarningTime option was set
to 0. This is fixed;
■ CarryComment would sometimes be unable to find the comment in the
FILES.BBS alike file. Fixed;
■ The full-screen picklist would 'flicker' when you pressed F1 (help)
more than once. Fixed;
■ Sometimes MTA would screw up the first file inside a PAK SFX file.
This is fixed;
■ MTA would truncate the log-file when it became bigger than 64K.
This is fixed;
■ MTA would consume 8K blocks of conventional memory when the TICK
support was on. This is fixed;
■ The documented /CO command-line parameter (to overrule the option
ZOOCOMPRESSION) did cause MTA to fail. It has now been included in
MTA.EXE under the name /CQ;
■ MTA would sometimes not remove directories. This happened when MTA
needed to access various drives. This is fixed;
■ Sometimes MTA would display a very huge number of uncompressed
bytes for ARJ files (causing MTA to skip the file if that number of
bytes was not available on the hard-disk). This is fixed;
■ Under 4DOS (4.0 and higher), MTA would show a cursor after the
first MOVE. This is fixed. MTA will hide the cursor after each call
to an external program (4DOS is one of them);
■ Various problems with TBSCAN 2.9, 3.1 and 3.2 are fixed (look at
the new command-line examples for this scanner). When using MTA
under DesqView (with SHARE), you MUST use TBSCAN 3.2 or higher
because older versions will deny the removal of files and directory
that MTA (not TBSCAN!!) has created. The 3.2 works fine with the
new coding in MTA if you (at least) use the -compat option of the
TBSCAN program;
■ Various problems with HTSCAN 1.6 (and lower). Some of them caused
by MTA (fixed) and one of them caused by HTSCAN. When HTSCAN has to
run in 200Kb or less, it would cause MTA to report that the archive
contained a virus. The author of HTSCAN will change this bug in the
next version and MTA can now work with HTSCAN's new error-levels
because of a change in the VIRUSSCANNER option;
■ Added %D macro in the VIRUSSCANNER option. %P (as before) will be
expanded to the complete directory to scan (without filenames), %F
will be expanded to the complete directory plus \*.*. %D will be
expanded to the last branch (node) in the temporary directory and
is a relative directory. This macro can be used in complex network
structures;
■ Mouse support in the main MTA-body is removed. It is still
available in the full-screen pick-list. The NOMOUSE option and the
/NOMOUSE command-line parameter are removed from MTA;
■ Older versions of MTA would rename the target file if a file with
the same name existed on the target location. You can now add the
OVERWRITEDUPLICATES option to force MTA to overwrite such files.
The new target-file will overwrite a file with the same name in the
target directory;
■ The /CTL command-line parameter is enhanced. You can now also
supply a filename (without path) if that file can be found in the
DOS PATH, the current directory or the directory where MTA.EXE
(MTAOVR.EXE) is found (last option only under DOS 3.xx and higher);
■ The EXCLUDEFILE and DONOT options now accept wildcards, including
the '=' wildcard (see documentation);
■ Remote operations (introduced in the 14.5x versions of MTA) was
only possible when the /REMOTE command-line parameter was used.
The REMOTE option for MTA.CTL is added;
■ MTA will now do remote logging (modem communications) when the
REMOTE option or /REMOTE command-line parameter is set along with
non-zero values for BAUD and COM-port. If either of these two
contains a zero (/BAUD0 and/or /COM0), MTA will not use remote
logging;
■ Added the /ANS command-line parameter. Normally MTA will do its
remote logging in ANSI-mode. When /ANS0 is used, MTA will use plain
ASCII. /ANS1 and higher values (up to /ANS9) will cause ANSI
logging;
■ Added the NOBEEP option. When WarningTime is set to a non-zero
value (nice when running unattended BUT WITH remote logging) you
can still shut down the beeps and bells;
■ Added the /PAUSE command-line parameter (no counterpart in
MTA.CTL). When present, MTA will halt until you press ESC after
EACH call to an external program. Added for debugging;
■ Added coding so you can abort MTA when it is waiting for a locked
(shared) file. If you press CTRL-E, MTA will abort from the lock;
■ Added the NOEMS and NOXMS options in MTA.CTL and the /NOEMS and
/NOXMS command-line parameters, to force MTA NOT to use EMS and/or
XMS while swapping itself from memory;
■ Changed the logging. The following changes have been made:
- All records have been split into single-item lines,
containing the needed info in the smallest number of bytes;
- The errors are now recorded in the normal log-file. As a
result of this change, the ERRORLOGPATH option is removed from
MTA;
- MTA and MTL work with the new log. If you convert to 15.01, you
must run the previous MTL version (with log-compression) before
you start using MTA and MTL unless you do not need the
statistics inside the log-file;
- MTA now uses its own codes (MTL will also use them):
* error message
! important information
$ extra information
= status information
~ password information
# conversion information (needed by MTL)
@ MTL information (created by MTL)
■ Changed the syntax of the xxxPATH options (see documentation
for the current format). This was done to change the swapping
function and to add alternative archiver versions. PLEASE
READ the documentation carefully !
■ Added a cheap alternative to archive-marking (NOMARKED and related
options) with the ONLYNEWFILES option and/or the /NEW command-line
parameter. Only files that are newer than the file-date of the file
FILES.MTA in the working directory, are converted. MTA will (re)set
the file FILES.MTA itself;
■ At the risk of loosing some friend, I include the following text.
It has become general practice for some BBS's to add their own
AV-code to ARJ and ZIP files. In my views the AV-code is meant to
tell the user that a certain file is untouched after it has been
created by the author. When a BBS includes AV-codes, it will mean
that the file is untouched after it has been created by the SYSOP
(not the author) and that is ALMOST useless information. It can be
used as long as ORIGINAL AV-codes are left unaltered but it is
misleading users when original AV-codes ARE altered. With this
practice, it is almost useless to keep AV codes inside the archive
because you (as user/sysop) only have the advertisement of the BBS
as added value. To (partially) overcome this problem, MTA now
contains an option INCLUDEAVFILES. If this option is NOT present in
MTA.CTL and KEEPAV is set, all AV'ed files are still unaltered. If
you include one or more INCLUDEAVFILES options, and KEEPAV is set,
MTA will only keep the AV code for the files that match one or more
of the INCLUDEAVFILES file-masks. ALL other AV'ed files will be
converted EVEN when KEEPAV is set. One of the next minor versions
of MTA will extend this option in a very dynamic (and more secure)
way;
■ Added dynamic swapping. In the previous versions you could only
tell to ALWAYS swap before the call to another program was made or
to NEVER swap before the call to another program was made. Though
this function was variable for each different (de)compression
program, it was somewhat rough. You can now supply a minimum number
of bytes that must be available in memory (conventional). If this
number of bytes (or more) is available, MTA will NOT swap itself
out of the way. If it isn't available, MTA WILL swap before the
call is made. Dynamic swapping is now available in all xxxPATH
options (as a replacement for the older SWAP value in these
options) and is added to the VIRUSSCANNER and all EXITxxx options;
■ Removed the NOSWAP option from MTA. It became obsolete after the
introduction of dynamic swapping;
■ Added alternative archive-program versions in the xxxPATH options.
Added the /ALT command-line parameter to activate the alternative
versions. See the chapter about the usage of alternative versions;
■ Added support for SFX (TARGET!!) files. You can now create SFX
files as the target. To support this option, the values ZIPSFX,
ARJSFX, LZHSFX and PAKSFX can be used as the value for the
COMPRESSIONTYPE option. Also the /ZIPSFX, /ARJSFX, /LZHSFX and
/PAKSFX command-line parameters can now be used. Also added are the
ASFCOMPRESSION, LSFCOMPRESSION and ZSFCOMPRESSION options to add
extra parameters to the call to the archive-program (when creating
SFX files). The /CJS, /CLS and /CZS command-line parameters can be
used to over- rule the ASFCOMPRESSION, LSFCOMPRESSION and
ZSFCOMPRESSION options. The ZIP2EXEPATH option is added to point
to the ZIP2EXE.EXE program;
■ MTA will also convert archives inside archives (arc-in-arc) to SFX
files (when one of the xxxSFX options is set) so the customer does
not need any decompression program to decompress the file;
■ Added support for GIFLITE. You can now convert normal GIF-files to
the GIFLITE format when the target is set to GIFLITE. When running
a GIF->GIFLITE conversion, no normal archives can (or will) be
converted so 'MTA *.ZIP /GIFLITE' will have no meaning. To
implement this function, the options GIFLITEPATH and
GIFLITECOMPRESSION are added as well as the 'GIFLITE' value for the
COMPRESSIONTYPE option. The /CGL and /GIFLITE command-line
parameters are also added;
■ Added support for GIFTEST. You can now test GIF-files (normal and
lite) when the target is set to GIF. When running GIF->GIF test no
normal archives can (or will) be converted so 'MTA *.ZIP /GIF' will
have no meaning. To implement this function, the options
GIFTESTPATH and GTECOMPRESSION are added as well as the 'GIF' value
for the COMPRESSIONTYPE option. The /CGT and /GIF command- line
parameters are also added;
■ Added support for JPEG. You can now convert normal GIF-files to the
JPEG format when the target is set to GIF2JPG and you can also
convert JPEG (.JPG) files back to GIF when the target is set to
JPG2GIF. When running a GIF->JPEG or JPEG->GIF conversion, no
normal archives can (or will) be converted, so 'MTA *.ARJ /GIF2JPG'
will have no meaning. To implement these functions, the options
GIF2JPGPATH, JPG2GIFPATH, G2JCOMPRESSION and J2GCOMPRESSION are
added, as well as the values GIF2JPG and JPG2GIF for the
COMPRESSIONTYPE option. The /C2J, /C2G, /GIF2JPG and /JPG2GIF
command-line parameters are also added;
■ Added the MAXGIFDIM option to narrow the selection of GIF-files for
GIFLITE (unregistered version of GIFLITE);
■ Changed the full-screen picklist to include the correct files when
one of the GIF-alike options is used in MTA (you will now see the
usable GIF/JPG files and not archives);
■ Changed the help-display (MTA /?) to reflect the new command-line
parameters in MTA 15.01;
■ Added logic and support for the new PKZIP (1.93+) deflating
algorithm. MTA will detect these files and will convert them if
the newer PKZIP/PKUNZIP is used (ZIPVERSION and
PKZIPPATH/PKUNZIPPATH set to 1.93/2.01 values) or will report
the need for a higher version of PK(UN)ZIP is you still use the
1.10 (or lower);
■ /UPGRADE is changed. It can now be used to convert from PKZIP 1.xx
type of archives to 2.xx (it was set to convert from 0.xx to 1.xx);
■ Added support and logic for the new ARJ (2.30+). MTA will not con-
vert backup files in ARJ archives. You can add the SKIPBACKUPS
option in MTA.CTL (/SBA command-line parameter) in which case MTA
will skip ZOO and ARJ archives that contain backup-versions of
files. Also, the extended testing will be skipped if these backup
version are available in the archive. With the last change, it is
possible to convert ARJ files with backups (and also ZOO for that
matter). For ARJ you can choose to do a normal conversion (in which
case the backup files are removed) or you can use a special
command-line parameter in the ARJCOMPRESSION option, in which case
ARJ will rename all backup-versions with a special extension;
■ Added a graphical bar when parsing the MTA.CTL;
┌───────┬────────────────────────────┐
│ 15.02 │ Bug & minor release │
└───────┴────────────────────────────┘
■ MTA would report 'duplicate file, extension changed to ...' when a
file was checked with the /SIM mode. This could alarm users that
saw the message at the remote side. Fixed;
■ MTA would report 'Unable to RmDir/MkDir/ChDir to .........' when a
file was checked with the /SIM mode. This could alarm users that
saw the message at the remote side. Fixed;
■ MTA would report 'SIMULATE MODE' and not 'SIMULATE MODE [OVERLAY]'
on the main screen when the overlayed version and /SIM were used.
Fixed;
■ MTA would report 'DATETEST MODE' and not 'DATETEST MODE [OVERLAY]'
on the main screen when the overlayed version and /SIM were used.
Fixed;
■ MTA /? would always cause a GOMTA.BAT in the current directory,
even when no changes were made to the note-pad;
■ The pick-list would display ALL files when /GIF was used. This is
fixed so only .GIF files are showed;
■ Some cosmetic changes in the copyrights for the remote display;
■ The overlay algorithm is somewhat changed to speed up the parsing
of the MTA.CTL alike file;
■ Added the RemoteColor option in MTA.CTL to alter the remote colors
so they can match the BBS colors. The default colors are the same
as the default colors for FileDoor <tm>;
┌───────┬────────────────────────────┐
│ 15.05 │ Minor Release │
└───────┴────────────────────────────┘
■ MTA would report 'no compressor available' or something alike, when
ZIP files were involved. This could happen when you did not include
a ZIP2EXEPath option in MTA.CTL and/or ZIP2EXE.EXE was not found in
the DOS-path. This is fixed;
■ JPG2GIF would report 'no compressor' available or something alike,
when JPG files were involved. This could happen when you did not
include a GIFTESTPath option in MTA.CTL and/or GIFTEST.EXE was not
found in the DOS-path. This is fixed;
■ Under some conditions (errors), the 'bar' would not display the
correct values, neither did some of the counters. Also when
multiple files were converted and one or more files were invalid,
the ratio (percentage) could show incorrect values. This is fixed.
MTA will now display counters for invalid files (in red) also and
the normal counters, ratio and 'bar' are modified in the correct
way;
■ Fixed a problem with /P (toggle logging). This was still a toggle
but could result in errors. /P can now only be used to switch any
current logging to OFF. Using the log-file, must be set in MTA.CTL;
■ Added a /NVI command-line option. When used, the virus-scanning (of
ALL configured scanners) will be skipped;
■ Enhanced the IncludeAVFile option. You can now (optionally) include
the AV-number (security env. number) of the filemask. It is now
possible to filter the correct files from the ones that are not
from the original authors. In the past IncludeAVFiles PKLTE*.EXE
would cause PKLT113.EXE to pass (keep its AV, when KeepAV was also
set) even when RVH012 was the one that added the AV-code (and that
is NOT PKWare). Now you can add the PKW655 code to the option
(IncludeAVFile PKLTE*.* PKW655) to force only the keeping of the AV
is the file matches PKLTE*.* AND the AV-code is PKW655). Also masks
for the AV-code (numeric/alphanumeric masks) can be used;
■ Added the AVLogPath option which causes a log-file to be maintained
by MTA, that included AV-numbers and their names (like 0000 Robert
K Jung or PKW655 PKWare Inc). This file can be maintained by MTL;
■ Added several log-records to the normal log that have to do with AV
(security env.) coded. The values will only be used when either
AVLogPath is set OR at least one or more AV-codes are supplied as
parameters for the IncludeAVPath option(s);
■ Added the test for the MTAOVRSZ environment variable (only overlay
version). If present and containing a numeric value, this value
will be used as overlay buffer. Using number above 56000 will cause
MTAOVR to run faster but will also cause MTAOVR to use more conven-
tional memory;
┌───────┬────────────────────────────┐
│ 15.06 │ Minor Release │
└───────┴────────────────────────────┘
■ Fixed a problem with a runtime error 200 when no valid files could
be processed. This is fixed (both overlay and normal version);
■ Changed the DoNot option in a way that you can also supply paths.
It is now possible to exclude complete directories with the DoNot
statement (e.g. DoNot E:\TUP\DONOT\*.*) or partial directories
(e.g. DoNot E:\TUP\SOME\DONOT\*.ARJ). This option also comes in
handy in combination with the QBBSPaths and RAPaths option(s);
■ Added a ChildTouch option so you can use another type of touching
for nested archives;
┌───────┬────────────────────────────┐
│ 15.07 │ Minor Release │
└───────┴────────────────────────────┘
■ Fixed all problems with READONLY, HIDDEN and SYSTEM files. MTA would
not copy, delete, rename and/or move these files. Though they will
not show up in archives very frequently, some users complained. It
was a bug and therefore fixed;
■ Added support for those virusscanners that can only work good on
complete drives. Scanners like Central Point Software CPAV (1.2
and up) can now be run in batch-mode but will run best when they
can scan a full drive. In these cases you should use the SUBST
support of MTA (only if you have troubles with it, you SHOULD use
this feature, if you HAVE problems, tell me);
■ Added examples (tested by me or others) for Dr.Solomon's virus scan
(FINDVIRU) and Central Point Software's CPAV (only 1.2 and higher,
1.0 does not return errorlevels and I skipped 1.1, so don't know
if this version already returns errorlevels);
■ The %D macro in the VirusScanner option was not included in the DOCs
(it is now) and there is a much better description of all the macros
that you can use in this option (including the new %S and %L macro);
┌───────┬────────────────────────────┐
│ 15.07 │ Bug (?) Release │
└───────┴────────────────────────────┘
■ Reports got in from users about MTA in a OS/2 2.0ß DOS box. MTA is
not able to find any file that the user wants to select. This nasty
problem *looks* like a problem with OS/2 2.0 because the normal DOS
(ALSO IBM PC-DOS 5.0) works fine and the problems involved have to
do with DOCUMENTED interrupts and NORMAL Turbo Pascal processing.
Thanks to some willin beta-testers I was able to track the problem
down. This release contains a work-around that even causes MTA to be
somewhat smaller and still giving the same functions. Under OS/2 2.0
DOS boxes it *should* work again (as it did with beta-testers). Look
into HELP__ME.MTA for questions about OS/2 2.0ß because I don't run
this operating system and must rely on the input from users who do !
┌───────┬────────────────────────────┐
│ 15.10 │ Minor Release │
└───────┴────────────────────────────┘
Several requests from users have been addressed in this release. Also
please read the Q&A.MTA file (if it is present inside the archive).
■ Fixed another file-selection mask (OS2 problem) in MTA.CH1. Also a
couple of OS2 beta-testers have reported me that IBM has addressed
the problem and that there is a fix-file in the later OS2 betas
that can solve the problem;
■ Added the FileIDDiz option. When active, it will store the comment
inside this file into memory. This comment can later be added to
FILES.BBS (when ADDFilesBBS is on) and/or into the semaphore file
for the protocol-driver (StoreComment and /STOCOM, see later);
■ StoreSize, StoreName (see later) and StoreComment (see later) can
now also work when remote operation is NOT the case. Normally you
should use the command-line options (/STOSIZ, /STONAM, /STOCOM)
when you run MTA under a door (FileDoor). When you set the options
in MTA.CTL they will work also when remote operation is NOT the
case (again, unless you toggle the options to OFF with the same
command-line parameters as mentioned before);
■ StoreSize (/STOSIZ) has been expanded. You can now supply the
extension of the file (normally xxxxxxxx.XS1) when the caller needs
to access another extension (FileDoor 2.03 will need the extension
F$D);
■ Added the StoreName (/STONAM) option. It will create a file with
old and new names that can be used by a protocol-driver like the
FileDoor program. Only FileDoor 3.01 (and up) will work with this
semaphore file;
■ Added the StoreComment (/STOCOM) option. It will create a file with
comments from the header or FILE_ID.DIZ file. It can be used by a
protocol driver to overrule (supply) the comment of uploaded files;
■ Added SubstOn and SubstOff options to overrule the internal
sequence that MTA uses when paging directories to a substituted
drive;
■ The warning for using a Substituted drive is reversed. You will now
get a flashy warning when NOT using a substituted drive;
■ Added the %T macro in all exit-calls that can be used to assign
different batch-files for different tasks (when running multiple
tasks);
■ The call to LABEL.COM/EXE has been removed. MTA will now use some
internal coding to reset the volume-label to the original label (or
a dummy when no label was set), when archives contain volume labels
inside;
■ The CarryComment option did only allow the first 255 bytes of
archive-comments to be carried over to the new archive. This has
been enhanced to 64K of comment. There are several special tricks
involved to deal with ARJ-comments in this matter because of the
'multi-platform' 'compatible' matter ARJ stores the comment inside
the archives (removing part of the CR/LF sequence, resulting in
problems when carried over to other archivers);
┌───────┬────────────────────────────┐
│ 15.20 │ Major sub-release │
└───────┴────────────────────────────┘
Several requests from users have been addressed in this release. Also
take some time to sort out the *.TEC files included (if any) that
cover special subjects more deeply.
■ Fixed a problem for non-registered usage where the MTA-childs would
all wait for a certain time (will work on most machines);
■ Fixed a problem for non-registered usage where the MTA under remote
operations would wait 90 seconds. This is reduced to 10 seconds;
■ MTA could be called twice (again within a DOS shell of MTA). This
is fixed for most configurations. Only MTA itself can call new
copies of MTA (child processing);
■ When displaying message remote (BBS under a door like FileDoor
<tm>) MTA would not restore the color to the original color before
MTA was called. This is fixed;
■ When MTA called the FOSSIL to init remote operations, the display
could be trashed if the FOSSIL reported itself. MTA will now save
and restore the screen before and after the call to the FOSSIL-init
routine;
■ When running under multi-taskers (Desqview etc.) MTA would still
try to change the video-mode if the VIDEOMODE option was used.
This is fixed. VIDEOMODE will have no meaning under multi-tasking;
■ Fixed a problem (enhancement) where +-comment lines were not moved
along with the original file-comment in the FILES.BBS alike file.
MTA will now move these +-comment lines;
■ GIF files were not touched (and kept their original date). When
TouchCur (also the new format, see later), TouchHig or TouchLow is
the default, GIF files are touched with the current date (or an
added number of days, see new TouchCur format);
■ Files that were marked in error (in the first 'TESTING' pass) were
not moved to the error-directory. This is fixed;
■ OverwriteDuplicates only worked for converted files. It will now
also work for moving (with overwrite) to the error-directory and
(if needed) the trashcan-directory;
■ Some users were reporing problems with the child-call. As a result
of the rather short command-line (110 bytes) under DOS, MTA could
fail with arc-in-arc files (child calls) because a longer parameter
was needed. Now MTA will pass the command-line parameters to the
child-MTA thru a file. The file is placed in the same directory
where MTA.EXE (MTAOVR.EXE) is placed OR will be placed in the
directory that is pointed to by the TEMP environment variable;
■ Added routines and coding to work with SQZ archives. MTA already
supports this archiver (like PKZIP 1.93a) to make testing rather
simple. As a result of this new archiver, the following options are
added to MTA.CTL:
- CompressionType SQZ
- CompressionType SQZSFX
- SQZPath
- SQZCompression
_ SSFCompression
Also the following command-line switches are added:
- /SQZ
- /SQZSFX
- /CS
- /CSS
They work the same as their counterparts for other archive programs
like ZIP, ARJ and LZH;
■ Added MAXPATHS option with same functions as RAPATHS and QBBSPATHS
but for Maxmimus <tm>;
■ Enhanced the RAPATHS option to work with RA 0.xx, 1.0x and 1.1x
releases of Remote Access <tm>. Also CD-rom areas for RA 1.1x
releases are detected and ignored by MTA;
■ Enhanced the QBBSPATHS option to work with pre 2.75 releases (the
MTA 15.10- situation) and 2.75+ releases of QuickBBS <tm>. The pre
2.75 format (FLSEARCH.CTL) remains the default for backward
compatibility with MTA (will be altered in a later);
■ Added the ExcludeDirectory option that can be used to exclude one
or more directories that come from RAPaths, QBBSPaths and/or the
new MAXPaths option;
■ Added an example in MTA.CTL to be used with the virus-scanner
(commercial) that is called GOBBLER <tm>;
■ Extended the usage of the FILEIDDIZ option. It is now possible to
let MTA use one of a set of files (not just only one);
■ Relaxed the testing of the FILE_ID.DIZ alike file. In previous
releases this caused many warnings. Because of the more dynamic
usage of comment-files (extended FILEIDDIZ option), MTA will now
store up to 20 lines with each having up to 128 characters, into
memory without giving any warnings;
■ Added command-line parameter /REMSIM to let MTA create a file that
can be TYPE'ed and will show the looks of MTA when it displays
messages remote. Can be used to check color-setup;
■ Added two remote lines when MTA is not used in SIMULATE mode and will
call a child of itself. The childs (arc-in-arc files) will not write
remote messages (yet);
■ Added the ReplaceComment option and the /REPLCOM toggle to make it
possible to overrule existing comments in FILES.BBS alike files
with the comment from a comment-file (like FILE_ID.DIZ);
■ Changed /C into /TOUCHC, /F into /TOUCHF, /L into /TOUCHL and /H
into /TOUCHH for compatibility reasons;
■ Added a new parameter to TouchCur (and the /TOUCHC command-line
switch) to touch files with the current date PLUS a supplied number
of days;
■ Enhanced the DelOldFiles option so it can work with a relative
number of days. The old format (with a fixed date) is still
possible;
■ Added VIRUSMASK option to make it possible for MTA to only call the
virus-scanners when matching files (extensions) are found;
■ Added ALTMTATEMPPath to make it possible for MTA to convert smaller
archives on a RAM-disk (or fast drive) and to swap to another drive
if there is not enough room on the RAM-disk (or fast drive);
■ Added WEEKEXTENSION option to make it possible to convert special
BBS-extensions (A10, J23) in a special way (f.i. from A20 which is
an ARC file to Z20, which is ZIP);
■ Added NOSUBSTTEST option for special environments like networks;
■ Added %NP and %NF macros for the SubstOn and SubstOff options. To
be used for networks;
■ All toggles (/STOSIZ, /STOCOM and /STONAM excluded) can now be
coded in two ways. The new format allows to use the /command+ or
/command- syntax to switch options on (+) or off (-);
■ Revamped the overlayed version. It will now run somewhat faster and
still uses around the same amount of memory. Also added a large
number of envrionment variables for the overlay mechanism so the
user can change the overlay mechanism to suit her/his own needs;
■ On general request, all new, changed and deleted options in
MTA.CTL can now be found in a special file MTA__xxx.CTL (xxx is
the version for which this file is meant). In the next releases I
will keep some of the older MTA__xxx.CTL files, so when you skip
from version 15.20 to 15.50 you can still use all MTA__xxx.CTL
files that were created in-between and you are still able to update
your own MTA.CTL in an easy way !
┌───────┬────────────────────────────┐
│ 15.21 │ Bug release │
└───────┴────────────────────────────┘
■ Some new routines caused a number of cosmetic bugs. These are now
fixed (registered users!!!). Also registered users should unpack the
supplied MTA__REG.EXE (which contains MTAREG.EXE and MTAREG.DOC) and
run the MTAREG.EXE file once;
■ Fixed a problem in the documentation. VirusMasks was actually called
VirusMask (in the DOC and the example MTA.CTL). This must be the
VirusMasks option (with an extra 's' at the end);
■ Fixed a problem in the documentation. In the FilesBBSFormat option,
the example showed an incorrect syntax for I(tem) numbers. If you
want to select the 4th item, I4 must be used and not 4I;
■ Fixed a problem when a user did not use the MTATempPath option. It
is highly recommended that you use this option, but if you didn't,
MTA 15.20 would trash the screen and ignore ALL archives. This
problem is fixed (and you can still run MTA without the option);
■ Added coding for the new SQZ 1.08.2. 1.08.1 is still supported but
1.08.2 files can only be converted by MTA 15.21;
■ The needed memory for SQZ is released to a normal amount, also the
earlier problem with SQZ's temporary file is removed (fixed in the
new SQZ release);
■ Added coding to add comments to SQZ files (CarryComment and the
AutoDescription option). At this moment, MTA is unable to obtain
existing comments from SQZ files;
■ Added ReportInvalidFiles option to test filesnames inside archives
agains DOS-device names;
┌───────┬────────────────────────────┐
│ 15.30 │ Major release │
└───────┴────────────────────────────┘
■ Fixed a bug where MTA 15.20 and 15.21 would not recognize ZOO files
in the correct way;
■ Cleaned the archive detection for some archive types. Could result
in strange files (16meg) to be converted;
■ Fixed a bug in recursive ARC/HYP usage. This could result in invalid
actions (under rare conditions);
■ Fixed a bug in extended testing. This would occur when files with
special attributes were extracted from the archive;
■ Fixed a bug where MTA 15.02 and up would go wild when files with the
READONLY, HIDDEN and/or SYSTEM attribute were inside any archive;
■ Fixed a bug where /ATL WAS used in the primary MTA but any child of
MTA (arc-in-arc) would not notice the /ALT option;
■ Fixed a bug in the CARRYCOMMENT logic (type 2). Comments would not
be taken from FILES.BBS and would result in wrong descriptions in
the new archive (double headers and so on);
■ Fixed a bug in the ReportInvalidFiles option. 'Device files' with an
extension did not match but DOS still allows them as deviced. This
is now fixed. The extension is stripped before the test;
■ Under rare conditions, MTA would leave the *.MTA file in the working
directory (most noticeable with MTA /?). This is fixed;
■ Under some multi-tasking programs and on some 80486 machines, MTA
would countdown to slow or to fast. Fixed;
■ Touching of GIF files still didn't work. This is now fixed forever;
■ The calling sequence of PKZIP would not allow the compress of any
READONLY file. This is fixed;
■ One archive program (for the risk of getting boring, again it is
another 'as designed' feature which can not be overruled in this
program) will not allow READONLY/HIDDEN/SYSTEM files to be moved
into the target archive. This is fixed with a special trap;
■ The documentation (15.21 and lower) would suggest that the SHAREWAIT
option could be used without a parameter. In fact it was marked as
an error. MTA will now ignore the SHAREWAIT parameter when there is
no parameter coded;
■ Some items in the log-file (mostly errors) could not be related to
any file. This is fixed;
■ Fixed a bug where MTA would truncate files-counters in an incorrect
manner. '[00]' would be stripped but '[ ]' wouldn't where [ovrlay]
would be stripped again (where it should stay inside the comment);
■ Fixed a problem where MTA would go crazy if you used TAB's in the
MTA.CTL file. Only spaces were allowed but MTA will now also deTAB
any TAB-character;
■ Fixed a problem with AV'ed files where the AV bit was set but no AV
code was present in the archive. Pervious versions of MTA would keep
the AV code (without looking at the Include/ExcludeAVFile), this
version will drop the AV code;
■ Fixed a problem with ZIP files and the AUTODESCRIPTION option. This
could result in help-screens and questions from the target archive
program;
■ Enhanced the REPROTSPECIALATTRIBUTES option, so MTA can either reset
the attributes to normal (no extra parameter) or skip the archive
(SKIP parameter coded);
■ Enhanced the VIRUSSCANNER option. There is now a new parameter that
must contain a short description of the type of scanner. It will be
displayed in the MTA log-file and remote, when MTA is running under
FileDoor <tm> (or alike programs). You MUST CONVERT THESE OPTIONS
IF YOU UPGRADE FROM A PREVIOUS VERSION !
■ Added the FIXEDCONVERSION option to force one or more files to a
fixed target-system, independent of the current target-system
setting. Also added the /NFC command-line parameter to toggle this
option off;
■ Added the FILESCOUNTER option to tell MTA which type of counters
(if any) are used in your FILES.BBS-alike files;
■ Added the UpdateMSGFiles option which will convert archive names in
netmail messages (TICK/FES support) much faster (compared to the
UpdateUntypedFiles option) when there are a large number of messages
to be processed;
■ Added the UpdateMSGFull and UpdateUntypedFull options. When present,
MTA will check both filename AND directoryname for a match, BEFORE
any updating is done on the untyped or MGS file;
■ Added the LeadingSpace option to convert comments from FILE_ID.DIZ t,
(and alike) files to a format that can be used by some FILES.BBS
list-programs;
■ The virus-check programs will now be recorded in the MTA.LOG as well
as the resulting errorlevel. You can now check WHICH virus-checker
marked the file as infected. On the remote side, the user can that
various virus-checkers are called;
■ Added the ExcludeAVFile option to make the selection of archives of
AV's must be kept more easy. Also bogus AV-codes can now result in
removal of files or placement in the error-directory;
■ Added the ExcludeFriendlyMark to make it possible to skip files from
BBS's who use marking and already have done to the archive what you
would normally do yourself;
■ Added SkipNewfiles option to tell MTA not to touch files before a
certain number of days have passed);
■ Added the /NUU, /NUM, /NUT and /NUF command-line parameters to
toggle the UpdateUntypedFiles, UpdateMSGFiles, UpdateTICKFiles or
UpdateFESFiles to off;
■ You can now code the optional parameter SUB on the EXCLUDEFILE
option to let MTA also delete all matched files in sub-directories
of the archive;
■ Added the DefFilesBBSDesc option to change the default description
for new files and files without any comment. Descriptions can be
different, based on the filename;
■ Added the LogThreshold option to let MTA return an errorlevel 100 or
116 when the log-file has grown above a certain threshold;
■ Added the /NOOWNMARK command-line parameter that can be used when
MTA is running under FileDoor <tm>. It will remove any (uploaded)
file that has your own mark-string at the end (obvious the file was
obtained from your BBS and will be a duplicate with a bogus name);
■ If AddFILESBBS is on, MTA will also try to find comments in any
DESCRIPT.ION (4Dos <tm>) comment files or ????????.I?? files which
come from FileDoor <tm>;
■ Added the MakeArc and MakeArcExclude options to convert non-archive
files into archives when MTA is converting other archives in the
same run. /NMA(-) and /NME(-) can be used to swith either or both
the MakeArc and MakeArcExclude option to off;
■ Added an example of the calls for the virus scanner F-PROT.EXE in
the example for MTA.CTL;
■ Added a default configuration file (MTA_EASY.CTL) that can be used
as a starting point for non-BBS usage of MTA;
■ Changed the SUBST.TEC file;
■ Changed the COMMENTS.TEC file;
■ Added the ATTRIBUT.TEC file;
┌───────┬────────────────────────────┐
│ 15.35 │ Minor release │
└───────┴────────────────────────────┘
■ Fixed a big number of strange bugs that were caused by one of the
included commercial PASCAL routines. These routines weren't outdated
but did work incorrectly. I now have included routines of my own
that work OK (after a long period of testing). Anything from hangups
to incorrect functions could occur is some special cases. These all
apply to every included program;
■ Fixed some bugs in the logic where MTA would copy comments from one
FILES.BBS to another. This should now work fine;
■ Fixed a problem where MTA would not report the name of the type of
VIRUS-scan program into the MTA.LOG. The name you have assigned to
a certain VIRUS-scanner will now be showed remote and inside the
log-file;
■ Fixed a problem where MTA would detect arc-in-arc files with the
extension being a valid archive. In these cases MTA would try to
extract the file (it will still do this) and would MOVE the file to
the error-directory (this is removed). These files were thus not
included anymore in the target-archive, which was incorrect. Any
incorrect file inside a NESTED-archive (arc-in-arc) is now left as
it was, independent of any extraction-results;
■ Fixed various problems with AV-codes (both ZIP and ARJ). You should
consult the AVCODES.TEC file inside the MTA__TEC.EXE archive to read
all about the problems with AV-codes;
■ Fixed a flaw where MTA would report 'Mask file not found' where it
really meant 'No files selected'. This would occur if you use the
pick-list to tag files and did not tag any file at all;
■ Fixed a problem where MTA would bail out after a number of files.
This was only the case when the UPDATEMSGFILES option was active. As
it was, MTA kept one file-handle open, causing the file-handles to
exhaust. MTA would report various problems, from invalid extractions
to invalid files;
■ Converted the MTA package to Borland TP 7.0. Users can apply for a
very special version of MTA, compiled under StonyBrook Pascal, which
can EXECUTE overlays in EMS. This version is still under development
but if you need such a version, please send a message to me;
■ The pick-list will always scan the directory where it is started and
in previous releases this could not be aborted. Now you can hit ESC
when it is taking you too long;
■ Changed the detection code for PKZIP 2.xx AV-files. These were not
reported by earlier MTA versions (only PKZIP 1.93 or higher with
included AV-codes). See the AVCODES.TEC file inside MTA__TEC.EXE
for details;
■ Changed the detection code for SQZ 1083. This version is now able
to generate AV-codes which can be detected by MTA. Also the new
SQZ1083 structures are detected and handled correctly;
■ If you use the /@ command-line option (to use a file with filename
to convert), MTA will now also swap to the supplied directory. There
is still one flaw (see /@ documentation) of minor interrest;
■ Added a new command-line parameter /DEBUG. For details, see the file
MTADEBUG.TEC inside the MTA__TEC.EXE file, which is included inside
the release archive;
■ Added a new option KEEPAVNOCODE to keep AV-codes EVEN if there is no
AV-number available or no AV-owner can be extracted. This was the
default behaviour of all MTA versions BEFORE 15.30. In 15.30 I did
change it in a way that these files were always converted (as if
there wasn't any AV-code). If you want the pre 15.30 behaviour again
in MTA, you can include this option;
■ Added a new option NOCLOAKEDARCHIVES (in combination with the new
command-line parameter /NOCLOAK) to detect archives that contain
an file inside with the same name as the original archive;
■ Added an extra parameter on the MTAERRORPATH option. You can set the
parameter if you want MTA to terminate when there are more than the
specified number of FILES or BYTES present in the error-directory;
■ Added coding to use the ORIGINAL CJPEG.EXE and DJPEG.EXE programs
from the Independent JPEG Group <tm>. The default is still to use
the Handmade Software <tm> GIF2JPEG.EXE and JPEG2GIF.EXE programs
but with the STANDARDJPEG option set, you can now also use the
original programs;
■ The options to overrule/add parameters for GIF2JPEG and JPEG2GIF
programs, are extended to 80 characters to accomodate the longer
parameters needed for CJPEG.EXE and DJPEG.EXE;
■ Added the MTV program to the MTA package. MTV is a fast file-finder
program with macro options and with detection of archives. The old
MTV program (which was a stand-alone package) is now obsolete and
replaced with this shape-up version;
MTA is tested with PKWare PKPAK version 3.61, PKWare ZIP version 1.10,
│PKWare ZIP version 2.04g, NoGate PAK version 2.51, ARC version 6.02,
ZOO version 2.10, DWC version 5.10, LHarc version 1.13c/d/2.13, LARC
│version 3.33, MDCD version 1.0, ARJ version 2.39b, SQZ version 1.08.3,
│HYPER version 25, PKLITE release 1.15, GIFLITE version 2.01, JPEG
│version 1.5 (HandMade), JPEG4386 (JPEG Group) and GIFTEST version 4.0ß;
5.4 Copyright, Trademarks
───────────────────────────────────────────────────────────────────────
PKPAK, PKUNPAK, PKZIP and PKUNZIP are trademarks of PKWare Inc.
PKLITE is a trademark of PKWare Inc.
SQZ is a trademark of Jonas I Hammarberg.
PAK is a trademark of NoGate Consulting.
ARC and XARC are trademarks of SEA inc.
ZOO is a trademark of R. Dhesi.
DWC is a trademark of Dean W. Cooper
LZH and LHarc are trademarks of Yoshi;
LZS and LARC are trademarks of K.Miki H.Okumura and K.Masuyama
MD is a trademark of Michael Davenport
ARJ is a trademark of Robert K. Jung
HYPER is a trademark of Peter Sawatzki and Klaus Peter Nischke
CRA is a trademark of DISP and donated to public domain
DesqView is a trademark of Quarterdeck inc.
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
SCAN is a trademark of McAfee Associates
TBScan is a trademark of Frans Veldman / ESaSS B.V.
HTScan is a trademark of Harry Thijssen
VIRX is a trademark of Microcom Software Division
CPAV is a trademark of Central Point Software
FINDVIRU is a trademark of S&S International
Dr. Solomon is a trademark of S&S International
Gobbler is a trademark of COMRAC
F-PROT is a trademark of Fridrik Skulason
VALIDATE is a trademark of McAfee Associates
QuickBBS is a trademark of Pegasus Software
Remote Access is a trademark of Continental Software
TICK is a trademark of Berry Geller
FES is a trademark of Frank Ploenissen
GIFLITE is a trademark of Tsung Hu
JPEG 1.5 is a trademark of Handmade Software Inc.
JPEG is a trademark of The Independent JPEG Group
GIFTEST is a trademark of Dave Navarro Jr.
OS/2 is a trademark of International Business Machines (IBM)
PC-DOS is a trademark of International Business Machines (IBM)
FileDoor is a trademark of Robert W. van Hoeven
│MTA is written in Borland Pascal 7.0, with help of the Turbo Debugger
│3.0 and makes extensive use of Object Professional 1.20 and OPCFI V
│16.10. Some routines are obtained from TurboPower's Asynch
│Professional 1.10. Both STRG and SYS (6.1 and 6.0a, commercial
│version) are included. Sources are edited with BRIEF 3.1;
Borland Pascal is a trademark of Borland International
Turbo Debugger is a trademark of Borland International
Object Professional is a trademark of TurboPower Inc.
Asynch Professional is a trademark of TurboPower Inc.
│Pascal+ is a trademark of StonyBrook software Inc.
OPCFI is a trademark of Robert W. van Hoeven
STRG and SYS are trademarks of Eagle Performance Software
BRIEF is a trademark SolutionSystem
[======================== END OF DOCUMENT ============================]