About That Warranty…

Readers have been wondering what kind of valuable warranty users of Microsoft’s Quick Pascal 1.0 (and other products) might be voiding by running it on top of DR DOS 3.3x or 3.40. I don’t have the original Quick Pascal 1.0 package, but I have a BASIC 6.0 package from 1988 which likely used identical wording. Here’s the scan:

Microsoft’s warranty for BASIC 6.0

In other words, the “valuable warranty” was a very limited 90-day warranty that actually promised next to nothing. In practice Microsoft might refuse to support DR DOS users, but those would probably have little difficulty showing that the same bug occurs when running on top of MS-DOS.

I also found the following fascinating exchange from almost two years after the check was first implemented:

From tomle Wed Jan 10 17:50:11 1990
To: billg russw
Cc: markche
Subject: Re: what can we do about this?
Date: Wed Jan 10 17:46:21 1990

We had to really stretch to get this mechanism to work at all.
We dug deeply into the bowels of Dos to be sure it was a "real
Dos". We warned at the time that this is a dangerous thing to
do. It will be very easy for us to break our own apps with this
mechanism. I think it's a bad idea and with Gordon looking at
drastically altering the kernel the chance of breaking ourselves
is even higher. We should stop this activity now. It's dangerous
and, in the end, I think we'll only hurt ourselves.


| >From russw Wed Jan 10 17:16:05 1990
| To: tomle
| Subject: what can we do about this?
| ie. to change the detection mechanism
|    From markche Wed Jan 10 11:37:04 1990
|    To: billg
|    Subject: Alien DOS Check
|    Cc: billp markche philba russw steveb
|    Date: Wed Jan 10 11:35:29 1990
|    This has been implemented in the following ms products:
|    QP 1.0
|    QASM 2.01
|    Fortran 5.0
|    BASIC PDS 7.0
|    Works 2.0 (in setup)
|    Flight Sim 4.0
|    The alien DOS check does not detect the most recent
|    version of DR DOS (3.41); it does detect versions
|    prior to this.

As readers have pointed out, the fears that Microsoft would “break” its own products were well founded, and exactly that happened with NTVDM. Fortunately the check was bogus from the start and the products actually worked on top of NTVDM just fine.

The references to “Gordon” were about Gordon Letwin improving core DOS in an attempt to thwart DRI. It appears that very little or nothing came of it since the DOS 5.0 (and DOS 6.0) core was not substantially different from DOS 3.4/4.0. ¬†Microsoft may well have found out that the only way to keep 100% compatibility was to make minimal changes.

This entry was posted in Digital Research, Microsoft, PC history, Undocumented. Bookmark the permalink.

