@database xadmaster.guide
@$VER: xadmaster.guide 1.34 (09.08.2002) by SDI
@node Main "Welcome to the XAD system documentation"

        *********************************************************
        *                                                       *
        *  xadmaster.library - the powerful unarchiving system  *
        *                                                       *
        *********************************************************

                @{"What is it" LINK What}               Concept and Introduction
                @{"Why use it" LINK WhyUse}             Use it!
                @{"Examples" LINK Examples}             Usage Examples
                @{"Requirements" LINK Requires}         XAD system requirements
                @{"Installation" LINK Install}          How to install XAD system
                @{"Clients" LINK Clients}                       Supported archivers
                @{"Tools" LINK Tools}                   Shell tools
                @{"GUI" LINK GUI}                       Graphical user interface
                @{"Developers" LINK Developers}         A word to programmers

                @{"Shareware" LINK Shareware}           xadmaster.library is Shareware
                @{"Disclaimer" LINK Disclaimer}         Read this!
                @{"Author" LINK Author}                 Contact me
                @{"Homepage" LINK Homepage}             Homepage and mailinglist

                @{"History" LINK History}                       Short system history

                @{"Thanks" LINK Thanks}                 Some helpful people
@endnode

@node What "What is it"
The xadmaster.library is the base library of a standard interface for
dearchiving file and disk archives. Maybe you know xfdmaster.library
already, which is the interface for decrunching crunched data files and
crunched programs. The xadmaster.library is the same, but for archives and
disks.

This library allows to unarchive lots of different archiver formats with
just one archiver tool. If someone makes a nice GUI for xadmaster.library,
it can be used for all the included archiver types. It is no longer needed
to have lots of archivers with lots of options and lots of GUIs and lots
of problems. Only one library and one tool. Besides this xadmaster.library
allows to unarchive very strange archiver types. Some of the older
archivers do not work any longer on newer machines, but xadmaster.library
solves this problem, as there is needed only a short @{"client" LINK Clients} to support a
new format.

Disk archives can be decrunched to devices, memory and files (which results in
ADF format). This is not possible with the most disk archiver programs.

At the moment xadmaster.library does not support RAW disk images and MFM
archivers. Normally it is easy to expand the disk interface to support them,
but there are some reasons, why this is not done at the moment:
- There aren't that much archivers supporting that features.
- I did never see a RAW disk archive anywhere, only the archivers itself.

If there is really a need for this feature, I will think about implementing
it.
@endnode

@node WhyUse "Why use XAD system"
This library system has some advantages:
  - It supports lots of different archive types.
  - Archivers are internal or in specific clients. No special programs are
    needed.
  - All archivers have the same interface and do their work in same way.
    There is no need to learn different options for different archivers or
    work around interface problems of archiver programs.
  - The library has a lot of features not supported by most archivers, e.g.
    unarchiving disks into image files.
  - The archiver clients are really short compared to most archiver
    programs.
  - The library can support nearly all possible archivers, also very
    strange and old ones.
  - Adding new archivers is really easy by making a new external @{"client" LINK Clients}.
  - Most of the supported archivers are a lot more stable and have better
    error handling than the archiver programs.
@endnode

@node Examples "Usage examples for XAD"
The included shell tools allow to access most features of XAD system. Here
are some examples, what you may do.

1) Extract files from file archives to ram disk:
   xadUnFile example.lha RAM:

2) List information about file archives:
   xadUnFile example.lha INFO

3) Extract disk archive to formatted floppy disk:
   xadUnDisk example.dms DF0:

4) Convert disk archive into ADF format:
   xadUnDisk example.dms example.adf

5) Extract files from disk archives to ram disk:
   xadUnFile example.dms RAM: DARC

6) Extract files from adf file to ram disk:
   xadUnFile example.adf RAM: DIMG

Surely this is not all it can do! You have lots of options:
- select patterns for files to extract
- overwrite files or not
- create directories or not
- delete incomplete files or not
- show list output with protection bits or more information
- display disk archive information texts
- handle multiple splitted archive files
- ignore comments, filedates, protection bits, file tree
- ...
@endnode

@node Requires "Requirements of XAD system"
All executable files in this packet require at least OS version V37 (OS2.0)
to do their work.

The xadmaster.library must be in the LIBS: drawer and any needed client in
the LIBS:xad drawer.
@endnode

@node Install "What to do to install XAD system"
Copy xadmaster.library to LIBS: and the clients to the LIBS:xad drawer. The
utility programs can be copied anywhere. Best will be C: drawer.

