gSPSegment/gsSPSegment (same usage than Fast3D)
gSPClipRatio/gsSPClipRatio (same usage than Fast3D)
gSPNearClip/gsSPNearClip (this new macro allows to set on or off near clipping on or off)
gSPPrecisedClipRatio/gsSPPrecisedClipRatio (enhancement of gSPClipRatio where the size ratio is defined in a S15.16 format). It not 1, 2, 3 etc but it can therefore be 1,5 or 2,7)
gSPInsertMatrix/gsSPInsertMatrix (same usage than Fast3D)
gSPModifyVertex/gsSPModifyVertex (same usage than Fast3D but performed by emulation, not by the microcode).
gSPSetAmbientLight/gsSPSetAmbientLight: (this new macro defines the colors of the ambient light. it should be noticed that ambient light is not structured in the same way than the rest of the other lights).
gSPLightColor/gsSPLightColor (same usage than Fast3D)
gSPFogFactor/gsSPFogFactor (same usage than Fast3D)
gSPFogPosition/gsSPFogPosition (same usage than Fast3D)
gSPTexture/gsSPTexture (same usage than Fast3D but performed by emulation, not by the microcode).
gSPSetTextureTile/gsSPSetTextureTile (this new macro only define the tile and the level for textures)
gSPSetTextureScale/gsSPSetTextureScale (this new macro only define the scales for textures)
G_MOVEWORD
Header of the command: 0x0E
Function: store a 32 bits word to the specific location in DMEM.
As G_MOVEWORD can be used for many purposes and new macros may be created by users, it is better to explain it its structure at microcode level.
STRUCTURE:
HH____DDD WWWWWWWW
HH: header of the command (8 bits)
DDD: place in DMEM where the word should be stored (12 bits)
WWWWWWWW: word to be stored (32 bits)
On contrary of Fast3D, there is no index and offset, only the exact DMEM address where the word should be stored.
In this respect DMEM indices set in gbi.h are used, potentially with some small calculations made from parameters at running time.
DMEM indices
Related GBI macros:
gSPSegment/gsSPSegment (same usage than Fast3D) gSPClipRatio/gsSPClipRatio (same usage than Fast3D) gSPNearClip/gsSPNearClip (this new macro allows to set on or off near clipping on or off) gSPPrecisedClipRatio/gsSPPrecisedClipRatio (enhancement of gSPClipRatio where the size ratio is defined in a S15.16 format). It not 1, 2, 3 etc but it can therefore be 1,5 or 2,7) gSPInsertMatrix/gsSPInsertMatrix (same usage than Fast3D) gSPModifyVertex/gsSPModifyVertex (same usage than Fast3D but performed by emulation, not by the microcode). gSPSetAmbientLight/gsSPSetAmbientLight: (this new macro defines the colors of the ambient light. it should be noticed that ambient light is not structured in the same way than the rest of the other lights). gSPLightColor/gsSPLightColor (same usage than Fast3D) gSPFogFactor/gsSPFogFactor (same usage than Fast3D) gSPFogPosition/gsSPFogPosition (same usage than Fast3D) gSPTexture/gsSPTexture (same usage than Fast3D but performed by emulation, not by the microcode). gSPSetTextureTile/gsSPSetTextureTile (this new macro only define the tile and the level for textures) gSPSetTextureScale/gsSPSetTextureScale (this new macro only define the scales for textures)