GX_TrySetBankForOBJ

構文

#include <nitro/gx/gx_vramcnt.h>

BOOL GX_TrySetBankForOBJ(GXVRamOBJ obj);

引数

obj メイン2DエンジンのOBJに割り当てるVRAMバンクを指定

返り値

正常にVRAMバンクが割り当てられた場合にTRUEを返します。
割り当てようとするVRAMバンクが別ライブラリによってロックされている場合にはFALSEを返します。

説明

メイン2DエンジンのOBJへ指定されたVRAMバンクの割り当てを試みます。指定されたVRAMバンクがDisableになっているか、LCDCに割り当てられている場合に、そのVRAMバンクをメイン2DエンジンのOBJに割り当てます。
また、指定したVRAMバンクが他のライブラリによって排他ロックされている場合は割り当てに失敗します。

GX_VRAM_OBJ_NONE OBJにVRAMバンクを割り当てません。
GX_VRAM_OBJ_16_F OBJに16KBytes確保します。VRAM-Fを割り当てます。
GX_VRAM_OBJ_16_G OBJに16KBytes確保します。VRAM-Gを割り当てます。
GX_VRAM_OBJ_32_FG OBJに32KBytes確保します。VRAM-F,Gを割り当てます。
GX_VRAM_OBJ_64_E OBJに64KBytes確保します。VRAM-Eを割り当てます。
GX_VRAM_OBJ_80_EF OBJに80KBytes確保します。VRAM-E,Fを割り当てます。
GX_VRAM_OBJ_80_EG OBJに80KBytes確保します。VRAM-E,Gを割り当てます。
GX_VRAM_OBJ_96_EFG OBJに96KBytes確保します。VRAM-E,F,Gを割り当てます。
GX_VRAM_OBJ_128_A OBJに128KBytes確保します。VRAM-Aを割り当てます。
GX_VRAM_OBJ_128_B OBJに128KBytes確保します。VRAM-Bを割り当てます。
GX_VRAM_OBJ_256_AB OBJに256KBytes確保します。VRAM-A,Bを割り当てます。


以下にGXVRamOBJ型の型定義を示しておきます。

typedef enum
{
    GX_VRAM_OBJ_NONE   = 0x0000,
    GX_VRAM_OBJ_16_F   = GX_VRAM_F,                      // ARM9: HW_OBJ_VRAM  -->   HW_OBJ_VRAM + HW_VRAM_F_SIZE
    GX_VRAM_OBJ_16_G   = GX_VRAM_G,                      // ARM9: HW_OBJ_VRAM  -->   HW_OBJ_VRAM + HW_VRAM_G_SIZE
    GX_VRAM_OBJ_32_FG  = GX_VRAM_F | GX_VRAM_G,          // ARM9: HW_OBJ_VRAM  -->   HW_OBJ_VRAM + HW_VRAM_F_SIZE + HW_VRAM_G_SIZE
    GX_VRAM_OBJ_64_E   = GX_VRAM_E,                      // ARM9: HW_OBJ_VRAM  -->   HW_OBJ_VRAM + HW_VRAM_E_SIZE
    GX_VRAM_OBJ_80_EF  = GX_VRAM_E | GX_VRAM_F,          // ARM9: HW_OBJ_VRAM  -->   HW_OBJ_VRAM + HW_VRAM_E_SIZE + HW_VRAM_F_SIZE
    GX_VRAM_OBJ_80_EG  = GX_VRAM_E | GX_VRAM_G,          // ARM9: HW_OBJ_VRAM  -->   HW_OBJ_VRAM + HW_VRAM_E_SIZE + HW_VRAM_G_SIZE
    GX_VRAM_OBJ_96_EFG = GX_VRAM_E | GX_VRAM_F | GX_VRAM_G, // ARM9: HW_OBJ_VRAM  -->   HW_OBJ_VRAM + HW_VRAM_E_SIZE + HW_VRAM_F_SIZE + HW_VRAM_G_SIZE
    GX_VRAM_OBJ_128_A  = GX_VRAM_A,                      // ARM9: HW_OBJ_VRAM  -->   HW_OBJ_VRAM + HW_VRAM_A_SIZE
    GX_VRAM_OBJ_128_B  = GX_VRAM_B,                      // ARM9: HW_OBJ_VRAM  -->   HW_OBJ_VRAM + HW_VRAM_B_SIZE
    GX_VRAM_OBJ_256_AB = GX_VRAM_A | GX_VRAM_B           // ARM9: HW_OBJ_VRAM  -->   HW_OBJ_VRAM + HW_VRAM_A_SIZE + HW_VRAM_B_SIZE
}
GXVRamOBJ;

参照

GX_SetBankForOBJ, GX_GetBankForOBJ, GX_ResetBankForOBJ, GX_DisableBankForOBJ, GX_GetSizeOfOBJ

履歴

Ver. 2005/02/15 初版