16 Responses to About That Warranty…

  1. Richard Wells says:

    The loss of the money back guarantee might be enough to scare some people off though I suspect it encouraged purchases of competing applications and development tools instead of preventing the use of DR-DOS.

    DR DOS managed to break things all on its own with changes to FORMAT in some versions* and some functions that did not return the same values as MS DOS did. There was something weird that different functions needed to be called if running Stacker on MS-DOS versus Stacker on DR DOS. See RBIL 4408h and 440Eh.

    There was a plan to improve DOS 5 compatibility with OS/2 by adding things like long file names to make having a single code base easier. Obviously, the divorce took care of that resulting in the quickly developed more modest DOS 5 that appeared.

  2. Michal Necasek says:

    Yes, the plan for DOS 4.1 (or whatever it was going to be) was to support HPFS in some fashion. Which 3rd parties managed to do just fine a few years later, actually. Extended Attribute support was supposed to be there too. The actual DOS 5.0 turned out rather different.

    The documents clearly show that MS was freaking out about DR DOS, doing everything to cause problems for DRI. At one point Microsoft put significant effort into DR DOS compatibility testing so that they could leak the resulting information to journalists. Really, we have DRI to thank for MS-DOS 5.0 and 6.0.

  3. dosfan says:

    There were some reserved stub functions in DOS 4 which were for OS/2 compatibility. INT 21h functions 3303 and 3304h were meant for code page switching (along with CONFIG.SYS CPSW) and INT 21h functions 5702h-5704h were meant for OS/2 EA support. Unsurprisingly Microsoft dropped these functions in DOS 5.

    As for software warranties, has anyone actually cared about such a thing ? This is only marginally better than the annoying EULAs – stupid legalese cooked up by lawyers who have nothing useful to do and nothing of substance or worth to contribute.

  4. Rugxulo says:

    How about some QuickPascal benchmarks (on DR-DOS and MS-DOS)? Heck, test it on OS/2, too.

  5. dosfan says:

    MS-DOS 5.0 was certainly a major release but MS-DOS 6.0 (really all of the 6.x releases) didn’t seem all that significant. Disk compression was just a stopgap measure and something of a hack and something that many people never used (I certainly never used it). The CONFIG.SYS interactive boot stuff, DELTREE and MOVE were niceties but not major enhancements like those in DOS 5.0. Was there anything of note in DR-DOS 6.0 that inspired Microsoft to do MS-DOS 6.0 ?

  6. Richard Wells says:

    DR-DOS 6 added disk compression (using SuperStor from AddStor) and a move command. DR-DOS 6 also had improvements to undelete and the ability to have multiple configurations that could be conveniently switched between. DR-DOS 6 had online help. These improvements were matched by similar improvements to MS-DOS 6.

    I remember DR-DOS 6 came bundled with backup and antivirus software matching what MS-DOS 6 shipped with. I think that was after Novell got it and Novell also threw in Netware Lite countering MS’s inclusion of Interlnk and offer of a low cost networking client.

    DR DOS 6 added ViewMax (GEM cut down into file management tool) and TaskMax a simple task switcher. MS killed bugs in DOS SHELL which had its own task switcher.

    Close to a match.

  7. Michal Necasek says:

    ViewMax was in DR DOS 5.0 already. Filelink was in DR DOS 5.0 too, and InterLink was MS’s variant of that. The DR DOS 5.0 utilities mostly had usage help but in DR DOS 6.0 it was more extensive and the entire manual was included. What’s certain is that there was real competition and it resulted in tangible product improvements after years of stagnation.

  8. MiaM says:

    I don’t have any experience in US legal documents, but as I read it, the warranty covers compiler bugs.

    If MS-DOS would have had HPFS then Microsoft wouldn’t have had such bad reputation of especially Windows 95 but to some extent also Windows 3.x crashing and causing file system corruption. Even though HPFS isn’t considered that good it’s a huge improvement over FAT.

    IMHO both the boot meny and the possibility to load drivers and TSR’s into UMB were a rather important improvement in DOS 6 compared to DOS 5.

  9. Yuhong Bao says:

    On the other hand, FAT32 was considerably smaller than HPFS would be. FAT32 was mostly modifying the code to use 32-bit 386 instructions.

  10. MiaM says:

    No, we had 32-bit 386 code even with VFAT.386 in Windows 3.11…

    Any computer that could run Win 3.x and especially Win 9x wihout being silly slow would have had more than 1MB of ram. Worst case DOS could had run the file system code in protected mode and used >1MB ram space for that code. Of course a switch between protected mode and real mode (for pure DOS) would cost a bit, but not much compared to the speed of a hard disk.

    Also the same code base could had been used both in pure DOS and in Win 3.x/9x.

  11. Yuhong Bao says:

    That would have compatibility issues, for example with DOS extenders etc. What I am talking about is using 32-bit 386 instructions in real mode.

  12. dosfan says:

    LOADHIGH and DEVICEHIGH were introduced in DOS 5. The interactive boot menu stuff was a DOS 6 addition.

  13. MiaM says:

    Yuhong Bao:
    If DOS would partially have had ran in protected mode it would have contained a buildt-in “dos extender” which would had become industry standard.

    Oh, forgot that. But werent the “umb” setting in config.sys (i.e. DOS=HIGH,UMB) new in DOS 6.x?

  14. Michal Necasek says:

    DOS=HIGH,UMB was new in DOS 5.0.

    Microsoft did not want an industry standard DOS extender. It took some arm-twisting by Intel for DPMI to happen.

  15. dosfan says:

    DOS history listing what was added in each version:

  16. Michal Necasek says:

    That is a good list. May be worth mentioning that MS-DOS 4.0 (but not IBM DOS 4.0) also included EMM386.SYS.

Leave a Reply

Your email address will not be published. Required fields are marked *

This site uses Akismet to reduce spam. Learn how your comment data is processed.