[ Zu JKCEMU ]


JKCEMU - Programme und Dateien von Kassette laden

JKCEMU emuliert hauptsächlich DDR-Computer, die früher im Original einen Kassettenrecorder als Massenspeicher verwendeten. Da JKCEMU auch den Anschluss für den Kassettenrecorder emulieren kann, lassen sich auf Kassette aufgenommene Programme und Dateien direkt in den Emulator einlesen. Allerdings gibt es einige Dinge zu beachten, die durchaus auch Stolpersteine sein können:
Beim ersten Punkt, gealterte Kassetten, habe ich persönlich überwiegend positive Erfahrungen. Meine alten Kassettenaufzeichnungen von vor 30 Jahren lassen sich, stichprobenartig getestet, meistens noch problemlos einlesen.

Problematischer ist wohl der zweite Punkt. Mein alter Kassettenrecorder aus DDR-Zeiten, ein Geracord GC 6020, damals ein solides Teil, habe ich vor Jahren entsorgt, da er zum Schluss zu schlimm geleiert hatte und nicht mehr zu gebrauchen war. Anfang der 2000er Jahre kaufte ich mir als Ersatz einen sehr einfachen westlichen Mono-Kassettenrecorder. Dieser gibt zwar ziemlich viele Störgeräsche von sich, aber der Gleichlauf ist noch so gut, dass sich damit meine alten Kassetten einlesen lassen.

Bei den ersten beiden Punkten, gealterte Kassetten und funktionsfähiger Kassettenrecorder, kann ich dem Leser leider nicht helfen, aber auf die weiteren Punkte gehe ich detaillierter ein. Zum Schluss gibt es ein Demonstrationsvideo.

1. Kassettenrecorder mit PC bzw. Laptop verbinden

Die Audio-Anschlüsse am PC bzw. Laptop sind üblicherweise 3,5''-Klinkenbuchsen. DDR-Kassettenrecorder haben dagegen eine DIN-Buchse. Man benötigt also ein Adapterkabel. Ich hatte mir vor Jahren mal zwei passende Kabel gekauft: DIN auf Chinch (Bild 1) und Chinch auf Klinke (Bild 2) . Damit lässt sich ein DDR-Kassettenrecorder an einen heutigen PC bzw. Laptop anschließen.

Adapterkabel DIN - Chinch
Bild 1: Adapterkabel DIN - Chinch
   Adapterkabel Chinch - Klinke
Bild 2: Adapterkabel Chinch - 3,5''-Klinke

Westliche Kassettenrecorder bieten meistens nur eine 3,5''-Klinkenbuchse als Kopfhöreranschluss. Hier benötigt man ein handelsübliches Kabel mit zwei Klinkensteckern.

Adapterkabel Chinch - Klinke
Bild 3: Kabel mit zwei 3,5''-Klinkenstecker

Ein Nachteil der Benutzung des Kopfhörerausgangs ist allerdings, dass der Lautsprecher abgeschaltet wird und man nichts mehr hört. Dieses Problem lässt sich jedoch folgendermaßen umgehen: Entweder man positioniert zuerst das Band, stoppt den Kassettenrecorder und steckt erst dann den Stecker in die Kopfhörerbuchse hinein (so mache ich es unten im Video) oder man kauft sich ein Anschlusskabel bzw. Adapter für zwei Kopfhörer (Bild 4) und schließt damit den Computer und einen Kopfhörer parallel an den Kassettenrecorder an und hört über diesen Kopfhörer mit.

Anschlusskabel für zwei Kopfhörern
Bild 4: Kabel zum Anschluss von zwei Kopfhörern

1.1. Kombinierter Kopfhörer- und Mikrofonanschluss

Früher hatte ein PC separate Anschlüsse für Kopfhörer / Line-Out (grün), Line-In (blau) und Mikrofon (rosa). Heute haben Laptops und Notebooks meistens nur noch eine vierpolige (TRRS) Audiobuchse mit einem kombinierten Anschluss für Kopfhörer / Line-Out (Stereo) und Mikrofon (Mono). Für diese Buchse gibt es zwei Anschlussbelegungen (CTIA und OMTP, siehe Wikipedia-Artikel zum Klinkenstecker). Aktuelle Laptops und Notebooks bekannter Hersteller verwenden üblicherweise die CTIA-Anschlussbelegung. Bei dieser liegt Masse am zweiten Ring und das Mikrofonsignal am Schaft:

