# Graphics (GX/G2/G3/G3X) API Function List

# General 2D/3D Graphics (GX)

## Common to the 2D Graphics Engines

### Power Control

GX_SetPower | Collectively sets each type of power control.
GX_GetPower | This function acquires the status of each type of power control.
GX_Power2D | Sets the main and sub 2D graphics engines ON/OFF.
GX_Power3D | Sets the geometry and rendering engines ON/OFF.
GX_Power2DMain | Sets the main 2D graphics engine ON/OFF.
GX_Power2DSub | Sets the sub 2D graphics engine ON/OFF.
GX_PowerGeometry | Sets geometry engine ON/OFF.
GX_PowerRender | Sets rendering engine ON/OFF.
GX_SetDispSelect | Sets the LCD output destination.
GX_GetDispSelect | Gets the LCD output destination.

### Initialization

GX_Init | Initializes the graphics system.
GX_InitEx | Initializes the graphics system. Also changes the default DMA number for GX.
GX_SetDefaultDMA | Changes the DMA number setting used by GX.
GX_GetDefaultDMA | Obtains the DMA number setting used by GX.

### Allocating VRAM Banks To Resources

GX_SetBankForBG | Specifies VRAM bank, and allocates it to the Main 2D Engine BG.
GX_SetBankForBGEx | Specifies the VRAM bank with the combination that cannot be allocated to the contiguous addresses, and allocates it to the Main 2D Engine BG.
GX_SetBankForOBJ | Specifies VRAM bank, and allocates it to the Main 2D Engine OBJ.
GX_SetBankForBGExtPltt | Specifies VRAM bank, and allocates it to the Main 2D Engine BG expanded palette.
GX_SetBankForOBJExtPltt | Specifies VRAM bank, and allocates it to the Main 2D Engine OBJ expanded palette.
GX_SetBankForTex | Specifies VRAM bank, and allocates it to the texture image slot.
GX_SetBankForTexPltt | Specifies VRAM bank, and allocates it to the texture palette slot.
GX_SetBankForClearImage | Specifies VRAM bank, and allocates it to clear image.
GX_SetBankForSubBG | Specifies VRAM bank, and allocates it to the Sub 2D Engine BG.
GX_SetBankForSubOBJ | Specifies VRAM bank, and allocates it to the Sub 2D Engine OBJ.
GX_SetBankForSubBGExtPltt | Specifies VRAM bank, and allocates it to the Sub 2D Engine BG expanded palette.
GX_SetBankForSubOBJExtPltt | Specifies VRAM bank, and allocates it to the Sub 2D Engine OBJ expanded palette.
GX_SetBankForARM7 | Specifies VRAM bank, and allocates it to ARM7 memory space.
GX_SetBankForLCDC | Specifies VRAM bank, and allocates it to LCDC memory space.
GX_TrySetBankForBG | Tries to allocate a VRAM bank to the main 2D engine BG.
GX_TrySetBankForBGEx | Tries to allocate VRAM banks in a combination that cannot be allocated to contiguous addresses to the main 2D engine BG.
GX_TrySetBankForOBJ | Tries to allocate a VRAM bank to the main 2D engine OBJ.
GX_TrySetBankForBGExtPltt | Tries to allocate a VRAM bank to the main 2D engine BG extended palette.
GX_TrySetBankForOBJExtPltt | Tries to allocate a VRAM bank to the main 2D engine OBJ extended palette.
GX_TrySetBankForTex | Tries to allocate a VRAM bank to the texture image slot.
GX_TrySetBankForTexPltt | Tries to allocate a VRAM bank to the texture palette slot.
GX_TrySetBankForClearImage | Tries to allocate a VRAM bank to clear image.
GX_TrySetBankForSubBG | Tries to allocate a VRAM bank to the sub 2D engine BG.
GX_TrySetBankForSubOBJ | Tries to allocate a VRAM bank to the sub 2D engine OBJ.
GX_TrySetBankForSubBGExtPltt | Tries to allocate a VRAM bank to the sub 2D engine BG extended palette.
GX_TrySetBankForSubOBJExtPltt | Tries to allocate a VRAM bank to the main 2D engine OBJ extended palette.
GX_TrySetBankForARM7 | Tries to allocate a VRAM bank to the ARM7 memory space.
GX_TrySetBankForLCDC | Tries to allocate a VRAM bank to the LCDC memory space.

### Obtaining Information on VRAM Banks Allocated to Resources

