14

DriveSpace is the successor to DoubleSpace. Both are DOS systems that mount a Compressed Volume File as a drive, allowing ordinary programs to interface with a compressed drive without an intermediate compression stage. According to the MS-DOS 6.22 README.TXT:

DriveSpace appears similar to DoubleSpace, which was included with MS-DOS 6 and 6.2. The main difference is that DriveSpace stores compressed data in a different format from DoubleSpace.

What is the difference in format used? Are there differences other than the compressed format?

  • 14
    Operationally, no. The change was made, as I recall, because DoubleSpace was found to be an infringement of patents held by the developer of the third-party disk-compression program Stacker. – Jeff Zeitlin Jun 26 '17 at 18:41
  • 1
    @JeffZeitlin This is my recollection as well. – Leo B. Jun 26 '17 at 18:48
  • 1
    Correct - No operational differences other than the compressed format. If you had a system that was doublespaced side-by-side with a system that was drivespaced, you couldn't tell the difference if you didn't know about the difference in advance. – Jeff Zeitlin Jun 26 '17 at 19:42
  • 2
    Obviously, there were technical and internal differences - but they didn't affect the users except in the case where a user needed to convert. – Jeff Zeitlin Jun 26 '17 at 19:43
  • 8
    There is a driver for Linux that provides access to compressed FAT filesystems (Doublespace, Drivespace, Stacker). I imagine someone with time and technical understanding could review the source code and determine exactly how DriveSpace differs from DoubleSpace: cmp.felk.cvut.cz/~pisa/dmsdos – misha256 Jul 6 '17 at 2:02
8

It appears that there are several versions of both DoubleSpace and DriveSpace. Information about each version as I find get it will be posted in this answer.

DoubleSpace

DoubleSpace uses MRCI, which uses "a variant of Lempel-Ziv encoding".[2] A non-technical explanation of the DoubleSpace compression algorithm:

DoubleSpace first identifies the repeated sequences, and then writes them as <offset, length>. Offset is the number of bytes to the left of where the match starts [...] For example:

The rain in Spain falls mainly on the plain.

This sentence would be compressed as follows:

The rain <3,3>Sp<9,4>falls m<11,3>ly on <34,37>pl<15,3>.

The key is to analyze the frequency of occurrence of the offset and length values, and then to choose very short encoding [sic] for the most common values. – Source

The DoubleSpace naming convention for CVFs (Compressed Volume Files) is DBLSPACE.nnn where nnn is a three-digit, right-aligned (0-padded) number. If the DoubleSpace CVF was created from uncompressed data the extension will be 000; if the CVF was created empty the extension will be another number.[2]

Windows 95 "DriveSpace"

This program, whilst producing files in the DoubleSpace format, seems to be having an identity crisis:

I still refer to it as 'win95 doublespace' though M$ call it 'drivespace'. – Source

It supports compressed drives of up to 512MB[4] with a cluster size of 8KB.[1/FAQ]

DriveSpace

DriveSpace 3

This program supports compressed drives of up to 2GB with a cluster size of 512KB.[1/FAQ] It uses the SQ-0-0 compression scheme.[1/FAQ]


Thanks to misha256 for the link to dmsdos. Thanks to Tommy for the link to PC Mag. Thanks to Tommy (here) and Jules (here) for identifying the DoubleSpace compression algorithm. Thanks to manassehkatz (here), Tommy (here) and redsPL (here) for pointing out various errors.

  • "It supports compressed drives of up to 512KB" - that's floppy disk size. Maybe 512MB? – manassehkatz Jul 7 '17 at 21:58
  • 2
    So Doublespace sounds exactly like LZ77 plus probably something like Huffman on the output tokens of that? – Tommy Jul 7 '17 at 23:13
  • Also, I think the author of the FAQ you link to is in error. A 1996 edition of PC Magazine goes with the much more likely 512mb figure in response to a reader clearly running up against a 512mb limit: books.google.co.uk/… – Tommy Jul 7 '17 at 23:19
  • 1
    @Tommy - this Microsoft knowledge base article describes doublespace as using a variant of Lempel-Ziv compression, so yes, exactly that. – Jules Jul 8 '17 at 7:14
  • AFAIK, it's 512MB, not 512KB.. – redsPL Jul 8 '17 at 8:55
3

MS-DOS 6.0 and 6.20 shipped with DoubleSpace. MS-DOS 6.21 removed it due to the Stac lawsuit, and MS-DOS 6.22 replaced it with DriveSpace with an incompatible algorithm and format. Soon after MS-DOS 6.22 was released, MS signed a settlement with Stac and Windows 95 shipped with an unified driver that supported both. And yes, they decided to default to DoubleSpace format with Windows 95 for new volumes: https://jeffpar.github.io/kbarchive/kb/123/Q123751/

  • 2
    While this is pertinent information, it doesn't tell us what the differences actually were. – Chenmunka Mar 20 '18 at 9:14
  • It would be much more useful if you described the differences between the two, not just said "an incompatible format." At present this does not answer the question. – wizzwizz4 Mar 20 '18 at 16:31
  • The difference is only the file format. Nothing else was changed I believe. – Yuhong Bao Mar 20 '18 at 18:19

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service, privacy policy and cookie policy

Not the answer you're looking for? Browse other questions tagged or ask your own question.