The included Install script does an easy installation of required components.

----

Registered users get a keyfile to disable the shareware requests. This file
needs to be installed following way:
a) If you have a KEYPATH environment variable, copy it to the directory
   specified there.
b) If you have a KEYS: assign, copy it to that directory.
c) In any other case copy it to S:
@endnode

@node Clients
Clients can be internal (in the library) or external (in LIBS:xad drawer).
External clients can be made by anyone and may also replace the internal
clients.

Currently there are following standard clients (internal and external).

Disk archivers
  CompDisk      Older disk archiver by Olaf Barthel.
* COP           Buffer files of COP disk backup and copy tool by Armin
                Sander.
  CrunchDisk    XPK and PP based archiver by Klaus Deppisch.
  DCS           XPK based "Device Compression System" by Nicholas Clarke.
                This supports multiple password runs. As XAD only supports
                one password, all the passwords need to be passed
                as 1 string with the entries seperated by '|' sign
                (f.e. "pwd1|test2|test3|test4")
* DImp          Disk-Imploder by Albert-Jan Brouwer.
* DImp SFX      Self extractable form of Disk-Imploder.
* DiskPacked Z. C64 data storage format.
* El Torito     Image of bootable MS-DOS CD's.
  GDC           Old XPK based disk archiver by Marcel van Lohuizen.
  LhWarp        Older disk archiver by Jonathan Forbes.
  Marc's DiskCr XPK based archiver by Marko Pozarnik.
* MSA           Magic Shadow Archiver.
  PackDev       XPK based archiver.
  PackDisk      XPK based archiver by Edgar M. Vigdal.
  Savage Comp.  Disk archiver mady by Markus Zeller based on a cracked
                version of LhA by Stefan Boberg.
  SuperDuper3   Buffer file of SuperDuper3.
  Warp          Very old disk archiver system by SDS software.
* X64 DiskImage Disk Image of C64 floppy.
  xDisk         XPK based archiver from Oliver Wagner released with German
                Amiga Plus magazine.
  xMash         XPK based archiver.
* ZAP           Older disk archiver by "GREMLIN of MAYHEM".
* Zoom, Zoom 5  Zoom disk archiver made by Olaf Barthel.

File archivers
  Ace           Archiver made by Marcel Lemke. Encrypted files are not
                supported, because of missing decryption code.
  Ace MS-EXE    The self executable Ace file format for MS based PC's.
  Amiga+ Unpack Unpack file archiver used for older German "Amiga Plus"
                coverdisks.
  AmiPack       AMI-Pack file archiver used on German "Amiga Magazin"
                coverdisks. This client is lots faster than original tool.
* AMOS Sample.  An client to extract IFF samples from AMOS sample files.
* Ar            Unix object file archive library.
  Arc           Very old archiver. Encrypted archives cannot be detected,
                but password is supported! Arc normally uses upper case
                passwords!
  Arj           Often used archiver on MS-DOS/Windows machines.
  Arj MS-EXE    The self executable Arj file format for MS based PC's.
* ASCII encod.  One client for lots of these ASCII mail transfer formats like
                uuencode, base64, abe and others.
* BZip          File archiver which came before bzip2.
* BZip2         Often used tar-compressor. The format does not store
                decompressed size, so certain limitations exist on
                extracting (e.g. no size displayed and extracting to memory
                may fail).
* C64s TapeIma. Image of C64 tape.
* CAB           The popular MS-Windows installation file archive format.
* CAB MS-EXE    The self-extracting form of CAB.
  Compress      Sometimes used tar-compressor. The format does not store
                decompressed size, so certain limitations exist on
                extracting (e.g. no size displayed and extracting to memory
                may fail).
  Cpio          A Tar like uncompressed archive format used for example in
                RPM files.
* EPF           Archive files of game Darkmere.
  GZip          This client only supports one-file GZip archives. If no
                filename is stored in the archive, a default is used.
  GZip SFX      Shell-script based self executable forms of GZip archives
                for Unix. Serveral different formats are supported.
* HA            Archiver by Harri Hirvola. Often used for text compression.
* id-Softw. PAK Quake game PAK data files.
* LBR C64       C64 data storage format.
  LhA           The wellknown standard Amiga archiver. This archiver client
                has been tested with lots of different files and also
                handles defective archives in a very good way. It handles
                all archives correctly which crash Stefan Boberg's LhA and
                later releases, but Stefan's LhA is still faster than this.
                This client also handles compression methods unknown to
                Stefan's LhA.
  LhA C64 SFX   The self executable LhA file format of C64/C128 computers.
  LhA MS-EXE    The self executable LhA file format for MS based PC's.
  LhA SFX       The self executable LhA file format from Stefan Boberg.
  LhF           Older Amiga archiver by Stefan Pampin.
