# 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 初版