Source code for MS-DOS and Word released
By Barry Collins
Posted on 26 Mar 2014 at 10:04
Ever wondered what the insides of Microsoft's operating systems look like? Now's your chance, as Microsoft has released the source code for both MS-DOS and the original Word for Windows.
Both have been released to the Computer History Museum, in a bid to help scholars understand how those iconic pieces of software were built. "We think preserving historic source code such as these two programs is key to understanding how software has evolved from primitive roots to become a crucial part of our civilisation," said Len Shustek, chairman of the museum.
Microsoft has made the source code of two versions of MS-DOS available: MS-DOS v1.1 and MS-DOS 2.0. MS-DOS 1.1 has less than 300KB of source code, reflecting the limited hardware it was designed to run on in the early 1980s.
The source code for Word for Windows - first released in 1989 - can be downloaded here.
Both sets of source code are released for non-commercial use, although anyone hoping to build a business out of two pieces of software from the 1980s should probably have a rethink, anyway.
The Computer History Museum has the source code for several other landmark pieces of software, including the first version of Photoshop and Apple II DOS.
Is your business a social business? For helpful info and tips visit our hub.
As someone who was a programmer in those dim and distant days I'm still slightly taken aback by the profligacy of data storage nowadays. Working with very limited storage we used to go to extreme lengths to ensure that we didn't waste space: for example, knowing that months only went from 1 to 12 meant that you could pack a day and a month into a single integer. The idea of using something as wasteful as XML for storage would have been unthinkable.
I also remember looking at Aldus Pagemaker and being impressed by how small the installed footprint was for so much power.
By jgwilliams on 26 Mar 2014
I too am still nostalgic for the sort of extreme low-level/maximally optimised coding you refer to.
A good example are the routines for floating point multiplication that are part of BBC Basic - written (principally by Sophie Wilson, I think) in 6502 assembly language. An example here (source code at bottom - cut and paste to get rid of the infuriating background image!):
In the case of the 6502, there were a whole load of powerful indexed instructions, whose index could only be a zero-page address (i.e. first 256 bytes of memory). As these had to be shared by the OS, any language (e.g. BASIC) and still some for the user/other applications, they were like gold dust and if you examine the floating point arithmetic routines carefully, you can see the programmer going to extreme lengths to use as few as posible.
Of course, the flip side to all this optimisation, very necessary at the time, were things like the (admittedly over-hyped) millenium bug - which resulted precisely from the pressures to store data (over-)compactly.
But trying to understand and work with other peoples maximally optimised code was often a nightmare. And the same goes for binary file formats. So all in all, despite the lingering nostalgia, I welcome the (apparent) profligate verbosity of XML!
By Cantabrian on 26 Mar 2014
Yes, totally agree with you re. welcoming XML - probably should have said that.
Your story reminds me, too, that I used to sit there with the 8086 handbook working out whether it was more expensive to use multiply or a number of register shift and add commands - generally it was faster to use the latter.
By jgwilliams on 26 Mar 2014
I thought it was an academic licence...
By big_D on 26 Mar 2014
- 20 years of PC Pro: our best covers
- Why we've closed the PC Pro forums
- How to turn off Google Location Tracking
- 20 years of PC Pro: our greatest review mistakes
- 20 years of PC Pro: our first A-List
- Wikipedia's "right to be forgotten" protest hits the wrong note
- 3D printing hits the high street for plastic selfies
- 20 years of PC Pro: What amazed us in our first issue
- How Google Glass ruined my lunch hour
- Smartphone battery packs: can a USB power pack beat the festival battery blues?
- How to sell more ebooks on Amazon
- 10 ways to make your business more secure
- Top five VoIP mistakes
- How to add in-app purchasing to an iPhone, Android or Windows app
- Remote-control ransomware: TeamViewer and software hardball
- Why laptops with serial ports matter to the Internet of Things
- Make your mobile battery last longer
- Small steps into handling Big Data
- Nexus 5: does it really run stock Android?
- How to get broadband to a garden office