So, you have a shiny vintage PC, of the sort of era where it would run DOS (plus maybe Windows 1, 2, 3.x, GEM, PC-GEOS or Deskmate), and not Windows 9x, Windows NT, OS/2 or Unix. But it doesn't have an OS on it, and you're looking at WinworldPC and marveling at just how many different versions of DOS there actually were, and wondering which one is actually right for you.

TL;DR - Is there an actual definitive "best DOS"? No. PC DOS 2000, if you must have a quick answer, but even that comes with some caveats.

I'm going to ignore PTS-DOS, Wendin DOS, DOS Plus, Concurrent DOS, ROM-DOS and a few other variations because they're difficult to get, special-purpose, or mostly a curiosity. There's also the issue with licensing - to make a long story short, except for FreeDOS and certain limited parts of certain versions of DR DOS, all DOS is copyrighted software. It's mostly abandonware, so it's overwhelmingly likely that nobody will care, but if this matters to you, FreeDOS actually is open source. ROM-DOS is commercially licensed but still available, if you really must, but I have no experience with it.

There have been many, many variants of DOS over the years, but they can be roughly broken down into four "eras" - 1.x, early, middle and late. DOS 1.x didn't have support for directories and had a few more oddities more reminiscent of CP/M than what we'd later understand as "DOS". It's a cool historical curiosity, but that's about it. The early era consists of the 2.x and 3.x branches, meant mostly for machines without hard disks. These versions are a good choice for very early 8088 and 8086 PCs, but they're very bare-bones.

You should use an early-era DOS if you're using a PC that only operates from floppy disks, or that has less than 512k of RAM. In this era, MS-DOS and PC DOS are identical except for the branding. DR DOS, however, is slightly different. Compatibility at this era is generally pretty good. In this era, DOS 3.3 is the way to go. MS-DOS 3.3 is the compatible choice, DR-DOS 3.31 is the slightly more featureful one. If you're looking for a more comfortable environment, you're probably better off making your own Frankenstein version.

The middle era began with the debacle that was the release of the tremendously janky MS-DOS 4.0, but was followed up with versions 5 and 6, which were the most popular, most widely used versions of DOS, and the versions which most competitors that still existed were compatible with. These are mostly meant for machines with hard disks, although they are able to operate from a floppy. They will run on the oldest processors, but very early PCs and compatibles that have less than 384 kilobytes of RAM may not be able to. Most DOS apps from the mid-1980s through the end of the DOS era are largely designed for, and compatible with, these versions. MS-DOS and PC DOS were essentially the same, differing only in branding, until the end of this era with 6.x, where the Microsoft and IBM lineages diverge slightly. DOS 4.x is memory-hungry, feature-incomplete and buggy, so there is essentially no reason besides curiosity to ever boot it.

One big change that happened in the middle of the middle DOS era, was the switch from double-density (360k and 720k) floppy disks to high-density ones. This is relevant because DOS 6.x is mostly only available on high-density floppy disks or floppy disk images - while it will run on machines with DD floppy drives, getting it installed on one may be difficult. This alone forms the best argument for looking at the 5.x versions of DOS at all.

If you're using a 286 or 386-class PC with double-density floppy drives, then MS-DOS (or PC DOS) 5 is a good option for you. Otherwise, if you're interested in the ultimate in compatibility, MS-DOS 6.22 is the most widely supported version of DOS ever. DR DOS 6 is possibly worth a look if you'd like a few features not found in MS-DOS 6.22, but at the possible cost of compatibility - I'd look to one of the late-era DOSes instead.

The late era is an umbrella term for those last versions of DOS that existed in the twilight of the DOS days, after the release of Windows 95. It includes things like Microsoft's own DOS 7 that shipped as part of Windows 95 and 98, the last versions of DR DOS, PC DOS 7, 2000 and 7.1, and FreeDOS. (Things like ROM-DOS also belong here, but I won't be looking at ROM-DOS, because while it's still available, it's a paid product that I have no experience with.) Mostly these copy the feature set of MS-DOS 6.x, plus a smattering of extra features.

The late era is where the choices get tricky. In this generation, everyone went their own way, and I intend to look at the major contenders to see how they compare. A late-era DOS is right for you if you're running a 386, 486 or Pentium PC that can use all the features found in these later DOS operating systems.