GX_GetBankForBG | Gets information on VRAM bank allocated to the Main 2D Engine BG.
GX_GetBankForOBJ | Gets information on VRAM bank allocated to the Main 2D Engine OBJ.
GX_GetBankForBGExtPltt | Gets information on VRAM bank allocated to the Main 2D Engine BG expanded palette.
GX_GetBankForOBJExtPltt | Gets information on VRAM bank allocated to the Main 2D Engine OBJ expanded palette.
GX_GetBankForTex | Gets information on VRAM bank allocated to the texture image slot.
GX_GetBankForTexPltt | Gets information on VRAM bank allocated to the texture palette slot.
GX_GetBankForClearImage | Gets information on VRAM bank allocated to clear image.
GX_GetBankForSubBG | Gets information on VRAM bank allocated to the Sub 2D Engine BG.
GX_GetBankForSubOBJ | Gets information on VRAM bank allocated to the Sub 2D Engine OBJ.
GX_GetBankForSubBGExtPltt | Gets information on VRAM bank allocated to the Sub 2D Engine BG expanded palette.
GX_GetBankForSubOBJExtPltt | Gets information on VRAM bank allocated to the Sub 2D Engine OBJ expanded palette.
GX_GetBankForARM7 | Gets information on VRAM bank allocated to ARM7 memory space.
GX_GetBankForLCDC | Gets information on VRAM bank allocated to LCDC.

### Switching VRAM Banks That Were Allocated To ResourcesTo LCDC Memory Space

GX_ResetBankForBG | Allocates VRAM bank that was allocated to the Main 2D Engine BG to LCDC memory space.
GX_ResetBankForOBJ | Allocates VRAM bank that was allocated to the Main 2D Engine OBJ to LCDC memory space.
GX_ResetBankForBGExtPltt | Allocates VRAM bank that was allocated to the Main 2D Engine BG expanded palette to LCDC memory space.
GX_ResetBankForOBJExtPltt | Allocates VRAM bank that was allocated to the Main 2D Engine OBJ expanded palette to LCDC memory space.
GX_ResetBankForTex | Allocates VRAM bank that was allocated to texture image slot to LCDC memory space.
GX_ResetBankForTexPltt | Allocates VRAM bank that was allocated to texture palette slot to LCDC memory space.
GX_ResetBankForClearImage | Allocates VRAM bank that was allocated to clear image to LCDC memory space.
GX_ResetBankForSubBG | Allocates VRAM bank that was allocated to the Sub 2D Engine BG to LCDC memory space.
GX_ResetBankForSubOBJ | Allocates VRAM bank that was allocated to the Sub 2D Engine OBJ to LCDC memory space.
GX_ResetBankForSubBGExtPltt | Allocates VRAM bank that was allocated to the Sub 2D Engine BG expanded palette to LCDC memory space.
GX_ResetBankForSubOBJExtPltt | Allocates VRAM bank that was allocated to the Sub 2D Engine OBJ expanded palette to LCDC memory space.
GX_ResetBankForARM7 | Allocates VRAM bank that was allocated to ARM7 to LCDC memory space.

### Releasing VRAM Banks That Were Allocated To Resources

GX_DisableBankForBG | Disables VRAM bank that was allocated to the Main 2D Engine BG.
GX_DisableBankForOBJ | Disables VRAM bank that was allocated to the Main 2D Engine OBJ.
GX_DisableBankForBGExtPltt | Disables VRAM bank that was allocated to the Main 2D Engine BG expanded palette.
GX_DisableBankForOBJExtPltt | Disables VRAM bank that was allocated to the Main 2D Engine OBJ expanded palette.
GX_DisableBankForTex | Disables VRAM bank that was allocated to texture image slot.
GX_DisableBankForTexPltt | Disables VRAM bank that was allocated to texture palette slot.
GX_DisableBankForClearImage | Disables VRAM bank that was allocated to clear image slot.
GX_DisableBankForSubBG | Disables VRAM bank that was allocated to the Sub 2D Engine BG.
GX_DisableBankForSubOBJ | Disables VRAM bank that was allocated to the Sub 2D Engine OBJ.
GX_DisableBankForSubBGExtPltt | Disables VRAM bank that was allocated to the Sub 2D Engine BG expanded palette.
GX_DisableBankForSubOBJExtPltt | Disables VRAM bank that was allocated to the Sub 2D Engine OBJ expanded palette.
GX_DisableBankForARM7 | Disables VRAM bank that was allocated to ARM7.
GX_DisableBankForLCDC | Disables VRAM bank that was allocated to LCDC.

### Getting Resource Sizes

GX_GetSizeOfBG | Returns the Main 2D Engine BG size in bytes.
GX_GetSizeOfOBJ | Returns the Main 2D Engine OBJ size in bytes.
GX_GetSizeOfBGExtPltt | Returns the Main 2D Engine BG expanded palette size in bytes.
GX_GetSizeOfOBJExtPltt | Returns the Main 2D Engine OBJ expanded palette size in bytes.
GX_GetSizeOfTex | Returns the texture image size in bytes.
GX_GetSizeOfTexPltt | Returns the texture palette size in bytes.
GX_GetSizeOfClearImage | Returns the clear image size in bytes.
GX_GetSizeOfSubBG | Returns the Sub 2D Engine BG size in bytes.
GX_GetSizeOfSubOBJ | Returns the Sub 2D Engine OBJ size in bytes.
GX_GetSizeOfSubBGExtPltt | Returns the Sub 2D Engine BG expanded palette size in bytes.
GX_GetSizeOfSubOBJExtPltt | Returns the Sub 2D Engine OBJ expanded palette size in bytes.
GX_GetSizeOfARM7 | Returns the size of VRAM allocated to ARM7 in bytes.

