void syMngInit( void )
なし
なし
システムマネージャを初期化します。システムマネージャは、以下の5つのファイバを生成します。 メインファイバは、通常のプログラムが動作するファイバです。 その他のファイバをサブファイバと呼びます。 ミドルウェアファイバはミドルウェアライブラリが使用しますので、 通常ではユーザが使用することはありません。
定義 意味 SYD_MNG_FLVL_TMR タイマファイバ SYD_MNG_FLVL_UHIGH 高優先度ファイバ SYD_MNG_FLVL_MAIN メインファイバ SYD_MNG_FLVL_MW ミドルウェアファイバ SYD_MNG_FLVL_UIDL アイドルファイバ
どのレベルのファイバが実行されていても、V-Sync割り込みが発生すると 強制的にサスペンドし、トップレベルファイバに制御を移します。 そして上記のファイバが順番に実行されます。
各サブファイバは、登録されたサブファイバ関数は順次実行する永久ループです。 すべての関数が実行されると、もう一度最初から実行されます。
メインを除く各レベルのファイバ毎にサブファイバ関数を8個まで登録できます。 次のレベルに制御を移すタイミングは以下の通りです。
サブファイバ関数のどれか1個でもTRUEを返した場合は、 次のレベルには制御を移しませんので注意が必要です。
- syMngSleep関数が実行された時
- すべてのサブファイバ関数がFALSEを返した時
- タイマファイバ実行中に最大実行時間を過ぎた時
デフォルトでは、V-Sync割り込みが発生するとメインファイバに実行を移します。 タイマファイバと高優先度ファイバは実行されません。 これらのファイバを実行したい場合は、syMngSetSfbrTopLvl関数によって トップレベルファイバを変更する必要があります。
<Ninja2> njInitDevice(); syMngInit(); syMngSetSfbrTopLvl(SYD_MNG_FLVL_TMR); <Kamui2> kmInitDevice(); syMngInit(); syMngSetSfbrTopLvl(SYD_MNG_FLVL_TMR);
システムマネージャは、初期化時にkmSetWaitVsyncCallbackを使用しています。 Vsync待ちコールバック関数を登録したい場合は、KaumiやNinjaの関数を 使用せずにsyMngEntryWaitVsyncCallback関数を使用してください。また、サブファイバ関数内からC言語の標準関数を含むすべてのライブラリ関数を 使用することはできません。
syMngFinish() システムマネージャの終了 syMngSetSfbrTopLvl() トップレベルファイバの設定 syMngEntryWaitVsyncCallback() Vsync待ちコールバック関数の登録