11 min readXUM 1541-II di Carletto Provetto
Costruzione, configurazione ed uso dell’interfaccia XUM 1541-II
Iniziamo il nostro racconto con un primo elenco di credits e di pagine da consultare, doveroso nei confronti di chi si spende a migliorare la nostra esperienza di retrocomputeristi (se non usi la frase “migliorare la nostra esperienza” oramai sei un boomer):
1) Stefano Cappelli alias Mister Picoelements, che mi coinvolge sempre nelle sue iniziative e mi fa l’onore di sfruttarmi come beta tester.
Il circuito stampato l’ha fornito lui mentre i componenti sono i miei (in genere è lui che viene da me a fare la spesa, neanche fossi il suo negozio di elettronica preferito:-));
2) Il norvegese TEBLify, il progettista di questa versione di scheda XUM.
Potete trovare il materiale che vi servirà a costruire e capire questa interfaccia ai seguenti link (se non vi accontentate del mio racconto :-))
2a) il link al suo repository su github dove troverete tutti i suoi progetti condivisi;
2b) il link diretto alla pagina github della sua versione di XUM 1541-II (che poi è quella qui presentata);
2c) il link al circuito stampato (necessario) del progetto su PCBWay;
2d) il link diretto al circuito stampato superiore (facoltativo) su PCBWay;
3) Gli altri link ve li presenterò successivamente, durante l’esposizione dell’installazione e della configurazione dei software utilizzati nel nostro progetto;
4) Varie ed eventuali (come nelle convocazioni condominiali).
Montaggio della scheda
Alla portata di tutti.
Non ci sono componenti smd, non servono microscopi, non servono attrezzi particolari.
Vi riporto la sequenza delle immagini e vi fornisco segreti nascosti e conosciuti da pochi 🙂
Prima di tutto, una rigorosa esposizione del materiale che ci servirà (non completa, mi ero dimenticato nella foto un pò di componenti).
P.S. ho fatto la scelta di zoccolare tutto per poter procedere a test, sostituzioni, riparazioni in maniera veloce.
Ed ora via con il montaggio, ricordandosi di partire con i componenti più bassi ed andare via via con quelli più grandi in altezza.
Ora occupiamoci dell’Arduino Pro Micro.
I piedini forniti con il microcontrollore sono adatti per un montaggio diretto della scheda su circuito stampato mentre noi abbiamo fatto la scelta di utilizzare uno zoccolo (con gli zoccoli a tulipano quei pin non entrano mentre negli zoccoli normali le lamelle vengono deformate irrimediabilmente): dobbiamo quindi sostituire i pin con altri più adatti.
Si procederà con il metodo della pila incastrata per una saldatura in linea dei pin.
Continuiamo con il montaggio e prendiamo in esame l’altezza della cover superiore per il montaggio dei led e del pulsante.
A tal riguardo, avendo montato gli zoccoli, sono cambiate le altezze in gioco: vista la presenza di una stampante 3D alla mia sinistra, ho pensato di stamparmi i quattro distanziatori e la prolunga del pulsante di reset.
Un pò di multimedia aumentano l’esperienza di lettura del nostro articolo 🙂
Nel caso vi servissero i modelli per la stampa, vi lascio i modelli in formato stl per poterli stampare in autonomia:
prolunga pulsante 6×2-3.5×7
distanziatore 15x6x2.8
Installazione del FIRMWARE
Questa è la parte che mi ha messo alla prova.
Era tempo che non mettevo mano su schede Arduino e similari e sono andato a memoria, solo che mi sono persuaso che quello che ricordavo era di altre ere ed avevo dimenticato molto.
Dopo le prime delusioni ho deciso che era meglio puntare alla solita ricerca bibliografica online per stilare una procedura facile da seguire con risultati certi, procedura che vi illustro di seguito.
Primo passo è scaricare un tool grafico che vi permetta di interfacciarvi con il processore Atmel presente sul nostro Arduino Pro Micro.
Scaricate quindi il programma AVRDUDESS per il vostro sistema operativo ed installatelo sul vostro computer; una volta lanciato l’eseguibile si presenterà la seguente schermata:
Scaricate il firmware compilato xum1541-PROMICRO_7406-v08.hex dalla pagina del progetto oppure dalla pagina di opencbm, che è il software che ci permetterà di gestire il floppy Commodore più tardi.
Andate nella gestione dispositivi del vostro computer (questa guida è fatta per sistemi x86 ma il procedimento è lo stesso).
Il nostro Pro Micro si connette al nostro computer con due seriali differenti, la prima è quella del dispositivo hardware che poi verrà utilizzato nella nostra applicazione, la seconda è la seriale che si presenta quando il Pro Micro è nella condizione di bootloader, cioè è pronto per ricevere il firmware, lo sketch, il programma che dobbiamo caricare nel microcontrollore.
Di seguito le schermate delle due possibilità, la prima immagine mostra il collegamento del Pro Micro alla presa usb del vostro computer mentre la seconda mostra il cambiamento della porta seriale quando si passa in modalità bootloader, dopo aver premuto il pulsante di reset.
Si entra in modalità bootloader premendo il pulsante presente sulla nostra scheda oppure, nel caso aveste creato il vostro circuito stampato, cortocircuitando il pin 22 MCU_RESET del Pro Micro alla massa GND.
La modalità di bootloader rimane attiva per meno di 10 secondi per cui dovremmo preparare la configurazione di AVRDUDESS e cambiare al volo la porta COM che apparirà in Gestione dispositivi.
Con le frecce rosse vengono indicati i settaggi necessari per portare a termine l’operazione.
Accanto alla voce da compilare, c’è il parametro che viene utilizzato in riga di comando per ottenere lo stesso risultato.
Le voci da compilare sono:
Tipo di programmatore da utilizzare [Programmer (-c)]
Tipo di microcontrollore da programmare [MCU (-p)]
Porta di comunicazione da utilizzare nel processo di caricamento firmware [Port (-P)]
File del firmware da caricare [Flash]
Nella parte inferiore verrà visualizzato il comando che verrà inviato da shell testuale.
Una volta compilata la schermata, premete il tasto reset sul vostro XUM-1541-II, vedete che porta COM gli viene assegnata, inseritela in AVRDUDESS e cliccate sul pulsante [Program]: se tutto è andato per il verso giusto, la shell sottostante dovrà riportarvi il seguente messaggio.
Il comando in riga di testo, nel caso voleste fare il tutto da riga di comando, sarà il seguente:
[percorso_eseguibile]\avrdude.exe -c avr109 -p m32u4 -P COM9 -U flash:w:”[percorso_firmware]\xum1541-PROMICRO_7406-v08.hex”:a
Non è necessario impostare altri parametri, ad esempio il baud rate, si interfacciano in automatico microprocessore ed interfaccia programmatore scelta.
Una volta caricato il firmware osserverete che non è più presente la porta COM che Arduino Leonardo richiedeva al sistema ma verrà visto, dal sistema stesso, come nuova periferica dotata di nome proprio.
Come vedete, però, la nuova periferica non ha i driver corretti caricati.
Il problema successivo sarà far digerire al sistema i nuovi driver; più è avanzata la vostra versione di Windows maggiori problemi potreste trovare nell’installare i driver necessari a causa dei certificati richiesti.
Dopo essermi informato in rete e viste le capriole acrobatiche da fare per giungere al nostro scopo, ho deciso di seguire le istruzioni fornite dal progettista che mi sono sembrate le più ragionevoli e semplici da seguire.
Installiamo quindi il programma Zadig, un applicazione che permette di installare driver generici e, nel nostro caso, associarli alla periferica xum1541-floppy-adapter.
Zadig individua in automatico le periferiche con problemi di driver e ce le propone in automatico: il nostro compito di sfogliare l’elenco dei driver disponibili e scegliere libusb-win32.
Una volta installati i driver, la nostra periferica sarà finalmente riconosciuta.
Installazione del software per la gestione del nostro lettore floppy
Siamo giunti alla fase conclusiva del nostro racconto, quella in cui dobbiamo utilizzare un software per colloquiare con il nostro lettore floppy 1541.
Ci serviranno OpenCBM, chè è la suite di comandi che ci permettono la gestione del lettore e CBM Transfer (o CBM-Xfer) che è l’interfaccia grafica che ci permette di gestire graficamente i comandi di OpenCBM.
Partiamo con l’installazione di OpenCBM.
Si può scaricare il pacchetto software a questo indirizzo, nella pagina dello sviluppatore, salviamo ed estraiamo il contenuto del file compresso in una cartella qualsiasi (in genere c:\opencbm) e lanciamo il comando di installazione c:\opencbm\install xum1541 in una shell con permessi amministrativi (attenzione, non scompattate la cartella dentro \Programmi o \Program Files o \Programmi (x86) perchè Windows non permette l’esecuzione dei comandi che ci serviranno):
P.S. se, come nel mio caso, foste in possesso anche dello XU1541, il comando da dare sarà
install xu1541 xum1541
Per verificare che il lettore floppy venga visto dall’interfaccia, dopo averlo collegato allo XUM1541-II ed averlo acceso, date il comando:
Con OpenCBM i comandi di lettura, scrittura e copia, nonchè gli altri comandi disponibili, vengono dati da riga di comando, come avete potuto osservare.
La documentazione è presente online nonchè molte guide che vi mostrano cosa sia possibile fare.
Il mio intento però è quello di avere un’interfaccia grafica che mi permetta di fare le stesse operazioni con facilità: all’uopo ci viene in soccorso il programma CMB-Transfer o CBM-Xfer.
Scaricatelo, scompattatelo nella directory che più vi aggrada, l’ultima versione o partite dal pacchetto di installazione iniziale e poi, man mano, copiate in quella diretctory i file di opencbm richiesti di volta in volta (se optare per l’ultima versione, la 2 beta, vi permetterà di scegliere la directory degli altri programmi facilitandovi la vita).
L’installazione può essere complicata oppure facile, dipende dal sistema operativo che avete sul vostro computer.
Chiedo venia, il suo interfacciamento allo xum1541-II via opencbm può essere complicato assai.
Se avete Windows 11 siete nella melma più melmosa che possiate immaginare e le vostre facoltà fisiche e mentali verranno messe a dura prova.
Tutto dipende da come W11 gestisce le librerie senza signature, dalle varie loro versioni, da come le installa oppure no, da come le registra oppure no.
Se navigate in rete troverete di tutto e di più, mai che una semplice azione sia facile da implementare, tutti si inventano metodi atomici per soluzioni improbabili.
Io ci ho perso un pomeriggio intero e, se non fosse stato per Stefano Picoelements, probabilmente non avrei concluso l’articolo in breve tempo e sano di mente.
Tutto, comunque, dipende dalla libreria utilizzata per interfacciare xum1541-II con W11, la libusb 1.0.26.
Se la vostra versione di CBM non riesce a vedere il lettore floppy fisico, il problema è quello.
Non sò indicarvi con precisione i passaggi da eseguire, perchè fatti a due mani, in tempi diversi nel mentre che cercavamo di riparare due Commodore 64 di un amico.
Posso solo dirvi questo, poi lascio alle vostre conoscenze informatiche ed alla vostra iniziativa:
copiate la libreria libusb-1.0.dll (nel nostro caso abbiamo trovato la 1.0.9.0) nella cartella di CBM-Transfer, dopo di che staccate lo xum, il floppy, ricollegate lo xum, accendete il floppy, lanciate cbm-xfer e controllate se si instaura il collegamento.
Se si siete a posto, altrimenti dovrete controllare la libreria presente sotto C:\Windows\System32 (nel mio caso la 1.4.0.
Nella cartella di installazione di opencbm c’è invece la 1.0.23.0.
Zadig va a pescare quella presente nella cartella di W11.
Insomma, avrete capito, ci sono molte versioni della stessa libreria sparse in giro che sono tra di loro differenti.
La soluzione finale, comunque, ma non se sia quella certa, in ultima analisi, è stata quella di far installare la libreria direttamente dal comando di installazione di opencbm, alla fine della prima parte, vi ricordate, domandava “Do you want me to install the necessary USB driver for you?”, ecco, rispondete si.
Da quello che ho potuto capire, si tratta di registrare correttamente nel registro di Windows la libreria, cosa che ho visto l’installazione fare.
Dovrebbe andare tutto bene, in caso negativo sappiate che il problema è quella libreria.
Spero che l’articolo vi sia piaciuto e che, soprattutto, vi abbia aiutato a crearvi la vostra versione dell’interfaccia.
Nel caso doveste averne bisogno, potete chiedere a Stefano di costruirvela.
Divertitevi, imparando, sempre.
Quest’opera è distribuita con Licenza Creative Commons Attribuzione – Non commerciale – Non opere derivate 4.0 Internazionale.