Sinclair ZX Spectrum

Giocando con il capolavoro di Clive Sinclair

Introduzione
I primi contatti con lo ZX Spectrum
Raffreddamento dell'ULA e fabbricazione cavo audio
Modifica per video composito
divMMC Future, un lettore carte SD
Sostituzione della membrana della tastiera
Conclusione
Linkografia

Introduzione

Il mio primo contatto con il Sinclair ZX Spectrum è avvenuto durante gli anni 1980, durante una visita a degli amici dei miei genitori. Mi ricordo bene quella strana scatoletta che riconobbi immediatamente come un computer molto interessante. Il mio interesse verso questa macchina non è mai venuto meno completamente, a dire il vero. Più di trent'anni dopo quel giorno, mi sono finalmente deciso a cercare un modello 48K e, dopo qualche tentativo infruttuoso, sono finalmente riuscito ad aggiudicarmene uno su un sito ben noto di aste on line.

I primi contatti con lo ZX Spectrum

Le figure 1 e 2 mostra il mio primo ZX Spectrum, così come l'ho ricevuto. Era un po' sporco, ma a parte questo in ottime condizioni. Il primo problema che ho avuto è stato che la persona che me l'ha venduto mi ha inviato un alimentatore per ZX81. La tensione fornita è la stessa (9 V in continua non stabilizzati), ma la corrente leggermente inferiore (1.2 A al posto di 1.4 A) e, dettaglio importante, il connettore jack era incompatibile con il connettore a barilotto con pin centrale negativo dello Spectrum. Tra l'altro, c'è da fare molta attenzione a quest'ultimo dettaglio, perché oggi si tende a fare il contrario e posizionare nello stesso connettore il positivo al centro: se non si fa molta attenzione, si possono fare danni considerevoli utilizzando un alimentatore inadatto.

Lo ZX Spectrum così come si è presentato a me

Fig. 1: Il mio Sinclair ZX Spectrum, così come l'ho ricevuto, prima di una pulizia accurata.

Il retro dello ZX Spectrum

Fig. 2: Il retro della macchina, con l'adesivo che attesta che si tratta di un modello 48K.

Ho recuperato un connettore a barilotto nella mia riserva di componenti elettronici ed ho acceso lo Spectrum con un alimentatore da banco. Alimentando il computer a 9 V, il piccolo Sinclair consuma 600 mA ed ho osservato che la corrente tende a scendere leggermente quando la tensione aumenta. La prova non è pericolosa perché l'alimentatore originale non è stabilizzato e non è indispensabile avere esattamente 9 V. Comunque, il comportamento descritto indica che la macchinetta contiene un qualche tipo di convertitore switching. Sono riuscito a recuperare una vecchia TV a 14 pollici che ho collegata allo Spectrum via antenna, sintonizzandola sul canale appropriato. La figura 3 mostra la ben nota schermata di benvenuto del Sinclair.

La schermata di benvenuto, in bianco e nero.

Fig. 3: La schermata di benvenuto su una TV a 14 pollici collegata via antenna. L'immagine è in bianco e nero e la qualità del segnale è lontana dall'essere entusiasmante.

Raffreddamento dell'ULA e fabbricazione cavo audio

E' ben noto che bisogna fare molta attenzione ad aprire uno Spectrum classico a causa della fragilità dei connettori flessibili della membrana della tastiera. Comunque, nel 2018 membrane nuove sono disponibili ed ho avuto la piacevole sorpresa di trovarne una già installata nella mia macchina (ma non è comunque durata a lungo, come si può vedere in questo paragrafo). Ho potuto quindi aprirla e senza grandi sorprese mi sono trovato davanti la versione 2 del circuito (Issue 2 nella terminologia Sinclair), mostrata in figura 4. E' una bella schedina, con il chip ULA a sinistra, il processore Z80 nel centro-destra, la ROM a destra del processore, la RAM in basso ed una collezione di chip logici vari, con l'obbligatoria spolverata di resistenze e condensatori qua e là. E' stato simpatico trovare la data "28 aout 1984" in francese su un'etichetta incollata sul dissipatore. Tra l'altro, sul dissipatore si trova un classico stabilizzatore lineare 7805 e, appena sopra, si vede un induttore parte del convertitore switching di alimentazione.