### Interrupts and Miscellaneous

GX_GetVCount | Reads the V-Counter value.
GX_SetVCount | Writes the V-Counter value.
GX_IsHBlank | Tests whether in H-Blank period.
GX_IsVBlank | Tests whether in V-Blank period.
GX_IsVCountEq | Tests whether in V-Counter matching period.
GX_VCountEqIntr | Sets V-Counter matching interrupts to enable/disable.
GX_SetVCountEqVal | This function configures the parity value that will be equal to the V-counter.
GX_GetVCountEqVal | Acquires V-Counter matching set value.
GX_HBlankIntr | Sets H-Blank interrupts to enable/disable.
GX_VBlankIntr | Sets V-Blank interrupts to enable/disable.

## Main 2D Graphics Engine

### Display Mode Settings

GX_SetGraphicsMode | Sets display mode and BG mode.
GX_GetDispCnt | Gets the value of the display control register

### Hide/Show Settings

GX_SetVisiblePlane | Hide/Show settings for BG and OBJ.
GX_GetVisiblePlane | Obtains the Hide/Show settings for BG and OBJ
GX_SetVisibleWnd | Hide/Show settings for windows.
GX_GetVisibleWnd | Obtains the Hide/Show settings for the window
GX_DispOn | Turns ON output to the LCD.
GX_DispOff | Turns OFF output to the LCD.
GX_BlankScr | This function will be deleted from future releases.
GX_HBlankOBJProc | Sets whether OBJ processing occurs during H-Blanks.

### Offset Settings

GX_SetBGScrOffset | Sets screen offset.
GX_SetBGCharOffset | Sets character offset.

### OBJ Mapping Mode Settings

GX_SetOBJVRamModeChar | Sets character OBJ mapping mode.
GX_GetOBJVRamModeChar | Gets character OBJ mapping mode
GX_SetOBJVRamModeBmp | Sets bitmap OBJ mapping mode.
GX_GetOBJVRamModeBmp | Gets bitmap OBJ mapping mode

### Loading Resources (2D)

GX_LoadOBJ | Transfers OBJ data to OBJ-VRAM
GX_LoadOAM | Transfers OAM data to OAM.
GX_LoadBGPltt | Transfers standard BG palette data to standard BG palette RAM.
GX_LoadOBJPltt | Transfers standard OBJ palette data to standard OBJ palette RAM.
GX_LoadBG0Scr | Transfers data to the BG0 screen.
GX_LoadBG1Scr | Transfers data to the BG1 screen..
GX_LoadBG2Scr | Transfers data to the BG2 screen.
GX_LoadBG3Scr | Transfers data to the BG3 screen.
GX_LoadBG2Bmp | Transfers bit map data to BG2.
GX_LoadBG3Bmp | Transfers bit map data to BG3.
GX_LoadBG0Char | Transfers data to BG0 character.
GX_LoadBG1Char | Transfers data to BG1 character.
GX_LoadBG2Char | Transfers data to BG2 character.
GX_LoadBG3Char | Transfers data to BG3 character.
GX_BeginLoadBGExtPltt | Call before transferring data to BG extended palette.
GX_LoadBGExtPltt | Transfers data to BG extended palette.
GX_EndLoadBGExtPltt | Call after all data transfer to BG extended palette is finished.
GX_BeginLoadOBJExtPltt | Call before transferring data to OBJ extended palette.
GX_LoadOBJExtPltt | Transfers data to OBJ extended palette.
GX_EndLoadOBJExtPltt | Call after data transfer to OBJ extended palette is complete.

### Loading Resources (3D)

GX_BeginLoadTex | Call before transferring to texture image slot.
GX_LoadTex | Transfers data to texture image slot.
GX_EndLoadTex | Call after all data has been transferred to texture image slot.
GX_LoadTexEx | Transfers data to the VRAM bank that can be allocated to the texture image slot.
GX_BeginLoadTexPltt | Call before transferring to texture palette slot.
GX_LoadTexPltt | Transfers data to texture palette slot.
GX_EndLoadTexPltt | Call after all data has been transferred to texture palette slot.
GX_LoadTexPlttEx | Transfers data to the VRAM bank that can be allocated to the texture palette slot.
GX_BeginLoadClearImage | Call before transferring to clear image slot.
GX_LoadClearImageColor | Transfers color data to clear image slot.
GX_LoadClearImageDepth | Transfers depth data to clear image slot.
GX_EndLoadClearImage | Call after all data has been transferred to clear image slot.

### Other

GX_SetCapture | Sets screen capture.
GX_ResetCapture | Resets screen capture. Normally, it is reset automatically after each capture.
GX_SetMasterBrightness | Sets master brightness.
GX_GetMasterBrightness | Gets master brightness.

## Sub 2D Graphics Engine

