<< Previous Message Main Index Next Message >>
<< Previous Message in Thread This Month Next Message in Thread >>
Date   : Mon, 20 Nov 2006 22:30:57 +0000
From   : splodge@... (Richard Gellman)
Subject: CPU in an M128

Hi,

If you find pedantry utterly intolerable, please look away now :)

I've noticed that there seems to be quite a few sources that get the 
processor in a Master 128 wrong on a regular basis, including technical 
documentation from otherwise authoritative and reliable sources. I've 
seen everything from variations of 6502 to 65C102 at 4Mhz, none of which 
are correct. So in case anyone is currently "blessed" with this 
misinformation, I should like to set the record straight :)

(Those who already know this can look away now and kindly refrain from 
posting replies along the lines of "I knew that").

Note for Thomas Harte: It was your post that triggered my thoughts on 
this, but this is by no means directed at you :)

The CPU in a Master 128 is a 65C12 CMOS processor*, running at the same 
speed(s) as the 6502 in the BBC Micro, i.e. 2Mhz for the most part, 
slowing down to 1Mhz for certain I/O accesses.

The 65C12 is a sort of halfway CPU between the 6502 and the 65C102 
processors. It implements *most* of the additional opcodes found in the 
65C102, but not all. It omits the BBS/BBR instructions in particular.

I have yet to come across a Master 128 that uses a 65C02, 65C102, 6512, 
6510, 6502, or indeed any other 65xx chip other than the 65C12.

The 65C12 is not pin compatible with the 6502, however certain variants 
of 65C02 and/or 65C102 (someone free to confirm which?) are pin 
compatible, and thus provide access to the additional instructions.

Opcode &9C on most 6502s is unofficially (as in, not documented 
anywhere) STZ absolute (though some 6502s do not have this), where as on 
the CMOS variants, opcode &9C is officially STZ absolute. None of the 
other additional instructions share this oddity.

Due to internal differences between the standard 6502s and the CMOS 
variants, certain undocumented instructions used by naughty games 
writers to gain a bit of speed do not work on the 65C12 used in the 
Master, thus leading to the (in)famous compatibility issues.

* before anyone says "No, its a..." in the manner that seems to have 
become a tradition with regards to my posts, trust me on this one, I've 
opened the box, I've opened many M128 boxes, I've looked at the chip, 
its a 65C12.

You may all return to your regularly scheduled nitpicking of my emails :)

*purchases flame-proof suit*

-- Richard
<< Previous Message Main Index Next Message >>
<< Previous Message in Thread This Month Next Message in Thread >>