Abkürzung Englisch Deutsch Bedeutung
T
R
R
S
Tip
Ring
Ring
Sleeve
Spitze
Ring
Ring
Schaft
Kopfhörer / Line-Out links
Kopfhörer / Line-Out rechts
Masse
Mikrofon
Tabelle 1: CTIA-Anschlussbelegung

Schließt man hier nun ein Mikrofon oder eine andere Tonquelle mit einem gewöhnlichen Klinkenstecker an, geht in der Buchse das Tonsignal auf den linken Ausgang und nicht auf den Mikrofoneingang. Man benötigt also ein spezielles Adapterkabel, welches die beiden Teilanschlüsse der kombinierten Audiobuchse auf zwei separate Anschlussbuchsen legt (Bild 5).

Adapterkabel für getrennten Kopfhörer- und Mikrofonanschluss
Bild 5: Adapterkabel für getrennten Kopfhörer- und Mikrofonanschluss

Man beachte den Unterschied zum Kabel in Bild 4! Dort ist der Stecker dreipolig (TRS) und hier vierpolig (TRRS).

1.1.1. Umschaltbare Anschlussbuchse

Bei manchen Geräten ist die Anschlussbelegung der Audiobuchse umschaltbar. Steckt man einen Klinkenstecker hinein, erscheint im Windows (nicht bei allen Geräten!) ein Auswahldialog (Bild 6). Wählt man hier nun Mikrofon aus, kann man das Mikrofon oder in unserem Fall den Kassettenrecorder direkt ohne Adapterkabel anschließen.

Auswhldialog für angeschlossenes Audiogerät unter Windows 10
Bild 6: Auswahldialog für angeschlossenes Audiogerät unter Windows 10

Erscheint kein solcher Dialog, muss ein Adapterkabel verwendet werden!

1.1.2. Wenn weder Adapaterkabel funktionert noch Umschaltdialog erscheint

Wie man den Kassettenrecorder anschließt, wurde nun beschrieben. Doch was ist, wenn man auf dem PC bzw. Laptop trotzdem nichts aufnehmen kann? Das ist nämlich auf unserem Familien-Laptop der Fall. Auf diesem sind Windows 10 und Linux (openSUSE Leap) installiert (siehe Erfahrungsbericht: Dual-Boot-Installation openSUSE Leap 42.2 und Windows 10 ). Das Linux wurde inzwischen auf openSUSE Leap 15.2 aktualisiert.

Schließe ich unter Windows ein Audiogerät an, erscheint kein Auswahldialog. Ich verwende also das Adapterkabel. Und nun die Überraschung: Trotz eingestecktem Audiostecker wird das interne Mikrofon nicht abgeschaltet. In den Audio-Einstellungen sehe ich auch nur das interne Mikrofon als einzige Audioquelle.

Unter Linux das gleiche: Auf unserem Familien-Laptop scheint man nur vom internen Mikrofon aufnehmen zu können.

Ich habe daraufhin mal auf zwei anderen Notebooks versucht, von einem externen Gerät aufzunehmen. Bei einem erscheint der Auswahldialog (das ist der Screenshot im Bild 6), sobald ich den Stecker hineinstecke. Dort konnte ich problemlos vom Kassettenrecorder Programme und Dateien direkt in JKCEMU einlesen. Auf dem anderen Nootebook dagegen das gleiche Verhalten wie auf unserem Familien-Laptop: Aufnahme von an der Audiobuchse angeschlossenen Geräten offensichtlich nicht möglich. Auch der im Betriebssystem (Windows 7) enthaltenen Audiorecorder hat immer nur vom eingebauten Mikrofon aufgenommen, unabhängig davon, ob in der Audiobuchse ein Stecker steckte oder nicht. Ich habe daraufhin auf den problematischen Laptops das aktuelle Knoppix-Linux als Live-System gestartet und auch hier das gleiche.

Ich weiß nicht, ob nur ein Treiber fehlt, ich etwas falsch gemacht habe oder diese Notebooks die Aufnahme von an der Audiobuchse angeschlossenen Geräten tatsächlich nicht unterstützen. Weitere Computer habe ich leider nicht verfügbar und kann deshalb keine breiter gefächerten Tests durchfüren. Wie auch immer, da ich nicht weiter kam, habe ich mich um Alternativen umgesehen und auch eine gefunden: USB-Audioadapter

