Nintendo-DS-Emulator: SeedlessDS in erster Beta-Version für Android erschienen
Nach längerer Entwicklungszeit ist SeedlessDS in Version 1.0.0-beta1 erschienen, wobei sich der Nintendo-DS-Emulator für Android vor allem an Handhelds mit zwei Displays richtet. Das Projekt versteht sich als Ergänzung zum ebenfalls von Sapphire Rhonodite entwickelten WatermelonDS, ist aber für schwächere Hardware ausgelegt.
Nintendo-DS-Emulator für weniger leistungsfähige Handhelds
Im Mittelpunkt von SeedlessDS stehen außerdem Android-Handhelds, die über physische Eingabegeräte verfügen. Besonders berücksichtigt werden Dual-Screen-Geräte, deren Display-Aufbau dem ursprünglichen Nintendo DS nahe kommen. Darüber hinaus wird das Projekt als kleinerer Ableger von WatermelonDS beschrieben, der einen leichteren technischen Ansatz verfolgt und vor allem auf weniger potenter Hardware zum Einsatz kommen soll. WatermelonDS bleibt somit das langfristige melonDS-basierte Hauptprojekt, während SeedlessDS bereits heute dort einspringen soll, wo melonDS-basierte Emulation auf leistungsschwachen Chips zu hohe Anforderungen stellt.
Derzeit noch eingegrenzte Plattform-Unterstützung
Technisch greift der Emulator auf einen auf DraStic r2.6.0.4a basierenden Core und die native Schnittstelle „libdrastic_bridge.so“ zurück, während das Rendering über einen EGL-basierten Dual-Panel-Pfad erfolgt. Unterstützt werden aktuell ausschließlich arm64-v8a-Geräte. Darüber hinaus setzt SeedlessDS mindestens Android 5.0 beziehungsweise API 21 voraus, wird aber mit den neuesten Werkzeugen für Android 15 entwickelt und dafür ebenso optimiert. Eine Linux-Version soll sich darüber hinaus bereits in Planung befinden, wobei ein RG35XX SP von Anbernic als Zielgerät angegeben wird. Damit könnte der Emulator langfristig nicht nur Android-Handhelds, sondern auch eine größere Klasse günstiger Linux-basierter Geräte abdecken.
Oberfläche nicht einfach von WatermelonDS übernommen
Bei SeedlessDS handelt es sich zudem nicht einfach um eine abgespeckte Variante von WatermelonDS. So wurde die Oberfläche vollständig neu mit Kotlin und Jetpack Compose entwickelt und nutzt darüber hinaus Material 3. Optisch soll die Abstammung allerdings deutlich erkennbar bleiben. Spiele können nach allen Einträgen, Favoriten, DS, DSiWare oder RetroAchievements sortiert beziehungsweise gefiltert werden. Hinzu kommt ein Bereich für zuletzt gespielte Titel.
Für die Darstellung der Spielebibliothek greifen die Entwickler allerdings auch bei SeedlessDS auf Box Arts zurück, im vorliegenden Fall über libretro-Thumbnails. Die Bilder werden dabei lokal zwischengespeichert, während ein mitgelieferter Thumbnail-Index auch auf schwacher Hardware einen zügigen Start ermöglichen soll. Die komplette Oberfläche lässt sich per Gamepad bedienen. Bei Dual-Screen-Geräten können zudem Beschreibungen auf einem externen Panel angezeigt werden, während durch Menüs navigiert wird.
Große Controller-Unterstützung
Hohe Aufmerksamkeit wurde obendrein der Controller-Unterstützung zuteil. Diese lassen sich beispielsweise mit klassischen DS-Tasten und dem Steuerkreuz ebenso wie mit Touch-bezogenen Funktionen, Fast-Forward, Quick Save, Quick Load, Bildschirmwechsel, Layout-Wechsel, Mikrofon, Turbo und weiteren emulatorspezifischen Shortcuts belegen. Mit dieser Umsetzung soll die Anwendung weitestgehend ohne ständige Touchscreen-Eingaben nutzbar sein. Darüber hinaus werden Save States mit Screenshots unterstützt. Anwender erhalten außerdem die Möglichkeit zur Nutzung von Quick Save und Quick Load, einer Cheat-Datenbank sowie eigener Cheat-Codes. Entsprechende Einstellungen lassen sich global oder pro Spiel konfigurieren.
RetroAchievements sind in der veröffentlichten Beta bereits in Form von rcheevos v12.3.0 integriert, befinden sich allerdings ebenfalls noch in der Testphase. Unterstützt werden aktuell Achievements, Leaderboards und Profilinformationen, einschließlich Hardcore- und Casual-Punkteständen. Zusätzlich wird an einer nativen Memory-Bridge für die Achievement-Funktionen gearbeitet. Ebenso geplant ist die Integration in externe Android-Frontends, wodurch Spiele über Android-Intents direkt gestartet werden können. Dabei sollen sich auch ROM-Pfade und bestimmte Save-State-Slots übergeben lassen. Als Dateiformate werden derzeit .nds, .dsi, .srl sowie .ids unterstützt.
Entwicklung noch in einem frühen Stadium
Die Entwickler betonen allerdings, dass es sich bei SeedlessDS 1.0.0-beta1 um eine sehr frühe Veröffentlichung handelt, bei der Kompatibilitätsprobleme bei einzelnen Spielen ebenso möglich sind wie noch unfertige Bereiche der Oberfläche. Auch RetroAchievements werden weiterhin getestet. Performance und Verhalten auf schwacher Hardware können aktuell je nach Gerät noch variieren, während die Dual-Screen-Funktion vom jeweiligen Android-Gerät und dessen Display-Implementierung abhängt.
Entsprechend umfangreich fällt der gewünschte Testumfang aus. Rückmeldungen sollen eine Vielzahl von Bereichen wie Spielkompatibilität, Performance auf schwachen Handhelds, Dual-Screen-Verhalten, Controller-Navigation und Mapping, Save States, Quick Save und Quick Load, Cheats, RetroAchievements-Anmeldung, Achievement-Freischaltungen, Leaderboards, UI-Probleme und den Start über externe Frontends abdecken. Die Roadmap sieht mehrere größere Entwicklungsschritte vor, die SeedlessDS langfristig technisch unabhängiger vom großen Bruder werden lassen sollen.
Ab sofort verfügbar
Die Beta-Version von SeedlessDS steht ab sofort auf der Projektseite auf Github bereit. Dort sind auch weitere Informationen zum Projekt zu finden.