ブックオフの特価品ワゴンで税込み290円で見つけたジョグコンですが、まず、初代プレステ
実機を引っ張り出して、RR4をプレイしてみました。
アナログ/ジョグコンモード切替と、反発力?もきちんと動作しています。ひとまず、壊れて
いないようで安心。
と言うか操作ムズイ・・。
対応ゲームが少ないのもそのせい?
最後にネジコンモードを試してみました。モードボタンを押しながら、プレステ本体に接続。
モードLEDが点滅して無事ネジコンモードになり、RR4で遊べました。
反発力は無いけど、やっぱり操作ムズイ・・。
動くことが判ったので、Arduino Pro Microにつないで調べてみました。
まずは、PSX LibraryのREADコマンド処理を改造して即席でアナログ入力対応したスケッチで
シリアルデバッグでログを出力するようにしてみました。
○配線図
しかし、デジタルパッドとして認識するも、モードボタン押してもジョグコンモードに切り
替わりません。(MODE LEDが点灯しない!)
読みだされる情報もデジタルパッドのボタン情報だけで、ジョグダイヤルの情報は読み出せま
せん。デュアルショックは、MODEボタン操作だけ(READコマンドの発行はそのまま)でアナ
ログスティック情報が読めるのに・・
どうやらジョグコンは電源起動時は(=初期状態では)モード変更がロックされており、MODE
ボタンが効かないようです。READコマンドの発行だけではNGみたい。
長い戦い?になりそう・・
過去の解析情報を調べたのですが、ジョグコンの解析って
こちらのサイトの
この文献(右クリッ
クで保存)に一部
記載があるだけのようです。
こちらの情報によるとモードロック解除には一度、CONFIGモードにして、ロック解除コマンド
を送付する必要がありそう。(デュアルショックと似た制御が必要)
PSX Libraryの改造では追い付かなくなってきたので、ジョグコン対応スケッチが無いかWEBで
探してみたのですが、さすがに需要が無さすぎるのか見つけられませんでした。
と言うことで自前でジョグコン用通信処理を作成することにしました。
○参考資料
プレイステーションコントローラの解析情報
⇒過去のDPP含め、プレイステーション用コントローラー変換器に必須な解析情報です。
と言う事で、ジョグコンの挙動をシリアルデバッグ出力で調べた結果です。
○ジョグコン(SLPH−00126)解析情報
(1)ジョグコン(デジタルモード)
(2)ジョグコン(ジョグコンモード)
(3)ジョグコン(ネジコンモード)
MODEボタンがロックされている件は、やはり一度CONFIGモードに入ると解除でき、ロック解除
コマンドの送付は不要でした。
⇒一度CONFIGに入ると、その後はMODEボタン押下でLEDが点灯して無事ジョグコンモードにな
りました。
残るは反発力ですが、過去の資料ではそれっぽいコマンドが解析されていません。
フォースフィードバックと同じかなあ・・?
ちょっと試してみようかな。
フォースフィードバックテスト用にスケッチを起こしてみました。配線は以下の通り。
○配線図
以前の回路とほぼ同じですが、9V入力にRAWから5Vを入れるようにしています。
⇒本来は、昇圧モジュールまたはDCアダプタを使って9Vを得る必要がありますが、昔DPPを
作った時、5V印加でも若干弱いけど振動していた事もあり、今回はテスト用という事で簡易
的にRAW出力(5V)をそのまま入れています。
スケッチは下記です。(テストコードだらけで全然整理されてないです。一応動くと言う感じ)
このスケッチでデュアルショックは、指定通り(方向キー上で大モーター、方向キー右で
小モーターが)振動しました。しかし、ジョグコンは全く反応してくれません・・。
シリアルデバッグで確認する限り、振動制御のコマンドはエラー無く完了しているので、
9V印加が必要なのか、制御方法の問題のどちらか(おそらく後者)と思われますが、後者
は多少数値を変化させてコマンドを出してみた程度ではダメでした。
こうなると、実機で反発力の制御コマンドを解析するしかなさそうです。
Arduino Pro Microでは速度的な問題でPSコマンドの波形解析は難しい状況なので、別途
ロジアナ使ってやるしかないかなぁ。
と言うか、これってUSB変換機側だけ対応してもPCやゲーム機側で反発力に対応してない
と意味がないんですよね。OS用のドライバも無いし・・。うーん。
すっかり煮詰まってしまったので、反発力の解析はいったん保留にして、PSC対応を進めた
ほうが良さそう。
○その6自作コントローラーをプレイステーションクラッシックに接続する