MB_Init

構文

#include <nitro/mb.h>

int MB_Init(void *work, const MBUserInfo *user, u32 ggid, u32 tgid, u32 dma);

引数

work MBの内部状態管理のために割り当てるメモリへのポインタ
このサイズは MB_SYSTEM_BUF_SIZE バイト以上である必要があります。
割り当てたメモリはMB_End()を呼ぶまで内部で使用されます。

以降の呼び出しでMB_StartParentFromIdle()を使用することが保証されている場合に限り、
このサイズをWM_SYSTEM_BUF_SIZEバイトだけ小さく用意することが許されます。
user ユーザデータが格納された構造体のポインタ
このポインタが指す内容はMB_Init()の中でのみ参照されます。
ggid ゲームグループIDを4バイトで指定します。
tgid TGIDを指定する 0x0000 から 0xFFFF までの 16bit の値
この値にMB_TGID_AUTOを指定すると、内部でWM_GetNextTgid()を呼び出して TGID を自動取得します。
IPL では TGID、GGID、MACアドレスの全てが同じ場合には同じ親機とみなされて表示情報が更新されません。
一度親機をやめた後に、一度ユーザ名を更新して再度MB親機として起動した際に子機IPLで表示されるユーザ情報が更新されない可能性があります。
MB_TGID_AUTOを指定しない場合はOS_GetVBlankCount()やRTCを使用してなるべく起動毎に異なる値となるように設定してください。
dma MBの内部処理のために割り当てるDMAチャンネル
このDMAチャンネルはMB_End()を呼ぶまで内部で使用されます。

返り値

初期化が正しく完了すれば MB_SUCCESS を返します。

説明

MBライブラリを初期化します。
全てのMB関数の呼び出しの前に少なくとも1回呼び出す必要があります。
2回以上呼び出された場合は何も行いません。

この関数の呼び出しの後、MB_StartParent()が呼ばれるまでに、MB_SetParentCommParam()で最大接続子機サイズを指定してください。

参照

MBUserInfo MB_StartParent MB_StartParentFromIdle

履歴

2005/04/11 引数 tgid の型を u32 に拡張、MB_TGID_AUTO の説明を追加
2004/11/24 MB_StartParentEx()MB_StartParentFromIdle()に命名変更
2004/10/18 MB_StartParentEx()に関する記述を追加
2004/10/05 内部動作の説明の誤りを修正
2004/09/30 引数の追加
2004/08/09 初版