レトロでハードな物語

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

Playstation Classicにヌンチャクコントローラーをつなぐ

2020年04月04日 | 電子工作

これまでPlaystation ClassicにPlaystation純正のゲームコントローラー等をつないできましたが、次はPlaystation以外のコントローラーも試してみたくなりました。そこで今度はWiiのヌンチャクコントローラーをつなげてみようと思います。

ヌンチャクコントローラーは以前に扱った2つのコントローラーをつなげた物を使うことにしました。



配線は前回の物そのままです。


R1 330Ω
R2 10KΩ

ヌンチャクコントローラーはアナログスティックのアナログ値に個体差があって結構ばらつきが大きいので、キャリブレーションが必要です。そこで前回同様キャリブレーション用のスケッチも作成しました。加速度センサーは、ゲームのコントロールには利用しにくいので今回は使いません。

キャリブレーション用のスケッチがこちらになります。

NunchuckCalibration.ino

このスケッチは表示にPro Microのハードウェアシリアルを使用しているので、スケッチではSerial1を使っています。ICSPで書き込んでいてブートローダーによるUSBシリアル変換が使えないのでこうしましたが、ここは環境に合わせて書き換えて下さい。

使い方ですが、Pro Microにスケッチを書き込んだらシリアルターミナルに接続します。そしてヌンチャクコントローラーをつないで起動すると、シリアルターミナルにメッセージが表示されます
ここで4ピンのトランジスタにつながっている方のヌンチャクのCボタンを押してから、アナログスティックを可動範囲いっぱいにグルグル回します。すると検出されたアナログデータがシリアルターミナルに表示されます。
スティックを何度も回しているとデータ表示が変化しなくなりますので、ここでスティックから手を離しZボタンを押します。
このとき一番最後に表示されているX軸の最大値・最小値、Y軸の最大値・最小値と、X軸・Y軸のセンター値をメモしておきます。

さらに、もう片方のヌンチャクでも同様の操作を行い、X軸・Y軸の値をメモしておきます。

次に以下のスケッチにメモした数値を記述します。

NunchuckXinput.ino

このスケッチ前方の#defineのキャリブレーション値を、上記でメモした値で書き換えます。あとはスケッチをPro Microに書き込んで終了です。

ヌンチャクコントローラーは2つ使ってもボタン数が少ないので、Xbox360のボタン全てを割り当てることが出来ません。そこでタクトスイッチでヌンチャクコントローラーのボタン割当を切り替えられるようにしてみました。また、ボタンが切り替わったときにLEDも点灯するようにしました。
タクトスイッチは7ピンにつないであり、割り込みで切り替え処理を行っています。LEDは21ピンにつないでいます。



Playstation ClassicのRetroArchはXbox360コントローラーの左アナログスティックをデシタルの十字キーにすることが出来るので、スケッチで十字キーは割り当てませんでした。4ピンのトランジスタにつながっている方のヌンチャク1は左アナログスティックとよく使うA・Bボタンにし、ヌンチャク2はタクトスイッチ切り替えで、右アナログスティックとSTARTやX・Yボタンなど残りのキーを割り当てるようにしました。
実際に使用してみるとアクションゲーム以外は片手で操作できるので快適ですが、ゲームによってはこのキー配置では使いにくい物もあるので、必要に応じて修正した方がいいでしょう。

○おまけ

過去に扱った他のコントローラーもXinput方式に変更してPlaystation Classicにつないでみました。



同じゲームでもコントローラーを替えると、操作感が変わって結構楽しいですね。操作性については、ゲームによって向き不向きがあってどれが一番いいかは決めかねます。ボタンの数ではPlaystationのアナログコントローラーが一番で、Xbox360のボタンを全て割り当てることが出来ます。でもPlaystationのアナログコントローラーは重いので、長時間の利用には軽いNINTENDO64コントローラーの方が向いているような気がします。こちらはXbox360に比べて若干ボタンが少ないので、ヌンチャクコントローラー同様にタクトスイッチによるボタン切り替え機能で使用してみました。

Playstation Classicにはキーボードやマウスもつなげるので、PC-9801のエミュレータなどもちゃんと使えます。ただしキーボードにはRetroArchのショートカットが色々割り当てられているので(デフォルト設定の場合)、光栄のシミュレーションゲームのようなマウスで操作できるものの方が遊びやすいです。
でもコントローラーにはアクションゲームで使うようなキーが最初から割り当てられていたりします。ヌンチャクコントローラーでPC98のゲームを遊ぶのも新鮮な感じで楽しいです。

まだちゃんと試していませんがX68000エミュレータなどもあり、こちらは実機を持っていなくてもBIOSが無償公開されているので誰でも利用することが出来ます。フリーのソフトも配布されているので、結構遊べそうです。

ちなみにRaspberry PiにLakkaというRetroArchのディストリビューションを入れれば、Playstation Classicと似たような環境を構築することが出来ます。実際に試してみましたが、3Dグラフィック周りの処理はPlaystation Classicの方が優れているような感じです。(Raspberry Pi 3の場合)
Playstation Classicが劣っている点は、メニューは日本語表示できるのにゲームのファイル名に日本語を使用すると文字化けすることくらいですかね。



最新の画像もっと見る

コメントを投稿