L'interno dello ZX Spectrum

Fig. 4: Come mi aspettavo, il mio Spectrum è una Issue 2. Ho avuto la piacevole sorpresa di trovare la membrana nuova installata nella tastiera (non mostrata in foto), che purtroppo non è comunque durata molto a lungo.

Ho potuto lasciare acceso lo Spectrum un po' di tempo ed ho notato che l'ULA tende a raggiungere temperature preoccupanti. Di solito, non mi preoccupo molto per gli integrati tiepidi, ma in questo caso non riuscivo a tenervi sopra un dito per più di qualche secondo. Questo è per me un segno che un dissipatore di qualche tipo è necessario. Ho incollato una piastrina di alluminio, perché dissipatori più spessi non entrano a causa del poco spazio che c'è a disposizione sotto la tastiera quando il computer è chiuso. Ho usato una piccola quantità di colla e poca pasta termoconduttiva. Il risultato è visibile in figura 5.

ULA con dissipatore

Fig. 5: L'ULA diventa molto calda durante l'uso normale. Ho installato una piastrina metallica come dissipatore, per ridurne la temperatura.

Subito dopo ho provato a caricare dei programmi da cassetta, usando per i primi test la mia fida piastra di registrazione. Mi ci è voluto un po' per capire che un semplice cavetto stereo non avrebbe potuto funzionare per via di come la massa è collegata sul connettore jack femmina nello Spectrum. Quello che succede è che la punta del jack è collegata al segnale audio, ma il connettore dello Spectrum tocca il jack con la linguetta di massa nel punto in cui, in un connettore stereo, c'è l'anello usato per il canale sinistro. Come mostrato in figura 6, me la sono cavata con un po' di pinze a coccodrillo per fare delle prove e capire come funzionasse il tutto.

Prova delle connessioni sulla presa EAR

Fig. 6: Prova delle connessioni sulla presa EAR per caricare programmi da cassetta. Ho fatto anche qualche misura all'oscilloscopio.

Ho costruito un cavo permanente con due jack stereo, mostrato in figura 7, ma ho poi trovato siti web come [1] che suggeriscono soluzioni differenti che non dettaglierò qui. Quello che ho notato è comunque che il piccolo altoparlante nello Spectrum deve far sentire il segnale durante il caricamento. Lo Spectrum richiede segnali di ampiezza abbastanza elevata, ma il mio computer portatile sembra adatto allo scopo, perlomeno la più parte delle volte.

Schema del cavo che ho costruito

Fig. 7: Schema del cavo che ho costruito con due connettori jack 3,5 mm maschio (disegnato con FidoCadJ).

Modifica per video composito

Ho quindi potuto trovare un modo per caricare più o meno convenientemente dei programmi sullo Spectrum, ma la qualità dell'immagine visibile in figura 8 non era affatto entusiasmante: sempre in bianco e nero e piena di rumore. Per un momento, mi sono chiesto se non fosse un problema di standard TV analogico. Ho in mio possesso uno Spectrum presumibilmente venduto in Francia (dove si usava il sistema SECAM) e la mia TV era PAL. Ho poi scoperto che tutti gli Spectrum venduti in Europa erano costruiti unicamente per lo standard PAL e chi li acquistava in Francia doveva usare o un televisore multistandard, oppure uno scatolotto che agganciato al computer forniva i segnali RGB da usare con una presa SCART. Non senza un po' di circuiteria analogica, perché sul connettore posteriore dello Spectrum i segnali RGB non sono disponibili direttamente.

Il caricamento da cassetta funziona, ma hey, è in bianco e nero!

Fig. 8: Il caricamento da cassetta funziona, ma è in bianco e nero!

