RetroArch ist ein sogenanntes Frontend für mehrere Emulatoren, die "Cores" genannt werden.
Cores
U.a. sind Cores für folgende System/Spiele enthalten:
- 2048
- 3DO
- Amstrad CPC 6128
- Atari 2600
- Atari 7800
- Atari Lynx
- Bandai WonderSwan (Color)
- Commodore 64
- Doom
- DOSBox
- Final Burn Alpha
- Game Boy, Game Boy Color und Game Boy Advance
- Intellivision
- Magnavox Odyssey 2
- MAME
- MSX
- Neo Geo Pocket (Color)
- NES und Famicom
- Nintendo 64 (nur per Title-Takeover, nicht übers Album!)
- PC-Engine (CD)/Turbografx16
- Pokémon Mini
- SEGA Master System und Game Gear
- SEGA Mega Drive/Genesis
- SNES und Super Famicom
- Sony PlayStation 1
- Supergrafx
- Vectrex
- Virtual Boy
Die perfekten Einstellungen
Folgende Einstellungen sollten zwingend gesetzt sein:
ZUERST unter User Interface -> "Show Advanced Settings" auf ON stellen!
- Drivers
- Video: gl
- Audio: switch_audren_thread
- Menu: ozone (für das Switch-Menü), xmb (PS3-artiges XMB)
- Video
- Aspect Ratio: Core provided
- Threaded Video: On
- Vertical Sync (VSync): On
- Bilinear Filtering: Egal (On = weicheres, aber verschwommenes Bild, Off = härteres, aber schärferes Bild)
- Input
- Menu Toggle Gamepad Combo: L3 + R3 (beide Sticks klicken öffnet dann das RetroArch-Menü – natürlich kann jede beliebige Kombination gewählt werden, mit den Sticks kommt es allerdings zu weniger Konflikten)
- Configuration
- Save Configuration on Exit: On
- Saving
- SaveRAM Auto Save Interval: 10 seconds (optional, aber empfohlen)
- Auto Save/Load State: On (optional, aber sehr nützlich)
- Save runtime log (aggregate): Beide Optionen auf "On" und RetroArch loggt die Spielzeit
- Frame Throttle
- Rewind
- Rewind Support: Off (kann für alte Systeme aktiviert werden)
- Rewind
- Achievements
- Hier ist alles optional, es kann ein RetroAchievements-Account verbunden werden. Die meisten Erfolge sind allerdings nur für die US-Versionen der Spiele!
- User
- Language: English (tut euch bitte den Gefallen)
ROMs starten
RetroArch benutzt Playlists, die angeben, welche ROM sich wo befindet und welcher Core dafür benutzt werden soll. Das sind ganz normale Textdateien, die sich in "/retroarch/playlists" befinden. Du musst diese aber nicht manuell erstellen – RetroArch enthält einen Spiele-Scanner, der die ROMs automatisch einträgt und einordnet!
Damit das funktioniert, benötigst du valide ROMs und Abbilder. Diese müssen aus dem No-Intro-Set bzw. Redump stammen und sie dürfen auch nicht umbenannt werden! Eine valide "Super Mario Bros." ROM heißt bspw. "Super Mario Bros. (Europe) (Rev A).nes" und hat die CRC32-Summe "7D5FAA58". Infos zu den ROMs findest du auf DAT-o-MATIC und Redump.org.
Platziere deine ROMs einfach irgendwo auf deine SD-Karte (erstelle am besten einen Unterordner pro System), navigiere in RetroArch zu "Import content" -> "Scan Directory" und lasse das ROM-Verzeichnis scannen. Sollte ein Spiel nicht gelistet sein, so handelt es sich höchstwahrscheinlich um eine invalide ROM. Du kannst die ROMs auch in eine ZIP oder 7z packen, um Speicher zu sparen! Das solltest du aber nicht bei großen Spielen (PS1, PSP, etc.) tun.
PlayStation 1 Spiele sollten übrigens als "BIN" mit einer "CUE" vorliegen und nicht als "ISO"!
Cover
Über den Online Updater kannst du Cover-Packs für jedes System herunterladen – da diese aber recht groß sind, empfehlen wir eher, die Cover manuell herunterzuladen.
Auf thumbnails.libretro.com findest du alle Cover und auch die richtige Ordnerstruktur. Die Cover müssen den gleichen Namen wie die ROM tragen (minus der Endung). Für Pokémon Smaragd-Edition muss das Cover bspw. an folgende Stelle:
"/retroarch/thumbnails/Nintendo – Game Boy Advance/Named_Boxarts/Pokemon – Smaragd-Edition (Germany).png"
Nintendo 64 Emulation
Der Nintendo-64-Core "Mupen64Plus Next + GlideN64" befindet sich in Entwicklung. Er läuft allerdings schon sehr gut, es müssen nur ein paar Dinge beachtet werden.
Du musst "Mupen64Plus-Next" vom Core-Updater herunterladen. Danach musst du zwingend eine aktuelle CFW ausführen und auf der Firmware >= 4.0.0 sein. Auch musst du RetroArch über ein Spiel ausführen. Nutze Title-Takeover wenn du "R" gedrückt hältst, während du ein Spiel startest (abhängig von der CFW).
Falls du die Steuerung noch anpassen willst, erstelle/editiere die Datei "/retroarch/config/remaps/Mupen64Plus-Next-OpenGL/Mupen64Plus-Next OpenGL.rmp". Wir haben da mal eine Config vorbereitet, die die Knöpfe wie folgt einstellt:
- ZL & ZR: Z-Trigger
- A: A-Knopf
- B: B-Knopf
- X und Y: Unbelegt
- Rest ist Standard (Rechter Stick: C-Knöpfe, Linker Stick: Analog-Stick, etc.)
Abschließend einfach RetroArch über per Title-Takeover starten und N64-Emulation genießen!
PlayStation 1 Emulation
Als PS1-Core kommt "PCSX ReARMed" zum Einsatz. Solltest du die perfekten Einstellungen schon getroffen haben, musst du nichts weiter einstellen!
Du benötigst zwingend ein BIOS-Abbild! Platziere es in "/retroarch/cores/system".
Dummerweise funktioniert der Game-Scanner nicht für PS1-Spiele und so musst du leider manuell eine Playlist erstellen. Der Online Playlist-Editor kann dir dabei helfen. Seit v1.8.2 ist ein manueller Content-Scanner integriert!
Für Multi-Disk-Games siehe die Libretro-Dokumentation. Manche Spiele (wie Final Fantasy 9) haben auch einen Kopierschutz – in diesem Fall benötigst du eine SBI-Datei, die du mit dem gleichen Namen wie die CUE (minus der Endung natürlich) ebenfalls in den gleichen Ordner wie das Spiel platzierst.
ZIPPE DEINE ROMS NICHT! Ansonsten wird es zu Abstürzen beim Laden kommen.
Wir empfehlen außerdem das CPU-Overclocking auf 1224 oder 1581 MHz – das aber nur gedockt und nicht über einen längeren Zeitraum! Eventuell musst du für manche Spiele unter "Audio -> Audio Latency (ms)" die Audio-Latenz auf 80 erhöhen (Standard ist 64).
PlayStation Portable Emulation
Du kannst die aktuelle Version des PPSSPP-Cores über den Core Updater beziehen. Auch musst du RetroArch über ein Spiel ausführen. Nutze Title-Takeover wenn du "R" gedrückt hältst, während du ein Spiel startest (abhängig von der CFW).
Sobald du ein Spiel gestartet hast, musst du in den Core-Einstellungen (die Menü-Kombination und dann auf "Options") den CPU Core noch auf "jit" stellen. Falls du Core-Optionen änderst solltest du das Spiel direkt beenden und neu starten, ansonsten stürzt der Emulator ab!
Video-Slowdowns sind normal; das liegt an der fehlenden Hardwarebeschleunigung für den Decoder. FMVs funktionieren aber. Eventuell müssen auch beide Speedhacks deaktiviert werden, falls es zu Kompatibilitätsproblemen kommt.
Um Speicher zu sparen kannst du deine ISOs auch als CSO komprimieren. Allerdings wird sie der Game-Scanner dann nicht mehr erkennen, deshalb musst du die Playlist manuell bearbeiten (siehe PS1-Tab).
Für Dissidia 012: Der linke Stick scheint nur in vier Richtungen zu funktionieren – als Workaround einfach in den Core-Einstellungen unter "Controls" den linken Stick auf das D-Pad legen (Game Remap Datei speichern!) und in den Einstellungen von Dissidia die Steuerung von Analog auf D-Pad umstellen.
Mehr Features
- Overlays, MaterialUI, XMB und Shader funktionieren
- Network-Play und RetroAchievements werden unterstützt
- Split Joy-Con werden unterstützt
- Cores lassen sich direkt mit dem Updater aktualisieren
- Runahead-Support für weniger Latenz, als eigentlich vorgesehen
- Experimentelle Nightlys findest du auf dem Buildbot
- Weitere Informationen findest du im GBATemp-Thread