Bitte beachten. Diese Version von GroovyMAME ist nicht mehr aktuell. Bitte nutzt mindestens Version 0.182. Hier ist die Portaudio Implementierung fest integriert.
Ein Tutorial zur Einrichtung findet ihr hier. Die Einrichtung des CRTEmuDrivers und GroovyMAME etc bleibt aber weiterhin so bestehen. Bitte den Teil Asio4All überspringen.


Seit Wochen beschäftige ich mich mit dem Emulator GroovyMAME und den CRTEmu Treibern, um eine (fast) perfekte PCB Emulation auf einen 15 kHz Bildschirm darzustellen. Ich möchte euch gerne meine bisherigen Erfahrungen mitteilen.

Zu Beginn mal ein paar Grundvoraussetzungen und Hardware Specs:

Der PC:

  • CPU: Intel Pentium G3258 3.2GHz @4.0GHz OC
  • Mainboard: ASRock Z97 Pro 3
  • RAM: 2x 4GB Kingston DDR-3 1600MHz
  • GPU: ATI Radeon HD 6450 lowprofile
  • SSD: Kingston V300 120GB
  • Netzteil: Marke unbekannt 460W
  • OS: Microsoft Windows 7 Professional 64-Bit
  • Als Datenspeicher nutze ich eine Synology Diskstation 112j NAS mit einer 1TB HDD nur für MAME bezogenen Content (Roms, CHDs, Extras)

IMG_6661

Arcade bezogene Teile:

  • Ultimarc JPAC
  • UMSA

Zur Erläuterung der Hard- und Software:

GroovyMAME benötigt eine performante Singlethread CPU. Das heißt, ein Prozessor mit Quad-Core oder mehr, bringt in MAME keinen spürbaren Mehrwert. Natürlich ist es immer gut, ausreichend Leistung für den Rest des Systems zu haben. Aber im Prinzip reicht eine hoch getaktete Dual-Core CPU für GroovyMAME vollkommen aus. Als Preis/Leistungssieger hat sich der Intel Pentium G3258 Prozessor herausgestellt. Dieser ist dank seinem offenen Multiplikator perfekt zum übertakten. Im Passmark Benchmark habe ich eine Singlethread Performance bei circa 2500 Punkten, wenn dieser auf 4.0 GHz getaktet ist. Das ist sogar schneller als der aktuellste Intel i7. Wohlgemerkt nur bei der Singlethread Performance…In der Ausgangsvariante mit 3.2 GHz ist der Prozessor zu langsam. Ich werde in diesem Tutorial aber nicht auf die einzelnen Einstellungen für das OC eingehen. Ich setze voraus, dass Ihr mit der Technik des Übertakten vertraut seid.

Wieso überhaupt GroovyMAME?

GroovyMAME ist ein Projekt von Calamity aus dem Arcadecontrols Forum, welches speziell für die Nutzung eines CRT angepasst und entwickelt wurde. Die Videoausgabe von alten Spieleplatinen in originaler Auflösung und Geschwindigkeit ist nur auf analoger CRT-technik möglich. So kann das Look & Feel von damals wieder aufgenommen werden. Moderne LCDs sind trotz Filter und Plugins zwar in der Lage, das Bild ansatzweise „alt“ darzustellen. Es bleibt aber trotzdem die abweichende Geschwindigkeit, die in der Regel fest bei 60 Hz liegt. Darüber hinaus ist der Input Lag bei LCDs deutlich spürbar, welches den Spielspaß mindert. Die Intention von GroovyMAME ist es, den Spielspaß und die Authentizität von damals wieder aufleben zu lassen. Sei es, man benutzt es in einem Arcadeautomaten oder an einem normalen Fernseher.

Was kann GroovyMAME?

GroovyMAME ist in der Lage, durch angepasste Grafiktreiber, immer die originale Auflösung und Refreshrate des jeweiligen Spiels korrekt darzustellen. Außerdem kann GroovyMAME mit speziellen Settings den Input Lag auf ein Minimum reduzieren. Dieses Zusammenspiel ermöglicht das Feeling, als würde man wieder an einer PCB spielen.

Welche Voraussetzungen werden benötigt?

Um in den Genuss der alten Auflösungen/Refreshrates zu kommen, wird ein spezieller Typ von Grafikkarten benötigt. Und zwar die von ATI. Genauer die HD Serie von 2000 – 7000. Eine Hand voll älterer X Karten werden auch unterstützt. Doch aufgrund der neuen Entwicklungen in diesem Projekt, werden die Kartenmodelle der HD 5000 bis 7000 Serie bevorzugt. Darüber hinaus auch das Betriebssystem Windows 7 mit 64-Bit. Es wird davon abgeraten Windows XP und die älteren Modelle <5000 zu nutzen, da diese keine zeitgemäßen Implementierungen von Direct3D nutzen. Um auf einen minimalen Input Lag zu kommen, MUSS auf jeden Fall Windows 7 64-Bit genutzt werden. Ich gehe später auf die Einrichtung ein.

Wie kann ich GroovyMAME benutzen:

Prinzipiell gibt es zwei Arten GroovyMAME zu benutzen. Im Arcadeautomaten oder an einem TV/Monitor. Ich selber nutze GroovyMAME an zwei Sony PVMs (einer horizontal und einer vertikal) mit einem kristallklaren Bild. Mit Hilfe eines JPAC kann der GroovyMAME PC problemlos in einem JAMMA Automaten betrieben werden. Und mittels UMSA kann der PC über RGB Scart an einen TV angeschlossen werden. Ich persönlich nutze die Variante PC -> JPAC -> Supergun > 2x Sony PVM 20M4E. So kann ich meine Arcadesticks weiterhin nutzen.

