atari-home.de - Foren
Hardware => Emulatoren => Thema gestartet von: guest772 am Di 31.08.2004, 19:08:36
-
??? Liebe Leute,
folgendes Problem: Ich habe vor Jahren für meine damalige Freundin (jetzige Frau) ihre Diss. auf meinem ATARI TT 030 formatiert etc. Die Daten sind auf einer 88 MB Syquest Wechselplatte gespeichert. Nun muss Sie an die Daten ran. Ich habe aber keinen funktionierenden ATARI mehr. Aber: In meinem PC habe ich ein Syquest 88 MB Laufwerk eingebaut, das auch funktioniert und Magic PC 6.1 als Emulator. Problem: Windows XP erkennt die Platte nicht richtig, sondern möchte formatieren. Und Magic PC erkennt die Platte nur mit schwerem Fehler #1.
Weiß jemand Abhilfe?
Vielen Dank
Pepe (fotoman)
-
Unter Windows meines Wissens unmöglich. Der Partitions-Sektor im Atari-Format ist anders aufgebaut als unter Windows. Emulatoren unter Windows können nicht direkt die Sektoren einer physikalischen Platte ansprechen.
Ich habs soeben unter Linux probiert: eine Sache auf 5 min.
1.) Hab meine SCSI-Platte, die sonst am Falcon hängt mal an meinen PC angeschlossen.
2.) mittels "dd if=/dev/sda of=sector0 bs=512 count=1" den Partitions-Sektor ausgelesen.
3.) mittels "hexdump -C sector0" mal den Hexdump des Partitions-Sektors angezeigt.
000001c0 00 00 00 10 36 74 01 42 47 4d 00 00 00 04 00 02 |....6t.BGM......|
000001d0 86 74 01 42 47 4d 00 02 86 78 00 0d af fb 00 2d |.t.BGM...x..¯û.-|
000001e0 2d 2d 00 00 9c 41 00 00 4e 20 00 2d 2d 2d 00 00 |--...A..N .---..|
000001f0 ea 61 00 00 59 d8 00 00 00 01 00 00 00 02 f3 83 |êa..YØ........ó.|
Sieht z.B. gegen Ende des Sektors ca. so aus. Man kann die Zeichen BGM erkennen (kann auch GEM sein). Das ist die Kennung für Atari-Partitionen. Im Hexdump-Bereich kann man nun den Start-Sektor und die Größe der Partition ermitteln. Für die erste Partition in meinem Beispiel sieht das so aus:
42 47 4d 00 00 00 04 00 02 86 74
B G M (Start) (Grösse)
4.) Die Grösse nun in Dezimal umrechnen (Taschenrechner).
Start = 4 - Grösse = 165492
5.) Nun den Inhalt der Partition in eine Datei auf dem Linux-Rechner ziehen:
"dd if=/dev/sda of=partition skip=4 count=165492"
6.) Jetzt kann man die Datei per Loopback-Device mounten:
"mount -o loop -t vfat partition /mnt"
Voila! - man kann unter /mnt auf die Dateien zugreifen....
Analog für die anderen Partitionen....
Gruß
Sonix
-
Sonix, das finde ich ziemlich genial gelöst, bravo :D
-
Mit MagiCMac und einem Scsi-Driver (oder Plattentreiber?) geht das auch mit Atari-Platten. Weiß aber nicht, ob auch mit MagiCPC. :-\
-
Just want to tell that for me it worked except that I had to skip 2 sectors instead of 4.
dd if=/dev/sda of=partition skip=2 count=xyzabc.
After that I was able to mount fs with loopback.
-
4.) Die Grösse nun in Dezimal umrechnen (Taschenrechner).
Start = 4 - Grösse = 165492
5.) Nun den Inhalt der Partition in eine Datei auf dem Linux-Rechner ziehen:
"dd if=/dev/sda of=partition skip=4 count=165492"
6.) Jetzt kann man die Datei per Loopback-Device mounten:
"mount -o loop -t vfat partition /mnt"
Voila! - man kann unter /mnt auf die Dateien zugreifen....
Analog für die anderen Partitionen....
Gruß
Sonix
Das geht sogar noch ein wenig einfacher. Wenn man den Partitionsoffset kennt, kann man den dem Loop-Device direkt mitteilen, muß also nicht mit dd die eigentliche Partition aus dem Image "rausschneiden", sondern kann das komplette Image kopieren:
dd if=<Platte> of=<image-file>
losetup -o 4 -f <image-file>
mount -o loop -t vfat /dev/lo<x> /mnt
Wenn ich mich recht erinnere, kann man so sogar mehrere Partitionen aus ein und demselben Image über mehrere Loop-Devices gleichzeitig gemountet haben.
-
Das ist geschickt, jetzt müsste man nur noch direkt ACSI-Laufwerke vom PC aus ansteuern können, um sich das Geschraube zu sparen.