OS_IsRunOnEmulator

構文

#include <nitro/os.h>

BOOL OS_IsRunOnEmulator( void );

引数

なし。

返り値

プログラムが "ensata NITRO Software Emulator" 上で実行されていれば TRUE をそうでないなら FALSE を返します。

説明

プログラムが "ensata NITRO Software Emulator" (以下 ensata) 上で実行されているかどうか調べます。

ensata と それ以外の場合とで処理を動的に切り替えたい場合に有効です。これにより ensata とそれ以外の実行環境において共通で動作するプログラムを作成することができます。

OS_Printf() 関数ではこの API を使って出力先を制御しています。

これはデバッグ用の関数ですので、最終ROM版(FINALROM)ライブラリでは常に FALSE を返します。



類似の関数

OS_IsRunOnDebugger() も動作環境を調べる関数です。こちらは IS-NITRO-DEBUGGER または IS-TWL-DEBUGGER 上で実行されているかどうかを調べます。



環境やビルドによる実際の値

下は動作環境の違いによる OS_IsRunOnDebugger()OS_IsRunOnEmulator() の返り値の表です。

NITRO モードの場合
動作環境 ビルド OS_IsRunOnDebugger()の値 OS_IsRunOnEmulator() の値
NTR実機 DEBUG
RELEASE
FINALROM
FALSE FALSE
TWL実機 DEBUG
RELEASE
FINALROM
FALSE FALSE
IS-NITRO-DEBUGGER
(デバッガソフトウェア
非接続時を含む)
DEBUG
RELEASE
TRUE FALSE
FINALROM FALSE FALSE
ENSATA EMULATOR DEBUG
RELEASE
FALSE TRUE
FINALROM FALSE FALSE
IS-TWL-DEBUGGER
(一般開発用: ARM9)
DEBUG
RELEASE
TRUE FALSE
FINALROM FALSE FALSE
IS-TWL-DEBUGGER
(コンポーネント開発用
ARM9 + ARM7)
DEBUG
RELEASE
TRUE FALSE
FINALROM FALSE FALSE
IS-TWL-DEBUGGER
(一般開発用: ARM9) の
デバッガソフトウェア
非接続時
DEBUG
RELEASE
FALSE FALSE
FINALROM FALSE FALSE
IS-TWL-DEBUGGER
(コンポーネント開発用
ARM9 + ARM7) の
デバッガソフトウェア
非接続時
DEBUG
RELEASE
FALSE FALSE
FINALROM FALSE FALSE
TWL モードの場合
動作環境 ビルド OS_IsRunOnDebugger()の値 OS_IsRunOnEmulator() の値の値
TWL実機 DEBUG
RELEASE
FINALROM
FALSE FALSE
IS-TWL-DEBUGGER
(一般開発用: ARM9)
DEBUG
RELEASE
TRUE FALSE
FINALROM FALSE FALSE
IS-TWL-DEBUGGER
(コンポーネント開発用
ARM9 + ARM7)
DEBUG
RELEASE
TRUE FALSE
FINALROM FALSE FALSE
IS-TWL-DEBUGGER
(一般開発用: ARM9) の
デバッグソフトウェア
非接続時
DEBUG
RELEASE
FALSE FALSE
FINALROM FALSE FALSE
IS-TWL-DEBUGGER
(コンポーネント開発用
ARM9 + ARM7) の
デバッグソフトウェア
非接続時
DEBUG
RELEASE
FALSE FALSE
FINALROM FALSE FALSE

内部動作

OS_GetConsoleType() の返り値と、OS_CONSOLE_ENSATA ビットとの論理和によって判定しています。

参照

OS_Printf, OS_IsRunOnDebugger, OS_GetConsoleType

履歴

2009/10/30 デバッガ非接続時に関しての情報を追記
2008/04/15 表を追加
2007/11/05 記述の変更
2004/02/19 初版