Dateiformat FAT12


  • Mod

    Wir setzen für die Floppy Disk das von MSDOS verwendete Format FAT12 ein.
    Sourcecode siehe fat12.h/c

    Bei Untersuchungen, um den bisher nicht ergründeten Fehler "No Id Address Mark" zu finden", habe ich gefunden, dass jeweils das erste Byte von FAT1 (offset 0x200) und FAT2 (offset 0x1400) obsolet ist, da es nur in MSDOS 1.0 als Mediadeskriptor verwendet wurde. Dieser befindet sich heutzutage vorne im Bootsector.
    http://www.win.tue.nl/~aeb/linux/fs/fat/fat-1.html

    Daher könnten wir diese beiden Byte zum Speichern von irgendwelchen Zuständen, die mit dem Inhalt der Diskette zusammen hängen, verwenden. Ideen?



  • Erhard Henkes schrieb:

    Daher könnten wir diese beiden Byte zum Speichern von irgendwelchen Zuständen, die mit dem Inhalt der Diskette zusammen hängen, verwenden.

    Warum denn das?

    Hast du die Spezifikation gelesen?


  • Mod

    Hast du die Spezifikation gelesen?

    Ja, ich weiß, dass dort eine Kopie des Media-Deskriptors angelegt wird, aber MS Windows (Explorer oder Konsole) stört sich nicht daran, wenn wir das nicht machen. Probiere es einfach aus.



  • Und woher weißt du, ob eine Floppy dein Spezial-FAT benutzt oder ein ganz normales? Ohne dieses Wissen weißt du ja nicht, wie der Wert dort zu interpretieren ist.


  • Mod

    Ja, das wäre FAT12 plus PrettyOS Spezial-Funktion, also nicht sehr kompatibel. Das ist richtig. Aber ich sehe noch keinen Nachteil.
    Du denkst, dass eine Floppy diesen ersten Eintrag im FAT verwendet? Sicher nicht. Die Daten dort haben nix mit der eigentlichen Floppy-Funktion zu tun.
    Wie gesagt, wurde nur von DOS 1.0 verwendet, ab 2.0 war das schon vorbei.



  • Erhard Henkes schrieb:

    Hast du die Spezifikation gelesen?

    Ja, ich weiß, dass dort eine Kopie des Media-Deskriptors angelegt wird, aber MS Windows (Explorer oder Konsole) stört sich nicht daran, wenn wir das nicht machen.

    Okay, nächste Frage: Hast du verstanden, was eine Spezifikation ist? Der Sinn einer Spezifikation ist doch gerade, dass niemand daher gelaufen kommt, und sagt "Superware 3.2 von Foo Corporation GmbH stört es nicht, wenn ich Blödsinn mache, also sind mir die Götter wohlgesinnt."


  • Mod

    Jetzt wirst Du aber unsachlich. 😃



  • Hallo,

    Erhard Henkes schrieb:

    Ja, ich weiß, dass dort eine Kopie des Media-Deskriptors angelegt wird,

    Und wo ist das Problem sich an diese Spezifikation zu halten? Welche wichtige Info willst Du in einem oder zwei Byte ablegen? Gibt es da nicht vielleicht bessere Orte?

    Erhard Henkes schrieb:

    aber MS Windows (Explorer oder Konsole) stört sich nicht daran, wenn wir das nicht machen.

    Und was ist mit Linux, openBSD, QNX, Minix, MenuetOS, ReactOS oder einem der sehr vielen anderen OSe oder mit den vielen Image-Tools und Filesystem-Reparierer (z.B. chkdsk von MS)? Hast Du die alle durchgetestet ob die in allen Versionen (vergangenen, gegenwärtigen und zukünftigen) keine Probleme mit dem PrettyOS-Spezifikationsverstoß haben?

    Du hast die Frage von taljeth noch nicht beantwortet.

    Grüße
    Erik


  • Mod

    Das ist schwer zu beweisen, also bleibt nur, sich der Übermacht der Argumente für die Einhaltung der Spezifikation für FAT12 bei Floppy Disks zu stellen. Die ersten Byte der beiden FATs werden also nach wie vor 0xF0 bleiben. Akzeptiert und danke für den Hinweis. 👍


  • Mod

    Wir bleiben auch bei der Großschreibung im 8+3 Format.


  • Mod

    Da sich die Entwicklung von USB 2.0 basierend auf EHCI doch schwieriger und langwieriger gestaltet, wird doch noch die Möglichkeit geschaffen, Daten im FAT12-Format auf die Floppy zu schreiben (siehe Rev. 279 ff.). 🙂


Anmelden zum Antworten