It all started with the 6500, created by MOS Technologies, a company formed by ex-employees from Motorola, to be similar to the 8-bit processor 6800, from Motorola itself. The processor was so identical that it had to be altered, originating the 6502. The 6502 was different enough so Motorola attorneys couldn't bother MOS, and similar enough so programmers that were used to the 6800 (as Stephen Wozniak, see Apple II History) could use it. The greatest difference was the price ($175 for the 6800, $25 for the 6502), as it was the chosen one to equip the Apple II, a very successful computer of the Eighties.

Other versions

The popularity of the 6502 gave origin to a variety of other processors:

  • 6502A - Accelerated version, running at 2MHz.
  • 65C02 - Has new instructions and two extra addressing modes. Using CMOS technology, it can execute more instructions at the same clock speed.
  • 6510 - A modified version of the 6502. Has an extra 8-bit port to read data from external devices.
  • 6820 - Built by NEC, it was a 6502 which was able to address up to 2MB. The magic was done dividing the 2MB into 256 pages, each 8KB long. It can access 8 pages at a time, meaning the same old 64KB the original 6502 can address. The i80x86 family does the same trick to access more than 1 Megabyte.
  • 6507 - The 6507 was, on the other hand, a reduced version of the 6502. It doesn't have interrupts, and can handle only 12-bit wide adresses, meaning 4KB. This simplified 6502 was used in the Atari 2600.
  • 7501 - It's the 6502 made by Commodore. They took 1 from the 6502 and put it on the 6502. :)
6502 - Technical Report

  • Developed by Chuck Pedle, creator of the Commodore PET
  • Uses NMOS technology, it is encapsulated in a 40 pin chip
  • Energy feed through a 5V line
  • Able to address up to 64Kb
  • Three registers for general use - A: accumulator (8 bits), X e Y: two index registers (8 bits)
  • Stack pointer register (8 bits)
  • The flags register, called Processor Status (8 bits)
  • 16-bit instruction counter (16 bits)
  • 56 instructions, with 12 addressing modes: Immediate; Accumulator; Relative; Implied; Zero Page; Zero Page Indexed; Absolute; Absolute Index; Indirect Absolute; Indirect Indexed; Indexed Indirect; Relative. (Who gave these names?)
  • The special use of the Zero Page allows it to address the first 256 bytes from the memory faster, almost using it as general purpose registers.
16-bit 6502?

The 65C816S, or 65816, was the late answer to the 68000 family from Motorola, which was becoming a hit, equipping the new Apple Macintosh. It has 16-bit processor, and its program counter and bus were both 24-bit wide, allowing it to address up to 16MB -- the 80x86 bus was 20-bit wide, or 1MB. Besides that, it has a full 6502 compatibility mode. The 65816 was released only in 1986. If it was released before, would have been the natural option for the first Macs in 83, which could have been then compatible with the vast software library available for the Apple II. The Mac, from day one, wouldn't have suffered with its greatest enemy, the lack of applications, and would have guaranteed for itself the consolidated market from the Apple II. Perhaps the computer world would be different...

Eventually the 65816 was used in the the Apple IIgs, the discrete follow-up to the greatly successful Apple II series. Coincidently or not, it was also used by Nintendo in the follow-up of their most sucessful (and 6502-based) product. The Super NES, however, had a better commercial luck than the Apple IIgs.