# Commodore 64

Il Commodore 64 (abbreviazioni diffuse: C64, CBM 64, C=64) è un home computer della Commodore Business Machines Inc. commercializzato dal 1982 al 1994.
Fu immesso sul mercato due anni dopo il Commodore VIC-20, con capacità di memoria, grafiche e sonore superiori rispetto a quest'ultimo, oltre a una buona compatibilità con le sue periferiche. La macchina venne venduta sino al fallimento della società, ed è stata la più venduta nella storia dell'informatica, con diversi milioni di unità prodotte e vendute. Il successivo Commodore 128 ne mantenne la compatibilità hardware e software grazie a una modalità dedicata.

## Storia
### Il progetto e la realizzazione

La società MOS Technology Inc. di proprietà della Commodore International iniziò a progettare un nuovo chip dalle stupefacenti caratteristiche grafiche e sonore. Il presidente della Commodore, Jack Tramiel, aveva previsto ampi margini di guadagno sia perché il costo di costruzione ammontava a soli 135 dollari al pezzo, sia perché il lavoro di progettazione per i chip sarebbe durato relativamente poco tempo e ultimato entro novembre 1981.

### La presentazione al pubblico

Il Commodore 64 è stato annunciato all'International Winter Consumer Electronics Show del 1982 (7–10 gennaio 1982 – Las Vegas Convention Center – Las Vegas, Nevada, Stati Uniti) durante il quale ne è stato anche mostrato un prototipo. Nell'agosto 1982 è incominciata la vendita al dettaglio negli Stati Uniti con un prezzo di lancio di 595 dollari. Il Commodore 64 venne inizialmente costruito usando lo stesso chassis del VIC-20 al fine di mantenere bassi i costi di produzione, poco dopo venne dotato di una propria struttura, simile a quello del VIC 20 ma di diverso colore.
In Italia il Commodore 64 è stato presentato in anteprima allo SMAU del 1982 (17–23 settembre 1982 – Fiera di Milano – Milano) dove Commodore International Ltd. era presente ufficialmente con un proprio stand. I visitatori non poterono vederlo in funzione, visto che la macchina era spenta e dentro una vetrinetta posizionata al centro dello stand. L'importazione e la distribuzione autorizzata del Commodore 64 in Italia venne curata direttamente dalla Commodore International Ltd. attraverso la propria consociata italiana Commodore Italiana S.r.l. che lo rese disponibile per la vendita al dettaglio a partire dal marzo 1983 con un prezzo di listino di 973.500 lire. Il prezzo di base fu poi portato a 799.000 lire in abbinamento alla rivista "Basic".

### Il successo sul mercato

Il C64 fronteggiò una vasta gamma di macchine concorrenti già appena dopo l'apparizione sul mercato; negli Stati Uniti d'America i più grandi concorrenti furono l'Atari 800 e l'Apple II. L'Atari 800 era molto simile nell'architettura, ma era molto costoso da costruire, mentre l'Apple II non poteva più competere con l'hardware del C64, anche se la sua espandibilità a slot interni rimaneva una caratteristica assente nel C64. Nel Regno Unito i concorrenti principali del C64 erano l'Amstrad CPC e soprattutto lo ZX Spectrum prodotto dalla Sinclair Research Ltd; quest'ultimo, distribuito qualche mese prima del C64 e venduto a quasi metà del suo prezzo, in un primo momento registrò un maggior numero di vendite ma alla fine non riuscì a fronteggiare le vendite della macchina della Commodore.
La chiave del successo del C64 furono le aggressive tattiche di marketing, che portarono a venderlo nei grandi magazzini, nei discount e nei negozi di giocattoli, oltre che nella rete di rivenditori autorizzati. Questo, insieme con una grandissima disponibilità di software e in particolare di videogiochi, consentì alla macchina di competere con le console per videogiochi. Il successo del C64 contribuì anche in modo significativo all'uscita di scena della Texas Instruments dal mercato degli home computer, dopo aver prodotto TI-99/4A. Inoltre grazie alle sue avanzate potenzialità grafiche e sonore, il C64 ha dato un importante contributo alla nascita della sottocultura informatica conosciuta come demoscene.

### Le periferiche, lo sviluppo e la fine

Furono realizzate diverse periferiche per la macchina, come ad esempio l'unità a nastro magnetico datassette, l'unità a dischi floppy il Commodore 1541 (che conobbe ulteriori evoluzioni come il Commodore 1571 e il Commodore 1581) i monitor Commodore 1701 e Commodore 1702 da utilizzare alternativamente alla televisione, il Commodore 1311, un joystick dotato di un solo pulsante di fuoco, il Commodore 1351, un mouse a due tasti con connettore a nove pin da collegare a una delle due porte per joystick, il modem Commodore 1650 e alcuni modelli di stampante; a questi si aggiunsero anche le periferiche prodotte da terze parti.
Nel 1984 la Commodore distribuì l'SX-64, una versione portatile del C64. L'SX-64 si distingueva per essere il primo computer portatile a colori. L'unità base comprendeva uno schermo CRT da 127 mm e un floppy disk drive 1541. Nello stesso anno fu prodotta una apposita cartuccia - la Epyx FastLoad - per abbreviare i tempi di caricamento del software.
Nel 1986 la Commodore mise in vendita il Commodore 64C, identico all'originale in termini di funzionalità, ma con un nuovo case che seguiva la linea estetica del C128 (commercializzato l'anno precedente) e una nuova versione del MOS SID. Negli USA il C64C veniva spesso venduto con il sistema operativo GEOS, dotato di interfaccia grafica. Vennero anche realizzate tastiere musicali da agganciare sopra il case, sia da parte della stessa Commodore sia da terzi, ogni prodotto era corredato da software per produrre musica; un accessorio simile fu prodotto anche in Italia, dalla società SIEL: il programma era CMK25, abbinato al corso di musica "7 note bit" dell'editore Jackson, che produsse un modello differente, specifico per il 64C.
Il C64 continuò ad avere un notevole successo sino all'inizio degli anni novanta; nel 1990 venne immesso sul mercato il Commodore 64 Games System, che consisteva principalmente in una scheda madre del C64 modificata per orientare il connettore per le cartucce in posizione verticale, in modo da consentire l'inserimento delle stesse dall'alto. Anziché presentarsi all'avvio con l'interprete BASIC, veniva mostrata una schermata per invitare l'utente all'inserimento di una cartuccia. Il C64GS fu un altro fallimento per la Commodore: non fu neppure commercializzato fuori dall'Europa, e le moltissime unità rimaste invendute furono svendute nel tentativo di liberare i magazzini. Tra il 1990 e il 1991 fu progettato un potenziale successore avanzato del C64, il Commodore 65, ma che non fu mai immesso nel mercato. Sebbene gli ultimi modelli vennero prodotti sino al termine del 1992, nel marzo 1994 venne annunciata al ceBIT la fine totale della produzione; la Commodore International fallì il mese successivo.

