[comp.sys.atari.8bit] More on Atari 65xx CPUs

ehs@jumbo.dec.com (Ed Satterthwaite) (11/15/87)

A while back, there was some discussion of the 6502 and the slightly
customized versions thereof used in the Atari 8-bitters.  I recently got a
65C02 for another project and decided to try it out in my 1982-vintage
800.  I also got a copy of Sams' Computerfacts for the 800 on a recent
trip to Computer Literacy.

Summary: The 65C02 works just fine in my 800, and both the assembler and
debugger in the MAC/65 cartridge support the additional op codes.  But
apparently not all 800s use a vanilla 6502, so I was lucky.

Details:

The 65C02 I got from Jameco is an NCR 65C02A.  I haven't been able to find
an NCR data book.  I do have a 1984/1985 Synertek data book (their last?)
with specs for the 65C02 that I think are equivalent.  (I believe that the
Rockwell version is somewhat different.)  If so, the A version is a 2MHz
part.  The 6502 that I replaced is a Rockwell 6502B.  The latter is a 3MHz
part, but specs and experiment say that 2MHz is good enough.

Replacing the chip was fairly easy; anyone not intimidated by removing one
40-pin DIP from a socket and inserting another shouldn't have much
trouble.  Heed the usual warning and be very careful about unplugging the
keyboard; the socket and ribbon cable look fairly easy to damage.  Also,
expect to see a lot more shielding and a lot more discrete components than
typical of more recent home computers; I can see that the 800 must not
have been cheap to assemble.

A simple chip swap, without tinkering with the clock, seems to get you the
following:
 (1) a CPU chip that draws less current (see below).
 (2) some new instructions and addressing modes, mostly well chosen to fill
     annoying gaps in the original, but none revolutionary.
 (3) slightly slower decimal mode arithmetic (presumably affecting the ROM
     floating point routines used by Basic).
I will probably leave the 65C02 installed until I have to open things up
again, and I might take advantage of point (2) in some of my own programs,
but I still don't consider the 65C02 much of an "upgrade."

The Sams publication was somewhat helpful as a guide to assembly and
disassembly.  In contrast to the Atari Technical Notes, it includes
complete and legible schematics.  I was surprised to see that it shows two
different versions of the CPU board.  The "alternate" version is
apparently the original; it corresponds to the schematic in the Technical
Notes and matches what I found installed in my machine.  Here are brief
descriptions:

- The "alternate" board uses a 6502B (Atari # CO14377) plus the following
TTL parts:
  2 x 74LS244
  1 x 7474
  1 x 74LS02
Half of the '74 is used to generate the system phi2 signal; the other half
is used to synchronize the halt' signal from Antic, generating a signal
that suspends the 6502 clock input (gated by the 'LS02), forces
Read/Write' to Read (more 'LS02), and disconnects the 6502's address pins
from the address bus on the board (the 'LS244s).

- The "standard"(?) board apparently uses a custom 6502 (Atari #
CO14806) and a single 'LS244 that simply buffers the 7 low order
address bus lines (A0-A6) and system phi2 as they go off the board (always
enabled).  The CPU appears to use the following non-standard signals:
  pin# 35   Halt' input (from Antic)
       36   Read/Write' (output, normally pin 34)
       37   phi0 (input)
       38   ground
       39   phi2 (output)
Actually, 37 and 39 agree with a standard 6502, but 39 is not connected on
the "alternate" board.  I assume that pulling 35 low forces 36 high and
tri-states the address pins, but I don't know the timing.  The Sams photo
shows a part with a Rockwell logo.  Rockwell does make several 6502-family
devices with built-in tristate capabilities, but these pin uses do not
seem to match any of their catalog items.

Replacing the processor in the old version with a 65C02 (or, most likely,
a 65C802) is easy.  A similar swap on the new version of the board would
be a lot more work, presumably requiring duplication of the old circuitry
on a daughter board or the like.  On the other hand, the new version
should draw less power (the '74 and second 'LS244 are not the world's
lowest powered chips), so the power savings of CMOS would be less
important.

I don't know when the transition from old to new CPU board took place, nor
have I investigated the 800 CPU boards available from B&C, etc.  I bought
my 800 in the summer of 1982, and its 6502 had a 1981 date code.  The Sams
photos show CPUs with date codes of late 1979 (Synertek) and early 1983
(Rockwell) on the two versions.

I'd appreciate hearing from anyone with more information about this.  In
particular, is the CPU in the late 800s the same one used on the XLs and
XEs?  Is there any compatibility with the custom 6502s that have been used
in the various Commodore machines?

Ed Satterthwaite, N6PLO
Arpa: ehs@SRC.DEC.COM
Uucp: {...}!decwrl!ehs

hans@umd5.umd.edu (Hans Breitenlohner) (11/16/87)

Atari part CO14806 is the CPU used on the XL series, and probably the
XE series too.