 Wer von euch im Publikum kennt noch den Bildschirmtext, bitte mal aufzeigen. Und wer von euch kennt noch den BTX-Hack vom CCC? Sehr schön, wir haben hier also ein Fachpublikum sitzen für einen Fachvortrag. Und der Vortrag, das ist Christian Berger, Christian Berger ist Elektro-Ingenieur der Nachrichtentechnik und das aus Leidenschaft und seine besondere Vorliebe gilt Antikentechnologien, wie etwa den Bildschirmtext. Und in diesem Vortrag wird er euch gleich erklären, wie das Ganze damals funktioniert hat und was für Aspekte dieser Technologie man vielleicht für ein Web-Service wiederverwenden kann. Dann gibt es euch einen Applaus bitte für Christian Berger. So, also guten Morgen erstmal. Der Vortrag ist zugegeben etwas radikaler, also er geht von der Grundlagen aus, getreut dem Motto Refreshing Memories. Beschreibe ich hierbei quasi die Dinge, die nicht in den Standarddokumenten drinstehen, sodass man quasi mal die Grundlagen hat. Ich kann da aber bis er schneller darüber eingehen. Also erst mal die absoluten Grundlagen, wie nähere Daten. Man hat immer zwei Zustände, 1 und 0, die es dann irgendwie darstellt. Bei BTX in dem Fall, da das traditionell über ein FSK-Modem geht, wird das über eine Tonhöhe, also über die Frequenz von einem Ton beschrieben. Und da gibt es ihm zwei Kanäle. Der eine Kanal, der vorwärtskanal, der hat 1200 bits pro Sekunde und der Backward-Kanal hat 75 bits pro Sekunde. Um da jetzt genau zu sagen, wann gilt der Zustand, verwendet man bei BTX die asynchrone Datenübertragung, sprich man lässt es quasi immer in Zustand 1 und wenn man was schicken will, wechselt man in den Zustand 0 und das ist quasi der Beginn des sogenannten Startbits und man weiß dann, wann die nächsten Bits anfangen und enden. Und somit kann man eben zum Beispiel acht Bits übertragen bei BTX und dann ein Stopbit übertragen, sodass die Hardware dann auch noch feststellen kann, ob nicht vielleicht irgendwie ein Fehler passiert ist oder und auch Zeit hat, um das weiter zu verarbeiten. Genau. Damit wir das effizienter schreiben können, tun wir einfach vier Bits in ein Hexadezimalzeichen. Das ist auch wichtig, wenn man die Standards verstehen möchte, da ist es nämlich immer quasi in vier Bitgruppen bzw. Hexadezimalzahlen untergliedert, damit man es versteht. Man möchte jetzt natürlich nicht nur Zahlen oder einzelne Bits übertragen, sondern Buchstaben oder Texte. Dafür gibt es den ASCII-Code, der hier in den Spalten 2 bis 7 druckbare Zeichen hat, also Buchstaben, Zahlen, Sonderzeichen und hier in den ersten beiden Spalten links spezielle Steuerzeichen, die eine besondere Bedeutung haben und eben je nach Standard, der dann drüber liegt, unterschiedlich benutzt werden. Und bei BTX wird zum Beispiel schon mal direkt über der Modemschicht eine Fehlerkorrektur gemacht, sprich man überträgt die Daten bzw. man teilt die Daten in Blöcke ein, setzt davor ein STX-Zeichen, dahinter ein ETX-Zeichen, sodass man weiß, wo der Beginn notendet, dann überträgt man eine Prüfsumme und das Terminal bestätigt das dann. Die Idee dahinter ist, wenn bei der Übertragung ein Fehler passiert, dann kann das Terminal sagen, nack, es hat Fehler passiert, dann kann der Zentralrechner quasi die Daten noch mal schicken und somit kriegt man auch über schlechtere Verbindungen eine fehlerfreie Verbindung. Das ist vor allen Dingen jetzt auch bei voice over IP wichtig, weil da kann manchmal sein, dass wenn der Takt vom ATA und der Takt vom Zentralrechner auseinanderdriften, dann sind irgendwann mal zu wenig oder zu viele Samples drin und dann muss er entweder stille einfügen oder Samples wegwerfen. Und das gibt natürlich dann Bitfehler und deswegen ist es heute da relativ wichtig, dass es drin ist. Zur Not geht es im Laden auch ohne, aber ist schon besser mit. Genau, dann die grundlegende Sache. Manche kennen ja vielleicht so Web Services, so traditionelle, bzw. das World Wide Web. Da ist es so, da wird ein Dokument komplett übertragen und dann durch den kleinen dargestellt. Ein Terminal hingegen hat eine ganz andere, hat einen ganz anderen Gedanken dahinter. Man hat quasi ein Dokument, zum Beispiel traditionell ein Blatt Papier und man schickt dann Befehle an das Terminal, quasi zum Beispiel an Zeichen A und das Terminal drückt dann auf dieses Dokument ein A. Dadurch ist es sehr einfach, Änderungen an dem Dokument durchzuführen. Das ist für Anwendungen sehr praktisch. Kann man damit sehr leicht machen, wenn man im Web zum Beispiel eine komplette HTML-Seite noch mal übertragen müsste, nach der reinen Lehre, auch wenn man jetzt irgendwie nur ein Zeichen ändern wollte. Jetzt, wie schaut dieses Dokument aus? Als man ursprünglich begonnen hat, mit der Idee, Bildschirmtext zu machen, war RAM noch extrem teuer, deswegen hat man sich überlegt, nimmt man doch sieben Bit pro Zeichen, das geht dann, das gab es schon entsprechende Chips, die genügend Speicher hatten und man wollte aber trotzdem farbige Grafiken haben, bzw. farbigen Text. Deswegen hat man sich überlegt, man sieht hier, die Wörter und dazwischen sind Steuerzeichen. Jedes Steuerzeichen belegt einen Platz im Bildschirmspeicher bzw. eine Zeichenposition. Da man de facto eh jetzt ein Wort vielleicht in einer Farbe haben möchte oder zum Beispiel ein Wort in doppelter Höhe oder blinken machen möchte, blinken sieht man jetzt hier natürlich nicht, ist es keine große Einschränkung und das ist tatsächlich auch das, was im Videotext auch heute noch verwendet wird. Ursprünglich war auch der Gedanke, dass man an den schon vorhandenen Videotextekode im Fernsehgerät quasi noch ein Mikroprozessor und ein Modem dran hängt, um damit dann Bildschirmtext zu machen, was natürlich die Kosten und die Verbreitung enorm beflügelt hätte. Minitel macht es meines Wissens nach auch so, also mit dem einfachen Verfahren. Genau, aber man hat festgestellt, also gut, bei Videotext muss man quasi immer eine komplette Seite übertragen. Das ist natürlich jetzt, wenn man nur 1200 bits pro Sekunde hat, eine relativ mühselige Sache. Deswegen gibt es Körsersteuerzeichen. Es gibt da immer einen gedachten Körser, den kann man bewegen, in dem Fall auch links, rechts, oben, unten. Man kann die Bildschirm komplett löschen. Man kann ganz nach links gehen auf der Zeile und man kann zu einer bestimmten Position gehen. Damit kann man sehr effizient dann eben bestimmte Bereiche vom Bildschirm aktualisieren, ohne den Rest zu ändern. Aber jetzt kamen plötzlich die 80er Jahre auf. Arbeitsspeicher war relativ, es ist billiger geworden und es war absehbar, dass Arbeitsspeicher billiger wird. Das heißt, man hat sich dann leisten können, nicht nur 7-bit pro Zeichen zu verwenden, sondern 32-bit. Damit kann man dann für jedes Zeichen einzeln die Farbe bestimmen, auch die Hintergrundfarbe. Man kann benutzerdefinierte Zeichen machen, also extra noch mal Zeichen, die man bediebig definieren kann, um Grafiken zu machen. Man kann auch die Größe einstellen. Dann kam auch die Laserdisc auf, so als ewig futuristisches Medium. Man dachte sich damals, dass man vielleicht einen Laserdisc Player an den Bildschirm-Text-Decoder anschließt und wenn man dann im Toller Versandhaus einbestellt, kriegt man anstelle vom Katalog eine Laserdisc, die legt man ein. Man wählt sich dann in BTX ein und sieht dann quasi die Preise und die Produktbeschreibungen, die kommen über die Telefonleitungen, aber die Bilder im Hintergrund kommen quasi von der Laserdisc. Oder die nächste Stufe dann, wenn der Glasfaserausbau Mitte der 90er Jahre fertig ist. Ja, damals war man noch optimistisch und damals gab es auch noch keinen Schwarzschilling. Damals, also dann war eben auch der Gedanke, dass man vielleicht sogar komplette Hintergrund-Videos überträgt. Weil es war damals schon dafür ausgelegt, dass man Video überträgt mit 280 Megabit Downstream, 140 Megabit Upstream und da kann man natürlich ein Video-Signal einfach übertragen, das dann von der Zentrale kommt. Genau, deswegen wollte man da mehr machen und man hat da auch ziemlich viele reingestopft und auch ziemlich viele in den Standards gemacht. Man möchte da jetzt mehr Zeichen darstellen, man möchte nicht nur einen deutschen Zeichensatz haben, bzw. einen amerikanischen, sondern möchte eigentlich Texte in allen europäischen Sprachen darstellen können, an Chinesisch und so was hat damals noch nie mehr gedacht. Deswegen möchte man mehr als die 96 Zeichen vom ASCII-Code darstellen. Deswegen hat man sich überlegt den Zeichenvorrat von 256 Zeichen. Da sind ja 96 beim ASCII-Code als druckbare Zeichen definiert, dass man nochmal ein gleiches Fenster daneben macht, quasi mit dem höchstwertigen Bit gesetzt. Somit hat man zwei Fenster, in denen man dann Zeichensets quasi einblenden konnte. Sprich man sagt dann zum Beispiel Singleshift 2, dann wird hierbei das nächste Zeichen aus dem Zeichensatz G2 gewählt. Wenn ich jetzt zum Beispiel ein Dollarzeichen haben möchte, schicke ich Singleshift 2 und den entsprechenden Code für das Dollarzeichen dann, weil sie jetzt nicht auswendig sind, aber es müsste jetzt siffer sein. Und da gibt es auch die Möglichkeit, das als Locking-Shift zu machen, dann bleibt das an der Stelle drin oder nur als Singleshift. Und diese Zeichen hier, die so grau hinterlegt ist, ich weiß nicht, sieht man das, nur das sieht man das ganz leicht, auf jeden Fall von bis hier, das ist das Letzte, die sind quasi Akzente. Man hat damals gesagt Singleshift G2, dann das Zeichen und dann A. Da hat er ein A gedrückt zum Beispiel. Damit kann man eben sich viel sparen, muss nicht so viel Zeichen kurz machen. Und vor allen Dingen, wenn ein Terminal jetzt kein A kann, dann kann es immer noch ein A drucken und das ist lesbar. Genau, es ist so weit, ist es eigentlich noch ziemlich so wie auch die üblichen VTR 100 Terminals, die auf unseren Rechnern als Emulation heute noch laufen. Aber wie macht man jetzt der Bild und Ton? Man hat sich damals auch schon überlegt, vielleicht direkt über den digitalen Kanalbild und Ton zu machen. Deswegen hat man sich überlegt, dass man da nochmal den gedachtes Protokoll drüber schickt. Sprich, man hat hierbei das Zeichen 1f Unit separator und hier unten ist das, was wir vorher schon gesehen haben, quasi der Sprung des Cursors zu einer bestimmten Position. Und das alles hier oben sind im Prinzip ungültige Positionen. Das heißt, ein sorgfältig produzierter Decoder würde sich dann quasi da abschalten und dann erst wieder sich einschalten, wenn er wieder irgendwo in den Bildbereich springt. Was man darüber aber machen kann, sind Zusatzfunktionen. Zum Beispiel, es gibt hierbei die Möglichkeit, ich weiß nicht, ob das irgendjemand benutzt hat, dass das Terminal sich selbst meldet bzw. dass man anfragen kann, was denn das Terminal kann. Es gibt da die User-Defined-Characters, die zwar im Bildschirmtext intensiv genutzt wurden, damit kann man dann Grafiken machen. Die Zeichen sind standardmäßig in 12x10-Pixel, was auf Heimcomputer ein bisschen ein Problem war, also auf den C64 haben wir das dann nicht gut darstellen können. Man hat aber auch niedrige Auflösungen nehmen können und mehr Farben, da gibt es alle Spielarten. Man hat die Palette neu definieren können. Man hatte quasi viermal acht Farben zur Verfügung und die konnte man beliebig auswählen aus der Palette von 4096 Farben. Das ist eine richtig schöne Farbgrafik damit machen. Man kann hier mit Defined Format, da bin ich mir jetzt gar nicht sicher, aber Timing-Control, damit kann man Delays machen, weil wenn man jetzt eine stellere Verbindung hat zum ISDN, dann möchte man eventuell beim Bildaufbau mal kurz warten und anhalten und dann weitermachen. Man kann auch die Bildschirmgröße sogar einstellen. Das ist tatsächlich im Standard vorgesehen, im Prinzip beliebig groß. Man würde dann halt hierbei anstelle von einem Zeichen mehrere Zeichen hernehmen, wenn die Bildgröße jetzt größer ist als hier quasi vorgesehen ist. Ich glaube das Limit ist irgendwo, das sind normalerweise alphabetische Zeichen hier. Und hier sind die Features, die in Deutschland nicht eingesetzt wurden. Also das ist Geometriedaten-Vektor-Grafiken in 2D und 3D. Das österreichische System Moopit hat 2D-Grafiken unterstützt, 3D weiß ich nicht, ob es irgendjemand unterstützt hat. Und hier Fotografik-Pixel und Table-Data. Das ist quasi so eine Art Proto-J-Pack, mit dem man dann Hintergrundgrafiken darstellen kann. Die Idee dahinter war, man hat quasi mehrere Bildebene hintereinander und immer wenn die vorherige Transparent ist, wird die dahinter liegende angezeigt. Und es gab auch, wobei das glaube ich nicht ganz definiert war, die Möglichkeit Sound zu übertragen in so 80er Jahre Codex, die dann so 720 Kbps braucht haben für gute Qualität in Mono, mit dem man heute auch im Prinzip dann Opus machen könnte, um neue Standards machen würde. Telesoftware und transparente Daten ist mehr oder weniger selbst erklären. Hier sind die Standards, wo die ganzen Details definiert sind. Es gibt hier auch schöne Bücher dazu. Der Buchzeuger hat die Kurzsequenzen drin. Und hier sind auch noch 2 Websites. Und ich möchte noch Philipp Meyer und Michael Steyl noch danken dafür, dass die haben quasi die Software geschrieben, die über der Linklayer-Schicht läuft auf den Terminus beim Vintage Computing drüben. Und hier sind auch meine Kontaktdaten. Ja, vielen herzlichen Dank, einen großartigen Applaus, würde ich sagen. Da wir eben schon herausgefunden haben, dass wir hier ein Fachpublikum vor uns sitzen haben, würde ich gerne darum bitten, Fragen zu stellen. Wir haben jetzt noch 3-4 Minuten Zeit für Fragen. Das heißt, der ein oder andere kann jetzt das loswerden, was er immer schon mal fragen wollte. In der Ankündigung hast du geschrieben, dass du planst, das irgendwie jetzt wieder aufzubauen. Bitte, ist er tot. Die Server Hardware ist wahrscheinlich komplett verschrottet worden. Da gibt es nichts mehr. Aber man könnte quasi die Servertechnik emulieren, neu bauen. Genau, natürlich. Wir haben tatsächlich auch im Vintage Computing die Servertechnik emuliert. Was auch noch der Gedanke ist, die Kleins werden jetzt auch immer älter und immer kaputter. Man kann natürlich sowas auch wunderbar in eine Batch bringen. Und da hat man den Vorteil, man muss nicht mehr irgendwie die Entwicklungsumgebung der Batch haben. Sondern man kann einfach den kleinen Serverdienst starten, irgendwo auf Horace Peripay, der irgendwo rumsteht. Und dann mit einer kleinen Zehnertaster. Mehr braucht man für BTX, für die Bedienung nicht. Dann Dienste nutzen. Dass man da drüber quasi dann interaktive Dienste haben kann, ohne dass man gleich eben sich einarbeiten muss in die Batch. Du hattest gesagt, dass es Pläne gab für Hintergrundbilder von Laserdisc. Gab's denn da überhaupt schon, oder über Glasfaser? Gab's denn da überhaupt schon entsprechende Dateiformate? Also für Bilder weiß ich jetzt nicht. Bei Videos war es ja so, Laserdisc ist ja ein analoges Videoverfahren. Genau. Wie wäre das mit Bildern gewesen? Also es gab mit Laserdisc hätte man einfach ein Standbild genommen. Das kann Laserdisc. Und bei, also in Singapur fallangeblich, der Datenkanal von der Zentrale über Funk gegangen sein. Und da warte es dann quasi so eine Art JPEG-Format. Das ist im Standard definiert, das ist ungefähr JPEG. Ja, und damit sind wir am Ende von diesem Talk. Vielen Dank für eure Aufmerksamkeit, für eure Fragen. Und dir, Christian, ganz herzlichen Dank für diesen super Vortrag. Ein herzlichen Applaus nochmal.