25.1 - Zu Visual Pinball, VPX

Eine großartige graphische Übersicht der Dateien als PDF-Diagramm von „Dux Retro“ kann hier heruntergeladen werden: https://docs.google.com/document/d/1x-KydaBMhKIKAnGaHsvXM8hsNAmmhH7UpndEgJDX3Mg/edit

25.1.1 - Einstellung zu den beiden Ansichten der Tische in VPX

(Quelle 8)

  • Einen Tisch im Editor öffnen
  • Auf den „Backdrop-Button“ auf der linken Seite klicken
  • Dann auf der linken Seite auf den Camera-Reiter klicken
  • Dann ist ein Wahlfeld „Test Desktop“ angehakt, dieses abwählen, um den FullScreenmode zu haben.

Der Tisch wechselt dann in den Fullscreenmode

Um diese Einstellung für alle Tische vorzugeben, auf den Preference-Tab im Editor klicken, dann auf „Video Graphics Options“

Darunter ist ein Feld "Use always FS Backdrop Settings". Diese anhaken. Dann starten alle Tische in diesem Cabinet-Modus.

25.1.2 - Manuelle Ballführung für Testzwecke in VPX

Man kann für Testzwecke die Kugel manuell über das Playfield bewegen:

  • In „Preference Video“ „Force fullscreen“ ausschalten und „Windowed Mode“ nutzen
  • „Preference Editor“ „“UI Options“ öffnen
  • „Haken setzen bei „Ball control always on“
  • Tisch starten und Debug Menü aufrufen (standard Taste D)
  • Mit der Maus den Ball bewegen
  • Ball loslassen geht mit linkem Flipperbutton

Zurück in den normalen Mode Schritte in umgekehrter Reihenfolge durchführen.

25.1.3 Konfiguration der Ansichten unter VPX 10.7x und VPX10.8

Bis zur VPX-version 10.7x konnten tischspezifische Ansichten auf zwei Wege angepasst und gespeichert werden:

  • als POV-Datei (XML-Fomat) tischbezogen.
  • Über Start des Tischs mit F6 (Interactive edit Table)

Ab VPX-version 10.8 wurde das Format auf INI-Dateien umgestellt.
Zum Erstellunsgzeitpunkt der Doku ist VPX10.8 erst als RC-version (also noch Beta) verfügbar. Hier wurde die Version VPX10.8 Rev.1934 verwendet. Gerade zum POV-Thema scheint es noch einige Fehler zu geben. Näheres ist hier zu lesen:
https://vpuniverse.com/forums/topic/9349-vpx-1080-xxxbeta-pov-settings-very-frustrating


25.1.3.1 Anpassen der Ansicht über eine POV-datei mit VPX 10.7x

Zum Erstellen einer POV-datei (Perspective Of View) muss VPX mit dem Parameter –PovEdit und dem Tischnamen aufgerufen werden.
Der alleinige Aufruf nur mit –POVEdit setzt VPX nicht in den POVEdit-mode.
Beispiel für den Aufruf von „Bad Cats“ mit VPX10.7:
VPinballX-10.7.4-x86.exe -povedit "c:\vPinball\VisualPinball\Tables_Test2\Bad Cats (1989).vpx"


Die Ansicht kann dann mit den Flippertasten angepasst, mit dem Startbutton (key 1) gespeichert werden. Der Coin-key beendet ohne zu speichern.

Diese Variante wurde in Popper im Operatormenü umgesetzt, so dass für den laufenden Table eine POV-Datei recht einfach erstellt werden kann.


25.1.3.2 Anpassen der Ansicht über den Aufruf mit F6 in VPX10.7

Wenn ein Tisch geladen wurde, kann dieser mit F6 im POVedit-mode gestartet werden. Die keys zum Einstellen sind die gleichen wie im oberen Punkt.

❗ Mit dieser Variante kann keine POV-datei erstellt werden, sondern die Änderungen werden im Tisch in der vpx-datei gespeichert.
Die einzige Möglichkeit eine POV-datei zu erstellen, ist der Aufruf über den Parameter wie oben beschrieben.


25.1.3.3 Anpassen der Ansicht über eine INI-Datei mit VPX10.8

Ab VPX-version 10.8 werden die Ansichtseinstellungen in einer INI-datei gespeichert.
Die Einstellung kann auf zwei Wegen aufgerufen werden:

  • Ebenfalls über den Paramter –POVedit wie bei VPX10.7
    damit ist dieser Aufruf aufwärtskompatibel
  • Wenn der Tisch gestartet ist, mittel Taste F12

Die Navigation im Einstellungsmenü erfolgt über die Flipper- und MagnaSave-keys.
Speichern erfolgt mit dem Startbutton (key 1), verlassen ohne zu Speichern mit dem Coin-key.

  • 💡 VPX10.8 kann POV-dateien der Vorgängerversion lesen und verwendet diese dann.
  • Wenn für einen Tisch eine POV-datei und eine INI-datei vorhanden ist, verwendet VPX10.8 die INI-Datei.
    Von daher sollten solch doppelte Konfigurationen vermieden werden.

25.2 - Zu VP9

Im Visual Pinball Verzeichnis gibt es ein Verzeichnis „docs“.

In diesem Verzeichnis liegt eine changelog.txt. Dort ist für jede Version beschrieben, was sich zwischen Version VP9.0 und VPX 10.7.3 geändert hat.

  • Die meisten der VP9-Tische laufen mit der Version “VPinball995.exe”
  • Einige für VP9.2.1 erstellte Tische werden nicht korrekt dargestellt, wenn diese nicht mit der „Vpinball921.exe“ gestartet werden.
  • PhysicsMOD5 ist die letzte VP9 Version. Mit dieser „VPinball99_PhysMod5_Updated.exe“ laufen nur PhysicsMOD5-Tische.
  • Die aktuelle Version von VPinballX.exe (hier VPX 10.8.0 32bit) läuft mit allen Tischen von VPX 10.0.0 bis VPX10.7.3.
  • VP8 Tische gibt es nur im Desktop-format.
  • VP9 ermöglicht Tische zu drehen für Cabinet-Betrieb. Bei diesen gibt es eigene Versionen für Vollbild (Fullscreen), und für den Desktop.
  • VPX enthält beide Versionen, für Fullscreen und Desktop in einem Tablefile.

25.3 - Arten von DMDs, Unterschiede

(Quelle 9)

