Sinclair ZX81

Pubblicato: settembre 2, 2011 in Sinclair
Tag:,

Questo slideshow richiede JavaScript.

ZX-81 con modifica per uscita composita ed espansione RAM

Da Wikipedia, l’enciclopedia libera.

Il Sinclair ZX 81 è un home computer basato sul processore Zilog Z80A prodotto da Sinclair Research. Fu presentato nel 1981 come successore del Sinclair ZX80. Il computer era acquistabile sia già assemblato sia, ad un costo inferiore, come kit da montare. Il case fu disegnato da Rick Dickinson. Come lo ZX80, anche lo ZX81 disponeva di una semplice uscita TV, caricava e salvava i programmi tramite un normale registratore a cassette e presentava una particolare tastiera a membrana.

Lo ZX81 ha avuto un successo sopra ogni aspettativa: nonostante la sua semplicità, ne sono stati venduti più di 1 milione di esemplari.

Descrizione

Come nello ZX80, il processore era un compatibile Z80 prodotto da NEC,[2] operante ad un clock di 3,25 MHz, ma la ROM era cresciuta a 8 kB. Grazie alla maggior capacità, trovava alloggio una versione riveduta del Sinclair BASIC che introduceva il supporto ai numeri in virgola mobile[3]. La ROM era stata adattata da quella dello ZX80 da Steve Vickers per Nine Tiles Ltd, che aveva prodotto la prima versione del Sinclair BASIC. La nuova ROM era compatibile anche con lo ZX80 e Sinclair la offrì, insieme ad una nuova maschera per la tastiera, come kit di aggiornamento per quel computer.

Il sistema di base integrava 1 kB di RAM, usata per memorizzare le variabili di sistema, l’immagine dello schermo, il programma e tutti i dati. Lo schermo aveva una unica modalità testuale con 32 colonne per 24 righe: usando dei particolari caratteri semi-grafici del set di caratteri contenuto in ROM posizionati con il comando PLOT era possibile creare dei disegni con una risoluzione di 64×48 punti.[4] Lo ZX81 usava una memoria video, lo screen buffer, ridimensionabile, che poteva essere aumentata o diminuita a seconda della memoria installata e/o del quantitativo di RAM libera.

La RAM di base poteva essere aumentata fino a 16 KByte con un’apposita espansione esterna prodotta dalla stessa Sinclair. Alcuni produttori indipendenti realizzarono espansioni molto più grandi fino a raggiungere i 64 Kbyte. È da notare che le espansioni di memoria più capaci spesso avevano problemi di raffreddamento e non era infrequente che l’involucro di plastica si deformasse. Il BASIC era ampliato rispetto al suo predecessore e poteva utilizzare anche numeri in virgola mobile. Oltre alla suddetta espansione di memoria, al computer era possibile collegare una mini stampante elettrostatica che utilizzava una speciale carta rivestita da un sottile film di alluminio.

Lo ZX81 fu inizialmente venduto per corrispondenza,[3] come kit di montaggio a £ 49,95 oppure già assemblato a £ 69,95 (2010: € 290 ca.) o 100 dollari (negli USA). In seguito Sinclair si accordò con la catena di distribuzione W.H.Smith per vendere lo ZX81 ed i suoi accessori nei loro negozi. In Italia veniva venduto al prezzo di Lire 99.000 (+ IVA 18%, 51 euro + IVA), già montato, oppure si poteva trovare in scatola di montaggio come in Inghilterra; era distribuito da G.B.C.[5]

Hardware

Lo ZX81 era concettualmente simile allo ZX80 ma tecnicamente molto differente: i tecnici Sinclair avevano infatti rivisto la circuiteria interna, e gran parte delle funzioni svolte dai chip in logica TTL dello ZX80 erano state integrate in un unico processore dedicato denominato ULA (tipo 2C184E o 2C210E), prodotto da Ferranti. La nuova scheda madre presentava così solo 4 o 5 chip: il microprocessore, l’ULA, la ROM da 8 kB, ed 1 chip RAM da 8×1 kB oppure 2 chip 4×1 kB, a seconda dei modelli. Il ridotto numero di componenti fece sì che la produzione dello ZX81 fosse più semplice ed economica, riflettendosi sul prezzo finale di vendita, inferiore a quello del suo predecessore.

Limiti e difetti

Per preservare la memoria, il testo visualizzato sullo schermo era salvato in stringhe di lunghezza dinamica: ad esempio, una riga dello schermo contenente 12 caratteri veniva memorizzata con i soli 12 caratteri seguiti dal codice per una nuova linea, “NEWLINE”; inoltre, quando la memoria cominciava a scarseggiare, diminuiva anche il numero di righe visualizzate sullo schermo. Usando questo modo di gestire la memoria, un programmatore poteva scrivere dei programmi che usavano solo la parte superiore sinistra dello schermo per risparmiare RAM. Inoltre l’interprete BASIC memorizzava le sue parole chiave usando token da 1 byte. Grazie a questi accorgimenti fu possibile far girare nella limitata memoria del computer diversi programmi e giochi, compreso un rudimentale gioco degli scacchi.[6]

Nello ZX80 il segnale video era generato per gran parte dalla CPU: quando il computer eseguiva un programma, lo schermo si spegneva finché il software non si fermava in attesa di un input da parte dell’utente oppure non terminava la sua esecuzione. Lo ZX81 risolveva in parte questo problema offrendo 2 modalità operative: la “FAST”, in cui lo schermo si anneriva mentre giravano i programmi (come nello ZX80), e la “SLOW” (circa il 25% della velocità originale[3]), in cui l’immagine veniva mantenuta sempre visibile perché i programmi venivano fatti girare solo mentre il segnale video attraversava le zone vuote poste sopra e sotto l’area dello schermo (ossia quando il pennello video non doveva disegnare nessuna immagine sullo schermo e la CPU poteva dedicarsi all’esecuzione del codice del programma).

