Sinclair ZX Spectrum

Da Wikipedia, l'enciclopedia libera.

Sinclair ZX Spectrum

Classe di computer: Home computer
Produttore: Sinclair Research Ltd
Presentazione: 23 aprile 1982
Fine commercializzazione: dicembre 1990
CPU: Zilog Z80
Frequenza CPU: 3.5 MHz
RAM di serie: 16 KB
RAM massima: 128 KB
Sistema operativo di serie: Sinclair BASIC
Visita il Portale Informatica

Il Sinclair ZX Spectrum, prodotto a partire dal 1982 dall'inglese Sinclair Research Ltd di Clive Sinclair, è un microcomputer originariamente dotato di microprocessore Z80 a 8-bit, linguaggio BASIC di 16 kB in ROM, 16 kB di RAM espandibili a 48 kB e una caratteristica tastiera in lattice con 40 tasti multifunzione.

In Europa è stato il principale antagonista del Commodore 64 e conquistò una discreta fetta di mercato grazie al prezzo di listino più abbordabile. Le tante soluzioni costruttive adottate per contenere i costi senza penalizzarne le funzionalità spinsero alcuni recensori dell'epoca a classificarlo come "il computer con il miglior rapporto prezzo-prestazioni".[1] Le piccole dimensioni, la velocità di calcolo e il prezzo relativamente basso lo resero popolare negli anni ottanta in tutto il mondo, tanto che se ne ebbero versioni clonate e praticamente uguali in estetica ma con nomi diversi, come l'Inves Spectrum in Spagna, il Moscow e poi il Baltic in Russia.

L'interprete BASIC venne fortemente personalizzato dalla Sinclair per compensare i limiti della tastiera e per sfruttare al massimo le caratteristiche grafiche e sonore della macchina.

Furono prodotte varie versioni dello Spectrum: oltre alle prime a 16 e a 48 kB, possiamo ricordare quella con una tastiera vera derivata da quella del Sinclair QL (Spectrum +) e le ultime, dopo l'acquisizione del progetto da parte dell'Amstrad con BASIC esteso, 128 kB di RAM ed il registratore a cassette o il floppy incorporato (Spectrum +2 e Spectrum +3).

Indice

[modifica] Storia

Con lo ZX Spectrum la Sinclair intendeva riproporre la filosofia minimale introdotta negli anni precedenti con lo ZX80 (1980) e lo ZX81 (1981). Il nome in codice, ZX82 (o ZX81 Colour) venne sostituito dal nome commerciale ZX Spectrum, con il quale si voleva sottolineare possibilità di visualizzare immagini su tutto lo spettro dei colori (i due computer precedenti, malgrado il discreto successo, non disponevano né di suono né di colore). Il modello base disponeva di 16 kB, espandibile a 48 kB con un kit di espansione che in Italia costava circa 90.000 lire.

Lo Spectrum con 48 kB di serie fece il suo debutto alla fine del 1982 e diventò ben presto uno degli home computer di maggior successo. Le caratteristiche che attiravano di più gli acquirenti erano il prezzo e la linea compatta, risultati ottenuti concentrando molta dell'elettronica in un solo chip custom (la Uncommitted Logic Array della inglese Ferranti, nota anche come ULA).

Milioni di unità furono vendute, principalmente in Europa, e le prime crisi settoriali dopo il Natale 1984 e gli altri pretendenti al trono degli 8-bit (Commodore 64, Amstrad CPC464, ecc.) non compromisero il suo successo: la larga base di utenti della macchina valeva più di qualunque fattore prestazionale dei concorrenti. La Sinclair Research, tuttavia, non navigava in buone acque. Sir Clive Sinclair si era dedicato allo sviluppo di altri progetti come il microdrive e lo "scooter" C5, entrambi un fallimento completo e i successori dello Spectrum non riuscivano a ingraziarsi il mercato. Il QL, (presentato in Italia nel settembre dello stesso anno allo SMAU di Milano) precorreva un po' troppo i tempi, non era più una macchina da gioco e contemporaneamente non era affidabile per un uso professionale, principalmente proprio a causa delle memorie di massa su microdrive. Verso la fine del 1984 i sintomi di questa difficoltà divennero visibili: agli imbarazzanti ritardi sul programma di lancio del QL si aggiunse la notizia del ritiro dal mercato della Timex (distrubutrice dei computer Sinclair negli USA).[2]. Lo Spectrum+, sebbene sostenuto in Italia da una ragionevole campagna di marketing consisteva in un semplice restyling: di fatto si trattava di un 48K dotato di tastiera rigida (venne venduto anche un kit per sostituire la tastiera del 48K "classico" con quella del "Plus"). Nonostante tutto a fine anno la Sinclair deteneva ancora il 43% del mercato Britannico superando, almeno sul suolo nazionale, Commodore e Acorn.

