Disclaimer - Emulatoren - Link us - Links - Forum - Chat                                                         Zurück zu lexigame.de

Lexigame präsentiert: Die

Controller INI Dateien
(Controller = Eingabegerät z.b. Tastatur, Maus, Joystick, Gamepad usw.)

Klassiker
und
Importe
Der Kultshop hat, was Du vermisst!

Dieser Bereich befasst sich mit dem Erstellen und dem Umschreiben der Control.ini Datei für Mame Version 0.60 (und höher). 

Für was werden die Controller ini Dateien benötigt ?

Die speziellen Controller ini Dateien (XArcade, SlikStik usw.) sind so gestaltet, dass du für deinen Controller eine eigene Datei für Tastenbelegung erstellen kannst. Du kannst auch für spezielle Spiele eine eigene Controller Datei erstellen.

Erstellen einer Controller Datei

Suche als erstes den Ordner C:\Mame\ctrlr. Der Ordner sollte etwa so aussehen:

Als nächstes musst du einen Ordner mit den Namen deines Controllers erstellen. Benutzt du einen Wingman, solltest du logischerweise den Ordner Wingman nennen.  (Beachte: Wenn du Mame unter DOS verwendest, denke an die 8+3 Regel der Namenslänge). Nun kopiere die std-Datei aus dem Ordner ctrlr und füge sie in den neuen Ordner (Wingman) ein.

Klicke mit der rechten Maustaste auf die Datei std.ini im Ordner Wingman und wähle umbenennen. Ändere den Namen in default und drücke Enter.

Diese neue Datei (default) wird von Mame nun als Hauptdatei für die Steuerung in allen Spielen und im "In-Game" Menü  verwendet. Du kannst ebenso eine individuelle Steuerungsdatei für bestimmte Spiele erstellen. Dies wird dann benötigt, wenn du einen Controller mit sowohl einem Analogen als auch einem Digitalen Steuerkreuz verwendest.
Ein Beispiel: Du kannst eine spezielle Datei für die Fahrsimulation "Outrun" machen, das man eher mit einem analogen Stick spielt, oder eine für das Fightergame "Marvel Versus Capcom", das mit einem digitales Steuerkreuz mehr Spaß macht. Alles was du tun musst, ist eine Kopie der Datei default.ini zu erstellen und diese mit dem selben Namen wie die Spieledatei  zu versehen. (In Mame32 findest du diesen Namen in der Spieleliste in der Spalte "Directory"). Diese neue Datei heißt dann z.B. "pbobble.ini" beim Spiel "Puzzle Bobble".

Die default.ini Datei

Dies hier wirst du in der default.ini Datei sehen:

# This file contains a list of standard input definitions.
# This file is NOT parsed by MAME, but is instead presented to
# describe the standard definitions. Lines can be copied from
# this file to create a controller customization file. When
# creating a file, keep the number of redefinitions to a
# minimum. Any input not listed will default to the sequence
# listed below. Note that several files may be parsed for any
# given controller/game combination, so an input may be
# re-defined in multiple places.

UI_CONFIGURE "KEYCODE_TAB"
UI_ON_SCREEN_DISPLAY "KEYCODE_TILDE"
UI_PAUSE "KEYCODE_P"
UI_RESET_MACHINE "KEYCODE_F3"
UI_SHOW_GFX "KEYCODE_F4"
UI_FRAMESKIP_DEC "KEYCODE_F8"
UI_FRAMESKIP_INC "KEYCODE_F9"
UI_THROTTLE "KEYCODE_F10"
UI_SHOW_FPS "KEYCODE_F11 ! KEYCODE_LCONTROL ! KEYCODE_LSHIFT"
UI_SHOW_PROFILER "KEYCODE_F11 KEYCODE_LSHIFT"
UI_SNAPSHOT "KEYCODE_F12"
UI_TOGGLE_CHEAT "KEYCODE_F6"
UI_UP "KEYCODE_UP | JOYCODE_1_UP"
UI_DOWN "KEYCODE_DOWN | JOYCODE_1_DOWN"
UI_LEFT "KEYCODE_LEFT | JOYCODE_1_LEFT"
UI_RIGHT "KEYCODE_RIGHT | JOYCODE_1_RIGHT"
UI_SELECT "KEYCODE_ENTER | JOYCODE_1_BUTTON1"
UI_CANCEL "KEYCODE_ESC"
UI_PAN_UP "KEYCODE_PGUP ! KEYCODE_LSHIFT"
UI_PAN_DOWN "KEYCODE_PGDN ! KEYCODE_LSHIFT"
UI_PAN_LEFT "KEYCODE_PGUP KEYCODE_LSHIFT"
UI_PAN_RIGHT "KEYCODE_PGDN KEYCODE_LSHIFT"
UI_TOGGLE_DEBUG "KEYCODE_F5"
UI_SAVE_STATE "KEYCODE_F7 KEYCODE_LSHIFT"
UI_LOAD_STATE "KEYCODE_F7 ! KEYCODE_LSHIFT"
UI_ADD_CHEAT "KEYCODE_A"
UI_DELETE_CHEAT "KEYCODE_D"
UI_SAVE_CHEAT "KEYCODE_S"
UI_WATCH_VALUE "KEYCODE_W"
UI_EDIT_CHEAT "KEYCODE_E"
START1 "KEYCODE_1 | JOYCODE_1_START"
START2 "KEYCODE_2 | JOYCODE_2_START"
START3 "KEYCODE_3 | JOYCODE_3_START"
START4 "KEYCODE_4 | JOYCODE_4_START"
COIN1 "KEYCODE_5 | JOYCODE_1_SELECT"
COIN2 "KEYCODE_6 | JOYCODE_2_SELECT"
COIN3 "KEYCODE_7 | JOYCODE_3_SELECT"
COIN4 "KEYCODE_8 | JOYCODE_4_SELECT"
SERVICE1 "KEYCODE_9"
SERVICE2 "KEYCODE_0"
SERVICE3 "KEYCODE_MINUS"
SERVICE4 "KEYCODE_EQUALS"
TILT "KEYCODE_T"

