MednafenのJoystick設定
新環境にゲーム機のエミュレータ入れようと思って、とりあえず定番のpcsxrとかsnes9xがArch Linuxの公式リポジトリにあったから入れてたんだが、
higan-qtっていう複数ハードに対応したQtのエミュレータがあったんで試してみた。
higan-qtは、ファミコンROMはそのまま実行できて、joystickもGUIで設定できるんだが、
設定すると設定ファイルに書き込まれてるのに、次回起動の際に有効にならなかった・・・
ROMイメージロードするとフォルダを作成して、そこにセーブデータとか保存して、ROMファイルまでコピーするとかいう容量無駄遣いの変態仕様だった。
あと、GBAのROMロードしたら、別途BIOSイメージが必要だった。
速度は問題なさそうなんだが、音がダメダメ。
higan-qtはそんな感じなんだが、もう一個複数ハードに対応したエミュレータで、mednafenってのがあったんで試してみた。
mednafenはGUI設定なしでテキストファイルいじって設定する。
ROMロードすると~/.mednafen/mednafen-09x.cfgができるんでそれいじる。
んだが、Joystickの設定方法が公式ドキュメント見ても書いてないから難しかった。
公式フォーラムで質問に管理人さんが回答してたからなんとか設定できた。
コンソール上でROMロードする
Unique IDでJoystick指定してボタン番号を設定する。
GBAだけ設定してみたが、うちのElecomパッドだと、
エミュ入れる前にKDEのシステム設定でジョイスティック試したが、KDE入れるだけでjoystickのドライバとかは入れないで平気ぽい。
gba.input.builtin.gamepad.a
ならGBAのAボタン設定ってことだが、スペース空けて、
joystick [Unique ID] [ボタン設定]
Unique IDは起動時に出力されるやつ。
ボタン設定はデジタルパッド(通常ボタン)なら16進8桁でボタン番号そのまま。
KDEのシステム設定のJyoistickテストだとボタン番号は1から表示されるが、0からなんで-1する。
16進だから11番目のボタンはaになる。
17個以上ボタンあるなら2桁になると思われる。
難しかったのは、アナログ(方向キー)の設定。
デジタルパッドと同じように軸番号を末尾に書いて、+方向なら0xc000で-方向なら0x8000になるぽい。
Mednafenは、
物理CD対応してるって書いてあるからPlayStationなんかは簡単に遊べそうだね。
PC EngineとかPC-FXのCDはさすがに中古屋置いてないかな?w
サターンは残念ながら無いね。サターンならyabauseがリポジトリ入ってたからそっちで。
と思ったけど、GUIないのにどうやって物理CD渡すんだ?
/dev直渡しで動くんかな?
イジェクトの説明も書いてないような・・・
higan-qtっていう複数ハードに対応したQtのエミュレータがあったんで試してみた。
higan-qtは、ファミコンROMはそのまま実行できて、joystickもGUIで設定できるんだが、
設定すると設定ファイルに書き込まれてるのに、次回起動の際に有効にならなかった・・・
ROMイメージロードするとフォルダを作成して、そこにセーブデータとか保存して、ROMファイルまでコピーするとかいう容量無駄遣いの変態仕様だった。
あと、GBAのROMロードしたら、別途BIOSイメージが必要だった。
速度は問題なさそうなんだが、音がダメダメ。
higan-qtはそんな感じなんだが、もう一個複数ハードに対応したエミュレータで、mednafenってのがあったんで試してみた。
mednafenはGUI設定なしでテキストファイルいじって設定する。
ROMロードすると~/.mednafen/mednafen-09x.cfgができるんでそれいじる。
んだが、Joystickの設定方法が公式ドキュメント見ても書いてないから難しかった。
公式フォーラムで質問に管理人さんが回答してたからなんとか設定できた。
コンソール上でROMロードする
Joystick 0 - Sysgration Ltd. Elecom Wired Gamepad - Unique ID: 080e4a1ee1ed960b
とかJoystickが出力される。Unique IDでJoystick指定してボタン番号を設定する。
GBAだけ設定してみたが、うちのElecomパッドだと、
gba.input.builtin.gamepad.a joystick 080e4a1ee1ed960b 00000003
gba.input.builtin.gamepad.b joystick 080e4a1ee1ed960b 00000002
gba.input.builtin.gamepad.select 080e4a1ee1ed960b 00000008
gba.input.builtin.gamepad.shoulder_l joystick 080e4a1ee1ed960b 00000004
gba.input.builtin.gamepad.shoulder_r joystick 080e4a1ee1ed960b 00000005
gba.input.builtin.gamepad.start joystick 080e4a1ee1ed960b 00000009
gba.input.builtin.gamepad.left joystick 080e4a1ee1ed960b 0000c004
gba.input.builtin.gamepad.right joystick 080e4a1ee1ed960b 00008004
gba.input.builtin.gamepad.up joystick 080e4a1ee1ed960b 0000c005
gba.input.builtin.gamepad.down joystick 080e4a1ee1ed960b 00008005
こんな感じの設定で動いた。gba.input.builtin.gamepad.b joystick 080e4a1ee1ed960b 00000002
gba.input.builtin.gamepad.select 080e4a1ee1ed960b 00000008
gba.input.builtin.gamepad.shoulder_l joystick 080e4a1ee1ed960b 00000004
gba.input.builtin.gamepad.shoulder_r joystick 080e4a1ee1ed960b 00000005
gba.input.builtin.gamepad.start joystick 080e4a1ee1ed960b 00000009
gba.input.builtin.gamepad.left joystick 080e4a1ee1ed960b 0000c004
gba.input.builtin.gamepad.right joystick 080e4a1ee1ed960b 00008004
gba.input.builtin.gamepad.up joystick 080e4a1ee1ed960b 0000c005
gba.input.builtin.gamepad.down joystick 080e4a1ee1ed960b 00008005
エミュ入れる前にKDEのシステム設定でジョイスティック試したが、KDE入れるだけでjoystickのドライバとかは入れないで平気ぽい。
gba.input.builtin.gamepad.a
ならGBAのAボタン設定ってことだが、スペース空けて、
joystick [Unique ID] [ボタン設定]
Unique IDは起動時に出力されるやつ。
ボタン設定はデジタルパッド(通常ボタン)なら16進8桁でボタン番号そのまま。
KDEのシステム設定のJyoistickテストだとボタン番号は1から表示されるが、0からなんで-1する。
16進だから11番目のボタンはaになる。
17個以上ボタンあるなら2桁になると思われる。
難しかったのは、アナログ(方向キー)の設定。
デジタルパッドと同じように軸番号を末尾に書いて、+方向なら0xc000で-方向なら0x8000になるぽい。
Mednafenは、
Atari Lynx [lynx]
GameBoy (Color) [gb]
GameBoy Advance [gba]
Neo Geo Pocket (Color) [ngp]
Nintendo Entertainment System/Famicom [nes]
PC Engine (CD)/TurboGrafx 16 (CD)/SuperGrafx [pce]
PC Engine (CD)/TurboGrafx 16 (CD)/SuperGrafx [pce_fast]
PC-FX [pcfx]
Sega Game Gear [gg]
Sega Genesis/MegaDrive [md]
Sega Master System [sms]
Sony PlayStation [psx]
Super Nintendo Entertainment System/Super Famicom [snes]
Virtual Boy [vb]
WonderSwan [wswan]
に対応してるらしい。GameBoy (Color) [gb]
GameBoy Advance [gba]
Neo Geo Pocket (Color) [ngp]
Nintendo Entertainment System/Famicom [nes]
PC Engine (CD)/TurboGrafx 16 (CD)/SuperGrafx [pce]
PC Engine (CD)/TurboGrafx 16 (CD)/SuperGrafx [pce_fast]
PC-FX [pcfx]
Sega Game Gear [gg]
Sega Genesis/MegaDrive [md]
Sega Master System [sms]
Sony PlayStation [psx]
Super Nintendo Entertainment System/Super Famicom [snes]
Virtual Boy [vb]
WonderSwan [wswan]
物理CD対応してるって書いてあるからPlayStationなんかは簡単に遊べそうだね。
PC EngineとかPC-FXのCDはさすがに中古屋置いてないかな?w
サターンは残念ながら無いね。サターンならyabauseがリポジトリ入ってたからそっちで。
と思ったけど、GUIないのにどうやって物理CD渡すんだ?
/dev直渡しで動くんかな?
イジェクトの説明も書いてないような・・・