Microsoft releases MS-DOS 4 source code on GitHub — 36 year old code now open-source
MS-DOS 4.00 code, binaries, disk images, and documentation now available.
Microsoft has released the MS-DOS 4.00 source code, binaries, disk images, and documentation. The source code, which is nearly 36 years old (version 4.00 came out in 1988), has been released under the MIT license, allowing tinkerers free rein. MS-DOS 4.00 is quite an interesting version of this command-line-driven OS, as it was written in partnership with IBM and formed a branch of DOS called Multitasking DOS (or MT-DOS), that only had a limited release.
In its blog post about open-sourcing MS-DOS 4.00, Microsoft says this release was precipitated largely thanks to correspondence between former Microsoft Chief Technical Officer Ray Ozzie and a young computer researcher called Connor ‘Starfrost’ Hyde.
The code and materials now available on GitHub came from Ozzie. He was working at Lotus when he received some unreleased beta binaries of DOS 4, which he kept safe. VP Developer Community at Microsoft, Scott Hanselman, and internet archivist and enthusiast, Jeff Sponaugle, carefully digitally preserved the ‘Ozzie Drop.’ Then, the relevant permissions were sought and granted before this open-source release.
So, what is special about this MS-DOS 4.00 release? As well as being the newest open-source release of MS-DOS, it has some multitasking abilities. Hyde shares quite a deep dive into this aspect of the ancient OS, which would form the foundation of OS/2.
One of the key parts of the intended multitasking workflow of MS-DOS 4.00 is the session manager (SM.EXE). Hyde explains that this system component allows hot-key switching between up to six pre-defined applications (see sample image above). However, in his tests the way SM.EXE works is seriously buggy, so using it as it stands is not very practical. If you are interested in learning more about multitasking in MS-DOS 4.00, and all the utilities that come with the release, Hyde’s in-progress blog is well worth a read.
The MS-DOS 4.00 Intel 8086 assembly code, binaries, disk images, and documentation are now available on GitHub. If you want to quickly run the OS for yourself, you can find the two disk images in the v4.0-ozzie/bin directory. Enthusiasts with serviceable old hardware like an original IBM PC XT, or a newer Pentium system, can run / install the OS natively. Others can play in the open-source PCem and 86box emulators, for example. The same GitHub repository holds MS-DOS 1.25 and 2.0 source code.
Stay On the Cutting Edge: Get the Tom's Hardware Newsletter
Get Tom's Hardware's best news and in-depth reviews, straight to your inbox.
Mark Tyson is a news editor at Tom's Hardware. He enjoys covering the full breadth of PC tech; from business and semiconductor design to products approaching the edge of reason.
Microsoft Recall screenshots credit cards and Social Security numbers, even with the "sensitive information" filter enabled
Microsoft allows Windows 11 to be installed on older, unsupported hardware but specifically nixes official support — minimum requirements for full compatibility remain unchanged
-
ekio The OS that still drives the technical decision for Window 11…Reply
Can we give up the stupid backslashes in the directories???
Can we give up the drive letters and get a mount point instead??? -
georgebaker437 A drastic change to software patents is needed. Out of support, out of patent...full stop, no lawsuits allowed. Manipulative changes to an OS should be grounds for losing ALL included patents and copyrights if provable in court.Reply -
35below0
Can i have File Explorer remember it's position and size? Please? It'll be my birthday soon.ekio said:The OS that still drives the technical decision for Window 11…
Can we give up the stupid backslashes in the directories???
Can we give up the drive letters and get a mount point instead???
Keep the backslashes and drive letters, just keep something previous Windowses had. Win 11 start menu is lovely. Please? -
JarredWaltonGPU
This will never change as long as backward compatibility is desired. So many, MANY things would break if you tried to change drive letters and backslash! We could just as well argue that Linux should switch everything from forward slash and mount locations (which also will never happen for the same reasons).ekio said:The OS that still drives the technical decision for Window 11…
Can we give up the stupid backslashes in the directories???
Can we give up the drive letters and get a mount point instead??? -
USAFRet
Thereby breaking thousands (millions?) of office level applications, all over the world.ekio said:The OS that still drives the technical decision for Window 11…
Can we give up the stupid backslashes in the directories???
Can we give up the drive letters and get a mount point instead???
For better or worse, legacy support is the rule with Windows. -
GustavoVanni How is it nearly 45 years old?Reply
1988 was "only" 36 years ago...
MS-DOS 1.0 was released in August 1981, which is nearly 43 years ago.
Did I miss something?
Wait a minute...what year is it now? How long have I been asleep? -
P.Amini
Exactly!GustavoVanni said:How is it nearly 45 years old?
1988 was "only" 36 years ago...
MS-DOS 1.0 was released in August 1981, which is nearly 43 years ago.
Did I miss something?
Wait a minute...what year is it now? How long have I been asleep? -
JarredWaltonGPU
The referenced article notes that the original MS-DOS that was written almost entirely in ASM is nearly 45 years old, and our writer made an error that the editor didn't catch. I've corrected the text and headline now. Note that code released in 1981 was written before 1981, which is apparently where the 45 years comes from. At present, MS-DOS 4.00 is almost 36 years old, and probably parts of the code date back to earlier. But if memory serves, one of the variants of MS-DOS was a "from the ground up rewrite" and thus there's a break between version 1.00 and 4.00 somewhere.GustavoVanni said:How is it nearly 45 years old?
1988 was "only" 36 years ago...
MS-DOS 1.0 was released in August 1981, which is nearly 43 years ago.
Did I miss something?
Wait a minute...what year is it now? How long have I been asleep?
I do remember that 4.x had some pretty massive changes relative to 3.30. Some of the changes were quite helpful for my budding computer nerd self in the 80s. LOL. I still write batch files to do a lot of stuff. But MS-DOS 5.0 was the one I recall has having some useful new functionality back in the day. Was that when himem.sys and emm386.exe came into being, or was that an earlier release? I had a great time trying to get games like Wing Commander and Ultima VII running by freeing up as much of the root 640K as possible. There was a big jump between 2.x and 3.x as well, which might have been the more important change. I don't think I ever personally used DOS 1.x, though.