Hallo Besucher, der Thread wurde 2,8k mal aufgerufen und enthält 15 Antworten

letzter Beitrag von Hoogo am

Datasette am Oszilloskop

  • Ich hab ein Oszi an den R/W-Kopf der Datasette angeschlossen und ein paar Experimente gemacht, um einen Eindruck vom Signal zu bekommen und vielleicht besser zu verstehen, was man damit machen kann und was nicht.
    Erwartet hätte ich etwas, das nach Rechteck nach einem Tiefpass aussieht, aber offenbar ist Analog-Technik doch nochmal was ganz anderes.


    Die meisten Testsignale sind aus "Bits" von 22 Takten Länge zusammengesetzt, was der üblichen Sample-Frequenz von 44.100Hz sehr nahe kommt. Ich gehe einfach davon aus, dass eine PC-Soundkarte in der Lage wäre, ein vergleichbares Signal zu erzeugen, könnte mal nützlich werden. Es sind auch sehr einfache Signale, immer die gleichen oberen und unteren Halbwellen zusammengesetzt.


    Hier ist aber alles mit dem C64 und einer Datasette auf einem Typ1-Band aufgenommen und beim Abspielen mit dem Oszi gemessen.

    ------------------------------
    Obere Reihe:
    -Noise: Einfach mal das Oszi an die Datasette gehalten, ohne Play zu drücken. Das Signal dürfte vom Monitor stammen, daher nehme ich 63 Takte für eine ganze Welle an. Komischerweise erkenne ich dieses Rauschen in keinem der anderen Bilder als Überlagerung aus Signal und Rauschen wieder! Das sollte ich nochmal checken.


    -44+44: Das entspricht 11.025 Hz, irgendwo da liegt die maximale Frequenz von Kassetten. Das Signal ist noch da, aber auch nicht lauter als das Rauschen. Imho für ein Turbotape nicht zu gebrauchen.
    -55+55 8.820 Hz, um mal ein Zwischending zu haben. Das wäre so nicht so schön symmetrisch aus der Soundkarte zu ziehen, scheint mir aber schon deutlich genug zu sein.
    -66+66 7.350 Hz, wäre so schön aus einer Soundkarte zu ziehen
    ------------------------------
    Die letzten 3 in der ersten Zeile sind Versuche mit unsymmetrisch zusammengesetzten Signalen.
    Hat mich überrascht, dass das genau wie ein Sinus aussieht, nur der Pegel etwas schwächer wird.
    ------------------------------
    Unterer Reihe:
    -Nichts
    -Das normale Commodore-Tapeformat, einfach irgendwas mit Save gespeichert.
    -Etwas sehr langes. Hab einfach eine Zählschleife bis $40 in das vorhandene Programm eingebaut, daher die komische Zahl.
    -Etwas SEHR langes, Zählschleife bis $00, Oszi entsprechend anders eingestellt. Offenbar geht das Signal von alleine zur Grundlinie zurück, wenn es zu lang wird.
    Die Übergänge zwischen oberer und unterer Hälfte sollten möglichst steil sein, damit diese Stelle möglichst genau gefunden werden kann.
    Selbst das 55er sieht von daher besser aus, und das ganz langsame ist imho nicht mehr für einen Loader zu gebrauchen.


    Und zuletzt: Was das kleine Sample-Programm zeigte, während ich einen Finger am R/W-Kopf hatte. Perfekt ein Impuls je Zeile, da werde ich wohl als Antenne das Monitor-Signal aufgefangen haben.
    ------------------------------
    Was in Zukunft zu messen wäre:
    -Was komplizierteres aus 2 verschiedenen Hälften zusammensetzen, sowas wie 0000 1111 - 000000 11.
    -Mal messen, was während des Schreibens eigentlich anliegt.
    -Nochmal prüfen, ob das mit dem Rauschen stimmt.
    -Was kommt raus, wenn man per Software sehr schnelle Wechsel schreibt, quasi ein Bias nachbastelt.
    -Wie sehen entsprechende Signale aus, die von einem Hifi-Kasettendeck geschrieben wurden.
    -Wie sieht es mit einer Chrome-Kassette aus?
    ------------------------------

  • Direkt am Kopf zu messen ist nicht sehr sinnvoll, da hier der Pegel sehr gering ist, und du da mehr Störsignale misst, als das Eigentliche.
    Besser nach dem Leseverstärker messen, dort hat man dann vernünftigen Pegel.


    EDIT: Und natürlich kann man mit einer Soundkarte solche Signale erzeugen, ist ja ganz normale Audio-Analogtechnik bis 20KHz.

  • Direkt am Kopf zu messen ist nicht sehr sinnvoll, da hier der Pegel sehr gering ist, und du da mehr Störsignale misst, als das Eigentliche. Besser nach dem Leseverstärker messen, dort hat man dann vernünftigen Pegel.


    Aber am Kopf kann auch ich Noob mir sicher sein, das richtige "unverfälschte" Signal zu finden.
    Für das Rauschen auf dem Messgerät selber habe ich das Bild ohne Signal gemacht, und das Rauschen des Monitors sollte ja ebenfalls durch den Verstärker gehen.
    Und praktisch ist es obendrein, schließlich soll ja die Kassette nicht beim Messen rausfallen, und an den Play-Button will man auch mal kommen.

    EDIT: Und natürlich kann man mit einer Soundkarte solche Signale erzeugen, ist ja ganz normale Audio-Analogtechnik bis 20KHz.


    Meine letzten Versuche dazu waren auf Win98. 3 mal konnte ich Wavs für die Datasette abspielen, danach hat sich der Klang verändert, und nichts ging mehr bis zum Reboot.
    Ich kann mir gut vorstellen, dass es mit einer Soundkarte wunderbar funktioniert. Allerdings sehe ich jetzt, dass sich das Analog doch ganz anders darstellt, als ich mir das Digital vorgestellt hatte, und es würde mich nicht wundern, wenn da noch einiges mehr als die reine D/A-Wandlung stattfindet.

  • Ich erinnere mich da an so ein kleines Modülchen am Datasettenport.
    PC hing glaub ich wie immer an der Stereo-Anlage.
    Die Strippe, die sonst zum Kassettendeck ging, hing dann glaub ich an dem Modul.
    Ist aber alles lange her... ?(


    Jedenfalls funktionierte es eine Weile wie erwartet, und es war schon am Klang des PCs zu erkennen, wenn es nicht mehr ging.

  • Ich hatte mich kürzlich auch damit beschäftigt und hatte mit Debian Linux keine Probleme. Es wurde meist Audacity und auch im Terminal aplay verwendet.
    Die ganze Schaltung basiert auf einem LM324.


    Da hat man natürlich das kleine Problem der fehlenden Steuerung der Datasette. Vor dem "Found" muss der Finger auf "C=" sein und man sollte auch zwischenduch wissen, wann das Tape weitere Tasteneingaben zum Weiterladen erwartet. Bei Giana Sisters war da z.B. nochmals ein "Space". Wenn man die Steuerleitungen auswerten und beschalten könnte, würde das Audiosignal nicht ohne Tastendruck weiterlaufen.


    Dieser Ansatz mit AVR und Cardreader als Datasettenersatz ist nicht schlecht: https://github.com/charcole/C64Tape

  • Ich hatte mich kürzlich auch damit beschäftigt und hatte mit Debian Linux keine Probleme. Es wurde meist Audacity und auch im Terminal aplay verwendet.

    Bei meinen Problemen hatte sicher Win98 die Finger im Spiel ;) Dennoch: Die Ausgabe eines selbst gestrickten Tape-Signals will ich sehen! Ist sie auch bis zum Sinus abgerundet? Sieht das Signal aus, als ob da ein "echter" Tiefpass von 44.1kHz das Rechteck durchgekaut hat? Und wer weiß, was sonst noch so im Signal zu entdecken ist...

    Da hat man natürlich das kleine Problem der fehlenden Steuerung der Datasette. Vor dem "Found" muss der Finger auf "C=" sein und man sollte auch zwischenduch wissen, wann das Tape weitere Tasteneingaben zum Weiterladen erwartet. Bei Giana Sisters war da z.B. nochmals ein "Space". Wenn man die Steuerleitungen auswerten und beschalten könnte, würde das Audiosignal nicht ohne Tastendruck weiterlaufen.

    Wenn es nicht zu irgendwas kompatibel sein muss, dann kann man mit einem eigenen Loader und anderer Schaltung am Datasettenport noch tolle Sachen mit einem Audio-Signal machen, aber...

    Dieser Ansatz mit AVR und Cardreader als Datasettenersatz ist nicht schlecht: https://github.com/charcole/C64Tape

    ...es lohnt sich heute nicht mehr. Diese programmierbaren Fingernägel haben das für ernsthafte Zwecke obsolet gemacht. Der Dings hier hat doch auch so ein Modul gebaut.


    Anlass der ganzen Oszi-Orgie war die Frage, wo Tape-Loader ihre Grenze haben, also wie kurz die Signale und wie lang die Pausen werden dürfen, wie schlimm der Jitter werden kann, ob man das Signal bei einem anderen Format invertieren könnte und sowas. Ist also Hauptsächlich ein Thema für das echte, analoge Band.

  • Anlass der ganzen Oszi-Orgie war die Frage, wo Tape-Loader ihre Grenze haben, also wie kurz die Signale und wie lang die Pausen werden dürfen, wie schlimm der Jitter werden kann, ob man das Signal bei einem anderen Format invertieren könnte und sowas. Ist also Hauptsächlich ein Thema für das echte, analoge Band.

    Irgendwann wird man an physikalische Grenzen der analogen Aufzeichnung stossen. Mit den Turbo-Tapes wurde wohl knapp der Faktor 10 in der Beschleunigung erreicht, also fast 700 Bytes in der Sekunde.
    Der einfache Kopf der Datasette ist für Ferrit-Kassetten ausgelegt, dementsprechend sind die wohl die erste Wahl für Experimente. Ich würde einen Fastloader schreiben und danach testen, timer kürzen, wieder schreiben und testen ... etc.


    Irgendwann ist man an dem Punk, an dem Gleichlaufschwankungen in Kombination mit Schreibdichte alles aneinander schreiben. Dann ist man fertig. :)

  • Irgendwann wird man an physikalische Grenzen der analogen Aufzeichnung stossen. Mit den Turbo-Tapes wurde wohl knapp der Faktor 10 in der Beschleunigung erreicht, also fast 700 Bytes in der Sekunde.Der einfache Kopf der Datasette ist für Ferrit-Kassetten ausgelegt, dementsprechend sind die wohl die erste Wahl für Experimente. Ich würde einen Fastloader schreiben und danach testen, timer kürzen, wieder schreiben und testen ... etc.


    Irgendwann ist man an dem Punk, an dem Gleichlaufschwankungen in Kombination mit Schreibdichte alles aneinander schreiben. Dann ist man fertig. :)

    Ja, so hab ich es damals auch gemacht, bin glaub ich bis zum 20fachen gekommen, weiß ich nicht mehr genau.
    Aber hat man mit so einem einfachen Tempo-Erhöhen wirklich alle Möglichkeiten ausgenutzt? Immerhin enthält das IRQ-Signal vom Datasettenport echt nur minimalste Infos, man erfährt nicht mal was über die Längen von Peak und Gap beim Schreiben. Mit dem Oszi sieht man Pegel, Rauschen, die Steilheit der Flanken... Man bekommt einfach viel mehr Idee davon, was Änderungen beim Schreiben bewirken und ob sie das Signal besser oder schlechter machen.

  • Ein erster Nachschlag.
    Ich hab aber recht oft die timebase des Oszis gewechselt, so dass auf den Bildern die schnellen Signale nun breiter aussehen als die langsamen.


    Diesmal hauptsächlich das Signal am R/W-Kopf während des Schreibens gemessen. Das Signal ist 100mal stärker als das, was beim Lesen wieder ankommt. Ich vermute, dass ein Bandpass auf die erste Ableitung des Geschriebenen das Gelesene ergibt.


    Die letzten beiden waren Experimente, ob man mit schnellen Wechseln das gelesene Signal in Form bringen kann. Sieht aber auch wieder nur wie der übliche Sinus aus.


    Unten, was am Datasettenport zu finden ist, nochmal das Rauschen und 2 längere, asymmetrische Signale.

  • Welchen Frequenzgang benötigt eigentlich eine Datasette? Ich habe mal ein Experiment vor, das Gerät kann aber nur bis 8000 Hz.

    Ist keine harte Grenze, mehr so ein schleichender Niedergang. Je höher die Frequenzen, desto schwächer wird das Signal, und irgendwann ist es dann nicht mehr von Rauschen zu unterscheiden.

    Wenn ich meine Bilder von ganz oben noch richtig verstehe:

    Die 44+44 mit 11 kHz sind so verwaschen, dass ich mit dem Auge den Durchgang nicht mehr sicher bestimmen kann.
    Die 55+55 Cycles entsprechen knapp 9 kHz, und der Durchgang durch die Null-Linie kommt noch steil genug, dass man den Zeitpunkt gut bestimmen kann.

    Mit 8 kHz bist Du imho deutlich auf der sicheren Seite.

  • Ok. Und wie sieht es bei Turbotape aus? Benötigt das einen höheren Freuqenzgang?


    Wie sieht es eigentlich mit den 5V aus? Es sind ja auch oft 6V angegeben. Stehen die immer zur Verfügung oder können die vom Rechner aus abgeschaltet werden?

    Bei einem Gerät, daß selbst eine 5V-Spannungsversorgung zur Verfügung stellt, sollte also ein fünfpoliger DIN-Stecker für den Anschluß reichen.

    Es wäre dann höchstens sinnvoll, über einen Vierfach-Optokoppler eine Potentialtrennung durchzuführen.


    Hat schon mal jemand bei der Datasette mit Rauschunterdrückungen experimentiert? Meine bevorzugte Rauschunterdrückung ist dbx. Das komprimiert ein Signal auf etwa 50% der Originalgröße

    und kann es auf 110% des Originalsignals expandieren. Auf Chromdioxidband erreicht man mit dbx einen Rauschabstand von 92 dB. Eine CD hat 96, also ist das echt ein guter Wert.

    Es gab zeitweise auch sogenannte 'dbx discs', das waren spezielle Schallplatten, die mit dbx vorcodiert gepreßt wurden. Zusätzlich wurde meist auch hochwertiges Vinyl verwendet.

    Man benötigte dann einen externen dbx-Decoder. dbx-Schallplatten haben eine ausgesprochen gute Qualität ohne Knackser und allem. Techmoan hat mal ein Video darüber gemacht.

  • Ok. Und wie sieht es bei Turbotape aus? Benötigt das einen höheren Freuqenzgang?

    Ich weiß jetzt nicht so ganz, was Du mit Frequenzgang meinst...


    Du hast da ein Gerät, dass bis 8 kHz kann.... Aufzeichnen oder Abspielen? Sample-Rate oder nutzbare Frequenz?

    Willst Du es an die Datasette anschließen? Wenn ja: A) Um von einem Tape was zu sampeln, oder B) um was aufs Band zu schreiben?

    Oder willst Du es an den C64 anschließen? Wenn ja: C) Um zu samplen, was der SAVE-Befehl o.Ä. aus dem C64 rausschickt, oder D) um als Ersatzgerät für eine Datasette was in den C64 zu schieben?


    Da Du von Experimenten mit Rauschunterdrückung sprichst nehme ich an, dass Du da ein "Ding" an den C64 hängen willst.

    Soundqualität und Rauschabstand sind da ziemlich egal. Was der C64 digital rausschreibt ist quasi brüllend übersteuert, und was Du auf den ersten Bildern an Sinus-Kurven siehst ist das, was davon beim Abspielen vom Band zurückkommt.

  • Ja ich habe ein interessantes 'Ding'. Die Aufzeichnung ist komplett analog, da wird nichts gesamplet. Allerdings ist die Tonqualität ziemlich mau

    und man kann auch technisch bedingt kaum aussteuern. Da kann dbx vermutlich weiterhelfen, denn da das System den Audioinhalt um die

    Hälfte komprimiert, hat man mehr Spielraum bei der Aufnahme. Bei einem Tapedeck kann man mit dbx 3 dB lauter aussteuern. Besonders

    mit Metallband kann man so echt gute Qualität bekommen. Der Nachteil von dbx: Ohne Decoder kann man es sich nicht anhören. Aber das

    gilt auch für andere effektive Rauschunterdrückungen wie High Com. Auch Aufnahmen mit Dolby C hören sich ohne Decoder nicht gut an.

    Dolby S habe ich bisher noch nie getestet. Das hat sich nicht mehr richtig durchgesetzt, da es erst gegen Ende der Tapedeck-Zeit kam.

    dbx findet man in sehr vielen Tapedecks von Technics, die meisten haben den AN6291-Schaltkreis, den man günstig bekommen kann.


    Für eine Datasette wäre dieses 'Ding' äußerst praktisch. Da ich sowieso daran basteln will, soll es einen zusätzlichen 'Datasette'-Modus geben,

    der Pegel usw. festlegt. Auch die Motorsteuerung soll natürlich vom C64 übernommen werden. Ich habe selbst nie etwas mit Datasette gemacht,

    hatte von Beginn an eine 1541c. Aber mein erster C64 hat intern immer noch kein JiffyDOS, also sollte eine Datasette ja daran funktionieren.

  • OK, dann hab ich eine Vorstellung, was Du willst.


    C64 an Tapedeck anzuschließen war in den 80ern nicht total exotisch, Bauanleitung für so einen Adapter dürften leicht zu finden und an Dein Ding anzupassen sein.

    Die Datasette ist ganz simple Technik für einfache Ferro-Tapes, und auch die Signalverarbeitung muss nicht wie bei Audio schöne Kurven reproduzieren.


    Schau Dir die Kurven aus dem ersten Beitrag an: Immer wenn eine fallende Flanke durch die Grundlinie geht, dann bekommt der C64 ein Ping. Der C64 kann nur die Zeit zwischen den Pings messen, und damit muss man seinen Loader programmieren. Das ist alles, der ganze Rest ist egal! Ich denke nicht, dass da irgendein Dolby was dran besser machen kann. Auch gutes Aussteuern dürfte keine Rolle spielen. Der C64 schickt nur 0 und 1 raus, und genauso radikal geht es an den Schreibkopf.


    Eine echte Grenze von 8 kHz könnte für die aktuellen Rekord-Tapeloader knapp sein, aber für die normalen, alten Turbotapes reicht das dicke.