##### 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