PCエンジン用ゲームパッド・モジュールの自作

f:id:nicotakuya:20210622120632j:plain

PCエンジンゲームパッド・モジュール

 (miniではない)PCエンジン用のゲームパッドを自作してみました。ゲームパッドの形状をしていないので、正確にはゲームパッド・モジュールです。

PCエンジンゲームパッドは中古で2000円くらいで売っているので、自作のメリットはないと思いますが、作りたかったので作ってみました。

 

f:id:nicotakuya:20210622120856j:plain

純正ゲームパッド

まず最初に仕組みを調べるため、純正のゲームパッドを分解します。

この時代の製品はメンテしやすいので助かります。

 

f:id:nicotakuya:20210621124724j:plain

内部。基板の部品面(ボタンの反対側)

内部の様子です。メガドライブと同じ「74HC157」が入ってました。発売したのはメガドラより先ですが。

基板の左側に「74HC163」と書かれた空白部分があります。これは気になる。

 

f:id:nicotakuya:20210622120101p:plain

基板のハンダ面(ボタン側)

見たところ、74HC163を付けると、ボタンの連射機能が追加されるようです。なんという親切設計。信号が衝突するので、J701/J702を外す必要があります。あと、速度設定用のスライドスイッチも必要ですね。

f:id:nicotakuya:20210622230131p:plain

回路図

仕組みがわかったので、回路図に書き写してみました。

回路はXHE-3によく似てます。こちらの場合は「~ST」端子が、7番ピンにつながっています。

XHE-3の場合は「~ST」がLowに落ちっぱなしで、7番ピンがDsub9pinの8番ピン(COMMON)につながっている点が違います。

 

f:id:nicotakuya:20210622120028p:plain

CADデータ

基板のCADデータを作ってみました。ボタンを付けず、入力用の端子を出すだけにします。基板の右側にはピンソケットと集合抵抗が付きます。

端子をGNDにつなぐとボタンがオンの状態になります。

「U」「D」「L」「R」が上/下/左/右ボタンです。1、2が Iボタンや IIボタン。

「セ」がSELECT、「ラ」がRUNボタンです。

「G」がGND、「V」がVCC(+5V)です。 

 

f:id:nicotakuya:20210620141144j:plain

プリント基板

プリント基板ができました。

 

f:id:nicotakuya:20210622120503j:plain

完成

組み立てるとこんな感じ。

74HC157は千石電商の地下で売ってます。8pinのミニDINプラグも千石電商で売ってます。

 

f:id:nicotakuya:20210622120632j:plain

コネクタが挿しにくい

ここで問題発生。 ミニDINプラグが太すぎて根本まで入りません。PCエンジン側の穴が小さいです。

しかたないので、プラグの外側のチューブを完全にハメ込まない状態で差し込んでます。

 

f:id:nicotakuya:20210622170329j:plain

PCエンジン用の自作プログラム

ボタンの動作チェックをしないといけないので、PCエンジン用のソフトを自作しました。

ボタンを押すと、それに対応するビットが0→1になります。GitHubで公開中。

https://github.com/nicotakuya/PCE_padtest

 

 

f:id:nicotakuya:20210623134821j:plain

フラッシュメモリに書き込み

ビルドしたら、ROMイメージを自作のメモリカードフラッシュメモリ)に書き込みます。

 

f:id:nicotakuya:20210623120254j:plain

テスト中の様子

PCエンジンの実機で動作テストしている様子です。

この場合、上ボタンの端子をGNDにつないでいるので、「UP」の項目が「1」になってます。

 

f:id:nicotakuya:20210623230503j:plain

ゲームボタンとレバーを接続

ゲーム用のボタンとレバーを付けるとこうなります。使いまわしなので、6ボタンになってますが、つながってるのは2ボタンだけです。

 

f:id:nicotakuya:20210624084945j:plain

XE-1 PROを接続

(2021/6/24追記)
アタリ仕様ジョイスティック(XE-1 PRO)を接続した例です。

  

sites.google.com