Il Commodore 64 è un home computer di casa Commodore molto popolare negli anni ottanta. Il nome adottato dalla casa costruttrice fu inizialmente Vic-30, ma prima della distribuzione venne cambiato in Commodore 64.
Risulta essere il modello di computer più venduto al mondo, record che si trova anche nel Guinness dei primati: nel 1986 furono venduti più di 10 milioni di esemplari in tutto il mondo. Fu commercializzato fino al 1993, quando le unità vendute furono appena 700 mila.
La semplicità d'uso e facilità di programmazione di questo nuovo computer era superiore sia ai suoi precedessori (il PET e il VIC-20) sia agli altri home computer concorrenti. Grazie a ciò e al suo prezzo di vendita, in breve tempo divenne il computer più venduto nella storia dell'informatica.
Nel giro di pochi anni il Commodore 64 entra in milioni di case, stabilendo un incredibile successo di vendite: chi desiderava questo computer durante la prima metà degli anni '80 non può non ricordare lo slogan pubblicitario trasmesso dalla tv: "Compramelo babbo, così ci giochi anche tu..". In effetti il Commodore 64 permetteva a chiunque di imparare a scrivere programmi semplici o complessi, oppure lasciava spazio alla fantasia con l'incredibile disponibilità di giochi straordinari. I programmatori del Commodore 64 sfruttarono ogni bit di memoria disponibile, creando programmi che oggi sembrano impossibili se si pensa che il processore girava a poco più di 1 Mhz e la memoria era solo di 64 Kb.
Il Commodore 64 venne inizialmente costruito usando lo stesso case del Vic-20 per mantenere bassi i costi di produzione. Dopo alcuni anni, la Commodore cambiò leggermente l'estetica del computer assieme ad altri cambiamenti minori, ribattezzandolo 64C.

