# MI_GetUsedWramSlot*

## 構文

  `#include <twl/mi.h>`
  `u8 MI_GetUsedWramSlot( MIWramPos wram );`
  `(define)`
  `#define MI_GetUsedWramSlot_A();`
  `#define MI_GetUsedWramSlot_B();`
  `#define MI_GetUsedWramSlot_C();`

## 引数

wram | 情報を取得するWRAM

## 返り値

指定のWRAMの中で、どこかのプロセッサに確保されているスロットの情報を返します。WRAM-A に対してはスロット0〜3、WRAM-B と WRAM-C に対してはスロット0〜7 の情報が返ります。

## 説明

指定のWRAMに対し、どこかのプロセッサに確保されているスロットの情報を取得します。

プロセッサからのWRAMスロットの予約状況は関係しません。

返り値について

u8 値の下位ビットより順に スロット0, スロット1,... を表しており、ビットが1となっているスロットは確保されているという意味です。

例えば、`MI_GetFreeWramSlot( MI_WRAM_B )` の返り値が`0xC0` ( 2進数で 11000000 )だった場合、WRAM-B のスロット 0,1,2,3,4,5 は どのプロセッサからも確保されていない(予約はされているかもしれない)ことを表し、スロット 6,7 はどこかのプロセッサから確保されていることを表します。

WRAM種類を関数名に含めた便利関数

`MI_GetUsedWramSlot_A(...)` は `MI_GetUsedWramSlot( MI_WRAM_A, ... )` の `define` です。
`MI_GetUsedWramSlot_B(...)` は `MI_GetUsedWramSlot( MI_WRAM_B, ... )` の `define` です。
`MI_GetUsedWramSlot_C(...)` は `MI_GetUsedWramSlot( MI_WRAM_C, ... )` の `define` です。

## 内部動作

ARM9が管理している WRAMマネージャが返り値を決定します。
ARM7からは PXI を通して ARM9 から値を取得します。

## 参照

概要(ワークRAM)、MI関連の定数
`MI_GetAllocatableWramSlot, MI_GetFreeWramSlot`

## 履歴

2008/05/29 初版