Beginn der Einrichtung:

Als aller erstes habe ich die Komponenten für den PC zusammengebaut. Sprich, die CPU samt Kühler aufs Mainboard gesetzt. Den Arbeitsspeicher und Grafikkarte in die korrespondierenden Steckplätze gedrückt und die SSD mit dem SATA0 Port verbunden Zu guter Letzt noch das Netzteil an die jeweiligen Komponenten angeklemmt…fertig. Schließt zu Beginn erstmal einen VGA/LCD Monitor an die Grafikkarte.

IMG_6663

Mit Hilfe eines Schraubendrehers habe ich dann das System gestartet und siehe da, alles wurde ordnungsgemäß erkannt.

Das Betriebssystem:

Nach erfolgreicher Hardware Einrichtung kann die Installation des Betriebssystems gestartet werden. Da ich eine Windows 7 Installation auf einem USB Stick habe, boote ich vom Stick. Bei der Einrichtung gibt es nicht allzu viel zu beachten. Ich habe eine Partition auf der 120GB SSD erstellt, auf der das Windows 7 installiert wird. Die Installation dauert in etwa 10-20 Minuten. Nach erfolgreicher Einrichtung wird nun ein Benutzer- und ein Computername eingegeben. Dann landet man auf einem leeren Desktop. Installation abgeschlossen.

Windows Einrichtung:

In Windows sollten erstmal alle Treiber, außer die der Grafikkarte installiert werden. Wer mag, kann auch aktuelle Updates installieren.  Grundsätzlich benötigen wir ein betriebsbereites Windows 7. Ich persönlich habe die Hiberfile gelöscht, die Windowsupdate- und Firewalldienste deaktiviert, das Microsoft .NET Framework, DirectX9, Notepad++ und Winrar installiert. Ich nutze das automatische Loginsystem von Windows. Dieses ist wichtig, um später in ein Frontend zu booten. Dazu klickt ihr auf Start und gebt in der Leiste control userpasswords2 ein. In diesem Menü könnt ihr dann den Login automatisieren. Über Start – msconfig oder dem Programm autoruns aus dem Technet solltet ihr alle Autostart Einträge deaktivieren. Richtet euch das Windows sonst nach euren persönlichen Vorlieben ein.

CRT Emudriver 2.0:

Sollte das Windows problemlos laufen, ist die Installation des CRT Emudrivers dran. Dazu müsst ihr euch den Treiber von dieser Seite herunterladen. Mittels Rechtsklick entpackt ihr das Archiv an einen Ort eurer Wahl. Navigiert in den neu erstellten Ordner und startet die setup.exe. Hier wird nun der Treiber installiert. Wichtig ist, dass ihr das TESTSIGNING aktiviert und danach erstmal das System neustartet. Nach dem Neustart sollte unten Rechts auf dem Desktop nun Windows Testversion stehen. Dieses ist normal und kann getrost ignoriert werden. Jetzt startet ihr die Setup.exe noch einmal und lasst die Installation mit einem Neustart abschließen. Der CRT Emudriver ist komplett installiert.

Die 15 kHz aktivieren:

Um die 15 kHz Ausgabe zu nutzen, muss dieses über das Tool Vmmaker aktiviert werden. Navigiert wieder in euren Treiber Ordner und startet Vmmaker.exe. Klickt im Tool auf Edit Settings. Wählt im ersten Reiter Monitor Settings -> Arcade 15.7 kHz – standard resolution aus. Im Reiter Videocard nehmt das Häkchen Extend desktop automatically on device restart raus. Ich persönlich nutze den VGA Out der Grafikkarte. Ich lasse den Output auf Analog_0 – disabled. Danach nur noch auf Enable EDID Emulation klicken und die Auflösung sollte sich ändern. Jetzt kommt der Zeitpunkt, wo ihr den CRT anklemmen müsst. In der Regel können VGA oder LCD Monitore nichts mit den 15 kHz anfangen. Seht ihr nun ein Bild auf eurem CRT habt ihr alles richtig gemacht. Manchmal kann es sein, dass ihr den anderen Ausgang der Grafikkarte nehmen müsst. Hier ist ein bisschen probieren angesagt. Sollte etwas gar nicht passen, müsst ihr ohne die eingesteckte Grafikkarte booten. Quasi die Onboard Karte nutzen. Deinstalliert den Grafikkarten Treiber mittels AMD CleanUninstall Utility.

Die Modelines einrichten:

Um in GroovyMAME die korrekten Auflösungen und Refrehrates zu benutzen, müssen noch die Modelines installiert werden. Dazu im Vmmaker in den Reiter User modes wechseln. Klickt auf Browse und navigiert in den CRT Emudriver Ordner. Hier findet sich die Datei user_modes – super.ini und wählt diese mit OK aus. Lasst das Vmmaker Tool bitte noch offen im Hintergrund. Als nächstes folgt die GroovyMAME Installation.

GroovyMAME installieren:

