VC1541

aus Wikipedia, der freien Enzyklopädie
Wechseln zu: Navigation, Suche

Die VC 1541 ist ein 5,25-Zoll-Diskettenlaufwerk für den Heimcomputer C64 von Commodore. Sie kam 1982 auf den Markt und wurde das erfolgreichste Modell der VC15xx-Serie. Die 1541 besitzt nur einen Schreib/Lese-Kopf und kann daher Disketten nur einseitig beschreiben. Um die volle Kapazität einer Diskette zu nutzen, kann man diese zum Beispiel mittels eines Diskettenlochers mit einer zusätzlichen Schreib/Lese-Kerbe an der linken Seite versehen. Auf einer solcherart modifizierten Diskette können dann durch Umdrehen weitere 165 KB gespeichert werden.

VC 1541

Allgemeines[Bearbeiten]

Laufwerk VC 1541
Hauptplatine VC 1541 (1. Generation mit "kurzer" Platine)

Wie die anderen Diskettenlaufwerke der Commodore-8-Bit-Modellserien ist die 1541 ein eigenständiger Computer. Als CPU wurde der 6502 verwendet, ein naher Verwandter des im C64 eingesetzten 6510. Man konnte die beiden bei trickreicher Programmierung parallel rechnen lassen (auch wenn diese Möglichkeit nur von sehr wenigen Programmen verwendet wurde).

Format[Bearbeiten]

Die Datenspeicherung erfolgt auf 35 Spuren mit je 17 bis 21 Sektoren zu 256 Byte (Zone Bit Recording). Die ersten zwei Byte jedes Sektors sowie Spur 18 ist für die Verwaltung reserviert (Inhaltsverzeichnis, Belegungsplan "Block Availability Map"), so dass 664 Sektoren bzw. 168.656 Byte für Nutzdaten verwendet werden können.

Firmware[Bearbeiten]

Das Betriebssystem des Laufwerks, CBM DOS v2.6, eine abgespeckte Version der Vorgängerlaufwerke der CBM-Serie, enthält eine Reihe von Fehlern. Der bekannteste ist der sogenannte "SAVE @"-Bug. Das "SAVE @" dient zum Überschreiben von Dateien mit einem neuen Inhalt unter Beibehaltung des Dateinamens. War auf der Diskette vor dem Speichern weniger freier Speicherplatz vorhanden als für die Speicherung der neuen Dateiversion notwendig war, kam es zu einer Zerstörung des Disketteninhaltes. Da dieser Fehler bald bekannt wurde, benutzen die meisten Commodore-Programme stattdessen den "Scratch"-Befehl, um Dateien zu löschen und schrieben sie dann mit dem normalen SAVE-Befehl neu.

Das Betriebssystem übernimmt in der 1541 auch hardwaretechnische Steuerungsaufgaben, da die Hardware selbst möglichst simpel gehalten werden sollte. Das Laufwerk verwendet eine GCR-Kodierung, mit dem die Daten auf die Diskette geschrieben werden, indem die Bytes beim Schreiben zunächst von der Firmware in 10-Bit-Werte umkodiert werden und beim Lesen entsprechend umgekehrt. Der Beginn (Sync) einer aufgezeichneten Bytefolge (Datenblock-Kopf oder Datenblock-Inhalt) wird allerdings, anders als etwa beim Apple II, hardwaremäßig erkannt.

Auch die unterschiedliche Länge der Spuren, je nach Abstand des Lesekopfes vom Diskettenmittelpunkt, wird von der Software ausgenutzt. Auf den weiter außen liegenden Spuren werden mehr Daten untergebracht, indem die Bitrate in vier Stufen angepasst wird (die Bitraten werden dabei an sich in der Hardware erzeugt, jedoch wird per Software zwischen ihnen umgeschaltet). Das bedeutet, dass die Oberfläche radial in vier Zonen geteilt ist, die unterschiedliche Zahlen von Sektoren je Spur haben.

Technische Schwächen[Bearbeiten]

Langsamkeit und Floppy-Speeder[Bearbeiten]

