Oggi parliamo della 1541 Diagnostic Cartridge by Jani. Questa interfaccia contiene una serie di utility per verificare il vostro floppy disk drive Commodore 1541 (allineamento della testina, velocità di rotazione, ecc…).
Analizziamo sia l’hardware che le funzionalità della 1541 Diagnostic Cartridge.
Hardware della 1541 Diagnostic Cartridge by Jani
Su PCBWay, si può acquistare il circuito stampato dell’interfaccia. I vari componenti sono facilmente reperibili. Quelli obbligatori sono solamente la EPROM e il condensatore da 100nF. I due diodi LED, le due resistenze e il pulsante di reset sono facoltativi.
La EPROM deve essere programmata. Per programmare le EPROM, si utilizzano appositi programmatori e software di programmazione. Se ne siete sprovvisti, dovrete necessariamente richiedere una EPROM già programmata. Relativamente al file binario da programmare nella EPROM, è disponibile su PCBWay, sul sito di Jani e ne metto una copia anche in fondo a questa pagina.
Ho utilizzato un condensatore da 100nF SMD, al posto che tradizionale, per rendere la scheda più compatta. Anche se sono facoltativi, ho comunque deciso di montare i due diodi LED, verde e rosso, nonché le due resistenze di limitazione della corrente. Per i dettagli del montaggio, per trovare la polarità dei diodi LED SMD e per vedere come montarli sotto sopra, consiglio di guardare il video presente in alto a questa pagina.
1541 Diagnostic Cartridge by Jani con la Kung Fu Flash
Chi avesse la Kung Fu Flash, può comunque utilizzare le utility di Jani senza acquistare l’interfaccia. E’ sufficiente copiare l’apposito il file CRT nella MicroSD ed avviarlo. Il file è disponibile in fondo a questa pagina.
Il menu principale
Dopo aver collegato l’interfaccia 1541 Diagnostic Cartridge by Jani alla porta di espansione del Commodore 64 (a computer spento), è possibile accendere il computer ed il drive. Accendendo il Commodore 64, immediatamente parte il menu dell’interfaccia, con le varie utility a disposizione.
Attenzione! Alcune utility cancellano e formattano i floppy disk che inserite nel drive! Non inserite dei dischi contenenti dati importanti!
A – Alignment Check per verificare l’allineamento della testina del drive
Premendo A sulla tastiera del Commodore 64, è possibile verificare l’allineamento della testina del drive Commodore 1541. La testina deve infatti posizionarsi correttamente sulle varie tracce del dischetto. Ogni dischetto formattato è infatti suddiviso in tracce e settori. La testina del drive deve posizionarsi correttamente sulla traccia per poterla leggere.
Per verificare l’allineamento, bisogna utilizzare un disco di buona qualità, formattato da un drive già allineato. Ho utilizzato un vecchio disco originale Commodore, quello in dotazione con il drive Commodore 1541.
Per avviare il controllo dell’allineamento, bisogna premere Spazio sulla tastiera del Commodore 64. Questa operazione non cancella il disco.
Non avrebbe senso verificare l’allineamento del drive con un disco formattato dallo stesso drive. Un drive non allineato, potrebbe comunque formattare, scrivere e leggere bene i dischi, ma avrebbe problemi con dischi originali o scritti da altri drive.
La prima colonna a sinistra (TR) rappresenta la traccia che il drive deve leggere. La seconda (track read), quella con il simbolo quadro giallo, indica la traccia effettivamente letta dal drive. I numeri della seconda colonna devono essere colorati di verde e devono essere identici ai numeri della prima colonna.
La terza colonna (on track %), con il simbolo picche rosso, rappresenta la leggibilità della traccia. I numeri devono essere tutti 100 (o almeno tendere a 100) ed essere verdi.
Infine, la quarta colonna (between track %), quella con il simbolo dei fiori verde, indica la presenza di dati tra due tracce consecutive del disco.
Infatti, la testina del drive è comandata da uno stepper motor, che si muove di due step per spostarsi da una traccia all’altra. Se si comanda al drive di muoversi di un solo step, la testina si posiziona nello spazio intermedio tra due tracce, dove ci si aspetta di trovare pochi dati, o anche nessuno.
L’ultima colonna è difficile che sia sempre verde, con dati tutti a 0. Ci si può accontentare di avere anche qualche dato giallo. L’importante è che non siano presenti dei numeri superiori ad 80, che si colorano di rosso.
Se trovate dei numeri rossi, non date subito la colpa al drive! Potrebbe anche essere rovinato il disco di test. Provate anche a pulire la testina del drive con un cotton fioc ed alcool. Nel video, spiego come fare.
Se riscontrate continuamente delle anomalie, anche con altri dischi a doppia densità funzionanti, evidentemente il drive necessita un allineamento. Attenzione! L’operazione di allineamento che vediamo tra poco, non è raccomandata a chi non ha esperienza tecnica!
Sul sito di Jani Tahvanainen (worldofjani.com) è scritto che, se il drive non è allineato, dovrebbe essere riallineato in maniera professionale, utilizzando un disco di allineamento analogico e un oscilloscopio. E’ anche vero che è molto difficile trovare un disco analogico al giorno d’oggi, pertanto molti riparatori allineano il drive utilizzando un normale disco a doppia densità (come dicevamo prima, prodotto da un drive allineato), ed utilizzando questo programma di allineamento.
Nel video, ho effettuato l’allineamento del mio drive utilizzando l’utility Alignment Check. E’ un’operazione rognosa, che non consiglio di effettuare a chi non ha adeguata esperienza tecnica.
Per allineare la testina, bisogna ruotare leggermente il motore passo passo, in senso orario o antiorario, fino a trovare la posizione in cui il test restituisce i risultati migliori. Bisogna allentare le due viti che fissano lo stepper motor, che oltretutto sono bloccate da una goccia di smalto. Per raggiungere il motore passo passo, è necessario aprire il drive e liberare la meccanica. In questo articolo, avevo spiegato come fare.
Dopo aver allentato le viti, si può ruotare leggermente il motore in un senso, stringere le viti e riavviare il test. Se l’allineamento peggiora, bisogna svitare nuovamente le viti e ruotare il motore passo passo nel verso opposto. E così via, fino a trovare l’allineamento corretto.
B – Show BAM, per visualizzare la distribuzione dei file nel floppy disk
Premendo il tasto B, è possibile visualizzare la BAM del disco. In pratica, si possono vedere i blocchi utilizzati dai file e quelli liberi per scrivere nuovi dati nel disco. Questa è la BAM di un disco appena formattato che, ovviamente, ha tutti i blocchi liberi, ad eccezione della traccia 18, che si trova più o meno a metà del disco, e che contiene l’elenco dei file.
Questa è la BAM di un disco quasi completamente pieno.
C – Disk Command per inviare un comando DOS al drive
Tornando al menu principale, possiamo premere C sulla tastiera per inviare dei comandi al drive. Ad esempio, possiamo inserire il comando:
– I0, che inizializza il drive;
– N0:nome,id per formattare il disco;
– S0:nome_del_file per cancellare un file.
D – Visualizzare comodamente la Directory di un dischetto
Premendo il tasto D, dal menu principale, è possibile consultare, velocemente e comodamente, l’elenco dei file presenti nel dischetto.
Per tornare al menu principale, è possibile premere sempre il tasto Restore. Però non consiglio di usarlo, soprattutto se il drive è impegnato in qualche operazione. Più volte, mi si sono bloccati il computer ed il drive ed ho dovuto riavviarli.
E – Error Scan per controllare se il dischetto è danneggiato.
Tramite il tasto E, è possibile identificare se ci sono errori di lettura nel disco. Il drive Commodore 1541 scansiona le varie tracce in sequenza. Sul monitor vengono contati eventuali settori danneggiati. Se il disco è buono, non ci devono essere settori danneggiati.
Se il disco è danneggiato (anche parzialmente), il conteggio dei settori danneggiati è superiore a 0. Anche in questo caso, il drive potrebbe leggere male dei settori perché ha la testina sporca.
F – Fast Format per formattare velocemente un dischetto
Dal menu principale della 1541 Diagnostic Cartridge by Jani, premendo F, è possibile formattare velocemente un dischetto. Attenzione! Tutti i dati contenuti nel disco vengono cancellati!
Digitare il nome del disco e l’ID. L’ID del disco serve al DOS (il programma interno che controlla il disk drive) ad identificare il dischetto. Dovrebbe essere diverso, tra disco e disco, anche se, molto spesso, io stesso non inserisco alcun valore, oppure inserisco un valore a caso!
Al termine della formattazione, che è molto rapida, il computer mostra l’elenco dei file del disco, che deve ovviamente essere vuoto.
H – Head Exerciser per spostare la testina del drive
Un altro comando utile è H (head exerciser), che serve per spostare la testina.
Tramite F1 e F3 è possibile spostare la testina di mezza traccia in avanti e indietro. Lo spostamento di mezza traccia corrisponde ad uno step del motore passo passo che muove la testina.
Premendo F2 (Shift + F1), la testina viene fatta sbattere in traccia 1, un po’ come fa prima della formattazione di un disco. Con F4 (Shift + F3), la testina si sposta in traccia 18, circa a metà del disco, mentre con F6 (Shift + F5) si sposta alla traccia 35.
Spostare la testina, ad esempio, è utile se si vogliono lubrificare le guide.
Con F5 e F7 si può accendere e spegnere il motore che fa ruotare il disco. Infine, con F8 (Shift + F7) si esce dal programma e ritorna al menu principale.
I – Send I0: riavviare il drive Commodore 1541
Premendo I, si invia al drive il comando di inizializzazione, che serve per resettare il drive Commodore 1541 e rileggere la tabella di allocazione dei file.
K – Reverse Knock per far sbattere la testina in traccia 42
Sempre dal menu principale della cartuccia diagnostica 1541, il tasto K serve per mandare la testina in traccia 42 e farla sbattere qualche volta sul fine corsa. Un po’ come fa la formattazione in traccia 1, ma dalla parte opposta della guida.
Questa operazione può essere utile per tentare un parziale riallineamento della testina, facendola sbattere dalla parte opposta a quella solita.
S – Speed Check per verificare e regolare la velocità del motore di rotazione del disco
Premendo S, si entra nell’utilità che serve per regolare la velocità di rotazione del dischetto, che deve essere il più possibile vicina a 300 giri al minuto. Qualora la velocità fosse troppo bassa o troppo alta, è possibile agire sul trimmer che regola la velocità di rotazione, che si trova sotto alla meccanica del drive.
Avevo realizzato un video su come regolare la velocità di rotazione del drive utilizzando lo Speed Test di Piergiorgio Zambrini, che è precisissimo e ha dei numeri facilmente leggibili anche a distanza.
P – Performance Test per valutare se il drive Commodore 1541 funziona bene
Dal menu principale della 1541 Diagnostic Cartridge by Jani, è presente anche il Performance Test, che è un test completo per il drive. Si accede a questo test premendo P.
Questo test è molto importante e permette di valutare la salute del drive, dopo che è stato allineato e regolato. Il test parte con una formattazione del disco, quindi distrugge tutti i dati in esso contenuti.
Terminata la formattazione, scrive un file, lo rilegge e lo cancella. Valuta la funzionalità del drive anche nelle tracce esterne: la 1 e la 35. Se il drive funziona correttamente, il test termina con successo con la scritta “PASSED!”.
Qualora il test terminasse con degli errori (con le scritte “FAILED!” e “ERROR:”), prima di dare la colpa al drive, provate a pulire la testina del drive con un cotton fioc ed alcool.
Provate il test anche con altri dischetti. Infatti, il drive Commodore 1541 potrebbe non riuscire a scrivere e leggere su dischi particolarmente usurati.
V – Validate Disk, per rimuovere eventuali file non chiusi correttamente
Il comando V serve per validare il disco. Il drive scansiona i vari file del disco e conserva solo quelli aperti e chiusi correttamente, eliminando quelli eventualmente lasciati aperti da qualche programma, che possono causare dei problemi.
Il DOS (il firmware che gira nel floppy disk drive Commodore 1541) ha una mappa che indica quali settori del disco sono utilizzati. La mappa si trova alla traccia 18, settore 0. E’ la BAM che abbiamo visto prima. Quando il comando Validate è inviato al drive, la BAM viene ricostruita a partire dall’elenco dei file presenti nella Directory.
Ma in che modo i file non chiusi correttamente possono creare problemi al dischetto?
Quando si cancella un file (mediante il comando Scratch), accadono due cose:
- il byte relativo al tipo di file, nella directory, è impostato a 0;
- il DOS segue la catena di settori che compongono il file e contrassegna ogni settore che incontra come disponibile, per nuovi dati, nella BAM.
L’ultimo settore di un file che non si è chiuso correttamente non è mai mai stato scritto sul dischetto. Di conseguenza, il penultimo settore punta a un settore che non fa realmente parte del file. Il DOS non se ne rende conto e continua a seguire la catena di settori del file, segnandoli come disponibili. Nel caso più sfortunato, il settore non scritto punterà ad un altro file! Quando ciò accade, il DOS segna come disponibili dei settori che, in realtà, fanno parte di un file esistente. La prossima operazione di scrittura sul dischetto andrà a riempire questi settori con altri dati, creando una gran confusione nel disco, con perdita di dati.
Il comando Validate si interrompe se, nel disco, ci sono dei settori danneggiati.
W – Sector View per visualizzare le tracce e i settori del disco
L’ultima utility presente della cartuccia di diagnostica del drive Commodore 1541 è Sector View. Si avvia premendo W.
Tramite questa utility è possibile vedere i dati scritti nei vari settori del disco. Si preme R e si digita il numero di traccia e settore da leggere.
Ad esempio, nella traccia 18, settore 0 c’è la BAM. Se cambiamo il set di caratteri del Commodore premendo i tasti Shift + Commodore, è tutto molto più chiaro. Si può vedere il nome del disco.
Nella traccia 18, dal settore 1 comincia la directory dei file. Possiamo vedere i nomi dei file che sono presenti nel disco.
E’ possibile visualizzare i dati di tutte le tracce ed i settori del disco, che possono contenere o meno dei dati.
Download file relativi alla 1541 Diagnostic Cartridge (v 1.0) by Jani
Ecco il file 1541DiagnosticCart.zip contenente:
- i file BIN per programmare differenti tipi di EPROM;
- il file CRT da caricare con la Kung Fu Flash.
Per realizzare il video, mi sono consultato con Stefano Spiacci, Giuseppe Ribecca, Piergiorgio Zambrini (Zibri) e Jani Tahvanainen (Jani), che ringrazio per il prezioso supporto!
Credits: nel video tutorial, la SID music è il tema di Ghosts n Goblins di Mark Cooksey.
Per essere avvisati quando pubblicherò altri tutorial, esperimenti e recensioni relativi ai retro computer ed elettronica vintage, vi invito di iscrivervi al canale YouTube e attivare la campanella delle notifiche!