Stacker File Compression Software and the ACE DoubleCard 2.0

Install Stac Electronic's Stacker and you can double the storage capacity of your RAM Card. The ACE Double-Card is a RAM card that comes with a pre-installed, ready-to-go version of Stacker for the 95LX. The DoubleCard also lets you compress your 95LX's C drive. ACE also offers DoubleCard 2.0 Software that easily turns your existing RAM card into a DoubleCard.

By Mark Scardina

Data compression software has been around for some time. Programs like DIET (ON DISK ICON) , PKLITE (ON DISK ICON), and PKZIP (ON DISK ICON) have been used by programmers and novices alike to reduce the size of files in order for them to take up less space on floppy or hard drive. Files also take up less time transmitting over expensive communications systems. Saving file storage space is an especially important topic among 95LX owners.

This month we will look at Stacker 2.0, the most popular compression product for the PC market. Stacker burst on the scene a few short years ago and quickly set the standard for hassle-free data compression. With version 2.0's ability to be used on removable disks, use on the 95LX finally became possible.

Using Stacker

Stacker 2.0 can only be used on the 95LX's RAM card (and, of course, your PC's hard disk). Its installation on the 95LX requires following a very specific procedure presented in the accompanying sidebar. Once Stacker is installed and "mounted," it becomes transparent (more on "mounting" Stacker below). The user simply saves a file to, or retrieves it from the "Stac'd" RAM card and Stacker takes care of the rest. Typical users can effectively double their RAM card space with no discernible performance penalty.

Stacker is loaded before any other programs are run. It uses about 45K of System memory to perform its file compression duties. While this is higher than DIET (see page 18, Fall 91 issue), Stacker does not require any space for temporary files. Once Stacker is set up, it automatically compresses files saved to the RAM card, whether you're working in DOS or in the built-in applications.

"Mounting" Stacker

Stacker creates one huge file on your RAM card. It then fools DOS into thinking that this file is a separate disk drive, allowing you to save files to and retrieve files from it. In reality, your RAM card will have two files on it: STACVOL.DSK (the huge file mentioned above) and STACKER.COM (the Stacker program that "fools" the 95LX into thinking STACVOL.DSK is a separate disk drive). STACVOL.DSK is a "hidden file" that doesn't show up in Filer or with the DOS DIRectory command.

You must "mount" Stacker in order to have the 95LX "see" STACVOL.DSK as a drive. This is done by executing the following command from the DOS prompt:

stacker a:

This command can be placed in your AUTOEXEC.BAT file so that every time you reboot the 95LX, Stacker is mounted. NOTE: You must remount Stacker after inserting each additional RAM card.

Once your card is mounted, you can view the contents of STACVOL.DSK as a normal looking disk drive file structure. From FILER press (F5) (Goto) A:\ (ENTER). If you have uncompressed files on your RAM card (i.e. files in addition to STACKER.COM and STACVOL.DSK) you can view these by pressing (F5) B:\ (ENTER).

Compression Effectiveness

Different file types cannot be compressed equally. Executable files such as .COM and .EXE files have compression ratios that range from 1.5:1 to 1.8:1. (For example, a ratio of 1.5:1 means a 15K file would be compressed to 10K.) Lotus .WK1 files range from 3:1 to 8:1. These variations make the exact determination of space remaining in your Stacker drive impossible.

When the drive is first created, Stacker is optimistically told to anticipate an average compression ratio of 3:1. This is higher than most people get, but it insures that there are a large number of entries in Stacker's file table in case someone happens to keep a large number of small files on their card. If you have a 1MB card, you can test this by running CHKDSK a: from the DOS prompt. It will report that you have 3MB of free space. Again, this is based on an overly optimistic compression ratio. Don't believe it, and do not use CHKDSK on a Stac'd RAM card again for checking free space. Stacker provides SCHECK.EXE for this purpose.

Stacker Gives Approximations of Storage Space Remaining

Once you start saving files onto your Stac'd RAM card, you may observe some unusual reports by the DOS DIRectory command, or FILER's (MENU) Directory Status command. Your "bytes remaining on disk" figure may decrease in increments not directly related to the size of the file stored. It may even go up when you add a file and down when deleting one!

These unusual reports are due to the fact that Stacker can only guess the compressibility of files you have not yet stored. It does this by looking at the average compression ratio of files already stored and using that figure to compute an anticipated free space figure. If you only have a few files on your disk, adding or deleting a file can have a major impact on the "average" compression ratio, and thus the space available report. For example, you could reduce the "bytes free" some 200K by storing a 50K file that had low compressibility. More surprising, you could store a highly compressible worksheet and actually increase the "bytes free" report. Stacker does provide a utility called SDIR.EXE, which reports the compression ratio of each file. However, the bottom line is that you will never know precisely the amount of remaining disk space until you actually use it. While this may appear as a dilemma, let me outline a strategy that I have used successfully for the last 8 months.

