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

Re: 6502 illegal opcodes questions



John Selck wrote:
Michael J. Mahon wrote:

The fact that both companies used "custom" 6502 processors for their
machines is no doubt part of the reason that they never moved forward.


Huh? They did move forward. 6510 -> 8500 -> 8502. And also, I don't think it's any kind of problem for Commodore to use customized CPUs since they owned MOS, the owners and producers of 6502 tech back then :)

And these new processors preserved the undefined opcode behavior?

If so, they are almost certainly *not* new processor designs.

If not, then they are a good illustration of why it's a bad idea
to depend on undefined behavior.

Non-portable code is written for two quite different reasons:

1) Because the coder doesn't even think about portability or
   doesn't understand it, non-portablility happens.
2) Because the coder understands perfectly, and chooses to
   write non-portable code on purpose.  (One-time use, static
   platform, compelling need,...?)


3) Slow-as-hell 8 Bit platforms don't have a proper abstraction layer for any of their hardware, no matter if sound, graphics, timers, ports or CPU.

Nonsense.  The "abstraction" we are discussing is the published
documentation for the processor/system.  What it documents is the
abstraction that future implementations will preserve.  What it
doesn't document will generally not be preserved.

The only exception to this is when rampant exploitation of undocumented
features makes their preservation a marketing necessity.  In the latter
case, many extensions to the system functionality will be hampered by
the need to provide the undocumented functionality, making evolution
less attractive.

Most early micro systems suffered from this problem.  Many didn't live
long enough or attract enough user base to face the issue.  But those
who did face it had to decide what undocumented behaviors of the early
platform to leave behind, along with any software that exploited them.

-michael

Music synthesis for 8-bit Apple II's!
Home page:  http://members.aol.com/MJMahon/

"The wastebasket is our most important design
tool--and it is seriously underused."