Rekonstruktion von Teletextseiten von Bändern

Kürzlich habe ich eine Kiste mit alten Compaktkassetten mit BTX-Daten der BTX-Agentur „GG-Design“ bekommen.

Auf github gibt es jetzt auch ein Repository mit den Daten die bislang rekonstruiert wurden. Dort liegt auch eine meta.yml Datei mit Metadaten, aus denen man dann zukünftig neuere Dinge ableiten könnte. Pull-Requests sind willkommen.

New Update on the V.23 decoder

There’s a new update on the v.23 decoder, there was a major bug on the demodulation routine.

There is a script process_wav_to_data.sh It takes an audio file as the first parameter. It will try to decode the v23 data and split it into files based on pauses in between. Those files will be packed into a zip archive which will be stored next to the audio file.

If you have the bildschirmtext decoder https://github.com/bildschirmtext/bildschirmtext installed next to it, it will also generate preview images.

https://github.com/Casandro/v23_tape_recovery

Der Grundig BT 1000 Video- Bildschirmtext Dekoder

Der BT-1000 ist ein kombinierter Videotext und Bildschirmtext Dekoder.

Hauptgerät
Einschubmodul das in das Fernsehgerät geschoben wird

Da dieses Gerät aus dem Versuchsbetrieb ist, ist es noch ein Prestel Gerät. Laut einem Werbeprospekt wurde nur eine „begrenzte Zahl“ dieser Dekoder gebaut, „über die inzwischen verfügt wurde“.

Was ist da also drin?

Blick auf das Gerät von oben mit beschrifteten ICs

Oben sieht man das Netzteil und die Anschlüsse. Darunter ist die breite Hauptplatine. Auf der rechten Seite ist der SAA50xx Chipsatz für Videotext. Auf der linken Seite ist ein kleines 8053 System mit 2 Kibibytes ROM für die Software. Was ungewöhnlich ist, ist dass da ein UART IC drin ist.

Ansicht des Gerätes von unten

Von unten sieht man oben das Netzteil sowie die gelbe „Interface-Platte“ und rechts eine kleine Platine die vermutlich die Verbindung zum Bandlaufwerk dar stellt.

Die „Interface-Platte“ enthält 2 Kibibytes an EPROM, und einige Schieberegister. Einen Mikrocontroller konnte ich da noch nicht finden.

So bald ich mal wieder Zeit habe untersuche ich das Gerät mal genauer.

Einige Aspekte des BTL Formates

Beim Abgleichen der BTL-Dateien mit der Batch-Download-Spezifikation (FTZ 157 D2 BULK) habe ich festgestellt, dass beide identisch sind.

Es ist wirklich so, dass jeder 2048-Byte Block genau eine Seite enthält. Seitenzahlen werden in einem modifizierten BCD-Format gespeichert. Dabei wird jede Ziffer um eins erhöht. Die Null ist das Endezeichen.

Seiten haben einen Bereich für die „Dekoderinformationen“ und den „Aufbaucode“ auch noch die Daten der ersten und letzten Zeile. Außerdem können auch noch Felder definiert werden, wohl für „Dialogseiten“. Seiten können auch andere Mutterseiten mit einbinden. Die Auswahlmöglichkeiten sind auch in diesen 2048 Bytes enthalten.

BTX-Flut Setup auf dem DIVOC

Da dieses Jahr das Easterhack auf Grund von COVID 19 ausfiel, gab es als Ersatz den virtuellen Kongress DIVOC, das „DIgital Verteiltes Online Chaos“.

Dazu gab es ein BTX-Terminal mit dem jeder spielen konnte. Um die Schwelle dafür möglichst klein zu machen ist die Schnittstelle zum Hacker ganz einfach UDP. Ein kleines Programm nimmt die UDP-Pakete entgegen, limitiert die Datenmenge auf 120 Zeichen pro Sekunde. Ein Multitel-21 mit dem Raspberry Pi D-BT-03 Emulator bekommt die Daten und stellt sie dar. Das Bild wird dann von einer Webcam gefilmt und über ein Jitsi-Meet verbreitet.

Hardware in meinem Wohnzimmer. Wichtig ist, dass das Badetuch möglichst nicht die Lüftungsschlitze bedeckt.
So sah das im Stream aus.

Auf zukünftigen (virtuellen) Events könnte man das noch professioneller machen. Zum Beispiel könnte man mit einem besseren Framegrabber den Stream direkt erzeugen, oder das Ergebnis als Projektion irgendwohin werfen.

(Update) Seit Veröfentlichung des Artikels haben jetzt auch einige Leute ihren Code dazu veröffentlicht. https://github.com/Eigenbaukombinat/btxfltclnt

(Update 2) Ich hab noch ein den Code des Servers und ein paar Demos veröffentlicht. https://github.com/bildschirmtext/btx_flut Ich freue mich über Beiträge.

Der neue DBT-03 Emulator

In letzter Zeit wurde der Raspberry PI basierte DBT-03 Emulator fertig.

Jetzt ist man nicht mehr auf wackliges WLAN angewiesen. Man kann jetzt im Prinzip sogar die Serversoftware direkt auf dem Gerät ausführen.

Das Projekt findet man auf Github https://github.com/bildschirmtext/rpi-dbt03 Platinen kann man im 3-er Pack von Aisler fertigen lassen. https://aisler.net/p/KISJVUNX0 Falls jemand mehr davon fertigen lässt wäre ein Austauschprogramm nett.

Die Schaltung hat jetzt auch Optokoppler drin, so dass das Terminal potentialfrei angebunden werden kann. In der Schaltung ist aber ein 1 Megaohm Widerstand um statische Aufladungen abzuleiten.

Der Mikrocontroller ein ATMega8L wird über SPI angesprochen. Im Prinzip empfängt der Befehlt vom Raspberry PI und antwortet darauf. Der ATMega wickelt den UART zum Terminal in Software ab. Dafür läuft mit 1200 Hz eine ISR. Die selbe ISR erzeugt auch die ganzen Töne. Das Protokoll ist im Repository dokumentiert. Einzelne Details muss man da aber noch aktualisieren. Im Repository ist auch die Firmware drin, inklusive einem Makefile welches auch gleich den Mikrocontroller flasht. Dazu ist es aber meistens notwendig in /etc/avrdude.conf die Geschwindigkeit des verwendeten „Linux-SPI“ Programmers zu reduzieren. Unprogrammierte ATMegas laufen nur mit 1 MHz über den internen RC-Oszillator weshalb die Programmierung langsamer laufen muss. Später geht das dann auch schneller.