* LhPak SFX     Self extracting archiver used for Zoom 5.x releases.
* LhSFX         Seldom used self extracting archiver.
* LU            An uncompressed "BASIC Library Manager" archive format.
* LyNX          C64 data storage format.
* LZX           LZX dearchiver (what else :-).
* MacBinary     Uncrunched transport format for Macintosh files.
* MakeSFX 1.0   MakeSFX is an AmigaDOS script by Stuart Caie generating
                self-extracting Amiga archives.
* MakeSFX 1.2   MakeSFX is an AmigaDOS script by Stuart Caie generating
                self-extracting Amiga archives.
* MS-TNEF       Microsoft TNEF mail attachment format.
  MXM-Sim. Arc. Simple self extracting archiver found in Zoom 4.1 archive.
* Outl.Exp.4 M. Mailbox files of Outlook Express 4.
* PackIt        Older Macintosh archiver.
* PAK SFX       Self extracting archiver by Mark Riley.
* PC64 File     C64 image file.
* PComp. PACK   Archive format of PCompress.
* RAR           This archiver is often used on MS-DOS/Windows computers.
* RAR MS-EXE    The Self executable RAR files for MS based PC's.
* RPM           Archive format of "RedHat Package Manager" for Unix
                distributions.
* S-Omni        Old, seldom used selfextracting format.
  S-Pack        Old, seldom used archiver format.
  S-Pack SFX    Self extraction version of S-Pack.      
  SDS Soft. SFX SDS Software Self Extracting archives (used to distribute
                DMS utility (1.01 to 1.11).
  Shrink        Older Archiver by Matthias Meixner.
  SQ            File squeezer by R. Greenlaw.
* StuffIt       Popular Macintosh archiver by Aladdin, older version.
* StuffIt 5     Popular Macintosh archiver by Aladdin, newer version.
* StuffIt 5 EXE Self extractable version of StuffIt 5 for MS based PC's.
  Tar           UNIX tar program. For gzipped tar archives, you can first
                use the Gzip client to extract tar file and afterwards Tar
                client to extract final files. Sorry, but one-pass TarGZ
                is impossible.
  WinZip MS-EXE Often used self extracting Zip format on MS-Windows based
                machines.
* Wrapster (3)  Wrapster is a way of using the Napster MP3 sharing system
                to share all types of files.
  XPK Archive   File archive created with XArcTool and xpkarchive.library.
                This should be the top level of XPK, but never got widely
                accepted.
  Zip           The most often used archiving system.
  Zip MS-EXE    Self extracting Zip executables for MS-based machines.
  Zoo           Very old archiver.

Mixed archivers
  DMS           This archiver supports the complete range of files, which
                can be produced using DMS. This includes disk images and
                file archives. Some of these files are corrupt and DMS
                itself cannot handle them (but this client).
  DMS SFX       Self extracting DMS/FMS archives of DMS 2.x including
                corrupt format of DMS 2.04.

Filesystems
  Amiga Std FS  The standard filesystem of Amiga computers in all its 6
                forms (OFS and FFS in Normal, International or Dircache
                mode).
* CBM-DOS 1541  Filesystem of 1541 floppy for C64/C128.
* CBM-DOS 1581  Filesystem of 1581 floppy for C64/C128.
* Game/Demo FS  Filesystems of game and demo disks.
* ISO 9660 CDFS Filesystem of ISO9660 CD's.
* LightFileSys. Games and demo filesystem by Lighting Inc.
  Microsoft FAT The filesystem used on all the MS compatible machines.
                Supports FAT12, FAT16 and FAT32.
* NiteTimeGames This filesystem is used in the game Mean Arenas and the
                demo for the game PremierManager3.
  Sanity OS FS  Internal SanityOS filesystem client done by Stuart Caie.
                This format is used on Sanity demo disks.
* Sensi disk FS Filesystem used on some games made by Sensible Software
                (e.g. Cannon Fodder 1 and Sensible Soccer 1.1)
* SFS3 FS       SmartFilesystem version 3.
* TR-DOS FS     Filesystem for ZX Spectrum computers disk images.
* Trackmo FS    Filesystem used on some demo disks.

Now some information about the external clients:
File             Status               Author
--------------------------------------------
AmigaGameDemoFS  Freeware             Ronald van Dijk
AmosSampBank     GPL                  Stuart Caie
ar               GPL                  Stuart Caie
ASCII            GPL                  Stuart Caie
bzip             GPL                  Stuart Caie
bzip2            GPL                  Stuart Caie
CAB              GPL                  Stuart Caie
CBM-8bit         Freeware             Ronald van Dijk
COP              GPL                  Stuart Caie
DImp             GPL                  Stuart Caie
ElTorito         Freeware             Ronald van Dijk
EPF              Freeware             Ronald van Dijk
HA               GPL                  Dirk Stöcker
idPAK            Freeware             Sigbjørn Skjæret
ISO9660          GPl                  Ronald van Dijk
LightFileSystem  Freeware             Ronald van Dijk
LU               Freeware             Ronald van Dijk
LZX              Freeware             Dirk Stöcker
MakeSFX          GPL                  Stuart Caie
MS-TNEF          GPL                  Stuart Caie
MSA              GPL                  Stuart Caie
oe4              Freeware             Michal Jarzynski
PAK              Freeware             Ronald van Dijk
RAR              Freeware, MC68020    Mikolaj Calusinksi
RPM              GPL                  Stuart Caie
SFS              GPL                  Andrew Bell
StuffIt          GPL                  Dirk Stöcker
TR-DOS           GPL                  AmiS
Wrapster         GPL                  Stuart Caie
ZAP              GPL                  Stuart Caie
Zoom             Freeware             Dirk Stöcker
@endnode

@node Tools "Included shell tools"
To use the xadmaster.library, there are some shell tools included in C
directory. Their docs are in Docs directory. See these docs for better
understanding.

exe2arc
  This tool converts exe files to archives.

xad2lha
  This tool converts any archive to an lha archive. It uses internal
  lh5-compression and does not need lha utility.

xadLibInfo
  Prints information about xadmaster.library and supported archiver
  formats.

xadUnDisk
  This tool can be used to extract supported disk archives.

xadUnFile
  This tool can be used to extract files from supported file archives.
  This is the most needed tool.
  It can replace all these unlzx, unrar, unlzh, ... programs.

xadUnFileM
  This one is like xadUnFile, but supports to pass multivolume or splitted
  archives to the XAD system.

xadList
  A tool like normal List command, but additionally prints if a file is
  an archive and the type of archiver.

xadUnTar
  A tool to extract and list Tar archives. The archives maybe compressed
  with any of the supported archive types (BZip, BZip2, GZip, ...).

These tools can be easily used from within directory managers like
Directory Opus or DirWork.
@endnode

@node GUI "Graphical user interface"
This distribution does not include any graphical user interfaces. There
are programs in Aminet supporting this unarchiving system. And there is
one really nice tool called "Voodoo-X", which can be called "THE GUI" at
the moment.

It has been done by Andrew Bell and can be found in Aminet directory
util/arc under the name Voodoo-X.lha (and its readme file).

You should try it, if you do not like shell work.
@endnode

@node Developers "Developing for XAD system or using xadmaster.library"
Carefully read the autodoc files. Normally all important information is
written down in these files. Check the include files as well, as they
cover lots of comments.

Very few examples are supplied together with that library. The shell tools
may help to understand the usage of the master library, the example clients
may help to make own clients. There is especially one well documented
example client describing the clients internals.

If you have still problems, contact me and I will answer your questions.
Normally I use such questions to improve the docs afterwards.

Writing a client needs some knowledge of the archiver the client should
support and knowledge of clean Amiga programming. All data must be read
and written through input/output functions. There is no end user interface,
so the client must handle error conditions, destroyed files and all such
cases itself and in an acceptable manor. Of course all clients must be
reentrant (as they are used in a library)!

These requirements can be called "good and clean programming style" and
are not special to xadmaster.library.

I would like to get clients in C language for portability reasons. For now
it is nearly sure, that Amiga computers will change a lot in future. C code
has best chances to survive that changes without lot of effort.
@endnode

@node Shareware "xadmaster.library is Shareware"
The xadmaster.library is Shareware with very special conditions. There are
no usage restrictions (means this is no Crippleware!), and xadmaster.library
use can be implemented into programs without any restrictions.

But the xadmaster.library has a "Shareware-request", which pops up sometimes
to remind you, that XAD is Shareware.

Only the end users have to pay shareware fee, if using xadmaster.library.
There are 3 forms of payment to get a registered user:
  - Send 20 EUR or US $20 to my snail mail address or use any other more
    secure transfer system.

    My bank can be reached with:
    From Germany:
    Name:             Postbank Berlin
    Number:           989732104
    BLZ:              100 100 10

    From Outside of Germany:
    IBAN:             DE32 1001 0010 0989 7321 04
    BIC (SWIFT-Code): PBNKDEFF

  - Make detailed bug reports about 3 currently unknown bugs. I decide
    whether a bug report is counted or not. Mainly this depends on two
    facts:
    - was the bug already reported
    - does the description help me to find the bug
    After the first report you will get a partly registered user :-)
  - You make an own external client and send me the source and the client
    for inclusion in next release. Some more are good as well!
  The last form is the most wanted!

  - Supply following: name, e-mail, address (multiline), country.
  - And to optimize XAD: processors and OS versions (all you have).