Le promesse del governo inglese nel 1985 e la presentazione dello Spectrum 128 (lanciato inizialmente in Spagna con la collaborazione della Inves) che avvenne ufficialmente a Natale dello stesso anno non salvarono la società, che aveva investito troppo nel tentativo di commercializzare QL e C5[3]. Nel marzo 1986 la Sinclair Research fu venduta alla società che era stata la sua più accanita concorrente, la Amstrad di Alan Sugar.

L'Amstrad non fece scomparire lo Spectrum per favorire la sua linea di macchine CPC ma anzi lanciò lo Spectrum +2, dotato di 128Kb di RAM, una tastiera migliorata, un registratore a cassette incorporato e una interfaccia joystick "non standard". Così facendo continuò a detenere un altro livello di vendite nella fascia bassa del mercato.

Nel 1987 iniziarono a comparire i primi computer a 16-bit e la Amstrad presentò i modelli +3 con disk drive incorporato da 3 pollici ereditato dal CPC, e +2A come alternative economiche ai suoi CPC6128 e CPC464. Le macchine furono ampiamente pubblicizzate nel periodo natalizio e riuscirono a ottenere delle vendite accettabili, nonostante i nuovi modelli iniziassero ad avere problemi di compatibilità con lo Spectrum 48 kB.

Con il boom dei 16-bit i possessori di Spectrum si spostarono verso altre piattaforme ma la macchina non scomparve del tutto: la sua economicità e la vastissima libreria di software lo fecero diventare uno dei computer più venduti nei paesi dell'est europeo.

In Italia lo Spectrum fu distribuito dalla Rebit (GBC); ecco alcuni prezzi del listino 1984:

  • ZX Spectrum 16 kB L. 398.000
  • ZX Spectrum 48 kB L. 499.000
  • ZX Microdrive L. 199.500
  • ZX Interface 1 L. 199.500
  • 2 cartucce per Microdrive L. 45.000

[modifica] Specifiche tecniche e hardware

Scheda interna ZX Spectrum (Edizione 3B - 1983)
  • processore Zilog Z80A a 3,5 MHz
  • 16 kB ROM contenente il sistema operativo e l'interprete BASIC
  • 16 kB RAM (espandibili a 48 KB) per la versione Spectrum 16 kB o 48 kB RAM nella versione Spectrum 48 kB
  • dimensioni: 233 mm (larghezza) x 144 mm (profondità) x 30 mm (altezza)

[modifica] Grafica

Lo ZX Spectrum opera costantemente in modalità grafica, e la sua memoria video può essere indirizzata direttamente. La mappa dello schermo prevede 256x192 pixel, e il font di caratteri, di dimensioni 8x8 pixel, permette la visualizzazione di 24 righe da 32 caratteri. Con l'utilizzo di font più compatti i programmatori arrivarono comunque ad ottenere fino a 85 caratteri per riga, sebbene raramente si superasse il limite delle 64 colonne (è ad esempio il caso del Word Processor "Tasword II"). Testo e grafica possono essere tranquillamente usati contemporaneamente. Lo schermo è diviso in due sezioni: quella superiore normalmente occupa le prime 22 linee di caratteri e mostra il listato o i risultati dei programmi in esecuzione; quella inferiore, costituita dalle ultime 2 righe, mostra il comando digitato o la linea di programma che si sta modificando o eventuali messaggi di sistema. I comandi possono essere editati con l'ausilio dei tasti cursor left, cursor right, insert e delete con ripetizione automatica.

