GameBoy Emulator auf iOS (Stand 12/2019)

Obwohl es dem iOS AppStore nicht an Spielen mangelt (nach Schätzungen gibt es über 250.000 zur Auswahl), bin ich jedoch öfters in der Retro-Ecke verhaftet und erinnere mich sehnsüchtig an meine Spielstunden auf den älteren Nintendo Konsolen zurück.

Während es auf einem Android Gerät recht einfach ist sich einen Emulator aus dem PlayStore zu installieren, ein paar seiner eigenen/Homebrew ROMs herüber zu kopieren und loszulegen, sieht die Sitation in Apples Ökosystem restriktiver aus.

Apple erlaubt es Entwicklern nicht Emulatoren im AppStore zu veröffentlichen – dies gilt auch für andere Umgebungen die fremden Code ausführen könnten.
Zwar gab es hier und dort Entwickler welche Emulatoren versteckt in anderen Apps in den AppStore geschmuggelt hatten, diese Apps wurden aber innerhalb kürzester Zeit von Apple wieder entfernt.

Es gibt aber auch mehrere Wege am AppStore vorbei. Abgesehen von windigen Entwicker-Zertifikaten oder einem Jailbreak, gibt es noch zwei weitere Möglichkeiten, über welche ich in diesem Blogpost schreiben möchte:

  • WebApps (PWA)
  • Selbstsignierte Apps

PWA (Progressive Web Apps)

Damals unter iPhoneOS 1, bevor es überhaupt den AppStore gab, war es die „Sweet solution„: WebApps
Ein wenig HTML, CSS und JavaScript sollte damals die Lösung sein um dieses junge Betriebssystem mit Funktionen zu erweitern.

Und auch heute ist es noch immer ein Weg vorbei an Apples Zugangskontrolle.
Safari hat seit damals eine Funktion eingebaut um Webseiten als Pseudo-Apps zum Homescreen hinzuzufügen.

GamePlayColor

Webseite: https://gameplaycolor.com/
Unterstützt: GameBoy & GameBoy Color

Vorteile

  • Open Source (GitHub)
  • Mehrere Geschwindigkeiten
  • Verschiedene GameBoy Skins

Nachteile

  • Hoher Stromverbrauch (bedingt durch seine Bauweise als PWA)
  • Kein Export von Savegames
  • Kein Feedback/Vibration beim Knöpfe drücken (PWA bedingt)
  • Benötigt Google Konto (Google Drive)

Hinweis: iOS 13 hat einige Funktionen des Browsers überarbeitet, welche u.a. die Emulator nutzen. Dieses Projekt wird aktuell von ein paar Entwicklern aufgefrischt und ist noch wieder ganz einsatzbereit.
Es gibt aber eine funktionierende Version unter folgendem Link:
https://brandosha.github.io/gameplay/index.html

Eclipse

Webseite: http://eclipseemu.me/
Unterstützt: GameBoy, GameBoy Color, GameBoy Advance, NES, SNES*

Vorteile

  • Unterstützt viele Plattformen
  • Verschiedene Controller Skins
  • Mobil und am Desktop nutzbar
  • Konfigurierbare Tastaturbelegung (z.B. iCade Bluetooth Controller)
  • Eingebauter Homebrew Repos

Nachteile

  • Hoher Stromverbrauch (bedingt durch seine Bauweise als PWA)
    Je jünger die Plattform ist, desto mehr Rechenpower wird benötigt
  • Nicht Open Source, kann nicht selbst gehostet werden
  • Kein Feedback/Vibration beim Knöpfe drücken (PWA bedingt)
  • (Aktuell) Savegames/Settings können am iPhone nicht exportiert werden (offener Issue)
  • (Aktuell) Start/Select Knöpfe sind an aktuellen iPhones schwer zu treffen (offener Issue)

Hinweis: In meinem Test konnte ich mobil keine SNES Spiele starten, am Desktop funktionierte es

Selbstsignierte Apps

Seit ein paar Wochen gibt es das Open Source Projekt AltStore, von Riley Testut und Caroline Moore, welches die andere offizielle Möglichkeit am AppStore vorbei Apps zu installieren einfach möglich macht: Selbstsignierte Apps

