NEWDOS/80 v2.0 und die PDRIVE-Parameter

  • NEWDOS/80 ist ein vielfältig konfigurierbares Betriebssystem. Mit den angebotenen Möglichkeiten steigt aber auch die Komplexität und damit die Gefahr von suboptimalen oder fehlerhaften Konfigurationen. Dies betrifft vor allem die PDRIVE-Parameter, mit denen die Floppy-Disk-Laufwerke und die Disketten konfiguriert werden können.

    Beim NEWDOS/80 ist es durch die PDRIVE-Parameter möglich,

    - die Anzahl der Spuren

    - einseitige oder zweiseitige Disketten

    - single Density, double Density

    - 5" oder 8" Laufwerke

    - Lage und Größe des Inhaltsverzeichnisses auf der Diskette

    und andere Vorgaben zu bestimmen.

    Dabei ist es möglich, daß jedes angeschlossene Diskettenlaufwerk andere Parameter enthalten kann. 10 verschiedene Parametersätze werden im NEWDOS vorgehalten und bei Bedarf kann zwischen ihnen umgeschaltet werden.

    Viele Benutzer machen verständlicherweise einen großen Bogen um die PDRIVE-Parameter, weil sie nicht alle auf den ersten Blick leicht verständlich sind. In diesem Thema hier wird auf die Besonderheiten des PDRIVE eingegangen und versucht, die größten Unklarheiten auszuräumen.

    Den Anfang macht hier zur Einführung ein Auszug aus dem NEWDOS/80 v2.0 Manual, welches 1982 in der deutschen Übersetzung erschienen ist.

    Viel Spaß mit PDRIVE!

  • NEWDOS/80 v2.0 Handbuch

    =======================

    2.37 PDRIVE

    --------------

    Standardwerte für die Floppy-Laufwerke eingeben

    PDRIVE,<passwort1:>dn1,<dn2(=dn3)><,TI=typ1><,TD=typ2><,TC=Tc1><,SPT=sc1><,TSR=rc1><,GPL=gc2><,DDSL=ln1><,DDGA=gc1><,A>

    PDRIVE kann nicht im MINI-DOS aufgerufen werden.

    NEWDOS/80 hat eine begrenzte Anzahl von Möglichkeiten, verschiedene 5-Zoll Floppies und 8-Zoll Floppies anzusprechen. Über das Kommando PDRIVE können für jede Floppy die physikalischen Eigenschaften angegeben werden.

    Jedes PDRIVE-Komnando listet die Angaben für max. 10 Laufwerke, obwohl die Anzahl der angeschlossenen Laufwerke und die beim SYSTEM-Parameter AL angegebene Anzahl der Laufwerke auf keinen Fall 4 überschreiten darf. Die Laufwerke innerhalb des Bereichs von AL werden beim Kommando PDRIVE mit einem Stern nach der Laufwerksnummer angezeigt. Die Angaben über die 10 Laufwerke werden vom System von der Diskette in Laufwerk 0 übernommen. Aus Gründen der Zeitersparnis werden die Laufwerksangaben von den unter 'AL' angegebenen Laufwerken von Diskette 0 im Arbeitsspeicher (RAM) gehalten und bei jedem Reset neu in den Speicher geholt. Ist jedoch eine der 10 möglichen Angaben falsch, kann auch die Übernahme der 4 gültigen Angaben nicht erfolgen und das System bleibt beim nächsten Reset hängen. Die Tabelle der Laufwerksangaben wird ebenfalls beim PDRIVE-Kommando mit dem Parameter ',A' in den Arbeitsspeicher übernommen.

    Die Angabe 'dn1' bezieht sich auf das Floppy-Laufwerk, in dem sich die Floppy mit dem Betriebssystem befindet. Im 3.Sektor von BOOT/SYS dieser Floppy werden die Angaben über die einzelnen Laufwerke abgespeichert und mit dem Kommando PDRIVE verändert.

    Wird beispielsweise das Kommando 'PDRIVE,1,4,TC=80' eingegeben, so erhält die Diskette in Laufwerk 1 die Kontrollinformation für Laufwerk 5 mit 80 Spuren. Da 'dn' einen Wert von 0 bis 9 annehmen kann, bedeutet 4 das Laufwerk 5. Die Laufwerksparameter der anderen Laufwerke werden nicht beeinflusst.

    Wenn die Passwörter aktiv sind, muss das Haupt-Passwort für die Diskette eingegeben werden, auf der die Parameter verändert werden (dn1), andernfalls kann das Passwort weggelassen werden.

    Es werden nur die Parameter eines Laufwerks verändert, die auch mit dem Kommando angegeben werden. Da das System die eingegebenen Parameter nicht überprüft (*1), muss bei diesem Kommando besonders auf die Richtigkeit der Eingaben geachtet werden.

    Mit dem Kommando PDRIVE,dn1 werden die 10 Laufwerksparameter gelistet, die auf der Diskette in Laufwerk 'dn1' gespeichert sind.

    TI=typ1

    Gibt die Art der Verbindung (Interface) zwischen Z80-CPU und der Floppy an. typ1 muss ein einzelner Buchstabe sein und zwar bei Modell I nur A, B, C oder E. Beim Modell III darf es nur A oder D sein. Die anderen Angaben sind optional, abhängig von der Art des Interfaces zu den Floppies. Manche Angaben dürfen nicht im Zusammenhang mit anderen Angaben weiterer Laufwerke stehen. Wird also beispielsweise für Laufwerk 1 eine bestimmte Anschaltung eingegeben, darf Laufwerk 2 nicht eine andere Anschaltungsart enthalten. Im Moment sind für das Modell I die Angaben B, C und E entweder für alle oder für kein Laufwerk anzugeben.

    A

    bedeutet, daß das Standard-Interface für Diskettenoperationen installiert ist. Beim Modell I kann dieses Interface die Optionen A und C unterstützen, beim Modell III die Optionen A, C, E und G.

    B

    (nur Modell I) Omikron 8-Zoll Floppy-Interface. Dieses Interface unterstützt die Optionen A, B, C und D auch wenn es sich um ein Omikron-Interface handelt.

    C

    (nur Modell I) PERCOM Doubler-Interface ist installiert und wird für Floppy Ein- und Ausgaben benutzt. Mit diesem Interface können die Optionen A, C, E und G benutzt werden.

    D

    (nur Modell III) bedeutet, daß der Disk-Controller von Apparat installiert ist und für Floppy Ein- und Ausgabe benutzt wird. Die Optionen A bis H können benutzt werden.

    E

    (nur Modell I) bedeutet, daß der LNW-Disk-Controller installiert ist und für Floppy Ein- und Ausgabe benutzt wird. Die Optionen A bis H können benutzt werden.

    H

    bedeutet, daß beim Wechsel von einer Diskette auf diese mit H angegebene Diskette eine Zeitverzögerung für die Kopfpositiomerung eingehalten wird. Bei 5"-Floppies für Modell I und III wird der Kopf mit dem Motorstart neu positioniert, eine Zeitverzögerung ist also nicht nötig. Sie ist nur für 8"-Floppies.

    I

    bedeutet, daß der niedrigste Sektor die Nummer 1 hat. Dies ist der Standard für Disketten von Modell III TRSDOS. Wenn I nicht angegeben ist, ist der 1.Sektor einer Spur Sektor 0. Dies ist Standard beim Modell I und beim NEWDOS/80 im Modell III.

    J

    bedeutet, daß der niedrigste Sektor die Nummer 0 hat. Dies ist der Standard für Disketten von Modell I und III im NEWDOS/80.

    K

    bedeutet, daß die Spur 0 formatiert wird (oder ist) mit einer anderen Schreibdichte als die anderen Spuren. Dadurch wird die Spur 0 für normale Disk Ein- und Ausgabe unbrauchbar. Es kann nur entweder J oder K gesetzt werden. Der Zweck für die unterschiedliche Formatierung liegt darin, daß ein System von einer derartigen Diskette geladen werden kann (Spur 0 einfache Schreibdichte bei Modell I, alle anderen Spuren doppelte Schreibdichte, bei Modell III die erste Spur doppelte Schreibdichte, alle anderen Spuren einfache). Mit dem Flag K teilt man den Befehlen FORMAT und COPY mit, die Spur 0 in umgekehrter Schreibdichte wie die anderen Spuren zu formatieren oder zu kopieren. Flag K darf nicht für Modell III-Disketten angegeben werden, außer der Benutzer möchte unbedingt die Standard-Diskette von Modell III auf Modell I ohne NEWDOS/80 v.2 laufen lassen. Wenn K dann angegeben wird, muss bei TC eine Spur weniger als eigentlich vorhanden angegeben werden.

    L

    bedeutet, daß von einer Spur zur nächsten zwei Schritt-Impulse an den Schreibkopf gegeben werden. Damit können Disketten mit 35 oder 40 Spuren auf einem Laufwerk mit 80 Spuren gelesen werden. Es kann zwar auch damit geschrieben werden, dies kann aber beim Lesen zu Problemen führen und sollte deshalb vermieden werden.

    M

    bedeutet, daß die Floppy im Standard Modell III TRSDOS beschrieben ist. Nur das DOS-Kommando COPY wird aber berücksichtigen, daß die Floppy in diesem Format beschrieben ist und sich darin von der NEWDOS/8O-Diskette unterscheidet.

    Wurde mit Änderung (Zap) #030 erweitert auf Modell I TRSDOS 2.3B.

    Die Optionen F und G sowie N bis Z werden nicht gebraucht und sind für spätere Anwendungen reserviert.

    TD=typ2

    Gibt den Typ der Floppy an. typ2 muss ein einzelner Buchstabe nach folgendem Schema sein:

    1. A = 5" Floppy, einfache Dichte, einseitig

    2. B = 8" Floppy, einfache Dichte, einseitig

    3. C = 5" Floppy, einfache Dichte, zweiseitig

    4. D = 8" Floppy, einfache Dichte, zweiseitig

    5. E = 5" Floppy, doppelte Dichte, einseitig

    6. F = 8" Floppy, doppelte Dichte, einseitig

    7. G = 5" Floppy, doppelte Dichte, zweiseitig

    8. H = 8" Floppy, doppelte Dichte, zweiseitig

  • Wenn eine CPU-Taktfrequenzerhöhung installiert ist, und diese Beschleunigung während der Ein- und Ausgabe auf die Floppy aufgehoben wird, muss darauf geachtet werden, daß die Ein-/Ausgabegeschwindigkeit nicht niedriger wird als die Geschwindigkeit der nicht umgebauten CPU.

    Die Disk Ein- und Ausgabeloops im NEWDOS/80 können keine unterschiedliche Geschwindigkeit tolerieren. Dies gilt besonders für die Optionen B, D, E und G. Mit der SYSTEM-Option 'BJ' kann die CPU jedoch mit der schnelleren Geschwindigkeit laufen, auch bei Disk Ein- und Ausgabe. Diese SYSTEM-Option wurde von Apparat jedoch noch nicht genügend ausgetestet, eine Garantie für das Funktionieren kann also nicht gegeben werden.

    Die Optionen 'TD=F' oder 'TD=H' verlangen jedoch den Umbau der CPU auf eine höhere Geschwindigkeit; sie muss bei der Ein- und Ausgabe von der Floppy mindestens doppelt so hoch sein.

    Bei Laufwerken vom Typ C, D, G und H behandelt das NEWD0S/80 beim normalen Interface (TI=A, B, C, D oder E) eine zweiseitig beschriebene Floppy als eine gesamte Floppy. Die niedrigen Sektoren einer Spur liegen auf der ersten Seite, die höheren Sektoren auf der Rückseite. Eine solche Floppy hat auch nur ein Directory. Der Pin 32 der Floppy wird für den Seitenwechsel angesteuert (Spezialkabel). Doppeltseitige Floppies mit 5" und 8" können mit dem NEWD0S/80 v.2 beim Modell I und III benutzt werden.

    Apparat hat in der Version 1 des NEWDOS/80 Floppies mit doppelter Schreibdichte nicht unterstützt. Einer der Hauptgründe war, daß Laufwerke mit doppelter Schreibdichte bei weitem nicht die Datensicherheit erreichen, wie mit einfacher Schreibdichte. Einer der Gründe hierfür war der Data-Separator. Obwohl sich das im letzten Jahr etwas gebessert hat, ist die Datensicherheit dieser Floppies noch wesentlich geringer.

    TC=tc1

    Gibt die Anzahl der Spuren für die Diskette in Drive 'dn2' an (ausschliesslich Spur 0 bei der Option 'K'). Wenn das Flag 'K' nicht gesetzt ist, gilt TC=35 für ein Laufwerk mit 35 Spuren, TC=40 für 40 Spuren. Wenn 'K' gesetzt ist, gilt TC=34 für Floppies mit 35 Spuren und TC=39 für 40 Spuren.

    SPT=sc1

    Gibt die Anzahl der Sektoren je Spur an. 'sc1' muss bei doppeltseitigen Laufwerken (TD=C, D, G oder H) doppelt so hoch sein wie bei gleichen Laufwerken, die nur einseitig sind, 'sc1' kann jeden Wert zwischen 1 und der maximalen Anzahl von 256 Byte langen Sektoren einer Spur sein. Hier noch die Maximalwerte für die verschiedenen Laufwerkstypen: A=10, B=17, C=20, D=34, E=18, F=26, G=36 und H=52.

    TSR=rc1

    Gibt die Zeit der Impulse für die Kopfpositionierung an. 'rc1' kann einen Wert von 0 bis 3 haben. Er wird benutzt bei den Kontroller-Kommandos SEEK, STEP und RESTORE. Beim Standard-Kontroller des Modell I und III ergibt TSR=0 eine Wartezeit von 5ms, TSR=1 ergibt 10ms, mit TSR=2 werden 20ms gewartet und bei TSR=4 40ms. Beim Modell I ist TSR=3 der Standardwert. Benutzt werden kann, je nach Fabrikat des Laufwerks, auch TSR=2 oder TSR=1. Beim Modell III wird TSR=0 benutzt. Bei Problemen mit der Floppy ist TSR=3 der sicherste Wert.

    GPL=gc2

    Gibt die Anzahl der Granules pro 'Lump' an. 'gc2' darf zwischen 2 und 8 liegen. Beim TRSDOS für das Modell I und III, sowie bei den älteren NEWDOS-Versionen wurde die Unterteilung der Floppy über Granules (5 Sektoren pro Granule beim Modell I und 3 Sektoren pro Granule beim Modell III) und Spuren (2 Granules pro Spur beim Modell I, 6 Granules pro Spur beim Modell III) vorgenommen. Beim NEWDOS/80 v.2 für beide Modelle werden noch immer 5 Sektoren pro Granule erzeugt, und 2 bis 8 Granules pro 'Lump' (nicht Spur). Wenn eine Spurnummer im Directory steht (im GAT-Sektor oder im FXDE) wird diese ersetzt durch eine 'Lump'-Nummer. Auf diese Art kann ein Granule in einer Spur anfangen und in der nächsten Spur aufhören. So kann bei einer 8"-Diskette mit doppelter Schreibdichte unter Beibehaltung des bisherigen Formats des Directorys die Anzahl der Sektoren maximiert werden. Bei 'GPL=2' ist das Directory genau so aufgebaut, wie beim TRSDOS und allen anderen NEWDOS/80 Versionen. Floppies und einzelne Files können dann zwischen den einzelnen Betriebssystemen hin- und her transferiert werden. Bei 'GPL=8' kann das Directory jetzt 192*8*5=7680 Sektoren oder 1966000 Bytes behandeln.

    DDSL=ln1

    entspricht in seiner Funktion dem DDST-Parameter von NEWDOS/80 Version 1. 'ln1' gibt die 'Lump'-Nummer an, in welcher der erste Sektor des Directorys steht. Dieser Wert wird beim FORMAT im 3.Byte des BOOT-Sektors abgespeichert. In den älteren Betriebssystemen enthielt dieses 3.Byte die Spurnummer, in der das Directory anfängt. Da aber bei NEWDOS/80 v.2 nur noch der Ausdruck 'Lump' anstelle von Spur benutzt wird, steht hier eben die 'Lump’-Nummer. Um die relative Sektornummer des ersten Sektors (GAT-Sektor) des Directory zu erhalten, greift das System auf das 3.Byte des BOOT-Sektors zu und multipliziert es mit 5*GPL. DDSL=17 ergibt die gleiche Startadresse bei der einseitigen, mit einfacher Dichte beschriebenen Floppy, wie bei älteren Betriebssystemen. DDSL sollte auf den gleichen Wert gesetzt werden, wie der Parameter DDST bei der Version1.

    DDGA=gc1

    (Wert zwischen 2 und 6) gibt bei FORMAT oder COPY die Anzahl der Granules an, die für das Directory reserviert werden, falls der Parameter 'DDGA' bei diesen Kommandos nicht mit eingegeben wird. Der Standardwert von 'DDGA' ist für die Verwendung mit anderen Betriebssystemen außer NEWDOS/80 immer 2. Wenn dieser Wert ungleich 2 ist, enthält das 32.Byte im HIT-Sektor die Anzahl der zusätzlichen Sektoren für das Directory (5, 10, 15 oder 20). Jeder dieser zusätzlichen Sektoren enthält 8 zusätzliche Einträge. So kann das Directory bei den Werten DDGA=2, 3, 4, 5 oder 6 entsprechend 64, 104, 144, 184 oder 224 Einträge enthalten. Es können alle Einträge außer zwei, nämlich den beiden für BOOT/SYS und DIR/SYS benutzt werden.

    A

    gibt an, daß die Eingaben von PDRIVE (allerdings nur, wenn sie fehlerfrei sind) sofort auf dasjenige Laufwerk geladen und aktiv werden, welches im SYSTEM-Parameter 'AL' angegeben ist. Dadurch entfällt nach der Eingabe das Reset. Wenn 'A' angegeben wird, muss 'dn1' gleich 0 sein.

  • Beispiele für PDRIVE:

    1.)

    PDRIVE,dn1,dn2,TI=A,TD=A,TC=35,SPT=10,TSR=3,GPL=2,DDSL=17,DDGA=2

    Dies ist die Standardeingabe für Disketten beim Modell I, die eine Größe von 5" haben, 35 Spuren, einfache Schreibdichte und für den Austausch mit NEWDOS/80 Version 1 und anderen DOS-Versionen wie TRSDOS geeignet sind. Diese Angabe kann ebenfalls beim Modell III benutzt werden. Für Disketten mit TRSDOS 2.3B im Modell I ist TI=AM zu benutzen (siehe Änderung Zap #030).

    2.)

    PDRIVE,dn1,dn2,TI=A,TD=E,TC=40,SPT=18,TSR=3,GPL=2,DDSL=17,DDGA=2

    Dies ist die Standardeingabe für Disketten, die ein Größe von 5" haben, 40 Spuren, doppelte Schreibdichte und einseitig, also im Modell III eingesetzt werden. Beim Modell I gibt man anstelle von TI=A den Wert TI=C an. Mit dieser PDRIVE-Angabe kann man die Diskette ebenfalls im Modell I mit Laufwerken doppelter Schreibdichte verarbeiten.

    3.)

    PDRIVE,dn1,dn2,TI=AM,TD=E,TC=40,SPT=18,TSR=3,GPL=6,DDSL=17,DDGA=2

    Diese Eingabe kann beim Modell III gemacht werden (Modell I muss TI=CM oder TI=EM haben), um Disketten mit TRSDOS zu lesen oder zu schreiben. Die Diskette hat 40Spuren, doppelte Schreibdichte und ist 5" einseitig. Dies ist das einzige TRSDOS-Format, das auch mit NEWDOS/80 zu verarbeiten ist. Da diese Disketten vom Modell III im NEWDOS nicht formatiert werden können, ist die Angabe von DDSL und DDGA ohne Bedeutung. GPL=6 muss angegeben werden. Im NEWDOS/80 kann nur das COPY-Kommando mit TRSDOS-Disketten vom Modell III benutzt werden, außerdem SUPERZAP mit den Funktionen DD, DM, DTS, VDS, CDS, CDD usw., nicht aber Funktionen, die sich auf einen File (Datei) beziehen (z.B. DFS darf nicht benutzt werden).

    4.)

    PDRIVE,dn1,dn2,TI=A,TD=C,TC=80,SPT=20,TSR=2,GPL=8,DDSL=20,DDGA=6

    Diese Eingabe behandelt eine 5"-Floppy mit 80 Spuren, einfacher Schreibdichte, zweiseitig, mit einer Wartezeit von 20ms, 8 Granules pro 'Lump' und grösstmöglichem Directory in der Mitte der Floppy. Beim Modell III ist diese Eingabe nicht erlaubt, da keine Floopies mit einfacher Schreibdichte in Laufwerk 0 sein dürfen.

    5.)

    PDRIVE,dn1,dn2,TI=A,TD=G,TC=80,SPT=20,TSR=2,GPL=8,DDSL=35,DDGA=6

    Diese Eingabe behandelt eine 5"-Floppy mit 80 Spuren für Modell III (bei Modell I TI=C oder TI=E benutzen) mit doppelter Schreibdichte, zweiseitig, mit 20ms Wartezeit von Spur zu Spur, 8 Granules pro 'Lump' und größtmöglichem Directory in der Mitte der Floppy. Beim Modell I ist diese Eingabe nicht erlaubt, da keine Floppies mit doppelter Schreibdichte in Laufwerk 0 sein dürfen.

    6.)

    PDRIVE,dn1,dn2,TI=CK,TD=E,TC=39,SPT=18,TSR=3,GPL=2,DDSL=17,DDGA=2

    Diese Eingabe behandelt eine 5"-Floppy mit 40 Spuren für das Model I (beim Modell III TI=AK benutzen) mit doppelter Schreibdichte und einseitig beschrieben. Bei dieser Floppy ist die Spur 0 mit einfacher Schreibdichte formatiert, folglich sind nur 39 Spuren für den normalen Gebrauch zugelassen. Mit dieser Angabe können Disketten verarbeitet werden, die mit dem PERCOM-Doubler unter NEWDOS/80 Version 1 und TRSDOS erzeugt wurden. Ebenfalls kann diese Angabe benutzt werden, wenn eine Diskette mit doppelter Schreibdichte im Modell I auf dem Laufwerk 0 benutzt wird. Bei Benutzung des LNW-Interface beim Modell I benutzt man die Angabe TI=EK.

    7.)

    PDRIVE,dn1,dn2,TI=CK,TD=G,TC=79,SPT=36,TSR=3,GPL=8,DDSL=35,DDGA=6

    Diese Eingaben können beim Modell I gemacht werden (beim Modell III TI=AK benutzen) für eine 5"-Diskette mit 80 Spuren, doppelter Schreibdichte und zweiseitig, deren erste Spur mit einfacher Dichte beschrieben ist. Mit einem LNW-Interface setzt man beim Modell I TI=EK ein. Achtung: zweiseitige Disketten mit doppelter Schreibdichte, die unter der geänderten Version 1 von NEWDOS/80 beschrieben wurden, können nicht in der Version 2 laufen.

    8.)

    PDRIVE,dn1,dn2,TI=AL,TD=A,TC=35,SPT=10,TSR=3,GPL=2,DDSL=17,DDGA=2

    Diese Eingaben können bei 5"-Floppies gemacht werden mit 35Spuren, einseitig mit einfacher Schreibdichte um sie mit einem Laufwerk mit 80 Spuren lesen zu können. Das Laufwerk mit 80 Spuren hat nur die halbe Schrittweite von Spur zu Spur. Mit der Angabe TI=AL bewirkt man, daß von Spur zu Spur zwei Schritte zur Kopfpositionierung gemacht werden.

    9.)

    PDRIVE,dn1,dn2,TI=BH,TD=B,TC=77,SPT=17,TSR=3,GPL=3,DDSL=17,DDGA=6

    Mit dieser Eingabe für das Modell I kann man 8"-Floppies mit 77 Spuren, einseitig und mit einfacher Schreibdichte verarbeiten. Dabei ist zu beachten, daß in der NEWDOS/80 Version 1 bei solchen Disketten SPT=15 und GPL=3 vorgegeben war, so daß diese Disketten in der Version 2 nur mit diesen Parametern zu verarbeiten sind. Es sollte von derartigen Disketten ein COPY auf andere Disketten mit DDGA=17 erfolgen, da darauf 12% mehr Speicherplatz ist. Mit dem Flag TI=BH wird bewirkt, daß eine Verzögerungszeit bei der Kopfpositionierung eingehalten wird. Dies muss bei den meisten 8”-Floppies beachtet werden.

    10.)

    PDRIVE,dn1,dn2,TI=BH,TD=D,TC=77,SPT=34,TSR=3,GPL=8,DDSL=17,DDGA=6

    Mit dieser Eingabe für das Modell I kann man 8"-Floppies mit 77Spuren, zweiseitig und mit einfacher Schreibdichte verarbeiten, eine Verzögerungszeit von 25ms bei der Kopfpositionierung wird eingehalten.

    11.)

    PDRIVE,dn1,dn2=dn3

    Mit dieser Eingabe werden die Parameter von Drive 2 für Drive 3 übernommen.

    12.)

    PDRIVE,dn1,dn2=dn3,TC=40,TSR=2

    Mit dieser Eingabe werden die Parameter von Drive 2 für Drive 3 übernommen. Zusätzlich werden die Parameter 'TC und 'TSR' für Drive 3 verändert.

    13.)

    PDRIVE,0,A

    Mit dieser Eingabe werden die Parameter für 'AL' (siehe "SYSTEM" auf Seite 46) Floppies in den Speicher übernommen.

    14.)

    PDRIVE,0,dn2=dn3,A

    Mit dieser Eingabe werden die Parameter für das Laufwerk 'dn2' von den Parametern von 'dn3' überschrieben und ebenso wie beim letzten Beispiel in den Speicher übernommen und somit sofort aktiviert.

    *1

    Eine Parameterüberprüfung findet teilweise dennoch statt. Bei fehlerhaft erkannten Werten wird nach dem betreffenden Parameterblock dann '*** ERROR ***' angezeigt.

  • GPL - Granules pro 'Lump'

    -----------------------------------


    Nun ist erstmal die Frage berechtigt, "was ist überhaupt ein Lump?" Lump heißt auf Deutsch soviel wie Klumpen oder Stück. Damit ist beim NEWDOS einfach eine Ansammlung (oder Klumpen) von Granules gemeint. Granules (Englisch für Körnchen) sind wiederum unterteilt in Sektoren.

    Schematisch kann das so aussehen (5 Sektoren pro Granule, 2 Granules pro Lump):


    <.................Lump.................>

    <.....Granule1.....><.....Granule2.....>

    <S1><S2><S3><S4><S5><S1><S2><S3><S4><S5>


    oder beispielsweise auch so (5 Sektoren pro Granule, 4 Granules pro Lump):


    <.....................................Lump.....................................>

    <.....Granule1.....><.....Granule2.....><.....Granule3.....><.....Granule4.....>

    <S1><S2><S3><S4><S5><S1><S2><S3><S4><S5><S1><S2><S3><S4><S5><S1><S2><S3><S4><S5>


    Gemäß NEWDOS/80-Manual (v.2.0) bilden immer 5 Sektoren (jeder 256 Bytes) ein Granule (=1280 Bytes), die für Nutzerdaten bereitstehen. Die Anzahl von 5 Sektoren kann im NEWDOS/80 v.2.0 nicht verändert werden, anders in der Version 2.5, wo dies -zumindest für Festplatten- möglich ist, aber das ist ein extra Thema wert.

    Ein Granule ist die kleinste durch Benutzerdaten belegbare Einheit auf der Diskette. Egal, wie klein eine Datei ist, sie belegt immer mindestens ein Granule. Mit GPL kann man einstellen, wieviel Granules ein Lump bilden. Dieser Wert darf zwischen 2 und 8 liegen. Ein Lump ist ein spurübergreifender Datenblock. Der Benutzer hat auf die Lumps keinen direkten Zugriff. NEWDOS kann mit Hilfe von Lumps seine Datenverwaltung besser (d.h. mit weniger Aufwand) steuern, so die Idee der Entwickler. Ein Lump kann in einer Spur anfangen und in einer anderen Spur aufhören. Diskettenspuren spielen also bei der internen Disketten-Speicherverwaltung von NEWDOS nur eine untergeordnete Rolle. Zu den Lumps später noch mehr.

    Aber nun zurück zum GPL-Parameter, welcher auch einen Einfluss auf den Umfang der zu verwaltenden Daten im Inhaltsverzeichnis hat. Auf einer Diskette sind 192 Lumps (mit variabler Größe von GPL=2 bis GPL=8) technisch maximal möglich. Diese Limitierung ist im GAT (Gran Allocation Table) begründet, da dort genau 192 Bytes für die Lump-Verwaltung zur Verfügung stehen. Jedes dieser 192 Bytes kann ein Lump verwalten.

    Bei GPL=2 kann das Inhaltsverzeichnis 192 Lumps * 5 Sektoren/Granule * 2 Granule/Lump * 256 Bytes/Sektor = 491520 Bytes verwalten.

    Eine einseitige Double Density Diskette (80 Spuren * 18 Sektoren * 256 Bytes/Sektor) fasst 368640 Bytes (360kB). Dafür ist ein GPL=2 ausreichend.

    Dies trifft ebenso auf eine zweiseitige Double Density Diskette mit 40 Spuren zu (40 Spuren * 36 Sektoren * 256 Bytes/Sektor). Im Ergebnis das Gleiche; auch hier ist ein GPL=2 ausreichend.

    Dagegen hat eine doppelseitige Double Density Diskette (80 Spuren * 36 Sektoren * 256 Bytes/Sektor) = 737280 Bytes (720kB) an Kapazität.

    Ein Inhaltsverzeichnis mit dem Parameter GPL=2 kann mit dieser großen Datenmenge nicht mehr umgehen. Für eine solche Diskette muß mindestens GPL=4 eingestellt werden: 192 Lumps * 5 Sektoren/Granule * 4 Granule/Lump * 256 Bytes/Sektor = 983040 Bytes. Ein größerer GPL-Parameter würde hier auch funktionieren, bringt aber keine Vorteile.

    Hier ein Parameter-Beispiel mit GPL=4 für eine 80-Spuren Diskette (incl. einem optimierten DDSL-Wert, bedeutet Directory-Start in Spur 30):

    PDRIVE: TI=A,TD=G,TC=80,SPT=36,TSR=0,GPL=4,DDSL=54,DDGA=6

  • DDSL - Default Directory Starting Lump

    ----------------------------------------------------


    Hier nochmals näheres zu den Lumps und dem damit zusammenhängenden Parameter DDSL. So fängt das Inhaltsverzeichnis (Directory) der Diskette nicht bei einer bestimmten Spur, sondern bei einem definierten Lump an. Dies regelt der Parameter DDSL. Ein z.B. häufig benutzter DDSL-Parameter ist 17. Mit GPL=2 vorausgesetzt, bilden 10 Sektoren ein Lump (2 Granules * 5 Sektoren = 10 Sektoren pro Lump). Das Inhaltsverzeichnis startet dann bei Sektor 170 (17 Lumps * 10 Sektoren). Wenn jede Spur 18 Sektoren hat (SPT=18), dann fängt das Inhaltsverzeichnis mitten in einer Spur, nämlich bei Spur 9, Sektor 8 an (siehe auch Formeln zur Berechnung unten).


    Formeln für die Berechnung von Inhaltsverzeichnis-Startspur/Startsektor:

    DDSL * GPL * 5Sek = Startsektor-Summe des Inhaltsverzeichnisses (SSdI)

    SSdI div SPT = Startspur des Inhaltsverzeichnisses (SspI)

    (SsdI mod SPT) * SPT = Startsektor des Inhaltsverzeichnisses innerhalb der Startspur des Inhaltsverzeichnisses (SsISsp)

    Berechnungsbeispiel mit den Werten von oben:

    DDSL=17

    GPL=2

    SPT=18

    DDSL * GPL * 5Sek = Startsektor-Summe des Inhaltsverzeichnisses (SSdI)

    17 * 2 * 5Sek = 170

    SsdI div SPT = Startspur des Inhaltsverzeichnisses (SspI)

    170 div 18 = 9

    (SsdI mod SPT) * SPT = Startsektor des Inhaltsverzeichnisses innerhalb der Startspur des Inhaltsverzeichnisses (SsISsp)

    (170 mod 18) * 18 = 8

    Ergebnis:

    SspI, SsISsp = Spur 9, Sektor 8



    Mit Hilfe der o.g. Formeln kann also der Startsektor und damit der Ort des Inhaltsverzeichnisses auf der Diskette durch den Benutzer selbst festgelegt und optimiert werden. Wofür sollte das nützlich sein?

    Das Inhaltsverzeichnis einer Diskette ist ein häufig benutzter Bereich auf der Diskette. Bei jedem Lese- und Schreibzugriff wird zuerst das Inhaltsverzeichnis über die Lage einer vorhandenen Datei abgefragt oder für eine neue Datei noch freier Platz gesucht.

    Das Inhaltsverzeichnis ist also die Verwaltungszentrale einer Diskette. Sie sollte deshalb auch zentral gelegen sein, damit der Schreib-/Lesekopf sie von jeder anderen Spur aus möglichst schnell erreichen kann. Die Entwicker von NEWDOS sind davon ausgegangen, daß eine Diskette oft nur zur Hälfte mit Dateien gefüllt ist. Der Schreib-/Lesekopf wird deshalb fast immer irgendwo in der ersten Hälfte (die ersten Spuren sind im Außenbereich) der Diskette verweilen und auf das nächste Kommando warten. Deshalb wurde als DDSL-Standardparameter oft 17 gewählt, da bei 40 Spuren und 18 Sektoren/Spur in Verbindung mit GPL=2 das Inhaltsverzeichnis in die Spur 9 fällt. Wenn man -wie die Entwickler- davon ausgeht, daß oft nur 20 Spuren mit Dateien belegt sind, liegt Spur 9 also ungefähr in der günstigen Mitte.

  • DDGA - Default Directory Gran Allocation

    -------------------------------------------------------


    Der Parameter für die Verwaltungskapazität ist DDGA. Er bestimmt die Größe des Inhaltsverzeichnisses und damit Anzahl der (noch) möglichen Einträge (Dateien) im Inhaltsverzeichnis (wird z.B. bei DIR oder FREE angezeigt) und kann Werte zwischen 2 und 6 annehmen:

    2=64 FDES

    3=104 FDES

    4=144 FDES

    5=184 FDES

    6=224 FDES

    (FDES=Free Directory Entries)

    Von diesen theoretischen FDES-Werten müssen immer noch zwei schon auf den frisch formatierten Disketten versteckt vorhandene Dateien (BOOT/SYS und DIR/SYS) abgezogen werden, so daß dann nach dem Formatieren folgende Werte (mit DIR oder FREE) angezeigt weren:

    2=62 FDES

    3=102 FDES

    4=142 FDES

    5=182 FDES

    6=222 FDES

    Eine Diskette mit 720kB Kapazität kann z.B. 45 Dateien (z.B. Programme) mit jeweils 16kB aufnehmen. Dafür sind die 62 FDES ausreichend. Wenn diese 720kB-Diskette als Datendiskette genutzt wird und viele kleine Dateien mit jeweils 4kB enthält, werden für eine gefüllte Diskette 180 Einträge benötigt. Dafür wäre dann der DDGA-Parameter 5 oder 6 geeignet. Dies muss man aber schon bei der Formatierung wissen. Eine nachträgliche Änderung dieses Parameters geht nicht ohne Neuformatierung, da das Directory neu geschrieben werden muss.

    Auch belegt ein größeres Inhaltsverzeichnis mehr Platz auf der Diskette. Zu den zwei Standard-Verwaltungs-Sektoren im Inhaltsverzeichnis (GAT und HIT zusammen 512 Bytes) im Directory kommt dann noch jeweils die Anzahl der Directory Erweiterungs-Sektoren für die FXDE (File Extended Directory Entry):

    DDGA=2 = 62 FDES = 8 Sektoren = 2048 Bytes + 512 Bytes (für GAT/HIT) = 2560 Bytes = insg. 2,50kB für das Inhaltsverzeichnis

    DDGA=3 = 102 FDES = 13 Sektoren = 3328 Bytes + 512 Bytes (für GAT/HIT) = 3840 Bytes = insg. 3,75kB für das Inhaltsverzeichnis

    DDGA=4 = 142 FDES = 18 Sektoren = 4608 Bytes + 512 Bytes (für GAT/HIT) = 5120 Bytes = insg. 5,00kB für das Inhaltsverzeichnis

    DDGA=5 = 182 FDES = 23 Sektoren = 5888 Bytes + 512 Bytes (für GAT/HIT) = 6400 Bytes = insg. 6,25kB für das Inhaltsverzeichnis

    DDGA=6 = 222 FDES = 28 Sektoren = 7168 Bytes + 512 Bytes (für GAT/HIT) = 7680 Bytes = insg. 7,50kB für das Inhaltsverzeichnis

    Mit jeder Vergrößerung der FDES um 5 Sektoren ist ein Granule (1280 Bytes) weniger Diskettenkapazität verfügbar. Dieser Speicherplatzbedarf ist aber in Bezug auf die Gesamtkapazität von 720kB zu verschmerzen. So kann eigentlich immer der größte sinnvolle Wert genommen werden, um auf Nummer sicher zu gehen.

  • Hier noch etwas zur Verbesserung der Zugriffsgeschwindigkeit.


    TSR - Track Stepping Rate

    -----------------------------------


    Der Parameter TSR bestimmt die Verzögerungszeit für die Schreib-/Lesekopfpositionierung. Manche ältere Floppy-Laufwerke sind etwas träge und brauchen mehr Zeit, um Spurwechsel auszuführen. Für diese langsameren Laufwerke mußte das NEWDOS gebremst werden, da ansonsten z.B. schon ein nächster Schreibbefehl an das Laufwerk gesendet wird, obwohl es noch gar nicht richtig in der Spur angekommen ist. Dies würde zu Zugriffsfehlern führen.

    TSR kann einen Wert von 0 bis 3 annehmen und bedeutet eine Verzögerungszeit von:

    0=5ms

    1=10ms

    2=20ms

    3=40ms

    Je kürzer die Verzögerungszeit, um so kürzer die Zugriffszeit.

    Moderne 3,5" Laufwerke (z.B. SONY MPF 920 E oder TEAC 235HF) und 5,25" Laufwerke (z.B. TEAC FD-55GR u.ä.) sollten auch mit 5ms gut funktionieren. Falls es zu Fehlermeldungen kommt (dies merkt man meist schon beim Formatieren), kann man diesen Wert schrittweise erhöhen. Man kann diesen Parameter im PDRIVE auf der Systemdiskette auch verändern, ohne die Diskette neu formatieren zu müssen. Ein erneutes Formatieren nach Änderung hat aber den Vorteil, daß ein ungünstiger Wert meist schon beim Formatieren erkannt werden kann.

  • Für diejenigen, die noch ein bisschen weiter in den technischen Hintergrund einsteigen möchten, ist hier ein Auszug aus dem DOS-Buch von Hartmut Grosser:

    NEWDOS80 v2.0 - Aufbau des Directory (Das DOS-Buch, H. Grosser)

    =========================================================


    7.2 Der Directory

    -----------------------


    Betriebssysteme: NEWDOS/80 Version 2 für TRS-80 Model I+III, GDOS für Genie I, II, IIs, III, IIIs, Colour DOS

    Der Directory jeder Diskette besteht aus 1 GAT-Sector (GRAN Allocation Tabelle), 1 HIT-Sector (Hash Index Tabelle) und in Abhängigkeit vom PDRIVE-Parameter DDGA (Default Directory GRAN Allocation) dieser Diskette - 8, 13, 18, 23 oder 28 weiteren Sektoren, die jeder bis zu 8 FDEs (File Directory Entry) enthalten können.

    Um die Position des Directory innerhalb der Diskette schnell und sicher finden zu können, ist in dem 3. Byte des 1. Sektors jeder Diskette die LUMP-Nummer eingetragen, in welcher der Directory auf dieser Diskette beginnt. Zur Sicherheit wird zusätzlich der Directory mit einem besonderen Data Adress Mark auf Diskette geschrieben, siehe Kapitel 1.4.5.


    7.2.1 Der GAT-Sektor

    ---------------------------


    Der GAT-Sektor ist der 1. Sektor des Directory und enthält folgende Informationen: die ersten C0h (192d) Bytes bilden die GRAN Allocation Tabelle (GAT), die angibt, welches GRAN der Diskette noch frei ist und welches nicht. In Abhängigkeit vom PDRIVE-Parameter GPL (GRANS pro Lump) werden 2 bis 8 GRANS (aus Organisationsgründen) jeweils zu einem sogenannten LUMP zusammengefasst. Für jedes der max. 192 möglichen Lumps einer Diskette gibt es 1 Byte in der GAT und für jedes GRAN eines Lumps gibt es 1 Bit in diesem Byte (Bit 0 für das 1.GRAN, Bit 1 für das nächste GRAN, usw.), welches gesetzt ist, wenn das GRAN durch eine Datei belegt ist bzw. gelöscht ist, wenn das GRAN frei ist.

    In den relativen Bytes CEh und CFh ist der Code des Master-Passwortes der Diskette gespeichert (entfällt unter Colour DOS).

    In den relativen Bytes D0h-D7h steht der Name der Diskette.

    In den relativen Bytes D8h-DFh steht das Datum der Diskette.

    In den relativen Bytes E0h-FFh kann ein AUTO-Befehl (mit 0Dh als Endemarkierung) zum booten dieser Diskette stehen (entfällt unter Colour DOS).


    7.2.1.1 Belegung von freien GRANS

    -----------------------------------------------


    Bei der Suche nach einem freien GRAN auf einer Diskette könnte man ja einfach anhand der GAT (GRAN Allocation Tabelle im GAT-Sector) das erste freie GRAN auf der Diskette ermitteln und verwenden. Aber so einfach macht es sich das DOS nicht: während TRSDOS und NEWDOS 2.1 mehr zufällig bestimmt haben, welches freie GRAN auf einer Diskette als nächstes für eine Datei belegt werden sollte, um eine möglichst gleichmäßige Be- und Abnutzung der Disketten zu erreichen (die 3 niederwertigsten Bits vom DEC des FPDE dieser Datei ergaben nach der Multiplikation mit 4 eine Track-Nummer im Bereich 0, 4, 8, .., 28, ab der zuerst nach einem freien GRAN gesucht wurde) arbeiten NEWDOS/80 und GDOS nach einer anderen Philosophie: wenn ein neues GRAN für eine Datei belegt werden soll, die bereits einen oder mehrere GRANS belegt, dann wird zuerst versucht, die Datei an ihrem Ende zu erweitern, d. h. als nächstes GRAN genau das zu belegen, welches direkt hinter dem letzten belegten GRAN dieser Datei liegt (dadurch wird vermieden, Dateien auf der Diskette unnötig zu splitten).

    Falls dieses GRAN jedoch nicht mehr frei ist, oder wenn ein neues GRAN für eine Datei belegt werden soll, die noch gar keine GRANS besitzt, dann wird das erste freie GRAN der Diskette (ab Track 0, Sektor 0) genommen und belegt. Durch dieses Verfahren werden die GRANS in den äußeren Tracks einer Diskette bevorzugt, was den Vorteil einer höheren Datensicherheit hat, da in den äußeren Tracks, aufgrund des größeren Umfangs, mehr Platz pro Bit zur Verfügung steht und der Disketten-Betrieb dort weniger störanfällig ist, als in den inneren Tracks.

    Die Routine zum Belegen von freien GRANS befindet sich unter NEWDOS/80 und GDOS in SYS2 bei 4F82h-50C9h und unter Colour DOS im ROM bei D7EFh-D937h.


    7.2.2 Der HIT-Sektor

    ---------------------------


    Der HIT-Sektor ist der 2. Sector des Directory und enthält folgende Informationen: das relative Byte 1Fh gibt die um 10 verminderte Anzahl von Sektoren an, aus denen das Directory insgesamt besteht (inkl. GAT- und HIT-Sector). Alle übrigen Bytes bilden die Hash Index Tabelle (HIT), die angibt, welche FDEs im Directory noch frei sind und welche nicht, und die außerdem dazu dient, eine Datei beim Öffnen (OPEN) möglichst schnell im Directory zu finden.

    Zu jedem FDE des Directory gehört ein ganz bestimmtes Byte in der HIT. Wenn dieses Byte gelöscht ist (00h), dann ist der dazugehörige FDE unbenutzt oder existiert nicht. Wenn dieses Byte nicht gelöscht ist (ungleich 00h), dann wird der dazugehörige FDE von einer Datei benutzt (als FPDE oder FXDE) und der Wert dieses Bytes in der HIT gibt den sogenannten Hash-Code dieser Datei an (gilt sowohl für FPDEs als auch für FXDEs).

    Der Hash-Code einer Datei ist immer ein Wert zwischen 01h und FFh und wird anhand des Dateinamen und des Dateityps nach einer ganz bestimmten Formel berechnet. Um eine Datei beim Öffnen (OPEN) möglichst schnell im Directory zu finden, wird einfach der Hash-Code dieser Datei berechnet und der HIT-Sector geprüft, ob dieser Wert irgendwo steht:

    Wenn nein, kann es die gesuchte Datei auf dieser Diskette nicht geben und die ganzen FDE-Sectoren brauchen überhaupt nicht mehr gelesen zu werden. Wenn der berechnete Hash-Code jedoch einmal oder mehrmals in der HIT gefunden wird, brauchen nur die dazugehörigen FDEs von Diskette gelesen und überprüft zu werden, ob einer von Ihnen die gesuchte Datei enthält.

    Dadurch wird die Anzahl der FDE-Sectoren, die von Diskette gelesen werden müssen, drastisch reduziert. Die Position eines Bytes im HIT-Sector entspricht exakt dem DEC (Directory Entry Code) des dazugehörigen FDEs, so dass zwischen beiden ein einfacher und eindeutiger Zusammenhang besteht.


    7.2.3 Die FDE-Sectoren

    ------------------------------


    Jeder Sektor des Directory, mit Ausnahme des GAT-Sectors und des HIT-Sectors, kann 8 FDEs (File Directory Entry) enthalten. Während unter TRSDOS und NEWDOS 2.1 die ersten beiden FDEs jedes FDE-Sektors für SYS-Files reserviert waren, stehen unter NEWDOS/80, GDOS und Colour DOS alle 8 FDEs eines FDE-Sektors dem Anwender zur freien Verfügung.

    Ein FDE besteht aus 32 Bytes und enthält wichtige Informationen über eine Datei (z.B. den Namen der Datei, wo sie auf Diskette steht, usw.). Manchmal reicht jedoch ein FDE nicht aus, um alle Informationen über eine Datei aufzunehmen. In so einem Fall werden dann mehrere FDEs für eine Datei angelegt.

    Der erste FDE einer Datei wird als FPDE (File Primary Directory Entry) bezeichnet und alle weiteren FDEs -sofern es welche gibt- als FXDE (File Extended Directory Entry).

    Aus Organisationsgründen besitzen alle FDEs innerhalb des Directory eine Art Nummer, den sogenannten Directory Entry Code (DEC), der aus 8 Bits mit dem Format rrrsssss besteht:

    sssss+2 gibt an, im wievielten Sektor des Directory der FDE steht (der GAT-Sector hat die Nummer 0)

    rrr gibt an, um den wievielten FDE in diesem Sektor es sich handelt

  • 7.2.3.1 Aufbau des FPDE

    -----------------------------

    Die 32 Bytes innerhalb eines FPDE (File Primary Directory Entry) haben folgende Bedeutung:


  • 7.2.3.2 Aufbau des FXDE

    -----------------------------

    Wenn die Daten einer Datei auf mehr als 4 Datenblocks verteilt sind, reicht der Speicherplatz im FPDE nicht aus und es muß für jeweils 4 weitere Datenblocks ein FXDE angelegt werden.

    Die 32 Bytes innerhalb eines FXDE (File Extended Directory Entry) haben folgende Bedeutung:



    7.2.3.3 Belegung von freien FDEs

    --------------------------------------------


    Wenn ein neuer FDE angelegt werden soll, könnte man ja einfach anhand der HIT (Hash Index Tabelle im HIT-Sector) den ersten freien FDE des Directory ermitteln und benutzen. Aber so einfach macht es sich das DOS auch hier nicht. Während TRSDOS und NEWDOS 2.1 den Interrupt-Zähler 4040h, der bei jedem RTC-Interrupt (Real-Time Clock) um eins erhöht wird, als Zufallsfunktion benutzt haben, um für eine gleichmäßige Auslastung aller FDE-Sectoren zu sorgen, wenden NEWDOS/80 und GDOS eine andere Methode an, um das gleiche Ziel zu erreichen:

    Nachdem der Hash-Code der Datei berechnet worden ist, für die ein FPDE angelegt werden soll, wird anhand der niederwertigsten 5 Bits dieses Hash-Codes (die einen Wert zwischen 0 und 31 ergeben können), wie bei einem Abzählreim derjenige Sektor des Directory bestimmt, in dem zuerst nach einem freien FDE gesucht werden soll (zur schnellen Erkennung von freien FDEs wird selbstverständlich die HIT herangezogen).

    Nur wenn in diesem Sektor und in allen nachfolgenden Sektoren des Directory nichts mehr frei ist, erfolgt anschließend ein zweiter Durchgang, der dann mit dem ersten FDE-Sektor des Directory beginnt.

    Bei der Belegung von FXDEs wird allerdings (wie auch schon in TRSDOS und NEWDOS 2.1) immer zuerst ab dem FDE-Sector nach einem freien FDE gesucht, in dem der FPDE der Datei steht, um zum Lesen aller FDEs einer Datei möglichst nur wenige verschiedene Sektoren des Directory laden zu müssen.

    Die Routine zum Belegen von freien FDEs befindet sich unter NEWDOS/80 und GDOS in SYS2 bei 50CFH-5104H und unter Colour DOS im ROM bei D938h-D96Dh.