Advent of Computing - Episode 71 - 6502, The Mini-Microprocessor
Episode Date: December 13, 2021No matter how you cut it the MOS Technology 6502 is an important chip. The chip was cheap, simple, and plentiful. This made it perfect for the home computing boom of the late 1970s. But how was this ...classic created? Today we are looking at Motorola's earliest attempts to seize the microprocessor market, how economic factors impact history, and how trends and forces can conspire to create better technology. Selected sources: https://archive.computerhistory.org/resources/access/text/2015/06/102702020-05-01-acc.pdf - 6800 Oral History Panel https://archive.computerhistory.org/resources/access/text/2014/08/102739939-05-01-acc.pdf - Check Peddle Oral History
Transcript
Discussion (0)
Sometimes, seemingly isolated events can have strange and long-term impacts.
One spark can light up something close by.
This can carry down a chain until, eventually, the end result bears little or no connection to the beginning event.
I know it may be a little sensational, but I want to share a chain of events that's kind of been stuck in my head lately.
In 1978, a documentary called Now the
Chips Are Down aired on British TV. Looking back, it's admittedly a real period piece.
The main thrust of the documentary was that the UK government hadn't been adequately adapting to
changing technology. The microprocessor was key to this argument, or more specifically,
The microprocessor was key to this argument, or more specifically, exceedingly cheap microprocessors.
It's explained over the course of about 45 minutes how cheaper and cheaper microprocessors will reshape and destroy the current status quo of society.
Cheap chips will enable automation in all sectors, eventually replacing humans in the workforce. The only way out of this impending disaster, the documentary warns, is for the UK to shift its workforce
towards software and hardware development. The only way forward is to embrace the oncoming change.
This show helped push the UK government to start the Computer Literacy Project, which sought to teach citizens how to use computers.
Key to this project was changing school curriculums to introduce children to computers in general and, eventually, to programming.
The face of this project would be the BBC Micro, an MOS 6502-based computer built by a little company called Acorn.
Now, flush with funding and with ever-growing experience in the industry, Acorn wanted to
branch out.
In the early 1980s, this company was looking for a way to modernize their portfolio, to
catch up with the competition, and they zeroed in on creating a new type of microprocessor.
They called this chip the Acorn Risk Machine, or ARM.
If you're listening to this show on a cell phone,
then chances are really good that you currently have an ARM chip in your pocket.
So the question is, what was the start of this ripple effect?
What caused the fear of cheap microprocessors in the first place?
Well, I can't 100% prove this, but I keep going back to one singular option.
The MOS6502. A chip designed to sell for just $5.
Welcome back to Advent of Computing. I'm your host, Sean Haas, and this is Episode 71, 6502,
the mini microprocessor. Today, we're venturing into the wild world of microcomputers. More specifically, we're looking at one of the chips that powered the
home computer boom of the late 70s and 80s. The 6502 is probably one of the more popular processors
from this era. I'd wager it's kind of a toss-up between the 6502 and the eternal pair of the Intel
8080 and Zilog Z80. But when it comes to sheer number of fans, I think the 6502 might still
have the edge. The chip was used in a wide swath of home micros, from the Apple II to the Commodore
PET and VIC-20. Even the Atari 2600, not entirely a computer itself, ran using a variant of the 6502.
Suffice to say, it was an important chip and it
still has a large following today. It's even been called by some the most
influential chip in the world. I've had a number of requests over the years to
cover this chip so I guess you can say this is me caving in to a little bit of
peer pressure. The 6502 has been on my radar for a while. It's one of those things that just comes
up pretty naturally whenever I venture too close to the dawn of home computing. But I've never
really gone too deep into the story myself. Honestly, I should have done some digging sooner.
This tale has all the components of a classic. Treachery, innovation, big dreams, and, most importantly, fancy semiconductor
fabrication methods. When you get down to it, the 6502 was designed to be a cheap microprocessor
for use in small embedded systems. We're talking things like calculators, cash registers, car
radios, maybe factory automation machines. On release day in 1975, a 6502 cost just $25.
The price and feature set would make it a great choice for smaller applications,
as well as a surprisingly good choice for small computers. But how was this chip so cheap?
This episode, we're going to examine how cost-cutting, market analysis, and improved
manufacturing techniques led to a winning combination. But that's just the boring nuts
and bolts part of the story. You see, like most chips, the 6502 is part of a larger lineage.
I think a lot of this just comes down to the fact that microprocessor design has always been something like black magic.
Early on, only a handful of people actually knew anything about making microprocessors.
It was such a new field that information spread more around offices than universities.
So to talk about the MOS Technologies 6502, we need to look at its direct predecessor, the Motorola 6800. And when I say
direct, I mean so direct that there was a lawsuit about it. So how are these two chips related?
Are we looking at this hidden digital dynasty or something else? Our story begins at Motorola,
one of the oldest players in the semiconductor world.
Early on, the company was most well-known for radios, but with transistors hitting the scene,
they became big in the discrete component market. Once integrated circuits became the next big thing, Motorola would spread into that industry. And once invested, the company tended to keep
its tech in silicon. Odds are that a Motorola-branded chip is somewhere in your general vicinity right now.
After semiconductors and integrated circuits, the next big leap forward in tech was the
microprocessor.
For Motorola, this step came in a strange form.
In 1971, Tom Bennett was hired by the firm. The weird part here is that microprocessors weren't quite on the radar yet.
Bennett was hired to help Motorola design a line of integrated circuits for calculators.
His primary task was to work up a series of standard offerings,
chips that could be shipped in volume and ordered from a catalog.
But Bennett had to wear a few hats in this new gig.
Quoting from an interview with the Computer History Museum,
I had the responsibility of quoting all the custom LSI, large-scale integration, chips
for potential Motorola customers.
They'd come in through marketing first, and then marketing would say, we should look at
this.
And so I got to see all sorts of crazy designs and things that could never be built.
End quote.
Now, I think anyone who's ever worked with client requests can sympathize here.
Sometimes clients either don't know what they want or want something that's totally impossible.
And a lot of these projects were just that.
They were impossible for Motorola to complete.
And a lot of these projects were just that.
They were impossible for Motorola to complete.
Either the client request was unreasonable, too complicated,
or, in some cases, Motorola plain didn't have the experience or equipment needed.
Now, at this point, I should mention that we're going to be a little bit in the dark as to the fine details of this timeline.
The best we have to go on is an oral history panel
that a handful of the 6800s engineers took part in. So some of this picture is going to be
conjecture. What we do know is that one project proposal in particular bared mentioning. In 1971,
Olivetti, an Italian typewriter company that had been branching out into calculators and computers, sent in a request for an integrated circuit-based processor.
The details here are, as I mentioned, pretty scant.
Bennett says that the contract eventually went to a competitor, but only after he and his co-workers drafted up a design for this would-be processor.
workers drafted up a design for this would-be processor. Bennett almost mentions this as an aside, but I can't help thinking that this would affect what would happen next. At some point,
Bennett got to thinking that most of these requests could be solved with a single chip,
or rather, a small family of mass-produced chips. It would have to be programmable,
something like a tiny computer. There would have to be programmable, something like a tiny computer.
There would have to be options for a few different types of I.O. and some kind of memory. What's more,
Bennett actually knew that this type of thing was in the realm of possibility.
Just before joining Motorola, he had worked at Victor Comptometer, a company that specialized
in desktop calculators. Now, before we move on, I have to point out,
Comptometer? That's a great name, and I wish more companies used that in their titles.
Anyway, in 1969, Ted Hoff, an Intel engineer, showed up at Bennett's office.
Hoff was hocking this new programmable calculator chip that Intel was designing.
It wasn't in production
yet, it was still only on paper, but it did have a name. The 4004. Bennett saw some designs and
pretty easily saw that the chip had a lot of potential. Jump forward to 1971, and Bennett
was starting to appreciate this chip in a totally new way. It's not very clear how the project
started or where the name even came from, but in 1971, Motorola started development on their first
microprocessor. This places them actually really early in the race to build a so-called computer
on a chip. The 4004 would hit the market, at least sort of, in November
1971. While not a massive commercial success, early competition must have pushed Motorola
further down this path. The new chip was called the 6800. While inspired by the 4004, at least
in some really vague, ethereal way, Motorola took a very different approach to their microprocessor.
The 4004 was very much a custom project that went in a more complicated and generic direction.
You could say it's a design that kind of got away from them.
The 6800 was conceived of as the core of a larger system
that would allow Motorola to court all these crazy contracts
that Bennett had to refuse.
And at the same time, it would support existing clients.
The 6800 was driven by a very specific set of market needs.
It was a solution built for a large slate of different problems.
Now, I don't just mean this in some abstract market-speak way.
This new chip was designed to solve very specific client issues, but in a generic and reusable way.
Jeff Lavelle, one of the engineers on the 6800 project, explained the early phases of the process
like this, quote, What we did was went back to those various communications-oriented peripheral Quote, this and this and this. So we did those market surveys and came up with a family. The original
6800 family was about 15 building blocks. End quote. The idea of a chip family here is crucial.
Motorola wasn't just going to put out a single microprocessor on its own. It would come with
complementing components. Intel had done the same thing with the 4004. It was called the
MCS4 family. Really rolls off the tongue. This was composed of some ROM, some RAM,
a shift register for simple I.O., and the microprocessor itself. Motorola envisioned
a much larger family of support chips, especially when it came to handling specific inputs and outputs.
Despite being such a straightforward idea, pinning down a chip's family can be a little slippery.
The slickness here mainly has to do with the fact that most microprocessors have really similar
interfaces and buses. These chips come packed in little rectangles with two rows of pins. You have
data pins for sending and receiving data, address pins for specifying locations and memory,
then a smattering of pins for signaling states and latches and a few other just semaphore things.
In general, you have the same kind of pins on most processors, just shuffled around and maybe with some special rules
about how they can be used. So you could, in theory, wire a RAM chip from Intel up to a Motorola
processor. But the big benefit to using, say, a Motorola-specific ROM chip with a 6800 processor
comes down to convenience and support. The chips were designed to be sold
together, be easily wired together, and were tested to work together. That's some real quality
peace of mind. The general idea was that Motorola could sell compatible building blocks to clients.
Instead of having to design custom integrated circuits, Motorola could just sell a bill of computerized goods.
Custom circuits would just be replaced with custom software, saving time and money for everyone involved.
Need to make a terminal? Just get a processor, some ROM and RAM, a CRT controller, and maybe a keyboard controller chip.
Simple.
This is a pretty smart strategy that could open up a lot of doors for,
really for everyone involved.
It's a win-win kind of scenario.
The advent of the microprocessor meant that it was much easier to automate or digitize equipment.
It was also a whole lot cheaper.
You could put smarts into anything for just the price of a few chips.
The only custom parts needed were
maybe a circuit board and maybe some interface logic. If you went with a fully off-the-shelf
design, then even that cost could just be brushed away. The crux of the operation would shift from
custom hardware to custom software, which, at least in theory, would be much more flexible and much easier to design.
One of the core pieces of new technology that made this approach possible was a chip called the PIA, or Peripheral Interface Adapter.
As the name pretty well explains, this was a programmable chip for handling inputs and outputs.
The programmability here was the key point.
By sending a series of commands to the PIA,
you could configure how its bus worked, and thus control how incoming or outgoing signals were
treated. This was all done in software, so a stock PIA could replace any number of other custom IO
chips. Need a keyboard controller? You could go custom, or you could use an off-the-shelf PIA
and a little extra code. Development of the 6800 and its family of support chips would
actually take years. The first chips would ship out in March of 1974. This put Motorola in direct
competition with Intel's new 8080, just to give you an idea of the time frame here. At the end of 1974,
you could buy a new 6800 for $300. Adjusted for inflation, that's $1,600. The price would go down
during 1975 and onward, but we're still looking at a rather expensive chip. This would become the site of struggle for someone within Motorola.
That someone was one of the designers of the PIA chip, Chuck Peddle.
While the PIA was an important part of the overall 6800 family, Peddle may have been
more known for his evangelizing efforts inside Motorola.
You see, the idea of selling microprocessor-based systems was still
pretty new, even in 1974. The 6800 had been announced just three years after the first
microprocessor hit the market, so it would take some convincing to get people in marketing and
management to be fully behind this new little device. Petal, for his part, helped along the process by combining demo devices
and internal seminars on the wonders of the 6800.
He was a true believer in the good word of the microprocessor.
Slowly but surely, he won those reluctant over to his cause.
One of Petal's demos that I find really neat was, for lack of a better word, a TV typewriter.
He grabbed a self-scan display, it's a CRT with some integrated circuitry for displaying text and other bits.
He simply wired up a 6800, a PIA, a little bit of ROM, and a keyboard.
Some solder, a little code, and he would be able to show how easy it was to hook multiple interfaces up using Motorola's new chips.
Petal's internal work had the side effect of turning him into a sort of salesperson.
Motorola employees weren't the only people who needed to learn about the 6800's features and benefits.
Customers would also have to be sold on the usefulness of a totally new technology.
To this end, Motorola hosted traveling seminars on the new chip.
Petal was an obvious choice for some of these seminars.
This put him into direct contact with clients.
More specifically, Petal found himself espousing the virtues of the 6800
to rooms full of engineers and programmers.
This would lead to a bit of a revelation.
Every time we'd get through the meeting and somebody in the room, smart guys, remember,
I've got the smartest guys in the company in this room, they would say $250 for that
controller isn't going to work.
PIA is going to work, and we agree with your logic, but this isn't going to work. PIA is going to work, and we agree with your logic, but this isn't going to
work. And I knew enough then about processing, I said, well, okay, I've got to shrink the size."
The issue, as is often the case, came down to price. Microprocessors were starting to push
computing in a new direction. Really, they were starting to expand where computers
could be used and be useful. But there was a stumbling block of price. It was totally possible
to use a single microchip and a few other support chips to replace heaps of custom circuits.
Desktop calculators are the perennial example in this era. Throw in a 6800 and you have a machine that can run all your numbers,
plus a whole lot more.
The same approach could be extended out to things like point-of-sales terminals,
or factory equipment, or even something as mundane as household appliances.
But we get back to the whole issue of price.
How much computing power do you actually need for a desktop calculator? Intel wasn't exactly
making cheap chips, but they were able to replace calculator ICs with a 4-bit processor. The 404 had
ridiculously little computing power. By contrast, Motorola had created a metal oxide beast.
Motorola had created a metal oxide beast.
The 6800 was an 8-bit processor, but it came with some 16-bit touches.
The address bus, what it used to access memory and I.O. devices, was 16 bits wide.
This meant that it had to have a few 16-bit registers for dealing with memory addresses.
Bennett had chosen to model the 6800's design on the PDP-11, a popular mainframe at the time. This meant the chip supported a number of pretty advanced features. One of the biggest was
direct memory access. The memory bus could be configured to allow external devices to transfer
data directly into RAM without even touching the CPU. In theory, you could even build a multiprocessor system that
used two or even more 6800 processors in concert. The point is, the 6800 was, for its size and time
period, a pretty beefy microprocessor. But this gets back to the question at hand. How much power did most of Motorola's
clients actually need? Petal was hearing that they needed a lot less processor than Motorola was
selling, and it seemed he was inclined to agree. So why not cut back some of the features and sell
them an even smaller microprocessor? Call it a mini microprocessor if you want.
So Petal did what came naturally.
He started designing a new chip, and he started getting more feedback from clients.
He shifted from jotting down complaints to asking for specific requirements.
Petal described ending seminars by asking participants to come up to the blackboard
and list which instructions and features they actually needed in a chip.
He was following a similar path that Bennett had used while designing the 6800 initially.
The difference was with the scale involved.
Petal was trying to figure out the minimum viable feature set for a microprocessor.
was trying to figure out the minimum viable feature set for a microprocessor. News of this made its way back to Motorola, and apparently it led to some issues. Quote,
Motorola got upset with me. The marketing guy says he's out trying to shoot down the 6800.
And I got a formal letter saying that you have to stop working on your low-cost microprocessor.
And I wrote a letter back to Motorola and said that's called project abandonment. So all of the work I've done
up to now belongs to me and will not do any more development work for you. I'll go out and do
classes for you, but I won't do any more development work for you. I'm gonna do it for myself."
any more development work for you. I'm going to do it for myself. Petal was done with Motorola.
He thought he was sitting on a good idea and he wouldn't let Motorola get in his way.
So Petal started making plans to sever ties and strike out on his own. Or, at least,
strike out away from his current employer. Petal had lived as something of a digital nomad for most of his early career. You run into these kind of folk on occasion. You have engineers, programmers,
or what have you that hold more allegiance to a project or an idea than any one company.
Prior to Motorola, Chuck had worked for a time at GE Programming Mainframes. In the late 60s,
he and a few co-workers broke off to form a startup.
Their big idea, at least at this point, was to make automated payment terminals, but funding
issues turned that idea into a dead end. Then, Petal joined Motorola to work on the 6800 project.
The two key things here are that Petal was never afraid to go off and pursue his own ideas,
and that he had a lot of connections in the computing industry at large.
After a few years at Motorola, it was about time to start flexing those connections.
One of those contacts was John Pavian.
The two were acquainted from Petal's GE days.
In the intervening years, Pavian had started a small company in Valley
Forge, Pennsylvania. The outfit was called MOS Technologies, or just MOS. They were making a
name for themselves as semiconductor manufacturers. MOS was mainly known for functioning as a second
source for parts. Other firms, TI for instance, always needed outside manufacturers to bulk up the supply chain.
MOS had the equipment and staff to turn out chips. Petal was on the hunt for someplace where he could
make his smaller microprocessor a reality. With his past startup experience, he knew he either
needed a lot of funding or some existing company that he could slot his idea into.
a lot of funding, or some existing company that he could slot his idea into.
But this wasn't smooth sailing.
Some manufacturers he talked to just plain weren't interested.
Some were afraid of liability issues with Motorola.
Eventually, this led Petal back to an old colleague.
Quote,
I went to Valley Forge to talk to John Pavian.
Now, here's the guy who knew computers better than anybody. He did all this stuff. He caught it in about 20 seconds what I was trying to do.
The plan was starting to come together. Petal had the idea. Pavian had a place for him to make it a
reality. But they still needed a team who knew how to design and build microprocessors.
This is where a little good timing would help bring everything full circle.
Petal's flight from Motorola occurred in 1974. That places it smack in the middle of an economic
recession. Inflation in the US was on the rise, and so too was unemployment. Now, it may come as a shock to
you, dear listeners, but I don't really know much about economics. I've been trying to learn a
little bit specifically because this recession had a major impact on the semiconductor industry in
general, and the timing couldn't have been worse. This recession is usually pegged as starting in 1973 and ending in 1975. Just for
some context, the 8008 hit the market in 1972, that's Intel's second chip. The 8080 was released
in 1974. Microprocessors were just coming of age during this downturn. In 1974, for the first time, the overall market
for integrated circuits shrunk. Every year since the first ICs came to market, things
had been growing. Up until 1974. This wasn't a case of one or two Simcos having a bad year.
Everyone in the market suffered. Cuts had to be made, belts had to be tightened.
This is my speculation, but I guess that part of the reason Motorola didn't want to pursue Petal's new project may have been due to this recession.
A more concrete result of the downturn is that
Motorola tried to centralize and reduce some of its operation.
Around 4,500 employees were laid off.
Up until now, the group working on the 6800 had
been located at Motorola's Phoenix campus in Arizona. Somewhere in the upper echelons of
management, it was calculated that it would be more advantageous to move this group, along with
most of the semiconductor division, to a new factory in Austin, Texas. In the words of Bill Minch, one of Peddle's co-workers on the 6800 team,
quote,
We didn't want to go to Austin, Texas.
End quote.
This was the bottom line for a large part of the 6800 team.
Motorola was moving on, and they just had no interest in following.
A few quit and went to work for Intel.
Petal was handed a golden opportunity here. In August of 1974, he convinced seven of his
co-workers to move with him out to Valley Forge, Pennsylvania. That, of course, included Bill
Minch, who just did not want to move to Texas. And just like that, Moss Technology had acquired
a brand new microprocessor division. But what exactly was this relocated team in for?
Petal had two core chips in mind, the 6501 and the 6502. There are also support chips in here,
but that's a matter that we don't really need to get into right now.
The 6501 was basically a parting shot at Motorola. It was planned to be Petal's reduced 6800 crammed into a compatible packing, making it a direct drop-in replacement for Motorola's chip. Not
software compatible, but at least compatible with all of Motorola's I.O. and support devices.
As such, we're not going to be dealing with the 6501 much.
Just know it existed, and it was almost the exact same as the second chip in the lineup, the 6502.
The design goals for the 6502 were relatively simple on paper.
Make a cheaper chip based on customer feedback. It should be faster than the 6800, it should cost less than the 6800, and it should
do less than the 6800. In other words, beat Motorola at their own game and hopefully
don't get sued while doing it. The trick here was, of course, the price point.
Peddle's goal was to get the bulk price of the microprocessor down to $5.
That is, if you're buying hundreds of chips, they should cost $5 each.
In his vision, a client should be able to buy tubs of 6502s at a time without even thinking
of the cost.
This may seem like a wild goal, but the trick here is that Petal
had a very restricted scope in mind for the new processor. He would build the chip as the heart
of an embedded system instead of a fully-fledged computer. In that context, the price point is a
lot more in line with normal undercutting. The other breath of sanity here was that the 6502 was
intended as the heart of a larger family of support chips. As Minch would explain in an
interview with IEEE, quote, the intention was to develop a $20 microprocessor to compete
with the Intel 4040 microcontroller chipset, which sold for about $29 at the time.
We weren't trying to compete with the 6800 or the 8080.
End quote.
So a 6502 plus all its support chips was targeted to sell for $20
in competition with another small chip.
The Intel 4040 was essentially an expanded 4004.
It's a 4-bit chip meant to add just a little
bit of smarts to normally dumb devices. Bottom line here is that the 6502's design goals sound
wildly ambitious at first, but there's some more down-to-earth thinking going on here.
The whole beat Motorola at their own game was going to be possible because, well,
Motorola had just overbuilt the 6800. Petal and the new team at Moss was going to undercut Motorola
by going after clients that needed smaller chips, the clients that, even with the 6800,
Motorola couldn't court. This drive for smallness extended to all aspects of the 6502's design.
The best place to start getting into details is probably the instruction set, since,
believe it or not, that may be the least technical part of this project. I know,
instruction set architecture isn't exactly the most simple thing, but in this case,
isn't exactly the most simple thing, but in this case, let's have it serve as a gentle starting point. First off, the 6502 straight up had fewer instructions. The smaller chip only had 56
instructions compared to the 6800's 72. There's not some overarching shift going on here, it's
just that less frequently used instructions were cut.
When Petal was first forming his ideas for a smaller chip, he talked with clients that were using the 6800 or thinking about using the 6800. From them, he was able to get a list of instructions
that users actually wanted or, more importantly, actually needed. That gave him enough information to devise a minimal instruction set. Just as an example,
instructions like neg, which were used on the 6800 to negate an address or register,
well they're useful, but they're not needed. They were cut. The effect was twofold. First of all,
this made the 6502 a smaller and more simplified chip. Fewer instructions meant less silicon was needed for each chip.
The secondary effect was that the 6502 was a cleaner environment to work in.
The MOS team was essentially cutting out the fat from the instruction set.
For programmers, this meant fewer instructions to memorize.
It's a little detailed, but definitely a nice one. The 6502's
overall architecture was just more simplified. Registers are another good example here. Motorola
had built a bit of a strange chip in this regard. The 6800 had two 8-bit accumulators, a 16-bit
index register, a 16-bit stack pointer, and a 16-bit program counter.
The mix there was mainly for memory purposes.
On the other hand, MOS's little chip had a single 8-bit accumulator, just one.
It had two 8-bit index registers and an 8-bit stack pointer.
Then, to round things out, you get one 16-bit program counter.
On raw numbers alone, the 6502 get one 16-bit program counter.
On raw numbers alone, the 6502 had less on-chip storage,
a mere 48 combined bits compared to the 6800's 64.
That's already less silicon, but there's a little more finesse buried in there.
I should probably give a quick explanation of registers for those who don't
like to spend their time down in the deeper parts of a computer. Basically, registers are tiny
chunks of memory built into processors. They're used for immediate storage of data, usually numbers
that you're about to operate on or the result of operations. Registers come in a few different flavors. Accumulators are
generally used for math, while index or pointer registers are used to store memory locations.
Pointer is probably the better word because they literally point to somewhere in memory.
At first, this may sound like a semantic distinction, but it makes a world of difference
down on the silicon and metal oxide level.
The big difference here comes down to how different types of registers are connected
up to the rest of the processor.
For accumulators, we see a more direct connection to the chip's arithmetic logic unit, or
ALU.
That's the part of the chip that handles… well, it handles math. It does arithmetic on
numbers. Anytime you tell the computer to add or subtract numbers, for instance, that gets handled
by the ALU. Accumulators are usually connected pretty close to the ALU's inputs and outputs.
For some operations, the ALU will only accept data from the accumulator. Index registers are a pretty
different breed. They will often have some type of route to get data in and out of the ALU, but
only for a limited set of operations. Instead, index registers are used for memory access.
You load up your index register with an address in memory you want to handle. Then the processor can read from that index register into its memory decoding circuits.
You can't do that with an accumulator just because there aren't the connections.
The bottom line here is that different types of registers have to be implemented on the
silicon in different ways.
Register layout and even just the type of registers you want will have a direct
impact on the processor's design, and that impact can be dramatic. In the case of 6800 versus 6502,
we can see this pretty clearly. The easiest example to reach for is the change in accumulators. The 6800 has two, the 6502 has one. This means that the 6800 had to have
extra space on the chip for storing data. It had to have circuits devoted to deciding
which accumulator to fetch data from, how to route that to the ALU, and then how to
route that back into another accumulator. Sure, this added more complicated circuitry, but the
complication also percolated up to the chip's instruction set. In the 6800's machine code,
each instruction, at least each instruction that deals with math, can have multiple arguments.
You can specify which accumulator to use when running addition, for instance. The 6502 only has one accumulator.
There is only one route from that accumulator to the ALU and from the ALU back to that register.
Simplicity itself. Once again, this is visible up on the machine code level.
Addition in the 6502 doesn't let you specify which register to operate on, because, you
should know by now, there's only one choice.
The instruction set and the circuits needed to handle instructions are simplified.
Simpler chip means smaller chip means cheaper chip.
The whole size vs price thing here is also something that I need to draw our attention
to.
Now, here's a dirty little secret.
Integrated circuit manufacturing is really wasteful.
I don't just mean in terms of materials used to make chips.
Manufacturing yields, that is, how many chips end up working when all is said and done,
are surprisingly low.
The number usually quoted
for the 6800, for instance, is a yield of about 20%. So out of every 100 microprocessors that
Motorola produced, only 20 actually worked. Modern yields are supposed to be better. The
rumor I see online is that Intel can get above 80% yields, but we're still
looking at a surprisingly variable process. So why are yields so low? Well, let's look at the 6800k
since that's the most relevant one to our discussion today. This all comes down to how ICs
are fabricated. It's a mix of lithography and almost magic, really. Lithography is the
process of printing onto stone, or in this case, silicon. Silicon is technically a rock after all.
The process all starts with a wafer of crystalline silicon. The wafer has to be forged and then cut
to exacting dimensions. Then, the photolithography can begin.
A series of light resists, masks, and chemicals are used to etch away parts of the wafer or to
deposit compounds onto the wafer. Over multiple passes, components and connections are built up
on that silicon wafer. By the end of the process, each wafer will contain multiple copies of the
same chip. For the 6800, 140 chips fit onto a single wafer. Here's where the problems start.
Now, I want you to think for a minute. What would happen if some dust got onto the wafer during
some stage of manufacturing? The answer is pretty simple. That part of the wafer is destroyed.
Tracks and traces would be laid wrong. Maybe a transistor would be ruined. The chip in that
section would be rendered useless. So subtract that from the manufacturing yield. The same goes
for defects in the wafer itself, so subtract some more from your theoretical yield.
We also have to take into account the photoresist.
When the 6800 first entered production, photoresist, that is, the part that blocks light in order to etch patterns into silicon,
was applied directly to the wafer.
Think of something like a really tiny stencil with details a few microns across.
That works, but it has its own annoying issues. For one, removing the stencil could leave residue
or stencil bits behind. That destroys whole swaths of the wafer. The stencil also tended to degrade
quickly since they were in mechanical contact with the wafer.
You're putting it on, pulling it off, putting it on, pulling it off.
After a few uses, you had to make a new stencil.
And if parts of that stencil were too degraded, then parts of the wafer would suffer.
So, once again, subtract more from the manufacturing yield.
So, how do you get around these issues? Well, there's one
really quick trick. Make smaller chips. I know, this sounds kind of dumb, but it actually has a
real impact on yields. There are math models that show this. I won't go into the full proof because,
well, you know my podcast rule. No mathematical proofs will be given in audio
format. The short explanation is this. Let's assume that imperfections on the wafer, be that
issues with the silicon or residue or dust, are randomly spread over the surface. The more space
a chip takes up on the wafer, the higher chance it has of encountering a defect in its surface area.
The result is that smaller chips, and I literally mean physically smaller chips, have higher yields.
Higher yields means less waste, which means chips are cheaper to manufacture, and that savings can
be passed down the line. This is one of the reasons that the MOS team
worked so hard to make the 6502 smaller and simpler. The original 6800 dies were 29 square
millimeters, while the 6502 was only 16.1 square millimeters. So right there, we already have an
improvement in yields and an improvement in price point.
A change in lithography technology would also help MOS improve yields.
In 1973, a new radical technology called Microline hit the scene.
Just like Comptometer. Great name.
Anyway, it would start gaining widespread adoption in the next few years.
It was a little bit too late for the 6800 to take advantage of it initially,
but it was just in time for the 6502. The big change here is that Microline allowed
manufacturers to ditch contact-based resists. Instead, Microline worked by projecting a stencil onto wafers through a
series of lenses. No contact involved, which meant no risk of residue, and stencils could last
basically indefinitely. The entire field was advancing, and MOS was in a really good position
to start implementing these new techniques. As Bill Minch would put it, these changes were somewhat
radical. Quote, the process guy that was the head of process at Motorola, he grew a long beard
waiting for 10 good dye per wafer, and we were getting like 100 good dye per wafer on the 6502.
End quote. Discounting everything else, the yield alone put MOS miles ahead of Motorola.
There was one additional radical shift that MOS benefited from, depletion load in MOS. Now,
this is getting to such a low level that it's effectively in a whole other scientific field. So let me do my best here to stumble
all over myself. NMOS, or N-Channel Metal Oxide Semiconductor, was the prevailing technology used
to make integrated circuits in the era we're dealing with. The N-Channel part is describing
the type of silicon junction used. How it was implemented was in flux around the time that MOS started
developing the 6502. The older method was known as Enhancement Mode in MOS. In this mode, printed
transistors were closed by default until voltage was applied, and the circuits required multiple
input voltages. This is why some early microprocessors needed plus 5, minus 5,
and plus 12 volt inputs to function. The 6800 got around these strange power requirements
by including a circuit on the chip that boosted a 5 volt input to plus 12. That made the 6800
easier to work with, but it came at the cost of chip complexity. Once MOS started
laying down traces, there was a new technology on the street. Depletion load in MOS. Here,
transistors were open by default, and circuits only needed the standard plus 5 inputs to function.
Just like that, MOS could ditch the added power handling part of the chip. But there were more implications for chip size and complexity.
Now, I'm hazy on the fine details here because, like I said, this is getting way out of my
comfort level.
But depletion load in MOS chips are supposed to be able to operate faster and take up less
space.
I think it's something with the transistors being physically smaller.
So, once again, the pace of development here was helping the 6502 become a better chip.
The MOS team completed the 6502 on, really, pretty short order.
By 1975, the little processor was ready to be unveiled to the world.
the little processor was ready to be unveiled to the world. In July of 75, ads for the upcoming 6501 and 6502 popped up in trade journals and magazines. One ad for the 6502 specifically
touted its low cost, cheap documentation, and compatibility with Motorola's I.O. chips.
This was another sneaky way that MOS was able to make the new chips so cheap and so quickly.
You see, the 6502 was designed, at least initially, to be able to take advantage of the PIA and
similar parts sold by Motorola. This wasn't so much out of laziness, but part of the overall
gambit to beat Motorola at their own game. Petal wanted to go after customers who were using the
6800 already, or at least somewhat invested in that ecosystem. Sure, the 6502 wasn't software
compatible with Motorola's processor, but it could use a lot of the same support chips.
As a further dig, the 6501 had the same pinout as the 6800. Once again, not software compatible, but the 6501
could be dropped right into the same socket as a Motorola processor. The public got their first
real taste of the new 6500 series in September of 1975 at the Westconn trade show in San Francisco.
at the Westcon trade show in San Francisco.
Petal's plan was to sell sample 6501s and 6502s at their booth,
but he ran into a little issue.
The trade show didn't allow vendors to sell products on the showroom floor.
It sounded like you could probably take orders and give out brochures,
but not so much sell products direct.
So he made a little workaround.
The booth would hype up prospective customers,
then direct them to a nearby hotel room where they could meet more of the MOS team and buy chips and documentation.
As Minch described it,
Petal set up jars full of chips so it looked like MOS was sitting on a huge supply.
A 6501 sold for $20 and a 6502 sold for $25.
Quote,
We had beers and talked with people, and a lot of people were interested in what we created.
End quote.
Setting would play an important role here.
Remember, the MOS was based in Valley Forge,
not really a locale known for its place in computer history or the computer industry at any time.
San Francisco was a little better placed.
It's on the north edge of Silicon Valley, and perhaps more importantly for this era,
it was near the Homebrew Computer Club. I'm not sure how many members would attend this
specific trade show, but a few are mentioned by name in later interviews. That day in September, Petal sold a 6502 to Steve Jobs and Steve Wozniak.
The Apple one, while not the first microcomputer by any stretch, was Apple's first pass at making
anything. It would be powered by the 6502. And I can't help but imagine that some of Wozniak's
early test boards could have used a 6502 that he bought from Pedal directly.
On November 3rd, 1975, the event we were all waiting for finally happened.
Motorola sued MOS Technologies.
Really, this is one of those very thinkable outcomes.
The main issue wasn't the 6502 as much as the 6501. Motorola argued that MOS was
violating their patents on key aspects of the 6800's design. One of the big areas of discussion
was the bus of the 6800, in other words, the pinout that the 6501 copied. To make things good and complicated, a number of current MOS employees were actually listed
as inventors on the patents that Motorola claimed MOS was violating.
So yeah, the entire case is a bit of a twisted web.
Now, I'm not going to get into excruciating detail with the lawsuit here.
I think what's more important is the general impact it had on MOS.
Mainly, it cost the smaller company a lot in legal fees.
In the middle of 1976, the two companies settled out of court.
MOS paid Motorola about $20,000.
They returned some documentation that one of the eight defectors had brought,
probably illegally, to MOS and agreed to stop production of the 6501. The only good to come
of this case was a cross-licensing agreement, meaning that MOS and Motorola agreed to license
patents to each other. I think that was more to prevent future lawsuits than anything.
In the end, Motorola would prevail simply because they were a bigger company.
This lawsuit put MOS in financial jeopardy, but it wasn't the only danger the company faced.
The microprocessor market in this period was small and, I don't want to say tenuous, but it wasn't in a good place.
And I don't want to say tenuous, but it wasn't in a good place.
Most other companies were producing microprocessors as something of a side project.
Intel is the perfect example here.
They sort of fell into the position where they could make microprocessors.
But even then, it took a little coercion. It took something like six months for management at Intel to actually agree to move forward with the 8080 project.
The fear was that there wouldn't be a market for these complex chips.
And for a number of years, there just wasn't.
So MOS was left in the doldrums, so to speak.
The first microcomputers, at least the first that saw any large-scale production,
wouldn't really exist until 1977.
That's a solid two-year wait between when the 6502 went to market and when the Apple II and
Commodore PET would boost that chip into vogue. MOS wasn't connected to some larger market like
Intel or Motorola or Texas Instruments. MOS had been a player in the calculator IC market, but after
the recession, that started to drop off. Maybe MOS would have been in trouble even without
Motorola's intervention, but the lawsuit definitely pushed things to a dangerous point.
But there was more going on at MOS than just the lawsuit and awkward years waiting for microcomputers.
The small company was pushing for a new way to kickstart adoption, once again from Petal.
We made two or three little test machines out there that you could type into and, effectively,
little computing devices that went to all the instructions. And the guys at MOS Technology
came up with the idea for the Kim 1.
And their argument was, you needed a little keyboard.
If you look at it, they're calculator guys.
And they basically built a calculator on a board that you could type in and put instructions
in and make it run.
End quote.
On the surface, the Kim 1 is a pretty run-of-the-mill microcomputer system for this time period.
Kim 1 is a pretty run-of-the-mill microcomputer system for this time period.
We're talking smack in the middle between the Altair 8800 and the Apple Commodore Tandy Trifecta.
It came as either a kit or a pre-assembled computer.
A finished Kim 1 cost $250.
The kit, of course, cost less, but no matter how you cut it, that was a rock-bottom deal for a computer.
For comparison, an Altair 8800 around this time would cost more than $500.
So the price point here is a differentiating factor to be sure, but there is more to this
picture. The Kim 1, which stood for Keyboard Input Monitor 1, was coming from a first-party manufacturer.
I mean, duh, right?
MOS was making this board with their own processor and support chips.
This is what made the KIM-1 so unique.
It's pretty normal for a chip manufacturer to build and ship their own reference hardware
for developers to, you know, start sinking their teeth into. Take, once again, Intel, for instance. They shipped the IntellX series of development
systems. Each new model was built as a reference and test system for Intel's latest and greatest
microprocessor. Intel intended these systems for companies that wanted to build microprocessor
controlled systems, their own microcomputersers or just start programming for new processors early on.
To that end, Intellec systems were often supplemented by mountains and mountains of documentation.
This was industrial-strength stuff as far as Intel was concerned.
These systems were also pretty inaccessible to outsiders.
The Intellic 8, the system built around the 8008 processor,
cost $2,300 when it was new, and it wasn't even sold to the general public.
Gary Kildall, the eventual creator of CPM,
has a great story of going through all kinds of trials and tribulations trying to get access to one of these systems. By contrast, the Kim 1 was as cheap as it got, and access wasn't an issue at all.
Want a new 6502-based computer? You could call MOS's phone number directly, or you could send
in an order. Electronics magazines like Byte carried ads with little cutout forms for ordering your own
Kim 1, and all the documentation you could ever want was included with the base price.
The system was filling a similar role to the Intellect series, but was much easier to buy into.
Anyone could buy into this. You may be thinking, what was the catch? Why the price difference? As far as I can tell,
the two big differentiating factors were that the Kim 1 had less RAM, and it didn't come in a nice
case. And that's it. You see, the Kim 1 is what's known as a single-board computer. Every component
of the system was soldered onto a single circuit board.
That included the 6502, a kilobyte of RAM, a little bit of ROM, and a pair of I.O. chips.
The computer could be controlled two ways. A small keypad and segmented display were quite
literally on board, or you could connect the KIM-1 to a serial terminal. Either way,
the interface was handled via a small monitor
program in ROM that allowed for simple machine code programming and debugging. And as a funny
aside, at the time, most home micros offered a series of lights and switches on their front
panel for direct control. One reviewer in Byte Magazine pointed out how he vastly preferred
having a simple calculator-like interface soldered right onto the computer. It just made life a little bit easier.
The final piece, the capstone of the Kim-1, was its expansion interface. The computer itself
may have been relegated to a single board, but it was possible to grow beyond that.
The board had two edge connectors for expanding the system.
To be fair, one of these was a little mandatory.
The first bus was used to provide power, serial I.O., and a cassette tape interface.
The second bus allowed you to add more memory up to 4K and gave you access to 15 I.O. ports.
The I.O. is also hiding a little bit of a secret inside. You see, the 6502 uses memory-mapped I.O. ports. The I.O. is also hiding a little bit of a secret inside. You see, the 6502 uses
memory-mapped I.O. That means that instead of having some specialized on-chip system for
handling inputs and outputs, you just read and write from memory as usual. All you have to do
is have some kind of decoding hardware hooked into the memory bus, and then access those special memory addresses,
and all of a sudden, you're doing input and output.
The CHEM-1 comes with 15 lines worth of decoders provided by two extra chips,
but you can easily add more.
Here's why that matters.
This is the same approach used by a lot of DEC computers like the PDP-11.
These systems were already really popular.
A lot of programmers of this era would have cut their teeth on the PDP-11.
So the much smaller KIM-1 would have felt instantly familiar.
This helped make the KIM-1 an enticing device for developers,
which, in turn, helped make the 6502 an enticing chip.
The Kim 1 also came with extensive documentation, further sweetening the deal. You got the expected
user manual, full system schematics, a hardware manual, a programming manual, and reference
material for the 6502 itself. And these weren't just single sheets, they were full-on books,
pulling yet again from Byte, quote, I have to admit that I have not yet digested all the
information in the 150-page hardware manual which came with my Kim, since my main interest is
programming my system as soon as possible. However, the manual seems to have a solid emphasis on I.O. interfacing
and usage of the control lines." We're looking at extensive documentation here.
For your $250, you had everything you needed to get up and running with your own microcomputer.
And you also had everything you needed to create your own computer from scratch using a 6502.
had everything you needed to create your own computer from scratch using a 6502. This would serve as a starting point for many eager programmers and hardware nerds. One of the rumors
floating around is that factories would buy KIM1s, throw together some interface circuits and a
little code, and thus automate machinery. I can't tell if or how often that kind of thing happened, but MOS was offering the functionality
to support these kinds of needs.
Despite the Kim 1 being such a fantastic offering and the 6502 in general being a really good
deal, MOS was still in financial trouble.
The issue seems to have always come down to volume.
The market just wasn't quite big enough yet.
In 1976, the Motorola settlement hit. A few months later, MOS was bought out by Commodore
business machines. The Kim 1 would be transmuted, reformed, and eventually lead to the Commodore
PET in 1977. But that's all a story for another episode.
that's all a story for another episode.
Alright, that brings us to the end of this episode.
The 6502 was really the little chip that could, in more ways than one.
What's so satisfying here, at least to me,
is that we see a seed of an idea coming into full bloom.
While working at Motorola, Chuck Petdle got an idea stuck in his head,
to make a cheaper and smaller chip.
He pursued that idea even when it cost his current job.
Thanks to some good timing and good connections,
Peddle was able to pull together a team to bring this idea into the real world.
The fact of the matter is that the 6502 benefited from fantastic timing,
in, once again, more ways than one. It was designed at just the right time to take advantage of new manufacturing techniques. It was just a little early to the home computing boom of the
late 70s, but was well established as an option as more microcomputers started hitting desks.
Moore's Law, a tried and true rule of thumb, states that the density of transistors in
an integrated circuit roughly doubles every two years.
The 6502 wasn't twice as complex as its immediate predecessors, but I think it was
riding a similar wave of progress.
The $5 chip was coming, and MOS technology ended
up being positioned right in the splash zone. Thanks for listening to Advent of Computing.
I'll be back in two weeks time with another piece of computing's past. And hey, if you like the show,
there are now a few ways you can support it. If you know someone else would be interested in this
kind of information, then why not take a minute to share the show 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 directly 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 bonus episodes. You can find links to everything on my website, adventofcomputing.com.
If you have any comments or suggestions for a future episode, then go ahead and shoot me a tweet.
I'm at adventofcomp on Twitter. And as always, have a great rest of your day.