いまさらファミコンジョイスティック

| コメント(3)

前回PICをプログラムして連射回路を作成するテストを行ったが、これはファミコンに手持ちのジョイスティック「XE-1 ST2」を接続するためのものであった。当初はファミコン本体にアタリ仕様のジョイスティックコネクタを増設するつもりだったが、ハードオフでファミコン用のジョイスティックが手に入ったため、これを利用して外付けのコンバータを作成する方針に変更した。

famren201.jpg

捕獲したのはアスキースティックL5。ハードオフでジャンク扱い315円だった。これはRPGを攻略本を見ながら片手で遊ぶために開発されたものらしいが、それ以外の用途に使う分には操作性は微妙らしく、ファミコン末期にはゴミみたいな値段で投げ売られていたという話もある。コントローラのレビューサイトを見ると、操作性については賛否両論のようだ。今回捕獲した個体のガワはセロテープの糊でベトベトになっていたが、欲しいのは内部のICとコネクタだけなので気にしない。

famren202.jpg

中を開けてみると、ボタン入力のパラレル信号をシリアル信号に変換するIC「4021」と集合抵抗が入っていた。集合抵抗で4021の各入力ピンがプルアップされており、せっかくなので基板を切り取って活用することにした。

famren203.jpg

変換アダプタのケースは以前に観賞魚用サーモスタットを製作したときにバラして使ったACアダプタのケースを流用することにした。この中にピッタリ納まるサイズで基板を切り出し、その際切断されたパターンはスズメッキ線で補修しておいた。

PICは前回12F509を使ったが、今回は12F629を使うことにした。12F629は値段が安いだけでなく高機能化されており、プログラムにより入力ピンをプルアップすることもできるため、外付け部品を減らせるメリットもある。12F509同様に内部発振できるので外付けのオシレータも不要。

今回のアセンブラソースはこちら(HEXファイルはこちら)。基本は12F509で作ったソースの流用だが、12F629は機能アップした分の設定が必要となる。具体的にはコンパレータの無効化やプルアップ抵抗の設定等の初期設定ルーチンの変更をした。このあたりはPICの方言みたいなものなので、その都度調べて書き直す必要がある。

atarifam.PNG

今回入出力ピンの設定は、4021のトリガ入力ピンの配列に合わせてアサインを変更している。4021の裏側にPICを貼り付けて配線を極力減らすためだ。変更後の回路図はこのようになった。トリガBに割り当てたGP3だけは内部プルアップができない仕様なので、GP5のトリガAと共に外付け抵抗でプルアップしている。

尚、スタート、セレクトボタンは必要に応じて本体の1コンのボタンを使う仕様。どうしても必要であれば、4021の13p,14pをGNDに落とすプッシュスイッチを付ければよい。


famren204.jpg

組み込んだ様子はこちら。Dサブコネクタ、中点OFFの6pスイッチ、4021基板を詰め込んだらギチギチになった。Dサブコネクタはケースにルーターで溝を掘ってはめ込んでいる。PICの1,3,7pを直接4021の裏側に半田付けするようになっている。ちなみにこの画像ではPICの5p,6pが抵抗でプルアップされているがこれは内部プルアップをしていない旧バージョンのプログラムで作ったため。

famren205.jpg

完成。画像では分かりにくいが、例によって6pの中点OFFスイッチを利用することで、連射OFF、秒間10連射、20連射の切り替えができる。
famren206.jpg

アタリ仕様のジョイスティック「XE-1 ST2」を繋げてみた。これは15年くらい前にハムフェアの電波新聞社ブースで入手したものだ(たぶん不良在庫処分品)。使ってみたところ、ゼビウスで20連射はオーバースペックのようでうまくシンクロしなかったが、スターフォースの20連射は問題なし。連射が必要な局面でのボーナスが楽勝で取れるようになった。

famren207.jpg

ちなみにXE-1 ST2はメガドライブで使える「SEGA SERIESモード」を持っており、このモードだとスタートボタンが使えるようになる。なぜかメガドラにないはずのセレクトボタンもあるので(どういう仕様なのかよく分からないが)、これらを活用してファミコンに繋げられればさらに便利になりそうな気がする。気が向いたらPICを張り替えてバージョンアップするかも。

コメント(3)

完成させたんですね 僕は、ファイティングスティックNEOにメガドライブ3Bパットを入れたの を完成させました。
初めまして ここまでコンパクトに纏めたものは初めて見ました。 自作品は奇麗でなくては。 昔アスキースティックL5を2個買って 1つはL5をアタリ仕様Dsub-9ピン出力に 1つはL5活かしたまま、L5の下部にDsub-9コネクタを付ける 改造を施しました。 まだジョイスティックとボタンの部品が余っているので ジョイスティック用のケースを自作したいと思います。
コンパクト化を実現できたのはPICのおかげです。L5を改造したデバイスをお持ちなら今回のPICプログラムを使えば簡単に連射アダプタ化できますので良かったら使ってみてください。連射速度の調整も簡単で、例えば高速側を16連射にする場合は、25ミリ秒待つルーチンのMOVLW 19HをMOVLW 1FH に書き換えればOKです。

コメントする

にがHP(母屋)

このブログ記事について

このページは、にがが2011年1月14日 00:50に書いたブログ記事です。

ひとつ前のブログ記事は「いまさら連射回路とPIC」です。

次のブログ記事は「復活!FX-702P」です。

最近のコンテンツはインデックスページで見られます。過去に書かれたものはアーカイブのページで見られます。

ウェブページ

Powered by Movable Type 5.04