Aus dem Buch „Scheibenkleister" von Claus Brod schon lange bekannt, gibt es nun einiges Neues über den CBHD zu berichten. Zunächst einmal ist er inzwischen Freeware und wird daher jetzt in die PD-Serie aufgenommen. Zum anderen wurde er intensiv überarbeitet und bietet einige besondere Schmankerln.
Dem Anwender fällt zunächst auf, daß der SCSI-Port des TT und des Falcon unterstützt werden. Auf beiden Ports wird nach vollem SCSI-2-Standard gearbeitet.
Dabei wird der Ablauf des Transfers vom Target, also der Festplatte, gesteuert und nicht vom Rechner.
Nachdem der Rechner das Gerät angesprochen hat, sagt die Festplatte, was als nächstes passiert. Dies ist ein wesentlicher Unterschied zu der beim ATARI üblichen Methode, der Festplatte den Ablauf vorzuschreiben. Damit sollte jede heute erhältliche Festplatte ohne Probleme benutzbar sein.
Die Unterstützung von Wechselplatten unterscheidet sich zu dem sonst auf dem ATARI üblichen Verfahren: normalerweise werden für Wechselplattenlaufwerke feste Partitionen vorgegeben. Damit hat man entweder ein paar „Leichen“ auf dem Desktop, wenn ein Medium mit weniger Partitionen eingelegt ist, oder man kann nicht alle Partitionen ansprechen, wenn man später ein Medium mit mehr Partitionen einlegt.
CBHD dagegen meldet immer die Partitionen an, die gerade auf dem eingelegten Medium existieren. Benutzt man nun ein geeignetes Desktop (z.B. Gemini), so erscheinen die Laufwerks-Icons auf dem Desktop, wenn man ein Medium einlegt, und sie verschwinden wieder, wenn man das Medium entnimmt.
Selbstverständlich unterstützt CBHD auch Hintergrund-DMA unter MagiC und auch Laufwerke über P hinaus. Bei MagiC können Laufwerke bis Z benutzt werden, in Zusammenarbeit mit BIGDOS sogar weitere 6 Laufwerke. Für BIGDOS werden auch alle nötigen XHDI-Funktionen unterstützt.
Eine wesentliche Funktion des CBHD ist der integrierte SCSI-Treiber. Schon immer fehlte dem Betriebssystem des ATARI ein Teil, um die Geräte anzusprechen. Abgesehen davon, daß jeder Programmierer, der die SCSI-Geräte ansprechen will, eigene Libraries schreiben mußte, ergeben sich daraus auch Kollisionsprobleme. Bei Multitasking-Systemen ergibt sich sehr leicht das Problem, daß bei mehreren Programmen, die alle ihre eigenen SCSI-Routinen besitzen, Kollisionen der Programme auftreten. Daher sollte grundsätzlich eine Schnittstelle immer nur von einem Treiber bedient werden, was nicht nur für die SCSI-Schnittstelle gilt, sondern grundsätzlich für jede Schnittstelle. Im Prinzip entspricht dies genau der Problematik, die sich auch bei unsauberen Programmen ergibt, die direkt in den Bildschirmspeicher schreiben und nicht über das VDI gehen.
Um diese Probleme zu beseitigen, besitzt CBHD eine Software-Schnittstelle, mit der die Zugriffe auf die Geräte möglich gemacht werden. Über diese Schnittstelle werden auch alle Geräte bedient, und nicht nur die Festplatten, also z.B. Scanner, Streamer, CD-ROMs oder beliebige andere SCSI-Geräte.
Für die Software, die diese Schnittstelle benutzt, ergibt sich daraus noch ein weiterer großer Vorteil: die Software ist dadurch hardwareunabhängig. Auf einer anderen Hardware-Plattform kann man damit ohne Änderung an seinen Programmen auf die SCSI-Geräte zugreifen. Für MagiCMac existiert bereits ein solcher Treiber. Da CBHD selbst auch nur auf den eigenen SCSI-Treiber zugreift, gibt es ein CBHD-Exemplar, das selbst keine SCSI-Routinen besitzt und damit auf dem Mac unter MagiCMac läuft. Dadurch steht auch für den Mac ein Festplattentreiber zur Verfügung, der XHDI unterstützt und mit dem man dann ohne große Probleme Wechselmedien nutzen kann. Der ständige Wechsel zur Mac-Seite entfällt damit endlich, vorausgesetzt, man arbeitet auch hier nur auf einer Seite mit einem Treiber. Auch beim Mac gilt, daß nur ein Treiber ein Gerät bedienen sollte, da es sonst zu Kollisionen bzw. zu Problemen beim Informationsaustausch kommt.
Einige Programme setzen auch bereits auf diesen Treiber auf, wie z.B. GE MAR oder das CD-ROM-XFS für MagiC und MiNT, und laufen damit auch ohne Änderung auf MagicMac.
Für die Benutzung des Interfaces, also für die Programmierung von Anwendungen, gibt es umfangreiche Libraries in Modula und C, um den Treiber anzusprechen. Damit sollte es für niemanden ein Problem darstellen, SCSI-Geräte zu bedienen.
Bei den technischen Interna sind auch noch einige feine Details zu finden: Am ACSI-Port werden ICD-Host-Adapter und ALIA-Host-Adapter unterstützt. Für beide Host-Adapter gibt es einige Spezialitäten, deren Unterstützung zusätzliches Leistungspotential ergibt. Bei den ICD-Adaptern ist dies die Möglichkeit, auch Kommandos der Kommandoklasse 1 zu übertragen. Damit können auch Festplatten größer als 1 Gigabyte ohne Probleme am ACSI-Port benutzt werden. Für den ALIA-Adapter, der als Projekt in der Zeitschrift c’t erschien, gibt es die Möglichkeit, mehrere Geräte anzusprechen.
Der ALIA koppelt die Geräte in nicht ganz ATARI-kompatibler Weise an, besitzt dafür aber einige zusätzliche Fähigkeiten, die von CBHD (und natürlich dem SCSI-Treiber) voll unterstützt werden. Dazu gehört unter anderem auch die Möglichkeit, SCSI-Kommandos höherer Klasse zu verschicken.
Auf den echten SCSI-Bussen, also am Falcon und am TT, besteht auch die Möglichkeit zum Parity-Checking. Der Parity-Check ist dazu da, um die Übertragung der Daten zu kontrollieren. Damit erhöht sich die Datensicherheit auf den Geräten.
Auf dem SCSI-Bus des TT besteht zusätzlich die Möglichkeit, mit Disconnect zu arbeiten. Unter MagiC hat man damit bei langsamen Geräten, wie CD-ROM oder Streamer, erheblich größere Zeitgewinne als nur mit dem Hintergrund-DMA. Wer viel mit CDs zu tun hat, wird das sehr begrüßen. Natürlich gilt dies nur für Programme, die über das Treiber-Interface arbeiten.
Trotz des angestiegenen Verwaltungsaufwands gehört CBHD noch immer zu den schnellsten Plattentreibern, die es für den ATARI gibt.
Leider besitzt CBHD ein wesentliches Manko: er unterstützt keine IDE-Platten.
Auch wenn dies angesichts der etwas unfeinen IDE-Platten verständlich sein mag, so ist es dennoch schade, daß Anwender mit einer IDE-Platte CBHD nicht benutzen können.
Weiterhin liegt ein Konfigurationsprogramm bei, mit dem die Parameter des Treibers eingestellt und Platten formatiert und partitioniert werden können. Leider sind noch nicht alle vorgesehenen Funktionen integriert, aber alles Wesentliche ist bereits parametrierbar.
Die Dokumentation des CBHD ist auch relativ dünn. Der SCSI-Treiber ist für Programmierer zwar umfangreich und detailliert dokumentiert, aber der Teil für den Anwender, der „nur“ den Festplattentreiber benutzen möchte, läßt doch viele Fragen offen. Im Prinzip jedoch sind die Installation und Konfiguration auch nicht problematischer als bei anderen Festplattentreibern, so daß man im allgemeinen dennoch ohne große Probleme damit zurecht kommt.
JH
Autor: Steffen Engel
ST-PD: Nummer 889
Status: Freeware (Shareware)