Microsoft, in collaboration with IBM, has unveiled the long-awaited source code for MS-DOS 4.0, marking over 35 years since its inconspicuous debut prior to Windows 3.x.
MS-DOS 4.0 hails from the era when IBM and Microsoft embarked on their joint OS/2 venture. Noteworthy features of this release include support for FAT16 hard disk partitions exceeding 32 MB and the introduction of the MS-DOS Shell. It also marked one of the final appearances of the SELECT setup program.
The discovery of the code occurred during the documentation of the relationship between DOS 4, MT-DOS (Multitasking DOS), and OS/2 by researcher Connor Hyde, known as Starfrost. Correspondence with Microsoft’s Chief Technical Officer, Ray Ozzie, led to the unearthing of the dusty code from Ozzie’s collection of vintage floppy disks dating back to 1984. These disks contained unreleased beta Multitasking DOS binaries as well as the source code for ibmbio.com.
Hyde approached the Microsoft Open Source Programs Office (OSPO) with hopes of releasing the DOS 4 source code. With the assistance of archivist Jeff Sponaugle, Scott Hanselman, Microsoft’s VP for the Developer Community, facilitated the imaging of the disks and scanning of printed documents. While the full source code for MT-DOS remained elusive, the MS-DOS source code was successfully located and uploaded to GitHub under the MIT license.
Alongside the MS-DOS 4 source code, Ozzie’s files were found, accompanied by scanned PDFs of Multitasking DOS documentation. Notably, a scanned release note referenced Microsoft’s envisioned future with “Multi-Taking MS-DOS” [sic], eliciting a wry smile from enthusiasts.
Hanselman’s efforts are laudable in making this historical artifact available, prompting anticipation for the potential release of other obsolete software codes. Hanselman has indicated that MS-DOS 3.3, 5, and 6 are slated for release next, although certain utilities within the latter may require removal.
According to Microsoft, the code can be executed on original IBM XT hardware, modern Pentium systems, or through open-source emulators like PCem and 86box. Despite lacking old IBM hardware, successful execution of the code via 86Box invoked nostalgic sentiments, albeit with a yearning for MS-DOS 5 or 3.3 installations.