Using Stacker 4.0 to Double Your Disk Space

Mark re-examines compression software for the HP Palmtops and tells you how to squeeze more onto those costly memory cards with Stacker 3.0 or 4.0.

By Mark Scardina

With the continued high cost of data storage cards and the recent introduction of the new Stacker 4.0, it is time to re-examine compression software for the HP Palmtops. Data storage cards now come in capacities from 512K up to 40MB, and although compression software has evolved, it is still primarily designed for hard disks. This makes the recommendations less clear cut for memory cards. Before discussing Stacker 4.0 in detail, let's take a brief look at how the previous version of Stacker worked in order to better understand this new version.

The Basics: Stacker 3.0

Stacker 3.0 provided a doubling of storage capacity by utilizing two specific technologies.

First, it incorporates Stacker's patented LZS compression algorithm that used the redundancy of stored data to reduce the physical storage requirements. One of the Stacker 3.0 features was the ability to vary the actual amount of compression to balance the access speed to the hard disk. This was controlled with the /P=n parameter in the Stacker device driver line in the CONFIG.SYS file where n=0 to 9. The most compression was attained with /P=9 while the fastest access speed was set with /P=0 or 1. If /P=0 was used, then an additional 4.4K of system memory was saved as the compression tuning code was not loaded. (On DOS machines system memory is the memory into which programs are loaded and run and is limited to 640k.)

Second, Stacker ignored the DOS cluster structure on the disk allowing it to use every sector in a cluster. On a formatted RAM card each cluster is made up of a number of 512 byte sectors. When all we had were small RAM cards of 2MB and below, clusters were made up of single sectors and thus there was no storage gain from this technology.

Now with card sizes to 40MB, we can no longer have single sector clusters as there would be too many for DOS to handle. Thus, these higher capacity cards have 8 and 16 sectors per cluster. The consequence of this is that each file takes up physical space in 4K (4096 bytes) or 8K (8192 bytes) increments. This is quite similar to going to the store with only ten dollar bills and not being able to get change for a purchase of only $.50. Stacker ignores the clusters and manages the sectors directly thereby eliminating what is commonly called the `slack' space on these higher capacity RAM cards.

Typically users of Stacker 3.0 could manage between 1.7 and 1.9 to 1 compression ratios on their cards depending on the RAM card size and the /P setting.

TIP: If you are running short on disk space and are currently using Stacker 3.0, you can recover additional space by using the /P=9 parameter on your Stacker device line in your CONFIG.SYS file:

device= c:\stacker\stacker.com /P=9 c:\stacvol.dsk

[Editor's Note: Place a space between .com and /P.]

To take full advantage of this, you should back up your card, change the parameter, then restore all of the files with this new setting in place.

Enter Stacker 4.0

While incremental improvements to the LZS compression algorithm made all gains the major innovation of Stacker 4.0 is in its `sector packing' capability. Even though we could pack clusters with the previous version, each file still had space within the individual sectors that was not being used. Stacker 4.0's MAXSPACE capability, /P=10, recovers these unused areas for data storage.

This MaxSpace technology does not come without a price. While the Stacker 3.0 driver used 40K to 45K of system memory, Stacker 4.0 uses 57K. On the RAM starved 100LX this can cause problems when trying to run multiple applications. Because of this, we need to carefully examine this trade off of disk capacity vs. system memory in light of the size of your RAM card before making a recommendation as to which version of Stacker is appropriate.

Should you upgrade to version 4.0?

The question of upgrading to Stacker 4.0 is not quite so simple. Since version 4.0 achieves its increase of more than 2 to 1 compression by packing individual sectors, obviously the greater the number of files and sectors will yield the largest increase in storage space. The relatively few sectors on cards of 2MB and below quite frankly will not likely offset the loss of 12K to 17K of system memory. However, as we examine cards in the 10MB to 40MB range, this picture changes. We now have quite a few sectors yielding a definite improvement, however we also have quite a bit more space to begin with and may not need every last byte, especially in light of the loss to system memory.

