Zoo

From Just Solve the File Format Problem
(Difference between revisions)
Jump to: navigation, search
(Compression)
(Software)
(11 intermediate revisions by 3 users not shown)
Line 2: Line 2:
 
|subcat=Archiving
 
|subcat=Archiving
 
|extensions={{ext|zoo}}
 
|extensions={{ext|zoo}}
 +
|mimetypes={{mimetype|application/x-zoo}}
 
|pronom={{PRONOM|x-fmt/269}}
 
|pronom={{PRONOM|x-fmt/269}}
 
|wikidata={{wikidata|Q219983}}
 
|wikidata={{wikidata|Q219983}}
Line 17: Line 18:
 
* '''Fiz''' - Analyze damaged Zoo files
 
* '''Fiz''' - Analyze damaged Zoo files
 
* '''Stuff''' - File finder
 
* '''Stuff''' - File finder
 +
* '''Sez''' - Self-Extracting Zoo utility
  
== Identification ==
+
== Compression methods ==
Files have bytes {{magic|DC A7 C4 FD}} at offset 20.
+
 
+
== Compression ==
+
Known compression methods:
+
  
 
{| class="wikitable"
 
{| class="wikitable"
Line 29: Line 27:
 
|0 || No packing || Uncompressed
 
|0 || No packing || Uncompressed
 
|-
 
|-
|1 || LZD || [[LZW]]
+
|1 || LZD || [[LZW]]. A fairly generic LZW implementation, with a dynamic code size from 9 to 13 bits, and two special codes: 256=Clear, 257=Stop.
 
|-
 
|-
|2 || LZH || [[LZ77 with Huffman coding|LZ77+Huffman]]. Nearly identical to [[LHA]]'s "lh5" method. A small difference is that Zoo defines a way to mark the end of data.
+
|2 || LZH || [[LZ77 with Huffman coding|LZ77+Huffman]]. Nearly identical to [[LHA]]'s "lh5" method. A small difference is that Zoo defines a way to mark the end of data. The format is pretty well documented in the comments in unzoo.c by Martin Schoenert (see below).
 
|}
 
|}
 +
 +
== Identification ==
 +
Files have bytes {{magic|DC A7 C4 FD}} at offset 20.
 +
 +
Zoo files typically start with "{{magic|ZOO&nbsp;?.??&nbsp;Archive.}}", followed by the byte <code>0x1a</code>, where each "<code>?</code>" is a digit. Regarding this field, the source code says "The contents of the text message are however not used by Zoo and they may be anything."
 +
 +
== Related formats ==
 +
* [[Zoo filter format]]
 +
* [[Zoo Z format‎]]
 +
 +
== Specifications ==
 +