Von Apple gibt es kostenlose Werkzeuge um selbst Apps zu progammieren (einen Mac vorausgesetzt). Diese Apps ihr dann auf euer iOS Gerät überspielen und nutzen. Leider gibt es hier die Einschränkung, dass diese Apps immer nur für 7 Tage gültig sind und danach nicht mehr gestartet werden können.

Hier setzt der AltStore sich dazwischen. Ihr installiert ein kleines Programm auf deinem Windows PC oder Mac und installiert durch dieses Tool den AltStore auf eurem Gerät.
Aus dem AltStore heraus könnt ihr dann Delta installieren (siehe weiter unten).
Sollten sich nun die oben erwähnten 7 Tage dem Ende neigen, könnt ihr direkt von iOS aus den AltStore (und Delta) frisch drüberbügeln (vorausgesetz wird hierzu jedoch, dass der PC auf dem ihr den AltStore auch installiert habt, angeschaltet/im selben WLAN sein muss).

Das Projekt ist noch recht jung und es gibt aktuell nur eine App im AltStore kostenlos zum Download. In Zukunft soll es aber noch viele andere geben – es sei denn, Apple legt dem Projekt größere Steine in den Weg.
In den letzten Wochen gab es bereits zwei Mal Änderungen von Apples Seite, welche den AltStore behindert haben. Diese Änderungen konnten aber vom Entwickler wieder ausgeglichen werden.
Man darf also gespannt bleiben, wie lange das Projekt bestehen bleibt.

Delta

Webseite: https://deltaemulator.com/ bzw. https://altstore.io/
Unterstütz: GameBoy, GameBoy Color, GameBoy Advance, NES, SNES, Nintendo 64 (zukünftig auch Nintendo DS)

Vorteile

  • Unterstützt sehr viele Plattformen
  • Geringer Stromverbrauch
  • Verschiedene Skins
  • iOS Controller Support
  • MultiPlayer Support
  • Haptisches Feedback beim Knöpfe drücken
  • Cloud-Savegame Sync (Dropbox oder Google Drive)
  • Open Source

Nachteile

  • Größter Aufwand um es zu Installieren und in Betrieb zu halten
  • Ungewisse Zukunft

Schlusswort

Es ist auch 13 Jahre nach Vorstellung des iPhones eine schwierige Lage bezüglich Emulation auf dem Apple Smartphone (oder Tablet). Immerhin sind die Gerät mittlerweile so schnell, dass eine Emulation über den Browser durchaus eine Alternative zu richtigen Apps sind.

Leider ist der Stromverbrauch der WebApps recht hoch und so empfiehlt es sich immer eine (mobile) Stromquelle in der Nähe zu haben.

Delta und der AltStore haben vermutlich ein Katz-und-Maus-Spiel vor sich, was aber eventuell nicht komplett nuklear wird, falls Apple einer potientieller Wettbewerbsklage kein Feuerholz reichen möchte.

OwnCloud 6.x <-> iOS 7.x – CardDAV Sync einrichten

Ich bin ja mittlerweile ein Freund von ownCloud geworden, wenn es um die Synchronisation von Kalendern und Kontakten zwischen all meinen Geräten geht.
Jedoch gibt es seit iOS 7.x ein seltsames Problem bei der einrichtung von CardDAV-ownCloud-Servern. Dies wurde auch schon an mehreren Stellen im Netz diskutiert und auch auf GitHub und dem offiziellen ownCloud-Forum gibt es hierzu ein paar Einträge. Leider waren all diese bei mir ohne Erfolg.

Ich saß heute Nachmittag nun ca. 90 Minuten an diesem Problem und habe es endlich geschafft, die synchronisation wieder einzurichten. Und damit ich beim nächsten Mal nicht wieder ewig herumprobieren muss und da anderen Menschen eventuell das selbe Problem haben, schreibe ich also mal mein Schritt-für-Schritt-Vorgehen hier auf.

Mein Setup:

  • ownCloud 6.0.3 (stable) – frisch installiert
  • iPhone mit iOS 7.0.4

