Un clone dell’Opus Discovery per ZX Spectrum – parte 1

I computer Sinclair, per molti (ragazzi e non), nei primi anni ’80, hanno rappresentato il primo contatto con l’emergente settore degli home computer e le discipline informatiche. Tralasciando le calcolatrici programmabili, e i primi computer ZX80 e ZX81, il genio del baronetto Clive Sinclair tirò fuori, a seguire, il suo maggior successo: lo ZX Spectrum.
Venduto in milioni di esemplari aveva tanti pregi ed altrettanti difetti 🙂 .

Un’Opus Discovery 1 collegato ad uno ZX Spectrum 48K. – fonte Wikipedia

Tra i sui pregi, sicuramente, il prezzo allettante, la completezza del Basic, la sua larghissima diffusione. Uno dei maggiori difetti, senza dubbio, la mancanza di una periferica di memorizzazione di massa differente dal semplice nastro magnetico.
A dire il vero, Sir Clive aveva previsto fin dalla presentazione che lo Spectrum avesse degli innovativi Microdrive (minuscoli “dischetti” che in realtà si rivelarono nient’altro che nastrini magnetici senza fine) dalla capacità di 100K (ridicoli con i metri di paragone di oggi, ma più che sufficienti a quei tempi). Ma la tecnologia sebbene raffinata non si dimostrò altrettanto affidabile (anche se a distanza di anni riesco ancora a rileggere diversi cartdrige).

Ben presto, si affacciarono sul mercato, diversi produttori indipendenti, ognuno con la propria soluzione a dischetti, ovviamente incompatibile con quella di altri e con caratteristiche e funzionalità differenti.

Una periferica che ottenne una buon successo di vendite fu la DISCOVERY 1 prodotta dalla Opus Supplies Ltd inglese. La Opus produsse periferiche di massa per quasi tutti gli home computer britannici (Acorn BBC, Dragon, Oric) ed in alcuni casi (come questo) realizzò anche schede di interfaccia per comandare i drive stessi.

Oltre alle funzionalità di memoria di massa per 1 o 2 drive floppy nel formato da 3,5″ (sistema Discovery 1 e 2, con il primo modello “upgradabile” per mezzo di un apposito kit al secondo), l’Opus forniva una comoda interfaccia joystick in modalità Kempston (uno dei 3 principali standard utilizzati), una porta per stampante di tipo Centronics ed una uscita video monocromatica, inoltre un alimentatore per l’interfaccia stessa e il computer in un case metallico che poteva fungere anche da base per monitor.
Il Discovery rappresentava sicuramente il completamento mancante per rendere lo Spectrum una macchina, se non proprio da ufficio, utilizzabile agevolmente per il cosiddetto segmento “soho” (small office home office).
L’Opus Discovery 1 (quindi la versione ad un disco) veniva venduta nel 1985, anno di uscita, a 199,95 sterline (equivalenti a 517.790 lire, circa 360,00 euro di oggi), un costo, quindi, paragonabile a quello dello Spectrum stesso (parliamo ovviamente della versione con 48K di RAM). Ben presto il prezzo divenne più abbordabile fino ad attestarsi a circa la metà del costo originario.

Un po’ di storia
Acquistai il mio Opus Discovery come usato, circa nel 1989. La produzione Sinclair allora, ormai era in mano ad Amstrad (eravamo in piena era 16 bit con Amiga e Atari ST) e lo Spectrum era un un prodotto venduto in Italia in abbinamento ad enciclopedie (Spectrum +2B) o nei negozi piu’ vari (ad esempio lo Spectrum +3 si trovava nelle catene Singer(si’ quella delle macchine da cucire :-O )).
A quei tempi, non potevo permettermi un PC compatibile come quelli che usavo in Università, così con lo Spectrum e l’Opus Discovery cercavo di ricreare un ambiente simile in cui sperimentare qualcosa che apprendevo durante le lezioni (tipicamente programmi in Pascal o C).
Il Discovery contava diversi gruppi di seguaci e fan club in Europa. Tra i più attivi c’era l’ SDC (Spectrum Discovery Club) olandese, che pubblicava una interessante rivista su disco. C’erano quindi questo SDC Newsletter e Outlet Magazine (altra rivista su disco) con novità, informazioni ed hack sul sistema e  adattamenti di programmi commerciali per l’uso con il Discovery.