### Display Mode Settings

GXS_SetGraphicsMode | Sets BG mode.
GXS_GetDispCnt | Gets the display control register settings.

### Hide/Show Settings

GXS_SetVisiblePlane | Hide/Show settings for BG and OBJ.
GXS_GetVisiblePlane | Obtains the Hide/Show settings for BG and OBJ
GXS_SetVisibleWnd | Hide/Show settings for windows.
GXS_GetVisibleWnd | Obtains the Hide/Show settings for the window
GXS_DispOn | Turns ON output to the LCD.
GXS_DispOff | Turns OFF output to the LCD.
GXS_HBlankOBJProc | Sets whether OBJ processing occurs during H-Blanks.

### OBJ Mapping Mode Settings

GXS_SetOBJVRamModeChar | Sets character OBJ mapping mode.
GXS_GetOBJVRamModeChar | Gets character OBJ mapping mode
GXS_SetOBJVRamModeBmp | Sets bitmap OBJ mapping mode.
GXS_GetOBJVRamModeBmp | Gets bitmap OBJ mapping mode

### Loading Resources

GXS_LoadOBJ | Transfers OBJ data to OBJ-VRAM
GXS_LoadOAM | Transfers OAM data to OAM.
GXS_LoadBGPltt | Transfers standard BG palette data to standard BG palette RAM.
GXS_LoadOBJPltt | Transfers standard OBJ palette data to standard OBJ palette RAM.
GXS_LoadBG0Scr | Transfers data to the BG0 screen.
GXS_LoadBG1Scr | Transfers data to the BG1 screen..
GXS_LoadBG2Scr | Transfers data to the BG2 screen.
GXS_LoadBG3Scr | Transfers data to the BG3 screen.
GXS_LoadBG2Bmp | Transfers bit map data to BG2.
GXS_LoadBG3Bmp | Transfers bit map data to BG3.
GXS_LoadBG0Char | Transfers data to BG0 character.
GXS_LoadBG1Char | Transfers data to BG1 character.
GXS_LoadBG2Char | Transfers data to BG2 character.
GXS_LoadBG3Char | Transfers data to BG3 character.
GXS_BeginLoadBGExtPltt | Call before transferring data to BG extended palette.
GXS_LoadBGExtPltt | Transfers data to BG extended palette.
GXS_EndLoadBGExtPltt | Call after all data transfer to BG extended palette is finished.
GXS_BeginLoadOBJExtPltt | Call before transferring data to OBJ extended palette.
GXS_LoadOBJExtPltt | Transfers data to OBJ extended palette.
GXS_EndLoadOBJExtPltt | Call after data transfer to OBJ extended palette is complete.

### Other

GXS_SetMasterBrightness | Sets master brightness.
GXS_GetMasterBrightness | Gets the master brightness.

# 2D Graphics (G2)

## Common to the 2D Graphics Engines

### OAM

G2_SetOBJAttr | Sets each object attribute.
G2_SetOBJAffine | Sets object affine conversion.
G2_SetOBJPosition | Sets object XY coordinates.
G2_SetOBJPriority | Sets object display priority level.
G2_SetOBJMode | Sets object OBJ mode.
G2_SetOBJEffect | Sets object flip/affine conversion parameters.
G2_SetOBJShape | Sets object shape.
G2_SetOBJCharName | Sets the name of first character in the object.
G2_SetOBJColorMode | Sets color mode for the object.
G2_OBJMosaic | Sets whether or not to apply mosaic to OBJ.
G2_GetOBJPosition | Obtains the x,y coordinates of the object.
G2_GetOBJPriority | Obtains the display priority of the object.
G2_GetOBJMode | Obtains the OBJ mode of the object.
G2_GetOBJColorParam | Obtains the color parameters of the object.
G2_GetOBJEffect | Obtains the flip/affine mode of the object.
G2_GetOBJShape | Obtains the shape of the object.
G2_GetOBJCharName | Obtains the name of first character in the object.
G2_GetOBJColorMode | Obtains the color mode of the object.

## Main 2D Graphics Engine

### BG Control

