Został zaprojektowany przez niewielki zespół pod kierownictwemChucka Peddle, inżyniera, który brał udział w pracach nad procesoremMotorola 6800[4]. 6502 powstał jako tańsza alternatywa dla procesora Motoroli[4]. W 1975 roku kosztował on 25USD[4] (podczas gdy np. Intel 8080 kosztował 150 USD a Motorola 6800 blisko 200 USD)[1][2][3].
Powstało też wiele wariantów oraz procesorykompatybilne. Przykładem jestMOS 6510[5] (i jego odmiany) stosowane w późniejszych komputerach 8-bitowych produkowanych przezCommodore. Oprócz zastosowania do budowy komputerów, były (i są) one wykorzystywane wsystemach wbudowanych oraz jakomikrokontrolery[2]. Niektóre warianty, jak np.WDC 65C02, są produkowane do dzisiaj (2025)[2][3].
Nie jest to jednak dużą wadą, ze względu na istnienie specjalnego trybu adresowania pamięci (tzw. adresowanie strony zerowej), w którym początkowe 256 bajtypamięci RAM mogły być wykorzystane prawie jak rejestry wewnętrzne. Reszta pamięci adresowana jest przy użyciu większości z 13 trybów adresowania, zarówno pośrednich (przez adresy na stronie zerowej) jak i absolutnych (w tym indeksowanych).
MOS 6502 w odróżnieniu od swojego konkurentaZ80 nie ma specjalnychrozkazów do obsługiurządzeń wejścia-wyjścia. Obszarstosu zaimplementowano za pomocą 8-bitowego rejestru stosu (SP), odwołującego się wyłącznie do pierwszejstrony pamięci (adresy od 0x100 do 0x1ff).
Mikroprocesor MOS 6502 był pierwszym modelem "rodziny". Oprócz niego firmaMOS Technology zaprojektowała i wprowadziła na rynek inne modele wstecznie zgodne z pierwszym modelem:
6502C „Sally” (nie należy jej mylić zMOS 65C02 a także z również nazwanym 6502C modelem mogącym pracować z częstotliwością 4 MHz) — wersja 6502 różniąca się od oryginału obecnością dodatkowego wyprowadzenia HLT stosowana w 8-bitowych komputerach Atari począwszy od wersjiXL (według niektórych źródeł obecna także w ostatnich seriachAtari 400/800). Wyprowadzenie HLT służyło temu, aby układANTIC odpowiedzialny za generowanie obrazu mógł wstrzymać pracę procesora w momencie pobierania danych z pamięci obrazu (celem było uniknięcie konfliktów na linii adresowej). Wcześniej za wstrzymywanie pracy procesora odpowiadał zestaw 4 układów scalonych[7];
MOS 65C02 – wersjaCMOS procesora, w której poprawiono parę błędów i dodano kilka nowychrozkazów i trybów adresowania; cechą charakterystyczną tej konstrukcji w przeciwieństwie do 6502, 6502C i 6510 była eliminacja nieudokumentowanych rozkazów (kody rozkazów procesora, które nie były obecne w oficjalnej liście rozkazów, a które powodowały wykonanie jakiegoś działania przez procesor) — podanie takiego kodu odtąd powodowało, że procesor nie podejmował żadnych działań, a w celu minimalizacji błędów działania programów zachowano długość rozkazu (wraz zoperandami) oraz czas jego wykonania (tzn. jeśli dany rozkaz nieudokumentowany po swoim kodzie zawierałoperand o długości 1 bajta a wykonanie tego rozkazu trwało 5 cykli zegara, to 65C02 po wczytaniu kodu nic nie robił, ale przechodził do wykonania rozkazu po tym operandzie i czekał 5 cykli).