Il panorama degli home computer negli anni ’80

Nel mondo di oggi non ci sono più particolari distinzioni tra i computer usati in ufficio e quelli per l’uso domestico. Negli attuali PC la tecnologia è arrivata a livelli di integrazione ed accessibilità tali da rendere questa distinzione molto labile.

Negli anni ’80 invece le diversità tra le macchine con diverse destinazioni d’uso erano alquanto marcate, tant’è che per identificare i computer destinati alle case venne coniato il termine “home computer”.

L’home computer è solitamente un ibrido tra una console per videogiochi e un computer per uso ricreativo e didattico. Non solo i videogiochi ma programmazione, grafica, musica… si aprivano tante possibilità per gli utenti, sebbene con diverse limitazioni. La programmazione in particolare era il primo canale tramite il quale confrontarsi con le caratteristiche della macchine e prenderne dimestichezza. Per molti diventava un hobby e oggetto di appassionate conversazioni tra amici.

Solitamente un home computer offriva immediatamente all’accensione un interprete BASIC, residente su ROM, che consentiva non solo la programmazione ma anche l’utilizzo del computer. Anche soltanto per caricare un videogioco bisognava utilizzare un comando BASIC (solitamente LOAD).

L’offerta degli home computer era molto vasta. Nel mercato europeo si imposero rispetto agli altri le macchine Commodore, Sinclair e Amstrad. I modelli prodotti dalle varie case non erano tra loro compatibili (e in molti casi, quali ad esempio Commodore, i modelli prodotti dalla stessa casa risultavano spesso non compatibili tra loro).

Ci fu un tentativo di creare uno standard per gli home computer, l’MSX, ma non ebbe il successo sperato.

I primi home computer prodotti dalla Commodore furono il VIC 20 (nel 1981) e il Commodore 64 (nel 1982).

Il VIC 20 nasce con l’idea di fornire un home computer economico, dalle caratteristiche limitate, in grado però di interpretare le richieste dell’utenza: un computer che permettesse di giocare ma anche di muovere i primi passi verso la programmazione. Certo, con una risoluzione video davvero ridotta che rendeva difficile editare il testo, con pochissima memoria (soli 5 kB di memoria RAM!), ma ciò nonostante la macchina ebbe un notevole successo e riuscì nel suo obiettivo. Il circuito grafico e sonoro VIC-I, che ne era il cuore, progettato ben prima del VIC 20 come chip per videogiochi e altre applicazioni, trovò così la sua destinazione d’uso.

Su queste premesse venne poi sviluppato il Commodore 64, che con i suoi chip custom per l’epoca molto sofisticati costituiva un enorme passo avanti rispetto al suo predecessore. Il VIC-II (MOS 6569), il suo chip grafico, aveva una risoluzione massima di 320 x 200 punti (allora di tutto rispetto) ed offriva varie modalità grafiche e testuali, 16 colori (per la verità pochi ma scelti bene) ed 8 sprites hardware gestibili liberamente (potevano essere posizionati ovunque sullo schermo e convivere con qualsiasi modalità grafica). Quest’ultima caratteristica era particolarmente avanzata e l’area del chip dedicata agli sprite è la più estesa. Non è poi da dimenticare la possibilità del VIC-II di poter effettuare lo scrolling hardware, caratteristica che rendeva il chip molto più avanzato di quanto poteva offrire la maggior parte della concorrenza.

Il chip sonoro del C64, questa volta separato dal chip grafico diversamente dal VIC 20, era il SID (MOS 6581). Tre voci, 9 ottave, generatore ADSR, filtri, sincronizzazione e modulazione circolare: un “rudimentale” sintetizzatore che era sicuramente il più sofisticato tra gli home computer del tempo (verrà superato soltanto dall’Amiga). Il SID fu una vera propria rivoluzione e diede finalmente al mondo dei computer un chip sonoro perfettamente “intonato” in grado di fornire una vasta gamma di suoni.

Note dolenti del C64: microprocessore lento (un 6510 a 0,98 Mhz, più lento dello stesso VIC 20), BASIC troppo carente di comandi e accesso all’unità floppy disk (la Commodore 1541) incredibilmente lento.

Per la verità il processore riesce comunque a difendersi grazie all’architettura a coprocessori del C64. Inoltre, trattandosi di un derivato del 6502 pressoché ad esso identico, dispone di un’architettura “memory oriented” che lo rende “performante” anche a bassa frequenza di clock. Di qui l’equazione secondo la quale un 6502 ad 1 MHz è equivalente a livello di prestazioni ad uno Z80 a 3 MHz.

Il BASIC e il lento accesso al 1541 risultano invece carenze a mio parere ben più invalidanti (anche se facilmente colmabili). Gli home computer della concorrenza, quali i Sinclair, disponevano già all’accensione dei comandi necessari per gestire la grafica ed il suono. Il C64 non era in grado di accedere proficuamente allo schermo bitmap utilizzando il solo BASIC residente.