A differenza delle console per videogiochi dell'epoca (e di diversi home-computer indirizzati al mercato dei videogiochi), l'hardware dello ZX Spectrum non implementava i cosiddetti sprite, né vi erano porte joystick di serie. La velocità del processore e la possibilità di un accesso relativamente veloce alla pagina video permisero ugualmente la creazione di una vasta libreria di videogiochi che sfruttavano ingegnosi trucchi di programmazione per animare gli sprite.

Lo Spectrum, per il quale non era commercializzato un monitor dedicato, si collega ad un normale televisore PAL UHF a colori o in bianco e nero, sul canale 36.

[modifica] Colori

Per utilizzare i colori senza consumare troppo memoria e potenza di calcolo i progettisti scelsero di far colorare solo le 32x24 aree di 8x8 pixel: ogni area 8x8 poteva avere 16 colori (otto di base più otto a luminosità maggiorata, "bright"), più la possibilità del flash (lampeggiamento, generato dall'hardware). In un'area di 8x8 pixel potevano essere presenti perciò solo pixel di due colori qualsiasi (più l'eventuale lampeggiamento); tentare di utilizzare un altro colore avrebbe cambiato gli "attributi" dell'intera area 8x8 (il cosiddetto effetto del colour clash, passione o fastidio di tanti programmatori Spectrum).

I colori base sono: nero, verde, blu, rosso, magenta (porpora), cyan (ciano), giallo e bianco. Tutti gli otto colori possono essere presenti sullo schermo contemporaneamente con alcune zone lampeggianti e altre ferme e dei caratteri con l'extra bright: tramite quest'ultimo accorgimento si ottengono in tutto 15 colori, ma non è possibile usare un colore bright ed uno standard nel medesimo quadretto di 8 x 8 pixel. Il colore del bordo dello schermo è definibile con uno degli 8 colori base tramite il comando BORDER. I colori di primo piano (foreground) e di sfondo (background) e gli attributi di luminosità (brightness) e lampeggio (flashing) sono impostati con i comandi BASIC INK, PAPER, BRIGHT e FLASH. Possono essere attivati anche OVER (sovrascrittura degli attributi dello schermo) e INVERSE (scambia i colori di sfondo e primo piano). Questi sei comandi possono essere impostati in modo da modificare tutte le successive operazioni PRINT, PLOT, DRAW o CIRCLE o riguardare una singola linea di comando.

[modifica] Audio

Come molti altri microcomputer dei primi anni '80, per la generazione dei suoni lo ZX Spectrum è dotato solo di un limitato buzzer, teoricamente in grado di generare esclusivamente segnali ad onda quadra. Grazie alla discreta velocità di calcolo del microprocessore questi limiti sono stati comunque spesso superati con accorgimenti software: tramite accurate temporizzazioni infatti i programmatori hanno sintetizzato svariati effetti sonori, brani polifonici e addirittura un minimo di sintesi vocale. Il segnale sonoro può inoltre essere riprodotto, amplificato e (seppure in bassa qualità) campionato sfruttando gli stessi connettori messi a disposizione per il registratore a cassette. Questa caratteristica, che potrebbe sembrare banale, è stata utilizzata per molte realizzazioni hardware a basso costo, tra le quali la penna ottica e un modem RTTY per radioamatori: l'essenzialità degli schemi elettrici, principalmente costituiti da circuti per l'amplificazione e l'adattamento dei segnali, veniva infatti compensata con il software.

[modifica] Tastiera

La tastiera ha 40 tasti con maiuscole e minuscole e tasto Caps Lock. Tutti i tasti hanno la ripetizione automatica. I primi modelli di Spectrum (Spectrum 16K e Spectrum 48K) hanno una tastiera gommosa piccola e piuttosto scomoda: per ridurre la fatica di digitazione durante la programmazione il produttore pensò quindi di associare ad ogni tasto due o tre comandi BASIC, richiamabili premendo semplicemente il tasto associato, eventualmente in combinazione coi tasti CAPS SHIFT e/o SYMBOL SHIFT: in tal modo, oltre a permettere una maggiore velocità di redazione del software, si eliminava la possibilità di lasciare errori di sintassi nei listati, il che contribuì alla divulgazione di questo semplice ma assai utile linguaggio di programmazione.

Il set di caratteri comprende, oltre ai normali caratteri ASCII, 16 caratteri grafici, 22 codici colore e 21 caratteri grafici ridefinibili dall'utente.

[modifica] Interfacce e periferiche

Sulla porta di espansione, documentata accuratamente nei manuali a corredo, furono realizzate una miriade di interfacce aggiuntive. La Kempston produsse interfacce per joystick e mouse. La Sandy produsse floppy drives da 400 e 800kb di capacità. Seikosha vendeva una stampante ad aghi a colori corredata di interfaccia parallela dedicata allo Spectrum e fornita di software di controllo per le funzionalità di hardcopy; tra le tante stampanti utilizzate con lo Spectrum in Italia la Mannesmann Tally MT-80 ebbe una discreta diffusione, in quanto controllabile sia tramite porta parallela che (con apposita espansione interna), tramite porta seriale. La Sinclair stessa produsse una mini-stampante a carta termica (la ZX Printer) e dei supporti di memorizzazione di massa (i problematici ZX Microdrive, costituiti di piccoli nastri magnetici interamente gestiti dal computer, che avrebbero dovuto sostituire a basso costo i drive per dischi).

[modifica] Interfaccia per registratore a cassette

  • la memoria di massa utilizzata da tutti i modelli di Spectrum è il registratore a cassette e tutto il software prodotto è disponibile su nastro. L'eccezione è il modello ZX Spectrum+3 che usa un lettore floppy da 3” ma può caricare i programmi anche da nastro. Ove il registratore non sia integrato, l'interfaccia è realizzata tramite due connettori da 3,5 mm. Questo permetteva di utilizzare come dispositivo di memorizzazione di massa, a differenza del Commodore 64, che richiedeva un registratore dedicato, un qualsiasi registratore portatile. I dati vengono registrati a circa 1500 baud.

Un tono guida viene registrato sul nastro prima di far partire i segnali relativi ai dati in modo da aggiustare le eventuali fluttuazioni di volume di alcuni registratori. I programmi iniziano con un header contenente informazioni relative al tipo, al titolo, alla lunghezza dei successivi dati. Programmi, blocchi di memoria, stringhe e matrici o schermate possono essere salvate separatamente e i primi tre tipi possono essere verificati dopo il salvataggio per confermare la corretta memorizzazione. Normalmente i programmi non si avviano da soli dopo il caricamento ma occorre lanciarli con RUN; il salvataggio però può avvenire anche in modo da impostare l'avvio automatico.

  • porta di espansione: posta sul retro, riporta praticamente tutti i segnali del bus della macchina. Vi si poteva collegare direttamente una delle stampanti a disposizione, la ZX Printer della Sinclair, che utilizzava carta metallizzata, l'Alphacom 32, che stampava su carta termica, o la Seikosha GP50S. Grazie alla versatilità di questa porta, negli anni si resero disponibili parecchi dispositivi esterni, tra i quali ricordiamo:
    • ZX Interface 1: utilizzata per connettere fino a 8 Microdrive, apposite unità a nastro di fabbricazione Sinclair, concettualmente simili ai DECTape. Forniva anche una porta seriale RS232C e una rudimentale LAN per connettere fino ad 63 Spectrum o QL fra loro. Nell'interfaccia era presente una ulteriore ROM da 8K in grado di estendere il BASIC Sinclair con i comandi di supporto alle nuove porte di espansione.
    • Kempston Interface: Dotava lo Spectrum di 1 porta per joystick digitali. A differenza delle altre interfacce, non emulava la pressione di tasti del computer: lo stato del joystick era invece leggibile alla porta di I/O 31, anche da BASIC. Divenne lo standard de facto per collegare un joystick allo Spectrum.
    • ZX Interface 2: prodotta direttamente dalla Sinclair, anche essa dotava lo Spectrum di due entrate per joystick digitali, ma al contrario da quanto proposto dalla Kempston, i movimenti rilevati erano abbinati ai tasti numerici. Oltre agli ingressi per i joystick era presente anche una interfaccia per cartucce ROM, ma i titoli software pubblicati in ROM si contano sulle dita. È interessante notare che dopo l'acquisizione di Sinclair da parte di Amstrad (1986) lo Spectrum venne dotato di una interfaccia Joystick interna, incompatibile con i Joystick digitali standard, come il modello SISJ dell'Amstrad, e le interfacce precedenti.

Tra le altre interfacce prodotte ricordiamo una interfaccia MIDI, le Multiface in grado di "congelare" un qualsiasi programma e salvarlo su disco e almeno 3 interfacce per floppy standard da 3,5" coma le Disciple e la Plus D. La mancanza di standardizzazione e il proliferare di interfacce di terze parti faceva sì che non tutte le interfacce fossero sempre compatibili tra loro Gli ultimi modelli furono equipaggiati da porte seriali e parallele standard.

[modifica] Alcune caratteristiche del BASIC residente

[modifica] Operazioni matematiche e funzioni

  • I numeri sono memorizzati in 5 byte in virgola mobile (4 di mantissa e 1 di esponente), con un range compreso tra ±2,9·10-39 e ±1,7·1038 e una precisione di 9,6 cifre decimali.
  • Oltre alle quattro operazioni aritmetiche, sono disponibili: elevamento a potenza, seno, coseno, tangente, logaritmi naturali ed esponenziali, valore assoluto e intero, radice quadrata, pi greco e generatore di numeri casuali.
  • I numeri binari possono essere usati direttamente nelle espressioni del BASIC grazie alla funzione BIN.
  • L'utente può creare delle funzioni con il comando DEF FN, richiamabili con FN.

[modifica] Operazioni logiche

  • Gli operatori “=”, “>”, “<”, “>=”, “<=” e “<>” possono essere impiegati per confrontare valori numerici o stringhe alfanumeriche.
  • Sono disponibili anche le operazioni logiche AND, OR, NOT.

[modifica] Operazioni sulle stringhe

Le operazioni tra stringhe includono, oltre ai già detti confronti, la concatenazione, effettuabile con l'operatore “+”. Altre funzioni specifiche riguardanti le stringhe sono VAL (conversione da stringa a numero), VAL$, STR$ (conversione da numero a stringa) e LEN. Infine, le funzioni CHR$ e CODE convertono codici ASCII in caratteri e viceversa.

[modifica] Altre caratteristiche

  • Mediante le istruzioni READ e RESTORE è possibile leggere dati statici memorizzati nel programma per mezzo dell'istruzione DATA.
  • Non c'è orologio in tempo reale che però è ottenibile tramite programmazione.

[modifica] Nomi delle variabili

  • Le variabili numeriche ammettono nomi alfanumerici inizianti per lettera. Il BASIC non distingue tra maiuscole e minuscole, e gli spazi sono ignorati.
  • Le variabili e le matrici di tipo stringa ammettono nomi di una lettera seguita dal simbolo “$”
  • Le variabili di controllo dei cicli FOR-NEXT e le matrici numeriche ammettono infine nomi di una lettera singola.

[modifica] Compatibilità con lo ZX81

Il BASIC dello ZX81 (derivato a sua volta da quello dello ZX80) è essenzialmente un sottoinsieme di quello dello Spectrum; conseguentemente i listati per ZX81 possono essere digitati sullo Spectrum con pochissimi cambiamenti. I programmi su cassetta per ZX81 invece non sono direttamente leggibili dal BASIC residente del fratello maggiore.

[modifica] Software

La dotazione iniziale comprendeva software per l'archiviazione, foglio elettronico, (Vu-File, Vu-Calc, Vu-3D, etc) e Basic. Grazie alla sucessiva diffusione dello ZX Spectrum e del Commodore 64, iniziò anche la prassi di distribuire nelle edicole le riviste con in allegato i programmi già pronti all'uso, spesso frutto dell'ingegno dei lettori. I programmi erano infatti forniti quasi esclusivamente sotto forma di listato cartaceo da copiare a mano o registrati su musicassette e potevano essere trasferiti utilizzando qualsiasi registratore audio. Questa caratteristica costituiva contemporaneamente il più grande limite della macchina e il miglior incentivo economico: infatti il computer poteva essere utilizzato anche senza il corredo di costose periferiche, ma la velocità di trasferimento proposta di 1500 baud, si traduceva in tempi di attesa che, nel caso di programmi particolarmente lunghi, raggiungevano i 5 minuti. Inoltre l'utilizzo di registratori a cassette di qualità scadente poteva comportare fastidiosi problemi di affidabilità.

Il problema affliggeva anche altri microcomputer dell'epoca: il Commodore 64 ad esempio proponeva una velocità di trasferimento su cassetta di soli 300 baud, richiedendo perciò tempi fino a cinque volte superiori a quelli dello Spectrum; la situazione spinse le "software house" a sviluppare degli acceleratori software chiamati turbo tape, che nella seconda metà degli anni '80 ebbero successo su entrambe le piattaforme, raggiungendo i 3000-3300 baud, aggravando però ulteriormente il problema dell'affidabilità dei supporti.

[modifica] Versioni

Lo ZX Spectrum 16/48 kB è stato prodotto in numerose versioni. Dalla rarissima "Issue One" del 1982 fino all'ultima evoluzione del 1984 con la "Issue 6A".

  • Issue One - 1982 - Prima versione con circuito stampato disegnato a mano con 16kB di memoria e possibilità di espansione a 48kB con modulo interno montato su un piccolo circuito separato (soluzione proposta dalla Sinclair) oppure con espansione esterna in stile ZX80/81 (soluzione proposta da terze parti). A causa di un bug nel chip ULA 5C102E, molte Issue One montano una piccola scheda aggiuntiva e presentano svariate altre modifiche di "rattoppo". Questa versione montava una tastiera in gomma di colore grigio chiaro che successivamente, a partire dalla Issue Two è stata sostituita con una più scura per migliorarne la leggibilità con la luce artificiale.
  • Issue Two - 1982 - Design simile alla precedente versione ma con possibilità di espansione a 48Kbyte con spazio dedicato su scheda. Con questa versione si inaugura anche il primo Spectrum con 48kB di serie. Nuova ULA 5C112E-3 che non necessita del circuito di correzione aggiuntivo. La "Issue Two" è la prima ad essere disegnata con programma CAD.
  • Issue 3 - 1983 - In questa versione ritroviamo numerose modifiche: nuovo circuito di alimentazione, dissipatore di calore spostato vicino allo slot di espansione, nuovo chip ULA 6C001E-6 a basso consumo, eliminati i potenziometri per la regolazione dei colori, buzzer più piccolo e varie altre modifiche.
  • Issue 3B - 1983 - Molto simile alla Issue 3, differisce solo per alcuni componenti secondari. La prima ad essere usata negli ZX Spectrum +
  • Issue 4A e 4B - 1983 - A parte l'ulteriore evoluzione del chip ULA, qui in versione 6C001E-7, sono virtualmente identiche alla Issue 3B. La Issue 4A è l'ultima prodotta anche con 16kB espandibili. A partire dalla Issue 4B, 48kB di serie.
  • Issue 5 - 1983 - Completamente ridisegnata la sezione decoder/multiplexer. Sei chip vengono rimpiazzati da un unico chip consentendo una riduzione dei costi. Insieme alla Issue One e Two è molto rara.
  • Issue 6A - 1984 - Versione finale dello Spectrum 48kB. Solo piccole differenze rispetto alla versione precedente. Su alcune schede troviamo ULA Saga invece che Ferranti

Quasi tutte le schede ZX Spectrum sono prodotte con PCB in vetronite anche se esistono alcune schede Issue 3B, estremamente rare, realizzate in bachelite. N.B. Le Issue One e Two sono indicate con caratteri alfanumerici come riportato sulle schede stesse.

[modifica] Note

  1. ^ Enciclopedia "Il mio Computer"
  2. ^ Rivista "Sinclair Computer n.7 (Ottobre 1984), pag. 13"
  3. ^ "Sinclair Computer n.15 (Giugno 1985), pag.47".

[modifica] Voci correlate

[modifica] Altri progetti

[modifica] Collegamenti esterni

Strumenti personali