DWC

From Just Solve the File Format Problem
(Difference between revisions)
Jump to: navigation, search
 
(10 intermediate revisions by 2 users not shown)
Line 1: Line 1:
 
{{FormatInfo
 
{{FormatInfo
 +
|subcat=Archiving
 
|extensions={{ext|dwc}}
 
|extensions={{ext|dwc}}
 +
|wikidata={{wikidata|Q28600485}}
 +
|released=1986
 
}}
 
}}
 +
'''DWC''' is a compressed archive utility and file format that was patterned after [[ARC (compression format)|ARC]], but is not compatible with that format. It was designed to be faster and more compact than ARC, but have similar functionality. Its compression scheme is based on [[LZW]].
  
(From the Introduction in the DWC documentation)
+
== Discussion ==
 +
DWC was created by Dean W. Cooper in 1986 as a higher performance alternative to the [[ARC (compression format)|ARC]] (both ARC & PKARC) and [[Zoo]] file archiving tools. The file COMPARE.DOC (in e.g. version A5.01) reports both compression and time improvements over DWC's competitors.
  
DWC is an archive utility patterned after ARC, (C) Copyright System
+
Source code for some versions prior to A5.01 was apparently made public, but we have not located any copies.
Enhancement Assoc., that has many improvements and added features.  Please
+
note, however, that DWC is Not file compatible with ARC and cannot be used
+
to add or extract ARC files.
+
  
Basic improvements include compression speed and size, and error
+
The documentation says that in 1988 the compressor/decompressor source code rights were sold to a company called DS Technologies.
handling.  Also, DWC includes all of ARC's commands and options (except
+
the run command) and adds many new ones along with small improvements
+
over the old ones.  These are detailed below.
+
  
DWC attempts to emulate ARC's interface and functionality so Users
+
== File structure ==
do not need to learn a new style.  New features are added as a super-set
+
to ARC's features.
+
  
DWC was created by Dean W. Cooper in 1986 as a higher performance alternative to the ARC (both ARC & PKARC) and ZOO file archiving toolsThe file COMPARE.DOC in the reference linked below shows comparisons for both compression and time improvements over DWCs erstwhile competitors.
+
DWC archive format overview
 +