Dopo qualche ricerca e dopo aver studiato un po' il segnale video all'ingresso del modulatore, ho concluso che il problema veniva dal modulatore RF, leggermente fuori sintonia. Ho potuto risolvere questo problema aggiustando con un piccolo cacciavite plastico il nucleo in ferrite che si può avvitare attraverso un foro nel contenitore metallico del modulatore, come visibile in figura 4. Ho potuto ottenere un'immagine a colori, ma sempre molto rumorosa e poco piacevole, perlomeno se comparata con quello che riesco ad ottenere dal mio C128 con uscita composita. Ho quindi deciso di modificare il mio Spectrum per ottenere un segnale video composito, escludendo completamente il modulatore RF. La modifica è molto semplice (viene descritta per esempio in [2]): il risultato è visibile in figura 9 e la configurazione originale può essere facilmente ripristinata. Sono appassionato di auto storiche ed ho appreso l'importanza dell'originalità: non volevo fare nulla che fosse impossibile da ripristinare. Il risultato, visibile questa volta in un monitor professionale (a tubo catodico) è visibile in figura 10 ed è spettacolare.

La modifica per ottenere un segnale video composito, escludendo il modulatore RF.

Fig. 9: La modifica per ottenere un segnale video composito, escludendo il modulatore RF. Il filo giallo potrebbe essere più corto!

Una magnifica immagine a colori

Fig. 10: Una magnifica immagine a colori, mostrata in un monitor Sony PVM, dopo la modifica per ottenere un'uscita video composita.

divMMC Future, un lettore di carte SD

Dopo qualche settimana, mi sono reso conto che utilizzare un lettore a cassette nel 2018 non è più molto conveniente. Si trovano alcuni giochi in formato WAV che possono essere caricati da un laptop, ma lo Spectrum richiede un segnale piuttosto intenso ed il computer che utilizzavo non brillava sotto questo punto di vista. Il risultato era che il caricamento non andava spesso a buon fine terminando con un "load error" e dovevo rilanciarlo diverse volte per sperare di aver successo. La seconda difficoltà che ho trovato è stata che ho trovato molto difficile giocare utilizzando la tastiera, non tanto per la tastiera in sé, ma piuttosto a causa di una disposizione peculiare dei tasti alla quale non sono per nulla abituato (i tasti 5,6,7 e 8 danno sinistra, su, giù e destra rispettivamente).

Una soluzione molto conveniente ad entrambi i problemi è la divMMC Future (versione 1.3), un lettore per carte SD che ho comperato sul ben noto negozio online "Future was 8 bit". L'interfaccia provvede inoltre ad aggiungere una porta adatta a collegare un joystick in stile Atari. Dopo qualche giorno, ho ricevuto un bel pacchettino con dentro l'espansione ben imballata in una bustina antistatica, come si vede in figura 11. La figura 12 mostra il risultato estetico molto riuscito con la versione classica dello Spectrum con i tasti di gomma. Il connettore può essere inserito solo in un modo sullo Spectrum e non c'è niente che possa andare storto, perlomeno se ci si ricorda di spegnere il computer prima di collegare la divMMC al computer. L'interfaccia viene venduta in un bel case in plastica nera di qualità professionale e contiene due bottoni: quello superiore presenta al suo interno un led bicolore e può venir premuto per attivare il browser, quello inferiore è un bottone di reset. Il led è rosso quando lo Spectrum funziona nella modalità normale e diventa verde quando la divMMC prende il controllo della macchina.

La divMMC così com'è uscita dal pacco postale, nella busta plastica antistatica

Fig. 11: La divMMC così com'è uscita dal pacco postale, nella busta plastica antistatica

La divMMC installata sullo Spectrum 48K

Fig. 12: La divMMC installata sullo Spectrum 48K

Quando si accende il computer, la divMMC Future lancia un auto-test e cerca alcuni file di sistema (ESXDOS.SYS, NMI.SYS, BETADISK.SYS) che debbono essere presenti in una directory chiamata SYS presente nella scheda SD. Quello che succede è che la divMMC fa girare una specie di sistema operativo chiamato esxDOS (che vuole dire "Enhanced Speccy eXperience" DOS), un firmware molto efficace che è stato sviluppato per questi sistemi [4], [5]. Un racconto interessante dello sviluppo dell'hardware della divMMC Future è disponibile qui: [6].

Per noi, quel che conta è che si può esplorare molto facilmente la scheda SD, accedendo al menu tramite il bottone superiore sull'interfaccia (quello con il LED). Lo si può fare a qualunque momento a computer acceso e la figura 13 mostra il menu che si ottiene, molto semplice da usare.

La schermata di aiuto del sistema di navigazione