For programmers using xadmaster.library in own applications (f.e. in virus
scanners):
  - It would be fine, if you would tell me suggestions or bugs, as
    implementing xadmaster.library use may show you some problems.
  - You must state above conditions in your distribution, at a place, where
    users can read it.
  - And please do not forget: Most time you are users as well, so think
    about above conditions.

NOTE: This conditions only cover the xadmaster.library! External clients may
have different legal state. For example LZX and Zoom both are Freeware. So
expect clients to have any legal state. You need to check this for every
client. Normally the version string in the client should tell you what type
it is.
@endnode

@node Disclaimer
All contained files are provided "as is" without warranty of any kind,
either expressed or implied. The entire risk as to the accuracy of the
information herein is assumed by you. I do not warrant, guarantee or make
any representations regarding the use of included files in terms of
correctness, accuracy, reliability, currentness or otherwise. In no event
I will be liable for direct, indirect, incidental or consequential damages
resulting from any defect in the included files.

This package contains algorithms that may be illegal to use in certain
countries, states, counties or districts because of local legislation or
patent situation. It is the user's responsibility to determine the legality
of such algorithms before using them. The fact that this system contains a
certain algorithm does not necessarily mean that it is legal to use that
algorithm in all parts of the world. I hereby reject any liability or
responsibility for any legal consequences resulting from your use of
any algorithms.

