home *** CD-ROM | disk | FTP | other *** search
- README for Zoo/ST binaries
- ==========================
-
- Fortunately, Rahul Dhesi has lifted the tight copyright arrangements for the
- ST version of Zoo. Just like the MS-DOS version, he allows distribution of
- binaries WITHOUT sources. I'm strongly convinced this will help making Zoo
- accepted as archiver number 1 in the ST world.
-
- Because a lot of people will receive the Zoo package without the sources,
- here you find the implementation notes for Zoo/ST. Additional information can
- be found in README.ST2, supplied with the sources (which are the ultimate
- documentation offcourse).
-
- Please read the official Zoo documentation first (the file ZOO.MAN or ZOO.1).
- The Zoo implementation for the ST is complete; all features are present,
- except the following:
- - using Zoo as a filter is not tested (and will probably not work).
- - the MS-DOS specific Z-archive format is not supported. A Z-archive or
- tiny archive seems to be an archive containing a single file; it didn't
- seem worth the effort (and code size) to implement this.
-
-
- ST-SPECIFIC FEATURES
- Besides solving a couple of bugs in the original Zoo 2.01 sources, I added
- the following features:
-
- - Zoo/ST accepts both slashes and backslashes as directory separators in
- all arguments, like:
- zoo a test /src/atari.c \src\zoo.c \src/zoo.h
- - added TMPDIR support during packing: the temporary file "Z.@@@" is
- kept in the following directory:
- 1. if a dot was specified as modifier, in the current dir;
- 2. else, if the environment variable TMPDIR exists, in the directory
- this variable points to (TMPDIR may contain a drive specifier);
- 3. else in the directory where the zoofile itself resides.
- Note: the only time a temporary file is created is during packing, so
- this is the only case where you could notice a speed increase when
- TMPDIR points to a RAMdisk.
- - added a little check to FIZ.TTP: it now prints HEADER when the archive
- header is processed (before it always printed DIR and some garbage when
- the header was processed).
- - Zoo tries to be clever when deciding to wait for any key to return to
- the desktop. The method used:
- 1. IF the environment variable ZOOPAUSE is set and equal to "no"
- THEN don't wait for a key, return immediately;
- 2. ELSE IF the environment variable ZOOPAUSE == "yes"
- THEN do wait for a keypress;
- 3. ELSE (the environment variable ZOOPAUSE is neither "yes" nor "no")
- IF shell seems to be available
- (i.e. if the system var _shell_p (0x4f6) is unequal to 0)
- THEN do not wait for a key
- ELSE do wait for a key.
- This seems to be the most flexible way, offering both desktop and shell
- users intuitive defaults and optional full control by manipulating
- ZOOPAUSE.
- - Zoo/ST was compiled with the GREAT Turbo C compiler, v1.0, from
- Heimsoeth/Borland; it was linked with a propriatary library, which
- yields much faster code than TC's stdio library. Unfortunately, this
- library cannot be distributed to the Public Domain.
- Zoo/ST can be linked with TC's library though, provided that the
- patches described in README.ST2 are applied to the original library.
- - Zoo/ST's startup code supports the extended parameter passing technique
- called "xARGV", restricting the length of all arguments only by the
- available memory. It's obvious that this feature only works when Zoo is
- started from a shell which also supports this convention
- (CRAFT/GPshell, gulam, msh).
- - Zoo/ST has 1 new "expert" command modifier and 2 related new novice
- command-line options:
- / modifier for "a" expert-level command.
- When one (or more) of the file arguments represent a
- directory, the contents of this directory are COMPLETELY
- added (i.e. ALL subdirectories, subsubdirectories etc will
- be added).
- -backup novice command.
- Same as -add, but when any directory is encountered in the
- file arguments, this directory will be completely added
- (including all subdirectories, subsubdirectories, etc).
- All file names are stored completely (i.e. including the
- full path).
- Same as expert command "aP/".
- -restore novice command.
- Logical counterpart of the new -backup option. Will
- extract files from a Zoo archive using directory
- information (if present) and creating any (sub)directory
- needed which does not exist.
- Same as expert command "x//".
- These new features will probably be added to versions of Zoo on other
- machines as well.
-
-
- BUGS
- At the moment of distribution, two bugs are known:
- 1. the Lempel-Ziv compression method fails dramatically when Zoo is
- feeded with a file containing 2-byte integers in ascending order (e.g.
- from 0 to 6500). After quite a long time spent in the compression
- routine, Zoo reports 0% compression though actually the file has
- increased with around 30-50%!!!
- This bug is also present in ARC/ST v5.21, because identical LZ
- compression techniques are used.
- Let's hope Rahul Dhesi can solve this bug.
- 2. During beta testing, a rare problem was encountered when TurboDos is
- active and Zoo is used. When you want to archive a couple of files
- (more than three, all residing on your harddisk or ramdisk) and the
- target Zoo archive will be stored on floppy, Zoo aborts with 2 bombs.
- Using a debugger it seems to be TurboDos' mistake: the bus error is
- caused by an invalid A0 register used as base register in a TurboDos
- 512-byte internal copy loop.
- The bug is reported to Atari (Benelux); as a fix could take quite some
- time, and Zoo/ST is already late, I've decided to distribute Zoo/ST
- anyway.
-
- Other bugs encountered by users can be reported to me (see below) or posted
- to Usenet (comp.sources.bugs or comp.sys.atari.st). Please do report them!
-
-
- DISTRIBUTION
- Zoo/ST can be distributed in three different ways:
- 1. an archive (preferably a Zoo archive, but an ARC archive will reach
- more people for a start) containing the following files:
-
- ARCVSZOO.TXT (discussion of ARC vs Zoo)
- COPYRIGH.T (Official Zoo copyright)
- FIZ.TTP (FIx Zoo files, a dedicated utility)
- FIZ.MAN (FIZ documentation)
- README.ST (this file)
- WHATS.NEW (latest features/changes in current ST version)
- ZOO.TTP (Zoo/ST itself)
- ZOO.MAN (Zoo documentation)
-
- 2. an archive containing the complete source as described in the file
- README.NOW, plus the Atari ST-specific README.ST2, ATARI.C & ATARI2.C
- and all the files listed above.
- 3. Thanks to Rahul Dhesi, FIZ.TTP and ZOO.TTP may be distributed
- separately (although anybody probably needs the documentation).
-
-
- Enjoy! (That's what I do...)
-
-
- NOTE
- Zoo archives can also be listed and extracted with the program Booz
- ("Barebones Ooz"), also by Rahul Dhesi.
-
- A very nice-looking graphical shell (a la ARCSH for ARC), called ZooBoy and
- written by Ernst Blok, is in beta-test now and will be posted to
- comp.binaries.atari.st in a couple of weeks.
-
-
- Daan* / . .
- __ /
- ( / / /
- (__/ / / (Daan Josephus Jitta)
- / /
- __/ __/
-
- old-fashioned: modern:
- -------------- -------
- Bos en Lommerweg 10 ii UUCP: ...!mcvax!neabbs!daanjj OR daanjj@neabbs
- NL-1055 EB Amsterdam Fido: 2:280/1 -- daan jitta
- Holland Fax: (+31) 020-763706 -- daan jitta
- Tel. (+31) 020-820521 Telex: 12969, NEABS NL, attn: daan jitta
-
-