atari-home.de - Foren

Software => Software (16-/32-Bit) => Thema gestartet von: guest2003 am Do 23.08.2007, 12:32:20

Titel: Distetten einlesen
Beitrag von: guest2003 am Do 23.08.2007, 12:32:20
Moin

Ich möchte alle meine Orginaldisketten bitgenau einlesen, das Ganze unter Linux. Hab keine Windowsmaschine, und werd mir auch keine Anschaffen.

Das Lesen ist prinzipiell auch kein Problem, aber diverse Kopierschutzmechanismen machen mir Probleme. Ausserdem ist mir das Lesen noch nicht genau genug.

Erst mal die Grundlagen: Eine Diskette hat maximal zwei Seiten. Eine Seite besteht aus 80 Tracks, ein Track aus 9 Sektoren, ein Sektor aus X bytes Header, 512bytes Daten und Y bytes Gap.

Dazu erst mal ein paar Fragen: Wie gross ist der Sector Header, wie gross der Gap? Gibt es einen Track / Side / Disk Header?

So wie ich das verstanden habe, werden die Daten erst im Diskettenlaufwerk in C/H/S zerschlagen, also kommen Header & Gap erst im Laufwerk dazu. Wie kann man die also manipulieren?

Welche Kopierschutzmechanismen gab es eigentlich aufm ST?

Danke & Gruss
s2k
Titel: Re: Distetten einlesen
Beitrag von: keili am Do 23.08.2007, 13:03:36
Über die Schutzmechanismen kann ich fast nix sagen. Aber bit-genaues Einlesen alleine wird nicht genügen, um lauffähige Kopien zu bekommen.
Mir fällt als Beispiel nur Dungeon Master ein. Auf der Diskette gibt es unformattierte Sektoren, die dann beim Auslesen unterschiedliche Werte liefern. Ist der Wert aber immer gleich, wird eine Kopie erkannt.
Die einzige Möglichkeit, solche Disketten zu kopieren, ist das pasti-Tool. Dafür ist zunächst ein ST nötig und für den Emulator dann doch wieder Windows. Eine Linux-Version gibt es nicht.
Das Tool gibt es auf http://pasti.fxatari.com/ . Dort ist auch eine Mail-Adresse, falls Du Dich mit dem Macher in Verbindung setzen möchtest.
Titel: Re: Distetten einlesen
Beitrag von: guest2003 am Do 23.08.2007, 13:39:29
Frei nach unserer Geschäftsphilosophie: Was mit Windows geht, geht mit Un*x schon lange.

Mir fällt als Beispiel nur Dungeon Master ein. Auf der Diskette gibt es unformattierte Sektoren, die dann beim Auslesen unterschiedliche Werte liefern. Ist der Wert aber immer gleich, wird eine Kopie erkannt.

Kann eigentlich nicht sein, denn auch ein "unformatierter" Sektor ist mit irgend welchen Daten beschrieben (rein elektronisch meine ich), es sei denn, man manipuliert die Diskettengeometire so, dass ein Sektor "übersprungen" wird. Kann man sehr schwer kopieren, da man auf diesen Sektor nicht seeken kann. Keine Ahnung, ob das beim ST überhaupt möglich ist. Oder ich verstehe das ganze falsch?!?

Mal sehen, ob ich Dungeon Master im Orginal besitze.
Titel: Re: Distetten einlesen
Beitrag von: Stosser am Do 23.08.2007, 13:59:41
Hi,

Moin

Ich möchte alle meine Orginaldisketten bitgenau einlesen, das Ganze unter Linux. Hab keine Windowsmaschine, und werd mir auch keine Anschaffen.

Das Lesen ist prinzipiell auch kein Problem, aber diverse Kopierschutzmechanismen machen mir Probleme. Ausserdem ist mir das Lesen noch nicht genau genug.

Erst mal die Grundlagen: Eine Diskette hat maximal zwei Seiten. Eine Seite besteht aus 80 Tracks, ein Track aus 9 Sektoren, ein Sektor aus X bytes Header, 512bytes Daten und Y bytes Gap.

Dazu erst mal ein paar Fragen: Wie gross ist der Sector Header, wie gross der Gap? Gibt es einen Track / Side / Disk Header?

So wie ich das verstanden habe, werden die Daten erst im Diskettenlaufwerk in C/H/S zerschlagen, also kommen Header & Gap erst im Laufwerk dazu. Wie kann man die also manipulieren?

Welche Kopierschutzmechanismen gab es eigentlich aufm ST?

Danke & Gruss
s2k

Eine Diskette hat 2 Seiten richtig, es können aber auch 82 bis 84 Tracks sein und auch 10 bis 11 Sektoren.

Disketten Header (*)

