Ecosyste.ms: Awesome
An open API service indexing awesome lists of open source software.
https://github.com/suglasp/c_archiver_by_okumura
Haruhiko Okumura original public C code for his archiver tools
https://github.com/suglasp/c_archiver_by_okumura
algorithm archiver c-language dos
Last synced: about 19 hours ago
JSON representation
Haruhiko Okumura original public C code for his archiver tools
- Host: GitHub
- URL: https://github.com/suglasp/c_archiver_by_okumura
- Owner: suglasp
- Created: 2024-07-24T17:02:25.000Z (4 months ago)
- Default Branch: main
- Last Pushed: 2024-07-24T17:11:18.000Z (4 months ago)
- Last Synced: 2024-10-19T21:07:42.171Z (about 1 month ago)
- Topics: algorithm, archiver, c-language, dos
- Language: C
- Homepage:
- Size: 43 KB
- Stars: 0
- Watchers: 1
- Forks: 0
- Open Issues: 0
-
Metadata Files:
- Readme: README.MD
Awesome Lists containing this project
README
### ar (Archiver) is a compressed archive utility developed by Prof. [Haruhiko Okumura](https://en.wikipedia.org/wiki/Haruhiko_Okumura)
This repository, is created to preserve the precursor to the today known [LZSS](https://en.wikipedia.org/wiki/Lempel%E2%80%93Ziv%E2%80%93Storer%E2%80%93Szymanski) and [LHA](https://en.wikipedia.org/wiki/LHA_(file_format)) compression algorithm standards.\
The source code found here is public created cody by Haruhiko Okumura between the end of the 1980's and beginnen of the 1990's.In order to compile, you need [Dosbox](https://www.dosbox.com/) or [Dosbox Staged](https://www.dosbox-staging.org/),\
and also the compiler Borland Turbo C (v2.01 or 3.0).'ar' has nothing in common with the Unix ar tool.
## Description
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").## Archive format
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](https://reveng.sourceforge.io/crc-catalogue/16.htm).## Archive extensions
Neither version of ar has a default or recommended filename extension.\
A version of ar002 by T. Melconian uses the .ar extension.## Identification
ar001 files have no signature. Robust identification would probably have to involve verifying the header CRC.\
For ar002, refer to LHA documentation.