History of BASIC, Part 2
Microsoft, Apple, and the Microcomputer Revolution
If you missed it, you may be interested in Part 1 of the History of BASIC.
In the early 1970s, Paul Allen was in high school. Like so many nerdy folks at the time, he didn’t have access to a computer and he wanted access to a computer. Unlike most nerdy folks, he found the access to a computer that he so badly wanted. He would go to the University of Washington campus after school (at Lakeside High), sneak into the graduate computer center at Roberts Hall, and get some time on the computers there. Bill Gates eventually decided to come along as well. Gates and Allen were eventually caught, but the deal with the professor overseeing the lab was that if they continued to help the college students, they could hang around. As for learning, the guys at the computer center would only lend the pair one manual at a time. This didn’t really put them off. Allen was doing assembly language work on the BASIC compiler for the PDP-10 by the time he was 17. Having this kind of in-depth knowledge definitely got them in trouble. At one point, the two changed the accounting system on the PDP-10 to assign them more time. They got caught and were banned for a summer. In 1973, Gates and Allen graduated high school with Allen scoring 1600 on the SAT, and Gates scoring 1590. Paul Allen chose to attend Washington State, and Bill Gates went to Harvard. In late 1974, Allen dropped out to go to work for Honeywell in Boston, and Gates worked there over the summer. In 1975, the MITS Altair 8800 was released. William Henry Gates III dropped out of school.
The pair understood, with the release of the Altair that the price of computers would drop. They also understood that this would create serious demand for software. They’d had a modestly successful business venture together in high school named Traf-O-Data, and I suppose this made them rather confident that they could form a company to meet this new demand. This company was Microsoft (you know, microcomputer software) and it was originally headquartered in Albuquerque to get close proximity to MITS, but the pair weren’t there quite yet. The official date of creation for Microsoft is April 4, 1975.
At this point in history, as the previous article explains, the way that novices interacted with computers was through BASIC on time sharing systems at universities and megacorps. With no product in hand what-so-ever, nor any access to an Altair, they contacted Ed Roberts (the founder of MITS) to let him know that they were developing a BASIC interpreter for his Altair 8800. For his part, Roberts agreed to meet for a demonstration scheduled for April of 1975. This was obviously rather problematic. They just formed the company, didn’t have the product and had to make that product within the same month. Fortunately, Paul Allen had written an Intel 8080 emulator for the PDP-10 while the two were working in their Traf-O-Data venture. So, the two used that emulator on Harvard’s PDP-10, and developed a BASIC interpreter for the Altair. For floating point support in the interpreter, they hired Monte Davidoff. This was a feature not available for most other BASICs in the 70s. This interpreter, including the I/O system and line editor, fit in 4K. After finishing up their rather quick work, they printed it on punched paper tape, and Paul Allen got on a plane to Albuquerque, New Mexico.
Abort, Retry, Fail is a reader-supported publication. To receive new posts and support my work, consider becoming a free or paid subscriber.
Either en route or shortly before departure, one of the two must have realized that they lacked a bootstrapper to load the interpreter from tape. As a result, while on the flight, Paul Allen wrote it in 8080 assembly language. When they ran the loader for the demo, they had no idea if it was actually going to work, but it did. They saw the prompt asking for the memory size of the machine, loaded the BASIC interpreter, and it all worked as expected. At this point, Roberts agreed to distribute Microsoft BASIC with the Altair 8800 as Altair BASIC. Microsoft had its first contract. Five different versions of Altair BASIC would be released: 4K BASIC, 8K BASIC, Extended BASIC, Extended ROM BASIC, Disk BASIC. Allen and Gates had started their own computing journey by getting time at Washington University and using BASIC on timesharing systems, and they then proceeded to making and selling BASIC interpreters. They had just created the microcomputer software industry, and they were still quite young.
In true Microsoft fashion, there were a few different price points involved. In October of 1975, 4K BASIC was sold at $150 ($972.62 in 2022). 8K BASIC was sold at $200 ($1111.99 in 2022). Extended BASIC was sold at $350 ($1945.23 in 2022). All of these had discounts available. Particularly, if one were to buy 8K Altair RAM as well as an Altair I/O board, 8K BASIC dropped to $75, 4K to $60, and Extended to $150. These three initial versions were available either on punched paper tape, or on cassette tape. The price of Altair BASIC, when considering that one still needed to purchase the Altair itself, meant that piracy was a very big problem. So much so, that Bill Gates wrote "An Open Letter to Hobbyists” in which he says “less than 10% of all Altair owners have bought BASIC” and further that this situation means that Microsoft’s time was “worth less than $2 an hour.” Don’t worry though, Bill Gates did quite well for himself all the same.
In his early twenties, Steve Wozniak dropped out of school to focus on work. He was working at HP, and while he had always liked electronics, and computers especially, he was focused on calculators. His younger thoughts about computers had drifted, and he was really just focused on his work, had a strong passion for gadget making, jokes, and other stuff. His life was going quite well according to him, and he was very content. Then, he saw Atari’s Pong in a bowling alley. He immediately began to think about his earlier designs for a circuit that would put characters on a screen. He then built his own version of Pong with all of the game logic done in hardware. He wasn’t content with just Pong though. Every miss would include an expletive being shown on screen, but he could easily turn off this four-letter-word feature with a hardware switch he’d added to his Pong machine. For this, he was offered a job at Atari. He turned it down because he was happy at HP. His friend Steve Jobs, however, did work for Atari. Nolan Bushnell wanted Woz to work on a game called Breakout, and asked Jobs to get him to do it knowing the two were fast friends. For four days and nights, Woz and Jobs worked. Woz did the design on paper during the day, and then Jobs would breadboard and wire wrap it at night. When Jobs finished each piece and/or prototype, they’d test.
Somewhere during this four days of no sleep, Jobs mentioned that Atari was planning to do a game with a microprocessor. Then Woz saw the cellophane color overlay for the game. He knew what the waves for colors would look like in an oscilloscope, and he realized that he could use a digital chip to create those waves. At any rate, they finished the project with forty-five chips, and they did it in four days.
If you thought that Woz was finished there, you’re wrong. He also built his own terminal to dial into ARPANET, and this was still spawned from that first sight of Pong.
Steve Wozniak continued to work as a calculator engineer at HP, and then one of his friends told him about this flyer he’d found at HP. Supposedly, there was this group that was going to meet to talk about terminals and things. He thought it was interesting, and Woz decided to go. Initially, Woz didn’t feel like he fit in. These guys weren’t talking about terminals, they were all talking about the Altair and microprocessors. While Woz had done some minicomputer designs in high school and college, he didn’t keep up with the industry and certainly didn’t know anything about microprocessors. One thing, though, would change all of that. One of the members of the club handed out data sheets on the 8008. That night, after the meeting, Woz studied that data sheet, and he had an epiphany. He did understand microprocessors, and he could build his own computer with one. The design formulated in his mind, he sketched it out, and he decided he’d bring it to the next meeting.
The Homebrew Computer Club was rather a big deal. At the time, computers were of the megacorp world. They were huge. They were very expensive. The megacorps were all of the mind that home micros were a small market that wouldn’t turn any profit. At Homebrew, people were talking about changing the world by empowering the individual, democratizing the power that computers have. They even dreamt of things like home automation.
In the spirit of Homebrew, Woz knew that his computer could just hook directly to his terminal. This meant that you didn’t need a front panel with switches and lights that were difficult for a novice to use. You could just boot directly into a wait state like a calculator, and you could have the keyboard already present. This would allow for greater ease of use than any machine commercially available before. To get the same thing from an Altair would mean serious money. This would be the democratization of the computer.
Following the first Homebrew meeting on the 5th of March in 1975, Steve Wozniak went to work early. Alone in those early hours, he would look at engineering manuals and chip manuals, planning his computer in his mind. After several weeks, he was ready to formally make the design on his drafting board. This first drawing was using the Motorola 6800, but after making that first design, he started seeing this newer, simpler, cheaper microprocessor that was supposed to be available soon. This would be pin compatible with the 6800, and much cheaper. It was to be sold over the counter at the MOS Technologies booth at WESCON. June 16th of ’75, Woz was at San Francisco’s Cow Palace with some of his friends and coworkers, and Chuck Peddle was there selling chips as advertised. Woz bought a few then and there along with a manual. A few days later, the Club met again, and several people there were showing off their new 6502s. None were in a machine just yet, but everyone was quite excited, and Woz knew exactly what he’d be doing with his.
On the 29th of June in 1975, Steve Wozniak had assembled a working micro computer complete with PROM for boot and a monitor program that would allow programming and memory access. This monitor program was packed into 256 bytes. Following this, at every Homebrew meeting, Woz had the computer setup for demonstration and would answer questions that attendees had. He also had xeroxed copies of the design available for free.
At this point, the computer lacked any real programming language. One could use machine code with the monitor, but there was no other language. Yet, people in the club were well aware of Microsoft’s BASIC on the Altair, and a copy of that BASIC was available within the club on paper tape which could be read by a teletype in about 30 minutes. Additionally, Woz had a book 101 BASIC Computer Games. For these reasons, Woz felt that BASIC would be appropriate for his computer as well. The Altair used the Intel 8080, and its BASIC was for that CPU alone. There wasn’t any BASIC already made for the 6502, and as a result, Woz decided he’d build one.
Around this time, Woz made several refinements to his design, and his friend Steve Jobs convinced him to start a company.
“Well, even if we lose our money, we’ll have a company. For one in our lives, we’ll have a company.” — Steve Jobs
That was enough for Steve Wozniak. Two best friends started a company, and they funded that new company by selling first Woz’s calculator and Job’s VW van. A few weeks after that Woz was driving Jobs back from the airport. Jobs had been in Oregon at a commune that he referred to as “an apple orchard.” Steve then suggested the name Apple Computer.
To get Woz's computer going, they needed a PCB design that could be handed off to a manufacturer. For this, they turned to Jobs’ friend from Atari, Ron Wayne. Ron Wayne was also the artist who did the etching for the manual, he wrote and formatted the manuals, and he drew up the partnership agreement for the company.
Shortly after they signed the paperwork and got the first boards, Woz was at his day job at HP and showing off the board to some of his friends there. The phone rang. It was Jobs calling to inform him that they’d received a $50,000 order ($276683.09 in 2022). Apparently, a local computer store owner had seen the Apple I at Homebrew, and he wanted to buy one hundred computers from them, fully finished, for $500 each.
According to Wozniak, the BASIC interpreter was the single most complicated and the single longest project he ever did for Apple. He didn’t even really like BASIC. He felt that, compared to FORTRAN, BASIC was weak. Still, he saw where the market was headed and this compelled him to write the interpreter. So, Woz got his hands on some HP manuals for BASIC, and studied them. The core of the interpreter took him 4 months, and Woz chose to leave out decimals. He wrote the whole thing on paper with binary on the left and hex on the right. This is the interpreter that became known as Integer BASIC.
On the Apple I, BASIC had to be loaded from a cassette. The interpreter was just too large to fit on a PROM for that machine. The prototype of the Apple II was already taking shape by early 1976. Not only would BASIC be on PROM, but the entire machine was designed to support color and graphics from main memory. This was no add-on feature. And, with faster DRAM chips, the CPU could access RAM in one half of a microsecond, and the refresh could occur in the other half. So, despite using the same CPU, the Apple II was substantially faster, and used fewer chips overall making it smaller and cheaper.
The Altair and the Apple I set the stage, but those machines weren’t the final word. The Apple I was seen by everyone in Homebrew and many of these attendees would go on to make computers of their own. Additionally, other machines had been in the works already. Just like Woz’s machine, all of them would run BASIC.
While the first version of the Apple II ran Integer BASIC, that wouldn’t remain the case. AppleSoft BASIC, a dialect of MS BASIC, would ship on all later Apple II models. Apple, however, was far from the only customer. MS BASIC variants include: Altair, Amiga, BASIC Advanced (IBM PC-DOS) or GW-BASIC (MS-DOS), Color BASIC (TRS-80 CoCo), Commodore BASIC, IBM Cassette BASIC (built into ROM on the original IBM PC), MBASIC for Z80 and 8080 CP/M, MSX BASIC, and the TRS-80 (non-CoCo) BASICs. Effectively, the realm of personal computing was the realm of BASIC. Most of the home micros used MS BASIC in some form, but they weren’t the only game in town. Obviously, there was Integer BASIC, but across the Atlantic, Acorn was using BASIC. Sinclair was using BASIC. Even within the USA, Atari made a BASIC for their machines, and Kaypro for theirs. Texas Instruments had a BASIC. Ellis Computing had a BASIC. In Japan, the SEGA home micros would include a BASIC interpreter. In universities and big business, BASIC also continued. There was obviously Dartmouth BASIC, the original. AT&T, IBM, GE, DEC, Data General, and HP all had BASIC interpreters/compilers available for their machines.
For all of the hate that BASIC gets from some corners of the industry, BASIC made computers usable for a wider audience. Without it, we cannot be certain that the microcomputer revolution would have happened at all. There was a single language that was usable across a wide variety of computers, and this was a language that was easy for a novice to learn, and only slightly harder to master. With BASIC, John Kemeny achieved his vision of making computers accessible to people of any background. With BASIC, John Kemeny changed the course of computing history. Paul Allen, Bill Gates, Mark Zuckerberg, Elon Musk, John Carmack, Carol Shaw, and Linus Torvalds (to name a few) all got their start with BASIC.