G2_SetBG0Control | Sets each type of BG0 control.
G2_GetBG0Control | Gets settings for each type of BG0 control.
G2_SetBG1Control | Sets each type of BG1 control.
G2_GetBG1Control | Gets settings for each type of BG1 control.
G2_SetBG2ControlText | Sets each type of BG2 control (in the case of text mode).
G2_GetBG2ControlText | Gets the settings for all BG2 controls (when in text mode).
G2_SetBG2ControlAffine | Sets each type of BG2 control (in the case of affine mode).
G2_GetBG2ControlAffine | Gets the settings for all BG2 controls (when in affine mode).
G2_SetBG2Control256x16Pltt | Sets each type of BG2 control (in the case of 256x16 palette character BG).
G2_GetBG2Control256x16Pltt | Gets settings for all BG2 controls (for 256x16 palette character BG).
G2_SetBG2Control256Bmp | Sets each type of BG2 control (in the case of 256 bitmap BG).
G2_GetBG2Control256Bmp | Gets settings for all BG2 controls (for 256 bitmap BG).
G2_SetBG2ControlDCBmp | Sets each type of BG2 control (in the case of direct color bitmap BG).
G2_GetBG2ControlDCBmp | Gets settings for all BG2 controls (for direct color bitmap BG).
G2_SetBG2ControlLargeBmp | Sets each type of BG2 control (in the case of large screen 256-color bitmap BG).
G2_GetBG2ControlLargeBmp | Gets settings for all BG2 controls (for large screen 256-color bitmap BG).
G2_SetBG3ControlText | Sets each type of BG3 control (in the case of text mode).
G2_GetBG3ControlText | Gets settings for all BG3 controls (when in text mode).
G2_SetBG3ControlAffine | Sets each type of BG3 control (in the case of affine mode).
G2_GetBG3ControlAffine | Gets settings for all BG3 controls (when in affine mode).
G2_SetBG3Control256x16Pltt | Sets each type of BG3 control (in the case of 256x16 palette character BG).
G2_GetBG3Control256x16Pltt | Gets settings for all BG3 controls (for 256x16 palette character BG).
G2_SetBG3Control256Bmp | Sets each type of BG3 control (in the case of 256 bitmap BG).
G2_GetBG3Control256Bmp | Gets settings for all BG3 controls (for 256 bitmap BG).
G2_SetBG3ControlDCBmp | Sets each type of BG3 control (in the case of direct color bitmap BG).
G2_GetBG3ControlDCBmp | Gets settings for all BG3 controls (for direct color bitmap BG).
G2_GetBG2ExtMode | Gets the BG2 affine extended BG type.
G2_GetBG3ExtMode | Gets the BG3 affine extended BG type.

### Setting BG Display Priority Levels

G2_SetBG0Priority | Sets the BG0 display priority level.
G2_SetBG1Priority | Sets the BG1 display priority level.
G2_SetBG2Priority | Sets the BG2 display priority level.
G2_SetBG3Priority | Sets the BG3 display priority level.

### Setting To Apply Or Not Apply Mosaic To BG

G2_BG0Mosaic | Sets whether or not to apply mosaic to BG0.
G2_BG1Mosaic | Sets whether or not to apply mosaic to BG1.
G2_BG2Mosaic | Sets whether or not to apply mosaic to BG2.
G2_BG3Mosaic | Sets whether or not to apply mosaic to BG3.

### Acquiring Pointers

G2_GetBG0ScrPtr | Returns a pointer to the BG0 screen base.
G2_GetBG1ScrPtr | Returns a pointer to the BG1 screen base.
G2_GetBG2ScrPtr | Returns a pointer to the BG2 screen base.
G2_GetBG3ScrPtr | Returns a pointer to the BG3 screen base.
G2_GetBG0CharPtr | Returns a pointer to the BG0 character base.
G2_GetBG1CharPtr | Returns a pointer to the BG1 character base.
G2_GetBG2CharPtr | Returns a pointer to the BG2 character base.
G2_GetBG3CharPtr | Returns a pointer to the BG3 character base.
G2_GetOBJCharPtr | Returns a pointer to the OBJ character base.

### Setting BG Plane Offsets

G2_SetBG0Offset | Sets the BG0 plane offset.
G2_SetBG1Offset | Sets the BG1 plane offset.
G2_SetBG2Offset | Sets the BG2 plane offset.
G2_SetBG3Offset | Sets the BG3 plane offset.

### Setting BG Plane Affine Conversions

G2_SetBG2Affine | Sets affine conversions applied to the BG2 plane.
G2_SetBG3Affine | Sets affine conversions applied to the BG3 plane.

### Setting Windows

G2_SetWnd0InsidePlane | Sets a plane that comes inside window0.
G2_GetWnd0InsidePlane | Gets settings for plane inside window0.
G2_SetWnd1InsidePlane | Sets a plane that comes inside window1.
G2_GetWnd1InsidePlane | Gets settings for plane inside window1.
G2_SetWndOutsidePlane | Sets a plane that comes outside the window.
G2_GetWndOutsidePlane | Gets settings for plane outside the window.
G2_SetWndOBJInsidePlane | Sets a plane that comes inside the OBJ window.
G2_GetWndOBJInsidePlane | Gets settings for plane inside the OBJ window.
G2_SetWnd0Position | Sets window0 position.
G2_SetWnd1Position | Sets window1 position.

### Mosaic

G2_SetBGMosaicSize | Sets the size of the mosaic that is applied to BG.
G2_SetOBJMosaicSize | Sets the size of the mosaic that is applied to OBJ.

### Color Special Effects

G2_BlendNone | Sets to not perform color special effects.
G2_SetBlendAlpha | Performs alpha-blending.
G2_SetBlendBrightness | Controls brightness.
G2_SetBlendBrightnessExt | Controls brightness, and performs alpha-blending only on OBJ and 3D.
G2_ChangeBlendAlpha | Sets the alpha-blending coefficient.
G2_ChangeBlendBrightness | Sets the brightness update coefficient.

