To common wisdom, the “ROR bug” of the early 6502 processors (the series prior to June 1976) isn’t so much a bug, but it wasn’t really implemented, as seems to be confirmed by analyses of the silicon.
E.g., see this video:
and Bill Mensch is said to have supported this version, as well:
With regard to the ROR ‘bug’, Bill Mensch (who did circuit design on the 6502) relates that it wasn’t so much a ‘bug’ as Chuck Peddle left it off the specification so the early 6502s were missing ROR as designed. However they found a way to add it soon after the first version was released.
Source: https://news.ycombinator.com/item?id=26053692
Now I came across this anecdote featuring Chuck Peddle and the “ROR bug” (found in what is a great article on the development of and stories around the Commodore CHESSmate, by its programmer, Peter Jennings):
One morning, I came into the Commodore office to find that Chuck Peddle had been working all night, playing with some code to improve the sounds the computer made for various events. He demonstrated the sounds, which were much more interesting than my simple beeps. I looked at his code, usually extremely efficient and compact. Why, I asked, do you have seven ROL (rotate a byte in the accumulator one bit to the left) commands in a row here? He rolled his eyes. I forgot. We fixed the ROR bug. Up until mid 1976, the 6502 shipped with no ROR op code in the instruction set because of a bug in the silicon. After that the ROR was fixed and could be used to rotate a byte one bit to the right. He forgot! We replaced the seven ROL instructions with one ROR.
So, according to this (and I see no reason to question the varacity of this account) Chuck Peddle very much so recognized this as a bug (and, apparently, a rather annoying one), which had to be fixed, rather than an intentional shortcut in the initial design.
Now, I’m confused, to say the least…
(At least for me, these two versions of the ROR story don’t match too well.)


