home *** CD-ROM | disk | FTP | other *** search
/ Crawly Crypt Collection 1 / crawlyvol1.bin / utility / disk / medspeed / lesetest.hlp next >
Text File  |  1985-11-18  |  26KB  |  494 lines

  1.  --------------------- Dokumentation zu LESETEST.PRG -----------------------
  2.  
  3. Das hier vorliegende Programm Lesetest entstand aus der  Notwendigkeit,  die 
  4. verschiedensten Diskettenformate auf ihre Ladetüchtigkeit, d.h. ihre Schnel 
  5. ligkeit hin untersuchen zu können.  Als Co-Autor von Hyperformat [5] war ich 
  6. von  jeher  darum bemüht,  die Formatierungen von Disketten  zu  optimieren, 
  7. damit  der Endverbraucher einen auch für sein System optimalen  Diskettenzu- 
  8. griff  bekommt.  Besonders wichtig in diesem Zusammenhang erscheint mir  die 
  9. Tatsache,  daß  viele Originalbetriebssysteme dahingehend verändert  wurden, 
  10. daß  ein  Byte  geändert  wurde;  dies führt  zu  kürzeren  Ladezeiten  beim 
  11. Diskettenlesen,  bringt  aber  manchmal Probleme mit sich,  auf die  ich  in 
  12. Veröffentlichungen [1] schon hingewiesen habe.
  13. Nun aber zur
  14.  
  15. ** Bedienung des Programms ** 
  16. -----------------------------
  17. Das Programm erlaubt Ihnen nach einer kurzen Copyrightmeldung die Bestimmung 
  18. eines Laufwerks (Floppy A/B, Festplatte, Ramdisk,...), von woher im Anschluß 
  19. eine  bestimmte  Datenmenge  in den Speicher  Ihres  ST  geladen  wird.  Bei 
  20. Disketten werden stets 40 Tracks geladen,  bei allen anderen Medien ist  die 
  21. Lademenge einzig durch die Größe Ihres Arbeitsspeichers begrenzt. In dem nun 
  22. sichtbaren Fenster sehen Sie: Die Laufwerksbezeichnung, die Anzahl der Sek-
  23. toren, die daraus resultierende Gesamtkapazität, Anzahl der Spuren, Anzahl 
  24. der Sektoren pro Spur ( wenn nicht feststellbar: *** ) und die Kapazität des
  25. noch freien Arbeitsspeichers. Nach dem Ladevorgang erhalten Sie die Geschwin-
  26. digkeit des Ladevorgangs in kB/sec. und die dazu benötigte Zeit. Bei Disket-
  27. ten werden zusätzliche Hinweise auf die Art der Formatierung ausgegeben.
  28. Mit einem Tastendruck können Sie weitere Laufwerke selektieren. Das FULLER-
  29. Feld rechts-oben sowie die rechte Maustaste blenden einen Copyrighthinweis 
  30. ein, ESCAPE oder das CLOSE-Feld links oben gestatten das Programm ganz zu 
  31. verlassen.
  32.  
  33. ** Sonstiges **
  34. ---------------
  35. Das  Interessante  an  LESETEST ist,  daß die damit  ermittelten  Daten  für 
  36. Disketten  sehr gut mit den errechneten Werten übereinstimmt und  sogar  der 
  37. Interleave und der Spiralfaktor der geprüften Diskette ausgegeben werden.
  38. Das hat bislang noch kein Programm bewerkstelligt ! Ein kleines Beispiel:
  39. Sie messen eine im Desktop formatierte Diskette.  Diese werden in allen TOS-
  40. Versionen  mit 9 Sektoren pro Track formatiert,  ab TOS 1.02 aber mit  einem 
  41. Spiralfaktor von 2 (siehe[1]).  Die gemessenene Geschwindigkeit beträgt etwa 
  42. 18,4 kB/Sekunde und stellt einen Maximalwert dar,  der nur dann auch in  der 
  43. Praxis erreicht wird,  wenn die zu ladende Datei tatsächlich in einem  Block 
  44. ohne Fragmente geladen werden kann.
  45.  
  46. Natürlich kann man diesen Wert auch rechnerisch ermitteln:
  47.  
  48. allgemein:  Sektoren pro Track * Sektoren pro Track * 2,5
  49.             ----------------------------------------------
  50.             Sektoren pro Track * Interleave + Spiralfaktor
  51.  
  52.  
  53. hier:       9*9*2,5
  54.             -------
  55.             9*1+2      -->  18,49 kB/Sec
  56.  
  57.   
  58. Wie  Sie  sehen,  stehen der Interleave (bei Atari=1) und  der  Spiralfaktor 
  59. beide im Nenner des Ausdrucks, der die Ladegeschwindigkeit bestimmt.
  60. Also  machen wir doch einfach den Spiralfaktor kleiner,  z.B.  auf  0,  dann 
  61. erreichen wir .... 22,5 kB/Sekunde  !?
  62.  
  63. Fast !  Denn dann läuft die Diskette viel langsamer, weil der Floppycontrol- 
  64. ler  die Spurinformation  einlesen muß und einfach die Nutzdaten überliest.
  65. Also  gibts eine Extrarunde - und die kostet Zeit.
  66. Es  gibt  nun  aber  eine Trick,  die  Diskette  trotzdem  schneller  laufen 
  67. zu lassen, indem man zusätzliche Informationen in die Spur hineinformatiert.
  68. Darum brauchen Sie sich aber nicht zu kümmern,  das erledigt alles  FCOPYPRO 
  69. für Sie. Für tiefergehende Betrachtungen verweise ich auf [1].
  70.  
  71. ** Verträglichkeit, Features **
  72. -------------------------------
  73. Sie können das Programm (durch einfaches Umbenennen) auch als .ACC  starten, 
  74. allerdings habe ich keine großen Anstrengungen unternommen,  um  das  Redraw 
  75. sauber  zu machen.  Eine Unverträglichkeit zeigt sich allerdings,  wenn  das 
  76. CHAMELEON.ACC [3] im Speicher ist;  der Grund ist mir bis dato unbekannt.  
  77. Vermeiden Sie aber bitte im ACC-Modus das Starten von Programmen, denn das
  78. klappt noch nicht so ganz. Entweder ist es mein Compiler, der da Mist baut,
  79. oder bei mir hat sich ein Bug eingeschlichen. (wahrscheinlich letzteres) 
  80. Kaum Probleme  hingegen  gibts, wenn LESETEST.AC von CHAMELEON.ACC nachgela-
  81. den wird.
  82. Es  sollte  eigentlich  auch  Großbildschirm  und  TT-tauglich  sein,  läuft 
  83. zumindest auf BIGSCREEN [2] von Julian Reschke.
  84. Alle verfügbaren Ramdisks konnten geprüft werden,  sogar LUFTSCHLOSS [4] von der 
  85. Kleisterscheibe.  Die  maximalen Lesegeschwindigkeiten auf meinem  Serien-ST 
  86. liegen  bei etwa 1875 kB/Sekunde (Ramdisk) und bei 645 kB/Sekunde  (Megafile 
  87. 60 mit ST277R) (( aber mit leicht modifiziertem Treiber.. hihi ))
  88.  
  89. ** Verweise **
  90. --------------
  91. [1] Wie schnell sind Disketten zu laden ( Autor: J.Stessun)
  92.     erschienen in ST-Computer 12/1989 (leider mit vielen Fehlern!)
  93. [2] Bigscreen -  ein Programm von Julian Reschke,  das einen  Großbildschirm 
  94.     auf einem normalen ST simuliert. 
  95. [3] Chameleon -  ein Accessory von Karsten Isakovic, gestattet das Nachladen 
  96.     und Löschen von ACCs in/aus dem Speicher.       
  97. [4] Luftschloß - schnelle Ramdisk auf der Disk zum Buch Scheibenkleister 2
  98.     Maxon Verlag, Autoren: Claus Brod und Anton Stepper.
  99. [5] Hyperformat - Formatierprogramm, ebenfalls aus Scheibenkleister
  100.     Maxon Verlag, Autoren: Claus Brod und Jürgen Stessun
  101.  
  102.  
  103. ** Der Artikel aus ST-Computer 12/1989 [1] ** 
  104.  
  105. Wie schnell sind Disketten zu laden ?
  106. -------------------------------------  
  107. Sicherlich ist dies in starkem Maße abhängig von der Qualität der 
  108. benutzten Disketten und Laufwerke, ihrer Drehzahl und Steprate; aber 
  109. fällt Ihnen aus dem Stegreif noch mehr dazu ein ?
  110.  
  111. Schon häufiger war in Zeitschriften über den 'optimalen Interleave' zu 
  112. lesen, bislang handelte es sich jedoch immer um Festplatten. Da nicht 
  113. jeder ST-Benutzer ein solches Speichermedium sein eigen nennt, außerdem 
  114. die Atari Festplatten lange nicht so optimierungsbedürftig sind wie 
  115. beispielsweise Platten für PCs und Kompatibele (hihi..), habe ich eine 
  116. lange Versuchsreihe mit Disketten angestellt; auch dort wirkt sich 
  117. nämlich die Art der Formatierung in starkem Maße auf die Geschwindigkeit 
  118. beim Laden und Speichern aus. Um optimale Übertragungseigenschaften zu 
  119. erreichen, machte ich Gebrauch von allen mir bekannten Möglichkeiten zur 
  120. Formatierung. Die in manchen Punkten recht interessanten Meßergebnisse 
  121. basieren auf Messungen am Atari ST mit seinen standardmäßigen 3 1/2 Zoll 
  122. Laufwerken, die daraus gefolgerten Ergebnisse haben jedoch 
  123. grundsätzliche Gültigkeit. 
  124. Besondere Rücksicht wurde auf den Umstand genommen, daß nicht alle ST-
  125. Benutzer ein sog. FASTLOAD (s. Begriffserl.) eingebaut haben, denn 
  126. gerade auf solchen Systemen kann man durch clevere Formatierung eine 
  127. Beschleunigung des Datentransfers erreichen. Zum Formatieren wurde 
  128. Hyperformat benutzt, ein kurzes GFA-Basic Programm ermittelte die 
  129. Ladezeiten der Disketten; bei allen Diskettenoperationen wurde die 
  130. Standard-Steprate von 3 ms benutzt.
  131.  
  132. Die größte Ladegeschwindigkeit einer Diskette mit 512 Byte-Sektoren in 
  133. Laufwerken mit 300 UPM kann nach folgender Formel berechnet werden:
  134.  
  135.  
  136.     Speed =    SPT*SPT*2,5          Speed=kB/Sek.   SPT=Sektoren pro Track
  137.                 -----------
  138.                 SPT*IL+SPIR ü        IL=Interleave   SPIR=Spiralfaktor
  139.  
  140.     Formel 1  
  141.  
  142. Die Konstante 2,5 ergibt sich aus dem Produkt von Sektorlänge in kB und 
  143. der Zahl der Umdrehungen pro Sekunde und muß für andere Laufwerke und 
  144. Sektorlängen entsprechend angepaßt werden.
  145. Die maximale Ladegeschwindigkeit einer 9-Sektor-Diskette mit Interleave 
  146. 1 und Spiralfaktor 0 ist demnach:
  147.  
  148.                9*9*2,5    =  22,5 kB pro Sekunde   
  149.                 -------               
  150.                 9*1+0    
  151.  
  152. Die Richtigkeit dieser Formel sollten Messungen bestätigen, hier zuerst 
  153. die Ergebnisse mit Fastload:
  154.  
  155.  SPT  IL SPIR  Speed       SPT  IL SPIR  Speed      SPT  IL SPIR  Speed 
  156.   ------------------------------------------------------------------------
  157.    9   1   0    22,48         10  1   0    25,01       11  2   0    13,75 
  158.    9   1   1    20,24         10  1   1    22,72       11  2   1    13,15 
  159.    9   1   2    18,41         10  1   2    20,83       11  2   2    12,61
  160.    9   1   3    16,87         10  1   3    19,23       11  2   3    12,12
  161.    9   1   4    15,57         10  1   4    17,85       11  2   4    11,64
  162.  
  163.  Tabelle 1: Ladegeschw. mit Fastload  
  164.  
  165. Wie zu erwarten war, fällt die Ladegeschwindigkeit mit steigendem 
  166. Spiralfaktor stetig ab. Für 11 Sektoren muß sogar mit Interleave 2 
  167. gearbeitet werden, da die Sektoren so eng beieinander liegen, daß sie 
  168. nicht mehr in einem Rutsch gelesen werden können. 
  169. (Interleave 2 bei 11 Sektoren = Interleave-Faktor 6 , s. Erläut.)
  170.  
  171.  
  172.  
  173. Wie sieht's denn aus, wenn man diese Disketten ohne Fastload einlädt ?
  174. Bitteschön, hier die Ergebnisse:
  175.  
  176.  SPT  IL SPIR Speed        SPT  IL SPIR  Speed     SPT  IL SPIR  Speed   
  177.   ------------------------------------------------------------------------
  178.    9   1   0   11,31         10  1   0    12,56        11  2   0     9,21
  179.    9   1   1   11,28         10  1   1    11,96        11  2   1     8,95
  180.    9   1   2   18,39         10  1   2    20,79        11  2   2    12,62
  181.    9   1   3   16,87         10  1   3    19,23        11  2   3    12,10
  182.    9   1   4   15,57         10  1   4    17,85        11  2   4    11,63
  183.  
  184.  Tabelle 2: Ladegeschw. ohne Fastload  
  185.  
  186. Plötzlich findet sich ein Maximum der Übertragungsrate bei einem 
  187. Spiralfaktor von 2, warum aber nicht beim Spiralfaktor 0 ?
  188.  
  189. Formen wir die Formel 1 zur Geschwindigkeitsermittlung so um, daß ihr 
  190. Nenner auf einer Seite steht, dann erhalten wir im Falle von 9 Sektoren,
  191. IL 1 und Spir 0:
  192.  
  193.     SPT*SPT*2,5                              9*9*2,5     
  194.      -----------   = SPT*IL+SPIR               ------- = 17,90
  195.      Speed                                     11,31   
  196.  
  197.    Formel 2  
  198.  
  199. Die Geschwindigkeit ist geringer als das errechnete Maximum, die 
  200. Diskette hat also mehr Umdrehungen ausgeführt. Wie auch den 
  201. Erläuterungen zu entnehmen ist, ist gerade der INTERLEAVE ein Maß dafür, 
  202. wieviele Umdrehungen die Disk machen muß, damit alle Sektoren der Spur 
  203. eingelesen werden können.
  204. Setzen wir auf der rechten Seite der Formel 2 für SPT die 9 und für SPIR 
  205. die 1 ein, dann ist die Gleichung für IL=2 erfüllt. 
  206. Wie Sie sehen, wirkt sich der formatierte Interleave von 1 in der Praxis 
  207. so aus, als sei die Diskette mit Interleave 2 formatiert worden !
  208. Je nach Geschmack kann man die Gleichung aber auch nach SPIR auflösen, 
  209. wenn man IL mit 1 beläßt. Es ergibt sich dann ein effektiver 
  210. Spiralfaktor von 9 (statt des formatierten Spiralfaktors von 0), was bei 
  211. 9 Sektoren pro Track nichts anderes als eine Extraumdrehung bedeutet. 
  212. (Die Ungenauigkeiten in den Nachkommastellen rühren daher, daß beim 
  213. Lesen mehrerer Spuren nicht die gesamte letzte Spur gelesen werden muß, 
  214. um die letzten 9 Sektoren zu erfassen, sondern nur die ersten ca. 90 %).
  215. Was besagt aber nun diese Rechnung:
  216. Ohne Fastload kann bei diesem Format eine Spur nur in 2 Umdrehungen 
  217. komplett eingelesen werden. Das liegt eben daran, daß in Systemen ohne 
  218. FASTLOAD nach einem Spurwechsel und einer Pause von 15 ms zur Beruhigung
  219. des Kopfes erst noch die neue Spurnummer verifiziert werden muß, und 
  220. diese befindet sich gerade vor dem Sektor, der eigentlich als nächster 
  221. hätte gelesen werden sollen; also: eine Runde Pause, macht 200 ms.
  222.  
  223. Wenn Ihr Lese(r)kopf nun schon qualmt, dann gönnen Sie sich erst auch
  224. mal 'ne Pause und lesen danach die Erläuterungen zu den wichtigsten, 
  225. hier gebrauchten Ausdrücken!     
  226.  
  227.  
  228.  Atari nimmt die Spirale  
  229. ------------------------
  230. Auch die Atari-Entwickler haben festgestellt, daß die unter TOS 1.0 
  231. formatierten Disketten - Spiralfaktor 0 - im Originalbetriebssystem ohne
  232. Fastload nur im Schneckentempo zu laden sind, ganz zu schweigen vom 
  233. Abspeichern, was durch das Verifizieren der gerade geschriebenen Daten 
  234. doppelt so viel Zeit beansprucht. Seit TOS-Version 1.02 (Blittertos) wird 
  235. daher aus dem Desktop nur noch mit Spiralfaktor 2 formatiert, in einer 
  236. der neuen, inoffiziellen 1.04 Versionen sogar die Vorderseite mit 
  237. Spiralfaktor 3 und die Rückseite mit Spiralfaktor 2. Die unter dieser 
  238. TOS-Version formatierten Disketten sind daher noch etwas langsamer als 
  239. solche von TOS 1.02. Ihre Ladegeschwindigkeit liegt bei 9-Sektor-
  240. Disketten etwa bei 17,62 kB/Sekunde. Mit Formel 2 errechnet man hierbei 
  241. einen effektiven Spiralfaktor von 2,5.
  242. Aber keine Angst, in der brandneuen 1.04er Version vom 6.4.1989 benutzt 
  243. man wieder den Spiralfaktor 2 auf beiden Seiten und erreicht damit  
  244. 18,39 kB/Sek.
  245.  
  246. Wir haben nun schon die erste Möglichkeit kennengelernt, um Disketten 
  247. ohne Fastload etwas schneller zu machen - die Spiralisierung. Sie wird 
  248. nur indirekt von der Formatier-Routine des Xbios unterstützt; man kann 
  249. seit TOS-Version 1.02 einen Zeiger auf die selbstkonstruierte Tabelle der 
  250. Sektornummern übergeben. 
  251. Hinzu kommt das Interleaving, was von allen TOS-Versionen  unterstützt 
  252. wird; wo es jedoch erst wichtig wird, nämlich bei 11-Sektor-Disketten, 
  253. da macht TOS nicht mehr mit und verschwendet den Platz für den 11. 
  254. Sektor in den anderen Sektorzwischenräumen. Maximal 10 Sektoren passen 
  255. daher auf 'Desktop-formatierte' Disketten. 
  256.  
  257. Mit Köpfchen gehts besser  
  258. -------------------------
  259. Es gibt aber noch den 'zusätzlichen Header', der (wahrscheinlich 
  260. ungewollt) sogar mit einem kleinen Trick unter TOS erzeugt werden kann. 
  261. Wenn Sie sich die Sektorfolgen ansehen, die das abgebildete GFA-Basic 
  262. Programm generiert, können Sie erkennen, daß bei einer 9-Sektor-Diskette 
  263. und Interleave-Faktor 11 genau 11 Sektoren erzeugt werden. Zwar ist der 
  264. 11. Sektor um seinen Dateninhalt beschnitten, der wichtige 
  265. Sektorvorspann - der Header - ist aber allemale noch mit drauf auf der 
  266. Spur. Lädt man eine solche Diskette ohne Fastload ein, ergibt sich - oh 
  267. Wunder - eine Lesegeschwindigkeit von 22,49 kB/Sekunde, also genauso 
  268. schnell wie mit Fastload. Schuld daran ist nur der Header des 11. 
  269. Sektors, der genau dann zur Stelle ist, wenn der Floppycontroller die 
  270. aktuelle Spur verifizieren will. Bei 10 Sektoren und Interleave 11 
  271. klappt das nicht mehr, weil der Kopf auf der alten Spur noch den 10. 
  272. Sektor lesen muß und gerade dann in die nächste Spur hochfährt, wenn der 
  273. Header des 11. Sektors unter ihm vorbeirauscht. Moral von der Geschicht': 
  274. Extrarunde !
  275.  
  276.  
  277. Wo sollte der zusätzliche Header stehen ?  
  278. -----------------------------------------
  279. Welche Schlüsse kann man daraus ziehen ? Der zusätzliche Header sollte 
  280. so dicht wie eben möglich vor dem ersten auf der neuen Spur zu ladenden 
  281. Sektor stehen; und das ist eben der Sektor Numero 1. Versuche ergaben, 
  282. daß das Ende dieses zusätzlichen Headers mindestens 10 Bytes vor dem 
  283. Anfang des Sektorvorspanns vom 1. Sektor liegen muß, da sonst der 1. 
  284. Sektor überlesen wird. 
  285. Als 'dicht' kann man auch das Ende des Tracks bezeichnen, wenn zuvor der 
  286. Sektor mit der höchsten Nummer residiert. Von dieser Lösung machen viele
  287. Kopier- und Formatierprogramme Gebrauch.
  288.  
  289. Zunehemend an Beliebtheit gewonnen hat die 10-Sektor-Diskette, viele 
  290. Public-Domain Disketten sind derart formatiert. 25 kB/Sek. mit und 20,79 
  291. kB/Sek. Ladegeschwindigkeit ohne Fastload tragen mit dazu bei. Ohne 
  292. Fastload klappt das aber nur beim Spiralfaktor 2 (siehe Tabelle 2). Und 
  293. dieser Faktor 2 ließ mich noch eine Steigerung der Geschwindigkeit 
  294. vermuten....  
  295.  
  296.  
  297. Rekordverdächtig: 10-Sektor-Disketten ohne Fastload  
  298. ---------------------------------------------------
  299. Tatsächlich ist es mir gelungen ein 10-Sektor-Format zu generieren, das 
  300. bisherige Formate in puncto Geschwindigkeit schlägt. Dabei wurden die 10 
  301. Sektoren eines Tracks mit Interleave 1 und Spiralfaktor 1 auf eine 
  302. einseitige Diskette formatiert, insbesondere aber vor jedem Sektor mit 
  303. der Nummer 1 ein zusätzlicher Header geschrieben. Da nach dem Lesen des 
  304. letzten Sektors (Nummer 10) der Lesekopf einen Schritt nach innen fährt, 
  305. versucht das System ohne Fastload erst einmal die Spurnummer 
  306. festzustellen. Der Spiralfaktor von eins sorgt nun dafür, daß der Kopf 
  307. etwa am Ende des 10. Sektors der neuen Spur landet. Er findet sodann den 
  308.   zusätzlichen Header, der das Bedürfnis des Betriebssystems nach 
  309. Trackverify erfolgreich befriedigt. Sofort nach dem Header kann dann mit 
  310. dem Lesen des 1. Sektors der neuen Spur begonnen werden. Die so 
  311. erreichbaren Ladegeschwindigkeiten bewegen sich um die 22,7 kB/Sek. und 
  312. stellen für Betriebssysteme ohne Fastload den absoluten Spitzenwert dar. 
  313. Die schnellsten 10er Disketten konnten bisher mit 20,79 kB/Sek. geladen 
  314. werden (siehe Tabelle); Steigerung: 9,2%. Leider existiert meines 
  315. Wissens nach (bisher!) kein Formatierprogramm, das automatisch auch bei 
  316. spiralisierten Disketten den zusätzlichen Header mit-spiralisiert. 
  317. Die erste derartige Diskette erzeugte ich in 'Handarbeit', inzwischen 
  318. kanns aber auch mein 'Formatierer'. 
  319.  
  320.  
  321. Und wie schnell sind Hyper-Density Disketten ?  
  322. ----------------------------------------------
  323. Das sind solche Disketten, die mit höherer Datenrate formatiert wurden
  324. - siehe ST Computer 7/8-89 - und dadurch bis zu 1,2 MB Datenkapazität 
  325. vertragen. Aber sie sind auch noch mit Abstand die schnellsten; hier die 
  326. Ladegeschwindigkeiten, links mit Fastload, rechts ohne Fastload, aber 
  327. mit den Ihnen nun bekannten Mitteln optimiert:
  328.  
  329.     SPT  IL SPIR Speed                       SPT  IL SPIR Speed 
  330.      ------------------------------------------------------------
  331.      11   1   0   27,51                        11   1   0   27,50  
  332.      12   1   0   30,02                        12   1   0   29,87 !
  333.      13   1   0   32,49                        13   1   1   30,16 !
  334.      14   2   0   17,49                        
  335.  
  336.  Tabelle 3: Hyper-Density Disketten  
  337.  
  338. Weniger ist manchmal mehr  
  339. -------------------------
  340. Nur bedingt kann man die schnellste Formatierung auch als die optimale 
  341. bezeichnen, speziell bei eingebautem Fastload.  Besonders bei den 
  342. schnellen 10er Disketten (IL 1,SPIR 0) und den 13er Hyper-Density 
  343. Disketten (IL 1,SPIR 0) entstehen beim Schreiben auf einigen Laufwerken 
  344. (auch auf meiner SF314) gelegentlich Fehler. Schuld daran ist das 
  345. Schwingverhalten des Schreib/Lesekopfes, der bei einem
  346. Spiralfaktor von 0 praktisch keine Beruhigungszeit mehr hat. Ein 
  347. sicheres Zeichen dafür sind fehlerhafte Sektoren mit Nummer 1. Deswegen 
  348. rate ich bei 10er und 13er Disketten auf den Spiralfaktor 1 
  349. auszuweichen, weil damit dem Kopf eine Sektorlänge mehr Zeit gegeben 
  350. wird. Die Geschwindigkeitseinbuße hält sich dabei in Grenzen (etwa 6-
  351. 9%). Dies scheint wohl auch der Hauptgrund dafür zu sein, weswegen die 
  352. Atari-Entwickler im Desktop mit Spiralfaktor 2 formatieren, werden doch 
  353. die verschiedensten Laufwerke für den ST angeboten.
  354. Ein nützlicher Nebeneffekt ist die Tatsache, daß 5 1/4 Zoll 
  355. Laufwerke bei 6 ms Steprate und Spiralfaktor 1 in den meisten Fällen 
  356. gleiche Lesegeschwindigkeiten erreichen wie ihre kleinen 3 1/2 Zoll 
  357. Pendants. 
  358.  
  359.  
  360. Begriffserläuterungen  
  361. =====================
  362. Ich weiß, viele Leser haben sie nicht mehr nötig, aber im Interesse 
  363. aller anderen mögen Sie mir die Wiederholung der Erläuterung verzeihen !
  364.  
  365. Fastload, Trackverify:
  366. ----------------------
  367. Alle originalen, unveränderten Betriebssystemversionen des Atari ST 
  368. arbeiten ohne Fastload. Dadurch wird das Schreiben und Lesen von 
  369. Diskette verlangsamt, weil nach einem Spurwechsel erst einmal eine Pause 
  370. von 15 ms zur Kopfberuhigung eingelegt wird, und danach die Information 
  371. darüber verlangt wird, ob die erreichte Spur die richtige ist. Vor jedem 
  372. Sektor steht diese Information und wird auch für dieses 'Trackverify' 
  373. benutzt. Da aber diese Information - der Sektorheader - auch zum Lesen 
  374. des eigentlichen Sektorinhalts benötigt wird, kann der Kopf den Sektor, 
  375. über dem er sich gerade befindet, nicht mehr lesen und muß daher eine 
  376. ganze Diskettenumdrehung auf ihn warten.
  377. Um dieses Trackverify abzuschalten, muß ein Byte (eigentlich nur 1 Bit) 
  378. im Betriebssystem geändert werden. Derart geänderte Eproms kann man für 
  379. etwa 20.- bis 30.- DM kaufen und kommt dadurch in den Genuß der höheren 
  380. Lese- und Schreibgeschwindigkeiten (siehe Tabelle). Zum Selbermachen die 
  381. Patchadressen in den verschiedenen Betriebssystem-Versionen (jeweils das 
  382. Byte $14 ändern in $10):
  383.  
  384.  Version      Datum      Offset U7  im Speicher   
  385.   ----------------------------------------------
  386.   TOS 1.0    06.02.1986    $0DC7      $FC1B8F
  387.   TOS 1.2    22.04.1987    $0EC7      $FC1D8F
  388.   TOS 1.4    18.05.1988    $0AE9      $FC15D3    inoffiziell !
  389.   TOS 1.4    22.02.1989    $0A8E      $FC151D    inoffiziell !
  390.   TOS 1.4    06.04.1989    $0A8B      $FC1517     
  391.  
  392.  Version       Datum    File-Offset  im Speicher   
  393.   -----------------------------------------------
  394.   RAMTOS 1.0  06.02.1986   $1A1D       $7A1D
  395.   RAMTOS 1.4  18.05.1988   $13D5       $BED5     inoffiziell !
  396.   RAMTOS 1.4  08.08.1988   $13B1       $BFB1     inoffiziell !
  397.  
  398.  Tabelle 4: Fastload Patchadressen  
  399.  
  400.  
  401. Spiralfaktor, SPIR:  
  402. -------------------
  403. Die Sektoren einer Diskette sind dann spiralisiert, wenn zwar die 
  404. Reihenfolge der Sektoren auf allen Spuren erhalten bleibt, jedoch jede 
  405. Spur mit einer anderen Nummer dieser Reihenfolge beginnt. Verbindet man 
  406. im Gedanken von außen alle Sektoren der Diskette, die die Nummer 1 
  407. haben, so beschreibt diese Kurve eine Spirale, die im Zentrum der 
  408. Diskette enden würde. Nach einem Spurwechsel hat der Lesekopf dadurch 
  409. mehr Zeit, weil der nächste zu bearbeitende Sektor aufgrund der 
  410. Spiralisierung etwas später erscheint als ohne Spiralisierung. Bei 
  411. Systemen ohne Fastload scheint der Spir-Faktor von 2 optimal zu sein, da 
  412. der Kopf nach dem  Spurwechsel erst noch sein Trackverify  ausführen 
  413. kann und danach sofort auf den richtigen Sektor stößt.
  414.   
  415.   Beispiel: Track 17, Sektorfolge 1 2 3 4 5 6 7 8 9
  416.             Track 18, Sektorfolge 8 9 1 2 3 4 5 6 7    >> Spiralfaktor 2
  417.  
  418. Nachdem der Kopf den Sektor 9 auf Spur 17 gelesen hat, fährt er auf Spur 
  419. 18 und landet dort irgendwo in Sektor 8. Den Header von Sektor 9, Spur 
  420. 18 benutzt er zum Trackverify und kann sodann mit dem Laden des Sektors 
  421. 1 beginnen.
  422.  
  423.  
  424. Interleave, Interleave-Faktor:  
  425. ------------------------------
  426. Aufgepaßt: Interleave bezeichnet man als den Zwischenraum zwischen 2 
  427. numerisch aufeinanderfolgenden Sektoren. Oder: So viele 
  428. Diskettenumdrehungen sind notwendig, um alle Sektoren des Tracks zu 
  429. lesen.
  430.  
  431.   Sektorfolge: 1 6 2 7 3 8 4 9 5   >> Interleave 2
  432.  
  433. Zwischen Sektor 1 und 2 liegen 2 Zwischenräume (1-6 und 6-2)
  434.  
  435. aber ...
  436. Interleave-Faktor bezeichnet die Zahl, die auf eine Sektornummer 
  437. aufaddiert wird, um auf die Nummer des nachfolgenden Sektors zu kommen.
  438.  
  439.   Sektorfolge: 1 7 2 8 3 9 4 10 5 11 6 >> Interleave-Faktor 6
  440.                                        >> Interleave 2
  441.  
  442. *** Folgendes Gfa-Basic Programm demonstriert die Arbeitsweise des TOS
  443. *** beim Konstruieren der Sektorfolgen mit Interleave-Faktor
  444.  
  445.  1: FOR spt%=9 TO 11         ! 9 bis 11 Sekt. pro Track
  446.  2:   FOR ilf%=1 TO 11       ! Interl.-Faktor 1 bis 11
  447.  3:     @makesecs(spt%,ilf%) ! Sektorfolgen konstruieren
  448.  4:     PRINT                ! neue Zeile
  449.  5:   NEXT ilf%              ! Nächster IL-Faktor
  450.  6: NEXT spt%                ! Nächstes Trackformat
  451.  7: END
  452.  8: PROCEDURE makesecs(spt%,ilf%)
  453.  9:   lauf%=1
  454. 10:   PRINT spt%;"/";ilf%;"= ";
  455. 11:   REPEAT
  456. 12:     secnr%=lauf%
  457. 13:     REPEAT
  458. 14:       PRINT secnr%;" ";  ! hier ensteht der Sektor
  459. 15:       ADD secnr%,ilf%
  460. 16:     UNTIL secnr%>spt%
  461. 17:     INC lauf%
  462. 18:   UNTIL lauf%>ilf%
  463. 19: RETURN
  464.  
  465. Die Formatier-Routine (XBIOS 10) des Atari ST erwartet auf dem Stack 
  466. einen  Interleave-Faktor   und führt damit obige Rechnung aus.
  467.  
  468. Wem es noch nicht kompliziert genug ist, hier der mathematische 
  469. Zusammenhang zwischen Interleave (IL) und Interleave-Faktor (ILF):
  470.  
  471.       Bedingung:  0<ILF<SPT  und  1<IL<SPT
  472.  
  473.        ILF*IL=SPT+1                        SPT=Sektoren pro Track
  474.  
  475.  Formel 3   
  476.  
  477. Zur Beurteilung der Ladegeschwindigkeiten und deshalb auch in meiner 
  478. Formel wird hingegen der  Interleave   (IL) benutzt, weil er diesbezüglich 
  479. aussagekräftiger ist und unabhängig von der Anzahl der Sektoren 
  480. pro Track (SPT) Auskunft über die minimale Anzahl von 
  481. Diskettenumdrehungen gibt, die zum Lesen aller Sektoren nötig sind.
  482.  
  483.  
  484. Zusätzlicher Header, Sektorvorspann:  
  485. ------------------------------------
  486. So nennt man den Teil eines Sektors, in dem Auskunft über Tracknummer, 
  487. Seite, Sektornummer und Sektorgröße gegeben wird, dem aber nicht wie 
  488. normalerweise das 512 Byte lange Datenfeld des Sektors folgt. Dieser 
  489. Sektorvorspann wird alleine geschrieben, belegt insgesamt 10 Bytes auf 
  490. der Diskette und seine einzige Aufgabe ist, dem System Auskunft über die 
  491. Tracknummer zu geben, in der die gerade gelesene Information steht. 
  492. Durch diesen Trick wird dem Trackverify (s. dort) Rechnung getragen.
  493.  
  494.