Discover more from The Lunduke Journal of Technology
Quick and Dirty: The story of 86-DOS & MS-DOS
How a Seattle computer company made the DOS that would become MS-DOS.
MS-DOS is one of the most successful operating systems of all time — absolutely dominating the computer industry for years.
Most of us have heard the tales of how MS-DOS came into existence. How Microsoft purchased it from another company, and how Microsoft licensed it to IBM.
But what are the details? What is the background? What hardware inspired the development of that MS-DOS precursor… and what did those machines look like?
Let’s take a few moments to dive a little deeper into the history of how MS-DOS truly came into existence. To tell this story, we’ll need to go back to the mid 1970s…
1974 - The Altair 8800 & the S-100 BUS
Way back in 1974, the legendary Altair 8800 computer was being designed. And, as part of the system, the S-100 computer bus was designed.
Fun Factoids: The Altair 8800 was based on an Intel 8080 CPU clocking in at a whopping 2 MHz and sold, as a kit, starting at $439. That base model came packed with 1024 bytes of RAM. Yeah. You read that right. 1k. In order to run the new “Altair BASIC” — which was the first product of Microsoft — you first needed to upgrade to 4k of RAM… which would run another $264.
That S-100 bus — which allowed a number of peripheral cards (memory, drive controllers, etc.) to be inserted into, and used by, the computer — became the first expansion bus standardized across the computer industry.
In fact, usage of the S-100 became incredibly common among a huge number of homebrew computers built far and wide — being the defacto bus type until the IBM PC hit the scene in 1981.
Many of these computer types (using a variety of processors, including the 8080 and Z80) received ports of the CP/M operating system, developed by Gary Kildall’s Digital Research. CP/M was everywhere back then.
1979 - Seattle Computer Product’s S-100 8086 kit
Seattle Computer Products (SCP) (which, as the name would suggest, was based near Seattle, WA) produced a number of S-100 related products — including memory cards such as the 64k RAM board shown below:
Seattle Computer Products then expanded to produce boards and kits to build S-100 bus based computers using the Intel 8086 CPU (which had just been released by Intel).
There was just one problem… there was no available operating system to ship with these S-100 based 8086 systems.
Initially these SCP S-100 8086 computers shipped with no full-fledged operating system at all.
But, instead, they worked with another local company — Microsoft — to bundle a version of their BASIC language. The result was known as “BASIC-86” and it was, essentially, a BASIC interpreter and editor, that booted from disk on the new SCP 8086 systems.
This wasn’t the only product that the two companies worked together on. Microsoft had also hired SCP to design their “Z-80 Softcard” for the Apple II platform.
This relationship — between Seattle Computer Products and Microsoft — would become critical to the entire computer industry.
Sales of the SCP S-100 8086 boards struggled due to the lack of operating system. Turns out most people want an OS to go with their computer. Who knew?
To remedy this problem, SCP encouraged Gary Kildall to port his wildly popular CP/M operating system to 8086 board (which Kildall had already been working towards anyway). Unfortunately the CP/M port was not shipping fast enough to meet the needs of SCP.
They needed an Operating System. And fast.
1980 - Quick and Dirty DOS
Seattle Computer Products did the only logical thing… they began building their own Operating System.
In April of 1980, Tim Paterson began working on exactly that. Armed with the manuals for CP/M, he began building his own “CP/M-like” operating system — from scratch — in assembly for their 8086 platform.
This effort was called “Quick and Dirty Disk Operating System”… or “QDOS” for short.
QDOS was incredibly similar to CP/M — as the design was done based on the CP/M manuals — and a key goal was to allow easy porting of CP/M software to QDOS. That said, it did differ in some noteworthy ways:
CP/M cached file system information, which could cause data loss if an update was not manually performed before a user removed a disk. QDOS changed this by doing disk updates on every write to the drive. This resulted in QDOS disk operations being slower than CP/M… but also protected against data loss.
Instead of CP/M’s file system, Tim used the FAT system that Microsoft created for the standalone BASIC-86 that SCP had already been shipping with their S-100 8086 machies.
Fun Factoid: The FAT (File Allocation Table) file system was developed by Marc McDonald — the first full time employee of Microsoft — and first used as the file system for “Microsoft Standalone Disk BASIC-80” (a bootable floppy for 8080 CPU’s that contained a BASIC interpreter). That was later ported to 8086 and was bundled with Seattle Computer Products 8086 systems.
QDOS required the SCP S-100 8086 systems, naturally, with a specific floppy drive controller: the Cromemco 4FDC, as pictured below.
By July of 1980, QDOS was functional — with roughly half of the outlined feature set. Then, by August, the famous EDLIN command was added.
Factoid time! The EDLIN program, a simple line editor, is the most enduring portion of this original version of QDOS. Lasting until this day, in various forms and ports, and being the primary text editor for MS-DOS up until the early 1990s. It was inspired by the ED commands of both CP/M and UNIX.
During the summer of 1980, the name QDOS was dropped (as “Quick and Dirty” isn’t the best product name) in favor of the, rather on-the-nose, “86-DOS”. A DOS. On the 8086 platform.
Bellow are a few screenshots of 86-DOS from the 1.0 version, which didn’t ship until 1981 (but still gives a good view of what it looked like back then):
And, for the sake of posterity, here is the first part of the 86-DOS user manual for version 0.3. This is the very first published description — ever — of the OS that would later become MS-DOS.
At this point, Seattle Computer Products could begin bundling their S-100 8086 systems with the, now functional, 86-DOS.
Below you can see an advertisement of exactly that. A complete computer with an 8086 @ 8 MHz, 128k of RAM, the disk controller mentioned above… and shipping with both 86-DOS and Microsoft’s 86-BASIC. For a mere $3,349.
1981 - The Microsoft Agreement
Remember how Microsoft and Seattle Computer Products had worked together a few times already? Well, they were about to make an agreement that would change all of computing for decades to come.
Starting in November/December of 1980, Microsoft licensed a version of 86-DOS (version 0.3 to be exact) from SCP. This was a non-exclusive deal, meaning SCP could still sell 86-DOS and license to other OEMs.
Amazingly enough, a copy of one of that license — dated January 6th, 1981 — is now available so we can know the exact terms of the deal:
That’s when things really took off. At an almost lightning speed.
Just a few short months later — in May — Tim Paterson left SCP and started working directly for Microsoft. His job: to port 86-DOS to the new IBM PC, which had an 8088 processor.
Then, in July of 1981 (just two months later), Microsoft purchased 86-DOS — in entirety — for an additional $50,000 (over the $25,000 MS had previously paid for a non-exclusive license). It was now Microsoft’s to do with as they please… and the original developer now worked for them.
That very next month, in August, Microsoft officially licensed MS-DOS to IBM… who then bundled it with their new IBM Personal Computer (the famous model 5150)… renamed “PC-DOS”.
Something wild to think about: Consider the timeline here.
The IBM 5150 PC was announced on August 12th, 1981.
The deal between Microsoft and IBM — for MS-DOS, renamed to PC-DOS — was finalized… that same month.
Microsoft didn’t actually own MS-DOS… until a few weeks before that.
… and Microsoft didn’t even have the developer (Tim Paterson) working for them until two months before that.
That’s right. One of the most important business deals in computer history… came together in a matter of just a few short months… with only days to spare.
There is oh-so-much more to this story. Too much to tell in one sitting.
MS-DOS would go on to absolutely dominate the computer industry and set the course of Microsoft for decades to come.
That version of CP/M that Seattle Computer Products wanted (before they gave up waiting and built QDOS)? It eventually shipped in November of 1981. CP/M was this close to being shipped with the first IBM PCs. You can mark that moment as the point when CP/M lost its position of market dominance.
The relationship with IBM and Microsoft would be a wild and rocky one — involving PC-DOS, OS/2 and many other products over the years.
Tim Paterson would end up working at Microsoft, multiple times, on several versions of DOS as well as Visual BASIC.
Fun personal anecdote: As a young man, I started working at Microsoft in the 1990s. One day, it occurred to me: “I wonder if Tim Paterson still works here?”
So I looked him up and, turns out, he did. In a building just around the corner from the one I was working in. So I did what any presumptuous, nerdy 19 year old would do… I sent him an email. One where I sounded like a giddy fanboy. Because that’s what I was.
Tim was gracious and kind. Taking time out of his schedule to chat with a fan of his work. While we only spoke on a few occasions, those moments meant a great deal to this young nerd.
The Lunduke Journal Weekly Schedule:
Monday - Computer History
Tuesday - Computer & Linux Satire
Wednesday - Podcast (Subscriber Exclusive)
Thursday - Computer History (Subscriber Exclusive)
Friday - Wildcard day! Anything goes!
Saturday - Linux, Alternative OS, & Retro Computer News Article
Sunday - Linux, Alternative OS, & Retro Computer News Podcast