[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: 6502 illegal opcodes questions



Michael J. Mahon wrote:
Not so.  The logical elements of the NMOS design are not present in
the same form in CMOS.  And the instruction decoding was clearly
redesigned, as was the control section (changed timings and bus cycle
patterns, new instructions).

I guess we'll agree to disagree on the point. I say all the design elements are there (the 8 bit ALU, decimal mode, the 16 bit instruction pointer, etc.) As for the instruction decoding, Bill just cleaned up the don't cares, as I see it. Hardly a huge new design. The physical elements changed, yes, but the logical perspective stayed the same. When I interviewed him back in 1995, he said as much. He simply wanted to clean up the design and lay it out so he could take advantage of not only the CMOS process but the ability to shrink the feature size every so many years. He hasn;t changed his design since the original. He just shrinks the design using the newer process and re-fabs. That's how he stated he got his speed increases.

That kind of behavior is of a completely different kind than random
bus clashes as multiple data sources are unintentionally gated onto
a bus!
I'll agree they are different, but the point was that they are both undocumented behavior. Intel found the undocumented behavior was used all over, so they had to build in support for it. Therefore, every new Intel CPU supports this "undocumented behavior". Of course, it is now documented, so it becomes legitimate by virtue of so many people exploiting it that it became the std.

Not the norm, I would say, but the *only* 6502 implementation ever
used on that platform.  I'd say that it illustrates my original point.

It probably does not qualify, but the C65 used a different implementation of the 02, and the CLCD used a CMOS '02 as well.

Long after the 65C02 design was available, lower power, faster, and
cheaper to make, the CBM line could not easily make use of it.

If it had made economic sense, CBM would have tasked Mensch to add the errata into the C02. Apple got Bill to change the 816 timings, and CBM had more clout with Bill, since they originally helped set up WDC.

But, I'll concede the point that it would have required more cash and time than the Apple II line needed.

I guess, in priciple, I agree with you that undocs fly against the rule of programming. HOwever, in the CBM environment, the rules are a bit different. As well, regardless of how one views the use of undocs, I'm not willing to be harsh on the MOS folks for what they did. They made a $20 CPU and got Woz and the Bushnell interested in using CPUs, which brought all of us to where we are today. I won't let a few space and time saving details that made perfect since in the early 1970's cloud that.

Jim