In altre parole, in uno Spectrum era possibile disegnare segmenti, circonferenze ecc. da computer appena acceso, impartendo dei semplici comandi. Cosa possibile ma difficoltosa in un C64, privo nativamente dei comandi necessari. Si poteva risolvere facilmente il problema utilizzando programmi e/o estensioni del BASIC (quali il Simon’s BASIC), ma avere dotato il C64 di un BASIC nativo del genere rappresenta comunque una scelta discutibile.

E veniamo ora al Commodore 1541, croce e delizia del C64. Si trattava di un computer progettato specificamente per la gestione dei floppy disk, non di un semplice floppy drive. Esso infatti aveva una sua CPU, una sua memoria, e conteneva nella propria ROM il sistema operativo (il CBM DOS), senza sottrarre memoria centrale al computer. Soluzione costosa ma geniale. Permetteva addirittura di formattare un floppy disk continuando comunque a lavorare con il computer.

La lentezza del 1541 – o meglio del protocollo di trasferimento in esso utilizzato – è purtroppo conosciuta (forse leggendaria). Bisogna tornare indietro alla progettazione del VIC 20. Venne deciso di utilizzare per le unità a disco un sistema di trasferimento dati di tipo seriale e non più parallelo come nei vecchi PET/CBM. Ciò per poter utilizzare dei cavi facilmente realizzabili da chiunque, senza dover più rivolgersi a specifici fornitori per i cavi paralleli (che avevano causato in precedenza ritardi nelle forniture). Tuttavia, nel passaggio la velocità non avrebbe dovuto subire cambiamenti: lo shift register del chip VIA si sarebbe occupato di prelevare ciascun bit, rapidamente, da ogni singolo byte. Tuttavia, gli ingegneri dediti alla progettazione del VIC 20 e della sua unità disco (il 1540), non sapevano che lo shift register del VIA aveva un bug. Questo avrebbe causato dei problemi occasionali nel trasferimento dei dati mediante tale protocollo seriale. I progettisti ovviamente se ne accorsero, ma quando ormai il VIC 20 era già stato progettato e pronto per la produzione in serie (i chip VIA erano presenti sia nel VIC 20, sia nel 1540). Venne dunque adottata una soluzione dell’ultimo minuto: effettuare lo scorrimento (shift) dei bit via software, senza utilizzare lo shift hardware inaffidabile del VIA. L’implementazione purtroppo avvenne in maniera tutt’altro che ottimale, rendendo molto lenti i trasferimenti dei dati.

La Commodore decise di dotare ancora il Commodore 64 del 1540, per ragioni non certo tecniche ma economiche/commerciali (rendere possibile agli utenti VIC 20 con un 1540 di poterlo utilizzare anche sul C64, tenere conto dei vari 1540 a magazzino). Ciò condannò il Commodore 64 ad un lentissimo accesso ai floppy disk, quantomeno con il protocollo di trasferimento nativo. Di fatto, la velocità era paragonabile a quella delle unità a nastro, tuttavia con l’indubbio vantaggio di poter disporre di un sistema di archiviazione ad accesso casuale. Come ulteriore disdetta, non fu comunque possibile utilizzare il 1540 con il Commodore 64, se non prima di aggiornarlo sostituendo una ROM. Il Commodore 64 non era in grado infatti di “sincronizzarsi” correttamente con il 1540 a causa del funzionamento del VIC-II, che sottraeva ogni otto linee di scansione video dei cicli di clock alla CPU (per prelevare dalla RAM i codici dei caratteri da visualizzare per ciascuna riga dello schermo). Venne dunque creata la 1541, una 1540 con una diversa ROM in grado di adeguarsi a questa ancora più ridotta velocità di trasferimento. Era comunque possibile utilizzare il 1540 nel C64, ma con la noia di dover disabilitare lo schermo video prima di ogni caricamento (onde eliminare le badlines).

Tuttavia, nonostante i suoi difetti, tra i quali anche l’affidabilità non sempre eccellente causa una certa tendenza a disallinearsi, il Commodore 1541 divenne lo standard per il C64 e consentì la diffusione di tantissimo software su floppy disk, impedendo che il Commodore 64 rimanesse relegato alle cassette, cosa che invece si verificò di fatto per i sistemi Sinclair e MSX. Nel caso dei Sinclair, la soluzione dei microdrive, sebbene avveniristica, si rivelò del tutto inaffidabile, mentre, nel caso MSX, l’MSX DOS venne sviluppato tardi e i drive MSX di conseguenza non divennero certo comuni (per collegare un drive ai sistemi MSX era necessaria un’interfaccia, poiché nativamente non era supportato dal sistema).

A rigore, lo Spectrum poteva essere collegato a dei drive di terze parti (persino la stessa Commodore 1541!), ma la soluzione non era certo economica data la necessità di un’adeguata interfaccia e peraltro in questo modo non si aveva uno standard per i floppy disk come per il C64.

Va poi sottolineato il fatto che il CBM DOS era particolarmente avanzato per l’epoca. Inoltre, fu possibile implementare dei turbo loader che riuscivano ad aumentare notevolmente la velocità di trasferimento del 1541. Questo software implementava in maniera più efficiente la routine software di bit-shift, sfruttando il fatto che il 1541, in quanto computer, poteva essere riprogrammato.

