セガサターン コントローラーで可変連射ユニットの製作


以前、セガサターン用の可変連射付きコントローラーを製作しましたが、やはり純正ゲームパッドのほうがプレイし易いので可変連射機能を外部ユニット化することにしました。


セガサターン本体とコントローラーの間にユニットを入れるので、延長ケーブルをカットして使います。


最初はSTM32F103C6T6を使ったのですが、前回のコントローラーの製作でも失敗してたので今回も失敗してしまいました。
結局、STM32F401を使いました。


仕様としては
・セガサターンコントローラーからの入力を行いつつ、セガサターンからの操作要求に割り込みで返す
・スイッチでXYZ-ABC/連射ABC-ABCにモード切り替え
・連射モードではX/Y/Zが押されたらA/B/Cを連射
・連射モード時、連射速度をL/Rで調整可能
・デフォルトの連射速度は秒間15回で、秒間30回まで調整可能
・連射速度はソフトウェアによる制御(前回のコントローラー時は可変抵抗とADコンバータで制御)
理論的に1フレーム分の操作遅延が発生しますが、どうせ液晶を使っていますので画面自体が1フレーム以上遅延しているので気にしないことにします。
ハイパーオリンピック2の重量挙げ SUPER HEAVY クラスでは、秒間15回連射では遅すぎたのでもっと速くする必要がありました。


セガサターン本体側のコントローラーの仕様を忘れていたので、結構製作に苦労しました。
特に、セガサターン本体とコントローラーの制御を同時に行うのが難しかったですね。


実はコナミアンティークスMSXコレクションを余りプレイしていません。純正コントローラーで連射できるようになったのでそろそろ真面目にプレイしようかな


今回気づいたのですが、以前製作したセガサターン用VGA出力(SCARD変換)がブラックアウトするようになりました。
かと思えば全く問題なく映るようになったりと、原因がさっぱり分かりません。


segasaturn-rapid

戻る