Januar 1997

Meinungen, Programme und Hardware

Programmprojekte

Autor: Sven Friedrichs



Partitionstabelle von FD-Laufwerken

Zu den Stärken der Laufwerke von CMD gehört die beachtliche Kompatibilität zu Commodore-Laufwerken. So kann man auf einer einzigen 3.5"-HD-Diskette bis zu 7 1541-Disketten unterbringen. Die FD teilt dabei die Diskette in die vom Anwender gewünschten Partitionen auf und legt eine dem Inhaltsverzeichnis ähnliche Partitionstabelle auf der Diskette ab. Doch wo sich diese befindet und welche Bedeutung die einzelnen Bytes besitzen, darüber schweigt das FD-Handbuch.

Nach ein wenig Suchen mit einem primitiven Disk-Monitor (liegt auf Disk vor) kam dann heraus, daß sich die Partitionstabelle auf dem physikalischen Sektor 3 der Spur 80 befindet. Dabei sollte man den Unterschied zwischen physikalischer und logischer Adressierung anhand von Spur und Sektor gut im Auge behalten. Die logische Adressierung bezieht sich nämlich immer auf die gerade aktuelle Partition, in der sich jedoch keine Partitionstabelle befindet. Somit kann ein Zugriff auf die Tabelle nur über die physikalische Angabe - damit das gesamte Medium umfassend (partitionsübergreifend) - erfolgen. Bei physikalischer Sektorangabe muß man dann allerdings auch die physikalische Größe berücksichtigen, die nicht mehr 256 Bytes sondern 1024 Bytes umfaßt.

Der Aufbau der Partitionstabelle entspricht in etwa dem des normalen Inhaltsverzeichnisses. So werden hier jeder Partition 30 Bytes für Informationen zugeteilt. Der Name wird in Position 3 bis 18 abgespeichert. Die Länge besteht aus High- (28) und Low-Byte (29), wobei sie meist ohnehin nur in 256-Block-Schritten verändert werden kann. Ähnlich aufgebaut sind auch die Positionszeiger für den Start der Partition an der Adresse 20 und 21. Letztlich gibt es noch ein Byte für die Typbeschreibung an der Stelle 0, dessen Bedeutung in Tabelle 1 ersichtlich wird.


BYTE  WERT  BESCHREIBUNG 
  Partitionstyp: 
  000  nicht erstellt 
  001  Native-Modus 
  002  1541 Emulations-Modus 
  003  1571 Emulations-Modus 
  004  1581 Emulations-Modus 
  255  System 
3-18    Partitionsname, Rest mit $a0 
20    Pointer auf Partitionsstart 
21    Pointer auf Partitionsstart 
28    Partitionslaenge (High-Byte) 
29    Partitionslaenge (Low-Byte) 
PARTITIONSTABELLE für FD-2000/4000 (Spur: 80, Sektor: 03) 



Inhalt

   
Zurueck