### Gli anni 2000 e il rinnovato interesse

A partire dai primi anni 2000 si è avuto un nuovo interesse per la macchina: nel 2001 iniziò le pubblicazioni una rivista web dedicata di nome Scene World Magazine, e nell'estate del 2004 il costruttore di PC Tulip Computers BV annunciò il C64 Direct-to-TV, un'implementazione di un C64 in un sistema embedded contenuto all'interno di un joystick modello Competition Pro e contenente 30 giochi precaricati in ROM. Progettato da Jeri Ellsworth, una progettista di computer autodidatta, si basava sull'hardware originale del C64, seppur con varie limitazioni, e contenente una ROM con 30 videogiochi precaricati. È possibile anche effettuare hacking vari che ne rendono possibile la connessione a una tastiera PS2 e a un drive 1541-compatibile. Al suo interno vi era un unico circuito integrato ASIC funzionante internamente a 32 MHz, sul quale si trovano i microprocessori MOS 6510, il MOS VIC-II, il SID, il CIA, e un MOS 906114-1 PLA. Il prodotto era pubblicizzato su QVC negli USA nella stagione natalizia 2004. Con l'affermarsi del retrocomputing, vennero inoltre sviluppati software che la supportassero, come ad esempio un browser web chiamato the Wave, un sistema operativo grafico stile UNIX o QNX chiamato WiNGs (supporta il multitasking e ha un client IRC e un programma email), alcune demo e il videogioco Metal Dust, uno sparatutto. Altra periferica è il Moog Song Producer, interfaccia MIDI prodotta dalla Moog.
Nel 2011 Commodore USA realizzò il Commodore64x, un PC con chassis della stessa forma del modello del 1982 che utilizzava una distribuzione GNU/Linux dedicata all'home computer, chiamata Commodore OS Vision, basata su Ubuntu 10.10. La macchina in versione basica era dotata di microprocessore Intel Atom dual core e di hard disk di 160 GB, con porte USB e una porta VGA. In Italia la macchina è stata commercializzata da Amibyte, tuttavia dopo il fallimento della società statunitense nel 2013 ne terminarono le vendite.
Nell'estate 2015 una società di nome Commodore Business Machines annunciò di mettere sul mercato telefonico il primo smartphone Android con marchio Commodore, denominato Commodore PET Phone, prodotto in collaborazione con l'azienda telefonica cinese Orgtec. Il telefono si basa su una CPU ARM Cortex-A8 e una scheda grafica Qualcomm Snapdragon e si basa sul sistema operativo Android Lollipop 5.0. Inoltre è stato confermato che saranno inclusi due emulatori per girare i vecchi software e giochi degli originali Commodore 64 e Amiga.
Nel 2018 Retro Games Ltd. e Koch Media hanno immesso sul mercato una riedizione miniaturizzata del Commodore 64 chiamata The C64 Mini, che include al suo interno l'interprete BASIC dell'home computer e 64 giochi precaricati all'interno di una memoria ROM. In Italia è disponibile dal 29 marzo dello stesso anno. Nel giugno del 2019 ne è stata annunciata una nuova versione di dimensioni maggiori, The C64, dotata di una tastiera funzionante e di un joystick dotato di microswitch, la cui presenza sul mercato è stata prevista per dicembre di quell'anno.
Nonostante il cessare della produzione, lo sviluppo di software per questa macchina è ancora attivo soprattutto grazie ad appassionati che realizzano homebrew e sviluppatori indipendenti.

## Caratteristiche tecniche

Il C64 utilizzava come microprocessore il MOS Technology 6510, con 64 kB di DRAM e 20 kB di ROM con il KERNAL e con interprete BASIC in versione 2.0, mentre la grafica e il sonoro disponevano ognuno di un processore dedicato: il video era gestito dal MOS VIC-II e l'audio dal MOS SID. Poiché il processore 6510 poteva utilizzare un metodo di indirizzamento capace di gestire 64 KB di memoria in tutto, 20 kB della RAM erano nascosti dalla ROM. Un registro permetteva di mappare in memoria la RAM nascosta escludendo la ROM, cosa molto utile nei programmi assembly che non avevano bisogno dell'interprete BASIC. Il C64 poteva essere collegato alla presa per l'antenna di un comune televisore. Il segnale emesso era secondo standard diversi e su canali diversi nei vari Stati del mondo: in Italia si utilizzava il canale 36 della quinta banda (UHF), tenuto libero dalle trasmissioni televisive proprio per non avere interferenze con videoregistratori o altri apparati video che potevano essere usati in casa. Vennero anche prodotti dei monitor da parte della stessa Commodore, da collegare all'uscita A/V su un connettore DIN a 5 poli.
Come il Commodore VIC 20 aveva una porta per le cartucce, sebbene di dimensioni più ridotte, un'uscita RF out, una porta input/output Commodore IEEE-488 e una per il datassette; possedeva, inoltre, una uscita S-Video e due porte joystick a nove pin invece di una. Inoltre, disponeva di un bus che dava la possibilità di formare un collegamento in cascata di vari dispositivi: una periferica (un drive per floppy disk da 5 1/4" o una stampante) connessa al C64 e le altre connesse una all'altra. Allo scopo, la Commodore produsse - attraverso terze parti - il Commodore 4015, che permetteva di connettere fino a 8 Commodore 64 e condividere le loro periferiche.

