# G2S_SetBG2ControlText

## C Specification

  `#include <nitro/gx/gx_bgcnt.h>`

      void G2S_SetBG2ControlText(
          GXBGScrSizeText screenSize,
          GXBGColorMode colorMode,
          GXBGScrBase screenBase,
          GXBGCharBase charBase
      );

## Arguments

screenSize | screen size
colorMode | Color mode
screenBase | Screen base block
charBase | Character base block

## Return Values

None.

## Description

This function sets the sub 2D Engine's BG2 (in the case of text BG).
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` | Specifies BG2 screen base block.

`GX_BG_CHARBASE_0xnnnnn` | Specifies the BG2 character base block.

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;

## See Also

G2S_GetBG2ControlText

## Revision History

02/09/2004 Initial version

CONFIDENTIAL