G2S_SetBG0Control

C Specification

#include <nitro/gx/gx_bgcnt.h>
void G2S_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 the sub 2D Engine's BG0.

Note:  When VRAM banks have been allocated to a BG Extended palette using GX_SetBankForSubBGExtPltt, when using 256-color mode, it will reference the BG Extended palette. 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 This specifies BG0 screen base block.

GX_BG_CHARBASE_0xnnnnn Specifies the BG0 character base block.

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

G2S_GetBG0Control

Revision History

02/09/2004 Initial version