Retrogaming und -computing Uwe Berger bergeruw@gmx.net
Uwe Berger Beruf: Softwareentwickler Freizeit: u.a. mit Hard- und Software rumspielen Linux seit ca. 1995 BraLUG e.v. bergeruw@gmx.net 2
3
4
5
Retro? retro (lateinisch): rückwärts Retrocomputing meint das Nutzen (und Erhalten) veralteter Computer-Technologien Retrogaming bezeichnet das Spielen älterer Computerund Videospiele (...mit älterer wird meist die Zeit vor Mitte/Ende der 1990er Jahre gemeint) 6
Emulatoren Was zu Spiele-ROMs zu sagen wäre... Retrogaming-Distributionen Retrogames noch ganz anders 7
Emulatoren Emulator von aemulari (lat.): nachahmen Hardware-Emulatoren: bilden ein anderes System in Form von Hardware nach (z.b. DOS-kompatible Karten für Macintosh-Computer in den 1990er Jahren) Software-Emulatoren: Programme, die ein Gerät oder System auf einem Computer mit anderer Architektur nachbilden können Im Gegensatz dazu Virtuelle Maschinen: softwaretechnische Kapselung von Rechnersystemen innerhalb eines Rechners (Host); alle virtuellen Maschinen laufen direkt auf der CPU des Host 8
Software-Emulatoren (für Linux) Retro-Computer z.b.: KC, Z1013 etc.: kcemu http://kcemu.sourceforge.net/) C64, etc.: Vice http://vice-emu.sourceforge.net/ Sinclair Spectrum: fuse http://fuse-emulator.sourceforge.net/ MS-DOS (auf einem x86): DOSBox https://www.dosbox.com/ DOSEMU http://www.dosemu.org/ 9
Software-Emulatoren (für Linux) Retro-Konsolen (Auswahl): Gameboy etc.: VisualBoyAdvance http://vba.ngemu.com/ NES: Nestopia http://nestopia.sourceforge.net/ SNES: ZSNES http://www.zsnes.com/ Nintendo (multi), Sega etc.: Higan https://byuu.org/emulation/higan Atari 2600: Stella http://stella-emu.github.io/ Playstation: PCSX, PCSX2 https://github.com/icatbutler/pcsxr 10
Demo Emulatoren 11
Spiele-ROMs, rechtliche Aspekte... Wichtig: Mit diesem Vortrag will ich niemanden zum Bruch geltender Gesetze animieren! So gut wie kein Spielehersteller bietet (leider) seine alten ROMs etc. legal zum Download oder Kauf an... Leicht findbare Download-Portale sind meist rechtlich sehr fragwürdig Ein legaler Weg (in Deutschland) ist das Anfertigen einer Sicherheitskopie von ROMs etc., deren rechtmäßiger Besitzer man ist Achtung: Sicherheitskopie!= Privatkopie 12
ROMs auslesen 13
Legale Quellen für Spiele-ROMs Stichworte: Homebrew : bezeichnet Computerprogramme, die von Privatpersonen für Spielekonsolen geschrieben werden; vielfach Open Source Fangames : Computerspiele, die auf Grundlage bekannter, kommerzieller Spiele entwickelt bzw. weiterentwickelt werden; vielfach Open Source Gute Ausgangspunkte: https://pdroms.de/ https://cwpat.me/fangames-intro/...benutze eine Suchmaschine deiner Wahl... 14
Raspberry Pi (RPI) als Plattform für Retrogaming Man benötigt: einen Raspberry PI (mit passender Stromversorgung und eventuell ein Gehäuse) eine SD-Karte auf der eine Retrogaming-Distribution für RPI installiert wird ein oder mehrere Gamepads, Joysticks o.ä. mit USB oder Bluetooth einen Monitor oder ein TV-Gerät mit HDMI-Eingang (und ein HDMI-Kabel) zur ersten Installation/Konfiguration, eine USB-Tastatur und einen Internetanschluss 15
Raspberry PI... Kennt wohl jeder, oder? https://de.wikipedia.org/wiki/raspberry_pi Für Retrogaming wird mindestens ein RPI Mod. 2, besser ein RPI Mod. 3, benötigt Bluetooth ab RPI Mod. 3 16
Retrogaming-Distributionen für RPI Linux-Disributionen, welche mehrere Emulatoren unter einer einheitlichen und zweckorientierten Benutzeroberfläche zusammenfassen Beispiele: RetroPie https://retropie.org.uk/ Recalbox https://www.recalbox.com/ Lakka http://www.lakka.tv/ 17
RetroPie (Installation, Konfiguration etc.) Aktuelles RetroPie-Image herunterladen und auf SD-Karte installieren RPI mit dieser SD-Karte booten und Grundeinstellungen vornehmen (Netzwerk, Rechnername, SSH-Zugang etc.) RetroPie konfigurieren (Gamepad-Typ/-Tasten etc., Sound, Bildschirm...) ROMs in die entsprechenden Verzeichnisse auf der SDKarte kopieren...spielen :-) 18
...und der eigene Arcarde-Automat C.Dahms 19
RetroPie nicht auf einem RPI Ja, gibt es! Anleitung dazu: https://github.com/retropie/retropie-setup/wiki/debian Empfehlung: eine eigene VM dafür benutzen 20
Demo RetroPie 21
Retrogames noch ganz anders... ODROID-GO (Konsole auf Basis eines ESP32) MCU: ESP32: 80...240MHz, 4MB PSRAM, 16MB Flash, WiFi, Bluetooth Display: TFT-LCD 320x240 Batterie: Li-Polymer, 3,7V, 1200mAh Speaker, Mikro SD Card, Mikro USB Port, Expansion Port Spiele-Emulatoren für NES, GB, GBC, Sega Master, Sega Game Gear, ColecoVison 22
Retrogames noch ganz anders... Mein Tetris-Projekt...: Input: Joystick te t ris y tr i k s/ tetris/key tetris/score/... tetris/grid MQTTBroker tetris/key te Input:... /ke ey??? te tr tri is/g s/ sc rid or e/... Tetris-Engine: tetrisd te Input: Tastatur Output: Terminal te /s tris co /. re tetris/g tetri s/sc o.. rid re/... Output:... 23 Output: 7-SegmentAnzeige Output: WS2812Grid Output: Highscore-DB
Retrogames noch ganz anders... 24
Weiterführende Informationsquellen Retrogaming-Distributionen für RPI: RetroPie: https://retropie.org.uk/ https://github.com/retropie/retropie-setup/wiki RecalBox: https://www.recalbox.com/ Lakka: http://www.lakka.tv/ ODROID-GO: https://wiki.odroid.com/odroid_go/odroid_go Mein Tetris-Projekt: https://github.com/boerge42/tetris https://github.com/boerge42/tetris-daemon 25
Fragen?...ansonsten Danke & Ende! 26