PAK (ARC extension)
(5 intermediate revisions by 2 users not shown) | |||
Line 7: | Line 7: | ||
'''PAK''' is a DOS utility for managing compressed archive files, developed by NoGate Consulting. It is also the name of one of the file formats it supports: .PAK format. | '''PAK''' is a DOS utility for managing compressed archive files, developed by NoGate Consulting. It is also the name of one of the file formats it supports: .PAK format. | ||
− | PAK format is an extension of [[ARC (compression format)|ARC]] format. The differences are that it may use some PAK-specific compression methods ( | + | PAK format is an extension of [[ARC (compression format)|ARC]] format. The differences are that it may use some PAK-specific compression methods (see below), and that it has some features made possible by "extended records" stored after the end-of-archive marker. |
PAK was originally named '''GSARC''' (and used filename extension .ARC), but was quickly renamed to PAK (and the default extension changed to .PAK). | PAK was originally named '''GSARC''' (and used filename extension .ARC), but was quickly renamed to PAK (and the default extension changed to .PAK). | ||
Line 15: | Line 15: | ||
== Disambiguation == | == Disambiguation == | ||
See [[PAK]] for more formats named PAK. | See [[PAK]] for more formats named PAK. | ||
+ | |||
+ | == Format details == | ||
+ | |||
+ | === Compression methods === | ||
+ | ARC compression methods unique to PAK: | ||
+ | |||
+ | {| class="wikitable" | ||
+ | ! ID !! Name !! Description and remarks | ||
+ | |- | ||
+ | |10 || Crushed || [[RLE90]] + [[LZW]] (or [[LZMW]]?) | ||
+ | |- | ||
+ | |11 || Distilled || [[LZ77 with Huffman coding|LZ77 + static Huffman coding]]. Introduced in PAK v2.0. | ||
+ | |} | ||
+ | |||
+ | For other ARC compression methods, see [[ARC (compression format)#Compression methods]]. | ||
+ | |||
+ | == Self-extracting archives == | ||
+ | All versions of PAK and GSARC can create self-extracting [[MS-DOS EXE|EXE]] archives, either with the <code>/EXE</code> option, or the included EXEMAKE.EXE utility. The original distribution files (e.g. PAK251.EXE) use this format. | ||
+ | |||
+ | Such archives contain an embedded PAK file, with apparently one special case: PAK v1.6 (and only that version) when the file includes remarks (comments). In that case, the remarks are interleaved with the member files in a way that is not normal for PAK format. | ||
+ | |||
+ | == Identification == | ||
+ | |||
+ | PAK format files made by PAK/GSARC v1.0 typically start with bytes <code>0x1a 0x0a</code>, and end with <code>0x1a 0x00</code>. | ||
+ | |||
+ | Files made by PAK v1.5–1.6 typically start with <code>0x1a 0x0a</code>, and end with <code>0xfe 0x00</code>. | ||
+ | |||
+ | Files made by PAK v2.0+ typically start with <code>0x1a 0x0b</code>, and end with <code>0xfe 0x00</code>. | ||
+ | |||
+ | A file that ends with <code>0xfe 0x00</code> could also be identifiable as PAK format if the first byte is <code>0x1a</code> and the second is <code>0x02</code>, <code>0x08</code>, or <code>0x09</code>. That could happen if the first member file was not compressible, or was compressed with non-default options. | ||
== Specifications == | == Specifications == | ||
Line 23: | Line 53: | ||
* PAK (DOS binaries) | * PAK (DOS binaries) | ||
** {{CdTextfiles|hof91/ARC/PAK10.EXE|v1.0}} (1988-10-17) | ** {{CdTextfiles|hof91/ARC/PAK10.EXE|v1.0}} (1988-10-17) | ||
+ | ** {{CdTextfiles|swextrav1993/disk3/archive/pak151.exe|v1.51}} (1989-01-15) | ||
** {{CdTextfiles|rbbsv3n1/pc_s/pak16.zip|v1.6}} (1989-01-24) | ** {{CdTextfiles|rbbsv3n1/pc_s/pak16.zip|v1.6}} (1989-01-24) | ||
+ | ** v2.01 (1989-07-31): [https://archive.org/details/Magnum_One_Mid-American_Digital_Disc_Manufacturing Magnum One] → D2/PAK201.EXE | ||
** {{CdTextfiles|rbbsv3n1/pc_s/pak210.exe|v2.10}} (1989-08-10) | ** {{CdTextfiles|rbbsv3n1/pc_s/pak210.exe|v2.10}} (1989-08-10) | ||
** {{CdTextfiles|rbbsv3n1/pc_s/pak250.exe|v2.50}} (1990-09-20) | ** {{CdTextfiles|rbbsv3n1/pc_s/pak250.exe|v2.50}} (1990-09-20) | ||
** {{CdTextfiles|simtel/simtel20/MSDOS/ARCHIVRS/PAK251.EXE|v2.51}} (1990-10-08) | ** {{CdTextfiles|simtel/simtel20/MSDOS/ARCHIVRS/PAK251.EXE|v2.51}} (1990-10-08) | ||
*** {{CdTextfiles|ftp.wwiv.com/pub/COMPRESS/PAK251.EXE|Another copy}}, packaged differently | *** {{CdTextfiles|ftp.wwiv.com/pub/COMPRESS/PAK251.EXE|Another copy}}, packaged differently | ||
+ | ** [http://old-dos.ru/index.php?page=files&mode=files&do=show&id=714 Various versions at old-dos.ru] | ||
+ | * PAKF - A menu-driven edition of PAK (commercial software) | ||
* [[The Unarchiver]] - Supports the PAK-specific compression schemes | * [[The Unarchiver]] - Supports the PAK-specific compression schemes | ||
+ | * {{Deark}} - Can decompress method 11, but probably not 10. | ||
== Sample files == | == Sample files == | ||
− | * {{CdTextfiles|carousel/ATARI/ARC2PAK1.PAK|ARC2PAK1.PAK}} | + | * {{CdTextfiles|carousel/ATARI/ARC2PAK1.PAK|ARC2PAK1.PAK}} (compression method 10) |
+ | * {{CdTextfiles|nopv18/007A/IE111SEP.ZIP|IE111SEP.ZIP}} → INTRECHO.PAK (compression method 11) | ||
+ | |||
+ | Self-extracting archives: | ||
+ | |||
+ | * {{CdTextfiles|smsharew/PASCAL/TDESIGN.ZIP|TDESIGN.ZIP}} → *.EXE (v1.0) | ||
+ | * {{CdTextfiles|smsharew/FINANCE/CSS30.ZIP|CSS30.ZIP}} → SCREENS.EXE (v1.6), PROGRAM.EXE (~v2.51) | ||
+ | * {{CdTextfiles|smsharew/WORD/PACE.ZIP|PACE.ZIP}} → *.EXE (~v2.10) | ||
+ | * [{{SACFTPURL|utiltext|asa57.zip}} asa57.zip] → ASA57U.EXE (~v2.51) |
Latest revision as of 19:30, 21 November 2024
PAK is a DOS utility for managing compressed archive files, developed by NoGate Consulting. It is also the name of one of the file formats it supports: .PAK format.
PAK format is an extension of ARC format. The differences are that it may use some PAK-specific compression methods (see below), and that it has some features made possible by "extended records" stored after the end-of-archive marker.
PAK was originally named GSARC (and used filename extension .ARC), but was quickly renamed to PAK (and the default extension changed to .PAK).
See ARC for more information relevant to PAK format. See also SDN (SDN Project).
Contents |
[edit] Disambiguation
See PAK for more formats named PAK.
[edit] Format details
[edit] Compression methods
ARC compression methods unique to PAK:
ID | Name | Description and remarks |
---|---|---|
10 | Crushed | RLE90 + LZW (or LZMW?) |
11 | Distilled | LZ77 + static Huffman coding. Introduced in PAK v2.0. |
For other ARC compression methods, see ARC (compression format)#Compression methods.
[edit] Self-extracting archives
All versions of PAK and GSARC can create self-extracting EXE archives, either with the /EXE
option, or the included EXEMAKE.EXE utility. The original distribution files (e.g. PAK251.EXE) use this format.
Such archives contain an embedded PAK file, with apparently one special case: PAK v1.6 (and only that version) when the file includes remarks (comments). In that case, the remarks are interleaved with the member files in a way that is not normal for PAK format.
[edit] Identification
PAK format files made by PAK/GSARC v1.0 typically start with bytes 0x1a 0x0a
, and end with 0x1a 0x00
.
Files made by PAK v1.5–1.6 typically start with 0x1a 0x0a
, and end with 0xfe 0x00
.
Files made by PAK v2.0+ typically start with 0x1a 0x0b
, and end with 0xfe 0x00
.
A file that ends with 0xfe 0x00
could also be identifiable as PAK format if the first byte is 0x1a
and the second is 0x02
, 0x08
, or 0x09
. That could happen if the first member file was not compressible, or was compressed with non-default options.
[edit] Specifications
The PAK.DOC file contained in the v2.51 distribution includes basic information about .PAK/.ARC format, including the extended records. It does not document the compression schemes in detail.
[edit] Software
- GSARC v1.0 (1988-10-13) (DOS binary)
- PAK (DOS binaries)
- v1.0 (1988-10-17)
- v1.51 (1989-01-15)
- v1.6 (1989-01-24)
- v2.01 (1989-07-31): Magnum One → D2/PAK201.EXE
- v2.10 (1989-08-10)
- v2.50 (1990-09-20)
- v2.51 (1990-10-08)
- Another copy, packaged differently
- Various versions at old-dos.ru
- PAKF - A menu-driven edition of PAK (commercial software)
- The Unarchiver - Supports the PAK-specific compression schemes
- Deark - Can decompress method 11, but probably not 10.
[edit] Sample files
- ARC2PAK1.PAK (compression method 10)
- IE111SEP.ZIP → INTRECHO.PAK (compression method 11)
Self-extracting archives:
- TDESIGN.ZIP → *.EXE (v1.0)
- CSS30.ZIP → SCREENS.EXE (v1.6), PROGRAM.EXE (~v2.51)
- PACE.ZIP → *.EXE (~v2.10)
- asa57.zip → ASA57U.EXE (~v2.51)