レトロでハードな物語

レトロなゲーム機・マイコン・中古デバイスなどをArduinoやAVRで再活用する方法を模索しています。

ArduinoでPlaystation Classicのコントローラーを作る 続き

2020年03月28日 | 電子工作

前回の続きです。

まず、Playstation2のマルチタップを分解します。コネクタや基板が中にギッチリ詰まっているので大変ですが、なんとかコネクタ部分を取り出しました。2つのコネクタが1つになっています。



コネクタ裏に半田付けされている基板を半田ごてで丁寧に剥がし、樹脂を中心から2つに切り離しました。



ここまで結構手間がかかりましたが、あとはPro Microと接続するためのピンソケットをコネクタ裏の端子につなぐだけです。



メモリカードのコネクタは今回使用しませんが、将来Pocketstationで使うかもしれないので一応ピンソケットをつけておきました。以上でコネクタの加工は終了です。

これをPro Microに接続します。接続端子は以下のようにしました。

PSコネクタ
976 543 21
ロロロ ロロロ ロロ  メモリカード
・・・ ・・・ ・・・ PADコネクタ
987 654 321

PADコネクタ ←→ Pro Micro
1 ←→ 14
2 ←→ 16
4 ←→ GND
5 ←→ VCC
6 ←→ 10
7 ←→ 15

Pro MicroのピンはSPIでコントローラーと通信しようと思って上記のようにしたのですが、上手く通信できなかったので自前の通信ルーチンを使っています。昔マルチタップを接続したときも同様でした。そんな訳で、Pro Microのピンは変更しても構いません。

スケッチは以下のようにしました。

PlaystationXinput.ino

このスケッチでは、Playstationのデジタルパッドとアナログパッド(デジタル・アナログのスイッチ切り替え可能)、ネジコンに対応しています。



XInputライブラリは接続するコントローラーをXbox360としてエミュレートするので、ボタンの特殊なネジコンを使うには少し工夫が必要です。ネジコンのボタンの内3つはアナログとなっているのですが、今回はねじり部分だけアナログにして、アナログボタンはデジタルボタンに見えるようにしました。
また、ネジコンにはSELECTボタンがないので、ゲーム中にRetroArchのメニューを表示するSTART+SELECTが使えません。キーを変更することも出来ますが、たまたま(昔いろんな検証に使っていた)7ピンにタクトスイッチをつなげてあったので、これを押したときにSTART+SELECTを出力するようにしました。この機能が必要ないときは、スケッチに記述してある#define OPTIONをコメントアウトしてください。

残念ながらPlaystation Classic内臓のR4 RIDGE RACER TYPE 4では、ネジコンをアナログコントローラーとして使うことができませんでした。RetroArchのアナログ入力をデジタル入力に変換してくれる機能を使えば、ネジコンを使って操作することはできます。
たまたま所有していたRAGE RACERがネジコン対応だったので、確認のためにRetroArchに追加して試してみたところ、こちらはネジコンをちゃんとアナログコントローラーとして使用することができました。



これらのゲームでネジコンを使うときはRetroArchの設定が必要です。

●R4 RIDGE RACER TYPE 4
1. ゲームを起動後、RetroArchのメニューを表示する(START+SELECTの代替方法を用意していることが前提)
2. 十字キーでメニューから「オプション」を選ぶ
3. 「Pad1 Type」の項目で「standard」を選ぶ
4. 一つ前のメニューに戻り、十字キーでメニューから「コントロール」を選ぶ
5. 「ユーザー1アナログのデジタル化のタイプ」の項目で「左のアナログ」を選ぶ
6. ゲームを再起動する

●RAGE RACER
1. ゲームを起動後、RetroArchのメニューを表示する(START+SELECTの代替方法を用意していることが前提)
2. 十字キーでメニューから「オプション」を選ぶ
3. 「Pad1 Type」の項目で「negcon」を選ぶ
4. 一つ前のメニューに戻り、十字キーでメニューから「コントロール」を選ぶ
5. 「ユーザー1アナログのデジタル化のタイプ」の項目で「無し」を選ぶ
6. ゲームを再起動する

しかしながら、ネジコンを使うときにひとつ問題があります。ネジコンをPlaystation ClassicのRetroArch起動前から接続しておくと、コントローラーの入力が効かなくなってしまうのです(PS標準のコントローラーでは発生しません)。ウェイトなどでこの問題を回避しようとしたのですが、今のところ上手く行っていません。

RetroArchの画面が表示されてからネジコン(がつながったPro Micro)を接続すると問題なく使用できるので、今はこの方法で回避しています。



とりあえずPlaystation Classicでアナログコントローラーが使えるようになり、内蔵ゲームの操作性が格段によくなりました。長いこと寝かせていた手持ちのPlaystationゲームも、久々に起動して快適に遊ぶことが出来ました。
PlaystationだけでなくRetroArchで動作するエミュレーターはたくさんあるので、まだまだPlaystation Classicで楽しめそうです。



最新の画像もっと見る

コメントを投稿