2016년 6월 28일 화요일

Microsoft MS-DOS early source code

Software Gems: The Computer History Museum Historical Source Code Series

IBM did something very unusual for their 1981 personal computer


Rather than using IBM proprietary components developed for their many other computers, the IBM PC used industry standard commercial parts. That included adopting the Intel 8088 microprocessor as the heart of the computer.

This “outsourcing” attitude extended to the software as well. Although IBM had prodigious internal software development resources, for the new PC they supported only operating systems that they did not themselves write, like CP/M-86 from Digital Research in Pacific Grove CA, and the Pascal-based P-System from the University of California in San Diego. But their favored OS was the newly-written PC DOS, commissioned by IBM from the five-year-old Seattle-based software company Microsoft.

When Microsoft signed the contract with IBM in November 1980, they had no such operating system. They too outsourced it, by first licensing then purchasing an operating system from Seattle Computer Products variously called QDOS (Quick and Dirty Operating System”) and 86-DOS.


PC DOS version 1.0, which supported only floppy disks, was shipped when IBM first released their PC in August 1981. Microsoft then substantially rewrote the software to support subdirectories and hard disks; version 2.0 was released with the IBM PC-XT in March of 1983.

Microsoft retained the rights to the operating system and licensed it to other computer manufacturers, calling it MS-DOS. With the permission of Microsoft Corporation, the Computer History Museum is pleased to make available the source and object code to Microsoft’s MS-DOS operating system versions 1.1 and 2.0, for non-commercial use.

The zip file contains four subdirectories:

  • v11source: 7 assembler code files, and an explanatory email from Tim Paterson
  • v11object: 27 files, some binary programs and some sample programs
  • v20source: 118 text files, mostly assembler code and some documentation
  • v20object: 38 files, some binary and some documentation

To access this material, you must agree to the terms of the license displayed here, which permits only non-commercial use and does not give you the right to license it to third parties by posting copies elsewhere on the web.

Download Microsoft DOS V1.1 and V2.0 Source Code

Other historical source code releases in this series include IBM’s APL programming language, Apple II DOS, Adobe’s Photoshop, Apple Macpaint/QuickDraw, and Microsoft’s Word for Windows.  If you would like us to do more of this, please consider supporting the museum’s efforts by making a donation. We are a 501(c)3 non-profit organization.


More about the origins of MS-DOS

Starting from scratch: NOT

The most popular operating system for small microcomputers in the late 1970s was CP/M, written by Gary Kildall in about 1974 and marketed by the company he started, Digital Research, Inc.  IBM visited Digital Research in August 1980  – some say at the suggestion of Bill Gates – to investigate using “CP/M-86″, their upcoming version for the 16-bit Intel 8088/8086 processor, on the IBM PC then under development. But they were not able to agree on licensing terms, so IBM left and pursued other options.

Tim Paterson in 1986

IBM had already contracted with Microsoft to provide a BASIC interpreter for the PC, so they asked them to investigate also providing the operating system. Microsoft proposed licensing “86-DOS”, which had been written by Tim Paterson at Seattle Computer Products (SCP) for their 8086-based computer kit because the 16-bit version of CP/M was late.

When SCP signed the licensing deal  [7] with Microsoft, they didn’t know for sure who the computer manufacturer was. Paterson said “We all had our suspicions that it was IBM that Microsoft was dealing with, but we didn’t know for sure.” [1]  He left SCP to work for Microsoft in 1981. “The first day on the job I walk through the door and ‘Hey! It’s IBM.’”

Microsoft originally licensed 86-DOS in December 1980 for a flat fee of $25,000. By the next summer they recognized the importance of owning it and being able to license it to other companies making IBM-PC clones, so they purchased all rights for an additional $50,000.

Over the next 11 months Paterson worked for Microsoft, interacting intensely with the IBM engineers developing the PC in Boca Raton, Florida. Version 1.0 of PC-DOS was complete in July 1981, one month before the announcement of the IBM PC.

SCP later sued Microsoft, claiming that they had concealed its relationship with IBM in order to purchase the operating system cheaply. SCP ultimately settled out of court for almost $1M.



There were many similarities between CP/M and MS-DOS. Inspired by the 8-bit CP/M, Paterson’s 16-bit operating system used similar commands and some of the same programming interfaces, but it was a different internal implementation and used different file storage formats.

At Digital Research, Gary Kildall’s opinion was that MS-DOS infringed on their copyrights for CP/M. He was furious, and confronted both Bill Gates at Microsoft and IBM, but his lawyer recommended against a lawsuit.  ”Rather than sue, Kildall agreed to license CP/M to Big Blue. But he was astounded that when the PC was released, IBM charged $240 per copy for CP/M, and only $40 for DOS.” [3] Needless to say, the Microsoft offering became the dominant operating system for the IBM PC.

Paterson denied any wrongdoing. “I told him [Kildall] I didn’t copy anything. I just took his printed documentation and did something that did the same thing.” [5]