Um die Unterschiede der verschiedenen DMDs zu verstehen, wie RealDMD, FlexDMD, VirtualDMD, UltraDMD, XDMD, PinDMD....

  • UltraDMD wurde ersetzt durch FlexDMD. Dieses wird z.B. genutzt mit Lucky1's dmd extentions.
  • RealDMD ist eine Platine auf welche eine LED-Matrix verbaut ist. Am gebräuchlichsten sind diese mit 128x32 LEDs. Es gibt aber auch welche mit mehr LEDs, aber PinMAME nutzt meistens 128x32 LEDs.
  • Virtualdmd ist ein “künstliches” DMD, welches auf einem Bildschirm angezeigt wird. Damit wird ein reales DMD simuliert.
  • PinDMD ist ein echtes DMD (von denen es 3 Versionen gibt), wobei das pinDMDv3 eine RGB-Version ist

PinMAME hat sein eigenes virtuelles DMD, das nur die Grundfarbe darstellen kann.

Für eine bessere Darstellung kann das sog. externe DMD mittle der dmddevice.dll genutzt werden. Dies ist eine DLL, welche mit Hilfe von freezy’s colored-ROM-Dateien alphanumerische Displays mit gut gestalteten Zeichen darstellt. Dies geht auch für verschiedene reale DMDs.

Der Programmierer “Lucky” hat auch eine dmddevice.dll programmiert, diese ist aber für seine eigene Hardware „Pin2DMD“ gedacht. Er hat aber ein Plugin erstellt, damit er freezys DLL ebenso nutzen kann. Dies liegt daran, dass Lucky letztes Jahr den Support für .pac-Farbdateien hinzugefügt hat, die von Freezy noch nicht unterstützt wurden.

Xdmd, flexdmd und ultradmd sind Frameworks, die in Programmen verwendet werden können (eine Art Framework). Die meisten verwenden auch dmddevice.dll, um auf realem oder virtuellem DMD anzuzeigen.

FlexDMD ein neueres Programm, das auch UltraDMD unterstützen kann (das FlexDMD-Framework ist jedoch einfacher).

Xdmd wird immer noch vom PinballX-Frontend verwendet. Es gibt hierzu ein Flexdmd-Plugin , wodurch Probleme mit diesem Frontend behoben werden.

Das Virtuelle DMD ist allgemein verbreitet, da flexibler. Es wird dazu ein LCD-Computermonitor als 3.Screen so unter dem Backglass montiert, dass darauf das DMD angezeigt werden kann.. Man kann dann FlexDMD verwenden, um das DMD anzuzeigen, wenn eine Tisch gestartet wird. Die DLL von Freezy ist hierzu notwendig. Diese ermöglicht eine bessere Darstellung und eine stabilere Positionierung mit ihrer Konfigurationsdatei.

Bei den älteren EM-Tischen (Elektro-Mechanische Tische), die kein DMD haben, kann man das Topper-video stattdessen dort anzeigen lassen.