Nel gennaio 1981, la sussidiaria della Commodore per la progettazione di circuiti integrati, la MOS Technology Inc. inizia il progetto dei chip grafico e sonoro per la nuova generazione di consolle per videogiochi. Il lavoro di progettazione per i chip si completa nel novembre 1981, ma il progetto della consolle viene cancellato dopo un meeting con il presidente della Commodore, Jack Tramiel.
Tramiel voleva che i chip formassero la base per un computer con 64 KB di RAM, che all'epoca era il doppio del quantitativo di RAM di molti dei personal computer disponibili nel tardo 1981. Sebbene 64 Kb di RAM fossero molto costosi, Tramiel sapeva che i prezzi della DRAM stavano crollando e che sarebbero alla fine calati a un livello accettabile prima di passare alla piena produzione.
Alla squadra di progettazione vengono dati meno di due mesi per sviluppare un prototipo che potesse essere mostrato al Consumer Electronics Show invernale, nel gennaio 1982. Il C64 fa un debutto impressionante come ricorda David A. Ziembicki: "Tutto quello che vedemmo al nostro stand erano le persone dell'Atari con la mascella spalancata, che dicevano 'Come potete farlo per solo 595 dollari?'". Il costo di costruzione di ogni C64 è stimato attorno ai 135 dollari, grazie all'integrazione verticale e, più crucialmente, ai vantaggi della fabbricazione dei circuiti integrati della MOS Technology. Questo rendeva possibile un ampio margine di guadagno con il quale lavorare.
Il C64 fronteggia una vasta gamma di macchine concorrenti, dopo la sua introduzione nell'agosto 1982, ma grazie ad un impressionante prezzo di listino e all'hardware avanzato, supera velocemente molti dei suoi concorrenti.
Negli Stati Uniti i più grandi concorrenti del C64 erano l'Atari 800 e l'Apple II. L'Atari 800 era molto simile in termini di hardware, ma era molto costoso da costruire, il che forzò l'Atari a spostare la sua produzione nell'Asia orientale. Costrinse anche l'Atari a riprogettare le loro macchine per essere più economiche, dando la luce alla linea dei 400/800XL. L'ormai vecchio Apple II non poteva competere con l'hardware del C64, ma era molto estendibile tramite i suoi slot interni di espansione, una caratteristica che il C64 non aveva.
Nel Regno Unito i concorrenti principali del C64 erano il britannico Sinclair ZX Spectrum e l'Amstrad CPC. Rilasciato qualche mese prima del C64, e venduto a quasi metà del suo prezzo, lo Spectrum diventò rapidamente leader del mercato. Il C64 competerà in popolarità con lo Spectrum nella seconda meta degli anni 80, sopravvivendo allo stesso quando ne fu cessata la produzione, nel 1992.
La chiave del successo del C64 sono le aggressive tattiche di marketing, che portano a venderlo nei grandi magazzini, nei discount e nei negozi di giocattoli, oltre che nella rete di rivenditori autorizzati. Questo gli consente, come il suo predecessore VIC 20, di competere con le consolle per videogiochi.
Nel 1983 la Commodore offre, negli Stati Uniti, un incentivo di 100 dollari all'acquisto di un C64, ritirando un qualsiasi computer o una consolle per videogiochi. Il successo del VIC-20 e del C64 contribuisce anche in modo significativo all'uscita di scena della Texas Instruments dal campo degli home computer (si veda TI-99/4A) e al tristemente noto crack dei videogiochi del 1983.
All'epoca della sua introduzione, le capacità grafiche del C64 sono uguagliate solo dalla famiglia Atari a 8 bit. Siamo nel periodo in cui la maggior parte dei PC IBM compatibili hanno solo schede grafiche in modalità testuale, schermi ai fosfori verdi e un suono gracchiante proveniente dal piccolo tweeter interno di bassa qualità. Grazie alla sua grafica e al suo sonoro avanzato, il 64 è spesso accreditato di aver iniziato la sottocultura informatica conosciuta come demoscene. Nel nuovo millennio è tutt'ora usato attivamente come macchina per demo, specialmente per quanto riguarda la parte musicale (il suo chip sonoro è persino usato in particolari schede sonore per PC). Per chi non è un fan sfegatato, comunque, il C64 perse la leadership quando furono rilasciati l'Atari ST a 16 bit e il Commodore Amiga, a metà anni '80.
La demoscene è lontana dall'essere morta, perfino a 20 anni dalla nascita del C64. Sono anche sviluppati nuovi giochi (alcuni dei migliori disponibili tramite Protovision, si vedano i collegamenti esterni). Uno dei nuovi giochi che val la pena citare è probabilmente Enahnced Newcomer, un gioco che è stato sviluppato in quasi 10 anni.
Una nota triste è la differenza tra i C64 PAL e quelli NTSC. Questi due standard televisivi causano problemi di compatibilità tra le versioni Statunitensi/Canadesi e quelle del resto del mondo. Come conseguenza, la maggior parte dei demo girano solo su macchine PAL.
Il Commodore 64 usa il microprocessore 6510, con 64 KByte di RAM e 20 KByte di ROM con il KERNAL (acronimo, o più probabilmente acrostico, da Keyboard Entry Read, Network, And Link) e il CBM BASIC versione 2.0: audio e video sono gestiti da due chip separati. Poiché il processore 6510 può indirizzare solo 64 Kbyte di memoria in tutto, 20 Kbyte della RAM sono nascosti dalla ROM. Un registro permette di mappare in memoria la RAM nascosta escludendo la ROM, cosa molto utile nei programmi assembly che non hanno bisogno dell'interprete BASIC. Il progetto hardware originale del Commodore 64 è opera di un gruppo di circa dodici ingegneri i quali, successivamente, lasciarono la Commodore.
Il microprocessore utilizzato è il MOS Technology 6510, una versione modificata del 6502 con alcuni segnali hardware aggiuntivi per il registratore a cassette, che viene gestito direttamente dal microprocessore. La frequenza di clock è pari a 0.9875 MHz. Le istruzioni più semplici prendono almeno 2 cicli di clock, quelle più complicate 5. Quindi il Commodore 64 ha una potenza di calcolo di una piccola frazione di MIPS, ma può delegare molti compiti ai due chip aggiuntivi descritti di seguito (più il CIA, Complex Interface Adapter = Adattatore di interfaccia complessa). Questa caratteristica, cioè l'architettura a coprocessori, costituì la base sulla quale venne in seguito sviluppato il primo computer Amiga dalla Hi-Toro, il quale venne poi commercializzato ed ulteriormente sviluppato dalla Commodore e spopolò negli anni '80 e nei primi anni '90 con i successivi modelli.
Esistevano anche delle schede aggiuntive Z-80, che consentivano di utilizzare lo Zilog Z80 (evoluzione dell'Intel 8080A) sul Commodore 64. Una di queste era la cartuccia CP/M Z80 della Commodore che permetteva di utilizzare il suddetto OS (versione 2.2) tramite una combinazione di emulazione Hardware/Software.

Z80 - CP/M cartridge
Il Commodore 64 possiede un chip video (VIC-II) che può produrre 16 colori (un numero maggiore di colori è ottenibile con particolari algoritmi software) con una risoluzione 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 8 x 8). Il modo testo fornisce una visualizzazione di 40 colonne per 25 righe. Il font di caratteri di default è modificabile (basta ordinare al circuito grafico di prelevare le definizioni dei caratteri dalla RAM anziché dalla ROM). Il chip gestisce fino a 8 sprites hardware, cioè delle forme grafiche facilmente gestibili dal chip per ottenere immagini e animazioni, disegnate sopra allo schermo tradizionale. Il VIC-II è capace di generare un interrupt in una qualunque linea di scansione del video desiderata. Questo permette al processore centrale 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 sprites, avendone così 16 o anche più disponibili sullo schermo (oltre 50 in alcuni casi). I registri del VIC-II sono memory-mapped nella RAM del processore, ossia possono essere letti e scritti come ogni altra locazione di memoria.
Il supporto audio superava tutti i computer della stessa classe. Alla base c'è il chip SID-6581, progettato da Bob Jannes (il progettista del VIC-20), che può riprodurre tre voci hardware, permettendo la riproduzione della voce umana senza hardware aggiuntivo (vedere ad esempio il programma "SAM" - SoftwAre Mouth = "lingua software"). A livello di sintesi, il SID costruisce suoni a partire da tre forme d'onda basilari, più l'ADSR. Tra queste forme d'onda mancano purtroppo quella sinusoidale. Il numero di voci può essere "aumentato" mediante tecniche software. Anche i registri di controllo del SID, come quelli del VIC-II, sono memory-mapped (essendo il SID, così come il VIC-II, il CIA, ecc... un adattatore di interfaccia, cioè mappato in memoria). Il SID può anche campionare segnali analogici, con risoluzione di 4 bit.
In Europa, il C64 era utilizzato spesso con il registratore a cassette (supporti di memorizzazione molto comuni in cui i dati venivano registrati su un nastro magnetico, impiegati allora soprattutto per la riproduzioni della musica. V. audiocassetta), che erano più economiche, ma anche molto più lente dei dischi floppy. Uscirono i turbo-loader anche per le cassette che velocizzavano la velocità di caricamento. Novaload era il più popolare turbo-loader, utilizzato dalla maggioranza degli sviluppatori americani ed inglesi.
Negli Stati Uniti, i floppy drive erano più comuni.
Inizialmente era disponibile la sola memoria a cassette magnetiche, ossia le comuni cassette audio su cui dati e programmi venivano registrati codificandoli su frequenze di alcuni kHz.
L'unità a cassette (Datassette C2N) era piuttosto lenta e, se non ben pulita e calibrata, talvolta inaffidabile nei caricamenti: dopo attese medio-lunghe non era insolito trovarsi sullo schermo la scritta "LOAD ERROR", ossia errore nel caricamento, ed essere costretti a ricominciare daccapo l'operazione. Quest'ultimo difetto era imputabile nella maggioranza dei casi alla testina di lettura dell'unità a cassette, che dopo molte ore di funzionamento si sporcava oppure perdeva l'allineamento con il nastro richiedendo una regolazione dell'azimuth.
Era inoltre possibile l'uso di loader/saver alternativi a quelli del sistema operativo, che permettevano dei caricamenti e salvataggi su cassetta più veloci. Un particolare segnale identificava l'inizio di un blocco dati (generalmente, un programma), e per poterlo trovare l'utente era generalmente costretto a scorrere lentamente la cassetta in modo Play. Il contatore di giri posto a lato della cassetta era usato come una sorta di "indice" per arrivare più rapidamente al programma voluto.

