[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.