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 :-)
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:
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.