Zoo/ST

Search
Votes / Statistics
Rating 
N/A
Hits: 1,384
Downloads: 825
Votes: 0
My Atarimania
Comments (0)

Screenshots - Zoo/ST

Zoo/ST atari screenshot
Zoo/ST atari screenshot

Information - Zoo/ST

GenreArchivingYear1989
Language[unknown]Publisher[no publisher]
Developer[n/a]Distributor-
ControlsKeyboardCountryNetherlands
Box / InstructionsEnglishSoftwareEnglish
Programmer(s)

Jitta, Daan Josephus

LicensePD / Freeware / Shareware
SerialST TypeST, STe / 0.5MB
ResolutionLow / Medium / HighNumber of Disks1 / Double-Sided / HD Installable
Dumpdownload atari Zoo/ST Download / MSAMIDI
Protection

Instructions - Zoo/ST

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

About Us - Contact - Credits - Powered with Webdev - © Atarimania 2003-2024