1.2. USB-Audioadapter

Eine andere Möglichkeit zum Anschluss des Kassettenrecorders an den Laptop ist die Verwendung eines USB-Audioadapters. Solche gibt es bereits für unter 10 Euro und sind damit kaum teurer als ein CTIA-Adapterkabel. So ein USB-Audioadapter hat nebenbei den Vorteil, dass man auch dann noch Audiogeräte am PC bzw. Laptop anschließen kann, wenn die Audiobuchse defekt ist. Mir ist es nämlich schon passiert, dass beim Herausziehen des Klinkensteckers die Spitze in der Buchse steckengeblieben ist und nicht mehr herauszubekommen war. Nicht nur dass dann der Klinkenstecker kaputt ist, man kann auch keine Audiogeräte mehr direkt an den PC oder Laptop anschließen.

Wichtig! Wer den USB-Audioadapter unter Linux nutzen möchte, muss natürlich beim Kauf darauf achten, dass dieser auch von Linux unterstützt wird.

USB-Audioadapter
Bild 7: USB-Audioadapter
   Anschlüsse des USB-Audioadapters
Bild 8: Anschlüsse des USB-Audioadapters

Der von mir gekaufte USB-Audioadapter (LogiLink® UA0053, Chipsatz C-Media CM108) funktioniert unter Window 10 und Linux (openSUSE Leap 42.2 sowie 15.2) problemlos. Unter Windows ist dieser Adapter als USB PnP Sound Device und unter Linux im Betriebssystem als CM 108 Audio Controller und im JKCEMU als Device [plughw:1,0] (sofern es sich um das erste externe Audiogerät handelt) zu sehen.

2. Audioeingang im Betriebssystem aufregeln

Im Windows 10 klickt man mit der rechten Maustaste rechts unten auf das Lautsprechersymbol. Es erscheint ein Menü. In diesem bitte den Eintrag Sound-Einstellungen öffnen aufrufen. In den Sound-Einstellungen dann nach unten scrollen zum Bereich Eingabe. Dort wählt man zuerst das entsprechende Eingabegerät aus und klickt dann auf Geräteeigenschaften, um an den zugehörigen Lautstärkeregler für den Eingangspegel zu kommen. Gegebenfalls muss auch bei Mikrofon - Datenschutzeinstellungen das Mikrofon aktiviert und der Java-Laufzeitumgebung Zugriff auf das Mikrofon erteilt werden.

Unter Linux können sich die Audioeinstellungen zwischen den verschiedenen Distributionen und Fenster-Managern unterscheiden. Aber mit einem linken oder rechten Maus-Click auf das Lautsprechersymbol rechts unten sollte man in die Sound-Einstellungen kommen. Im Video unten ist zu sehen, wie das in openSUSE Leap 15.2 mit dem Fenster-Manager Xfce geht.

Der Pegel sollte so hoch sein, dass die Aufnahme leicht bis deutlich übersteuert ist. Dabei ist es besser, mit einem höheren Pegel am PC bzw. Laptop anzukommen und den Regler für den Eingangspegel nur etwas zu öffnen, statt bei zu niedrigem Eingangsegel den Regler voll aufregeln zu müssen. Zur Kontrolle des beim Emulator ankommenden Pegels lässt sich der JKCEMU-Audiorecorder gut nutzen.

3. Schritte im JKCEMU

