# MI_SwitchWram*

## 構文

  `#include <twl/mi.h>`
  `int MI_SwitchWram( MIWramPos wram, MIWramProc proc, MIWramProc newProc );
  int MI_SwitchWramSlot( MIWramPos wram, int slot, MIWramSize size, MIWramProc proc, MIWramProc newProc );
  (define)
  void MI_SwitchWram_A( MIWramProc proc, MIWramProc newProc );
  void MI_SwitchWram_B( MIWramProc proc, MIWramProc newProc );
  void MI_SwitchWram_C( MIWramProc proc, MIWramProc newProc );
  void MI_SwitchWramSlot_A( int slot, MIWramSize size, MIWramProc proc, MIWramProc newProc );
  void MI_SwitchWramSlot_B( int slot, MIWramSize size, MIWramProc proc, MIWramProc newProc );
  void MI_SwitchWramSlot_C( int slot, MIWramSize size, MIWramProc proc, MIWramProc newProc );`

## 引数

wram | 解放する領域のWRAM
slot | 開始slot番号
size | サイズ
proc | 変更する領域のマスタープロセッサ
newProc | 変更後のマスタープロセッサ

## 返り値

変更したブロック数。0なら変更しなかった。-1 ならエラー。

## 説明

WRAM のマスタープロセッサを変更します。

wram は対象となる WRAM です。

slot は 変更する領域の開始slot 番号です。

size は変更する領域の大きさで、MI_WRAM_SIZE_xxxKB で指定します。

proc は変更する領域のマスタープロセッサです。

newProc は変更する領域のマスタープロセッサです。

`MI_SwitchWram()` は指定のWRAM の中から、マスタープロセッサがproc であるものを newProc に変更します。

`MI_SwitchWramSlot()` は、slot と size で領域を指定して変更しようとします。但し、マスタープロセッサが指定のプロセッサと異なっている領域は変更しません。

`MI_SwitchWram_A` は `MI_SwitchWram( MI_WRAM_A, ... )` の define です。
`MI_SwitchWram_B` は `MI_SwitchWram( MI_WRAM_B, ... )` の define です。
`MI_SwitchWram_C` は `MI_SwitchWram( MI_WRAM_C, ... )` の define です。
`MI_SwitchWramSlot_A` は `MI_SwitchWramSlot( MI_WRAM_A, ... )` の define です。
`MI_SwitchWramSlot_B` は `MI_SwitchWramSlot( MI_WRAM_B, ... )` の define です。
`MI_SwitchWramSlot_C` は `MI_SwitchWramSlot( MI_WRAM_C, ... )` の define です。

## 参照

概要(ワークRAM)、MI関連の定数
`MI_AllocWram*()`, `MI_ReserveWram*()`

## 履歴

2007/10/08 初版