 Gut. Es sind alle da. Es ist alles aufgebaut. Sehr schön. So. Willkommen zu... Das ist ein schwieriger Titel. Aus Neumach alt. Und Till wird uns jetzt ein bisschen was darüber erzählen, wie man aus einem ESP32 so eine kleine Arcade-Maschine baut. Also, Dankeschön! Das war der Tag nicht vor dem Abendlogen. Gut. Wird ihr das denn? Das hört man nicht. Wie man sieht, weil es nicht zu hören, leider, wie man sieht, also Gallagher ist so einer von den echten Klassikern. Das ist ein 40-Jetzt-Genau-40-Jahre-Alter-Spielautomat. Weiß nicht, wer kennt das oben links. Das ist gerade richtig aktuell. 40 Jahre Wargames-Genau. Gallagher kam auch in Wargames vor. Eine Woche, glaube ich, ist hier, dass es 40 Jahre waren. Macht auch heute noch Spaß. Das ist ein bisschen im Stil der heutigen kleinen, wie heißen die, diese kleinen, kurzen Gimmickspiele auf dem Handy. Also alles, was so zwei Minuten lang Spaß macht, ein Euro reinschmeißen, damals eine Mark oder ein paar Fennig. Macht aber einfach heute noch Spaß. Das war so ein bisschen die Idee. Was bastel ich mal? Ich bastle mal so ein Ding für ein Schreibtisch. Kann man natürlich kaufen. Optionen kaufen gibt es auf jeden Fall. Gibt es für 20-30 Euro im China-Versand oder beim Amazon. Das ist dann so ein halbherziges Spiel, weil es halt alles copyright belegt. Das heißt, die programmieren dann so Pima-Daumen das Richtige nach. Und das sind dann so hässliche kleine Plastikgehäuse mit Batterie drin. Das ist so ein bisschen, das ist so ein bisschen so ein bisschen so ein bisschen so eine kleine Plastikhäuse mit Batterie drin. Das ist so ein bisschen so eine kleine Plastikhäuse mit Batterie drin. Die haben ja lange nicht so viele Anleitung im Internet natürlich. Erfindet man nicht zum ersten Mal. Das Ding ist fast immer Raspberry Pi basiert. Aber das ist irgendwie auch nicht das, was ich wollte. Also bootet mehrere Sekunden lang so eine Raspberry Pi, bis man dann los spielt. Kann es eigentlich der Spaß schon vorbei, weil es ist nur der Kollege, der gerade durch den Raum gelaufen ist, weil die große Frage das muss doch auch anders gehen. Da bietet sich der ESP230 an. Geller Gino heißt das ganze am Ende, war so Geller gar Arduino, weil diese Arduino Idee sollte da mehr so reinfließen, also alles klein und handlich einfach zu programmieren, wie eben so ein Arduino. Da bietet sich der ESP230 an, das ist so ein Mikrocontroller. Ich habe bestimmt einen hier liegen, da können wir gleich probieren, ob es mit dem Umschalten funktioniert. Da liegt er doch. So, da liegt er da unten, ist er. Der ESP230, das ist so eine klitzekleine Platine da unten, da ist nur der Chip drauf und dann gibt es für kleines Geld auch noch diese kleinen Bötchen mit daneben, da habe ich auch einen von genommen und das ganze der Vorteil ist einfach so was ist klein, so was ist ins und on, also dieses Strom dran an, spielen, Strom weg aus, tut nicht weh und ist einfach robust, also ein Raspberry Pi, da muss ich vorsichtig sein, der Teil ist nämlich kaputt, machen uns so weiter, da zieht ein Strom weg, ziehen wieder dran, mache weiter, da geht nichts kaputt und das ganze verbraucht doch minimal Strom. Das war so ein bisschen die Idee. Die Umsetzung dann der Reihe nach, erst mal gucken, ob es überhaupt geht. Also hat schon irgendeinen Grund, dass die Leute mal ein Raspberry Pi nehmen und Raspberry Pi sind im Vergleich zu einem ESP230 mal so ein Faktor 50 bis 100 schneller, ist die Frage, geht das tatsächlich? Muss ich ausprobieren? Dann war natürlich klar, einen kleinen Prototyp zu bauen, zu gucken, ob das auch auch umsetzbar ist alles und dann ein schönes Gehäuse, ein kleines Komplettgerät drauf zu machen, das ganze sollte am Ende Spaß machen. Und dann kann man natürlich am Ende sich überlegen, was man danach noch damit macht, also irgendwie mehr Spiele drauf tun, nicht nur einen Gallagher oder irgendwie ein Akkubetrieb, das man es unterwegs benutzen kann, ein bisschen dafür sorgen, dass andere Leute das auch leichter nachbauen können und irgendwo veröffentlichen, vielleicht auf so eine Heckerveranstaltung gehen und so ein bisschen die Werbetrommel rühren, das kann man dann am Ende machen, wenn man damit dann durch ist. So, erste Frage war natürlich Machbarkeit, kann so ein ESP32, das überhaupt? ESP32 hatten wir eben das kleine Ding hier, ist ein 240 MHz Dualcore Prozessor, der Gallagher damals, das waren Z80 Prozessoren, das sind 40 Jahre alte, 40 pinnige Häuse, kommen wir gleich noch mal zu, drei Stück waren da immerhin drin, also wenn die damals gemerkt haben, Rechenleistung reicht nicht, dann haben sie einfach noch eine CPU, noch eine CPU eingebaut, bis sie dann genug hatten, dreimal 3 MHz war, das klingt irgendwie, also zweimal 240 MHz gegen dreimal 3 MHz, das sollte ja irgendwie machbar sein, das klingt irgendwie machbar. Ok, Check ist machbar, nächste große Frage war natürlich, kann ich das? 40 Jahre basteln, sollten so eine gute Voraussetzung sein und die Kinder werden langsam groß, wieder ein bisschen mehr Zeit da, ich denke auch Check, auch das sollte eigentlich erfüllt sein. So, kommen wir zum eigentlichen Spiel, dem Gallagher Spiel, aber wieder zwei Möglichkeiten. Der erste ist, ich schreibe das einfach selber, der Prima, weil dann ist es meins, dann kann ich es vertreiben, dann kann ich daraus machen, was ich will, habe ich die einzigen Rechte dran, das ist verdammt viel Aufwand und das wird nie das sein, was das Original war, das Original ist einfach schön ausgewogen, schön rund, die Bewegungen der Raumflüsche sind prima, das Ding war einfach schön, das hat schon Grund, dass die Leute das 40 Jahre lang gern gespielt haben, würde ich so nicht hinkriegen. Vorteil wäre aber natürlich, wird das genau für mein Setup programmieren, das wird genau darauf passen. Die andere Option ist, ich nehme den Originalcode, den Code, der damals auch in den Spielautomaten steckte. Eigentlich wissen das Problem, ist nicht meiner, kann ich bestenfalls für mich selber machen, im Eigenbedarf, aber großartig vertreiben oder so, kann ich da nichts, aber soll ja ein Spaß sein, von daher tut das nicht so weh. Das ist wenig Gehraufwand, das muss man sich genau angucken, weil den Code kriege ich zwar umsonst, aber so 100% ich pass das nicht, kommen wir gleich zu, aber der große Vorteil ist, das ist das Original, also das wollte ich. Das Spiel, so wie es damals war, war aber leider für die Gehrleger Hardware geschrieben, so jetzt kommt die große Frage, was ist denn das die Gehrleger Hardware? Erstmal ganz grobsen Spielautomaten damals, das war nichts anderes als heute auch jeder Computer. Das heißt, in der Mitte ist irgendwo ein Mikroprozessor, heute ist das irgendeine Intel CPU, damals war es eben so ein Z80, wie da in der Mitte abgebildet ist. Links davon ein bisschen Speicher, ich weiß nicht, wir haben schon mal so ein Ding mit Fenster gesehen, so ein E-Prom, sehr schön, ganz viele. Heutzutage flasht man seine Firmware im Handy einfach neu, dieses Flaschen, das kommt von dem Griff Flaschspeicher, der da drin ist, der lässt sich elektrisch neu schreiben. Das war nicht immer so, also es gab früher Zeiten vor 40 Jahren, da konnte man so ein Chip nicht ohne weiteres Elektro schreiben, noch viel schlimmer, man konnte ihn vor allem nicht löschen, also einmal programmiert, war programmiert und um den Code wieder rauszukriegen, musste man die Dinger mit UV lichten, den Chip und dafür haben die dann Fenster gehabt, da konnte man dann mit Erröhre, mit UV löschen, das hat dann die Bits da drin in aller Seelenruhe gelöscht und danach konnte man Spezialgerät neu beschreiben, also das ist dann so wie vor 40 Jahren der Code-Speicher in so ein Gerät reinkam, da waren dann die Anweisungen drin, die der Mikroprozess ausführt und es gab eben auch, dass da drunter ist ein Rammspeicher, also das was heutige PCs auch haben, wo sie dann Zündstellen drin speichern, wo Bilddaten drin sind und so weiter und auf der letzten Seite gibt es dann eine Ausgabeschipps, also die den Bildschirme ansteuern, die Sound ansteuern, damit der Automat auch irgendwie sichtbare Dinge zeigt. Das sind die drei Dinge, die so eine Gallagher hat, wer hatte, so sah das dann in der Praxis aus, das sind ziemliche Eume, also es waren so Backblechgroße, Platinen, zwei Stück, die Linke, die haben sie auch in mehreren Automaten verbaut, das ist die eigentliche Recheneinheit, da waren die drei Z80 CPUs drauf, die die ganze Rechenarbeit gemacht haben. Da sind die E-Proms drauf, das sind jetzt mit den Aufklebern drauf, weil aus Versehen Licht drauf fallen sollte halt auch die Daten nicht löschen, das heißt die haben dann damals Aufkleber auf die Fensterchen geklebt, damit das Licht draußen bleibt. Und dann ist da noch ein bisschen Rammspeicher-Logik drauf und die zweite große Platine, das ist die Videoeinheit, das war nicht wie heute irgendwie ein Videochip, den man irgendwo fertig einkauft, sondern die haben aus hoffenweise klein, einfachen, Standard, Gatterbaustein, Logikbaustein, sich da so eine Videoeinheit zusammen gebastelt in so einem Ding, relativ aufwändig. Und da sind auch wieder die E-Proms drauf. Kommen wir gleich noch, warum da E-Proms sind. Links Programmcode, rechts Video, kann man vermuten, da ist irgendwie Bild drin, da sind Grafiken drin in so einem Chip auf der rechten Seite. So hat das damals funktioniert. Dann gucken wir mal meinen Ding hier dazwischen. So, netterweise hat man heutzutage auch die Schallpläne von den Dingen, die sind konserviert worden, die sind nämlich damals mit den Geräten mitgeliefert worden und zwar richtig schick. Also wenn er nach Google, Gallagher, Schematik, PDF, findet richtig nette Dokumente, da steht unter anderem auch drin, was überhaupt so eine CPU gemacht hat und so ein paar Schallsymbole sind erklärt. Sehr nett gemacht, lohnt sich also, wenn man es interessiert, da mal nach zu googeln. Das ist ein klitzekleiner Ausschnitt aus dem Schallplan, tatsächlich der vom Gallagher Automaten. Da sieht man links eine dieser CPUs und was man hier auch wieder sieht, ist der Programmspeicher, diese E-Proms mit dem Fenster und eine Hand vor Logik. So, jetzt kommen wir natürlich an die ganze Hardware von damals nicht so ohne weiteres dran. Ich weiß nicht, wer hier die Retro Game Club GDV oder wie der heißt, genau Retro Games EV kennt aus Karlsruhe. Die haben haufenweise Maschinen, lohnt sich mal einen Besuch dazu machen, die haben Arcade Automaten, ganz viele da rumstehen, aber normalerweise kommt man da nicht ran. Wo man ran kommt, ist aber an den Inhalt dieser Chips. Da sind wir nämlich nicht die ersten, die da Interesse dran haben, das hat schon mal jemand ausgelesen. Irgendwer hat so ein Automat noch rumliegen mit den Original-Daten in den Chips und dann gibt es so kleine Adapter, die werden in den USB angeschlossen, kann man den Chip reinstecken und auslesen. Das ist tatsächlich da rechts oben, in Hexter stammt, das sind die ersten 128 Bytes von so einem Geleger-Rom, von der ersten CPU auf dem Geleger-Automaten. Insgesamt hat so ein Ding, dass man aufgelistet, was da für CPU-Stilver, so für E-E-Proms drin sind, E-Proms, also insgesamt sind es 73.000 Bytes, die in den ganzen Geräte drinstecken. Das ist eine handhabbare Größe, da kann man umgehen, da kann man drin rum suchen, da kann man versuchen zu verstehen, was das für Teile sind zum Vergleich der ESP32 mit 4 Megabyte. Das ist schon mal ein Faktor, was ist das? 50 mehr, und das da unten ist Zelda, Tiers of the Kingdom, 34GB, also das mal in den letzten 40 Jahren so ein Spiel um Faktor 500.000 größer geworden. Zeigt uns aber, dass wir mit heutiger Hardware eigentlich eine Chance haben sollten, damit umzugehen. Das ist die große Frage, was machen wir mit diesem Code, der überhaupt nicht für unseren ESP32 gemacht ist. Keine aktuelle CPU kann diesen Code ausführen. Das sind zwar heute auch nur Bytes, genau wie damals, aber diese Bytes, die im heutigen Code drin stehen, bedeuten etwas ganz anderes. Wenn ich die in der heutigen CPU vorwerfen würde und würde sagen, hier führt das mal aus, was da steht, das wird nach 3, 4, 5 Befehlen zu irgendeiner Ausnahme führen, dann wird der PC sagen, Bluescreen, was ich weiß, Schutzverletzung ist nicht. Also diesen Code kann man nicht einfach ausführen. Was man aber machen kann ist, man kann ein Stück Software schreiben, das tut so, als könnte es diesen Code ausführen. Und was dann passiert, das nennt sich Emulation, das hat bestimmt schon alle möglichen hier gehört. Das sind, wie man alte Spiele zum Laufen bringen. Das Emulation bedeutet im Wesentlichen, ich schreibe ein Programm, das verhält sich wie der alte Computer. Das klingt ja erst mal schön einfach. Also das jetzt wieder, wer eben einmal reingeguckt hat, die ersten beiden Zeilen da oben, die ersten beiden Bytes im Original Geleger ROM sind 3E10. Da sind sie wieder. Das ist der erste Befehl, den so ein Z80 ausführen würde, wenn er eingeschaltet wird, ist der Befehl Load-Akku mit Hexadezimal 1.0, also im Dezimal System 16, da wird irgendwo ein internes Register, der CPU wird eine 16 reingeladen. Das ist das Erste, was der macht. Dafür tut er nicht viel. Dafür lädt er diese beiden Bytes, das ist zweimal auf den Speicher zugreifen, dauert ein paar Nanosekunden. Dann lädt er das in seinen Akku rein, ist fertig, das ist nicht viel, was er dafür tun muss. Der ISP32, wenn er dasselbe tut, führt ein Haufen Code aus. Also diese Emulatoren Codes, die man da im Internet findet, das sind Tausende von Code Zeilen oder die man auch selber schreiben kann natürlich. In dem Fall habe ich mich bedient extern. Und das muss der alles, das tatelligen Ausschnitt aus diesem Emulationscode, das sind nur ein paar von vielen, vielen, vielen Zeilen, die der ausführt, wenn er einen dieser Befehle ausführen will. Und dann wird irgendwo auch klar, wo das Problem bei der ganzen Sache ist, Emulation ist sehr, sehr, sehr, sehr rechenaufwendig. Also was ein Befehl für den einen ist, ist für den anderen Ganzes-Computer-Programm, das er durchlaufen muss. Da relativiert sich dieser Geschwindigkeitsunterschied von irgendwie 3 x 3 zu 2 x 240 MHz schon ganz heftig. Also da ist so ein Faktor 50, da war nicht mehr so ganz klar, ob das alles funktioniert. Und natürlich sind wir mit der Nummer noch nicht ganz fertig an der Stelle. Jetzt haben wir uns so überlegt, was machen wir aus der CPU? Da nehmen wir diesen Emulationscode, was machen wir mit den Speichern? Das ist nicht so das Kunststück, also ausgelesen Hambasio, dann legen wir es halt in dem Speichertest und modernen Computers ab, Speicheres speichert, das ist kein Problem. Aber das, was auf diese rechten riesigen Platine drauf war, diese vielen, vielen Bauteile, die irgendwie Video hin und her gemacht haben, sich um die Grafik gekümmert haben, das fehlt auch noch. So, dann gucken wir mal auf Spaß da rein, was da eigentlich drin ist. Also haben wir gesehen, auf diese rechten Platine waren auch so E-Proms, also auch irgendwelche Daten. Ich habe hier rechts mal einen Pac-Man Bildschirm hingemalt, statt eines Gallegers, weil man an Pac-Man relativ gut sehen kann, diesen ganzen alten Dingern liegt ein Raster zugrunde. Also wenn man genau guckt, merkt man, das Spiel fällt und dieses Raster, was ich da so drauf gemalt habe, passt übereinander. Das liegt, das ist eine Hardware-Beschränkung. Die haben damals immer nur an bestimmten Stellen, auf dem Bildschirm bestimmte Objekte darstellen können, in einem festen Raster. Also wenn man sich so ein altes Mario-Spieler so anguckt, auch alle Objekte sind in einem ganz festen Raster angeordnet und da gibt es so einzelne Objekte, die können so durchlaufen, springen, machen Spielergrafiken, wie hier auch der Pac-Man oder die Geister, die können sich frei bewegen, aber der eigentlich Hintergrund, das ist ziemlich statisch. Das Licht in der Hardware-Beschränzung drin und jetzt gucken wir mal kurz, was damit auf sich hat. Also wir haben diesen Speicherschip, wie gesagt, können wir auslesen. Den haben wir ausgelesen, da war der Befehl drin. Den können wir auch auslesen. Oder man lädt sich es auf dem Internet. Das sind tatsächlich wieder die ersten paar Bytes aus einem dieser Speicherschips, jetzt aber den, der in dem Videoteil drin steckt. Da hat man als Emulatorentwickler jetzt ein kleines Problem. Das heißt, man hat diese 0 und 1 da und muss da irgendein Sinn draus machen, war weiß. Das benutzt der Original Hardware-Dings irgendwie, um Grafiken auf dem Bildschirm zu bringen. Aber wie? Das muss ich jetzt rauskriegen. Wie wird aus den paar Bytes das da? Gucken wir mal die ersten 8 genau an. Das sind jetzt die ersten 8 Bytes einmal vertiker hingeschrieben und ums uns einfach zu machen, binär. Also die ersten 8 Bytes in Hexdarstellung und da rechts daneben binär und um das ein bisschen anschaulicher zu machen, habe ich mal die Einsen so ein bisschen orange hinterlegt. Und da sieht man schon, das sind so zwei so halbrunde Dinger irgendwie. Also das sieht schon mal aus, als könnte das irgendwas Grafisches sein, vielleicht. Man weiß es nicht. Machen wir einen zweiten nach dasselbe. Das ist ein grün hinterlegt, ist ein bisschen schlecht zu erkennen, vielleicht. Aber ist so auch so halbrunder Kram irgendwie. Nehmen wir mal jetzt eine Hälfte davon. Das ist ja zweimal dasselbe. Das ist die nächste Frage, warum es zweimal dasselbe ist. Also warum speichere ich einfach immer zweimal dasselbe? Hätte ich mir sparen können, hätte ich es noch einmal gespeichert, hätte ich halb so viele Speicherschiffs gebraucht. Hat bestimmt noch einen tieferen Sinn. Ignorieren wir mal fürs Erste. Also zwei Hälften haben wir. Die setzen wir mal so nebeneinander. Was könnte es sein? Das drehen wir jetzt noch ein paar Grad nach links. Und dann ist es tatsächlich, habe ich es auch schon gehört, das sind die Nullen. Das ist wirklich genau die Null, wie sie da oben steht. Die war beim Pac-Man Automat dieselbe Null wie beim Gelläger. Deswegen passt das an dieser Stelle. Das ist das Gelläger-Rom, aber ein Pac-Man als Beispielbild. Interessante Frage ist, aber warum nach links drehen? Warum nach links drehen? Ganz einfach. Genau. Der Pac-Man Automat und der Gelläger Automat sind Upright-Bildschirme. Das heißt, dass der Bildschirm höher als erbreit ist. Und weil die aber auch damals nicht einfach alles neu erfunden haben, haben die die Maschinen damals aus Fernsehern gebaut. Da war klassische Fernsehtechnik drin. Das heißt, der Bildschirm, der da drin verbaut ist, war eigentlich für Querformat erzeugt worden. Den haben die nur um 90 Grad gedehnt eingebaut. Das heißt, die haben die gesamte Computer-Grafik, die die mit dem Ding aufgebaut haben, auch um 90 Grad verdreht herstellen müssen. Und dann ist klar, dann programmieren sie natürlich gedrehte Nullen, weil in Wirklichkeit liegt das ganze Ding auf der Seite und die Nullen liegt in Wirklichkeit auch aus der Seite. Und so kommt es zu der Drehung an der Stelle. Das letzte Geheimnis ist, warum ist alles zweimal da? Wenn man sich dann einmal angefangen hat, also die zweite Zeile, wer Lust hat, macht ein Foto und dekodiert mal die zweite Zeile, ob dann eins rauskommt, sieht man hier, die nächsten Zeilen sind immer so doppelt dasselbe. Also irgendwie ist das alles immer dasselbe. Das hört auf. Also, wenn man weiter durch den Speicher geht, hört es irgendwann auf, doppelt zu sein. Und dann, wenn man dann anfängt, sich das genauer anzugucken, was sich dahinter verbirgt, das sind dann zwei Bit pro Bildpunkt, die man hier hat. Also sowohl im linken als auch in der rechten Hälfte jeweils. Mit zwei Bit kann ich vier Zustände darstellen. Das heißt, mein Buchstabe oder mein Zeichen, was auch immer, kann aus vier verschiedenen Farben bestehen. Nicht nur aus schwarz und weiß, sondern aus vier. Und das nutzen sie dann, der Packman, glaube ich, nutzt hier tatsächlich nicht. Wie gesagt, die Spielfiguren sind ja was anderes, aber der Gelliger macht das. Das sind irgendwo so ein paar statische Objekte, die haben Farben oder mal ein Buchstabe mit so ein bisschen farbigen Ecken. Also, das haben sie gemacht, um Farbe reinzukriegen. Interessanterweise haben alle Maschinen aus dieser Zeit dieselben Art mit vier Farben zu arbeiten. Da gibt es praktisch keine, die da mal acht Farben einsetzt oder nur zwei. Das sind immer vier. Alles ganz interessant generell, wenn man sich die Dinger anguckt, wie gleich die sind. Also, auch wenn man sagt, wir nehmen so ein Röhrenbildschirm, die wir 90 Grad gedreht einbaut, hat man zwei Möglichkeiten, ihn zu drehen. Aus irgendeinem Grund waren sich alle Hersteller einig, die Dinger drehen sie nach rechts. Keine Ahnung, ob da der erste wirklich immer beim zweiten abgeguckt hat und ein bisschen modifiziert und eine weitergemacht hat, aber die haben sich auf so ein paar Dinge geeinigt, dass die Darstellung von Datenspeicher angeht, da waren sich einig, wir um sie drehen waren sich einig, aber immer mal was in die Richtung. So, jetzt haben wir das, was wir als zweites nachbauen müssen. Also, neben der CPU brauchen wir auch irgendwie eine Videodarstellung, die auch dem von damals entspricht. Das ist mehr so eine Fleißarbeit, also, ich einmal da durchzuwühlen, was heißt denn das und sich dann so ein bisschen die Grafiken zu konvertieren und die in irgendeinem anderen Bild schon darzustellen, das ist einfach machbar. Aber so ganz bin ich noch nicht auf der sicheren Seite da, also bis dahin war mir klar, ich weiß ungefähr, was ich tun muss, aber ob das am Ende tatsächlich funktioniert und ob dieser ESP32 reicht war, immer noch nicht ganz klar, weil zum Beispiel, das ist jetzt ein Beispiel von vielen da drin, die Daten zwischen dem kleinen ESP32, können wir umschalten hier. Also, wenn wir das hier sehen, wo muss ich denn hin da, das ist der ESP32 hier, das ist ein Bildschirm, da sind nur so ein paar Käbchen dazwischen und das eigentlich für Zuhause, für Bastleins, das ist super, da drehte Stecken und ich habe ein Bild, alles super. Der Nachteil ist, diese ganzen Daten müssen durch diesen einen Draht technischen dickern, der Datentakt, also die Verbindung zwischen diesen beiden Dingern ist auf 40 MHz begrenzt, das heißt ich kann 40 Millionen, Nullen und Einsen pro Sekunde dadurch pumpen, da ist das Limit. Eigentlich sind sogar nur 10 Lautdatenblatt, aber bis 40 funktioniert, das nutzen wir mal aus, also die 40, die brauchen wir auch. Der Bildschirm-Inhalt von so einem Gellager-Automat sind 284 mal 224 Bildpunkte und jetzt kommt das Gemeine, der ESP32 beziehungsweise in dem Fall ist es der Bildschirm, der kleine, die wollen paar 2 16-Bit Grafik übertragen, also 16-Bit pro Bildpunkt, die können schön viele Farben darstellen, die kann man auch nicht sagen, weniger Farben. Was dazu führt, dass ein einziges Bild von der CPU zu dem Bildschirm rübergeschoben, über eine Million Bits sind. Jetzt habe ich oben meine 40 MHz, sind wir noch gar nicht, wir haben jetzt 60 Bilder, das hat der Gellager-Automat damals gemacht, 60 mal ein neues Bild pro Sekunde, sind 62 Mbit pro Sekunde. Das beißt sich mit den 40 da oben, das ist leider mehr. So und das sind so kleine Stellen, die kommen immer mal wieder, irgendwo läuft man immer in so kleine Hardware-Beschränkungen rein, da muss ich, da kann ich nicht dran vorbei, da muss ich ein Kompromiss eingehen, das heißt so perfekt wird es nicht werden, aber hey, 30 Hz ist auch eine schöne Bildfrequenz, da habe ich dann nur 31 Megabit, das passt in die 40 rein, also das Klang nach einem Kompromiss, mit dem man leben kann. So, jetzt haben wir noch eine kleine, eine kleine andere Baustelle, da gehen wir nur ganz schnell drüber, Audio Tonausgabe, haben die Dinger natürlich auch, wieder so ein Chip, wieder von der Platine, wieder wirklich der Gellager-Automat, das sind die ersten 32 Bytes im Speicher der Soundchips, beziehungsweise ob das wirklich Sound ist, wird man dann nachher merken, also oft weiß man gar nicht, wofür dieser Chip zuständig ist, man hat da die Daten darin erkennt, so nach Code sieht es nicht aus, nach Grafik irgendwie auch nicht, vielleicht hat es was mit Sound zu tun, muss man wieder reingucken und raten, was das denn sein könnte. So, diesmal schreibe ich einfach mal alle 32 Zahlen Dezimal dahin, also das ist einfach vom Hexal Dezimal da oben übertragendes Dezimal, das sind die Zahlen einfach 7, 9, 10, 11, 12, bla bla bla und so weiter, kann wieder rumraten, was das sein könnte, man kann die mal auch Spaß der Größe nach als Kurve hinmalen und dann, das sind Sinus. Das ist ein Speicher Chip, in dem die Wellenform der Audiosignale drin liegen und in diesem Fall der Sinus, das sind auch mehr, wer lange weil er hat, macht wieder ein Foto und nimmt die zweite Zeile und guckt wie das aussieht, das ist dann mal ein Segezahn, also irgendwelche Audio-Muster, die so damals in so Sounds gerne vorkamen. So und jetzt, denkt man sich, okay, der Audio, das war jetzt, das war einfacher als das Video, das war doch am Ende, alles viel einfacher werden mit dem Audio. Ne, beim Bild, da mache ich alle 60 Sekunden neues Bild und bin fertig oder wenn ich, wie eben gesehen, eine Schränkung drin habe und kann sowieso nur 30 Bilder machen, dann muss ich alle 30 Bilder neu, alle 30, 30 Mal pro Sekunde neues Bild fertig haben. Was ich dazwischen mache, ist völlig egal, ob ich dann zwischendurch irgendwie, was umrechne, was konvertiere, mich mit der Emulation beschäftigt, ich muss nur alle 30 Sekunden Bild abliefern. Wenn ich so eine Audio hat, wer hat, muss ich leider 24.000 Mal pro Sekunde so einen Analog-Signal ausliefern. Das ist vom Timing viel unangenehmer als die eigentliche Bilddarstellung. Das am Ende zusammen zu knuspeln, dass der Ton halbwegs unterbrechungsfrei und knitterfrei daraus kommt, ist tatsächlich eine unangenehme Baustelle. Ein bisschen haben wir bei dem ganzen Vorteil. Jetzt haben wir wieder den ESP32 mit seinen beiden Chores. Da war dann die Entschädigung hier ein, lasse ich einfach CPU rechnen, der macht mir meine Recheneinheit, der macht die linke Platine und der zweite Chore macht mir dann Video und Audio und ist dann da ausgelastet. Das hat noch eine Handvoll Details, die lassen sich alle im Code nachlesen, aber damit war erstmal klar so ungefähr müsste ich es machen, damit es funktioniert. Jetzt kam die große Frage natürlich so, was mache ich, damit ich es einmal sehe, ob es überhaupt tatsächlich klappt. Dann so der klassische Ansatz, ich nehme so ein Dreadboard, das ist aus so einem allerersten Video rausgeknipst, deswegen ist es sehr unscharf. Nur der Bildschirm, nur der ESP32, 6 Käbchen und ein bisschen rumprogrammieren. Was man hier nicht sieht, da fehlt auch noch die Hälfte, da fehlt das noch keine Tasten, also spielbar war das nicht. Das war das, was der Automat von sich aus macht, wenn man gar nichts macht. Da fehlt auch der Sternenhintergrund, der ist hier auch nicht zu sehen, das Ding hat auch keine Töne ausgegeben. Das war so der allererste, ich probiere mal, was geht und es lief ein bisschen langsam und ruckelig, aber es lief. Und damit war so, hey, es ist knapp, aber es ist machbar. So, dann über die Zeit, dieser Steckbrettaufbau ist natürlich praktisch, da kann ich probieren, da kann ich machen. Das ist jetzt genau der, der hier liegt, glaube ich. Ja, das ist genau der. Kleiner Unterschied, hier ist jetzt so ein kleiner Joystick drauf, da waren es noch Tasten. Wir können ihn tatsächlich mal einschalten. Jetzt brauchen wir ein bisschen Kabelage, versorgen wir mal mit Strom. Also jetzt wird hier umgeschalten, sonst sieht ihr nichts. Guck mal ob es reicht. Schlechter Kontrast eure Kamera. Also man sieht, was da passiert, was, da sind irgendwie so ein paar Los, das waren so die ersten, das nächste, was man gleich sieht, so ein Brettboard aufbaut, kommen wir gleich zu, ich hab jetzt hier bewegt, das Ding ist gleich ausgegangen und wackelt, also diese Steckbretter sind prima, um mal irgendwas auszuprobieren. Praxistauglich ist da, ist das wenig. Also ich darf hier nicht an den Kabeln wackeln, diese ganzen Steckverbindungen hat neben, das sind 40 Megahertz, also 40 Millionen Bits pro Sekunde und ich hab da zwei, zwei Dinger zusammengesteckt mit Steckfedern, das, das beißt sich ganz schön. Da kann man eben genau das machen. Man kann mal gucken, was geht, aber praxistauglich ist es nicht. Trotzdem, trotzdem habe ich es ein bisschen dokumentiert, finde ich dir auch alles im GitHub, wer es nachbauen will, also so eine Steckbrettanleitung, möglichst einfach gehalten, kann man nachstecken, wenn man möchte. So, auf diesem Bild sieht man schon, da ist schon jetzt der Lautsprecher dabei, auf einmal, also der kam dann auch irgendwann und ein bisschen optionale Sachen kamen noch dazu, hier ist nochmal der Lautsprecher, also eigentlich ist er nicht optional, weil ohne Lautsprecher macht das echt keinen Spaß. Und natürlich braucht es Blinkenleitz, ganz dringend, also Blinkenleitz, bunte Leuchtheoden, wie irgendwas machen. Das ist da oben, in diesem Marquetbereich, ihr kennt diese Art Automaten, die hatten früher so ein beleuchteten Teil oben, das ist genau die Stelle, wo so ein paar bunte Leuchtheoden reingehören. Das ist tatsächlich, das ist tatsächlich optional. So, jetzt, wer schon mal mit dem Arduino IDE und dem ISP32 rumgebastelt hat, wird an dieser Stelle viel leicht fragen, jetzt ernsthaft, echt, das mit der Arduino IDE, das ist doch furchtbar, das ist wirklich kaum zur Hand haben. Äh, nee, nicht mit der Arduino IDE, also nicht wirklich. Äh, größtes Problem ist auch der Upload auf den ISP32, das ist mal, wenn eine kleine Zeile geändert hat, Upload dauert 30 Sekunden, das ist endloser Kreisverkehr, dass man ewig dabei und die Backen kann man auch nicht so richtig auf dem Ding, also mal eben irgendwie ein paar Daten ausgeben, irgendwo eine Grafik anzeigen lassen, irgendwo ein Signal begreifen zu gucken und geht das jetzt, passt jetzt völliger Wahnsinn. Aber wer hält mich dann davon ab, mein Emulator zu emulieren. Das heißt, der ganze Code, dann investiert man halt nachmittag und macht einen Windows oder Linux Programm, das genau dasselbe auf dem Desktop tut und genau diesen Code benutzt, den ich da auch benutze. Jetzt habe ich natürlich wieder den Nachteil, ich kann nicht testen, ob es wirklich von der Rechenleistung gereicht, ob es schnell genug ist, in den sauren Apfel muss ich beißen, aber zumindest mal dieses ganze fein Getune, sind die Pixel an der richtigen Stelle, stimmen die Farben, sind die Sprites vielleicht ein bisschen zu weit rechts oder links, das kann ich alles am PC testen. Das ganze Gro der Codierung kann alles am PC passieren. Da fallen dann auch so lustige Testprogramme raus wie das links unten, das Kommando-Zeilen-Tool. Es gab den Moment bei einem anderen Automat, später auch noch implementiert, dass das Audio war riesig, schwierig zu verstehen, hat eine ganz andere CPU noch dazu benutzt, war irgendwie echt knifflig. Da schreibt man sich halt so ein kleines Kommando-Zeilen-Tool, das einfach mal nur diese Audio Bearbeitung nachmacht und dann hat man lustiges Tool, da kann man jetzt alle Sounds dieser Automat erzeugen konnte, per Kommando-Zeilen einfach erzeugen lassen. Da muss man auch nicht spielen und gucken, wann komme ich endlich, wann sterbe ich endlich im vierten Level, weil da das Spezialsound kommt und gucken will, ob der auch stimmt, sondern ich kann alle Sounds einfach abgreifen, gucken ob ich das richtig berechnet habe, ob das stimmt und das kann ich dann einfach in den Automaten am Ende übernehmen und mich damit durch. So, damit ist eigentlich alles, was ich brauche zusammen. Also Prototyp hat gezeigt, das ist irgendwie machbar, eine halbwegs bequeme Entwicklungsumgebung habe ich und los geht's, wir wohnen Gehäuse. Mit der Elektronik ist nichts zu Ende, wie gesagt, das ist hier alles ein bisschen wackelig, alles nicht so der Hit, das soll irgendwie robust sein, soll schick aussehen. So, zwei Möglichkeiten, das erste ist 3D Druck, das ganze was das Original war, ist so eine eckige Holzkastenkonstruktion aus Sperrholz, das ist auch irgendwie, wenn man so was hier aus Plastik druckt, das dauert ganz schön lange und irgendwie schreit das nach Lasercutter und ich habe einen Kollegen in Lasercutter gehabt und hier in der Stadt gibt es auch welche, bei irgendwelchen Makerspace ist, das heißt, wenn man sowas besten will, da kann man hingehen, sich das Laser anlassen, das schrie nach Laserschnitt, das sind simple, glatte Formen, schnell, schneller als er druckt, das war prima, aber so ganz, ganz nur mit Lasercut, war es leider nicht zu machen, der Joystick, da gab es, da gibt es ein paar Sachen im Internet zu kaufen, also hier ist mal so einer, jetzt können wir wieder umschalten, ich habe ein bisschen was mitgebracht, hier ist so ein Joystick, wie man ihn kaufen kann, sieht man ganz schlecht, auch für kleines Geld, na, hätte ich vorher sortieren sollen, na, hier ist noch einer, das ist aber so ein ähnlicher, na, habe ich wahrscheinlich tatsächlich nicht eingesteckt, nicht hält, doch natürlich, da ist alles, so, also hier ist auch noch so ein so ein Joystick, man kriegt so kleine Dinger aus dem Internet, das ist kein Ding, die kann man kaufen, wenn man sie dann irgendwann im Briefkasten hat, stellt mal fest, die sind echt schwergängig, also wenn ich sowas irgendwo einbaue und dann hebele ich dran rum, na, war alles nicht so meins, also, danke aber, ich halte jetzt zurück, also 3D Druck, wozu haben wir denn so ein Ding, Freecat genommen und so ein bisschen was ausgedacht mit so ein paar normalen Tasten, die man dann da einbauen kann, ausgedruckt, zusammengelötet, festgestellt, das ist alles irgendwie so ein fliegender Aufbau, aber machbar ist es, damit war der Joystick eigentlich auch abgefespert und ich war halbwegs zufrieden mit dem Joystick, blieb das Gehäuse selber, das kann man relativ einfach verzeichnen, man sich so 2D-Dinger mit den 2D-Programmen nachmittags sortieren, das ist von den Maßen passt, aber das erste Mal, dass ich es gemacht habe, das heißt, ich wollte nicht gleich zu meinem Kollegen rennen und sagen hier Laser das mal, der wäre ja irgendwie X mal losgerannt, also, erst mal nicht Laser-Card, erst mal Pappe, das ist total praktisch, Cuttermesser ausschneiden, diese 3mm dicken Pappe kann man prima irgendwo im Internet kaufen, die ist relativ fest, ist von außen so papierbeschichtet, lässt sich sehr schön schneiden, da kann man genau das einmal nachschneiden, zusammen stecken, stellt fest, ob es passt oder nicht passt, irgendwie kommen sich dann mal so ein paar Dinge, was ist hier vorne der Knopf, mit dem Joystick Teil ein bisschen ins Gehege, dann rückt man es auseinander, das ist prima für so Feintchen und ich habe tatsächlich damals überlegt, ob ich es einfach so lasse, also die Pappteile sind noch da, die sind, die sind tatsächlich relativ robust, die konnte man auseinander bauen, könnte man einfach wieder verwenden, also das ist eigentlich schlecht aus, aber ich wollte ja tatsächlich ein bisschen mehr daraus machen, nee, jetzt habe ich es schön gemacht, jetzt lasern wir es wirklich mal, also aus diesen Zeichnen kann man einfach so ein Vektor-Ding machen, das nimmt man ein Laser-Cutter und das schneidet es einfach aus, das ist gar kein Ding, dann fallen diese Dinger da fertig raus. Um da rein dann die Elektronik zu bringen, werde ich leider mit meinem Fliegenaufbau nichts, also hier das dicke Brettbord da, das kriege ich da nicht rein. Also muss ich anfangen, die Sachen direkt zu verlöten und das ist dann so ein relativ hässlicher Fliegender Aufbau, erst mal habe ich mir so Pläntchen gemacht, die habe ich dann auch im Internet abgelegt, zum Nachbasteln, da wird so ein Planet in welcher Reihenfolge und wie man das alles verkabelt. Und nun, wenn alles zusammen ist, dann kann man es zusammenbauen. So, das heißt, das erste ist, habe ich meine Holzteile, wo meine Elektronik irgendwie drauf muss, das wird teilweise verschraubt, teilweise von der Seite reingesteckt, aber irgendwie muss das alles zusammengebaut werden, das ist hier der Leuchtenstreifen von hinten, der nach oben reinkommt zum Beispiel. Und dann nähert sich das ganz auf der Fallendung. Jetzt kann man es einmal alles zusammenbauen und jetzt sind wir tatsächlich, den nehmen wir nicht, doch den nehmen wir, den können wir jetzt einmal hier anschließen. Jetzt hat er. So, also, Laserteile geschnitten und zusammengeschraubt, Bildschirm reingesteckt, Joystick dran, Knopf. Und jetzt kann man hier ein Spiel auswählen, zack, und dann läuft der lecker. Und das ist mit dem Ton auch funktioniert. Tatsächlich, das war der Moment, wo ich dachte, hey, das ist es gewesen, es funktioniert, man kann hier schießen, man kann flüssiges Bild, 30 Hertz, alles super. Das war der Moment, wo ich dachte, so, hey, hat tatsächlich alles halbwegs funktioniert. So, dann kommt natürlich so ein bisschen da, der Freizeitspaß auf, so, genug Geräusche hier. Der Basselspaß, das haben wir dann noch für Optionen, was machen, was können wir noch damit machen, das Erste ist natürlich, mehr Spiele, mehr Spiele. Gellegas prima, es gibt so eine Killerliste auf Videogames, so ein Arcade-Automaten, Hit-High-Score-Liste, da ist auf Platz 1 der Pac-Man, auf Platz 2 der Gellegah, auf Platz 3 Dunking-Kong. Ja, die müssen da rein, kleines Menü, und diese Dinge nochmal alle portiert. Es sind alle ähnlich, alle ein bisschen verschiedener. Es gab dann Leute, die im Internet angefangen, uns nachzubauen, haben gesagt, ja, das habe ich aber da irgendwie mal 1942 rum reingeschmissen, das läuft gar nicht. Also diese Automaten sehen sich zwar alle verdammt ähnlich, aber sie sind alle in Nuancen, oder manchmal auch mehr als Nuancen verschieden. Also die sind alle, jedes Mal, wenn die Firma einen neuen Automaten rausgebracht hat, hat die da neue Chips verbaut, sich andere Dinge ausgelassen. Der Gellegah-Automat zum Beispiel hat, der hat so einen Hintergrund bewegt, sich sieht man hier nicht, hat so einen Sternenhimmel-Hintergrund, der so langsam durchläuft. Die Software und die Rechenleistung, um diese Sterne da im Hintergrund wandern zu lassen, hatten sie irgendwie nicht. Haben sie einen Chip für eingebaut. Das macht die hart für einfache Laune, die meilt die ganze Zeit Sterne. Der Frogger, der kam dann auch noch hinterher. Der Frogger zum Beispiel, dass die obere Bildschirmshifte mit dem Wasser blau ist, haben sie auch irgendwie Stress gehabt, das Blau da irgendwie mehr hinzukriegen. Der Frogger-Automat malt generell die obere Hifte des Bildschirms blau. Egal, also ob da Menüs sind, ob da High-Score-Listen sind, die obere Hifte ist blau. Das sind da so Sachen, dass jeder Automat hat so seine Eigenheiten. Da wuselt man sich dann so durch, wird natürlich immer ein bisschen schneller, weil das hat man alles schon mal gemacht. Kann man immer noch einen dazu werfen, so der hier in Work in Progress, wer glaubt, was er macht. Also so sieht es dann mittendrin aus. Was ist das? Hey, nicht schlecht, nicht schlecht, das ist Nick-Duck, genau. Ja, die Farben stimmen nicht und vor allem hängt er einfach kurz nach dem Rom-Check. Habe ich noch nicht ganz raus, was ihn da jetzt stört, ob ich das überhaupt in den Griff kriege, keine Ahnung, ist halt so die Baustelle nebenbei. Genau, das soll es mal werden, mal gucken. Aber damit ist auch so ein bisschen die Marschrichtung klar, so mehr als die Automaten der 80er sind nicht. Und so ein Raspberry Pi, da kann man noch Spielkonsolen vorn, ich weiß nicht, vor 10, vor 20 Jahren mit emulieren. Bei mir ist es 32, der ist schon ausgelassen. Also beide Cores, Rennen für so einen Gellägger sind so auf 80 Prozent-Lastung ungefähr. Das ist tatsächlich Feierabend langsam. Aber immerhin, so ein Raspberry Pi ist ein Faktor 50 schneller als eine ESP230, das schafft er immerhin. Das war schon nicht schlecht so. Jetzt gibt es eigentlich mein Liebsten-Bonus-Stage bei der ganzen Sache. Während natürlich Schirmo das Ding jetzt noch Portabel kriegen und einen Akku verbauen können, aber jetzt mal im Ernsten Akku kaufen nur für so eine Bastelsache. Musste eigentlich nicht, oder? Ah, zum Glück gibt es eine billige Quelle. Tada! So, jetzt muss ich mal gucken, wie ich das mit dem Mikro mache. Ich bin nicht Raucher, aber ich kenne Raucher. Hört ihr mich noch? Ja, ne? Sie fragt auf das für die Aufzeichnung, wie wir das machen. Ich versuch's mal so. So, das machen wir jetzt hier live OP. Ich schalte mal um, dann kann ich es gleich dahin liegen. So, Zange, ein Ende ist ab. Dann mag mal riechen. Kokosnussmanken. Was ist es? Kokosnussmelone. Höchst unangenehmer Geruch. Das Schlimme ist vor allem. Na, einmal muss ich jetzt kurz weglegen. Jetzt wird es interessant. Das Innenleben haben wir in der Hand, also der Deckel ist hinten ab. Ah, ich weiß nicht, was ich mache so. Weiß ich, wie die Dinger funktionieren? Total simpel. Da drin ist nicht viel. Es riecht zwar streng, aber es ist nicht viel. Einmal raus schieben, das ganze Ding. So, da drin ist das. Das sind drei Dinge. Das da unten ist so ein Plastikbehälter mit so einem Schaum drin. Da ist das Aroma drin und einem kleinen Heizelement. Das hier in der Mitte ist die Stromversorgung. Braucht der Strom das Ding? Das da oben ist ein Durchflusssensor. Wenn der merkt, dass hier oben Gas durchströmt, also sprich unten nuckelt jemand, schließt sich in Kontakt. Verbindet die Batterie mit dem Heizelement und es stammt Dampf raus. So funktionieren die. So, und jetzt kommt der richtig, richtig üble Teil dabei. Ich nehme mir nochmal meine Zanne. Mach ich hier zweimal schnick, schnick. Diesen Durchflusssensor brauchen wir nicht mehr. Das Ding da oben riecht richtig unangenehm. Das brauchen wir auch nicht mehr. So, Betonung. Nicht auf Einweg-Vape. Das ist ein Einweggerät, ne? Du kauf mir fast Euro und schmeißt es weg. Das da oben rechts, das Ding da, ist ein Akku, ein Lithium-Ionen-Aku. Richtig schöner Lithium-Ionen-Aku. Steht auch alles drauf, was man wissen muss. 1300, 400 ist die Bauform. Also 1,3 Zentimeter Durchmesser. 4 Zentimeter lang, kommt auch genau hin. 3,7 Volt Lithium-Ionen-Aku, 55 Milliam-Stunden, 2 Wattstunden. So, jetzt hatten wir eben einmal kurz auf einer Folie den Stromverbrauch des ESP32. Das waren so Pi mal Daumen, 500, 600 Milliam-Watt. Das heißt im Klartext, diese Batterie, hier kann mein kleiner Automaten 3 Stunden lang betreiben. Das ist schick, oder? So, also, dann war klar, ich will ein Einweg-Aku benutzen, den Vape-Aku. Das ist supergeil, daran zu kommen. Also in die Firma setzen, den Nachbarn erzählen, ich suche so Vape-Akus. Am nächsten Morgen hat man 10 Stück, die die Kollegin irgendwo aus dem Fußraum des Autos ihres Bruders gefischt hat auf dem Tisch. Kein Ding. Es gibt inzwischen Läden, die nehmen auch zurück für irgendwie Fand, 50 Cent, ein Euro. Aber ganz ehrlich, diese Batterie ist fein. Also, die nehme ich gerne. Was macht man damit? Also, die Batterie alleine nützt mehr nichts, weil die ist in dem Vape verbaut und nicht zum Aufladen und so weiter. Aber, da gibt es diese praktischen kleinen Schaltungen im Internet. Das sind so zwei Dinge, muss ich ja tun. Ich muss einmal den Strom in den Vape-Aku wieder reinkriegen, ich muss ihn wieder voll kriegen. Und das andere ist, ich muss irgendwie den Strom da so rauskriegen, dass mein kleiner ESP32 damit glücklich ist. Dazu findet man diese Schaltung fertig. China versand, auch beim Amazon in verschiedenen Formen. Tatsächlich muss ich drei Dinge tun. Ich muss noch die Batterie schützen. Diese Batterien müssen ein bisschen vor Überladung und zu tiefer Entladung geschützt werden, sonst gehen sie kaputt. Das macht so ein Vape nicht, weil es ist völlig egal, ob das Ding da drin stirbt oder nicht. Ich möchte ihn länger leben lassen. Das heißt, ich mache genau die drei Dinge. Ich mache als Erstes. In der Mitte die USB-Ladeschaltung. Das ist so ein USB-C-Ding hier. Stecke ich ein USB-C-Stecker rein und fängt das an zu laden. Dann gibt es hier noch die Batterie-Management-Schaltung drauf. Ganz praktisch, die ist direkt da drauf. Die schützt mir die Batterie vor tiefer Entladung und Überladung. Und für die Gegenrichtung gibt es einen Wandler, der macht auch eine Batteriespannung. Wieder die 5 Volt, die mein kleiner Automat da haben will. Sehr, sehr praktisch. Sehr, sehr billig auf die Weise. Kann man auch für seine Arduino-Projekte zu Hause benutzen. Also einfach die Kollegen nach Batterien fragen, nach Akkus fragen, für nicht mal ein Euro Bauteile dran löten. Zack, hat man eine schöne Stromversorgung. So, zum Glück habe ich hier unten Platz gelassen. Hier nochmal, ich habe es vorweg genommen, zwei Stunden Akkubetrieb und hier in den hier ist das tatsächlich eingebaut. Also da unten drunter ist der Platz. Untere Bereich war leer gelassen. Hier liegt jetzt genau da hinten, da ist der Schalter, da ist die USB-C-Ladebuchse, das ist genau. Das hier, da hinten drin. Schalter umlegen, bootet. Läuft zwei Stunden auf Akku, kann man es hier. Zack, Zack. Den Frogger, wie gesagt, obere Bildschirme, die Hälfte dunkelblau, ne? Frogger, immer obere Hälfte blau. Macht auch Geräusche. Tja, funktioniert prima. Wie früher, so. Also, das war die Story mit dem Akku. Das war eigentlich der lustigste Teil am Ganzen. Kann man Leute immer wieder mit überraschen, was in diesen Wapes drin ist. Und das ist tatsächlich bitter, ist die einen Müll zu schmeißen, das ist feine Technik. Nächster Bootstage, Nachbarbarkeit. Ich will ja schon das andere nachbauen. Zwei Probleme habe ich so selber auch gehabt. Diese Verkabelung, die vielen, vielen fuddeligen Kabel da drin, das ist irgendwie, also das da oben da, das ist ein bisschen hart. Und der Joystick, das war auch... Also, bis der zuverlässig funktioniert hat, und hier drückt es ein bisschen zu viel, und der schallt da nicht richtig. Also, wenn ihr gleich nach vorne kommt, mal ein bisschen ein Joystick wackeln zu. So furchtbar, toll funktioniert da nicht. Design Tool und entwerfen einfach Platinen dafür. Die kann man dann so mal hier unten auf den hier 32 hinten draufstecken. Und dann kann man die einfach zusammenstecken. Die Sachen beim Joystick mag ich mir auch ein bisschen einfacher damit. Da kommt jetzt unten so eine Platine drunter. Zusammengelötet habe ich sie mal. Benutzt noch nicht, ist jetzt gerade gebastelt werden. Damit wird der Nachbau hoffentlich ein bisschen einfacher. Und das kostet auch nicht die Welt. Also sich so 10 Platinen in China machen zu lassen, kostet 4,50 Euro. In Deutschland ist es ein bisschen teurer. Man will wirklich basteln und hat auch mit 2 Freunden, die das auch haben wollen. Das ist absolut bezahlbar. Wer es nicht will, lötet sich halt die Drehchen da. Kreuzung quer mit so was geht immer. Kommen wir zu einer letzten Bodo Stages. Publikation. Das macht einfach Spaß, wenn Leute solche Sachen dann anfangen, nachzubauen. Das ist echt einer der lustigsten Dinge dabei. Einfachster Ansatz natürlich. Man nimmt alles, was man gebaut hat, tut es auf GitHub. Es ist bei mir ein bisschen schwieriger. Man schreibt halt ein bisschen, wo man sie herkriegt und wie man damit umgeht, damit man es zu Hause nachbauen kann. Ein bisschen mehr Beschreibung in dem Fall. Aber nachbaubar ist es problemlos. Videos auf YouTube ist klar. Beschreibung auf Hex. Dann kommen so die ersten Leute und bauen das dann auch nach. Dann kann man natürlich die klassische Wege gehen, irgendwo eine Make-Zeitschrift auftreiben, die es auch noch mal haben will. Oder einen Vortrag auf der Gipfel. Da hat man auch noch 3 Leute, die es nachbasteln möchten. Was dabei rauskommt, ist der John Bradnam. Er schreibt nur irgendwie unter dem Video drunter. Hab ich auch gemacht, hat mir gefallen. Der hat keinen Laser-Cutter, fand das mit dem Laser-Cutter blöd, hat sich ein Plastikhäuser ausgedacht. Sieht meinem recht ähnlich. Er hat sich da sehr nah dran gehalten. Meine komische Joystick-Konstruktion war ich der Einzige, der ein bisschen Probleme damit hatte. Der hat tatsächlich genau so ein Joystick genommen, wie er hier drauf ist. Das ist ein kleines Joystick. Den könnt ihr gleich auch mal anfassen. Der hat eine Platine für gebastelt seine Version. Es ist witzigerweise kompatibel. Man kann seinen Joystick in meine Gehäuse bauen, meine Joysticks in seine Gehäuse. Hat er es sehr nett gemacht. Aber das ist wirklich der Spaß dabei, wenn die Leute anfangen, damit rumzubasteln. Einmal noch, jetzt sind wir langsam durch. Für die, die es interessiert, verwendete Tools. Das war alles Open Source. FreeCat für 3D-Zeichnungen, Slicer, Cura, also der Daten für den 3D-Drucker vorbereitet hat. 2D-Cutter, also diese Laservorlagen aus Inkscape, Platinenentwurf war mit KaiCat alles und die Arduino IDE hat es hauptsächlich gerissen. Diese Tools arbeiten tatsächlich sehr schön zusammen. Ich finde da links dieses Renderring, das ist wirklich prima. Man kann die Daten aus dem 1D-FreeCat das Gehäuse exportieren und die Platine aus dem anderen Tool und die zusammenwerfen in 3D-Viewern. Dann sieht man tatsächlich, die passen auch zusammen. Unten ist die Platine mit ihren Löchern für die Schrauben, oben ist das 3D-gedruckteil und dann sieht man dann tatsächlich, oh, es passt tatsächlich, also die Löcher sind da, wo sie hingehören, es durchdringt sich nicht einfach. Das finde ich vom Tooling total klasse. Wenn man sich damit beschäftigt, kann man die geilsten Dinge damit machen. Weitere Talks und Themen, weil wenn es wirklich interessiert, hier gibt es noch mehr zu solchen Dingen. Morgen, glaube ich, gibt es einen Blinkenshopping, also der kauft solche Leuchten ein, diese bunte Blinkereien machen. Es gibt auch einen Elektronik-Cut-Programm im Workshop hier. Von daher, wenn es interessiert, wer es lustig findet, kann einfach nahtlos die nächsten paar Tage hier weitermachen und lernen. Gut, das war es für heute. Wenn es tatsächlich gefallen hat, Github, alle Daten da, kann nachfragen, kann basteln und ich finde es cool, wenn Leute es erweitern und ihre eigenen Ideen umsetzen, neue Spiele drauf machen. Was weiß ich, was ich machen kann? Super, dann haben wir noch so 10 Minuten für Fragen. Ich würde es so machen, wenn es für dich okay ist, dass ich dir das Mikro gebe, die Leute melden sich und du wiederholst dann die Frage einfach noch mal vorher, dass man sie auch online irgendwie mitbekommt und dann kriegen wir vielleicht noch eine Frage mehr rein. Super. Bitte. Ach so, genau, so war es, du sagst und ich wiederhole. Dass die Bandbreite zu wild schon ein bisschen knapp ist und dass du besser 30 Frames statt mit 60 Frames brustest und du darfst in die Rom zu irgendeiner Form anpassen, weil gefehlt ja jeder 2. Freie Hass wird oder berechnest du jeden alle 60 Frames und wirst du die noch rechts oder... Genau. Die Frage war, da ich jetzt den Bildschirm nur halb so schnell laufen lasse, wie er eigentlich sollte, ob ich da am eigentlichen Spiel was verändern musste, dass er darauf ausgelegt ist, 60 mal pro Sekunde neues Bild zu malen. An den Spielen kann ich kaum ändern. Also das ist Kot, den zu debaggen und zu disassemblieren und zu verstehen. Also Gerleger ist tatsächlich ein bisschen dokumentiert, eigentlich gar nicht. Wert theoretisch, möglichst praktisch. Die sind sehr darauf ausgelegt auf diese 60 Hertz. Also die ganzen Spiele machen eigentlich nichts anderes als die ganze Zeit auf diesen Impuls vom Bildschirm zu warten. Die CPUs machen nichts, stehen still, kriegen diesen Impuls ein neues Bild, beginnt, dann rechnen sie einmal ein Bild durch und legen sich wieder schlafen. Die sind da sehr nah dran gebunden. Was meine Elektronik macht, also der Prozess, der die Bilddarstellung macht, meldet immer nach einem halben Bild auch schon mal weitermachen. Das heißt, das Spiel selber glaubt, es läuft mit 60 Hertz. So viele Fragen. Du hast jetzt, wenn ich das richtig gesehen habe, für dein fertiges Board-Design, worauf du das ESP, der Board aufmacht. Genau. Warum hast du nicht ein Board gemacht, wo du dann den nackten ESP draufblöten? Da ist es auch. Habe ich kurz über nachgelacht? Tatsächlich gibt es sogar ein fertiges Design, wo alles schöner auf einer Platine... Ach so, Frage wiederholen, genau. Entschuldigung, die Frage war, warum ich so eine Aufsteckplatine für diese Fertiggerät gemacht habe und nicht einfach ein komplett neues Gerät genau für meine Anwendung entworfen habe. Habe ich tatsächlich angefangen, so eine Platine, aber ich möchte, dass die Leute es einfach so nachbauen. Und hier muss man nur 3 Stecker drauflöten und kauft sich für 2 Euro irgendwo diese Platine. Das ist technisch zwar irgendwie aufwendiger und so ein Stapel aus mehreren Platinen eigentlich unnötig. Es ist für die Basse viel einfacher zu benutzen. Dann machen wir lieber die simple Version. Ich habe Fragen zu der Audioausgabe. Was sind die 24 Kilohertz? Ja, okay, die Frage war, ich muss mit 24 Kilohertz Ton ausgeben, aber der Prozessor läuft mit 240 MHz. Das klingt ja trotzdem entspannt. Der macht nebenbei auch noch ganz viele andere Dinge. Das heißt, ihn irgendwie während seiner ganzen Videoverarbeitung schnell zu unterbrechen und so einen kleinen Audioschnüpse berechnen zu lassen, das war kaum Handhabbar. Tatsächlich habe ich ein bisschen geschummelt. Der berechnet einfach immer ein Handvoll Frames vor. Die Audio-CPU läuft eigentlich viel zu schnell, bis irgendein Puffer voll ist. Dann weiß ich, okay, jetzt hat er erst mal Audio für die nächsten Sonntag so viele Millisekunden und dann legt er die gesamte Audiohardware schlafen, macht weiter, bis dann die Audioausgabe den Block tatsächlich abgespielt hat und dann weiß ich, okay, jetzt kann ich mal wieder einen weiteren Audio berechnen lassen. Da musst du so ein bisschen tricksen, dass es am Ende funktioniert, aber ja. Also, du hast ja den Quellcode von den, wenn nicht den Quellcode, den Dinerkdruck, das heißt, man hat den sozusagen nur aus den Geräten, also der Hersteller von damals gibt das nicht raus. Die Frage ist, wo der Code herkommt. Also, den gibt es nur als ausgelesene Rombaustein der Originalmaschine. Von den Herstellern ist dann nicht viel zu kriegen. Die gibt es ja auch teilweise gar nicht mehr. Also Namco hat das damals gebaut. Nintendo ist der einzige Laden, glaube ich, in der Bankikong ist von Nintendo. Viel Erfolg dabei, Nintendo zu fragen, ob du mal hier Intellectual Poverty kriegen kannst. Das ist, glaube ich, fast noch einfacher bei den gestorbenen Firmen irgendwas aufzutreiben als von denen, die noch leben. Aber auch da ist nicht viel zu holen. Es gibt Leute, die setzen sich hin und disassemblieren die und analysieren den Code und dokumentieren den. Für den Gellager gibt es das. Das hilft auch sehr, für den anderen habe ich es nicht gefunden. Man hat nur diesen Rombencode. Also, man muss sich da teilweise auch sehr, sehr, sehr durchquenen. Der läuft ja einfach. Bleibt es einfach stehen. Jetzt kann ich versuchen, irgendwie rauszukriegen. An welcher Stelle stehen diese drei Prozessoren und hoffentlich rauszukriegen, welcher von den Dreien da auf irgendwas wartet, was ich falsch gemacht habe, damit es endlich weitergeht. Aber da ist nicht offiziell irgendwas zu kriegen. Oh, kannst du gerne probieren. Also, ich freue mich sehr, liebe Leute, wenn sie ein Originalcode kriegen. Noch was? Irgendwie könnte da hinten kommt noch einer. Wie viel Zeit da reingefliessen ist. Wenn ich jetzt mal ein KOM-Sitzen schaffe, dann ist er jetzt nicht der Wanderer, aber tatsächlich, der hat daneben gesessen, als ich das erste Ball drüber nachgedacht habe, Gellager nachzubauen. Wir haben tatsächlich die ersten Versuche, wir haben ChatGPT gefragt, wie Gellager funktioniert. Wir haben sehr schräge Antworten bekommen. Ja, tatsächlich. Anfang Dezember, dann so ein bisschen über Weihnachten in Ruhe und ja, so die Freizeit von ein paar Monaten ist es. Bitte. Die Frage ist, ich habe sowohl die Platine aus dem Cut-Programm gehabt, aus dem einen als auch das Gehäuse aus dem anderen Cut-Programm und wie ich das jetzt zusammen ein Bild gebracht habe. Der Trick ist, das Cut, das Platinencut-Programm kann ja sowieso, genau, Keycut kann ja sowieso Bauteile Formen für den 3D-View importieren. Das ist nicht begrenzt. Also, ich kann ihm sagen, diese Schraube, diese Schraube, diese Schraube, diese Schraube, diese Schraube, diese Schraube, das gesamte restliche Gehäuse. Das heißt, ich ordne einfach einem dieser vielen Bauteile auf der Platine das gesamte Gehäuse zu und dann rendert erst mal alles zusammen. Das hat auch den schönen Effekt. Du kannst beim Keycut eine 3D-Anzeige einblenden, ob du nur Bauteile sehen willst, die SMD-Montage sind oder die durchgehen oder so weiter. Und du hast auch eine eigene Klasse für Bauteile, die gar keine Verbindung eigentlich zur Platine haben. Die kannst du einzeln an- und ausblenden. Das heißt, du kannst in der Ansicht so das Gehäuse hin- und wegklicken. Du kannst gucken, ah, Gehäuse passt. Klick weg, ah, das Bauteil darunter ist auch schön. Kannst du die einzelnen Teile hin- und wegmachen und gucken, ob das alles passt und irgendwo reingucken. Das ist sehr cool, wenn man die Dinge einfach zusammen benutzen kann. Bitte. Also, der Z80 muss ja dann noch die einzelnen Speicherbausteine auswählen. Da wurde das auch emuliert? Also wurde die Speicherbausteine auch emuliert? Die Frage war, also in dem Original-Gerät ist halt irgendwo die CPU und irgendwelche Speicherbausteine, ob ich die Speicherbausteine auch speziell emulier. Da gibt es nicht wirklich was zu emulieren. Also aus der Emulation der CPU kommt irgendwann so ein Function-Call raus. Da gibt es mir Adresse 73 oder was auch immer. Und der erwartet einfach nur, dass an der Stelle dann der Inhalt von einem Rammspeicher oder einem Rammspeicher was auch immer an der Stelle liegt, zurückkommt. Das heißt, da gibt es tatsächlich nicht viel zu emulieren. So eine Emulation von einem Ramm ist einfach ein Array von ein paar Konstanten. Ist nicht viel. Bitte. Zwischen den CPUs. Die Frage ist, wie kommunizieren diese emulierte CPU und der Rest miteinander? Genauso. Also die CPU aus dem Emulationscode, den ruf ich einfach regelmäßig auf und der hat so ein paar Function-Calls hier gemacht, die man implementieren muss. Und da sagt er mal, ich will jetzt lesen und zwar von Speicheradresse so viel oder ich will schreiben an Speicheradresse so viel. Und das ist es dann auch. Also ich muss dann gucken, ah ja, jetzt will er von Adresse lesen. Das ist im Original-Gerät ein Ramm, also kriegt er Ramm-Inhalt oder das ist Videospicher, dann kriegt er Videonhalt. Das ist relativ einfacher Code. Also das ist wirklich, das ist der einfachste Teil vom Ganzen. Ich glaube, da hinten war noch was, oder? Hatten wir noch einen Ton, sonst nehmen wir hier, bitte. Nur eine kleine Böllefrage. Du hast oben die, die, oben die sieben LEDs, sind das andere LEDs und wie, hast du da deine eigene Platine für sieben gemacht? Weil ich kenne die, die Sticks mit Acht. Genau. Also die Frage ist, was da oben genau drin ist hinter den, hinter den sieben Leuchten. Das sind diese ganz normalen Feldweite und Wiesenwies 2812. Ich stelle die mal, weil in China steht 5 cm breit im China-Versand und das Gehäuse ist exakt 5 cm breit und dann kommen die mit der Post, aber mit 5 cm meinen die 5 cm und 8 mm. Ja, das ist ein Abschnitt von so einem 144 Leuchten pro Meter Streifen und wenn es nachrechnet sieben Leuchten bei 144 pro Meter, das sind genau 5 cm. Deswegen auch der Verweis hier genau die Leuchten, die der da kauft. Ein bisschen Lustiges, was ich da drauf anzeige. Also hier ist jetzt relativ statisch, obwohl man das Spiel laufen lässt. Dann gehen sie aus, aber sobald jetzt gleich Raumschiffe kommen, geht es wieder an. Was ich machen kann, ist, da ich die ganze Videohardware selber geschrieben habe, sehe ich ja auch, was der mit der Videohardware macht. Also ob der jetzt gerade das Raumschiff bewegen will und ob das weiße Raumschiff da ist oder ob das rote da ist oder ob der Pac-Man da ist genau gleich, wenn er schießt, dann blinkt es so ein bisschen oder kann man mit einem Arcade Automaten spielen. Ich kriege das Zeichen, dass wir durch sind. Vielen Dank.