Datosi che l’immagine veniva generata principalmente dal software presente nella ROM dello ZX81, era possibile scavalcare la routine di gestione degli interrupt e generare completamente l’immagine video: alcuni giochi in “alta risoluzione” sfruttavano tale possibilità gestendo tutti i singoli pixel disponibili (256×192).[7]

A differenza di molti computer ad 8 bit del periodo, il cui interprete BASIC derivava dal Microsoft BASIC, il Sinclair BASIC dello ZX81 derivava da quello presente sullo ZX80, a sua volta sviluppato appositamente per quella macchina.

Il set di caratteri utilizzato non era quello ASCII ma uno proprietario: il codice 0 era lo spazio; i codici dall’1 al 10 erano usati per i caratteri semi-grafici; i codici dall’11 al 63 corrispondevano ai segni di punteggiatura, ai numeri ed alle lettere (maiuscole). I codici dal 128 al 191 erano le versioni inverse dei primi 64 caratteri. Altri codici erano usati per le parole chiave del BASIC e per i caratteri di controllo quali NEWLINE. Non c’era una versione minuscola dei caratteri. I tasti inserivano diversi caratteri grazie all’uso in combinazione con dei tasti speciali.

Un’altra caratteristica dello ZX81 era che durante il caricamento ed il salvataggio dei programmi il segnale del registratore interferiva con il segnale video, dando luogo a immagini dello schermo tremolanti e disturbate. Un altro difetto legato al registratore era dato dal fatto che se il segnale non veniva letto ad un dato volume il caricamento del programma non andava a buon fine, obbligando l’utente a ripetere il tentativo di lettura variando il livello del volume.

Un noto bug della ROM presente in origine nello ZX81 colpiva il calcolo della radice quadrata di 0,25, che dava erroneamente il risultato di 1,3591409 invece del valore corretto di 0,5.[8] Tale fatto attirò contro Sinclair Research molti attacchi da parte della stampa perché lo ZX81 continuò ad essere venduto con la ROM contenente il bug per molto tempo ancora dopo la scoperta dello stesso.[9]

Timex Sinclair 1000/1500

Timex Corporation era la società che produceva per conto di Sinclair Research gli ZX81 sia come kit che come computer assemblato. Grazie ad un accordo con Sinclair, Timex poté esportare il computer negli Stati Uniti d’America (1982) e venderlo come Timex Sinclair 1000 (TS1000): rispetto allo ZX81, aveva una dotazione doppia di RAM (2 kB) ed un’uscita video in standard NTSC.

Ma le vendite del TS1000 non andavano bene. I fattori negativi erano due: la scarsità di memoria e la tastiera.[10] Per ovviare a ciò Timex decise di modificare il computer, utilizzando un case simile a quello dello ZX Spectrum, compresa la tastiera in gomma, e di dotarlo di serie di 16 kB di RAM. Per accogliere la RAM aggiuntiva fu modificata la scheda madre, che vide anche il chip ULA saldato direttamente su di essa, senza l’uso di zoccolini. Il computer ricevette anche una ROM modificata che correggeva i bug del TS1000/ZX81. Un limite del computer era che la memoria poteva essere ulteriormente espansa solo di altri 16 kB mediante l’uso di un modulo esterno: tagli superiori di RAM richiedevano una modifica alla scheda madre.[10] Con queste novità la macchina fu messa in vendita come Timex Sinclair 1500 (TS1500) nel 1983, sia negli USA che in Portogallo.

Nonostante queste modifiche, il computer non vendette molto, principalmente perché fu messo in commercio troppo tardi: nel 1983, anno della sua presentazione, negli Stati Uniti il Commodore 64 stava già dominando la scena degli home computer mentre in Europa lo ZX Spectrum “vero” rappresentava un’alternativa molto più interessante e ad un prezzo di poco superiore.

Curiosità

Tra le curiosità legate allo ZX81 Sinclair va ricordato che nel luglio 1986 tutti i giornali dedicarono ampi spazi ad un avvenimento, per quell’epoca, veramente molto curioso: uno dei supercomputer Cray-1 usato dai militari francesi per effettuare analisi dei test nucleari di Mururoa e conservare informazioni sulle bombe atomiche francesi venne infatti “bucato” da tre intraprendenti giovani. Il particolare divertente di questa storia fu il computer usato per entrare nel Cray-1: un semplice Sinclair ZX81.[11]

commenti
  1. La storiella degli hacker con ZX81 che penetrano un CRAY-1 è carina ma è una palese stupidaggine giornalistica. Magari saranno riusciti a collegarsi a qualche macchina del centro ma non al CRAY. Il CRAY-1 è in pratica una grossa CPU, non un calcolatore “completo”, non ha velleità di conservare alcunché e tantomeno segreti militari. Gli storage dei quali è dotato sono per uso di elaborazione e avevano all’epoca una capacità ridicola per pensare di conservare un database con i dati degli esperimenti nucleari.

Lascia un commento

Inserisci i tuoi dati qui sotto o clicca su un'icona per effettuare l'accesso:

Logo WordPress.com

Stai commentando usando il tuo account WordPress.com. Chiudi sessione / Modifica )

Foto Twitter

Stai commentando usando il tuo account Twitter. Chiudi sessione / Modifica )

Foto di Facebook

Stai commentando usando il tuo account Facebook. Chiudi sessione / Modifica )

Google+ photo

Stai commentando usando il tuo account Google+. Chiudi sessione / Modifica )

Connessione a %s...