HD-Module: Unterschied zwischen den Versionen

Aus Atari Wiki-NEU
Zur Navigation springenZur Suche springen
Zeile 53: Zeile 53:


Ich übernehme keinerlei Haftung für durch den Nachbau und Einsatz des Moduls entstehende Schäden.
Ich übernehme keinerlei Haftung für durch den Nachbau und Einsatz des Moduls entstehende Schäden.
Quelle: Torsten Lang
[http://www.torstenlang.de Webseite von Torsten Lang] wo auch die Archive liegen!

Version vom 16. März 2007, 21:16 Uhr

HD Modul

Allgemeines

Bei Atari Computersystemen gehören HD-Laufwerke seit ein paar Jahren zur Standardausstattung. Allerdings sind nur wenige Modelle wie Atari TT, MEGA STE und Falcon von Hause aus auf den Betrieb mit HD-Laufwerken eingerichtet. Und selbst diese Geräte wurden mit Ausnahme des Falcon nicht von Anfang an mit HD-tauglichen Controllern oder fehlerfreier Hardware ausgeliefert. Übrigens ist für einen zuverlässigen HD-Betrieb zwingend ein Atari "Ajax" Controller erforderlich. Der oft empfohlene WD1772-0202 reicht - soweit es meine Erfahrungen betrifft - nicht aus.

Konzepte

Zum Betrieb von HD-Laufwerken gibt es zumindest fünf verschiedene Ansätze, von denen einer etwas aus dem Rahmen fällt:


  • Einsatz eines speziellen HD-Laufwerks

Dieser Ansatz stammt aus der Amiga-Welt, ist aber auch auf Atari-Systeme übertragbar. Beim Amiga ist die Taktung und die Datenübertragung per DMA wesentlich enger mit dem Timing des gesamten Chipset verzahnt als bei Atari-Systemen. Genauer gesagt handelt es sich bei dem Floppy-Controller des Amiga gar nicht um einen eigenständigen Baustein. Daher war es für Commodore unmöglich, die HD-Tauglichkeit durch eine einfache Modifikation des Chipset zu integrieren. Wenn man allerdings den Controller nicht zu höheren Datenraten bewegen kann, dann bleibt noch die Möglichkeit, das Floppy-Laufwerk so zu modifizieren, daß die Daten auch im HD-Betrieb mit der für den DD-Betrieb typischen Datenrate geliefert werden. Kurz und gut: Amiga HD-Laufwerke erkennen den Disketten-Typ selbständig und drehen bei eingelegter HD-Diskette lediglich mit 150UPM anstelle der üblichen 300UPM. Ursprünglich wurden diese Laufwerke von Chinon (Modell FZ-357A) für Commodore gefertigt. Aus eigener Erfahrung kann ich sagen, daß diese Laufwerke zuverlässig ihren Dienst verrichten. Leider sind diese Laufwerke nicht mehr erhältlich, so daß von einigen Händlern wie z. B. Mikronik modifizierte PC-Laufwerke angeboten werden. Hier gab es in der Anfangszeit Probleme mit der Betriebssicherheit, allerdings arbeitet auch mein Mikronik-Laufwerk problemlos.

Beim Betrieb am Atari gibt es lediglich eine Besonderheit zu beachten: Ohne eingelegte Diskette meldet das Laufwerk "kein Schreibschutz", während ein Atari die gegenteilige Rückmeldung benötigt, um Diskettenwechsel zuverlässig zu erkennen. Allerdings gibt es das Problem auch bei Chinon-Laufwerken, die von Atari selbst verbaut wurden.

Diese Lösung bietet sich insbesondere dann an, wenn der betreffende Atari nicht bereits über eine HD-Logik vefügt und Lötarbeiten nicht in Frage kommen.


  • Softwaremäßige Taktfrequenzumschaltung des Controllers

Diese Variante ist im Atari TT und MEGA STE und wohl auch im Falcon anzutreffen, findet sich aber auch bei einigen der ersten HD-Module. Hier kann über einen nicht offiziell dokumentierten Port (Atari) oder einen bisher unbenutzten Soundchip-Pin (HD-Module von Drittanbietern) die Taktfrequenz des Controllers zwischen 8MHz (DD-Betrieb) und 16MHz (HD-Betrieb) umgeschaltet werden. Um die korrekten Stepraten einzuhalten, kann die Taktfrequenz entweder zeitweise auf 8MHz reduziert werden, andererseits ist es möglich, eine halb so schnelle Steprate zu wählen (also im HD-Betrieb 6ms, um real 3ms zu erzielen). Diese Lösung ist zwar einfach zu realisieren, allerdings zugleich auch die schlechteste, da sie nicht kompatibel ist. Speziell Software, die den Controller direkt ansteuert, muß eine solche HD-Logik kennen, ansonsten wird sie im HD-Betrieb versagen.


  • Hardwaremäßige Taktfrequenzumschaltung, Anpassung der Steprate per Software

Diese Lösung hat ebenfalls bereits sehr früh Einzug in verschiedene HD-Module gefunden. Die Taktfrequenz wird hier bereits automatisch umgeschaltet, allerdings muß entweder die Steprate dauerhaft langsam (für 3,5"-Laufwerke 6ms) eingestellt werden, oder es wird ein entsprechender Treiber im Betriebssystem benötigt.

Der Vorteil dieser Lösung gegenüber 2. ist, daß weniger Seiteneffekte zu erwarten sind, weil keine Hardware-Komponenten wie der Soundchip in das Konzept einbezogen werden, allerdings bleibt das Problem der Inkompatibilität mit Software, die den Controller direkt ansteuert.


  • Hardwaremäßige Taktfrequenzumschaltung, Anpassung der Steprate per Monoflop

Diese Variante ist auf aktuellen HD-Modulen meist anzutreffen. Sie bleibt auch weitestgehend für Software transparent, die den Controller direkt ansteuert. Um die Steprate für 3,5"-Laufwerke anzupassen, wird die Taktfrequenz bei jeder Kopfbewegung (Step-Impuls) für etwas weniger als 3ms auf 8MHz reduziert.


  • Hardwaremäßige Taktfrequenzumschaltung, Umcodierung der Stepraten

Diese Variante wird in dem hier vorgestellten Modul verwendet. Hierzu muß allerdings der Controller gesockelt werden, da nicht nur die Taktleitung, sondern auch einige der Datenleitungen durch das Modul angesteuert werden. Im HD-Betrieb muß der Takt zum Steppen nicht ständig umgeschaltet werden. Stattdessen erkennt das Modul, wenn der Controller Step-Befehle erhält und paßt die im Befehl codierte Steprate an die jeweiligen Erfordernisse an. Daher ist diese Variante auch für ausgefallene Anforderungen geeignet.

In dem hier vorgestellten Modul wurde eine weitere Spezialität integriert, die ich bisher bei keinem anderen Modul gesehen habe: Damit das Laufwerk bei nicht eingelegter Diskette nach dem Booten nicht endlos selektiert bleibt (woran sich angeblich einige Treiber stören), erzeugt das Modul selbst Index-Impulse mit niedriger Frequenz, wenn das Motor On Signal aktiv ist, aber keine Index-Impulse geliefert werden. Nach einigen Impulsen schaltet dann nämlich der Controller den Motor des Laufwerks ab, und das Betriebssystem deselektiert das Laufwerk. Die Indeximpulserzeugung bringt auch bei anderen Programmen, die den Controller direkt ansteuern, wie viele ältere Spiele, Vorteile. Ein solcher Kandidat ist z. B. das Spiel "Powermonger", das das Laufwerk sofort nach einem Zugriff deselektiert. Die Folge ist, daß der Motor beliebig lange weiterläuft und so Diskette und Laufwerk vorzeitig zerstört werden - und alles nur um nach Zugriffspausen ca. 1s für das Wiederanlaufen des Motors zu sparen. Support / Haftung / Rechtliches

Konzept und Modul dürfen für private Zwecke frei verwendet werden. Eine kommerzielle Nutzung ohne meine schriftliche Genehmigung ist hiermit ausdrücklich untersagt und wird gerichtlich verfolgt.

Die Hardware wird, so wie sie hier vorliegt, zur Verfügung gestellt. Ein darüber hinausgehender Support ist nicht gegeben.

Ich übernehme keinerlei Haftung für durch den Nachbau und Einsatz des Moduls entstehende Schäden.

Quelle: Torsten Lang

Webseite von Torsten Lang wo auch die Archive liegen!