★ APPLICATIONS ★ DISQUE ★ VORTEX DISKTOOL (CPC AMSTRAD INTERNATIONAL) ★ |
Vortex Disktool (CPC Amstrad International) | Applications Disque |
Dieses Programm wendet sich an alle, die ihre VORTEX-Floppy noch besser ausnutzen wollen. Die einprägsamen RSX-Befehle lassen den Umgang mit der Floppy zum Genuß werden. Ein kurzer Befehl und Ihre Floppy lädt Programme bis zu 20% schneller; nun können Sie (auch während des Programmierens in BASIC!) mal schnell die CP/M-Systemspuren oder einzelne Files kopieren, sich ihre Header anzeigen lassen, Tracks und Sektoren laden, speichern, hexadezimal in ASCII anzeigen lassen, wichtige Laufwerksparameter einfach auslesen und verändern — die Möglichkeiten sind fast nur durch Ihre eigene Kreativität begrenzt (einige Ansätze können Sie in der DEMO sehen . . . ) Nun aber zu den Befehlen und ihrer Handhabung: da es sich um eine RSX-Befehlserweiterung handelt, muß vor jedem neuen Befehl ein senkrechter Balken (SHIFT + Klammeraffe) stehen. Besonders anwenderfreundlich sind u. a. die Fehlermeldung »Parameter Error« bei falscher Parameteranzahl und der LIST-Befehl, der alle neuen Befehle auflistet und dann auf einen Tastendruck wartet. Zuerst zu den Befehlen, die die Floppy-Parameter verändern: Mit SET.LV, x können Sie die Anzahl der Leseversuche festlegen. Problematischen Disketten kann man mit 255 Leseversuchen nachhelfen). Mit SET.HZ, x setzen Sie die Hochlaufverzögerungszeit des Floppymotors. (Der Motor braucht immer einige Sekunden, bis er die vereinbarte Drehzahl erreicht hat). Mit SET.NZ, x wählen Sie, wie lange der Motor nach einem Zugriff nachlaufen soll. (Wenn oft auf Diskette zugegriffen wird, ist eine lange Nachlaufzeit günstig, da so die Hochlaufzeit eingespart wird, weil der Motor ja noch läuft). SET.SP, x setzt die Wartezeit des Kopfes, da er immer etwas braucht, um sich zu beruhigen. Wenn Sie diesen Wert z. B. auf 10 setzen, erhöht sich der SPeed der Floppy ganz schön . . . Die Befehle GET.LV,@ GET.HZ,@ GET.NZ,@ und GET.SP,@ lesen die Werte für Leseversuche, Hoch- und Nachlaufzeit des Motors, und den SPEED der Floppy aus. Wichtig ist, daß die mit »@« übergebene Variable x% vor dem ersten Befehlsaufruf bereits irgendeinen Wert zugewiesen bekommen haben MUSS, da es sonst zur Fehlermeldung kommt (also gleich am Programmanfang x %=0 eingeben). Mit GET. DRIVE, @ fragen Sie ab, welches Laufwerk gerade angeschlossen ist. x%=0 bedeutet, daß Laufwerk A, x%=l, daß Laufwerk B gerade selektiert ist. GET.USER,@ übergibt den aktuellen User(bereich) in x %. Den »krönenden Abschluß« dieser Befehlsgruppe bilden »FDISC« und »SDISC«: FDISC (FastDISC) macht Ihre Floppy bis zu 20% schneller und SDISC stellt wieder den Ausgangszustand her. Kommen wir nun zu den Befehlen, die auf die Diskette zugreifen. Gleich zu Anfang möchten wir sie aber warnen, »Spielen« Sie nie mit einer Disk, von der Sie keine Sicherheitskopie haben! Das könnte katastrophale Folgen haben. Hoffen wir aber, daß Sie dies vermeiden und beschreiben wir jetzt die Befehle: READ.SECTOR, sect, trk, drv, buff liest den Sektor sect von Track trk in Laufwerk drv nach buff. Bei VORTEX sind die Sektornummern 1,2,. . . ,9 und die Tracks von 0 bis 159 nummeriert (ab Track 80 wird auf die andere Seite der Diskette zugegriffen). »Hinter« bzw. »über« buff müssen noch 512 Bytes für den Sektorinhalt frei sein. Um z.B. den ersten Sektor des Inhaltsverzeichnisses (das sich auf Track 2 befindet) nach 20000 zu laden, geben Sie ein READ.SECTOR. 2, 1,0, 20000 für Laufwerk A und READ.SECTOR, 2, 1, 1, 2000 für Laufwerk B. Analog zu READ.SECTOR gibt es den WRITE.SECTOR, sect, trk, drv, buff-Befehl, der (es ist kaum zu erraten) einen Sector im RAM ab buff auf Diskette speichert. Die Parameter geben an, welcher Sektor der Disk beschrieben werden soll; sie entsprechen denen von READ.SECTOR. Da es natürlich sehr umständlich und unkomfortabel ist, mit den Sektorbefehlen ganze Tracks (TRACK= eine der 160 Spuren, auf denen sich die jeweils neun Sektoren befinden) zu laden und zu SAVEn, gibt es die Befehle READ.TRACK, trk, drv, buff und WRITE.TRACK, trk, drv, buff. Der durch trk und drv definierte Track wird entweder nach buff gelesen (bei READ.TRACK) oder von da aus auf Diskette geschrieben (bei WRITE.TRACK), »trk« und »drv« entsprechen den SECTOR-Parametern, bei »buff« ist zu beachten, daß darüber bzw. dahinter 4096 Bytes (4KB) für den Trackinhalt frei sein müssen. Der SEEK.TRACK, trk, drv-Be-fehl sucht (suchen=engl. to seek) einen Track. Das heißt, daß der angegebene Track angefahren wird. Durch geschickte Positionierung des Kopfes kann eine Menge Zeit gespart werden. Wie schon oben gesagt, gibt es bei VORTEX 160 Tracks, die von 0-159 durchnummeriert sind. Andere Tracknummern können unvorhersehbare Folgen haben - also lieber nicht zu riskant experimentieren; Weil man einen Sektor aber nicht nur laden und speichern, sondern erst recht untersuchen, also ansehen möchte, gibt es den Befehl DUMP.SECTOR, sect, trk, drv, buff. Er liest einen Sector mit den gleichen Parametern wie READ.SECTOR, zeigt ihn aber danach gleich hexadezimal und in ASCII an — er DUMPt den Sektor, wie man sagt. (Wer will, kann so z. B. die CP/M-Fehler-meldungen suchen und ins Deutsche übersetzen. . .). Die Unterbrechungsmöglichkeiten während des DUMPens sind dieselben wie in BASIC, einmal ESC=Stop, das zweite Mal ESC=Abbruch und jede andere Taste=weiter DUMPen. Damit man auch sonst von der DUMP-Routine profitieren kann, gibt es den »reinen« DUMP-Befehl: DUMP, adr:er DUMPt einen Speicherbereich ab adr bis zum Abbruch durch zweimal ESC. Neben den eben beschriebenen »Low Level«-Disk-Befehlen gibt es natürlich noch »High-Level«-Befehle: HEADER, filename$ zum Beispiel. Dieser Befehl gibt den »Header« des Files »filename$« an. Unter einem Header versteht man den »Kopfsatz« eines Files, in dem seine Startadresse, Länge, Autostartadresse (engl. »Entry«) und sein Typ (BASIC, binär, ASCII, unbekannt) vermerkt sind. Wundern Sie sich nicht, daß ASCII-Files, auch wenn sie bei CAT z. B. 11K lang sind, eine Länge von Null im Header haben. Bei diesen Files definiert sich das VDOS nämlich (um CP/M-kompatibel zu bleiben) einen eigenen Header, der nicht so einfach ausgelesen werden kann. Die restlichen »High-Level«-Befehle enthalten alle »COPY«, sie dienen also alle dazu, etwas zu kopieren. Das beginnt bei FCOPY, filename$, das einzelne Files kopiert (folgen Sie einfach den Anweisungen) und geht über DCOPY, das die gesamte Diskette mit Track-Anzeige kopiert (folgen Sie auch hier den Anweisungen) bis zu CPMCOPY, das ein einfaches Kopieren der CP/M-Spuren ermöglicht (auch hier den Anweisungen folgen). Nur DCOPY löscht Ihr gerade im Speicher stehendes BASIC-Programm mit 100%tiger Sicherheit — CPMCOPY verschont Ihr Programm, solange es nicht über ca. 22K lang ist (was nicht sehr oft passieren dürfte). Wenn Sie mit FCOPY kopieren, wird Ihr aktuelles BASIC-Programm überschrieben, wenn Sie ein BASIC (».BAS«)-Programm kopieren. Bei Binärprogrammen (». BIN«) kann Ihr Programm, es muß aber nicht, überschrieben werden. (Dies als Information um Anfragen und Mißverständnissen gleich vorzubeugen). So, das wären dann alle 24 VORTEX-DISKTOOL V1.0 — Befehle. Wie gesagt muß vor jedem Befehl der »senkrechte Strich«, den man mit SH1FT + Klammeraffe erreicht, stehen, da es sich um eine RSX-Befehlserweiterung handelt. Alle Befehle auf einen Blick Zum Abschluß nochmal eine kurze Zusammenfassung der Befehle, ihrer Parameter und Wirkungen:
Parameter setzen:
Parameter auslesen:
»Low-Level«-Disk-Befehle:
»High-Level«-Befehle:
Für alle, die sich mit den neuen Befehlen so richtig vertraut machen wollen, ist die DEMO da. In ihr werden fast alle Befehle benutzt und einige der vielen Möglichkeiten angedeutet, die sich durch das VOR-TEX-DISKTOOL VI. 0 eröffnen. Wenn es mal nicht angezeigt wird, drücken Sie bitte immer eine Taste, um zur nächsten Befehlsdemonstration zu gelangen. Wir hoffen, daß Sie diese Erweiterung gebrauchen können und daß sie Ihnen genauso viel Freude bereitet wie uns.
|