Thirty years later, Bob Zeidman, a programmer and expert in software intellectual property cases, conducted a detailed forensic examination of the code of QDOS, CP/M and PC-DOS. His conclusion? “QDOS was absolutely not copied from CP/M, and MS-DOS showed no signs of copying either. Kildall’s accusations about Bill Gates were totally groundless.” [4]


From PC-DOS 1.0 to MS-DOS 2.0 and beyond

Version 1.0 of PC-DOS was released with the first IBM PC in August 1981. Version 1.1, which supported double-sided (320 KB) floppy disk drives, was released in May of 1982.

In the meantime, a team of Microsoft programmers that included company co-founder Paul Allen was working on a major revision to add hierarchical subdirectories, and to support the hard disks that would be available on the IBM PC-XT. DOS 2.0 was almost twice as big as DOS 1.0, using 28 Kbytes of memory instead of 12 Kbytes. It shipped in March 1983 with the PC-XT as PC-DOS 2.0, and was released to other computer manufacturers as MS-DOS 2.0.

MS-DOS continued to be enhanced until the late 1990s, by which time Windows and other advanced operating systems with graphical user interfaces had taken over.


What early versions MS-DOS did

An operating system that fits in 12 or 28 Kbytes of memory is very different from the large and complex operating systems we use  today.


MS-DOS was basically a file manager and a simple program loader. The user interface was text commands typed on a keyboard, followed by text responses displayed on the screen. There was no graphical output, and no mouse for input. Only one user application program could run at a time. File names were limited to 8 characters, plus a 3-character extension indicating the file type. There were commands like “dir” to list the files in a directory, and “del” to delete a file; you ran a program by typing the name of its executable file.

In addition to adding hierarchical directories and hard disk support, the rewritten version 2.0 included many other new features: installable device drivers to support the growing list of available peripheral devices such as printers, background processes (“terminate-and-stay-resident”) that allowed print spooling, redirection that allowed the output of one program to be the input to another, and support for 9-sector floppy disks that increased capacity from 320 KB to 360 KB.

Despite its primitive facilities, for fifteen years DOS was the bedrock upon which thousands of application programs running on millions of IBM PCs and PC clones depended.



I had the source code for version 2.0 on 5″ floppy disks in my attic for 30 years, but we needed Microsoft’s permission to release it. We are very grateful to Roy Levin, Managing Director of Microsoft Research, Silicon Valley, for working many months to make that happen.

But I didn’t have the source to the earlier version 1.1, and neither, apparently, did Microsoft. Just as I was finishing the first draft of this article, I received it directly from the author, Tim Paterson! We are grateful to Tim for sending it, and to Roy for quickly getting the additional permission needed to release it as well.



Source: http://www.computerhistory.org/atchm/microsoft-ms-dos-early-source-code/

2016년 6월 7일 화요일

퀄컴, 보드형 컴퓨터 시장 합류··· '무선 기능성이 특징'

IoT / 모바일 / 소비자IT / 신기술|미래


라즈베리 파이 이후 소형 보드형 컴퓨터들이 다수 등장했다. 퀄컴 또한 색다른 기능으로 무장한 저가 보드형 컴퓨터를 선보이며 이 시장에 합류했다.

드래곤보드 410C라는 이름의 이번 신제품은 신용카드보다 조금 더 큰 크기에 주요 구성품을 모두 담은 컴퓨터다.

특히 무선랜, 블루투스, 위치 추적 및 64비트 스냅드래곤 등 여타 저가형 보드 컴퓨터에서는 찾아볼 수 없는 기능을 다수 탑재하고 있다. 위치 추적 기능은 GPS와 매핑 기술을 조합한 아이재트(iZat)를 지원한다.

이로 인해 이번 보드는 로봇, 드론, 웨어러블 기기에 사용될 수 있을 전망이다. 과거 퀄컴이 개발한 고성능 개발자 보드는 과거 셀프-러닝 로봇 개발에 활용되기도 했었다.

신제품은 또 1080P를 지원하는 회사의 최신 아드리노 306 그래픽 프로세서를 내장했으며, 1,300만 화소의 카메라를 부착해 지원할 수 있다. 이 밖에 USB 포트, HDMI 슬롯, 마이크로SD 포트를 내장했으며 DDR3 메모리를 지원한다. 아울러 UART, SPI, 12S, 12C, GPIO 등의 핵심 확장 슬롯을 보유하고 있다.

회사는 여름께로 추정되는 이번 제품의 출시 시기와 관련해 구체적인 언급을 거부했다. 가격 또한 저렴한 수준일 것이라고만 밝혔다.

업계에서는 미화 35달러의 라즈베리 파이 2보다는 높을 것으로 추산하면서도 200달러 가격의 엔비디아 젯슨 TK1 등의 하이엔드 보드보다는 저렴할 것으로 관측하고 있다.


출처: http://www.ciokorea.com/news/24413