GX_SetBankForBGEx

構文

#include <nitro/gx/gx_vramcnt.h>

void GX_SetBankForBGEx(GXVRamBG bg1, GXVRamBG bg2);

引数

bg1 メイン2DエンジンのBG-VRAMの0x6000000-0x6017FFFに割り当てられるVRAMバンクを指定します。VRAM-E,F,Gの組み合わせのみが設定可能です。
bg2 メイン2DエンジンのBG-VRAMの0x6020000-0x607FFFFに割り当てられるVRAMバンクを指定します。VRAM-A,B,C,Dの組み合わせのみが設定可能で、最大384KBです。

返り値

なし。

説明

BG-VRAM上で連続したアドレスにマッピングすることができないバンクの組み合わせを設定します。

この関数を使用してVRAMのバンク設定をした場合、VRAM-E,F,GはBG-VRAMの先頭0x6000000からの連続したアドレスにマッピングされ、またVRAM-A,B,C,DはBG-VRAMの0x6020000からの連続したアドレスにマッピングされます。

第一引数で指定できるパラメータ
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_80_EG BGに80KBytes確保します。VRAM-E,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_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_SetBankForBG

履歴

2005/05/12 指定可能な列挙値一覧から GX_VRAM_BG_512_ABCD を削除。GXVRamBG の引用を修正。
2004/11/25 初回登録