Geradezu sprichwörtlich war die Langsamkeit der 1541 (deshalb unter Usern auch Schneckenkarussell genannt). Bereits das Lesen der Daten von der Diskette in den internen Speicher des Laufwerks war nicht optimal gestaltet. Vor allem aber war die Langsamkeit durch die umständliche Programmierung der Datenübertragung zwischen Laufwerk und Rechner über den seriellen CBM-Bus bedingt. Diese wurde ursprünglich für die zum VC 20 passende VC1540 entwickelt, da der damals im VC-20 eingesetzte Interface-Chip MOS 6522 VIA einen Fehler in der automatischen seriellen Übertragung enthielt (in unregelmäßigen Abständen wurden 9 statt 8 Bit übertragen). Daher wurde die Übertragung so organisiert, dass jedes einzelne Bit vom Prozessor explizit übertragen werden muss – ein äußerst langsamer Prozess. Bei dem kleinen Speicher des VC-20 machte das nicht so viel aus wie später auf dem C64. Der Interface-Chip des C64, der MOS 6526 CIA, enthielt diesen Fehler zwar nicht, aber zwecks Rückwärtskompatibilität zu den VC1540-Laufwerken (die ebenfalls den fehlerhaften 6522 enthielten) entschloss man sich, für den C64 kein ganz neues Laufwerk zu entwickeln.

Darüber hinaus wurde die Übertragungsrate in der 1541 im Vergleich zur 1540 nochmals künstlich reduziert, um durch den VIC-II-Chip verursachte Timingprobleme des C64 zu umgehen. Anders als der VIC I des VC-20 stoppt der VIC II von Zeit zu Zeit den Prozessor für bis zu 40 Mikrosekunden, um Grafikdaten aus dem Speicher zu lesen. Somit musste sichergestellt werden, dass das Laufwerk jedes Bit deutlich länger als 40 µs auf den Bus legte, damit es nicht verlorengehen konnte. Das wurde durch eine leichte Änderung der Firmware erreicht, im Hardwareaufbau sind die 1540 und frühe 1541-Laufwerke ansonsten identisch.

Mit Hilfe sogenannter Floppy-Speeder, trickreich programmierter Übertragungsprogramme (z. B. Hypra Load), die auf das komplizierte Protokoll auf der seriellen Leitung verzichten oder alternativ über einen getrennten parallelen Bus übertragen, kann die Übertragungsgeschwindigkeit von 300 Bytes/s auf teilweise über 10 kB/s gesteigert werden. Die Floppy-Speeder-Software wurde teilweise, zusammen mit noch anderen Features (Funktionstastenbelegung etc.) ins Betriebssystem integriert, was einen Wechsel des ROM-Bausteins im C64 und in der 1541 erforderlich machte. Daneben gab es Floppy-Speeder als Steckmodule für den Computer (der laufwerksseitige Code wurde in diesem Fall bei jedem Ladevorgang ins RAM des Laufwerks übertragen) und rein softwaremäßige, die schon bald auch in die meisten kommerziellen Programme für den C64 integriert wurden.

Eine parallele Datenübertragung wurde durch Nutzung des Userport am C64 und eines freien 8-Bit-Ports eines 6522-Portbausteines in der 1541 realisiert. Das ganze erledigten Umbausätze, wie zum Beispiel das bekannte SPEEDDOS: Zwei Eproms mit modifizierten Betriebssystemen für den C64 und das Laufwerk 1541 und ein paralleles Datenkabel vom Userport des C64 zur Floppy. Der Befehlsaustausch zwischen Rechner und Diskettenlaufwerk mittels des seriellen Busses wurde beibehalten, zusätzlich wurde mit dem Parallelkabel ein "HiSpeed-Bus" gelegt. Da dies mit Extrakosten für zusätzliche Hardware verbunden war, war dieser Realisierung bei weitem nicht so verbreitet wie der rein Software-basierte Ansatz.

Im Zuge dieser Modifikationen zur Beschleunigung gab es angesichts gefallener RAM-Preise später sogar eine Platine zum Einbau in die 1541, die eine komplette Diskettenspur (und in einer noch späteren Version einen ganzen Disketteninhalt) im eigenen RAM (also als Cache) speicherte und dann mit hoher Geschwindigkeit mit dem Rechner austauschen konnte.

Weitere Probleme[Bearbeiten]

Weitere negative Eigenschaften sind die durch das interne Netzteil hervorgerufenen Überhitzungsprobleme sowie in der ersten Generation das charakteristische Rattern, das beim Anschlagen des Schreib/Lesekopfes an Spur 0 entsteht. Einen Spur-0-Sensor hatte Commodore gespart, deshalb wird beim Formatieren oder bei Lesefehlern der Kopfschlitten – unabhängig von seiner Position – einfach 40 Spuren nach außen gefahren, wobei ein mechanischer Anschlag verhindert, dass er sich über die Spur 0 hinausbewegen kann. Dieses Rattern ist nicht nur sehr unangenehm, sondern durch die mechanische Belastung auch der Hauptgrund für eine häufige Dejustage des Laufwerks.

Diskettenkopien[Bearbeiten]

