DOS was a bit of an oddity, in that you could buy it from either Microsoft or IBM. The two were never quite identical, but were always mostly interchangeable. The differences grew larger at version 6, but they were still more alike than different. Let’s take a look at PC DOS vs MS-DOS.
IBM and Microsoft collaborated on DOS, and both had the right to market it. IBM sold its version as PC DOS, while Microsoft sold its version as MS-DOS. And for a time, IBM was happy just to sell PC DOS to owners of true-blue IBM PCs. But in 1993 it changed.
PC DOS vs MS-DOS in versions before 6.0
The differences between PC DOS and MS-DOS in versions 1-5 were mostly cosmetic. PC DOS’ bootup message called it the IBM Personal Computer DOS and carried a dual IBM/Microsoft copyright message. MS-DOS referred to itself as Microsoft MS-DOS and carried a Microsoft copyright message. I’ve booted old versions of PC DOS on clones and MS-DOS on true blue IBM PCs hundreds of times. They’re nearly interchangeable.
The most noticeable difference between the two was the executable file that loaded the Basic programming language. In PC DOS, the filename was BASIC.EXE (for disk Basic) or BASICA.EXE (for IBM Advanced Basic). Neither program would run on IBM-compatible PCs because they referenced a ROM chip that was only present on IBM PCs. In MS-DOS, the filename was GWBASIC.EXE, and it could run on any PC, IBM or not, because it was self-contained. Microsoft’s and IBM’s versions would run the same Basic programs, you just typed a different executable to run them.
In DOS 5, this difference went away, as Microsoft replaced the earlier versions of Basic with QBASIC, which was based on its newer, more advanced Quick Basic programming language, and didn’t need the IBM ROM. IBM also included QBASIC, just changing the Microsoft reference to include IBM.
The system files
The other difference in the two versions of DOS was the name of the system files. PC DOS named its system files IBMBIO.COM, which contained system initialization code and device drivers, and IBMDOS.COM, which contained the kernel. MS-DOS stored the initialization code and device drivers in IO.SYS, and the kernel in MSDOS.SYS.
Unless you typed the command DIR /A:H, you’d never notice this difference, since DOS normally hid these files from you. In spite of the names, non-IBM computers would load those files just fine.
OEM versions of MS-DOS
The subtle differences between MS-DOS and PC DOS applied to the retail version of MS-DOS. OEMs often shipped their PCs with customized versions of MS-DOS. In some cases, the difference was just branding–adding the computer maker’s name alongside Microsoft’s.
One interesting case was the oddball MS-DOS 3.31, which had no PC DOS counterpart. It was DOS 3.3 with the larg(er) disk support backported from DOS 4.0. It originated at Compaq but some other OEMs also made use of it.
In other cases, the differences were more significant. Sometimes the computer wouldn’t even boot with a retail version of MS-DOS, let alone PC DOS. These systems weren’t 100% IBM compatible, which was why they required changes. Sometimes it was just the addition of some utilities, but other times, the boot files themselves were different.
These almost-but-not-quite-IBM-compatible PCs became less and less common after 1984. Magazines started testing these machines’ compatibility and reporting on it in their reviews. Even if they liked a machine overall, if it failed to run half the popular titles they tested on it, they would recommend against buying it.
So if you have an early PC compatible that hangs when you try to run PC DOS or even generic MS-DOS on it, it might not be a hardware problem. It’s just as likely the machine requires a customized build of DOS, rather than a common MS-DOS or PC DOS boot disk that works fine on 100% compatibles.
Unfortunately, this can limit the upgrade prospects for these PCs, since OEMs generally stopped providing customized builds after DOS 2.x or 3.x. This can limit what size drive you can use if you install an XT-IDE card, for example.
PC DOS vs MS-DOS after version 6.0
Microsoft and IBM’s relationship soured in the early 1990s, largely due to disagreements over the direction OS/2 should take and how Windows related to it. IBM thought Microsoft betrayed it, while Microsoft thought the reverse. The divorce settlement was messy. IBM kept OS/2, while Microsoft’s next-generation OS/2 it had been developing in parallel became Windows NT 3.1. IBM had the right to include Windows 3.0 or 3.1 code in OS/2 for compatibility purposes, but didn’t get any Windows NT or Windows 95 code.
IBM sold PC DOS 6.1 and onward at retail, competing directly with Microsoft. The PC DOS vs MS-DOS war was on. The store I worked in sold both, but I never sold a copy of PC DOS to anyone who owned a non-IBM computer. The perception that IBM software only worked on IBM computers was too hard to shake. Microsoft’s version was usually priced 15-20 percent higher and people willingly paid it.
DOS 6.0 and 6.1
Some differences between PC DOS and MS-DOS started to appear in the sixth generation, partly because MS-DOS 6 was buggy and quickly gained a reputation as such.
Microsoft released MS-DOS 6.0 in March 1993. There was no corresponding PC DOS 6.0. IBM followed with its very similar PC DOS 6.1 in June 1993. Both versions had support for boot menus and three new commands: CHOICE, DELTREE, and MOVE. But PC DOS didn’t have the controversial Double Space disk-doubler utility. This utility was prone to data loss, and another company, Stac Electronics, sued Microsoft successfully for patent infringement. Microsoft also licensed a disk defragmenter from Symantec, which became DEFRAG.EXE.
Also, while DOS 5 included EMM386 for memory management, Microsoft included a utility called Memmaker that attempted to maximize your usable conventional memory.
IBM didn’t include Double Space, Defrag, or Memmaker in PC DOS 6.1. The other major difference was that IBM omitted QBASIC and EDIT.COM, which depended on the QBASIC executable. By 1993, omitting Basic wasn’t a showstopper for anyone, but Microsoft’s text editor was beloved. IBM replaced it with its own E text editor, which I don’t remember anyone liking. It wasn’t bad, but it was different enough that if you liked Microsoft’s editor, you didn’t like this imposter.
IBM claimed PC DOS was slightly faster than Microsoft’s, because it used a different, more aggressive compiler. I used PC DOS, but I don’t know that anyone ever noticed my computer was any faster because of it.
DOS 6.2 and 6.3
The one-upmanship continued throughout 1993. Microsoft released a bug-fixed version of DOS 6 that it called 6.2, one-upping IBM. DOS 6.2’s most noteworthy feature was Scandisk, a simple disk recovery tool. Versions 6.21 and 6.22 followed in 1994. DOS 6.21 removed the patent-infringing Double Space, but didn’t provide a replacement. DOS 6.22 replaced it with a new utility called Drive Space, which wasn’t so tainted with a reputation for data loss, and didn’t infringe patents.
IBM followed with PC DOS 6.3 in April 1994, which included a data compression utility it licensed from Addstor, backup and scheduler utilities it licensed from Central Point Software, and a memory optimizer called RAM Boost. But it didn’t include equivalents to Defrag and Scandisk. But if you upgraded from MS-DOS 6 or newer, Defrag, Scandisk, and Memmaker all ran under PC DOS. You didn’t even get the infamous incorrect DOS version error.
When Microsoft released Windows 95 in August 1995, that was the end of the line for DOS as far as Microsoft was concerned. But IBM kept going.
PC DOS 7
IBM released PC DOS 7 in April 1995. It featured improved memory handling with its built-in utilities, and replaced Superstor’s disk doubler with Stac Electronics’ Stacker, and IBM added its own language, REXX, which was more powerful than Basic. It also could natively read and write to XDF disks, which were high-density disks formatted to store 1.86 megabytes instead of 1.44. Microsoft used this disk format to distribute software but never included the ability to format and use your own disks in that format.
I don’t remember this version of DOS selling well at all. Everyone knew Windows 95 would be coming out that summer, and everyone I knew was content to wait for that. We had a copy of PC DOS 7 at my first IT job later that year, but I don’t remember us using it for much. It was more of a novelty.
PC DOS 2000
PC DOS 2000, released in 1998, was just DOS 7 with Y2K bugfixes. IBM advertised it in computer magazines, but I don’t recall ever seeing it in stores. It was easy to overlook at the time, but I think it’s a very underrated choice for vintage DOS PCs today. It’s still highly compatible with MS-DOS 6.22, but uses less memory.
PC DOS 7.1
IBM never officially released PC DOS 7.1 for sale, but several products from IBM and Symantec used it as an underlying operating system. It added support for using FAT32 drives, a new format Microsoft introduced in Windows 95OSR2, and it included utilities called FDISK32 and FORMAT32 to create FAT32 drives.