API Prefix to Create Display List

# API Prefixes for Creating Display Lists

## Description

### API to Generate Display List (Command String)

Prefix | Example | Command String Format | Pointer After Command is Generated
--- | --- | --- | ---
`G3B_` | ``G3B_Vtx()`, `G3B_LoadMtx43()`` | Uncompressed | Set pointer ahead
`G3C_` | ``G3C_Vtx()`, `G3C_LoadMtx43()`` | Compressed | Set pointer ahead
`G3BS_` | ``G3BS_Vtx()`, `G3BS_LoadMtx43()`` | Uncompressed | Do not set pointer ahead
`G3CS_` | ``G3CS_Vtx()`, `G3CS_LoadMtx43()`` | Compressed | Do not set pointer ahead

### Reference: API to Directly Transfer Command to Geometry FIFO

Prefix | Example
--- | ---
`G3_` | ``G3_Vtx()`, `G3_LoadMtx43()``

## Description

There are four formats for one function for API to generate a display list as shown in the table above. They are distinguished by prefixes. They correspond to four types of situations to generate a display list.

### Uncompressed Format vs Compressed Format

This corresponds to display list formats supported by Nitro hardware. Normally, it is advantageous to use compressed format.

- Uncompressed
    Wastes memory.
    Processor's generate process is fast.
- Compressed
    Does not waste memory.
    In comparison, the generate process is slow. However, as memory access is minimal, it could be fast overall.

### Setting Pointer Ahead vs Not Setting Pointer Ahead

When generating the command list, keep the current output buffer pointer using the `DLInfo` structure. This corresponds to whether or not to move this pointer forward to the next output position aftercommand output. Use it according to the rewriting situation.

- Advance pointer
    Suitable for generating command list successively
- Do not advance pointer
    Suitable for rewriting a part of command list after it is generated.

## See Also

`MI_SendGXCommand*`, `G3_BeginMakeDL`, `G3_EndMakeDL`

## Revision History

2004/03/29 Initial version.

CONFIDENTIAL