## Sub 2D Graphics Engine

### BG Control

G2S_SetBG0Control | Sets each type of BG0 control.
G2S_GetBG0Control | Gets settings for each type of BG0 control.
G2S_SetBG1Control | Sets each type of BG1 control.
G2S_GetBG1Control | Gets settings for each type of BG1 control.
G2S_SetBG2ControlText | Sets each type of BG2 control (in the case of text mode).
G2S_GetBG2ControlText | Gets the settings for all BG2 controls (when in text mode).
G2S_SetBG2ControlAffine | Sets each type of BG2 control (in the case of affine mode).
G2S_GetBG2ControlAffine | Gets the settings for all BG2 controls (when in affine mode).
G2S_SetBG2Control256x16Pltt | Sets each type of BG2 control (in the case of 256x16 palette character BG).
G2S_GetBG2Control256x16Pltt | Gets settings for all BG2 controls (for 256x16 palette character BG).
G2S_SetBG2Control256Bmp | Sets each type of BG2 control (in the case of 256 bitmap BG).
G2S_GetBG2Control256Bmp | Gets settings for all BG2 controls (for 256 bitmap BG).
G2S_SetBG2ControlDCBmp | Sets each type of BG2 control (in the case of direct color bitmap BG).
G2S_GetBG2ControlDCBmp | Gets settings for all BG2 controls (for direct color bitmap BG).
G2S_SetBG3ControlText | Sets each type of BG3 control (in the case of text mode).
G2S_GetBG3ControlText | Gets settings for all BG3 controls (when in text mode).
G2S_SetBG3ControlAffine | Sets each type of BG3 control (in the case of affine mode).
G2S_GetBG3ControlAffine | Gets settings for all BG3 controls (when in affine mode).
G2S_SetBG3Control256x16Pltt | Sets each type of BG3 control (in the case of 256x16 palette character BG).
G2S_GetBG3Control256x16Pltt | Gets settings for all BG3 controls (for 256x16 palette character BG).
G2S_SetBG3Control256Bmp | Sets each type of BG3 control (in the case of 256 bitmap BG).
G2S_GetBG3Control256Bmp | Gets settings for all BG3 controls (for 256 bitmap BG).
G2S_SetBG3ControlDCBmp | Sets each type of BG3 control (in the case of direct color bitmap BG).
G2S_GetBG3ControlDCBmp | Gets settings for all BG3 controls (for direct color bitmap BG).
G2S_GetBG2ExtMode | Gets the BG2 affine extended BG type.
G2S_GetBG3ExtMode | Gets the BG3 affine extended BG type.

### Setting BG Display Priority Levels

G2S_SetBG0Priority | Sets the BG0 display priority level.
G2S_SetBG1Priority | Sets the BG1 display priority level.
G2S_SetBG2Priority | Sets the BG2 display priority level.
G2S_SetBG3Priority | Sets the BG3 display priority level.

### Setting To Apply Or Not Apply Mosaic To BG

G2S_BG0Mosaic | Sets whether or not to apply mosaic to BG0.
G2S_BG1Mosaic | Sets whether or not to apply mosaic to BG1.
G2S_BG2Mosaic | Sets whether or not to apply mosaic to BG2.
G2S_BG3Mosaic | Sets whether or not to apply mosaic to BG3.

### Acquiring Pointers

G2S_GetBG0ScrPtr | Returns a pointer to the BG0 screen base.
G2S_GetBG1ScrPtr | Returns a pointer to the BG1 screen base.
G2S_GetBG2ScrPtr | Returns a pointer to the BG2 screen base.
G2S_GetBG3ScrPtr | Returns a pointer to the BG3 screen base.
G2S_GetBG0CharPtr | Returns a pointer to the BG0 character base.
G2S_GetBG1CharPtr | Returns a pointer to the BG1 character base.
G2S_GetBG2CharPtr | Returns a pointer to the BG2 character base.
G2S_GetBG3CharPtr | Returns a pointer to the BG3 character base.
G2S_GetOBJCharPtr | Returns a pointer to the OBJ character base.

### Setting BG Plane Offsets

G2S_SetBG0Offset | Sets the BG0 plane offset.
G2S_SetBG1Offset | Sets the BG1 plane offset.
G2S_SetBG2Offset | Sets the BG2 plane offset.
G2S_SetBG3Offset | Sets the BG3 plane offset.

### Setting BG Plane Affine Conversions

G2S_SetBG2Affine | Sets affine conversions applied to the BG2 plane.
G2S_SetBG3Affine | Sets affine conversions applied to the BG3 plane.

### Setting Windows

