G2_SetBG0Control

C Specification

#include <nitro/gx/gx_bgcnt.h>
void G2_SetBG0Control(
GXBGScrSizeText screenSize,
GXBGColorMode colorMode,
GXBGScrBase screenBase,
GXBGCharBase charBase,
GXBGExtPltt bgExtPltt
);

Arguments

screenSize screen size
colorMode Color mode
screenBase Screen base block
charBase Character base block
bgExtPltt Selects the BG Extended palette slot

Return Values

None.

Description

This function sets BG0 (for 2D).
Note:  When VRAM banks are allocated to the BG Extended palette with GX_SetBankForBGExtPltt, the BG Extended palette is referenced if the 256-color mode is used. The standard palette is referenced in all other cases.

GX_BG_SCRSIZE_TEXT_256x256 Sets screen size to 256x256 pixels (2 kilobytes)
GX_BG_SCRSIZE_TEXT_512x256 Sets screen size to 512x256 pixels (4 kilobytes)
GX_BG_SCRSIZE_TEXT_256x512 Sets screen size to 256x512 pixels (4 kilobytes)
GX_BG_SCRSIZE_TEXT_512x512 Sets the screen size to 512x512 pixels (8 kilobytes)

GX_BG_COLORMODE_16 16-color mode
GX_BG_COLORMODE_256 256-color mode

GX_BG_SCRBASE_0xnnnn Specifies the BG0 screen base block.
Refer to GX_SetBGScrOffset.

GX_BG_CHARBASE_0xnnnnn Specifies the BG0 character base block.
Refer to GX_SetBGCharOffset.

GX_BG_EXTPLTT_01 Uses slot 0 when using the BG Extended palette.
GX_BG_EXTPLTT_23 Uses slot 2 when using the BG Extended palette.

The following describes the enumerated type definitions of the arguments.

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_COLORMODE_16 = 0,
GX_BG_COLORMODE_256 = 1
}
GXBGColorMode;

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_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_EXTPLTT_01 = 0,
GX_BG_EXTPLTT_23 = 1
}
GXBGExtPltt;

See Also

G2_GetBG0Control

Revision History

02/09/2004

01/19/2004 Initial version.