MakeDL

# API Prefix to Create Display List

## API Prefixes

### 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 format | Wastes memory. Processor’s generate process is fast.
Compressed format | 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.

Set pointer ahead | Suitable for generating command list successively
Not set pointer ahead | Suitable for rewriting a part of command list after it is generated.

## See Also

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

## Revision History

03/29/2004 Initial Version