Una foto della scheda del mio Opus, si nota la parte alimentazione “rimaneggiata”

Il mio Discovery era già usato, e presentava acciacchi e qualche problema di instabilità, sia per il connettore (gioia e dolore di tutte le periferiche Spectrum), sia per la parte di alimentazione (mal calcolata dalla stessa Opus e affidata a due regolatori della serie LM con un ponte raddrizzatore sottodimensionato). Così cominciai ad espandere e modificare (anche pesantemente) la mia unità. Arrivai alla fine a levarla totalmente dalla box metallica e sostituire completamente la parte di alimentazione con una unità switching recuperata da un pc rottamato. Non ci sono (per fortuna) foto del “frankstein” dell’epoca 🙂
Con il tempo e con i vari traslochi è sopravvissuta solo la scheda principale e il disk drive. Così era da un po’ che pensavo di rimettere in piedi il Discovery, anche per rileggere alcuni dischetti di programmi che avevo realizzato (tra cui un emulatore di comandi MS-DOS).
Complice la pandemia e il conseguente lockdown ho ripreso la scheda dell’Opus e provato a riattivarla (dopo una bella pulita e un controllo dei vari zoccoletti degli integrati) collegandola ad un alimentatore ATX che mi fornisse i +5V e i +12V necessari per il funzionamento della logica e dei motori dei drive. Ho provveduto anche a ripassare tutte le saldature dell’edge connector e dei vari chip, perchè col tempo e le vibrazioni qualche saldatura può creare microfratture, quasi invisibili ad occhio nudo, che compromettono il collegamento elettrico.

Ad ogni modo, nonostante tutte le accortezze, il mio vecchio Opus non è ripartito, mantenendo lo Spectrum bloccato con una bella schermata a quadretti lampeggianti. Dopo aver controllato le varie tensioni in diverse parti del circuito, e riscontrando la loro correttezza, ho cominciato a dubitare della qualità dei contatti dell’dge connector e in particolare delle piste che lo collegano al pcb, le quali, essendo molto sottili, sottoposte a stress meccanici, tendono ad interrompersi. Purtroppo, nonostante ne avessi ricostruite diverse, lo Spectrum continuava a rimanere “freezato” mentre da scollegato funzionava regolarmente. Questo è proprio il tipico comportamento di qualche segnale “sporco” o peggio corrotto, a causa magari di un componente difettoso o di un falso contatto.

A questo punto sono giunto alla necessità di dotarmi di un Opus funzionante! Ci sono due strade:
1) Cercare un usato sui diversi siti di aste online… (a lato uno degli esempi più economici.. in sterline!)
2) Costruire una replica! (la via che ho seguito)
E cosi’ ho cominciato a documentarmi per realizzare…

Il Clone
Verso la fine del 2019, nel gruppo facebook dedicato proprio all’Opus Discovery (fondato dal caro amico Andrea Vavassori), vedo apparire un annuncio da parte dell’utente Piotr Bugaj (un nome che nel settore nuove periferiche per i retrocomputer, non è affatto sconosciuto) che metteva in vendita un paio di pcb e la CPU MC6821, usata nel Discovery. Comincio a cercare in rete e scopro che nel forum speccy.pl esiste un thread proprio dedicato alla realizzazione di un clone di questa interfaccia.
Molto incuriosito, comincio a seguire questo forum (con il valido aiuto di Google Translate) per raccogliere informazioni.

Un rendering di una delle prime versioni del clone (fonte: forum speccy.pl)

