m4xw hat die öffentliche Beta des Dynarec-Builds von Beetle PSX auf die Nintendo Switch portiert. Dieser verbessert die Geschwindigkeit des PlayStation-1-Emulators enorm. Noch handelt es sich um einen Work-In-Progress.
Was ist ein Dynarec?
Dynarec steht für "Dynamic Recompiler" bzw. "dynamische Rekompilierung". Hierbei werden Teile eines Programmes während der Ausführung für die Zielplattform "rekompiliert". Der Recompiler sieht sich also einen Code-Block an (in dem Falle Code für die MIPS-Architektur) und gibt stattdessen nativen Code aus (im Falle der Switch ARM64).
Das ist natürlich deutlich schneller, als der bisherige Interpreter – hierbei wird nur eine einzelne Instruktion dekodiert und ausgeführt. Streng genommen ist der Begriff "dynamische Rekompilierung" also eigentlich falsch. Wer sich mehr dafür interessiert, findet bei der guten alten Wikipedia einen Artikel darüber.
Dynarec in Beetle PSX
Schon vor einiger Zeit wurde ein "Kopfgeld" auf die Implementierung eines Dynarec für Beetle PSX (dem PlayStation-1-Emulator von Libretro) ausgesetzt (derzeit 1.000 USD). Beetle ist ein Fork von Mednafen, einem sehr akkuraten PS1-Emulator, der allerdings nur einen CPU-Interpreter besitzt. Der Dynarec wurde vor Kurzem von pcercuei und Zach Cook entwickelt und veröffentlicht.
Für die Switch gibt es zwar noch PCSX ReARMed, der hat allerdings keine besonders gute Kompatibilität und läuft auch nicht ganz rund.
Austesten
Extrahiert die ZIP aus dem Tweet von m4xw in "/retroarch/cores/" und startet ein PS1-Spiel über RetroArch mit Beetle PSX um den Dynarec in Aktion zu erleben. Pepsiman soll mit Fullspeed in zweifacher Auflösung laufen! In Zukunft soll er über den Buildbot bereitgestellt werden.