RetroPI – „Raspberry PI“ als Spielekonsole (Schneeberger & Pauschenwein)

Exposee: Innerhalb der Lehrveranstaltung „Mobile and Location Based Computing“ soll das Arbeiten mit dem Mini-System, Raspberry Pi, den Studenten näher gebracht werden. Durch intensive Beschäftigung mit dem Server-System, können weitgehende Erfolge für den Heimgebrauch erzielt werden. Die Hardware wird insbesondere von interessierten experimentierfreudigen Studenten genutzt.

LV: Mobile- & Location-Based-Computing

Dozent: Rainer Schmidt

Team: Andreas Schneeberger &  Petra Pauschenwein

Status: 18-05-2015

_______________________________________________________________________________

Projekt: Raspberry PI als Spielekonsole – „RetroPI“

Motivation

„Retro – Games“, wie man sie aus den 80er Jahren kennt, laufen heutzutage auf den gängigen Hardwareausführungen und Betriebssystemen nicht mehr. In den vergangenen Jahrzehnten wurden teure Computersysteme an die Endkunden verkauft. Bekannte Anbieter und deren Game-Konsolen (Nintendo, Commodore64, Atari, Sega) werden für manche immer in Erinnerung bleiben. Die an das System gestellten Anforderungen können über die Hardware eines Mini-Systems, nämlich dem „Raspberry Pi“ erreicht werden. Dabei erfüllt dieser die Leistungsansprüche und es steht dadurch dem Wiederbeleben solcher Videospielsysteme nichts mehr im Wege.

Die Konsolenspiele können nicht direkt ausgeführt werden, müssen deshalb über eine „virtuelle Spielekonsole“ emuliert werden. Dadurch wird das Vorhandensein der benötigten Hardware erreicht beziehungseise vorgespielt und die Anweisungen übersetzt, sprich vom System verstanden.

Der „Raspberry-Pi“

Der Server wird über den „Raspberry Pi“ realisiert, welcher dafür zu Verfügung gestellt wurde. Die genauen Spezifikationen können der Herstellerseite entnommen werden und sind unter der URL „http://www.raspberrypi.org/introducing-raspberry-pi-model-b-plus/“ zu finden. Anschließend sind die wichtigsten Daten des Gerätestyps, „Raspberry Pi Model B+“ aufgezeigt:

Raspberry

SoC (CPU & GPU): Broadcom BCM2836

Model Name: ARMv7 Processor rev 5 (v7l)

Firmware-Version: Linux cpi 3.18.7-v7+ #755 SMP PREEMPT Thu Feb 12 17:20:48 GMT 2015 armv7l GNU/Linux

Abmessungen: 85,60 mm x 53,98 mm x 17 mm

Zusätzliche Produkte, wie ein HDMI Kabel, ein Netzwerkadapter mit 5 Volt bei 2000 Milliampere Energieverbrauch, ein WiFi-Adapter und eine Micro-SD-Speicher Karten mit etwa 32 GB sind für den Gebrauch erforderlich.

Hardware1jpgUm die Spielekonsole hautnah erleben zu können wurden alte Bestände, welche nicht mehr funktionstüchtig sind besorgt und entsprechend zur Restaurierung vorbereitet. Die Auswahl viel auf den Commodore 64.

Ziel ist es, altbekannte C64 Games aus unserer Jugend zu zocken!!!

Beschaffung des Betriebssystems

