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.