Fig. 13: La schermata di aiuto del sistema di navigazione

La scheda SD dev'essere formattata FAT-16 o FAT-32. Si può navigare all'interno del contenuto della scheda e qualunque file con estensione TAP, SCR, SNA, Z80, TRD, BASIC può essere caricato in memoria premendo il tasto Enter. Il caricamento è praticamente istantaneo. E' tutto, ed è davvero molto semplice. E' molto efficace e molto appropriato al ventunesimo secolo :-)

Ho comperato una schedina precaricata, di 8 GB che contiene un po' di software (fra cui alcuni demo simpatici per il C64). Archivi più completi con praticamente qualunque gioco scritto per lo Spectrum non sono difficili da trovare, ma personalmente preferisco scegliere qualche software di qualità, perché non è molto comodo scorrere directory con più di 500 file per trovare quello che si sta cercando.

Come se il bel sistema di esplorazione non fosse già abbastanza, il esxDOS modifica il funzionamento di alcuni comandi BASIC per permettere di utilizzare la scheda SD (un riassunto è mostrato in tabella 1). La figura 14 mostra il risultato di un comando CAT (che è un'abbreviazione di CATalogue), che visualizza il contenuto della directory corrente. C'è una seconda classe di comandi che sono legati al sistema operativo. Si tratta di file disposti nella directory /BIN che possono essere lanciati con la sintassi seguente: ".command", seguiti eventualmente da parametri. Sono comandi abbastanza in stile Unix che comprendono cose tipo .ls, .cd, .cp, .mkdir, .more, .chmod e molti altri. In qualche caso, si riesce ad ottenere un aiuto utilizzando "-h" come argomento di un comando. C'è anche un insieme di API che vogliono essere compatibili POSIX se volete scrivere i vostri comandi.

Il risultato di un comando CAT

Fig. 14: Il risultato di un comando CAT.

CommandDescrizione
GOTO [drive] ["path"]Entra in una directory.
CAT [drive]Mostra il contenuto della directory corrente.
LOAD drive "path/filename"Carica un file.
SAVE drive "path/filename"Salva su un file.
ERASE [drive] "path/filename"Cancella un file

Tab. 1: Un riassunto dei comandi BASIC migliorati.

Volevo provarlo dal 1987!

Fig. 15: Volevo provarlo dal 1987!

Lo ZX Spectrum non possiede una porta joystick e questo è un bel problema. Nei giochi, si può usare ovviamente la tastiera, ma personalmente trovo le combinazioni di tasti scelte da molti programmi estremamente controintuitive ed inadatte alle mie mani. La tastiera in gomma richiede inoltre una buona dose di abitudine. La scheda divMMC Future offre provvidenzialmente un'interfaccia che permette di collegare un joystick compatibile con lo standard ATARI. Quest'ultimo viene visto dallo Spectrum come un joystick "Kempston", che all'epoca era un'interfaccia abbastanza diffusa e supportata da molti giochi.

Non rimane molto da dire, se non che è ora di rilassarci con qualche giochino. Le figure 15, 16 e 17 mostrano qualche esempio. La divMMC Future è un'espansione utilissima e migliora di molto l'esperienza d'uso di questo bel computer. Non sono il primo a dirlo, ma val decisamente la pena di acquistarne una, anche se viene venduta praticamente al prezzo che ho pagato per aggiudicarmi tutto il computer.

Una bella schermata grafica sullo ZX Spectrum.

Fig. 16: Una bella schermata grafica sullo ZX Spectrum.

BAT MAN

Fig. 17: BAT MAN.

Sostituzione della membrana della tastiera

Purtroppo, la mia curiosità mi ha portato ad aprire un po' troppo spesso questo piccolo computer. I connettori della membrana della tastiera sono estremamente fragile e dopo un po' di manipolazioni non funzionano più. Ho potuto ricostruire le tracce esposte sui connettori della membrana con dell'inchiostro conduttivo, ma dopo qualche mese ho deciso di comprarne una nuova. Fortunatamente, si possono trovare membrane per tastiera di ZX Spectrum nuove ad un prezzo moderato cercando su un noto sito di aste on line.

La figura 18 mostra la nuova membrana, così come l'ho ricevuta. Sono stato contento di constatare che perlomeno l'aspetto era quello di una membrana di buona qualità. Smontare il computer richiede una certa attenzione per staccare la piastrina metallica dalla parte superiore del guscio dello Spectrum. Non è un'operazione particolarmente difficile, ma c'è bisogno di mano sicura e molto delicata allo stesso tempo per evitare creare antiestetiche pieghe sul metallo, abbastanza sottile e delicato. La figura 19 mostra il computer con la tastiera smontata, ma con la membrana precedente ancora al suo posto. E' una buona idea a questo punto di dare una bella lavata con un po' di acqua tiepida e del sapone delicato la parte in gomma con i tasti. Come si può vedere dalla figura 20, la mia era moderatamente sporca, ma aveva comunque bisogno di un buon bagno, visto il colore dell'acqua dopo il lavaggio!

La nuova membrana che ho acquistata, fabbricata nel 2019.

Fig. 18: La nuova membrana che ho acquistata, fabbricata nel 2019.

Lo smontaggio dello ZX Spectrum. E' un sistema talmente semplice!

Fig. 19: Lo smontaggio dello ZX Spectrum. E' un sistema talmente semplice!

 Una buona pulizia dei tasti è di rigore.

Fig. 20: Una buona pulizia dei tasti è di rigore.

Una volta che la parte in gomma della tastiera è perfettamente asciutta sui due lati, si può rimettere insieme il tutto. E' abbastanza semplice: la membrana può essere inserita solo nella posizione corretta e la connessione può essere fatta con i connettori sul circuito in un solo senso. Non ho dovuto sostituire l'adesivo che si occupa di mantenere in posizione la piastrina metallica contro la struttura del guscio in plastica, ma probabilmente sono stato fortunato. Ho acceso il piccolo computer ed ho potuto digitare qualcosa senza alcun problema. Il tutto funziona di nuovo!

Conclusione

Mi piace davvero tanto questo piccolo computer. La prima volta che l'ho preso in mano, sono rimasto impressionato da quanto fosse piccolo, eppure desse una buona impressione. Mi piace anche molto la terribile tastiera in gomma (da masticare, direbbe qualcuno) e le strane combinazioni di tasti indispensabili per introdurre comandi BASIC. Adoro anche lo strano dialetto BASIC. Penso di sapere perché mi piacciono tutte queste cose. Quello che succede è che lo Spectrum è differente praticamente da tutto il resto (a parte lo ZX81, ovviamente). Il BASIC non è l'onnipresente interprete Microsoft. La tastiera è differente, le sensazioni sono differenti, la livrea in nero è così elegante con le strisce colorate a fianco sulla piastrina metallica della tastiera. Per riassumere: penso che fosse un ottimo computer nel 1982, mi piace molto utilizzarlo oggi e non rimpiango la ragionevole quantità di denaro che ho speso per acquistarlo. Raccomando anche calorosamente l'acquisto del lettore di carte SD divMMC Figure per poter beneficiare fra l'altro di un'indispensabile interfaccia joystick.

Linkografia

[1] - Audio cable: https://retrocomputing.stackexchange.com/questions/773/loading-zx-spectrum-tape-audio-in-a-post-cassette-world

[2] - Composite mod: http://www.retrogamescollector.com/simple-zx-spectrum-composite-mod/

[3] - Future was 8 bit shop, divMMC Future: https://www.thefuturewas8bit.com/shop/sinclair/divmmcfuture.html

[4] - esxDOS website: http://www.esxdos.org/index.html

[5] - History of esxDOS: https://spectrumforeveryone.com/2017/04/history-esxdos-divmmc-divmmc-enjoy/

[6] - Designing the divMMC Future: http://blog.tynemouthsoftware.co.uk/2018/01/designing-divmmc-future.html

Log

February 7, 2020: Added paragraph about the keyboard membrane replacement

June 7, 2018: Page translated in italian language.

May 22, 2018: Translated divMMC Future review in french language.

April 8, 2018: Added divMMC Future review.

February 12, 2018: Added french translation.

February 11, 2018: Added figure 9, about composite mod.

February 10, 2018: first version of the page, in english.

License

Creative Commons License
This work is licensed under a CC BY, NC 4.0 licence.