Seite 1 von 3

Neue Software: TFmac 5000 zum Auslesen der Platte im Mac

Verfasst: Do 2. Mär 2006, 23:07
von Spock
Hi!
Ab sofort könnt ihr mein Programm "TFmac 5000" runterladen, um eine Topfield 5000 Platte im Mac lesen und beschreiben zu können. Es geht dabei nicht um eine Verbindung Topf <--> Mac, sondern die Platte muss aus dem Top raus und in den Mac rein. Oder in ein FireWire-Gehäuse (zur Not auch USB).
Vorteil: es ist wesentlich (10 mal) schneller als die Topf-Mac Verbindung (über FireWire ca. 50-60 sek/GB, über USB 2.0 ca 80-90 sek/GB)

Das Programm basiert auf dem Commandozeilen-tool tf, das für den 4000er geschrieben worden ist, und das ich schon vor längerer Zeit mit Hilfe von thomast adaptiert habe, so dass es nun mit dem 5000er funktioniert, der ein anderes Dateisystem verwendet. Nun hab ich endlich die Zeit gefunden es nochmal anzupassen, damit es auch Unterordner auslesen kann, die der 4000er ja nicht kennt, und ein vernünftiges Mac-Programm rundherum zu legen. Es muss also keiner ins Terminal.

Screenshot:
download/file.php?id=393


Ein paar Dinge sind noch nicht so wie ich sie gerne hätte, aber ich kann damit leben, und hab jetzt auch nicht mehr die Zeit das einzubauen:
1) Verzeichnisse werden nicht gepuffert, das heißt bei jedem Verzeichniswechsel wird die Platte gelesen, was in Abhängigkeit des Füllstands der Platte ein bissl dauern kann (bei mir 12 sek.)
2) Sehr unangenehm: der Downloadfortschritt wird nicht angezeigt. Aber da die Dateigröße und die Geschwindigkeit bekannt sind, kann man ja schätzen.
3) Beim Kopieren vom Mac auf die Topf-Platte wird das Dateidatum nicht korrekt gesetzt.

Ihr könnt das Programm hier runterladen:
http://members.inode.at/417486/tfmac5000/tfmac5000.html

Gruß, Spock

Update: Ich hab gerade noch einen Bug in der Software entdeckt. Wenn mit dem Programm auf die Platte geschrieben wird, führt der Topf anschließend ein "Verifying Files and Folders" durch. Es werden also scheinbar gewisse Verzeichnisinformationen nicht korrekt gesetzt. Ich habe bei mehrfachen Versuchen dabei nie einen Datenverlust erlitten, aber seid hiermit gewarnt. Beim reinen Auslesen der Platte kann nichts schiefgehen.
Und noch was: ich hab das ganze noch nie auf einem intel-Mac getestet, ich habe keine Ahnung wie sich das Programm dort verhält.
Ich lehne mal sicherheitshalber jede Verantwortung für Datenverluste aller Art ab.

Update 02.01.2007:
Ich hab soeben eine neue Version (0.6) zum Download zur Verfügung gestellt.
Neuerungen:
- Universal Binary
- Unterstützung von Platten größer als 250 GB
- Ordner werden gecached, d.h. wenn ein Ordner zum 2. mal gewählt wird, muss das Inhaltsverzeichnis nicht erneut von der Platte gelesen werden.

Verfasst: Do 2. Mär 2006, 23:29
von Strizzi
Vielen Dank Spock,

ich werde bald meine TF Platte wechseln,
da kann ich TFmac gleich mal testen und gut gebrauchen.

Grüße Strizzi

Verfasst: Do 18. Mai 2006, 15:53
von Strizzi
Hi.

Nun ist wieder einige Zeit vergangen, Tests haben ergeben, dass "nur" Platten erkannt werden, die eine bestimmte Größe nicht überschreiten.
Meine 160GB Platte wird erkannt, die 250GB leider nicht mehr.
Spock war sehr hilfsbereit; und @thomast konnte da auch leider nicht weiterhelfen.
Darum hole ich mal den Beitrag wieder rauf.

Das Auslesen der Platte geht wirklich sehr schnell, in einer Stunde schaufelte ich per USB über 45GB von einer auf eine andere Platte. :wink:
Falls man die Platte nicht ständig aus dem Topf nehmen will, ist es auch keine Hexerei ihm einen zusätzlichen echten USB 2.0 Anschluss zu verpassen.

Grüße Strizzi

