65 Reasons To Celebrate The 6502 (article)

Stumbled on this:

via this, one of a series on the 6800, which in this case intersects with the origin story of the 6502:

(cross-posted to the 6502 forum)

1 Like

I find a few interesting things in these advertisements:

  1. The MCS prefix; when did they change to MOS? Some quick searching indicated that maybe MCS correlated with ceramic packaging, but was it actually the designator for ceramic? (Is this common knowledge and I’m just woefully ignorant?)
  2. “Simple, easy-to-follow instructions (similar to PDP-11)”. I see this claim so frequently about the 6502, but … I just don’t get it. If anything, it seems more similar to the PDP-8 to me, as an accumulator architecture! (It’s different from the PDP-8 in oh so many ways, of course.)
  3. I love the “if you get clocks for less than $5 […] give your purchasing agent a bonus” line. So cheeky!

I feel your pain! Of course, the 6502 is neither, it is its own thing. I did find this interesting claim on retrocomputing stackexchange:

According to Gordon Bell, the 6800 was based on the PDP-11. According to Chuck Peddle, it was a PDP-8.

Now, one of those is a titan, and the other isn’t…

Edit: perhaps see also this commentary which mentions the 6502.

While I do see the appeal of linking the 6502 to the PDP-8, there are major differences in philosophy. E.g., skipping (on composable conditions) versus branching by relative offsets. This implies an entirely different mindset. I guess, we have to accept that 6502 is its own thing, but owes much to things seen previously in various PDP designs.
Also, it was somewhat designed by customer requests – and it’s probably not entirely unexpected that this would have involved experience with some DEC architectures.

Now I’m very curious; which one is which?

It’s Bell! Gordon Bell is a titan!

1 Like

That seemed the most logical interpretation, but I think there’s a string argument that Peddle is a titan in his own area of the field. While Bell had (I think) a larger influence over the direction of computing writ large, Peddle’s impact on microcomputers and the home computing revolution was, without exaggeration, titanic.

Of course, at the time of the design of the 6502, this wasn’t yet clear, while Gorden Bell was already stamping the world with his influence, and it’s quite probable that Chuck Peddle had read some of his books on computer architecture.

(I’m not suggesting that you’re minimizing Chuck Peddle’s influence, I know how you feel about the 6502!)

1 Like

Fun historical footnote: Sometimes, even titans aren’t easy to spot, especially, when aiming high for the sky. When Ed Fredkin suggested to Licklider to hire the young Gordon Bell at BBN, Licklider, always aiming at raising the average by hiring only the best, declined.

In Fredkin’s words:

So I’m interviewing this young guy and he wanted to be a computer architect. So I went to Licklider and I’m all enthusiastic and say, “I just interviewed a great guy we should hire.” So Licklider says, “What’s he do?” and I said, “He wants to be a computer architect.” And Licklider says to me, “Is he the best computer architect in the world?” I was sort of shocked. I said, “He hasn’t designed anything yet, so it’s sort of hard to tell. He says, “Well who’s the best one in the world?” I said, “Well my opinion is I know two people, Wes Clark, who was at Lincoln Labs, and John Cocke. He said, “Hire one of them instead.” So I went to this guy and said, “Sorry.” So he went off to Digital [Equipment Corporation] and got a job. Do you know who that was? Gordon Bell.

– All right! This is Gordon Bell, back from Australia.

– Yes, right. He’d just come back from Australia. Of course, when I contacted both John Cocke and Wes Clark, they had no interest in coming to BBN, so we didn’t get anybody. So his [Licklider’s] ideas didn’t always work that well. (…)

https://archive.computerhistory.org/resources/access/text/2013/05/102630504-05-01-acc.pdf (p. 37)

2 Likes

NOP INC DEC ADC SBC ROR ROL ASL CMP BIT BNE BEQ BPL BMI BVC BVS BCC BCS JMP JSR RTS RTI CLC CLV SEC … mnemonics shared by the assembly languages of the 6502 and the pdp-11.

AND JMP LSR ASL … mnemonics shared by the assembly languages of the 6502 and the pdp-8

The 6800 includes several more shared pdp-11 mnemonics … CLR ADD SUB TST NEG COM ASR BLO BGE BHS BLE BLT BGT BHI … maybe a couple more.

The mnemonics are similar, but the behavior of those mnemonics is anything but! For example, ADC on the 6502 is capable only of adding a memory location (specified in one of eight ways) to the accumulator register, while ADC on the PDP-11 can add together two registers, two memory locations, two memory locations identified indirectly through two other memory locations, or any number of other options, and store the result in any of those options – with or without incrementing or decrementing some portion of the source or destination operand!

As I said above, it’s “different from the PDP-8 in oh so many ways”, but the PDP-8 also had a zero page and an accumulator architecture; the PDP-8 addressing modes are more limited than the 6502, but the 6502 addressing modes fall somewhere between those of the PDP-8 and those of the PDP-11.

Many assembly languages share a large number of mnemonics, but are not particularly similar in semantics or “feel”. Of the above mnemonics shared between the 6502 and the PDP-11, the Intel 8080 only shares NOP, ADC, CMP, and JMP, while the Z80 shares the differing set NOP, INC, DEC, ADC, SBC, BIT – and those processors are compatible across several of the instructions named but not matching, just with different mnemonics!