''[Ed. note: The Zoo format information in these documents is not of the highest quality. We haven't found a specification that is reasonably complete and correct.]''
 +
 +
* [https://www.fileformat.info/format/zoo/corion.htm The ZOO Archive File Format] from Corion.net, via FileFormat.info
 +
* [http://apple2.org.za/gswv/a2zine/GS.WorldView/Resources/The.MacShrinkIt.Project/ARCHIVES.TXT Archive format info, including ZOO]
 +
* [http://www.textfiles.com/programming/FORMATS/arc_fmts.txt ZOO file header format (among other archive types)]
  
 
== Software ==
 
== Software ==
 
* [[Konvertor]]
 
* [[Konvertor]]
* [http://distcache.freebsd.org/ports-distfiles/zoo-2.10pl1.tar.gz zoo-2.10pl1.tar.gz]
 
* [http://www.ibiblio.org/pub/Linux/utils/compress/zoo-2.10-3.src.rpm zoo-2.10-3.src.rpm]
 
 
* Zoo - DOS binaries
 
* Zoo - DOS binaries
 +
** {{CdTextfiles|megarom/megarom1/ARC_LBR/ZOO120.ZIP|v1.20}} (1986-09-06)
 
** {{CdTextfiles|carousel344/013/ZOO121.ZIP|v1.21}} (1986-09-21)
 
** {{CdTextfiles|carousel344/013/ZOO121.ZIP|v1.21}} (1986-09-21)
** {{CdTextfiles|hof91/ARC/ZOO201.EXE|v2.01}} (1988-08-25)
+
** v1.40 (1987-01-24): [https://archive.org/details/shareware-grab-bag] → Shareware_Grab_Bag_1988.zip → 014/zoo140.arc
 +
** {{CdTextfiles|rbbsv3n1/zzap/zoo200.exe|v2.00}} (~1988-02-06)
 +
** {{CdTextfiles|hof91/ARC/ZOO201.EXE|v2.01}} (1988-08-25) - Also includes Fiz 2.0 and Stuff 1.0
 
** {{CdTextfiles|simtel/simtel20/MSDOS/ARCHIVRS/ZOO210.EXE|v2.10}} (1991-07-09)
 
** {{CdTextfiles|simtel/simtel20/MSDOS/ARCHIVRS/ZOO210.EXE|v2.10}} (1991-07-09)
* {{CdTextfiles|simtelctc/disk1/ZOO/BOOZ20.ZIP;1|Booz v2.0}} - Extractor; includes source code and DOS binary
+
* Other official Zoo utilities:
* [http://archives.math.utk.edu/software/multi-platform/gap/util/unzoo.c unzoo.c] (Does not support LZW/LZD.)
+
** {{CdTextfiles|simtelctc/disk1/ZOO/BOOZ20.ZIP;1|Booz 2.0}} - Extractor; includes source code and DOS binary
 +
** {{CdTextfiles|carousel344/013/LOOZ210.ZIP|Looz 2.1}}
 +
** {{CdTextfiles|carousel/013B/OOZ130.ZIP|Ooz 1.30}}
 +
** Sez {{CdTextfiles|carousel344/013/SEZ200.ZIP|2.0}}, {{CdTextfiles|microhaus/mhblackbox3/ARCHIVER/SEZ230.ZIP|2.3}} - Makes self-extracting archives
 +
** {{CdTextfiles|simtelctc/disk1/ZOO/ATOZ112.ZIP;1|Atoz 1.12}} - Conversion helper
 +
* [https://www.amiga-stuff.com/archivers-download.html amiga-stuff.com: Archivers] - Lists several versions of Zoo for Amiga
 +
* [http://archives.math.utk.edu/software/multi-platform/gap/util/unzoo.c unzoo.c] by Martin Schoenert (Does not support LZD.)
 
* {{Deark}}
 
* {{Deark}}
 +
 +
Source code for at least Zoo versions 2.01 and 2.1 (a.k.a. 2.10) was made public. There does not seem to be a centralized project to maintain it. Some Linux distributions and other organizations maintain their own patched versions.
 +
* [http://www.nic.funet.fi/index/unix/tools/zoo/zoo-2.01.tar.gz zoo-2.01.tar.gz] - original(?) v2.01 source
 +
* [http://www.nic.funet.fi/index/unix/tools/zoo/zoo-2.1.tar.gz zoo-2.1.tar.gz] - original(?) v2.1 source
 +
** Another copy: [https://mirrors.slackware.com/slackware/slackware64/source/a/zoo/] → zoo-2.10.tar.gz
 +
 +
Other source code and packages:
 +
* [http://distcache.freebsd.org/ports-distfiles/zoo-2.10pl1.tar.gz zoo-2.10pl1.tar.gz]
 +
* [http://www.ibiblio.org/pub/Linux/utils/compress/zoo-2.10-3.src.rpm zoo-2.10-3.src.rpm]
  
 
== Sample files ==
 
== Sample files ==
Line 50: Line 80:
 
* {{CdTextfilesURL|garbo/PC/}} → .../*.ZOO
 
* {{CdTextfilesURL|garbo/PC/}} → .../*.ZOO
 
* {{CdTextfilesURL|geminiatari/ZIP/PROGRAM/}} → *.ZOO
 
* {{CdTextfilesURL|geminiatari/ZIP/PROGRAM/}} → *.ZOO
 +
* https://telparia.com/fileFormatSamples/archive/zoo/
  
== References ==
+
== Links ==
 
* [[Wikipedia: Zoo (file format)]]
 
* [[Wikipedia: Zoo (file format)]]
* [https://www.fileformat.info/format/zoo/corion.htm The ZOO Archive File Format] from Corion.net, via FileFormat.info
+
* {{CdTextfiles|rbbsv3n1/zzap/zooplan1.zip|zooplan1.zip}} → ZOOPLAN1.TXT - A Zoo Manifesto, by Rahul Dhesi (1986-11-01)
* [http://apple2.org.za/gswv/a2zine/GS.WorldView/Resources/The.MacShrinkIt.Project/ARCHIVES.TXT Archive format info, including ZOO]
+
* [http://www.textfiles.com/programming/FORMATS/arc_fmts.txt ZOO file header format (among other archive types)]
+
 
* {{CdTextfiles|simtelctc/disk1/ZOO/UGUIDE.ZIP;1|The zoo Archiver User's Guide}}, by Bill Davidsen (for Zoo 2.01)
 
* {{CdTextfiles|simtelctc/disk1/ZOO/UGUIDE.ZIP;1|The zoo Archiver User's Guide}}, by Bill Davidsen (for Zoo 2.01)
 +
* [https://manpages.ubuntu.com/manpages/bionic/man1/zoo.1.html Zoo man page] - Includes a change log going back to v1.71
 +
* {{CdTextfiles|carousel344/013/ZOO121.ZIP|Zoo 1.21}} → ZOOHSTRY.TXT - Has some historical information about older versions

Revision as of 16:25, 19 May 2022

File Format
Name Zoo
Ontology
Extension(s) .zoo
MIME Type(s) application/x-zoo
PRONOM x-fmt/269
Wikidata ID Q219983
Released 1986

Zoo is a compressed archive format developed by Rahul Dhesi. It was one of the many competing archive formats in the 1980s, and was based (originally) on LZW compression. It had some popularity with Open/VMS and Amiga systems, but didn't ultimately win out over ZIP.

Contents

Discussion

The Zoo software encompassed several different utilities, which were sometimes distributed individually, and which had their own version numbers.

  • Zoo - The main program
  • Ooz - Extractor
  • Booz (Barebones Ooz) - Extractor; some versions can also list files
  • Looz (Ooz with List) - Extract/list/execute
  • Atoz - Helper utility for converting other formats (ARC, LBR) to Zoo
  • Fiz - Analyze damaged Zoo files
  • Stuff - File finder
  • Sez - Self-Extracting Zoo utility

Compression methods

ID Name Description
0 No packing Uncompressed
1 LZD LZW. A fairly generic LZW implementation, with a dynamic code size from 9 to 13 bits, and two special codes: 256=Clear, 257=Stop.
2 LZH LZ77+Huffman. Nearly identical to LHA's "lh5" method. A small difference is that Zoo defines a way to mark the end of data. The format is pretty well documented in the comments in unzoo.c by Martin Schoenert (see below).

Identification

Files have bytes DC A7 C4 FD at offset 20.

Zoo files typically start with "ZOO ?.?? Archive.", followed by the byte 0x1a, where each "?" is a digit. Regarding this field, the source code says "The contents of the text message are however not used by Zoo and they may be anything."

Related formats

Specifications

[Ed. note: The Zoo format information in these documents is not of the highest quality. We haven't found a specification that is reasonably complete and correct.]

Software

Source code for at least Zoo versions 2.01 and 2.1 (a.k.a. 2.10) was made public. There does not seem to be a centralized project to maintain it. Some Linux distributions and other organizations maintain their own patched versions.

Other source code and packages:

Sample files

Links

Personal tools
Namespaces

Variants
Actions
Navigation
Toolbox