FSOverlayID, FS_OVERLAY_ID, FS_EXTERN_OVERLAY

FS_LDTOVERLAY_ID, FS_EXTERN_LDTOVERLAY

定義

#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 &を&amp;へ修正
2004/11/02 構造体定義をヘッダファイルと同一に訂正
2004/09/24 リンク修正
2004/04/08 FSOverlayID の型変更による記述修正
2004/04/05 初版