LIF (Knowledge Dynamics)
(Created page with "{{FormatInfo |formattype=electronic |subcat=Archiving |extensions={{ext|lif}} |released=≤1989 }} '''.LIF''' is an installer-archive format, apparently associated with ''INST...") |
|||
Line 9: | Line 9: | ||
This article covers the LIF format that begins with a string of ASCII-encoded hex digits. Note that the presumed successor format, [[RED (Knowledge Dynamics)|RED]], also sometimes uses the .LIF filename extension. | This article covers the LIF format that begins with a string of ASCII-encoded hex digits. Note that the presumed successor format, [[RED (Knowledge Dynamics)|RED]], also sometimes uses the .LIF filename extension. | ||
− | == File structure == | + | == Format details == |
+ | === File structure === | ||
A LIF file consists of a sequence of member file segments. Each member consists of a 54-byte header, then the file data, which is usually compressed. | A LIF file consists of a sequence of member file segments. Each member consists of a 54-byte header, then the file data, which is usually compressed. | ||
The header starts with 34 bytes of ASCII-encoded hex digits. A filename follows. The bytes at offset 8 through 15 encode the compressed data size, which is needed to locate the next member. | The header starts with 34 bytes of ASCII-encoded hex digits. A filename follows. The bytes at offset 8 through 15 encode the compressed data size, which is needed to locate the next member. | ||
+ | |||
+ | === Header structure === | ||
+ | The 54-byte member header seems to have the following structure: | ||
+ | |||
+ | {| class="wikitable" | ||
+ | ! Offset !! Size (in file) !! Size (decoded) !! Description | ||
+ | |- | ||
+ | |0 || 8 || 4 || [[MS-DOS date/time|DOS date, time]] | ||
+ | |- | ||
+ | |8 || 8 || 4 || Compressed size | ||
+ | |- | ||
+ | |16 || 8 || 4 || Original size | ||
+ | |- | ||
+ | |24 || 4 || 2 || 16-bit checksum or CRC (unidentified) | ||
+ | |- | ||
+ | |28 || 4 || 2 || 16-bit checksum or CRC (unidentified) | ||
+ | |- | ||
+ | |32 || 2 || 1 || Compression method(?). Values "01", "02", and "03" have been observed, with "01" meaning uncompressed. | ||
+ | |- | ||
+ | |34 ||colspan="2"| 20 || Filename, NUL-padded. This 20-byte field might use as little as 12 bytes for the filename, with the remaining bytes having an undetermined purpose. | ||
+ | |} | ||
+ | |||
+ | === Compression methods === | ||
+ | At least one of the compression methods appears to be a form of [[LZW]]. (TODO: Check if it could be the one described at [https://moddingwiki.shikadi.net/wiki/CC_Format], via [https://moddingwiki.shikadi.net/wiki/Knowledge_Dynamics_LZW_COMPRESSOR].) | ||
== Sample files == | == Sample files == |
Revision as of 15:31, 27 March 2023
.LIF is an installer-archive format, apparently associated with INSTALL for DOS, by Knowledge Dynamics Corporation. See RED (Knowledge Dynamics) for more information about INSTALL.
This article covers the LIF format that begins with a string of ASCII-encoded hex digits. Note that the presumed successor format, RED, also sometimes uses the .LIF filename extension.
Contents |
Format details
File structure
A LIF file consists of a sequence of member file segments. Each member consists of a 54-byte header, then the file data, which is usually compressed.
The header starts with 34 bytes of ASCII-encoded hex digits. A filename follows. The bytes at offset 8 through 15 encode the compressed data size, which is needed to locate the next member.
Header structure
The 54-byte member header seems to have the following structure:
Offset | Size (in file) | Size (decoded) | Description |
---|---|---|---|
0 | 8 | 4 | DOS date, time |
8 | 8 | 4 | Compressed size |
16 | 8 | 4 | Original size |
24 | 4 | 2 | 16-bit checksum or CRC (unidentified) |
28 | 4 | 2 | 16-bit checksum or CRC (unidentified) |
32 | 2 | 1 | Compression method(?). Values "01", "02", and "03" have been observed, with "01" meaning uncompressed. |
34 | 20 | Filename, NUL-padded. This 20-byte field might use as little as 12 bytes for the filename, with the remaining bytes having an undetermined purpose. |
Compression methods
At least one of the compression methods appears to be a form of LZW. (TODO: Check if it could be the one described at [1], via [2].)
Sample files
- dosdrvrs.zip → *.LIF
- FINDEMO1.ZIP → *.LIF
- ORIGINWM.ZIP → *.LIF