Ladet euch den aktuellsten GroovyMAME Build hier runter. Zum Zeitpunkt des Tutorials nutze ich die Version GM ASIO ALPHA 0.171. Parallel dazu ladet euch die MAME Binary hier herunter. Wählt die 64-Bit Version aus. Entpackt das Mame Paket nach C:\mame. Anschließend entpackt ihr das GroovyMAME Paket auch nach C:\mame. Überschreibt die mame64.exe mit der aus dem GroovyMAME Paket. Jetzt müssen wir noch eine Config Datei erstellen lassen. Dazu klickt wieder auf Start und gebt in der Suchleiste cmd ein. Ihr startet damit eine Eingabeaufforderung. Hier navigiert ihr mit

cd \ <enter>

cd mame <enter>

in das GroovyMAME Verzeichnis. Gebt nun folgendes in der Eingabeaufforderung ein:

mame64.exe -cc

Nach dem ihr Enter gedrückt hab, wird im Verzeichnis C:\mame eine mame.ini angelegt. Jetzt haben wir erst einmal die Grundeinrichtung von GroovyMAME abgeschlossen.

Vmmaker die Zweite:

Wechselt nun wieder zum Vmmaker Tool in den Reiter MAME. Klickt hier auf Browse, um die ausführbare Datei von GroovyMAME auszuwählen. Navigiert zu C:\mame und wählt hier die Datei mame64.exe aus. Setzt auch das Häkchen Export monitor settings to Groovymame. Klickt nun abschließend auf OK. Jetzt können die Modelines generiert werden, indem ihr auf Generate Modelines klickt. Im mittleren Ausgabefenster sollten nun 15 Modelines angezeigt werden. Wenn diese für euch Okay sind, klickt auf Install modes. Es werden die Modelines in Windows installiert. Die Grafikkarte wird danach automatisch neugestartet. Der Bildschirm kann also mal blinken oder flackern.

Erster Test in GroovyMAME:

Um GroovyMAME erfolgreich zu betreiben, werden natürlich ROMs benötigt. Ich gehe mal davon aus, dass diese vorhanden sind. Ruft wieder eine Eingabeaufforderung auf und wechselt ins GroovyMAME Verzeichnis. Hier gebt ihr folgendes ein:

mame64 wb3 -resolution 2560×0 -cleanstretch 2

Solltet ihr alles richtig gemacht haben, wird jetzt Wonderboy III mit einer Auflösung von 2560x240p mit der passenden Refreshrate laufen. Dieses ist auch genau richtig. Mittlerweile werden vertikale Auflösungen kleiner 240p nicht mehr benötigt, da diese innerhalb der 240 Zeilen perfekt dargestellt werden. Man könnte sich zwar die Mühe machen, diese nachträglich mittels Vmmaker zu installieren, macht keinen großen Sinn. Soweit so gut.


Achtung, dieser Teil des Tutorials ist nicht mehr aktuell. Benutzung auf eigene Gefahr 🙂

ASIO4ALL – Was verbirgt sich dahinter:

ASIO (Audio Stream Input/Output) ist ein Soundkartentreiber, welcher eine niedrige Latenz zwischen Anwendung und Soundkarte gewährleistet. Mittels ASIO Treiber wird Microsofts DirectSound umgangen und direkt mit  der Soundkarte kommuniziert. Dieses garantiert eine schnelle Audioverarbeitung, auch bei GroovyMAME. ASIO4ALL ist ein universeller Treiber, der mit allen WDM-fähigen Soundkarten zusammenarbeitet. Die aktuellen Realtek Chipsätze (meist Onboard) haben sich als sehr verlässlich herausgestellt.

Installation und Einrichtung ASIO4ALL:

In den Alpha Versionen von GroovyMAME wird ASIO nativ unterstützt. Ein großes Dankeschön geht an den Benutzer intealls aus dem Arcadecontrols Forum für die grandiose Implementierung. Die Unterstützung für ASIO ist in unserer GroovyMAME Version bereits enthalten. Wichtig ist, dass ihr auch genau diese Version installiert, um ASIO4ALL zu benutzen. Ladet euch den Treiber hier runter. Ich habe bei mir die englische Version installiert. Nach erfolgreicher Installation führt wieder eine Eingabeaufforderung aus. Wechselt in das GroovyMAME Verzichnis. Startet ein beliebiges Spiel mit der -window Option. Zum Beispiel:

mame64 wb3 -window

Jetzt wird das Rom im Fenstermodus gestartet. Es sollte nun unten rechts in der Taskleiste ein neues Icon erscheinen.

IMG_6830

Öffnet das grüne ASIO4ALL Controlpanel mit einem Doppelklick und aktiviert anschließend in dem Fenster das Schraubenschlüssel Symbol. Hier wählt ihr als erstes eure Soundkarte und den korrekten Ausgang aus. Sonst habt ihr nämlich keinen Sound. Danach könnt ihr mit dem Slider die Buffersize ändern. Ich fahre mit 96 Samples sehr gut. Alles unter 256 Samples sollte aber ein latenzfreies Audioerlebnis gewährleisten. Zum Schluss müsst ihr noch das Häkchen Allow Pull Mode setzen. Den Buffer Offset habe ich auf 4ms stehen gelassen. Schließt danach das Fenster und GroovyMAME. Zum Test wiederholt den Vorgang erneut. Habt ihr eine funktionierende Audioausgabe und die richtigen Settings in ASIO4ALL, ist der erste Schritt zum lowlag GroovyMAME System abgeschlossen.

Edit: Der größte Teil des weiteren Tutorials bleibt aber noch aktuell.


Anpassen der mame.ini

