Einzelnen Beitrag anzeigen

Benutzerbild von p80286
p80286

Registriert seit: 28. Apr 2008
Ort: Stolberg (Rhl)
6.659 Beiträge
 
FreePascal / Lazarus
 
#8

AW: Disketten sektorweise lesen/schreiben

  Alt 11. Nov 2012, 12:20
Kommt darauf an mit welchem Betriebssystem, bzw. wie weit Du nach "unten" gehen willst.
Die klassische Dos-Methode geht über den Int13, wobei Du allerdings das Layout der Diskette kennen solltest. Eine andere Möglichkeit ist der (Dos)Int25, der allerdings Cluster liest. (Wenn ich mich richtig erinnere)
Unter Windows kannst du mit createfile direkt auf das Medium zugreifen. Die Details hab ich allerdings nicht im Kopf, da solltest Du vllt. nach Bootsektor/CD-Lesen suchen.
Delphi-Quellcode:
  hVolumeHandle := CreateFile(PChar(sVolumeName), GENERIC_READ or GENERIC_WRITE,
                              FILE_SHARE_READ or FILE_SHARE_WRITE,
                              nil, OPEN_EXISTING, 0, 0);
Bleibt die Frage, was Du konkret vorhast, da modernere Festplatten nicht mehr über Sektor,Spur,Kopf angesteuert werden, sondern nur noch über die Sektor-Nummer, wobei nicht gewährleistet ist, das Sektor N+1 nicht unbedingt physisch hinter Sektor N liegt.

Ggf. wäre der in Windows eingebaute SCSI-Mapper für Dich von Interesse, der für alle Massenspeicher-Medien eine ähnliche Schnittstelle bietet.

Gruß
K-H
Programme gehorchen nicht Deinen Absichten sondern Deinen Anweisungen
R.E.D retired error detector
  Mit Zitat antworten Zitat