Offset| Name|Belegung
--------+--------+-------------------------------------------
$00   |BRA.S| CPU-Sprungbefehl zur Bootroutine
$02  |FILLER| 6 Füllbytes
$08  |SERIAL | 3 Bytes Seriennummer
$0B | BPS | Bytes pro Sektor
$0D | SPC | Sektoren pro Cluster
$0E | RES | Reservierte Sektoren am Anfang des Mediums
$10 | NFATS | Anzahl der File Allocations Tables
$11 | NDIRS | Anzahl der Eintrage im Wurzelverzeichnis
$13 | NSECTS | Gesamtzahl der Sektoren
$15 | MEDIA | "Media"-Byte
$16 | SPF | FAT-Größe in Sektoren
$18 | SPT | Track-Größe in Sektoren
$1A | NSIDES | Seiten pro Medium
$1C | NHID | Versteckte Sektoren


Nach den Header beginnen die Sektoren, als :

Track * Sektoren * Byte pro Sektor

beginnt immer mit Seite 0 , da das einseitige Atari Laufwerk nur eine Seite hat.

Kopierschutzmechanismen:

Wie Keili schon geschrieben hat, können unformatierte(1) Sektoren auf die Diskette sein, die Zeit die das Laufwerk braucht diesen Sektor zulesen (oder auch nicht) wird in der Software (Game) errechnet , wenn man jetzt eine Turbokarte drin hat die noch Cache Speicher drauf hat, bekommt die Software seine Probleme ,da die Berechnung schon schneller geht als der Programmiere sich es ausgedacht hat und die Software meldet das es sich nicht um eine Original Disketten handelt.
(Schlechter Still aber wurde sehr oft benutzt)

Überlange oder zu kurze Sektoren

Bei dieser Art bekommen Copy Programme ihre Probleme da sie den Header auslesen und diese Daten zum Kopieren der Diskette benutzten.

Einige Copy Programme kürzen den Sektor bei überlange Sektoren oder füllen den Sektor bei zu kurze Sektoren.

Die Software (Game) fragt diese Sektoren ab und finden nur Müll vor.

Die Software meldet das es sich nicht um eine Original Disketten handelt.

Mehr oder weniger Track:

Es werden mehr oder wenige Track erstellt , wie im Header stehen, das Copy Programm liest den Header aus und versucht mit diese angaben die Diskette zu Lesen.

Entweder beschwert sich das Copy Programm das der zu lesende Track defekt ist, oder es werden nicht alle Tracks gelesen.

Die Software (Game) fragt diese Track ab und finden nur Müll vor.

Die Software meldet das es sich nicht um eine Original Disketten handelt.

Micro Zerstörung:

Es gab wirklich einige Spiele da wurde die Oberfläche des Datenträgers zerstört um ein Kopieren der Software zu verhindern.

Hat die gleiche Auswirkung wie unformatierte Sektoren, das Copy Programm versucht diesen Sektor oder auch Track zu lesen und versucht eventuell diesen zu Reparieren , da aber unformatierte Sektoren und die Zerstörte Oberfläche keine Daten besitzen wird die Software meldet das es sich nicht um eine Original Disketten handelt.

Dongle:

Einige Spiele besitzen ein Dongle den man in den 2 Joystick Port steckt, eigentlich wird über ein Widerstand ein Status an Port erzeugt welches die Software (Game) abfragt.

Leaderboard hat solch ein Dongle, ist aber für 1040/Falcon besitzter unpraktisch da man den Dongle irgendwie in den Joystock port frimmeln muss.

Handbuch abfrage:

Die Software (Game) fragt nach ein bestimmtes Word aus dem Handbuch, man bekommt die Seite , Spalte und Wort Position an den das Wort stehen soll.

Karten / Rad / Farbtabellen:

Einige Spiele lassen sich Starten und spielen aber um weiter zu kommen muss man in Farbtabellen / Karten oder ein Rad nachschlagen um die gestelle Frage zu beantworten.

Beispiel:
Monkey Island (RAD)
Spacola (Sternenatlas)

Lenslock :

Einige Spiele die aus England gekommen sind haben ein Lenslock schutz.

Man bekommt zum Spiel eine art Lupe und man muss diese am eine bestimmte stelle am Monitor halten um ein Wort oder zahl zu lesen welche man dan in der Software eingeben musste, um das Spiel zu spielen.

Einige Flight und Bomber Simulation hatten diesen Schutz.


Starke und Schwache Sektoren / Track

Wie dieser Schutz aufgetragen wird kann ich nicht beschreiben, die abfrage in der Software (Game) ist so , das man diesen bereich öfters lesen muss um den Korrekten Sektor / Track zu bekommen.

So das war es erstmal es gibt bestimmt noch mehr arten eine Software zu schützen.

Ich hoffe ich konnte eventuell helfen.

