Ar (Haruhiko Okumura)
(→Software) |
m |
||
Line 19: | Line 19: | ||
ar's compression is based on [[LZ77 with Huffman coding|LZ77 with static Huffman coding]]. ar001 by default uses a 4K history buffer, like LHA's "<code>lh4</code>" method. ar002 by default uses an 8K history buffer, like "<code>lh5</code>". It's unclear whether the ar compression methods are 100% compatible with the standard LHA methods, but they're at least very close. | ar's compression is based on [[LZ77 with Huffman coding|LZ77 with static Huffman coding]]. ar001 by default uses a 4K history buffer, like LHA's "<code>lh4</code>" method. ar002 by default uses an 8K history buffer, like "<code>lh5</code>". It's unclear whether the ar compression methods are 100% compatible with the standard LHA methods, but they're at least very close. | ||
− | The [[CRC-16]] algorithm used by ar001 is | + | The [[CRC-16]] algorithm used by ar001 is different from the one used by ar002 and LHA. It seems to be equivalent to the one called "CRC-16/IBM-SDLC" by [https://reveng.sourceforge.io/crc-catalogue/16.htm CRC RevEng]. |
== Identifiers == | == Identifiers == | ||
Line 32: | Line 32: | ||
For the header formats, see the comments near the beginning of the ar.c file in the corresponding distribution. | For the header formats, see the comments near the beginning of the ar.c file in the corresponding distribution. | ||
− | See also [[LHA# | + | See also [[LHA#Format documentation]]. |
== Software == | == Software == |
Revision as of 14:45, 14 August 2021
ar is a compressed archive utility developed by Haruhiko Okumura. It is not related to the Unix ar archiver.
Contents |
Discussion
ar was essentially a preview of the influential family of compression methods used by LHA version 2.x: the "lh5
" method and related methods.
There seem to have been two main versions of ar. Neither has a clear version number, but based on the distribution filenames, and other information from Okumura, we may call them ar001 (or "ar v0.01"), and ar002 (or "ar v0.02").
ar was distributed mainly as source code, though most distributions of ar002 include a DOS binary.
ar001 uses its own file format, not known to be compatible with anything else. ar002 uses LHA file format.
Format details
ar's compression is based on LZ77 with static Huffman coding. ar001 by default uses a 4K history buffer, like LHA's "lh4
" method. ar002 by default uses an 8K history buffer, like "lh5
". It's unclear whether the ar compression methods are 100% compatible with the standard LHA methods, but they're at least very close.
The CRC-16 algorithm used by ar001 is different from the one used by ar002 and LHA. It seems to be equivalent to the one called "CRC-16/IBM-SDLC" by CRC RevEng.
Identifiers
Neither version has a default or recommended filename extension.
Identification
ar001 files have no signature. Robust identification would probably have to involve verifying the header CRC.
For ar002, refer to LHA#Identification.
Specifications
For the header formats, see the comments near the beginning of the ar.c file in the corresponding distribution.
See also LHA#Format documentation.
Software
ar001:
- AR001.ZIP - Source code
- AR_EXE.ZIP - Unofficial DOS binary (untested)
ar002:
- AR002.ZIP - Source code + DOS binary
- https://oku.edu.mie-u.ac.jp/~okumura/compression/ar002/
- See also LHA#Software.