Page 1 of 1

Maybe you all knew this already...

Posted: Sun Oct 27, 2013 12:45 am
by eslapion
I always wanted an easy way to detect wether a VIC-20 has an original NMOS 6502 or a newer 65C02 inside.

Here's what I found in wikipedia:
The 6502's memory indirect jump instruction, JMP (<address>), is partially broken. If <address> is hex xxFF (i.e., any word ending in FF), the processor will not jump to the address stored in xxFF and xxFF+1 as expected, but rather the one defined by xxFF and xx00 (for example, JMP ($10FF) would jump to the address stored in 10FF and 1000, instead of the one stored in 10FF and 1100). This defect continued through the entire NMOS line, but was corrected in the CMOS derivatives.
Easy enough...

Posted: Sun Oct 27, 2013 1:17 am
by TLovskog
I asked a similair question here ...

http://sleepingelephant.com/ipw-web/bul ... php?t=5724

My approach was an undocumented opcode. However I got some better alternatives.

I ended up using the changes in decimal arithmetics.

Posted: Sun Oct 27, 2013 10:21 am
by groepaz

Posted: Thu Oct 31, 2013 12:40 pm
by RJBowman
This JMP bug is only for indirectly addressed jumps?

Posted: Thu Oct 31, 2013 12:48 pm
by tlr
Yes only for JMP (<ind>).