★ APPLICATIONS ★ DIVERS ★ DFORM ★ |
Dform (CPC Amstrad International) | Applications Divers |
Programm zum Formatieren von Disketten mit bis zu 512k freiem Speicherplatz mit gleichzeitiger Einbindung ins AMSDOS. Das Programm DFORM erzeugt einen neuen RSX-Befehl: DFORM. Dieser Befehl benötigt einen Parameter, der das gewünschte Format angibt. Er darf vier verschiedene Werte annehmen: 0 — Bei jedem Diskettenzugriff wird vom AMSDOS automatisch das Format der Diskette festgestellt Das letzte Format unterscheidet sich von den anderen ganz erheblich. Dort stehen dem Anwender unter AMSDOS nämlich volle 215k zur Verfügung! Bei den Formaten 1 und 2 werden nur die Spuren 40—42 neu in das Betriebssystem eingebunden. Nun etwas zur Funktionsweise der Programme. Wie inzwischen wohl allgemein bekannt ist, kann das Schneider Laufwerk ohne Probleme auch Disketten mit 43 Spuren verarbeiten. Um diese aber ins Betriebssystem einzubinden, muß man schon einen etwas höheren Aufwand betreiben. Das Betriebssystem bezieht seine Informationen über das Format der eingelegten Diskette aus einem Bereich im RAM, dem DPB. Dieser Begriff kommt aus dem CPM und steht für Disk Parameter Block. Er liegt beim CPC unter AMSDOS normalerweise für das Drive A an der Adresse # A890. Dort sind einige Informationen enthalten, wie z.B. das aktuelle Format, die Anzahl der Einträge im Directory etc. Der DPB enthält unter anderem auch ein Byte, das bestimmt, ob bei jedem Diskettenzugriff das Format der eingelegten Diskette erkannt werden soll. Es ist das Byte 24 im DPB. Wird dieses auf # FF gesetzt, wird der Auto Login abgeschaltet. Hat es dagegen den Wert 0, so wird der Auto Login angeschaltet. Nur wenn man den Auto Login abschaltet, kann man dauerhafte Veränderungen am DPB durchführen. Für die Formate 1 und 2 ist nur das Byte 5 des DPB von Bedeutung, das die maximale Blocknummer der Diskette enthält. Normal ist beim CPM Format ein Wert von 170. DFORM tut nun also nichts weiter, als diesen Wert um 13, die Anzahl der Blocks auf den Spuren 40—42, zu erhöhen. Interessanter ist hier das Format 3. Wie bekommt man auf einer Diskette 215k freien Platz, wo doch selbst mit 43 Spuren nur 193k darauf Platz finden? Hier kommt ein weiterer Vorteil des DPB zum Vorschein: Man kann dem AMSDOS fast beliebige Formate »beibringen«. Beim Format 3 werden lediglich 10 Sektoren statt der üblichen 9 formatiert. Dadurch erhält man 0.5k mehr Speicherplatz pro Spur, wodurch man bei 43 Spuren auf einen Gewinn von insgesamt 22k kommt. Um nun 10 Sektoren pro Spur zu formatieren, reicht das CPM Dienstprogramm FOR-MAT.COM nicht mehr aus. Das besorgt dafür das beigefügte Programm FORMAT. Es ist größtenteils in BASIC geschrieben, nur die Routine zum Formatieren eines Tracks ist in Assembler geschrieben, da man Routinen im Floppy-ROM leider von BASIC aus nicht aufrufen kann. Das Programm läuft nur, wenn vorher der RSX-Befehl DFORM installiert worden ist. Das Programm selber kann nicht nur dieses erweiterte Format formatieren, sondern auch das normale DATA-und CPM-Format, jedoch mit 43 statt der sonst üblichen 40 Tracks. Im CPM Format wird allerdings das CP/M nicht auf die Diskette übertragen, dies muß nachträglich mit SYSGEN.COM oder BOOTGEN.COM auf die Diskette kopiert werden. Wichtig!!! Diese Routinen laufen alle nur auf Laufwerk A, da die erweiterten Formate mehr Platz im RAM verbrauchen und somit einen Teil des DPB von Drive B überschreiben. Wenn Drive A und B gleichzeitig eingesetzt werden, so darf das nur im Modus 0, d.h bei eingeschaltetem Auto Login, geschehen, da es sonst zu Fehlern beim Schreiben eines Files auf Drive B kommen kann. Wenn man jedoch vorher den Befehl |DFORM,0 gibt, d.h. auf die normalen Formate umstellt, kann so etwas nicht Vorkommen.
|