TOPページへ

日記帳(2005.03)

日記Indexへ


2005/3/31(木)

すげー放置状態で流れた3月の日記。
まぁ私生活がいろいろと忙しかったんすよ。
しかしあれだ、私生活の履歴のはずなんだけどあんまり個人情報をタレ流すのもあれやし、逆に仕事の内容とか書くわけにもいかんし。
今風に言うとblogですか、なかなか内容って難しいですね。


2005/3/7(月)

ゼロテックアダプタ、身内に公開したところ冷たい風が(=д=

 「そのままGT4で使えるのにわざわざUSBにせんでも」

そ、そんな。

まぁ元々ゼロテック使いでなければそんなもんかも。 (;’ω’)ゞ

ところであれ、開発コードが一応あるんですね。
主に脳内だけなんですけど。

USBの場合、ストリングディスクリプタってところに製品名の文字列を入れられるんですよ。
ホストから「お前様、何モンじゃーい」と聞かれたときに返すバイト列なんですが、こんなとこ誰も見やしませんから何を入れたって平気です。
実際自分も開発ツールで覗くまで色んなデバイスのストリング知りませんでしたから。

と、思っていたため、ここに 「ZT-4th USB」 と埋め込んでいました。
ZTはゼロテック用だから。
4thに別に意味は無くて、イカサマ外人発音で読むと限りなくGT Forceと紛らわしいからという、ロジテックとホリ電機の両方から 「ぶっ殺死!!」 と言われそうな理由です。

ところが「完成したぜー」とばかりに友人に見せびらかしに行って、そいつのPC(WindowsXP)に挿すと・・・・
認識してるゲームコントローラのリストに思いっきり「ZT-4」とか出てるし!
Win2000までは「2軸6ボタンパッド」とかそんな感じの表記しか出なかったんですけどね。。。
しかもなぜ4文字で切れてるんだ。


2005/3/5(土)

ゼロテック2のUSB化アダプタ。
画像を多少載っけておきます。
まずは接続全景というか・・・



クリックすると拡大画像が開きます。

PS2周辺を拡大すると



こんな感じでPS2のUSBポートにささっとります。

写真にするとホコリだらけなのが目立ちますね。 (;’ω’)ン

改めて解説しますと、ホリ電機製のゼロテック2(以降ZT2)は良い感じのコントローラなのですがデュアルショック2(以降DS2)互換ゆえに本来の操作性を著しく損なわれていると思われます。
DS2のあのヘタレなアナログスティックの超でかい遊びをカバーするためにとてつもなく広範囲なデッドゾーンを設けているか、もしくは時間の関数でリニアに動かないか。
いずれにせよグランツーリスモ4(以降GT4)ではコントローラのキャリブレーション機能が削除されてしまったためソフト側での対応が一切できません。

これに対抗すべく開発したのがこのアダプタで、ZT2を中継して、GT4正式サポートであるUSB接続のハンドルコントローラ、GT-Force(以降GTF)に見せかけるものです。
GT4にとってはこれがハンコンに見えますから、より補正の少ないリニアな操作が可能になるはず、という期待の元。

PS2から見るとGTF、そしてZT2から見るとPS2です。
つまり内部的にはUSBの仮想GTFとプレステ専用インタフェースの仮想PS2を組合わせたものです。

ただまぁ、今回はインチキというか、実現上の都合からDS2ネイティブモードでも500kHzではなくノーマルと同じ250kHzで駆動しています。
ZT2からのACKも一切見てないという結構すごい手の抜き方です。
いいんすよ。目的はPS2のインタフェースのエミュレータを作ることではなく、ZT2からアナログデータを取得することですから。

主役はこいつです。
おぷてぃまいずで買ったMINI EZ-USB基板。
最新版は水晶に変更されているようですが自分が買ったバージョンはセラロックでした。



インタフェース基板がこちら。



左手前にソフト格納用のE2PROM、イレース用のジャンパ、表示に使うLEDが3つ。
右奥にPSのPADコネクタです。
ずっと前にDPPを作ろうとした時にヤフオクで数百円で落とした旧プレステをばらしたものです。
裏はどうなってるかというと。



PSのコネクタのところからニョキニョキ生えてるのはオシロのプローブで当たるためのピンです。
といっても実体はディスクリート抵抗の足を曲げただけですが。

そしてこいつにMINI EZ-USB基板を



パイルダーおーん!(゚Д゚)

して苦心のFWをやいて



動いとります。

前にちょっと書きましたが、MINI EZ-USB自体はだいぶ前に遊び用途で購入して (遊んだあと) 放置されていたもの。
またPSのコネクタも同様にジャンク箱から引きずり出し、後述しますがHIDとしての情報は某GTFエミュをモニタしてパクったため、今回の追加投資はユニバーサル基板とEEPROMとLEDくらい?
まぁ実際は配線だのピンヘッダだのが必要で、また調査のための試作基板も作ってますがそれでも全部で1000円くらいでしょうか。
おとくな遊びだ(ノ∀`)

まぁここ数週間、通勤時間も昼休みも夕方の休み時間も全部こいつに費やしましたが。

昨日の日記の最後の方で妙に自分、クサってますが、一体何かというとですね、当初から気にかけていたベンダID(以降VID)の件なんですよ。
これは詐称するのもまずいんで、GTFの吐くロジテックのVIDではなく、石そのもののベンダであるCypressのVIDを利用していました。
が、うんともすんとも言わねぇ。
いろいろ入れ替えて最終的に判ったのは、VIDとPIDの組合わせが正しくないとGT4は入力を受け付けません。
腹立たしいことに。

マニュアルやゲーム中の説明ではDS2じゃとても実現できないような操作を要求し、PAD入力のキャリブレーションも一切無し、かといってUSB経由のハンコンはサードパーディー製は締め出し、挙句アーケードモードでのガレージカー対戦を意図的に削除。
これらの暴挙から、開発会議の席で
 「まともにプレイしたきゃGT Force Pro買えってことで(笑)」
のような発言が飛び出したであろうことがリアルに想像できます。

これらは決して技術的な問題ではなく、上流の政治的な問題です。
誰の方針か知りませんが、利権にまみれて脳みそ溶けて耳から流れ落ちてしまったとしか思えない体たらく。
友人は「最高の環境を持てるやつがニヤニヤ一人プレイ専用ゲームとして開発してやがる」と言い捨てて叩き売りました。
言い得て妙だと思います。

あの日曜プレイヤーにはとても手が出ない(ソフトの3倍もする)専用コントローラを買い、一般家庭にはとても置けない(ソフトの10倍もする)専用シートに設置し、最高の環境で自己満足に溺れながら一人で楽しむゲーム。
基本方針は本当にそうなんでしょうね。

けど、たとえ上流が腐っていても、レース、車の挙動のリアルさ、グラフィック、突き詰めれば運転の楽しさ、俺たちが期待した本質はやはり素晴らしいものを実現しています。
俺はまだGT4で遊びたいからアダプタを作りました。
それだけです。


2005/3/4(金)

ふぉおおおおお(*゚Д゚)

なんか意外とあっさりDS2ネイティブモードでのPADデータリードに成功。
ゼロテック2をGT Forceに見せかけてGT4プレイできました。

まずは所感、挙動がクイックすぎ!
まぁこれは不感領域を小さくしすぎたかなというところで。

詳細は明日UP予定ですが、ともかく今日時点で判明した事実が一つ。
1/28の日記でアクセルのストロークが足りないのはゼロテックのせいだとか言っちゃってますが、誤解でした。

ホリ電機の中の人、ごめんなさい!

俺のせい、というかGT4の中の人のせいでした!
USB経由でPCに接続して、PADからのアクセル(×ボタン)のアナログ値を読んでみてわかったんです。
俺がやった改造をしてると、アクセル1/3くらいしか踏めませんから!
ああやっぱ可変にしときゃよかった。てかせめてスイッチでON/OFFできるようにとか自分で書いておきながら自分のゼロテック2は抵抗入れっぱなしだったんですよね。
急遽再改造するはめに(´Д`)

ともかく、ゼロテック2はストローク全域に渡ってきっちりと8bitデータを吐いています。
悪いのはGT4の方。
ほんと初代グランツーリスモには感動したのに、SCE脳みそ腐ったとしか思えんです(=д=