Einrichtung:
Ich gehe mal davon aus, dass ihr bereits einen User angelegt und eure Kontakte in eure ownCloud-Installation auf eurem Server eingepflegt habt.

  1. iPhone Einstellungen.app
  2. „Mail, Kontakte, Kalender“
  3. „Account hinzufügen“
  4. „Andere“
  5. „CardDAV-Account hinzufügen“
  6. Server: meinserver.de
    Benutzername: meinbenutzer
    Kennwort: meinkennwort
    Beschreibung: ownCloud
  7. Unter Server muss bisher nur die Domain eingetragen werden, nicht der komplette Pfad von ownCloud! (Auch kein HTTP / HTTPS!)
  8. „Weiter“
  9. Es kommt eine Fehlermeldung:
    „Verbindung über SSL unmöglich“
    Hier auf „Abbrechen“ klicken!
  10. Es kommt eine weitere Fehlermeldung
    „Kontakteaccount“ …
    Diese mit OK bestätigen.
  11. „Erweiterte Einstellungen“
  12. Haken bei „SSL verwenden“ setzen (grünes Icon)
  13. Port 443 eintragen
  14. Account-URL mit folgendem Inhalt ersetzen:
    https://meinserver.de/cloud/remote.php/carddav/principals/meinbenutzer/
  15. Hierbei nun natürlich meinserver.de/cloud & meinbenutzer durch euren Pfad / Benutzer aus ownCloud ersetzen!
  16. Oben links auf „< CardDAV" klicken
  17. Nun oben rechts auf „Weiter“
  18. Es kommt erneut die Fehlermeldung „Verbindung über SSL unmöglich“. Erneut auf Abbrechen klicken.
  19. Die folgende Fehlermeldung wie vorhin auch mit „OK“ bestätigen.
  20. Oben rechts nun auf „Sichern“
  21. Den unten aufgehenden Dialog mit „Sichern“ bestätigen.
  22. Fertig!
  23. Wenn ihr nun eure Telefon.app oder Kontakte.app öffnet, dann sollten sich nach kurzer Zeit eure Kontakte in euer Telefon herunterladen.

meinserver.de, meinbenutzer, meinkennwort sowie den Pfad bei Punkt 14 müsst ihr natürlich an euer Setup anpassen.

Ich hoffe ich konnte irgendjemanden hiermit behilflich sein, welcher ebenfalls Probleme bei der Einrichtung seines CardDAV-Accounts hatte.

[Mac] Delivery Status

Delivery Status

Aus der Kategorie »sollte jeder Mac-User installiert haben« (oder auf jeden Fall jeder, der öfters Sachen™ bestellt) heute nur der kleine Hinweis auf Delivery Status 6.0 von der Firma Junecloud.

Delivery Status ist ein gerade mal 7 Megabyte großes Widget für euer OS X-Dashboard, welches euch erlaubt von verschiedenen Webseiten oder Lieferdiensten die Paketlieferung zu überwachen. Unterstützt werden hierbei u. a. direkte Bestellungen von Apple.com oder Amazon ebenso wie auch folgende Logistikfirmen:

  • DHL (Including Express deliveries in most countries, US GlobalMail, UK Domestic Express, and Germany. DHL Express Germany, UK Domestic Express, and SmartMail are not currently supported)
  • DPD (Germany and UK)
  • FedEx (Including most countries, as well as FedEx SmartPost. FedEx UK is not currently supported)
  • GLS (Including Austria, Belgium, Denmark, France, Germany, Ireland, Luxembourg, Portugal, and Spain)
  • Hermes Logistik Gruppe (HLG) Germany only
  • UPS

Ihr benötigt hierbei einfach nur die Tracking-Nummer, die euch der Versender/Online-Shop mitgeteilt habt und schon habt ihr eure Lieferungen im Blick.

Das Widget ist im übrigen komplett kostenlos und wird regelmäßig aktualisiert. Falls ihr eure Lieferungen auch über euer iPhone/iPad verfolgen wollt, so gibt es von Junecloud auch eine eigenständige iOS App, welche ihr im AppStore für 4,49€ erwerben könnt. Hierbei könnt ihr übrigens über einen kostenlosen Junecloud-Account eure überwachten Lieferungen auch zwischen Mac und iOS App synchronisieren.