File Storage Strategy / When to Use Stacker

The first point to remember is that data files, your most irreplaceable files, are also your most compressible. Since the A drive is much safer than the C drive, it makes sense to use the A drive for your data storage. This maximizes RAM card use while affording the greatest level of protection. Secondly, remember that executable files are easily replaced and have the least compressibility. Therefore, placing as many as possible on C drive makes the most sense. This is where DIET or PKLITE can be used in stand-alone form to compress your COM and EXE files before placing them on C drive. Finally, you should not overly concern yourself with the reported free space until you are within 100K of your remaining disk space. At this point the space left will be more closely approximated by the DIRectory and File Status reports described above. Do not try to save files to your very last byte. Stacker keeps an 8K buffer in case you alter a file that it previously had stored.

Stacker's operation is internally complex in order that it may be transparent to you. In my opinion, the decision on whether to use it is based on two factors: The size of your RAM card and the type of files you store on it. Since Stacker requires that you have STACKER.COM (44K) on the RAM card, it doesn't make sense to me to use it on 128K or 256K cards. You can use DIET version 1.4 to further reduce the size of STACKER.COM to about 30K. This would leave 482K available for your Stac'd drive on a 512K card. I recommend against keeping STACKER.COM on the 95LX's C drive. If STACKER.COM gets corrupted, which is always possible on the C drive, you will lose access to your A drive until you can download a fresh copy of STACKER.COM. The small savings in disk space is not worth it.

Stacker is a good choice on 1MB or greater cards. On 512K cards it's a good choice as long as you don't store too many executable files on the card. A 50:50 mix of data and executable files will probably deliver good performance.

A COM or EXE file can be compressed an additional 10% of its original size by using DIET to compress the file prior to saving it on a Stac'd A drive. For example, an 80K file saved to a Stac'd disk takes up 60K of disk space. If you DIET the file first and then save it to your Stac'd disk, it takes up only 52K. This is 8K less than if the file were only Stac'd (10% of the original file size of 80K). Stacker reports compression of DIETed files as having a 1:1 compression ratio. Because of this, your average ratio, and therefore "space remaining," is reduced.

ACE DoubleCard 2.0 and DoubleCard 2.0 Software

Stacker 2.0 has two drawbacks. First of all, you can't use it for files on C drive. Second of all, it must be "mounted" (i.e. you must go to DOS and enter stacker a:) every time a different Memory card is used. ACE Technologies recently released the DoubleCard 2.0, a RAM card with a proprietary version of Stacker that "automounts" whenever the card is inserted. In addition, DoubleCard 2.0 comes with a program that lets you Stac the C drive and password protect the RAM card.

ACE has also released the DoubleCard 2.0 Software to turn existing RAM cards into DoubleCards and allow users to create Stac'd C drives.

The DoubleCard comes in four sizes, 1MB, 2MB, 3MB, and 4MB. These are the effective file storage sizes. Their physical size is half their stated size. Simply insert the DoubleCard, reboot your 95LX, and you have a Stac'd A drive.

A DoubleCard puts files you don't want to compress on the "B" drive, a non-Stac'd portion of the RAM card. Of particular note: The CONFIG.SYS file resides on the unStac'd B drive, while the AUTOEXEC.BAT file must be placed in the Stac'd A drive. Any program called from the CONFIG.SYS must also reside on the B or C drives.

The inquisitive among you may wonder about the unusual locations of the startup files. When the 95LX is booted up, DOS first goes to the un-Stac'd A drive and finds the CONFIG.SYS file. It loads the programs into memory and goes to the C drive to launch COMMAND.COM. When Stacker comes back to look for your AUTOEXEC.BAT file, it has already "auto-mounted," so the HP 95LX finds and executes your AUTOEXEC.BAT file in the Stac'd portion of the RAM card on the A drive. UnStac'd files on the RAM card, such as CONFIG.SYS, are now found on the B drive.

If you frequently reboot without a card, you can keep a second set of startup files on C:\, which will only be read if a card is not present when you reboot.

Creating a Stac'd C drive (or a Stac'd A drive if you purchase the DoubleCard software) is easy using the DoubleCard's automatic installation program. You simply place HPDC.EXE and DCFMT.EXE on your card and run HPDC. HPDC creates a G drive along with your normal, now smaller, C drive. In other words, C now contains the unStac'd (uncompressed) files, and a portion of the original C drive contains the Stac'd files. There appear to be two limitations with using this configuration. Once created, you may no longer partition the C drive without destroying the G drive. Also, the G drive may not have an APNAME.LST file.

The real beauty of using the DoubleCard is that it is truly "plugn-play." You can freely mix ROM and regular RAM cards, and the DoubleCard always auto-mounts. A 4MB card with a 1MB G drive provides a whopping 5MB of storage on the 95LX!

Installing Stacker 2.0 on the A Drive (RAM Card)