P1_JOYSTICK_UP "KEYCODE_UP | JOYCODE_1_UP"
P1_JOYSTICK_DOWN "KEYCODE_DOWN | JOYCODE_1_DOWN"
P1_JOYSTICK_LEFT "KEYCODE_LEFT | JOYCODE_1_LEFT"
P1_JOYSTICK_RIGHT "KEYCODE_RIGHT | JOYCODE_1_RIGHT"
P1_BUTTON1 "KEYCODE_LCONTROL | JOYCODE_1_BUTTON1 | MOUSECODE_1_BUTTON1"
P1_BUTTON2 "KEYCODE_LALT | JOYCODE_1_BUTTON2 | MOUSECODE_1_BUTTON3"
P1_BUTTON3 "KEYCODE_SPACE | JOYCODE_1_BUTTON3 | MOUSECODE_1_BUTTON2"
P1_BUTTON4 "KEYCODE_LSHIFT | JOYCODE_1_BUTTON4"
P1_BUTTON5 "KEYCODE_Z | JOYCODE_1_BUTTON5"
P1_BUTTON6 "KEYCODE_X | JOYCODE_1_BUTTON6"
P1_BUTTON7 "KEYCODE_C"
P1_BUTTON8 "KEYCODE_V"
P1_BUTTON9 "KEYCODE_B"
P1_BUTTON10 "KEYCODE_N"
P1_JOYSTICKRIGHT_UP "KEYCODE_I | JOYCODE_1_BUTTON2"
P1_JOYSTICKRIGHT_DOWN "KEYCODE_K | JOYCODE_1_BUTTON3"
P1_JOYSTICKRIGHT_LEFT "KEYCODE_J | JOYCODE_1_BUTTON1"
P1_JOYSTICKRIGHT_RIGHT "KEYCODE_L | JOYCODE_1_BUTTON4"
P1_JOYSTICKLEFT_UP "KEYCODE_E | JOYCODE_1_UP"
P1_JOYSTICKLEFT_DOWN "KEYCODE_D | JOYCODE_1_DOWN"
P1_JOYSTICKLEFT_LEFT "KEYCODE_S | JOYCODE_1_LEFT"
P1_JOYSTICKLEFT_RIGHT "KEYCODE_F | JOYCODE_1_RIGHT"
P2_JOYSTICK_UP "KEYCODE_R | JOYCODE_2_UP"
P2_JOYSTICK_DOWN "KEYCODE_F | JOYCODE_2_DOWN"
P2_JOYSTICK_LEFT "KEYCODE_D | JOYCODE_2_LEFT"
P2_JOYSTICK_RIGHT "KEYCODE_G | JOYCODE_2_RIGHT"
P2_BUTTON1 "KEYCODE_A | JOYCODE_2_BUTTON1"
P2_BUTTON2 "KEYCODE_S | JOYCODE_2_BUTTON2"
P2_BUTTON3 "KEYCODE_Q | JOYCODE_2_BUTTON3"
P2_BUTTON4 "KEYCODE_W | JOYCODE_2_BUTTON4"
P2_BUTTON5 "JOYCODE_2_BUTTON5"
P2_BUTTON6 "JOYCODE_2_BUTTON6"
P2_BUTTON7 "CODE_NONE"
P2_BUTTON8 "CODE_NONE"
P2_BUTTON9 "CODE_NONE"
P2_BUTTON10 "CODE_NONE"
P2_JOYSTICKRIGHT_UP "CODE_NONE"
P2_JOYSTICKRIGHT_DOWN "CODE_NONE"
P2_JOYSTICKRIGHT_LEFT "CODE_NONE"
P2_JOYSTICKRIGHT_RIGHT "CODE_NONE"
P2_JOYSTICKLEFT_UP "CODE_NONE"
P2_JOYSTICKLEFT_DOWN "CODE_NONE"
P2_JOYSTICKLEFT_LEFT "CODE_NONE"
P2_JOYSTICKLEFT_RIGHT "CODE_NONE"
P3_JOYSTICK_UP "KEYCODE_I | JOYCODE_3_UP"
P3_JOYSTICK_DOWN "KEYCODE_K | JOYCODE_3_DOWN"
P3_JOYSTICK_LEFT "KEYCODE_J | JOYCODE_3_LEFT"
P3_JOYSTICK_RIGHT "KEYCODE_L | JOYCODE_3_RIGHT"
P3_BUTTON1 "KEYCODE_RCONTROL | JOYCODE_3_BUTTON1"
P3_BUTTON2 "KEYCODE_RSHIFT | JOYCODE_3_BUTTON2"
P3_BUTTON3 "KEYCODE_ENTER | JOYCODE_3_BUTTON3"
P3_BUTTON4 "JOYCODE_3_BUTTON4"
P4_JOYSTICK_UP "JOYCODE_4_UP"
P4_JOYSTICK_DOWN "JOYCODE_4_DOWN"
P4_JOYSTICK_LEFT "JOYCODE_4_LEFT"
P4_JOYSTICK_RIGHT "JOYCODE_4_RIGHT"
P4_BUTTON1 "JOYCODE_4_BUTTON1"
P4_BUTTON2 "JOYCODE_4_BUTTON2"
P4_BUTTON3 "JOYCODE_4_BUTTON3"
P4_BUTTON4 "JOYCODE_4_BUTTON4"

