# GX_SetBankForBG

## 構文

  `#include <nitro/gx/gx_vramcnt.h>`
  `void GX_SetBankForBG(GXVRamBG bg);`

## 引数

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

## 返り値

なし。

## 説明

指定されたVRAMバンクをメイン2DエンジンのＢＧに割り当てます。指定されたVRAMバンクがDisableになっているか、LCDCに割り当てられている場合に、そのVRAMバンクをメイン2DエンジンのBGに割り当てます。
(注意)以下で定義されていないVRAMの組み合わせは、連続的なアドレスに割り当てることができないので、この関数で設定することができません。VRAMの組み合わせによっては、`GX_SetBankForBGEx()` を使えば設定できる場合がありますので、そちらを参照してください。

`GX_VRAM_BG_NONE` | BGにVRAMバンクを割り当てません。
`GX_VRAM_BG_16_F` | BGに16KBytes確保します。VRAM-Fを割り当てます。
`GX_VRAM_BG_16_G` | BGに16KBytes確保します。VRAM-Gを割り当てます。
`GX_VRAM_BG_32_FG` | BGに32KBytes確保します。VRAM-F,Gを割り当てます。
`GX_VRAM_BG_64_E` | BGに64KBytes確保します。VRAM-Eを割り当てます。
`GX_VRAM_BG_80_EF` | BGに80KBytes確保します。VRAM-E,Fを割り当てます。
`GX_VRAM_BG_96_EFG` | BGに96KBytes確保します。VRAM-E,F,Gを割り当てます。
`GX_VRAM_BG_128_A` | BGに128KBytes確保します。VRAM-Aを割り当てます。
`GX_VRAM_BG_128_B` | BGに128KBytes確保します。VRAM-Bを割り当てます。
`GX_VRAM_BG_128_C` | BGに128KBytes確保します。VRAM-Cを割り当てます。
`GX_VRAM_BG_128_D` | BGに128KBytes確保します。VRAM-Dを割り当てます。
`GX_VRAM_BG_256_AB` | BGに256KBytes確保します。VRAM-A,Bを割り当てます。
`GX_VRAM_BG_256_BC` | BGに256KBytes確保します。VRAM-B,Cを割り当てます。
`GX_VRAM_BG_256_CD` | BGに256KBytes確保します。VRAM-C,Dを割り当てます。
`GX_VRAM_BG_384_ABC` | BGに384KBytes確保します。VRAM-A,B,Cを割り当てます。
`GX_VRAM_BG_384_BCD` | BGに384KBytes確保します。VRAM-B,C,Dを割り当てます。
`GX_VRAM_BG_512_ABCD` | BGに512KBytes確保します。VRAM-A,B,C,Dを割り当てます。
`GX_VRAM_BG_80_EG` | BGに80KBytes確保します。VRAM-E,Gを割り当てます。
`GX_VRAM_BG_256_AC` | BGに256KBytes確保します。VRAM-A,Cを割り当てます。
`GX_VRAM_BG_256_AD` | BGに256KBytes確保します。VRAM-A,Dを割り当てます。
`GX_VRAM_BG_256_BD` | BGに256KBytes確保します。VRAM-B,Dを割り当てます。
`GX_VRAM_BG_384_ABD` | BGに384KBytes確保します。VRAM-A,B,Dを割り当てます。
`GX_VRAM_BG_384_ACD` | BGに384KBytes確保します。VRAM-A,C,Dを割り当てます。

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

    typedef enum
    {
        GX_VRAM_BG_NONE     = 0x0000,
        GX_VRAM_BG_16_F     = GX_VRAM_F,                                     // ARM9: HW_BG_VRAM   -->   HW_BG_VRAM + HW_VRAM_F_SIZE
        GX_VRAM_BG_16_G     = GX_VRAM_G,                                     // ARM9: HW_BG_VRAM   -->   HW_BG_VRAM + HW_VRAM_G_SIZE
        GX_VRAM_BG_32_FG    = GX_VRAM_F | GX_VRAM_G,                         // ARM9: HW_BG_VRAM   -->   HW_BG_VRAM + HW_VRAM_F_SIZE + HW_VRAM_G_SIZE
        GX_VRAM_BG_64_E     = GX_VRAM_E,                                     // ARM9: HW_BG_VRAM   -->   HW_BG_VRAM + HW_VRAM_E_SIZE
        GX_VRAM_BG_80_EF    = GX_VRAM_E | GX_VRAM_F,                         // ARM9: HW_BG_VRAM   -->   HW_BG_VRAM + HW_VRAM_E_SIZE + HW_VRAM_F_SIZE
        GX_VRAM_BG_96_EFG   = GX_VRAM_E | GX_VRAM_F | GX_VRAM_G,             // ARM9: HW_BG_VRAM   -->   HW_BG_VRAM + HW_VRAM_E_SIZE + HW_VRAM_F_SIZE + HW_VRAM_G_SIZE
        GX_VRAM_BG_128_A    = GX_VRAM_A,                                     // ARM9: HW_BG_VRAM   -->   HW_BG_VRAM + HW_VRAM_A_SIZE
        GX_VRAM_BG_128_B    = GX_VRAM_B,                                     // ARM9: HW_BG_VRAM   -->   HW_BG_VRAM + HW_VRAM_B_SIZE
        GX_VRAM_BG_128_C    = GX_VRAM_C,                                     // ARM9: HW_BG_VRAM   -->   HW_BG_VRAM + HW_VRAM_C_SIZE
        GX_VRAM_BG_128_D    = GX_VRAM_D,                                     // ARM9: HW_BG_VRAM   -->   HW_BG_VRAM + HW_VRAM_D_SIZE
        GX_VRAM_BG_256_AB   = GX_VRAM_A | GX_VRAM_B,                         // ARM9: HW_BG_VRAM   -->   HW_BG_VRAM + HW_VRAM_A_SIZE + HW_VRAM_B_SIZE
        GX_VRAM_BG_256_BC   = GX_VRAM_B | GX_VRAM_C,                         // ARM9: HW_BG_VRAM   -->   HW_BG_VRAM + HW_VRAM_B_SIZE + HW_VRAM_C_SIZE
        GX_VRAM_BG_256_CD   = GX_VRAM_C | GX_VRAM_D,                         // ARM9: HW_BG_VRAM   -->   HW_BG_VRAM + HW_VRAM_C_SIZE + HW_VRAM_D_SIZE
        GX_VRAM_BG_384_ABC  = GX_VRAM_A | GX_VRAM_B | GX_VRAM_C,             // ARM9: HW_BG_VRAM   -->   HW_BG_VRAM + HW_VRAM_A_SIZE + HW_VRAM_B_SIZE + HW_VRAM_C_SIZE
        GX_VRAM_BG_384_BCD  = GX_VRAM_B | GX_VRAM_C | GX_VRAM_D,             // ARM9: HW_BG_VRAM   -->   HW_BG_VRAM + HW_VRAM_B_SIZE + HW_VRAM_C_SIZE + HW_VRAM_D_SIZE
        GX_VRAM_BG_512_ABCD = GX_VRAM_A | GX_VRAM_B | GX_VRAM_C | GX_VRAM_D, // ARM9: HW_BG_VRAM   -->   HW_BG_VRAM + HW_VRAM_A_SIZE + HW_VRAM_B_SIZE + HW_VRAM_C_SIZE + HW_VRAM_D_SIZE

        // discontinuous on LCDC memory
        GX_VRAM_BG_80_EG    = GX_VRAM_E | GX_VRAM_G,                         // ARM9: HW_BG_VRAM   -->   HW_BG_VRAM + HW_VRAM_E_SIZE + HW_VRAM_G_SIZE
        GX_VRAM_BG_256_AC   = GX_VRAM_A | GX_VRAM_C,                         // ARM9: HW_BG_VRAM   -->   HW_BG_VRAM + HW_VRAM_A_SIZE + HW_VRAM_C_SIZE
        GX_VRAM_BG_256_AD   = GX_VRAM_A | GX_VRAM_D,                         // ARM9: HW_BG_VRAM   -->   HW_BG_VRAM + HW_VRAM_A_SIZE + HW_VRAM_D_SIZE
        GX_VRAM_BG_256_BD   = GX_VRAM_B | GX_VRAM_D,                         // ARM9: HW_BG_VRAM   -->   HW_BG_VRAM + HW_VRAM_B_SIZE + HW_VRAM_D_SIZE
        GX_VRAM_BG_384_ABD  = GX_VRAM_A | GX_VRAM_B | GX_VRAM_D,             // ARM9: HW_BG_VRAM   -->   HW_BG_VRAM + HW_VRAM_A_SIZE + HW_VRAM_B_SIZE + HW_VRAM_D_SIZE
        GX_VRAM_BG_384_ACD  = GX_VRAM_A | GX_VRAM_C | GX_VRAM_D              // ARM9: HW_BG_VRAM   -->   HW_BG_VRAM + HW_VRAM_A_SIZE + HW_VRAM_C_SIZE + HW_VRAM_D_SIZE
    }
    GXVRamBG;

## 参照

GX_GetBankForBG, GX_ResetBankForBG, GX_DisableBankForBG, GX_GetSizeOfBG, GX_SetBankForBGEx

## 履歴

Ver. 2004/01/19