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

Re: 6502 CPU



Nathan Mates (nathan@cco.caltech.edu) wrote:
: In article <3mbd1l$av@naurouze.cert.fr>,
: Jean-Francois Fabre <fabre@puigmal.cert.fr> wrote:
: >Does any of you know about the undocumented instructions on the 6502 ?

:    The 6502 does have some sort of undocumented instructions, but they
: are not standardized. They can vary from one machine to the next, so

That's because different chip manufacturers made their 6502's in slightly
different ways, and not all Apple 6502's came from the same manufacturer.

: there is no acceptible list of undocumented instructions. If you have
: a 6502 (not 65C02) based machine (Apple ][, ][+, unenhanced //e), you
: could by trial and error determine their behavior on your machine, but
: it probably wouldn't work on any other 6502 machine.

Wrong!  The 65C02 made legal some of the undocumented 6502 codes, even
adding some, and standardising them.

:    To make things worse, the 65C02 (used in enhanced //e, //c, //c+,
: and the GS in emulation mode) has no useful undocumented instructions.
: Anything unlisted acts just like a NOP ($EA), so you can put all the
: undocumented instructions you want in your program, but it won't do
: anything useful.

:    The Commodore 64 used a different processor (6510?), with
: standardized undocumented opcodes; that's why programmers could
: reliably use them.

This is not unrelated to the fact that Commodore owned a certain
chip manufacturer.

Pete