レトロでハードな物語

レトロなゲーム機・マイコン・中古デバイスなどをArduinoやAVRで再活用する方法を模索しています。

レトロアーケードを改造して隠しゲームを遊べるようにする その2

2020年09月13日 | 電子工作

前回でレトロアーケードの改造が終わったので、次は引き出したコントローラー端子にジョイスティックをつないでみます。ファミコンゲームを遊ぶので、ジョイスティックもファミコンのものをつなげてみましょう。



レトロアーケードのコントローラー端子は5Vにプルアップ(多分)されていて、これをGNDに短絡することでボタンが押されたことを検出しています。なのでArduinoやAVR、PICなどで制御するのは簡単そうです。
今回はまだ沢山残っているPICの中からPIC16F648Aを使ってみることにしました。単純なデジタル入出力しか使わないので、他のPICやAVRなどでも簡単に実現できると思います。

引き出したコントローラーの端子とGNDの間に流れる電流を計測してみると0.1mAほどでした。PIC16F648Aのピンに流せる最大電流は20mAなので、PICのピンに直結しても問題なさそうです。

配線は簡単です。
ファミコンジョイスティックの端子は以下のようにPICにつなぎました。

ジョイスティック←→PIC
2 DATA  − RA4
3 LATCH − RA3
4 CLOCK − RA2
6 VCC   − VDD
8 GND   − VSS

レトロアーケードのコントローラー端子は以下のようにつなぎました。

レトロアーケード←→PIC
UP    − RB0
RIGHT − RB1
LEFT  − RB2
DOWN  − RB3
RESET − RB4
START − RB5
A     − RB6
B     − RB7
GND   − VSS
VCC   − VDD

PICのプログラムはこちらです。

newmain.c

さっそくジョイスティックをつなげたPICとレトロアーケードを接続してみると、レトロアーケードの電源ボタンを押していないのに通電してゲームが起動してしまいました。5V電源を引き出した端子がよくなかったようで、電源スイッチと関係なく常に5Vが出力されていました。
PICをつなげたまま電源スイッチをオンオフさせていると動作が不安定になることがありましたが、電源ボタンをオンのままにして給電すれば問題なく動作するようです。配線し直すのも面倒なのでこのまま使うことにしました。動作確認は5V2AのACアダプターで行っていて、電池を使っての確認はしていません。

肝心のコントローラーの方はちゃんと動作します。やっぱりレトロアーケード本体のコントローラーよりも遊びやすいですね。




ABボタンが使えるようになり、「ローリングサンダー」のキャラクターをジャンプさせることが出来るようになりました。



また、昔ハードオフで購入したファミコン互換機のコントローラーでも、きちんと動作するのを確認しました。こちらは連射機能があるので「ギャラガ」で遊ぶときにとっても便利です。



動作に問題なさそうだったので、最後にPIC等を基板にハンダ付けします。PICの電源ピンには0.1μFのパスコンをMCLRピンには10kΩのプルアップ抵抗が付けてあります。(念の為)



レトロアーケードは5V動作なのですが、電圧を3.3Vにレベル変換すればPlaystationとかヌンチャクコントローラーとか自分の好きなコントローラーをつなげて遊ぶことが出来ますね。

おまけ

昔ハードオフで購入したファミコン互換機ファミレーターのパッドです。



使いやすくてPCやゲーム機につないで利用していたのですが、いつの間にか壊れて使えなくなっていました。このまま捨ててしまうのはもったいないので、ボタンの配線を基板から引き出してレトロアーケードにつなげてみました。



単純なスイッチのオンオフだけのデバイスになっているので、上記のような電源問題もなくきちんと動作します。ただし、連射機能は無くなっていますし、接続先もないので連射ボタンはただの飾りです。



最新の画像もっと見る

コメントを投稿