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

Re: 6502 illegal opcodes questions



Michael J. Mahon wrote:

The term "logical design" when applied to a processor means the
circuit diagram at the level of gates.
I thought that was called the "logic" design. Maybe they switched terms since my VLSI days. By that definition, I agree vehemently. Mensch would have used the subsequent years knowledge and best practices of CMOS to design the WDC parts.

The rest is *never* such a candidate.  ;-)

Splitting hairs, but I'd put some of the NMOS illops in the well-behaved category. The illops that simply performed two ALU operations (and / xor, or whatever) would be well-behaved.
And for a designer to be "forced" to support previously undocumented
behavior because it is "used all over" is *exactly* the point I've been
trying to make all along--this is *almost always* a bad thing.
Can't argue there. I seem to recall Bill even balked at having to change his C816 design for the IIGS. I don;t recall the details though. Something about the timing. He would have really taken exception at supporting don;'t cares.

Possibly, but clout is usually dependent on the promise of orders,
not good feelings...  ;-)
Again, no argument there. The story is that Jack helped set Bill up with WDC, promising orders, and then cancelled the projects that would have made those orders. But, he did not drag Bill to court, which is surprising. I think he hedged his bets, assuming they would eventually need the new process, but they never did.

I'm guessing that CBM just kept turning the crank on their proprietary
6502 implementation(s), and were not motivated to pursue the 65C02.
Bagnall's book stated that Peddle and others knew the 6502 design had run out of steam in the early 1980's, but the project to move it on never thrived. It was a cash cow by that time. And, Jack cared not at all for backward compatibility, so all of this discussion is moot in the CBM environment. If there had been some financial incentive to design a new CPU, it would not have included the illops, and it may have changed the architecture and opcode set as well.

I don't fault them for what they did, either--I was just pointing out
that we don't do things that way anymore, and for good reason: we
found out by (sad) experience that programmers cannot be trusted
to "keep off the undocumented grass".  ;-)
I wasn't directing that at you per se. I just saw a lot of posts on this thread along the lines of "If I had designed the CPU..." Bah, I say. Those guys taped out a CPU when you still had to use tape. Kudos to them.

And I also agree that for any platform with a single, unchanging
implementation, as most retro platforms are today, the use of
stable undocumented behavior is not a practical problem.
It does cause issues, as emulator authors have to jump through hoops to support it, and the DTV designer left illops out of the original version of the unit, due to complexity and time issues.