Using this software should not violate any copyrights, but if this is the
case, please inform me any the related parts either will be removed or
changed to a non-violating form. I will not be liable for trouble resulting
in usage of such parts.
@endnode

@node History
xadmaster.library 12.0 (12.08.2002)
- Improved xad2lha tool and fixed a bug in compression routine.
- Improved disk handling of xadUnDisk.
- Added PackIt client.
- Support for broken LZX date till 2005 added. Mikolaj's fixed LZX will
  work till 2027 with XAD now and Dr.Titus patched and broken LZX till
  2005.
- Added update of MS-TNEF client.
- Added polish docs. Moved localization files into seperate archive.
- Added updated ASCII client. NOTE: I forgot last time, but ASCII is still
  BETA and incomplete (but stable enough to be released). Don't wonder if
  certain types are detected, but not extracted!
- Bug fixes in exe2arc, Zip client, DMS client, Amiga filesystem client and
  StuffIt client. Thanks Ronald van Dijk and Jürgen Klawitter for the reports.
- Added improved version of CBM-8Bit external.
- Added character set conversion functions into the master library and
  support of different encodings as well as Unicode. It seems to be very hard
  to get a xx.1 version of XAD. Originally planned as V11.1 this charset
  stuff forced version increase to V12.
- Added last (important) missing algorithm to StuffIt client. It should be
  fully functional now (except of decryption). Also fixed recognition a bit
  to detect newer StuffIt files with changed header. Thanks Matthew T.
  Russotto for doing the hard work.
- Added TR-DOS client by AmiS.
- Added news and fixes from Ronald van Dijk.
- Added pattern support for xadUnDisk (and thus also limited multifile
  support).

xadmaster.library 11.0 (28.12.2001)
- Updated some external clients.
- Added name and link extension types to Tar client.
- Updated some internal clients to support V10 features.
- Updated xadUnTar a lot.
- Added new protection bit handling needed update to version 11.
- Added new bits, flags, tags and xadSpecial structure.
- Added StuffIt and MacBinary support.
- Added DCS disk archiver.
- Added support for direct disk input.
- Added ASCII client done by Stuart Caie.
- Added CBM-8bit client from Ronald van Dijk.
- Added GameDemoFS from Ronald van Dijk.
- Added special clients, which are not added to normal tree. You may install
  them yourself if you think they are useful for you.
