I Drive Commodore
Articolo di MarC-ello, pubblicato il 30-06-2003.
Categoria: Hardware.

Una caratteristica peculiare dei sistemi Commodore è data dall’utilizzo di drive "intelligenti". Forse non tutti sanno con esattezza cosa questo significhi; in questo articolo cercherò, per quanto mi è possibile, di fare chiarezza in merito.
Prima di tutto, una doverosa precisazione: questa trattazione è riferita ai drive utilizzati negli elaboratori Commodore ad 8 bit (dal PET 2001 al Commodore 128).

Cominciamo con il chiarire cosa significhi il termine "intelligente" per un drive Commodore. Nell’appendice A del Manuale dell’Utente del Commodore 64 si può leggere la seguente frase (pag. 107):

"Le unità disco sono intelligenti, il che significa che dispongono di un proprio microprocessore e di una propria memoria".

035_drive_1541.jpg
Il Drive 1541

Questa frase fa capire come un drive Commodore (ad esempio un 1541, uscito insieme al C64 nel lontano ’82) sia un qualcosa di più di una semplice periferica; esso, infatti, rappresenta più un computer con uno scopo specifico, evidentemente in questo caso il supporto per la lettura/scrittura mediante floppy.

Il fatto che un drive Commodore sia assimilabile ad un computer implica che questo sia riprogrammabile; effettivamente è così. Un 1541 (o 1570, 1571, 1581, ecc…) dispone di una propria memoria ROM (ove risiede il DOS Commodore) e di una propria memoria RAM (circa 2 kilobyte). La ROM permette di ospitare il sistema operativo per la gestione dei dischi, e questo evita l’assorbimento di memoria al computer Commodore. I 2K di RAM servono per ospitare dati e codice che il computer può inviare al drive. In questo sta la programmabilità dei drive Commodore. Cerchiamo di capire in cosa consiste tale caratteristica ed i vantaggi che possono essere tratti da essa.

Riferiamoci, senza limitare la validità generale del discorso, al Commodore 64. Siamo in molti ad apprezzare ancora questa macchina, tuttavia questo non significa che fosse esente da difetti. In particolare, le routine del kernel del C64 (il CBM KERNAL) erano molto lente nella gestione del caricamento/salvataggio da/su floppy (per non parlare poi delle cassette). Tale lentezza è dovuta al fatto che la Commodore diede la priorità all’efficienza più che alla velocità. Erano infatti presenti dei controlli degli errori molto ripetitivi, che rallentavano l’I/O. Questo incrementò eccessivamente i tempi di accesso ai dati, e anche se tale gestione era esente da errori rendeva troppo grandi i tempi di lettura-scrittura.

035_drive_1541-II_1.jpg
Il Drive 1541-II

Le case software risolsero a loro tempo il problema scrivendo degli speciali programmi che gestivano meglio l’I/O, dando importanza anche alla velocità. La possibilità di programmazione del drive ebbe un ruolo fondamentale in tal senso. Ad esempio, il caricamento di un videogioco si attua in due fasi; nella prima fase, il C64 carica uno speciale programma di caricamento veloce (turboloader) e lo trasferisce nella RAM del 1541, poi, nella seconda fase, il 1541 esegue lui stesso tale programma, mentre il Commodore 64 si limita a ricevere i dati e a gestire il canale di comunicazione fra le due apparecchiature. Questo porta ad avere un multitasking reale, nel quale sia il C64 sia il drive eseguono i rispettivi programmi e si scambiano informazioni.

Per rendersi conto dell’effettiva possibilità del multitasking reale, basta osservare che con un Commodore 64 è possibile formattare un floppy e contemporaneamente continuare a scrivere del testo o fare altre operazioni, senza alcun rallentamento. Questo non è possibile con un PC in ambiente MS-DOS, perché nel PC un drive è soltanto un insieme di meccanismi, interamente controllati dal PC in tutti gli aspetti (oggi non ci accorgiamo di questo perché i floppy sono già formattati, ma una volta non lo erano…). Con Windows è possibile continuare a lavorare mentre si formatta, ma si riscontrano dei rallentamenti (almeno con il mio sistema Windows 98 – Pentium II 400 MHz – 64 Mb RAM).

