We're sorry but this page doesn't work properly without JavaScript enabled. Please enable it to continue.
Feedback

Retrogaming und -computing

00:00

Formal Metadata

Title
Retrogaming und -computing
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
Publisher
Release Date
Language

Content Metadata

Subject Area
Genre
Abstract
»Früher« war alles besser! Auf teilweise legendärer Hardware spielte man nächtelang coole Spiele. Nur leider sind meist die alten Computer im Laufe der Zeit abhanden gekommen oder funktionieren nicht mehr. Der Vortrag erklärt, wie man sich mithilfe entsprechender Emulatoren auf moderner Hardware die Stimmung der 80er und 90er zurückholen kann. Wer kennt sie noch, die Ataris, C64, KCs oder ZX81? Oder auch diese ganzen „altmodischen“ Spielekonsolen, welche feierlich an den Fernseher angeschlossen wurden? Aber sicherlich kennt jeder noch, ein gewisses Lebensalter vorausgesetzt, sein Lieblingsspiel, welches er nächtelang, auf dieser „komischen“ Hardware gezockt hat! Wie schön wäre es doch, einfach diese Kiste wieder einzuschalten, den Joystick in die Hand zu nehmen und das liebgewonnene Run-and Jump-Spiel, mit seiner eintönigen Soundausgabe, zu starten? Bloß leider ist die alte Hardware beim letzten Umzug abhanden gekommen oder kaputt gegangen (hat da nicht sogar der Lebenspartner nachgeholfen?)... Kein Problem! Mit der richtigen Software (Emulatoren) auf modernen Rechnern (PC und/oder Raspberry Pi), kann man die 80er und 90er Jahre wieder auf seinen Monitor zaubern. Im Rahmen des Vortrages soll gezeigt werden, wie man das macht, was man dazu braucht und auch, welche rechtlichen Aspekte zu beachten sind. Sicherlich wird auch noch Zeit sein, das eine oder andere Retro-Projekt des Referenten kurz anzusprechen.
15
Thumbnail
1:16:56
20
Thumbnail
59:24
23
Thumbnail
10:02
48
Thumbnail
50:08
56
76
Thumbnail
12:05
HTTPComponent-based software engineeringComputer programComputer hardwarePAUSXMLComputer animationLecture/Conference
TypDirection (geometry)SoftwareComputer animation
ZahlComputer animationLecture/Conference
Computer programClient (computing)Computer animation
FreewareComputer programDDR SDRAMMachine codeRAMMembrane keyboardComputer hardwareComputerComputer animation
Open sourceDDR SDRAMSpring (hydrology)TypComputer hardwareJoystickComputer networkHausdorff spaceComputer
ComputerDatentechnikFirmwareBefehlsprozessorVideo gameComputer animation
ComputerLecture/ConferenceComputer animation
EmulatorComputerMacintoshComputer hardwareDOSComputer animation
EmulatorComputerMacintoshDOSComputer hardwareBefehlsprozessorEmulatorComputer animationLecture/Conference
Computer hardwareEmulatorMacintoshBefehlsprozessorComponent-based software engineeringMEGARAMComputer animation
Open sourceSoftwareCBMLecture/Conference
BefehlsprozessorEmulatorMacintoshSoftwareComputer programComputerDOSComputer hardwareCBMBefehlsprozessorEmulationEmulatorPHPIBMComputer animationLecture/Conference
Computer hardwareEmulatorSoftwareDOSMacintoshOpen sourceEmulatorComputer animationLecture/Conference
EmulatorSoftwareDDR SDRAMComputer animation
Computer-generated imageryEmulatorSoftwareVersion <Informatik>Lecture/ConferenceComputer animation
EmulatorAbstract state machinesComputerVersion <Informatik>Lua <Programmiersprache>DisplayBASICUSB <Schnittstelle>ARC <Programmiersprache>PDF <Dateiformat>Dot productComponent-based software engineeringComputer programDDR SDRAMComputer animationLecture/Conference
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
CompilerComputer programRAMEmulationLecture/ConferenceComputer animation
Open sourceComputer programLecture/Conference
CompilerError messageComputer hardwareLecture/ConferenceComputer animation
CompilerVersion <Informatik>Code division multiple accessASCIIComputer animationLecture/Conference
OpenOffice.orgComputerSpontaneous symmetry breakingBefehlsprozessorComputer animationXMLLecture/Conference
DOSTypOpen sourceInsertion lossCLOU <Programm>Digitale VideotechnikComputer-generated imageryWireless LANLecture/ConferenceSource codeComputer animation
Dot productDigitale VideotechnikCLOU <Programm>Computer-generated imageryHTTPSource codeComputer animationLecture/Conference
EmulatorComputer programSoftwareComputerMacintoshEncapsulation (object-oriented programming)Mainframe computerBefehlsprozessorDOSComputer hardwareVirtual machineMainframe computerBefehlsprozessorComputer animationLecture/Conference
DownloadBackupComputer animation
Open sourceLecture/Conference
GNU <Software>Open sourceSearch engine (computing)Computer animation
ComputerLecture/Conference
Computing platformUSB <Schnittstelle>USB <Schnittstelle>Computer animation
Computing platformUSB <Schnittstelle>LINUXDistribution <Informatik>
Configuration spaceSSHComputer networkHydraulic motorDistribution <Informatik>EmulationLecture/ConferenceComputer animation
AutomatonGame theoryLecture/Conference
Debian GNU/LINUXSUGAR <Programmiersprache>Computer animationLecture/ConferenceXMLJSONUML
Game boyAtariRead-only memoryComputer animationJSONXMLUMLLecture/Conference
SharewareVideo game consoleDisplayUSB <Schnittstelle>Game theoryOpen sourceBefehlsprozessorComputer animationLecture/Conference
Video game consoleUSB <Schnittstelle>DisplayGame theoryBefehlsprozessorRAMStatic random-access memoryComputer animationLecture/Conference
outputComputer animation
Computer animationProgram flowchart
Computer animation
SoftwareOpen sourceLecture/ConferenceComputer animation
XMLSource code
Source codeXML
Open sourceJoystickComputer animationLecture/ConferenceXML
JoystickoutputComputer animationLecture/Conference
XMLComputer animationLecture/Conference
openSUSEXMLComputer animation
Transcript: German(auto-generated)
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.
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.
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.
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.
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?
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.
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
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.
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
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
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,
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,
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
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.
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.
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
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
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
oder auch nicht. Ganz einfach ist ein Cursus-Programm erstmal geschrieben und jetzt kann man da
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
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
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,
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
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
nicht. Das ist dann im Prinzip so mal so das Schaubild dazu zu zeigen. Da kann
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
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
Versionsstand, wie auch immer. Okay, Fragen? Das habe ich gut überzogen. Warte.
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
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
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
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
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.
Okay, dann danke für die Aufmerksamkeit, dass ihr so lange ausgehalten habt und