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

       

gSPZWaitSignal

Format
gSPZWaitSignal(Gfx *gp,
   zSignal *sig, u32 param)
Arguments
  • gp is the pointer to the graphics display list
  • sig is the pointer to the signal buffer
  • param is the signal value (u32)
What This Macro Does
This Z-Sort microcode GBI macro waits until the CPU signal value exceeds the value specified by the param argument. The signal value from the CPU is updated through an RDRAM buffer, so that buffer must be contained in the application itself. During execution of this GBI macro, the RSP determines whether or not the CPU has rewritten the buffer's signal. If so, the signal buffer on the RDRAM is DMA transferred to DMEM and compared to the param. The following is a macro for rewriting the CPU's Signal value:
GZ_SENSIGNAL(zSignal *sig, u32 val)
  • sig is the pointer to the signal buffer
  • val is the new signal value
After the signal value is rewritten to the value specified by the val argument, the change is sent to the RSP.

Because the signal value is an unsigned 32-bit variable, the smallest value is 0. So far in the microcode, the Display List is handed over to the RSP after it is complete. In other words, the RSP cannot process until the Display List has been completely created. However, even if the Display List is not completely created, this GBI macro can send any created portion to the RSP; in other words, the RSP can be made to wait until the rest of the Display List is created. When this gSPZWaitSignal macro and the earlier output gSPZSendMessage macro are combined, simple synchronicity occurs between CPU and RSP processing, demonstrating the great power of serial processing of the Display List.

For detailed information on Z-Sort microcode's GBI macros and data structures, please see the "Z-Sort Microcode" area of the N64 Programming Manual.

See Also
Z-Sort Microcode
gSPZRdpCmd
gSPZSetUMem
gSPZGetUMem
gSPZSetMtx
gSPZGetMtx
gSPZMtxCat
gSPZMtxTrnsp3x3
gSPZViewPort
gSPZMultMPMtx
gSPZSetAmbient
gSPZSetDefuse
gSPZSetLookAt
gSPZXfmLights
gSPZLight
gSPZLightMaterial
gSPZMixS16
gSPZMixS8
gSPZMixU8
gSPZSegment
gSPZSetSubDL
gSPZLinkSubDL
gSPZSendMessage
gSPZWaitSignal
gSPZSegment
gSPZPerspNormalize



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