2 min read

Continuing the story of early DOS development

Over the last few years, we’ve been working to open some of the earliest chapters of Microsoft’s operating system history. In 2018 we (re)-open-sourced MS‑DOS 1.25 and 2.11, and more recently in 2024 we were able to make the source for MS‑DOS 4.0 available to the public as well. Today, on 86-DOS 1.00’s 45th anniversary, we’re continuing that tradition by preserving the earliest DOS source code discovered to date. These releases are about making historically important systems software available for study, preservation, and plain ol’ curiosity.

But that work doesn’t end with a GitHub repo. Software history lives in code, yes, but also in scanned listings, internal documents, assembler printouts, and the sometimes wonderfully analog artifacts of how operating systems came together in the late 1970s and early 1980s. If you read the original announcement around re‑open sourcing MS‑DOS 1.25 and 2.0 on the Windows Command Line blog you’ll know how much context matters when trying to understand where today’s platforms came from.

We’re stoked today to showcase some newly available source code materials that provide an even earlier look into the development of PC-DOS 1.00, the first release of DOS for the IBM PC. A dedicated team of historians and preservationists led by Yufeng Gao and Rich Cini has worked to locate, scan, and transcribe the stack of DOS-era source listings from Tim Paterson, the author of DOS.

The listings include sources to the 86-DOS 1.00 kernel, several development snapshots of the PC-DOS 1.00 kernel, and some well-known utilities such as CHKDSK. Not only were these assembler listings, but there were also listings of the assembler itself! This work offers rare insight into how MS-DOS/PC-DOS came to be, and how operating system development was done at the time, not as it was later reconstructed.

What DOS development on the IBM PC looked like in the early 80s. Credits: Rich Cini.

It’s also worth noting that these materials aren’t just operating system releases in the traditional sense. In several cases, the listings represent point‑in‑time working states and hand-written notes, preserved by Tim Paterson himself. Think of them as a printed commit history of a Git repository. They create a timeline of changes, showing which features were implemented when, what errors were made, and how they were fixed. Soon you’ll be able to visit these living artifacts at the Interim Computer Museum as they’ve been generously donated by Tim Paterson.

We want to thank everyone involved in curating and bringing these materials forward in a responsible and accessible way. This kind of software archaeology takes real effort across legal review, archival work, and technical validation, and it’s an important part of preserving the shared history of our industry.

If you’re interested in digging into these early listings yourself, we encourage you to check out the full posts from the team on Yufeng’s website and Rich’s website, as well as Joshua’s research on printer listing OCR. For an insiders’ look at the process, explore the scanned listings and OCR’ed code at DOS-History/Paterson-Listings, which we’ve worked with the maintainers to license under MIT via pull request for researchers, hobbyists, and enthusiasts like us!

Developer working in an office

Explore listings and code

Dig into the DOS-History/Paterson-Listings today.