P1_PEDAL "KEYCODE_LCONTROL | JOYCODE_1_BUTTON1"
P1_PEDAL_EXT "KEYCODE_Y"
P2_PEDAL "KEYCODE_A | JOYCODE_2_BUTTON1"
P2_PEDAL_EXT "KEYCODE_Y"
P3_PEDAL "KEYCODE_RCONTROL | JOYCODE_3_BUTTON1"
P3_PEDAL_EXT "KEYCODE_Y"
P4_PEDAL "JOYCODE_4_BUTTON1"
P4_PEDAL_EXT "KEYCODE_Y"

P1_PADDLE "KEYCODE_LEFT | JOYCODE_1_LEFT"
P1_PADDLE_EXT "KEYCODE_RIGHT | JOYCODE_1_RIGHT"
P2_PADDLE "KEYCODE_D | JOYCODE_2_LEFT"
P2_PADDLE_EXT "KEYCODE_G | JOYCODE_2_RIGHT"
P3_PADDLE "KEYCODE_J | JOYCODE_3_LEFT"
P3_PADDLE_EXT "KEYCODE_L | JOYCODE_3_RIGHT"
P4_PADDLE "JOYCODE_4_LEFT"
P4_PADDLE_EXT "JOYCODE_4_RIGHT"

P1_PADDLE_V "KEYCODE_UP | JOYCODE_1_UP"
P1_PADDLE_V_EXT "KEYCODE_DOWN | JOYCODE_1_DOWN"
P2_PADDLE_V "KEYCODE_R | JOYCODE_2_UP"
P2_PADDLE_V_EXT "KEYCODE_F | JOYCODE_2_DOWN"
P3_PADDLE_V "KEYCODE_I | JOYCODE_3_UP"
P3_PADDLE_V_EXT "KEYCODE_K | JOYCODE_3_DOWN"
P4_PADDLE_V "JOYCODE_4_UP"
P4_PADDLE_V_EXT "JOYCODE_4_DOWN"

P1_DIAL "KEYCODE_LEFT | JOYCODE_1_LEFT"
P1_DIAL_EXT "KEYCODE_RIGHT | JOYCODE_1_RIGHT"
P2_DIAL "KEYCODE_D | JOYCODE_2_LEFT"
P2_DIAL_EXT "KEYCODE_G | JOYCODE_2_RIGHT"
P3_DIAL "KEYCODE_J | JOYCODE_3_LEFT"
P3_DIAL_EXT "KEYCODE_L | JOYCODE_3_RIGHT"
P4_DIAL "JOYCODE_4_LEFT"
P4_DIAL_EXT "JOYCODE_4_RIGHT"

P1_DIAL_V "KEYCODE_UP | JOYCODE_1_UP"
P1_DIAL_V_EXT "KEYCODE_DOWN | JOYCODE_1_DOWN"
P2_DIAL_V "KEYCODE_R | JOYCODE_2_UP"
P2_DIAL_V_EXT "KEYCODE_F | JOYCODE_2_DOWN"
P3_DIAL_V "KEYCODE_I | JOYCODE_3_UP"
P3_DIAL_V_EXT "KEYCODE_K | JOYCODE_3_DOWN"
P4_DIAL_V "JOYCODE_4_UP"
P4_DIAL_V_EXT "JOYCODE_4_DOWN"

