N64® Functions Menu

al - Audio Library Functions
gDP - DP GBI Macros
gdSP - General GBI Macros
gSP - SP GBI Macros
gt - Turbo Microcode RDP
gu - Graphics Utilities
Math - Math Functions
nuSys - NuSystem
os - N64 Operating System
sp - Sprite Library Functions
uh - Host to Target IO
64DD - N64 Disk Drive

Nintendo® Confidential

## guParseRdpDL

Syntax

    #include "gu.h"
    void guParseRdpDL(u64 *rdp_dl,
       u64 nbytes, u8 flags)

Arguments

- rdp_dl is the pointer to the RDP display list in DRAM. This is the array as passed in the task header. See osSpTaskLoad
  for more details

- nbytes is the number of bytes in the RDP display list as returned by the graphics task. See osSpTaskLoad
  for more details

- flags are the following flags, which may be OR'd together to enable printing of additional information about the display list:
  - GU_PARSERDP_VERBOSE to print extra information about the display list, usually for debugging
  - GU_PARSERDP_PRAREA to print information about the area or number of spans of each primitive
  - GU_PARSERDP_DUMPONLY to print the RDP display list as a hexadecimal dump

Explanation
It dumps the Reality Display Processor (RDP) display list in human readable form and also checks for common errors in the display list. For this to work correctly, you must be running the dlprint tool on the host Indy.
Optionally, you can print information about the area of each primitive and the number of spans in a primitive. Commands are classified to be either primitive, attribute, sync, or load commands and a summary of the number of each command type is printed after the display list dump.
The RDP display list is the output of the graphics microcode running on the Reality Signal Processor (RSP). Using the proper microcode (microcode with a suffix of .dram), the RSP will output its display list to a DRAM buffer provided by the programmer. Once in DRAM, guParseRdpDL can be used to print the display list. The display list in DRAM can be sent to the RDP by using the osDpSetNextBuffer function. This method is useful to isolate problems between the application, the RSP, and the RDP. Note that the guParseRdpDL function cannot be used with non-DRAM microcode (that is, microcode without the .dram suffix).
guParseRdpDL detects the following conditions:

- Color/Z image not in first 2 Megs
- Image pointer not in first 3 Megs
- Image pointers not properly aligned
- Missing syncs
- Illegal primitive coefficients
- Unscissored rectangles

Bugs
There are no estimates for the number of cycles it takes to load a texture. The checks for syncs are not always foolproof. The area calculation for triangles sometimes reports incorrect values. Estimated clocks does not take into account DRAM latency, cycle type, Read/Modify/Write mode, and so on. Therefore they should be used only as an optimistic estimate of display list performance.
See Also
dlprint
guParseGbiDL
alParseAbiCL
osSpTaskLoad
osDpSetNextBuffer

Nintendo® Confidential Warning: all information in this document is confidential and covered by a non-disclosure agreement. You are responsible for keeping this information confidential and protected. Nintendo will vigorously enforce this responsibility.
Copyright © 1998
Nintendo of America Inc. All rights reserved
Nintendo and N64 are registered trademarks of Nintendo
Last Updated April, 1999