Dateisysteme erkennen


Dateisysteme erkennen

von matti1104 » So 10. Jul 2011, 17:28
Hallo,

weiss evtl. jemand, wie man das Dateisystem der verschiedenen DOS Versionen erkennen kann? Gibt es da evtl. irgend eine Kennung in den ersten drei Sektoren oder so etwas ähnliches? Ich suche seit geraumer Zeit eine Möglichkeit, dass verwendete Dateisystemformat (DOS 2.0, SamrtDOS, MyDOS, SpartaDOS, SpartaDOS X, ...) von Disketten und ATR-Files programmiertechnisch zu ermitteln.

Viele Grüße,
Mathias

Re: Dateisysteme erkennen

von Dietrich » So 17. Jul 2011, 21:59
Bei ATARI-DOS-Versionen schaut man sich die ersten 3 Bytes von Sektor 360 an:

Byte 0: 1=DOS 1, 2=DOS 2.0/2.5, 3-35=MyDOS (es gibt ein paar Ausnahmen, die man aber mangels Verbreitung getrost ignorieren kann: TurboDOS schreibt z.B. bei QD hier eine $82 rein, TOPDOS bei DD und QD eine 3)

Byte 1/2: Anzahl der ursprünglich freien Datensektoren (z.B. 707 bei SD)

Die Density der Disk (nur SD/MD/DD) bekommt man als Antwort auf das SIO-Status-Kommando:
Byte 0: Bit 7 = MD, Bit 5 = DD, sonst SD

Re: Dateisysteme erkennen

von matti1104 » So 17. Jul 2011, 22:37
Hi Dietrich,

alles klar und vielen Dank für Dein Feedback! Weisst Du evtl. auch, wie man das SpartaDOS, SpartaDOS X und BeWe-DOS Filesystem detektieren könnte?

Gruß,
Mathas

Re: Dateisysteme erkennen

von Mathy » Mo 18. Jul 2011, 00:35
Hallo Dietrich

Wie detektiert man ob es sich um ein Atari-DOS-derivat oder ein SpartDOS ähnliches DOS handelt?

Tschüß

Mathy

Re: Dateisysteme erkennen

von GoodByteXL » Mo 18. Jul 2011, 07:03
Matti1104 hat geschrieben:Hi Dietrich,

alles klar und vielen Dank für Dein Feedback! Weisst Du evtl. auch, wie man das SpartaDOS, SpartaDOS X und BeWe-DOS Filesystem detektieren könnte?

Gruß,
Mathas
Es gibt nur ein SDFS in verschiedenen Revisionen.
Lesen: RealDOS Manual, SpartaDOS Manual, SDX Manual - steht alles drin.

Re: Dateisysteme erkennen

von matti1104 » Mo 18. Jul 2011, 09:25
GoodByteXL hat geschrieben:
Matti1104 hat geschrieben:Hi Dietrich,

alles klar und vielen Dank für Dein Feedback! Weisst Du evtl. auch, wie man das SpartaDOS, SpartaDOS X und BeWe-DOS Filesystem detektieren könnte?

Gruß,
Mathas
Es gibt nur ein SDFS in verschiedenen Revisionen.
Lesen: RealDOS Manual, SpartaDOS Manual, SDX Manual - steht alles drin.


Hi Walter,
alles klar. Werde ich mich reinarbeiten.

Gruß,
Mathias

Re: Dateisysteme erkennen

von Dietrich » Mo 18. Jul 2011, 21:41
Mathy hat geschrieben:Wie detektiert man ob es sich um ein Atari-DOS-derivat oder ein SpartDOS ähnliches DOS handelt?

Das ist kaum möglich, da Disks ja auch reine Bootdisks ohne Filesystem sein können - und damit alles drin stehen kann - im Gegensatz zu PC-Disks und -Karten, die immer ein Filesystem draufhaben.

Für ATARI-DOS kann man Sektor 360 testen:
Byte 0 ist immer nicht 0 - bei Atari-DOS-Disks (außer MyDOS/DOS 1) immer 2, siehe oben
Byte 1/2 sind nicht beide 0
Byte 5 ist immer 0

