
                                N O T E S

                   ON ZOO v2.1 AND UTILITIES FOR THE QL
                            RELEASE 22/2/94



    Contents of the Package:
    ~~~~~~~~~~~~~~~~~~~~~~~
        - zoo              (the archiver itself)
        - zoo_man          (the original manual, ASCII format)
        - fiz              (the archive repair utility)
        - fiz_man          (manual for fiz, ASCII format)
        - bilf             (VAX/VMS utility)
        - readme_txt       (this text)
        - source_zoo       (sources etc.)


    System Requirements (zoo):
    ~~~~~~~~~~~~~~~~~~~~~~~~~
        - Any QL or QL compatible computer (possibly except THORs)
        - 297-330K free RAM (compressing)
        - floppy disks (all formats)
        - Toolkit II (TK2)
        - Pointer Environment recommended


    Known Problems:
    ~~~~~~~~~~~~~~
        - Corrupt files are crunched successfully, ie. ZOO will not report
          an error. If stdout was redirected, the FLP (or whatever) driver
          will print a message somewhere or in case of level-2 drivers
          make some noise.

        - Zoo fails to pack with a "Renaming Error" if the archive was not
          in the current default device (= subdirectory), because Zoo creates
          a temporary file. For packing, it is therefore necessary (a) to
          redirect the default device to the drive/directory of the archive
          (eg. with DATA_USE) and (b) to ensure that there is enough memory
          on this drive.

        - The employed method to store and restore QDOS file headers has
          the following disadvantages which result from the necessity to
          keep archives fully portable for copyright reasons:

          (1) ZOO will only store and restore the dataspace length of an
              executable file.

          (2) If you are extracting an archive from another machine and the
              original file attributes had been stored, then ZOO may create
              the QDOS file header of an executable file. So there is a
              potential danger for a crash if someone (what a fool!) is
              trying to execute these.

        - Network devices (n_) not tested, define a virtual drive with
          NFS_USE to read files from a remote system.

        - Zoo wildcards do not treat sub-directory with trailing under-
          scores (at the end of the name) correctly. It is generally
          not recommended to create such directories because they can
          lead to great problems on Tony Tebby's level-2 driver imple-
          mentations!

        - Zoo is currently not able to archive files which begin with the
          string "BOOT" on JFC hard disks, if the delivered driver (ie. not
          QLHD) is being used. [Reported by Eros Forenzi.]

        See zoo_man for further possible (non system specific) problems;
        not all of them are however true for this implementation, eg. drive
        full detection.


    Regards:
    ~~~~~~~
        The port has been done with the C68 compilation system. Many many
        thanks to Jeremy Allison and Dave Walker for this. The enclosed ZOO
        is compiled with v4.12. For editing, I used Jan Bredenbeek's QED
        editor, which is public domain, too. Finally thanks to everyone
        who tested ZOO and thus helped to improve it... last not least
        especially to Kees van der Wal for organising and converting the
        sources and his idea to adapt ZOO for QDOS.


    Myself:
    ~~~~~~
        Franz Herrmann
        (Talstrasse 21, W-5460 Ockenfels, Germany)
        (Internet: Franz_Herrmann @ bn.maus.de)


    Note for MAUS-Net users (re: MausTausch):
    ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
        Falls die betreffende MAUS ein altes ZOO (Version < 2.1) benutzt,
        dann kann das Infile_txt nicht mit high compression (Option ah')
        gepackt werden.


    Changes of QL-ZOO since release 21/11/91:
    ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
        (This list is more or less for my personal use so that I can
        easily track down my own bugs: Unfortunately, some of my
        'improvements' caused more problems than they solved.)
    
        24/11/91    - file time is saved on level-1 drivers (still not ok)
                    - viewing a file does no longer create a subdirectory
                    - creation of subdirectory is reported

        25/11/91    - quiet option recognized when reporting creation of
                      a subdirctory
                    - file length limit corrected to 36 characters
                      (previously 32)
                    - sort of filenames to be packed re-enabled
                    - part of source cleaned up (trivial changes)
                    - compilation slightly speeded up
                    - zoo completely recompiled

                    - zoo is from now on able to amend an archive, i.e.
                      the delete, pack, add, comment etc options work
                    - fiz and zoo completely recompiled
                    - bilf utility ported

        28/11/91    - packing a bit reconfigured to report action
                    - "Press any key" nicer (all progs)

         3/12/91    - code much cleaned up
                    - size of fiz exec decreased by a few KB

        12/12/91    - code clean up continued and finished
                    - \007 removed from an error msg
                    - run-time calculation removed
                    - memory specifications increased
                    - zoo completely recompiled
         
                    - screen presentation of -print' and P'
                      improved (trivial changes)
                    - fiz recompiled
                    - original nroff formatted documentation included

        17/12/91    - sources destroyed (grrr...)

         17/2/92    - re-ported with new C68 release 2.00
                    - options_h adapted, qdos_c created
                    - specific part added to portable_h
         18/2/92    - configuration of options_h inproved
                    - default stack overridden in qdos_c, 10K
                    - memory increase chunk lowered to 512 bytes
                    - zoo_man cleaned (`  )
                    - splitfname() replaces std. parser in parse_c
                    - zooexit(), window settings in fiz_c
         21/2/92    - parse_c and zooext_c, dot/underscore conversion
                    - bug fix in zoopack_c
                    - serious bug fixed in splitfname_c
                    - nice welcome screen, qdos_c
                    - fiz_man, zoo_man adapted
          1/3/92    - bilf reported
          2/3/92    - errors_i, zoo_c, qdos_c corrected for OOZ
          3/3/92    - further corrections on error_i
                    - prterror_c corrected for OOZ
                    - OOZ help screen
                    - OOZ compiled
                    - level-2 buffer set
          1/7/92    - makefile adapted for C68 v3.01
                    - ANSI_PROTO defined in options_h
          2/7/92    - qdos_c adapted to new C68, corrections
                    - glocal prototypes added in comment_c (c68 bug)
                    - STDARG defined in options_h
                    - ZOO recompiled, code slighly larger (2k)
                    - level-2 buffer unset
          3/7/92    - nextfile() wildcards implemented
                    - PORTABLE undefined, SPECNEXT defined in options_h
                    - correction connected with wildcard in zoolist_c
                    - network devices should be ok now (not tested)
                    - some QL notes in zoo_man
                    - help screens updated
          7/7/92    - generic_c adapted for new get/setfattr() in qdos_c
          8/7/92    - file headers are stored and restored
         10/8/92    - FNLIMIT increased in options_h
                    - tried to improve parse_c
         13/8/92    - unixfname_c written
                    - getdrive_c and splitfname_c removed
                    - ST/QL compatibility achieved
                    - parse_c restored to original, unixfname() conversion
                      solves file name length problems
                    - OOZ removed from distribution
                    - Overwrite problem solved (zooext_c)
         24/8/92    - dots to underscore conversion modified (zooext_c)
         25/8/92    - wildcards speeded up for pure names (nextfile_c)
                    - listing syntax corrected (zoolist_c)
        17/11/92    - bugs fixed in wildcards (nextfile_c)
                    - chmod() dummy removed (qdos_c)
                    - C68 v3.05 adaption
         4/12/92    - fiz and bilf recompiled with C68 v3.05
        11/12/92    - end message added, except for zoo h
          4/2/94    - recompiled with C68 v4.12
                    - lzd_c slighly ANSIfied for new C68 compiler
                    - compiled with maximum optimization
                    - trivial modification of options_h
                    - line added to qdos_c to avoid con-setup
                    - portable_h adapted to new C68 rules
                    - exists() in misc2_c modified for "w" creating files
