( 例 → 1P = アナログ、2P = マウス のゲーム )
ライブラリドキュメント風に書くと次のようになります。
typedef struct { PerMulId id; /* マルチタップID */ PerMulCon con; /* コネクタ数 */ } PerMulInfo; /* マルチタップ情報 */
void *per_data; PerMulInfo *mul_info; PER_LGetPer((PerGetPer **)&per_data, &mul_info); mul_info[0].id 本体端子1のマルチタップID mul_info[0].con 本体端子1のコネクタ数 mul_info[1].id 本体端子2のマルチタップID mul_info[1].con 本体端子2のコネクタ数
マルチタップを接続 | : (00〜E0) シンボル未定義 |
未接続 or 直接接続 | : (F0) PER_MID_NCON_ONE |
UNKNOWNデバイス | : (MD-PID) シンボル未定義 (*)MD-PID : メガドライブペリフェラルID |
未接続 or UNKNOWNデバイス | : (00) PER_MCON_NCON_UNKNOWN |
直接接続 | : (01) シンボル未定義 |
接続マルチタップコネクタ数 | : (02〜0F) シンボル未定義 |
セガタップ (メガドライブ用ペリフェラル×4)
マルチタップID = 00, コネクタ数 = 04
マルチターミナル6 (サターン用ペリフェラル×6 の接続に使用)
マルチタップID = 10, コネクタ数 = 06
例えばハンドルコントローラの場合ですと、
「デジタルPADのデータ」+「アナログのデータ」
といったデータフォーマットになっています。
「ネジコン」のデータフォーマットについては詳しくないのですが、上記同様に デジタルPADの拡張といった形であれば問題ないと思われます。 新型ペリフェラルの発売自体は状況次第ですが、もしもデータフォーマットが 新規のものであればペリフェラルIDが追加されると思われますので、 現在開発中のソフトで対応することは不可能です。
デジタルデバイスのみ対応のソフトの場合にも、
マウス未対応のソフトでマウスが接続された場合には、無視するかデジタル的な 動作をするように変換する等の対応をしてください。
最後にキーボードについての詳細情報ですが、通常のゲーム操作で使用する限り 必要な情報はフォーマットに規定されていると考えております。
詳しいペリフェラルのデータフォーマットについては、
注 意 |
バーチャガン自体はマルチタップに対応していません。 (接続しても正常に動作しません) |
---|
もしも以上の変更を行っても現象が発生する場合には、「未接続」の
ステータスが返ってきた際にPER_Linit関数を再度実行するようにしてください。
(数回繰り返しても「未接続」が返る場合には本当に未接続であるとみなす
ようにしてください。)
レーシングコントローラー、ミッションスティックおよび マルチコントローラは、全てアナログデバイスのIDをもっており データフォーマットは共通ですが、データサイズが異なります。
アプリケーション側ではこれらの情報を元に、現在何のペリフェラルが接続
されているかを判断するようにしてください。
ペリフェラルに特有なボタンは、次のようなデータフォーマットの対応関係と
なっています。