I find the argument that the circuit or logical construction inside the 6502 is somehow inspired by the PDP line (perhaps by way of Gordon Bell’s textbooks on microprocessor design!) more likely than that anyone writing 6502 assembly would be leaning on their experience with the PDP-11; having written assembly language for both processors, I feel like the differences far outweigh any superficial similarity in the names of the instructions.

1 Like

Something maybe missed in this discussion is that neither the 6800 nor the 6502 were designed as CPUs for computers, but rather as controllers (compare the missing halt instruction). Hence, crucial differences to previous DEC CPUs should not come totally unexpected and there is really no 1:1 comparison.
Certainly, the 6502 does not feature orthogonal instructions (it’s even lacking symmetry, regarding the X and Y registers), but, at the same time, it also lacks crucial features that enabled the economy of the PDP-8’s instruction set, like destructive deposit of the accumulator or composable instructions and conditions inside groups. Also, the PDP-8 lacks index registers (rather using a few auto-incrementing memory locations), while index registers provide for 6 out of 12 address modes of the 6502.
Arguably, there isn’t any close analogy to either instruction set, but maybe a faint resemblance and influence in philosophy of what kind of instructions may be useful for a core instruction set.

(PS: We really had to wait for the M68000, until we got a popular micro-CPU that was designed for use in computers, as opposed to something that started either as a CPU for a shift-register based terminal or as a controller.)

1 Like

Indeed - I wrote something recently over on the 6502 forum:
Musings on my fondness for the 6502

I’d agree Peddle’s work had very wide-reaching consequences. He was very successful in introducing an affordable but adequately useful microprocessor. Still I’d say not a titan!

As for the claim of PDP-8 vs PDP-11 as a model or a predecessor or an inspiration for the 6800 or 6502, I think perhaps part of it is a question of what machine a person might be most familiar with. There are elements of both in both, although I think we can say the PDP-8 is least sophisticated, the PDP-11 most sophisticated, and the two micros lie in between.

We might say that the 6502 is built as simply as it could be, to remain useful but to hit a low price, and in some ways that might be like the PDP-8. It is mostly an accumulator machine, although it does have more than that. And it does also have lots of addressing modes, including indirection, and a hardware stack.

I think the whole business of comparing architectures is very multi-dimensional - we can see similarities and differences, but there’s no simple inheritance or ordering.

I’m tempted to say that the designers of some (most?) of these early CPUs and micros were likely not to be regarded as experts, likely not to have done lots of comparative research, reading lots of papers and textbooks. They would have limited perspective and done their best given the constraints. Given the compute power available at the time, they’d not be running sophisticated models to test and validate their ideas.

1 Like

So, my personal feelings about this: To small surprise to those who know me, I’d remind of the PDP-1. Coming from the 6502 (yes, this is historically in reverse order, but in the order of my personal experience), the PDP-1 feels much familiar, once you familarized yourself with the need for self-modifying programs (since there is neither a stack nor an index register). The PDP-1 feels more luxurious with a well-balanced ISA, which it should, since it’s also the more powerful machine, and the 6502, as you come back to it, may feel sort of restricted, which it should, as it is a cost-effective architecture and lacks some of the comfortable features like general indirection and serial shift/rotate instructions. (This is really my experience, having done the same video game for the PDP-1 and then for the 6502.) This is, where the 6502 shares some with the PDP-8, another effort towards a cost-effective computer architecture, down-scaling from the PDP-1. (The BBN PDP-1 prototype, seen in early DEC brochures, already featured the instruction and data field memory extension scheme, seen later on the PDP-8, but this was dropped for another scheme in the production version. So, there is really not much new on the PDP-8, other than the link-flag, which somewhat became the carry on the 6502.)

However, while Ben Gureley, the designer of the PDP-1, may have well been a titan, the PDP-1 didn’t come out of the blue. It had predecessors, and this is where we meet the real titans: Whirlwind, the Memory Test Computer (MTC), and the TX-0 (and even the TX-2). Like the 6502, the PDP-1 was both an example in simplicity and practicality (like progressing from the TX-0 with its complex 40 minutes power-up sequence to a convenient machine that plugged into a common wall socket and could be started by the flip of a single switch), and it was about a price point. But, I think, it’s really about this legacy of MIT realtime machines, which was still alive in the 6502, as may be observed by the minimal instruction cycle count. (Well, as minimal as could be for a variable length, octet-based instruction set.) I’d say, it’s more this general line of thinking about computers than about any of these machines in particular.

The PDP-11 clearly goes beyond this, and, if you want, I’d say, the 6502 should be closer to the PDP-8, but it’s also not anything just “like the PDP-8”. The PDP-11 still shares the same DNA, and, as far as the 6502 is concerned, there’s certainly some osmosis going on, regarding this DNA.

1 Like

The ad copy mentions the “A-H Systems Benchmarks” (assuming my old-man eyes are working).

Anyone know what that might be referring to?

I guess, this may refer to A.H. Systems, Inc, a manufacturer of test equipment. (RF may have been an early application target for the 6500 family and A.H. Systems might have been interested in running benchmarks against the 6800 family and other competitors.)

A.H. Systems has been established since 1974 and manufactures a complete line of affordable, reliable, EMC test equipment.

(https://www.everythingrf.com/companies/116/ah-systems-inc)