|See also the Majora's Mask wiki: Microcode|
The N64's Reality Co-Processor (specifically, the RSP component) is reprogrammable, allowing developers to add extra/custom functionality to the Co-processor. Microcode (sometimes appearing as "ucode", standing for μcode) is thus the set of instructions that can be loaded/executed on the RSP.
OoT 1.0 (U):
RSP Gfx ucode F3DZEX.NoN fifo 2.06H Yoshitaka Yasumoto 1998 Nintendo RSP Gfx[Safe] S2DEX fifo 2.05 Yoshitaka Yasumoto 1998 Nintendo
RSP Gfx ucode F3DZEX.NoN fifo 2.08J Yoshitaka Yasumoto/Kawasedo 1999 RSP Gfx[Safe] S2DEX fifo 2.05 Yoshitaka Yasumoto 1998 Nintendo
The above are microcode programs, each with a set of opcodes (operation codes) which instruct the RCP to do certain things, such as enable/disable texturing, draw polygons, and everything from there.
F3DZEX is a 3D based graphics microcode, and the primary graphics microcode used by the Zelda 64 engine. F3DZEX is based off of the F3DEX2 microcode, and actually shares the same graphics binary interface.
GBI is a collection of 64 bit commands which instruct both the RSP and the RDP units.
There are no major differences between 2.06H and 2.08J of the F3DZEX microcode
S2DEX is a 2D based graphics microcode. It is rarely used by the Z64 engine, seemingly used solely to draw rooms with pre-rendered backgrounds.
/* 0x0A */ gsSPBgRectCopy(mptr); //mptr points to uObjBg type
Quickly draws a background image. a is a pointer to a 0x28 byte data structure
Microcode Dump Feature
In the event of a fatal error, the Debug Rom is capable of generating a dump of the entire microcode pipeline for the current frame, sending it to the IS64. This dump can be triggered with the following cheat code: 80166D28 0000. Once the dump begins, it's recommended that you set the value back to 0001, since otherwise the game will constantly generate a dump.