P1_TRACKBALL_X "KEYCODE_LEFT | JOYCODE_1_LEFT"
P1_TRACKBALL_X_EXT "KEYCODE_RIGHT | JOYCODE_1_RIGHT"
P2_TRACKBALL_X "KEYCODE_D | JOYCODE_2_LEFT"
P2_TRACKBALL_X_EXT "KEYCODE_G | JOYCODE_2_RIGHT"
P3_TRACKBALL_X "KEYCODE_J | JOYCODE_3_LEFT"
P3_TRACKBALL_X_EXT "KEYCODE_L | JOYCODE_3_RIGHT"
P4_TRACKBALL_X "JOYCODE_4_LEFT"
P4_TRACKBALL_X_EXT "JOYCODE_4_RIGHT"

P1_TRACKBALL_Y "KEYCODE_UP | JOYCODE_1_UP"
P1_TRACKBALL_Y_EXT "KEYCODE_DOWN | JOYCODE_1_DOWN"
P2_TRACKBALL_Y "KEYCODE_R | JOYCODE_2_UP"
P2_TRACKBALL_Y_EXT "KEYCODE_F | JOYCODE_2_DOWN"
P3_TRACKBALL_Y "KEYCODE_I | JOYCODE_3_UP"
P3_TRACKBALL_Y_EXT "KEYCODE_K | JOYCODE_3_DOWN"
P4_TRACKBALL_Y "JOYCODE_4_UP"
P4_TRACKBALL_Y_EXT "JOYCODE_4_DOWN"

P1_AD_STICK_X "KEYCODE_LEFT | JOYCODE_1_LEFT"
P1_AD_STICK_X_EXT "KEYCODE_RIGHT | JOYCODE_1_RIGHT"
P2_AD_STICK_X "KEYCODE_D | JOYCODE_2_LEFT"
P2_AD_STICK_X_EXT "KEYCODE_G | JOYCODE_2_RIGHT"
P3_AD_STICK_X "KEYCODE_J | JOYCODE_3_LEFT"
P3_AD_STICK_X_EXT "KEYCODE_L | JOYCODE_3_RIGHT"
P4_AD_STICK_X "JOYCODE_4_LEFT"
P4_AD_STICK_X_EXT "JOYCODE_4_RIGHT"

P1_AD_STICK_Y "KEYCODE_UP | JOYCODE_1_UP"
P1_AD_STICK_Y_EXT "KEYCODE_DOWN | JOYCODE_1_DOWN"
P2_AD_STICK_Y "KEYCODE_R | JOYCODE_2_UP"
P2_AD_STICK_Y_EXT "KEYCODE_F | JOYCODE_2_DOWN"
P3_AD_STICK_Y "KEYCODE_I | JOYCODE_3_UP"
P3_AD_STICK_Y_EXT "KEYCODE_K | JOYCODE_3_DOWN"
P4_AD_STICK_Y "JOYCODE_4_UP"
P4_AD_STICK_Y_EXT "JOYCODE_4_DOWN"

OSD_1 "CODE_NONE"
OSD_2 "CODE_NONE"
OSD_3 "CODE_NONE"
OSD_4 "CODE_NONE"


Was du hier siehst ist der Name der Steuerung gefolgt vom Tastaturcode. Nachstehend eine kleine Erklärung:


P1_JOYSTICK_UP
"
KEYCODE_UP
|
JOYCODE_1_UP
"
Beschreibung des Steuerelements
 
Benutzter
Tastatur Code
Logischer Abstandshalter
Benutzter
Joystick Code
 

Dies ist eine korrekte Eingabe - verändere noch nichts.

O.K. Als erstes ignoriere die Zeichen "". Nun werde ich die diese Eingabe noch näher erklären.

P1_JOYSTICK_UP = Der Name des Controllers (JOYSTICK) und Bewegung (UP) welche du verwendest oder ändern möchtest und für welchen Spieler (P1).

KEYCODE_UP = Der Name der Taste welche du für deinen Controller verwenden möchtest. (KEYCODE_UP = Pfeiltaste nach oben auf der Tastatur) 

| = Logischer Abstandshalter (ähm...) Dies sind einfach Befehle so dass du hier Tasten hinzufügen, kombinieren, oder ignorieren kannst.  ( | = ODER)

JOYCODE_1_UP = Der Name der Bewegung auf deinem Joystick/Joypad und dem Joystickeingang, an dem der Joystick angeschlossen ist.

Die Anführungszeichen ("") sind nur wichtig, wenn du mit mehreren Tasten eine Bewegung machen möchtest (z.b. Joystick und Tastatur gleichzeitig). Bei der Definition von zwei verschiedenen Tasten (z.b. Tastatur und Joystick) für die gleiche Bewegung muss dies mit den Anführungszeichen ("") eingegeben werden.

