Formatieren

Aus C64-Wiki
Zur Navigation springenZur Suche springen

Formatieren bezeichnet einen Vorgang durch den eine Diskette, Festplatte oder ähnliche beschreibbare Datenträger verwendbar gemacht werden. Erst nach einem solchen Vorgang kann auf derartigen Medien Daten gespeichert und anschließend ausgelesen werden. [1] Im Wesentlichen werden auf dem jeweiligen Medium (das muss nicht zwangsläufig ein Magnetisches sein, es kann sich auch um eine RAM-Disk oder ein Flash-Drive handeln) entsprechende organisatorische Strukturen (bei einer Floppy sind es Spuren und Sektoren) angelegt, um einzelne Datenblöcke gezielt adressieren zu können (Low level format oder physisches Format). Auf dieser blockorientierten Struktur baut dann üblicherweise ein Dateisystem (engl. file system) wie das CBM-Dateisystem auf (logisches Format). Es erlaubt den Umgang mit Dateien, die über einen Namen angesprochen werden, welche wiederum in einem Verzeichnis vermerkt sind.

Formatieren bei Commodore-Laufwerken[Bearbeiten | Quelltext bearbeiten]

Auf Diskettenlaufwerken für Commodore-Rechner ist das Formatieren als Floppy-Befehl "NEW" unter CBM DOS umgesetzt. Unter verschiedenen Commodore-BASIC-Varianten ab Version 3.5 ist dieser direkt als Befehl HEADER verfügbar.

Laufwerke späterer Generation wie die 1570 oder 1571 bieten neben dem für Commodore üblichen GCR-basierten physischen Diskettenformat auch ein MFM-basiertes Diskettenformat an, das auch von einigen Fremdsystemen zumindest gelesen werden kann.

Für gewöhnlich erfolgte die Formatierung, insbesondere bei größeren Mengen, von Disketten mit Hilfe von speziellen Formatierprogrammen oder -routinen. Diese führten den Formatiervorgang schneller durch (teilweise unterhalb von 10 Sekunden), hatten aber den Ruf, die Diskette nicht ganz so exakt einzuteilen wie der entsprechende Floppy-Befehl.

Beispielprogramm[Bearbeiten | Quelltext bearbeiten]

Bequemes Formatieren mit BASIC 2.0[Bearbeiten | Quelltext bearbeiten]

10 GOSUB 40: PRINT "WELCHES LAUFWERK FORMATIEREN (8-9)?"
11 GET GN$: GN=VAL(GN$): IF GN$=CHR$(13) THEN GN=8
12 IF GN<8 OR GN>9 THEN 11
13 PRINT:INPUT "GEBEN SIE BITTE EINEN DISK-NAMEN EIN (MAX.16 ZEICHEN)";NA$
14 IF NA$="" THEN NA$="C64-WIKI"
15 PRINT:INPUT "GEBEN SIE BITTE EINE DISK-ID EIN (MAX. 2 ZEICHEN)";ID$
20 GOSUB 40: PRINT "BITTE LEGEN SIE EINE DISKETTE IM LAUFWERK EIN"
21 PRINT:PRINT "!!! ACHTUNG:"
22 PRINT "!! DIE FORMATIERUNG LÖSCHT ALLE DATEN !!"
23 PRINT "BESTAETIGEN MIT TASTE J (=JA, SONST ABBRUCH)"
24 GET A$: IF A$="" THEN 24
25 IF A$<>"J" THEN PRINT: PRINT "ABBRUCH": GOTO 33
30 GOSUB 40: PRINT "BITTE WARTEN SIE - DISKETTE WIRD FORMATIERT"
31 OPEN 1,GN,15,"N:"+NA$+","+ID$: CLOSE 1
32 PRINT: PRINT "> FERTIG <": PRINT: A$=""
33 PRINT: PRINT "EINE WEITERE DISKETTE FORMATIEREN (J/N)?"
34 GET A$: IF A$="N" THEN END 
35 IF A$<>"J" THEN 34
36 A$="": PRINT: PRINT "MIT DEN GLEICHEN PARAMETERN (J/N)?"
37 GET A$: IF A$="J" THEN 20 
38 IF A$<>"N" THEN 37
39 RUN
40 PRINTCHR$(147):PRINTSPC(10);"*** DISKFORMAT 2013 BY C64-WIKI ***"
41 PRINT:RETURN

Dieses einfache Beispielprogramm zum Diskettenformatieren fragt beim Anwender einige Informationen (benutztes Laufwerk, Name und ID der Diskette) ab, bevor das eigentliche Formatieren der eingelegten Diskette in Zeile 31 beginnt. Außerdem weist es den Anwender auf den Datenverlust durch die Formatierung hin und ermöglicht es weitere Disketten, auch mit denselben Parametern, d.h. ohne erneute Abfragen, durchzuführen.

In BASIC 3.5 und 7.0[Bearbeiten | Quelltext bearbeiten]

Ein weiteres Beispielprogramm über das Diskettenformatieren findet sich im Artikel HEADER.

Quellen[Bearbeiten | Quelltext bearbeiten]

  1. siehe auch: Withöft, Hennig; Draheim, Andrew: 64'er Großer Einsteiger-Kurs. Markt&Technik Verlag, Seite 44