Museum

Home

Lab Overview

Retrotechnology Articles

Online Manuals

⇒ fd(7) — Reliant UNIX 5.44c4

Media Vault

Software Library

Restoration Projects

Artifacts Sought

fd(7)                           (Nur RM400)                           fd(7)

NAME
     fd - Diskettentreiber

BESCHREIBUNG
     Disketten kommen im RM400-System hauptsächlich als Key-Disketten bei
     der Installation von Software-Paketen zum Einsatz.

     Der Zugriff auf die Disketten erfolgt über die Gerätedateien im Ver-
     zeichnis /dev/at/flp (siehe DATEIEN).

     Es werden Gerätenamen in folgendem Format unterstützt:

     [r]fx3d[t]     Diese Gerätenamen sind Disketten doppelter Dichte mit 9
                    Sektoren pro Spur zugeordnet; über die mit t abge-
                    schlossenen Gerätenamen wird dabei auf die gesamte Dis-
                    kette (720 Kilobyte formatierter Speicherplatz) zuge-
                    griffen, über die nicht mit t abgeschlossenen Gerätena-
                    men auf die gesamte Diskette mit Ausnahme des ersten
                    Zylinders (711 Kilobyte formatierter Speicherplatz).

     [r]fx3h[t]     Diese Gerätenamen sind Disketten hoher Dichte mit 18
                    Sektoren pro Spur zugeordnet. Über die mit t abge-
                    schlossenen Gerätenamen wird dabei auf die gesamte Dis-
                    kette (1,44 Megabyte formatierter Speicherplatz) zuge-
                    griffen, über die nicht mit t abgeschlossenen Gerätena-
                    men auf die gesamte Diskette mit Ausnahme des ersten
                    Zylinders (1,422 Megabyte formatierter Speicherplatz).

     [r]f0[t]       Hierbei handelt es sich um Namen für Geräte mit automa-
                    tischer Formatermittlung, die selbsttätig das Format
                    der im Laufwerk eingelegten Diskette feststellen. Auch
                    hier wird über die mit t abgeschlossenen Gerätenamen
                    auf die gesamte Diskette (720 Kilobyte bzw. 1,44 Mega-
                    byte formatierter Speicherplatz) zugegriffen, über die
                    nicht mit t abgeschlossenen Gerätenamen auf die gesamte
                    Diskette mit Ausnahme des ersten Zylinders (711 Kilo-
                    byte bzw. 1,422 Megabyte formatierter Speicherplatz).
                    Diese Gerätenamen können selbstverständlich nur benutzt
                    werden, wenn die im Laufwerk eingelegte Diskette
                    bereits formatiert ist.

     Bei sämtlichen mit t abgeschlossenen Gerätenamen wird von 80 Zylin-
     dern, 2 Schreib-/Leseköpfen und 512 Byte pro Sektor ausgegangen.












Seite 1                      Reliant UNIX 5.44               Gedruckt 11/98

fd(7)                           (Nur RM400)                           fd(7)

GERÄTE- UND GERÄTEKLASSENNUMMER
   Geräteklassennummer
     Beim Diskettentreiber fd wird sowohl block- als auch zeichenorien-
     tierten Geräten die Geräteklassennummer 23 zugeordnet.

   Gerätenummer
     Über die Gerätenummer wird eines der Aufzeichnungsformate sowie der
     Bereich der Diskette ausgewählt, auf den der Benutzer zugreifen
     möchte. Derzeit werden folgende Aufzeichnungsformate unterstützt:

          6: Für Disketten doppelter Dichte ([r]fx3d[t])

          7: Für Disketten hoher Dichte ([r]fx3h[t])

          8: Für die automatische Formatermittlung ([r]f0[t])

     Derzeit werden die folgenden Bereiche unterstützt:

          0: Für den Zugriff auf die gesamte Diskette (auf alle 80 Zylinder
             bei mit t abgeschlossenen Gerätenamen)

          2: Für den Zugriff auf die gesamte Diskette mit Ausnahme des
             ersten Zylinders (d. h. auf die Zylinder 1 bis 79 bei nicht
             mit t abgeschlossenen Gerätenamen)

     Die Gerätenummer kann durch die Formel "format * 16 + bereich * 2"
     errechnet werden.

IOCTL-Funktionsaufrufe
     ioctl(2)-Funktionsaufrufe haben folgendes Format:

          ioctl(fd, command, arg)
          int fd, command;
          /* arg siehe unten */

     Der Diskettentreiber fd unterstützt derzeit fünf ioctl-Funktionsauf-
     rufe:

















Seite 2                      Reliant UNIX 5.44               Gedruckt 11/98

