Tutorial: Trasferire un’immagine disco D64 su un Floppy Disk e viceversa

In questo tutorial vi spiegherò come trasferire il contenuto di un’immagine disco dei computer commodore (nei formati D64, D71 e D81) su un Floppy disk e come fare l’operazione inversa: ovvero creare un backup da un Floppy disk in formato immagine.

La maggior parte dei tutorial in rete, fa uso di cavi specifici, tipo l’X1541, abbinati a software che permettono di collegare un drive 1541 al pc tramite porta parallela (o USB nelle ultime versioni). Nel mio tutorial non utilizzo niente di tutto questo ma eseguo tutte le operazioni direttamente da un Commodore64 utilizzando la C64SD e un software scritto per Commodore64 (ma anche per Commodore 128, 16, Plus-4, VIC-20, PET40 e PET80) chiamato CBMCommand.

Cosa ci serve:

  • Un Floppy Drive 1541, modello qualsiasi
  • Chiaramente dei Floppy Disk su cui/da cui copiare
  • Una C64SD
  • CMBCommand (che potete scaricare in fondo all’articolo)

1. Setup

Scarichiamo CBMCommand in fondo all’articolo o dal sito ufficiale. La versione in fondo all’articolo è la 2.2, l’ultima al momento in cui scrivo e mi è stata fornita da Damiano Colombari : è in formato “esploso”, ovvero ci sono tutti i files separati. La versione presente sul sito ufficiale è invece in un unico file… e a me non funziona! Scompattiamo l’archivio nella radice della scheda SD da montare sulla C64SD.

Con i file pronti, prima di eseguire tutti i collegamenti assicuriamoci che sia il Commodore 64 che il floppy drive siano spenti: i collegamenti eseguiti con gli apparecchi accesi possono danneggiare il chip VIA/CIA.

Ora dobbiamo innanzitutto cambiare l’indirizzo o al floppy drive o alla C64SD: è chiaro che non possiamo avere sullo stesso bus dati due apparecchi con lo stesso indirizzo. Per comodità io l’ho cambiato alla C64SD impostandolo a 9 (di default è 8 che è lo stesso indirizzo di default del Floppy Drive). Per cambiare l’indirizzo basta agire sui dip-switch presenti dietro alla scheda. Io li ho impostati in questo modo:

cambiare indirizzo alla c64sd
Con i dipswitch in questa posizione, l’indirizzo è 9

A questo punto possiamo innestare la C64SD sul Commodore e quindi collegare dietro alla C64SD il cavetto seriale che va al floppy drive:

collegamentiPremetto che questo procedimento, fatto sul Commodore64, va bene anche se il trasferimento interessa i files del VIC-20 o altri apparecchi Commodore compatibili con i formati dischi utilizzati.

Il CBMCommand per VIC-20 richiede un’espansione esterna da 32Kb, che non tutti hanno. Quindi dovendo trasferire dei file che volevo provare sul VIC-20, l’ho fatto dal Commodore64 e poi li ho utilizzati sul VIC-20 senza problemi.

Con i files di CBMCommand copiati sulla radice della SD e con i collegamenti eseguiti, possiamo ora accendere il Commodore64 e caricare CBMCommand. Ricordiamoci che ora l’indirizzo della C64SD è 9 e non più 8! Carichiamo quindi il file “CMD” con:

LOAD "CMD",9,1

CMD rileva il sistema collegato e lancia il programma adatto alla macchina utilizzata:

L'indirizzo della SD ora è 9!
L’indirizzo della SD ora è 9!

Parte quindi uno splash screen mentre viene eseguito il caricamento del programma:

cbmcommand22_splash

CBMCommand è un file manager simile al caro vecchio Norton Commander, per cui è possibile farci di tutto: copiare da disco a disco, copiare/cancellare singoli files, rinominarli ecc.

Una volta caricata questa versione di CBMCommand, ci ritroviamo un pannello orizzontale che mostra la directory attuale, quella da cui è stato caricato il programma, ovvero la ROOT sulla scheda SD:

cbmcommand22_start

Chiaramente per poter eseguire tutte le operazioni da SD a Floppy Disk e viceversa, dobbiamo visualizzare un altro pannello, quello che illustra il contenuto del Floppy Drive.

La versione di CBMCommand per VIC-20, non può visualizzare due pannelli contemporaneamente dato che la risoluzione dello schermo è più bassa e c’è poco spazio a disposizione.

Visualizziamo quindi anche il secondo pannello premendo SHIFT D. Compare una finestra in cui ci viene chiesto quale drive deve essere visualizzato nel secondo pannello:

cbmcommand_second_drive

Vedete nell’immagine sopra che all’indirizzo 8 c’è un drive 1541 fisico e all’indirizzo 9 la SD2IEC. Con i tasti CRSR UP/DOWN ci spostiamo sul drive 1541 e premiamo invio. Ora vengono visualizzati due pannelli: uno col contenuto della SD (sopra) e uno col contenuto del Floppy Disk (sotto).

L’arrangiamento orizzontale delle finestre a me non piace particolarmente, per cui se non piace nemmeno a voi, potete premere la lettera I per passare da arrangiamento orizzontale a verticale e viceversa:

