Categoria: Interviste
Scaricare l'immagine di un gioco per Commodore 64 prelevandolo dagli immensi archivi liberamente disponibili sul web, trascinare il file nella finestra dell'emulatore ed essere catapultati nuovamente in mezzo a suoni ed immagini che provengono dal passato ci appare ormai un'esperienza comunissima da vivere.
Proviamo a soffermarci per una volta a pensare come tutto questo è possibile, assieme a Lepoldo Ghielmetti, creatore del cavo x1541, che ha gettato le basi per il trasferimento dei programmi dai vecchi supporti (dischi e nastri) ai nuovi hard-disk.
Ciao Leo: dov'eri finito tutto questo tempo dopo aver realizzato il noto cavo, croce e delizia di tutti gli smanettoni commodoriani?
Sempre qui a Losanna, non mi sono mosso (o quasi). Solo che ormai ho abbandonato il C64 per occuparmi di più dei miei PC sotto Linux. Il C64, Plus 4 e C16 li ho ancora, così come tanti altri, ma purtroppo non ho più il tempo e la voglia di occuparmene se non per accenderli di tanto in tanto per ricordare i bei vecchi tempi.
Come è nata l'esigenza di progettare un sistema di trasferimento da C64 a PC?
Oh, non è una storia lunga, ero sempre appassionato di C64 e soprattutto del 6502 che usavo anche per altri progettini e all'epoca (1991) avevo appena rotto la mia calcolatrice programmabile e stavo cercando di svilupparne una con funzioni tipo PDA (il Palm non esisteva ancora) e avevo proprio scelto il 6502 anche se non nato allo scopo. Era una sfida carina. Ho finito col costruire un prototipo che pur non essendo mai stato completato aveva pure funzionato una volta. L'unica cosa che mancava erano i programmi.
Mi sono detto che avrei potuto sviluppare tutto il software sul Plus 4 (che era la macchina che usavo ancora all'epoca) ma non era molto pratico sviluppare software su quelle macchine che rispetto ad un PC erano molto più lente e disponevano di meno tools). Allora ho sviluppato un assembler direttamente derivato da un'altro che avevo sviluppato per il C64. Si chiamava dirassembler e se ben ricordo non credo di averlo mai pubblicato. Vorrei farlo ma non riesco più a trovare i sorgenti; ne ho tre o quattro versioni ma non so più quale sia la referenza. Ma restava il problema di trasferire i codici dal PC al C64/Plus 4.
La prima soluzione è stata quella di sviluppare un piccolo software che permetteva di trasformare il codice in un formato testo (lo UUE, che assomiglia un pò al MIME), ma che ho leggermente modificato per aggiungerci delle capacità di checksum per evitare gli errori e poi trasferire il programma a manina byte per byte lasciando al programma il compito di verificare il corretto trasferimento, ma anche in quel modo, dopo aver trasferito i miei primi 10Kb ne ho avuto abbastanza.
Un'altro motivo era che all'epoca stavo pure sviluppando un emulatore di C64 su PC ed ero arrivato molto vicino allo scopo, infatti funzionava discretamente bene, simulava pure il drive 1541 ma purtroppo mancava la grafica (con le sprites) e il suono e avevo bisogno di trasferire i softwares dal mio C64 al PC per provare l'emulatore.
Il terzo motivo era che avrei voluto usare il HDD del PC come area di stoccaggio per i dischetti del C64 prima che si smagnetizzassero e l'unico modo era poter direttamente collegare il C64 al PC. Sfortunatamente quel progetto l'ho cominciato dopo la pubblicazione del x1541 ed è li che mi sono reso conto del difetto del cavo, quest'applicazione non era fattibile con il cavo come era concepito (che inoltre non funzionava più con le nuove carte parallele). Infatti adesso mi sono costruito un xa1541 secondo gli schemi trovati sul net ma non ho ancora avuto il tempo di farci qualcosa (15 anni dopo! Non dico di essere un razzo).
In pratica mi ricordo ancora benissimo, era durante le vacanze estive ed ero andato a lavorare da un amico con il quale ci divertivamo a fare programmi di vario genere per PC e CBM e ho cominciato a scrivere il codice, per avere tutte le informazioni sulla comunicazione seriale ero andato nei laboratori della scuola (EPFL) con tutto il macchinario per tracciare i segnali con l'oscilloscopio.
Quindi avevo tutti i bei schemini e non mi restava altro che scrivere il programma. In tutto mi pare di aver preso una o due settimane di intenso lavoro (roba da 08:00-22:00 7/7 con giusto il tempo di mangiar qualcosa a mezzogiorno). Ma penso che ne sia valsa la pena.
Beh la conclusione è che il x1541 ha avuto successo (anche più grande del previsto), l'assembler funziona bene ma non è mai uscito dal mio computer, il PDA è finito nell'oblio (anche se è ancora qui esposto in bella vista a ricordo dei bei vecchi tempi), l'emulatore non l'ho mai completato e resta un bel sogno (che tra l'altro non funziona sui nuovi PC) e il software per permettere di usare l'HDD dal C64 è ancora un sogno nel cassetto.
Tasso di successo 10%. :-D
Mi resta la consolazione che altri hanno fatto il lavoro al posto mio (e ottimo anche) e che quindi la comunità CBM ha comunque tutti i tools che si merita.
Non solo la comunità ne ha giovato, c'è anche chi ne ha tratto un beneficio economico, visto che tutt'ora il cavo o le sue varianti si trovano in vendita sul web.
Si, esattamente, ma non ho mai voluto chiedere niente. Non sono i soldi che mi hanno spinto a creare quel cavo ma solo la volontà di poter trasferire i programmi da un sistema all'altro. Se c'è gente che riesce a lucrarci sopra, tanto meglio per loro.
In fondo l'unica cosa veramente importante è che dicano che si tratta del mio cavo (cosa che tra l'altro mi pare facciano correttamente tutti). Inoltre il mio cavo non era perfetto, mi sono reso conto di un paio di difetti pochi giorni dopo l'aver pubblicato il programma x1541 con il suo cavo (in realtà il x1541 è il programma, non il cavo, ma per estensione è diventato anche il nome del cavo). Comunque quel difetto è stato rapidamente superato da altri che hanno corretto e migliorato il cavo: xa1541, xe1541, ...
E' vero che il progetto da te realizzato non era perfetto, ma ha gettato le basi per tutto quello che è venuto dopo.
Infatti, è per questo che sono contento di averlo fatto.
Per il resto, cosa mi puoi dire della situazione del Commodore 64 in Svizzera?
Non conosco molte persone che usano il C64 attivamente ma comunque conosco una persona a cui piace collezionare vecchi PC, Mac e altro, mi pare che abbia pure un C64. Io ho un pò di tutto, ma non li uso, li tengo solo perché mi fa piacere conservare un pezzettino di storia.
C'è stata qualche realtà attiva nel produrre software in Svizzera?
Non saprei, all'epoca del C64 ero ancora molto giovane e scrivevo programmini solo per divertirmi. Per tutto il resto mi ricordo che ce lo scambiavamo a scuola, soprattutto con gente che aveva avuto l'occasione di passare in edicola in Italia durante il Week-End. ;-)
E chi ha orecchie per intendere... ! Ciao Leopoldo e grazie per la tua disponibilità.