1) unformatierte Sektoren besitzen Information die als Statisches Rauschen verstehen werden kann, und nicht von ein Laufwerk gelesen werden kann, darum müssen Datenträger Formatiert werden um den Datenträger (Track/sektoren/eventuell Servo Infos) für ein Laufwerk lesbar zumachen.
Ohne Formatierung ist der Datenträger einfach nur ein Alu / Plastic Scheibe mit eine Magnet empfindlichen oberfläche ohne Struktur.

* Das gute Alte Atari Profibuch, welches man immer in Schrank haben soll.
Titel: Re: Distetten einlesen
Beitrag von: OnkelTom71 am Do 23.08.2007, 14:02:42
Schwierig, ich würde mich auch nicht darauf verlassen, dass eine Diskette 80 Tracks hat. Und 9 Sektoren müssen es auch nicht immer sein, erst recht nicht in aufsteigender Reihenfolge (Interleave).

Grundlagen dazu gibt's im Buch "Scheibenkleister - Massenspeicher am ST". Hyperformat war z.B. eines der Programme, die alles Möglichkeiten einstellen konnten.
Titel: Re: Distetten einlesen
Beitrag von: Dennis Schulmeister am Do 23.08.2007, 20:47:16
Zitat
Dafür ist zunächst ein ST nötig und für den Emulator dann doch wieder Windows.

Oder Wine. ;)

Gruß,
Dennis 8)
Titel: Re: Distetten einlesen
Beitrag von: guest2003 am Do 23.08.2007, 22:17:58
Vielen Dank für Eure Informationen. Ich werde sie am Wochenende genau durchlesen.

Leider habe ich keinerlei Bücher über den ST.

Noch eine kleine Info: Ich möchte die Disketten nicht zum Spielen im Emu benutzen (nichts geht über die reale Maschine), sondern um die Software für nachfolgende Generationen aufzubewahren. Schliesslich halten die Disks nicht ewig. Daher möchte ich möglichst genaue Abbilder der Diskettenrohdaten haben.
Titel: Re: Distetten einlesen
Beitrag von: jens am Do 23.08.2007, 22:45:07
Zum Thema Konservation solltest Du Dich ein wenig mit Keili unterhalten.
Nicht, daß Du Sachen konservierst, die schon konserviert sind. ;)
Titel: Re: Distetten einlesen
Beitrag von: keili am Fr 24.08.2007, 07:14:35
Noch eine kleine Info: Ich möchte die Disketten nicht zum Spielen im Emu benutzen (nichts geht über die reale Maschine), sondern um die Software für nachfolgende Generationen aufzubewahren. Schliesslich halten die Disks nicht ewig. Daher möchte ich möglichst genaue Abbilder der Diskettenrohdaten haben.
Dann wirst Du an pasti wohl nicht vorbeikommen. Die Entwicklung des 2. Programmteils zum Zurückschreiben der Abbilder läuft gerade. Dafür wird aber eine Catweazel nötig sein.
Titel: Re: Distetten einlesen
Beitrag von: jens am Fr 24.08.2007, 09:45:27
Dafür wird aber eine Catweazel nötig sein.
So, so.
Und das ist was?
Hardware-Modul oder so?
Spezielles Floppy Drive?
Titel: Re: Distetten einlesen
Beitrag von: keili am Fr 24.08.2007, 10:23:16
Ein Floppy-Controller. Der richtige Name ist Catweasel.
Mehr steht unter http://de.wikipedia.org/wiki/Catweasel-Controller
Titel: Re: Distetten einlesen
Beitrag von: jens am Fr 24.08.2007, 11:04:33
Danke. :)
Titel: Re: Distetten einlesen
Beitrag von: Stosser am Fr 24.08.2007, 11:16:47
Hi,

Dann wirst Du an pasti wohl nicht vorbeikommen. Die Entwicklung des 2. Programmteils zum Zurückschreiben der Abbilder läuft gerade. Dafür wird aber eine Catweazel nötig sein.

Das hört sich ja super an, dann kann man auch was für den Atari mit der Catweasel machen, den die dazu gehörige Treiber können nur Amiga und C64 Disketten Lesen/schreiben.

Ist halt eigendlich eine Amiga Hardware.

Ich habe eine Catweasel MK3 PCI/Flipper und habe es nie bereut sie zu kaufen, werde mir eventuell noch die MK4 kaufen.

@keili

Irgendwelche Infos wie lange es noch dauert mit der Software und wird sie zum Downloaden sein ?

CU,
StOsSeR

Titel: Re: Distetten einlesen
Beitrag von: keili am Fr 24.08.2007, 11:40:57
Leider nein. Die letzte News ist über ein Jahr alt. Der pasti-Entwickler arbeitet daran. Wir arbeiten in einem anderen Projekt zusammen, woher ich weiß, dass er sehr wenig Zeit hat.