This is an old version from the tos.hyp. The new is on GitHub!

HomeMagiCDas XFS-Konzept von MagiCShared Libraries

11.22 VFAT-XFS in MagiC

MagiCunterstützt ab Version 5.0 ein VFAT-XFS, mit dessen Hilfe sich lange Dateinamen im Windows95-Format auf dem Atari nutzen lassen.

Vorteile dieses Konzepts:

Nachteile dieses Konzepts:

Technische Beschreibung des VFAT-Systems:

typedef struct
{
    BYTE   head;       /* Bit 0..4: Nummer, Bit 6: Endofname */
    UBYTE  name1[10];  /* 5 Unicode- Zeichen                 */
    BYTE   attr;       /* Attribut (0x0f)                    */
    BYTE   unused;     /* z.Zt. unbenutzt                    */
    BYTE   chksum;     /* Checksumme des kurzen Namens       */
    UBYTE  name2[12];  /* 6 Unicode- Zeichen                 */
    WORD   stcl;       /* erster Cluster (0)                 */
    UBYTE  name3[4];   /* 2 Unicode-Zeichen                  */
} LDIR;

Hinweis: Dabei ist head beim ersten Eintrag z.B. 0x01, beim zweiten 0x02 und beim dritten 0x43, wenn der Name drei Einträge braucht.

Pro Eintrag können 13 Zeichen abgelegt werden. Die Einträge mit dem langen Dateinamen liegen immer unmittelbar vor dem Haupteintrag. Die Unicode Zeichen liegen im Intel-Format vor. Im letzten Eintrag werden nach dem Nullbyte die nicht verwendeten Zeichen mit 0xff,0xff belegt. Die Reihenfolge der Einträge ist umgekehrt, d.h. die letzten 13 Zeichen des langen Namens liegen physikalisch an erster Stelle. Der letzte Verzeichniseintrag, der mit gesetztem Bit 6 im Feld head gekennzeichnet ist, liegt physikalisch an erster Stelle.

Die Komponente stcl ist immer Null; chksum berechnet sich aus dem kurzen Namen (im internen Format) durch abwechselndes Rechtsrotieren des bisherigen Ergebnisses und Aufaddieren der 11 Zeichen. Linux verwendet das Feld unused, um Flags für Groß-/Kleinschrift abzuspeichern. Die aktuelle Windows95-Version schreibt jedoch immer Nullen in dieses Feld, und so verhält sich auch MagiC. Weitere Hinweise:

Querverweis: XFS-Konzept in MagiC   VFATCONF


HomeMagiCDas XFS-Konzept von MagiCShared Libraries