メガドライブ用自作カートリッジ基板でセガタップを入力する実験
メガドライブ用の自作カートリッジ基板でゲームを作ろうと思うのですが、まずはセガタップを読み取る実験から始めてみました。
4つゲームパッドを読み取ることは一応、成功しましたが、突然処理落ちしたりするので余裕を持ってゲームを作れません。エミュレータでデバッグしていると、実機と挙動が違うことが多々あります。
前回製作したメガドラ用6ボタンパッドをセガタップに挿し込もうとしたら、端子が奥にありすぎて入らないことが判明しました。コネクタの金属部分をペンチで曲げただけでは足りません。
ATARI仕様ジョイスティックの延長ケーブルを付ければ解決できるのですが、最近だとどこにも売ってません。
そこで挿し込むことができるようにするアダプタを作ります。
秋月で50円で売ってる基板取り付け用のDsub9pinコネクタ(メス型)を分解します。ねじを回すだけで、分解できます。
端子に入るようにニッパーで小さく切断します。
端子を90度曲げて、反対側にオス型のDsub9pinコネクタを取り付けます。
これで完成です。
挿し込むとこうなります。端子部分は露出していると不安なので、ホットボンドで固めました。
セガタップに限らず、PC-6001シリーズやMSXでもジョイスティック端子は奥に付いていますので、このアダプタが活用できると思います。
(2020/12/28追記)ここまで書いておいてなんですが、ゲームコントローラ用の延長ケーブルを切断したほうが見た目がよさそうですね。AliExpressで「genesis cable」とかで検索すると出てきます。
メガドライブ(ミニじゃない)用の6ボタンパッドを自作してみました。
こちらで回路図とプログラムを公開しています。
メガドライブのゲームパッドは今でもサードパーティから発売されていますので、自作する必要は全くないのですが、前回作った「スーファミパッド→メガドラ変換アダプタ」が6ボタンパッドとして認識されなかったのが心残りだったので作りました。
今回はきちんと6ボタンパッドとして認識されます。
ボタンを取り外した状態の基板です。ボタンの情報をコード化してメガドラに送信しますので、エンコーダと呼んでいます。
3ボタンパッドの場合は回路がIC1個で済んでいたのですが、6ボタンパッドの場合は通信方式が複雑なのでマイコンが必要になります。
レバーとボタンを接続した様子です。SGDKのサンプルプログラムの「joytest」を実行するとこうなります。「6 button」と認識されています。成功です。
「joytest」特有の仕様なのかどうかわかりませんが、一定時間内にメガドラと通信を行わないとメガドラからSEL信号が出力されなくなってしまいます。そのため、立ち上がりに時間のかかるArduinoを使うことができません。一応、メガドラの電源をオンにして、少し待ってからメガドラのリセットを押せば解決できると思います。
この回路はエンコーダとボタン類を分離できます。ボタン側の回路を「コントロールボックス」と呼んでいます。回路は非常にシンプルで、ボタンを押すとGNDにショートするだけです。このため、容易にアタリ仕様に変換できます。
レバーは秋月で購入しました。ボタンは千石電商で購入しています。
コントロールボックスをエンコーダから切り離して、前回作ったスーファミ用パッドのデコーダを接続すると、こうなります。
「joytest」の実行結果です。
前回は3ボタンパッドだった都合上、L/R/Y/SELECTボタンは検出できませんでしたが、今回はすべてのボタンを検出できます。たとえば、SELECTボタンと押すと、MODEボタンが反応しました。
機種間の違いが悩むところです。X→Cボタン、Y→Xボタンに割り振ってしまったので、わけがわからなくなってしまいました。ボタンの配置はファームウェアを書き換えることで自由に変更することができます。
日経ソフトウエア2020年1月号でRoboMaster S1とプチコン4の記事を書かせて頂きました。
RoboMaster S1の記事は書くにあたって、DJIさんから実機を貸して頂きました。カメラで画像認識ができたり、Pythonでコードが書けて動かすことができたり、とにかく高性能で驚きました。日経BPさんの会議室で撮りましたが、ゲル弾が速すぎて写真にうまく撮れなかったのが惜しいところです。ゲル弾は大量に余りました。
プチコン4の連載が始まりました。プチコンmkII、プチコン3号と連載を続けてきましたが、今回初めての試みとして、公開キーを誌面に載せるようになりました。打ち込まないでネットからダウンロードするだけで済むようになってます。
日経ソフトウエア2020年1月号「プチコン4入門1」掲載プログラム
ついでに、スマイルブームさんのプチコン4の紹介映像をご紹介。
ミニじゃないメガドライブにスーパーファミコンのゲーム パッドを接続するアダプタを作ってみました。
メガドラの3ボタンパッドに入っているのが「74HC157」です。千石電商で70円で売ってます。
こちらに回路図を公開しました。
https://sites.google.com/site/yugenkaisyanico/connect-sfc-gamepad-to-md