2002.9.12

「親指操作なんて嫌いだ!ゲームはテンキーに限る」
オールドPCゲーマー必携のコントローラ

AVRマイコンAT90S4433を使った
プレイステーション用キーパッド

PC用キーボードをプレーステーションのコントローラにする機器を製作しました。
ご興味のある方はこちらまで。

はじめに

ことの始まりはこちらです。要するにどう考えても、親指で十字ボタンを操作するより、人差指、中指、薬指で上下左右それぞれのボタンを操作した方が、反射速度や正確さだけでなく疲労度においてもメリットが大きいと思います。古くからのPCゲーマーはそうやってきたのです。ゲーム専用機でもテンキー操作をしたい人はいるはずなのです。前作ではPC用キーボードをプレイステーションに接続する装置を制作したわけですが、やはり問題もありました。

というわけで専用キーパッドの必要を感じていました。特に最初に挙げたL1/L2/R1/R2ボタンは、○×△□ボタンも含めて左手だけで操作するのは不自然なので、空いている親指を活用できるような配列にしたいと思いました。

設計

下のファイルをダウンロードし、AT90S4433にpskeypad.hexを書き込んでください。

pskeypad.tar.gz

なお、再コンパイルする場合はavr-gccが必要です。

回路図 実体配線図

ケーブルの結線については、「プレイステーション・PAD/メモリ・インターフェースの解析」(ミラー)を見て確認してください。

製作

前作ではプレイステーションとの通信にCPLDを使用しましたが、実のところSPI機能で通信できることがわかりました。AVRマイコンに搭載されているSPI機能なら、クロック信号の極性やビットオーダーなどをカスタマイズできるので、プレイステーションに直結可能です。プレイステーション用コントローラとして使うには、14個のスイッチから入力できなければならないので、I/Oピンの数がちょうど良くてSPI機能を搭載しているAT90S4433が最適です。

主な部品はAT90S4433と、セラミック発振子、パスコン、抵抗、キースイッチ14個です。あとは基板とかジャンパピンとか線材などです。しかしもっとも重要な部品はケースかもしれません。今回はアクリル板で制作しましたが、設計が雑だったのと技術不足のため、あまり格好のいい物はできませんでした。

アルミベース アルプス製スイッチ

スイッチをマウントするための基板は300×100×1.2(mm)のアルミ板を使用しました。角穴はドリルとリーマとハンドニブラを使用してあけました。14ヶ所あるのでとても面倒です。スイッチは至高の打鍵感と高耐久性を誇る、アルプス電気製キーボード用メカニカルスイッチ・ノンクリック型を使用しました。以前はアルプス電気の通販サイト電即納で購入できたのですが、現在はカタログから消えているようで、入手可能かどうかはわかりません。

カッティングシート スイッチを搭載

アルミ板の穴あけが終わったらカッティングシートを貼り付けます。アルミ板に合わせてカッティングシートにも穴をあけ、スイッチを取り付けます。

ケーブル

秋月電子通商で購入できる、プレイステーション用コントローラの延長ケーブルです。メス側を15cm程度残して切断します。メス側はAT90S4433のフラッシュメモリに書き込むためのケーブルとして使用します。

書き込みケーブル フラッシュに書き込み

AT90S4433のフラッシュメモリの書き込みにも、プレイステーションのケーブルを利用します。ジャンパスイッチをショートすると、通常は使用されていない信号(ケーブルの8番ピン)がAVRのRESET信号に接続されます。書き込みが終わったらジャンパピンを外します。

基板 配線全貌


部品点数は少ないので、スイッチの配線に手間がかかる以外は、簡単に作れると思います。スイッチの配線はウレタン線を使っています。既にスパゲッティ状態です。基板には細長い穴を2個あけて、ナイロン結束バンドでケーブルをしっかり固定します。

アクリルケース

アクリルケースは改善の余地が大きいので、図面などは載せません。基板と部品の厚みを10mm程度と考えていたのですが、無理があったので15mmとしました。そのため、アクリルケースの縁とトップパネルの間に、5mm程度のすき間が空いてしまいました。アクリル板の大きめの部品は東急ハンズでカットしてもらいましたが、傾斜部や小物は自分でカットしたため、切断面が綺麗ではなかったり、寸法がずれていたりしているので、作り直したい気がしています。

デザイン上の改善点を挙げます。