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
|
gSPZWaitSignalFormatgSPZWaitSignal(Gfx *gp, zSignal *sig, u32 param)Arguments
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)
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
|