Im Klartext heißt diese Eingabe:
Damit Mame die Nachoben-Bewegung des Joysticks von Spieler 1 simuliert, muss man entweder die Pfeiltaste nach oben drücken oder den Joystick nach oben bewegen.

Erstellen einer eigenen Controller Datei

Das beste ist, dass nicht alle Befehlszeilen in deiner ini Datei vorhanden sein müssen. Du kannst die Zeilen löschen, die du nicht ändern möchtest.

Wenn du den Ordner deines Controllers offen hast (siehe unten) mach einen Doppelklick auf die default.ini Datei und sie wird mit dem Windows Editor geöffnet.

Du siehst, dass die Datei den selben Inhalt hat wie die std.ini.

Bemerkung! Was auch immer du von jetzt an tust, kann durch erneutes Kopieren der std.ini Datei in deinen Controller Ordner rückgängig gemacht werden. Hab also keine Angst, irgendwelche Fehler zu machen.

Als ich weiter oben sagte, die default.ini Datei ist für die Änderung der Tastenbelegung für alle Mame Spiele, ist damit gemeint, dass du alle Befehlszeilen löschen kannst (in der default ini deines Controller Ordners), die du nicht ändern möchtest.

Bevor wir weitermachen, benötigst du die Codes der einzelnen Tasten und ein klein wenig Hintergrundinformationen. 
Hier die Codes der einzelnen Tasten (Joystick und Tastatur):


KEYCODE_A
KEYCODE_D
KEYCODE_G
KEYCODE_J
KEYCODE_M
KEYCODE_P
KEYCODE_S
KEYCODE_V
KEYCODE_Y
KEYCODE_1
KEYCODE_4
KEYCODE_7
KEYCODE_0_PAD
KEYCODE_3_PAD
KEYCODE_6_PAD
KEYCODE_9_PAD
KEYCODE_F3
KEYCODE_F6
KEYCODE_F9
KEYCODE_F12
KEYCODE_MINUS
KEYCODE_TAB
KEYCODE_ENTER
KEYCODE_BACKSLASH
KEYCODE_STOP
KEYCODE_INSERT
KEYCODE_END
KEYCODE_LEFT
KEYCODE_DOWN
KEYCODE_MINUS_PAD
KEYCODE_ENTER_PAD
KEYCODE_LSHIFT
KEYCODE_RCONTROL
KEYCODE_SCRLOCK
KEYCODE_LWIN

JOYCODE_1_LEFT
JOYCODE_1_DOWN
JOYCODE_1_BUTTON3
JOYCODE_1_BUTTON6
JOYCODE_2_LEFT
JOYCODE_2_DOWN
JOYCODE_2_BUTTON3
JOYCODE_2_BUTTON6
JOYCODE_3_LEFT
JOYCODE_3_DOWN
JOYCODE_3_BUTTON3
JOYCODE_3_BUTTON6
JOYCODE_4_LEFT
JOYCODE_4_DOWN
JOYCODE_4_BUTTON3
JOYCODE_4_BUTTON

MOUSECODE_1_BUTTON1

KEYCODE_NONE
CODE_DEFAULT
CODE_OR

KEYCODE_B
KEYCODE_E
KEYCODE_H
KEYCODE_K
KEYCODE_N
KEYCODE_Q
KEYCODE_T
KEYCODE_W
KEYCODE_Z
KEYCODE_2
KEYCODE_5
KEYCODE_8
KEYCODE_1_PAD
KEYCODE_4_PAD
KEYCODE_7_PAD
KEYCODE_F1
KEYCODE_F4
KEYCODE_F7
KEYCODE_F10
KEYCODE_ESC
KEYCODE_EQUALS
KEYCODE_OPENBRACE
KEYCODE_COLON
KEYCODE_BACKSLASH2
KEYCODE_SLASH
KEYCODE_DEL
KEYCODE_PGUP
KEYCODE_RIGHT
KEYCODE_SLASH_PAD
KEYCODE_PLUS_PAD
KEYCODE_PRTSCR
KEYCODE_RSHIFT
KEYCODE_LALT
KEYCODE_NUMLOCK
KEYCODE_RWIN

JOYCODE_1_RIGHT
JOYCODE_1_BUTTON1
JOYCODE_1_BUTTON4
JOYCODE_1_START
JOYCODE_2_RIGHT
JOYCODE_2_BUTTON1
JOYCODE_2_BUTTON4
JOYCODE_2_START
JOYCODE_3_RIGHT
JOYCODE_3_BUTTON1
JOYCODE_3_BUTTON4
JOYCODE_3_START
JOYCODE_4_RIGHT
JOYCODE_4_BUTTON1
JOYCODE_4_BUTTON4
JOYCODE_4_START

