Block

Aus C64-Wiki
Wechseln zu: Navigation, Suche

Ein Block im Diskettenformat von Commodore bzw. dem Commodore DOS der CBM-Diskettenlaufwerke entspricht einem Sektor auf der Diskette. Im CBM-Dateisystem speichert ein Block 256 Bytes an Daten von denen 254 Bytes Nutzdaten sind. Die ersten beiden Bytes hingegen werden verwendet, um auf den nächsten Sektor der Datei zu zeigen. Der erste Block eines Programms hat nur 252 Bytes an Nutzdaten, da zwei weitere Bytes für die Speicherladeadresse verwendet werden.

Die Angabe von belegten und freien Disketten- oder Festplattenkapazitäten erfolgt also in Blöcken. Hiermit erklärt sich die Bedeutung der Angabe von z.B. 664 BLOCKS FREE bei der Anzeige eines Directorys einer Diskette. Auch die Länge der einzelnen Dateien im Directory wird dort in Blöcken angegeben.

Eine 5,25"-Single-Sided-Diskette für ein 1541 Diskettenlaufwerk hat eine Speicherkapazität von 174.848 Bytes. Somit ergeben sich 683 Blöcke, von denen 664 Blöcke (ca. 166 KByte) zum Abspeichern für CBM-DOS-Dateien nutzbar sind. Die restlichen 19 Blöcke (Spur 18) sind fest für organisatorische Strukturen vorgesehen, im Wesentlichen für das Verzeichnis mit den Dateinamen und die BAM.
Weitere strukturelle Informationen befinden sich dann je nach Dateityp flexibel

  • bei den benutzten Blöcken zusammen mit den Daten: die ersten zwei Bytes Link-Information oder Nutzdatenfüllstand pro Block bei PRG-, SEQ-, USR- oder REL-Dateitypen, die Directory-Blöcke, die Side-Sector-Blöcke oder
  • in separaten Blöcken: etwa beim BAM-Block oder bei den Side Sector Blocks der relativen Dateien.