昔のゲーム用コントローラでメガドライブミニを楽しみたい その5
PCエンジン用パッドをメガドライブミニに接続(2020/4/28 - 4/30)

戻る

1.PCエンジン/SuperGrafxコントローラー情報

PCエンジンには標準パッドに加え、3ボタンパッドや6ボタンパッドがありますが、後期に
販売された6ボタンパッドは、特定ゲームのみサポートと言うこともあり、解析情報がなかなか
見つからず・・。ようやく、下記まとめサイト(TechWiki)を発見し、パッドの回路図から
ロジックを読み取って制御手順を理解しました。

(1)NEC PC Engine - Tech Wiki
 貴重な情報満載です。特に6ボタンパッドの回路図は必見です。

(2)TurboGrafx/Duo/PC-Engine Controller Data
 こちらも貴重な情報が満載です。というかこちらを先に読めば良かった・・

○端子ピン情報



2.PCエンジンパッド状態読み出し手順

○3B/6Bパッド読み取り方法
/Enable信号=L、Select信号をHI/LOWに切り替えて、D0縲廛3の信号を読み取る方式です。

6Bパッドは持っていないので動作確認はできていませんが、回路図を見る限り、連射制御と
同じICを使い、/Enable信号のHI/LOW毎に標準的な3B用ボタン読出しと6B用追加ボタンの
読出しを切替える制御のようです。
/Enable信号の制御が追加されている以外は、メガドライブコントローラーの制御と似ていますね。


3.PCエンジンパッド→USB 変換器の作成

〇追加で購入したもの
 ・miniDIN8pin基板ソケット(8a)
 ・配線用の線材少々

○配線図
PCエンジンパッド変換器の配線図です。

他機種のパッドと併用できるよう、メガドライブ用およびプレイステーション用に利用している
信号線を避けて配線しています。
また、PinF一回で読み取れるように、Pro Micro側のPFポートにパッド側のD0縲廛3を割り付ける
配置にしています。(ATmega 32U4搭載機種専用スケッチになりますが)


4.PCエンジンパッド接続用スケッチ

PCエンジン対応のスケッチです。考えなしで対応機種を増やしてたら処理が複雑化したので共通処理にまとめてます。

スケッチファイルのコピーなどの利用はこちらからどうぞ)

VID/PIDについては(1)と(2)をコンパイルスイッチ「__IF_SEGA」で切り替えられるようにしています。
VID/PIDの変更に合わせて、コンパイルスイッチ「__IF_SEGA」を適切に設定してください。
元のVID/PID(1)SEGA純正パッドを模擬する場合(2)DragonRise製パッドを模擬する場合
leonardo.build.vid=0x2341leonardo.build.vid=0x0CA3leonardo.build.vid=0x0079
leonardo.build.pid=0x8036leonardo.build.pid=0x0024leonardo.build.pid=0x0011
また、方向キーが入りっぱなしになる不具合対策用コンパイルスイッチ「__BugFix」も用意しました。
該当の現象が発生する場合に有効にするようにしてください。(スケッチでは有効化しています)

○各機種別 操作ボタン割付
ボタンが全く同一なメガドライブ(6B)と、方向キーについてはどの機種にもあるので表記を省略しています。

プレイステーションのコントローラについてはボタン数が足りているので、HORI製パッド準拠で概ね
メガドライブ6Bパッドとボタン位置を合わせています。

悩んだのがPCエンジンパッド(特にSELECTボタン)のボタン割付です。PCエンジンの3ボタンパッドは
3ボタンと言いつつ「III」はRUNまたはSELECTと共有なため、「III」をメガドラ6Bパッドの「A」に割り
付けてしまうと、SELECT(またはRUN)が使えず、メガドラ6Bの「MODE」相当のボタンが足りないことに・・

と言いつつ
よく考えたら「MODE」問題はメガドラ標準3Bパッドでも生じますし、「MODE」が無いパッドについては
メガドライブミニ本体側のリセットボタンを押せば良いだけなので、まずは「III」をSELECT指定にして
「A」ボタンに割当てるようにしています。今のところこのボタン割付で違和感は無いです(個人の感想)。

○スケッチの書き込み/動作確認
Arduino IDEで「ファイル」→「新規ファイル」で新規スケッチを開いて、上記のスケッチを全て貼り付けます。

マイコンが認識していることを確認したら、「マイコンボードに書き込む」をクリックしてコンパイル・書き込みを実行します。


4.制作例

こんな感じで組んでみました。(クリックで拡大)

他機種のコントローラーと併用できるよう、残っていたProMicroのピンに配線を追加しています。
(当初の目論見通り3機種変換を1個のProMicroで実装できました)
制作はminiDIN8pinソケットとProMicro側のピンを結線するだけなので、難しくなかったのですが
動作させるのに思ったより苦労しました。

メガドライブと似た制御なのですぐに動作すると思っていたら、方向キーしか読めなかったり、
(+5V供給部の不良)特定方向のボタンが聞かなかったり(PCエンジンパッド側のminiDIN端子の
接触不良)で何度も配線をバラして組み直したり、スケッチの処理順をいじったりと中々完全な
動作には至りませんでした。
結局、miniDIN端子を接点復活材やアルコール使って掃除してスッキリ解決。やはり25年の放置は
長かったようです。

苦労はしましたが、大のお気に入りだったTAKERU製「PCブラスター」がメガドライブミニやPCで使える
ようになり感無量です。久しぶりに沙羅曼蛇とかやりたくなってきました。(実機も掘り出そうかな)


まとめ 全部入りを制作(2020/5/10)
戻る