<コントローラのボタン設定が初期化されてしまう問題>
MAMEでゲームを起動したときに、コントローラーをパソコンに挿し忘れていて、せっかく設定したボタン定義が初期化されてしまった・・・て事、あるよね。これを防ぐ方法をいくつか紹介します。
ちなみに、ゲーム起動後の[TAB]メニュー → 入力(共通)で設定した内容は、cfgフォルダ内の”default.cfg”ファイルに書き込まれます。
<方法1>
一番簡単なのは、cfgフォルダ内にある”defalt.cfg”ファイルを、読み取り専用にする方法です。
初期化されない代わりに設定もできなくなるので、再度設定するときは、読み取り専用を解除してください。
<方法2>
コントローラーの定義ファイルを作成することで、初期化を防ぐことができます。
手順としては、まず、cfgフォルダ内にある”defalt.cfg”ファイルを、ctrlrフォルダにムーブ(移動)する。
次に、”defalt.cfg”ファイルをリネーム(例 ”joyset.cfg”)する。
すると、ControllersのDefault input layoutから、”joyset”が選択できるようになるので、それを選択する。
※mame.iniを直接編集する場合は、以下の様に編集してください。
#
# CORE INPUT OPTIONS
#
coin_lockout 1
ctrlr joyset ←(拡張子は不要)
mouse 1
joystick 1
lightgun 0
multikeyboard 0
multimouse 0
steadykey 0
ui_active 0
offscreen_reload 0
joystick_map auto
joystick_deadzone 0.3
joystick_saturation 0.85
natural 0
joystick_contradictory 0
coin_impulse 0
再設定を行う時は、再度同じ手順を行うか、再設定後のdefalt.cfgの内容をjoyset.cfgにコピペするか、直接joyset.cfgファイルを編集してください。(直接編集する場合は、こちらが参考になると思います。)
<方法3>
”joy to key”を使用する。
キーの割り当てについては、以下を参考にしてください。
(MAME側の動作)(キーボード側の対応キー)
P1_JOYSTICK_UP [↑]
P1_JOYSTICK_DOWN [↓]
P1_JOYSTICK_LEFT [←]
P1_JOYSTICK_RIGHT [→]
P1_BUTTON1 [Ctrrl(左)]
P1_BUTTON2 [Alt(左)]
P1_BUTTON3 [Space]
P1_BUTTON4 [Shift(左)]
P1_BUTTON5 [Z]
P1_BUTTON6 [X]
P2_JOYSTICK_UP [R]
P2_JOYSTICK_DOWN [F]
P2_JOYSTICK_LEFT [D]
P2_JOYSTICK_RIGHT [G]
P2_BUTTON1 [A]
P2_BUTTON2 [S]
P2_BUTTON3 [Q]
P2_BUTTON4 [W]
P2_BUTTON5 (無し)
P2_BUTTON6 (無し)
START1 [1]
START2 [2]
COIN1 [5]
COIN2 [6]
UI_PAUSE [P]
UI_CONFIGURE [TAB]
UI_SELECT [ENTER]
UI_CANCEL [ESC]
※joy to keyを使用すると、マウス操作時にmameがプチフリーズする場合があります。その場合は、古いバージョンのjoy to key(Ver.5.2.1)を使用してください。
<方法4>
パソコンにコントローラを挿しっぱなしにする。
<追記>
mame0.238で、コントローラー未接続でMAMEを起動したとき、入力設定をあまりリセットしないように修正されました。
mame0.252で、コントローラーの処理がオーバーホールされました。その影響で、cfgファイルの一部表記が変更になっています。