MOUSECODE_1_BUTTON2

CODE_NONE
CODE_PREVIOUS
!

KEYCODE_C
KEYCODE_F
KEYCODE_I
KEYCODE_L
KEYCODE_O
KEYCODE_R
KEYCODE_U
KEYCODE_X
KEYCODE_0
KEYCODE_3
KEYCODE_6
KEYCODE_9
KEYCODE_2_PAD
KEYCODE_5_PAD
KEYCODE_8_PAD
KEYCODE_F2
KEYCODE_F5
KEYCODE_F8
KEYCODE_F11
KEYCODE_TILDE
KEYCODE_BACKSPACE
KEYCODE_CLOSEBRACE
KEYCODE_QUOTE
KEYCODE_COMMA
KEYCODE_SPACE
KEYCODE_HOME
KEYCODE_PGDN
KEYCODE_UP
KEYCODE_ASTERISK
KEYCODE_DEL_PAD
KEYCODE_PAUSE
KEYCODE_LCONTROL
KEYCODE_RALT
KEYCODE_CAPSLOCK
KEYCODE_MENU

JOYCODE_1_UP
JOYCODE_1_BUTTON2
JOYCODE_1_BUTTON5
JOYCODE_1_SELECT
JOYCODE_2_UP
JOYCODE_2_BUTTON2
JOYCODE_2_BUTTON5
JOYCODE_2_SELECT
JOYCODE_3_UP
JOYCODE_3_BUTTON2
JOYCODE_3_BUTTON5
JOYCODE_3_SELECT
JOYCODE_4_UP
JOYCODE_4_BUTTON2
JOYCODE_4_BUTTON5
JOYCODE_4_SELECT

MOUSECODE_1_BUTTON3

CODE_OTHER
CODE_NOT
|


Wie du bemerkt hast, gibt es verschiedene Tastentypen.
Es gibt ...

KEYCODE = Dies bedeutet eine Taste auf deiner Tastatur

JOYCODE = Dies bedeutet eine Joystickbewegung oder eine Taste des Joysticks und welcher Joystick (Player1,
                  Player2, ...) gemeint ist.

MOUSECODE = Dies bedeutet einen Maustastenklick

KEYCODE NONE = Dies wird benutzt, wenn du einer Taste keine Belegung zuweisen möchtest

CODE_NONE = Dies wird benutzt, wenn du einer Taste keine Belegung zuweisen möchtest

CODE_DEFAULT = Benutzt die Standard Mame Taste

CODE_OTHER CODE_PREVIOUS = Zur Zeit nicht sicher !

CODE_NOT oder ! = Stoppt eine bestimmte Tastenkombination.
Beispiel: Wenn du die Funktion zum Öffnen des Vollbildmodus (Alt+Tab) stillegen möchtest, musst du folgendes eingeben:

KEYCODE_LALT CODE_NOT KEYCODE_TAB

oder

KEYCODE_LALT ! KEYCODE_TAB

CODE_OR oder | = Lässt dich mehr als eine Taste für eine Bewegung hinzufügen.
Beispiel: Spieler Eins soll mit mit der STRG-Taste der Tastatur und mit dem Jostick Feuer Knopf in einem Spiele feuern können, so musst du folgendes eingeben:

KEYCODE_LCONTROL CODE_OR JOYCODE_1_BUTTON1

oder

KEYCODE_LCONTROL | JOYCODE_1_BUTTON1

SPACE = Wenn du ein Leerzeichen zwischen den Befehlen lässt, werden beide Befehle zur selben Zeit ausgeführt.
Beispiel: Wenn du eine Taste für eine "runter-links" Bewegung definieren möchtest musst du folgendes eingeben:

JOYCODE_1_DOWN JOYCODE_1_LEFT

Dies kannst du alles ändern:

UI_CONFIGURE
UI_RESET_MACHINE
UI_FRAMESKIP_INC
UI_SHOW_PROFILER
UI_UP
UI_RIGHT
UI_PAN_UP
UI_PAN_RIGHT
UI_LOAD_STATE
UI_SAVE_CHEAT
START1
START4
COIN3
SERVICE2
TILT

P1_JOYSTICK_UP
P1_JOYSTICK_RIGHT
P1_BUTTON3
P1_BUTTON6
P1_BUTTON9
P1_JOYSTICKRIGHT_DOWN
P1_JOYSTICKLEFT_UP
P1_JOYSTICKLEFT_RIGHT

P2_JOYSTICK_UP
P2_JOYSTICK_RIGHT
P2_BUTTON3
P2_BUTTON6
P2_BUTTON9
P2_JOYSTICKRIGHT_DOWN
P2_JOYSTICKLEFT_UP
P2_JOYSTICKLEFT_RIGHT

P3_JOYSTICK_UP
P3_JOYSTICK_RIGHT
P3_BUTTON3

