[HN Gopher] Q&A With Bill Mensch, co-creator of the 6502
___________________________________________________________________
Q&A With Bill Mensch, co-creator of the 6502
Author : systems_glitch
Score : 80 points
Date : 2023-12-13 14:28 UTC (8 hours ago)
(HTM) web link (spectrum.ieee.org)
(TXT) w3m dump (spectrum.ieee.org)
| systems_glitch wrote:
| OK folks, here it is, the IEEE Spectrum article where Bill Mensch
| says, directly, that the 6502 was intended to compete with the
| Intel 4040 for low-cost embedded applications and says, again
| directly, that it was _not_ intended to compete with the 8080 and
| 6800.
| klelatti wrote:
| Thanks for sharing this - it's a great interview.
|
| I do think there is a subtlety about the 'wasn't intended to
| compete with the 6800' line though.
|
| Chuck Peddle recognised the market for a much cheaper version
| of the 6800 which Motorola refused to make, possibly because
| they couldn't make it that cheaply with the contact lithography
| process they were using.
|
| So Peddle went off to MOS Technology (taking lots of Motorola
| engineers with him including Mensch) to make the cheaper
| version. To achieve that goal, they had to cut down on some of
| the 6800's features. Reducing the size of the stack pointer,
| only one accumulator, and so on.
|
| As it turns out, the end result - the 6501/2 - was actually
| very competitive with the 6800. So whilst the original
| intention wasn't to compete with the 6800, in the end it did
| compete with it very successfully in some important markets.
|
| Of course, in addition MOS Technology didn't have the resources
| of Motorola and so also couldn't compete with them in terms of
| support, peripherals and so on.
|
| Note: I wrote the original post on the 6800 that led to the
| discussion [1] and I'm now deep in the writing of Part 2 of the
| 6800 story. (So I've now provided spoilers for Part 2!)
|
| [1] https://news.ycombinator.com/item?id=38616591
| systems_glitch wrote:
| The 6502 absolutely did evolve to compete (and overtake, in
| some fields) the 6800, no doubt about it! The motivation of
| competing on the embedded market (whether you see that in
| Bill Mensch's IEEE interview quote, or Chuck Peddle's
| lamenting that customers didn't like the $300 tag on the
| 6800) explains a lot of the design choices though, especially
| when considering support chips like the 6530 mask-programmed
| RRIOT.
|
| Thanks for a great 6800 writeup, and I look forward to the
| follow-up! I feel like the 6800 does not get the love it
| deserves from the current generation of hackers.
| klelatti wrote:
| Thanks so much! There is so much to cover in Part 2 so it
| might take a little while.
|
| Completely agree that the 6800 needs more love. It was a
| really important design.
|
| PS I'd not seen Mensch's comment that Peddle's intention
| was to raid Motorola for engineers before - that's an
| interesting angle!!
| systems_glitch wrote:
| Yeah I'm sure the corporate raid had something to do with
| Motorola dropping the hammer on them over the 6501
| pinout. Bill Mensch has said really it was just so they
| didn't need to design a development system right out the
| gate, and that they figured other engineers would
| appreciate that. Seems like it alone wouldn't have been
| enough to get Motorola mad, especially since they must've
| known they were just bogging MOS down, and that the
| pinout wasn't legally defensible reasoning to stop
| production (MOS and second sources later continued with
| the 6512, which is effectively 6800 pinout with very,
| very minor changes).
| RetroTechie wrote:
| > As it turns out, the end result - the 6501/2 - was actually
| very competitive with the 6800. So whilst the original
| intention wasn't to compete with the 6800, in the end it did
| compete with it very successfully in some important markets.
|
| Another subtlety: the ecosystem.
|
| Obviously a cheaper cpu encourages usage in more places.
| Read: more users & more designers working with it.
|
| Over time, that means more tools (including _better_ ones),
| more OSes to run on it, more application software, more code
| examples, more existing systems that can be used to kick-
| start a new design, more knowledge in the field to work
| around quirks, etc.
|
| Often that ecosystem weighs heavier than cpu features, price
| or performance. Yeah a 'nicer' cpu will drop in price. But by
| then it's late to the party.
| systems_glitch wrote:
| That is true, but the 6800 came with a _massive_ ecosystem,
| all available directly from Motorola! They had reams of
| useful documentation, including complete, tested
| implementation guides for things like POS terminals, early
| simple ECUs, smart disk subsystems, etc. You could build
| all of those things with chips bought directly from
| Motorola, engineered to be 100% compatible and easy to
| interface. For many small systems, you didn 't need any
| non-Motorola parts other than passives.
|
| I guess the flip side was, Motorola had to create all that
| in-house, and the price of the ecosystem reflected that.
| MOS dumped cheap chips into the world at just the right
| time and got hobbyists to do the work for free, sometimes
| with superior results. Probably no one could've seen that
| coming in 1975.
| imglorp wrote:
| TFA says the 4040 ~ $29 and 6502 target ~ $20.
|
| In a ~ $1300 computer (Apple II, ca. 1977) how price
| sensitive was that CPU market to $9?
|
| The 6800 was ~ $175 in 1974 - that does seem like a clear
| gulf to the other two.
| https://en.wikipedia.org/wiki/Motorola_6800
| klelatti wrote:
| Not 100% sure I understand your question but if you're
| asking about 4040 vs 6502 as contenders for Apple II in
| 1977 - the 4040 was a much more limited design than the
| 6502 and would not have been viable as the Apple's CPU.
| systems_glitch wrote:
| The Apple 1 could run either the 6502 or 6800! Probably
| experience with that dictated that people wanted the
| 6502. Apple also gained enough pull with MOS that at some
| point they got some say in the feature set of the 6522
| VIA.
| dusted wrote:
| Should be noted that the 6510 was used in the C64, and while it's
| a superset of the features of the 02, you can't simply put a 02
| in a system that makes use of the additional features of the 10.
| However, it's sufficiently similar that an adapter with the extra
| logic implemented in discrete gates and transistors has been
| achieved (the 10 has an IO port and can tristate, which the 02
| cannot).
| systems_glitch wrote:
| Yeah there's a bunch of 6500 series CPUs with various changes!
| I'm hacking on a SBC that uses the 6507 at the moment, this
| particular SBC was a replacement for some industrial control
| board using random logic sequencing (no CPU). The cut down 6507
| saved space and let the designer get everything into the
| allotted space on a two-layer board.
| ksherlock wrote:
| AIUI, the main difference is that memory locations $0000 and
| $0001 are used for the 6510 i/o port. So dropping a 6510 in a
| system that makes use of those perfectly valid memory locations
| won't work either.
| systems_glitch wrote:
| Same issues with e.g. the Rockwell R6500 single-chip
| microcomputer family -- the actual microcontrollers, not
| their second-source MOS 6500 family chips. Rockwell put I/O
| stuff and stack both in zero page to make more efficient use
| of limited ROM space, and allow operation with only the tiny
| amount of on-chip RAM! A lot of stuff can be restructured to
| live with it, but almost nothing "just works."
| RetroTechie wrote:
| _" BM:Rod Orgill and I had completed the designs of a few
| microprocessors before the 6501/6502. In other words, Rod and I
| already knew what was successful in an instruction set. And lower
| cost was key. So we looked at what instructions we really
| needed."_
|
| If only this minimalism mindset were more commonplace!
|
| Many products today seem like the result of an endless race to
| include everything & the kitchen sink, to one-up a competitor
| with yet another feature. _Especially_ on the software side of
| things.
|
| Yes there's a (relentless) drive to minimize manufacturing costs,
| logistics, or money spent on support. But _rarely_ on minimizing
| / simplifying products themselves. If carmaker puts a cup holder
| in their car & customers like it, competitors' next cars 'must'
| include a cup holder too. Rinse & repeat ad nauseum.
|
| In contrast, taking something _out_ and still have the product be
| useful, seems like a Zen mastery black art that few designers
| practice. Let alone companies they work for.
|
| One example: occasionally I take broken electronics apart.
| Sometimes to see if there's parts worth scavenging. Often out of
| curiosity, to have a look at design details. And have grown
| _some_ appreciation of Chinese ' manufacturers tendency to snip
| parts from products (aka Muntzing).
|
| Use a thinned pcb trace as fuse. Or: use a single diode instead
| of a bridge rectifier. Yes, it only uses half of the AC cycle.
| Electricity producers might frown at that. All else being equal,
| requires 2x capacitance.
|
| But.. for small capacitor values, diode + bigger capacitor is
| likely cheaper. And saves 1 diode voltage drop (+ associated
| losses).
|
| Crude, but brilliant in a way. Simplified design that still does
| the job.
| lisper wrote:
| Ultimately these decisions come down to value judgements. Which
| is better, more simplicity and lower cost, or more robustness
| and longer service life? Because often it's one or the other.
| dylan604 wrote:
| > If carmaker puts a cup holder in their car & customers like
| it, competitors' next cars 'must' include a cup holder too.
| Rinse & repeat ad nauseum.
|
| I think this doesn't reinforce your argument in the way you
| intended. A car manufacturer isn't going to look at a
| competitor and see what items need to be removed to lower cost
| when that item, as you've stated was a success since customers
| like it, it would be dumb to _not_ include it. You don 't want
| to _not_ include liked items. You want to _not_ include the
| items the customers do not like.
| RetroTechie wrote:
| > as you've stated was a success since customers like it, it
| would be dumb to not include it.
|
| So... carmaker includes (successful) feature x, y or z in
| their new car. And not willing to seem dumb, for competitors
| the tendency is to include x, y or z as well?
|
| That turns x/y/z into checkbox items. And every new car model
| will feature them. Exactly what I complained about, right?
|
| As opposed to going your own way. Or choosing a select subset
| of features & stick to that. Even if some % of your customers
| disapprove.
|
| Do all cars _need_ motorized windows? Hand cranks used to do
| the job. But good luck finding a modern car whose designers
| think so. Clearly not a design choice that varies between
| brands, but one of those 'checkbox items' for modern cars.
| dylan604 wrote:
| Well, to start, you chose cup holders which means to me you
| weren't being very serious.
|
| Let's take a better example of touch screen units. One
| company did it, and others followed. Now, the trendsetters
| will be the ones removing them. What was the first company
| to remove the cigarette lighter and ashtrays? Who was the
| first to add motorized mirrors so they could be adjusted
| from the driver's seat?
|
| Have you actually ever used hand cranked windows? Nobody
| wants to go back to them. If a company releases a car with
| hand cranked windows and motorized windows but they see
| that everyone prefers the motorized windows, why would they
| continue to offer the hand cranked?
|
| I think you're trying to lump a lot of decisions into a
| category that they don't belong. The manufactures see the
| numbers and trends. They make decisions. When touch screens
| came out, everyone thought they were the shiznit. It wasn't
| until lots of use did people start realizing that the
| tactile buttons were actually a good thing. There are some
| misses to be sure, but you act like there's zero research
| into it. Which just seems immature.
| weinzierl wrote:
| I learned 6502 assembly as my second programming language after
| BASIC. I don't remember how I felt about it, because it was all I
| had, but I do remember two things:
|
| 1. 6502 assembly made a lot of sense to me, even its quirks kind
| of made sense
|
| 2. When I switched to the 80386 nothing made sense and I simply
| hated it.
|
| I think it is fair to say that if I had to start with x86 I
| probably would have never gotten into programming.
| chihuahua wrote:
| I agree with both of those points.
|
| I learned 6502 and 68000 assembly language. Then I bought an
| 80286 assembly language book, started reading it, become
| disgusted, and returned the book to the store.
| systems_glitch wrote:
| I learned 8080/8085 assembly before looking at x86, and while I
| can figure out x86 well enough it's still a mess! I don't know
| that prior experience necessarily makes x86 look any less ugly
| :P
| Dwedit wrote:
| My favorite part of the 6502 is that you can write the
| instruction set as 4 columns by 8 rows, and see the really simple
| pattern.
|
| https://pastebin.com/rCN932a0
|
| When you see it in rows and columns, you can see how you have
| these addressing modes that correspond to the row number most of
| the time:
|
| 0: X,indirect
|
| 1: zeropage
|
| 2: immediate
|
| 3: absolute
|
| 4: indirect,Y
|
| 5: zeropage,X
|
| 6: absolute,Y
|
| 7: absolute,X
|
| Then you can see that Column 2 is the arithmetic instructions:
| ORA, AND, EOR, ADC, STA, LDA, CMP, SBC
|
| And column 3 is the Read-Modify-Write instructions: ASL, ROL,
| LSR, ROR, STX, LDX, DEC, INC.
|
| And that fourth column of invalid instructions turns out to be a
| combination of the second and third column, effectively doing an
| arithmetic operation and a RMW operation at the same time, even
| for addressing modes normally not supported.
___________________________________________________________________
(page generated 2023-12-13 23:00 UTC)