Das Betriebssystem kann kostenlos von der Herstellerseite bezogen werden. Die angebotenen Versionen stehen auf der „Raspberry Pi“ – Plattform zu Verfügung (http://www.raspberrypi.org/downloads/). Neben Raspbian (Debian Weezy), einer gängigen, zugeschnittenen Distribution speziell für den „Raspberry Pi“ gibt es alternativ „Snappy Ubuntu Core“, das für Entwickler bereit gestellt wird. Mit „OPENELEC- Open Embedded Linux Entertainment Center“ und „OSMC – Open Source Media Centre“ werden Betriebssysteme für ein Home Entertainment Media Center angeboten. Zusätzlich gibt es die Auswahl zwischen „RISC OS“ und „PIDORA“, welches auf die Umgebung von „Fedora“, ein weiteres bekanntes Linux Betriebssystem, zurückgreift.
Die Software kann direkt von der angeführten Web-Seite herunter geladen werden, entweder über einen „Torrent-Link“ oder als „Zip-Archiv“. Der Link, „file://localhost/C:/Users/~/Downloads/2015-02-16-raspbian-wheezy.zip.torrent“, wird über den Standardbrowser des Systems geöffnet und der Download startet automatisch. Nach dem extrahieren der runtergeladenen Zip-Datei, „2015-02-16-raspbian-wheezy.zip”, steht die gewünschte Image-Datai (.img) zu Verfügung.

Installation des Betriebssystems

Um das Betriebssystem auf die SD-Karte, die „Festplatte“ des „Raspberry Pi’s“ zu bekommen, werden unter Windows zusätzliche „Freeware-Tools“ verwendet. Das kostenlose Hilfsprogramm „Win32 Disk Imager“, (http://sourcefrog.net/projects/ win32diskimager/), kann dazu verwendet werden um die angesprochene Image-Datei direkt auf die SD-Karte zu schreiben. Ein komfortables Programm um die SD-Karten zu formatieren und für den Gebrauch herzurichten kann von folgender Quelle bezogen werden, http://www.heise.de/download/sd-formatter.html und nennt sich „SD-Formatter V4.0“.

SD_KarteRaspbian

2015-04-13 13_42_05-Win32 Disk Imager-Read-Backup erstellenEine weitere Variante, die sich als einfach und nützlich erwiesen hat, bietet die Anwendung des Installationsmanagers NOOBS (New Out Of the Box Software). Dabei steht eine Installation mit Netzwerkanbindung oder eine Offline-Variante frei zur Auswahl. Erst bei der netzwerkunterstützen Installation stehen weitere Betriebssysteme zum Selektieren bereit. In jedem Fall wird das heruntergeladene Archiv direkt auf die SD-Karte extrahiert. Unmittelbar nach diesem Vorgang kann diese in den „Raspberry Pi“ gegeben werden, die nötigen Peripheriegeräte (Maus, Tastatur, Monitor) angesteckt werden und der Mini-PC eingeschaltet werden. Das passiert, indem das Netzteil mit dem Mini-USB Slot des Gerätes verbunden wird und damit die Stromzufuhr ermöglicht. Danach startet die Installation automatisch und dauert etwa fünfundzwanzig – dreißig Minuten. Nach dem ersten Startvorgang öffnet sich erstmals ein Konfiguration-Modus. Dieser kann jederzeit mit dem Befehl, „raspi-config“ wieder aufgerufen werden und ermöglicht einige Standardeinstellungen für das Gerät. Ist die Installation nicht über NOOBS erfolgt, muss unter dem Menüpunkt „Expand Filesystem“ der gesamte verfügbare Speicher der SD Karte nutzbar gemacht werden. Die Standard-Login-Daten (User: pi / Passwort: raspberry) sollten geändert werden. Desweiteren ist es notwendig die länderspezifischen Einstellungen vorzunehmen. Dabei werden Sprache und regionale Einstellungen gesetzt, wobei darauf zu achten ist, dass de_AT.UTF-8, UTF-8 für ein österreichisches dreisprachiges Layout zu wählen. Zusätzlich bietet es sich an die US-spezifischen Einstellungen mit zu installieren. Das Erkennen des Tastatur-Layouts erfolgt dann automatisch.

GeneratingLocalesOverclock

Resize of DSC_0247

Das direkte Hochfahren mit Graphischer Oberfläche (GUI) kann aktiviert werden. Andernfalls startet der „Raspberry Pi“ lediglich mit einer Eingabe-Konsole. Das ist für den Server-Betrieb ausreichend und produktiv. Um trotzdem weitere Konfigurationen in gewohnter graphischer Umgebung vorzunehmen, kann jederzeit in den graphischen Modus mit „startx“ gewechselt werden.

Weiters ist das Arbeiten unter den in der Linuxwelt bekannten Bedingungen durchzuführen. Zunächst sollte die Version des Betriebssystems mit den Befehlen „sudo apt-get update“ und „sudo apt-get upgrade“ auf neuesten Stand aktualisiert werden. Der Paket-Manager führt die Anpassungen ordnungsgemäß durch und nimmt ungefähr 15 min Zeit in Anspruch. Voraussetzungen dazu ist eine aufrechte Verbindung zum Internet. Dies kann über die Ethernet-Schnittstelle mit einem herkömmlichen „LAN-Kabel“ (RJ45) erfolgen oder über einen WLAN-Adapter realisiert werden. Der Hersteller empfiehlt den Wireless 802.11b/g/n USB Adapter von „Edimax“. Die nötigen Treiber, sprich die Geräteerkennungssoftware, ist bereits im Betriebssystem integriert und muss nicht nachinstalliert werden. Um den „Raspberry Pi“ über WLAN erreichbar zu machen, müssen Konfigurationsänderungen durchgeführt werden. Zumal sind die Einträge in der Datei „/etc/network/interfaces“ zu erweitern, sodass eine IP-Adresse über DHCP (Dynamic Host Configuration Protocol) auto  matisch bezogen wird. Ebenso kann die gewünschte IP-Adresse auch statisch vergeben werden um dem Gerät eine dauerhaft bleibende Adresse zuzusichern. In diesem Fall wird die IP-Adresse beim Hochfahren des „Raspberry Pi’s“ zugeteilt. Dabei wird über spezielle Einstellungen am Netzwerkrouter sichergestellt, dass die gewählte Adresse permanent dem Gerät zugewiesen wird. Die Zugangsdaten werden in die Datei „/etc/wpa_supplicant/ wpa_supplicant.conf“ eingefügt, um eine Verbindungsauthentifizierung zu ermöglichen. Abhängig vom Access Point können die Einstellungen (RSN, CCMP) für ein WPA2 verschlüsseltes Netzwerk oder (WPA, TKIP) für WPA1-Verschlüsselung vorgenommen werden. Damit der „Raspberry Pi“ den WLAN-Adapter nach einer verloren gegangen Internetverbindung, beispielsweise bei schwachem Empfang nicht deaktiviert, wird die Datei „/etc/wpa_supplicant/ifupdown.sh“ in die das Verzeichnis „/etc/ifplugd/ action.d/“ kopiert. Nach einem Neustart des Netzwerkdienstes mit „sudo service networking restart“ kann die zugewiesene IP-Adresse mit dem Befehl „ifconfig“ überprüft werden.

networkinterfaces

interfaces

hostnameUm bequem mit dem „Raspberry Pi“ arbeiten zu können ist es notwendig entsprechende Remoteverbindungen einzurichten. Danach kann das Gerät vom Desktop-PC oder Laptop betreut und eingerichtet werden. Direkt an den „Raspberry Pi“ angeschlossene Geräte, wie Tastatur oder Monitor sind dann nicht mehr unbedingt erforderlich und können abgesteckt werden. Die Installation des SSH Dienstes erfolgt üblicherweise über den Packet Manager. Mit „sudo apt-get install openssh-server“ kann dieser nachinstalliert werden. Danach kann eine sichere Verbindung über Port 22, beispielsweise über das Programm „PuTTY“, hergestellt werden und über ein Konsolenfenster weitere Tätigkeiten durchgeführt werden. Durch Installation des „Xrdp-Dienstes“ (sudp apt-get install xrdp), ist es möglich auf das Betriebssystem via „Remotedesktop“ zu verbinden. Nach Eingabe der Login-Daten steht eine graphische Benutzeroberfläche zu Verfügung.

RemoteConnection

Erweiterte Systemkonfiguration

Dies soll bequem über ein erweitertes Installationsskript erfolgen.

  •  Paketmanager aktualisieren

sudo apt-get update

apt-update

  • Erforderliche Softwarepakete installieren

Zeitaufwand: 8:09 – 8:20

pi@cpi ~ $ sudo apt-get install git dialog
Paketlisten werden gelesen… Fertig
Abhängigkeitsbaum wird aufgebaut.
Statusinformationen werden eingelesen…. Fertig
git ist schon die neueste Version.
git wurde als manuell installiert festgelegt.
Die folgenden NEUEN Pakete werden installiert:
dialog
0 aktualisiert, 1 neu installiert, 0 zu entfernen und 50 nicht aktualisiert.
Es müssen 304 kB an Archiven heruntergeladen werden.
Nach dieser Operation werden 1.136 kB Plattenplatz zusätzlich benutzt.
Möchten Sie fortfahren [J/n]? J
Holen: 1 http://mirrordirector.raspbian.org/raspbian/ wheezy/main dialog armhf 1.1-20120215-2 [304 kB]
Es wurden 304 kB in 0 s geholt (455 kB/s).
Vormals nicht ausgewähltes Paket dialog wird gewählt.
(Lese Datenbank … 78502 Dateien und Verzeichnisse sind derzeit installiert.)
Entpacken von dialog (aus …/dialog_1.1-20120215-2_armhf.deb) …
Trigger für man-db werden verarbeitet …
dialog (1.1-20120215-2) wird eingerichtet …

  • Installationsskript laden

git clone git://github.com/petrockblog/RetroPie-Setup.git
pi@cpi ~ $ git clone git://github.com/petrockblog/RetroPie-Setup.git
Cloning into ‚RetroPie-Setup’…
remote: Counting objects: 9766, done.
remote: Total 9766 (delta 0), reused 0 (delta 0), pack-reused 9766
Receiving objects: 100% (9766/9766), 14.73 MiB | 1.11 MiB/s, done.
Resolving deltas: 100% (6857/6857), done.
pi@cpi ~ $

Zeitaufwand: 8:20 – 09:25

  • In das Heimatverzeichnis wechseln

cd Retro-Pie-Setup

RetroPI-Dirchmod-retropisetup

  • Skript starten

sudo ./retropie_setup.sh

Installation_retro_binaries

Petroblock-1-Setup_RetroPie-Setup  Petrockblock

 

  • Einloggen in das neu installierte System

startfenster-RetropiFortfolgend wurden alle Updates und Aktualisierungen durchgeführt.

Das starten des Emulators erfolgt mit dem Befehl:

emulationsstation

Dabei wurd das Setup so eingerichtet, dass dieser automatisch beim Start des Raspberry PI’s ausgeführt wird.

Dabei stehen verschiedenste Plattformen für den Betrieb bereit. Neben der Auswahl von Demoversionen steht auch die altbewährte DOS-BOX zu Verfügung.

Resize of DSC_0188 Resize of DSC_0189 Resize of DSC_0190 Resize of DSC_0191 Resize of DSC_0192 Resize of DSC_0193Resize of DSC_0244

Der Commodore 64 Emulator wurde nach dem Bereitstellen der Spiele in den vordefinierten Ordnern ebenfalls automatisch eingerichtet.

  • Setup der Emulations-Station

In weiterer Folge erfolgt das Setup der Input-Devices und der weiteren Einstellungen über Sound, Display, Steuerung, usw…

Resize of DSC_0194 Resize of DSC_0195 Resize of DSC_0196 Resize of DSC_0197 Resize of DSC_0245

  • Bereitstellen der Spiele Roms

romsÜber WIN SCP wurden die Spiele in die entsprechenden Ordner kopiert, dabei ist zu Beachten, dass die Anbieter der ROMs vertrauenswürdig sind.

Quelle: http://www.c64games.de/phpseiten/spiele.php

 

SpieleResize of DSC_0233 Anschliessend stehen die Spiele zur Auswahl bereit 🙂

Der Commodore Emulator von „VICE“ muss zusätzlich konfiguriert werden!

Resize of DSC_0248Resize of DSC_0205 Resize of DSC_0204 Resize of DSC_0206 Resize of DSC_0207

Lizenzen 🙂

Resize of DSC_0249 Resize of DSC_0251 Resize of DSC_0250

 

THE GAMES – It will make you crazy!

Resize of DSC_0241 Resize of DSC_0236 Resize of DSC_0235 Resize of DSC_0234 Resize of DSC_0230 Resize of DSC_0229 Resize of DSC_0224 Resize of DSC_0225 Resize of DSC_0219 Resize of DSC_0211 Resize of DSC_0208 Resize of DSC_0221  Resize of DSC_0202 Resize of DSC_0201

Für den „Amiga“ gibt es auch etwas:

Resize of DSC_0242 Resize of DSC_0243

 

  • Game Controller

Die Tastatur ist neben den Joysticks bekannterweise unbedingt erforderlich. Inputdaten müssen einerseits über Joystick 1 andererseits über Joystick 2 getätigt werden. Dazu braucht man zuzüglich die Tastatur um mit F1 -F8, RETURN, SPACE, TAB Eingaben vorzunehmen.

Es wurde versucht einen gängigen Controller (PS3), der über eine USB-Schnittstelle verfügt dem Emulator bekannt zu machen. Das klappt auch gut für die Menüführung.

Leider ist das Spielen innerhalb des C64 Emulators mit dem PS3 Controller nur bedingt möglich!

Resize of DSC_0226

sudo apt-get install joystick

Sixaxes Controller Check:

ls /dev/input

js0

jstest /dev/input/js0

jstest

Ausblick auf weitere Tätigkeiten

Quelle: http://blog.petrockblock.com/2012/10/21/the-retropie-gpio-adapter/

Unter diesem Blog sind die Möglichkeiten beschrieben, wie weitere Anpassungen vorgenommen werden können. So kann über das integrierte GPIO Interface des Raspberry PI’s die Schnittstelle zu orginalen Game-Pads erfolgen.

retrockblockGPIO

 

Keyrah bietet den kompletten Adapter für Tastatur und Input-Geräte am Markt offiziell an.

Quelle: http://www.vesalia.de/d_keyrahv2.htm

Kosten ~ 35,00 €

 

keyrah2 keyrah1

Leider konnte der Adapter innerhalb dieses Projektes aus Zeitgründen nicht organisiert werden.

Dieser kommt auf jeden Fall auf die TO-DO List was zukünftig mit Sicherheit sehr viel Spielespaß und Freude bedeuted 🙂

LG, Andreas Schneeberger & Petra Pauschenwein

 

Advertisements

Kommentar verfassen

Trage deine Daten unten ein oder klicke ein Icon um dich einzuloggen:

WordPress.com-Logo

Du kommentierst mit Deinem WordPress.com-Konto. Abmelden / Ändern )

Twitter-Bild

Du kommentierst mit Deinem Twitter-Konto. Abmelden / Ändern )

Facebook-Foto

Du kommentierst mit Deinem Facebook-Konto. Abmelden / Ändern )

Google+ Foto

Du kommentierst mit Deinem Google+-Konto. Abmelden / Ändern )

Verbinde mit %s