MOS 6510

Aunque el 8500 se diseñó principalmente para utilizarlo en el Commodore 64C, una versión modernizada del C64 en carcasa tipo Commodore 128, cantidades limitadas del 8500 se utilizaron en viejos C64 con base NMOS.

Hizo su debut oficial en 1987, aparciendo en una placa madre con el nuevo chipset HMOS 85xx.

[1]​ La variante 8502 capaz de correr a 2 MHz fue usada en el Commodore 128.

A partir de un código creado en C para emular el funcionamiento se obtiene: Definiendo los tipos word de tamaño de 16 bits (2 bytes) y byte (8 bits) Un struct cpu: word cpu.PC, cpu.MAR byte cpu.A, cpu.X, cpu.Y, cpu.IR, cpu.SP, cpu.MBR, cpu.FLAGS funciones "void": memoria() cmp() fetch_dato() cpx() fetch_codigo() cpy() poner_dato() dec() fetch_dir() eor() carry() inc() negative() lsr() zero() pop() overflow() push() adc() rol() and() ror() asl() sbc() brach() cilco_ejec() El switch (cpu.IR) contendrá 85 opcodes (codop) de los 256 disponibles (0..255) ya que solo hay definidos 151 de ellos y se utilizan 105.

Los cases del swich son los siguientes y a cada uno le corresponde un opcode: 0xFE

Imagen de los componentes de un Commodore 64 mostrando algunos de los más importantes chips de MOS Technology : la CPU 6510 (chip de 40 pines DIP , a la izquierda) y el 6581 SID (derecha). La producción Semana/Año (SSAA) de cada chip está debajo de cada nombre.
Configuración de los pines de la versión más común de la CPU 6510.
MOS 6510