Es fand hier eine Entwicklung statt:

  • Der einfache Standard am Anfang war die Anzeige auf dem Backglass wie bei dem Tisch Evel Knievel
  • Es folgte die Anzeige des DMD in einfacher Weise über vPinMAME wie bei AC/DC
  • Der Programmierer Freezy überarbeitete das DMD und fügte Features wie Farbe hinzu und die Möglichkeit des einfacheren Positionierens mit der Maus.
  • UltraDMD wurde von Programmieren für Original-Tables verwendet, womit das DMD aus dem Table-script hervorging, wie bei „Diabolo“ von JPSalas.
  • FlexDMD ersetzte UltraDMD bei Cabinets und war auch stabiler im Betrieb
  • Lucky’s DMD DLL ersetzte Freezy’s um das PAC-colorierungen nutzen zu können.
  • Neu sind aktuell die Umsetzung von mk47 mit SERUM.dll und ZeDMD, welches eine neue colorierung nutzt. (siehe Flipperforum: https://www.flippermarkt.de/community/forum/threads/neues-colorierungsformat-serum.254213/)
  • Freezy’s und Lucky’s DLLs überschneiden sich gewissermaßen,
    Freezy DLL ermöglicht Colored-DMD für PAL- und VNI-, sowie SERUM-Dateien.
    Lucky’s DLL kann die VNI/PAL und die PAC-Dateien nutzen. (PAC-files sind verschlüsselt, daher der Key in der dmddevice.ini

Zu den Unterverzeichnissen im VPinMAME-Verzeichnis

PinDMD1, PinDMD2,PinDMD3.....

Diese Verzeichnisse sind für reale DMDs gedacht. Diese brauchen bei virtuellen DMDs nicht beachtet zu werden.

25.4 - Future Pinball Registrywerte

Alle Einstellungen in FP werden im Registryzweig

„HKEY_CURRENT_USER\SOFTWARE\Future Pinball“ gespeichert.

Daher ist es auch möglich, Einstellungen von FP vor dessen Start in der Registry per Script zu ändern. So wie es z.B. bei PUP gemacht wird.

💡 sollte man sich mal in FP „verkonfiguriert“ haben, kann man diesen Registryzweig einfach löschen. Beim Start erstellt FP diesen dann mit Default-Werten neu.Dann muss man natürlich die Konfig-werte nochmal einstellen.

25.5 - Zu FX3

Regwerte für Cabinetmode:

HKCU\SOFTWARE\Classes\Local Settings\Software\ZenStudios\PFX3

Die Einstellung der Displays

Und im Key „PFX3CabinetActivationCode“ steht der Cabinet-Activation code

25.6 - zu Surround Sound Feedback (SSF)

25.6.1 - SSF Pup-Packs

Es gibt hier veschiedene Sound-packs dazu https://vpuniverse.com/files/file/5999-fx3-ssf-surround-sound-feedback-pup-packs/

25.7 - Zum BackGlassServer Version 2.1.0

(Quelle 10)

Ab Version 2.x ist Einiges einfacher und besser geworden im B2S. Dieser muss nicht mehr im Tables-Verzeichnis liegen, sondern kann in einem eigenen Verzeichnis untergebracht werden.

(Üblicherweise „..\VisualPinball\B2SServer“) Der Name des Verzeichnisses ist beliebig. Die Verbindung zu DOF erfolgt ja über die Link-Datei „DirectOutput.lnk“ im Plugin-Verzeichnis

💡 Der BackglassServer benötigt generell eine „ScreenRes.txt“ und eine „B2STableSettings.xml“

⚠️ Die „B2STableSettings.xml“ liegt immer in dem Verzeichnis, von wo der Tisch aufgerufen wurde. Daher muss ein Verzeichnis mit Tischen immer eine B2S-XML-Datei enthalten. Ohne diese wird der B2SServer zwar geladen. Aber dadurch dass in VPX die Video-Option „Force Exclusive Fullsreen mode“ aktiviert und vor allem Error-messages im Backglasserver deaktiviert sind, sieht man keine Fehlermeldung.

Die Verbindung zu DOF fehlt dann.

(In dem Fall Taste „S“, oder Rechte Maustaste, im Backglass, Einstellung vornehmen, dann wird eine neue XML-Datei erstellt)

  • Der BackGlassServer nutzt standardmäßig die Datei mit Namen „ScreenRes.txt“
  • Der Name der Datei lässt sich in der Registry vorgeben unter:
    HKCU\Software\B2S\B2SScreenResFileNameOverride.
  • Beim Start sucht der BackGlassServer an verschiedenen Stellen in der Reihenfolge nach dieser Datei (oder welcher Name in der Registry vergeben wurde):
    <Tablename>.res entspricht dem <Tablename>.vpx
    (mit der Einstellung in Backglass-Settings:
    )
  • Die ScreenRes.txt (oder Name in Reg.) im gleichen Verzeichnis wie der Tablename.vpx
  • Die ScreenRes.txt (oder Name in Reg.) als Tablename/ScreenRes.txt
  • Die ScreenRes-txt im gleichen Verzeichnis wie die BackGlassServer.exe
25.7.1 - Verwendung mehrerer BackGlassServer-Konfigurationen möglich

Wie beschrieben kann in einem Verzeichnis nur eine Konfiguration durch eine XML-Datei vorhanden sein.

💡 Es ist aber so, dass unterschiedliche Konfigurationen des BackglassServer durch Verwendung verschiedener Table-Verzeichnisse möglich sind, wie hier am Beispiel für ein eigenes Verzeichnis für Tische mit PUP-Pack:

Da der BackGlassServer die B2STabelSettings.xml in seinem Verzeichnis erwartet, kann man ihm so eine andere Konfiguration mitgeben.

⚠️ Es wird in diesem eigenen Verzeichnis die B2STabelSettings.xml benötigt. Dazu genügt erst mal die kopierte Datei aus dem Table-Verzeichnis. Die Screenres.txt-Datei liegt ja zentral für alle VPX-Tische im B2S-Server Verzeichnis.

Wie oben beschrieben wäre aber auch eine eigene ScreenRes-Datei möglich, da B2S zuerst im Table-Verz. nachschaut.

Der B2S-Server würde dann seine Config. aus dem Verzeichnis ziehen, in dem der Tisch liegt.

25.7.2 - Die Bedeutung eines „namenlosen“ directb2s-Files, Vorgabe einer Standard-Backglassdatei

Der BackglassServer hat ein zusätzliches Feature, um ein bestimmtes Backglass zwingend zu laden und das eigentliche zum Tische gehörige nicht zu beachten.

Dieses muss dazu eine namenlose Backglass-datei sein, muss also „.directb2s“ heißen, ohne Namen, nur die Erweiterung. Der BackglassServer nimmt diese dann als Standard-BG.

25.7.3 - Kontrolle ob B2S-Plugins aktiviert und geladen sind

Dies erfolgt normalerweise nach Aufruf der B2S-Konfigfensters durch Prüfen ob das Häkchen bei „Activate Plugin“ gesetzt ist und bei Klick auf „Settings“-button die beiden Plugins aufgelistet sind.

Sollte aber das BG nicht gestartet werden, geht diese Prüfung nicht. Der Status ist aber indirekt prüfbar:

  • In der B2SSettings.xml nachschauen ob dieser Wert oben im Kopf gesetzt ist:
    <ArePluginsOn>1</ArePluginsOn>
  • In der Registry ist unter HKCU\SOFTWARE\B2S die Anzahl der Plugins aufgeführt

    Man sieht jetzt nicht welche Plugins das sind, aber Anzeige der Anzahl ist schon hilfreich
25.7.4 - Debug-Log aktivieren

Das Aktivieren des Logs erfolgt an zwei Stellen, einmal ein Eintrag in der Registry und noch die Konfiguration des Log-Verzeichnisses in der „B2STableSettings.xml“ im Tables-Verzeichnis

  • In der Registry unter HKCU\SOFTWARE\B2S muss der Wert „B2SDebugLog“=1 sein.
  • In der B2SSettings.xml wird oben im Kopfteil das Logfile eingetragen:
    <LogPath>C:\vPinball\VisualPinball\B2SServer\Log</LogPath>

Dies kann auch über das Konfig-Fenster von B2S erfolgen:

  • Einen Tisch mit Backglass starten
  • Mit der rechten Maustaste auf das BG klicken
  • Dann unten auf Button „More“ klicken
  • Dann bei „Log path“ den Pfad auswählen und bei B2SDebugLog Häkchen setzen

25.7.5 - Aufbau der Datei ScreenRes.txt

Zeile

Beschreibung

example

1

Playfield screen X resolution (width)

3840

2

Playfield screen Y resolution (height)

2160

3

Backglass screen X resolution (width)

1920

4

Backglass screen Y resolution (height)

1080

5

Display index for the Playfield (Normally left at 1)

Instead of #1 You may need to use windows Playfield ID Number

1

6

x position for the backglass rel. to the upper left corner of the Playfield screen

3840

7

y position for the backglass on the selected display (Normally left at 0)

0

8

Width of the DMD area in pixels - For 3 screen setup

1280

9

Height of the DMD area in pixels - For 3 screen setup

320

10

X position of the DMD area relative to the upper left corner of the backglass screen - For 3 screen setup

1920

11

Y position of the DMD area relative to the upper left corner of the backglass screen - For 3 screen setup

5

12

Y-flip, flips the LED display upside down

0

13

x pos Small display (Small Button Option) rel. upper left corner of Playfield

4090

14

y pos Small display (Small Button Option) rel. upper left corner of Playfield

0

15

width of the small display (Small Button Option)

1420

16

height of the small display (Small Button Option)

1080

17

C:\path\Frame (The path to the location whith the frame image)

my_bezel_for_EM.png

 

⚠️ „B2S_SetUp.exe“ sollte nicht mehr zum Bearbeiten der ScreenRes-Datei verwendet werden. Dies ist inzwischen veraltet und behandelt nur die ersten 12 Zeilen! Und es kommt mit den neuem Format nicht zurecht, wo remarks mit # eingefügt sind. Das Programm stürzt dann ab.

Es ist in dem Fall besser, die Datei mit einem Texteditor zu bearbeiten.

In aktuellen B2S-Versionen ist zum Erstellen bzw. Ändern das Programm „B2S_ScreenResIdentifier.exe“ vorhanden.

25.7.6 - Definition des Backglass-Monitors

Der Index des Monitors zur Anzeige des Backglass verwendet die Zeilen 3 u.4 für die Größe, 6 u.7 für die Position.

Die x-Koordinate des oberen linken Punktes des Backglass-Monitors kann mit dem Präfix „@“ (Beispiel: @3840) verwendet werden, wenn die obere linke x-Koordinate des Backglass-Monitors laut Windows 3840 ist. Das sollte der Fall sein, wenn ein Querformat 3840p vorhanden ist. (4K-Spielfeld)

25.7.7 - Definition der Größe und Position des Backglass

Standardmäßig füllt das B2S-Backglass den Backglass-Bereich, der in den Zeilen 3,4,6,7 definiert ist aus. Wenn jedoch die Eigenschaft „Small Button Option“ in den B2S-Einstellungen aktiviert ist (erreichbar durch Rechtsklick auf den B2S-Bildschirm nach dem Laden in VPX), wird der Backglass-Bereich immer noch durch die Zeilen 3,4,6,7 definiert, aber tatsächlich das Bild nur in dem Rechteck angezeigt, das durch die Koordinaten der Zeilen 13,14,15,16 definiert ist. In diesem Fall ist der nicht vom Bild bedeckte Teil des Backglass schwarz (nicht transparent).

Um diese Lücke mit einer anderen Farbe oder einem Hintergrundbild zu füllen, kann in Zeile 17 eine Bilddatei angegeben werden.

25.7.8 - Bei einem Setup mit 3 Monitoren

Die Zeilen 8,9,10,11 für Backglasses mit einem Bild/Punktzahl für den 3. Bildschirm z.B. der Table „Diner“

2 Bildschirmaufbau 0 eingeben

Für 2 Screen-Setup mit echtem DMD eine 1 setzen in #11, um den Grill auszublenden.

25.7.9 - Tischspezifische B2S-Einstellungen

Wenn ein Tisch eine eigene B2S-Anzeigeeinstellung benötigt, die Datei ScreenRes.txt kopieren und umbenennen in „[Tabellenname].res“.

Dann wird ScreenRes.txt für diese Tabelle ignoriert und es werden Einstellungen aus der neu erstellten res-Datei verwendet.

💡 Ebenso speichert B2S die tischebezogenen Einstellungen die man im BGserver-Fenster für den geladenen Tisch vorgenommen hat, in der „B2STableSettings.xml“

25.7.10    Einstellungen des Seitenverhältnisses

Wenn z.B. der Backglass-Monitor eine Auflösung von 1920 × 1080 hat und ein neuerer SS-Tisch geladen wird, ist dessen B2S-Datei für die Anzeige auf einem breiten Bildschirm (16:9) ausgelegt. Das sieht dann so aus:

Wenn jetzt ein EM-Tisch mit den gleichen B2S-Einstellungen geladen wird, ergibt sich ein gestrecktes Bild:

Dank der Einstellmöglichkeit auf „Small mode“ kann eine abweichende Konfiguration erfolgen, mit der das Bild verschmälert wird indem links und rechts schwarze Balken eingefügt werden.

Es kann aber auch ein Bild mit einem Grill eingefügt werden, der die beiden schwarzen Balken ersetzt. Dies wird in Zeile 17 konfiguriert.

25.7.11 - BackglassServer Registrywerte

💡 Sollte das Backglass bei allen Tischen nicht mehr angezeigt werden, dann in Visual Pinball, Preferences, Configure keys Nudge and DOF, prüfen ob nicht das Backglass deaktiviert ist

Der Wert ist auch in der Registry in „HKCU\Software\Visual Pinball\Controller\ForceDisableB2S“ zu finden. Dieser Wert darf nicht „1“ sein, dann wird das Backglass nicht angezeigt.

Die Werte in der Registry finden sich unter: HKCU\SOFTWARE\B2S

In diesem Zweig finden sich allgemeine Werte wie „B2SDebugLog“ oder „Plugins“ zur Einstellung von B2S und tischspezifische Werte, die B2S bei jedem Tisch aktuell dort einfügt.

Der Wert „Plugins“ mit „2“ zeigt, dass die Plugins für B2S aktiviert sind. Einfacher hier nachzuschauen als einen Tisch mit BG zu starten.

25.8 - Zu PinUpPopper und PinUpSystem

(Quelle 11)

25.8.1 - Parameter für „VPXStarter.exe“

START "" "[STARTDIR]Launch\VPXSTARTER.exe" 30 10 60 "Visual Pinball Player" 5

Die letzte Ziffer weist PUP an, 5 sek. Zu warten, nachdem VPX nach dem Start „alles ok“ zurückgegeben hat. Diese Zeit ist vom PC-system abhängig und kann angepasst werden.

Zu Fokusproblemen:

Wenn der Fall auftritt, dass nach Start eines VPX-Tisches der Focus mit der Maus erst wieder auf den Tisch gesetzt werden muss, damit dieser weiterläuft, kann man probieren

  • In den VPX display-settings den Punkt „fullscreen exclusive mode“ wählen
  • Oder in Popper im launchscript des Emulators den Aufruf von VPXStarter anpassen:

START "" "[STARTDIR]Launch\VPXSTARTER.exe" 30 10 60 "Visual Pinball Player" 3 0 5

Die letzte Zahl “5” weist PUP an die Maustaste zu drücken

Die Zahl “3” ist die Wartezeit bis zu dem Mausklick

25.8.2 - EventNr. zu „SendPUPEvent“

„SendPUPEvent.exe“ im Lauch-Verzeichnis dient in Batchdateien zur Steuerung von PUP über Ereignisnummern (Events)

Nummer

Bedeutung

11

Beendet PUP

15

Sendet „Enter“-Taste, um z.B. eine Playlist zu öffnen. gilt für das , was der PinUPPlayer gerade anzeigt.

16

Sendet Escape-Taste

 

25.8.3 - Mögliches Problem zum Recording von Table-videos mit Audio

Wie schon oben in Kapitel 21 beschrieben, hat Popper verschiedene Möglichkeiten, Tablevideos aufzunehmen.

Da in dem vpin eine Soundblaster-Karte verbaut ist, um SSF nutzen zu können, wird der onboard-Audiochip nicht genutzt. (dieser muss SurroundSound 7.1 haben)

Audio und Video wird bei Popper standardmäßig mit ffmpeg aufgenommen. In der Batchdatei für die Aufnahmen wird davonausgegangen, dass man den Onboard-Audiochip von RealTek hat. Dazu ist auch dessen Devicename schon in dem Script hinterlegt.

Eine Änderung auf den Devicenamen der Soundblasterkarte ist zwar möglich, funktioniert aber nicht, da dieser Anführungszeichen im Namen enthält:

⚠️ Die Aufnahme von Audio funktioniert mit ffmpeg nicht, wenn der DeviceName des audiodevices Anführungszeichen enthält. Dann kann der Parser von ffmpeg die Befehlszeile nicht mehr korrekt interpretieren (zumindest unter Windows).

Daher ist es dann notwendig ein Recording-Programm wie OBS zu verwenden, wenn man Audio im Playfield mitaufnehmen möchte. Die Konfiguration für diesen Fall ist in Kapitel 22.1 beschrieben.

Man kann sich die Audio-Devices mit Hilfe von ffmpeg anzeigen lassen, Hierzu eine Datei „ffmpeg-listDevices.cmd“ erstellen mit dem Inhalt:

  1. ffmpeg -list_devices true -f dshow -i dummy
  2. pause

💡 Es handelt sich hier immer um Devices, die über DirectX angesprochen werden, daher die Kategorie „dshow“ in der Ausgabe von ffmpeg.

25.8.4 - Wie läuft das Table-Recording intern ab?

Es gibt ja zwei Möglichkeiten des Tablerecordings wie in Kapitel 21 beschrieben.

Die Programme, Scripts und Batchdateien zur Videoaufnahme hierzu befinden sich im Verzeichnis: „C:\vPinball\PinUPSystem\Recordings“.

Die einzelnen Programme/Batchdateien:

  • RecordStart.bat zum Starten der Aufnahme
  • RecordStop.bat zum Beenden und Weiterverarbeiten der Aufnahme
  • Ffmpeg, übernimmt die eigentliche Aufnahme, die Konvertierung und ggf. den Schnitt
  • PupCloseRecord, beendet die Aufnahme ?
  • PUPCloserOBS, beendet OBS (falls verwendet und die Batch angepasst wurde)
  • Playsound, spielt eine Sounddatei zu den einzelnen Schritten ab
    Die Sounddateien liegen im Unterverz. „Sounds“
  • PopperKeepfocus bewirkt, dass nach Start der Aufnahmesoftware das Playfield den Fokus hat, sonst läuft der Tisch nicht weiter.

Beschrieben wird zuerst das Recording über PopperAutorecord

25.8.4.1 - Table-videos aufnehmen mit PopperAutorecord

Zur Aufnahme eines Videos ruft PopperAutoRecord jeden Tisch nacheinander auf, als wenn man diesen über das PUP-Menü starten würde. Dabei wird auch das Launchscript ausgeführt. Um diesen von einem „normalen“ Aufruf unterscheiden zu können, hat PopperAutoRecord die variable „RECMODE"==“1" gesetzt. Somit werden dann im Launchscript des Emulators die Befehle durchlaufen, die im Teil

if "[RECMODE]"=="1" (…)

eingetragen sind.

Aufuf der RecordStart.bat

RecordStart wird mit 9 Parametern aufgerufen:

1=xpos,2=ypos,3=width,4=height,5=Pix,6=filename,7=screennum,8='display#',9=rotation,

wobei der Parameter Nr.7 die Nummer ist, welcher Screen aufgenommen werden soll („3“=Playfield, „2“=Backglass, usw.)

  • PopperAutoRecord ruft die Batchdatei „rcordstart.bat auf“
    Die ScreenNr. entspricht der, die im Pup-Pack für das PUPmenü definiert ist.
  • Es werden zuerst möglichweise stehengebliebene Dateien gelöscht.
  • Dann werden die Variablen gelesen, die die Konfiguration des vPins betreffen (Nvidia-Karte vorhanden, Audiodevice, Aufnahme mit OBS usw.)
  • In dem Teil
    if %7%==3 goto OBS
    rem if %7%==3 goto ffmpeg
    ist konfiguriert, ob das Playfield mit OBS oder mit ffmpeg aufgenommen werden soll.
    Der nicht zutreffende Part ist auszukommentieren.
  • Das Script startet dann entweder ffmpeg oder OBS mit den jeweils passenden Paramatern
  • Das Script erstellt eine Merker-Datei als Kennzeichen dafür, welche Aufnahmemethode genutzt wurde. (RecOBS.var oder recffmpeg.var).
    Diese wird dann im Recordstop-script abgefragt.

Um Fehler in der Verarbeitung einfacher zu finden, erstellt diese Batchdatei zum Einen eine Protokolldatei „recordstart.log“, wo die einzelnen Befehle stehen , die durchlaufen wurden.

Zusätzlich wird eine Datei „Reclog.log“ erstellt, in der die Uhrzeit vermerkt ist, wann das Script gestartet und wann es beendet wurde. So kann man sehen, wie viel Zeit das Script benötigt hat.

⚠️ PopperAutorecord erstellt bei der Aufnahme eine Markerdatei „recording.txt“ um zu kennzeichnen, dass es sich im Aufnahmemodus befindet.
Damit es zu keinen Problemen kommt im Fall eines Programmabsturzes, oder zwangsweisem Beenden des Programms, - die Datei würde dann dort nicht gelöscht werden, löscht das Programm bei jedem Start die recording.txt.

Aufruf der RecordStop.bat

recordStop.bat wird mit 4 Parametern aufgerufen:

1=output full name with path, 2=#display # , 3= string "DISPLAY"<#>, 4=Rotation

  • PopperAutoRecord ruft die RecordStop.bat auf
  • Dann werden wieder Variablen gelesen. Es gibt hier „vtrim“ und „vtrimOBS“, einmal für ffmpeg und für OBS, um ggf. den Anfang von Aufnahmen abzuschneiden zu können. Es werden zwei Variablen benötigt, da der Parameter für beide Tools nicht gleich sein oder notwendig sein muss.
  • Es wird geprüft, ob der Marker für eine ffmpeg- oder OBS-Aufnahme vorhanden ist und
  • In der weiteren Verarbeitung das Video geschnitten und im Fall von ffmpeg noch umkodiert.
  • Dann wird die Videodatei mit ihrem zutreffenden Tablename in das richtige Popmedia-Verzeichnis kopiert
  • Zum Schluss findet Bereinigung statt, Löschen der recording.txt, beenden von PopperKeepFocus.

25.8.4.2 - Table-Videos aufnehmen über das PUP-Menü

Diese zweite Möglichkeit wird in Kapitel 21.3 beschrieben.

Der interne Ablauf ist fast so wie bei der Aufnahme mit PopperAutorecord

  • PUP setzt je nach Screen, der aufgenommen werden soll, die entsprechende Display# und ruft die RecordStart.bat auf
  • Hier erfolgen die gleichen Verarbeitungsschritte wie im Punkt vorher beschrieben.

Einziger Unterschied:

⚠️ Im Gegensatz zur Aufnahme mit PopperAutoRecord wird hier keine Dauer der Aufnahme durch das Programm bestimmt, sondern alleinig durch die Zeit, die in der Variable „RecordLength“ vorgegeben ist.

Wird diese Zeit (hier 30sek.) bei dieser manuellen Aufnahme überschritten, macht das Script nach dieser Zeitdauer weiter in der Verarbeitung. Die max. Aufnahmelänge ist dann die, die in "RecodLength" eingetragen wurde.

25.8.5    Umkonfigurieren der PUP-Anzeigepositionen

Die PUP-Programme beenden und die PinUpPackeditor.exe im PinUpSystem-Verz. aufrufen.

Dann lassen sich nach Klick auf „Configure Displays/Locations“ die Screens neu konfigurieren.

25.8.6 - Umkonfigurieren des Loading-screen auf Vollbild

Standardmäßig hat PUP beim Laden eines Tisches den standardmäßigen Bogen oder Balken am unteren Rand haben mit dem sich drehenden Kreis - manche haben auch das Playfield als loading-video. Ich wollte aber bei jedem Tisch immer das gleiche Video im "Vollbild".

Hierzu muss im Standard PUP-pack die Koordinaten hierzu angepasst werden:

Im Popper-setup unter "Screens/Themes" für den loading screen (#7 hier), die CustomPos auf "3,0,0,100,100" ändern. Damit ist schon mal die Standard-konfig auf Fullscreen geändert.

Der Standardwert ist: 3,7,0,16.875,100

Und Transparency ist aktiviert.

Die Abhängigkeit zwischen dem unter "Emulatoren" definierten Emulator und den Kategorien der Videos ist ziemlich verworren Beispiel am loading screen:

Für jede Software wir ja ein neuer Emulatoreintrag benötigt.

  • Damit PUP die zugehörige Verzeichnisstruktur dazu erstellen kann, muss zuerst das neue Unterverzeichnis manuell erstellt werden.
  • B. für FX3 das Verzeichnis „Pinball FX3“ unter „C:\VPinball\PinUPSystem\POPMedia“.
  • Nach Angabe des Medienverzeichnisses im Feld „Media Dir“ wird die Unterstruktur dann erstellt, da diese noch leer ist.
  • PUP kopiert dazu alle Dateien aus dem Verzeichnis „c:\VPinball\PinUPSystem\POPMedia\Default\System“ in das System-Unterverzeichnis des neuen Emulatoreintrags.
  • Durch Ändern bzw. Überschreiben von Media-Dateien ist es somit möglich, den dann neu erstellten Emulatoreinträgen die gleichen Mediadateien zu verpassen. Für schon erstellte Emulatoren müssen die Dateien manuell kopiert werden.

PUP nutzt diese Dateien im Defaultverzeichnis nicht. Auch nicht wenn keine entsprechende Media-Datei im Emulator-Verzeichnis vorhanden ist. Es wird dann nichts angezeigt.

Am Beispiel für Loading-screen: Wenn im Unterverzeichnis „System“ keine „pup_default_loading.mp4“ vorhanden ist, wird auch nicht die im Default-Verzeichnis befindliche Datei angezeigt.

25.8.7 - Bedeutung der Datei „PUPLOG.TXT“

Bei Tischen mit PUP-packs kann es so aussehen, als wenn erst einmal alles angezeigt wird, wie es soll. Aber es ist möglich, dass nur ein Teil der Videos angezeigt werden. Ein PUP-Pack kann eine Kombination von ROM-Events und PUP-Captureframes nutzen, so dass nur die ROM-Event Videos angezeigt werden. Das fällt erst mal so nicht auf.

In dem Fall den Tisch starten und wieder schließen.

Dann im Verzeichnis VPinMAME die Datei PUPLOG.TXT untersuchen. Diese wird jedes mal erstellt, wenn ein Tisch gestartet wird.

Diese Datei wird aber nur bei ROM-basierten Tischen erstellt, für Original-Tische, die nicht vPinMAME nutzen, kann dies nicht geprüft werden.

Hier ein Beispiel an dem Tisch „Elvis“:

  1. 20230511 23:37:43 Open called
  2. 20230511 23:37:43 Set Game Name thread elvis
  3. 20230511 23:37:43 Start Thread Matching
  4. 20230511 23:37:43 create PuPCap
  5. 20230511 23:37:43 Init Game name:elvis
  6. 20230511 23:37:43 Create Object Display
  7. 20230511 23:37:43 imagedir:C:\VPinball\PinUPSystem\PuPVideos\elvis\PuPCapture
  8. 20230511 23:37:43 num images 84
  9. 20230511 23:38:05 Free Object Display

Falls die Datei nicht vorhanden ist, wurde evtl. im vPinMAME config-fenster (mit F1 aufrufbar) das Häkchen bei „use external dll“ nicht gesetzt, oder es ist die falsche ROM/Tisch-Kombination.

Ebenfalls dann nochmal prüfen, dass in dem Verzeichnis die exe- und dll-Dateien nicht geblockt sind.

Wenn die dmddevice.dll von freezy nicht genutzt wird, aber stattdessen Lucky’s Pin2DMD dmddevice.dll, ist es dann nicht möglich PUP-packs zu nutzen, die PuPCapture frames haben.

25.8.8 - PUP-Pack Terminology, Bedeutung der Screen-Werte und Modi

Die PUP-Videos werden über den VLC-Videoplayer angezeigt (der bei der Installation des PinUp-Systems installiert wurde). Verschiedene Optionen im PUP-Pack-Editor (z. B. ForceOn, ForcePop usw.) legen fest, wie jedes VLC-Videofenster angezeigt und über andere Fenster gelegt wird.

Wie das Anzeigen der Videos erfolgt, wird über den Mode festgelegt, der im PUP-pack definiert ist.

PUP kann 11 Screens verwalten (0 – 10), das sind nicht immer video-screens, darunter sind auch Audio-screens.

Die verschiedenen Modi im PupPackScreen:

Show“ verwendet einfach die Standardeinstellungen für diesen Screen

ForcePop“ setzt das Fenster in den Vordergrund, im Gegensatz dazu:

ForceOn“ öffnet und schließt das VLC-Fenster jedes Mal, wenn ein Video abgespielt wird. Dazwischen bleibt das Fenster bestehen.

ForceBack“ das Fenster bleibt immer geöffnet, setzt das Fenster in den Hintergrund, also hinter die anderen PUP-videos.

ForcePopBack“ setzt das Fenster ebenfalls in der Hintergrund, öffnet und schließt dieses Fenster jedoch jedes Mal, wenn ein Video abgespielt wird

25.8.9 - Wie erfolgt die Steuerung und Darstellung der Medien über das PUP-Pack?

Es gibt 3 Möglichkeiten, wie ein PUP-Pack gesteuert wird und Video, Sound usw. zu bestimmten Ereignissen darstellt.

  • Über das Table-script
  • Über das PinUpPlayer-Plugin im B2S-Server (backglass)
  • Über PUPCapture

25.8.9.1 - Steuerung über das Table-script

VPX-Tische, wie z.B. “Congo, oder die Stranger things tische“ wird der PinUpPlayer, der für die Darstellung zuständig ist, komplett über das Table-Script gesteuert. Erkennbar sind diese Tische daran, dass in deren Table-script PUP gestartet wird über „PuPStart(cPuPPack)“.

Es darf nicht der PinUpPupPackeditor genutzt werden, um diese Tische anzupassen. Dies würde bei Erstellen der PUP-Steuerdatei die PUP-Konfiguration zerstören.

25.8.9.2 - Steuerung über das PinUpPlayer-Plugin im B2S-Server

Diese Variante kann ohne Änderung des Table-scripts implementiert werden und ist damit unabhängig von der Version einen Tisches.

Über das PUP-pack werden die Events des Tischs abgefangen (z.B. Bumper 5 ausgelöst) und darauf spielt PUP die entsprechend hinterlegte Aktion ab.

Nachteil ist hier, dass diese nur für ROM-basierte Ereignisse geht und somit die Aktionen recht eingeschränkt sind.

25.8.9.3 - Steuerung über PuPcapture

Ein Beispiel hierfür ist der Tisch „Apollo 13“.

Diese Variante ist die beste, wenn man sich nicht genau mit der PinUP-Schnittstelle auskennt.

Mit der Freezy-DMDdll ab V. 1.71 kann PinUp frames und Ereignisse auf diese Weise verarbeiten und scannen. Dies erlaubt eine große Flexibilität ohne sich in das Thema der ROM-Events oder Switch-events einarbeiten zu müssen.

25.8.10 - Das default-DMD-video soll nicht angezeigt werden, nur für Tische hinterlegtes DMD
  • „Aktivieren“ des PUP-logs durch Erstellen einer leeren Datei „PopperDebug.log“ im Pi-nUPSystem-Verzeichnis erstellen. Diese Datei protokolliert, welche Mediendateien aus welchem Verzeichnis geladen werden.
  • Wenn für eine Tabelle oder Wiedergabeliste keine spezielle Mediendatei angegeben ist, lädt PUP sie von „..\PinUPSystem\POPMedia\Default\System“.
  • Die entsprechende Mediendatei für das DMD ist „pup_default_dmd.mp4“.
  • Im Verzeichnis „PinUPSystem\POPMedia\Default\System“ ein neues Verzeichnis „_backup“ erstellen, um diese Datei dort zu speichern. (Umbenennen in .bak hilft nicht)
  • Dann die Datei „pup_default_dmd.mp4“ in dieses Sicherungsverzeichnis verschieben. Jetzt ist das DMD defaultmäßig „deaktiviert“
  • Diese Schritte für alle erstellten Emulatoren durchführen, da PUP die Standardkonfiguration für Mediendateien nur einmal kopiert, wenn der Emulator erstellt wird.

Wenn immer noch Default-DMD-Medien angezeigt werden, im log überprüfen, von wo aus diese geladen wurden.

💡 In den Logs werden nur die Aktionen zu den Mediadateien protokolliert, also des PUP-players. Es werden keine SQL-Befehle und keine Ereignisse des PinUpMenuSetup protokolliert.

25.8.11 - Wo speichert PUP, welche Mediadateien (Videos) den Tischen zugeordnet sind?

Es geht hier um die den Tischen direkt zugeordneten Videos im Unterverzeichnis „\POPMedia\<Emulatorname>.

Dort gibt es wiederum Unterverzeichnisse wie „Backglass“ und „Playfield“ usw.. Diese Verzeichnis beinhalten die Videodateien z.B. für das Playfield der Tische. Die Dateien müssen den gleichen Namen haben, wie ihr Tablename.

PUP hat die Zuordnung nicht in der DB gespeichert, sondern geht einfach nur nach dem Namen der Videodatei.

Wird die Datei z.B. über den Game Manager einem Tisch zugeordnet, wird diese heruntergeladen und unter dem Tablenamen in dem jeweiligen Videoverzeichnis abgelegt.

Wird diese Zuordnung wieder aufgehoben im Game Manager, macht PUP nichts anderes, als diese Datei zu löschen. Folglich funktioniert es auch, wenn man einem Tisch z.B. für ein Backglass eine Videodatei in das Verzeichnis „Backglass“ kopiert, mit gleichem Namen wie der Tisch.

25.8.12 - Keine Sonderzeichen im Tischnamen

Der Filename der Tabels darf keine Sonderzeichen enthalten, wie( ™, ©). Diese lassen sich zwar direkt mit dem Programm aufrufen, aber der Aufruf über PUP führt dazu, dass die Datei nicht gefunden wird.

25.9 - Zu Direct Output Framework (DOF)

25.9.1 - Hilfreiche Links

DOF (DirectOutputFramework) HowTo: Wie und wo sollte man die Konfigurationsdateien speichern

https://www.flippermarkt.de/community/forum/threads/dof-directoutputframework-howto-wie-und-wo-sollte-man-die-konfigurationsdateien-speichern.210409/#post-1665853

Tipps und Tricks (Sammelthread) – Optimierungen zur Standardinstallation, teilweise ältere Infos

https://www.flippermarkt.de/community/forum/threads/tipps-und-tricks-sammelthread-optimierungen-nach-der-standardinstallation.210328/

[Erklärung] Über Vsync und den Zusammenhang zu input lag und Bildstottern bei 60 Hz und 120/144 Hz

https://extreme.pcgameshardware.de/threads/erklaerung-ueber-vsync-und-den-zusammenhang-zu-input-lag-und-bildstottern-bei-60-hz-und-120-144-hz.412042/

25.9.2 - Tipps wenn DOF nicht funktionieren will

Falls DOF nicht gestartet wird, zuerst diese Prüfungen durchführen für die 32bit (x-86) Version.

Also expliziter Aufruf von VPX-32bit und nicht Doppelklick auf eine VPX-Datei.

  • Bei Doppelklick auf die Link-Datei „DirectOutput.lnk“ muss sich das korrekte Verzeichnis hierzu öffnen (i.a. „C:\vPinball\DirectOutput-x86“
  • DOF benötigt DotNet 4. Sollte eigentlich installiert worden sein. (s.Visual-C-Runtimes All-in-One)

Folgende Voraussetzungen muss DOF haben, sonst startet es nicht und schreibt folglich auch kein Logfile:

  • Erste Bedingung ist, dass der Pinscape-controller über USB angeschlossen ist. Ist dies nicht der Fall, oder wird dieser nicht erkannt (z.B. wegen einem USB-Hub), startet DOF erst gar nicht.
  • die GlobalConfig_B2SServer.xml im config-Verz. ist nicht vorhanden.
  • der Pfad zu den config-dateien ist nicht in der GlobalConfig_B2SServer.xml eingetragen.

Darüber hinaus natürlich die einfachen Fehler:

  • sind alle exe, dll-Dateien unblocked
  • Sind die Objekte von DOF in Windows registriert worden? Prüfen in der Registry

    Der Eintrag steht in
    \HKCR\Wow6432Node\CLSID\{A23BFDBC-9A8A-46C0-8672-60F23D54FFB6}\InprocServer32
    und hier:

25.9.3 DOF funktioniert nach Uüdates auf 64bit zusammen mit VPX nicht mehr

Mit der VPX-version 10.8 speichert VPX seine Konfiguration in der Datei VPinballX.ini anstatt in der Registry ab. Dies Datei liegt im Benutzer-Verzeichnis in „..\AppData\Roaming\VPinballX“.
Die Datei umbenennen oder zur Sicherheit in ein anderes Verzeichnis verschieben.
Dann VPX10.8 starten, dann wird die Datei neu erzeugt. Jetzt nochmal testen, ob DOF-x64 funktioniert.
Ggf. müssen angepasste Einstellungen in vpx10.8 nochmals vorgenommen werden.

25.10 - zu DOFLinx

es kann vorkommen, dass im Debug-mode das Debugfenster nicht mehr im sichtbaren Bereich ist.

Dann in der Registry den Zweig löschen, wird beim Start wieder neu erstellt und das Fenster ist dann in der Ecke links oben.

HKCU\SOFTWARE\DOFLinx

25.11 - Zu vPinMAME

25.11.1    Einstellung für Alt-sounds

Es können bei speziellen Tischen alternative Sounds verwendet werden. Hierzu werden diese ins Verzeichnis „c:\VPinball\VisualPinball\VPinMAME\altsound“ kopiert. Diese Sounddateien liegen für diesen Tisch in eigenem Unterverzeichnis, was den gleichen Namen hat wie das genutze ROM-Verzeichnis.

Die Einstellung muss dann noch im DMD für diesen Tisch angepasst werden. Dies erfolgt nach dessen Start mit der Taste „F1“. Der Wert wird dann in der Registry in „HKCU\Software\Freeware\Visual PinMame\<ROM-Name>\sound_mode“ gespeichert.

25.12 - Zu PinVol

25.12.1 - Wo PinVol seine Einstellungen speichert

 

„PinVol.log“: PinVol erzeugt standardmäßig ein Log-file

„PinVolSettings.ini“: enthält die Einstellungen und Keys

„PinVolVol.ini“: enthält die Werte der globalen Lautstärke-Einstellung und die für den Night-mode. Dabei bedeuten:

Global=

60

Global Volume 60%

Night=

50

Global Volume Night mode 50%

Default=

80

Default Table Volume (for new tables) 80%

 

„PinVolTables.ini“ enthält die Lautstärkeliste für die verwalteten Programme und Tische

Programm/Tisch

Table Volume in %

Tabel Volume 2nd Device %

BackGlass Vol. in dB

Front Vol.

in dB

Rear Vol.

in dB

System

70

80

0

0

0

Visual Pinball

80

80

0

0

0

Future Pinball

80

80

0

0

0

VP.Bronco (1977)

80

80

10

10

10

FP.Bronco_V100

80

80

0

0

0

  1. = Visual Pinball-Tisch, FP.= Future Pinball-Tisch

⚠️ PinVol geht nach dem Namen der Tische. Wenn ein Tisch umbenannt wurde, wird dies nicht erkannt und ein neuer Eintrag erzeugt. Der Eintrag muss in derTabelle dann manuell geändert werden. Die Werte in der Tabelle sind durch „Tabulator“ getrennt

⚠️ Wenn PinVol mit Windows gestartet wird, sollten Keyzuordungen (Hotkeys) so gewählt werden, dass diese nicht mit normalen „Gebrauchstasten“ kollidieren. Sonst muss Pinvol bei jedem Tisch über PUP gestartet und beendet werden. Nachteil ist dann, dass PinVol dann nur läuft, wenn der Tisch über PUP gestartet wird. (für Tests)

Keyzuordnungen PinVol:

Volume-Einstellung

Hotkey

BG Volume Down

Page Down

BG Volume Up

Page Up

Rear Volume Down

NumPad 4

Rear Volume Up

NumPad 6

Front Volume Down

NumPad 1

Front Volume Up

NumPad 2

Table Volume Up

Home (Pos1)

Table Volume Down

END (Ende)

Login Form