SpartaDOS (da guckt man am besten ins BeweDOS-Manual, da ist das am besten erklärt)
Byte 7: Muss $80 sein (bei SDFS-Version $21 ist auch $40 möglich)
Byte 11,12: Anzahl der Sektoren
Byte 31: Bytes pro Sektoren (128=128, 0=256, 1=512)
Byte 32: SDFS-Version, sollte $20 sein, niedrigere Werte ($11, $10) sind veraltet. Speziell SpartaDOS X 4.4 hat hier $21 stehen (weil es 512 Byte-Sektoren unterstützt).

Gruß Dietrich

Re: Dateisysteme erkennen

von GoodByteXL » Mo 18. Jul 2011, 22:34
Dietrich hat geschrieben:SpartaDOS (da guckt man am besten ins BeweDOS-Manual, da ist das am besten erklärt)
Hm, das BeweDOS-Manual ist auf dem Stand seiner Zeit und deswegen etwas überholt. So ist z.B. Byte $07 nicht immer 80.

Im Manual zu RealDOS und SDX 4.4x sind die neuesten Informationen zum SDFS enthalten.

Re: Dateisysteme erkennen

von Dietrich » Mi 20. Jul 2011, 21:30
Da es das SDFS 2.0 schon seit BeweDOS gibt und auch von allen SpartaDOS-kompatiblen DOS-Versionen außer SDX 4.4 benutzt wird, sind die Infos zum SDFS im BeweDOS-Handbuch durchaus aktuell. Das ist ja das Gute an Filesystemen - die ändern sich praktisch nie :-)

Nur für SDFS 2.1 (das nur von SDX 4.4 benutzt wird), ist es laut Doku in der Tat so, dass Byte 7 nicht $80, sondern auch $40 sein kann (bei 512 Bytes pro Sektor). Habe ich oben korrigiert.

Re: Dateisysteme erkennen

von GoodByteXL » Mi 20. Jul 2011, 21:46
Dietrich hat geschrieben:Da es das SDFS 2.0 schon seit BeweDOS gibt und auch von allen SpartaDOS-kompatiblen DOS-Versionen außer SDX 4.4 benutzt wird, sind die Infos zum SDFS im BeweDOS-Handbuch durchaus aktuell. Das ist ja das Gute an Filesystemen - die ändern sich praktisch nie :-)
Ähm, das SDFS 2.0 gibt es seit SpartaDOS 2.x - 1985. Es wurde von ICD eingeführt.
BeweDOS ist dazu kompatibel. Es kann macht manches anders, vor allem Screenausgabe, Note und Point, die allesamt sehr langsam sind.
Dietrich hat geschrieben:Nur für SDFS 2.1 (das nur von SDX 4.4 benutzt wird), ist es laut Doku in der Tat so, dass Byte 7 nicht $80, sondern auch $40 sein kann (bei 512 Bytes pro Sektor). Habe ich oben korrigiert.
Es ist ja auch eine Weiterentwicklung, die 20 Jahre nach der Veröffentlichung von SDFS 2.0 erschien. Es gab bis dahin zwar viele Hardware (Floppies und HD-Interfaces), die 512-Byte-Sektoren bieten, aber kein passendes DOS dafür. Daneben wurden mit SDFS 2.1 noch einige Fehler korrigiert, die andere SDFS-DOS beim Formatieren in den Bootsektor 1 schreiben und bei der Formaterkennung u.U. Probleme bereiten. Da es rückwärtskompatibel und gut dokumentiert ist, empfiehlt sich die Verwendung von SDFS 2.1.

Re: Dateisysteme erkennen

von matti1104 » So 24. Jul 2011, 15:35
Hi Jungs,

noch mal vielen Dank für Eure Infos rund um das Thema Dateisysteme. Damit bin ich weiter gekommen.
Eine Webseite dazu ist auch bei Ken Snider zu finden. Er hat das ganze nocheinmal recht übersichtlich zusammengestellt:

http://atari.kensclassics.org/dos.htm

Gruß und schönen Sonntag noch,
Mathias