Microsoft releases earliest known DOS source code

For the 45th birthday of 86-DOS, Microsoft is releasing the earliest known source code listings – transcribed from yellowed continuous printouts.

listen Print view
A historical IBM PC with a 3.5-inch floppy drive, CRT monitor, and keyboard, all from IBM

An artifact of IBM corporate history, the IBM PC – Microsoft has now released further source texts of the operating system.

(Image: Daniel AJ Sokolov)

4 min. read
Contents

Microsoft has released the oldest known source code listings of DOS as open source. The release includes the 86-DOS 1.00 kernel, PC-DOS 1.00 pre-release snapshots, and utilities such as CHKDSK and the SCP assembler – all transcribed from a stack of assembler printouts on green-and-white continuous paper, about ten centimeters high.

The listings come personally from Tim Paterson, the developer of 86-DOS at Seattle Computer Products. Paterson single-handedly wrote the operating system in 1980/81 – Microsoft licensed it in 1981 and turned it into PC-DOS 1.0 for the IBM PC. As Microsoft announces in its open-source blog, the release appears exactly on the 45th anniversary of 86-DOS 1.00. The transcribed sources are available under an MIT license in the GitHub repository DOS-History.

The ten bundles in total reveal the development process in an era before version control systems. Timestamps on the printouts document the respective snapshots: the 86-DOS 1.00 kernel was created on June 15, 1981, a PC-DOS 1.00 beta is dated July 7, 1981. Diffs like the file 86DOS.DIF show the concrete changes between kernel versions – including bug fixes and feature additions. With 86-DOS, the immediate predecessor of PC-DOS is accessible for the first time at such an early development stage – a rare glimpse into the creation of the IBM PC standard.

Videos by heise

Unlike modern open-source projects like the Linux kernel, which is collaboratively maintained by thousands of developers via Git, DOS was the work of a single person – Paterson's "commits" existed only on paper. Even then, 86-DOS was considered heavily inspired by CP/M, which led to controversies in the early PC industry.

According to Microsoft, transcribing the 45-year-old printouts was a challenge. Rich Cini scanned the 15-inch wide fanfold printouts. Yufeng Gao and Cini then transcribed the listings – supported by OCR processes that reached their limits with the faded print quality. Bundles 9 and 10 – including a 459-page MS-BASIC-86 Compiler Runtime Library – have not yet been transcribed; the project accepts pull requests. Scans of all original documents are also available at the Internet Archive.

The originals are to be exhibited in the future at the Interim Computer Museum in Washington State, USA. For the retro-computing scene, the MIT license, which grants free and commercial use, opens up numerous possibilities: the code can be assembled with the historical SCP assembler (version 2.24) and the HEX2BIN tool – or used as a basis for mods, ports, and experiments.

The release is part of Microsoft's software archiving efforts. In 2018, the company released MS-DOS 1.25 and 2.11, followed by MS-DOS 4.0 in 2024. Older Microsoft projects have also been released as open source recently: Bill Gates provided the source code for Altair BASIC, followed later by Microsoft's 6502 BASIC from 1976. All these systems formed the basis for Windows 1.0, which was based on MS-DOS in 1985.

It is not known whether Microsoft plans further unreleased DOS versions. The focus is on preserving historical artifacts before they are irretrievably lost – a concern that seems quite urgent given yellowed printouts on 45-year-old paper.

(mki)

Don't miss any news – follow us on Facebook, LinkedIn or Mastodon.

This article was originally published in German. It was translated with technical assistance and editorially reviewed before publication.