Microsoft has released the MS-DOS 4.00 source code, binaries, disk images, and documentation. The source code, which is nearly 45 years old, 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.