Shinobi Library - ペリフェラルデータ関数

pdGetPeripheralDirect

ペリフェラルデータの取得(低レイテンシ用)

書式

const PDS_PERIPHERAL* pdGetPeripheralDirect( port, buf, rawdata, rawinfo )
Uint32 port
PDS_PERIPHERAL *buf
void *rawdata
void *rawinfo

引数

port ポート番号

戻り値

引数 bufで指定されたアドレス

解説

指定されたバッファにペリフェラルデータを取得します。

引数 port に指定するポート番号は以下のとおりです。

 定義   意味 
 PDD_PORT_A0   コントロールポートA 
 PDD_PORT_B0   コントロールポートB 
 PDD_PORT_C0   コントロールポートC 
 PDD_PORT_D0   コントロールポートD 

この関数は、pdSetIntFunction()関数を使って登録したユーザー割り込み関数中に記述して利用します。


用例

PDS_PERIPHERAL PadData;
pdGetPeripheralDirect(PDD_PORT_A0, &PadData, NULL, NULL);

備考

この関数に渡すバッファは、 同じコントローラに対しては同じバッファを常に指定するようにしてください。

この関数は PDS_PERIPHERAL構造体のpress、releaseメンバを、 同構造体のoldメンバを参照して生成します。 つまり前回の値に依存します。

異なるバッファを渡してしまうと、press、releaseメンバが正しく取得できません。 なお、通常のペリフェラル取得関数pdGetPeripheral()とは全く独立して動作しますので、 pdGetPeripheral()関数の動作には影響を与えません。

また、この関数は、特にこの割り込み関数中でなくとも、任意のタイミングで使用可能です。 VMへのファイルアクセス、液晶表示、振動デバイスの振動等を行うと、 ハードウェアの処理時間が長くなり、 レイテンシ減少の効果を最大限に得ることができません。


参照

pdGetPeripheral()
 コントローラのボタン状態の取得
pdSetIntFunction()
 コントロールポート割り込み関数の登録

pdGetPeripheralDirect
COPYRIGHT © SEGA ENTERPRISES, LTD., 1998-2000