



#include <nitro/fs.h>
typedef u32 FSOverlayID;
#define FS_EXTERN_OVERLAY(name) extern u32 SDK_OVERLAY_ ## name ## _ID[1]
#define FS_OVERLAY_ID(name) ((u32)&(SDK_OVERLAY_ ## name ## _ID))
#define FS_EXTERN_LTDOVERLAY(name) extern u32 SDK_LTDOVERLAY_ ## name ## _ID[1]
#define FS_LTDOVERLAY_ID(name) ((u32)&(SDK_LTDOVERLAY_ ## name ## _ID))
FS_LoadOverlay()、FS_UnloadOverlay() に指定するオーバーレイモジュールのIDを定義します。
これらは makerom によりリンク時に生成されるので、プログラム側では以下のように使用します。
(1) .lsf ファイルにてオーバーレイを指定します。
例:
Overlay overlay_1
{
After main
Object func_1.o
}
(2) プログラム内にてマクロを使用してオーバーレイIDを宣言します。
例:
FS_EXTERN_OVERLAY(overlay_1);
(3) FS_LoadOverlay関数、FS_UnloadOverlay関数にオーバーレイIDを指定します。
例:
FS_LoadOverlay(MI_PROCESSOR_ARM9, FS_OVERLAY_ID(overlay_1));
または
FSOverlayID id = FS_OVERLAY_ID(overlay_1);
FS_LoadOverlay(MI_PROCESSOR_ARM9, id);
FS_EXTERN_LTDOVERLAY, FS_LTDOVERLAY_ID については、LTD 領域でオーバーレイを使用する場合に、FS_EXTERN_OVERLAY, FS_OVERLAY_ID の代わりに
使用するものとなります。
FSOverlayInfo
FS_LoadOverlayInfo
FS_LoadOverlay
FS_UnloadOverlay
2009/11/11 FS_EXTERN_LTDOVERLAY, FS_LTDOVERLAY_ID についての説明追加
2005/06/02 &を&へ修正
2004/11/02 構造体定義をヘッダファイルと同一に訂正
2004/09/24 リンク修正
2004/04/08 FSOverlayID の型変更による記述修正
2004/04/05 初版