MS-DOS installation compression

From Just Solve the File Format Problem
(Difference between revisions)
Jump to: navigation, search
(See also)
m (Format details)
Line 33: Line 33:
|2 || [[LZSS]]
|2 || [[LZSS]]
|3 || LZ + [[Huffman coding|Huffman]]
|3 || [[LZ77 with Huffman coding|LZ77 + Huffman]]
|4 || [[MSZIP]] (based on [[DEFLATE]])
|4 || [[MSZIP]] (based on [[DEFLATE]])

Latest revision as of 14:06, 20 September 2020

File Format
Name MS-DOS installation compression
Extension(s) .??_, .??$
PRONOM fmt/462, fmt/469

A pair of compression formats by Microsoft that appear on MS-DOS and early Windows (3.x) installation disks; the formats have no generally agreed-upon name. Compressed files may be generated by the COMPRESS.EXE program (appearing in Microsoft's Setup Toolkit for Visual C++), and uncompressed with the EXPAND.EXE program distributed with Windows and MS-DOS. Compressed files have the last character of the file extension replaced with an underscore, or sometimes a dollar sign.

There are reports of the Google Chrome installer needing the EXPAND.EXE program.


[edit] See also

This is not the only compressed file format for which the last character of the file extension might be replaced with an underscore. Others include:

[edit] Format details

There are two major formats, which can be referred to by their file signatures: "SZDD", and "KWAJ". SZDD is more common. There is also a QBasic variant of SZDD format.

[edit] SZDD

SZDD format uses a simple form of LZSS compression. There is a byte at offset 8 that specifies the exact type of compression. Most sources say that the only known value for this byte is "A" (0x41), but some report[1] that there is also a type "B", used by Windows 3.1 builds 026 and 034e.

[edit] KWAJ

KWAJ format is somewhat more sophisticated than SZDD. There is a 16-bit field at offset 8 that specifies the compression or encoding method.

Compression code Description
0 Uncompressed
3 LZ77 + Huffman
4 MSZIP (based on DEFLATE)

[edit] Identification

File begin with bytes 53 5A 44 44 88 F0 27 33 ("SZDD" variant), or 4B 57 41 4A 88 F0 27 D1 ("KWAJ" variant), or 53 5A 20 88 F0 27 33 D1 (QBasic SZDD variant).

[edit] Software

[edit] Sample files

[edit] Links

Personal tools