PCjs Blog
Thirty Years Ago: MS-DOS 6.00
Over 30 years ago, in March 1993, Microsoft released MS-DOS 6.00,
the next major release of MS-DOS after 5.00 shipped in June 1991.
In addition to several new full-screen utilities, like DEFRAG
to defragment your hard disk (licensed from Symantec),
MSBACKUP
to efficiently backup your hard disk (also licensed from Symantec), and MSAV
to check for viruses (licensed
from Central Point Software), there were a number of new command-line programs, such as CHOICE
, DELTREE
, MOVE
,
MSCDEX
, and SMARTDRV
.
But the biggest addition to MS-DOS 6.00 was a new feature called DoubleSpace (dubbed “MagicDrive” internally) that
automatically compressed everything on your hard disk, providing up to “double” the amount of effective disk space – or more,
or less, depending on how compressible your files were overall.
DoubleSpace was a significant feature that required changes across the entire system. Most of the action, however,
took place inside a new device driver, DBLSPACE.BIN
, that stored all your data in a Compressed Volume File (CVF) generally
named DBLSPACE.000
. In fact, if you booted an older version of MS-DOS (like 5.00), you wouldn’t see much more than that:
A>DIR C: /A
Volume in drive C is HOST_FOR_C
Volume Serial Number is 5739-B1B5
Directory of C:
IO SYS 40470 03-10-93 6:00a
MSDOS SYS 38138 03-10-93 6:00a
DBLSPACE BIN 51214 03-10-93 6:00a
DBLSPACE INI 91 10-03-23 12:26p
DBLSPACE 000 131474432 10-03-23 12:26p
5 file(s) 131604345 bytes
2605056 bytes free
When MS-DOS 6.00 starts up, it reads DBLSPACE.INI
, which usually looks something like this:
MaxRemovableDrives=2
FirstDrive=D
LastDrive=H
MaxFileFragments=115
ActivateDrive=H,C0
and tells the operating system to mount the real drive C: as drive H: instead, and to mount the CVF as drive C:
C:>DIR /C
Volume in drive C is MS-DOS_6
Volume Serial Number is 101B-323E
Directory of C:
DOS 09-25-23 10:13p
COMMAND COM 52925 03-10-93 6:00a 1.4 to 1.0
WINA20 386 9349 03-10-93 6:00a 5.3 to 1.0
AUTOEXEC BAT 75 09-26-23 8:55a 16.0 to 1.0
CONFIG SYS 109 09-26-23 8:55a 16.0 to 1.0
2.0 to 1.0 average compression ratio
5 file(s) 62458 bytes
253927424 bytes free
So our original hard disk, a 128Mb drive, now appears to be almost twice as large – thanks to DoubleSpace.
Aside from the new DBLSPACE.BIN
driver, the other main piece of DoubleSpace functionality resided in DBLSPACE.EXE
, which
operated as both a setup and a maintenance program. It provided a friendly UI, making it easy to create additional CVFs,
as well as resize, defragment, reformat, unmount, remount, and more.
Feel free to tinker with MS-DOS 6.00 on the website:
Legal Woes
Microsoft bootstrapped its compression efforts by licensing code from Vertisoft, makers of DoubleDisk, a disk compression
product first released in 1989. Starting with Verisoft’s code, Microsoft created DBLSPACE.BIN
, along with operating system
changes that allowed it to be loaded before CONFIG.SYS was processed – so that CONFIG.SYS and any system files loaded
from that point forward could be inside the compressed volume instead of outside it.
Vertisoft was not directly involved with any of that work, but they did help produce other pieces of functionality, such
as code to convert Stacker and SuperStor compressed disks to DoubleSpace – although apparently Stacker conversion was pulled
at the last minute, in February 1993, just as MS-DOS 6.00 was being finalized.
Or rather, February 1993 would have been “last minute”, until the lawsuit filed by Stac in January 1993 forced Microsoft
to re-evaluate. Stac claimed that the DoubleSpace infringed two of Stac’s patents: 5,016,009 and 4,701,745.
For me, life quickly changed on February 13, 1993, when I received this email:
From: Paul Maritz
Sent: Saturday, February 13, 1993 12:06 PM
To: Jeff Parsons; Mark Zbikowski
Cc: Ben Slivka; Brad Chase; Brad Silverberg; Jim Allchin; John Mason;
Nathan Myhrvold; Rick Rashid
Subject: special duty
You are both amongst the best x86 assembly language coders that we have at MS.
We are thus asking you to help out with a very serious problem that we face - namely
the STAC / DOS6 lawsuit.
Our lawyers have recommended that we have a backup compression mechanism for DOS6
ready to go as soon as possible. The initial work on this has been done under Rick
Rashid in Nathanm's area. They have a C language implementation of a technique that
we believe is safe (covered under patents that we have rights to). The challenge
is to get this technique into the tightest possible x86 assembly code, as soon as
possible. This is where we are asking you to help. Jimall and Bradsi are aware that
you will be "stolen" for some weeks.
Could you both meet with Rick Rashid as early as possible on Monday to get this
effort under way as soon as is possible. Thanks.
The next several weeks were probably some of the most stressful weeks I’d experienced at Microsoft. Looking back, it’s amazing
to me that with all the critical-path code that was being rewritten at that late date, MS-DOS 6.00 still shipped the following
month, in March 1