Il Commodore 1541 (reso graficamente 154I, inizialmente chiamato VIC-1541) è un'unità a dischi floppy della Commodore Business Machines Inc.. Venne prodotta come unità a dischi per il Commodore 64, e utilizza floppy disk da 5¼ pollici a singola faccia da 170 kilobyte. È compatibile anche con il Commodore VIC-20 e il Commodore 128.
Il Commodore 1541-II ne fu una versione aggiornata, prodotta per il Commodore 64C, dotata di alimentatore elettrico esterno.
Al momento del debutto, il suo prezzo era circa di 400 $. Il drive 1541 divenne molto popolare. Anche se costoso per gli standard di oggi, un C64 con il 1541 costavano sui 900 $, mentre un Apple II senza drive floppy costava 1395 $. La grande domanda, soprattutto negli USA ed in Germania, fu inaspettata per la Commodore, che ebbe problemi a produrre drive in quantità. I difetti inizialmente furono molti, e i drive erano quasi impossibili da trovare. Il caporedattore di Compute!'s Gazette, nel numero di dicembre del 1983, lamentò che dei sette 1541 che erano nei suoi uffici, quattro si erano rotti[1].
I numerosi difetti del 1541 crearono un mercato di cloni; i più famosi erano l'Oceanic OC-118[2] (detto Excelerator+), l'MSD, l'Enhancer 2000, l'Indus GT e i FD-2000 e FD-4000 della CMD. Tuttavia, il 1541 diventò il primo drive a essere largamente utilizzato in casa e la Commodore ne vendette milioni di unità[senza fonte].
Utilizza la tecnologia Group Code Recording e ha un microprocessore MOS 6502 che agisce sia da controller sia da esecutore del sistema operativo. Il sistema operativo incluso è il CBM DOS 2.6. Il protocollo utilizzato è l'IEEE-488 (GPIB) con una velocità di circa 300 byte/s. È anche possibile l'utilizzo col il Commodore VIC-20, rallentando leggermente la velocità del drive. Alcuni programmi di tipo fast loader prodotti da terzi portarono la velocità a circa 10 kbyte/s.
Il dischetto del 1541 è diviso in 35 tracce. Ogni traccia contiene un numero variabile da 17 a 21 settori (una prima implementazione della tecnologia Zone Bit Recording). Il numero totale dei settori è 683. Poiché la directory occupa la traccia 18, in effetti sono disponibili 664 settori, ognuno dei quali contiene 256 byte, quindi ogni disco ha la capacità di 166 KB. Inoltre praticando un piccolo foro nel lato sinistro di un disco a singola faccia (nel lato opposto a quello per la protezione della scrittura) si ha l'accesso al lato B del disco, raddoppiandone la capacità (flippies). Il file system alloca ogni blocco come un cluster.
Il drive per dischi floppy, sebbene più rapido del datassette soffriva di una certa lentezza nel caricamento dei programmi a causa del bus seriale, che era un derivato del Commodore VIC-20, mal implementato. Come nell'esempio seguente:
LOAD "*",8,1
'*
' indica l'ultimo programma caricato o il primo sul disco, '8
' è il numero del drive floppy e '1
' indica che il programma deve essere caricato all'indirizzo della memoria indicato nel suo header (ciò vale ovviamente per i programmi compilati).
La lentezza nelle operazioni del drive floppy poteva essere risolta utilizzando software più intelligente e implementando un protocollo di trasferimento migliore tra il Commodore 64 e la periferica. La Epyx, produsse la cartuccia FastLoad che sostituiva alcune funzioni lente del 1541, velocizzando di 5 volte il caricamento dei programmi. Come alternativa furono creati numerosi programmi turbo-loader (acceleratori di caricamento), anche se avevano bisogno di essere caricati dopo ogni reset.
La periferica risentiva del problema del disallineamento della testina dopo un certo utilizzo, in conseguenza emetteva dei rumori sgradevoli, così come pure dopo una formattazione. La causa principale di questo problema è che la tecnologia del drive non è in grado di rilevare quando la testina raggiunge la "traccia zero". Durante la formattazione o un errore del disco, la testina si deve spostare dalla traccia 40 alla zero (sebbene il 1541 utilizzi solo 35 tracce, il drive di per sé è un'unità a 40 tracce): dopo aver raggiunto la traccia zero, la testina urta il blocco. Questo urto, se la testina tenta ripetutamente di andare oltre la traccia zero, genera un rumore continuo e battente.
La causa più comune di questi colpi e il conseguente disallineamento sono i sistemi di protezione da copia nei programmi commerciali: le prime protezioni da copia sfruttavano degli errori nel disco, rifiutando di caricare il software senza il corretto messaggio d'errore. Questo approccio sfrutta l'incapacità del programma di copia integrato nel drive di riprodurre anche gli errori del disco. Quando il drive incontra uno di questi errori, compie uno o più tentativi di rilettura, rispostando la testina alla traccia zero.
Una soluzione realizzata da terze parti al problema del 1541 consisteva nel sostituire il pezzo che blocca la testina con uno più morbido. Inoltre, una modifica software nella ROM del drive impedisce i tentativi di rilettura in caso di errore, ma in questo modo, non facendo altri tentativi in caso di errore, si possono riscontrare maggiori difficoltà durante la lettura dei dischi non perfetti. Il problema venne risolto nel Commodore 1541C (uguale al 1541 ma con involucro bianco e scheda elettronica riprogettata) compatibile con il 1541, che aveva un sistema rilevamento del raggiungimento della traccia zero mediante foto sensori posti sul fine corsa.
Nel 1986 la Commodore produsse il 1541C, una versione rivista, più silenziosa e affidabile. È di colore beige chiaro, come il Commodore 64C. Fu sostituito nel 1988 dal 1541-II, che utilizza un alimentatore esterno per evitare di surriscaldare il drive e per ridurre le sue dimensioni.
Della meccanica del 1541 esistono due versioni. I primi modelli furono fatti dalla Alps Electric e hanno la chiusura del drive a clic. I modelli più recenti, fatti dalla Newtronics (Mitsumi), hanno invece una levetta. I primi modelli del VIC-1541 hanno un colore biancastro, come il VIC-20 e il VIC-1540. Successivamente, per renderli più simili al C64, la Commodore cambiò il colore in beige e il nome in "Commodore 1541".