XE-1AP互換品の自作(DUALSHOCK2版)

続きです。

nicotakuya.hatenablog.com

「DUALSHOCK2」をメガドライブに接続して、「XE-1AP」として認識させる装置です。パッド変換器と言ったほうが早いかもしれません。

XE-1APが中古で高額販売されていて、腹が立ったので自作しました。

こちらで回路図とソースを公開中です。 

sites.google.com

 

f:id:nicotakuya:20210111225200j:plain

プレステ2用パッド(DUALSHOCK2)をXE-1APに偽装する

前回作った「DIY AnalogPad」は操作しづらいという致命的な欠点がありましたので、今度は操作性に優れたDUALSHOCK2(PlayStation2用パッド)を使うことにしました。DUALSHOCK2は安くて入手しやすいです。初代プレステ用アナログコントローラとか初代DUALSHOCKでも大丈夫だと思います。

f:id:nicotakuya:20210112122111j:plain

回路がシンプルになりました

これによって、ブレッドボード上のアナログスティックとボタンが不要になり、580円ほどコストダウンできました。ATmega328搭載Arduinoやプレステパッド用コネクタをうまく入手できれば、1000円未満で自作できると思います。ポートは半分も使っていないので、ATtinyに移植してもいいですね。

 

f:id:nicotakuya:20210112214228j:plain

padtestの実行結果

プログラム内にpadtestというデバッグ用の関数を入れておきました。これを呼び出すと、DUALSHOCK2との通信結果をシリアルポートに出力します。1回あたりの通信で9バイトのデータをやり取ります。

2バイト目が0x73だと、アナログモードです。

4~5バイト目がボタンの状態です。

6~9バイト目が2本のアナログスティックの位置です。

 

f:id:nicotakuya:20210111225510j:plain

MD版アフターバーナーII説明書より

ボタンの割り振りはXE-1APにできるだけ似せました。アフターバーナーIIで動作チェックしました。

・R1→A(ミサイル)

・R2→B(バルカン砲)

・L1→C

・L2→D

・SELECT→SELECT

・START→START

・右スティックY→スロットル(スピード)

・右スティックX→未使用

・左スティックX&Y→スティックX&Y(上下左右移動)

 

f:id:nicotakuya:20210111230720j:plain

アナログパッドモードで動作テスト

CとDボタンも割り当ててみましたが、この動作テスト時しか確認できません。ゲームプレイ中には押しても意味ないんですよね。

 


DIY AnalogPad(DUALSHOCK2 Version)

 

これで、XE-1APと同じような操作感が得られるようになりました。

好みの問題だと思いますが、バルカンとミサイルはL1/L2とかに割り振った方が使いやすいかもしません。R2のモゴっとした押し心地が苦手な場合は丸ボタンかバツボタンのほうがいいかも。

ソースを修正するだけで、ボタンの割り付けは簡単にカスタマイズできます。

 

nicotakuya.hatenablog.com

nicotakuya.hatenablog.com