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