tim:schuermann.de
Ein Beschleuniger für die Diskettenlaufwerke des C64 und C128(D)
Professional DOS - Die Hardware
von Tim Schürmann |
|
In diesem Teil soll etwas näher auf die Professional DOS Hardware
und ihre Arbeitsweise eingegangen werden. Der Fokus liegt dabei auf den
zugrunde liegenden Ideen und nicht auf einer detaillierten Beschreibung
oder Analyse der einzelnen Schaltkreise.
Die "Professional DOS Release"-Version für die Kombination aus
der ersten Version des 1541 Laufwerks und dem Ursprungsmodell des Commodore
64, besteht aus drei Komponenten: einem neuen Betriebssystemkern (Kernal)
für den C64, einem Parallelkabel und einer länglichen Computerplatine
für die Floppy (vgl. Abbildung 1).
Abb. 1: Die Professional DOS Erweiterungsplatine für das
Diskettenlaufwerk.
Einige Bauteile auf der Platine
wurden abgefeilt um die Identifizierung zu erschweren. Erkennbar blieben
nur das EPROM (Typ 27128) mit dem DOS (Disk Operating System; Betriebssystem
des Diskettenlaufwerkes), der Speicherbaustein und ein TTL-IC mit der Aufschrift
74LS00. Die restlichen Bauteile wurden unter [1] identifiziert und aufgelistet.
Das unter [5] angesprochene "Toolkit System Professional" soll laut
dem dortigen Test für mehrere, mit Professional DOS ausgerüstete
Laufwerke vorgesehen sein. Bislang konnte ich mangels Hardware nicht verifizieren,
ob und wie gut Professional DOS mit mehreren Laufwerken zurecht kommt.
In einem Werbeblatt wird darauf hingewiesen, dass für die Versionen
Release 3, 5 und 6 eine "Bustreiberplatine" benötigt wird, sofern
man mit ihnen mehrere Laufwerke betreiben möchte. Der gleichzeitige
Einsatz einer 1541 mit einer 1570 oder 1571 am Userport war nicht möglich
[12].
Die C64-Seite
Über einen speziellen Umschaltesockel wird das neue Betriebssystem
fest in den C64 eingebaut. Hierzu muss der original Commodore-Kernal gegen
den Professional DOS Kernal ausgetauscht werden (Sockel U4). Beim C128
kommt ein 16K EPROM zum Einsatz (Sockel U32), bei dem sich im oberen Bereich
der Kernal, im unteren Bereich das BASIC befindet. In späteren Versionen,
wie sie von VTS Data geliefert wurden, mussten im C128 die Bausteine U32
und U35 gegen die mitgelieferten Versionen ausgetauscht werden [16].
Stecken die angesprochenen Chips nicht zufällig auf einem Sockel,
ist es erforderlich den originalen Kernal auszulöten. Für weniger
begabte Elektronikbastler sicherlich keine leichte und vor allen Dingen
ungefährliche Aufgabe.
Je nachdem welche Version man von Professional DOS erworben hatte,
musste man vor dem eigentlichen Einbau noch ein paar Trockenübungen
durchführen. Bei den Update-Varianten musste man den Kernal zunächst
auf ein passendes EPROM brennen. Sofern der Kernal nicht schon brennfertig
mitgeliefert wurde, musste er mit dem mitgelieferten Programm "produce
kernal" zunächst noch generiert werden.
Ist der Einbau korrekt verlaufen, meldet sich das System direkt nach
dem Einschalten. Die lange, typische "Bedenkzeit" des originalen Commodore-Kernals
entfällt.
Die Floppy-Seite
Das Parallelkabel wird je nach Modell entweder am User- oder Expansionsport
des Rechners angeschlossen. Bei der Userport-Variante handelt es sich um
ein 10 poliges Flachbandkabel, wie es auch bei SpeedDOS+ verwendet wird.
Auf der Floppy-Seite des Kabels befindet sich ein Sockel, der zwischen
den Baustein 6522 (1541: Sockel UC3, 1541c: UC1) und der Floppyplatine
gesetzt werden muss. Sofern sich dieser Chip noch nicht auf einem Sockel
befindet, muss auch dieser erst ausgelötet werden. Gleiches gilt für
den Prozessor 6502 der Floppy (1541: Sockel UC4, 1541c: UC2). Dieser muss
auf die mitgelieferte Erweiterungsplatine gesteckt werden. Letztere nimmt
anschließend im Diskettenlaufwerk den Platz des Prozessors ein.
Das originale Betriebssystem der Floppy (DOS) muss im Falle der 1541
vollständig aus der Floppy entfernt werden (Sockel UB4). Professional
DOS verwendet statt dessen automatisch den, auf der Erweiterungsplatine
befindlichen Ersatz. Laut Anleitung [11] existierten aber Umschaltplatinen,
mit denen dieser Platz weiter genutzt werden kann.
Bei der 1541c wird das entfernte DOS gegen das mitgelieferte Professional
DOS-ROM ausgetauscht.
Zum korrekten Betrieb muss in jedem Fall das serielle Kabel auch weiterhin
angeschlossen bleiben (siehe Floppy-Handbuch). Bei späteren Professional
DOS Versionen musste noch die Steckbrücke (Jumper) J3 geschlossen
werden [16].
Auf Seiten der C128-Floppy 1571 wurde das Kernal-ROM (Sockel U2) gegen
das mitgelieferte ersetzt, sowie die Chips U1 (6502A) und U20 (je nach
Modell einer der Chips 6526A, 8520 oder 8521) entfernt [16].
Die Arbeitsweise
Professional DOS verwendet keine Tricks, wie das Zwischenspeichern
(Cachen) einer Ganzen oder Teile einer Diskettenseite in einem zusätzlichen
RAM. Statt dessen setzt das System auf eine hardwaremäßige GCR-Dekodierung
und die Erhöhung der Taktfrequenz (dazu später mehr). Hierdurch
wird erreicht, dass eine komplette Spur während einer Diskettenumdrehung
gelesen, dekodiert und zum Rechner übertragen werden kann ("Skew-Faktor
1") [16]. Der Speicherbaustein auf der Platine von 8 KByte RAM dient somit
nur noch für den Sonderfall, dass eine Datei nicht direkt zum C64
übertragen werden kann [12].
Dieser Werbeaussage zum trotz, wird in der Praxis dennoch ein ganzer
Track zwischengespeichert. Eine Ausnahme bildet lediglich eine Diskette,
die eine ganz bestimmte Professional DOS Formatierung besitzt. Nur in diesem
Fall können PRG-Dateien direkt von der Diskette zum C64 transferiert
werden, ohne dass sie zwischengespeichert werden müssen. Bei allen
normal formatierten Disketten, sowie bei allen anderen Dateitypen (SEQ,
REL, GEOS-Format) wird der Speicher als Track-Cache zwingend benötigt,
um die hohe Beschleunigung zu garantieren.
Um die Geschwindigkeit gegenüber einer unmodifizierten Floppy zu
steigern, greift Professional DOS als erstes zu einer Erhöhung der
Taktfrequenz. Hierdurch arbeitet das Laufwerk alle Befehle wesentlich schneller
ab, als dies normalerweise der Fall ist. Dem Nutzer von Professional DOS
steht hier neben einem 1 und 2 MHz Modus auch eine variable Taktung zur
Verfügung. Die variable Taktung verhindert im Gegensatz zum Dauerhaften
2 MHz-Betrieb eine übermäßige Erwärmung des Prozessors.
Wie an anderen Floppy-Speedern und der unter [1] als "Initial" bezeichneten
Version zu sehen ist, kann diese Wärmeentwicklung doch beträchtlich
sein und dem Prozessor im schlimmsten Fall sogar bleibende Schäden
zufügen.
Der nächste Trick besteht in der parallelen Übertragung der
Daten zum C64. Während bei der seriellen Verbindung die Daten immer
der Reihe nach in den C64 wandern, schaufelt Professional DOS immer 8 Bits
(= 1 Byte) gleichzeitig durch das Parallelkabel in den Speicher des Heimcomputers.
Der eigentliche Clou von Professional DOS liegt aber in der hardwaremäßigen,
Nibble-weisen (d. h. 4 Bit-weisen) GCR Umwandlung (Kodierung/Dekodierung).
Die Commodore-Laufwerke legen ihre Daten in einem speziellen Format auf
der Diskette ab ("GCR"-Format). Die Floppy muss also erst sämtliche
Daten vor dem Abspeichern in dieses Format umwandeln. Analoges gilt für
die Rückrichtung. Spezielle, zusätzliche Hardware auf der Erweiterungsplatine
unterstützt den Hauptprozessor beim Aufsplitten der Datenbytes in
einzelne Nibbles (8 Bit = 1 Byte, 4 Bit = 1 Nibble) und der GCR-Umwandlung.
Zum Verschicken über das Parallelkabel werden paarweise dekodierte
Nibbles wieder zu einem Byte zusammengefasst. Dies ist nicht ganz so einfach,
da von 5 Bytes im GCR-Format nach der Dekodierung nur noch 4 Bytes übrig
bleiben.
Dank der zusätzlichen Hardware ist der 6502-Prozessor nur noch
für den Datentransfer (Bytes) vom Lesekopf (Laufwerkskontroller) zur
GCR-Umwandlung, der Kombination kodierter oder dekodierter Nibbles zu Bytes
und dem Transport dieser weiter zum Parallelkabel zuständig.
Wie [12] beschreibt, erfolgt dies in 18 Zyklen, wodurch in bestimmten
Situationen sogar eine direkte Übertragung der Daten vom Lesekopf
in den C64 möglich wird (siehe oben). Andere Floppy-Speeder schaffen
dies nicht.
Das Betriebssystem der Floppy muss selbstverständlich diese Hardware
GCR-Umwandlung unterstützen. Hierzu wurde das originale DOS von Commodore
um entsprechende Routinen, bzw. Programmcode erweitert. Das Ergebnis befindet
sich in dem EPROM, welches sich wiederum auf der Floppy-Erweiterungsplatine
befindet (vgl. Abbildung 1; der Chip mit dem Klebestreifen). Neben den
schnellen GCR-Dekodierungsroutinen enthält das ROM noch einige große
Dekodierungstabellen. Letztere dienen zur weiteren Vereinfachung der Dekodierungsarbeit:
Nach dem Einlesen eines Datenbytes suchen die entsprechenden Betriebssystemroutinen
nach der, zur Dekodierung benötigten Tabelle. Anschließend erledigt
die Hardware den Rest, indem sie das Datenbyte in Nibbles aufteilt und
sie mit Hilfe der GCR-Tabellen dekodiert.
Der kleine Unterschied
Der Professional DOS Kernal für den C64 scheint im Laufe der Zeit
relativ unverändert geblieben zu sein [1]. So trifft man im Internet
immer wieder auf ein und dieselbe ROM-Version einer bestimmten Release-Variante.
Es ist anzunehmen, dass diese einfach nur am häufigsten verwendet
wurde (C64, 1541, Userportvariante).
Der wichtigste Unterschied zwischen der, unter [1] als "Initial" bezeichneten
Version und den Release-Varianten liegt in einer Veränderung der Adressierung:
Da die Platine für das Diskettenlaufwerk kleinen Änderungen unterworfen
wurde, mussten die DOS-Erweiterungen nebst den bereits angesprochenen Tabellen
für die Floppy in einen anderen (Speicher-)Bereich verschoben werden.
Möglicherweise ist diese Änderung auch für eine Steigerung
der Softwarekompatibilität verantwortlich, da die "Initial"-Version
im Gegensatz zu ihrem Release-Pendant mit einigen Programmen nicht zurecht
kommt.
Fazit
Hiermit soll der kleine Ausflug in die Hardware des Professional DOS
vorerst beendet werden. Eine detaillierte Arbeitsweise der Platine, sowie
weiteres Material rund um den Beschleuniger ist unter [1] zu finden.
Infos |
[1] Wolfang Mosers Seite rund um Professional DOS: http://d81.de/ProfessionalDOS
[2] http://groups.google.com/groups?threadm=2m4gcj%24k1e%40nigel.msen.com
[3] 64'er Sonderheft 25, "Welcher Floppy Speeder ist der richtige?",Markt
und Technik Verlag, Seite 18ff
[4] 64'er, Ausgabe 10/85, Markt und Technik Verlag, Seite 115
[5] 64'er, "So schnell wie der Wind...", Ausgabe 8/86, Markt und Technik
Verlag, Seite 22
[6] 64'er, Ausgabe 10/87, Markt und Technik Verlag, Seite 143
[7] 64'er, "C128 Sprinter im Vergleich", Ausgabe 1/88, Markt und Technik
Verlag, Seite 162ff
[8] 64'er, Ausgabe 3/88, Markt und Technik Verlag
[9] 64'er, Ausgabe 4/88, Markt und Technik Verlag
[10] 64'er, "Kampf der Giganten", Ausgabe 6/88, Markt und Technik Verlag,
Seite 30ff
[11] Anleitung Professional DOS Release 4 und 7 von 1986, siehe auch
[1] und [15]
[12] Preisliste und Werbematerial zu Professional DOS, Datiert auf
September/November 1986, siehe auch [1] und [15]
[13] 64'er, Ausgabe 3/87, Markt und Technik Verlag, Seite 125
[14] 64'er, Ausgabe 6/87, Markt und Technik Verlag, Seite 141
[15] Das iDOC-Projekt: eine Sammlung von alten Anleitungen rund um
den C64 http://www.softwolves.pp.se/idoc/
[16] Demodiskette, die VTS Data späteren Professional DOS Versionen
beilegte, siehe auch [1]
|
Version 1, veröffentlicht am 03.11.2002
Copyright (C) 2002 Tim Schürmann
Dieser Artikel wird unter der GNU Free Documentation License,
http://www.gnu.org/licenses/fdl.html,
veröffentlicht und kann frei kopiert werden, solange die Nennung des Autors und
der Internetquelle (
http://www.tim-schuermann.de
) erhalten bleibt.