Die mame.ini dient zur Konfiguration von GroovyMAME. Hier können diverse Pfade angepasst werden, Grafik und Soundeinstellungen, sowie auch spezielle Einstellungen von GroovyMAME wie frame_delay gesetzt werden. Ich möchte euch meine Settings einmal näher bringen und erläutern.

rompath roms;E:\MAME Roms;E:\MAME CHD

Setzt hier den Pfad zu euren Roms. Es können auch mehrere Pfade mit einem ; getrennt angegeben werden.

sleep 0

Bei der Option sleep 0 benutzt GroovyMAME immer die volle CPU Leistung. Andere Hintergrundprozesse könnten dann langsamer laufen. Da ich aber keine Programme parallel benutze, setze ich hier die Einstellung auf 0.

disable_hiscore_patch 0

Wenn ihr eure Highscores in den Spielen speichern wollt, die dieses nativ nicht unterstützen, solltet ihr die Option auf 0 setzen.

disable_nagscreen_patch 1

Ich lasse hier die 1 stehen, um vor dem spielen zu sehen, ob die Auflösung und Refreshrate passen.

disable_loading_patch 1

Da ich die Roms von einer NAS lade, kann ich sehen wie weit der Vorgang fortgeschritten ist. Auch hier lasse ich eine 1 stehen.

monitor custom

Dieses wird in der Regel von Vmmaker gesetzt, wenn ihr die Modelines installiert. Sollte es zu Knacksern oder Stottern in der Emulation kommen, kann es sinnvoll sein, arcade_15 zu setzen.

cleanstretch 2

Diese Option wird benötigt, um die Super Resolutions perfekt zu nutzen.

frame_delay 8

Das frame_delay Feature ist sehr stark von dem jeweiligen System abhängig. Es ermöglicht bei einem hohen Wert, den getätigten Input (Springen, Schießen, etc.) auf den nächsten Frame zu legen. Daraus resultiert dann ein sehr niedriger Input Lag. Die Werte reichen von 0 – 9. Wobei 1 eine 10 prozentige Wahrscheinlichkeit darstellt, den Input auf den nächsten Frame zu legen. Ich habe hier in meiner ini den Wert 8 fest eingetragen. Dieses reicht für circa 90% der Spiele aus, die ich persönlich gerne spiele. Mein System ist dabei in der Lage, die Spielgeschwindigkeit komplett bei 100% zu halten. Hier ist ein bisschen testen und probieren angesagt. Es gilt die Faustregel, je höher die Taktrate der CPU, desto höher kann der frame_delay Wert eingestellt werden. Der Intel Pentium G3258 auf 4.0GHz leistet hier hervorragende Arbeit.

IMG_6820

Bei neueren Cave Shootern wie DoDonPachi 2 Bee Storm, Deathsmiles, Espgaluda 2, etc. deaktiviere ich das frame_delay, um auf 100% Emulationsgeschwindigkeit zu kommen. Man muss dann mit einem Frame Lag leben. Das sind 16.6ms Verzögerung. (Nur in Verbindung mit d3d9ex und nicht d3d oder ddraw)

IMG_6825

multithreading 1

Um die ASIO Implementierung zu nutzen, muss das Multithreading aktiviert werden.

video d3d9ex

Dieses ist der unendlich wichtige Teil, um den Input Lag auf ein Minimum zu bekommen. Die Implementierung von d3d9ex ermöglicht das überspringen der Frame Queues in der Grafikverarbeitung. Dadurch hat man einen Wegfall von circa 3 Frames Input Lag. Würdet ihr zum Beispiel video d3d und frame_delay 0 nutzen, so habt ihr circa 4 Frames Input Lag.  Wohlgemerkt, d3d9ex läuft nur ab Windows Vista oder höher. Windows XP unterstützt diese Methode nicht. Also, mittels video d3d9ex und frame_delay 8 bin ich in der Lage die Spiele auf PCB Niveau zu spielen. Selbst die Cave Shooter mit frame_delay 0 spielen sich butterweich und super responsive bei d3d9ex.

resolution 2560×0

Diese Einstellung wird benötigt, wenn ihr die Super Resolutions in Vmmaker nutzt. GroovyMAME kann anhand der Option immer die passende Auflösung einstellen.

audio_latency 0.1

GroovyMAME unterstützt Gleitkomma zahlen speziell bei dieser Option. In ASIO4ALL sollte der Wert so niedrig wie möglich sein, um die Audio Latenz auf ein Minimum zu reduzieren.

Das waren die wichtigen und erwähnenswerten mame.ini Einstellungen. Alle weiteren Settings habe ich unberührt gelassen. Hier muss jeder für sich selbst entscheiden, was er noch gerne anpassen möchte.

Abweichende .ini Einstellungen für einzelne Spiele:

Wie ich schon weiter oben erwähnt habe, nutze ich für diverse Spiele eine eigene .ini Datei. Diese beinhalten dann angepasste frame_delay Werte. Möchte ich zum Beispiel nur für das Spiel DoDonPachi 2 Bee Storm frame_delay 0 nutzen, erstellt man hierfür eine eigene .ini Datei im Unterordner ini im GroovyMAME Verzeichnis. Diese lautet immer wie der ROM Name, hier ddp2.ini. In diese Datei könnt ihr dann frame_delay 0 reinschreiben. Alle anderen Einstellungen werden aus der mame.ini genommen. So ist man in der Lage, jedes Spiel perfekt einzustellen.

Mein persönliches Fazit:

calamity, intealls und viele ander User im Arcadecontrols Forum haben hervorragende Arbeit geleistet bei der Entwicklung von GroovyMAME mit ASIO4ALL und der Input Verarbeitung. Ich bin leidenschaftlicher PCB Spieler, aber mit diesen Settings merke ich persönlich keinen Unterschied mehr zur Platine. Klar steht da immer noch ein PC mit all seinen Komponente und Software. Aber um über den Tellerrand zu schauen, finde ich die Lösung perfekt. Ich kann also jeden uneingeschränkt empfehlen sich das mal anzuschauen.

Hier noch ein Paar Eindrücke in Bildern:

Dieses sind einmal ein paar Schnappschüsse von diversen Spielen.

IMG_6824 IMG_6823 IMG_6822 IMG_6821 IMG_6819 IMG_6818 IMG_6817

Vergleich PCB mit der Emulation:

Links original PCB – rechts Emulation in GroovyMAME

image

Hier meine geliebte PCB von Wonder Boy III – Monster Lair (Sega System 16b Conversion)

IMG_6871

HowTo: GroovyMAME + CRT Emudriver + ASIO = LowLag

26 Gedanken zu „HowTo: GroovyMAME + CRT Emudriver + ASIO = LowLag

    • Olli
      7 Mai, 2016 um 10:03
      Permalink

      Das ist mit den Sony PVM Monitoren relativ einfach. Ich gehe mit dem Signal vom Groovymame PC in den linken Monitor.(horizontales Bild) Dann nutze ich den Video Ausgang des Sony PVM 20M4E und schließe damit dann den vertikalen Monitor an. Das ganze mache ich mit 4 (RGBs) simplen Chinch Kabeln und BNC Adaptern. Ich schleife das Video Signal einfach nur zum zweiten Monitor durch.

      • Olli
        7 Mai, 2016 um 10:09
        Permalink

        btw…ich starte die mame64.exe mit dem Parameter -autoror, damit das Bild jeweiligen Spieles korrekt gedreht wird. Diese funktioniert leider nicht über die mame.ini in Groovymame. Deswegen der Parameter.

  • 8 Juni, 2016 um 21:32
    Permalink

    Super Sache! Echt sehr hilfreich
    Habe fast das selbe Setup

    PC>J-Pac>Supernova Supergun>Extron>Sony bvm-d32

    wie schaut es aus mit den anderen Emus wie Sega Saturn,Dreamcast und auch PS2 auf denen man auch schöne 240p Titel findet? Vor allem Shmups!

    • Olli
      8 Juni, 2016 um 21:54
      Permalink

      Emulatoren für andere Systeme sind für mich eher uninteressant, da ich die Konsolen dazu besitze und lieber auf original Hardware spiele. Das ist ja in Zeiten von Everdrives, Modchips und Softmods überhaut kein Problem mehr. Für mich war der Arcade Teil nur unheimlich wichtig, da es doch so einige Platinen gibt, die entweder schwer zu bekommen oder einfach nur exorbitant teuer sind.

      Danke für deinen Kommentar. Der BVM ist der Hammer. Aber der Extron würde mir Kopfzerbrechen bereiten. Soweit mir bekannt, produzieren diese auch 1-2 Frames lag. Aber sowas lässt sich ja leicht mit einem modifizierten Stick und einer 240fps Kamera testen.

  • 1 November, 2016 um 8:58
    Permalink

    Danke für das Tutorial! Bin davor mir praktisch das selbe Setup zusammenzubasteln und an einen BVM 20F1E zu hängen. Nun habe ich aber gesehen, dass im Arcadecontrols Forum etwa im Juli 2016 eine neue Version der Linux Distribution GroovyArcade rausgekommen ist. Wie sieht’s denn aktuell damit aus? Ist Windows nach wie vor besser bezgl. Lag? Ich hab da keine klare Antwort dazu gefunden.

    • Olli
      1 November, 2016 um 9:19
      Permalink

      Ich bin vor Jahren mit der Linux Version von Groovymame angefangen. Sie lief seinerzeit auf sdlmame. Diese hat unter Linux noch einen geringen Inputlag. Ich gehe mal davon aus, dass die aktuelle Version auch damit arbeitet. Ich habe mich damit aber auch noch nicht beschäftigt, muss ich gestehen. Wäre vielleicht mal ein To-Do. Wenn du ein System mit dem geringsten Inputlag haben möchtest, kommst du um Windows 7/8.1/10 mit einer ATI Radeon HD 5000-7000 nicht herum. Das schöne an der Linux Live CD ist aber, dass sie fertig konfiguriert mit Frontend ausgeliefert wird. Das heißt, einfach nur Roms reinkopieren und loslegen. Ich war damals begeistert. Die Windows Variante erfordert noch sehr viel Nacharbeit.

      • 1 November, 2016 um 14:46
        Permalink

        OK danke. Fand ich eben auch schön, dass alles vorkonfiguriert wäre.. aber ich bleib mal bei der Windows Variante.

        • Olli
          1 November, 2016 um 19:00
          Permalink

          Die Windows Variante ist auch kein Hexenwerk mehr. Man muss natürlich ein bisschen Zeit investieren, damit man es an seine Bedürfnisse angepasst hat. Da hat die Linux Live CD natürlich die Nase vorn. Hat alles seine Vor- und Nachteile ☺️

  • 8 Dezember, 2016 um 12:41
    Permalink

    Hallo,

    vielen Dank für das tolle Tutorial. – Ich habe dieses gestern unter Windows7 Pro umgesetzt und es hat grundlegend alles geklappt. Ein paar Anmerkungen / Fragen habe ich:

    – Groovymame und Mame64 müssen die gleiche Version sein, (GM ist auf 1.71 und Mame64 1.80 ergeben eine LUA Fehlermeldung beim ausführen von „mame64.exe -cc“

    – Kannst Du mit aufnehmen was die Standardtasten sind um Mame wieder zu verlassen?

    – Ist es möglich den Win7 Desktop in 240p zu zwingen, oder ist bei 640×480 unter Win7 generell Schluß? – Aktuell nutze ich einen Sony PVM und die flackern bei 480i leider.

    – Die Standardauflösung des VGA Monitors war bei mir (Nach durchführen aller Schritte des Tutorials) auf 2560×240 (glaube ich) gestellt. Dadurch ergab sich ein sehr schräges Bild auf der Röhre. Habe das mittels „Anzeige“ auf 640×480 geschraubt – Dann sieht das auf der Röhre auch wieder vernünftig aus.

    – Benutzt Du eine Remotedesktopsoftware, um auf den MamePC zuzugreifen? Wenn ja welche?

    – Ist es möglich die Standard Mame64.exe GUI in 240p zu erzwingen? Laut Deinem Tutorial laufen alle Spiele in 240p aber die GUI in 480i (PVM flackert wie blöde)

    – Welches Mame Frontend benutzt Du? Hast du hier eine Empfehlung, welche mit 240p vernünftig laufen?

    Vielen Dank für Deine Antworten und das tolle Tutorial!

    • Olli
      11 Dezember, 2016 um 14:44
      Permalink

      Hallo,

      – Es macht im Moment keinen Sinn GroovyMAME > 0.171 einzusetzen, da die Implementierungen noch in der Beta Phase sind. Deswegen habe ich in meinem Tutorial das Gesamtpaket im Download angeboten. Wenn ihr das nutzt, sollte es keine LUA Fehlermeldungen geben.

      – Grundsätzlich sollte GroovyMAME erstmal nach seinen Bedürfnissen konfiguriert werden. Mit der Tabulator Taste kommst du in das Menü wo du alles anpassen kannst. Die Funktion UI CANCEL im Submenü Controls ist zum Schließen von GroovyMAME gedacht. Einfach mit Wunschtaste belegen. Ist aber standardmäßig [ESC]. Ich habe mir in GroovyMAME noch zusätzlich die Tastenkombination [Button 4] & [Coin P1] & [Start P1] eingerichtet.

      – Klar kannst du den Desktop in einer anderen Auflösung fahren. Im VMMAKER Verzeichnis die user_modes – super.ini anpassen. Dort die Auflösung 320 x 240 @ 60.000000 desktop eintragen. Orientiere dich da an der Standardauflösung 640 x 480. Danach im VMMAKER die Auflösungen generieren und installieren. Zum Schluß im ArcadeOSD die entsprechende Auflösung auswählen und als Desktopmode setzen.

      – Ich nutze keine Remote Software. Ich möchte mein System so ressourcenschonend wie möglich nutzen. Ich richte wenn dann alles direkt am GroovyMAME Rechner ein.

      – Stell die Desktopauflösung 320 x 240, dann wird sich die GroovyMAME GUI auch in der Auflösung anzeigen. Viel erkennen wirst du aber nicht damit. Besser ist es ein Frontend zu benutzen welches gut auf 240p skaliert. (z.B. ADVMenu)

      – Im Moment bin ich daran ein neues Tutorial zu schreiben bezüglich eines Frontend. Ich hoffe dieses zu Anfang des Jahres veröffentlichen zu können. Dieses ist ein sehr langwieriger und steiniger weg. Steckt eine Menge arbeit drin. Ich tendiere im Moment zu AttractMode. Dieses skaliert nur leider weniger gut auf 240p, welches dann aber besser auf 480i aussieht. Das Flackern im Frontend selber hält sich bei mir in Grenzen. (PVM 20M4E)
      Sonst ist auch ADVMenu ein super Frontend für 240p. Das habe ich eigentlich ziemlich perfekt am Laufen. Bietet leider nur nicht so weitreichende Filtermöglichen wie AttractMode. Mal sehen welches Frontend im Tutorial landet.

      Also noch ein bisschen Geduld bezüglich des Frontends. Da kommt bald wieder was Größeres hier.

      Beste Grüße

  • 2 Januar, 2017 um 18:53
    Permalink

    Hey Olli,

    ich hatte nach Deiner Anleitung bereits ein CAB fertig gemacht und es funktioniert großartig! Jetzt will ich eine weitere Kiste aufsetzen und mir fehlt das Install-File D3D9ex. Ich meine Du hattest es hier mal verlinkt. Ich kann im Netz leider nicht das richtige finden und wäre für Deine Hilfe/Link sehr dankbar.

    MfG Michael

    • Olli
      2 Januar, 2017 um 19:33
      Permalink

      Hallo,

      In meinem Tutorial habe ich alle relevanten Dateien verlinkt. Diese sind ganz oben zu finden. Einfach das Spoiler Fenster aufklappen und herunterladen.
      In der mame.ini den Parameter video auf d3d9ex stellen.

      Beste Grüße

  • 5 Januar, 2017 um 12:34
    Permalink

    Hallo, echt eine sehr ausführliche und informative Beschreibung mit guten Begründungen zu den Entscheidungen, Danke! Ich plane auch gerade ein DIY Arcade System will es aber in ein etwas flacheres Design an die Wand anbringen, deshalb wird es mit einem CRT schwierig. Hast du eine Empfehlung für einen TFT oder LCD Monitor 19″? Bist du ansonsten mit dem System zufrieden oder gab es irgendwelche Downsides sitdem du es verwendest?

    • Olli
      6 Januar, 2017 um 8:50
      Permalink

      Also bei der Auswahl eines 19″ LCD kann ich leider nicht weiter helfen. Da ich Röhren Junkie bin, kommt für mich sowas nicht in Frage. 4:3 Aspect muss natürlich sein und sehr(!) sehr(!) schnelle Reaktionszeit.

      Das von mir beschriebene Setup erstaunt mich täglich aufs neue wie gut die Geschichte eigentlich rennt. Dank der Minimierung des Audio Lags durch die ASIO Implementierung gibt es eigentlich keinen fühlbaren Unterschied zur PCB. Das macht schon sehr viel aus. Downsides gibt es im Moment nicht.

  • 4 März, 2017 um 23:51
    Permalink

    Ich muss mich hier nochmals bei dir bedanken! Ich habe dein tutorial letztes jahr bestens umsetzen können und ich wollte jetzt einfach mal fragen, ob du mittlerweile was an der eingesetzten hardware ändern würdest? mir geht es hauptsächlich um die emulation von cave cv1k titeln, bzw. die machen mir einfach sorgen.
    ich musste leider meinen alten mame rechner für was anderes hergeben und wollte jetzt die teile für den groovymame rechner zusammenstellen bzw. kaufen

    mein set up wäre wie folgt:
    pc>jpac>supergun>bvm

    PS: für welches frontend hast du dich mittlerweile entschieden

    • Olli
      5 März, 2017 um 8:26
      Permalink

      Hi. Ich nutze weiterhin die im Tutorial beschriebene Hardware mit der Groovymame Version 0.182 inklusive Portaudio. Wichtig (!) für einen reibungslosen Ablauf ist die CPU Geschwindigkeit. Von daher ist ein auf 4GHz getakteter Intel G3258 optimal. Je mehr desto besser. Mittlerweile werden aber auch aktuellere AMD/ATI Grafikkarten unterstützt. Ergo, hier wäre ein Upgrade möglich. Ob dieses aber mehr Leistung bringt, kann ich nicht sagen. Als Frontend nutze ich AttractMode. Ich habe dazu auch ein ausführliches Tutorial geschrieben. Beste Frontend im Moment. Also…um Cave Shooter mit 100% Geschwindigkeit zu spielen, brauchst du mindestens 4GHz CPU Leistung. Der Intel G3258 macht seinen Job sehr gut dabei. Absolute Kaufempfehlung…😊

      Beste Grüße

      Olli

  • 7 Juni, 2017 um 21:34
    Permalink

    Cooles TUT, super arbeit, habe die Info vom Arcadezentrum, da ich mein Kumpel nicht immer zu fassen bekomme verfolge ich das hier mit.

    Ich habe einen Magnum mit ner 15 Khz Röhre drin, den wollte ich mit Mame und Co versehen, ein schlankes Frontend und gut, aber nicht wie mein Kumpel zig tausende Games, sonder eher nur die Arcade Klassiker Neo Geo, nix was PS1,2,3 oder so ist.

    Pc habe ich nen Core Duo 8500 3,16 mit 8 GB, bei den Grafikkarten habe ich zur Auswahl ne Arcade VGA mit 512 MB die RV 640 oder ne 4350 Silent 1 GB.

    Jetzt habe ich erstmal 2 Fragen.

    1. Welche KArte sollte ich nehmen, die Arcade VGA oder die 4350 ?

    2. brauche ich bei der Arcade VGA wenn die benötigt wird, auch den ganzen CRT Emu driver kram ?

    Ich habe in meinem Profil ja angegeben das ich ein Pinballer bin, habe also einen Vpin, da gibt es ja das schöne Frontendsystem PinballX, gibt es sowas auch für Mame?

    ich sehen das richtig das Mame 64 zum starten von den Roms ist und Groovymame was zum einstellen ist?

    Sorry für die doofen fragen, persöhnlich wäre mir lieber, ich mache das erst mal so.

    Ich hatte mal mame schon auf einem rechner an einem lcd, ist aber schon ein paar Jahre her, lief mit Hyperspin ganz gut.

    Lg Thomas H.

    • Olli
      8 Juni, 2017 um 10:42
      Permalink

      Hallo Thomas,

      der Core 2 Duo 8500 ist gerade so ausreichend zur 100% Emulation mit einem höheren frame_delay Wert. Eventuell mal in einen besseren PC investieren.
      Zu deinen Fragen.

      1. Wenn du nur die beiden Karten zur Auswahl hast definitiv die Radeon HD 4350. Die ArcadeVGA ist der größte Mist. Diese hat nur eine handvoll feste Lowres Auflösungen einprogrammiert. Schmeiß die Karte in den Müll. Wenn du wirklich alle Spiele in original Auflösung und Refreshrate spielen möchtest, kommst du um den CRT Emudriver mit einer passenden Radeon nicht herum. Als Tipp, es hat sich mittlerweile rausgestellt, dass eine Radeon HD 5000 oder höher am Besten zur Anzeige mit GroovyMAME geeignet ist. Vielleicht mal bei ebay nach einem günstigen Modell suchen. Es reicht da schon die Radeon HD 5450 aus.

      2. Siehe Antwort 1

      Für MAME gibt es unzählige Frontends. Mittlerweile hat sich AttractMode hier als sehr zuverlässig, schnell und leichtgewichtig herausgestellt. Auch dazu findest du in meinem Blog ein ausführliches Tutorial.

      GroovyMAME ist eine speziell angepasste Version von MAME. Du brauchst zur ersten Installation das original MAME, danach kopierst du einfach die GroovyMAME Version in das original Verzeichnis. Gestartet wird immer die mame64.exe

      Beste Grüße

      Olli

  • 8 Juni, 2017 um 22:36
    Permalink

    Danke für die info, ja der pc spllte reichen, geht ja eher um die älteren arcade games, nix mit ps1 2 3 usw. Ich habe auch noch 2 gtx 265 frozen Karten hier gehen die auch, ich hatte gedacht das der Kauf für 20 Euro für die arcade vga ne gute Idee war, wenn die nix ist dann lasse ich die raus, falls ich ne größere ati bekommen kann als 5450 hast du da ne Empfehlung

    LG thomas

    • Olli
      8 Juni, 2017 um 22:46
      Permalink

      Das mit dem PC bitte nicht falsch verstehen. Auch ältere Arcade Games benötigen sehr viel Leistung bei der Emulation auf PCB Niveau. Hierbei geht es mittlerweile nicht mehr nur um die korrekte Auflösung und Refresh Rate, sondern auch um null Input und Sound Lag. Hier beißt sich ein Core 2 Duo bei Wonderboy zum Beispiel die Zähne aus bei frame_delay größer 7 oder 8. und das Spiel ist von 1986. für das Casual Gaming ist der aber in Ordnung. Es funktionieren NUR Karten von ATI/AMD HD Radeon und die R-Serie. Letzten Endes spielt es keine große Rolle, ob die Karte besser als eine 5450 ist, da die Emulation fast komplett über die CPU geht. Die Graka gibt nur das Bild aus.

      Beste Grüße

      Olli

      • 8 Juni, 2017 um 23:34
        Permalink

        Hi also sollte ich mir eher die 5450 holen mit 1 gb und darauf achten das sie vga und dvi hat oder reicht dann eher meine 4350 mit 1gb vga und dvi. Auch wenn die Karten nur noch knapp 40 Euro kosten kann
        Könnte ich mir das Geld sparen und ggf in eine stärkere CPU investieren, da muss ich aber erst prüfen was das Board abkann und welche CPU ich nehmen kann

        • Olli
          9 Juni, 2017 um 6:39
          Permalink

          Nimm das Setup aus meinem Tutorial. Dein jetziges Board wird wohl den Core 2 Duo 8600 noch hinbekommen. Der bringt dir aber gar nichts mehr an Leistung. Ergo, du brauchst eh ein neues Mainboard, CPU und RAM. Kostentechnisch kommst du da auf circa 150€ bei Neuware. Eine hd 5450 habe ich am Wochenende für 20€ Ersteigert bei eBay.

  • 10 Juni, 2017 um 8:04
    Permalink

    Hi, ich werde das jetzt am Wocheende mit meiner Hardware mal probieren, wenn die KArte zu schwach ist kann ich immer noch die Karte wechseln, wenn der PC ( CPU) zu schwach wird kann ich den ja auch noch wechseln, muss mal sehen was auf das Board geht, ist ein Asus P5wDH Deluxe, 8 GB sollten ja dicke reichen.

    Was mich wundert das ein Rasperri Pi3 das können soll, aber ein Core Duo 8500 mit 3,16 mit 8 GB das nicht packen sollte.

    Ich habe noch ein anderes Tut von dir gefunden wo du was über die Soundemulation geschrieben hast, ich gehe davon aus das man das auch machen sollte.

    Ich habe bei meinem Cab RGB Led Taster verbaut, 2 x6 Button. Ich habe gesehen das es leute gibt, die das irgendwie mit LED Blinky gemacht haben das nur die Tasten leuchten die gebraucht werden, hast du da auch nen Tip für?

    Lg THomas

    • Olli
      12 Juni, 2017 um 9:29
      Permalink

      Nochmal….die Grafikkarte ist nicht ausschlaggebend für die Geschwindigkeit der Emulation. Hier zählt nur rohe CPU Leistung in GHz/MHz. Je mehr desto besser. Ab 4Ghz kann man in Groovymame schon sehr gut arbeiten.

      Wenn man GroovyMAME für den Rpi3 kompilieren würde, so würde dieser sang und klanglos untergehen. Die Anforderungen an GroovyMAME sind deutlich höher, als das Standard Vanilla MAME. Ein Raspberry ist aus meiner Sicht für Emulation absolutes Kinderspielzeug. Der Raspberry ist weit entfernt von einer Frame- und Pictureperfekten Emulation. Ist höchsten falls etwas für Gelegenheitsspieler ohne großen Anspruch.

      Mit LEDBlinky kenne ich mich nicht aus. Aber wieso verkabelst du den Stick nicht so, dass er nur bei Button Press leuchtet. Das ist doch kein großes Problem.

      Beste Grüße

      Olli

  • 12 Juni, 2017 um 16:52
    Permalink

    Hi mich wundert nur das alle auf das jammapi so abfahren. Zu LED blinki es sollte ja die tastet leuchten damit man weiss welche tastet eine Funktion haben. Das soll ja gehen. Habe dir übe az ne pn geschrieben. LG Thomas

Schreibe einen Kommentar