Verfasst: Sa 20. Mai 2006, 21:07
von thomast
Hi,
ich habe mir heute noch mal das tf angeschaut und einen Fehler gefunden. In der Tat muss man den Wert für MAX_CLUSTER_SIZE anpassen.
Warum es bei mir mit dem 4000 vor einiger Zeit mit einer 250G Platte funktioniert hat, kann ich bei bestem Willen nicht mehr verstehen. :confused:

@Spock habe ich per Mail schon informiert.
In der Hoffnung, dass es jetzt keine Probleme mehr mit den "großen" Platten gibt :hello:


Thomas

Verfasst: So 21. Mai 2006, 01:27
von jkIT
Spock hat geschrieben:Update: Ich hab gerade noch einen Bug in der Software entdeckt. Wenn mit dem Programm auf die Platte geschrieben wird, führt der Topf anschließend ein "Verifying Files and Folders" durch. Es werden also scheinbar gewisse Verzeichnisinformationen nicht korrekt gesetzt.
Das liegt am CRC32 Wert im Superblock. Der ist nach einer Änderung nicht mehr korrekt. Der TF4000 prüft das nicht, der TF5x00 seit geraumer Zeit schon. (siehe hier)

Verfasst: So 21. Mai 2006, 01:34
von Spock
Die Änderung der MAX_CLUSTER_SIZE werd ich morgen mal einbauen, dann kann Strizzi das testen.

@thomast: kannst du mit dem Hinweis von jkIT bezüglich des CRC32 Wert im Superblock was anfangen?

Verfasst: So 21. Mai 2006, 09:16
von Strizzi
Hi,

das sind ja gute Nachrichten, vielen Dank,
da bin ich schon gespannt.

Grüße Strizzi

Verfasst: So 21. Mai 2006, 10:54
von thomast
Spock hat geschrieben:@thomast: kannst du mit dem Hinweis von jkIT bezüglich des CRC32 Wert im Superblock was anfangen?
Anfangen kann ich damit schon was.
Die Aussage ist ganz einfach, dass man beim Schreiben einen Files auch CRC32 auf den richtigen Wert setzten muss. :lol:

Nun stellt sich natürlich die Frage, welcher Wert der richtige ist. @FireBird hat wohl herausgefunden, wie man den Wert berechnet. Lass Dir doch von Ihm mal sein Codebeispiel schicken.


Thomas

Verfasst: So 21. Mai 2006, 14:03
von jkIT
CRC Berechnung (in Pascal):

Code: Alles auswählen

  // CRC32 test
  i := 0;
  p := PBYTE(fatbuffer);
  crc32 := $FFFFFFFF;
  while i < FATSIZE * 3 do begin
    crc32 := RecountCRC(p^, crc32);
    if crc32 = swapDword(superblock.fat_crc32) then begin
        fLog.addStr(format('found CRC32 at byte %d: %s', [i, inttohex(crc32, 8)]));
      break;
    end;
    inc(i);
    inc(p);
  end;

var
  CRCTable: array[0..255] of DWORD;

procedure BuildCRCTable;
const
  CRCPOLY = $04C11DB7;
var
  i, j: word;
  code: DWORD; // longint;
begin
  for i := 0 to 255 do begin
    code := i shl 24;
    for j := 0 to 7 do begin
      if (code and $80000000) <> 0 then begin
        code := (code shl 1) xor CRCPOLY;
      end else begin
        code := (code shl 1);
      end;
    end;
    CRCTable[i] := code;
  end;
end;

function RecountCRC(b: byte; OldCrc: DWORD): DWORD;
begin
  Result := CRCTable[(OldCrc shr 24) xor b] xor (OldCrc shl 8);
end;
Dürfte nicht so schwehr nach C portierbar sein.
Ich hoffe das hilft weiter.

AW: Neue Software: TFmac 5000 zum Auslesen der Platte im Mac

Verfasst: Mo 4. Dez 2006, 10:05
von Malum
Hallo!
Ich hol mal den Beitrag wieder rauf.

Hat sich in der zwischenzeit was bei der Erkennung der HD bezüglich deren Größe getan?

Ich habe demnächst eine 400GB HD in einem externen Gehäuse und mangels eines WIN-PC
wäre das Tool recht hilfreich.

Gruß
Malum

AW: Neue Software: TFmac 5000 zum Auslesen der Platte im Mac

