- Dolphin, das 2003 als GameCube-Emulator begann, erweitert sich mit der Unterstützung des Triforce-Arcade-Systems im Jahr 2026 auf eine neue Plattformklasse
- Durch die MMU-Fastmem-Optimierung werden speicherseitenbasierte Zugriffe beschleunigt; insbesondere läuft Rogue Squadron III damit erstmals in voller Geschwindigkeit
- Der Online-Synchronisationsfehler von Mario Strikers Charged wurde nach 5 Jahren behoben, sodass Netzwerkspiel mit einer echten Wii korrekt funktioniert
- Bei der Triforce-Emulation wird derzeit das Touchscreen-Protokoll von The Key of Avalon sowie die IC-Karten-Funktionalität wiederhergestellt; auch Funktionen rund um F-Zero AX und Virtua Striker 4 sollen verbessert werden
- Zahlreiche Funktionen zur Verbesserung von Benutzererlebnis und Performance wurden ergänzt, darunter Spiel-Loading mit RAM-Cache, SDL-Controller-Hint-Einstellungen und Timing-Anpassungen für das Wii-Menü
Unterstützung für Triforce hinzugefügt
- Dolphin unterstützt nun offiziell Triforce, das gemeinsame Arcade-System von Sega, Namco und Nintendo
- Zu den ersten Verbesserungen gehören automatisches Einlegen von Magnetic Cards, Regionseinstellungen und Fehlerbehebungen bei der Emulation von Multi-Cabinet-Setups
- Es wurde bestätigt, dass das Touchscreen-Protokoll von The Key of Avalon dem von Elo SmartSet ähnelt; der Start des Spiels gelang bereits, wurde jedoch durch ein Problem bei der Initialisierung der IC-Karte gestoppt
- Durch die Wiederherstellung der IC-Karten-Funktion sollen in Virtua Striker 4, Gekitou Pro Yakyuu und anderen Titeln Teambau- und Charaktererstellungsmodi wieder funktionieren
MMU Fastmem und Optimierungen für Rogue Squadron
- Die Implementierung von seitentabellenbasiertem Fastmem-Mapping verbessert die Performance von Rogue Squadron II und III um bis zu das Doppelte
- Über das Tracking des
tlbie-Befehls werden Änderungen an der Seitentabelle in Echtzeit übernommen
- Durch das Deaktivieren von Branch Following, Optimierungen bei der Code-Invalidierung und das Aktivieren von CPU Vertex Culling werden Frame-Drops und Stottern reduziert
- Rogue Squadron III kann auf leistungsstarker Hardware erstmals mit voller Geschwindigkeit ausgeführt werden
Fehlerbehebung bei Mario Strikers Charged
- Als Ursache für den Physik-Synchronisationsfehler zwischen Dolphin und einer echten Wii wurde eine ungenaue Fließkomma-Berechnung im
fmadds-Befehl identifiziert
- Das Problem wurde durch eine präzise Rundungskorrektur mit dem
2Sum-Algorithmus gelöst; Online-Matches laufen nun vollständig synchron
- Die Korrektur baut auf Erfahrungen bei der Lösung eines ähnlichen Problems in Inazuma Eleven GO: Strikers 2013 auf
Weitere wichtige Verbesserungen
- Das Timing der Datenverwaltung im Wii-Menü wurde näher an echter Hardware ausgerichtet, wodurch übermäßige CPU-Last bei NAND-Zugriffen reduziert wird
- Mit der neuen Funktion Load Whole Game into Memory werden beim Ausführen von Spielen über Netzwerkspeicher wie NAS Wartezeiten durch Disk-I/O beseitigt
- Die Einführung von SDL-Hint-GUI-Einstellungen verbessert die Controller-Kompatibilität, etwa bei getrennten Joy-Con oder Hotplug-Problemen mit DualSense
- Für einige Spiele wie Need for Speed: Hot Pursuit 2 und Rabbids Go Home wurden VBI-Synchronisations-Patches angewendet, um die Frame-Begrenzung zu normalisieren
Performance und Community-Beiträge
- In dieses Release wurden 465 Commits zusammengeführt; außerdem flossen zahlreiche Community-Tests und Hardware-Recherchen ein
- Es enthält Lösungen für langjährige Problemfälle rund um die Rogue Squadron-Reihe, Mario Strikers Charged und Triforce, wodurch Genauigkeit und Performance von Dolphin deutlich verbessert wurden
1 Kommentare
Hacker-News-Kommentare
Es ist erstaunlich, dass Dolphin eine Online-Verbindung mit echten Wii-Konsolen ermöglicht, obwohl die offiziellen Server schon lange abgeschaltet sind.
Es freut mich wirklich, dass es Menschen mit einer so leidenschaftlichen Hingabe gibt.
Kurzfristig könnten solche technologischen Fortschritte allerdings auch die Ungleichheit weiter verschärfen.
Wenn Spiele wegen Bugs im Emulator ganz oder teilweise nicht laufen, verlieren künftige Generationen die Chance, diese Spiele zu erleben.
Dass sich Menschen so sehr darum kümmern, ist wirklich großartig.
Was ich am spannendsten finde, ist, dass die Entwicklung von Emulatoren oft aufdeckt, dass Originalspiele seltsames, aber beabsichtigtes Verhalten hatten.
Ich war überrascht zu erfahren, dass GCC Mitte der 90er schon automatisch Dinge erledigte, die ich Anfang der 2000er noch von Hand optimieren wollte.
Weil der Emulator das SRAM nicht speicherte, kam es zu fehlerhaften Spielständen, was schnell behoben wurde.
Da es einfacher, auf Plan9 basierender C-Code war, ließ sich das leicht korrigieren.
Ich lese die Dolphin-Entwicklungsberichte schon immer gern.
Sie erklären technische Inhalte sehr verständlich.
Im Zusammenhang mit den Dolphin-Berichten hat einer der Autoren einen interessanten Text über Probleme in der Open-Source-Emulator-Community veröffentlicht.
Rethinking Open Source
Kurz gesagt: Wenn man Projekte mit großem Hype als Open Source veröffentlicht, bevor Community und Identität gefestigt sind, kann das durch Nutzer mit unrealistischen Forderungen problematisch werden.
Außerdem kommt es vor, dass andere unfertige Branches übernehmen und so verteilen, als wären sie ihre eigene Arbeit.
Das Dolphin-Team führt das Projekt trotz solcher Schwierigkeiten mit einem hohen Maß an Professionalität.
Das ist selbst dann schwierig, wenn man dafür bezahlt wird, und bei einem kostenlosen Projekt vermutlich noch mehr.
Die alten Forks waren nicht besonders ausgereift.
Es ist schön zu sehen, wie der Autor über das, was er geschrieben hat, aufrichtig begeistert ist.
Als ich früher einen Melee-Netplay-Bug gemeldet habe, wirkte er wie jemand, der in allem Neugier findet und tief gräbt.
Dolphin ist wirklich ein Paradebeispiel für intelligente Entwicklung.
Früher brauchte Metroid Prime auf meiner alten Maschine alle 4 Kerne, um zu laufen, und ein paar Jahre später nutzte dasselbe Spiel nur noch 25 % eines Kerns.
Dank JIT und effizienterer Emulation hat sich die Leistung sprunghaft verbessert.
Solche Optimierungen sind wirklich eine beeindruckende Leistung.
In der Diskussion über die Triforce-Arcade-Kompatibilität wurde „IC-Karten-Unterstützung“ erwähnt, und wenn das implementiert wird, sollen sich viele Funktionen eröffnen.
Es sieht zwar aus wie eine japanische Fahrkarte, wird auf Triforce-Boards aber zum Speichern von Spielfortschrittsdaten verwendet.
So ein cooles Feature habe ich in US-Arcades noch nie gesehen.
Magnetkarten sind günstig, aber weniger haltbar und können bedruckt werden.
IC-Karten sind dicker und robuster, lassen sich aber nicht bedrucken.
Quelle mit Fotos und Erklärung: Rise of the Triforce
Fast alle Triforce-Spiele nutzen Karten zum Speichern.
Wahrscheinlich hat man auch in den USA schon Versionen von Mario Kart Arcade GP gesehen.
Es ist ein ähnliches Konzept wie die AIME-Karten, die bei maimai, chunithm, DDR usw. verwendet werden.
Allerdings dienen die IC-Karten von Triforce nicht nur der Authentifizierung, sondern auch der Datenspeicherung.
Der Fall, dass die CPU-Instruktion fnmsubs im JIT falsch implementiert war, im Interpreter aber korrekt funktionierte, ist interessant.
Für so einen Fall wäre differential fuzzing meiner Meinung nach sehr passend.
Der Kern dieses Beitrags ist, dass Dolphin die Unterstützung für Triforce-Arcade-Cabinets wiederhergestellt hat.
Triforce ist eine gemeinsam von Nintendo, Sega und Namco entwickelte Hardware, deren Unterstützung Dolphin 2016 eingestellt hatte.
Jetzt laufen Spiele wie F-Zero AX und Mario Kart Arcade GP 1 und 2 wieder.
Mehr dazu: The Return of the Triforce
Link zur vorherigen Diskussion
Der erste Absatz des Artikels behandelt das bereits, daher ist es schwer, das als „untergegangenes Thema“ zu bezeichnen.
Ich habe mich gefragt, ob sie Spenden annehmen, konnte auf der offiziellen Website aber nichts dazu finden.
Relevanter Forenbeitrag: Dolphin Donations