Crunch!

Drives get expanded, compressed, packed and archived by Ben Vost

A well-known maxim in the computer industry is that you can never have too much disk space, ram or processing power. Normally, all three cost, but you can get more disk space fairly simply, and cheaply, or for free.

In the cheap category we can include utilities like Pegger, Powerpacker Professional or Disk Expander, but there are also many shareware and public domain hard drive compression programs that cost little or nothing.

Before we can discuss the merits of disk compression, we need to understand the varying techniques used by the different programs to give you more space on your disk.

Firstly, there are the archivers. These programs take single files, or directories of files and squeeze them down into one big (but hopefully smaller than when you started) file. You can't use these compressed files directly, they must be decompressed first. There is a variant on this method for floppy disks only which, instead of compressing the individual files, compresses the whole disk, track by track.

Secondly, there are the compressors. These also compress files (obviously!), but rather than clumping them all together as one file, they compress each file individually. The compression factor is not so great, but the real advantage of this method is that you can carry on using the files as though they were not compressed at all.

As always, there are some that don't fit into either category, so I'll deal with them last.

ARCHIVERS

We in the Amiga world are very fortunate to have such an enormous amount of PD software available to us. Comparing the amount of PD to owners of Amigas, there are probably more PD programs written per head than for any other machine. This puts us in the enviable position of being able to find almost any type of program, including archivers, for free (or a minimal shareware fee). First up in our list are the LHArc family of programs. LHArc is probably the single most popular format for archiving files on the Amiga. It appears in several forms including LHArc, LZ and Lha, all written by different authors. This. like nearly all of the archiving programs is designed to be used from the Shell, which rather limits it's friendliness, although you can get Workbench front-ends for LHArc which cut out most of the work. Most people will probably use LHArc from within a directory utility like Directory Opus or DiskMaster which allow the user to select files and directories to archive at the touch of a mouse button. LHArc files are saved with a file extension of .lzh or .lha. My archiver of preference is Lha by Stefan Boberg.

There are several other archiving programs available for the Amiga. These include Arc, Zoo, Zip and compress files. Arc and Zoo have pretty much been left behind now, and are very infrequently seen these days. Zip (or PKZip, as they are sometimes known) files are more common on the PC, where they are the standard format. If you intend giving someone something for a PC, it is probably best to archive it in a Zip file rather than LHArc it. compress (yes, it's not supposed to have a capital A) is a Unix file compressor that you will probably only use if you have a modem and an Internet account. When you decompress a compress file (confusing isn't it?) it usually overwites the original archive, so make sure that, if you want to keep it, you have a copy of the original archive somewhere else. Arc files are saved with a file extension of .arc, Zoo files with .zoo, Zip files with .zip, and compress files with an extension of .Z.

If you interested in crunching floppies, you can get a program called DMS (or Disk Masher System). This takes a floppy and compresses it track-by-track to another location, ie. your hard drive, or RAM:. You can't use this archive as it stands though, you need to decompress it back to floppy. DMS expects a disk (it doesn't care whether or not it is formatted) in df0: and proceeds to decompress, track-by-track again, onto that floppy. DMS files are saved with a file extension of .DMS.

COMPRESSORS

The first thing that should be pointed out about compressors is that they don't usually compress files as much as archivers do. However, what you lose in disk space you gain in functionality. There are two commercial offerings: the old, but much-used PowerPacker Professional and the new kid on the block, Disk Expander. Actually, when I say new kid on the block, it's not strictly true. Disk Expander is version 2 of a shareware piece of software called EPU. EPU (and Disk Expander) takes advantage of a system of compression libraries called XPK libraries. Each of these libraries has a different forte. One might compress and decompress really quickly, but offer relatively poor compression rates, whilst another might take a while to compress, but give outstanding compression results. The advantage of this system is immediately apparent. You start with a control program that watches for files being written to or read from the disk and then applies the compression algorithm the user has chosen for files on that disk. If you decide that the compression format doesn't give you the results you wanted in terms of time saved or filesize, then all you need do is switch to a different compression library. If the author of a compression library brings out a new version, that is all you need update, not the whole program.

