The DoubleSpace support driver (DBLSPACE.BIN) reads the text file▲,
DBLSPACE.INI, in order to decide which CVFs▲ to access and what drive
IDs to use. This topic describes the contents of DBLSPACE.INI.
DBLSPACE.INI is in the root of the physical boot disk (it is typically
swapped to an ID such as H: or I: by the time you look for it). It has
read-only, hidden, and system file attributes; use Dir /A to see it
You can edit the file with any text editor, such as the DOS Edit command.
You must clear its attributes first (Attrib H:\Dblspace.ini -H -S -R).
Before making changes, I recommend that you prepare a boot diskette with
an editor and other tools. Oh, yeah -- make a copy of DBLSPACE.INI, too.
DoubleSpace maintains a series of structures to keep track of mounted
drives. At boot time, DoubleSpace allocates memory for one structure
for each drive which was activated plus an extra n such structures.
See INT 2fH 4a11H 0009H (Count DISK_UNIT structures).
A normal setting: MaxRemovableDrives=2
To change: Choose Options in the Tools menu.
Specifies the lowest drive letter available for a host or compressed
drive. DoubleSpace ignores FirstDrive and simply takes control of
all drive IDs starting from the original ID of the disk that contains
the first CVF mounted (see ActivateDrive, below).
Specifies the highest drive letter available for a host or compressed
Notes: ■ DoubleSpace assigns drive IDs starting at LastDrive and working
down toward FirstDrive.
DoubleSpace will increase LastDrive automatically when
necessary. For instance, if you mount a volume from a high-
lettered drive, DoubleSpace will need to consume drive letters
up to and including that drive's original ID.
■ See INT 2fH 4a11H 0001H (get drive map).
When a CVF is fragmented, DoubleSpace must maintain an internal
structure to keep track of each fragment (this avoids having to hit
the FAT of the host). This command determines how much memory to
allocate. See INT 2fH 4a11H 0008H (get CVF Fragmentation Info).
During installation, nnnn is set to a whopping 2600. That's because
a CVF may need to be created in multiple, discontiguous sections when
the host disk is large and has little free space.
But 2600 is a worst-case scenario. After the initial installation,
MaxFileFragments is adjusted automatically to reflect the actual
memory needs. It is set to the actual number of file fragments on
all CVFs plus a fudge factor of 110.
To see how fragmented your CVFs ended up, subtract 110 from the
│ │└────── CVF number (0-9)
drv1 ──┘ └─────── drv2
One or more of these ActivateDrive= commands appear at the end of
DBLSPACE.INI. Each command identifies the locations of a hard disk
volume to mount automatically at system startup, and the drive ID to
use for it and its host.
n specifies which CVF▲ to mount. It is a digit, 0 to 9--the last
digit of the CVF file extension.
See INT 2fH 4a11H 0005H (mount volume) and
See INT 2fH 4a11H 0002H (swap drive IDs)
If n is 0
The volume was created by compressing existing files. The compressed
volume ID will be swapped with the host ID, so...
drv1 is the drive letter to be used for the host.
drv2 is the drive letter to be used for the compressed volume. It also
identifies the original (unswapped) ID of the drive on which the CVF is
The file C:\DBLSPACE.000 is mounted and IDs are swapped. The host ID
will be H: and the compressed volume will be called C:.
If n is not 0
The volume was created by compressing free space. The compressed
volume ID will not be swapped, so...
drv1 is the drive letter to be used for the compressed volume.
drv2 is the original drive letter of the host.
Mounts C:\DBLSPACE.001 as drive G:. No swapping occurs.
C:\DBLSPACE.000 is mounted as drive C: and the host ID is swapped and
can be accessed as drive H:.
C:\DBLSPACE.001 is mounted for access as drive D:. The host ID was
swapped in the first line, so DBLSPACE.001 will be on drive H.
Note: When changing these settings, be sure to assign drive letters
that are within the range of FirstDrive= and LastDrive=.
These two commands are recognized by Dblspace.Exe, but are
undocumented in any source I could find. I would guess, that
Enable386= lets DoubleSpace support use 32-bit optimized compression
code and would only be needed on a machine that appears to be a 286
but is really a 386+. The Debug= line may be an undeleted remnant
from beta tests; DBLSPACE.BIN does not recognize it.
See Also: DoubleSpace (overview)