OS_IsOnMainMemory

# OS_IsOnMainMemory / OS_IsOnWram

## 構文

      #include <nitro/os.h>

  BOOL OS_IsOnMainMemory(void* ptr);
  BOOL OS_IsOnExtendedMainMemory(void* ptr);
  BOOL OS_IsOnWramA(void* ptr);
  BOOL OS_IsOnWramB(void* ptr);
  BOOL OS_IsOnWramC(void* ptr);
  BOOL OS_IsOnWram0(void* ptr);
  BOOL OS_IsOnWram1(void* ptr);
  BOOL OS_IsOnWram(void* ptr);
  BOOL OS_IsOnVram(void* ptr);
  BOOL OS_IsOnItcm(void* ptr);
  BOOL OS_IsOnDtcm(void* ptr);
  BOOL OS_IsOnArm7PrvWram(void* ptr);

## 引数

ptr | 調査対象のメモリ領域を指し示すポインタ

## 返り値

ptr の指し示すメモリアドレスが、チェック対象のメモリ内であった場合に TRUE を返します。

## 説明

ptr の指し示すメモリアドレスをチェックします。

`OS_IsOnMainMemory()` では、ptr が指し示すメモリアドレスがメインメモリ上に存在するかをチェックします。

`OS_IsOnExtendedMainMemory()` では、ptr が指し示すメモリアドレスが拡張メインメモリ上に存在するかをチェックします。

`OS_IsOnWramA()` では、ptr が指し示すメモリアドレスが WRAM A 上に存在するかをチェックします。ARM9側から または NITRO では常に FALSE を返します。

`OS_IsOnWramB()` では、ptr が指し示すメモリアドレスが WRAM B 上に存在するかをチェックします。NITRO では常に FALSE を返します。

`OS_IsOnWramC()` では、ptr が指し示すメモリアドレスが WRAM C 上に存在するかをチェックします。NITRO では常に FALSE を返します。

`OS_IsOnWram0()` では、ptr が指し示すメモリアドレスが WRAM 0 上に存在するかをチェックします。

`OS_IsOnWram1()` では、ptr が指し示すメモリアドレスが WRAM 1 上に存在するかをチェックします。

`OS_IsOnWram()` では、ptr が指し示すメモリアドレスが WRAM A, WRAM B, WRAM C, WRAM 0, WRAM 1 の何れかに存在するかをチェックします。

`OS_IsOnVram()` では、ptr が指し示すメモリアドレスが VRAM 上に存在するかをチェックします。

`OS_IsOnItcm()` では、ptr が指し示すメモリアドレスが ITCM 上に存在するかをチェックします。ARM7側からチェックした場合は常に FALSE を返します。

`OS_IsOnDtcm()` では、ptr が指し示すメモリアドレスが DTCM 上に存在するかをチェックします。ARM7側からチェックした場合は常に FALSE を返します。

`OS_IsOnArm7PrvWram()` では、ptr が指し示すメモリアドレスが ARM7専用WRAM 上に存在するかをチェックします。ARM9側からチェックした場合は常に FALSE を返します。

## 参照

OS_AllocFromHeap

## 履歴

2009/04/13 初版