Microsoft liberates ancient MS-DOS source from the museum and sticks it in GitHub

Remember 1981? You should...

As Microsoft gears up to unleash the Windows 10 October 2018 Update, Rich Turner, guardian of the command line at Redmond, took a moment to remind us of simpler, MS-DOS-based times.

After original author Tim Paterson found the source for MS-DOS 1.25 (along with a six-inch stack of assembly print-outs), Microsoft handed the code for 1.25 and 2.0 to the Computer History Museum back in 2014.

Turner has now uploaded the code to GitHub to make it easier to find, although he'd really like it if you didn't suggest modifications to the hand-crafted assembly.

The v1.25 code is utterly fascinating and consists of only seven assembly source files. The binaries will fit into 12 kilobytes of memory and gave users a full-screen text-based command shell in which to manipulate disks or fire up applications.

While your humble hack is more familiar with TMS9900 assembly code (in what could have been a disastrous career choice), the source is quite readable (as far as assembly goes) and the revision history in the MSDOS.ASM file (replete with 86-DOS header) gives an insight into Paterson's work.

The history of MS-DOS starts on 29 December 1980, when Microsoft licensed the product for its then super-secret project with IBM. Bill Gates and pals were already providing their BASIC, but Big Blue needed an OS, so Microsoft rocked up at Seattle Computer Products (SCP) and negotiated a flat fee licensing arrangement for its 86-DOS for $25k. By the time summer 1981 rolled around, Microsoft had bought the thing outright for another $50k.

The IBM PC was launched in August 1981. Paterson left SCP (which went on to sue Microsoft) in April 1981 and joined the fledgling software firm the following month. His initial stint at Microsoft ends pretty much when the release history for 1.25 does.

The MS-DOS 2 source dates from the 3 August 1983 release and is an altogether different beast, clocking in at around 100 source files and is considerably larger, reflecting the bigger team and feature set. In the original release notes, then MS-DOS product marketing manager Chris Larson observes that "COMMAND.ASM is currently too large to assemble on a micro".

MS-DOS 2.0 was a milestone for Microsoft, supporting the capacious 180 and 360 kilobyte floppy disks of the IBM XT and its clones. Support for 32MB hard drives would also make an appearance before MS-DOS 3.0 turned up.

There's a little inconsistency in the files. Some have a religiously completed revision history and comments by the relevant engineer while others do not. It's good to see that even if the development language has changed over the last 35 years, some engineers have always hated writing history and comments.

We at The Register have yet to have a crack at trying to build the source files. However, reading through the comments and revision histories gives a glimpse into a simpler time and, of course, the odd misty eye when coming across entries by the likes of the late Aaron Reynolds. ®




Biting the hand that feeds IT © 1998–2018