P4_JOYSTICK_UP
P4_JOYSTICK_RIGHT
P4_BUTTON3

P1_PEDAL
P2_PEDAL_EXT
P4_PEDAL

P1_PADDLE
P2_PADDLE_EXT
P4_PADDLE
P1_PADDLE_V_EXT
P3_PADDLE_V
P4_PADDLE_V_EXT

P1_DIAL
P2_DIAL_EXT
P4_DIAL
P1_DIAL_V_EXT
P3_DIAL_V
P4_DIAL_V_EXT

P1_TRACKBALL_X
P2_TRACKBALL_X_EXT
P4_TRACKBALL_X

P1_TRACKBALL_Y
P2_TRACKBALL_Y_EXT
P4_TRACKBALL_Y

P1_AD_STICK_X
P2_AD_STICK_X_EXT
P4_AD_STICK_X

P1_AD_STICK_Y
P2_AD_STICK_Y_EXT
P4_AD_STICK_Y

OSD_1
OSD_4
UI_ON_SCREEN_DISPLAY
UI_SHOW_GFX
UI_THROTTLE
UI_SNAPSHOT
UI_DOWN
UI_SELECT
UI_PAN_DOWN
UI_TOGGLE_DEBUG
UI_ADD_CHEAT
UI_WATCH_VALUE
START2
COIN1
COIN4
SERVICE3


P1_JOYSTICK_DOWN
P1_BUTTON1
P1_BUTTON4
P1_BUTTON7
P1_BUTTON10
P1_JOYSTICKRIGHT_LEFT
P1_JOYSTICKLEFT_DOWN


P2_JOYSTICK_DOWN
P2_BUTTON1
P2_BUTTON4
P2_BUTTON7
P2_BUTTON10
P2_JOYSTICKRIGHT_LEFT
P2_JOYSTICKLEFT_DOWN


P3_JOYSTICK_DOWN
P3_BUTTON1
P3_BUTTON4

P4_JOYSTICK_DOWN
P4_BUTTON1
P4_BUTTON4

P1_PEDAL_EXT
P3_PEDAL
P4_PEDAL_EXT

P1_PADDLE_EXT
P3_PADDLE
P4_PADDLE_EXT
P2_PADDLE_V
P3_PADDLE_V_EXT


P1_DIAL_EXT
P3_DIAL
P4_DIAL_EXT
P2_DIAL_V
P3_DIAL_V_EXT


P1_TRACKBALL_X_EXT
P3_TRACKBALL_X
P4_TRACKBALL_X_EXT

P1_TRACKBALL_Y_EXT
P3_TRACKBALL_Y
P4_TRACKBALL_Y_EXT

P1_AD_STICK_X_EXT
P3_AD_STICK_X
P4_AD_STICK_X_EXT

P1_AD_STICK_Y_EXT
P3_AD_STICK_Y
P4_AD_STICK_Y_EXT

OSD_2
.
UI_PAUSE
UI_FRAMESKIP_DEC
UI_SHOW_FPS
UI_TOGGLE_CHEAT
UI_LEFT
UI_CANCEL
UI_PAN_LEFT
UI_SAVE_STATE
UI_DELETE_CHEAT
UI_EDIT_CHEAT
START3
COIN2
SERVICE1
SERVICE4


P1_JOYSTICK_LEFT
P1_BUTTON2
P1_BUTTON5
P1_BUTTON8
P1_JOYSTICKRIGHT_UP
P1_JOYSTICKRIGHT_RIGHT
P1_JOYSTICKLEFT_LEFT


P2_JOYSTICK_LEFT
P2_BUTTON2
P2_BUTTON5
P2_BUTTON8
P2_JOYSTICKRIGHT_UP
P2_JOYSTICKRIGHT_RIGHT
P2_JOYSTICKLEFT_LEFT


P3_JOYSTICK_LEFT
P3_BUTTON2


P4_JOYSTICK_LEFT
P4_BUTTON2


P2_PEDAL
P3_PEDAL_EXT


P2_PADDLE
P3_PADDLE_EXT
P1_PADDLE_V
P2_PADDLE_V_EXT
P4_PADDLE_V


P2_DIAL
P3_DIAL_EXT
P1_DIAL_V
P2_DIAL_V_EXT
P4_DIAL_V


P2_TRACKBALL_X
P3_TRACKBALL_X_EXT


P2_TRACKBALL_Y
P3_TRACKBALL_Y_EXT


P2_AD_STICK_X
P3_AD_STICK_X_EXT


P2_AD_STICK_Y
P3_AD_STICK_Y_EXT


OSD_3
.

Hier die Erklärung im einzelnen: 

UI = Ein von Mame benutzter Befehl in der Grafischen Schnittstelle z.b. in-game-Menü / Spielstandsicherung usw.

JOYSTICK = Eine Steuerungsbewegung eines Josticks oder Knopf eines Joysticks

