Updated survey of LHarc and LHA

Since my first post on DOS versions of LHarc/LHA, I've found a few more versions of the software. Six of them appear to be original/official, and all of those are Japanese-language: 1.13d, 2.05b, 2.13, 2.52, 2.54, and 2.55. And I found quite a few new modified or hacked versions, two of which I'll discuss: "v1.14a" … Continue reading Updated survey of LHarc and LHA

Survey of LHarc and LHA versions and names

[See this post for some updates to the information here.] The LHarc family of software (including LHA, etc.) is an old compression and archiving utility, originally for DOS computers. I've found the LHarc version history to be confusing in a number of ways. In this post, I'll try to explain what's what, to the best … Continue reading Survey of LHarc and LHA versions and names

Testing some LZ77 compression limits

This post is about data compression algorithms that involve LZ77, or a similar kind of compression. It's mainly about old-school compression algorithms and software. There is some information about LZ77 in my post about LZ77 prehistory. I won't explain it in detail here, but here are some things to know about it. Both the compressor … Continue reading Testing some LZ77 compression limits

The blocksize field in LHA compression format

This post is about the data compression format I'll call "lh5". It is actually a family of formats that includes the compression methods often named lh{4, 5, 6, 7, 8}. It was most notably used by version 2.x of the old LHA/LZH/LHArc compressed archive format. It was used, often in modified form, in a number … Continue reading The blocksize field in LHA compression format

LZ77 compression prehistory

LZ77 is a widely-used class of data compression algorithms. I'll start with a quick overview of it. Assuming you're compressing a stream of bytes (a "file"), your LZ77 compressed data, at a high level, would contain two possible kinds of instructions for the decompressor: Emit literal: {byte value=A}Copy from history: {match-offset=B, match-length=C} The match-offset may … Continue reading LZ77 compression prehistory