

Ein kleiner, einfacher Disk-Kopierer:

In diesem 'Kurs' soll der Aufbau von Disketten und die Art und
Weise, wie diese vom DOS benutzt werden, dargestellt werden.
Zur Abrundung gibt es noch ein kleines Prog, das 3.5" - Disx
kopiert.


Die physische Strukturierung einer Disk:
Die Magnetschiebe einer Diskette besitzt zunchst einmal zwei
Seiten. Jede Seite besteht aus einer gewissen Anzahl an Spuren,
genannt Tracks. Auf den Tracks wiederum befinden sich kleine
Speichereinheiten, die Sektoren heien.

Die logische Strukturierung einer Disk unter MS-DOS:
Normalerweise (3.5"-Disk: 1440kB/720kB) besteht eine Disk aus
zwei Seiten mit je 80 Spuren. Jede Spur enthlt bei HD-Disx
18 Sektoren, bei DD-Disx 9 Sektoren. Ein Sektor bietet Platz
fr 512 Byte. Da DOS nur eine bestimmte Anzahl an Sektoren ver-
walten kann, werden bei Festplatten mehrere Sektoren zu einem
Cluster zusammengefat, aber bei Disketten wird jedem Cluster
nur ein Sektor zugeordnet. Vor jedem Sektor befindet sich ein
kleines Array mit Informationen ber den folgenden Sektor,
z.B. die Sektornummer, Seitennummer, usw...

Aber mit diesen Informationen werden wir nicht direkt konfron-
tiert, weil das BIOS uns beim Sektorzugriff krftig untersttzt.
Es stellt uns im Interrupt 13h Funktionen zum lesen, schreiben,
formatiern und verifizieren zur Verfgung, denen wir nur noch
die gewnschten Informationen (Sektornummer,usw.) in Registern
bergeben und die uns in einen von uns bestimmten Speicher-
bereich den Sektorinhalt schreibt.

Ein 'Sektororientierten' Kopierprogramm liet nun Spur fr Spur
die Sektoren ein und speichert die gesammte Disk im RAM oder auf
der Festplatte. Diese Bytes werden spter auf die Zieldiskette
wieder Spur fr Spur geschrieben und so eine 1 : 1 Kopie der
Originaldiskette erstellt.

Genau das macht das Programm Copy.Pas, auf eine sehr simple Art
und Weise: Es liet wie oben beschrieben die Disk ein und wenn
ein Fehler auftritt (Diskette beschdigt), bricht es den Kopier-
vorgang einfach ab. Das Programm ist nur in der Lage 3.5" HD-Disx
zu kopieren und das Laufwerk (A: oder B:) mu im Quellcode an-
gegeben werden. Auserdem gibt es keine Fehlermeldungen aus.
Fr Interessierte ist hier noch genug Spielraum gelassen. Das
Programm darf beliebig erweitert und verndert werden! Eine sehr
sinnvolle Erweiterung wre zum Beispiel, da kaputte Sektoren
beim Kopireren nicht zum Abbruch fhren wrden, sondern da sie
einfach bergangen werden.

Viel Spa beim Diskkopieren...

...wnscht euch
                SkyLab


