Es tut sich was an der GroovyMAME Front. Seit der MAME Version 0.182 wurde die Portaudio Implementierung von intealls fest in der Mainline integriert. (big thx :)) Das heißt, diese steht nun auch in GroovyMAME zur Verfügung.

Da ab der Version 0.172 kein ASIO zur Verfügung steht (wegen Lizenzprobleme etc), habe ich bis dato mit der Vorgängerversion gezockt…mit sehr großer Zufriedenheit. Meine PCBs fühlen sich ein bisschen von mir vernachlässigt. Dennoch habe ich jetzt den Schritt gewagt und bin auf die Version 0.182 umgestiegen und muss sagen, es gibt keinen Grund mehr die alte Version zu benutzen.

Was ist Portaudio?
Portaudio ist eine freie Audio I/O Library welche auf Windows, Mac und Linux/Unix läuft. Die Portaudio API steuert quasi eure Audio Ausgabe, indem sie auf die Audioschnittstellen im Rechner zugreift.
Ihr braucht dazu keine zusätzliche Software installieren oder dergleichen. Sie ist fest in MAME integriert. Somit kann ASIO an dieser Stelle einmal deinstalliert werden.

Damit Portaudio genutzt werden kann, müssen in der mame.ini einige Anpassungen durchgeführt werden. Aber einmal von Vorn. Ich erläutere hier den Updatevorgang von 0.171 auf 0.182.

  1. Benennt euer bestehendes GroovyMAME Verzeichnis um. Zum Beispiel C:\MAME_old
  2. Ladet euch die aktuelle Version von MAME und GroovyMAME hier runter
  3. Entpackt MAME nach C:\MAME
  4. Entpackt GroovyMAME auch nach C:\MAME und überschreibt die vorhandene mame64.exe oder benennt die alte Datei vorher um
  5. Öffnet nun ein Command Fenster (Windows +R -> cmd) und navigiert zum GroovyMAME Ordner
  6. Im Ordner angekommen erstellt euch eine neue mame.ini Datei mit dem Befehl mame64.exe -cc
  7. An dieser Stelle verweise ich auf mein Tutorial von GroovyMAME, um die mame.ini Einstellung vorzunehmen oder öffnet parallel einfach eure mame.ini aus dem alten Verzeichnis
  8. Achtung!!! Die Video Implementierung d3d9ex wurde eigentlich entfernt. Ist aber nun Gott sei dank wieder dabei. Damit ihr diese nutzen könnt, müsst ihr beim Parameter video „d3d“ (ohne „“) eintragen. NICHT d3d9ex!!!
    Alle anderen Parameter können aber so übernommen werden.
  9. Startet nun GroovyMAME folgendermaßen:
    mame64 -sound portaudio -v
  10. Sobald sich die GUI geöffnet hat, könnt ihr diese wieder schließen
  11. Schaut nun in eurem Command Fenster weiter oben. Hier werden die Portaudio Devices und APIs angezeigt
  12. Interessant sind eigentlich nur Windows WASAPI und Windows WDM-KS. Diese APIs sind in der Lage low-latency Audio wie ASIO auszugeben
  13. Etwas weiter unten stehen dann auch das jetzige Ausgabegerät und die Output Latency (in meiner VM viel zu Hohe 91.00 ms)
  14. Aus diesen Werten könnt ihr nun eure Konfiguration wählen. Hier ist ein bisschen Testen angesagt. Stellt in der mame.ini zum Beispiel folgendes ein:
    sound portaudio
    audio latency 1 (bitte keine Kommazahlen mehr eintragen)
    pa_api „Windows WASAPI“ oder „Windows WDM-KS“
    pa_device default oder none
    pa_latency 0.003334 oder 0.001
  15. Startet nun ein Spiel über die Kommandozeile
    mame64.exe wb3 -v
    Solltet ihr keinen Sound haben, müsst ihr euer Audio Ausgabegerät noch explizit bei pa_device eintragen. Bitte mit „“
  16. Schließt zunächst das Spiel nach dem vollständigen Laden wieder und schaut euch die Ausgabe an. Unter dem Portaudio Teil sollte nun stehen, dass Ausgabe Gerät X mit API WASAPI oder WDM-KS genutzt wird. Darüber hinaus sollte sich die output latency deutlich verringert haben (bei mir nun sensationelle 3.33ms in der VM)
  17. Ihr könnt noch ein wenig mit den pa_latency Werten spielen. Sollte es zu Audio stottern etc. kommen, müssen die Werte höher eingestellt werden oder euer Setup ist zu langsam
  18. In meinem GroovyMAME System mit Realtek Soundchip bekomme ich bei API Windows WDM-KS mit pa_latency 0.001 2ms output latency. Mit Windows WASAPI und pa_latency 0.003334 3.3ms output latency. Für mich läuft auf diesem System Windows WDM-KS deutlich besser
  19. Andersherum ist es in meiner VM. Dort fahre ich mit Windows WASAPI besser. 3.3ms gegen 10ms. Es heisst auch wieder hier, probieren, um das optimale Setup zu finden.

Das soll es an dieser Stelle eigentlich schon gewesen sein. Kleine Einstellung, große Wirkung wie ich finde. Auch hier wurde wieder großartige Arbeit von Calamity und intealls geleistet. Aus meiner Sicht ein absolutes Must-Have. Durch die neue Version haben sich bei mir sogar die Verzögerungen vom Wechsel von GroovyMAME zu AttractMode erledigt. Perfekt!!!

Update: GroovyMAME mit Portaudio Implementierung
Markiert in:                 

Ein Kommentar zu „Update: GroovyMAME mit Portaudio Implementierung

  • 5 April, 2019 um 6:28
    Permalink

    Mich würde noch interessieren, ob auch in GM in der Version 0208.017n video „d3d“ eingetragen werden muss, um d3d9ex zu nutzen. Oder hat sich da möglicherweise wieder was geändert? Habe diesbezüglich widersprüchliches gelesen.

Schreibe einen Kommentar