Retrogaming und -computing
This is a modal window.
The media could not be loaded, either because the server or network failed or because the format is not supported.
Formal Metadata
Title |
| |
Title of Series | ||
Number of Parts | 94 | |
Author | ||
License | CC Attribution 4.0 International: You are free to use, adapt and copy, distribute and transmit the work or content in adapted or unchanged form for any legal purpose as long as the work is attributed to the author in the manner specified by the author or licensor. | |
Identifiers | 10.5446/45649 (DOI) | |
Publisher | ||
Release Date | ||
Language |
Content Metadata
Subject Area | ||
Genre | ||
Abstract |
|
FrOSCon 201928 / 94
7
10
12
14
15
16
17
20
22
23
26
27
28
29
30
31
32
33
36
37
38
39
41
44
45
48
52
53
55
56
57
58
60
61
62
64
66
67
74
76
77
78
79
81
83
84
93
00:00
HTTPComponent-based software engineeringComputer programComputer hardwarePAUSXMLComputer animationLecture/Conference
00:56
TypDirection (geometry)SoftwareComputer animation
01:53
ZahlComputer animationLecture/Conference
03:07
Computer programClient (computing)Computer animation
05:35
FreewareComputer programDDR SDRAMMachine codeRAMMembrane keyboardComputer hardwareComputerComputer animation
08:37
Open sourceDDR SDRAMSpring (hydrology)TypComputer hardwareJoystickComputer networkHausdorff spaceComputer
10:07
ComputerDatentechnikFirmwareBefehlsprozessorVideo gameComputer animation
11:01
ComputerLecture/ConferenceComputer animation
12:19
EmulatorComputerMacintoshComputer hardwareDOSComputer animation
13:30
EmulatorComputerMacintoshDOSComputer hardwareBefehlsprozessorEmulatorComputer animationLecture/Conference
15:15
Computer hardwareEmulatorMacintoshBefehlsprozessorComponent-based software engineeringMEGARAMComputer animation
16:15
Open sourceSoftwareCBMLecture/Conference
18:12
BefehlsprozessorEmulatorMacintoshSoftwareComputer programComputerDOSComputer hardwareCBMBefehlsprozessorEmulationEmulatorPHPIBMComputer animationLecture/Conference
22:11
Computer hardwareEmulatorSoftwareDOSMacintoshOpen sourceEmulatorComputer animationLecture/Conference
24:27
EmulatorSoftwareDDR SDRAMComputer animation
25:48
Computer-generated imageryEmulatorSoftwareVersion <Informatik>Lecture/ConferenceComputer animation
26:53
EmulatorAbstract state machinesComputerVersion <Informatik>Lua <Programmiersprache>DisplayBASICUSB <Schnittstelle>ARC <Programmiersprache>PDF <Dateiformat>Dot productComponent-based software engineeringComputer programDDR SDRAMComputer animationLecture/Conference
28:26
Finite element methodLinear complementarity problemGraphical user interfaceVersion <Informatik>Abstract state machinesComputerLua <Programmiersprache>Broschüren-Service-ManagementDisplayBASICARC <Programmiersprache>PDF <Dateiformat>Dot productTurbo-CodeTURBO-PASCALBorlandTerminal equipmentError messageError messageRAMComputer animation
29:41
CompilerComputer programRAMEmulationLecture/ConferenceComputer animation
30:43
Open sourceComputer programLecture/Conference
31:56
CompilerError messageComputer hardwareLecture/ConferenceComputer animation
33:47
CompilerVersion <Informatik>Code division multiple accessASCIIComputer animationLecture/Conference
34:50
OpenOffice.orgComputerSpontaneous symmetry breakingBefehlsprozessorComputer animationXMLLecture/Conference
37:12
DOSTypOpen sourceInsertion lossCLOU <Programm>Digitale VideotechnikComputer-generated imageryWireless LANLecture/ConferenceSource codeComputer animation
38:41
Dot productDigitale VideotechnikCLOU <Programm>Computer-generated imageryHTTPSource codeComputer animationLecture/Conference
39:56
EmulatorComputer programSoftwareComputerMacintoshEncapsulation (object-oriented programming)Mainframe computerBefehlsprozessorDOSComputer hardwareVirtual machineMainframe computerBefehlsprozessorComputer animationLecture/Conference
40:55
DownloadBackupComputer animation
41:50
Open sourceLecture/Conference
43:39
GNU <Software>Open sourceSearch engine (computing)Computer animation
45:05
ComputerLecture/Conference
46:35
Computing platformUSB <Schnittstelle>USB <Schnittstelle>Computer animation
48:27
Computing platformUSB <Schnittstelle>LINUXDistribution <Informatik>
50:20
Configuration spaceSSHComputer networkHydraulic motorDistribution <Informatik>EmulationLecture/ConferenceComputer animation
52:06
AutomatonGame theoryLecture/Conference
53:43
Debian GNU/LINUXSUGAR <Programmiersprache>Computer animationLecture/ConferenceXMLJSONUML
54:43
Game boyAtariRead-only memoryComputer animationJSONXMLUMLLecture/Conference
56:15
SharewareVideo game consoleDisplayUSB <Schnittstelle>Game theoryOpen sourceBefehlsprozessorComputer animationLecture/Conference
57:29
Video game consoleUSB <Schnittstelle>DisplayGame theoryBefehlsprozessorRAMStatic random-access memoryComputer animationLecture/Conference
59:58
outputComputer animation
01:00:56
Computer animationProgram flowchart
01:01:54
Computer animation
01:03:10
SoftwareOpen sourceLecture/ConferenceComputer animation
01:04:41
XMLSource code
01:05:50
Source codeXML
01:06:48
Open sourceJoystickComputer animationLecture/ConferenceXML
01:07:58
JoystickoutputComputer animationLecture/Conference
01:09:07
XMLComputer animationLecture/Conference
01:11:15
openSUSEXMLComputer animation
Transcript: German(auto-generated)
00:00
Wenn das jetzt noch alles funktioniert und wir noch ein bisschen Zeit bekommen. Möchte noch jemand was hören von mir? Sehen Sie? Okay. Die Geschichte. Also da programmiere ich jetzt schon seit zwei Jahren dran. Immer mit ganz, ganz vielen Pausen. Und zur Zeit hängt es auch an der Hardware.
00:21
Allerdings nicht an der elektronischen Hardware, sondern an Gehäuse und so eine Geschichten. Ich baue ein Tetris Spiel. So, aber kein Tetris Spiel, so ein monolithisches, also ein Programm und dann kann man Tetris spielen, sondern MQTT. Wir hatten ganz viele Smart Vorträge vorhin gehabt. Also das ist ja so ein Protokoll für Internet of Things, also womit die Dinger so kommunizieren.
00:46
Und da dachte ich mir, weil ich auch in der Firma noch ein bisschen mit zu tun hatte zu der Zeit, als ich mir da diese Architektur dann ausgedacht habe. Ja, machst du doch so ganz viele Komponenten.
01:01
Input, Output, die eigentliche Spiel Engine und und in der Mitte ist ein MQTT Broker. Also wenn jetzt, ich kann es dir nachher auch gleich zeigen, wenn die Tastatur, eine Eingabe, also wenn man auf eine Taste drückt, dann wird im Prinzip eine MQTT Nachricht losgeschickt zu dem Broker, der Broker weiß, aha, okay, dieses Keyzeugs, gedünste Muster Engine.
01:25
Dieser Engine reagiert da drauf und wenn die was auszugeben hat, dann schickt die auch wieder nur den Bildschirm, im Prinzip XMQTT Nachricht zu irgendeinem der Ausgabegeräte, die da irgendwo angedockt sind. Kann man sich das ungefähr vorstellen?
01:42
Das sieht dann ungefähr bildlich so aus. Nee, andere Richtung. Also man kann da eben halt nicht nur Software randocken, also das wäre jetzt mal so ein bisschen Software, das können wir auch gleich nochmal zeigen live, sondern man kann dann auch so eine Geräte da randocken. Ja, also so eine Siebsegment Anzeige. Der Spielstand ist übrigens dort fake, ja.
02:06
Das war mein Testprogramm, was da so eine coole Zahl ausgegeben hat. Und hier hab er zurzeit dran. Also das ist im Prinzip eigentlich, das eigentliche, was ich bauen wollte. Also so ein Tetris-Spiel ist ja 10 mal 20 Kästchen. Und das sind hier so eine
02:22
RGB-LEDs. Und was jetzt noch fehlt, ist im Prinzip der Rahmen, also damit es so aussieht wie so ein Setzkasten, wo man dann noch eine Matteplatte drüber machen kann, damit es dann eben halt aussieht wie so ein großer Bilderrahmen, so was. Das fehlt noch gerade bei mir.
02:42
Ja, kann man sich ungefähr vorstellen. Was wollte ich erzählen? Ach so, dass also der Pixelabstand sind 33 Millimeter. Also es wird dann irgendwann mal so, mal so ungefähr. Gut, wer interessiert sich dafür, dass man das mal laufen lässt? Ich hab's
03:06
natürlich vorbereitet. Das ist dann auch das letzte, was ich glaube ich erzählen werde heute. Ich hab schon mal vier Bildschirme aufgemacht. In dem Bildschirm läuft auch
03:22
schon was. Wo ist meine Brille, damit ich das auch sehe. Also in dem da links unten läuft schon was. Und zwar MQTT, wer kennt eigentlich nicht MQTT? Okay, Pech. Ist im Prinzip ein Dienst,
03:44
der Nachrichten bekommt und dann kann man, also kriegt Nachrichten und andere Programme können diese Nachrichten abonnieren bei einem Broker. Und der weiß dann aha, der und der ist angemeldet, der hat den und die Nachricht abonniert und dem schicke ich die jetzt. So und der hier,
04:02
das Programm, was jetzt hier gerade gestartet wurde, da ist mein Ding. Mosquito, also im Prinzip den Topic Tetris und alles, was dahinter kommt. Also da gibt's ja noch, ich hab letztes Jahr einen MQTT-Vortrag gegeben, hätte es kommen müssen. Also der
04:24
kriegt jetzt alle Nachrichten, die mit diesem Topic dort anfangen. Und der läuft jetzt schon mal im Leerlauf. Jetzt starte ich links oben die eigentliche Tetris Engine.
04:41
So und dann sieht man schon mal, da kommt ganz viel. Die spielt jetzt nämlich schon los. Also diese lange Nachricht ist im Prinzip der Bildschirm an sich, der da gerade geschickt wird zu dem Broker. Ist bloß noch gar kein Client da, der das gerade empfangen kann.
05:02
Und dadurch, dass er jetzt, also man muss sich jetzt schon mal bildlich vorstellen, die Dinger fallen da jetzt gerade runter. Und man sieht's, ne? Und natürlich gibt's da auch irgendeinen Squad, also irgendwelche Punkte, die dann schon mal aus. Also
05:20
jetzt können wir uns auch gerne noch mal angucken, was jetzt gerade da läuft. So, das lief da gerade ab. Ich kann's ja hier oben noch mal starten, damit man's auch wirklich sieht. So, und jetzt fängt er wieder von vorne an. So, also das sind jetzt schon
05:49
im Prinzip zwei Programme. Einmal die Engine und die Ausgabe. Jetzt brauchen wir noch ein bisschen Eingabe. Können wir jetzt hier unten machen. Hab ich mir halt zum Test
06:08
oder auch nicht. Ganz einfach ist ein Cursus-Programm erstmal geschrieben und jetzt kann man da
06:23
tatsächlich mit den Tasten hier so rum machen. So, und dann sieht man auch schon wieder, hier passiert jetzt auch ein bisschen mehr, ne? Dieses Programm schickt jetzt zur Engine, da haben wir jetzt zwei nach oben gedrückt und die Engine fängt an, das Ding zu drehen. Ungefähr verstanden, das Prinzip? So, jetzt könnte man natürlich
06:49
zum Beispiel noch ein zweites Programm mit andrucken. Oder Hardware. Ja, ich habe zum Beispiel, sieht man das Hellblaue dort? Ja, den Next Brick, also den nächsten Stein
07:07
zum Beispiel. Da habe ich mir zum Beispiel eine 8x8-Matrix aus RGB-LEDs gebaut und da kann man zum Beispiel den Next Brick sich zum Beispiel angucken. Also, eben halt als Hardware parallel dazu. So, und dass man das jetzt auch wirklich austauschen kann,
07:24
um das jetzt nochmal zu zeigen. Das ist dann das letzte, was ich zeige. Ich habe jetzt hier mein Gamepad noch an dem Ding hier dran. Da habe ich ein anderes Programm und dann könnte ich auch mit dem hier spielen. Ohne dass ich jetzt irgendein anderes Programm
07:47
gestartet habe oder was auch immer. Ich habe jetzt nur etwas anderes dran gedockt. Ja, und das ist jetzt so die Idee bei der Geschichte. Und das spiegelt sich irgendwo in diesem äußerst komplizierten Bild wieder, wenn ich meine Folien finde oder auch
08:06
nicht. Das ist dann im Prinzip so mal so das Schaubild dazu zu zeigen. Da kann
08:22
man jetzt auch irgendwas ran docken. Man könnte jetzt zum Beispiel auch eine Tetris-KI oder eine Tetris-AI ran docken und den Computer selber spielen lassen und einfach zugucken, ob sein Algorithmus, den man da hat, funktioniert. Okay, Fragen dazu? Gut, ein paar Links noch. Unter anderem auch da, wo ich die Quellen
08:49
für das, was ich da habe, zu dem Tetris. Also, das ist ein natives Spiel. Also, das ist ein natives Tetris. Ich glaube, auf N-Curses basieren. Und das hier ist jetzt das, was ich gerade gezeigt habe. Ich weiß jetzt allerdings nicht, in welchem
09:03
Versionsstand, wie auch immer. Okay, Fragen? Das habe ich gut überzogen. Warte.
09:21
Hast du dein Tetris-Projekt mal mit anderer Hardware versucht? Also den Joystick mal ausgelagert an einer Arduino oder sowas? Nein, das letzte, was ich damit gemacht habe oder was ich als Input-Device genommen habe, ein Wii-Controller über Bluetooth. Also meine Frage ist, wie sieht es mit der Latenz aus? Cool. Also ich war selber sehr erstaunt. Also gut, hier läuft der Broker auf dem gleichen Rechner. Aber ich habe
09:42
zum Beispiel, habe auch schon zu Hause mal probiert, ich habe mehrere so eine Raspi rumzulaufen, einfach meinen Broker zu nehmen, der eigentlich auch den Rest macht in meinem Netzwerk. Und auch da sind die Latenzen okay. Also erstaunlicherweise Cool. Noch eine Frage? Dann, oh ja, da hinten. Ich fürchte jetzt die Frage ist
10:16
eher für jemanden aus dem Publikum, den ich noch nicht kenne, als für den Vortagenden zum Thema Retro-Computing. Da habe ich auch etwas Interesse daran
10:26
und habe jetzt oder stehe jetzt vor dem Problem, ich möchte für den PC die selber, den 8086, hat mal emulieren eigene Firmware dafür, um da Firmware mit anderen Fähigkeiten darauf zu programmieren und was da als
10:44
Entwicklungsumgebung empfohlen wird. Ich hatte mir überlegt, ich könnte mal gucken, ob man mit MAME, der ja auch PC emulieren kann, da irgendwas zusammenstöpseln kann, mit einer Host-CPU und einer CPU für die Erweiterungskarte. Hat da schon jemand Erfahrung? Ja, scheinbar nicht. Schade.
11:05
Okay, dann danke für die Aufmerksamkeit, dass ihr so lange ausgehalten habt und