- Replaced GameDemoFS, Trackmo-DOS, SensiDisk and NiteTimeGameDos with
  AmigaGameDemoFS from Ronald van Dijk. Delete the clients in your system
  or use the supplied Install script to delete them.
- Added support for PMARC (a CP/M archiver by Yoshihiko Mino) to the LhA
  client.
- Added support for Archimedes nspark archives to Arc archiver.
- Fixed LhSFX recognition.
- The xadUnFile, xadUnFileM and xadUnDisk programs support reading from
  disks now. This means you can extract filesystem data or create disk-images
  as well as copy disks with XAD.
- Added AmosSampBank client from Stuart Caie.
- Replaced Cpio by a more functional internal version which supports the pax
  format type (070707) also. Remove the external Cpio file.
- Added SFS client from Andrew Bell.
- Added ISO9660 date structure.

xadmaster.library 10.0 (31.03.2001)
- Added MS-TNEF client by Stuart Caie.
- Added MakeSFX client done by Stuart Caie.
- Added support for S-Pack 1.4 exe files.
- Added new version of NiteTimeGamesDos client.
- Added 2 new DMS-SFX forms.
- Fixed bug in PackDev client reported by Konrad Klar.
- Added SQ client. Thanks Ronald van Dijk for format specification.
- Added CP/M date support.
- Added xadAddFileEntry and xadAddDiskEntry functions and thus
  hook support during scanning. The clients will support this step for
  step.
- Bumped version to 10.
- Added LU client done by Ronald van Dijk.
- Supports wrong sized DD disk images with Amiga filesystems now.
- Added GDC disk archiver. Thanks Ronald van Dijk for the information.
- Added "destination exists as directory" request.
- Added bugfixed CAB client version.
- Improved Shrink-based clients.
- Added C64 Lha SFX client. Thanks Ronald van Dijk for example files
  and format description.
- Added support for slightly changed password encryption of newer InfoZip
  programs.

xadmaster.library 9.1 (05.01.2001)
- Updated LightFileSystem client.
- Bugfix in xadUnTar and Tar client.
- Updated some external clients.
- Fixed Enforcer hits in HA client.
- Added COP client.
- Bugfix in LHA and HA client.

xadmaster.library 9.0 (25.11.2000)
- Added "GZip SFX" client.
- Added Wrapster and RPM client done by Stuart Caie.
- Added "NiteTimeGamesDos FS" client done by Ronald van Dijk.
- Added 68060 version of main library.
- Added 68020 and 68060 versions of external clients.
- Splitted distribution into 4 archives.
- Added support for older LHA-Exe format.
- Fixed Enforcer hit in xadUnDisk.
- Fixed LhWarp crash.
- Internal cleanup for some clients. Removed some double algorithms and
  added better internal design for some algorithms to make them easier to
  use from different clients.
- Added HA client.
- Added xadUnTar tool.
- Added Warp client.
- Added support for SectorLabels (only disk hook allows to use them).
  Needed to bump the version to 9, because of new tags, data fields.
  Updated clients to pass SectorLabel information. Updated xadUnDisk to
  support necessary switch.
- Added updated SensiDisk client and new PAK and LightFileSystem clients
  done by Ronald van Dijk.
- Fixed bug in Tar client. Thanks Stuart Caie for the hint.
- Updated CAB client from Stuart Caie.

xadmaster.library 8.0 (29.08.2000)
- Added new SensiDisk client version.
- Added "Microsoft FAT FS" filesystem.
- Added ZAP client done by Stuart Caie.
- Added MSA client done by Stuart Caie.
- Added bzip client done by Stuart Caie and updated Version of bzip2.
- Added "CAB" and "CAB MS-EXE" developed by Stuart Caie. This only misses
  one older algorithm, but Stuart is working on that problem.
- Added new version of xadUnFile and xadUnDisk.
- Added DImp client by Stuart Caie.
- Added Ar client by Stuart Caie. Stuart made really lots of new clients.
  I'm waiting for other users doing the same. There are so much formats
  out there. And you become registered user!
- Updated Arc client supports archives with directories now.
- Added input and output stream hooks
- Added xadGetHookAccess() and xadFreeHookAccess().
- Removed entry sorting for filesystem clients to unify interfaces and for
  speed reasons on large harddisk images.

xadmaster.library 7.0 (20.06.2000)
- Some internal fixes.
- Added new bzip2 client version.
- Updated xadUnFile and xadUnFileM.
- Added multiple filesystem support (XAD_STARTCLIENT tag).
- Added new formats to exe2zip and renamed it to exe2arc. Please delete
  exe2zip, if it is installed on your computer.