PEDAL = Ein Fusspedal eines Arcade-Automaten

PADDLE = Ich glaube, dies ist für nur-2-Wege Joysticks (Es könnte falsch sein)

DIAL = Ein Gerät, das für Spiele wie Arkanoid benutzt wird (nur links-rechts)

TRACKBALL = Ein Ball statt eines Joysticks, wird z.b. in Tempest verwendet

AD_STICK = Analog Joystick Steuerung

OSD = On screen display (Auf dem Bildschirm) Funktionen.

_EXT = Die Umkehrung einer Steuerung. Beispiel:
P1_PADDLE        = Linke Bewegung
P1_PADDLE_EXT = Rechte Bewegung

Nun kennst du die wichtigsten Befehle und Codes und hast das nötige Hintergrundwissen. Als nächstes erstellen wir eine eigene Datei.

Alle Kommentare und Hinweise in der Datei beginnen mit dem Zeichen #. So ist es dir möglich, Kommentare u.ä. in die Datei hinzuzufügen. Es wird empfohlen, eine Kommentarzeile mit der vollen Beschreibung am Ende eines Befehls zu erstellen. Dadurch ist es leichter, etwas rückgängig zu machen. 

Nun musst du eine Befehlszeile nach deinem Kommentar einfügen. Diese Zeile sollte lauten:
                                         ctrlrname "controller name"
wobei controller name  für den Namen deines Controllers steht. Beispiel:

ctrlrname "Wingman Extreme"

Nun mach weiter und ändere die Tasten die du möchtest. Siehe dir meine Konfiguration des Wingmans an:

Der Rest der Tastaturbelegung von Mame gefällt mir, so dass ich alle anderen Befehlszeilen gelöscht habe. Du wirst einen speziellen Code sehen, der für Knopf 9 auf meinem Controller benutzt wird. Die Hauptcodes funktionieren nur mit 6 Knöpfen, da ich aber Mame benutze kann ich den Knopf benutzen.

Um einen Speziellen Code für das Spiel einzugeben, musst du das "In-Game-Menü" durch Drücken der TAB Taste während des Spiels öffnen.

Wähle die Option "Input (general)" und gehe nach unten, bis du die Taste gefunden hast die du ändern möchtest. Drücke "Enter" und dann die Controller-Taste die du verwenden möchtest. Nun mach dir eine exakte Notiz mit der genauen Beschreibung, inklusive Groß-/Kleinschreibung.

Nun füge diese Beschreibung in deine config Datei ein und ersetze die Leerzeichen durch Unterstriche ( _ ). Überzeuge dich, dass es exakt das gleiche ist! Speichere deine Config Datei und starte Mame erneut. Um dir zu zeigen, dass es funktioniert, schau dir das an:

Ich sagte vorher, dass du für spezielle Spiele eigene Steuerungsdateien erstellen kannst. Das einzige was du tun musst, ist der Steuerungsdatei denselben Namen wie der ZIP Datei des Spiel geben (z.b. wecleman.ini). Sie dir meine für WEC Le Mans an:

Du musst diese Datei in deinem Controller Ordner (obiges Beispiel Wingman) ablegen und Mame wird diese Einstellung beim Starten des Spiels laden. 

Benutzen der eigenen Config Datei

Um deine eigene Config Datei in der Befehlszeilenversion von Mame benutzen zu können, musst du die ctrlr Option bei der Befehlseingabe mit angeben. Beispiel:

Mame puckman -ctrlr wingman

Bei Mame 32 gehe zur Registerkarte Controllers (Mame Startfenster/Options/Default Options/Controllers). Du kannst deinen Controller im unteren Teil des Fensters unter "Default input layout" wählen. Einmal gewählt wird Mame diesen Controller als Standard verwenden und auch die von dir erstellten Controller Dateien für einzelne Spiele verwenden.

WICHTIG ! Das ist das letzte was du beachten solltest. Wenn du eine Taste in der Grafischen Oberfläche von Mame änderst und keine ini Datei verwendest, wird diese Einstellung im cfg Ordner gespeichert. Veränderung der Tasten in der Grafischen Oberfläche von Mame hat keine Auswirkung auf die ini Dateien.
Damit ist gemeint: Änderst du die Tastenbelegung im "In-Game-Menü (Drücken der TAB Taste während des Spiels), musst du die default.cfg Datei und die cfg Datei mit dem dementsprechenden Spielenamen löschen, wenn du später eine eigene Steuerungsdatei für dieses Spiel verwenden möchtest. Sollte es Grundsätzlich Probleme mit der Steuerung geben, lösche als erstes diese *.cfg Dateien und Mame verwendet wieder die std.ini Datei als Hauptdatei. (Hast du eine default Datei erstellt wird Mame selbstverständlich auf diese zurückgreifen) 

© 2000 - 2007 by Lexigame.de

powered by Arcadeshop.de