von Bernd Dongus Auf in die vorläufig letzte Runde der Laufwerkserläuterungen, in der wir uns auf die restlichen Befehle stürzen. Zu- nächst wären da die beide Befehle mit denen das LW konfiguriert bzw. die Kon- figuration gelesen werden kann. Befehl $4E ('N') ist zum Lesen und $4F ('O') ist zum Schreiben da. Die Hilfsbytes ($30A,$30B) haben auf diese Kommandos keinerlei Einfluß, denn es wird immer ein 12 Byte langer Daten- satz (PERCOM-Block) übertragen. Dieser Block läßt sich mal wieder am Besten in einer Tabelle darstellen : Byte 0: Spuren pro Seite (normal 40) Byte 1: Step Rate, beim 8-bit unwichtig Byte 2: Sektoren pro Spur High-Byte Byte 3: - " - Low-Byte Byte 4: 1=doppel- , 0=einseitiges LW Byte 5: Diskettenart Bit 1: 0= 5.25 Zoll, 1= 8 Zoll Bit 2: 1= doppelte, 0= einfache Dichte Byte 6: Bytes/Sektor High-Byte Byte 7: - " - Low-Byte Byte 8: Translation control Bit 7: 1= 40 Spuren auf 80-Spuren-LW Bit 6: immer 1 Bit 1: 1=Sektoren 1-3 haben volle Größe Bit 0: 1=Sektornummern 0-17, nicht 1-18 Byte 9-11: nicht benutzt Dieser Block wird in der Computerwelt überall benutzt, nicht nur bei ATARI, was auch die für den 8-Bit etwas unsin- nigen Daten erklärt. ACHTUNG ! Da die mittlere Dichte ein Pseudoformat der Firma ATARI ist, kann man dieses mit diesen Befehlen nicht erkennen bzw. programmieren. Kommando 'N' wird dadurch völlig nutz- los, da man mit 'S' jede Dichte erken- nen kann. 'O' wiederum ist für Besitzer eines erweiterten LWs wichtig bei der Formatierung der Disketten, weil für doppelte Dichte derselbe Befehl ($21) benutzt wird. Einige von Euch kennen wahrscheinlich das Floppytestprogramm der Firma ATARI und haben sich gefragt, wie man einem nicht programmierbaren LW solche Sachen beibringt. Hier kommt die Lösung: In den Tiefen der 1050 sind noch zwei Kommandos zu finden. $23 und $24 bergen einige Ge- heimnisse, welche ich (schon wieder) in Kurzform lüften werde. Bei $23 wird ein 128 Byte langer Block zur Floppy gesendet, und bei $24 wird ein ebenso langer Block zurückgesendet. Befehl $23: 1.Byte: 0 = Drehzahl messen. Ein nach- folgender Befehl $24 gibt in den ersten zwei Byte die Drehzahl in ms*10 zurück 1.Byte: 1 = Motorhochlaufzeit messen. $24 meldet diese dann im 1. und 2. Byte zurück. AB JETZT IST EINE FORMATIERTE DISK IM LAUFWERK ERFORDERLICH ! 1.Byte: 0, 2.Byte: 0-18 bzw. 0-26 Es wird geprüft, ob jeder Sektor, der nach dem Steppen auf die nächsten Spur zuerst gelesen wird, kleiner od. gleich dem im 2.Byte angegebenen ist. Sollte dies nicht der Fall sein wird ein Feh- ler gemeldet. 1.Byte: 3, 2.Byte: 1 = nach innen, 2 = nach außen Halbschritt steppen. Eine Spur benötigt zwei Halbschritte. 1.Byte: 4, 2+3.Byte Wiederholungen, 4-15.Byte ASCII-Code-Seriennummer Dieser Befehl meldet sich sofort zu- rück, benötigt aber selbst bei einem einzigen Durchlauf ca. zehn Minuten. Die Disk wird neu formatiert und Sektor eins wird beschrieben. 1.Byte: 4, 2.Byte: 0-39 Die im 2.Byte enthaltene Spur wird an- gefahren. Das wär's dann zum Thema Laufwerk gewe- sen. Beispiele gibt's heute keine, da ich eine HAPPY 1050 mein Eigen nenne und diese noch nie etwas von Befehl $23 gehört hat ! (Im HAPPY-OS steht zwar ein Haufen Schrott, aber dieses Komman- do wurde gelöscht. Schweinerei !)