- Added bugfixed RAR-client.
- Added SensiDisk and Trackmo-DOS clients by Ronald van Dijk.
- Added LhWarp client.
- Added Apple Macintosh fork support. This is not required, but may help
  using transfer archives from and to Apple computers.
- Added "Savage Compressor" client.

xadmaster.library 6.1 (03.05.2000)
- Added PackDisk client.
- Added "Marc's DiskCruncher" client.
- Added CompDisk and Compress clients.
- xad2lha now supports disk archives.
- Added Ace and "Ace MS-EXE" clients.

xadmaster.library 6.0 (01.04.2000)
- Added SOS client done by Stuart Caie.
- Added xadUnF script to C directory. It allows to call multiarchives a bit
  easier, but supports extraction and LIST only. Call it "xadUnF <arc> <dest>"
  or "xadUnF <arc> INFO", where <arc> is the basename of the archive without
  extensions.
- Better support for single file crunchers like GZip and BZip.
- Added Arj and "Arj MS-EXE" clients.
- Added XADCF_NOCHECKSIZE and new xadLibInfo version 1.4.
- Added "Zip MS-EXE" client.
- Some code cleanups. Now the error returns of some archivers help much more.
- Added BZip2 external client done by Stuart Caie.
- Updated xadUnFile (1.17) and xadUnDisk (1.7).
- Added lots of new flags and definitions to improve information handling.
- Bug fixes in Zip clients.
- Added LhF client.

xadmaster.library 5.0 (19.02.2000)
- Bug fix in multivolume support and date conversion speedup.
- Added Arc and Zoo archivers.
- Updated xadUnDisk to support FORMAT and disk images. It is version 1.6 now.
- Updated xadUnFileM to support patterns (now version 1.15).
- Added "LhA MS-EXE" client.
- Fixed Installer script.

xadmaster.library 4.0 (18.01.2000)
- Added entry information texts to LhA, Zip, AMPK and "AmigaPlus Unpack".
  These texts can be displayed using VERBOSE option of xadUnFile.
- Added VERBOSE option to xadUnFile and xadUnFileM.
- The official version now supports keyfiles for registered users.
- Added CrunchDisk client.
- Added xadConvertProtection function.
- Added file extraction from disk images (ADF) and 2 new functions for
  that purpose.
- Needed to bump version to 4.
- Added AmigaE modules done by Tomasz Wiszkowski
- Updated xadUnfile and xadUnfileM to 1.14 to support new file extraction
  from disk images.
- Added updated RAR client.

xadmaster.library 3.3 (07.12.1999)
- Updated exe2zip to version 1.1
- Fixed QDOS support for Zip files
- Fixed some errors in Zip client
- Updated xadUnFile and xadUnFileM to 1.12

xadmaster.library 3.1 (02.11.1999)
- Updated xadUnFile and xadUnFileM to 1.11
- Added Zip, "WinZip MS-EXE", GZip clients
- Added exe2zip utility

xadmaster.library 3.0 (27.09.1999)
- File input hook now uses buffered IO which reduces needed time a lot.
- Fixed problem with initialisation of external clients
- Added S-Omni, LhSFX and "PCompress PACK" to external Zoom file.
- Updated xadUnFile and xadUnFileM to version 1.10.
- Added "XPK Archive", S-Pack and Shrink clients.
- Added 020+ Version, as Shrink gets a real speedup with that one.
- Added disturbing Shareware-Requester. Sorry folks, but it seems to
  be necessary.
- Added xadStripInfo system, auto data seek for unarchiving and new
  tag hook access function.
- Updated xadLibInfo tool.

xadmaster.library 2.2 (18.07.1999)
- Added LhA and LhASFX clients
- Updated xadUnFile utility to 1.7 and returned to old style user interface
- Added xadUnFileM utility with new multifile archive interface of last
  release.

xadmaster.library 2.1 (29.06.1999)
- some fixes for DMS archiver
- fixed bug in Zoom client
- added RAR archiver done by Mikolaj Calusinski
- added new memory allocation function to master library
- added memory copy function to master library
- Added multiple input file support to master library and xadUnFile tool.
  The xadUnFile tool now explicitely needs DEST and FILE keywords and all
  extract files must be given using only one pattern. This is due to a
  limitition of ReadArgs function.
- added renaming feature in case file exists to xadmaster.library and
  xadUnFile tool
- added master internal free stuff for client data and fixed xadLibInfo
  to support that new flags

