The title page of the assembly language code that produced Altair BASIC
|Developer(s)||Bill Gates, Paul Allen, Monte Davidoff|
|Initial release||2.0 (4K and 8K editions) July 1, 1975|
5.0 / 14 July 1978
Altair BASIC is a discontinued interpreter for the BASIC programming language that ran on the MITS Altair 8800 and subsequent S-100 bus computers. It was Microsoft's first product (as Micro-Soft), distributed by MITS under a contract. Altair BASIC was the start of the Microsoft BASIC product range.
Origin and development
Bill Gates recalls that, when he and Paul Allen read about the Altair in the January 1975 issue of Popular Electronics, they understood that the price of computers would soon drop to the point that selling software for them would be a profitable business. Gates believed that, by providing a BASIC interpreter for the new computer, they could make it more attractive to hobbyists. They contacted MITS founder Ed Roberts, told him that they were developing an interpreter, and asked whether he would like to see a demonstration. This followed the questionable engineering industry practice of a trial balloon, an announcement of a non-existent product to gauge interest. Roberts agreed to meet them for a demonstration in a few weeks, in March 1975.
Gates and Allen had neither an interpreter nor even an Altair system on which to develop and test one. However, Allen had written an Intel 8008 emulator for their previous venture Traf-O-Data that ran on a PDP-10 time-sharing computer. He adapted this emulator based on the Altair programmer guide, and they developed and tested the interpreter on Harvard's PDP-10. Harvard officials were not pleased when they found out, but there was no written policy that covered the use of this computer. Gates and Allen bought computer time from a timesharing service in Boston to complete their BASIC program debugging. They hired Harvard student Monte Davidoff to write floating-point arithmetic routines for the interpreter, a feature not available in many of its competitors.
The finished interpreter, including its own I/O system and line editor, fit in only four kilobytes of memory, leaving plenty of room for the interpreted program. In preparation for the demo, they stored the finished interpreter on a punched tape that the Altair could read, and Paul Allen flew to Albuquerque.
On final approach, Allen realized that they had forgotten to write a bootstrap program to read the tape into memory. Writing in 8080 machine language, Allen finished the program before the plane landed. Only when they loaded the program onto an Altair and saw a prompt asking for the system's memory size did Gates and Allen know that their interpreter worked on the Altair hardware. Later, they made a bet on who could write the shortest bootstrap program, and Gates won.
Versions and distribution
Roberts agreed to distribute the interpreter. He also hired Gates and Allen to maintain and improve it, causing Gates to take a leave of absence from Harvard. They produced several versions: the original 4K BASIC and later 8K BASIC, Extended BASIC, Extended ROM BASIC, and Disk BASIC.
The smallest version, 4K BASIC, was able to run within a 4k RAM machine, leaving only about 790 bytes free for program code. To make the language fit in such a small space, the 4K version lacked string handling and stripped out a number of the mathematical functions. These were added back into the 8K BASIC, which had the string library, a larger set of math functions including
RND for random numbers, boolean operators, and
POKE. The 8K version is the basis for most versions of BASIC during the home computer era. Extended BASIC added
PRINT USING and basic disk commands, while Disk BASIC further extended the disk commands to allow raw I/O.
In October 1975, 4K BASIC sold for $150, 8K BASIC for $200, and Extended BASIC for $350. The prices were discounted to $60, $75, and $150 respectively for those who purchased "8K of Altair memory, and an Altair I/O board." The language versions were available on paper tape or cassette tape.
As they expected, the Altair was very popular with hobbyists such as the Homebrew Computer Club. Altair BASIC, as MITS' preferred BASIC interpreter, was also popular. However, the hobbyists took a "share-alike" approach to software and thought nothing of copying the BASIC interpreter for other hobbyists. Homebrew member Dan Sokol was especially prolific; after somehow obtaining a pre-market tape of the interpreter, he made 25 copies and distributed them at the next Homebrew meeting, urging recipients to make more copies. Gates responded in 1976 with a strongly worded Open Letter to Hobbyists that accused the copiers of theft and declared that he could not continue developing computer software that people did not pay for. Many hobbyists reacted defensively to the letter.
Under the terms of the purchase agreement, MITS would receive the rights to the interpreter after it had paid a certain amount in royalties. However, Microsoft had developed versions of the interpreter for other systems such as the Motorola 6800. When they decided to leave MITS, a dispute arose over whether the full amount had been paid and whether the agreement applied to the other versions. Microsoft and MITS took the dispute to an arbitrator who, much to Roberts' surprise, decided in favor of Microsoft based on MITS failure to market the software with their "best efforts". BASIC interpreters remained the core of Microsoft's business until the early 1980s, when it shifted to MS-DOS.
- Raiders of the Lost Altair BASIC Source Code, Andrew Orlowski, 13 May 2001, The Register
- Altair 8800 BASIC Reference_Manual 1975, Page 3 of PDF, ...and the joint authors of the ALTAIR BASIC interpreter, Bill Gates, Paul Allen and Monte Davidoff, will be glad to assist you.
- Microsoft Fast Facts: 1975, Posted May 9, 2000, Bill Gates and Paul Allen complete BASIC and license it to their first customer, MITS of Albuquerque, N.M., the manufacturer of the Altair 8800 personal computer. This is the first computer language program written for a personal computer., Gates and Allen’s BASIC officially ships as version 2.0 in both 4K and 8K editions.
- microsoft's timeline from 1975 - 1990 Archived 2008-05-14 at the Wayback Machine, July 1, Bill Gates' and Paul Allen's BASIC officially ships as version 2.0 in both 4K and 8K editions.
- Computer_Notes 1975 01 05, Page 14, ALTAIR BASIC, CLAIM: Not just anybody's BASIC, FACT: Not just anybody's BASIC, BY: KEITH BRITTON ,ROBERT MULLEN, Altair BASIC version 2.0 had a serious problem in that a jump out of a FOR.... NEXT loop left garbage on the stack. . Do this too often and the stack would grow relentlessly down from high memory until it ate the program. This has been fixed in version 3.0, according to Paul Allen
- Computer_Notes 1975 01 05, Page 15, Advert: Altair BASIC]
- Freiberger, Paul; Swaine, Michael (2000). Fire in the Valley: The Making of the Personal Computer. New York, NY: McGraw-Hill. p. 53. ISBN 0-07-135892-7. "While walking through Harvard Square one day, Allen spotted the Popular Electronics cover that features the Altair. ... Allen ran to tell Bill that he thought their big break had finally come. Bill agreed."
- Wallace, James; Jim Erickson (1992). Hard Drive: Bill Gates and the Making of the Microsoft Empire. John Wiley & Sons. pp. 81–83. ISBN 0-471-56886-4.
- "We have a BASIC". New Mexico Museum of Natural History and Science. Archived from the original on March 23, 2012. Retrieved 2007-04-18.
- Wallace, James; Jim Erickson (1992). Hard Drive: Bill Gates and the Making of the Microsoft Empire. John Wiley & Sons. p. 78. ISBN 0-471-56886-4.
- "4 Altair Language Systems". Altair BASIC.
- Altair BASIC (PDF). MITS. 25 August 1975.
- Altair Basic for the 6800, In January 1978 I purchased Altair 680 Basic from Computer Kits in Berkeley CA. I paid full price, $200, I didn't want Bill Gates to go broke. If you bought an Altair 680B kit with 16 K of RAM for $685 you would get BASIC for free., Michael Holley's SWTPC Collection Home Page
- Allen, Paul (2011). Idea Man: A Memoir by the Cofounder of Microsoft. New York: Penguin Group. p. 107. ISBN 978-1-59184-537-9.
MITS/Pertec 'materially breached its best efforts obligation...'
- Freiberger, Paul; Swaine, Michael (1999). Fire in the Valley: The Making of the Personal Computer. New York, NY: McGraw Hill. ISBN 0-07-135892-7.
- Gates, Bill; Nathan Myhrvold; Peter Rinearson (1995). The Road Ahead. New York: Viking. ISBN 0-670-77289-5.
- Cringely, Robert X.. Triumph of the Nerds. PBS, 1996.
- Bunnell, David (April 1975). "Altair BASIC — Up and Running". Computer Notes. Altair Users Group, MITS Inc. 1 (1): 1, 3. Archived from the original on March 23, 2012. Retrieved 2007-04-18.
- Altair BASIC 3.2 (4K) - Annotated Disassembly
- Altair BASIC source disassembly, compiled by Reuben Harris and archived at archive.org
- Writing an Altair Basic, Interview with Bill Gates, Interviewer: David Allison (DA), Division of Computers, Information, & Society, National Museum of American History, Smithsonian Institution
- History of Microsoft Video: Bill Gates Talks about Altair Basic, (Lisa Feigenbaum) 24 Jun 2009, The Visual Basic Team, MSDN Blogs