G2S_SetWnd0InsidePlane | Sets a plane that comes inside window0.
G2S_GetWnd0InsidePlane | Gets settings for plane inside window0.
G2S_SetWnd1InsidePlane | Sets a plane that comes inside window1.
G2S_GetWnd1InsidePlane | Gets settings for plane inside window1.
G2S_SetWndOutsidePlane | Sets a plane that comes outside the window.
G2S_GetWndOutsidePlane | Gets settings for plane outside the window.
G2S_SetWndOBJInsidePlane | Sets a plane that comes inside the OBJ window.
G2S_GetWndOBJInsidePlane | Gets settings for plane inside the OBJ window.
G2S_SetWnd0Position | Sets window0 position.
G2S_SetWnd1Position | Sets window1 position.

### Mosaic

G2S_SetBGMosaicSize | Sets the size of the mosaic that is applied to BG.
G2S_SetOBJMosaicSize | Sets the size of the mosaic that is applied to OBJ.

### Color Special Effects

G2S_BlendNone | Sets to not perform color special effects.
G2S_SetBlendAlpha | Performs alpha-blending.
G2S_SetBlendBrightness | Controls brightness.
G2S_SetBlendBrightnessExt | Controls brightness, and performs alpha-blending only on OBJ and 3D.
G2S_ChangeBlendAlpha | Sets the alpha-blending coefficient.
G2S_ChangeBlendBrightness | Sets the brightness update coefficient.

# 3D Geometry (G3*)

Geometry Command Cycle List

### Geometry And Vertices

G3*_Begin | This function declares the start of the vertex list.
G3*_End | This function declares the end of the vertex list.
G3*_Vtx | This function sets vertex coordinates.
G3*_Vtx10 | This function sets vertex coordinates.
G3*_VtxXY | Sets vertex XY coordinates.
G3*_VtxXZ | Sets vertex XZ coordinates.
G3*_VtxYZ | Sets vertex YZ coordinates.
G3*_VtxDiff | This function specifies the difference value from the data of the last-set vertex coordinates.
G3*_Normal | This function sets the normal vector.
G3*_Color | This function sets vertex color directly.
G3*_TexCoord | Sets texture coordinates.
G3*_PolygonAttr | Sets polygon related attributes.

### MatrixAndViewport

G3*_MtxMode | This function sets matrix mode.
G3*_Identity | Initializes current matrix to a unit matrix.
G3*_LoadMtx43 | Sets a 4x3 matrix to the current matrix.
G3*_LoadMtx44 | Sets a 4x4 matrix to the current matrix..
G3*_MultMtx43 | Multiplies current matrix with a 4x3 matrix.
G3*_MultMtx44 | Multiplies current matrix with a 4x4 matrix.
G3*_MultMtx33 | Multiplies current matrix with a 3x3 matrix.
G3*_MultTransMtx33 | Multiplies current matrix with a translation matrix and a 3x3 matrix.
G3*_PushMtx | This function pushes the current matrix onto the stack.
G3*_PopMtx | This function pops the current matrix from the stack.
G3*_StoreMtx | This stores the current matrix in the specified position in the stack.
G3*_RestoreMtx | This reads the matrix from the specified position of the stack.
G3*_Scale | Multiplies the current matrix with a scaling (enlarge, reduce) matrix.
G3*_Translate | Multiplies the current matrix with a translation matrix.
G3*_ViewPort | This function sets the viewport.

### Lighting

G3*_LightColor | This function sets the light color.
G3*_LightVector | This function sets the direction vector for light.
G3*_MaterialColorDiffAmb | Sets material diffuse reflection color and ambient reflection color.
G3*_MaterialColorSpecEmi | Sets material specular reflection color and emitted light color.
G3*_Shininess | This function sets the specular reflection shininess table.

### Texture

G3*_TexImageParam | Specifies texture parameters.
G3*_TexPlttBase | This function sets the base address for the texture palette.
G3_MakeTexPlttBaseParam | Calculates texture palette base address.

### Control

G3*_SwapBuffers | This function swaps the data group referenced by the rendering engine.
G3*_Nop | Does nothing.

### Geometry Visibility Determination

G3*_BoxTest | Tests whether the results of applying the current matrix to the Box argument are contained in the viewing volume.
G3*_PositionTest | Uses the current clip coordinate matrix to transform position coordinates.
G3*_VectorTest | This function performs coordinate conversion on the directional vector according to the current directional vector matrix.

### Direct Write

G3*_Direct0 | This function is used to directly write commands and parameters. Use it when there is 0 argument.
G3*_Direct1 | This function is used to directly write commands and parameters. Use it when there is 1 argument.
G3*_Direct2 | This function is used to directly write commands and parameters. Use it when there is 2 argument.
G3*_Direct3 | This function is used to directly write commands and parameters. Use it when there is 3 argument.

### Utilities

