 Ja, hallo zum zweiten Vortrag des Tages. Bin ja froh, dass doch noch einige gekommen sind. Ich habe ein bisschen befürchtet gehabt, dass das Thema hier nicht so richtig die Zielgruppe findet, weil die meisten, die es sind, sind zu alt, um selber mit sowas zu spielen und auch zu jung, um Kinder zu haben, die das nicht machen. Aber ich bin da jetzt besser ein Billard, das freut mich. Vorne weg muss ich mich ein bisschen entschuldigen. Der Vordergrund ist nicht ganz so gut vorbereitet, wie ich es gerne hätte. Der Grund ist ein Trauriger, mein Neffe. Einer der Gründe, warum ich überhaupt das Ganze hier mache, ist letzte Woche tragisch verunglückt. Und ich hatte nicht die, also... Dadurch nicht ganz die Zeit den Vortrag komplett vorzubereiten. Es wird halt zwischendurch etwas improvisiert. Könnte mir helfen, nicht mehr Fragen stellt, wenn ihr meint, da habe ich übersprungen oder was nicht gut gemacht. Ja, worum geht es? Es geht um den Tippsteuerstift. Er nennt einen Tippsteuerstift seinen Eigen. Das schließt jetzt noch mal Kinder mit ein. Oder Neffen oder Nichten oder Handstickelangehörige. Okay, schon ein paar. Wer hat jetzt vor dem Vortrag noch nie davon gehört? Ah ja, okay. Dann mache ich mal eine Demo. Also, das ist der Stift. Der heißt nur Stift, das ist kein wirklicher Stift. Halt das Brötchen. Der hat vorne eine Kamera. Und wenn man den einschaltet. Und eins von den relativ teuren Produkten von Ravensburger zu handen nimmt. Dann kann man die hier aufmachen. Gibt schöne Bilder, viel Text. Und wenn man irgendwo hinklickt, dann reagiert das Stift darauf und sagt irgendwas. Bitte berühre zuerst das Anschaltzeichen für dieses Produkt. Okay, wir sehen. Ich muss erst mal was Sinnvolles machen. Wenn ich auf die erste Seite gehe, dann habe ich einen grünen Punkt. Das lernen die Kinder recht schnell. Da müssen sie drauf gehen. Dann ist das ... Willkommen im Buch, mein großer Weltatlas. Du bist jetzt angemeldet. Tippe auf das Globus-Männchen. Es erklärt dir, wie dieses Buch funktioniert. Ja, das machen wir jetzt nicht, weil ich kann euch das erklären. Ja, jetzt habe ich hier das Buch. Ich habe das Stift. Und ich kann im Grunde überall hinklicken. Oder hintippen muss man ja sagen. Und dann passiert was. Ich komme Töne. Ich kann mir das sagen. Über die Weltkarte. Erklärt das viel Spannendes zu erfahren. Tippe. Tut mir leid, ich kann bespielen. Was war die Frage? Ja, ähm ... Nein. Also ... Kopfhörer machen dem Ton besser und schonen die Nerven der Eltern. Die Lautsprecher von den Stiften gehen überraschend oft kaputt. Ich postuliere, dass die Versionen mit kaputten Lautsprecher auf e-Bike teurer sind. Ähm, die Eltern werden wissen worum. Genau, also das ist Produkt. Ist eigentlich eine sehr schöne Sache. Also soll nicht unabhängig von jeder Geeklinus. Das ist ein schönes Spielzeug. Meine Nerven und Nichten fahren darauf ab. Auch die Bücher sind ... Also, es ist nicht billig. Man zahlt hier so 20 ... Ja, das ist die Statterbox, noch billig. So 20 bis 30 Euro für so ein Buch. Da ist eigentlich viel drin. Also ein weniges Seiten, aber die Seiten haben nicht viel Inhalt. Es gibt auch zu jedem Ding, als nicht nur Erklärungen, auch mehrere Erklärungen der Spiele ... Die Ostküste Amerikas erreichte. Genau, das ist ... Das ist der Tippdurchstift. Ja, wie funktioniert das ungefähr? Ähm ... Da ist so schematisch dargestellt. Also der ... Wenn ich so ein Produkt kaufe, lade ich dazu online auf der Website mit einem entsprechenden Detail runter. Die packe ich auf den Stift per USB. Und ... Was dann passiert ist, die Töne sind offensichtlich nicht auf dem Papier gespeichert. Das ist eigentlich ziemlich klar, sondern ... die verschiedenen Bereiche hier, das in Nummern hinterlegt. 16 Bitcodes. Und wenn der Stift die Zahl hier ließ, dann kaufe ich in den Teil nach. Was soll ich denn da machen? Und wenn der Teil steht dann im dritten, spiele ich einen Ton ab und dann wird abgespielt. Und das ist nicht nur eine einfache Zuordnung von Punkt auf dem Blatt zu Ton, sondern da kann beliebige Logik drinstecken. Da ist ein Arm-Prozessor drauf. Den programmieren wir noch nicht direkt, aber die Firma sozusagen auf dem Stift interpretiert ein Programm für jedes von diesen Codes, wo sagt, was passieren soll. Ja. So sehen die aus. Also ... Den kenn ich nicht. Genau, also diese Codes fangen wir gerade einmal weiter, wie das aussieht. Man sieht es kaum. Also wir können nachher beim Workshop packen und alles im Workshop das nochmal ein bisschen genauer anschauen. Man muss schon wissen, wie genau man hinschauen muss, um hier auf dieser Seite diese Codes zu sehen. Wenn wir dann ins Reinsum zieht man das in einfach schwarze Punkte, die hier relativ regelmäßig über die Fläche gelegt werden. Wir haben sozusagen ein sehr feiner QA-Code für naivgesagt. Wir schauen uns gleich noch genauer an. Der Code liegt auch überall da, wo nichts hinterlegt ist, damit es gleichmäßig aussieht. Sonst gibt es einen grauen Schleier überall, wo was hinterlegt ist. Genau. Und wie funktioniert dieser Code jetzt? Ich habe das Bild, das ist ein kleines Bild aus dem Internet geklaut. Ich hatte es eilig, aber man sieht, was es geht. Das ist ein Meter, das wir hier sehen. Das sind vier mal vier Punktmuster, was sich wiederholt. Die oberste und unterste Zeile ist die gleiche. Jeweils ist es die oberste und unterste Zeile als auch die linken und direkte Spalte. Da ist keine Information kodiert. Das ist zur Orientierung für den Stift. Das gibt es raster vorm. Das sind die Punkte auch vollkommen regelmäßig mit der Ausnahme von dem, der ist versetzt nach rechts. Damit weiß der Stift, wie er orientiert ist. Ich kann den Stift auch falsch draufhalten und erkennt es trotzdem. Die restlichen neun Punkte kodieren die Information und man sieht ja, wie die relativ zu diesem angedeuteten Muster außen rum angegottet sind. Die sind in die Diagonale verschoben. Jetzt habe ich neun Punkte. Jeder hat vier Diagonalen, die verschoben werden kann. Es gibt vier hoch neun, ein bisschen mehr als 16 Bit. Tatsächlich sind es 16 Bit, weil einer von diesen Punkten eine Prüfsumme ist. Damit Fehler einfacher erkannt werden. Der obere Linken kann man ignorieren. Die restlichen kodieren die Information. Das hat irgendwann mal recht nett im Browser hier mal nachgebaut. Das sind jetzt die inneren, dreimal drei Punkte. Wenn ich jetzt hier mal eine Muster einstelle, kann ich mal versuchen, das Muster von diesem hier zu kodieren. Also nach unten links und dann die beiden in die Mitte. Also nach unten links und die beiden zueinander. Die alle nach oben rechts. Ich gehe von unten rechts nach oben links hoch. Das ist sozusagen vom niedrigwertigsten zum höchstwertigen Bit. Das werden einfach damit Bits kodiert. Das ist eine relativ simple Kodierung. Die Prüfsumme muss die nicht einstellen, weil die stimmt zufälligerweise. Und dann haben wir hier eine Binärzahl kodiert. So funktioniert die Kodierung. Relativ straight forward. Wir können das uns auch anhören. Der Stift hat netterweise eine Debugfunktion, eine Testfunktion. Da muss man ein bisschen Tastenkombinationen drücken. Also anschalten und Minus gleichzeitig. Wir können mit Peter schließen. Wir können mit Peter schießen. Wir können mit Peter schauen was wir novelen. W speicheln wollen wir mal auch Steven beginnen. Wir können ouncedriven aber noch unter den Überhomme. Okay, machen wir es gemeinsam. 1, 2, 3, 2, 9. Also, ich würde sagen... 2, 9. Ja. Okay. Also, ich kann kein Chinesisch, aber die Tabelle hat mir geholfen. Damit konnte ich tatsächlich hören, was hier ankommt. Wenn man jetzt diese Tabelle und was der Stift sagt, vergleicht, mit dem, was diese recht offensichtliche Logik einmal gibt, sieht man, die Zahlen passen nicht. Und da ist es tatsächlich so, dass der Stift aus irgendeinem Grund, den wir nicht kennen, nach einer Rechenvorschrift, die wir nicht kennen, von diesen, wie nennen sie, rohen Codes, also mit mir war ich nicht die Leute, die das hier ein bisschen angeschaut haben, das ist nichts Offizielles, in die tatsächlichen Tiptoe-Codes umwandelt. Das heißt, ich muss mich vorvorstellen, wir haben ja die, ja, Spaltcodes, entsprechend dem, was der Chip liest, dieser Sensor, dann gibt es eine Tabelle, die das auf irgendeine, das geht tatsächlich so los, er überträgt. Und wir haben keine Ahnung, wie das funktioniert. Warum diese Tabelle da ist, wie sie aufgebaut ist, ich habe schon schlaue Leute geflaggt, fragt, ob sie da irgendeine Systematik dahinter kennen. Im Endeffekt haben wir keine gefunden. Die Lösung war, dass irgendwer aus einem Tool, was von der Firma, die dieses Stift, also nicht Ravensburger, sondern die Chinesische Firma, die die Software herstellt, aus einem Tool ein Lookup-Tabelle extrahiert hat. Also in einem Teil haben die tatsächlich eine Lookup-Tabelle drin. Vielleicht ist es Obfuscation, vielleicht hat es irgendein tieferen Sinn. Wissen wir nicht, aber diese Hürde haben wir nehmen können. Was hier noch angedeutet wird auf der letzten Spalte, auf diesem Bild, was ich aus dem Internet geklaut habe, gibt es noch eine Zweiteilung in Mediencodes und Objektcodes. Ihr erinnert euch, als ich das eingeschaltet habe, ich wurde gebeten, das mal rauszumachen, weil es wohl rauscht auf die Aufnahme, dann mache ich das mal. Als ich zuerst das Buch angedrückt habe, hatte ich gesagt, bitte laden zuerst die Audio-Teile für dieses Produkt. Der Grund ist folgender. Ravensburger hat jetzt sicherlich, ich glaube, 170 Produkte im Angebot. Die haben alle 100 oder hunderte verschiedene Felder. Da kann man nicht global einzelne Codes vergeben. Das heißt, diese Medien-IDs von 0 bis ein paar hundert, die identifizieren, welches Produkt ich jetzt anschauen möchte. Dann erst lädt der Stift die entsprechende Datei, also die da, in seinen Speicher und ab, dann schaut er in dieser Datei nach, wie es weitergeht. Und die eigentlichen Codes hinter den Objekten, die können zwischen verschiedenen Produkten auf verschiedenen Produkten vorkommen. So kann man mehr aus diesen 16 Bits machen. Das ist auch nicht besonders spannend. Spannend für uns ist es, wenn wir eigene Sachen basteln wollen, will man nach Möglichkeit IDs nehmen, die nicht schon von Ravensburger benutzt werden, weil sonst kann ich entweder die eine oder die andere Datei auf dem Stift haben. Deswegen empfehlen wir basteln, dass sie irgendwie 900 nehmen oder so und dann selber hoch zählen. Ravensburger beginnt bei 0 und geht dann hoch, deswegen hat man noch ein bisschen Zeit, bis da zu Konflikten kommt. Sprach-IDs, wer die Box wirklich gekauft hat, wenn man die zum ersten Mal einschaltet, muss man so ein Feld anberühren auf einem Zettel, wo drin liegt. Damit wird der Stift auf die entsprechende Sprache godiert. Da hat Ravensburger vor 999 abwärts die Zahlen vergeben. Also irgendwo dazwischen ist noch platzfrei für unsere eigenen Bastleien. Gut, jetzt kommt der Teil, der wahrscheinlich am spannendsten ist, aber ich am schlechtesten vorbereitet habe. Das heißt, jetzt wird es sehr improvisiert. Nämlich, wie kommt man jetzt von dem hier zu einem Verständnis dessen? Ich werde vielleicht nochmal tritt zurück. Wenn man jetzt als geekig veranlagter Mensch so ein Stift zieht, dann fragt man sich sofort, was kann ich damit machen, was nichts vorgesehen ist? Insbesondere kann ich da eigene Kreativität reinstecken. Und naja, es ist klar, diese Dateien enthalten die Logik und auch die Audio-Dateien dafür. Also will man diese Dateien verstehen, damit man sie verändern kann, damit man sie analysieren kann, dass man lustige Töne rausziehen kann für andere Sachen, oder eben auch komplett eigene Sachen basteln will. Das ist die Format Binära. Hier sind die ersten paar Weizen. Da ist ein bisschen Text drin, das ist aber offensichtlich nicht gespannt. Da steht erstmal, Dog's from Berg. Ich bin jetzt kein Experte für Reverse Engineering. Also wer wahrscheinlich sitzen hier ein paar drin, die haben schon krassere Sachen gemacht, die werden sich vielleicht Haare raufend, wie ich wieder angegangen bin. Das war mehr so ein gesunder Menschenverstand, was dabei rauskommt und sich ein Reim draus machen. Die Information, der Ausgangspunkt für mich war, es gab irgendwo online in irgendeinem Forum einen Post von einem, der meinte, aha, in diesen Dateien sind Aquabits Dateien drin. Also Aquabits, also wie MP3, ein recht populäres inzwischen, Audio-Format und die sind da drin. Jetzt ist es so, dass Aquabits Dateien die haben eine gewisse Struktur. Also so sieht, sehen die ersten ein paar, das ist groß genug, können Sie sich größer machen? Gut. So sehen die ersten ein paar Bytes von Nord-Datei aus und man sieht insbesondere, die beginnt mit OGGS. Und das ist kein Zufall, das ist oft so bei den Dateien, die ersten vier Bytes sind immer Magic 4 Bytes oder Magic String, damit irgendwelche Werkzeuge Dateien als solche erkennen können. Und jetzt würde man ja hoffen, aha, wenn ich jetzt eine GPM Datei hernehme, GPM sind wir gerade, GME Datei hernehme, zum Beispiel gerade hier, wenn ich Bauenhof nehme, dann werde ich doch irgendwo diese OG Dateien finden. Tut man nicht, findet man nicht. Wie man jetzt darauf gekommen ist, weiß ich nicht, das habe ich auch online gefunden, aber der Hinweis war, Sie sind verschlüsselt, wobei, naja, sagen wir in diesen Kreisen wird er verschleiert, mit einem sehr einfachen Verfahren, und zwar XOR über alle Bytes, mit einem festen XOR Wert. Das heißt, wenn man diesen XOR Wert wüsste, wenn man vielleicht, ich kann mal überlegen, wie ich es am besten mache, dann müsste man es finden können. Man hat ja so eine Datei, sehr viele Audio Dateien drin. Das sind Hunderte von kleinen, kleinen Samples drin. Das heißt, dieser OGGS Magic Header, da müsste sehr oft drin vorkommen. Wenn ich mir einfach alle möglichen Bytes als Schlüssel durchprobiere, dann müsste ich sehen, dass diese vier Bytefolge besonders dann häufig vorkommt, wenn ich die richtige Zahl erwischt habe. Ich habe ein kleines Programm geschrieben, ich hatte auch vor 1,5 Jahren zum Banken beschrieben, das ich gerade nicht rausgesucht habe, und hatte gehofft, wenn ich das hier ausführe, auf dem... Dann wird es hier jetzt die Werte finden. Aber irgendwie habe ich es, ich habe das heute Morgen probiert, und irgendwie klappt es nicht. Ich weiß nicht, ob das noch ein Backencode ist, oder ob ich das völlig falsch in Erinnerung habe. Vielleicht nehme ich mal eine kleinere Datei, die ist... Okay, das war schlecht vorbereitet. Vielleicht ist es wohl zu groß. Ja, das kommt daher von, wenn man Code hinrotzt. Jetzt ist mein System. Okay, regiert er noch mal. Ja, da ist er wieder. Nehmen wir etwas kleineres. Aber irgendwie findet er... Also, da sollte ich euch angeben, wie oft diese den Wert findet. Er findet ihn jetzt gar nicht, das wundert mich. Ich muss irgendeinen dummen Fehler hier gemacht haben, den ich jetzt gerade auf die Schande nicht sehe. Aber gut, man kann sich vorstellen, ich finde so den Wert. Ich kann mir mal konkret ausgeben lassen, vielleicht klappt es dann mit... Sag bloß. Ja, sehr hands on. Okay, aber noch mal zum Prinzip. Der Schlüssel ist eine von 256 Zeichen Zahlen, die ich kann mal durchprobieren. Da der Schlüssel, der mir die meisten Okdateien gibt, wahrscheinlich wird es nur einer sein, der ist der Richtige. Und genau, dann kriege ich hier raus und der XAD ist in dem Fall der Richtige Wert. Warum das jetzt nicht... Hier nicht klappt. Ja, egal. Wenn ich das jetzt habe... Nein, eigentlich würde ich das schon gerne mit dem Programm weiterprobieren. Ja, also in jeder... Jede GME-Datei hat einen fixen XOR-Wert. Verschiedene GME-Datei, also verschiedene Produkte haben verschiedene Werte. Sonst könnten wir das einmal wissen und dann muss man sich gleich mit darum kümmern nehmen. Und dann schauen. Inzwischen sind wir auch weiter. Wir wissen ein bisschen mehr, das komme ich gleich, aber in dem Stand von etwa vor 1,5 Jahren würde man es erstmal so ran gehen, um diesen Code zu suchen. Genau, jetzt würde ich das... Hier doch noch mal... Ist es vielleicht auch so, dass man verhindert, dass man, wenn man die gleiche Chipfolge hat, auf den gleichen Punkt in der GME-Datei läuft? Nein, das läuft ja über die Medien-ID. Ich glaube, ich glaube, der Grund, warum es überhaupt das machen ist, dass man nicht auf ersten Dexit, dass da Audio-Dateien drin sind, dass es nicht so ganz trivial ist, diese vielleicht doch doch recht teuer zu erstellen, denn auch diese Tiertöne oder so ist ja auch spannend, wenn man es hat. Wenn man die dann extrahiert, das wollen sie wahrscheinlich nicht so einfach machen. Aber es gibt auch mal gleiche Punkte, in denen der Teil dieses Start und der Gesamte bekommt man noch einen Versuch. Nehmen wir einfach mal konkret nach dem Such, was wir hier wissen, dass der richtige Wert ist. Aber das wird aus gleiche herauskommen. Wenn das halt nicht klappt, dann passt irgendwie mein ganzes weiteres Schema nicht. Ich kann das noch weiter machen. Es gibt ja keine Programmdemo, seit man sieht, mein Fehler während ich rede. Jetzt wissen wir also, es gibt diese Octateien drin. Wir können mit einer einfachen statistischen Analyse herausfinden, wie die verschlüsselt sind, und können also schon anfangen, die Octateien zu extrahieren. Die Länge wissen wir nicht, aber es ist recht nahe liegen und auch von der Größe kann man abschätzen, und das heißt, da, wo das Nächste beginnt, davor hört es andere auf. Das ist recht offensichtlich. Mit der Vermutung findet man also auch die Längen der Dateien. Kann sie rausholen, kann sie versucht abzuspielen. Leider tun sie nicht. Dabei sehen sie gut aus. Wenn es hier klappt mit dem Xor, dann kriegt man auch einen vernünftigen Ock Warbis Header. Das sieht dann tatsächlich so aus, wie ich es hier angezeigt habe. So sieht es dann auch aus, und dann haben wir eine Weile gerätselt. Dann haben wir uns aufgefallen, dass da, wo Nullen in der Teile stehen müsste, also gerade subinäre Nullen gibt es ja auch an der Header-Datei öfter mal, da kann man in der Spitze so nachschauen, was das so fällt und was da stehen müsste, die sind auch Nullen, aber komisch, weil wenn ich eine Null Xore mit, in dem Fall, Null Xad, dann müsste da ja nachher Null Xad stehen, eben verschlüsselten. Also blieben anscheinend Nullen irgendwie Nullen. Und dann kann man ein bisschen rüberlegen, nachher ist es klar, wenn die Nullen Null bleibt, dann muss auch Null Xad bleiben. Sonst ist es keine, sonst kann ich es nicht verschlüsseln und wieder entschlüsseln und kriegts gleiche raus. Das heißt, die Verschlüsselung, die Verschleierung, ist ein beidweises Xore mit einem unbekannten Wert, mit der Ausnahme von der Null und dem Wert selbst, die bleiben sich selbst. Und damit hat es dann, damit hatten wir tatsächlich, die Audio Teilen da rausziehen können. Das ist schon mal ganz nett, da kann ich jetzt noch Sachen machen, wie nochmal ein Weltatlas hier, kann ich die alle raus schauen und ja, jetzt habe ich hier keinen Ton an. Genau. Das war der erste Schritt. Im Grunde ist man es auch schon so weit, um Audio Dateien in der Datei auszutauschen. Solange ich die Länge nicht ändere, also eine kurze Datein reinbaue, kann ich jetzt schon die lustigen Sachen machen und dann krät der Hahn plötzlich wie eine Kuh. Mute der Hahn plötzlich wie eine Kuh, muss man sagen, oder anderes. Das klappt überraschenderweise, weil die Datei hat eine Checksumme, diese G-Meterheit, die man drauf lädt. Und offensichtlich, wenn ich jetzt Code ändere, dann ändert sich die Checksumme. Und zu dem Zeitpunkt wussten wir noch nicht, wie die Checksumme funktioniert. Das Schöne ist, der Stift prüft sie nicht. Also ein Problem weniger. Selbst wenn er sie prüfen würde, könnte man wahrscheinlich problemlos Audio Dateien vertauschen, weil die Checksumme ist einfach die Summe über alle Bytes, als 32 Bitzahl. Also, ja, so viel zu... Egal, wir wollen nicht lästern. Ist ja was Schönes bei rausgekommen. Jetzt hat man also die Audio Dateien Startposition, Länge. Das habe ich auch nicht gemacht, deswegen kann ich nicht behaupten, dass es der Gedankengang der folgende war. Aber es ist ja naheliegend, dass die Position der Audio Datei also sucht man nach dem Offset von dieser Audio Datei. Da jetzt das Programm nicht tut, kann ich das leider nicht vormachen. Aber, ja, danke. Wunderbar. Darauf habe ich gehofft, dass irgendwer in dieser Gruppe das hier findet. Tübsicherheit findet leider nicht alle Fehler. Okay, 117 Audio Dateien sind da drin. Das sollte... Ja, passt es. Achso, im Taschenrechner. Ja, im Taschenrechner passt es. Da mache ich nochmal den Code, der das sucht, damit man sieht, wie das funktioniert. Also, wenn man sich diesen Code knacken möchte, lasst mir das Programm laufen. Ach ja, ich erinnere mich, das Programm war zu groß. Es ist auch mit Tales zu groß. Eigentlich sollte das funktionieren. Ja, ich traue mich einfach mal. Warum eigentlich auch nicht? Ich mache doch hier keine komischen Sachen. Nee. Irgendwas ist ja noch gerade. Irgendwas mache ich da komisch. Machen wir es halt mit dem Taschenrechner, der ist kleiner. Das hatte der Programm ist alles ein bisschen robuster als die Sachen, die ich hier in 5 Minuten hinschreibe. Man sieht, diese 4-byte-Folge gibt es genau einmal überhaupt. Nur, also, mit diesem Wert hier, 173, was 0xAD sein sollte. Das heißt, so kriege ich den Code raus. Jetzt kann man tatsächlich weiterprogrammieren. Also, jetzt weiß ich, der XOR Wert ist 137. Und ich kann die Position aller meiner Dateien finden, indem ich, jetzt muss ich mal legen, ich versuche alle Positionen in der Datei. Mache ich am besten mit ZIP 0 bis BSTails. Das ist jetzt Index und der Datei, der da steht. Und jetzt schaue ich, ob da mein Magic String zu finden ist. Und wenn das so der Fall ist, dann gebe ich, merke ich mit der Position. Was das Sinn macht, das hier brauche ich auch noch. Hier oben, Tales of Fire. Okay, da haben wir jetzt Positionen von der Datei. Und wenn ich jetzt in die Datei reinschaue und dann suche ich mal diese, naja, das sollte ich mal als Benäher machen. 04x ist ein Hexzahl. Ja, ich soll ihm sagen, dass die Positionen über 32 sind. Dann kriege ich hier die Position. Und jetzt suche ich, nehme ich mal die erste raus und suche in dem Hexdump vom Taschenrechner nach diesem Wert. Den werden wir nicht finden, weil andersrum Ende an ist, also ob die Kleinen vorne oder hinten stehen, also muss ich nach 640D suchen. Ja, ich suche nicht, also ich wollte nicht die Position suchen, wo es steht, sondern wo die Position steht. Genau, irgendwo müssen Tabelle gehen, wo alle Positionen von Orteteilen drin stehen. Gut, Bescheiß. Ne, das ist absolut. Also die werden tatsächlich immer von Stadt angezeigt. Die Tabelle ist selbst referenziert, ich mache mal einen Schritt voraus. Hier, also in Position 220 0 So, und eigentlich müsste das jetzt die erste Position. Ne, das hier sollte jetzt die erste Position sein. 0C47 sieht bis anders aus. Ja, ich glaube, ich bleibe mal lieber in abstrakten Welten und erkläre, wie es sein sollte, statt euch hier zu zeigen, wie es doch nicht ist, weil ich irgendwas gerade übersehe. Also, wir haben die Position in der Sparatei, wir haben die Länge, die die Tabelle der Audio-Teilen in dieser Teilung finden. Ha, die sind alle an einem Stück. Dazwischen ist eine weitere Zahl, da kommt man sehr schnell drauf, das ist die Länge der jeweiligen Teilung, das heißt, ich habe eine Tabelle, wo einfach immer Position von Audio-Teilen 0, Länge von Audio-Teilen 0, Position von Audio-Teilen 1, Länge von Audio-Teilen 1 und so weiter steht. Wenn man jetzt ein bisschen nach vorne schaut, sieht man noch ein Byte, oder 16-Bit weiß ich gerade nicht, da hat man dann ein sehr naheliegendes binäres Format gefunden. Wenn ich eine Menge von Sachen speichern will, dann speichere ich wie viele und wo sie jeweils sind. Und diese Tabelle selbst hat nur ich auch einen Anfang und den selbst die kann ich auch wieder suchen. Also, wo wird denn auch diese Tabelle verwiesen, weil die ist vielleicht nicht immer an der gleichen Stelle, und siehe da, deren Adresse findet man ganz am Anfang in der Datei, ach, ich muss noch nicht im Taschenrechner suchen. Ach je. Also, nochmal. Wir wollen 0D46 suchen. Also, das klappt nicht. Also machen wir 460D mit kleinen D. Aha, schon besser. Die nächste Zahl, die da kommt, ist die Länge. Und dann schauen wir hier 2710 als Hexzahl. Wenn wir das vergleichen mit der Ausgabe oben, steht ihr hier. Okay, die Reihenfolge ist wohl anders, aber ja, wir finden diese Korrelation. Also, das ist, was unser Programm gefunden hat. An diesen Stellen sind Audio-Dateien zu finden. Und hier finden wir die entsprechende Tabelle. Und die Tabelle selbst ist an der Position C3 5 1, 2, 3, 4 das sollte, ha, C3, 4, da oben. Ich hoffe, ein paar Gruppen erfolgen. Die Gegensorte wird nur der Inhalt der Audio-Dateien. Der Rest der Dateien ist normal. Das heißt, ich muss die jetzt dafür nicht machen. Aber ja, eine richtige, valide Frage. Okay, also, haben wir die Audio-Dateien gefunden und vor allem haben wir jetzt eine Ahnung von dem generellen Format von diesem Datei. Und als nächstes hat man jetzt angefangen zu suchen, ja, wo werden denn diese Codes, die uns die chinesische Dame freundlicherweise vorliest, gespeichert? Findet man die irgendwo? Und da war es, oder die konnte man nicht direkt finden, die Codes. Zumindest nicht einzeln, also es gibt keine Tabelle, wo der Code steht und dann irgendwie was dazu gehört. Das, was man findet, ist eine Tabelle, die gleich am Anfang referenziert wird, glaube ich, ja, nämlich die hier anstelle 2.0.0 und die hat zumindest mal von der Länge dazu gepasst, dass es irgendwas mit diesen Codes zu tun haben sollte. Und da war dann die die Lösung des Rätsels, dass in dem Header steht der Code-Bereich der Datei. Also von da bis da sind die Codes und die sind einfach alle da in der Tabelle. Das heißt, der Nullteeintrag in der Tabelle entspricht dem ersten Code im Buch und da steht in der Header-Datei welcher da ist. Kann man, glaube ich, auch mal mit mit meinem Tool bisschen sich anschauen. Genau, da steht es hier zum Beispiel die Codes 4.716 bis 4.743 sind in der Datei hinterlegt und dazu findet man in der Tabelle. Jetzt hatten wir also mit ein bisschen drüber nachdenken, das geht einfach schneller als jetzt, ein bisschen langsamer, gefunden, wo in der Datei steht, was der Stift macht, wenn man irgendwo drauf geht. Das können wir uns mal auch anschauen lassen. Raw Scripts. Genau, das ist also der Stand da. Wir haben hier wir wissen, welcher Teil definiert, was passiert. Wir haben noch keine Ahnung, was da genau funktioniert. Was da genau passiert. Wir können das ja auch mal damit ein bisschen ansehen. Abwechslungsreiche wird mal anschauen. Noch mal mit dem Buch hier. Dazu würde ich sagen, wir schauen uns nochmal die Delfine an. Weiß jemand noch die Nummer, die das war? 1, 2, 3, 3, 9 oder 2, 9? Wir können es nochmal kurz testen. 1, 2, 3, 2, 9 1, 2, 3, 2, 9 Okay, dann machen wir das direkt. 1, 2, 3, 3, 9 2, 9 1, 2, 3, 2, 9 1, 2, 3, 2, 9 1, 2, 3, 2, 9 Gut. 2, 3, 2, 9 Jetzt können wir uns das hier ausgeben lassen. Ja, andersherum. Hier ist es ein großes. Man sieht schon ein bisschen eine Tabellenstruktur, die ich hier vorweg nehme. Es gibt also mehrere Zeilen in diesem Programm. Da steht man davor. Und irgendwann entdeckt man die ähnlichen Programmen, die ähnliche Sachen machen. Man sucht sich irgendwelche Felder, wo z.B. immer nur ein Detail abgespielt wird. Ein Detail, nix fancy. Und nach und nach kann man das Format entschlüsseln. Ich glaube, ich kriege jetzt hier kein besonders didaktischen Faden hin, wie das funktioniert. Ich kann euch nur noch erzählen, dass es halt zwischendurch sehr abstruse Formen annimmt, welche Hypothese man da aufstellt. Weil man hat halt, man weiß, dass es einheitlich elegantes und schönes rauskommt, weil warum auch irgendwie kompliziert, wenn es einfach geht. Aber man sieht es nicht gleich. Und dann gab es so komische Regeln, also wenn der Befehl ein Spielbefehl ist, aber danach keiner kommt, dann kommt danach noch null bei. Sonst gibt es dann kein null bei. Der nächste Befehl ist ein weit länger. Unser komischen Sachen. Und es passt dann irgendwie auch vorübergehend. Soweit man halt die Sachen investiert hat, irgendwann findet man dann Beispiele, und dann landen wir mehr. Ich hätte jetzt halt etwas raushoben sollen, was besonders einfach ist. Aber da sind wahrscheinlich auch wenig wirklich einfache Sachen dabei, weil da ist wirklich viel Interaktion drin in diesen Büchern. Aber so kann man sich das vorstellen. Man hat dann eine Wiki-Seite, die Leute, die damit mitgemacht haben, schreibt es an Hypothesen rein und nach und nach findet man dann mehr darüber aus. Am Ende sieht es dann so aus. Das ist sozusagen jetzt unser Verständnis davon. Und da ist jetzt die Struktur also als mit unserer eigenen Sündpraxis dafür mal dargestellt. Ich kann es mal nach oben schieben. Und zwar haben wir auf dieser Maschine, die dieser Interpreter ausführt, Variablen. Oder man kann sagen Register, weil es eben keine Namen, das ist alles nur Zahlen. 16-Bit-Zahlen, die hier mit $0 und $97 und so weiter dargestellt werden. Die werden abgefragt. Mit diesem Gleichgleich-Befilm. Das heißt, wenn in der Variable 0 der Befehl 1, der Wert 1 von steht, dann macht man diese Zeile weiter. Wenn außerdem in der Variable 97 in der 0 drin steht, dann mach aus der 0 nur 1 und spiele entweder diese oder jede Datei ab. Wenn dann 0 drin steht, neben 1 von steht, setze sie wieder auf 0 und spiele diese Datei ab. Modus 2 und 3, das merkt man recht schnell, das sind die verschiedenen Vorlese, Erklärung, Spielmodi hier unten, für die, die Tippteuer kennen, machen die andere Sachen. Damit ihr es mir auch glaubt, wollen wir es noch mal hier nachprüfen. Ich habe die gerade extrahiert. Das heißt, 1, 4, 8. Ist irgendwie ein bisschen Meeresrauschen. 3, 1, 3. Da lacht jemand. Und das war gerade Ausschalter, oder? Bitte berühre zuerst das Anschaltzeichen für dieses Produkt. Bitte Willk. Delfine sind in vielen Meeren der Erde zu Hause. Sie sind mehr. Es wechselt immer zwischen der Erklärung und einen von den Beinen. Die werden geräuschen, die werden zufällig abgespielt. Aber das Dingeln war jetzt nicht hier drauf. Also, okay. Ja. Wenn man so weit ist, dann kann man jetzt echt schon lustige Sachen machen. Man kann nämlich an komplett eigene Texte und Audiodateiten für die Ravensburger Sachen hier basteln. Ich habe zum Beispiel genau diese Seite für meine Neffen mal neu gestaltet und zu jedem Land irgendwas erzählt, wo die Familie mal Urlaub gemacht hat oder so. Or properly zu schlichte Dich contain das Ding zu schenken. Das hatten sie toll. Und eigentlich ist es was das Reverse Engineering angeht, dann auch auch alles. Also, wir haben das Format die wichtigsten Komponenten im Brauch, um Sachen zu machen. Wir haben im Sondere dieses Befehlsformat, der Schritt von und kann den dann gezielt versuchen zu verstehen und irgendwann Anfang dieses Jahres war dann auch zu sagen der restliche Durchbruch. Wir haben Sprungbefehle und Arithmetische Befehle gefunden und wenn Informatiker Sprünge hat und Bedingungen dann ist er zufrieden, dann kann er alles mögliche machen. Zum Beispiel habe ich dann dieses nette Ding gebastelt und es klappt. Wichtig ausgemacht. Dies ist der akustische Taschenrechnung. Ja doch, es kommt was. 1 plus 5 gleich 6 minus 9 gleich 5 und 60.000. 5, 100, 7 und 20. Also offensichtlich 16-Bit-Zahlen. Ja und das an Taschenrechnung, der tut. Ja, vielen Dank. Auch dieses Zerlegen von Zahlen in die Ziffern für das Vorlesen Deutsch und so kann man auch programmieren. Ist natürlich alles etwas hariger als jetzt in Haskell, wo es eigentlich alles gleich klappt. Außer man verwechselt Innits und Tails. Aber es geht. Also ich kann mal zeigen, wie dann der Code hier aussieht. Wo bin ich jetzt? Ich bin hier. Dann Taschenrechnung. Genau, das ist jetzt den Code, den ich da geschrieben habe. Der ist relativ repetitiv. Hier werden die verschiedenen Ziffern benutzt, um die Eingabe zu zusammensetzen und auch dann die Zahl hier auszusprechen. Und ja, so kann man hier Code schreiben. Da kann man auch deutlich anspruchsvollere Sachen schreiben. Ich glaube, ich schaue mal kurz meine Stimme und zeige ein Video. Das machen Lehre auch immer gerne. Jetzt muss ich kurz überlegen, wo ich es finde. Gibt es eigentlich ein Video zu? Ja, ich müsste reingehen. Müssen wir mal nicht ganz anschauen, aber das finde ich schon sehr cool. Quasi analog, wenn man so riegt. Als Beispiel habe ich jetzt fast das erste Kapitel. Geht es? Das ist das Navigationsgenü. Moment. Ausgabe. Was anschauen, sprechen, spucken, beißen, wie auch immer. Das braucht man dann für die Spielstände zu laden und zu speichern, weil mir die Speichermechanik selber, die es im Typ 12 zwar gibt, aber leider nicht zur Verfügung steht. Deswegen muss man da ein bisschen improvisieren. Das ganze Intro ist auch mit dabei, mit wechselnden Bildern. Man wird dann immer aufgefordert, das Bild zu wechseln. Wenn die Story entsprechend weitergeht, ich überspringe das Ganze, weil sonst dauert das etwas zu lange. Ja, legen wir einfach mal los. Wenn du wissen willst, wie das Spiel funktioniert, drück auch das Fragezeichen. Und wenn du ein Spielstarkot tippe auf das... Seit Tagen führt davor, siehe. Ich habe weder Mannschaften noch Navigations... ...Hoffenz manövriert. Hier wollte ich mal kurz zeigen, wie es sich anhört, wenn man wechselt. So, jetzt machen wir das Ganze nochmal ein bisschen schneller. Du nicht? Hey, Bresch! Über Bord springen und dann zu verschwimmen. Na auch zum Murmeln gefangener! Geil, Bresch, findet sich gerade das Schutz hierhin. Ein Mund tippe auf dem Gegenstand 4. Plastikhaken. Ja, da war er. Sind Plastikhaken eingesteckt? Das wollte ich zeigen, wie dieser Kasten, der das gemacht hat, das Problem gelöst hat, wie man Inventar macht. Es gibt einfach alle Inventatblättchen, Falschrauben vor einem Liegen, und man kriegt gesagt, welches man umdrehen darf. Und dann hat man es. Wenn man anderes nicht blutzt, was man hier nicht hat, dann meckert der Stift natürlich. Also man lässt sie nicht bescheiden. Ich habe keine Ahnung, wie das gemacht hat und das ist doch recht mäßig, eine Programmierumgebung, die wir da erstellt haben. Aber es ist schon sehr cool. Genau, dann das so ein bisschen. Das ist das maximal Tollste, was ich damit gesehen habe bisher. Wobei, es muss auch nicht so etwas Spielmäßiges sein. Ich habe das auch benutzt, um zum einen bei an Weihnachten alle Geschenke mit kleinen Aufkleben zu versehen. Der Stift gesagt, das Geschenke ist für Oma, das Geschenke ist für Julius. Und dann durften die Kinder das entsprechend abhören und dann den Leuten geben. Es war ein Heidenspaß. Und zuletzt bei einer Hochzeit mit einem Plakat, mit Rätseln drauf, zu der Person, haben wir Hinweise und Lösungen auf diese Weise versteckt auf dem Plakat. Dann kommt man drauf drücken. Das hat nicht so gut geklappt, einfach wegen der Acoustic. Der Lautsprecher ist nicht gut und recht leise. Hochzeiten sind komischerweise laut. Es war trotzdem lustig zu machen und ich wollte es auch mal hinterher erklären. Es gab auch schon Schnitzeljagden draußen mit diesem Stift. Irgendwer wollte es für Geocaching benutzen. Da kann man viel machen. Jetzt gehe ich mal wieder zu meinem Vortrag zurück, damit ich noch weiß, was ich erzählen wollte. Ich habe kein Ad-Blocker. Ich bin so selten auf Seiten mit Ads, dass es auch unerträglich ist. Ich habe ein Pop-up-Blocker. Das ist schon mal hilfreich. Hier habe ich gerade beides gezeigt. Das kann man machen. Was noch nicht so richtig geht, es gibt in diesen Produkten auch Spiele. Das sind meistens so einfache Spiele. Finde alle Mäuse auf der Seite. Dann muss man alle Mäusern klicken und dann sagt der Stift, es ist alle gefunden. Diese Spiellogik, das ist generisch vorbereitet in der Firma. Man muss in dieser GME-Datei nur sagen, diese und jene Datei, diese und diese Mäuse, das, was man suchen muss, sage Folgendes, wenn was falsch gefunden wird, sage Folgendes, wenn du richtig bist, so ein Schema. Also relativ kompliziert, haben wir noch nicht vollständig entschüsselt. Es ist noch gar nicht so wichtig, weil man mit dieser Programmier-Möglichkeit und der Nachteil ist allerdings, ich kann, wenn ich eine vorhandene Ravensburger Datei nehme, mit meinem Tool zerlege, Sachen ändere und wieder zurückkonvertiere. Das geht prinzipiell. Meistens funktioniert das auch. Die normalen Spielmodi, also Vorlesen, Erklären usw., nur die Spiele gehen verloren. Das ist ein bisschen schade. Ravensburger selbst benutzt es auch gar nicht mehr so arg viel. Wir haben ein paar Städte und zu einem Gespräch gebeten. Das war freundlicher als es klingt. Sie haben mich auf die Spielemesser nach Nürnberg eingeladen, haben uns ein bisschen nett unterhalten. Offiziell ignoriert Ravensburger das weiterhin, es werden keine Steine im Weg gelegt, uns wird nicht geholfen. Ich soll immer dazusagen, wenn er damit irgendwas macht und verkauft, er bekommt etwas, Unterstützung, dann hat Ravensburg auch was dagegen. Ansonsten, solange wir schöne Sachen machen, wie wir es ein bisschen machen, ist da von Ravensburger Seite her auch soweit okay. Und da haben sie mir erzählt, dass diese vorgefertigten Spielmodi sind relativ einschränkend. Was sie inzwischen machen bei neuen Produkten ist, sie programmieren die Spiele komplett in Assembler, also nicht in Assembler, sondern mit normalen Programmiersprache und kompellieren es nach Assembler. Und in diese G-Dateien kann man auch Assembler-Code einbetten. Das kann ich auch mal Grint noch zeigen. Jetzt muss ich mir überlegen, welcher Datei sowas erst ein drittes. Hier war die Leserabe. Ja, genau. Dann kriegt mir so Dateien raus und wenn man die hier anschaut, dann sieht man, dass es App-Demo, okay, und am Ende sieht man, wie das sind so typische Strings, die hier auftauchen, also hier C++ Library-Exception, also es ist irgendwie eine normale Programmiersprache, die die da nehmen. Und inzwischen ist Assembly. Wer Assembler kann, kann uns natürlich noch sehr helfen. Es ist Assembly, ich mer finde den, die Frage ist halt, wie ist der Einsprungspunkt, wie ist das Interface zum System, also wie kann ich Sachen abfragen, wie kann ich Töne abspielen und so weiter. Sicherlich ein nettes Projekt, was ich machen könnte und wenn wir das auch noch gelöst hätten und dann beliebige Programme da drauf laufen lassen kann, wäre schon irgendwie cool. Genau. Wer jetzt mehr damit machen will auf tt-tool, also tipptoy-tool, entropia.de gibt es die benutzerfreundliche Einstiegsseite für in Deutsch. Das sieht, die haben wir gerade eben schon gesehen, sieht so aus, also schön ist es nicht, wer das für schöneren will, kann auch noch machen. Beispieler, Installation, wichtigsten Befehle, eigene Teilen erstellen. Genau, es gibt ein paar Convenienzsachen, also das Tool-Context-to-Speech, wenn ich also meine Sache entwickle, muss ich nicht als alle Töne aufnehmen, um zu testen, sondern ich sage einfach in meiner Datei, ja statt Hallo, mach doch einfach mal ein synthetisches Hallo rein und ich kann sofort eine G-Datei rausholen und loslegen mit meinem Experimentiererei. Richtig. Das Tool kann einem auch, da haben wir gar nicht noch geredet, kann einem auch die entsprechenden Codes rausschreiben als PNG-Datei, auch einen Ton, den viele Eltern inzwischen sehr gut kennen. Also man schreibt dieses Programm für diesen Befehl hier aus, tt-tool-oed-code und kriegt dann für jeden Bereich einen PNG-Datei, die man dann mit GIMP entsprechend auf sein Bild drauflegt und ausdruckt. Ausdrucken geht auf haushaltsübliche Laserdruckern mit etwas Glück. Also man braucht 600 oder 1200 DPI, damit es funktioniert. Ein guter oder mittelmäßiger bis guter Drucker kann das. Manchmal muss man was in der Rom experimentieren mit welchem Drucker, manchmal braucht man vielleicht einen anderen Drucker. Es hilft vielleicht, wenn man das eigentliche Bild mit einem Tintenstrahltrucker ausdruckt und dann mit einem Laserdrucker mit schwarz-weiß die Punkte drüber. Wir haben nachher beim Workshop einen Drucker hier, den ich testet habe, allerdings nur schwarz-weiß. Wir können uns gleich loslegen mit eigenem Bustline in schwarz-weiß. Richtig, das ist diese Seite. Wer tiefer in das Format einsteigen will, es gibt auf, ja, das ist ein bisschen arg klein hier. Und diese Adresse, also übliches Github-Repo, ist auch alles verlinkt, ist so der Quellcode und insbesondere dieser Datei GME-Format.md, wo beschrieben wird, was wir alles wissen, falls man nicht Haskell programmieren möchte und sein eigenes Programm schreiben will oder einfach so, weil man es interessiert. Das gibt es das. Es gibt eine Mainliste. Wer also anfängt zu basteln, soll bitte komische Fragen nicht mir persönlich schicken, sondern liebe die Mainliste, weil dann muss ich es nur einmal beantworten, andere können es im Archiv lesen und andere haben von manchen Sachen mehr Ahnung als ich. Ist auch verlinkt von hier irgendwo. Findet ihr alles? Sonst noch was, was ich euch auf den Weg geben muss, damit es nicht zu frustrierend wird. Ja, Bildbearbeitung, einmal noch. Bildbearbeitung, erste Regel ist, diese Codes nicht skalieren. Das heißt, legt euch gleich euer A5 oder A4 oder was ihr mir habt an mit 1200 mal 1200 DPI, schließt vielleicht im Browser, wenn ihr einen schwachen Rechen habt, damit ihr Platz habt auf dem Speicher und dann könnt ihr euer Motiv importieren und skalieren und dann die Codes importieren und die eben nicht mehr skalieren, sondern noch zuschneiden verschieben. Sonst geht es nicht mehr. Dann nimmst du einfach Code Null, glaube ich. Es gibt so ein Code, der nichts macht. Ich weiß gar nicht aus, wenn ich welche, weil ich habe so, schön wollte ich es noch gar nicht machen bisher. Sollte man vielleicht mal irgendwo noch vermerken, welcher das genau ist. Ah ja, gut, den kann man, kann mein Programm nicht generieren, aber könnte man noch irgendwann machen. So, jetzt wartet, oben wartet gerade eine Frage. Also auf dieser Seite ttool, kann ich, sind gleich mal ein paar Links zu verschiedenen Projekten. Das sind nicht alle mit Code, bei mir sind alle mit Code, glaube ich, die meisten zumindest. Als Internet Taschenrechner ist hier ein, auf Bitpacker, nicht auf GitHub, weil der Teil ist so groß für GitHub, ein Repo mit den entsprechenden Audio-Dateien und dem Code. Es gibt einen kleinen Beispiel-Dateien im Repo selbst und ich glaube dieser, hier hat auch jemand was Schönes gemacht, die Geschichte vom Verlorene Schaf vortont. Da ist auch der Code, glaube ich, ja auch da, also es gibt ein paar Beispiele. Richtig, das Konkurrenzprodukt oder eines der Konkurrenzprodukte davon ist der Ting-Stift, also Ting, der unterscheidet sich insofern, dass er etwas offener ist. Da gibt es nämlich verschiedene, also Produkte von verschiedenen Verlagen zu, nicht nur von dem Ting-Hersteller, bei Ravensburg ist es ein sehr geschlossenes System. Die Technik ist sehr ähnlich, also die gleiche Codes, gleiche OIDs Technik, aber schon diese Mapping-Tabelle ist anders und das Dateifamat auf dem Stift ist auch anders. Es gibt allerdings für Ting inzwischen, ist auch verlinkt von den Sachen, also alles dem Ting findet man auf dieser Webseite hier, die ist verlinkt vom GitHub-Repo aus und da hat kürzlich jemand gepostet, dass er einen der hat jemand sich um Ting gekümmert und auch irgendwie als unabhängig von uns hier eine, ist sogar noch größer geworden, eine eigene Software geschrieben, die das auch löst. Quellcode ist soft-free Software? Ja, schön. Vermutlich hätte ich das Ganze nicht gemacht, wenn meine Nerven den Ting-Stift benutzt hätten, weil dann wäre es ein offenes System, wäre langweilig. Okay, in einer halben Stunde lade ich alle einen zum Workshop-Raum zu kommen, dann kann jeder mal selber damit rumspielen, der will, seine eigenen Sachen basteln, wer Ideen mitbringt, ist gut. Das wollte ich noch sagen, aber jetzt gerne noch mal die restlichen Fragen, die noch da sind. Das wird ein Interpreter sein, also es wird einfach ein Programm sein, also mein Tool kann auch dieses Format sozusagen abspielen, also ich kann, ja genau, kann ich mal zeigen, ist auch nicht. Okay, Audio ist aus, oder? Du bist jetzt angemeldet. Tippe auf das Globus-Männchen. Es erklärt dir, wie dieses Ruh funktioniert. Ich kann es hier 1, 2, 3, 2, 9 eingeben und ich denke, da wird nix anderes. Delfine sind in vielen Meeren der Erde zu Hause. Sie sind Meereszeug. Ich denke, da wird nix anderes auf dem Stift auch passieren. Das ist ein starker Prozessor, ein armen Prozessor, da hat einfach jemand in, vermutlich, C++ oder so, ein Interpreter für dieses Bineer-Format geschrieben. Das sind, das Code-Format ist für die Bedingungen, ich kann es mal nebenher aufmachen. Ich glaube, die slotzen ja auch hier so, dass sie immer ein bisschen Platz ist zwischen Vorträgen, also ich glaube, wir können einfach auch problemlos 5 Minuten noch die Fragen klären, die da sind. Die Abfragen haben immer die Form operant, wobei das erste Byte angibt, ob es ein Register oder ein immediate Value ist und dann 16 Bit entweder der Wert oder die Registernummer oder Variablennahme, könnte sagen, dann der Operator als 2-byte und dann der Operant, der 2. Operant wieder entweder als fester Wert oder als Register. Und dann haben wir hier ein paar Operatoren entschlüsselt. Die Befehle, die was machen, haben eine ähnliche Form, aber da ist der erste Operator immer ein Register, manchmal ist er null, wenn er ignoriert wird, dann haben wir den Befehl und wieder wie oben den Typ vom 2. Operator und den Wert. Das ist da der Format. Und dann haben wir hier die ganzen Befehle, die wir haben, also die wichtigsten Arithmetic-Operatoren, die wichtigsten Bit-Operatoren, verschiedene Play-Befehle, warum auch immer, und ein paar komische Sachen. Und ein paar sie werden noch nicht verstehen. Gut, Mehrfragen. Habe ich mich selbst nicht so arg mit beschäftigt, ich bin immer, ich bin kein Hardware-Mensch. Aber es gibt einen Wiki hier, da haben andere Leute Sachen gesammelt. Hier gibt es verschiedene Revisionen von dem Verstift, mit verschiedenen Physischen Speicher. Manche muss man einschalten am USB, manche nicht einschalten. Ist das der? Gut, das Ding. Hier nochmal genauer. Richtig. Also war alles nicht so ganz versteckenfährt. Ich habe das andere machen lassen. Deswegen im Zweifel auch auf der Mainliste, wer mehr machen will. Gut, werden dann alle weiteren Fragen dann gerne nachher im Dock Shop. Und vielen Dank für die Aufmerksamkeit.