Unterthema: Stückliste
Unterthema: PALs
Unterthema: Erprobte SCSI-Geräte
Unterthema: Controller-Nummern
Unterthema: Datei WINCAP für altes Atari HDX.PRG
Unterthema: Datei WINCAP für neues Atari HDX.PRG
Unterthema: Transfergeschwindigkeiten im Vergleich
Bitte beachten Sie auch diese Ergänzungen!
Über SCSI brauche ich nicht mehr allzu viel zu schreiben; in c't 11/89 wurde dieses Thema in epischer Breite behandelt. Festplatten mit integriertem SCSI-Controller sind inzwischen zu Preisen lieferbar, die mit denen `diskreter´ Adapterkombinationen durchaus vergleichbar sind. Dabei ist die SCSI-Lösung um einiges schneller, eleganter und zukunftssicherer. Die Hardware-Voraussetzungen sind beim Atari ST allerdings so beschaffen, daß man bei vernünftigem Aufwand nur einen Kompromiß erzielen kann. Die Alternative lautet: voller SCSI-Standard oder volle Software-Kompatibilität inklusive Autoboot-Fähigkeit. Ich habe den zweiten Weg gewählt.
Wer sich schon einmal näher mit dem Atari-DMA-Port beschäftigt hat, dem wird vielleicht die Ähnlichkeit der dort entspringenden Signale mit denen des SCSI-Standards aufgefallen sein. In der Tat schafft es auch Atari, am DMA-Port einen SCSI-Controller (von Adaptec) zu betreiben. Warum man hier nicht gleich Nägel mit Köpfen gemacht hat, wird ein ewiges Geheimnis weniger Marktstrategen bleiben. (Man erzählte in diesem Zusammenhang allerdings auch von Schaltungsdesignern, die ihre Hose mit einer glühenden Kneifzange zumachten ...)
Die in diesem Beitrag vorgestellte Alternative ist zur Atari-Harddisk kompatibel und kann daher ohne Diskette von einer SCSI-Platte booten. Der Atari ST bedient so bis zu zwei SCSI-Geräte und darf deren erweiterte Kommandos benutzen, so daß man auch Tape-Streamer, Scanner oder Wechselplatten einsetzen kann (entsprechende Treiber-Software vorausgesetzt). Alternative Betriebssysteme und Emulatoren wie RTOS-UH/PEARL, OS-9, PC-Ditto, PC-Speed, Supercharger, Aladin oder Spectre können mit ihren Atari-kompatiblen Winchester-Treibern ohne Änderungen auf die Festplatte zugreifen.
Um es also noch einmal ganz deutlich zu machen: Künftig stehen zwei c't-Vorschläge zum Anschluß von Festplatten an den Atari ST zur Wahl. Der DMA-XT-Adapter ermöglicht den Betrieb eines OMTI-Controllers 5520 oder 5527 für XT-Computer mit dazu passender Festplatte (baugleiche Controller aus Fernost sind jetzt als `OMTI-Kompatible´ wieder erhältlich). Diese Lösung erfordert ein eigenes Treiberprogramm. Der DMA-SCSI-Adapter dagegen läuft auch mit der Original-Treibersoftware von Atari und mit kompatiblen Treibern alternativer Betriebssysteme. Beide c't-Adapter können wahlweise mit Transputer-Links kombiniert werden.
Links sind die bis zu 20 MBaud schnellen seriellen Schnittstellen, über die Transputer untereinander oder mit anderen Rechnern kommunizieren. Der Aalener Link-Anschluß ist eine von der DOIT (Deutsche Occam Interessengemeinschaft der Transputeranwender) auf einem Treffen in Aalen genormte Verbindung. Zur Übertragung der Daten werden hierbei Differential-Treiber und -Empfänger benutzt, die selbst bei höchster Übertragungsrate Kabellängen von einigen Dutzend Metern erlauben. Derjenige, der sich jetzt für den `linken Teil´ interessiert, kann darüber alles in der früheren Veröffentlichung [1] nachlesen. Die in diesem Zusammenhang bereits vorgestellte XBIOS-Erweiterung zum Betrieb der Links ist unverändert nutzbar.
Einen ähnlichen Zweck erfüllt das LC-Glied L1/C5, das den Video-Shifter im Atari vor einem ungewollten Reset schützt. Dieser Baustein reagiert mit üblem Bildschirm-Geflimmer sehr allergisch (Designfehler!) auf minimale Spikes und Störungen auf der NotRes-Leitung. Die beiden Kondensatoren C5 und C6 stehen deshalb aus denselben Gründen dem OMTI-Adapter aus [1] auch nicht schlecht. Grundsätzliche Erläuterungen zur Funktion des DMA-Ports finden Sie in der c't-Kartei [4].
Eine eher marginale Änderung betrifft das Platinen-Layout; wegen der etwas beengteren Platzverhältnisse mußten die beiden D-Sub-Buchsen, die auf dem ALIA mit OMTI-Slot vorhanden sind, bei diesem Entwurf entfallen. Der Anschluß an die DMA-Port-Buchse erfolgt also über die Pfostenleisten und Flachbandkabel. Da die Karte in den meisten Fällen samt Festplatte in ein Gehäuse verfrachtet werden dürfte, ist diese Lösung ohnehin die flexiblere.
Alle Daten- und Steuerleitungen des SCSI-Bus müssen an beiden Enden durch Widerstände von 330 Ohm gegen Masse und 220 Ohm gegen +5 V abgeschlossen sein; beim SCSI-ALIA erfolgt dies mit den Widerstandsarrays RN1 bis RN4, SCSI-Platten enthalten meist steckbare Arrays. Damit ist gewährleistet, daß die Leitungen korrekt terminiert sind und auf inaktivem Pegel liegen, wenn kein Gerät auf den Bus zugreift. Die TermPwr-Leitung versorgt die Abschlußwiderstände am Ende der Gerätekette mit Spannung, so daß eine Übertragung auch dann funktioniert, wenn das letzte Gerät am Bus gar nicht eingeschaltet ist.
Im Ruhezustand (bus free phase) liegen NotBsy und NotSel auf logisch 1. Geräte, die über den Bus auf andere zugreifen wollen (sogenannte Initiatoren), müssen sich zunächst in einer Schlichtungsphase (arbitration phase) einigen, wer als erster an den Bus darf. In der SCSI-Hierarchie steht das Gerät mit der Adresse 7 ganz oben, die letzte Stufe belegt Gerät 0.
Erkennt ein Initiator am Zustand der Datenleitungen, daß ein anderer mit höherer Priorität einen Zugriff versucht, muß er weichen und seine Signale wieder vom Bus nehmen. Anderenfalls hat er freie Bahn und kann sich seinen Kommunikationspartner (Target) in der Selektionsphase aussuchen. Diese Phase leitet er mit dem Setzen von NotSel auf log. 0 ein. Das gewünschte Zielgerät wiederum wird durch Aktivieren einer der Adresse entsprechenden Datenleitung bestimmt. Die Adresse des Initiators bleibt in dieser Phase auf dem Bus stehen.
Die Beschreibung dieser beiden ersten Phasen eines Zugriffes genügt normalerweise zur Abschreckung und verdeutlicht die Komplexität dieser Schnittstelle. Von einem (unintelligenten) SCSI-Adapter an dem einfach strukturierten DMA-Port darf man daher keine Wunder erwarten. Eine vollständige Implementierung wäre nur mit einem zusätzlichen SCSI-Controller wie etwa dem NCR 5380 möglich; der Preis der Schaltung würde damit jedoch unnötig in die Höhe getrieben, und die Kompatibilität zur Atari-Harddisk wäre dahin. Dennoch konnte ich einige schmerzliche Einschränkungen, die beim originären Atari-Adapter gegeben sind, überwinden; doch dazu später mehr.
Zunächst zu den Dingen, die nicht gehen: Der SCSI-ALIA unterstützt kein Multi-Initiator-System; der ST ist immer der Initiator. Es lassen sich nicht mehr als zwei Geräte (Targets) adressieren, und sogenannte Messages und damit verwandte Funktionen fallen auch flach. Messages sind übrigens kleine Datenblöcke, die jedes Gerät am SCSI-Bus zu Abstimmungszwecken jederzeit über den Bus schicken kann.
Weil der SCSI-ALIA immer zwei Adressen belegt (eine für den Link-Adapter, die andere für den SCSI-Adapter), sind nur zwei Steckbrücken nötig, um die Geräte-Adresse einzustellen; dies sind die Jumper J21 und J22. Zwischen Link- und SCSI-Zugriff wird durch das höchste Bit, D7, unterschieden: eine `1´ adressiert die Links, eine `0´ den SCSI-Bus.
Ist D7=0 und stimmen D5 und D6 mit der eingestellten Adresse überein, geht das Signal SAkt (SCSIAktiv) auf log. 1. Das löst dann durch eine Verknüpfung im PAL 16L8 die Aktivierung des Signals NComE (NotCommandEnable) aus. NComE bleibt durch Rückkopplung auf sich selbst, eine sogenannte `Selbsthaltung´, in diesem Zustand, bis das erste Kommando-Byte zum SCSI-Gerät übertragen worden ist.
NComE liegt an einem der beiden Freigabeeingänge des Treibers 74ALS540 (IC23). Dieser wird aber erst `eingeschaltet´, um das erste Kommando-Byte zu übertragen, wenn das Zielgerät dies mit NSReq (NotSCSIRequest) anfordert.
Durch die Selbsthaltung des NComE-Signals `merkt sich´ der Adapter die Selektierung bis zum Abschluß der vorangehenden Übertragung. Manchmal folgen nämlich die Befehle an ein SCSI-Gerät zu schnell aufeinander, und kann es passieren, daß das adressierte Gerät den Bus mit NBsy=1 noch nicht wieder freigegeben hat; dann würde der folgende Befehl ignoriert werden. Dieses Problem trat bei einem Prototyp des Adapters insbesondere mit dem neuen Atari-Festplatten-Manager HDX V3.0 auf und konnte durch den Trick mit der Zwischenspeicherung teilweise gelöst werden.
Gibt das SCSI-Gerät den Bus mit NBsy=1 (NotBusy) frei, so wird NSSel aktiviert. Gleichzeitig selektiert das PAL IC19 entsprechend der an SelI0 anliegenden Adresse über einen der Ausgänge SelO0 und SelO1 eines der zwei möglichen Geräte. Das Eingangssignal stammt aus dem Latch IC20.
Wie schon erwähnt, wird ein SCSI-Gerät in der Selektionsphase nicht durch einen Binärcode adressiert, sondern durch `Ziehen´ an einer der Adresse entsprechenden Datenleitung. Deshalb können, weil keine weiteren PAL-Ausgänge mehr frei sind, an den SCSI-ALIA `nur´ bis zu zwei Geräte angeschlossen werden. Verglichen mit dem Atari-Adapter, der nur einen Controller bedienen kann, ist das aber immerhin eine Verdopplung der Möglichkeiten; und notfalls lassen sich mehrere SCSI-ALIAs hintereinanderschalten.
Durch die Selektierung fühlt sich nun hoffentlich ein Zielgerät angesprochen und fordert mit NSReq=0 (NotSCSIReq, NotReq am SCSI-Bus) sein erstes Kommando-Byte an. Dieses Byte kann aber nicht direkt vom DMA-Port übernommen werden, weil in den oberen drei Bits die DMA-Adresse steht. Bei der Atari-Lösung werden diese Bits auf 0 gesetzt. Dadurch schränkt man aber die Möglichkeiten des Adapters stark ein, weil nur Kommandos mit den Nummern von 0 bis 31 gesendet werden können, die übrigen (ab Gruppe 2) jedoch nicht. Daher habe ich dem SCSI-ALIA den schon erwähnten Extratreiber IC23 spendiert, der jetzt durch seine beiden Freigabeeingänge (NComE=0, NSReq=0) aktiviert ist. Die oberen drei Bits kommen aus dem Latch IC20 und können somit frei bestimmt werden. Das bedeutet: alle SCSI-Kommandos stehen zur Verfügung.
Das Anliegen des ersten Bytes wird vom ALIA-SCSI durch NSAck=0 (NotAck am SCSI-Bus) bestätigt. NotAck hält sich so lange, bis NotReq und NComE desaktiviert sind (Flipflop-Funktion). Damit wären die Selektierung und die Übertragung des ersten Kommando-Bytes abgeschlossen. Na, mitgekommen ?
Leider entspricht das Handshaking, also das `Abklatschen´ der einzelnen Bytes, nicht ganz dem asynchronen Verfahren des SCSI-Bus. Der DMA-Chip des ST läßt die Signale NotSel für den Einzel-Byte-Modus und NotAck für den DMA-Betrieb nur für eine bestimmte Zeitspanne aktiv (etwa 250 ns) und wartet nicht, bis die Anforderung NotReq zurückgenommen wird. Die oben beschriebene Zwischenspeicherung in den Latches und die künstliche Verlängerung von NSAck (NotAck am SCSI-Bus) sollen dieses Manko beheben.
Wenn das erste Kommando-Byte automatisch nach der Selektierung übertragen worden ist, folgen die restlichen im Einzel-Byte-Modus. Sie werden ebenfalls durch das Signal NotReq (NSReq) angefordert, das auf den Interrupt-Eingang NInt des DMA-Ports geleitet wird. Die Software prüft, ob NInt aktiv ist; falls ja, wird das nächste Byte ausgegeben. Dies wiederholt sich, bis das Kommando komplett ist, was das SCSI-Gerät durch Setzen von DNotC (DNotC=0) anzeigt. Danach geht´s im DMA-Modus weiter: NotReq des SCSI-Anschlusses wird auf den gleichnamigen Pin des DMA-Ports gelegt, und der DMA-Chip erledigt flugs jede Anforderung. Jedes Lesen oder Schreiben eines Bytes wird durch NotAck (NotAck=0) quittiert.
Bei diesen Tests sollten Sie insbesondere auf einen einwandfreien Floppy-Betrieb achten. Die Diskettenlaufwerke werden nämlich ebenfalls über den DMA-Chip gesteuert, und die gemeinsamen Datenleitungen liegen ungepuffert am DMA-Port. Nun ist es schon passiert, daß durch einen defekten Adapter oder falsche Verdrahtung des Anschlußkabels bei einem Schreibvorgang wichtige Daten auf der Diskette zerstört wurden. Deshalb lieber einen Schreibtest mit einer leeren Diskette durchführen.
Ist der Adapter geprüft und für einwandfrei befunden, können Sie (fast) alle Vorteile der intelligenten SCSI-Geräte nutzen. An erster Stelle steht natürlich der Anschluß von SCSI-Festplatten, die meist schneller und besser ausgestattet sind als die herkömmlichen Harddisk-Controller-Kombinationen.
Infolge der erwähnten Abweichungen vom Standard kann ich allerdings nicht garantieren, daß jedes beliebige SCSI-Gerät problemlos an dem Adapter betrieben werden kann. Wer nicht zufällig die Möglichkeit zum kostenlosen Ausprobieren geboten bekommt, sollte sich zunächst an die Empfehlungen halten, die in den nächsten c't-Ausgaben noch ergänzt werden.
Beim Anschluß von SCSI-Geräten muß man darauf achten, daß die SCSI-Adresse stimmt und die Parity-Option abgeschaltet ist. Diese Dinge lassen sich meistens durch vier benachbarte Jumper auf dem Controller erledigen. Sorgen Sie auch für die korrekte Einstellung der DMA-Controllernummer durch die beiden Jumper auf der Adapter-Platine.
Schwierigkeiten bereiten ältere Programmversionen (<3.0): Der Befehlssatz des von Atari eingesetzten Adaptec-SCSI-Controllers ist nämlich nicht vollständig kompatibel zu den üblichen Kommandos. Problempunkt ist das Mode Select Command, das dem Adaptec-Controller die physikalischen Daten der angeschlossenen Platte mitteilt. Die modernen SCSI-Laufwerke mit integriertem Controller kennen diese Daten schon und müssen den Befehl nicht erhalten, zudem ist das Befehlsformat ein anderes. Dies führt dazu, daß das HDX.PRG jedesmal eine Fehlermeldung erhält und die Formatierung abbricht.
Dies kann man aber durch einen kleinen Patch verhindern. Man muß nur in HDX.PRG mit einem Disketten-Monitor die Byte-Folge 80 BC 00 15 00 8A durch 80 BC 00 08 00 8A ersetzen. Dann erhält die SCSI-Festplatte statt des Kommandos Mode Select einen Lesebefehl. Dieser Lesebefehl soll nur die Software zufriedenstellen und gibt keine Fehlermeldung zurück. Schon formatiert HDX.PRG auch fremde Platten.
Bei der Anpassung der WINCAP-Datei ist zu beachten, daß alle SCSI-Platten Platz zur Verwaltung defekter Spuren benötigen. Die Atari-Software errechnet aus den physikalischen Daten die Kapazität für die Partitionierung; deshalb müssen diese Werte entsprechend vermindert werden, damit einige Datensektoren frei bleiben. Faustregel: teilen Sie die vom Hersteller angegebene Anzahl von logischen Sektoren durch die Anzahl der Köpfe und der Sektoren pro Spur und setzen Sie das abgerundete Ergebnis als Zylinderzahl ein.
Bei der neuen Version 3.0 der Atari-Festplattensoftware gibt es dieses Problem nicht, weil eine neue Option zum Abschalten des Mode Select Command eingeführt wurde (siehe Beispieldatei). Offenbar hatte Atari mit dem SCSI-Wechselplattenlaufwerk von Syquest in der Megafile 44 dieselben Schwierigkeiten. Setzt man diese Option ein, muß man sich auch keine Sorgen mehr um die korrekte Anzahl der Sektoren machen. Die fragt HDX nämlich per Mode-Sense-Kommando automatisch ab.
Verfügen Sie nicht über den Atari-Treiber, benutzen Sie eine Quantum-Platte oder wollen Sie weitere Möglichkeiten des SCSI-ALIA nutzen, so benötigen Sie die Diskette `SCSI-ALIA-Treiber´, die in Kürze bei der eMedia-GmbH erhältlich sein wird. Der gesamte Quellcode der in Modula geschriebenen Programme ist auf der Diskette enthalten. Mit Hilfe der grundlegenden Module ist dann auch die Anpassung an andere SCSI-Geräte möglich.
Was bringt die c't-SCSI-Lösung im Vergleich zu anderen? Die Antwort hängt wesentlich von der Wahl des Laufwerks ab: Vergleicht man die Atari-Festplatte SH205 und einen SCSI-ALIA mit Seagate ST157N-0 (dem langsamsten Laufwerk dieser Baureihe), so liegt der SCSI-ALIA beim Lesen eines konkreten Files schon mit rund 150 KByte/s Vorsprung vorn. Die Testergebnisse einiger im Handel befindlicher Fertiglösungen (siehe Bericht in dieser Ausgabe) zeigen, daß mit schnelleren Platten noch bessere Transferraten zu erzielen sind. So schafft der SCSI-ALIA mit der Quantum P40S sogar 197 KByte/s beim Schreiben und 454 KByte/s beim Lesen von Dateien. (cp)
[2] Helge Schulz, EingekLinkt, Teil 2: Programmierung des Atari-Link-Adapters, c't 2/89, S. 174
[3] Helge Schulz, EingekLinkt, Teil 3: Software für OMTI- Controller, c't 3/89, S. 224
[4] Max Böhm, Der DMA-Port des Atari ST, c't 3/88, S. 265
[5] Hans Müller, SCSI - schnell und intelligent, c't 8/87, S. 183
Halbleiter, ICs
IC11 PAL20L8 (progr.)
IC12 74LS245
IC13 74LS05
IC14, 15 74LS273
IC16 74F138
IC17 74F08
IC18 74F244
IC19 PAL16L8 (progr.)
IC20 74LS273
IC21 74ALS576
IC22 74ALS580
IC23 74ALS540
LED
Kondensatoren
5 × CB ungepolt 100 nF
1 × CB gepolt 10 µF tantal
C5 56 pF
C6 33 pF
Widerstände
RN1 Array 8 × 220 Ohm
RN3 Array 9 × 220 Ohm
RN2,
RN4 Array 8 × 330 Ohm
R33 ... R36 2,2 kOhm
R37 470 Ohm
R38 ... R41 68 Ohm
Diverses
L1 68µH Miniaturdrossel
brechbare Pfostensteckerleisten für Jumper J21, J22
2 × 20poliger, 1 × 50poliger Platinenverbinder für Flachbandkabel
2 Lötnägel (1 mm)
Platine DMA-SCSI-Adapter oder ALIA-SCSI (mit Transputer-Links)
PAL20L8 ATARI-LINKADAPTER-SCSI PAL: ALIA V4.0 PAL20L8 _____ _____ | \__/ | Input LNOTS -| 1 24 |- VCC Input SORLAKT -| 2 23 |- BA1 Input Input INTE1 -| 3 22 |- INT three out Input /BNACK -| 4 21 |- DATAE three I/O Input INTE0 -| 5 20 |- RWE three I/O Input INTE2 -| 6 19 |- NINT three I/O Input STOPDMA -| 7 18 |- DRQ three I/O Input /NSREQ -| 8 17 |- RSEL three I/O Input DNOTC -| 9 16 |- NDMASEL three I/O Input /NLINK -| 10 15 |- LATCHE three out Input BRNOTW -| 11 14 |- /BNSEL Input GND -| 12 13 |- /NERROR Input |____________| Atari-Linkadapter-SCSI PAL: ALIA V4.0 Helge Schulz, 17.11.89
;Pins LNotS SOrLAkt IntE1 /BNAck IntE0 IntE2 StopDma /NSReq DNotC /NLink BRNotW Gnd /NError /BNSel LatchE NDmaSel RSel Drq NInt RWE DataE Int BA1 Vcc
;Boolean Equations
/Int = NInt;
/NInt = NSReq * /IntE2 * /IntE1 * /IntE0 * /DNotC + NError * /IntE2 * /IntE1 * IntE0 + NLink * /IntE2 * IntE1 * /IntE0 + NSReq * /IntE2 * IntE1 * IntE0 + NSReq * IntE2 * /IntE1 + StopDma * IntE2 * IntE1;
/Drq = IntE2 * /NLink + IntE2 * StopDma + IntE2 * /LNotS + IntE2 * /SOrLAkt + /IntE2 * /NSReq + /IntE2 * /DNotC + /IntE2 * /DataE;
/DataE = /DataE * NSReq + BNSel + BNAck;
/LatchE = /BNSel * /BNAck * /NSReq + /BNSel * /BNAck * BRNotW;
/RWE = SOrLAkt * BRNotW * BA1;
/RSel = /BNSel + BRNotW + BA1;
/NDmaSel = SOrLAkt * LNotS * BA1 * BNSel + SOrLAkt * LNotS * BA1 * BNAck;
;End
PAL16L8 ATARI-LINKADAPTER-SCSI PAL: SCSI V2.0 _____ _____ | \__/ | Input BRNOTW -| 1 20 |- VCC Input NC -| 2 19 |- NINE three out Input /NBSY -| 3 18 |- SELO0 three I/O Input SELI0 -| 4 17 |- SELO1 three I/O Input /NMSG -| 5 16 |- NSACK three I/O Input SAKT -| 6 15 |- NSSEL three I/O Input /NSREQ -| 7 14 |- BNSREQ three I/O Input RSEL -| 8 13 |- NCOME three I/O Input DATAE -| 9 12 |- NOUTE three out GND -| 10 11 |- INOTO Input |____________|
PAL16L8 Atari-Linkadapter-SCSI PAL: SCSI V2.0 Carsten Meyer, Helge Schulz, 12.11.89
;Pins BRNotW nc /NBsy SelI0 /NMsg SAkt /NSReq RSel DataE Gnd INotO NOutE NComE BNSReq NSSel NSAck SelO1 SelO0 NInE Vcc
;Boolean Equations
IF (/NSSel) /SelO0 = /SelI0;
IF (/NSSel) /SelO1 = SelI0;
/NSSel = /NComE * /NBsy * /NSReq;
/NSAck = /NSAck * /NComE + /NSAck * /DataE + /NSAck * NSReq + /NComE * /BNSReq + NMsg * NBsy * NSReq + /DataE * NBsy * NSReq
/NComE = /NComE * SAkt * NSReq + /NComE * SAkt * NSAck + RSel * /NSReq * SAkt * NSAck;
/NOutE = INotO * NComE * NBsy;
/NInE = /INotO * BRNotW * NBsy;
/BNSReq = NSReq * NBsy;
;End
Seagate ST157N
Quantum P40S *
Quantum P80S *
* nicht mit HDX.PRG formatierbar
Controller-Nummern | ||||
SCSI | 0 | 1 | 2 | 3 |
Links | 4 | 5 | 6 | 7 |
J21 | 1-2 | 2-3 | 1-2 | 2-3 |
J22 | 1-2 | 1-2 | 2-3 | 2-3 |
# Datei WINCAP für altes Atari HDX.PRG (Version<3.0) # # Globale Parameter: # ms#Anzahl Maximale Anzahl von Sektoren pro Partition # (nicht ändern !) # :@@=Parameters:ms#32752:
# # Formatier Parameter: # Parameter für die verschiedenen Platten (Standartwert in []): # mn=Name Name der Platte im Menü # hd#Anzahl Anzahl der Köpfe [4] # cy#Anzahl Anzahl der Zylinder [612] # lz#n Landezone [10] # rt#n Spurwechselcode [2] # in#n Sektorversatz (Interleave) [1] # rw#Zylinder Reduzierter Schreibstrom ab Zylinder [cy+1] # wp#Zylinder Schreibprecompensation ab Zylinder [cy+1] # pt=Name Name auf standard Partitionierung [4-6-10] # sp#Anzahl Anzahl der Sektoren pro Spur [17] # dp#Wort Test Wort (16 Bit) zum Testen # # Defektlisten Paramter # sl#Anzal Anzahl der Sektoren für Defektliste [1] #
46 MB:mn=ST157N:hd#6:cy#609:in#1:pt=15-15-15:sp#26:dp#0x6333:
# # Partitionierungs Einträge # '?0' Einträge (? ist eine Ziffer,'N' ist '0', '1', '2' oder '3'): # pr=Name Name der Partitionierung # pN#Größe Größe der Partition N [0] # fN#Zahl Flag Byte für Partition N # [0 wenn kein pN, sonst 1] # iN=ccc Kennbyte für Partition N [GEM] # # Die Größe ist in KB angegeben, wenn 'k' folgt, in MB, # wenn 'm' folgt, und sonst in Bytes. #
:pr=15-15-15:p0#15m:p1#15m:p2#15m
# Datei WINCAP für neues Atari HDX.PRG (Version 3.0 !) # # Globale Parameter: # ms#Anzahl Max. Anzahl von Sektoren pro Partition # (nicht ändern !) # :@@=Parameters:ms#32752:
# # Formatier Parameter: # Parameter für die verschiedenen Platten (Standardwert in []): # mn=Name Name der Platte im Menü # hd#Anzahl Anzahl der Köpfe [4] # cy#Anzahl Anzahl der Zylinder [612] # lz#n Landezone [10] # rt#n Spurwechselcode [2] # in#n Sektorversatz (Interleave) [1] # rw#Zylinder Reduzierter Schreibstrom ab Zylinder [cy+1] # wp#Zylinder Schreibprecompensation ab Zylinder [cy+1] # pt=Name Name von standard Partitionierung [4-6-10] # sp#Anzahl Anzahl der Sektoren pro Spur [17] # dp#Wort Test Wort (16 Bit) zum Testen # br=id Identifikation für weitere Platten # md#n Flag für Ausführung von "Mode Select" [1] # (1: ausführen; 0: nicht ausführen) # # Defektlisten Paramter # sl#Anzal Anzahl der Sektoren für Defektliste [1] #
XX MB :mn=ALIA-SCSI:br=AS: 60 MB :mn=MEGAFILE 60:br=M6: 44 MB :mn=MEGAFILE 44:md#0:pt=11-11-11-11:dp#0x6333: 30 MB :mn=MEGAFILE 30:cy#615:rw#615:wp#615:pt=10-10-10:sp#26:dp#0x6333: 20 MB :mn=MEGAFILE 20:dp#0x6CDB: 20 MB :mn=SH205:dp#0x6CDB: 20 MB :mn=SH204:dp#0x6CDB: 10 MB :mn=SH104:hd#2:pt=10:dp#0x6CDB:
# # Daten für weitere Platten-Bezeichnungen (siehe br=id) #
:AS=ST157N:md#0:pt=12-12-12-10:dp#0x6333:
:M6=MCS5068:hd#5:cy#1024:rw#1024:wp#1024:sp#26:pt=16-16-16-16:dp#0x6333: :M6=MSB5064:hd#6:cy#809:rw#809:wp#809:sp#26:pt=15-15-15-15:dp#0x6333: :M6=SEA5065:hd#6:cy#820:sp#26:pt=15-15-15-15:dp#0x6333: :M6=NO LABEL:hd#6:cy#809:rw#809:wp#809:sp#26:pt=15-15-15-15:dp#0x6333:
# # Partitionierungs Einträge # '?0' Einträge (? ist eine Ziffer,'N' ist '0', '1', '2' oder '3'): # Größe=Name Größe in MB = Name der Partitionierung # pN#Größe Größe der Partition N [0] # fN#Zahl Flag Byte für Partition N # [0 wenn kein pN, sonst 1] # iN=ccc Kennbyte für Partition N [GEM] # Die Größe ist in KB angegeben, wenn 'k' folgt, in MB, # wenn 'm' folgt und sonst in Bytes. #
:65=16-16-16-16:p0#16640k:p1#16640k:p2#16640k:p3#16640k: :65=12-12-20-20:p0#12480k:p1#12480k:p2#20800k:p3#20800k: :65=10-15-15-24:p0#10400k:p1#15600k:p2#15600k:p3#24960k: :65=10-10-44:p0#10400k:p1#10400k:p2#45760k: :65=30-34:p0#31200k:p1#35360k: :62=15-15-15-15:p0#15990k:p1#15990k:p2#15990k:p3#15990k: :62=14-14-16-16:p0#14924k:p1#14924k:p2#17056k:p3#17056k: :62=10-10-20-20:p0#10660k:p1#10660k:p2#21320k:p3#21320k: :62=5-10-15-30:p0#5330k:p1#10660k:p2#15990k:p3#31980k: :61=15-15-15-15:p0#15775k:p1#15775k:p2#15775k:p3#15775k: :61=12-16-16-16:p0#13974k:p1#16376k:p2#16376k:p3#16376k: :61=14-14-16-16:p0#15175k:p1#15175k:p2#16376k:p3#16376k: :61=16-16-14-14:p0#16376k:p1#16376k:p2#15175k:p3#15175k: :46=12-12-12-10:p0#12083k:p1#12083k:p2#12083k:p3#10071k: :46=10-15-11-10:p0#10069k:p1#15104k:p2#11076k:p3#10071k: :46=5-31-10:p0#5034k:p1#31215k:p2#10071k: :46=10-36:p0#10069k:p1#36251k: :46=46:p0#46320k: :42=10-10-12-12:p0#9852k:p1#9852k:p2#11823k:p3#11823k: :42=6-6-16-16:p0#5911k:p1#5911k:p2#15764k:p3#15764k: :42=6-6-32:p0#5911k:p1#5911k:p2#31528k: :42=4-10-15-15:p0#3941k:p1#9852k:p2#14778k:p3#14779k: :42=11-11-11-11:p0#10837k:p1#10837k:p2#10838k:p3#10838k: :31=10-10-10:p0#10660k:p1#10660k:p2#10660k: :31=6-8-16:p0#6396k:p1#8528k:p2#17056k: :31=5-5-10-10:p0#5330k:p1#5330k:p2#10660k:p3#10660k: :31=4-6-10-10:p0#4264k:p1#6396k:p2#10660k:p3#10660k: :20=10-10:p0#10404k:p1#10404k: :20=4-6-10:p0#4424k:p1#6m:p2#10m: :20=5-5-10:p2#10568k:p0#5m:p1#5m: :20=10-5-5:p0#10568k:p1#5m:p2#5m: :20=5-5-5-5:p0#5448k:p1#5m:p2#5m:p3#5m: :10=10:p0#10m: :10=5-5:p0#5m:p1#5m:
ALIA-SCSI und ST157N-0 | Atari SH205 | |
Lesen (brutto) | 500 KByte/s | 300 KByte/s |
Schreiben (netto) | 174 KByte/s | 96 KByte/s |
Lesen (netto) | 376 KByte/s | 228 KByte/s |
(gemessen unter Blitter-TOS)
Inzwischen sind weitere Festplatten an unserem SCSI-Adapter für den Atari ST erprobt worden. Aufgrund der Signalcharakteristik der Atari-DMA-Schnittstelle, die von der SCSI-Norm stark abweicht, und der einfachen, kostensparenden Bauweise des Adapters ist nicht gewährleistet, daß sich beliebige SCSI-Geräte anschließen lassen.
Erprobte SCSI-Platten
voll AHDI-kompatibel:
Seagate ST 125N-0 | 21 MByte |
Seagate ST 125N-1 | 21 MByte |
Seagate ST 157N-0 | 48 MByte |
Seagate ST 157N-1 | 48 MByte |
Seagate ST 1096N | 83 MByte |
Connor CP 3040 | 30 MByte |
nicht verwendbar: Seagate 225N, 296N, 2106N (Imprimis Line)
Bei Quantum-Festplatten haben sich in einigen Fällen Funktionsstörungen gezeigt, deren Ursache im DMA-Timing des Atari ST liegt. An einer Modifikation des Adapters, die solche Probleme beseitigt, wird gearbeitet. Bis dahin müssen wir leider von der Verwendung abraten.
Ein winziger Eingriff macht den c't-SCSI-ALIA auch für die populäre Seagate-Festplatte ST296N nutzbar: Unterbrechen Sie die Leitung 18 (/DP) des SCSI-Bus, beispielsweise durch Entfernen des betreffenden Pins am 50poligen Pfostenstecker des Adapters. Für den Anschluß von Imprimis- und Quantum-Laufwerken kann leider noch keine Empfehlung gegeben werden.
Einige Rechner verursachen durch ein unsauberes Reset-Signal Probleme beim Booten. In diesen Fällen sollte die Reset-Leitung (Pin 12 des DMA-Ports) abgetrennt werden.
Eine neue PAL-Variante (ALIA 4.4, SCSI 2.3) verbessert nochmals die Kompatibilität unseres SCSI-Adapters für den Atari ST. Alle seither getesteten marktgängigen SCSI-Laufwerke ließen sich ohne Probleme betreiben. Es waren folgende Modelle: Fujitsu M2611SA (Übertragungsrate brutto 597 KByte/s, netto 384 KByte/s schreibend, 454 KByte/s lesend), Seagate ST1162N (729, 412, 609) MiniScribe 8425SA (210, 240, 197), SyQuest SQ555 (505, 347, 473), Rodime RO3088T (836, 444, 713), Rodime RO3128T (709, 487, 564), Ricoh RH5261 (99, 69, 87), Quantum LP52S (1104, 519, 1006). Eine Liste aller bisher getesteten Laufwerke können Sie gegen Rückumschlag bei Fa. eMedia, Hannover, anfordern. Dort sind auch die verbesserten PALs erhältlich.
Mehrere Anwender haben von Problemen zwischen Atari-Laserdrucker SLM 804 und c't-SCSI-Adapter berichtet. Der Logikanalysator im c't-Labor förderte Erstaunliches zutage: Bei angeschlossenem Laserdrucker schaffte es der Adapter nicht, die Interrupt-Leitung des DMA-Ports auf log. 0 zu ziehen. Man muß vermuten, daß das Druckerinterface die Leitung nicht mit Open-Collector-Charakteristik bedient, sondern aufgrund eines Schaltungsfehlers aktiv auf log.1 treibt. Beheben läßt sich der Konflikt ganz einfach durch Einsetzen einer Schottky-Diode am DMA-Port-Output des Adapters (Pin 10, Kathode an Laserdrucker).
Bei dieser Gelegenheit fanden wir auch Mittel heraus, um die in c't 10/91 gemeldeten Probleme mit Conner-Laufwerken CP3040 aus neuerer Produktion zu beseitigen. Betroffene können die Hinweise über die telefonische Hotline der Redaktion (täglich zwischen 13 und 14 Uhr) abrufen. Die Parity-Abschaltung bei Conner-Drives ohne Parity-Jumper kann man jetzt in der Werkstatt des Distributors SYNELEC, München, durchführen lassen.