#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))
These macros define the module ID of the overlay that is specified by the FS_LoadOverlay
and FS_UnloadOverlay
functions. These are generated at link time by makerom
, so they can be used at on the program side as shown below.
(1) Use an LSF file to specify an overlay.
Example:
Overlay overlay_1
{
After main
Object func_1.o
}
(2) Use the macros in a program to declare an overlay ID.
Example:
FS_EXTERN_OVERLAY(overlay_1);
(3) Specify an overlay ID in the FS_LoadOverlay
function or the FS_UnloadOverlay
function.
Example:
FS_LoadOverlay(MI_PROCESSOR_ARM9, FS_OVERLAY_ID(overlay_1));
or
FSOverlayID id = FS_OVERLAY_ID(overlay_1);
FS_LoadOverlay(MI_PROCESSOR_ARM9, id);
FS_EXTERN_LTDOVERLAY, FS_LTDOVERLAY_ID
are used instead of FS_EXTERN_OVERLAY, FS_OVERLAY_ID
when using overlays in the LTD region.
FSOverlayInfo
FS_LoadOverlayInfo
FS_LoadOverlay
FS_UnloadOverlay
2009/11/11 Added descriptions of FS_EXTERN_LTDOVERLAY and FS_LTDOVERLAY_ID
2005/06/02 Changed & to &
2004/11/02 Corrected the structure definition to match the header file.
2004/09/24 Revised links.
2004/04/08 Revised the description in line with changes to the FSOverlayID type.
2004/04/05 Initial version.
CONFIDENTIAL