# NNS_McsOpen

## 構文

      #include <nnsys/mcs.h>

      BOOL NNS_McsOpen(NNSMcsDeviceCaps* pCaps);

## 引数

pCaps | オープンしたデバイスに関する情報を格納する構造体へのポインタ。

## 返り値

オープンに成功した場合、TRUEを返します。失敗した場合、FALSEを返します。

## 説明

デバイスをオープンし、オープンしたデバイスの情報を`pCaps`で指定した変数へ格納します。

`NNSMcsDeviceCaps`構造体は、次のように定義されています。

    typedef struct NNSMcsDeviceCaps NNSMcsDeviceCaps;
    struct NNSMcsDeviceCaps
    {
        u32         deviceID;
        u32         maskResource;
    };

各メンバの内容は次のとおりです。

deviceID | デバイスのID。
maskResource | デバイスを動作させるのに必要なリソースの情報。詳細は下記を参照。

`maskResource`メンバは次の値の組み合わせとなります。

NITROMASK_RESOURCE_POLL | 関数`NNS_McsPollingIdle`をメインループ内で継続して呼んでください。
NITROMASK_RESOURCE_VBLANK | 関数`NNS_McsVBlankInterrupt`を毎フレーム呼んでください。
NITROMASK_RESOURCE_CARTRIDGE | 関数`NNS_McsCartridgeInterrupt`をカートリッジ割り込み発生時に呼んでください。

接続されているデバイスが複数存在するときは、以下の順で見つかったデバイスをオープンします。

1. IS-NITRO-UIC
2. IS-NITRO-EMULATOR
3. 未知のデバイス

## 参照

`NNS_McsClose, NNS_McsReadStream, NNS_McsWriteStream, NNS_McsPollingIdle, NNS_McsVBlankInterrupt, NNS_McsCartridgeInterrupt`

## 履歴

2005/01/24 `NNSMcsDeviceCaps`構造体についての解説を追加。IS-CGB-EMULATORに関する記述を削除。
2004/06/01 初版