fd(7)                           (Nur RM400)                           fd(7)

     VGETPARMS
          Geräteparameter abfragen (Gerätetyp, Anzahl der Schreib-
          /Leseköpfe, Anzahl der Zylinder, Anzahl der Sektoren pro Spur
          usw.). arg ist dabei ein Zeiger auf die folgende Struktur:

          struct diskparms
          {
             char    dptype;       /* Diskettentyp (siehe unten)             */
             unchar  dpheads;      /* Anzahl der Schreib-/Leseköpfe          */
             ushort  dpcyls;       /* Anzahl der Zylinder                    */
             ushort  dpsectors;    /* Anzahl der Sektoren pro Spur           */
             ushort  dpsecsiz;     /* Anzahl der Bytes pro Sektor für diesen
                                       Bereich                                */
             ushort  dpptag;       /* Bereichs-Kennung                       */
             ushort  dppflag;      /* Bereichs-Flag                          */
             daddrt dppstartsec;  /* Absolute Nummer des ersten Sektors     */
             daddrt dppnumsec;    /* Anzahl der Sektoren                    */
          }

          Der Diskettentreiber setzt dptype in jedem Fall auf DPT_FLOPPY
          (für Diskettenlaufwerk). Derzeit wird dpheads vom Diskettentrei-
          ber auf 2 eingestellt, fdcyls auf 80, dpsecsiz entweder auf 9
          (doppelte Dichte) oder 18 (hohe Dichte) und dpsecsiz auf 512.
          dpptag und dppflag sind derzeit unbenutzt und auf 0 gesetzt.
          dpstartsec und dpnumsec werden dem gewählten Bereich entspre-
          chend eingestellt.

          Die Gesamtgröße des Bereichs errechnet sich aus der Formel:

                         "arg->dpsecsiz * arg->dppnumsec".

     VFORMAT
          Ein oder mehrere Spuren mit einem bestimmten Verzahnungs-
          (Interleave)-Faktor formatieren (diese Funktion wird von Geräten
          mit automatischer Formatermittlung (f0, rf0, f0t und rf0t) nicht
          unterstützt). arg ist dabei ein Zeiger auf die folgende Struktur:

          struct iafmt
          {
              ushort starttrk;  /* Nummer der ersten Spur              */
              ushort numtrks;   /* Anzahl der zu formatierenden Spuren */
              ushort intlv;      /* Verzahnungs-Faktor                  */
          };

          Um die Kompatibilität mit den PCs nach dem Industriestandard her-
          zustellen, werden die Sektoren in jeder Spur durchnumeriert,
          wobei der erste Sektor die Nummer 1 erhält.







Seite 3                      Reliant UNIX 5.44               Gedruckt 11/98

fd(7)                           (Nur RM400)                           fd(7)

     FDOR
          Diskettenlaufwerk auf bekannten Zustand zurücksetzen. arg ist
          dabei ein Zeiger auf ein Zeichen. Wenn das drittniedrigste Bit
          dieses Zeichens zurückgesetzt ist, wird das Diskettenlaufwerk
          zurückgesetzt.

     FFCR
          Datenübertragungsgeschwindigkeit ändern. arg ist dabei ein Zeiger
          auf ein Zeichen. Über die zwei niedrigstwertigen Bits können drei
          verschiedene Übertragungsgeschwindigkeiten eingestellt werden:

          0  stellt die Übertragungsgeschwindigkeit auf 500 Kilobit pro
             Sekunde ein

          1  stellt die Übertragungsgeschwindigkeit auf 500 Kilobit pro
             Sekunde ein

          2  stellt die Übertragungsgeschwindigkeit auf 250 Kilobit pro
             Sekunde ein

          3  stellt die Übertragungsgeschwindigkeit auf 125 Kilobit pro
             Sekunde ein (dieser Wert wird derzeit nicht unterstützt).

     FDTYP
          Stellt den Gerätetyp fest. arg ist dabei ein Zeiger auf ein Zei-
          chen ohne Vorzeichen, das auf den Wert 4 (für 3,5 Zoll-
          Diskettenlaufwerk) gesetzt wird.

DATEIEN
     /dev/at/flp/f0

     /dev/at/flp/rf0

     /dev/at/flp/f0t

     /dev/at/flp/rf0t

     /dev/at/flp/fx3d

     /dev/at/flp/rfx3d

     /dev/at/flp/fx3dt

     /dev/at/flp/rfx3dt

     /dev/at/flp/fx3h

     /dev/at/flp/rfx3h

     /dev/at/flp/fx3ht

     /dev/at/flp/rfx3ht


Seite 4                      Reliant UNIX 5.44               Gedruckt 11/98

fd(7)                           (Nur RM400)                           fd(7)























































Seite 5                      Reliant UNIX 5.44               Gedruckt 11/98

Typewritten Software • bear@typewritten.org • Edmonds, WA 98026