Microsoft dusts off ancient MS-DOS 4.0 code for release on GitHub

Nobody's favorite operating system is now available for inspection

In partnership with IBM, Microsoft has released the source code for MS-DOS 4.0, more than 35 years since the operating system made a muted appearance ahead of Windows 3.x.

MS-DOS 4.0 is a relic from when IBM and Microsoft were in the throes of their joint OS/2 adventure. It was notable for its support of FAT16 hard disk partitions greater than 32 MB and the addition of the MS-DOS Shell. It was also one of the final outings for the SELECT setup program.

The code turned up while a researcher named Connor Hyde (aka Starfrost) was documenting the relationship between DOS 4, MT-DOS (Multitasking DOS), and OS/2. Hyde corresponded with Microsoft Chief Technical Officer Ray Ozzie, who found the dusty code in his collection of floppy disks.

Ozzie's disks, which appear to date back to 1984, contain unreleased beta Multitasking DOS binaries and also include the source.

Hyde contacted the Microsoft Open Source Programs Office (OSPO) to see if perhaps the DOS 4 source might be released. Scott Hanselman, Microsoft VP for the Developer Community, with the help of archivist Jeff Sponaugle, had the disks imaged and the printed documents scanned.

The OSPO team was unable to find the full source code for MT-DOS, but they did find the source for MS-DOS, and uploaded the code to GitHub under the MIT license.

As well as the source for MS-DOS 4, Ozzie's files are also present, alongside the scanned PDFs of Multitasking DOS documentation. While this hack lives in a glass house where typos are concerned, finding Microsoft's vision for the future called "Multi-Taking MS-DOS" [sic] in the scanned release notes [PDF] brought a wry smile.

Though Hanselman's efforts are to be commended in making this piece of history available, it would be good if there were some sort of countdown for having the code of other obsolete software released. Hanselman has said that MS-DOS 3.3, 5, and 6 are next on the list, although some of the utilities in the latter would need to be stripped out.

According to Microsoft, the code can be run on an original IBM XT, a new Pentium, or within the open source PCem and 86box emulators. Although we don't have any old IBM kit to hand, we did manage to fire up the code using 86Box and got all nostalgic before wishing we'd actually installed MS-DOS 5 or 3.3 instead.


After much sweat and tears...

Just like the old days. ®

More about


Send us news

Other stories you might like