•  Back 
  •  Laufwerksfunktionen 
  •  Index 
  •  Tree View 
  •  Cross references 
  •  Help page 
  •  Show info about hypertext 
  •  View a new file 
Topic       : TOS - das Betriebssystem
Author      : 
Version     : tos.hyp (5. März 2013)
Subject     : Programmieren/Atari
Nodes       : 3001
Index Size  : 93602
HCP-Version : 5
Compiled on : Atari
@charset    : atarist
@lang       : 
@default    : Titel
@help       : 
@options    : +g -i -s +x +zz -t4
@width      : 70
View Ref-File4.13.3  Flopfmt                                                    TOS

 Name:         »Floppy format« - formatiert einzelne Spuren auf einer 
               Diskette.

 Xbiosnummer:  10

 Deklaration:  int16_t Flopfmt( void *buf, int32_t filler, int16_t 
               devno, int16_t spt, int16_t trackno, int16_t sideno, 
               int16_t interlv, int32_t magic, int16_t virgin );

 Beschreibung: Die XBIOS-Routine Flopfmt formatiert eine oder mehrere 
               Spuren auf einer Diskette. Es gilt:

                Parameter  Bedeutung

                buf        Zeiger auf einen Bereich, in dem die Daten 
                           für die Spur gespeichert werden können.

                filler     bei allen TOS-Versionen < 1.02 unbenutzt, 
                           und auf 0 zu setzen. Ab dem Blitter-TOS 
                           gilt: wenn interlv = -1 ist, so ist filler 
                           als Zeiger auf eine Tabelle von 
                           Sektornummern anzusehen (16Bit-Worte). 
                           Dadurch ergibt sich die Möglichkeit, die 
                           Reihenfolge der Sektoren auf der Spur frei 
                           zu wählen.

                devno      0 = Laufwerk-A, 1 = Laufwerk-B

                spt        Sektoren pro Spur (normal: 9). Falls der 
                           Cookie _FDC gesetzt ist, sind auch Werte 
                           von 18 (High-Density) bzw. 36 (Extra-High- 
                           Density) Sektoren erlaubt. Die Umschaltung 
                           der verschiedenen Schreibverfahren findet 
                           bei 13 (HD) bzw. 26 (ED) statt.

                trackno    Nummer der Spur (0..79)

                sideno     0: Seite-1
                           1: Seite-2 (bei doppelseitigen Disketten)

                interlv    bestimmt, wie viele physikalische Sektoren 
                           jeweils zwischen zwei logischen Sektoren 
                           liegen (normal: 1)

                magic      0x87654321, sonst wird nicht formatiert.

                virgin     Bitmuster, welches beim Formatieren in 
                           jeden Sektor geschrieben wird (normal: 
                           0xe5e5). Die oberen vier Bits dürfen nicht 
                           gesetzt werden, da dies sonst vom 
                           Controller als Kommando interpretiert 
                           würde.

               Hinweis: Ab dem Blitter-TOS erlaubt es das Desktop, 
               eine Liste von Sektornummern zu übergeben, um Spuren 
               derart zu spiralisieren, daß beim Spurwechsel möglichst 
               wenig Zeit mit dem Warten auf den nächsten Sektor 
               verloren wird.

               Bei einem normalen Format (9 Sektoren pro Spur) muss 
               der über den Parameter buf angegebene Speicherbereich 
               eine Größe von mindestens 8 Kbyte besitzen; in anderen 
               Fällen muss der Puffer evtl. noch vergrößert werden.

 Ergebnis:     Die Funktion liefert als Ergebnis eine 0, wenn kein 
               Fehler passiert ist. Im Fehlerfall wird eine durch 0 
               abgeschlossene Liste der fehlerhaften Sektoren in den 
               Puffer geschrieben.

 Verfügbar:    Alle TOS Versionen.

 Gruppe:       Laufwerksfunktionen

 Querverweis:  Binding   Flopwr