[Written for the fileformats.archiveteam.org wiki.]
 +
 +
  This documentation contains educated guesswork derived from
 +
  observing the behavior of DWC (mainly v5.10). It extends and
 +
  corrects some earlier descriptions of the format.
 +
   
 +
  - Byte order is little-endian.
 +
  - CRC algorithm is [[CRC-16#CRC-16/ARC|CRC-16/ARC]].
 +
  - Sizes and offsets are in bytes, unless otherwise noted.
 +
 +
Archive Trailer segment
 +
 +
  Let EOF = the DWC file size. (More precisely, the file position after
 +
  the last occurrence of "DWC". That should be the end of the file, though
 +
  the software tolerates trailing garbage.)
 +
 +
  Offset  Size Label    Description
 +
  ------  ---- -----    -----------
 +
  EOF-27  2    tsize    Size of trailer (usually 27, larger OK)
 +
  EOF-25  1    fhsize    Size of each member file header (usually 34,
 +
                          larger OK, slightly smaller maybe OK)
 +
  EOF-24  13            Name of header file ("h" command), NUL-
 +
                          terminated
 +
  EOF-11  4              Archive timestamp ([[Unix time]])
 +
  EOF-7    4    nmembers  Number of member files
 +
  EOF-3    3              "DWC" signature
 +
 +
Member File Headers segment
 +
 +
  Sequence of nmembers headers, each fhsize bytes, starts at
 +
  EOF-tsize-(fhsize×nmembers).
 +
 +
Member File Header
 +
 +
  Offset  Size Label    Description
 +
  ------  ---- -----    -----------
 +
  +0      13            Base filename, NUL terminated
 +
  +13      4              Original size
 +
  +17      4              Timestamp ([[Unix time]])
 +
  +21      4    csize    Compressed size
 +
  +25      4    fdpos    Offset (from start of file) of File Data segment
 +
  +29      1              Low 4 bits: Compression method (1=Crunched,
 +
                          2=not compressed).
 +
                          0x40 bit: Set if file is encrypted.
 +
  +30      1    cmtsize  Size of comment field
 +
  +31      1    pathsize  Size of path field
 +
  +32      2              CRC of *compressed* (and potentially encrypted)
 +
                          data
 +
 +
File Data
 +
 +
  One segment per member file. Starts at fdpos.
 +
 +
  Offset          Size      Description
 +
  ------          ----      -----------
 +
  +0              csize    Compressed data
 +
  +csize          pathsize  Path, NUL-terminated
 +
  +csize+pathsize  cmtsize  File comment, NUL-terminated
  
In 1988 the source code for the compressor/decompressor was sold to a company called DS Technologies.
+
== Self-extracting archives ==
 +
DWC has facilities for making self-extracting archives, though doing so is a convoluted process. A self-extracting archive is a hybrid of DWC and [[MS-DOS EXE|DOS EXE]] formats.
  
 +
You use the included MAKESFX.EXE utility to customize the included DWCSFX.EXE file. Then, manually create a DWC archive whose first member file is the customized DWCSFX.EXE file, stored with no compression. Then, rename that DWC file it to make it an EXE file.
  
== Identifiers ==
+
== Identification ==
* File extension: '''.DWC'''
+
Files end with ASCII "{{magic|DWC}}". There is no header or signature at the beginning of the file.
* MIME type (Internet media type): Has no specific registered type; generic binary '''application/octet-stream''' is generally used, or perhaps unregistered custom types with an '''x-''' prefix
+
  
 +
The known versions of DWC always seem to produce files having bytes {{magic|1b 00 22}} beginning 27 bytes from the end of the file. However, the software does not require this, and old versions still need to be evaluated.
  
== References ==
+
== Specifications ==
 +
* [http://apple2.org.za/gswv/a2zine/GS.WorldView/Resources/The.MacShrinkIt.Project/ARCHIVES.TXT Archive format info, including DWC]
 +
* [https://www.fileformat.info/mirror/corion/index.htm#DWC DWC format info], from Corion.net and FileFormat.Info
  
* An [http://cd.textfiles.com/nightowl/nopv06/028A/DWC_A501.ZIP DWC utility] at CD.Textfiles.com
+
== Software ==
 +
* DWC (DOS binaries)
 +
** {{CdTextfiles|nightowl/carrs/015A/DWC_A495.ZIP|Ver. A4.95}} (1988-03-15)
 +
** {{CdTextfiles|nightowl/nopv06/028A/DWC_A501.ZIP|Ver. A5.01}} (1988-05-31)
 +
** [{{SACFTPURL|pack|dwc-a510.exe}} Ver. A5.10] (1990-03-07)

Latest revision as of 13:34, 19 October 2023

File Format
Name DWC
Ontology
Extension(s) .dwc
Wikidata ID Q28600485
Released 1986

DWC is a compressed archive utility and file format that was patterned after ARC, but is not compatible with that format. It was designed to be faster and more compact than ARC, but have similar functionality. Its compression scheme is based on LZW.

Contents

[edit] Discussion

DWC was created by Dean W. Cooper in 1986 as a higher performance alternative to the ARC (both ARC & PKARC) and Zoo file archiving tools. The file COMPARE.DOC (in e.g. version A5.01) reports both compression and time improvements over DWC's competitors.

Source code for some versions prior to A5.01 was apparently made public, but we have not located any copies.

The documentation says that in 1988 the compressor/decompressor source code rights were sold to a company called DS Technologies.

[edit] File structure

DWC archive format overview
[Written for the fileformats.archiveteam.org wiki.]

 This documentation contains educated guesswork derived from
  observing the behavior of DWC (mainly v5.10). It extends and
  corrects some earlier descriptions of the format.

 - Byte order is little-endian.
 - CRC algorithm is CRC-16/ARC.
 - Sizes and offsets are in bytes, unless otherwise noted.

Archive Trailer segment

 Let EOF = the DWC file size. (More precisely, the file position after
 the last occurrence of "DWC". That should be the end of the file, though
 the software tolerates trailing garbage.)

 Offset   Size Label     Description
 ------   ---- -----     -----------
 EOF-27   2    tsize     Size of trailer (usually 27, larger OK)
 EOF-25   1    fhsize    Size of each member file header (usually 34,
                          larger OK, slightly smaller maybe OK)
 EOF-24   13             Name of header file ("h" command), NUL-
                          terminated
 EOF-11   4              Archive timestamp (Unix time)
 EOF-7    4    nmembers  Number of member files
 EOF-3    3              "DWC" signature

Member File Headers segment

 Sequence of nmembers headers, each fhsize bytes, starts at
 EOF-tsize-(fhsize×nmembers).

Member File Header

 Offset   Size Label     Description
 ------   ---- -----     -----------
 +0       13             Base filename, NUL terminated
 +13      4              Original size
 +17      4              Timestamp (Unix time)
 +21      4    csize     Compressed size
 +25      4    fdpos     Offset (from start of file) of File Data segment
 +29      1              Low 4 bits: Compression method (1=Crunched,
                          2=not compressed).
                         0x40 bit: Set if file is encrypted.
 +30      1    cmtsize   Size of comment field
 +31      1    pathsize  Size of path field
 +32      2              CRC of *compressed* (and potentially encrypted)
                          data

File Data

 One segment per member file. Starts at fdpos.

 Offset           Size      Description
 ------           ----      -----------
 +0               csize     Compressed data
 +csize           pathsize  Path, NUL-terminated
 +csize+pathsize  cmtsize   File comment, NUL-terminated

[edit] Self-extracting archives

DWC has facilities for making self-extracting archives, though doing so is a convoluted process. A self-extracting archive is a hybrid of DWC and DOS EXE formats.

You use the included MAKESFX.EXE utility to customize the included DWCSFX.EXE file. Then, manually create a DWC archive whose first member file is the customized DWCSFX.EXE file, stored with no compression. Then, rename that DWC file it to make it an EXE file.

[edit] Identification

Files end with ASCII "DWC". There is no header or signature at the beginning of the file.

The known versions of DWC always seem to produce files having bytes 1b 00 22 beginning 27 bytes from the end of the file. However, the software does not require this, and old versions still need to be evaluated.

[edit] Specifications

[edit] Software

Personal tools
Namespaces

Variants
Actions
Navigation
Toolbox