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