Verdopplung der Lesegeschwindigkeit

Im ST-Betriebssystem (Version vom 6.2.1986) steht bei Adresse $7A1C folgendes Programmstück:

Dieser Programmteil ist in der Routine, die einen Track ansteuert, enthalten und sendet den Befehl $14 an den Diskkontroller. Dadurch wird der SEEK-Befehl (Spur suchen) ausgelöst und die vorher übergebene Spur wird angesteuert. Durch das Lesen eines Headers auf der Spur wird dann überprüft, ob auch logisch die richtige Spur erreicht ist. Es besteht nun die Möglichkeit, auf dieses zusätzliche Anlesen des Tracks zu verzichten. Dazu muß der Befehl in der Zeile 7A1C folgendermaßen abgeändert werden:

007A1C 7C10 move.q #$10,D6

Das Andern kann man mit einem einfachen POKE-Befehl von Basic aus oder mit einem Monitor (z. B. Joshua) bewerkstelligen. Will man es allerdings auf Dauer erreichen, muß man zu einem Diskmonitor greifen und mit viel Geduld und einer Sicherheitskopie des TOS die betreffende Zeile abändern.

Was nun mit dem Lesen einer Diskette geht, läßt sich auch beim Schreiben erreichen. Dazu gibt es die Möglichkeit, das Byte $444 in 0 zu ändern, so daß die geschriebenen Daten nicht mehr überprüft werden. Dadurch erreicht man eine Verdopplung der Schreibgeschwindigkeit. Dieses Verfahren erscheint zwar gut, sollte aber nur bei sehr guten Disketten und etwas Mut Anwendung finden, da Fehler beim Schreiben nicht bemerkt werden.

007A1C	704	move.q #$14,D6	★ lade Befehl
007A1E	6124	bsr S7A44	★ an Kontroller

Oliver Joppich
Aus: ST-Computer 05 / 1986, Seite 78

Links

Copyright-Bestimmungen: siehe Über diese Seite