ARJ is a compressed archiver utility and format, with features similar to ZIP. It seems at first to have five compression methods, with ID numbers 0 through 4. Method 0 is for no compression, so it's easily dealt with. Methods 1 through 3 are really all the same. They record how hard the compressor tried … Continue reading ARJ compression method 4
This post is about RAR, a file compression and archiving file format in the same category as ZIP. It's known for its association with the WinRAR software, but there are also command-line and text-mode versions of the software that are just named RAR. RAR supports two kinds of comments: A main "archive comment", for the … Continue reading Survey of RAR comment formats
There are a lot of old DOS-centric file formats, especially file archiving and compression formats, which store timestamps of files. Most of them use the standard MS-DOS timestamp format for such things. This format is usually interpreted as two 16-bit integers: one for the date, and one for the time of day. I'm not sure, … Continue reading Which comes first in DOS timestamps, the date or the time?
No voting system is perfect, but one of the worst systems that is even remotely compatible with democracy is the one known as first-past-the-post. In the simplest form of this system, each voter gets one vote per contest. A contest may have more than two candidates. The candidate with the most votes wins, even if … Continue reading How to vote in a late-stage two-party system
The old PKZIP compression software for DOS includes a utility named "ZIP2EXE", which turns a plain ZIP file into a self-extracting executable file in DOS EXE format. Depending on the version of PKZIP/ZIP2EXE, and the options used, there are several different ways in which this EXE file is constructed. I wanted to learn about these … Continue reading Notes on some old self-extracting ZIP archives
This post will explain the important differences between compressed EXE files made by the v1.00beta version of PKLITE, and those made by release versions. It is a continuation of Part 5 -- please read that first. For an introduction to PKLITE, and a list of the other posts in this series, see Part 1. History … Continue reading Notes on PKLITE format, Part 6
In this post, I'll suggest some more algorithms and strategies that could be used as part of a PKLITE-compressed EXE decompression utility. For an introduction to PKLITE, and a list of the other posts in this series, see Part 1. This post uses some of the EXE jargon defined in my post on DOS EXE … Continue reading Notes on PKLITE format, Part 5
I'm not asking how to implement LZSS. I'm asking how to distinguish things-that-are-LZSS from things-that-are-not-LZSS. It's generally understood that LZSS is a kind of data compression. It's supposedly a derivative of LZ77. But you may struggle to find out anything definitive or verifiable about LZSS. The name LZSS is more than likely derived from Lempel–Ziv–Storer–Szymanski, … Continue reading What is LZSS compression?
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 of my knowledge. LHarc is comparable to its contemporaries PKZIP … Continue reading Survey of LHarc and LHA versions and names
I've decided to postpone writing more about the messy details of PKLITE EXE files, and instead discuss PKLITE COM format. This post is part of a series. For a list of other posts, see Part 1. You may know that the DOS operating system supports two binary executable file formats: EXE and COM. The PKLITE … Continue reading Notes on PKLITE format, Part 4