Un’avventura ti fa imparare (SFD 1001 quasi da zero)
Quello che proverò a raccontarvi non è la storia di una semplice riparazione, piuttosto sarà il resoconto di una vera e propria avventura. (Ancora una volta l’amico Matteo mi ha aiutato nell’edit generale di questo contributo).
Cosa c’entra l’avventura con i computer e con le tipiche attività da Nerd? In effetti c’entra relativamente poco, ma spero di aver acceso la vostra curiosità e di trattenervi nel leggere questa storia.
Enrico, un caro amico Nerdone, con il quale abbiamo accomodato e moddato diversi computer Commodore, un bel giorno mi telefona e mi chiede un parere circa un acquisto: si trattava di un Disk Drive SFD 1001, un’unità di memoria di massa IEEE488, che nel già nel 1982 era in grado di formattare un floppy standard in modo da poter salvare un MegaByte!!! di dati, si tratta di una unità relativamente rara, che rappresenta la versione single drive del più noto Commodore dual disk drive 8250LP.
Erano chiaramente unità ad uso professionale, ma già al tempo erano disponibili diverse interfacce per collegare questo drive anche al C64. Enrico mi dice che il drive gli interessa, troviamo disponibili su eBay scheda madre e case senza meccanica che avevano bisogno con ogni probabilità di lavoro.
Come accennato, il drive oggetto delle sue attenzioni era privo della parte meccanica, si trattava quindi di un case SFD1001 con alimentatore a 110V e di una scheda madre “moddata” con la modifica tipicamente nota come “8250MINI”, destinata ad un computer serie PET con disk drive duale integrato. Gli comunico la mia opinione sul fatto che si tratti di un’unità interessante, e che passo dopo passo, saremmo riusciti a trovare la componentistica per completarlo. Ottimisticamente gli rispondo in modo istintivo: “sarà una bella avventura”. Gli confermo che, secondo me, l’acquisto è da fare, garantendo la mia disponibilità ad aiutarlo, anche solo per la curiosità tecnica di mettere le mani dentro ad hardware così scarsamente diffuso.
Comincia quindi la ricerca dei pezzi mancanti, trovando in rete la disponibilità di un primo pezzo, ovvero un modulo “aftermarket” che sostituiva una scheda figlia utile a rimpiazzare un raro 6530 con un più comune 6532, necessario al funzionamento generale. Successivamente, finalmente in possesso della scheda madre, verificavamo che era stata massicciamente “cannibalizzata”: mancavano diversi diodi specifici, l’integrato di amplificazione di testina di R/W, una resistenza, inoltre un trimmer era praticamente “esploso”. Riassumendo, la scheda madre era messa veramente male, la cosa più semplice da sistemare erano i connettori di alimentazione e la conversione dell’alimentatore interno per funzionare a 220V.
Vista la strada in salita, serviva pianificare questa vera e propria avventura in passaggi successivi per non rimanerci in mezzo! La nostra strategia ricostruttiva era stata quella di fare ripartire il drive, usando una mia meccanica come metro di conferma del funzionamento completo della main. Mese dopo mese, dopo esserci scontrati con i problemi più disparati, ci siamo arrivati: avevamo la conferma che, con l’unità meccanica originale, il drive formattava e leggeva correttamente! Era giunto dunque il momento di cercare la meccanica da inserire nel drive, ma, come reperire una meccanica così rara senza svenarsi, o almeno spendendo il giusto? Con un po’ di superficialità e forte della memoria di aver visto meccaniche di disk drive per PC molto rassomiglianti a quella dell’SFD, ho proposto al mio amico Enrico di “moddare” una meccanica standard per PC.
Ripieghiamo ancora sulla vasta offerta di ebay e troviamo la prima unità che ci sembrava rassomigliante e, che, secondo noi, doveva essere compatibile: si trattava di una Shugart 455 che abbiamo “portato a casa”. Analizzata la scheda di bordo ed isolata la parte meccanica il nostro entusiasmo era veramente a palla, non ci sembrava vero di aver quasi finito, così iniziamo a predisporre la meccanica pc per farla funzionare sulla main SFD.
Studiando un po’ la situazione, sembra che quello che resta da fare sia “solo” allungare i cavi disponibili per portarli ai terminali giusti tipicamente presenti nei disk drive come ad esempio led write enable, servo motore, stepper di testina, led index, modulo di traccia 0 e il comune led frontale di attività. Il drive era predisposto per effettuare un set della velocità del servo affinché girasse alla velocità di 300RPM come effettivamente previsto per l’originale SFD, inoltre il servomotore di queste unità ha spesso i condensatori in perdita, così provvediamo a sostituirli. Enrico tramite un altro suo contatto, passa le quote di parti in plastica ormai “cotte” (quel processo di cristallizzazione che porta le plastiche originali a spezzarsi facilmente) per la loro replica in stampa 3D, un alberino che agisce con una camma tenendo il floppy verso il basso, che è direttamente posto sulla leva di chiusura del drive e che con gli anni si usura in modo irreversibile.
Colleghiamo finalmente la meccanica alla main e tramite il C64 impartiamo i comandi che ci sembrano più razionali per vedere il comportamento, ripieghiamo su un format, con il solito comando OPEN al canale 15 dei drive CBM, “n0:new,11”, e il drive comincia a formattare, la gioia è immensa: il drive risponde e la testina percorre con i suoi tempi tutta la superficie del floppy, rimanendo però ferma… Il drive non conclude la formattazione… ad ogni modo proviamo a leggere la directory del floppy, e con nostra sorpresa almeno abbiamo una directory, purtroppo non coerente con lo standard che è molto “pasticciata”. Ci sembra nel complesso un risultato pazzesco! Facciamo altre prove e cerchiamo di leggere dischetti formattati con questo standard, il drive legge perfettamente tutti i dischi, facciamo tutta una serie di prove e dal canto nostro l’avventura ci sembrava finita in quanto, considerando lo sfalsamento, imputiamo la colpa ad un disallineamento della testina, visti i pesanti rimaneggiamenti ed età generale dell’unità.
Chiediamo assistenza tecnica ad un amico di Enrico e dobbiamo spedirgli il drive per degli approfondimenti. Dopo qualche mese, purtroppo, ci dice che non riesce a capire il problema e il drive ritorna a casa mia.
Approfondiamo ulteriormente e ci rendiamo conto che il drive di cui abbiamo sfruttato la meccanica è un drive da 96TPI, mentre il drive nativo dell’SFD è da 100TPI, e ci rivolgiamo ancora ad eBay.
Il nuovo drive giunge a casa mia, si tratta di una unità PC “Panasonic 595H” in quanto le poche info in rete ci avevano confermato che è da 100TPI, meglio noto come “quad density” (QD). Per telefono aggiorno Enrico (infatti l’avventura è avvenuta tra Milano e Modena, a volte incontrandosi fisicamente, a volte confrontandosi a distanza). Comincio ad eseguire la modifica dei fili, rimuovendo la logica di bordo, seguo lo stesso modus operandi della modifica effettuata con la meccanica precedente, quando proprio sul più bello, mi accorgo che c’è un problema che mi fa scendere il morale dalle stelle alle stalle: il drive dispone di un motore stepper che presenta solo quattro fili contro i sei della meccanica originale (e di quella precedente)!
Il panico! Serve fare un bel respirone, mantenere la calma, e ritornare a studiare: ci documentiamo ancora e impariamo che esistono diversi tipi di motori stepper, unipolari e bipolari, Enrico, da Modena, viene a casa mia a Milano e si ragiona assieme, osservo che se il drive era pilotato dalla sua scheda con interfaccia per PC di bordo, la soluzione poteva essere trovata sopra a quella scheda! Enrico confida su di me e rientra verso Modena, io, mosso da un nuovo entusiasmo, ricavo il circuito integrato di controllo dello stepper e ne scarico il data sheet e me lo guardo. Mi rendo conto che posso realizzare un bridge che reinterpreta la sequenza degli step, tra le uscite di controllo logico dello stepper a bordo della scheda madre dell’SFD, iniettandoli corretti e adattati per motori bipolari nel chip oggetto della nostra indagine.
Mi rimetto al lavoro sul PC, con il soft Eagle, CAD per circuiti elettronici e PCB di cui ho comprato la licenza tanti anni fa, ed incomincio a disegnare lo schema necessario (per fortuna i segnali sono pochi) e graficamente tutto è più razionale e meno astratto. Studio con attenzione lo schema originale Commodore del disk drive SFD1001 e credo di riuscire ad intercettare dove inserirmi, così effettuo la realizzazione del bridge, usando uno zoccolino e dei fili volanti.
Faccio alcune prove, perché non so bene come interpretare i segnali, quello che so è che come in altri drive, la sequenza di step esce da una porta utilizzando due linee I/O di circuito tipo un MOS6522. In questo caso è lo stesso comportamento ma lo stepper ha l’esigenza di una specifica sequenza per muoversi in entrambe le direzioni siccome il motore stepper originale è di tipo unipolare a 6 fili. Controllo e trovo le linee SOA, SOB, MT /ON che si dirigono verso l’integrato 11E, che inverte i segnali… questa mi sembra essere la zona giusta.
Collego tutto ed accendo, impartisco i soliti comandi al C64, in modo da forzare il drive a muovere la testina. I segnali di base mi sembravano corretti, fintanto che mi rendo conto che è necessario portare anche un segnale di ENABLE, collego il terzo filo nell’unico punto che mi sembra razionale e ragionevole per il segnale MT/ON, e sento e vedo il motore che comincia a muoversi! Per prudenza non avevo attaccato la testina, per evitare guasti ad un componente così delicato a fronte di comportamento imprevisto del bridge. Controllo ancora, impartisco dei semplici LOAD, la testina si muove!
La meccanica di questo drive è costruita con una tecnologia simile a quella della meccanica originale, ma essendo questo drive più moderno risulta molto più veloce e silenzioso nello spostare la testina.
Spengo tutto, attacco il connettore della testina, e video registro con il cellulare, sono ottimista, riaccendo anche il C64 e premo il RETURN al comando “OPEN 1,8,15, “n0:test sfd,xx”, il drive si muove correttamente, il mio bridge funziona pilotando perfettamente il motore stepper, anche tutto il resto sembra corretto. Tutto sta procedendo bene ma bisogna aspettare la fine della formattazione per festeggiare… il drive è quasi alla fine del tempo necessario a formattare, e con mia sorpresa ed entusiasmo, il led di attività si spegne senza riportare errori!!! Urlo: “Ha formattato!! Enrico! Ha FORMATTATOOO!”
Passa qualche settimana e dopo la consegna del drive, purtroppo si presentano degli altri problemi! Recupero il drive da Modena, si ragiona assieme per quanto possibile, visti gli impegni di ciascuno e ancora una volta supponiamo problemi di varia natura alla testina, come disallineamento, o problemi di sovra-pilotaggio viste le impedenze al limite delle tolleranze previste. Riesco addirittura a trovare un disco “cosiddetto” marginato appositamente per i floppy da 100tpi, ormai rari come diamanti. Purtroppo le procedure di allineamento di un floppy a doppia faccia, vanno troppo oltre le nostre competenze, in più il service manual non riporta i test point per procedere e “cercare” il famoso “occhio del gatto” sull’oscilloscopio. Eravamo arenati, passano un bel po’ di mesi e una sera ho pensato che tanto valeva correre qualche rischio… eravamo fermi da troppo tempo e comunque con le mani legate, così ho disconnesso la testina dalla puleggia, e la ho cambiata con una recuperata da una terza unità nel frattempo scaramanticamente procurata, ovvero una Panasonic JU-455.
Ricollego tutto e infine faccio le solite prove: il drive ha formattato al primo colpo con una soddisfazione enorme! Una curiosità che porta ulteriore sorpresa e soddisfazione è stata quella di provare il perfomance test originale di questa unità e di scoprire che il drive con questo stepper è più veloce e silenzioso dell’originale. Analizzando il programma Basic del performance test, si evince che il codice analizza il tempo necessario per finire i test e, visto che il drive con questa modifica finisce un po’ prima, restituisce un errore che nulla ha a che fare con la conclusione positiva di ogni comando, infatti nessuna segnalazione è presente sul canale di errore e risulta in stato corretto anche la variabile ST, che è di sistema sul C64 per indicare condizioni di errore verso gli I/O.
Questa avventura oggi riassunta in questo “breve” articolo è durata circa tre anni, tra studio, comprensione e tempo per reperire i componenti di cui avevamo bisogno, ma ci siamo arrivati in fondo e l’avventura si è conclusa con la presentazione del drive a Brusaporto Retrocomputing 2022 con spiegazione dello schema ed esposizione “scarenata” dell’esemplare del drive.
Io ho provveduto a posizionare il bridge su una area vuota della scheda main SFD e predisposto i connettori stepper per bypassare il connettore originale, il bridge infatti è trasparente ed è ancora possibile connettere una unità originale, la main dell’ SFD dispone di posizioni DIL vuote, previste da Commodore durante la progettazione e sono l’ideale per questa modifica.
Spero di non avervi annoiato e che questa idea e l’avventura che ne è conseguita sia di ispirazione o che possa essere utile a chiunque abbia l’esigenza di sostituire una meccanica di questo tipo di drive, ma anche che possa essere di incoraggiamento per chi si trovasse di fronte ad un’impresa all’apparenza insuperabile: non datevi per vinti!
DISK DRIVE A CONFORNTO E SCHEMA ELETTRICO DELLA MODIFICA BASATA SU IC HA13421