From Just Solve the File Format Problem
(Difference between revisions)
Jump to: navigation, search
(Created page with "{{FormatInfo |subcat=Archiving |extensions={{ext|ha}} |released=1993 }} ''HA'' is an archiver originally developed for the (PC/MS) DOS platform, and later ported to Unix/Linu...")
Line 33: Line 33:
* [http://terasaur.org/item/show/harri-hirvolas-ha-archiver-sources/4342 Another source for download]
* [http://terasaur.org/item/show/harri-hirvolas-ha-archiver-sources/4342 Another source for download]
* [http://manned.org/ha Man page]
* [http://manned.org/ha Man page]
* [[Konvertor]]

Latest revision as of 09:44, 23 February 2016

File Format
Name HA
Extension(s) .ha
Released 1993

HA is an archiver originally developed for the (PC/MS) DOS platform, and later ported to Unix/Linux. It uses a compression method called HSC which is reportedly protected by patent, but since the pages mentioning this status are from as far back as 1995, the patent is likely to be expired by now.

[edit] Format info

All multi-byte numeric quantites are little-endian.

The file header starts with "HA" (as ASCII characters).

The next two bytes give the number of files in the archive.

What follows is the header then contents of each file.

Each file header starts with a single byte indicating version (in the upper 4 bits) and compression type (in the lower 4 bits): 0=CPY, 1=ASC, 2=HSC, E=DIR, F=Special

Then 4 bytes comprise the compressed length, and 4 bytes comprise the uncompressed (original) length.

4 bytes contain a CRC 32 redundancy check.

4 bytes contain the file timestamp.

Next is the file pathname, null-terminated, then the filename, also null-terminated.

One byte after that gives the length of the machine-specific information, followed by the bytes comprising this information, with the first byte specifying the information type.

[edit] Links

Personal tools