Die Erstellung einer Diskettenkopie erfordert zusätzliche Software. Zwar enthält die 1541 das DOS der Doppellaufwerk-Geräte und damit auch den dortigen Kopierbefehl fast unverändert, mangels eines zweiten Laufwerks ist dieser aber funktionslos. Ein Kopierprogramm, das auf allen Commodore-Heimcomputern ablauffähig ist, ist zusammen mit einigen anderen Werkzeugen und Programmierbeispielen auf der Test/Demo-Diskette enthalten, die jeder 1541 beigelegt ist. Es ist allerdings sehr langsam, weil es wegen der erforderlichen Kompatibilität mit allen Commodore-Heimcomputern nur die regulären DOS-Befehle zum Lesen und Schreiben von Datenblöcken nutzt. Daher wurde relativ schnell von Fremdherstellern und in Computerzeitschriften Zusatzsoftware – meist für den Commodore 64 – angeboten, die wie Schnelladeprogramme auch eigene Übertragungsroutinen für den seriellen Bus nutzte und daher um ca. den Faktor 10 schneller waren. Dadurch konnten einige dieser Kopierprogramme, z. B. der Turbonibbler die einzelnen Spuren einer Diskette roh, also ohne Interpretation der Sektorgrenzen an den Computer übertragen und auch auf der Zieldiskette wiederherstellen und so die meisten der gängigen Kopierschutzmechanismen aushebeln.

Am Ende der C64-Zeit wurden einige Kopierprogramme veröffentlicht, die sich darin überboten, Diskettenkopien besonders schnell durchzuführen. Hervorzuheben ist dabei das 1989 im 64'er-Magazin veröffentlichte Programm "Master-Copy 64" von Frank Riemenschneider, bis heute als das einzige, das eine Diskettenkopie auf einer VC1541 ohne jede Hardware-Erweiterung in unter einer Minute erstellen kann. Später gab es noch eine Nachfolgeversion "Master-Copy Parallel", die mittels paralleler Datenübertragung über den Userport diese Aufgabe in unter 30 s erledigt. Zu bedenken ist allerdings, dass zusätzlich noch die Quell- und Zieldiskette mehrmals getauscht werden mussten, da der C64 nur über 64KB RAM verfügt und somit pro Diskettenseite mindestens drei Wechsel notwendig sind.

Versionen[Bearbeiten]

VC 1541c
VC 1541-II
  • 1541 (1. Generation)
    • Einführung 1982
    • Die ersten Exemplare hatten ein hellbeiges Gehäuse wie der VC 20, später dunkelbraun wie der Commodore 64, ähnlich den PC-Diskettenlaufwerken dieser Zeit
    • Kann auch in ein PC-Gehäuse eingebaut werden
    • Zwei Platinenvarianten: Umgebaute 1540 ("lange Platine" mit 74xx-Logik), später "kurze Platine" mit Custom Chip
    • Zwei Laufwerksvarianten: ALPS-Laufwerk mit brauner Frontblende und Verschlussklappe, sowie ein nur in geringer Stückzahl verbautes Knebellaufwerk von Mitsumi mit brauner oder weißer Frontblende
  • 1541c (2. Generation):
    • Einführung 1986
    • Beiges Gehäuse, wie der Commodore 64 der zweiten Generation.
    • Knebelverschluss
    • Lichtschranke zur Spur-0-Erkennung: Das modifizierte DOS erkennt damit die Spur 0, das Rattern aufgrund des Zurückziehens des Schreib-/Lesekopfes bis zum Anschlag entfällt und die Mechanik wird geschont. Dadurch allerdings inkompatibel zu Hardware-Speedern für 1541 der ersten Generation. Die Lichtschranke belegte eine Leitung des von den Speedern für den Anschluss des Parallelkabels verwendeten CIA-Ports A von UC1. Sie konnte jedoch durch Auftrennen der entsprechenden Leiterbahn deaktiviert werden, wobei die Firmware gegen eine der beiden anderen Varianten (1541 oder 1541-II) ausgetauscht werden muss.
    • Neue, nahezu quadratische Platine: 1541B mit einer Hybridschaltung (UD1) anstelle der bisher diskret aufgebauten Verstärkerschaltung für den Schreib-/Lesekopf
  • 1541-II (3. Generation):
    • Einführung 1988
    • Hellgrau, in einem deutlich kleineren Gehäuse mit Knebelverschluss
    • Ein externes Netzteil verhindert Temperaturprobleme
    • Wieder voll kompatibel mit der 1541-I
    • Die Firmware behebt verschiedene Bugs der älteren Laufwerke, darunter den oben erwähnten "SAVE @"-Bug; sie kann auch in der 1541 der 1. Generation genutzt werden.

Arten von Schnellladern[Bearbeiten]

Hardware[Bearbeiten]