G3_Frustum | Sets in the current Projection matrix.
G3_Perspective | Sets in the current Projection matrix.
G3_Ortho | Sets in the current Projection matrix.
G3_FrustumW | Sets in the current Projection matrix. (with scale W parameters)
G3_PerspectiveW | Sets in the current Projection matrix. (with scale W parameters)
G3_OrthoW | Sets in the current Projection matrix. (with scale W parameters)
G3_LookAt | Sets in the current Position/Vector matrix.
G3_RotX | Multiplies the current Position/Vector matrix by the rotation matrix for the x-axis.
G3_RotY | Multiplies the current Position/Vector matrix by the rotation matrix for the y-axis.
G3_RotZ | Multiplies the current Position/Vector matrix by the rotation matrix for the z-axis.
G3*_LoadTexMtxTexCoord | Sets a maxtrix corrected for the TexCoord source into the current Texture matrix.
G3*_LoadTexMtxEnv | Sets a matrix correct for theNormal source/Vertex source into the current Texture matrix.

### Creating Dynamic Display Lists (Command Lists)

G3_BeginMakeDL | Call before creating the command list.
G3_EndMakeDL | Call after creating the command list.
G3_GetDLStart | Gets the pointer to the command list.
G3_GetDLLength | Gets the size of the command list buffer.
G3_GetDLSize | Gets the size of the command list.

# 3D Graphics Control (G3X)

### Initialization

G3X_Init | Initializes each 3D related item.
G3X_InitTable | Initializes the Fog table, etc.
G3X_InitMtxStack | Initializes the matrix stack.
G3X_Reset | Resets overflow, etc. Normally executed at the beginning of each frame draw process.
G3X_ResetMtxStack | Initializes the matrix stack. However it will not substitute a unit matrix in the projection matrix.

### Enabling and Disabling Each Function

G3X_AlphaTest | Performs alpha test setting.
G3X_AlphaBlend | Selects enable/disable for alpha-blending.
G3X_AntiAlias | Selects antialias enable/disable.

### Tone/Highlight/Shading

G3X_SetShading | Selects toon/highlight shading.
G3X_SetToonTable | Sets toon/highlight table.

### Edge Color

G3X_EdgeMarking | Selects enable/disable for edge marking.
G3X_SetEdgeColorTable | Sets edge color table.

### Fog

G3X_SetFog | Sets fog.
G3X_SetFogColor | Sets fog color.
G3X_SetFogTable | Set fog table.

### Offset Settings

G3X_SetHOffset | Sets the BG0 plane offset.
G3X_SetClearImageOffset | Sets the offset when using clear image.

### Clear ColorAnd Clear Depth

G3X_SetClearColor | This function sets clear color.

### Acquiring Test Results And Calculated Results

G3X_GetBoxTestResult | Acquires box test results.
G3X_GetPositionTestResult | Acquires position test results.
G3X_GetVectorTestResult | Acquires vector test results.
G3X_GetClipMtx | Acquires current clip coordinate matrix.
G3X_GetVectorMtx | Acquires current direction vector matrix.

### Other

G3X_GetMtxStackLevelPV | Acquires thePositionVector matrix stack level.
G3X_GetMtxStackLevelPJ | Acquires the Projection matrix stack level.
G3X_IsGeometryBusy | Tests to see if geometry engine is busy.
G3X_IsMtxStackOverflow | Tests the Matrix stack's overflow flag.
G3X_IsLineBufferUnderflow | Rendering engine tests the lines over flag.
G3X_IsListRamOverflow | Tests the overflow flag of the polygon list RAM and vertex list RAM.
G3X_ResetMtxStackOverflow | Clears the matrix stack overflow flag.
G3X_ResetLineBufferUnderflow | Clears the rendering engine lines over flag.
G3X_ResetListRamOverflow | Clears the overflow flag for the polygon list RAM and vertex list RAM.
G3X_ClearFifo | Clears entire command FIFO.
G3X_GetPolygonListRamCount | Gets value of polygon list RAM counter.
G3X_GetVtxListRamCount | Gets value of vertex list RAM counter.
G3X_GetRenderedLineCount | Gets minimum number of rendered lines.
G3X_GetCommandFifoCount | References the number of commands/data currently stored in the command FIFO.
G3X_GetCommandFifoStatus | Gets the command FIFO status.
G3X_SetFifoIntrCond | Sets command FIFO interrupt request generating conditions.
G3X_SetDisp1DotDepth | Sets 1 pixel polygon display boundary depth value register value.

### Main Types And Macros

GXRgb | A type that shows a color with each of RGB is 5 bits.
GXRgba | A type that shows a color with each of RGB is 5 bits and alpha flag.
VexVtx10 | Packs the s3.6 type 3D vector.
VecVtxDiff | Shows the command parameter of `G3_VtxDiff`.
GXBoxTestParam | Structure used as an argument of `G3_BoxTest`.
GXDLInfo | Structure that is used as a parameter for the display list creation function.
GXOamAttr | Structure that indicates OAM attribute.
GXOamAffine | Structure that indicates OAM affine transformation parameter.
Macros | Macros such as the GX type conversion.
Display List Descriptive Macros | These macros pack the geometry command parameters.
2D Screen Macros and Structures | Structures and macros for storing screen data and character data in 2D screen.
MakeDL | Description of the prefixes for the API that creates the display list.

CONFIDENTIAL