Copyright 1984 by ABComputing May 15, 1984 ÉÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍ» º DOS - Past, Present, and Future º º º º by º º º º Don Buresh º ÈÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍͼ ÚÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ¿ ³ Introduction ³ ÀÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÙ Greetings. I have been looking forward to writing this article because it is about the birth and growth of PC-DOS. This article is fun for me to write because I have been involved with PCs from their introduction in October 1981. I was teaching COBOL programming at a private school when I read an announcement about the IBM-PC in the Boston Globe. I was expecting a microcomputer that had the power of a mainframe and was the size of a briefcase. After learning about the Intel 8088 processor, I realized that IBM had a winner! This CPU can address one megabyte of random access memory and can be used in conjunction with the Intel 8087, a numeric co-processor. These two facts convinced me to purchase an IBM-PC. I bought my PC in February of 1982 and was terrified by the machine. My computing experience involved mainframes exclusively where a programmer was not even allowed to touch the machine, let alone have the ability to open up the box and examine the innards. For the first two months it sat on my desk while I tried to understand BASIC and the PC-DOS manual. I quickly grasped BASIC and then purchased the IBM-PC assembler. In the next six months I immersed myself in i8088 assembly language and the listing of the PC ROM contained in the Technical Reference Manual. After much work, I realized that the IBM-PC assembler was not used to generate the ROM, since it would not permit me to put a label in a program by itself. I remember learning how to perform I/O operations on a diskette, using INT 13H, over Thanksgiving. It seemed like an impossible task that would never be completed. During this time I was writing and marketing a disk utility, that met with marginal success. For financial reasons, I took a contract with a Boston area computer company that was developing a PC-compatible microcomputer; I worked on their ROM. From this unique perspective, I saw PC-DOS grow into the mature product that it is today. After the contract was over, I continued to develop IBM-PC software for companies in the Boston area. I am currently contracting with a Boston area company that is writing an integrated software package for the IBM-PC and other microcomputers. ÚÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ¿ ³ PC-DOS 1.0 ³ ÀÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÙ When IBM-PC DOS 1.0 was introduced, it contained several commands and limited batch processing facilities. About half of the commands were internally part of PC-DOS, while the disk utilities were external assembly language programs. These commands are listed below: ÚÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ¿ ³ CHKDSK COMP COPY ³ ³ DATE DIR DISKCOMP ³ ³ DISKCOPY ERASE FORMAT ³ ³ MODE PAUSE REM ³ ³ RENAME SYS TIME ³ ³ TYPE ³ ÀÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÙ These commands were written for a single-sided diskette with forty (40) tracks and eight (8) sectors per track. The track numbers start with track zero (0) and end with track thirty-nine (39). The sector numbers within a track begin with sector one (1) and end with sector eight (8). PC-DOS also came with interpretive BASIC, a text editor called EDLIN, a LINKer, a DEBUGger, and a series of BASIC programs. All of these programs were sold on one single-sided floppy diskette. In May 1982, PC Magazine published its first issue. Users groups were quickly forming across the nation. People immediately noticed that the IBM-PC and the PC-DOS could handle only single-sided diskettes. This was seen as a clear disadvantage at the time. However, people were hopeful because the PC was the first inexpensive microcomputer that used the Intel 8088 CPU chip. Furthermore, the information coming out of Boca Raton indicated that IBM was working furiously on a revised PC-DOS that would be capable of supporting double-sided drives and diskettes. At this time, the literature indicated that PC-DOS was a Microsoft product. However, few people knew that the operating system was contracted out to Seattle Computer. This company wrote the disk operating system and the command parser. When the two programs were submitted to IBM, they subjected them to an extensive quality-assurance program, found well over 300 bugs, and decided to rewrite the programs. This is why PC-DOS is copyrighted by both IBM and Microsoft. Both companies played a part in the development of the product. ÚÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ¿ ³ PC-DOS 1.1 ³ ÀÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÙ In the late summer of 1982, IBM introduced their updated version of PC-DOS. While IBM called the operating system PC DOS 1.1, Microsoft decided that it could sell the product to other computer companies that were emerging at the time. They called their product MS-DOS 1.25 because there were at least twenty-five (25) documented changes to DOS. The major difference between DOS 1.0 and 1.1 is that the latter can process double-sided diskettes. All of the external, and most of the internal commands, were rewritten to accommodate double-sided use. At the same time, IBM released the Technical Reference Manual that contained a listing of the firmware and the hardware specifications of the machine. Producers of both hardware and software alike pored over this document eager to learn about the PC; I personally recall studying the manual day and night. I also read the Intel Data Catalog which contained all the information in the Technical Reference Manual, but in greater detail. When PC-DOS 1.1 was released, IBM included EXE2BIN.EXE on the DOS diskette. This program converts an .EXE file into a .COM file. Although this was seemingly an insignificant addition to the release, it has greatly increased the productivity of software developers. I recall my first attempts to use EXE2BIN. As a beginner, I had a difficult time coordinating MASM, LINK and EXE2BIN to produce a .COM file. The secrets to creating a .COM file are: ÚÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ¿ ³ 1. Put all of the code and data in one ³ ³ segment ³ ³ ³ ³ 2. Do not fix up any segment register values ³ ³ in the assembly language code; and ³ ³ ³ ³ 3. Use ORG 100H in the beginning of the ³ ³ assembly language code to make room for ³ ³ the Program Segment Prefix required by ³ ³ PC-DOS. ³ ÀÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÙ Softalk and Personal Computer Age were the next major magazines to arrive on the scene. The editors of both publications wanted a technically competent magazine that would serve as an alternative to PC Magazine. In the course of a year, both magazines have achieved their objective. While IBM and Microsoft were busy creating PC-DOS 2.0, several small computer companies attempted to cash in on the popularity of the PC. The first company to bring a PC compatible to market was Compaq Computer. The founders of the company were former employees of Texas Instruments who decided to leave and form their own company. They were almost ready to bring the Compaq to the marketplace when Texas Instruments sued Compaq claiming patent infringements. About a year later, the case was settled out of court. During this period I was working for another company developing a PC compatible microcomputer. I ensured that the firmware was functionally equivalent to that of the IBM-PC. We struggled with a series of issues that can make-or-break compatibility between machines. A detailed discussion of these issues is provided in another article in this section. ÚÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ¿ ³ PC-DOS 2.0 ³ ÀÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÙ In the summer and fall of 1982, IBM and Microsoft were working on PC-DOS 2.0. PC-DOS 1.1 was entirely rewritten with the hope of evolving into a significant competitor to Bell Laboratories' operating system UNIX. (Microsoft had been licensed to sell their version of UNIX called XENIX.) The methodology was simple: increase the number of assembly language functions available through PC-DOS, via INT 21H, so the C Language can be implemented easily on a microcomputer. In achieving their objective, IBM and Microsoft tripled the size of IBMDOS.COM, IBMBIO.COM, and COMMAND.COM. The new commands available to the operating system were: ÚÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ¿ ³ BACKUP BREAK BUFFERS ³ ³ CHDIR CLS DEVICE ³ ³ FILES GRAPHICS MKDIR ³ ³ PATH PRINT RECOVER ³ ³ RESTORE RMDIR SHELL ³ ³ TREE VER ³ ÀÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÙ The major feature of PC DOS 2.0 is the provision for use of a hard disk and a hierarchical file structure. This file structure allows one to create, change, and remove sub-directories. This feature greatly increases the flexibility of the operating system, making it look almost like a mainframe. When IBM released PC-DOS 2.0, they also went to market with two new versions of the PC. Both products were modified to correct bugs found in the ROM in early PCs. One product was the PC/XT, with a 10 megabyte hard disk system that could use the new file structure supported by PC-DOS 2.0. In early 1983, two more magazines were being sold on the newsstands. PC World and PC Technical Journal quickly established themselves as viable magazines. Both publications attracted a technical audience that craved more information about the machine. ÚÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ¿ ³ PC-DOS 2.1 ³ ÀÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÙ The introduction of PC-DOS 2.0 was a major marketing and system programming feat. Unfortunately, PC-DOS 2.0 contained several annoying bugs that potentially could destroy the contents of a user's hard disk. IBM released PC-DOS 2.1 in conjunction with their new product, the PC/Jr. To date, IBM has met with marginal success in marketing this operating system and their new home computer. ÚÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ¿ ³ The Future ³ ÀÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÙ The future of the PC lies with the software developers rather than with IBM or Microsoft. Today a microcomputer is like a seed planted in the ground. If the software developers do not create programs for a machine, it is as if the seed had been planted in rocky soil, tried to grow, and then died. The IBM-PC is a mature product that was planted in fertile soil because the software developers created a large body of programs for the computer. The operating systems for the PC are migrating toward UNIX, and the application programs are consolidating to form integrated software packages. The language of choice is the C Language created at Bell Laboratories. The major problems encountered by software developers are execution speed and program size. Although Lotus 1-2-3 dominates the integrated software market, there are other companies in the wings attempting to bring their products to market. At this writing I cannot determine whether the PC can sustain this trend. It may be that a new and inexpensive machine must be introduced so that the software developers can fulfill their dreams. ÚÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ¿ ³ Retraction ³ ÀÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÙ In my last article I stated that IBM wrote COMMAND.COM. I was mistaken. Microsoft and Seattle Computer are the companies that created the program. ÚÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ¿ ³ User Supported Software ³ ÀÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÙ Here is an update on the user supported software that I intend to distribute as a companion to this column. The disk utility FREECOPY is completed, together with the user's guide. I am currently working on the source code guide and expect to have the diskettes available to users' groups in late April or early May of 1984. Donald L. Buresh, C.D.P. ÚÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ¿ ³ File Name: ÛÛ dos1.txt ÛÛ ³ ÀÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÙