OpenBSD ports

The archivers/ha port

ha-0.999bp2 – archive files using the HSC compression method


HA is an archiver which I released in january 1993 as version 0.98.
After that I had plans to improve speed, archive handling etc. which
would have required total rewrite of the code. For that I unfortunately
could not find time. Because there has been quite considerably interest
for internals of HA (especially for the HSC compression method) I
decided to make a source level release from my current test version
(0.999 beta) and place it under GNU General Public License. The sources
for this version are not very consistent or clean, but everything should

There are several improvements which should be made before this could be
called version 1.0. Some of the most obvious of these are: 
- Compression methods should be coded in assembler for PC and using more
  efficient data structures for 32 bit platforms. Current version does
  some things only to overcome 64kB segments of 8086. 
- UNIX port has still some problems and is missing some things (for example 
  a grouping operator in wildcard matches). 
- File handling is far from optimum.  
- Archive handling is not too clever either. 
- Testing should be done more thoroughly as there are many special cases 
  in compression routines which get used very rarely. 
- Documentation of code and algorithms is totally missing.

This archive ( contains this readme, MSDOS executable ha.exe
and source files for HA 0.999beta. Ha.exe is NOT compiled directly from
included sources. Some critical parts of it were compiled from hand
optimized versions of compiler output. It is somewhat faster than "pure
C" version. 

MSDOS sources are for Borland C 4.0 but older versions of bcc should
work. Makefile needs some editing as some paths are hardcoded in it.
UNIX sources are not very generic. I have only tested this using Linux
on PC and AIX on IBM6000. Only compiler and make utility that I have
tested are GCC and GNU MAKE.

Porting HA should be fairly easy as all machine specific code is in
machine.h and machine.c under machine specific directories. Md_funcs.txt
documents these functions. Examples can be found from pc and nix

Email address where I can be reached is "".
My email addresses have not been very stable and I would not be very 
surprised if this one too is only valid for some months...

	Harri Hirvola

No homepage

Library dependencies

Build dependencies

Run dependencies