
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
|
 |
gSPLoadUcode
Format
gSPLoadUcode(Gfx *gdl,
u64 *uc_start,
u64 *uc_dstart)
gsSPLoadUcode(u64 *uc_start,
u64 *uc_dstart)
Arguments
- gdl is the pointer to the graphics display list
- uc_start is the top of the text selection of the microcode (physical address)
- uc_dstart is the top of the data selection of the microcode (physical address)
What This Macro Does
It loads the specified microcode. However, only microcodes
F3DEX, F3DLX, F3DLX_Rej, F3DLP_Rej, and L3DEX can be loaded.
Neither Fast3D nor Turbo3D can be loaded. Loading microcodes
causes overhead, so it should be done as few times as possible
for better performance. Terrain should be drawn using F3DLX.
Microcode that requires clipping processing and characters
should be drawn using F3DLX_Rej (a fast microcode). The
microcodes should be changed depending upon the drawing
processes that are required. When drawing lines, you can change
from F3DEX to L3DEX without interrupting the CPU.
Note
Graphics and internal status of the RSP are initialized when
you load microcode using the GBI. Therefore, set the RSP
again right after loading the microcode. The display list (DL) link
information is also initialized when the microcode is loaded. As a result,
when this macro is used in a DL that is called by gSPDisplayList, the
previous DL cannot be returned. This situation is inconvenient
but cannot be avoided.
To enable the gSPLoadUcode macro to do its work, you must
set the OS_TASK_LOADABLE flag to an OsTask structure flag with this code:
OSTask *tp;
tp->t.flag = OS_TASK_LOADABLE | OS_TASK_DP_WAIT;
To enable this flag processing, you need to patch the OS. Please refer to F3DEX concerning the patching method. Once the OS is patched, the OS is upward compatible with the OS before it was patched.
See Also
gSPLoadUcodeL
|
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
|
|