Verfasst: Mo 4. Dez 2006, 20:28
von Spock
Mit der Hilfe von Alexander Ölzant hab ich im Sommer eine Version gebastelt, die Strizzi erfolgreich mit einer großen (ich glaub 250) Platte einsetzt. Die Version ist nicht auf dem ftp Server, ich kann dir aber gerne eine beta schicken.

AW: Neue Software: TFmac 5000 zum Auslesen der Platte im Mac

Verfasst: Mo 4. Dez 2006, 20:39
von Strizzi
Hi,

und es funktioniert tadellos, das war eine tolle Aktion von Euch. :wink:

Grüße Strizzi

AW: Neue Software: TFmac 5000 zum Auslesen der Platte im Mac

Verfasst: Mo 4. Dez 2006, 22:12
von Malum
[quote=""Spock""]Mit der Hilfe von Alexander Ölzant hab ich im Sommer eine Version gebastelt, die Strizzi erfolgreich mit einer großen (ich glaub 250) Platte einsetzt. Die Version ist nicht auf dem ftp Server, ich kann dir aber gerne eine beta schicken.[/quote]

Hallo!
Ich nehme Dein Angebot an und werden berichten ob ich auch meine 400GB HD damit ansprechen kann.

\V/ Live long and prosper
Malum

AW: Neue Software: TFmac 5000 zum Auslesen der Platte im Mac

Verfasst: Di 5. Dez 2006, 18:07
von Malum
Hallo!

Kann die 400er HD nicht ansprechen. Nach dem anschliessen per USB kommt das Fenster am Mac was mich fragt ob ich Initialisieren, Ignorieren oder Auswerfen möchte. Ich habe mit Ignorieren und Auswerfen geantwortet.

Wenn ich dann bei TFMac5000 dann einen der 3 oberen Buttons drücke, kommt die Meldung "Sorry, no Topfield Disk found" :(

Kann man da noch was machen? Oder mache ich was falsch?

Malum

AW: Neue Software: TFmac 5000 zum Auslesen der Platte im Mac

Verfasst: Di 5. Dez 2006, 18:48
von Strizzi
Hallo,

hast Du ganz sicher auch vorher nur ignorieren gedrückt?

Grüße Strizzi

AW: Neue Software: TFmac 5000 zum Auslesen der Platte im Mac

Verfasst: Di 5. Dez 2006, 19:01
von Malum
[quote=""Strizzi""]Hallo,

hast Du ganz sicher auch vorher nur ignorieren gedrückt?

Grüße Strizzi[/quote]

Hallo,
ja habe ich. Einmal mit Ignorieren und einmal mit Auswerfen probiert.

Malum

AW: Neue Software: TFmac 5000 zum Auslesen der Platte im Mac

Verfasst: Di 5. Dez 2006, 19:58
von Spock
Das ist übel.

Strizzi, kannst du Malum bitte mal deine Version mailen. Womöglich bin ich mit den Versionen schon ein bissl durcheinander gekommen. Ich bin nämlich inzwischen auf intel-Mac umgestiegen, und hab das deshalb neu kompiliert, und auch noch eine kleine "bisher undokumentierte" Verbesserung eingefügt.

AW: Neue Software: TFmac 5000 zum Auslesen der Platte im Mac

Verfasst: Di 5. Dez 2006, 20:29
von Strizzi
[quote=""Spock""]Strizzi, kannst du Malum bitte mal deine Version mailen. [/quote]
Klar,

ist gerade an Malum rausgegangen.

AW: Neue Software: TFmac 5000 zum Auslesen der Platte im Mac

Verfasst: Di 5. Dez 2006, 20:45
von Malum
Hallo!

Strizzi was hast Du mir denn da geschickt :confused:

Das sieht aus als wenn ich das im Terminal aufmache. Da habe ich nun absolut keine Ahnung.

@ Spock
Was Du mir geschickt hast trägt die Bezeichnung Version 0.4 ist vom 20.07.2006 und 180KB groß. Vom Server geladen habe ich die Version 0.3 vom 02.03.06 und ist auch 180KB groß.

Malum

AW: Neue Software: TFmac 5000 zum Auslesen der Platte im Mac

Verfasst: Di 5. Dez 2006, 20:51
von Strizzi
Oops,

klick TFmac 5000 mit der rechten Maustaste an, dann Paketinhalt zeigen,
dort dann in den Resources das von mir geschickte "tf" austauschen.

Ansonsten melde Dich noch einmal, falls es nicht klappt.

Grüße Strizzi