-
35C3 Vorspannmusik
-
Herald: 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 Vortragende,
-
das ist Christian Berger. Christian
Berger ist Elektroingenieur der
-
Nachrichtentechnik und das aus
Leidenschaft, und seine besondere Vorliebe
-
gilt antiken Technologien, wie etwa dem
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 einen Webservice wiederverwenden kann.
-
Einen herzlichen Applaus bitte für
Christian Berger.
-
Applaus
-
Christian: So also guten Morgen erstmal!
Der Vortrag ist zugegeben etwas radikaler,
-
er geht von den Grundlagen aus, getreu dem
Motto Refreshing Memories beschreibe ich
-
hierbei quasi die Dinge, die nicht in den
Standarddokumenten drin stehen, so dass
-
man mal die Grundlagen hat. Ich kann da
aber bisher schneller darüber eingehen.
-
Also erstmal die absoluten Grundlagen.
Binäre Daten: man immer zwei Zustände,
-
1 und 0. Die werden dann irgendwie
darstellt. Bei BTX in dem Fall da das
-
traditionell über ein FSK-Modem geht, wird
es über eine Tonhöhe, also über die
-
Frequenz von dem Ton beschrieben. Und da
gibt's zwei Kanäle. Der eine Kanal, der
-
Forward-Kanal, 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 im
-
Zustand 1, und wenn man was schicken will,
wechselt man in den Zustand 0, und das ist
-
quasi der Beginn des sog. Startbits, und
man weiß dann, wann die nächsten Bits
-
anfangen und enden. Und somit kann man
eben z. B. 8 Bits übertragen bei BTX, und
-
dann ein Stoppbit übertragen, so dass die
Hardware auch noch feststellen kann, ob
-
nicht vielleicht irgendwie ein Fehler
passiert ist, und auch Zeit hat, um es
-
weiter zu verarbeiten. Damit wir das
effizienter schreiben können, tun wir
-
einfach vier Bits in ein Hexadezimalzeichen.
Dass ist auch wichtig, wenn man
-
die Standards verstehen möchte, da ist es
nämlich immer quasi in Vier-Bit-Gruppen
-
beziehungsweise 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 besondere Bedeutung
-
haben und eben je nach Standard, der dann
drüber liegt, unterschiedlich benutzt
-
werden. Bei BTX wird z. B. 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 dann davor ein
STX-Zeichen, dahinter ein ETX-Zeichen, so
-
dass man weiß, wo der beginnt und endet.
Dann überträgt man eine Prüfsumme und das
-
Terminal bestätigt dass dann. Die Idee
dahinter ist: wenn bei der Übertragung ein
-
Fehler passiert, dann kann das Terminal
sagen: NAK, da ist ein 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 VoIP wichtig,
weil da kann es 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 heutzutage relativ wichtig
dass das drin ist. Zur Not geht es im LAN
-
auch ohne, aber es ist schon besser mit.
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 Client
-
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 z. B. das Zeichen
-
"A", und das Terminal druckt 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, während man im Web z. B. die
-
komplette HTML-Seite nochmal ü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, hat man -
-
war RAM noch extrem teuer. Deswegen hat
man sich überlegt, nimmt man doch 7 Bit
-
pro Zeichen, das geht dann, da gab's schon
entsprechende Chips, die genügend Speicher
-
hatten. Und man wollte aber trotzdem
farbige Grafiken haben, bzw. farbigen
-
Text. Deswegen hat man sich hierbei
ü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 z. B. ein Wort in doppelter
-
Höhe oder blinkend machen möchte - Blinken
sieht man jetzt 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 Videotext-
Dekoder im Fernsehgerät quasi noch einen
-
Mikroprozessor und ein Modem dranhä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
einfacheren Verfahren. Aber man hat
-
festgestellt, also gut, bei Videotext muss
man quasi immer die komplette Seite
-
übertragen. Das ist natürlich jetzt, wenn
man nur 1200 Bits pro Sekunde hat, eine
-
relativ mühselige Sache. Deswegen gibt's
Cursor-Steuerzeichen. Es gibt da immer
-
einen gedachten Cursor. den kann man
bewegen, in dem Fall nach 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, er 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 nochmal Zeichen, die man
-
beliebig definieren kann, um Grafiken zu
machen. Man kann auch die Größe
-
einstellen. Dann kam auch die Laser Disk
auf, so als ewig futuristisches Medium.
-
Man dachte sich damals, das man vielleicht
einen Laser-Disk-Player an den
-
Bildschirmtextdecoder anschließt, und wenn
man dann im Versand, also im $versandhaus
-
bestellt, kriegt man anstelle vom Katalog
eine Laser Disk, 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
Telefonleitung, aber die Bilder im
-
Hintergrund kommen quasi von der Laser
Disc. Oder die nächste Stufe dann wenn der
-
Glasfaserausbau Mitte der 90er Jahre
fertig ist...
-
Gelächter
Applaus
-
Ja, damals war man noch optimistisch und
-
damals gab es auch noch keinen
Schwarz-Schilling. 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
Videosignal einfach übertragen, das dann
-
von der Zentrale kommt. Deswegen wollte
man da mehr machen, und hat da auch
-
ziemlich viel dann reingestopft und auch
ziemlich viel in die Standards gemacht.
-
Man möchte da jetzt mehr Zeichen
darstellen, man möchte nicht bloß einen
-
deutschen Zeichensatz haben, oder einen
amerikanischen, sondern man möchte
-
eigentlich Texte in allen europäischen
Sprachen darstellen können.
-
An chinesischer oder sowas hat damals noch
niemand gedacht. Deswegen möchte man mehr
-
als die 96 Zeichen vom ASCII-Code
darstellen. Deswegen hat man sich
-
überlegt, den Zeichenvorrat von 256
Zeichen, das 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 Zeichensätze quasi einblenden
konnte. Sprich man sagt dann z. B.
-
Single Shift 2, dann wird hierbei das
nächste Zeichen aus dem Zeichensatz G2
-
gewählt. Wenn ich jetzt also ein "$"
haben möchte, schicke ich Single Shift 2
-
und den entsprechenden Code für das
Dollarzeichen dann. Weiß ich jetzt nicht
-
auswendig, aber es müsste eine Ziffer
sein. Und da gibt es auch die Möglichkeit
-
das als Locking Shift zu machen, dann
bleibt es an der Stelle drin, oder nur als
-
Single Shift. Und diese Zeichen hier, die
so grau hinterlegt ist - ich weiß nicht,
-
sieht man das? Nö, das sieht man ganz
leicht - auf jeden Fall von - bis hier,
-
das ist das letzte - die sind quasi
Akzente. Man hat damals gesagt, Single
-
Shift G2, dann das Zeichen und dann "A",
da er ein "Ä" gedruckt, z. B. Damit kann
-
man eben sich viel sparen, muss nicht so
viel Zeichencodes machen, und vor allen
-
Dingen, wenn ein Terminal jetzt kein "Ä"
kann, dann kann es immer noch "A" drucken,
-
und das ist lesbar. Es so weit ist es
eigentlich noch ziemlich so, wie auch die
-
üblichen VT100-Terminals, die auf unseren
Rechnern als Emulation heute noch laufen.
-
Aber wie macht man jetzt da Bild und Ton?
Man hat sich damals auch schon überlegt,
-
vielleicht direkt über den digitalen Kanal
Bild und Ton zu machen, deswegen hat man
-
sich überlegt dass man dann noch mal ein
gedachtes Protokoll darü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 also -
-
es gibt hierbei die Möglichkeit - ich weiß
nicht, ob das irgend jemand benutzt hat -
-
dass das Terminal sich selbst meldet bzw.
das man anfragen kann, was denn das
-
Terminal kann. Es gibt da die User Defined
Characters, die im Bildschirmtext intensiv
-
genutzt wurden. Damit kann man dann
Grafiken machen. Die Zeichen sind
-
standardmäßig in zwölf mal zehn Pixel, was
auf Heimcomputern ein bißchen ein Problem
-
war. Also auf dem C64 hat man dass nicht
gut darstellen können. Man hat aber auch
-
niedrigere Auflösungen nehmen können, um
mehr Farben - da gab es alle Spielarten.
-
Man hat die Palette neu definieren können:
man hatte quasi 4x8 Farben zur Verfügung
-
und die konnte man beliebig auswählen aus
einer Palette von 4096 Farben. Also
-
richtig schöne Farbgrafiken damit machen.
Man kann hier mit Define Format kann man -
-
bin ich mir jetzt gerade nicht sicher -
aber Timing Control, damit kann man Delays
-
machen, weil wenn man jetzt eine
schnellere Verbindung hat, z. B. ISDN,
-
dann möchte man eventuell beim Bildaufbau
mal kurz warten und anhalten und dann
-
weiter machen. 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 glaub, das Limit ist irgendwo -
-
das sind normalerweise alphabetische
Zeichen hier. Und hier sind die Features,
-
die in Deutschland nicht eingesetzt worden
sind. Also das ist Geometriedaten,
-
Vektorgrafiken in 2D und 3D. Das
österreichische System MUPID hat 2D-Grafik
-
unterstützt, 3D weiß ich nicht ob es
irgendjemand unterstützt hat. Und hier
-
Photographic Pixel und Table Data, das ist
quasi so eine Art Proto-JPEG, mit dem man
-
dann Hintergrundgrafiken darstellen kann.
Die Idee dahinter war man hat quasi
-
mehrere Ebenen - mehrere Bildebenen
hintereinander und immer wenn die
-
vorherige transparent ist, wird die
dahinterliegende angezeigt. Und es gab
-
auch - wobei das ich glaub nicht ganz
definiert war - die Möglichkeit Sound zu
-
übertragen in so 80er-Jahre Codecs, die
dann so 720 Kilobit pro Sekunde gebraucht
-
haben für gute Qualität - in Mono, mit
denen man heute auch im Prinzip dann OPUS
-
machen könnte, wenn man neue Standards
machen würde. Telesoftware und
-
Transparente Daten ist mehr oder weniger
selbst erklärend. Hier sind die Standards,
-
wo die ganzen Details definiert sind. Es
gibt hier auch schöne Bücher dazu. Das
-
Buch hier z. B. hat die Codesequenzen
drin. Und hier sind auch noch zwei
-
Websites. Und ich möchte noch Philipp
Maier und Michael Steil noch danken dafür
-
dass - die haben quasi die Software
geschrieben, die über der Link-Layer-
-
Schicht läuft auf den Terminals beim
Vintage Computing drüben.
-
Und hier sind noch meine Kontaktdaten.
-
Herald: Ja vielen herzlichen Dank, einen
großartigen Applaus würde ich sagen!
-
Applaus
-
Herald: 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 eine oder andere kann jetzt das
-
loswerden, was er immer schon
mal fragen wollte.
-
Frage: In der Ankündigung hast du
geschrieben, dass du planst, das irgendwie
-
jetzt wieder aufzubauen. BTX ist ja tot,
die Serverhardware ist wahrscheinlich
-
komplett verschrottet worden, da gibt es
nichts mehr, aber man könnte quasi die
-
Servertechnik emulieren, neu bauen.
Christian: Genau! Natürlich, wir haben
-
tatsächlich auch im Vintage Computing die
Servertechnik emuliert. Was auch noch der
-
Gedanke ist: die Clients werden jetzt auch
immer älter und immer kaputter. Man kann
-
natürlich so was auch wunderbar in ein
Badge bringen, und dann hat man den
-
Vorteil, man muss nicht mehr irgendwie die
Entwicklungsumgebung der Badge haben,
-
sondern man kann einfach den kleinen
Serverdienst starten irgendwo auf einem
-
Raspberry Pi, der irgendwo rum steht, und
dann mit einer kleinen Zehnertastatur,
-
weil mehr braucht man für BTX für die
Bedienung nicht, dann Dienste nutzen, dass
-
wir darüber quasi dann interaktive Dienste
haben kann, ohne dass man gleich eben sich
-
einarbeiten muss in die Badge.
-
Frage: Du hattest gesagt dass es Pläne gab
-
für Hintergrundbilder von Laser Disc, gab
es denn da überhaupt schon - oder oder
-
über Glasfaser - gab es denn da überhaupt
schon entsprechende Dateiformate? Also
-
Laser - also für Bilder weiß es nicht, bei
Videos war es ja so, Laser Disk ist ja ein
-
analoges Videoverfahren...
Christian: genau
-
Frage: ... wie wäre das mit Video, mit
Bildern gewesen?
-
Christian: Also es gab - mit Laser Disk
hätte man einfach ein Standbild genommen,
-
das kann Laser Disc, und bei - also in
Singapur soll angeblich der Datenkanal von
-
der Zentrale über Funk gegangen sein und
da war das dann quasi so ein JPEG-Format,
-
das ist im Standard definiert, das ist
ungefähr JPEG.
-
Herald: 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! Einen herzlichen Applaus
noch mal!
-
Applaus
-
Abspannmusik
-
Untertitel erstellt von c3subtitles.de
im Jahr 2019. Mach mit und hilf uns!