After reading through the above, you may feel that we are no closer to resolving the initial question as to whether to use Stacker 3.0 or version 4.0. By answering the following questions, you should be able to resolve this question for your own setup:

  1. 1. Do I use all of the capacity on my card?
  2. 2. Do I frequently have to close applications to open others?
  3. 3. Is the physical size of my card 5MB or more?

  4.  

     

If you answered Yes to questions 1 and 3 then you should seriously consider 4.0. If you answered Yes to 2 as well, then it is less clear cut but you should still experiment.

If you answered Yes to question 2 and No to 1 or 3 then you should not bother upgrading at this time. In fact as long as you answered No to 1, I see no reason to consider Stacker 4.0.

Installing Stacker 4.0

If you have found yourself wanting to upgrade, Stacker has made things a bit more complicated with version 4.0. Before providing you with step by step instructions, you should be aware that the Stacker 4.0 license is granted for one PC per copy and that your 100LX requires its own copy. Do not purchase the Stacker Upgrade package for your 100LX. This package is designed for DOS 6.x users and does not provide the necessary programs for use on your 100LX.

While there are various methods to create a Stacker drive on your card, this method is the easiest and most reliable. This method creates a `bootable' card and allows you to reboot your HP 100LX without Stacker by simply removing your card:

  1. 1. Start with a freshly formatted RAM card.
  2. 2. Using MEMO or a DOS text editor create A:\CONFIG.SYS with the following lines:

  3.  

     

device=a:\stacker.com

files=30

buffers=6

shell=d:\dos\command.com /p d:\dos

(If you are using MEMO make sure you save this in ASCII format.)

  1. 3. Using the same editor create A:\STACKER.INI with the following lines:

  2.  

     

/P=10

/AUTO

A:\STACVOL.DSK,RP

(Once again make sure you save it in ASCII format. This file is new to Stacker 4.0 and is used in lieu of the command line parameters. /P=10 sets Stacker to MAXSPACE. /AUTO allows your card to auto-mount when inserted and RP stands for Replaceable Drive, which is what your card is.)

  1. 4. Copy STACKER.COM to your A: drive as well as any other device driver programs that appear on the lines BEFORE the Stacker device line in the CONFIG.SYS file. The files stored on this unstacked potion of the RAM card will not be accessible once Stacker loads unless you unmount the card or boot without Stacker.

  2.  

     

TIP: If you have DIET 1.4x, you can compress STACKER.COM with the following command line: C:> DIET -X STACKER.COM
  1. 5. Copy the following Stacker files from your Stacker disk to your C: drive:

  2.  

     

CREATE.COM

SCREXEC.EXE

SCREXEC2.EXE

  1. 6. Enter the following command from the DOS prompt with System Manager terminated:

  2.  

     

C:> CREATE A: /S=0 /R=2.5

This will create a hidden STACVOL.DSK file on your memory card.

  1. 7. Reboot your 100LX and you should have a new A: drive. At this point you can create an AUTOEXEC.BAT on A: and erase the Stacker files on C:

  2.  

     

One final note. Under Stacker 4.0 there is no longer the inconsistency between the space remaining as reported by CHKDSK and that reported by DIR. This is because Stacker actually changes the reported number of sectors on the disk based on its current average compression ratio. This is actually just `smoke and mirrors' and you should continue to regard the remaining space figure as an estimate.

Alternatives to Stacker?

I am occasionally asked about using DoubleSpace on the 100LX. This not possible as DoubleSpace requires DOS 6.x except for the special version in the OmniBook Series. That version does not support removable drives and can only be run on the OmniBook.

The little effort required to install and use compression software has a big payoff in increasing the space available on your RAM card. Stacker is a mature technology that has proven to be reliable. Most vendors of data storage cards offer a version of the card with Stacker preinstalled. However, whether you use compression software or not the only real security is in having good backups of your data.