### Il microprocessore

Il microprocessore utilizzato è il MOS 6510, una versione modificata del 6502 con alcuni registri hardware aggiuntivi nelle locazioni $00 e $01 per il datassette, che viene gestito direttamente dal microprocessore, e per la configurazione di memoria. La frequenza di clock è pari a 1 MHz. Le istruzioni più semplici prendono almeno due cicli di clock, mentre quelle più complicate sette. Il Commodore 64 ha una potenza di calcolo di una piccola frazione di MIPS, può però delegare molti compiti ai due chip dedicati per audio e video.
Erano in commercio anche delle schede aggiuntive Z-80, che consentono di utilizzare lo Zilog Z80 (evoluzione dell'Intel 8080A) sul Commodore 64.

### Il chip video

Il Commodore 64 possedeva un chip video (VIC-II) che poteva produrre 16 colori, con la possibilità di creare l'illusione ottica di un numero maggiore di colori, ottenibile con particolari algoritmi software. Aveva una risoluzione video massima di 320 x 200 punti nel modo "hi-res" (2 colori possibili per ogni cella 8 x 8), e di 160 x 200 nel modo "multicolor" (4 colori possibili per ogni cella 4 x 8, con pixel di larghezza doppia). Il modo testo forniva una visualizzazione di 40 colonne per 25 righe. Il tipo di caratteri di default era modificabile, poiché bastava ordinare al circuito grafico di prelevare le definizioni dei caratteri dalla RAM anziché dalla ROM. Il chip gestiva fino a 8 sprite hardware, cioè delle forme grafiche facilmente gestibili dal chip per ottenere immagini e animazioni, disegnate sopra allo schermo tradizionale. Il VIC-II era capace di generare un interrupt in una qualunque linea di scansione del video desiderata. Questo permetteva al programmatore di riprogrammarlo "al volo" in modo da usare un set di parametri diverso per zone diverse dello schermo, per esempio per riutilizzare un'altra volta gli 8 sprite, avendone così 16 o anche più disponibili sullo schermo. I registri del VIC-II sono mappati negli indirizzi di memoria $D000-$D02E (in decimale 53248-53294), quindi nella configurazione normale la RAM a quegli indirizzi non era disponibile contemporaneamente ai registri del VIC-II.

### Il chip audio

Alla base c'era il chip SID 6581, progettato da Bob Yannes, che poteva riprodurre tre voci hardware, permettendo la riproduzione della voce umana senza hardware aggiuntivo. A livello di sintesi, il processore costruiva i suoni a partire da quattro forme d'onda basilari - a Impulsi o Quadra, Triangolare, a Dente di Sega, Rumore Bianco - più l'ADSR. Il numero di voci poteva essere "aumentato" mediante tecniche software che aggiungevano campionamenti audio PWM, perché il SID poteva anche campionare segnali analogici, con risoluzione di 4 bit. Anche i registri di controllo del SID, come quelli del VIC-II, erano mappati agli indirizzi $D400-$D41C (decimale 54272-54300).

### Il sistema operativo

Il sistema operativo del Commodore 64 era costituito da tre componenti, separati ma interdipendenti, ovvero:
* Il KERNAL;
* Il monitor in linguaggio macchina;
* L'interprete BASIC.
Il KERNAL era il kernel adottato dai computer Commodore a 8-bit, utilizzato per la prima volta nel Commodore PET 2001; esso è un insieme di routine preposte alla gestione dell'input/output (ovvero dello schermo, della tastiera e di tutte le varie periferiche). Le routine potevano anche essere chiamate dall'utente mediante una jump table standard: in questo modo, le chiamate alle routine presenti su tutte le versioni del KERNAL funzionavano correttamente su tutti i modelli Commodore a 8-bit (nonostante le differenti mappe di memoria). I programmi in linguaggio macchina potevano così essere scritti più rapidamente, e avevano un ragionevole grado di portabilità. Le subroutine di IRQ (interrupt request) e NMI (non-maskable interrupt) erano collocate in questa ROM: per evitare un blocco del sistema, i programmi che accedevano in lettura alla RAM sottostante vi dovevano piazzare precedentemente una finta routine NMI e disattivare l'IRQ. Il bus era concepito in modo tale che le scritture avvenivano in RAM anche quando la lettura era possibile dalla ROM. Il software scritto in linguaggio macchina, una volta lanciato, disattivava spesso la ROM BASIC per guadagnare ulteriori 12 kB di memoria contigua (gli 8 liberati dalla ROM del Basic e un'area da 4 kB successiva) rispetto ai 38 originali.
Il monitor in linguaggio macchina era il programma preposto alle funzioni di immissione del testo da parte dell'utente, alloggiato nella medesima ROM del kernel.
Riguardo l'interprete BASIC all'epoca della commercializzazione il C64 possedeva la versione 2.0 del Commodore BASIC, la stessa del predecessore Commodore VIC-20, per ridurre i costi. Esso si appoggiava al KERNAL per il funzionamento, era di diretta derivazione del Microsoft BASIC e consentiva all'utente di scrivere i programmi in BASIC, e più in generale di interagire con il sistema operativo, immettendo dei comandi nel modo diretto (come il comando LOAD per caricare un programma, oppure i comandi di gestione dell'unità Commodore 1541). In questo modo era possibile interagire con la macchina. Il BASIC del C64 era privo di comandi per la gestione della grafica bitmap, sprite e di gestione del suono. In ogni caso, malgrado il Commodore BASIC fosse usato anche per dare ordini al sistema operativo e alle periferiche, tale linguaggio non offriva alcun comando grafico e sonoro diretto, e tali potenzialità potevano essere sfruttate solamente con i comandi PEEK e POKE unitamente a lunghi inserimenti di dati in formato numerico decimale. Per questa ragione nacquero diverse estensioni del BASIC del Commodore 64 realizzate da terze parti, come il Simons' BASIC (che aggiungeva 110 nuovi comandi), la cartuccia Super Expander (che aggiungeva 32 comandi) e Ultrabasic della Abacus del 1983 (che aggiungeva 50 comandi).
Per quanto riguarda la visualizzazione dei caratteri, un chip ROM di 4k conteneva le bitmap 8x8 del particolare doppio set di caratteri di questi computer, in grado di offrire due tipi diversi di visualizzazione: maiuscolo/simboli (default all'accensione) e minuscolo/maiuscolo, con la posizione delle maiuscole e minuscole scambiata rispetto allo standard ASCII. Tali caratteristiche sono ereditate direttamente dal VIC-20. Era possibile ordinare al MOS VIC-II di leggere le forme dei caratteri sulla RAM, in modo da poter utilizzare un set di caratteri personalizzato. La versione svedese e una giapponese del C64 comprendeva una differente ROM dei caratteri e le necessarie modifiche al Kernel per gestirla. La versione giapponese aveva i caratteri locali collocati al posto dei simboli accessibili tramite il tasto modificatore col marchio Commodore (C=) e il tasto Shift Lock diventava "C= lock".
Come in tutti i dialetti del Microsoft BASIC, il comando SYS permette di eseguire codice in linguaggio macchina situato a partire da un qualsiasi indirizzo di memoria (punto d'ingresso). Il sistema operativo fornisce molti indirizzi con routine di sistema predefinite. Ad esempio era molto noto il comando SYS 64738, che provoca il reset software della macchina, utile in quanto il C64 non ha un pulsante di reset.

#### Alternative

A causa della numerosa produzione di software CP/M, all'epoca in voga per le applicazioni professionali, per poterlo sfruttare fu commercializzata dalla Commodore nel 1983 una cartuccia con dischetto, che carica sul Commodore 64 una versione di tale sistema operativo tramite una combinazione di emulazione hardware/software. Venne pubblicata pochi mesi dopo il lancio del C64, nel tentativo di aumentarne le possibilità d'uso come computer da ufficio, ma la realizzazione fu difettosa e mancava una vera compatibilità tra i dischi CP/M nativi e il lettore di floppy Commodore 1541. In pratica tutto il software per CP/M esistente doveva essere adattato per poterlo utilizzare con il C64, cosa che avvenne solo per una piccola parte del software. La cartuccia fu un insuccesso e finì presto nell'oblio.
Nel 1986 fu sviluppato, dalla Berkley Softworks, un sistema operativo con interfaccia grafica: GEOS (Graphical Environment Operating System), che ottenne un buon successo e che fu reso disponibile anche per il Commodore 128.

### Le revisioni hardware

La scheda madre del C64 conobbe un certo numero di revisioni, soprattutto per la riduzione dei costi, durante la guerra dei prezzi e per affrontare la concorrenza del nuovo mercato delle macchine a 16-bit. La scheda madre originale del C64 (basata su NMOS) passò per due importanti riprogettazioni e numerose revisioni che cambiavano la posizione dei chip VIC-II, SID e del PLA. Inizialmente una larga fetta dei costi fu abbassata riducendo il numero di alcuni componenti usati, come diodi e resistori.
Il VIC-II fu prodotto con la tecnologia MOS a 5 micrometri, con una frequenza di 8 MHz, ma poiché generava parecchio calore, la MOS Technology implementò un DIL ceramico (chiamato CERDIP). L'integrato ceramico era più costoso, ma dissipava il calore più efficacemente della plastica.
Dopo una riprogettazione nel 1983, il VIC-II fu prodotto usando un contenitore plastico di tipo DIL, riducendo di molto i costi, senza però risolvere il problema del calore. Senza un contenitore in ceramica, il VIC-II ha richiesto l'uso di un dissipatore di calore, e per evitare ulteriori costi, la protezione metallica elettromagnetica fu utilizzata come dissipatore di calore per il VIC, anche se non tutte le unità furono equipaggiate con questo tipo di protezione. Molti Commodore 64 venduti nell'Europa furono forniti di una protezione di cartone, ricoperto di uno strato metallizzato.
L'efficacia della protezione fu molto dubbia, e nel peggior dei modi ha funzionato come isolante, bloccando il flusso d'aria trattenendo il calore generato dai chip SID, VIC e PLA. Il SID fu fabbricato usando la tecnologia NMOS a 6 e 7 micrometri. Il prototipo del SID e quelli presenti in alcuni modelli pre-produzione presentavano un contenitore in ceramica DIL, ma sono estremamente rari (al contrario del VIC-II, più diffuso ma comunque raro). La maggior parte dei contenitori dei SID erano prodotti in plastica.
Nel 1984, la Commodore fece l'ultima versione della prima scheda madre. Era identica alla versione del 1982, con l'eccezione dei 2 chip DRAM per la memoria, anziché gli originali 8. Questa scheda era siglata ASSY 250466.
Nel 1986 venne messo sul mercato il Commodore 64C con una nuova scheda madre; a partire da tale modello la MOS Technology incominciò a utilizzare la tecnologia HMOS nel chipset del C64, col beneficio più evidente era che richiedeva meno voltaggio e di conseguenza produceva meno calore. Questo migliorò l'efficienza dei chip SID e VIC-II. Il nuovo chipset fu rinominato come 85xx. La nuova scheda era più corta e utilizzava assieme al chipset HMOS, nuovi chip PLA a 64-pin, che integrava molti componenti e chip a transistor. La RAM 2114 color fu integrata nell'ultima versione del PLA. L'ultimo modello a essere prodotto fu la C64E del 1992, revisione a sua volta di quella utilizzata nel C64C.
Una nota curiosa proviene da alcuni manuali del Commodore 64 che riportano la foto di un esemplare, probabilmente un prototipo, dotato di tasti dalla forma squadrata e dalle serigrafie piuttosto grandi, come quelli tipici dei PET serie 4000. A differenza del VIC-20, che effettivamente fu prodotto anche con tale tastiera, non si ha notizia di una tale variante del Commodore 64 tra gli esemplari di produzione.

## Periferiche
### Unità a nastro

L'unità a nastro prodotta per il C64 dalla stessa Commodore come memoria di massa era il Datassette modello 1530. Piuttosto lento, ma economico, divenne la memoria di massa per C64 più diffusa in Europa. Il supporto impiegato per la memorizzazione dei dati è un'audiocassetta a nastro magnetico, ampiamente diffusa allora soprattutto per la riproduzione di musica, ma che risultava decisamente più lenta e inaffidabile dei dischi floppy. L'unità a cassette richiedeva inoltre una periodica pulizia e regolazione dell'azimut, altrimenti diventava sovente inaffidabile nei caricamenti: dopo un certo utilizzo infatti la testina di lettura della periferica perdeva l'allineamento con il nastro. In altri casi gli errori di lettura erano imputabili a nastri di scarsa qualità o che si logoravano in seguito a un loro continuo utilizzo.
Per velocizzare i tempi di caricamento si diffusero programmi detti fast loader e una disparata libreria di utilità "Turbo" che potevano arrivare a ridurre i tempi di caricamento di dieci volte.
Nel corso del tempo sul mercato divennero disponibili anche dispositivi hardware prodotti da terze parti, come ad esempio il Quick Data Drive, prodotto dalla Entrepo anche per VIC-20, che si connette alla porta per il Datassette e utilizza delle cartucce a nastro con velocità, capacità e modalità di gestione simili a quelle dei floppy; e il Magnum Data Recorder, che tramite una uscita audio dava la possibilità di ascoltare, attraverso un piccolo altoparlante posto al suo interno, il suono registrato sulla cassetta in modo da facilitare il caricamento del programma sul nastro e la regolazione dell'azimut.

### Unità a dischi floppy

Nel corso degli anni vennero prodotti tre modelli di unità a dischi floppy per il Commodore 64:
* Commodore 1541 (per floppy disk da 5¼"), stampato come 154I;
* Commodore 1571 (per floppy disk da 5¼");
* Commodore 1581 (per floppy disk da 3½").
Come il Commodore 1540 già concepito per il VIC-20, tali unità hanno un microprocessore che rende possibile per tali periferiche operare in modo del tutto indipendente: ad esempio, è possibile formattare un disco floppy e, nel contempo, continuare a scrivere il proprio programma o effettuare un caricamento dall'unità a nastro.
La nuova unità per la macchina era il Commodore 1541, che accetta dischi floppy da 5¼" formattabili a 170 kB per lato e trasferisce dati a velocità molto più elevata. Ha il processore MOS 6502, simile a quello del computer principale, propria RAM e un alimentatore elettrico interno; mentre il modello 1541-II, versione migliorata con maggiore affidabilità e silenziosità, ne utilizza uno esterno, cosa che consentiva di evitare danni da surriscaldamento e di avere dimensioni più contenute dell'unità. L'unità Commodore 1571 venne prodotta per il Commodore 64C, e seguiva i colori e la linea della nuova versione del C64. Il 1581 invece utilizza dischi con capacità di 800 kB, tuttavia fu il meno diffuso.
La Commodore produsse anche un adattatore IEEE-488-standard, che poteva essere inserito nella porta d'espansione. Sfruttava i drive IEEE, come la SFD-1001 1-megabyte, con i dischi da 5¼ pollici, i drive 4040 e 8050 e l'hard disk 9060/9090. A causa della lentezza del 1541 e del costo dell'adattatore e dei drive IEEE, furono venduti dei floppy drive non ufficiali che offrivano maggiore velocità rispetto al 1541, al costo di una minore compatibilità.

### Dispositivi di puntamento

Il Commodore 64 permette a due persone simultaneamente di impiegare videogiochi: i joystick venivano collegati alle due porte DB-9 situate a lato dello chassis, vicino all'interruttore di accensione. I joystick utilizzabili sono quelli dello standard introdotto da Atari, già utilizzati anche per il VIC-20, dotati di 8 direzioni digitali e di un pulsante di fuoco. La Commodore produsse alcuni modelli di joystick, ma essendo una periferica universale il mercato era dominato dai produttori indipendenti. Sul mercato ve ne erano di vari modelli, con funzioni aggiuntive come il fuoco automatico attivabile tramite un interruttore. Tra i joystick più noti e apprezzati per questo computer ci furono l'Albatros, il Quickshot e il Competition Pro.
Molto più raro era l'utilizzo delle paddle, anch'esse già disponibili per il VIC-20 e collegabili alla porta joystick, sempre a coppie (due paddle con cavo sdoppiato su una sola porta). Internamente si basano su una resistenza variabile che viene digitalizzata tramite il SID. I videogiochi che le supportano ufficialmente furono molto pochi.
Il mouse era una periferica poco comune sul Commodore 64 come sui computer a 8 bit in genere, comunque ne esistevano diversi modelli. L'utilizzo tipico era con il sistema operativo GEOS, ma è supportato anche da alcuni giochi. La Commodore produsse il Mouse 1350 (o Commodore 1350) e il Mouse 1351, entrambi a due pulsanti ed esternamente uguali, ma molto diversi nel principio di funzionamento. Il 1350 si limita a tradurre gli spostamenti del mouse in impulsi digitali nelle otto direzioni, equivalenti a quelli di un joystick, tanto che qualunque programma che supporti il joystick si può controllare anche con il 1350. Il 1351 è invece un vero mouse proporzionale che rileva le ampiezze dei movimenti nei due assi, gestito tramite il SID analogamente alle paddle; ha anche una modalità compatibile 1350 per comportarsi come joystick. Diversi altri modelli di entrambi i tipi furono prodotti da terzi. Uno dei primi è il Magic Mouse della SMC, a tre pulsanti e fornito con programmi di grafica.

### Stampanti

La Commodore produsse la serie di stampanti ad aghi MPS 800, comprendente i modelli MPS 801/802/803, collegabili tramite la porta seriale IEEE-488 e compatibili anche con VIC-20, Commodore 128, Commodore 16 e Plus/4. Erano disponibili nei colori beige e nero, per abbinarsi ai vari modelli di computer.
Uscì inoltre il plotter Commodore 1520, anch'esso collegato da interfaccia seriale e compatibile con i suddetti computer Commodore. Stampa a 4 colori su rotoli di carta da 114 mm.

### Monitor

Vennero prodotti dei monitor specifici, a cominciare dal Commodore 1701 e 1702 da 13 pollici, dotati sia di ingresso composito (posto sul davanti) sia luma/croma (posto sul retro); successivamente il 1084, 1802 e 1902, quest'ultimo compatibile con i PC IBM. I monitor Commodore erano realizzati da società esterne, prevalentemente giapponesi, e poi rimarchiati, non avendo la casa madre impianti specializzati in tal senso.

### Strumenti per le telecomunicazioni

Come nel VIC-20, il C64 è privo di un vero chip UART e utilizza un emulatore software. Questo limitò la velocità del bus-dati a 2400 bit/s, tuttavia cartucce con chip UART, prodotte da terze parti, offrirono prestazioni ottimali.
In Italia fu messa in commercio una periferica chiamata Adattatore Telematico, approvato dagli standard della SIP e che era una specie di modem venduto a basso prezzo. Questo favorì le prime trasmissioni di telecomunicazione informatica (telematica) fra utenti. Negli Stati Uniti, la Quantum Computer Services (più tardi America Online) offriva un servizio online chiamato Quantum Link per il C64 che permetteva chat, download e giochi online. In Inghilterra, Compunet era un servizio online molto popolare per gli utenti C64 (anche se richiedeva modem speciali forniti dalla Compunet), dal 1984 fino ai primi anni '90. In Germania le leggi restrittive sull'uso della telefonia rallentarono l'impiego dei modem.
Vennero inoltre realizzati alcuni modem da parte della stessa Commodore, il primo dei quali fu il Commodore 1650.

### Espansioni e interfacce

L'espansione di memoria ufficiale, Commodore 1764, era fornita assieme a un alimentatore potenziato e contiene 256 kB di memoria RAM. Il più famoso a farne uso è stato il sistema operativo grafico GEOS. Come per la famiglia degli Apple II, unità di accelerazione fornite da terze parti fornirono una velocità della CPU maggiore. A causa dei limiti del timer del chip VIC-II, gli acceleratori del C64 erano molto più complessi e costosi da implementare rispetto a quelli costruiti per gli altri computer. Gli acceleratori basati sul Western Design Center WDC 65C02, che di solito funzionavano a 4 MHz, e sul 65816 (fino a 20 MHz), comparirono sul mercato troppo tardi e a un prezzo di 199 dollari, ed ebbero quindi una diffusione limitata. La periferica prodotta da terze parti più nota fu la SuperCPU della Creative Micro Designs che aumenta la frequenza della CPU a 20 MHz, e fino a 16 MB di RAM se si dispone della SuperRamCard.
Erano inoltre disponibili cartucce di espansione, come ad esempio quelle prodotte dalla Commodore per il linguaggio CP/M, contenente al suo interno un processore Z80, e la cartuccia di espansione Simons' BASIC che aggiunge 114 comandi non presenti nel BASIC 2.0 del C64. Dopo un periodo iniziale in cui il principale produttore di cartucce di espansione era la stessa Commodore seguita dalla Supersoft britannica, si diffusero molti modelli di produttori vari, che fornivano funzionalità ricorrenti come backup di software su disco, monitor in linguaggio macchina, estensioni del BASIC, fast loader; tra le cartucce più note e complete c'era la serie Final Cartridge.
Vennero anche messe in commercio tastiere musicali esterne collegate tramite la porta di espansione: la SIEL CMK 49 (commercializzata anche come Music 64 e WersiBoard) e la Sound Expander.

## Modelli principali

Venne commercializzato in tre varianti: il Commodore MAX, il Commodore Educator 64 e il Commodore SX-64, commercializzati rispettivamente a partire dal 1982, 1983 e 1984. Dal Commodore 64 sono inoltre derivate due console per videogiochi: il Commodore 64 Games System a partire dal 1990.
All'inizio della produzione, Commodore utilizzò il case del Commodore VIC-20 ma con un diverso colore. Successivamente con lo sviluppo, nel 1982, del VIC-20 CR (Cost Reduction) fu prodotto un case identico nelle forme ma più basso (slim case). Il case slim fu adottato anche per Commodore 16.

### La prima versione (1982)

La primissima versione, che si distingue per via della placchetta argento recante la scritta "Commodore" da un lato e "64" dall'altro, venne prodotta nel 1982. Questa versione utilizza uno chassis color argento ed è chiamata "Silver Label" dai collezionisti nelle aste online. Le versioni "Made in USA" hanno il logo Commodore stampato su un'etichetta in alluminio satinato mentre quelle prodotti in Germania si differenziano per l'etichetta adesiva in plastica liscia, coi tasti funzione grigi o arancioni (meno diffusi). I "silver label" montano la scheda madre ASSY 326298, la "original" come veniva chiamata internamente dalla Commodore, quella derivata direttamente dai prototipi. Dall'esterno la si può riconoscere per via del connettore video a 5 pin. Esiste anche una versione chiamata da alcuni "la scheda misteriosa" perché priva del numero di identificazione del modello (ASSY). Questa scheda è datata 1982 e riporta sul retro il numero di FAB 251022. Esteticamente questa scheda è una via di mezzo tra la "original" e la successiva ASSY 250407. Presenta infatti la medesima disposizione degli integrati della ASSY 326298, ma connettore video a 8 pin e sezione di alimentazione / condensatori simile alla ASSY 250407. Su entrambi i modelli è sempre presente il chip VIC II in ceramica. Al contrario il chip sonoro SID nello stesso materiale è estremamente raro.

### La seconda versione (1982/1986)

La seconda e più diffusa versione venne prodotta a partire dalla seconda metà del 1982 fino al 1986 presentava un case di colore grigio e un arcobaleno stilizzato vicino alla scritta "Commodore 64". L'etichetta arcobaleno è la principale differenza estetica rispetto alla versione Silver Label. Esistono sia in versione con tasti funzione arancioni sia grigi, questi ultimi molto più comuni. A seconda dei mercati in questo modello possiamo trovare 4 tipi di scheda madre. Le più diffuse, sia in Europa sia negli Stati Uniti, sono la "version A board" del 1983 (ASSY 250407-04) e la "version B board" del 1984 (ASSY 250425). Su qualche prima serie del 1983 è ancora possibile trovare il chip VIC II in ceramica. Rarissime invece su questo modello, e presenti solo sul mercato europeo, le versioni di transizione e cioè le vecchie FAB 251002 e la "version B-2 board" (ASSY 250441-01). Infine, solo nei C64 prodotti in USA è possibile trovare qualche ASSY 326298 del 1982. Le ricerche indicano che il passaggio dal logo "Silver" al logo colorato dovrebbe essere avvenuto, sempre nei C64 made in Usa, intorno al numero seriale S...40000.

### Il Commodore 64C (1986)

Il Commodore 64C fu il nuovo modello prodotto a partire dal 1986 che sostituì quello dell'82. Assemblato nelle fabbriche Commodore dislocate in Germania, Hong Kong e Cina, dal punto di vista hardware ha le stesse caratteristiche, ma con un case beige ridisegnato in modo da avere un profilo più basso, moderno e squadrato, simile a quello del Commodore 128 e dell'Amiga, mentre l'unica innovazione hardware fu l'implementazione del MOS SID 8580 al posto del 6581. La disposizione dei tasti resta la stessa, ma si passa al colore beige chiaro, con i tasti funzione di colore beige scuro. La nuova conformazione più piatta era anche un miglioramento dal punto di vista della dissipazione del calore, tuttavia i caratteri PETSCII erano posti sulla superficie dei tasti e non a lato, inoltre la plastica era soggetta a ingiallimento.
Le prime unità prodotte avevano le serigrafie della tastiera identiche a quelle del modello classico, mentre le successive ricevettero un nuovo disegno e una disposizione diversa dei simboli, tutti sulla faccia superiore del tasto, ma vi è anche notizia di una terza versione (chiamata "joints") in cui al posto di molte viti vi sono dei ganci integrati nel case che lo chiudono e tengono ferma la tastiera con i nuovi disegni. Nel 1987 venne venduta una versione con incluso l'adattatore telematico 6499. Si trattava di un modem 1200/75 baud che consentiva l'accesso ai servizi videotex con una velocità di 300/300 baud.
Fu prodotto con tre modelli diversi di scheda madre: ASSY 250425 del 1984 ereditata dal vecchio modello e montata in esigue quantità solo dalla fabbrica tedesca, la ASSY 250466, identica alla precedente ma con 64K distribuiti su 2 chip invece di 8 e infine l'ultima evoluzione delle schede commodore 64 con la ASSY 250469 ad alta integrazione (board revision BN/E) utilizzata anche sul C64G. Va precisato che fino al 1987 almeno due ASSY diverse coesistevano nella produzione, quindi è possibile trovare C64C dotati delle vecchie schede. Solo a partire dalla fine del 1988 si è assistito a una capillare diffusione della Revision BN/E su tutte le linee di produzione. Interessante notare che mentre nella prima serie, il case, seppur prodotto da varie fabbriche esibiva standard qualitativi pressoché identici, sul 64C si trovano notevoli differenze tra i due tipi. Il case più economico fletteva sotto il peso della board e della tastiera producendo uno scricchiolio. L'altro utilizzava plastiche migliori e molto più spesse risultando di notevole solidità.
Una versione argentina di questo modello era assemblata localmente dalla società Drean per assecondare un particolare regime fiscale riservato all'industria locale e si riconosceva, oltre che per una differente etichetta di identificazione, per il LED di accensione tondo anziché rettangolare.

## Varianti
### Commodore MAX

Anche conosciuto come Ultimax, VICKEY o Vic 10, il Commodore MAX commercializzato nel 1982 solo per il mercato giapponese, aveva appena 2,5 kB di memoria, tastiera a membrana e ridotto numero di porte prodotto esclusivamente; era pensato come console per videogiochi.

### Commodore 64 Giapponese

Versione commercializzata in Giappone dal 1983, che sebbene presenti uno chassis identico alla prima versione si differenzia per la tastiera Katakana, il tasto SHIFT-LOCK rimpiazzato con C= Lock inoltre KERNAL, BASIC e ROM caratteri modificate, ha problemi di compatibilità con tutte le altre versioni e la schermata iniziale mostra 36863 bytes free, invece dei canonici 38911.

### Commodore SX-64 Executive

Una versione portatile del Commodore 64 con monitor a colori, tastiera separata e unità a dischi 1541 interna. Inizialmente annunciata con il nome SX-100 e uno schermo monocromatico, fu fatta evolvere in questo prodotto. Risulta prevista anche una versione DX-64 con doppio drive. Il codice di una delle ROM di questo computer fu modificato rispetto all'originale, con diversi colori di default all'accensione (più simili a quelli del Commodore VIC-20) e la disattivazione del codice per il funzionamento dell'unità a cassette, non prevista in questo modello. Anche la combinazione di tasti Shift+RunStop, una famosa scorciatoia per il LOAD (caricamento) di un programma da nastro, fu modificata per l'uso del drive interno. L'SX-64 Executive fu inoltre il primo home computer portatile a colori.

### Commodore Educator 64

Il Commodore Educator 64 anche noto come PET64 o CBM4064, aveva un case simile al Commodore PET serie 4000 ed era pensato per il mercato educational statunitense. Queste unità erano normalmente ricavate da schede madri in origine guaste, successivamente riparate e ricarrozzate.

### Commodore 64 Golden Edition

Per commemorare il milionesimo Commodore 64 prodotto in Germania, la Commodore Büromaschinen GmbH (la consociata tedesca della Commodore) produsse una versione speciale in edizione limitata, chiamata Golden Edition.
Il computer era dorato e avvitato su una piastra decorata con disegni di circuiti. La piastra recava una targhetta, che recitava:
| «Golden Edition aus Anlaß des 1.000.000sten C 64 in Deutschland 5. Dezember 1986» | «Edizione oro (dorata) in occasione del milionesimo C 64 in Germania 5 dicembre 1986» |
Vennero presentate 200 unità (numero di serie 1'000'000 - 1'000'199) presso il museo BMW di Monaco di Baviera, affittato per l'occasione dalla Commodore: i computer non vennero venduti al pubblico, ma dati in quella manifestazione a rappresentanti della stampa e dell'economia. La macchina numero 1'000'058 venne donata alla rivista tedesca "64'er". Su questi computer era indicato il numero di serie, scritto a penna, di fianco al logo Commodore. Inizialmente dovevano venirne prodotti solo 150, ma i numeri di serie arrivano a circa 350, forse 1.000.
Sebbene lo scopo di questi computer fosse commemorativo e decorativo, erano macchine perfettamente funzionanti.

### Commodore 64 "ALDI"

Versione prodotta nel 1987 esclusivamente negli USA ma riservata al mercato tedesco. Fu soprannominato ALDI dalla rivista tedesca "64'er Magazine", perché era frutto di un accordo commerciale tra la Commodore e catena di supermercati ALDI. Sulla targhetta identificativa viene riportato semplicemente "C 64". Riprende la forma e il colore del 64 originale, ma con tastiera bianca del Commodore 64C prima serie e scheda madre ASSY 250469. Il ritorno al vecchio case fu probabilmente una mossa commerciale per differenziare il prodotto dal nuovo C64C uscito l'anno prima, visto che il 64 "ALDI" veniva offerto a un prezzo ritenuto da "discount".

### Commodore 64G

Prodotto riservato al mercato tedesco, venne introdotto verso la fine del 1987 sostituendo la versione ALDI. Conosciuto anche come C64 III o C64 BN/E, montava l'ultima evoluzione di scheda madre già introdotta con il Commodore 64C, la ASSY 250469, utilizzava il case originale del 1982, questa volta però di color crema, venne prodotto per il mercato tedesco e prodotto per assicurare la compatibilità con una tastiera musicale in plastica che si agganciava al di sopra del C/64.

### Commodore C64GS

Dove GS sta per Game System. Una console per videogiochi, essenzialmente un 64 senza tastiera. La tradizionale sequenza di avvio e accesso all'interprete Basic fu modificata con un'animazione che invitava a spegnere l'apparecchio, inserire una cartuccia e riaccenderlo. Venne venduto in Europa nel tentativo di entrare nel mondo delle console casalinghe a basso costo.

### Commodore 65

Nel 1991 vennero creati una cinquantina di prototipi di un nuovo modello, identificato col nome in codice C64DX (come appare sullo schermo di alcuni esemplari). Nonostante il nome, i cambiamenti questa volta non si limitavano all'estetica, ma anche il software e l'hardware erano significativamente diversi (tanto che in prototipi successivi presentavano la sigla C65)) la nuova macchina era dotata di un drive floppy 1581 integrato, un nuovo modello di processore (CSG 4510) con una maggiore frequenza di clock (3,54 MHz), un nuovo chip video (VIC-III), due chip audio invece di uno (e di un nuovo modello), memoria raddoppiata (128 kB), tastiera ridisegnata, una versione aggiornata del BASIC alla 10.0 e nuove modalità grafiche. Poiché questo modello non venne però mai commercializzato e i pochi realizzati furono venduti durante le aste di liquidazione dell'azienda, è ritenuto molto raro.

## Dati di vendita

Il Commodore 64 è il computer più venduto al mondo, commercializzato per circa 11 anni. Si è stimato che nel mondo ne siano stati venduti tra i 12,5 e i 30 milioni di esemplari, secondo quanto dichiarato da Jack Tramiel e la stessa Commodore, un numero molto alto che non ha avuto precedenti. Il Guinness dei primati, nelle edizioni del 2001 e 2002, parlava di circa 30 milioni di unità, ma questo dato, dalle fonti non chiare, sollevò perplessità già all'epoca. Nel 2007, a un raduno del Computer History Museum per i 25 anni del C64, le dichiarazioni di Tramiel e di Adam Chowaniec potevano supportare un dato di 22-30 milioni, ma di nuovo appaiono esagerate. Se ci si basasse sui numeri di serie conosciuti, il numero minimo di unità fabbricate sarebbe 15,79 milioni, o più probabilmente 19,27 milioni. Nel 2002 un valore dichiarato di 17 milioni fu attribuito all'Annual Report di Commodore del 1993, ma si rivelò poi un'attribuzione falsa.
Col tempo sono state effettuate da più parti ricerche più attendibili e indipendenti, che hanno ridimensionato la cifra. Nel 2011 Michael Steil pubblicò un resoconto dettagliato sul sito Pagetable, che basandosi sui numeri di serie arrivò alla cifra esatta di 12 681 839 unità prodotte (non vendute). Nel 2017 Marco Fanciulli integrò approfonditamente i risultati di Steil fino a considerare attendibili 12 287 000 unità. Riteneva ancora valido basarsi sui numeri di serie delle schede madri, che per tutti i C64 sono state sempre prodotte a Hong Kong, a differenza dei C64 interi che sono stati assemblati in vari stabilimenti nel mondo. Nel 2021 il curatore della Commodore International Historical Society, Dave McMurtrie, giunse a conclusioni simili con tutt'altro metodo. Si basò sui dati ufficiali di vendita stilati negli anni dall'azienda, soprattutto per i resoconti interni e per le comunicazioni agli azionisti. Ottenne un totale di 12 850 000 tra C64 e C128 sommati. In seguito anche il Guinness dei primati ha dichiarato una "stima moderna credibile" di 12,5 milioni di unità vendute.

## Tributi artistici

* Il gruppo italiano K.Bytes pubblicò nel 1984 l'album I Adore Commodore, con brani di musica elettronica ispirati a videogiochi del Commodore 64.
* Il gruppo danese Press Play On Tape, formato nel 1999, suona musica bitpop proveniente dal Commodore 64.
* Il Commodore 64 è il soggetto di una canzone degli Articolo 31, Commodore 64 vs PC dell'album Italiano medio del 2002.