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

   

nuGfxTaskStart

Format
void nuGfxTaskStart(Gfx *gfxList_ptr,
   u32 gfxListSize, u32 ucode, u32 flag)
Arguments
  • gfxList_ptr is the pointer to display list buffer
  • gfxListSize is the display list size
  • ucode is the usable microcode
  • flag indicates whether to swap buffer at task end or not:

    • nu_SC_SWAPBUFFER means swap buffer
    • nu_SC_NOSWAPBUFFER means don't swap buffer
Returned Value
none

What This Function Does
It activates a graphics task. When this function is called, a graphics task structure is created and a task message is sent to the graphics task thread. To use the microcode entered by the nuGfxInit function, specify the following macros:

MacroMicrocode
gspF3DEX.fifonu_GFX_UCODE_F3DEX
gspF3DEX.NoN.fifonu_GFX_UCODE_F3DEX_NON
gspF3DLX.fifonu_GFX_UCODE_F3DLX
gspF3DLXNoN.fifonu_GFX_UCODE_F3DLX_NON
gspF3DLX.Rej.fifonu_GFX_UCODE_F3DLX_REJ
gspL3DLP.Rej.fifonu_GFX_UCODE_L3DLP_REJ
gspS2DEX.fifonu_GFX_UCODE_S2DEX
gspS2DEX.fifo_dnu_GFX_UCODE_S2DEX_D


If a microcode table has been registered, the table number can be specified by calling the nuGfxSetUcode function.

The flag argument is used to specify whether to transfer the frame buffer to VI after a task has been completed.

If NU_SC_SWAPBUFFER is specified, the callback function entered by the nuGfxSwapCfbFuncSet function is executed. Usually the nuGfxSwapCfb function is entered by the nuGfxInit function, and the next retrace frame buffer is displayed on the screen. Therefore, if a number of graphics tasks are being activated with one frame buffer, please specify NU_SC_SWAPBUFFER in the last task.

If NU_SC_NOSWAPBUFFER is specified, the callback function entered by the nuGfxTaskEndFuncSet function is executed. Usually nothing is entered.

Example
Gfx gfxList[0x100] */ display list buffer */
Gfx*  gfxList_ptr */ point to display list buffer */

gfxList_ptr = gfxList;

gSPDisplayList(gfxList_ptr++,
   OS_KO_TO_PHYSICAL(rdpstateinit_dl));
gDPFullSync(gfxList_ptr++);

nuGfxTaskStart(gfxList,
   (s32)(gfxList_ptr - gfxList) * sizeof (Gfx),
   NU_GFX_UCODE_F3DEX , NU_SC_NOSWAPBUFFER);
See Also
nuGfxInit
nuGfxSetUcode
nuGfxSwapCfbFuncSet
nuGfxSwapCfb
nuGfxTaskEndFuncSet



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