番外編(ゲームパッド)
PS2Uの制作で最も難航したのがゲームパッドの移植工程です。現物合わせでパッドを移植で10個以上は購入したと申し上げた通り、失敗しては買うことを繰り返しては、いっそアナログ式のDualShock2をやめてデジタル式のDualShockにしてしまおうと幾度となく思いました。しかし、どうしても世にあるPS2携帯機との差別化を図りたかったのと、ジャンク品が300円程度と手ごろなので「次こそは」とあきらめがつきにくかったのも手伝って、とうとう移植に成功したときは、達成感とか嬉しいという感情ではなく、やっと終わったという解放感だったことを覚えています。
本編の内容と重複する部分がありますが、この番外編ではその紆余曲折の珍道中をご覧ください。
フィルム基板です。部品を調達で触れたようにすべてのアナログボタンの箇所は数kΩの抵抗素子の膜(以下、抵抗膜)でショートしています。
この基板をPS2Uの筐体に合わせるための延伸加工を施さなくてはなりません。一般的なプリント基板だったらハンダ付けできるので、切ってジャンパ線で繋ぐ方法が適用できますが、このフィルム基板はハンダごてを当てると配線ごと溶けてしまいます。
延伸加工の方法が最大の課題でした。
このタイプでは、先ほどの緑色のフィルム基板の下に、ボタン部分に穴の開いたただの透明フィルムがあり、さらにその下に画像のようなフィルム基板が入っています。2枚のフィルム基板で真ん中の透明フィルムを挟み、フィルム基板同士にわずかな隙間を作っている構造です。一番下のものは抵抗膜がプリントされているだけです。ボタンを押したときに抵抗膜同士が接触し、その接触面積が増えれば増えるほど(ボタンを強く押せば押すほど)抵抗値が少なくなるという理屈です。その抵抗値の増減を検出して入力の強弱を判定しています。
フィルム基板なので画像のように白いプラスチックの土台で保持しています。この土台はボタン部分が溝になっているため、画像のフィルム基板は一段落ち込んだ状態になっています。ボタンを押したことによるフィルムの「しなり」で抵抗膜同士を接触させています。
わけが分からず、残骸だけが増えていきます。
理解のある妻も、何だかかわいそうな捨て犬を見るような目です。
そんな試行錯誤の中、正常だったパッドからマイクロ基板だけを接続してPS2を起動してみたところ、例の特定のボタンだけが押しっぱなしになる誤動作が再現されました。フィルム基板は接続していません。
「フィルム基板を接続してないってことは何も押されていない状態なんじゃないの?なぜ?・・あっ」と、ここにきてようやく気が付きました。
フィルム基板は配線だけではありません。抵抗も載っているのです。再三、得意げにアナログボタンの仕組みを解説している通り、すべてのアナログボタンは抵抗膜を介してショートしているわけです。フィルム基板上で。
つまりフィルム基板も抵抗器を担うコンピュータの一部ですから、断線してしまったり、取っ払ってしまったりすれば誤動作するのは当たり前なのです。
ここからはあくまで仮説になりますが、
「断線=ボタンが効かないだけ」では済まず、
「断線=抵抗値が無限大になり制御できなくなる」ではないでしょうか。
では、「制御」とはいったい何かというと「初期化」です。パッドが接続され電源が入った時にマイクロチップ内で初期化が行われます。各ボタンの抵抗膜の抵抗値を調べ、その抵抗値を「ボタンの押されていない状態」の値として認識するわけです。ところが起動時に一か所でも断線していると抵抗値は無限大ですから上手く認識できずに結果、誤動作してしまうのではないでしょうか。
もし、その誤動作中に接続を回復(抵抗値を検出)できれば、そこで初期化され正常動作に移行することができるようです。
では、初期化を正常に終えた後に断線するとどうでしょう。結果は「断線個所の入力ができなくなる」です。「ボタンが押されていない状態」の抵抗値さえ検出できれば、あとは抵抗値が無限大になろうと誤動作はしません。断線していて効かないだけです。(ゲームプレイ中に断線するとか回復するとか、そんな機械では話になりませんが。)
くどいようですが、これは仮説です。PS2の開発エンジニアが見たら鼻で笑ってしまうような内容かもしれませんが、無知ゆえにこの仮説を得るためにずいぶんと時間を費やしてしまいました。
さすがにPS2のゲームパッドについて、このような内容のwebページなどを発見できなかったので、せめて誰かの何かの参考になればと思い恥を忍んで書かせていただいた次第です。
いずれにせよ、一瞬の断線も許されず、最初から最後まで接続状態の安定を確保しなければならないという当たり前過ぎる結論に回帰しました。
このバージョンのスゴいところはマイクロ基板とフィルム基板との接続に差し込みタイプのコネクタが採用されていることです。ケースで挟んで圧着するタイプよりも高コストな感じです。
このタイプだったらいくらか加工が楽そうですが、10個買ったうちの2個だけでした。
このほかにもマイクロ基板の配線パターンが異なっていたり、後付けのジャンパ線が施してあったり、中には基板が大きめでアナログスティックの軸の向きが違うものまで様々でした。
見た目は全く同じでも、抵抗値はフィルム基板によって違いました。実際の抵抗値は覚えていないのですが、
フィルム基板A:すべてのボタンの抵抗値が4kΩくらい
フィルム基板B:すべてのボタンの抵抗値が2KΩくらい
という具合です。