Atari 600 XL mit Datasette

Ich habe einen Atari 600 xl mit Datasette (Kasettenlaufwerk).
Und immer wenn es Daten schreibt oder liest da gibt es immer so eine Musik ( ätzender Krach ). Deshalb gehe ich mal davon aus das die Daten Analog auf die Kasette gespeichert werden.
Meine Frage : warum speichert es die Daten nicht gleich mit 0 und 1 auf das Band. Wenn mir da Jemand weiterhelfen könnte , wäre ich ihm sehr dankbar.

man benutzt frequenzmodulation, da ein herkoemmlicher cassetenrecorder nicht fuer digitale aufzeichnung gemacht war. die schreib und lesevertaerker sind da drin sowieso nicht dc-gekoppelt, so dass irgendeine art von fm hermuss…

joachim

[Bei dieser Antwort wurde das Vollzitat nachträglich automatisiert entfernt]

Hallo,

Hast du schon einmal eine CD-ROM in deinem CD-PLayer eingelegt ??
Sind die Daten jetzt plötzlich Analog auf der CD gespeichert ??

Eine Folge von Nullen und Einsen ergibt immer einen Ton, nur ist er je nach geschwindigkeit nich hörbar.
Bei den alten Geräten hat man günstige Cassettenrecorder als Datenspeicher verwendet und dadurch war die Frequenz, mit welcher man die Daten aufzeichnen kann automatisch im hörbaren Bereich festgelegt.
Bei jeglicher Form von „elektromechanischer“ Aufzeichnung gibt es noch einige prinzipielle Probleme.

  1. Gleichlaufschwankungen: Das Band läuft nicht mit exakt gleichbleibender Geschwindigkeit.
  2. Zwei verschiedene Aufzeichnungsgeräte haben auch nie die exact gleiche geschwindigkeit (Du möchtest ja auch Daten von einem Computer auf einen anderen übertragen können).

Wenn wir mal annehmen du kannst mit 1’000 Bit/Sekunde aufnehmen und du schreibst genau 1 Sekunde lang nur Nullen (also 1’000).
Nun willst du das ganze wieder lesen, aber leider ist die Bandgeschwindigkeit deines Lesegerätes 1% langsamer als bei der Aufzeichnung. Du liest also statt 1’000 1’010 Nullen ein.
Um das Problem zu lösen muss man in irgeneiner Form noch den Datentakt mit in das Signal reinpacken.
Einer der ersten Stndard, für Casseten-Recorder war das „Kansas City“ Aufzeichnungsverfahren (es wurde von einem Computerclub in Kansas City entwickelt, daher der Name). Dabei hat man zei „Töne“ benutzt und zwar (Ich habe die Unterlagen nicht griffbereit, also bitte ich um Entschuldigung wenn die Angaben nicht exakt sind, das ganze war so vor 25 Jahren mal neu) 1’200 Hz für eine „0“ und 2’400 Hz für eine „1“, zudem hat man bei 1’200 Hz 4 Schwingungen und 8 bei 2’400 Hz aufgezeichnet. Jetzt kannst du, auch bei einer ungenauen Abspiel-Geschwindigket, durch Messen der Frequenz und Zälen der Impulse die einzelnen Bits wieder Sicher lesen. Das ganze ergibt keine berauschenden Werte (300 Bit/Sekunde) aber man hatte damals auch nur ein paar KByte RAM im Computer.

MfG Peter(TOO)

[Bei dieser Antwort wurde das Vollzitat nachträglich automatisiert entfernt]

  1. Gleichlaufschwankungen: Das Band läuft nicht mit exakt
    gleichbleibender Geschwindigkeit.

Macht den ein Diskettenlaufwerk imer die gleichen Drehzahlen ???

Hallo

  1. Gleichlaufschwankungen: Das Band läuft nicht mit exakt
    gleichbleibender Geschwindigkeit.

Macht den ein Diskettenlaufwerk imer die gleichen Drehzahlen
???

Natürlich nicht, Du wirst auf der ganzen Welt keine technischen Werte finden welche KEINE Toleranz haben.

Disketten drehen mit 300 Upm +/-2%, auch die genaue Lage der Spuren ist Toleranzen unterworfen. Ein weiteres Problem ist noch, dass die Diskette immer etwas „eiert“ d.h. sie dreht sich nicht exact um ihre Mitte.

Zudem hat ein 1.44MB Diskette eigentlich eine Speicherkapazität von 2 MB (steht manchmal auch auf der Schachtel) die Differenz (560 KB) wird für Verwaltungs-Informationen (Sector- und Spur-Nummer) und „Pufferzonen“ benötigt.
Beim Formatieren werden vor jedem eigentlichen Daten-Sektor noch Informationen mit der Spur- und Sektornummer abgelegt, welche später, beim Schreiben der Daten, nicht mehr verändert werden. Die eigentlichen Daten werden dann zwischen diese Informations-Blöcke geschrieben. Dabei muss sichergestellt werden, dass wenn eine Diskette auf einem langsamen Laufwerk formatiert wurde (Die Blöcke sind dann „näher“ zusammen) der Platz dazwischen immer noch gross genug ist um die Daten auch auf einem schnellen Laufwerk dazwischen zu schreiben.

Auch hier muss man neben den eigentlichen Daten auch noch den Daten-Takt Aufzeichnen, um das Ganze sicher wieder lesen zu können.
Ein mögliches Verfahren funktioniert z.B. folgendermassen (mal sehen ob ich das verbal verständlich machen kann):
Mit jedem Taktimpuls wird der Ausgang invertiert (Also wenn er „0“ ist wird auf „1“ geschaltete und umgekehrt).
Wenn du eine „0“ (Daten) schreiben willst: machst du nichts.
Wenn du eine „1“ schreiben willst: Invertierst du den Ausgang in der Mittet zwischen 2 Taktimpulsen.
Im Prinzip erzeugst du auch hier wieder 2 Frequenzen (Töne) eine bei Nullen und die 2-fache für eine „1“.

Ein weiteres kleines Problem stellt das Auffinden der Anfänge der Informationsblöcke dar. Der Lesekopf liefert ja einfach eine Reihe von Nullen und Einsen.
Dazu musst du sicherstellen, dass bestimmte Bitkombinationen im normalen Datenstrom nie Auftauchen. Dazu kannst du z.B. festlegen, dass nach 8 aufeinander folgenden „0“ immer eine „1“ einfügt werden muss (diese „1“ muss natürlich beim lesen wieder entfernt werden). Nun kannst du den Anfang eines Blocks z.B. mit 16 aufeinanderfolgenden „0“ markieren, da diese Kombination ja nicht innerhalb eines Datenblocks auftreten kann.

Was jetzt so auf der Diskette geschrieben wird sieht in etwa so aus:

wird benötigt um Zeit zu haben die -Felöder auszuwerten und um den Kopf von Lesen auf Schreiben umzuschalten.

wird benötigt um den Kopf wieder auf Lesen umzuschalten (wenn geschrieben wurde) und um genügend Platz zu haben wenn das Laufwerk schneller dreht.

MfG Peter(TOO)