Il Sinclair Spectrum ZX81 48K, sicuramente degno rivale del Commodore 64, presentava un approccio totalmente diverso. Non un’architettura a coprocessori, ma una più semplice, basata essenzialmente su un microprocessore potente per l’epoca (uno Zilog Z80 a 3,5 MHz), e su un chip tuttofare che si occupava della grafica, del suono e dell’I/O (l’ULA). Per il resto, c’erano le memorie e la glue logic.

Un computer estremamente compatto ma comunque potente che seppe guadagnarsi un enorme successo commerciale, superando le vendite del C64 nel regno unito. Non aveva certo le caratteristiche videoludiche del Commodore 64, né poteva vantare un altrettanto facile accesso alle periferiche (causa la mancanza di interfacce native), tuttavia riusciva ad eccellere in numerose applicazioni.

Particolare fu il progetto della tastiera: pochi tasti in gomma ed una modalità di utilizzo del tutto non standard. Un approccio sicuramente orientato alla riduzione dei costi. E proprio a tal fine, lo Spectrum venne persino privato di un interruttore ON/OFF (bisognava semplicemente collegare/scollegare lo spinotto dell’alimentatore dalla macchina).

Lo Spectrum aveva una risoluzione inferiore a quella massima del C64, soffriva del problema del colour clashing, non aveva sprites hardware, tuttavia la potenza del microprocessore, particolarmente abile nello spostare rapidamente aree di memoria, permise lo sviluppo di un parco software molto vasto, anche e prevalentemente nel campo videoludico, per il quale non era peraltro nato. Era stato infatti pensato da Clive Sinclair come macchina per scopi didattici.

Certo, disarmante è il confronto tra la dotazione di porte dello Spectrum e quella del C64 (quest’ultima nettamente superiore). Altrettanto disarmante il confronto tra la varietà di comandi dei due interpreti BASIC residenti (quello del C64 sicuramente perdente), ma appare piuttosto strana la differenza di prestazioni tra i due interpreti (quello del C64 è molto più veloce della controparte Spectrum).

Nonostante le carenze dello Spectrum sul piano videoludico, vi fu una notevole rivalità tra Spectrum e C64. Se sul piano sonoro lo Spectrum ben poco poteva rispetto al C64, sul piano della grafica e giocabilità la sfida era abbastanza aperta. In sintesi estrema, sebbene titoli come Turrican o Creatures rendevano chiara la superiorità del C64, questa veniva messa subito inequivocabilmente in dubbio prendendo in considerazione titoli quali Robocop e Chase HQ. Differenze nell’hardware o nei programmatori? Chissà. Nel C64 venne utilizzata prevalentemente la modalità multicolor, che si contrapponeva alla modalità hires dello Spectrum, monocromatica o poco più ma di risoluzione più alta: di qui la rivalità tra le schermate colorate ma blocchettose del C64 e quelle monocromatiche ma dettagliate dello Spectrum.

Vi furono anche altri home computer, davvero tanti, prodotti da vari costruttori. Sono sicuramente da citare gli Amstrad e i vari sistemi MSX. Anche Atari produsse dei propri home (Atari 400/800 e 800XL tra i più famosi), ma non ebbero grande diffusione in rapporto ai Commodore e Sinclair.

I sistemi MSX rappresentavano un progetto sicuramente interessante, anche se non ebbero la diffusione sperata. Lo standard, ideato dalla società ASCII e da Microsoft, si proponeva la realizzazione da parte di vari produttori di home computer tra loro compatibili che utilizzavano tecnologia “consolidata”. Ogni sistema MSX era costituito da un processore Z80, da un chip grafico della Texas Instruments (il TMS 9918), da un chip I/O PPI (8255 della Intel) e da un chip sonoro AY. Il TMS9918 necessitava di 16K di memoria RAM dedicata (denominata memoria video), aveva due modalità testuali, due modalità grafiche e 32 sprites (ma di dimensioni ridotte e con limitazioni nella visualizzazione). Su quest’ultimo chip era anche basato l’home computer Texas Instruments TI99, che non ebbe tuttavia successo. I sistemi MSX avevano solitamente 48K o 64K di RAM centrale (in aggiunta ai 16K RAM video).

Punto di forza di questi sistemi era sicuramente l’interprete BASIC residente: molto avanzato e ricco di comandi, realizzato da Microsoft (MSX BASIC).

Oltre all’hardware non particolarmente avanzato, sicuramente un motivo del mancato successo a livello mondiale fu dovuto anche ad una tardiva introduzione nel mercato (nel 1984/85, queste macchine già non erano competitive).

Di tutti gli home citati, il Commodore 64 è stato probabilmente il più longevo. E’ stato venduto fino ai primi anni ’90, pressoché immutato. Nonostante i limiti dei quali si è parlato, sicuramente i chip custom in esso presenti hanno fatto la differenza rispetto ad altre macchine, a mio parere il SID in particolare.

 

 

 

Successivo Commodore 64: multicolor e hi-res

Lascia un commento

*