12

The first 6502 was the 6502 revision A, which famously does not include the ROR instruction (this is sometimes described as a hardware bug, but that's apparently a myth).

Then, some time later, there's a 6502 revision D. This has the ROR instruction, and is the same revision implemented by the Visual6502.

So this naming implies there ought to exist revisions B and C, which presumably were done to fix other problems, or add other features, but I can't seem to find much information about this.

So the question is, what are 6502 revisions B and C, and what are their differences from revision A?

user3840170
  • 23,072
  • 4
  • 91
  • 150
Omar and Lorraine
  • 38,883
  • 14
  • 134
  • 274
  • 6
    Or B and C were planned, even designed and laid out, but never green lighted for production. But I have no insight into the real situation. – Jon Custer Aug 13 '23 at 16:10
  • @JonCuster sounds quite plausible. After all, doing a schematic is usually made in stages of layout and check with version numbers incremented inbetween. – Raffzahn Aug 13 '23 at 22:23
  • At the risk of igniting an possible flame-war, the wiki page, see https://en.wikipedia.org/wiki/MOS_Technology_6502, states (my emphasis): The original version of the processor had no rotate right (ROR) capability, so *the instruction was omitted from the original documentation*. Assuming wiki is accurate, then if it's in neither the chip nor any doco for the chip, then it cannot really be considered a bug. I don't consider it a bug for the x86 family to not have an instruction for polynomial expansion using a table of co-efficients (I believe the VAX CPU had this beast). ... – paxdiablo Aug 14 '23 at 00:49
  • ... That's because Intel in no way documented this as a possibility. This even covers violation of the "principle of least astonishment". If it's undocumented, then any behaviour is allowed. – paxdiablo Aug 14 '23 at 00:50
  • And, looking at the wiki page, the sequence appears to be 6502, 6502A, 6502B. Or is revision A in the question a different type of moniker? But the wiki doesn't mention 6502D so maybe this is just an off-by-one error. – paxdiablo Aug 14 '23 at 00:55
  • @paxdiablo, the issue of 6502's missing ROR is often described as being so buggy they had to leave it out of the documentation. But it's recently been discovered that the very early chips simply did not make any effort to implement it. 6502D is apparently the first revision known to have the hardware to latch the Carry bit so it can be put in the accumulator's MSB, and also has the decode logic plumbed into actual control lines. – Omar and Lorraine Aug 14 '23 at 07:44
  • Lorraine, it's interesting looking at the videos. It looks like the only support for the fact it was missing was that a couple of traces came out of the decode ROM for that opcode. But, since they connected to nothing at all, it was assumed the opcode may have been originally for a different instruction since (1) there was no circuitry anywhere that would do the rather complicated ROR operation and (2) this was when traces were done by hand rather than circuit design software so the effort in "untracing" would have been considerable. Now I want to know what that other instruction was :-) – paxdiablo Aug 14 '23 at 08:31
  • @paxdiablo I would describe it as a bug in the design. ROR is important for multi-precision right shifts. Also, somebody found a 1974 schematic of the rev A chip that included ROR circuitry. My thought is that it was designed with ROR then deleted because of gate count or die size constraints. – JeremyP Aug 14 '23 at 09:48
  • @JeremyP, it could be a design bug but only if it didn't meet the requirements :-) I haven't seen those but, since requirements can be relaxed and I seem to recall reading the A was already too big (and I suspect the primary requirement was to be "dirt cheap enough to blow Motorola out of the water"), it may well have been ditched. The "was removed" would certainly account for the no-destination traces coming out of the decode ROM for that opcode. Maybe they half built it, figured out it was too big, but didn't completely back it out. They did manage to make the D much smaller. – paxdiablo Aug 14 '23 at 09:57

1 Answers1

11

It appears from some comments that the items shown in the bullet list of the final section of this answer bullet list below are probably different from the revisions discussed in the question. On other comment suggestions, I'm leaving that section below to ensure it's made clear.

Hence the likely reason for the missing B and C revisions is simply that they were done without a release to the wild, and only the D revision was considered substantial enough to warrant it.

The business may have already decided that they were going to add ROR so a released revision before that point would have resulted in wasted effort and possible recall.

Granted, that's supposition on my part but only because we haven't yet found a definitive reason.


Final (deprecated) section here:

For what it's worth, the Wikipedia page states:

  • 6502: A 1 MHz chip used in KIM-1 and other single board computers in the mid-1970s.
  • 6502A: A 1.5 MHz chip used in Asteroids Deluxe and at 2 MHz, in the BBC Micro
  • 6502B: Version of the 6502 capable of running at a maximum speed of 3 MHz instead of 2 MHz. The B was used in the Apple III and, clocked at 1.79 MHz, early Atari 8-bit computers.
  • 6502C: The "official" 6502C was a version of the original 6502 able to run at up to 4 MHz. Not to be confused with SALLY, a custom 6502 designed for Atari (and sometimes referred to by them as "6502C") nor with the similarly-named 65C02.

How they relate to your revisions I'm not sure, since the first was the 6502 (not 6502A) and they do not mention a 6502D.

IMSoP
  • 885
  • 1
  • 7
  • 12
paxdiablo
  • 4,742
  • 20
  • 47
  • No, does not relate at all. Those A/B/C aren't chip revisions but speed grades of the same chip. – Raffzahn Aug 14 '23 at 02:32
  • 2
    @Raffzahn: requested CW since it's possibly valuable if only to ensure no-one else makes the same mistake. Or, if preferred, I can just delete this answer if we make that clear in a comment on the question. – paxdiablo Aug 14 '23 at 02:46
  • 1
    @paxdiablo I'd probably leave the answer here but with a note added to the top. – JeremyP Aug 14 '23 at 08:57
  • @Jeremy et al: done... – paxdiablo Aug 14 '23 at 09:58
  • 3
    @paxdiablo leave it. It is a plausible association. The modified version does a good job in summing up the known (to us) state. – Raffzahn Aug 14 '23 at 11:14