L’utente Maryjan con la collaborazione degli altri iscritti, ha iniziato il reverse enginnering del circuito originale, per poterlo replicare e migliorare. Quando “arrivo” io il lavoro è già a buon punto, nei mesi precedenti, partendo dai soli schemi elettrici del Discovery, (che non esistono “ufficiali”, della Opus, ma solo come frutto del lavoro svolto negli anni 90 da parte di alcuni utenti), è stato ricreata una prima versione del pcb molto simile all’originale con la sola parte dell’alimentazione (che era molto critica e sottodimensionata nel progetto originale) rivista con l’utilizzo di componentistica moderna.
Maryjan con l’ausilio di foto del Discovery originale,scattate da chi ce l’ha e con i file delle immagini disco (.OPD) e delle ROM reperite in rete (tra cui queste, messe a disposizione dal nostro amico Davide Barlotti) ha ricreato la Rom (ovviamente su un’EPROM) e i floppy da 3,5″ con alcuni programmi,per poter mettere a punto un prototipo. Successivamente il prototipo viene affinato con piccoli miglioramenti e “validato” per la “”produzione” finale.

I componenti
A questo punto, mi attivo per cominciare a reperire la lista dei componenti necessari per realizzare anche io il mio clone. Parto dall’idea che gli integrati piú difficili da reperire, per fortuna, essendo zoccolati sul mio Discovery originale possono essere prelevati da lì. Successivamente, non avendo eccessiva fretta e cercando un pò sulla rete (in particolare su eBay e Amazon) riesco comunque a reperire tutto il materiale, evitando quindi di “cannibalizzare” la scheda originale.
Le logiche TTL (sono tutte della serie 74LS) e i componenti di contorno (qualche transistor, resistenze, diodi, condensatori e i vari connettori) sono facilmente reperibili, in poco tempo, da fornitori italiani. Qualcuno viene venduto in confezioni composte da più esemplare (anche in virtù del suo basso costo) che avanzeranno, ma essendo molto comuni sarà riutilizzabile anche in qualche altro progetto.
Nel Discovery originale e nel clone, gli integrati principali sono (facendo click sul nome potete visualizzare i relativi datasheet):

  • MC6821 un PIA (PERIPHERAL INTERFACE ADAPTER) che si occupa di interfacciare la logica dello Spectrum (HOST) a quella del controller dei dischi
  • WD1770 /72 floppy disk formatter controller (questo è uno dei componenti più difficoltosi da reperire e per questo anche abbastanza costoso, il 1770 è usato anche su altri home computer dell’epoca, il mio viene dal controller di un Atari ST).
  • 62256 memoria statica CMOS da 32kbit x 8 (il Discovery originale richiedeva una 6116 per mantenere le informazioni circa la geometria del drive ed accelerare le operazioni di I/O. E’ stata preferita questa versione “piú ampia” della memoria per futuri sviluppi ed anche per il fatto che, al giorno d’oggi è piú facile da reperire.
  • Eprom 27C256 (Cmos da 256Kbit  (32K x 8)) al posto della originale 27C64 in modo da poter immagazzinare ben 4 versioni della ROM contenete il S.O. del Discovery (selezionabile attraverso un paio di ponticelli).

Nella sezione di alimentazione (che è stata completamente riprogettata) al posto dei due integrati stabilizzatori (LM317 e LM7812) si utilizza un LM2596-5 che è un power converter in tecnologia switching e viene utilizzato per stabilizzare (configurazione step down converter) la tensione del semplice “power supply” Sinclair (tipicamente 9-10v) a 5v per le alimentazioni della sezione logica.
Il connettore MOLEX utilizzato per fornire alimentazione alla meccanica del drive da 3,5″, riporta correttamente la tensione dei 5v (filo rosso), ma poi al posto dei canonici 12v (filo giallo), lascia la stessa tensione dell’alimentatore Sinclair. Niente paura, le meccaniche da 3,5″ per fortuna non usano i 12v e quindi tutto funziona regolarmente, ma può non essere vero per le meccaniche dei floppy da 5,25″ che è quindi meglio non usare.
Tutta la sezione di alimentazione, anche dopo un uso intensivo non scalda più di tanto e sia il Discovery che lo Spectrum collegati sono molto stabili, segno di una progettazione molto accorta e funzionale.
Personalmente gli unici componenti che ho ordinato da fornitori cinesi, sono stati: LM2595-5, il MC6821 (per una questione di costi), l’induttanza da 68uH e il quarzo da 16MHz. Il WD1772 è stato acquistato da un venditore inglese che ne aveva diversi “recuperati” da alcuni Atari ST.
La lista completa dei componenti è disponibile in questa simpatica pagina interattiva che ne mostra anche la dislocazione sul circuito stampato. Se preferite, qui c’è un file .PDF con la BOM (Bill Of Material) completa.

Alcuni dei PCB realizzati (fonte: forum speccy.pl)

Il circuito stampato
Il pcb per la realizzazione del clone è stato ridisegnato dall’utente Maryjan ed ha le dimensioni di 200 x 100 mm, è quindi più compatto di quello originale del Discovery (che ha dimensioni di 215 x 132 mm).
Maryjan avvisa che sicuramente non potrà sostituire perfettamente il circuito originale nel contenitore in metallo del Discovery, infatti non tutti i fori corrispondono. È anche vero che essendo un clone e non una replica fedele sarà divertente sbizzarrirsi a ingegnerizzare anche un nuovo case per i drive e il controller.
Ho contattato Maryjan per chiedere come fare per procurarsi il circuito stampato. Mi ha risposto che ha disponibile ancora qualche esemplare del pcb, anche in unione ad una ROM già programmata, e che possono essere richiesti, riferendo il mio sito, alla sua mail:
(nota: quella a lato è un immagine dell’indirizzo per evitare spam, trascrivetelo manualmente nel vostro client di posta).

Fine della prima parte
Nella prossima puntata, affronteremo il montaggio e l’ultimazione del circuito, con alcuni consigli su come superare piccoli problemi che potrebbero presentarsi. Inoltre vedremo come scegliere il drive migliore per il controller e come realizzare i cavi di collegamento. A presto!

La seconda parte di questo articolo è disponibile qui

Questa voce è stata pubblicata in Hardware, Hardware DIY. Contrassegna il permalink.

7 risposte a Un clone dell’Opus Discovery per ZX Spectrum – parte 1

  1. Massimo scrive:

    Grandioso ….

  2. Mauro Visaggi scrive:

    Complimenti. Aspetto con ansia la prossima parte! Grazie

  3. Paolo Mattesini scrive:

    Anche io ho una versione non funzionante, si possono reperire i nuovi c.s. grazie

    • admin scrive:

      Ciao Paolo,
      Come dicevo all’interno dell’articolo, io non ho i file necessari per ordinare un pcb, ma verso la fine trovi il riferimento (Maryjan) per poterlo richiedere. L’ho contattato ultimamente e mi ha assicurato che ha ancora qualche c.s. e ROM già programmata, da vendere
      Considera però, come detto più volte nell’articolo, che il nuovo pcb ha misure differenti rispetto al vecchio, sarà necessaria qualche modifica per adattarlo al case originale dell’Opus.

  4. Klaus Frank scrive:

    Hello,
    My name is Klaus Frank. I am living in Denmark. I am a Opus Discovery user.
    When I saw your work, I got really exited. That’s the one. Now I must ask you. Can I buy one PCB?

    • admin scrive:

      Caro Frank,
      purtroppo non sono l’autore del PCB e non mi pare che siano disponibili i file gerber per poterli realizzare autonomamente. Però, come indicato nella prima parte dell’articolo, puoi chiedere a Marian se ne ha disponibili ancora o pensa di metterli in produzione nuovamente. Manda una mail a marian_marzec@interia.pl e puoi anche citare questo articolo. Penso che Marian, possa aiutarti.
      Se ti cimentereai nella costruzione del clone, puoi chiedermi in caso di difficoltà, cercherò di aiutarti al meglio. Fammi sapere se risolvi.

      Dear Frank,
      unfortunately I’m not the author of the PCB and it doesn’t seem to me that the gerber files are available to be able to create them independently. However, as indicated in the first part of the article, you can ask Marian if he still has any available or is thinking of putting them into production again. Send an email to marian_marzec@interia.pl and you can also quote this article. I think Marian can help you.
      If you try your hand at building the clone, you can ask me in case of difficulty, I will try to help you as best as possible. Let me know if you solve.

      • Klaus Frank scrive:

        FirstI want to thank you very much for your quick response.
        I have send an email to marian marzec. So now I am anxious to hear from him.
        Again, thank you.
        Sincerely yours
        Klaus Frank

Lascia un commento

Il tuo indirizzo email non sarà pubblicato. I campi obbligatori sono contrassegnati *