Advent of Computing - Episode 28 - Applesoft BASIC, Microsoft and Apple's First Collaboration
Episode Date: April 19, 2020It's easy to think of Apple and Microsoft as bitter rivals, but that's not always the case. The two companies have a very complicated relationship, and a very long history. This connection goes all th...e way back to the 1970s and a product called Applesoft BASIC. It would become stock software on nearly every Apple II computer ever sold, it kept Apple competitive in the early home computer market, and it may have saved Microsoft from bankruptcy. Like the show? Then why not head over and support me on Patreon. Perks include early access to future episodes, and stickers:Â https://www.patreon.com/adventofcomputing Important dates in this episode: 1997: Bill Gates saves Apple from Bankruptcy 1976: Apple I hits shelves, Integer BASIC soon follows 1977: Apple II Released 1978: AppleSoft BASIC Ships
Transcript
Discussion (0)
In 1997, Steve Jobs was on a call with Bill Gates.
This had been the worst year on record for Apple.
For the last 10 years or so, Jobs had been running a competing computer firm called Next,
which was eventually bought out by Apple in 1997.
Upon returning, he found that the company he co-founded was in absolute shambles.
A series of botched projects, poor decisions, and an overall shift
in thinking had brought Apple to the very brink of bankruptcy. They were losing market share to
competitors every day, and if nothing was done, the company would simply fade away completely.
So, what did Jobs do to turn around this disaster? In his words,
do to turn around this disaster. In his words, quote, Microsoft was the biggest software developer outside of Apple developing for the Mac, so it was just crazy what was happening at that time.
And Apple was very weak, and so I called up Bill and we tried to patch things up, end quote.
And Gates came through in a big way. Microsoft would agree to invest $150 million into Apple, saving the company.
Thanks to the large infusion of cash and aggressive restructuring,
Apple was able to come back from the brink and flourish into the company we're familiar with today.
As strange as it sounds, Microsoft had stepped in to save their biggest competitor.
Now, this story underlines a much larger theme.
Apple and Microsoft have a very complicated relationship, to say the least. They've been
in constant competition and they've been constant comrades for decades. The two are very different
companies, but the fact is that Apple and Microsoft, well, they grew up together. Not as family, but
definitely as close neighbors.
Both companies started at roughly the same time, the middle of the 1970s.
Both were founded by two computer enthusiasts working out of makeshift offices. And,
as strange as it may seem today, the two companies have a very long history of working together.
And a big part of that relationship is a long history of each company
saving each other from near disaster. These two giants would start working together as early as
1976, before the rivalry, before either company measured sales in terms of millions of dollars.
There was a product called Applesoft Basic. It was written by Microsoft, and it was licensed by
Apple. And this one contract,
well, it may have kept both companies from failing in their infancy.
Welcome back to Advent of Computing. I'm your host, Sean Haas, and this is episode 28, AppleSoft Basic.
Now, in 2020, Apple and Microsoft are two of the largest companies in the world,
and they're often characterized as bitter competitors.
But that one-dimensional view of things, it misses a lot,
especially in a story full of such larger-than-life characters as this one.
The story of Microsoft is tied deeply to the story of Apple,
at a lot more points than you would think. Part of that comes down to the fact that,
despite being viewed as competitors, Apple and Microsoft aren't in direct competition all that
often. You see, each operates in a slightly different market. Since day one, Apple has
primarily been a hardware company. They do produce a lot of
software, but by and large, their differentiating factor has always been their hardware, be that
the Macintosh or the iPhone. On the flip side, Microsoft's bread and butter is in software.
It's even right there in the name. Their first big wins were all in licensing software to
manufacturers, and as time went on, they broke into the consumer
market. In more recent years, Microsoft has made inroads into the hardware scene, but those are
minor compared to its core business model. When you look at it that way, the two companies are
much closer to complements than competition. This becomes especially clear when we look at
the early life of these companies. When Apple wasn't huge into the software game and Microsoft had no hardware to speak of, well, there was all the more reason
for these two companies to work together. The first opportunity for this would come in 1978
with the release of AppleSoft Basic. This was a dialect of Basic written by Microsoft and then
adapted for the new Apple computer. But it wasn't as simple as just a business deal. There was a lot
that led up to this. So what exactly was AppleSoft Basic? How did Apple get into a situation where
they needed outside help to stay competitive? And how did this contract save Microsoft from
their impending financial doom? The timeline here can get a little strange, so bear with me for a
minute. The story actually starts before Apple was founded, so bear with me for a minute.
The story actually starts before Apple was founded, and it doesn't even start with Steve Jobs.
Instead, let's start out with the other founder, Steve Wozniak.
There are a lot of things that can be said about Woz.
He's a fantastic hardware designer, the brains behind Apple's early success.
He's always been a huge computer nerd.
behind Apple's early success. He's always been a huge computer nerd, and in the 1970s,
he was in the exact right place and right time to enjoy being a computer nerd. He grew up in the heart of Silicon Valley right as it was developing into what it is today. He was active
in the hacker scene in the area, and would eventually find his way into HP, where he
worked as a calculator designer. He'd even end up doing some game development for
Atari in the early half of the decade. But out of everything he did, Waz's passion was always
in computing. And so early on, he became an ardent member of the Homebrew Computing Club.
Now, as the name suggests, this club primarily catered to those interested in building their
own computers. Today, you can order all the parts you want to make a new PC online,
and in most cases, you won't even need anything beyond a screwdriver to complete the task.
But in the 1970s, well, building a computer was a much more involved task.
Members of the Homebrew Computer Club, like Wozniak,
were building computers from utter scratch.
This only really attracted diehard
enthusiasts. Most members were already entrenched in the new computer industry. The club ended up
becoming a breeding ground for new ideas and innovation in Silicon Valley. From all accounts,
it sounds like the perfect place for someone interested in computers in this era, and Woz
was really lucky to be right in the middle of it all.
As early as 1970, Woz was working on his first computer. At the time, that entailed designing everything from the ground up. You'd have to source all the parts down to chips and resistors,
lay out and hand etch a circuit board, and then solder everything together.
Eventually, you'd even get to program the thing. This whole process was time-consuming, and it was difficult,
and it really made for a pretty steep barrier to entry into home computing.
For Wozniak, this experience seemed sort of mixed.
He loved this type of work and definitely had a knack for it.
Home computing held a lot of promise.
He also saw firsthand just how hard it was to work with these hand-built machines.
He also saw firsthand just how hard it was to work with these hand-built machines.
And as Wozniak was toiling away on his own designs, things would start to change.
One of the defining characteristics of this era was the rapid pace of development.
That's something that's true of most parts of the history of the computer.
In the latter half of the 70s, home computing would finally start to pick up considerable steam.
In 75, the Altair 8800 was released, considered by most, at least, to be the earliest home computer. One of the big selling
points was that you could buy an Altair fully assembled and ready to go. Sure, you couldn't
really do much with it out of the box, but it was a huge leap forward. Instead of muddling around with chips
and wires, you could go out and buy a whole computer and just plop it on your desk. It was
lowering the barrier to entry for this home computing future considerably. And that was just
the start. The other big feature, the killer app of the Altair, was a little something called
Microsoft Basic. It was a program written by Bill Gates,
Paul Allen, and their associated comrades. The software turned your fancy new computer into a
much, much more useful tool. Out of the box, there wasn't all that much you could do with an Altair,
actually. You could only enter in data via toggle switches on the front of the machine,
and you had to read out results as a pattern of blinking lights.
But BASIC, plus a RAM expansion, serial interface card, and a terminal,
well, that allowed you to change the computer into something much more interactive.
Instead of painfully entering in data or changing around wires,
you could type out a BASIC program.
While still a long ways off from a user-friendly system,
it showed a glimmer of what was going to be possible.
The members of the Homebrew Computer Club absolutely loved this development.
It was the cutting edge in home computing,
and the club quickly recognized the potential of this type of technology.
And amongst that club and other tech circles,
Gates started to become somewhat of a celebrity.
And it wouldn't take long for Woz to notice.
Now, as cool as Microsoft BASIC was, there was one glaring issue.
On release, it only worked with the Altair 8800.
Most of the homebrew computers made by the club were already pretty close to the Altair.
They used the same processor.
So for them,
it would be relatively easy at least to get BASIC up and running on their own machines.
But Woz was in a different boat. Microsoft BASIC was written for the Intel 8080 processor,
while Wozniak's computer used an MOS6502 processor. These two CPUs were totally incompatible,
so there was no chance of getting Microsoft's
code turning on Waz's system.
So he decided that he'd just have to write his own version of BASIC that would work with
the 6502.
Now, there were actually a whole lot of reasons that went into Waz choosing this route.
Programming in machine code or assembly language was getting pretty tedious
since he didn't really have programming tools for his home-built computer. So he undoubtedly
wanted to move away from that for some tasks. Partly it was necessity, there simply wasn't a
basic interpreter or, like I was saying, anything comparable for the 6502 yet. As was admitted in
later years, there's also a vanity aspect to it.
But I had in the back of my head that I could be a star, that I could get a little fame in
the hobby world, like Bill Gates, if I created the first BASIC for the 6502.
So, in a very real way, Bill Gates was influencing Apple before Apple even existed.
Anyway, Waz would start in on his BASIC interpreter pretty quick.
But here's the thing.
He had never actually used BASIC that much.
In high school, he had got a chance to program in it on a shared terminal for maybe a week.
And sure, he had seen demos of the language at the Homebrew Computer Club meetups.
To make up for that, Waz would grab an
HP BASIC manual from his work and a book of example programs called 101 Games in BASIC.
These would serve as his references while programming, almost like a bible to reconstruct
the language. Now, this is in stark contrast to Microsoft's resources. MS BASIC was written by
Gates, Paul Allen, and Monty Davidoff,
three programmers that all had experience with Basic to begin with.
Gates' team was working in Harvard computer labs,
and they would end up getting kicked out of there
and moved on to work in dorms, and then eventually offices.
Along the way, they had access to mainframes,
and they had access to a lot of expertise.
Woz, on the other hand, he was working out of a garage.
But Woz was undaunted.
He would hammer out his very own version of BASIC at a feverish pace.
But he was only a one-man team with severely limited resources.
And he was dead set on coming out with the first 6502-compatible BASIC interpreter.
So, some choices had to be made
to save time. One of those was to only support integer math. He wouldn't worry about anything
beyond the decimal point. Now, that may seem like a small consideration, but the implications end up
getting pretty big later on. By neglecting floating-point math, Waz would be able to save
time, but his version of BASIC
would have severely limited applications.
You can't calculate interest with this software, but as far as Waz cared, that wasn't very
important.
He was more interested in games, and you really don't need fancy floating-point math for
that.
Initially, he'd call this Game BASIC.
Wazniak would have a working prototype done pretty quickly within a few
months. Once complete, he showed it around to his fellow Homebrew Computer Club members and to one
of his close friends, Steve Jobs. It was impressive, an implementation of BASIC on a new chip, and it
had support for simple games and simple graphics. But this particular project would end up getting
shelved for a little while. Software was only half of Woz's interests in those days.
The other side of the coin was, of course, hardware design.
Once Game Basic was basically complete, he turned his attention to improving his hand-built computer.
Woz would take what he learned building various systems, add in what he liked about the Altair, and end up with a pretty competent computer.
The new and improved machine was in line with the currents of the time. systems, add in what he liked about the Altair, and end up with a pretty competent computer.
The new and improved machine was in line with the currents of the time.
One of the issues with the Altair and similar computers came down to usability.
While capable, these early personal systems were hard to use and ended up needing a lot of support and peripherals in order to really do much. Waz's new machine corrected much of that.
To get full use of an Altair 8800, you would need a terminal, a serial interface card,
and on top of that, just the base computer itself. By contrast, Waz's computer was simplified down
to a single circuit board. A keyboard could be plugged directly into it, and it was able to use a standard TV set as a display. Driving the
show was, of course, the MOS6502, his chip of choice, backed up by 8 kilobytes of RAM. In that
respect, this new machine was close to the Altair, at least in terms of raw power and spec. But the
software side of things was considerably different. But the software side of things was considerably
different. Waz wrote out a bootstrap program, called a monitor, that ran automatically when
the computer was turned on. This was incredibly simple. It allowed a user to manually enter
binary programs into RAM via the keyboard. But it was a big step up from the competition.
Remember that the Altair booted up into, well, nothing really.
Even to connect to a terminal, a user had to slowly enter a bootstrap program using its bank
of switches. Compared to that, Woz was creating a user-friendly machine. Starting in early 76,
he would show off his work at the computer club, even passing out circuit designs and instructions to build your own. But things
would only grow from there. On April 1st of 1976, Steve Wozniak and Steve Jobs would officially
found Apple Computers, and their first product would be Woz's own machine, initially simply
called the Apple Computer, but it's better known today as the Apple One. After some design tweaks
and initial investment,
the two Steves started selling the computer in kit form,
and eventually a limited release of pre-assembled boards.
The killer app for the Apple I was, just as with the Altair, BASIC.
Shortly after release, Apple started to sell copies of Game Basic
recorded onto tape cassettes alongside a cassette expansion board for their computer.
The little computer would sell well enough for Apple to get off the ground as a serious business.
And by the end of the year, Waz and Jobs were already planning a sequel to their first success.
In June of 1977, the Apple II came to market.
In the time since their first computer, Apple had turned into a much more serious company.
In the time since their first computer, Apple had turned into a much more serious company.
This was reflected in their hardware.
Where the Apple I came as a bare-circuit board, the follow-up, the Apple II,
came inside a custom housing, complete with an integrated keyboard.
Everything about the new computer showed off the vision for a truly personal and accessible system that the two Steves were dreaming of.
Setup of a new system was easy.
A user just had to plug their new Apple II into a power outlet and a TV and then just
turn the thing on.
And that accessible experience continued into the software.
The machine booted directly into a modified version of Waz's Game Basic, now more officially
called Integer Basic.
The big changes for Apple II's version of
Basic were for support for color graphics and improved sound functionality, but outside of that,
it remained pretty similar to what Apple I users would have experienced. Hardware-wise, the Apple
II was similar to the company's first computer. It used the same 6502 processor and a similar
amount of RAM. But don't let the
similarities fool you. In the words of Wozniak, quote, some people consider the Apple II to be
a second design built from the Apple I, but I want you to know that that's not so. Not at all.
End quote. The Apple II was a totally new computer built using experience gained from the Apple I, not a redesign. This can
be seen all over the new motherboard, from the radically different way the machine deals with
displaying graphics to the Apple II's massively improved expansion options. It wasn't just a
vastly improved computer, it was a totally new machine that was largely superior to the Apple I.
But there was more to it than just the computer.
While Wozniak was toiling away at the hardware and software that would make the Apple II tick,
Jobs was ironing out the rest of the new machine. Woz's specialty was the computing side of things,
but Jobs was better at knowing how to turn these designs into products. For the other Steve,
it wasn't enough that the computer worked
and was relatively user-friendly. In his approximation, the look, feel, and design of
the entire machine needed to feel user-friendly. They were building a new kind of computer, one
that a layperson would be able to actually use, so it needed to look the part. And you can see
this thinking on the exterior of the Apple II plainly. It was designed to look less like a contemporary computer and more like an appliance, something that
wouldn't look out of place in a home in the 1970s. Instead of a metal and exposed wire assembly,
this new Apple computer was cast out of beige plastic and had rounded edges. It didn't look
like a complicated piece of machinery, It looked closer to inviting, almost.
Diverging from the contemporary was a smart move,
and would go a long way towards making the new computer a real personal computer.
On release day, the Apple II was very well received.
A 1977 review in Byte Magazine put it this way,
The Apple II is a well-executed example of the way a personal appliance computer should be made circa 1977.
It is suited for the relative beginner who knows BASIC but doesn't know the hardware design,
as well as for the advanced hacker who feels no qualms about using the system's documentation to create custom peripherals for the system.
custom peripherals for the system. For the user who wants color graphics, the Apple II is the only practical choice available in the appliance computer class. End quote. The dream of a personal
computer, or an appliance computer as some were calling it back then, was coming true. And a big
part of that was the cooperation between Jobs and Wozniak. This was one of the first computers that
a user could have
up and running within minutes of purchase. BASIC made it easy to use, and its overall design made
it at home outside of a lab or garage. The writers at Byte weren't the only ones who liked the Apple
2. Initial sales were really strong. Going off some early estimates, as many as 64,000 Apple IIs may have sold in the first
two years it was on the market. And as with any product, work continued at Apple after the
computer's release. A big part of that was improving the Apple II's storage options.
Initially, the computer came with a cassette tape interface for storage. This was a common
option for systems at the time. It allowed a user to plug in a standard tape recorder and use a normal audio cassette to read and write data.
It worked, it was cheap, and it leveraged technology that users were already comfortable with.
However, this wasn't always the best solution.
Tape drive storage like this is very slow.
Since the computer has to sequentially access data on the tape one byte at a time,
it can take forever to get to the end if that's where your data is living.
Depending on what type of tape recorder you're using, the drive could also be unreliable.
And overall, storing data on tape isn't very flexible.
So one of the first big upgrades to the Apple II was a floppy drive add-on.
Before 1977 was over, Wozniak was already hard at work
on this expansion, called simply the Disk II. A floppy disk drive was a big step up from tape
drives for a few major reasons. It could hold more data, you could more easily access discrete files
on it, and it was just a whole lot faster and in general more reliable than a tape. And it's also just a newer technology.
The disk drive Woz settled on using, the SugarArt SA400,
was a 5.25-inch floppy drive.
In fact, it was one of the first ones on the market.
Released just a handful of years prior in 1976,
it was the best and newest storage device one could hope to have on a personal computer.
So, over the next few
months, Wozniak and other assorted Apple employees set about creating an interface to connect up the
new floppy disk drive to the Apple II. Once again, we have an example of how Apple is really good at
hardware design. Even in this early period, the company is really good at identifying what
consumers want, leading the trends,
and putting out just good products. The Disk 2 would be completed and released in the latter half of 1978, the final device coming in the form of an expansion card for the Apple II that could
connect up to two disk drives to the computer. It was simple, it was well designed, and it would go
on to sell really well. But in the interim, while Woz was busy finishing the new disk drive, a problem was starting to make itself apparent.
A key choice made years earlier was about to backfire in a big way.
So Integer Basic came stock on every Apple II. Really, it was the only option for end users.
And while it was a pretty good environment for the time
and pretty user-friendly, it had one big problem. As the name suggests, it could only work with
integers. This was fine for a good number of users. You don't need floating point math for
simple games or easy math. But there were a lot more people that wanted to do more with the
computer. With Integer Basic, you can't do
financial calculations. It can't handle interest. It can't even handle whole dollars and cents.
There were third-party programs that could be used for those applications. Spreadsheet software
like VisiCalc comes to mind. But for some users, that wasn't a good fit. It was overkill or it was
inaccessible to them, or maybe the users just
wanted to write their own software in BASIC. Now, this may have been forgivable if Apple's
competitors also had issues with floating point math, but the fact of the matter was that Apple
was alone in this. The other two big home computers at the time, Commodore's PET and the TRS-80,
both booted into a basic environment
and they both supported floating point math out of the box. So not only was the competition very
similar in terms of features, but as far as stock software went, they had an edge over Apple.
To remain competitive, Apple would have to do something about Integer Basic.
But here's where it gets even worse. In
these early days, Apple was running on a shoestring budget. At one point, Jobs would sell his car,
and Wozniak would sell a very nice calculator just to keep the company going. This relative
lack of funds, at least compared to other manufacturers, came into play in some very
strange ways. When programming and updating Integer Basic,
Wozniak was working with assembly language, about as close as you can get to talking directly to
the computer. But despite being such a low-level language, assembly language still needs to be
translated to machine code that can actually be read by a processor. That's done using a program
called an assembler. Nowadays, programming tools like this
are often free, or at least they're easy to get access to. But in the 1970s, that wasn't really
the case. You had to buy a license to the assembler from the same company you bought the processor
from. But Apple couldn't afford that initially. In fact, it's doubtful they could afford a computer
that could even run the assembler.
But Wozniak wouldn't let something like this stop him.
To quote,
A friend taught me that you just sort of look at each instruction.
You write your instruction on the right side of the page, you write the address over on the left side,
and then you look up the hex data for each instruction.
You could assemble it yourself.
So, I would just sit there and assemble it myself.
The Integer Basic, which we shipped with the Apple IIs, was never assembled.
Ever.
There was one handwritten copy, all handwritten, all hand-assembled.
So we were in an early era that we could not afford tools.
End quote.
So, using a pen, paper, and a reference manual, Wozniak slowly assembled Integer Basic by hand.
Once converted from notes into machine code, it was loaded onto chips and installed into each Apple II.
It's a cool solution, and it definitely adds to Woz's street cred.
But as inventive as the solution was, in the end, it would only exacerbate issues.
Key among them was that all the source code for Apple's BASIC was spread across
a series of handwritten notes. Any updates to the software would be slow and extremely delicate
work. In other words, it wasn't very feasible to add floating point support, especially with
Waz busy finishing the Disk 2 project. Apple would need help from the outside if they wanted this to
get done anytime soon.
While Apple was developing their next computer,
another young company out in New Mexico was struggling to find their next customer.
Microsoft had been founded in 1975, and their first product had been a huge success.
MS Basic, the must-have software for the Altair 8800,
had pushed the fledgling software company into the spotlight.
But Microsoft couldn't thrive off the success of a single product. With one wind under its belt,
they had to expand. Pretty soon after Altair Basic shipped, Bill Gates and Paul Allen decided their next step should be to stick with what they knew and write up a version of Basic.
They already had a working version for the 8080, so they went for
the next popular chip, the 6502. The thinking was that if they had this new 6502 BASIC, then clients
would eventually come on their own. But plans rarely work out that well. The software was
finished by the summer of 1977, but finding a new client would be no small task. Microsoft's business model
in those days worked out something like this. A manufacturer would license their BASIC interpreter.
That manufacturer would then get a copy of Microsoft's source code that they could edit
and customize as needed. Usually, this arrangement worked out such that Microsoft got a royalty for
each machine sold with BASIC. In theory,
it was a lucrative business model. With the Altair 8800, Gates and Allen made some pretty
good returns. But taking the next step into the market was no small task.
Before the end of the year, Microsoft had a few smaller clients for 6502 BASIC.
According to some sources, Apple would be one of the first companies that Microsoft tried to pitch their new Basic to. By the time the 6502 Basic was complete, the Apple II was either
on market or very close to it. So, the computer seemed to be a good target for Microsoft.
Supposedly, Jobs himself turned down the offer, saying something to the effect of that they
already had a Basic interpreter, and if they needed to update it, then they would just, quote, do it themselves over the weekend, end quote. I say supposedly here
because, while an interesting story, I haven't been able to find much corroborating evidence
that this exchange took place. But however it happened, we know that Apple was at least aware
of Microsoft's BASIC. As far as verified purchases, Ohio Scientific
would license a copy of 6502 BASIC for their home computer, and MOS Technology would also
negotiate a license for their KIM-1 evaluation board. Neither of these contracts were huge,
but they brought in a slow trickle of money. The final early customer for 6502 BASIC was Commodore,
and this contract would end up
pushing Microsoft into a very precarious position. So in 1977, the Commodore PET would be released.
It's the same year that Apple II was unveiled. These two computers plus the TRS-80 would be the
three most successful computers in the late 70s. For our purposes today, the TRS-80 isn't really in play.
Now, if we just look at Commodore and Apple, well, the differences couldn't be more stark.
Commodore was already extremely well established, having opened for business all the way back in
the 50s. Over the decades, they had transitioned from typewriters to calculators, and finally were
just entering the computer market.
The PET was their first computer, but Commodore's relative newness in the field wasn't a very big
handicap for them. Commodore had a whole lot of money to play with, decades of institutional
experience, and all the connections that come with it. Commodore even outright owned MOS Technology,
the company that produced the processor used by
both the PET and the Apple II, among a lot of other systems. Compared to Apple, they weren't
just on a whole other level. Commodore was playing a different game entirely. Despite that, there are
some big similarities between the Apple II and the Commodore PET. Both used the MOS6502 processor,
and both came stock with BASIC, but outside of that, the two computers diverge significantly.
One of those big differences is that the Commodore PET used Microsoft BASIC from the beginning,
which meant that, among other things, it supported floating-point math. With a big company like Commodore licensing from Microsoft,
Gates must have been pretty happy, right? Well, not so much. There were two big issues with this
licensing agreement, at least on Microsoft's side. The biggest one was that Commodore wasn't
licensing on a royalty basis. Instead, Gates had negotiated a pretty bad deal. At the time,
Microsoft wasn't that experienced, and entering the negotiation table with Commodore ended up being dangerous for them.
When all was said and done, Commodore agreed to a $25,000 perpetual license, meaning Microsoft would only get $25,000 from that agreement. Between the royalty payments from Altair Basic, a few smaller
contracts, and this one-time Commodore deal, Microsoft wasn't bringing in enough money.
Unless they could get a better deal, then there was a very real chance that Gates and Allen would
be out of a job. The other problem came down to branding. At the time, Microsoft's standard MO
was to allow a licensee to do basically whatever they wanted to BASIC. That usually came down to branding. At the time, Microsoft's standard MO was to allow a licensee to do
basically whatever they wanted to BASIC. That usually came down to some simple modifications
for the final hardware it would be on, and adding some custom commands. This also meant that the
products using Microsoft BASIC didn't necessarily have the word Microsoft anywhere on them. A PET
computer simply booted up with the message Commodore BASIC printed across
the top of the screen. So in addition to getting a poor license deal with Commodore, Microsoft would
get no brand recognition out of the deal. They would remain obscure and underpaid. While Microsoft
was trying to deal with their financial problems, Apple was trying to replace Integer BASIC.
While looking through options, Apple realized they had a pretty
clear and available choice. Microsoft had already tried to sell them licensing for Basic.
So, before 1977 was over, Apple struck a deal with Microsoft. The new arrangement was an
8-year license for a flat $31,000. It may not have been the preferred royalty contract Microsoft was
after,
but it was enough to keep the company going.
And over the next few years, software deals with Apple would continue to bring in a steady stream of cash.
This involvement with Apple came at the exact right time to have maximum impact.
Without this, it's unlikely that Microsoft would be the company we know today.
Once at Apple, the project would become AppleSoft Basic,
a combination of both companies' names.
While Microsoft's problems were solved, or at least abated in the short term,
Apple still had a lot of work before they could get a new version of Basic pushed out.
With their licensing agreement, Apple now had a copy of 6502 Basic's source code.
To work on an Apple II, it would need some adjustments. Things like changes to account for the machine's design and some new commands would have to be added in.
But here's the thing. Apple still didn't own an assembler. But thanks to the stream of steady
sales from the Apple II, there was a little bit of money to work with. The programming team that
worked on AppleSoft Basic ended up using a
time-sharing service called CallComputer. Essentially, Apple was able to rent part of a
mainframe. For a while, this worked out alright. The rented mainframe had an assembler, and so work
grinded along. It looked like AppleSoft was going to be ready for an early 1978 release.
The biggest changes Apple made were adding in color graphics commands,
doing a considerable amount of bug fixes,
and some tweaks to ensure that AppleSoft
would be able to run old Integer Basic code natively.
As a final quick aside,
the launch window for Apple's new Basic
would get a little treacherous
due to some unforeseen circumstances.
Partway through development,
Call Computer had a bit of a mess up
and lost a whole lot of customer data, including Apple's modified basic source code. Normally,
this wouldn't be an issue, since anyone running a mainframe should be keeping regular backups,
and Call Computer did have monthly backup tapes. However, on attempting to restore the data, they found out
that all the tapes were totally unusable. It turned out that the tape drive they'd been using
to make backups, well, it was broken. So effectively, they'd been running for months without backing up
any data. Apple lost almost all of their work on the project because of this issue. But not all was hopeless. There was a single months-old
printout of AppleSoft Basic. It wasn't an ideal solution, but it would have to do. Not wanting
to trust their project to call computer after their major failure, it was decided to keep things
in the office. Luckily, one of Apple's employees had brought in his personal computer to work with,
one of Apple's employees had brought in his personal computer to work with, an IMSAI.
What makes this interesting for our purposes is that the computer had a working 6502 assembler.
However, the details are a little murky, so we don't know where he got that program from.
Anyway, the team working on AppleSoft was able to jerry-rig a solution by reading in the original source code from Microsoft
and then applying the changes from these outdated printouts. With a lot of extra work, they were
able to make the January 1978 deadline, and AppleSoft Basic would hit markets before the month
was out. At first, the new, improved version of Basic was sold on cassette tape so it could be
loaded into an Apple II. This worked in general. It was
a way to quickly get a fix out to complaining customers. But it came with all the issues of
tape-based storage. It was slow to load and could be unreliable depending on your tape deck.
To worsen matters, the software was actually pretty buggy at first. Remember, it had been
adapted for the Apple II on a pretty short timeline, and the whole process wasn't exactly smooth.
But despite all the problems,
AppleSoft Basic was a pretty big hit amongst Apple users.
It gave them all the improved features they wanted,
primarily being floating-point math.
AppleSoft Basic was fast becoming a successful product in its own right.
The next big step Apple took was making AppleSoft the default BASIC interpreter for the Apple II. This was solidified in June of 1979
with the release of the Apple II Plus. This new machine was largely identical to the original,
save for the inclusion of AppleSoft BASIC in ROM. Now, users were booted directly into the
new environment, ready to get working. And after a bit
of a journey, Apple's flagship system was now up to speed with the competition. The entire Apple II
series would be a long-lived one, only being discontinued in 1993. That's some real longevity,
and over those 16 years, the Apple II would sell incredibly well. And every model of the computer after 1979 came stock with AppleSoft Basic.
This early and sustained success set up Apple for the company that it would become.
Without the Apple II, we wouldn't have gotten the Macintosh.
And a big part of the Apple II's success came down to the Microsoft software under the hood.
Alright, that does it for the show today. I hope that shed some light on the start of Apple and Microsoft's complex relationship. Before Apple even started, their founders were aware of Microsoft,
and the two companies would start working together very
early on. Wozniak's work to beat Gates and his team to a 6502 version of BASIC led to some
shortcuts, namely the exclusion of floating point math. And that would lead to the early collaboration
once Apple gained some traction. It's strange to think about, but a tiny choice made years earlier
would have a butterfly effect-like outcome.
When looking at the connection between Apple and Microsoft, I think Bill Gates says it best in a 1997 interview.
Quote,
Steve and I first met nearly 30 years ago, and have been colleagues, competitors, and friends over the course of more than half our lives.
End quote.
These two companies grew up side by side, and without their mutual competition and occasional collaboration,
it's unlikely that either would have survived as long as they have.
Like any friendship that lasts this long, it's complicated.
It can get messy.
But that makes it all the more interesting.
Thanks for listening to Adren of Computing. I'll be back in two weeks' time with another story from computing's past.
And hey, if you like the show, there's now a few ways that you can support it.
If you know someone else who would like the show, then why not take a minute to share it with them?
You can also rate and review on Apple Podcasts.
And if you want to be a super fan, then you can support the show through Advent of Computing merch or signing up as a patron on Patreon. Patrons get early access to episodes, polls for the direction of
the show, and other assorted perks. You can find links to everything on my website, adventofcomputing.com.
If you have any comments or suggestions for a future episode, then shoot me a tweet.
I'm at Advent of Comp on Twitter. And as always, have a great rest of your day.