万能パッド変換器の自作プロジェクト、完結編

万能パッド変換器を自作しようというプロジェクト「Multiway pad converter」。100%趣味のプロジェクトです。

今までの成果をまとめた動画がこちらです。

www.youtube.com

 

ソースと回路図はこちら。

github.com

 

基板は出来ましたが、出来が物凄いイマイチなので、ベータ版ということにしています。

思えば、XE-1APがハードオフで10450円で売っていた事に腹を立ててスタートしたプロジェクトですが、気が付いたら、その3倍以上のお金を使ってしまいました。動作チェックのためにPCエンジンマウスとかゲームソフトを買って、ムダ使いしすぎです。

 

最近、「メガドライブミニ2」が発表されて、CyberStickやXE-1APの注目度が高まっています。ここのブログも瞬間的にアクセス数が3倍くらい増えました

XE-1APは発売から既に32年が経過していますが、「CyberStickと互換性がある」という重要なセールスポイントがいまだに伝わっていない気がします。会社が違うので当然ですが、、、。XE-1APが売れたせいで、CyberStickが売れなくなったらマズい気がします。

XE-1APはPCモード以外にMDモードを搭載しているので、対応機種はCyberStickより上です。優れた性能に反して、見た目でイジられるだけのパターンが多くて、非常にもったいない。

 

XE-1AP(PCモード)がCyberStickと互換性がある、ということを確認するため、XE-1AP用ソフトを使ってCyberStickを読み取ってみました。使用ソフトはベーマガ1990年10月号のXE-1AP特集に掲載されているMSX用テストプログラムです。頑張って打ち込みました。記事にはこの他、PC-8801用とX68000用のプログラムも掲載されています。

写真だとわかりにくいですが、実行すると、画面にアナログスティックのレバーの値が00~FFの範囲で表示されます。

これで両者に互換性があると、ご理解頂けたでしょうか。


パッド変換器の開発中のエピソードですが、先のテストプログラムを実行すると値が全部「00」になってしまうという不具合がありました。XE-1AP/CyberStickの挙動を再現できていなかったわけです。

不具合の原因がどう考えてもわからないので、上の写真のようにパソコンとCyberStickの接続をバイパスして、通信データをOLEDに描画してみました。

 

描画した結果がこちら。衝撃の事実。

ACKが12回出てました。11回のはずでは、、、?

 

ベーマガ1990年10月号を読み直してみたのですが、データ転送の回数が「11回」と書かれてるだけ。ACKの回数については、どこにも書かれていませんでした。MDモードが丸ごと載っていなかったり、記事の不備が多すぎる。

過去に自分が作ったXE-1AP互換品のプログラムはACKを11回しか送っていなかったのですが、なぜか奇跡的に動いていたようです。1年半、このミスに気が付きませんでした。

今後、過去の資料とプログラムは直していきます。

 

ACKを12回に直したら思わぬ副作用が起きたのですが、試行錯誤の結果、やっとMSX用テストプログラムが動作するようになりました。

このテストプログラムはちょっとクセがあります。通信速度を1/2モードにする信号を発するので、パッド変換器側はそれを受け取って、通信速度を落とす必要があります。MSXなので最速モードは無理だったのでしょうか。正しく信号が来ない場合も対応しないといけなくて、手間がかかりました。

ちなみにアフターバーナーIIはメガドラ版もPCエンジン版も最速モードで通信しています。

 

というわけで、パッド変換器の自作プロジェクトは一旦終了です。次の面白そうなテーマを探しています。