Addirittura è possibile collegare ad un C64 fino a quattro drive, così ad esempio con uno si può formattare un floppy, con un altro si può cancellare un file su un altro floppy, con un altro si può compattare il contenuto di un ulteriore altro floppy, ecc… Queste infatti sono tutte operazioni gestite interamente dal drive, il quale richiede soltanto al C64 l’invio del comando relativo.

| | Share
Commenti
Commenta gioco Ci sono 8 commenti per questo articolo. Registrati se vuoi lasciarne uno.
C'è una cosa che non riesco a capire. Voglio aquistare un drive 1541 ma non ho floppy da 5" e 1/4. Vanno bene anche quelli X IBM compatibile, indicati in genere 2D? Basta quindi riformattarli nel formato commodore? Oppure devono essere quelli specifici a bassa densità.
@ - postato da Jonathan - 15 January 2008 [02:46]
Vi segnalo che quello che tu chiami 1541 in realtà è 154I (con la I finale, non la 1)
@ - postato da Davide - 22 April 2008 [03:05]
154I? Si, e la marmotta fa su la cioccolata... e' una leggenda metropolitana diffusasi presso molti sempliciotti. E' solo un 1 scritto con un font diverso, tutti i cataloghi e lo stesso manuale indica 1541 LINK
# - postato da iAN CooG/HF - 22 April 2008 [12:45]
@DAVIDE: Ma che idiozia... perchè non ti documenti come si deve prima di postare? I soliti N00B....
# - postato da Raffox - 22 April 2008 [12:59]
LINK (thread del 2006 su comp.sys.cbm sulla diatriba 1541-154I)
# - postato da fab - 30 April 2008 [05:06]
E' possibile usare qualsiasi floppy 5'25" senza particolari problemi (io ne ho preso qualcuno da ebay per 286 ;) ), basta formattarli .
@ - postato da Falko - 01 February 2009 [21:31]
Non è possibile utilizzare qualunque tipo di floppy, ma appunto solo quelli DS/DD, a meno di non voler incorrere in problemi di corruzione dei dati. I dischi HD sono progettati per funzionare esclusivamente con i corrispondenti drive pc e hanno una densità di traccia per pollice (tpi) doppia rispetto agli precedenti. E' questo fattore che crea problemi rispetto alla testina di lettura/scrittura del drive commodore. Maggiori riferimenti sui formati qui LINK
# - postato da AndreaP - 08 March 2009 [10:56]
Oltre a scusarmi per gli eRori di stUmpa del commento precedente, segnalo che il floppy drive di un 286 è molto probabilmene da 360kb, e quindi utilizza gli stessi DS/DD dei commodore. Da questo però non si può dedurre che tutti i floppy per pc vadano bene con il 1541.
# - postato da AndreaP - 08 March 2009 [11:00]
Commodore 64
Utenti Online
Ciao, ospite!
(Login | Registrati)

Cerca un gioco
Random Game
Ultimo Commento
Clicca per leggere tutti i commenti
Highlander
"Ocean croce e delizia dei sessantaquattristi.. Giustamente ricordata per non rari capolavori tratti da opere cinematografiche (da Platoon a Batman, a The Untouchables..), ma quando piazzava mine come questa erano dolori e i fondi elargiti, null’altro che una donazione. Si sarà capito che questo tie-in non è niente per cui ''perdere la testa''.. sfido qualsiasi fan della serie (della quale almeno il primo film rimane un cult movie) a preferire questo inverecondo ciofegòn saga del blocchettoso al sempre ottimo e ben più inquietante e suggestivo, Barbarian. Gameplay (ah.. ma c'è?) imbarazzante e sciatto, aspetto grafico confuso, sprite e fondali privi di una degna definizione, noia abissale. Conclude un audio da ‘Pong’, tanto valeva lasciare il tema dei titoli, realizzato dal sempre ottimo M.Galway. Fa specie che altre versioni a 8-bit come Spectrum e Amstrad siano comunque, più veloci.. insomma, dopolavoro o meglio, pennica ingiustificabile da parte un pool di programmatori altrove più efficaci."
- Scritto da riviero
Ult. Commento Art.
C64 & Pirateria #00: Introduzione
"Molte di quelle riviste con cassetta contenevano anche recensioni di giochi "ufficiali" e altri articoli; ho scoperto (magari lo sapevate già, ma non mi pare che se ne parli in questo sito) che alcune di queste recensioni sono traduzioni più o ..."
- Scritto da Kirie e Leison
Ospitato su