il datasette
Dopo il Datassette fu disponibile il floppy disk drive 1541, che accettava dischi da 5.25" e trasferiva dati a velocità molto più elevata. Il 1541 aveva un processore 6502, simile a quello del computer principale (il 6510), e alcuni programmi lo sfruttavano come coprocessore per avere maggiore potenza di calcolo a disposizione. La presenza del microprocessore nel 1541 rendeva possibile a questa unità di operare in modo del tutto indipendente: ad esempio, era possibile formattare un floppy e, nel contempo, continuare a scrivere il proprio programma (o, addirittura, effettuare un caricamento dalla unità a nastro). L'abbinamento Commodore 64 + 1541 costituiva così un sistema multiprocessore. Una curiosità è vedere il microprocessore dell'intera famiglia dei floppy C64 (6502 a 2 MHz) di velocità doppia rispetto quella dell'unità centrale, cosa necessaria per rispettare le temporizzazioni stringenti del formato floppy.
Vennero prodotti 3 modelli di drive per il Commodore 64:
Commodore 1541 (per floppy disk da 5¼")
Commodore 1571 (per floppy disk da 5¼")
Commodore 1581 (per floppy disk da 3½")
Il drive 1541 era incredibilmente lento nel caricamento dei programmi a causa del bus seriale male implementato, che era un derivato del Commodore VIC-20.

Il DiskDrive 1541
Il Sistema Operativo del Commodore 64 era costituito da tre componenti, separati ma interdipendenti. La particolare architettura che permetteva al C/64 una modalità di indirizzamento della RAM "al di sotto delle ROM" permetteva modifiche in software a componenti del sistema, spesso mostrate a titolo di esperimento negli articoli delle riviste specializzate. Tali modifiche, ovviamente, andavano perdute allo spegnimento.
Il KERNAL
L'editor di schermo
L'interprete BASIC ( Commodore BASIC )
Anno produzione
1982
Prezzo d'uscita
660.000 Lire
CPU: CSG 6510
1 Mhz clock speed.
RAM: 64 kilobytes
ROM: 20 kilobytes
C64 Kernal
CBM Basic 2.0
Video: MOS 6569 "VIC-II"
320 x 200 Hi-Resolution
40 colonne testo
Palette di 16 colori.
Audio: MOS 6581 "SID"
3 voci stereo, capacità di suono sintetizzata/digitale
Porte: MOS 6526 CIA x2
2 Porte Joystick/Mouse
Femmina round DIN CBM Seriale
Maschio edge-connector CBM Datasette
Maschio edge-connector parallela programmabile "User"
Round DIN CBM Monitor
Femmina edge-connector C64 espansione
Bottone accensione
Tastiera: Full-sized 62 key QWERTY
8 tasti funzione programmabili
2 tasti direzionali per cursore