Commodore 64
Da Wikipedia, l'enciclopedia libera.
Il Commodore 64 (C64, C=64, CBM 64, 64) era un home computer molto popolare negli anni ottanta. Il nome adottato dalla casa costruttrice, la Commodore Business Machine 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. In totale, ne sono stati venduti nel mondo oltre 30 milioni di esemplari: record che, con tutta probabilità non verrà mai più superato (la natura degli attuali computer, assemblati diversamente a seconda dell'esigenze dell'utente, rendono praticamente impossibile ripetere un'impresa simile).
La semplicità d'uso e facilità di programmazione di questo nuovo computer era superiore sia ai suoi predecessori (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.
Il Commodore 64 venne inizialmente costruito usando lo stesso chassis del Vic-20 al fine di mantenere bassi i costi di produzione. Dopo alcuni anni, la Commodore cambiò leggermente l'estetica del computer assieme ad altri cambiamenti minori, ribattezzandolo 64C.
Indice |
[modifica] Storia
[modifica] Origini
Nel gennaio 1981, la sussidiaria della Commodore per la progettazione di circuiti integrati, la MOS Technology Inc. iniziò il progetto dei chip grafico e sonoro per la nuova generazione di console per videogiochi. Il lavoro di progettazione per i chip si completò nel novembre 1981, ma il progetto della console venne 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 furono dati meno di due mesi per sviluppare un prototipo che potesse essere mostrato al Consumer Electronics Show invernale, nel gennaio 1982. Il C64 fece 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.
[modifica] Vincere la guerra del mercato
Il C64 fronteggiò una vasta gamma di macchine concorrenti, dopo la sua introduzione nell'agosto 1982. Con un impressionante prezzo di listino e con il suo hardware avanzato, superò 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 espandibile grazie ai suoi slot interni, 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 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 gli consentì, come al suo predecessore VIC 20, di competere con le console per videogiochi.
Nel 1983 la Commodore offrì, negli Stati Uniti, un incentivo di 100 dollari all'acquisto di un C64, ritirando un qualsiasi computer o una console per videogiochi. Il successo del VIC-20 e del C64 contribuì 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.
[modifica] I successori del C64 e il 64C
Nel 1984 la Commodore rilasciò 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 127mm e un floppy disk drive 1541. Ne furono vendute meno di 10.000 unità quando ne fu smessa la produzione, nel 1986.
La Commodore tentò nel 1984 di rimpiazzare il C64 con il Commodore Plus/4, che offriva la visualizzazione di un maggior numero di colori, una versione più evoluta del BASIC (la V3.5), e del software integrato, ma fece l'errore strategico di renderlo incompatibile con l'ampia gamma di software del C64. In più, nel Plus/4 mancava una gestione hardware degli sprite e aveva un suono molto inferiore, deludendo nelle due aree che avevano reso il C64 un prodotto di successo nel mercato. La nuova macchina fallì, mentre il C64 continuò a essere venduto.
La Commodore ripropose nel 1985 un successore al C64, in questo caso però ponendo riguardo a quegli aspetti che non hanno dato credito ai precedenti tentativi, il Commodore 128 e il 128D. Oltre a non essere in nulla inferiori al C64 e a offrire piena compatibilità con il software, introdusse una lunga lista di miglioramenti molto richiesti (come un BASIC strutturato con comandi per la grafica e il suono, un display a 80 colonne e piena compatibilità con CP/M). Con l'entrata nel mercato del Commodore 128 e dei computer più avanzati di altri costruttori, la società posizionò il 64 come computer entry-level, abbassando di conseguenza il prezzo.
Nel 1986, la Commodore rilasciò il Commodore 64C (C64C), che era identico all'originale come funzionalità, rimodellandone solo il design esterno seguendo l'estetica del C128 e degli altri computer del momento. Negli Stati Uniti, il C64C veniva spesso venduto con il sistema operativo GEOS, dotato di un'interfaccia grafica.
[modifica] Una demoscene attiva
All'epoca della sua introduzione, le capacità grafiche del C64 erano uguagliate solo dalla famiglia Atari a 8 bit. Era il periodo in cui la maggior parte dei PC IBM compatibili avevano solo schede grafiche in modalità testuale, schermi ai fosfori verdi e un suono molto modesto proveniente da un piccolo tweeter interno. Grazie alla sua grafica e al suo sonoro avanzato, il C64 è spesso accreditato di aver iniziato la sottocultura informatica conosciuta come demoscene (si veda demo per Commodore 64). 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). A parte qualche affezionato utente, il C64 perse la leadership quando furono rilasciati l'Atari ST a 16 bit e il Commodore Amiga, a metà anni '80.
La demoscene non si è comunque ancora interrotta, anche a venti anni dalla nascita del C64. Sono anche sviluppati nuovi giochi (alcuni dei migliori disponibili tramite Protovision). Uno dei ultimi giochi che hanno riscosso maggior successo è Enahnced Newcomer, che è stato sviluppato per quasi dieci anni.
Un difetto che è stato riscontrato al tempo è la differenza tra i C64 PAL e quelli NTSC, in quanto i 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 hanno funzionato solo sulle versioni PAL.
[modifica] L'hardware
Il Commodore 64 usava il microprocessore MOS Technology 6510, con 64 KByte di RAM e 20 KByte di ROM con il KERNAL (che sta per Keyboard Entry Read, Network, And Link) e il CBM BASIC versione 2.0: audio e video erano gestiti da due chip separati. Poiché il processore 6510 poteva indirizzare solo 64 Kbyte di memoria in tutto, 20 Kbyte 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 progetto hardware originale del Commodore 64 fu opera di un gruppo di circa dodici ingegneri i quali, successivamente, lasciarono la Commodore.
[modifica] Il microprocessore
Il microprocessore utilizzato era il MOS Technology 6510, una versione modificata del 6502 con alcuni segnali hardware aggiuntivi per il registratore a cassette, che veniva gestito direttamente dal microprocessore. La frequenza di clock era pari a 0,9875 MHz. Le istruzioni più semplici prendevano almeno 2 cicli di clock, quelle più complicate 5. Quindi il Commodore 64 aveva una potenza di calcolo di una piccola frazione di MIPS. Poteva però 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.
[modifica] Il chip video
Il Commodore 64 possedeva un chip video (VIC-II) che poteva produrre 16 colori (un numero maggiore di colori era ottenibile con particolari algoritmi software). Aveva 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 forniva una visualizzazione di 40 colonne per 25 righe. Il font di caratteri di default era modificabile (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 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 sprite, avendone così 16 o anche più disponibili sullo schermo (oltre 50 in alcuni casi). I registri del VIC-II erano mappati nella RAM del processore, ossia potevano essere letti e scritti come ogni altra locazione di memoria.
[modifica] Il chip audio
Il supporto audio superava tutti i computer della stessa classe. Alla base c'era il chip SID-6581, progettato da Bob Jannes (il progettista del VIC-20), che poteva riprodurre tre voci hardware, permettendo la riproduzione della voce umana senza hardware aggiuntivo (vedere ad esempio il programma "SAM" - SoftwAre Mouth = "bocca software"). A livello di sintesi, il SID costruiva i suoni a partire da tre forme d'onda basilari, più l'ADSR. Tra queste forme d'onda mancava quella sinusoidale. Il numero di voci poteva essere "aumentato" mediante tecniche software. Anche i registri di controllo del SID, come quelli del VIC-II, erano memory-mapped (essendo il SID, così come il VIC-II, il CIA, ecc... un adattatore di interfaccia, cioè mappato in memoria). Il SID poteva anche campionare segnali analogici, con risoluzione di 4 bit.
[modifica] Negli anni '90 e 2000
Nel 1990 il C64 fu rilasciato sotto forma di una console da gioco, chiamata C64 Games System (C64GS). Consisteva principalmente in una scheda madre del C64 modificata per orientare il connettore per le cartucce in posizione verticale, per consentire l'inserimento delle stesse da sopra. 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 e non fu nemmeno commercializzato fuori dall'Europa. Nel 1990/91, fu progettato un potenziale successore avanzato del C64, il Commodore 65 (anche conosciuto come C64DX), ma non fu mai immesso nel mercato.
Nell'estate del 2004, dopo un'assenza dal mercato di più di 10 anni, il costruttore di PC Tulip Computers BV (proprietari del marchio Commodore dal 1997) annunciò il C64 Direct-to-TV (C64DTV), un TV game costruito all'interno di un joystick basato sul C64 contenente 30 giochi in ROM. Il C64DTV, progettato da Jeri Ellsworth, una progettista di computer autodidatta, era simile nel concetto ad altre mini console che si sono affermate nel mercato ludico nei primi anni del duemila, basate sull'Atari 2600 o sull'Intellivision. Il prodotto era pubblicizzato su QVC negli Stati Uniti nella stagione natalizia 2004.
Anche nel 2005 è stato sviluppato, da utenti affezionati, nuovo hardware aggiuntivo per il computer, come schede Ethernet, interfacce per hard disk e Flash card.
[modifica] Revisioni dell'hardware
La riduzione dei costi fu la forza trainante per le revisioni della scheda madre del C64. Ridurre i costi di produzione era vitale per la sopravvivenza della Commodore, durante la guerra dei prezzi e negli anni di magra dell'era dei 16-bit. La scheda madre originale del C64 (basata su NMOS) passò per due importanti riprogettazioni (e numerose sotto-revisioni) che cambiavano la posizione dei chip VIC-II, SID e PLA. Inizialmente una larga fetta dei costi fu abbassata riducendo il numero di componenti discreti usati, come diodi e resistori.
Il VIC-II fu prodotto con la tecnologia MOS a 5 micrometri, con una frequenza di 8 MHz. Ad una frequenza così alta, generava parecchio calore, rendendo necessario alla MOS Technology l'uso di un integrato 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 in una piastra plastica DIL, riducendo di molto i costi, senza però risolvere il problema del calore. Senza una piastra in ceramica, il VIC-II ha richiesto l'uso di un dissipatore di calore. 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.
La SID fu fabbricata usando NMOS a 6 e 7 micrometri. Il prototipo della SID ed in alcuni modelli pre-produzione avevano una piastra in ceramica DIL, ma sono estremamenti rari (al contrario del VIC-II). La maggior parte delle piastre dei SID erano prodotti in plastica.
Nel 1986, la Commodore fece l'ultima versione della scheda madre "classica". Era identica alla versione del 1984, ad eccezione dei 2 chip DRAM per la memoria, anziché gli originali 8.
Dopo l'uscita del C64C, la MOS Technology iniziò ad utilizzare la tecnologia HMOS nel chipset del C64. Il benificio 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.
Nel 1987, la Commodore rilasciò il C64C con una scheda madre ridisegnata completamente. Questa scheda madre era nota come una "scheda corta". La nuova scheda aveva il nuovo chipset HMOS, con i nuovi chip PLA a 64-pin. Il nuovo "SuperPLA" integrava molti componenti e chip a transitor. La RAM 2114 color fu integrata nell'ultima versione del PLA.
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.
[modifica] Periferiche
[modifica] Dischi floppy e cassette
I drive floppy furono prodotti in 3 modelli: da 5¼ pollici (Commodore 1541 e 1571) e da 3½ pollici (1581).
Il drive floppy 1541 era incredibilmente lento nel caricamento dei programmi a causa del bus seriale male implementato, che era un derivato del Commodore VIC-20. Da qui il famoso detto: "andiamo a prenderci un caffè (o una cioccolata calda)" dopo aver scritto il comando di caricamento di un programma, come nell'esempio seguente, dove '*' indica l'ultimo programma caricato o il primo sul disco, '8' è il numero del drive floppy e '1' indica che il programma deve essere caricato all'indirizzo della memoria indicato nel suo header (ciò vale ovviamente per i programmi compilati).
LOAD "*",8,1
Si scoprì che la lentezza nelle operazioni del drive floppy poteva essere risolta utilizzando software più intelligente e implementando un protocollo di trasferimento migliore tra il Commodore 64 e il drive floppy. Una compagnia, la Epyx, rilasciò la catridge FastLoad che sostituiva alcune funzioni lente del 1541, velocizzando di 5 volte il caricamento dei programmi. La cartridge ebbe grande successo: molti rivenditori Commodore mettevano in vendita il drive 1541 con la cartridge Epyx.
Come alternativa gratuita alle varie cartridge FastLoad, furono creati numerosi programmi turbo-loader (acceleratori di caricamento), anche se avevano bisogno di essere caricati dopo ogni reset. I migliori di questi acceleratori erano capaci di aumentare la velocità di caricamento di circa 30 volte, a dimostrazione della cattiva implementazione del bus.
Nell'Europa, il C64 era utilizzato spesso con il lettore delle 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.
Pochi anni dopo, uscì la nuova versione, il drive 1541-II. Le uniche differenze furono la presenza di un alimentatore esterno e maggiore integrazione dei circuiti, per ridurre i costi.
La Commodore vendette anche un adattatore IEEE-488-standard, che poteva essere inserita nella porta d'espansione. Solo pochi potevano permettersi quest'espansione che 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 1541 e il 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à.
Uno dei vantaggi del bus seriale fu la possibilità di formare una catena di hardware: una periferica (un disco drive o una stampante) connessa al Commodore 64 e le altre connesse una all'altra. Questo permise alla Commodore di produrre (attraverso terze parti) la rarissima Commodore 4015, o switch VIC. Questo permetteva di connettere fino a 8 Commodore 64 e condividere le loro periferiche.
[modifica] Comunicazione via seriale
Il basso costo dei modem favorì la diffusione di queste periferiche per la telecomunicazione. Negli Stati Uniti, la Quantum Computer Services (più tardi America Online) offriva un servizio online chiamato Quantum Link per il C64 che permetteva i chat, gli scaricamenti e i 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 '90. In Germania, le leggi restrittive sull'uso della telefonia rallentò la diffusione dei modem.
Come nel VIC-20, C64 era privo di un vero chip UART come il 6551 e utilizzava un emulatore software. Questo limitò la velocità del bus a 2400bps. Cartridges di terze parti con chip UART offrirono prestazioni migliori.
[modifica] Altre periferiche
Il Commodore 1701 era un monitor a colori da 13 pollici.
L'espansione di memoria ufficiale Commodore, modello 1764, era fornita assieme ad un alimentatore potenziato e conteneva 256 KB di memoria RAM. Il più famoso tra i pochi software 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 65C02, che di solito funzionavano a 4 MHz, e sul 65816 (fino a 20 MHz), comparirono sul mercato troppo tardi e ad un prezzo di 199 dollari, ed ebbero quindi una diffusione limitata.
La periferica prodotta da terze parti più interessante fu la SuperCPU della CMD che aumentava la frequenza della CPU a 20 MHz (anziché 1 MHz) e fino a 16 Mb di RAM, se si disponeva della SuperRamCard. L'unico problema era che non c'era molto software che supportava la SuperCPU, ad eccezione di un Browser Web chiamato the Wave, un sistema operativo grafico stile UNIX o QNX, chiamato Wings (supportava il multitasking e aveva un client IRC e un programma email), alcuni demo e il videogioco Metal Dust, uno sparatutto. Altra incredibile e semisconosciuta periferica era il "Moog Song Producer", interfaccia MIDI prodotta dalla Moog http://moogarchives.com/insong.htm . Ad oggi (2005) vengono ancora prodotti nuove periferiche, principalmente per la memorizzazione in massa. Un lettore MP3 è in lavorazione.
[modifica] Memorie di massa
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) era piuttosto lenta, e, 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 all'azimuth, ossia la testina di lettura dell'unità a cassette, che dopo molte ore di funzionamento, si sporcava oppure perdeva l'allineamento con il nastro delle cassette. 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.
In seguito 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 in tutto identico a quello del computer principale, 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.
[modifica] Software
Per approfondire, vedi la voce Software per Commodore 64. |
[modifica] Sistema operativo
Il Sistema Operativo del Commodore 64 era costituito da quattro componenti, separati ma interdipendenti. La particolare architettura che permetteva al C/64 una modalita' 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 )
- Il generatore di caratteri
Il KERNAL era il kernel adottato dai Commodore 8-bit, utilizzato per la prima volta nel Commodore PET 2001 (1977), via via aggiornato nel corso degli anni. Esso è un insieme di routine preposte alla gestione dell'I/O (gestione dello schermo, della tastiera e di tutte le varie periferiche). Le routine potevano anche essere chiamate dall'utente mediante una jump table standardizzata: in questo modo, le chiamate alle routine presenti su tutte le versioni del KERNAL funzionavano correttamente su tutti i modelli Commodore 8-bit (nonostante le differenti mappe di memoria). I programmi in linguaggio macchina potevano così essere scritti più rapidamente, ed avevano un ragionevole grado di portabilità. Le subroutine di IRQ (interrupt) 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.
L'editor di schermo era il programma preposto alle funzioni di immissione del testo da parte dell'utente, alloggiato nella medesima ROM del Kernal.
L'interprete BASIC, di diretta derivazione del Microsoft BASIC dell'allora neonata ditta di Redmond, 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à a disco 1541). In questo modo era possibile interagire con la macchina. L'interprete usato nel C64 è il CBM BASIC V 2.0, privo di comandi per la gestione della grafica bit-map, sprite e di gestione del suono. In ogni caso, erano disponibili come estensione il Simons' BASIC e numerosi altri interpreti, sia di tipo generico che specializzati. Tali estensioni del Basic erano in qualche raro caso disponibili sotto forma di cartridge, benché ad esempio il Simons' Basic fosse disponibile anche come software puro. La scrittura di tali estensioni diventò un'attività sufficientemente diffusa nella seconda meta' degli anni Ottanta, quando in Italia videro la luce alcune produzioni notevoli, tra cui le routine grafiche di Danilo Toma per disegnare in wire-frame in tre dimensioni ed un emulatore (così chiamato dalla Systems che lo produsse, ma sarebbe più corretto oggi chiamarlo "simulatore") del GW-Basic dei PC IBM. La grafica ed il suono potevano essere gestiti anche da BASIC 2.0, utilizzando le istruzioni PEEK e POKE, rispettivamente per leggere e modificare un valore nella memoria (gli adattatori di interfaccia dei sistemi Commodore 8-bit erano infatti mappati in memoria). Tecnicamente, il BASIC ha bisogno del KERNAL per funzionare, ma non vale il viceversa: programmi in linguaggio macchina, una volta lanciati, disattivavano spesso la ROM BASIC per guadagnare ulteriori 12KB di memoria contigua (gli 8 liberati dalla ROM del Basic e un'area da 4KB successiva) rispetto ai 38 originali.
Il generatore di caratteri 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. Una versione svedese e una giapponese del Commodore 64 comprendevano 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=) ed il tasto Shift Lock diventava "C= lock". Un cenno particolare meritano gli emulatori software scritti per Amiga, PC ed altri computer, che in qualche caso permettevano di caricare da file versioni alternative di ognuna delle ROM, includendo talora una versione ridisegnata dei caratteri di sistema.
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 C128.
Progetti alternativi e quasi sempre di stampo amatoriale, come il sistema Lunix (Little Unix, da non confondersi con Linux), sono tuttora disponibili tramite siti FTP che contengono software per questa classe di computer. Fanno eccezione, per richiesta della Tulip che ne detiene i diritti, proprio le immagini delle ROM originali del sistema, scomparse anche dove presenti in precedenza.
[modifica] Varianti
[modifica] Commodore 64
Versione classica, la prima ad essere immessa sul mercato nel 1982.
[modifica] Commodore MAX
Anche conosciuto come Ultimax o Vic 10, era un Commodore 64 con appena 2,5KB di memoria, tastiera a membrana e ridotto numero di porte prodotto esclusivamente per il mercato giapponese. Era pensato come console per videogiochi.
[modifica] 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 (piu' simili a quelli del Commodore Vic 20) e la disattivazione del codice per il funzionamento dell'unita' 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.
[modifica] 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 unita' erano normalmente ricavate da schede madri in origine guaste, successivamente riparate e ricarrozzate.
[modifica] Commodore 64 Golden Edition
Versione dorata prodotta in pochi esemplari per festeggiare il milione di unità vendute.
[modifica] Commodore 64C
Un Commodore 64 con case ridisegnato di profilo più basso color crema e scheda madre più compatta, completamente reingegnerizzata. Le prime unità prodotte avevano le serigrafie della tastiera identiche a quelle del modello classico, mentre le successive ricevettero un nuovo disegno ed una disposizione diversa dei simboli, tutti sulla faccia superiore del tasto. Nel 1987 venne venduta una versione con incluso l'Adattatore Telematico 6499. Si trattava di un modem 1200/75 baud (per l'accesso ai servizi Videotel) e 300/300 baud. 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.
[modifica] Commodore 64G
Ritorno al case originale, questa volta però di color crema, ed ulteriore reingegnerizzazione della scheda madre. Tipico del mercato tedesco e prodotto per assicurare la compatibilità con una tastiera musicale in plastica che si agganciava al di sopra del C/64. 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. In occasione di una ristampa, Jackson produsse un differente accessorio, specifico per il 64C.
[modifica] 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.
[modifica] Commodore C64DTV
Dove DTV sta per Direct-to-TV. console per videogiochi, prodotta ai giorni nostri (primi anni 2000) da Tulip BV, è tutta "contenuta" nel "joystick". Contiene "built-in" 30 videogiochi classici. È possibile effettuare hacking vari, che ne rendono addirittura possibile la connessione ad una tastiera PS2 e ad un drive 1541-compatibile.
[modifica] Curiosità
- Lo schermo di avvio del Commodore 64 è presente nella sequenza di avvio del videogioco per computer del 2002, Grand Theft Auto: Vice City.
- Il Commodore 64 è il soggetto di una canzone degli Articolo 31
- Il comando SYS64738 che provoca il soft reset della macchina è ben radicato nella memoria degli ex utenti
[modifica] Voci correlate
- Software per Commodore 64
- Lista di videogiochi per il Commodore 64
- Demo per Commodore 64
- Commodore 128
- Commodore SX-64
- Commodore Computer Club
- Zzap!
[modifica] Collegamenti esterni
- - Ready64 - Recensioni dei giochi, articoli, approfondimenti, curiosità ed inoltre una grande comunita' presenta tramite il forum
- - Edicolac64.com - Raccolta di cassette, dischi e altro da riviste italiane per Commodore 64, Vic 20, Commodore c16
- Museo virtuale del Commodore 64
- Informazioni sul Commodore 64
- (EN) C64 Music
- Giochi online del C64
- - Commodore 64 Italia - Informazioni, novità, curiosità e articoli sul passato, presente e futuro del C64
[modifica] Emulatori
- (EN) VICE - Emulatore di C64 per diversi sistemi operativi (UNIX, BeOS, Windows, ecc.) [1]
- (EN) Win 64 - Emulatore di C64 per Windows
- (EN) Power 64 - Emulatore di C64 per Mac OS X e OS 9
- (EN) Frodo - L'emulatore C64 portabile e libero
Lista di microcomputer Commodore |
Basati sul MOS Technology 6502 (8-bit): MOS/CBM KIM-1 | PET/CBM | CBM-II (serie B/P) | VIC-20/VC-20 | C64 | SX-64 | C16 & 116 | Plus/4 | C128 Basati sul M68K (16/32-bit): Amiga 1000 | Amiga 500 | Amiga 2000 | Amiga 500+ | Amiga 2500 | Amiga 3000, UX, T | Amiga 600 | Amiga 1200 | Amiga 4000 |