Inside the XF551 Disk Drive by Bob Woolley (SLCC) ================================================= [ redaktionelle Notizen durch Len Spencer ] [ weitere "persönliche" Anmerkungen durch Andreas Magenheimer ] HINWEIS: Dieser Artikel erschien ursprünglich in der Januar 1989 Ausgabe der Zeitschrift Atari Interface und kann in den Publikationen gemeinnütziger Benutzergruppen frei verteilt, oder neu gedruckt werden, wenn der Hinweis auf den  Autor des Artikels und das Atari Interface Magazine enthalten sind und dieser Hinweis mit dem Artikel gedruckt wird. Alle weiteren Publikationen müssen eine schriftliche Erlaubnis von den Unicorn Publications, 3487 Braeburn Circle, Ann Arbor MI, 48108, Phone: (313) 973-8825 beantragen, bevor dieser Artikel verwendet werden darf. Es ist fast ein Jahr her, seit ich zum ersten Mal eine XF551 in meinen Händen hielt.... Unruhige Hände..., Selbstverständlich war die erste Sache, die ich tat, die XF551 auseinander zu nehmen, um zu sehen, wie sie zusammengebaut wurde. Infolgedessen habe ich einige Änderungen vorgenommen, die auch für andere XF551-Inhaber von Interesse sein können. Sie können aber nicht diese Änderungen erfolgreich vornehmen, wenn Sie nicht annehmbare elektronische Fähigkeiten haben. Also spielen Sie nicht mit Ihrer XF551, es sei denn Sie wissen, was Sie tun. Die meisten Usergruppen haben erfahrene Bastler, die glücklich sind, Sie zu führen, wenn Sie Hilfe benötigen. Zuerst aber, bevor ich ausführliche  Details des Laufwerks erkläre, möchte ich etwas zu den Fakten der XF551 sagen: Das Laufwerk IST Doppeltseitig und kann in einfacher (single), erweiteter (enhanced) oder doppelter (double) Schreibdichte lesen und schreiben. Das " Handbuch Buch ", das dem Laufwerk beiliegt, ist falsch. MyDOS, SuperDOS [TOP DOS] und SpartaDOS können mit dem Laufwerk  doppelseitig mit doppelter Schreibdichte formatieren. Die vorhergehenden Atari Laufwerke benutzten das Indexloch auf der Diskette nicht. Das erlaubte uns, die Disketten zu wenden und die Rückseite des Mediums zu formatieren. Die  XF551 verwendet einen Standard, wie  IBM-Laufwerke. Es wird ein INDEX verwendet. Sie FORMATIERT nicht die Rückseite einer Diskette, es sei denn die Diskettenummantelung hat zwei Indexlöcher [ zum Beispiel die meisten " Tagalon " Disketten, die ich gesehen habe, besitzen diese zwei Indexlöcher. Außerdem ist das der Grund, warum die  Adventures von Magnetic Srolls " Guild of Thieves ", " Jinxter " und " The Pawn " aus zwei Disketten bestehen, die jeweils  nur einseitig beschriebern sind. - A.M. ] Sie liest und schreibt die Rückseite jeder möglicher Diskette. Garantiert! [ Lieber Bob, hier in Europa haben wir nicht nur Mitsumi- XF Laufwerke. Viele unserer Atari XF Laufwerke haben andere Mechaniken, z.B. Chinon; diese Laufwerke sind sogar falscher als die ursprünglichen Mitsumi Laufwerke. Diese lesen weder, noch schreiben Sie, oder formatieren sie die Rückseite einer Diskette, es sei denn sie hat zwei Indexlöcher oder es ist eine Indexloch-Umgehung eingebaut. - A.M ] Auf Seite Eins werden die Spuren auf der Disk vom äußeren Rand nach  innen, von 0 bis 39 geschrieben. Auf Seite Zwei werden die Spuren vom inneren Rand nach außen geschrieben. Dieses erlaubt uns, die ersten 40 Spuren einer DSDD-Diskette auf einem SSDD-Laufwerk zu lesen. Die zweite Seite ist auf einem SS Laufwerk nicht lesbar. Die Geschwindigkeit des Laufwerks beträgt NICHT 288 U/min, die Geschwindigkeit, die Sie gewohnt sind, hält aber mit 300 U/min den Industriestandard ein.  Die XF551 kompensiert den Unterschied, indem sie eine stärkere Taktfrequenz 4% (33Mhz) als es sein sollte verwendet. Dieses liest und schreibt die Daten genau auf den gleichen Platz der Diskette, wie Ihr Laufwerk mit 288 U/min, obgleich Programme, die die Geschwindigkeit des Laufwerks messen, 300 U/min anzeigen. Unterhaltung mit dem Laufwerk: Die XF551 von Atari hat die Fähigkeit eine Diskette in eine von vier Konfigurationen zu formatieren: (SSSD- 90K) einfache Schreibdichte (SSED-130K) 1050 Dichte (SSDD-180k) doppelte Schreibdichte (DSDD-360K) und doppelseitige, doppelte Schreibdichte Das DSDD-Format hat einen Standard Skew (Skew ist die physikalische Reihenfolge der Sektoren auf der Diskette) und einen Hochgeschwindigkeits- Skew, der für den Benutzer wählbar ist. Dieses Hochgeschwindigkeits- Skew erlaubt schnellere Datenübertragungen auf dem SIO-Bus, genau wie das ICD- Doubler upgrade auf der 1050. Für die es interessiert: der SIO Befehl des DSDD-Formats, ist $23. Für ein Hochgeschwindigkeits- Skew in DSDD, brauchen zu nur den Wert des Bit 7 auf $A3 zu setzen. (die SSSD- und SSED-Formate haben nicht den Hochgeschwindigkeits- Skew, obgleich das Laufwerk die Daten mit großer Geschwindigkeit in jenen Dichten überträgt. [ Nun das ist nicht ganz richtig. Die XF551 überträgt nicht automatisch Daten in der hohen Geschwindigkeit in single oder in 1050 Dichte; Sie benötigen ein DOS oder einen Sektorkopierer, der XF Hochgeschwindigkeits-Sio verwendet, um das zu tun. Hier in Europa gibt es viele DOS-Versionen und -sektorkopierer, da Atari nur das XF551 - und nicht das Laufwerk 1050- nach Osteuropa verkaufte. A.M. ] Um Daten mit der hohen Geschwindigkeit zur und von der XF551 zu übertragen, muss Bit 7 des SIO Befehls den Wert " 1 " bekommen (ein Get Sector ($52) mit Bit 7 an  ist $D2). Sie müssen den Befehlsframe mit der normalen IO-Geschwindigkeit ($28 in $D204) senden und dann $D204 auf $10 setzten um die Hochgeschwindigkeitsoperation dann einzustellen. Das Laufwerk erkennt auch den PUT (und GET) Option Tabellen Befehl ($4F und $4E), der der Percom Konfiguration Operationen Tabelle ähnlich ist. Nur Bytes 4-8 werden durch den PUT Befehl geändert, jedoch werden nur die vier unterstützten Formate erkannt. Selbst wenn Sie der Option Tabelle eine Sektorgröße mit 512 Bytes schickten, würden Sie nur 256 Bytesektoren erhalten. Eine Anzahl von den neuesten OS-Versionen (SpartaDOSX, SuperDOS 5.x, DOSXE...) [ hier in Europa auch: OS-XF, Turbo-DOS, Bibo-DOS, Bewe-DOS, X-DOS, usw. - A.M. ] haben den Support für XF551 jetzt eingebaut. Auch sind einige Programme in Atari8 auf CompuServe vorhanden [ oder von der ABBUC-PD-Bibliothek - A.M. ], die das SpartaDOS 3.2D für die Eigenschaften der XF551 ändern (in DL3 - XF32D.BAS). Das Verwenden dieser Methoden überträgt die Daten fast zweimal so schnell wie unser gutes altes DOS 2,0. Die Hardware:  Die erste Sache, die Ihnen auffällt, wenn Sie die ICs im Laufwerk betrachten, ist das gesockelte ROM. Das macht es viel einfacher, ein EPROM zu brennen (verwenden Sie einen 2764), um Codeänderung vorzunehmen, wenn Sie Ihre Änderungen schnell einstecken und wieder ausbauen können. [ hier in Europa haben wir eingebaute Eproms als Laufwerk-OS  Diese haben PAL OS und somit kleine Unterschiede beim Vergleich mit den NTSC-ROMs.  Das ist der Grund, warum OS Änderungen auf PAL Versionen nicht laufen. Umgekehrt laufen natürlich auch Änderungen im PAL OS nicht auf NTSC Laufwerken. - A.M. ] Ich konnte den ROM-Quellencode nirgends gedruckt finden, also schrieb ich einen einfachen Disassembler für das MPU 8050, das als das Gehirn des Laufwerks benutzt wurde. [ Einige wurden mit 8040 hergestellt. Es hat die gleichen 256 Bytes RAM wie die 8050 aber kein eingebautes ROM. Obwohl das interne ROM nie verwendet wurde, weil das Laufwerk-OS in seinem eigenen ROM auf dem Bord ist - L.S. ] Es war sehr nett, als Atari 6507 (das 6502 OPCodes verwendet), in ihren Laufwerken verwendete. Aber nun leider nicht mehr. Schließlich fand ich das meiste der Programm-Logik heraus und entwarf einige Änderungen: Ein ROM-Änderung die für die 1050 vorhanden war, ist eine Re-adressierung des Laufwerks als D5: bis D8:. Dieses kann auch im ROM  der XF551 getan werden, indem man die relative Satznummer $0095 von $31 ändert: $95: $32 = D2 - D5 / $33 = D3 - D6 / $34 = D4 - D7 / $35 = D5 - D8 360K zu haben ist gut. 720K zu haben ist besser. Ein 720K 3,5-Zoll- aufwerk anstatt des werksmäßigen einzubauen ist nicht zu schwer. Also lassen Sie uns mit dem ROM beginnen. Es gibt einen kleinen Programmfehler im Code, der das Laufwerk die Spur zu schreiben beginnen lässt, bevor es die Arbeitsgeschwindigkeit erreicht hat. Um das zu beheben, ändern Sie $528 von $90 zu $00 $C1D von $88 zu $80 $E25 von $88 zu $80 [ ich habe von Leuten gehört, dass dieses nicht notwendig sei. Möglicherweise müssen Sie also nicht die vorher erwähnten Änderungen vornehmen. Ich habe das Problem jedoch gehabt, so ist es sicher besser als hinterher noch mal zu ändern. - L.S. ] Das 720K Laufwerk  hat 80 Spuren pro Seite.  Sie benötigen folgende Änderungen: $680 von $28 zu $50 $80F von $30 zu $60 $811 von $FD zu $FA Ein 3,5-Zoll-Laufwerk verwendet 3ms Zeit für den Suchvorgang $53D von $00 zu $03 $57B von $18 zu $13 $9D1 von $08 zu $03 $B15 von $18 zu $13 Schließlich benutzt das 3.5 write pre-compensation ändern Sie: $61D von $F6 zu $F4 $621 von $F6 zu $F4 $D0D von $A2 zu $A0 Als Laufwerk benutzte ich ein Standartmodell von JDR Microdevices (MF353B Mitsubishi) dessen Stecker passte rechts in den 5,25 Zoll Anschluss und hatte die gleichen Montagen wie das größere Laufwerk. Dieses vereinfacht den Umbau durchaus ein bisschen. Wenn Sie versuchen das 3,5 anzuschließen, werden Sie bemerken, dass das Kabel mit 34 Anschlussstiften zu kurz ist. Ich entlötete den Stecker und fügte ein längeres Kabel hinzu. Der Hacker, Joe Wyks hat da eine andere Lösung. Er quetschte das Kabel an die Oberseite des Bordsteckers hinzu und sparte sich das Löten. [ das letzte war die Methode, die ich verwendete, da es auf der Leiterplatte ein wenig einfacher ist. - L.S. ] Der Stromstecker kann mit einem passenden Adapter angepasst werden. Das ist übrigens alles, was erforderlich ist, um ein 720K 3,5 laufen zu lassen. Formatieren Sie eine Diskette mit SpartaDOS XINIT, Option 7 Spuren DS 80) und schreiben sie voll! Sie haben jetzt 2880 DD-Sektoren. [ oder nehmen Sie MyDOS  mit Option" O "  80 Tracks doppelseitig, dann Option " P " Double-density und schließlich der Option " I " Formatierung von 80 Spuren, die Ihnen mehr als 2800 DOS 2 formatierte Sektoren auch gibt. - A.M.] Bob Woolley kann auf CompuServe erreicht werden [ 75126,3446 ] und ist der Herausgeber des SLCC-Journals. Wir möchten ihm für diesen Artikel und das Teilen seines Wissens über 8bit und des XF551 Laufwerks herzlich danken. [ ich bin nicht sicher, ob das AIM noch existiert, gleichwohl können Sie einige Ausgaben im Internet oder auf " Pooldisk " von Bo und von Ernest Schreurs finden. Wenden Sie sich an den ABBUC, wenn Sie diese feine CD-ROM Atari 8-Bit haben möchten. - A.M.] [ Len Spencer kann über  Lenspencer@aol.com erreicht werden. ], einige Anmerkungen [ in den eckigen Klammern ]  ebenfalls von mir - Andreas Magenheimer Grüße an alle, die um diese Informationen baten. ----------------------------------------------------------------------- Inside the XF551 Disk Drive by Bob Woolley - Part 2 =================================================== Betreff: XF551 Upgrades to 3.5 Von: "Bob Woolley" ataribob@directvinternet.com Foren: comp.sys.atari.8bit [ Anmerkungen von Bernhard Pahl ] Ich bemerkte dass A.M. das original XF551 upgrade vom AIM Magazin übersetzt hat. Ich würde gern die nachfolgenden Änderungen zum Original zufügen. Einige der ursprünglichen Änderungen sind wieder herausgenommen und einige nochmals geändert. Ich habe Spin-up an $0C1D und $0E25 nicht mehr genommen, ebenso Spin-up-on seek an $057B, $09D1 oder $0B15 (die Werte werden geändert). Die originale XF551 schaltet - wenn eine neue Disk gelesen wird - von DD nach SD um. Es schaltet hingegen nicht von SD nach DD um (denn es wird Sektor 1 - 3 gelesen) [ und Sektor 1 - 3 haben auch auf einer DD Disk nur SD 128 Bytes B.P.]. Das macht es sehr schwierig eine Reihe von Sektoren zu lesen von einer DD Disk die also beide Dichten enthält. Sobald du eine SD Disk nach einer DD Disk liest, musst du von einer nächsten DD Disk neu booten um sie lesen zu können. [Es müsste also für einen von der Software ausgelösten Density-Test Sektor 4 vom Track 0 gelesen werden, und bei Error ein erneuter Leseversuch mit DD erfolgen B.P.] Mit dem zusätzlichen Programm-Code kannst du warten bis die XF551 einen Error gibt, (oder BREAK drücken). Beim nächsten mal versucht nun das Laufwerk die andere Dichte zu lesen. Try it - you'll like it! Ich habe hunderte von Disks mit dieser Version ohne Probleme bearbeitet. Hier sind die Änderungen die am Standard XF551 ROM zu machen sind: 1. $0528 $00 spin-up on FORMAT only. 2. $0680 $50 make 80 tracks. 3. $080F $60 2's compl of max sector. 4. $0811 $FA hi byte of #3. 5. $053D $03 seek to 3ms + spin-up. 6. $057B $1B seek to 3ms. 7. $09D1 $0B seek to 3ms. 8. $0B15 $1B seek to 3ms. 9. $061D $F4 write with precomp. 10. $0621 $F4 write with precomp. 11. $0D0D $A0 write with precomp. Zum ändern des neuen Lese-Versuchs (wenn das Laufwerk versucht einen Track der einen Error verursacht hat neu zu lesen) ändere an Adresse $09AF zwei Byte ($24,E0 (JMP $E0)). An Adresse $09E0 und $09F0 wird der Patch geschrieben. $09AF $24,E0 JMP $E0 $09E0 $09 INPUT A P1 $53,08 AND #08 $C6,F0 JZ $F0 (jump if zero) $9A,CF AND P2 #CF $8A,10 OR P2 #10 $99,E7 AND P1 #E7 $24,B1 JMP $B1 $09F0 $8A,30 OR P2 #30 $89,08 OR P1 #08 $99,EF AND P1 #EF $24,B1 JMP $B1 Das zwingt die XF551 die geänderte Dichte jederzeit wenn es nötig ist zu testen und nach DD umzuschalten wenn nötig. Der Patch funktioniert bei 3 1/2 und 5 1/4 Laufwerken und ist unabhängig von den anderen Änderungen. Bob Woolley