Files
pokediamond/arm9/lib/include/GX_bgcnt.h

348 lines
7.3 KiB
C

#ifndef GUARD_GX_BGCNT_H
#define GUARD_GX_BGCNT_H
void *G2_GetBG0ScrPtr();
void *G2S_GetBG0ScrPtr();
void *G2_GetBG1ScrPtr();
void *G2S_GetBG1ScrPtr();
void *G2_GetBG2ScrPtr();
void *G2S_GetBG2ScrPtr();
void *G2_GetBG3ScrPtr();
void *G2S_GetBG3ScrPtr();
void *G2_GetBG0CharPtr();
void *G2S_GetBG0CharPtr();
void *G2_GetBG1CharPtr();
void *G2S_GetBG1CharPtr();
void *G2_GetBG2CharPtr();
void *G2S_GetBG2CharPtr();
void *G2_GetBG3CharPtr();
void *G2S_GetBG3CharPtr();
typedef union
{
u16 raw;
struct
{
u16 priority:2;
u16 charBase:4;
u16 mosaic:1;
u16 colorMode:1;
u16 screenBase:5;
u16 bgExtPltt:1;
u16 screenSize:2;
};
}
GXBg01Control;
typedef union
{
u16 raw;
struct
{
u16 priority:2;
u16 charBase:4;
u16 mosaic:1;
u16 colorMode:1;
u16 screenBase:5;
u16 _reserve:1;
u16 screenSize:2;
};
}
GXBg23ControlText;
typedef union
{
u16 raw;
struct
{
u16 priority:2;
u16 charBase:4;
u16 mosaic:1;
u16 _reserve:1;
u16 screenBase:5;
u16 areaOver:1;
u16 screenSize:2;
};
}
GXBg23ControlAffine;
typedef union
{
u16 raw;
struct
{
u16 priority:2;
u16 _reserve1:1;
u16 charBase:3;
u16 mosaic:1;
u16 _reserve2:1;
u16 screenBase:5;
u16 areaOver:1;
u16 screenSize:2;
};
}
GXBg23Control256x16Pltt;
typedef union
{
u16 raw;
struct
{
u16 priority:2;
u16 _reserve1:4;
u16 mosaic:1;
u16 _reserve2:1;
u16 screenBase:5;
u16 areaOver:1;
u16 screenSize:2;
};
}
GXBg23Control256Bmp, GXBg23ControlDCBmp;
typedef union
{
u16 raw;
struct
{
u16 priority:2;
u16 _reserve1:4;
u16 mosaic:1;
u16 _reserve2:6;
u16 areaOver:1;
u16 screenSize:2;
};
}
GXBg2ControlLargeBmp;
typedef enum
{
GX_BG_SCRSIZE_TEXT_256x256 = 0,
GX_BG_SCRSIZE_TEXT_512x256 = 1,
GX_BG_SCRSIZE_TEXT_256x512 = 2,
GX_BG_SCRSIZE_TEXT_512x512 = 3
}
GXBGScrSizeText;
typedef enum
{
GX_BG_SCRSIZE_AFFINE_128x128 = 0,
GX_BG_SCRSIZE_AFFINE_256x256 = 1,
GX_BG_SCRSIZE_AFFINE_512x512 = 2,
GX_BG_SCRSIZE_AFFINE_1024x1024 = 3
}
GXBGScrSizeAffine;
typedef enum
{
GX_BG_SCRSIZE_256x16PLTT_128x128 = 0,
GX_BG_SCRSIZE_256x16PLTT_256x256 = 1,
GX_BG_SCRSIZE_256x16PLTT_512x512 = 2,
GX_BG_SCRSIZE_256x16PLTT_1024x1024 = 3
}
GXBGScrSize256x16Pltt;
typedef enum
{
GX_BG_SCRSIZE_256BMP_128x128 = 0,
GX_BG_SCRSIZE_256BMP_256x256 = 1,
GX_BG_SCRSIZE_256BMP_512x256 = 2,
GX_BG_SCRSIZE_256BMP_512x512 = 3
}
GXBGScrSize256Bmp;
typedef enum
{
GX_BG_SCRSIZE_DCBMP_128x128 = 0,
GX_BG_SCRSIZE_DCBMP_256x256 = 1,
GX_BG_SCRSIZE_DCBMP_512x256 = 2,
GX_BG_SCRSIZE_DCBMP_512x512 = 3
}
GXBGScrSizeDcBmp;
typedef enum
{
GX_BG_SCRSIZE_LARGEBMP_512x1024 = 0,
GX_BG_SCRSIZE_LARGEBMP_1024x512 = 1
}
GXBGScrSizeLargeBmp;
typedef enum
{
GX_BG_COLORMODE_16 = 0,
GX_BG_COLORMODE_256 = 1
}
GXBGColorMode;
typedef enum
{
GX_BG_AREAOVER_XLU = 0,
GX_BG_AREAOVER_REPEAT = 1
}
GXBGAreaOver;
typedef enum
{
GX_BG_CHARBASE_0x00000 = 0,
GX_BG_CHARBASE_0x04000 = 1,
GX_BG_CHARBASE_0x08000 = 2,
GX_BG_CHARBASE_0x0c000 = 3,
GX_BG_CHARBASE_0x10000 = 4,
GX_BG_CHARBASE_0x14000 = 5,
GX_BG_CHARBASE_0x18000 = 6,
GX_BG_CHARBASE_0x1c000 = 7,
GX_BG_CHARBASE_0x20000 = 8,
GX_BG_CHARBASE_0x24000 = 9,
GX_BG_CHARBASE_0x28000 = 10,
GX_BG_CHARBASE_0x2c000 = 11,
GX_BG_CHARBASE_0x30000 = 12,
GX_BG_CHARBASE_0x34000 = 13,
GX_BG_CHARBASE_0x38000 = 14,
GX_BG_CHARBASE_0x3c000 = 15
}
GXBGCharBase;
typedef enum
{
GX_BG_SCRBASE_0x0000 = 0,
GX_BG_SCRBASE_0x0800 = 1,
GX_BG_SCRBASE_0x1000 = 2,
GX_BG_SCRBASE_0x1800 = 3,
GX_BG_SCRBASE_0x2000 = 4,
GX_BG_SCRBASE_0x2800 = 5,
GX_BG_SCRBASE_0x3000 = 6,
GX_BG_SCRBASE_0x3800 = 7,
GX_BG_SCRBASE_0x4000 = 8,
GX_BG_SCRBASE_0x4800 = 9,
GX_BG_SCRBASE_0x5000 = 10,
GX_BG_SCRBASE_0x5800 = 11,
GX_BG_SCRBASE_0x6000 = 12,
GX_BG_SCRBASE_0x6800 = 13,
GX_BG_SCRBASE_0x7000 = 14,
GX_BG_SCRBASE_0x7800 = 15,
GX_BG_SCRBASE_0x8000 = 16,
GX_BG_SCRBASE_0x8800 = 17,
GX_BG_SCRBASE_0x9000 = 18,
GX_BG_SCRBASE_0x9800 = 19,
GX_BG_SCRBASE_0xa000 = 20,
GX_BG_SCRBASE_0xa800 = 21,
GX_BG_SCRBASE_0xb000 = 22,
GX_BG_SCRBASE_0xb800 = 23,
GX_BG_SCRBASE_0xc000 = 24,
GX_BG_SCRBASE_0xc800 = 25,
GX_BG_SCRBASE_0xd000 = 26,
GX_BG_SCRBASE_0xd800 = 27,
GX_BG_SCRBASE_0xe000 = 28,
GX_BG_SCRBASE_0xe800 = 29,
GX_BG_SCRBASE_0xf000 = 30,
GX_BG_SCRBASE_0xf800 = 31
}
GXBGScrBase;
typedef enum
{
GX_BG_BMPSCRBASE_0x00000 = 0,
GX_BG_BMPSCRBASE_0x04000 = 1,
GX_BG_BMPSCRBASE_0x08000 = 2,
GX_BG_BMPSCRBASE_0x0c000 = 3,
GX_BG_BMPSCRBASE_0x10000 = 4,
GX_BG_BMPSCRBASE_0x14000 = 5,
GX_BG_BMPSCRBASE_0x18000 = 6,
GX_BG_BMPSCRBASE_0x1c000 = 7,
GX_BG_BMPSCRBASE_0x20000 = 8,
GX_BG_BMPSCRBASE_0x24000 = 9,
GX_BG_BMPSCRBASE_0x28000 = 10,
GX_BG_BMPSCRBASE_0x2c000 = 11,
GX_BG_BMPSCRBASE_0x30000 = 12,
GX_BG_BMPSCRBASE_0x34000 = 13,
GX_BG_BMPSCRBASE_0x38000 = 14,
GX_BG_BMPSCRBASE_0x3c000 = 15,
GX_BG_BMPSCRBASE_0x40000 = 16,
GX_BG_BMPSCRBASE_0x44000 = 17,
GX_BG_BMPSCRBASE_0x48000 = 18,
GX_BG_BMPSCRBASE_0x4c000 = 19,
GX_BG_BMPSCRBASE_0x50000 = 20,
GX_BG_BMPSCRBASE_0x54000 = 21,
GX_BG_BMPSCRBASE_0x58000 = 22,
GX_BG_BMPSCRBASE_0x5c000 = 23,
GX_BG_BMPSCRBASE_0x60000 = 24,
GX_BG_BMPSCRBASE_0x64000 = 25,
GX_BG_BMPSCRBASE_0x68000 = 26,
GX_BG_BMPSCRBASE_0x6c000 = 27,
GX_BG_BMPSCRBASE_0x70000 = 28,
GX_BG_BMPSCRBASE_0x74000 = 29,
GX_BG_BMPSCRBASE_0x78000 = 30,
GX_BG_BMPSCRBASE_0x7c000 = 31
}
GXBGBmpScrBase;
typedef enum
{
GX_BG_EXTPLTT_01 = 0,
GX_BG_EXTPLTT_23 = 1
}
GXBGExtPltt;
//GX_capture
typedef enum
{
GX_CAPTURE_DEST_VRAM_A_0x00000 = 0,
GX_CAPTURE_DEST_VRAM_B_0x00000 = 1,
GX_CAPTURE_DEST_VRAM_C_0x00000 = 2,
GX_CAPTURE_DEST_VRAM_D_0x00000 = 3,
GX_CAPTURE_DEST_VRAM_A_0x08000 = 4,
GX_CAPTURE_DEST_VRAM_B_0x08000 = 5,
GX_CAPTURE_DEST_VRAM_C_0x08000 = 6,
GX_CAPTURE_DEST_VRAM_D_0x08000 = 7,
GX_CAPTURE_DEST_VRAM_A_0x10000 = 8,
GX_CAPTURE_DEST_VRAM_B_0x10000 = 9,
GX_CAPTURE_DEST_VRAM_C_0x10000 = 10,
GX_CAPTURE_DEST_VRAM_D_0x10000 = 11,
GX_CAPTURE_DEST_VRAM_A_0x18000 = 12,
GX_CAPTURE_DEST_VRAM_B_0x18000 = 13,
GX_CAPTURE_DEST_VRAM_C_0x18000 = 14,
GX_CAPTURE_DEST_VRAM_D_0x18000 = 15
}
GXCaptureDest;
typedef enum
{
GX_CAPTURE_SIZE_128x128 = 0,
GX_CAPTURE_SIZE_256x64 = 1,
GX_CAPTURE_SIZE_256x128 = 2,
GX_CAPTURE_SIZE_256x192 = 3
}
GXCaptureSize;
typedef enum
{
GX_CAPTURE_SRCA_2D3D = 0,
GX_CAPTURE_SRCA_3D = 1
}
GXCaptureSrcA;
typedef enum
{
GX_CAPTURE_SRCB_VRAM_0x00000 = 0,
GX_CAPTURE_SRCB_MRAM = 1,
GX_CAPTURE_SRCB_VRAM_0x08000 = 2,
GX_CAPTURE_SRCB_VRAM_0x10000 = 4,
GX_CAPTURE_SRCB_VRAM_0x18000 = 6
}
GXCaptureSrcB;
typedef enum
{
GX_CAPTURE_MODE_A = 0,
GX_CAPTURE_MODE_B = 1,
GX_CAPTURE_MODE_AB = 2
}
GXCaptureMode;
#endif //GUARD_GX_BGCNT_H