cbmcommand22_panelsMemorizzate bene i tasti importanti da utilizzare perchè non li ripeterò più lungo il tutorial:

  • CRSR LEFT/RIGHT : ci si sposta da un pannello (da un drive) all’altro. E’ possibile capire qual’è il pannello (il drive) correntemente selezionato tramite il simbolo di maggiore (freccia) che si trova sul bordo sinistro di un pannello, che ha la funzione di puntatore verso un file/directory.
  • CRSR UP/DOWN : ci si muove in su e in giù lungo la directory correntemente visualizzata.
  • SHIFT + : si entra in una directory. Le directory occupano 0 bytes (lo zero a sinistra negli elenchi) e hanno la lettera D sulla destra (a differenza degli altri files che hanno una lettera P)
  • SHIFT – : si sale di un livello in una directory
  • SPAZIO : si seleziona un file
  • RUN/STOP : si esce dalle finestre di dialogo senza effettuare selezioni
  • E : aggiorna la visualizzazione del contenuto del pannello sinistro/superiore
  • SHIFT E : aggiorna la visualizzazione del contenuto del pannello destro/inferiore

Bene, i comandi di base li avete imparati, per tutto il resto c’è la documentazione ufficiale oppure l’help direttamente dal programma premendo F1. Importanti sono i comandi E, SHIFT E, perchè dopo i trasferimenti il contenuto dei drive cambia!

Adesso cominciamo a divertirci.

2. Trasferire immagine disco su un Floppy Disk

Questa operazione può esserci utile quando:

  • Dobbiamo passare CBMCommand a un amico che non ha la C64SD e ha bisogno di fare il backup di Floppy su altri Floppy
  • Abbiamo bisogno di trasferire una Demo o un qualsiasi altro software che fa utilizzo di caratteristiche specifiche di un drive 1541 reale per cui non gira sulla C64SD
  • Per sfizio, per avere “il floppy”

Utilizzando i tasti che di cui vi ho parlato prima, posizionatevi nella SD sul file D64 che ci interessa trasferire sul Floppy reale e premere SHIFT X : questa operazione trasferisce il contenuto di un’immagine disco (D64, D71 o D81) dal pannello (drive) correntemente selezionato al pannello (drive) opposto. Compare una finestra di dialogo in cui ci viene chiesto se il floppy disk su cui trasferire il contenuto è vuoto o meno:

cbmcommand22_blankdisk

La domanda in realtà è retorica, infatti il floppy di destinazione può anche non essere vuoto: verrà formattato in ogni caso se rispondete con Yes. Se non volete perdere i dati, potete sempre farne un backup su D64 leggendo il paragrafo successivo di questo tutorial. Se volete continuare, quindi, premete Y, altrimenti N oppure RUN/STOP.

Chiaramente il Disco di destinazione deve essere sprotetto, ovvero dovete togliere l’eventuale adesivo messo sugli intagli laterali (o farci gli intagli se non ci sono!).

Nel caso in cui avete premuto Y, CBMCommand procede alla formattazione del floppy e questa operazione viene indicata in alto a sinistra con “Formatting disk…”:

formattingFinita la formattazione, comincia il trasferimento del D64 al Floppy, indicato con una barra di progresso al centro della finestra. Viene anche indicata, nella barra superiore, la velocità di tarsferimento, il tempo stimato e il tempo rimanente:

transferring

L’intero processo dura dai 15 ai 20 minuti utilizzando componenti “stock” (ovvero senza JiffyDos e modifiche varie). Se qualcosa dovesse andare storto durante il trasferimento, potrebbe essere il Floppy Disk difettoso.

3. Realizzare un’immagine di un Floppy Disk

Questa operazione è sicuramente più importante della precedente in quanto ci permette di preservare il contenuto dei nostri Floppy e quindi poterlo anche utilizzare sui PC attraverso gli emulatori.

Inseriamo quindi il floppy da trasferire nel drive, aggiorniamo la visualizzazione con SHIFT E (nel caso in cui il Floppy Drive sia visualizzato nel pannello destro/inferiore), spostiamoci sul Floppy Drive con i tasti cursore e premiamo la X: questa operazione trasferisce l’intero contenuto del Floppy disk correntemente selezionato nel drive opposto in formato immagine (l’immagine da realizzare, D64, D71 o D81 viene rilevata automaticamente in base al modello di Floppy Drive). Quindi verrà creata un’immagine disco nella directory corrente della scheda SD. Compare una finestra di dialogo in cui viene chiesto quale nome dare al file da creare:

floppy_to_image

Premendo RUN/STOP usciamo senza fare modifiche, premendo invio viene avviato il trasferimento, visualizzato con una barra di progresso:

floppy_to_image_progress

Questa operazione dura un po’ meno della precedente dato che chiaramente non c’è la fase di formattazione. Alla fine del processo avremo nella scheda SD il file in formato immagine (es.: D64) con il nome che abbiamo scelto. Chiaramente la scheda SD deve essere sprotetta.

4. Problemi

L’unico problema che mi è capitato è stato che il trasferimento da Floppy Disk a SD non veniva mai avviato dal momento che CBMCommand mi restituiva un errore che indicava che il Drive di destinazione (la SD) era protetto da scrittura. E questo mi capitava anche con la SD sprotetta. Dopo un po di patimenti ho scoperto che mi si era danneggiato lo switch che rileva la levetta di protezione dalla scrittura. Se vi capita la stessa cosa e siete bravi a smanettare col saldatore (e avete un saldatore buono con una punta fine!) potete smontare la C64SD e cortocircuitare gli ultimi due pin (10 e 11) dell’SD-Holder sulla scheda:

bypass_write_protect

In questo modo, però, non avrete più la protezione da scrittura sulla C64SD.

5. Downloads

CBM Command 2.2 (esploso) (1922 download)

Ringrazio Damiano Colombari con il quale siamo stati due giorni a telefono a fare prove e controprove per realizzare questo tutorial!