Es muss die Emulation der eingangsseitigen Kassettenrecorderschnittstelle aktiviert werden. Dazu klickt man entweder auf das Notensymbol in der JKCEMU-Werkzeugleiste (siehe Video unten) oder man wählt den Menüeintrag ExtraAudio/Kassette.... In dem sich öffnenden Fenster wählt man nun den linken Reiter Eingang Kassette aus und aktiviert die Audiofunktion Audiodaten vom Sound-System lesen (z.B. Mikrofon- oder Line-In-Anschluss. Hat man mehrere Audiogeräte am Computer eingebaut oder angeschlossen, muss man vorher das richtige Gerät auswählen.

Achtung! Mir ist aufgefallen, dass unter Linux sich kein Audiokanal öffnen lässt, wenn der Mixer bzw. Tonmischer geöffnet ist. Aus diesem Grund schließe ich im Video den Tonmischer wieder, bevor ich JKCEMU starte. Ob dieses Verhalten bei allen Linux-Installationen auftritt, weiß ich nicht. Auch weiß ich nicht, warum die Java-Laufzeitumgebung in dem Fall keinen Audiokanal öffnen kann. Das liegt außerhalb meines Einflussbereichs. Unter Windows ist mir ein solches Verhalten noch nicht aufgefallen.

Hat man die Audiofunktion aktiviert und es liegt noch kein richtiges Audiosignal an, springt die Pegelanzeige zwischen Null und dem Maximum hin- und her. Das liegt daran, dass der Emulator aufgrund der Frequenzmodulation der Kassettenaufzeichnungen versucht, die Nulldurchgänge zu erkennen und deshalb (vereinfacht ausgedrückt) das Signal entsprechend verstärkt.

Hat man bis hierher alles geschafft, muss nur noch in dem im Emulator laufenden System das Kommando zum Einlesen von Kassette aufgerufen und die Wiedergabe am Kassettenrecorder gestartet werden.

4. Demonstrationsvideo

Das Einlesen von Kassette habe ich beispielhaft in einem Video festgehalten. Auf dem Laptop läuft openSUSE Leap 15.2 mit dem Fenstermanager XFce und dem Theme Kontrast. Im JKCEMU 0.9.7 habe ich die Emulation des Z1013.64 mit Brosig-Monitor eingestellt und diese Einstellung im Profil standard gespeichert, so dass der Emulator gleich mit diesen Einstellungen startet. Der Kassettenrecorder ist über einen USB-Audioadapter angeschlossen, da die Aufnahme über die eingebaute Audiobuchse auf diesem Laptop nicht funktioniert, auch nicht unter Windows. Der USB-Audioadapter wird im JKCEMU als Device [plughw:1,0] angezeigt und muss ausgewählt werden.

Demonstrationsvideo:


Sollte die Wiedergabe nicht möglich sein, können Sie das Video hier herunterladen (61 MByte): load_from_cassette.mp4

5. Abschließende Bemerkungen

JKCEMU ist ein Emulator und emulieren bedeutet nachahmen. Es werden also alte Computer auf aktuellen Systemen nachgeahmt. Eine Nachahmung kommt nur ein gutes Stück weit an das Original heran, erreicht es aber nicht. Und so ist es auch mit der Kassettenschnittstelle. Die damals zur Anwendung gekommenen Kassettenaufzeichnungsverfahren sind für die damaligen technischen Möglichkeiten im Comsumer-Bereich entwickelt worden. Und die Hardware auf Computer-Seite zum Einlesen von Kassettenaufzeichnungen wurde auf die damaligen Kassettenrecorder abgestimmt. Die heutige Hardware sieht anderes aus, auch im Audiobereich: andere Stecker, andere Spannungen, andere Impedanzen. Auf all das hat JKCEMU keinen Einfluss, auch nicht auf die Analog-Digital-Wandlung des Audiosignals, denn die übernimmt der PC bzw. Laptop, auf dem der Emulator läuft. Erst beim digitalisierten Audiosignal kommt JKCEMU ins Spiel und versucht daraus das nachzuahmen, was die Kassetteneingangsstufe der damaligen Heimcomputer getan haben.

Aus all diesen Gründen kann nicht garantiert werden, dass jede Kassettenaufzeichnung, die sich in einen originalen Computer einlesen lässt, auch in JKCEMU einzulesen geht!

Die Praxis zeigt, es kommt meistens auf die richtige Hardware (ggf. USB-Audioadapter) und auf den richtigen Pegel an. Da hilft nur Geduld haben und immer wieder mit leicht geändertem Pegel erneut probieren. Sollte trotz aller Versuche das Laden von Kassette nicht klappen wollen, kann ich ehrlich gesagt auch nicht weiter helfen außer die Tipps zu geben, die hier auf der Seite schon stehen. Es gibt aber genügend Beispiele, bei denen das Einlesen von Kassette in den Emulator funktioniert hat. Eins dieser Beispiele, welches am Anfang nicht klappen wollte und am Ende mit viel Geduld doch erfolgreich war, kann man hier nachlesen (siehe Beiträge von wolle1945): https://www.robotrontechnik.de/html/forum/thwb/showtopic.php?threadid=17982

Ich wünsche viel Erfolg!
Jens Müller

© 2020 Jens Müller