xadmaster.library 1.8 (16.03.1999)
- updated xadUnDisk and xadUnFile tools to version 1.4
- added new "Amiga Plus Unpack" archiver
- added new "AmiPack" archiver
- some little bug fixes and documentation cleanup

xadmaster.library 1.7 (15.02.1999)
- added internal "PackDev" and "MXM-Simple Archive SFX" clients
- added extern Zoom client including "Zoom", "Zoom 5" and "LhPak SFX"
- fixed bug in disk hook
- updated xadUnDisk tool to version 1.3
- LZX client got an external Freeware client

xadmaster.library 1.6 (08.02.1999)
- first official full working release
@endnode

@node Author
Please contact me:

*********************************************************************
* snail-mail:                  * e-mail:                            *
*   Dirk Stoecker              *   stoecker@epost.de                *
*   Geschwister-Scholl-Str. 10 *   dirk@dstoecker.de                *
*   01877 Bischofswerda        * world wide web:                    *
*   GERMANY                    *   http://www.dstoecker.de/         *
* phone:                       * pgp key:                           *
*   GERMANY +49 (0)3594/706666 *   get from WWW pages or keyservers *
*********************************************************************
@endnode

@node Homepage
The XAD system also has its own homepage at

  http://www.dstoecker.de/xadmaster.html

and an own mailinglist at

  http://groups.yahoo.com/group/xad/

The homepage contains some information about XAD system and also a link
to the mailinglist and other XAD resources.

To send mail to the list use the address xad@yahoogroups.com or use the
web interface.
@endnode

@node Thanks
There are some people I want to thank for their work (in no order):

  Georg Hörmann
    The former author of xfdmaster.library. This library is an interface
    for uncrunching files and gave me the idea to produce xadmaster.library.

  Urban Dominik Müller
    The former author of xpkmaster.library. This library inspired me a
    lot especially in design of xadmaster.library. Thanks also that he gave
    me the sources to improve xpkmaster.library.
    Special thanks for managing Aminet and keeping the Amiga community
    alive.

  Andre R. de la Rocha
    The author of xDMS. Thanks for his work and the free sources, which made
    the DMS client a lot easier (but it was still a hard job).
    An "Anti-Thanks" to the later DMS authors for producing such an
    incredible nasty format. Especially DMS 2.04 is a pain.

  Ralf Babel
    For his "Amiga Guru Book" which helped me a lot during the last 3 years.
    And also thanks for the questions he answered (sometimes with a short
    mail "See Guru Book page xxx" :-)

  David Tritscher, Dan Fraser
    For making the unlzx utility (and the structure comment at end of source
    code) which helped me to make the LZX client.

  Olaf Barthel
    The author of Zoom disk archiver for supplying me the source codes of
    Zoom 5.4, to make the Zoom client possible.

  Mikolaj Calusinski
    For doing the first external client beside my standard clients. He also
    got first registered user. And a big thank for his help and really good
    ideas how to improve the XAD system.

  Brad Rogers
    For beeing the second registered user and the first one paying the
    registration fee.

  The InfoZip guys
    For their InfoZip project and the sources which allowed me to make Zip
    client. It is impossible to state all the persons here, as this would
    double the file size. Check http://sunsite.org.uk/packages/infozip/ or
    nearly any other big ftp server for their work.

  Herve Dupont
    For french translation. This remark is three releases to late, but I did
    not forget you. :-)

  Andrew Bell
    For giving me the final cause implementing file extraction from ADF files
    (disk images). He also sent me source of his UnADF tool to reduce work.
    And finally for making the wonderful GUI called Voodoo-X.

  Stuart Caie
    For doing a lot stuff around XAD and XFD, especially making new clients.
    Check his homepage under http://zap.to/kyz/ to see what he made.

  Ronald van Dijk
    For making lots of new clients for XAD and XFD systems and also for
    helping to improve stability and reliability of both systems. Visit
    his homepage at http://www.amiga-stuff.com/ to find out about his Amiga
    related work.

  Matthew T. Russotto
    For writing the CAB Quantum and StuffIt Arsenic extraction algorithms.
    This saved me and Stuart a lot of work. Hopefully we will see some more
    work like this in future. ;-)

  Mariusz Danilewicz and Daniel Sternik
    For Polish translation.

And another person which should not be forgotten:

  fIRE^ROYAL
    Well this clever guy distributes a crack skipping my keyfile request.
    Still waiting for someone to make a keyfile generator as this will need
    some brain work. Skipping the request can do nearly every dumb boy. I
    was able to do that when I was 10.
@endnode