PowerPacker doesn't look at your disk except when reading files. If the file is a program, then PowerPacker automatically decrunches it on the fly, the only thing you might notice about using a powerpacked file is that the mouse pointer, or screen, jiggles and displays strange colours whilst loading. This is perfectly normal and is a feature of PowerPacker to show it is working. If your PowerPacked file is not a program, but data, such as a DTP file or a picture, then you will require some extra software to read that file. If the file is text, a standard picture or animation, then the supplied PPMore, PPShow and PPAnim will display it with no trouble. Otherwise you will need a program called PP (or PowerPacker Patcher), which decrunches data files as they are being loaded in the same way that PowerPacker does when loading a program. You can also find a shareware program in Public Domain libraries called PowerData. This solves a problem with PowerPacker and changes it into something more like Disk Expander. The problem with PowerPacker is that you pack a file. Fine. Then you load it into a paint package or whatever, and edit it. Then you save it back out. The file is no longer packed because PowerPacker doesn't get called to recompress the file. This is exactly what PowerData does. When you save a file that was PowerPacked, PowerData jumps in and recompresses it on the fly.

PowerPacker also comes as a shareware package with some of the Professional version's features removed, but as it only costs around £15, why not get the full version? There are plenty of other shareware or public domain compressor programs around, the best-known of which is probably Imploder.

ODDBALLS

There is a package that doesn't really fit into either category, and some programs that you wouldn't think of as file compression utilities. They all have to do with graphics. Pegger is an American product designed to watch over your hard drive for Toaster Framestores, 24bit IFF or HAM8 pictures, when it sees one being written it automatically catches it and converts it to JPEG format. Similarly, when a program (that can't normally load JPEG images, like Deluxe Paint) asks for an image that Pegger has compressed, it converts the JPEG image back into a Toaster framestore, an IFF or HAM8 picture, or a DCTV 3 or 4 bitplane image.

This process could also be achieved if you have a program called Rend24, or you use a version of ADPro that comes with a program called Sentry. Both these programs can be set to guard a directory or disk, looking for files to be written. If they see something then they too can convert the image to JPEG to save space. However, they won't convert the image back to IFF if a program like Deluxe Paint tries to load one of the converted files.

Box Out 1: How to compress...

The usual method for compression, especially in archivers, is one of redundancy removal. If you take a long sentence that repeats itself over and over and over you will see that it can be compressed neatly by representing the repetitions with a code and putting the key for the code somewhere in the archive file. Thus, as an example, this paragraph compressed would look something like this:

Th{usual me(od for £i|, especially !}rchivers, + |{of )dundancy )moval. 
If you tak{a l|g[entenc{(\)pe\s itself $%$%$you will[e{(\ it can b{£ed 
ne\ly by )p)sent!g^)petiti|s wi(} * %putt!g^key for^*
[omewhe) !^archiv{file. Thus,}s}n example, (+ paragraph £ed 
would look[ome(!g lik{(+:
*="code"£="compress"$="over "%="and "^=" the "!="in"(="th")="re"+="is"
|="on"\="at"{="e "}="a "[=" s"
Now this example doesn't work very well because it is too short a piece of text, but the first paragraph is 393 characters and the second is 384. Over a much larger file, this article for instance, the amount of compression can be greatly improved.

The other main method is known as RLE or Run Length Encoding. Faxes and IFF files use this method to keep files as small as possible. It works like this:

Take a file that is a mixture of zeros and ones like so:


         000000000000000000111111111111111111111111110000000000
         000000000000000000111100000000000001111111111000000000
         111111100000000001110000000001111000000000000001111111
         111110000000000111111111111000000000011111111100000000

Run Length encoding changes the file from being zeros and ones and puts a code in it's place. It's a very simple code, it just gives whether the sequence should be zero or one and how long for:

0:18,1:26,0:29,1:4,0:13,1:10,0:9,1:7,0:10,1:3,0:9,1:4,0:14,1:12,0:10,1:12,0:10,1:9,0:8

The first paragraph comes out as 218 characters, whilst the second comes out at 87. A massive improvement. However, most files aren't as easy as that...

Box Out 2: What is JPEG?

The JPEG graphics file format is named after it's creators; the Joint Photographic Experts Group and this is how it works. The JPEG compressin algorithm takes advantage of the fact that the human eye can't distinguish between as many values of hue, saturation and brightness as a 24bit display, and "smooths" shades together resulting in a simpler file. It then uses other data compression methods to further reduce the size of the file. Because saving a file as JPEG means that the original file is modified, the JPEG image will never be the same as the original 24bit file. This is known as "lossy" compression. However, depending on the amount of compression, the differences between the original and the JPEG will almost certainly be too small to notice.

Product: Disk Expander
Supplier: Power Computing
Tel: 0234 843388
Price £35 including VAT

Product: Pegger
Supplier: Heifner Communications
Tel: 0101 314 446 7017
Price $?? excluding VAT and shipping

The Shareware and Public Domain programs mentioned should all be available from any good PD supplier.


last updated: 7th October 1996