Die Hardware-Schnelllader werden auf Platinen oder Chips geliefert und müssen im Heimcomputer und im Diskettenlaufwerk eingebaut werden.

Die Geschwindigkeitsfaktoren beziehen sich auf LOAD mit C64 und 1541. Mit anderer Hardware (HDD statt Floppy...) können die Werte stark abweichen.

Name System Faktor Bemerkung
Dela DOS C64 ?
Dolphin DOS C64,C128 ? Versionen 2.x für C64 und 3.x für C128, Dolphin DOS, Dolphin DOS 2.0
Dynamic DOS C64 ?
FSD System C64,C128 ?
Exos C64 ?
Jiffy-DOS C64 6-10 Jiffy DOS für VC-1541/71/81 CMD-HD/FD bzw. VC 20, C64/C128/C16, SX-64
Mach 71 C128 ?
Pro Speed 71 C128 ?
P3/128 C128 ?
Professional-DOS C64,C128 ? Professional DOS , Professional Dos-Handbuch (PDF; 150 kB)
Prologic DOS Classic C64 25 Prologic Dos Test von 64'er
Ross-Drive C64 ?
Speed-DOS C64 ? SpeedDOS-Anleitung (als Text bei iDOC=)
Turbo Access C64 ?
Turbo Trans C64 ? Turbo Access mit einer RAM-Erweiterung
Ultra-Load C64 ?

Steckmodul[Bearbeiten]

Einige Schnelllader erschienen auch als Steckmodul für den Expansionsport.

Name System Faktor Bemerkung
? C64 ? Nur Schnelllader
Action Replay 6 C64 15/7 Multifunktionsmodul, auch schnelles Speichern
DELA DOS C64 ? Nur Schnelllader
Disk-Booster 64 C64 ? Nur Schnelllader
Epyx FastLoad C64 5
Final Cartridge 2 C64 6 Multifunktionsmodul
Final Cartridge 3 C64 10/10 Multifunktionsmodul, auch schnelles Speichern
Magic Formel C64 16 / 15 Multifunktionsmodul, auch schnelles speichern
Retro Replay C64 ? Multifunktionsmodul
Super Snapshot C64 5,5 Multifunktionsmodul

Software[Bearbeiten]

Ein Software-Schnelllader ist ein kurzes Programm und wird zuerst geladen und gestartet, danach das eigentliche Programm, das sinnvollerweise deutlich größer sein sollte als der Schnelllader. Solche Software-Schnelllader waren auch in die meisten kommerziellen Programme für den Commodore 64 eingebaut, meist eng verflochten mit dem Kopierschutz der Diskette.

Name System Faktor Bemerkung
Accelerator C64 ? Magic Disk 64, Ausgabe 12/1988
Fast Disk C64 ? Magic Disk 64, Ausgabe 05/1988
FLOAD C64 ? Magic Disk 64, Ausgabe 02/1989
1581 Speed C64 16 Nur für VC-1581
ZAP 1581 C64 16 Nur für VC-1581
Gigaload C64 ?
Heureka-Sprint C64 25 64'er Ausgabe 3/87, Listing des Monats, eigenes Diskettenformat
Hypra Load C64 10 Nur für VC-1541 mit C64
Cyber Loader C64 16 Nur für VC-1541 mit C64
Speedload C64 13 Nur für VC-1541 mit C64
Mr. Byte C64 ? Nur für VC-1541 mit C64
Most-Access C64 ? Nur für VC-1541
Ultraloaded Plus C64 8? 64'er Spielesammlung Band 3

Literatur[Bearbeiten]

  • Lothar Englisch, Norbert Szczepanowski: Das große Floppy-Buch. Disketten-Programmierung mit Commodore VC 1541 für Anfänger, Fortgeschrittene und Profis. 3. überarbeitete und erweiterte Auflage. Data Becker, Düsseldorf 1985, ISBN 3-89011-005-3 (Ein Data-Becker-Buch).
  • Reinhold Herrmann: Floppy VC 1541. Pflegen und Reparieren. Data Becker, Düsseldorf 1986, ISBN 3-89011-079-7.
  • Karsten Schramm: Die Floppy 1541. Alles über die Programmierung der VC 1541 von Eröffnen einer Datei bis zu Eingriffen in die Arbeitsweise des DOS. Lernen Sie Ihren eigenen Programmierschutz und Ihr schnelles Ladeprogramm selbst zu entwickeln. (Mit komplettem kommentierten ROM-Listing). Markt-und-Technik-Verlag, Haar bei München 1986, ISBN 3-89090-098-4 (64er - Ein Markt-und-Technik-Buch), Download.

Weblinks[Bearbeiten]

 Commons: Commodore 1541 – Sammlung von Bildern, Videos und Audiodateien