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

## osDpGetCounters

Syntax

    #include <ultra64.h>
    void osDpGetCounters(u32 *array);

Explanation
It returns the values of four internal performance counters from the display processor (DP).
The array argument must point to a buffer that is large enough to hold four 32-bit values. The elements of the array are:

- The CLOCK counter - This counter is incremented by the free running RCP clock. For NTSC systems, this counter increments at 60.85 Mhz and each counter tick represents approximately 16.43 nanoseconds. For PAL systems, this counter increments at 62.07 Mhz and each counter tick represents approximately 16.11 nanoseconds.
- The CMD counter - This counter is incremented once every clock cycle when the RDP has work to do. The RSP places RDP commands in a FIFO for execution. If this FIFO is not empty, the counter is incremented.
- The PIPE counter - This counter is incremented when the internal RDP pipeline is not stalled while waiting for memory accesses to occur.
- The TMEM counter - This counter is incremented when the texture memory is being loaded.

The counters can be individually cleared by calling the osDpSetStatus function and using these status bits:

- DPC_CLR_TMEM_CTR
- DPC_CLR_PIPE_CTR
- DPC_CLR_CMD_CTR
- DPC_CLR_CLOCK_CTR

See Also
osDpSetStatus

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 March 1998