CBM-Diskettenlaufwerke
Die Commodore-Rechner der Serien PET 2001 bis CBM 8000 hatten keinerlei Diskettenlaufwerke eingebaut (einzige Ausnahme: CBM 8296D, ein 8296 plus 8250LP, s. u.). Jedoch konnten externe Laufwerke über den dafür vorgesehenen parallelen IEC-Bus angeschlossen werden.
Hinsichtlich der grundsätzlichen Eigenschaften der Hardwarestruktur gelten die Angaben hier auch für die Festplatten CBM 9060 und CBM 9090.
Die Diskettenlaufwerke der Commodore-Heimcomputer VC-20, C64 und deren Nachfolgern wurden von diesen Laufwerken abgeleitet, siehe vor allem bei VC1541, die Unterschiede betrafen die Schnittstelle zum Computer (dort CBM-Bus) und preiswertere Ausführung (nur einer statt zwei Prozessoren).
Hardware
Bei typischen Computersystemen jener Zeit, und im Prinzip bis heute, waren Diskettenlaufwerke fast direkt über den Prozessorbus angebunden. Um das Kodieren der Daten kümmerte sich entweder ein einfacher Controllerchip oder die Software des Betriebssystems, und auch das Dateisystem wurde vom Betriebssystem des Computers verwaltet.
Bei den Computern der Commodore-8-Bit-Reihe wählte man einen anderen Weg. Um die Kosten für den Computer, der anfangs häufig ohne Diskettenlaufwerk eingesetzt wurde, zu minimieren und die Anbindung von Laufwerken so flexibel wie möglich zu halten, verfügte der Computer nur über sehr einfache und allgemein gehaltene, zeichenorientierte (nicht blockorientierte) Software- und Hardware-Schnittstellen zu externen Geräten, während die vollständige Logik zum Kodieren/Dekodieren von Sektoren sowie die Dateisystem- und DOS-Befehlslogik im Diskettenlaufwerk realisiert war.
Commodore-8-Bit-Diskettenlaufwerkseinheiten ("Units") waren deshalb eigenständige Computer mit einem oder zwei vom eigentlichen Computer unabhängigen Prozessoren. Eine Unit verfügte über ein oder zwei Laufwerke ("Drives"). Es konnten mehrere Units an einen Computer angeschlossen werden. Die Laufwerke wurden über den dafür vorgesehenen parallelen IEC-Bus angeschlossen. Commodore brauchte nach Start des ersten PETs noch einige Zeit, bis es die passenden Diskettenlaufwerke anbieten konnte.
Software
Das Betriebssystem, das in diesen Laufwerken zum Einsatz kam, war Commodore DOS. Im Gegensatz zu den DOSen der meisten anderen damaligen Firmen war es nicht auf einer Diskette gespeichert, sondern in ROM-Chips (Firmware) innerhalb des Laufwerks.
Das DOS kannte noch keine Unterverzeichnisse, was bei den begrenzten Kapazitäten noch keine große Einschränkung darstellte. Im Vergleich zur konkurrierenden CP/M- und IBM-PC-Welt durften Dateinamen mit 16 Zeichen aber wesentlich länger sein und waren nicht der Beschränkung auf das 8+3-Muster unterworfen.
Neben dem Inhaltsverzeichnis gab es als weitere Organisationsstrukturen in den normalen, „sequentiellen“ Dateien (und genauso bei den Programmdateien) am Anfang jedes Datensektors (hier meist Block genannt) von insgesamt 256 Byte zwei Bytes mit einem Verweis auf Spur- und Sektornummer des Folgeblocks. Wenn eine Diskette also z. B. 644 Datenblocks fasst und jeder dieser Blocks 2 Pointer-Bytes und 254 nutzbare Datenbytes enthält, ergibt das knapp eine Nettokapazität von 170 KiB. Diese Struktur war simpler als das CP/M-Inhaltsverzeichnis oder die MS-DOS FAT, erlaubte es aber nicht, Teile einer Datei zu lesen, ohne zuvor sämtliche Vorausgehenden Teile ebenfalls zu lesen (sequentieller Zugriff).
Um den durchschnittlichen Datenzugriff zu beschleunigen, wurde die Verzeichnis-Spur in die Mitte der Diskette gelegt, so dass von dort aus nur maximal der halbe Diskettenradius bis zum jeweiligen Dateianfang überfahren werden musste.
Aufbau der Laufwerke
Um die Datenkapazität möglichst effizient auszuschöpfen, wurden zwei Maßnahmen ergriffen: Zum Einen wurde das GCR-Schreibverfahren (statt MFM) verwendet, womit man für 4 Netto-Bits 5 Brutto-Bits schreiben muss, während es bei MFM 8 gewesen wären. Zum Anderen wurden auf die äußeren, längeren Spuren mehr Daten gepackt, indem die Schreibgeschwindigkeit (der Schreibtakt) dort erhöht wurde. Dadurch konnte die Rotationsgeschwindigkeit konstant gelassen werden, was die mechanische Konstruktion nicht verkomplizierte. Um die Schreibtaktumschaltung einfach zu halten, wurde zwischen vier verschiedenen Geschwindigkeitsstufen für bestimmte Spurbereiche umgeschaltet.
Mit diesen Maßnahmen konnte auf 5¼-Zoll-Disketten einfacher Schreibdichte („Single Density“, SD), die einseitig benutzt wurden, 170 KiB gespeichert werden, auf den späteren Laufwerken mit doppelseitigem Betrieb höherer Schreibdichte (aber immer noch mit SD-Diskettenmaterial) sogar bis zu 1 MiB.
Die ursprünglichen Modelle für die Commodore-PET-Reihe besaßen zwei symmetrische CPUs (ebenfalls aus der 6502-Familie), 2 KiB RAM und 16 KiB ROM. CPU 1 realisierte die Logik, um Sektoren zu lesen und zu schreiben, während CPU 2 sich um die Dateisystemlogik sowie um die Kommunikation mit dem Computer kümmerte. Die Kommunikation zwischen den beiden Prozessoren fand über den Hauptspeicher statt: CPU 2 schrieb Befehls-Tupel (Aktion, Drive, Spur, Sektor, Speicheradresse) in einen definierten Speicherbereich, die CPU 1 auslas, ausführte und das Befehls-Tupel mit dem Ergebniscode überschrieb. Die beiden CPUs konnten dabei gleichzeitig denselben Speicher verwenden, indem man sich eine spezielle Eigenschaft der 6502-Prozessoren zunutze machte - diese greifen nur in einer der beiden Hälften jedes Taktzyklus auf den Systembus zu. Die CPUs wurden nun so verschaltet, dass CPU 1 jeweils in der ersten Takthälfte und CPU 2 in der zweiten Takthälfte den Bus benutzte, ganz genauso wie sich in den Commodore-Computern selbst der Prozessor und der Videochip den Bus teilten.
Spätere Geräte verfügten über nur ein Laufwerk, und die zweite CPU wurde aus Kostengründen eingespart. Die einzelne CPU übernahm beide Aufgaben, die ursprüngliche Konzeption des Systems blieb dabei allerdings bestehen: Die Aufgaben der CPU 2 (Dateisystem) liefen als Hauptprogramm ab, während die Aufgaben der CPU 1 (Hardwaresteuerung) in einer Interruptroutine erledigt wurden.
Modellentwicklung
Die ersten Modelle waren durchweg 5¼-Zoll-Doppel-Diskettengeräte mit paralleler IEC-Bus-Schnittstelle. Zum PET 2001 sollte die CBM 2020 passen. Es war eine typische Erstausführung mit diversen Programmfehlern. Es ist unsicher, ob sie in Deutschland jemals verkauft wurde. Sie wurde von der CBM 2040 abgelöst, mit überarbeiteten ROMs, DOS 1 und 670 Blöcken für Benutzerdateien. Sie kann ein VC1541-ähnliches Format schreiben, die von ihr beschriebenen Disketten sind damit lesbar auf den späteren Modellen CBM 3040, CBM 4040, CBM 2031, CBM 4031, VC 1540, VC 1541, VC 1551, VC 1570 und VC 1571. Das erste Modell in nennenswerten Stückzahlen wurde die CBM 3040, immer noch auf der CBM 2040 aufbauend, passend zur CBM-3xxx-Serie.
Für die CBM-4000-Serie kam dann die CBM 4040, mit überarbeitetem DOS 2.5/2.7, 664 Blöcken für Benutzerdateien, "Relative Dateien", lese- und schreibkompatibel zu CBM 4031, CBM 2031, VC1541, VC1551, VC1570 und VC1571, Kapazität 2 × 170 KiB.
Die Spurdichte bei allen diesen bisher genannten Modellen entsprach dem Industriestandard von 48 tpi, so dass als Diskettenmaterial SD-Disketten Verwendung fanden. Da sie nur einseitig (Single Sided, SS) beschrieben wurden, lautete die vollständige Bezeichnung SS SD.
Für die CBM-8000-Serie wollte man mehr Kapazität anbieten und entwickelte zusätzlich die CBM 8050 - einseitig schreibend, vierfache Schreibdichte, 100 tpi (Tracks per Inch, also mehr als das Doppelte der Vorgängermodelle), Kapazität damit 2 × 500 KiB. Sie war nicht rückwärtskompatibel, konnte also die Disketten der Vorgängermodelle nicht lesen. Etwas später wurde sie von der CBM 8250 übertroffen - beidseitig schreibend, vierfache Schreibdichte, Kapazität also 2 × 1 MiB. Dieses Laufwerk gab es anschließend vor allem als CBM 8250LP - wie CBM 8250, aber in "Low Profile" - neuem, flacherem Design, passend zur CBM-Pet-II-Serie. Alle diese Laufwerke waren trotz ihrer erhöhten Schreibdichte weiter auf SD-Disketten (nur jetzt in doppelseitigem Betrieb, Double Sided, DS, also DS SD) ausgelegt und versagten regelrecht bei HD-Diskettenmaterial, weil dieses höhere Schreibströme benötigt hätte. Dies war eine Quelle für zahlreiche Missverständnisse und Fehlern bei Benutzern. Die Spurdichte von 100 tpi war der Grund dafür, dass kein Konkurrenzrechner solche Disketten auch nur physisch lesen konnte, denn deren Laufwerke arbeiteten standardmäßig mit einer Spurdichte von 96 tpi. Dieser Parameter ist hardwaremäßig festgelegt und kann auch nicht durch geschickte Treiberprogrammierung angepasst werden.
Neben diesen Standardausführungen mit Doppellaufwerken wurden auch Parallelmodelle als 5¼-Zoll-Einzel-Diskettengeräte mit IEC-Bus-Schnittstelle angeboten, wie die CBM 4031 (CBM 4040 in 1 × 170 KiB), CBM 2031 (CBM 4031 in "low profile" - in neuem Design wie VC1541, wie diese nur mit einem Mikroprozessor 6502) und die SFD 1001 (CBM 8250LP in 1 × 1 MiB, s. a. SFD100x).
Zum Datenaustausch mit IBM-Groß- und -Mini-Rechnern wurde auch ein 8-Zoll-Doppel-Diskettengerät mit IEC-Bus-Schnittstelle herausgebracht, die CBM 8280 - mit 2 × 1 MiB oder 512 KiB. Hiervon gab es aber nur eine sehr geringe Anzahl.