各エミュレータのジョイスティック対応状況 その1
テクノウの掲示板の方で、ぴろさんからいくつかエミュレータのジョイスティックの対応状況について教えて頂きました。
さらに znester と snes9x も joystick 対応させてみたとのことでしたんで、まとめて動作検証を行ってみることにします(笑)。
なお、検証は全て SL-C3000 + USB 接続のジョイパッド(拙作 joyenabler を使用)で行っています。
znester-joy ( FC エミュレータ)
ぴろさんのページでバイナリが公開されています。(*注 パッケージ化はされていません)
動作にあたっては、同サイトにて公開されている libSDL-bvdd が必要となります。
阿川さんの libSDL でも動作しますが、かなり動作が重くなり、余り実用的とは言えません。
snes9x-joy ( SFC エミュレータ)
ぴろさんのページでバイナリが公開されています。(*注 パッケージ化はされていません)
znester-joy と同じく、 libSDL-bvdd が必要です。
阿川さんの libSDL では画面がブラックアウトしてしまいました(^^;)。
・ジョイスティックの設定
起動時に -j オプションを付加することで、動作する筈なんですが・・・、
snes9x -j
・・・ハマリ中(^^;)。
ちと今、手元に SNES(SFC) の ROM イメージが無かったもんで、テクノウでも紹介されている PDROMS.com から落としてきたフリーの ROM で試してみたんですが、ことごとく玉砕しました。
実際、 znester-joy でもゲームによって、動いたり動かなかったりするので、ゲームによっては動くのかもしれませんが(汗)。
*2005/06/13追記
あれから、いくつかのROMイメージを取っ替え引っ換えしてみたところ、いくつかのゲームで動作するのを確認しました。
znester-joyの動作と合わせ、dgen由来のjoystickのコードは、どうも動かすROMイメージにかなり左右されるみたいですね。
dgen (メガドライブエミュレータ)
ぴろさんのページで bvdd 対応版のバイナリが公開されています。
snes9x 、 znester と同じく、 libSDL-bvdd が必要です。
VisualBoyAdvance ( GBA/GB エミュレータ)
.end さんのページで、パッケージが公開されています。
動作には、他のエミュレータと同様 libSDL が必要です。
また、ぴろさんのページでは bvdd での描画に対応したバイナリが公開されています。
バイナリのみで動作させた場合、以下で設定する cfg ファイルを読み込めなかったりする事がありましたので、ぴろさんの bvdd 版を動作させる場合でも、一旦 .end さんのパッケージをインストールした後、バイナリのみを差し替える形にした方が、不具合が出難いようです。
・ジョイスティックの設定
VisualBoyAdvance では、コマンドラインオプションではなく、設定ファイル(デフォルトでは /home/QtPalmtop/bin/VisualBoyAdvance.cfg )で、各キーをジョイスティックのボタンに割り当てることで動作します。
ジョイスティックの各ボタンのキーコードは以下の通りです。
# dev/js0 方向キー(Axes) 右 ・・・ 1001 左 ・・・ 1000 上 ・・・ 1002 下 ・・・ 1003 ボタン(Buttuns) 1080 ・・・ ボタン1 1081 ・・・ ボタン2 1082 ・・・ ボタン3 1083 ・・・ ボタン4 1084 ・・・ ボタン5 1085 ・・・ ボタン6 1086 ・・・ ボタン7 1087 ・・・ ボタン8
例えば、上下左右をジョイスティックの各方向へ。 AB ボタンを、ジョイスティックのボタン1、2 に割り当てる場合、以下のように記述します。
Joy0_Left=1000 Joy0_Right=1001 Joy0_Up=1002 Joy0_Down=1003 Joy0_A=1080 Joy0_B=1081
なお、同一ボタンを複数のキーに割り当てることは出来ません。そのため、キーボードとジョイスティックは必然的に排他利用となります。
上記の設定を行うことで、 VisualBoyAdvance でもジョイスティックが動作します。
いくつかのゲームで動作を確認した限りでは、特に問題無く動作しているようです。