MicroSoftBasic

A Little Gamble

Apart from Dennis Allison and Bob Albrecht, the January 1975 issue of popular electronics caught the attention of two other persons - Bill Gates and Paul Allen. In December of 1974, Allen was on his way to visit Gates when along the way he stopped to browse the current magazines. What he saw changed his and Bill Gates's lives forever. On the cover of Popular Electronics was a picture of the Altair 8080 and the headline "World's First Microcomputer Kit to Rival Commercial Models." He bought the issue and rushed over to Gates's dorm room. They immediately knew that this could be their big break.

Within few weeks they called Ed Roberts of Altair and told him they had a version of BASIC for their computer, though they still had to build one. Roberts asked Gates when he could come to Albuquerque to demonstrate it, Gates looked at his childhood friend, took a deep breath, and said, "Oh, in two or three weeks." Gates put down the receiver, turned to Allen and said: "I guess we should go buy a manual.".

For the next few weeks, Gates and Allen worked day and night on the BASIC. Since at that time there was no established industry standard for BASIC or for any other software, so they themselves determined the features of their version of BASIC should have.

Allen and Gates decided for an interpreter to overcome the limited amount of memory available, and, in fact, they were able to pack everything in 4K. This was the first appearance of interpreted BASIC. A compiled language would not have left enough memory for both running the program and holding the data. The interpreted BASIC had another advantage, it was more interactive making debugging easier. Kemeney and Kurtz were very critical toward the interpreted language, despite this, some years later they acknowledged the positive effect interpreted BASIC had on the diffusion of BASIC.

One day while eating in the dining hall of Gates's Harvard dorm, they were discussing some floating pont mathematics routines. Neither of them wanted to write them. From the other end of the table a hesitant voice called out, "I've written some floating-point routines." Both their heads turned in the direction of this voice, and over lunch in the college cafeteria Marty Davidoff joined their programming team.

In order to pack more power into basic, Gates and Allen had ignored some of the Dartmouth basic Eight principles of Basic. To save space, they crammed more than one programming instruction into a line of code. Also they introduced PEEK and POKE commands which allowed a programmer to view and manipulate bytes of data into the memory. The original concept of PEEK and POKE command had emerged in 1971 by programmers of Digital Equipment for a version of BASIC on a time-sharing computer. But doing such things on a micro-computer, Gates insists,was a different kind of challenge.

The Final Show

After they had finished up with their work they Ed Roberts to fix up a meeting for their demonstration. Paul Allen booked a plane reservation as he and Gates scrambled to finish up the BASIC. On the night before Allen was to catch a 6 A.M. flight for Albuquerque, they were still working. At about 1 A.M. Gates told his friend to get a few hours of sleep, that when he awoke, the paper tape with the BASIC would be ready. Allen took him up on the offer, and when he awoke, Gates handed him the tape and said, "Who knows if it works. Good luck." Allen crossed his fingers and left for the airport.

Halfway into the landing Allen realized that the whole time they had been woking on simulated Altair and never thought of writing a loader program to read the BASIC off the paper tape. Without that, BASIC could not be loaded into the Altair.He took out some scrap paper, and as the plane descended, began writing in 8080 machine language. Somehow by the time the plane touched down, he had scribbled a loader program.

When he reached the MITS headquarters, Allen found himself in front of the microcomputer with the largest memory in the world. It had 7K of memory, on seven 1K boards, and it was running a program that tested memory by writing random information into it and reading it back. The memory needed testing, but this program was also the only one they had. As it ran, all the Altair's lights would blink. They had just gotten it working with 7K that day, so the testing of Allen's BASIC was postponed for a day. Next morning Allen held his breath as the machine chugged away, loading the tape in about five minutes. He threw the switches on the Altair and entered in the starting address to invoke the program. As he flipped the computer's RUN switch he thought "If we made any mistake anywhere, in the assembler or the interpreter, or if there was something we didn't understand in the 8080, this thing won't work." And he waited.

"It printed 'MEMORY SIZE?"' said Ed Roberts. "What does that mean?" For Allen it meant that the program worked. In order to print this message about 75 percent of the code had to be accurate. He entered the memory size- 7K-and typed "PRINT 2+2." The machine printed "4."

A few weeks later, he offered, and Allen accepted, the position of MITS software director. Gates soon decided that Harvard was less interesting than Albuquerque and moved to join his friend.

Birth of Microsoft

Bill gates and Paul Allen had already started a company in 1972 with name "Traf-O-Data", which built a computer for processing highway traffic-flow information. The Traf-O-Data company lasted until Gates left for college. In the spring of 1975 they signed the contract with MITS, referring to their company as "Micro-soft" (for microcomputer software), a term which was used by Bill Gates in a letter to Paul Allen for the first time on November 29, 1975. Later on November 26, 1976 it was renamed as "Microsoft" and registered with the Office of the Secretary of the State of New Mexico.

Apart from this Microsoft became the first victim of software piracy when Bill gates forgot a copy of BASIC on paper tape during demonstration. In January 1976, Gates wrote an "Open Letter to Hobbyists," in which he accused hobbyists as thieves who were stealing software. "The amount of royalties we have received from sales to hobbyists makes the time spent on Altair BASIC worth less than $2 an hour," Gates wrote. "Why is this? As the majority of hobbyists must be aware, most of you steal your software. Hardware must be paid for, but software is something to share. Who cares if the people who worked on it get paid?" Gates' letter had no effect whatever on the hobbyists except to agitate them. Even then the popularity of BASIC kept on growing.

The clones are here

By the late 70's, several BASIC versions had been ported to platforms such as the Apple, Commodore and Atari computers and now it was time for Bill Gates's DOS which came with a Basic interpreter. The IBM-DOS version of this interpreter became known as BASICA, and at the time IBM was in major competition with clones so it was setup to require the BIOS distributed with IBM computers. The version distributed with MS-DOS was GW-BASIC and ran on any machine that could run DOS. There were no differences between BASIC-A and GW-BASIC which seems to make IBM's idea useless. With increasing popularity of BASIC Microsoft realized they needed a compiler fr their BASIC so users could code programs that ran without an interpreter. QuickBasic was the solution Microsoft came up with. It was distributed on through the years until version 4.5. At this time Microsoft decided to release a product with more kick and started distributing PDS BASIC (Professional Development System) and ended it with version 7.1 (Also called QuickBasic Extended), PDS was a short lived idea and was not followed through to its true capabilities. [Though it was an improvement over QB4.5]. Microsoft got hooked on GUI's and started Visual Basic both a DOS and WIN version. The DOS version was ended at 1.0 with a professional update, Differences between VB for DOS and QB are not as much as one might think, in fact VB still compiles QB4.5 code and the professional edition will compile PDS7.1 Code. However PDS compiled to true OS/2 Code while VB-DOS Pro/std and QB4.5 did not. Somewhere in the midst of all this Robert S. Zale had realized more of the Potential Basic was capable of and designed his own Compiler. Borland Inc. snatched this up and distributed it as TurboBasic, but Mr. Zale was soon to distribute his product on his own. It is now called PowerBasic and is up to version 3.1. PowerBasic is one of the more Powerful Compilers on the market and adds the idea of unsigned Variables along with Inline Assembly Language Code and several other nice additions to the Basic language.

"Nothing would please me more than being able to hire ten programmers and deluge the hobby market with good software"

Bill Gates in "An Open Letter To Hobbyists -- William Henry Gates III"

"If anyone had run over Bill Gates, the microcomputer industry would have been set back a couple of years."

Dick Heiser