The major choices in this era are:

  • FreeDOS
  • The 7.x incarnations of DR DOS, including Caldera OpenDOS, DR-DOS 7.02, 7.03, Novell DOS 7 and DR-DOS 8
  • MS-DOS 7, AKA Windows 95 DOS and Windows 98 DOS
  • MS-DOS 7.1 Unofficial, AKA CDU-DOS
  • MS-DOS 8, AKA Windows ME DOS
  • PC DOS 7, 2000 and 7.1

FreeDOS

First up - because of how weird it is - is FreeDOS. FreeDOS is comparatively new, although it's been in development (in some sense) for almost 30 years. But even that means that it is exclusively a late-era DOS. It is essentially complete, and so hasn't received any updates in a long time, but it is still maintained. It provides the most comfortable DOS environment, with the most features, and quite a few utilities either re-implemented by the FreeDOS team, or else brought over from the Unix world. This comes at a price, however: FreeDOS is quite compatible with actual vintage DOS software, but it is not perfectly so. It also smuggles in some assumptions about modern (or more correctly "recent legacy") 32-bit PC hardware.

FreeDOS does have support for such things as USB storage devices, FAT32 and long filenames.

It will run on Intel 8088-class hardware, though it demands you have the full 640 kilobytes of conventional memory. However, some of its utilities want either some XMS memory above 1MB, a 32-bit processor, or both. This isn't an issue if your vintage PC has an Intel 80386SX or later, but running FreeDOS on one of the earlier chips may have some rough edges.

Most of the compatibility issues that I've encountered come from the extreme ends of the DOS age - either the very early era before the IBM PC AT or the very end of the DOS era where high-resolution Super VGA games are common. Stuff from the middle era, using EGA and VGA graphics, and expecting a 286, 386 or 486 processor, will generally work just fine.

In summary, if you want to try out the DOS daily driver experience, to see what it was like to try to get useful work done on a DOS PC back in the day, FreeDOS offers a very comfortable environment for that. It's also the only option that is completely legally unencumbered.

    Pros
  • Comprehensive suite of utilities
  • Modern conveniences
  • FAT32 and long filename support
  • Best ability to optimize memory usage tightly
  • Fully open source
  • Still supported - if you find a bug, you can submit a bug report, and someone may well fix it
  • Cons
  • Heavy system requirements (for DOS, anyway)
  • Compatibility is imperfect
  • Not all functionality is available on pre-386 PCs

DR DOS 7.x

DR DOS, also written as DR-DOS, is Digital Research's competitor to DOS. I've touched on earlier versions above - with the exception of an edge case reason for favoring DR DOS 3.31 on XT-class machines, version 7 is the most interesting version of DR DOS. It's also the version that DR themselves never published! It's easy really go off in the weeds when discussing DR DOS, even as part of a discussion that's already pretty weedy, so if you just want the short version, it's that DR-DOS 7.03 is probably the version you want to look at. There are later ones, but if you need what they offer, you probably should just use FreeDOS.

DR DOS was purchased by Novell during the development cycle for DR DOS 7. Novell then published it under the name of Novell DOS 7; they also re-published DR DOS 6, branded as Novell DOS. Novell DOS 6 and DR DOS 6 are the same thing - DR DOS 7.x are the interesting versions. So far as Novell DOS 7 itself is concerned, don't bother unless you have a specific reason - almost everything in it is in the later versions.

Sometime in here, Novell sold the rights to DR DOS to Caldera, who then released it first as Caldera OpenDOS, and later as Caldera DR-DOS (with a dash). This was free to download back in the day, and as I was stuck on an old 286 PC with MS-DOS 5.x, it seemed like a worthy upgrade to me. Frankly, this is almost the only reason I'm even looking at DR DOS at all - fond memories of it. DR-DOS 7.x had three full releases and two more miniature ones - 7.01 was released under the OpenDOS name, 7.02 and 7.03 under the DR-DOS name. 7.03 is the interesting one, incorporating all the features of 7.01 and 7.02 with some new CONFIG.SYS options to shave even more conventional memory (though most of these require a 386 or later). 7.04 was a kernel-only release that incorporated FAT32 support, and 7.05 was another kernel and command interpreter-only release incorporating some bug fixes on top of 7.04. 7.04 and 7.05 are hard to find, and will have to be Frankensteined into a 7.03 installation. The FAT32 support requires slightly more memory and introduces some potential compatibility pitfalls.

Part of the sources for Caldera OpenDOS 7.01 were released as open-source. The enhancements in later Caldera releases were not part of this open-source release. Nevertheless, some DOS afficionados made improvements based on this free code, resulting in OpenDOS 7.01-7. This is an interesting, featureful version of DOS, but it's a pain to find, a pain to get installed, and introduces at least as many compatibility pitfalls as DR-DOS 7.05. Unless you have a particular reason, if you're thinking about this, just get FreeDOS.

DR DOS uses a different 386-enhanced memory manager than the EMM386.EXE included with MS-DOS and PC DOS. With certain options it breaks compatibility with some games that work just fine with EMM386.EXE. You can use the EMM386.EXE from Windows 3.1, or one taken from an MS-DOS or PC DOS installation, however, and it will work. It also doesn't include QBASIC, but you can lift QBASIC from an MS-DOS installation and it will just work. DR DOS's default text editor is called EDIT, just like MS-DOS's, but it's not the same program - opinions vary on which one is better. They have differences in the UI but substantially similar feature sets.

Finally, Caldera eventually sold off DR-DOS to a company called Devicelogics, who then rebranded as DRDOS, Inc (no space or dash, as if we needed more weeds). They released DR-DOS 8 and 8.1, which included FAT32 and LFN support, but tend to be rather janky. They also included bits of FreeDOS without releasing the GPL sources or giving credit. When the FreeDOS project contacted Devicelogics about their "piracy", Devicelogics pulled both releases. They can still be found on abandonware sites, but probably aren't worth using.

    Pros
  • Some utilities not included in MS-DOS and PC DOS, including a task switcher.
  • FAT32 and long filename support (if you're willing to do some Frankensteining)
  • Some additional memory optimization tools
  • Superior compatibility to FreeDOS
  • Cons
  • Not all functionality is available on pre-386 PCs
  • Compatibility is still not perfect
  • DR DOS-specific memory manager butts heads with some games
  • No QBASIC or GW-BASIC
  • Quite a bit of Frankensteining is required in order to get the most out of DR DOS

MS-DOS 7.x

Let's get the obvious out of the way first: Microsoft never sold a standalone product called MS-DOS 7. DOS 7 does exist, though - it's the version of DOS that underpins Windows 95 and Windows 98. The way you get at it, for the most part, is to select "Reboot into MS-DOS mode" from the Windows 95 or Windows 98 boot menu. MS-DOS 7.0 is the DOS that comes with Windows 95 RTM and OSR1, MS-DOS 7.1 is the DOS that comes with Windows 95 OSR2, Windows 98 and Windows 98SE.

Win95's DOS and Win98's DOS differ in some slight ways - Windows 95 includes DriveSpace drive compression, Windows 98 does not. Windows 98 (and Windows 95 OSR2) support FAT32 and drives larger than 8.4 GB (though not all DOS apps will). FAT32 support, large partition support and long filename support are the main features Windows 9x DOS gives you that MS-DOS 6.22 doesn't.

Since using MS-DOS 7.x requires installing Windows 9x, you need a 32-bit CPU, that is at least a 386SX. This is a good fit for users who will mainly be using Windows 9x, but who may want a pure DOS environment from time to time.

    Pros
  • Very good compatibility - almost anything that will run in MS-DOS 6.22 will run in MS-DOS 7.x.
  • FAT32 and long filename support
  • Well-understood by the retrocomputing community
  • Cons
  • Requires a 386, and for MS-DOS 7.1, you really should have a 486 with at least 16MB of RAM
  • Doesn't have the advanced features of some other DOS variants
  • No QBASIC or GW-BASIC
  • Doesn't have any more memory-optimizing features than MS-DOS 6.22

CDU-DOS

CDU-DOS is a "distribution" of MS-DOS 7.1 compiled by the China DOS Union. It's entirely unofficial, but if for some reason you want FAT32 and LFN support, without any of the other features found in FreeDOS, DR-DOS or the others, it's there.

    Pros
  • Very good compatibility - almost anything that will run in MS-DOS 6.22 will run in MS-DOS 7.x.
  • FAT32 and long filename support
  • Doesn't require Windows 9x to be installed
  • Cons
  • Requires a 386
  • Doesn't have the advanced features of some other DOS variants
  • Doesn't have any more memory-optimizing features than MS-DOS 6.22
  • Somewhat dubious provenance

MS-DOS 8

Ah, MS-DOS 8.0, the DOS that never was. If MS-DOS 7.1 is the shadow of a product, then MS-DOS 8.0 is a ghost of one. It's the DOS that underpins Windows ME, but unlike in Windows 9x, Windows ME doesn't even have a way to boot directly to DOS mode. It is possible, however, with enough jiggery-pokery, to construct a bootable stand-alone DOS environment from Windows ME DOS. This is MS-DOS 8.0.

Quite why you would want to, however, is a mystery to me. MS-DOS 8.0, other than being even more spartan than earlier versions, is mostly the same thing as MS-DOS 7.1. A few bugs have been fixed, that's about it. I would only recommend this if you already have Windows ME, and even then, it's a hard sell.

    Pros
  • Very good compatibility - almost anything that will run in MS-DOS 6.22 will run in MS-DOS 8
  • FAT32 and long filename support
  • Cons
  • Requires a 386
  • Doesn't have the advanced features of some other DOS variants
  • Doesn't have any more memory-optimizing features than MS-DOS 6.22
  • Spartan environment
  • No QBASIC or GW-BASIC
  • Requires even more jiggery-pokery than DR-DOS 7.05 or 8.x

PC DOS

At last we get to what I consider the "sweet spot" in late-era DOS. IBM's PC DOS was identical to Microsoft's MS-DOS except for branding until version 6.0. But while Microsoft went their own way, bundling disk compression software to create MS-DOS 6.2 (and then went through the copyright lawsuit that resulted in 6.21 and 6.22), IBM spun off PC DOS 7, which was similar, but bundled some different apps.

PC DOS 7 included IBM Antivirus, Central Point Backup, Light Pen and PCMCIA device support, Stacker disk compression and a DOS version of IBM's E.EXE text editor that shipped with early versions of OS/2. (Not to be confused with the graphical E.EXE that shipped with OS/2 2.0 and later.) In exchange it doesn't include QBASIC, but does include a version of the REXX programming language. At the time, IBM really liked REXX, including it with not only PC DOS, but also OS/2 and AIX. If you really want QBASIC, you can lift it from an MS-DOS installation and it will just work.

In terms of compatibility, I've never encountered, in the wild, any app or game that would run on MS-DOS, but which balks at PC DOS 7. If you did, this could probably be solved with a simple use of SETVER.EXE. PC DOS 7 also includes some memory management features that MS-DOS doesn't have - specifically, the DOSDATA=UMB directive, which moves stacks, file handles and FCBs into upper memory, if there are any UMBs available, thus freeing up more conventional memory than is possible with MS-DOS, as much as is possible with DR DOS. There's also an option to load most of COMMAND.COM into upper memory, an option otherwise only possible with the 4DOS command interpreter, which will save even more conventional memory. Games that need all the conventional memory they can get will really like PC DOS. Unfortunately, these features all require a 386. If you're running on XT- or AT-class hardware, the base kernel is somewhat heavyweight compared to MS-DOS 6.22 (which is already a little on the heavy side for machines with under 512kB of RAM).

There are two more releases after PC DOS 7 - PC DOS 2000, which includes Y2K patches, and PC DOS 7.1. PC DOS 2000 is 100% compatible with PC DOS 7, and is strictly superior. It is, in my opinion, the DOS to use if you don't have a specific reason not to. PC DOS 7.1 was never released as a full release. Like DR DOS 7.05, it was used as the basis for some bootable patchers and other such programs. It consists of updates to the kernel and a few utilities to support FAT32 and LBA partitions (but not long filenames). It can even boot from partitions larger than 2GB, and from partitions formatted with FAT32. Its SYS.COM is broken. There are some workarounds. As far as I can determine, other than the possibility that some very old DOS apps may barf on having more than 2GB of free space (just as some extremely old ones may barf when they encounter more than 32MB of free space), PC DOS 7.1 is compatible with everything that will run in PC DOS 7.0.

    Pros
  • Outstanding compatibility - almost anything that will run in MS-DOS 6.22 will run in PC DOS 7, I know of no exceptions personally
  • FAT32 support, to include booting, in PC DOS 7.1
  • Runs even on 8088-class hardware
  • Includes the fairly competent E.EXE text editor
  • Excellent memory management features
  • Can free up even more conventional memory than DR DOS without using tools like QEMM
  • Includes REXX for those times when batch files don't quite get the job done
  • Cons
  • Doesn't have as many bells and whistles as FreeDOS or DR DOS
  • No QBASIC or GW-BASIC
  • Freeing up a lot of conventional memory requires a 386 - the base system is quite heavy on XT-class and AT-class machines
  • No long filename support

Log in or register to write something here or to contact authors.