void F3DDKR_Init(void) { // Set GeometryMode flags GBI_InitFlags( F3D ); GBI.PCStackSize = 10; // GBI Command Command Value Command Function GBI_SetGBI( G_SPNOOP, F3D_SPNOOP, F3D_SPNoOp ); GBI_SetGBI( G_DMA_MTX, F3DDKR_DMA_MTX, F3DDKR_DMA_Mtx ); GBI_SetGBI( G_MOVEMEM, F3D_MOVEMEM, F3D_MoveMem ); GBI_SetGBI( G_DMA_VTX, F3DDKR_DMA_VTX, F3DDKR_DMA_Vtx ); GBI_SetGBI( G_DL, F3D_DL, F3D_DList ); GBI_SetGBI( G_DMA_DL, F3DDKR_DMA_DL, F3DDKR_DMA_DList ); GBI_SetGBI( G_DMA_TRI, F3DDKR_DMA_TRI, F3DDKR_DMA_Tri ); GBI_SetGBI( G_DMA_OFFSETS, F3DDKR_DMA_OFFSETS, F3DDKR_DMA_Offsets ); GBI_SetGBI( G_CULLDL, F3D_CULLDL, F3D_CullDL ); GBI_SetGBI( G_MOVEWORD, F3D_MOVEWORD, F3DDKR_MoveWord ); GBI_SetGBI( G_TEXTURE, F3D_TEXTURE, F3D_Texture ); GBI_SetGBI( G_SETOTHERMODE_H, F3D_SETOTHERMODE_H, F3D_SetOtherMode_H ); GBI_SetGBI( G_SETOTHERMODE_L, F3D_SETOTHERMODE_L, F3D_SetOtherMode_L ); GBI_SetGBI( G_ENDDL, F3D_ENDDL, F3D_EndDL ); GBI_SetGBI( G_SETGEOMETRYMODE, F3D_SETGEOMETRYMODE, F3D_SetGeometryMode ); GBI_SetGBI( G_CLEARGEOMETRYMODE, F3D_CLEARGEOMETRYMODE, F3D_ClearGeometryMode ); GBI_SetGBI( G_QUAD, F3D_QUAD, F3D_Quad ); GBI_SetGBI( G_RDPHALF_1, F3D_RDPHALF_1, F3D_RDPHalf_1 ); GBI_SetGBI( G_RDPHALF_2, F3D_RDPHALF_2, F3D_RDPHalf_2 ); GBI_SetGBI( G_RDPHALF_CONT, F3D_RDPHALF_CONT, F3D_RDPHalf_Cont ); GBI_SetGBI( G_TRI4, F3D_TRI4, F3D_Tri4 ); gSPSetDMAOffsets( 0, 0 ); }
void S2DEX_Init() { // Set GeometryMode flags GBI_InitFlags( F3DEX ); gSP.geometryMode = 0; GBI.PCStackSize = 18; // GBI Command Command Value Command Function GBI_SetGBI( G_SPNOOP, F3D_SPNOOP, F3D_SPNoOp ); GBI_SetGBI( G_BG_1CYC, S2DEX_BG_1CYC, S2DEX_BG_1Cyc ); GBI_SetGBI( G_BG_COPY, S2DEX_BG_COPY, S2DEX_BG_Copy ); GBI_SetGBI( G_OBJ_RECTANGLE, S2DEX_OBJ_RECTANGLE, S2DEX_Obj_Rectangle ); GBI_SetGBI( G_OBJ_SPRITE, S2DEX_OBJ_SPRITE, S2DEX_Obj_Sprite ); GBI_SetGBI( G_OBJ_MOVEMEM, S2DEX_OBJ_MOVEMEM, S2DEX_Obj_MoveMem ); GBI_SetGBI( G_DL, F3D_DL, F3D_DList ); GBI_SetGBI( G_SELECT_DL, S2DEX_SELECT_DL, S2DEX_Select_DL ); GBI_SetGBI( G_OBJ_RENDERMODE, S2DEX_OBJ_RENDERMODE, S2DEX_Obj_RenderMode ); GBI_SetGBI( G_OBJ_RECTANGLE_R, S2DEX_OBJ_RECTANGLE_R, S2DEX_Obj_Rectangle_R ); GBI_SetGBI( G_OBJ_LOADTXTR, S2DEX_OBJ_LOADTXTR, S2DEX_Obj_LoadTxtr ); GBI_SetGBI( G_OBJ_LDTX_SPRITE, S2DEX_OBJ_LDTX_SPRITE, S2DEX_Obj_LdTx_Sprite ); GBI_SetGBI( G_OBJ_LDTX_RECT, S2DEX_OBJ_LDTX_RECT, S2DEX_Obj_LdTx_Rect ); GBI_SetGBI( G_OBJ_LDTX_RECT_R, S2DEX_OBJ_LDTX_RECT_R, S2DEX_Obj_LdTx_Rect_R ); GBI_SetGBI( G_MOVEWORD, F3D_MOVEWORD, F3D_MoveWord ); GBI_SetGBI( G_SETOTHERMODE_H, F3D_SETOTHERMODE_H, F3D_SetOtherMode_H ); GBI_SetGBI( G_SETOTHERMODE_L, F3D_SETOTHERMODE_L, F3D_SetOtherMode_L ); GBI_SetGBI( G_ENDDL, F3D_ENDDL, F3D_EndDL ); GBI_SetGBI( G_RDPHALF_1, F3D_RDPHALF_1, F3D_RDPHalf_1 ); GBI_SetGBI( G_RDPHALF_2, F3D_RDPHALF_2, F3D_RDPHalf_2 ); GBI_SetGBI( G_LOAD_UCODE, S2DEX_LOAD_UCODE, F3DEX_Load_uCode ); }
void F3D_Init() { // Set GeometryMode flags GBI_InitFlags( F3D ); GBI.PCStackSize = 10; // GBI Command Command Value Command Function GBI_SetGBI( G_SPNOOP, F3D_SPNOOP, F3D_SPNoOp ); GBI_SetGBI( G_MTX, F3D_MTX, F3D_Mtx ); GBI_SetGBI( G_RESERVED0, F3D_RESERVED0, F3D_Reserved0 ); GBI_SetGBI( G_MOVEMEM, F3D_MOVEMEM, F3D_MoveMem ); GBI_SetGBI( G_VTX, F3D_VTX, F3D_Vtx ); GBI_SetGBI( G_RESERVED1, F3D_RESERVED1, F3D_Reserved1 ); GBI_SetGBI( G_DL, F3D_DL, F3D_DList ); GBI_SetGBI( G_RESERVED2, F3D_RESERVED2, F3D_Reserved2 ); GBI_SetGBI( G_RESERVED3, F3D_RESERVED3, F3D_Reserved3 ); GBI_SetGBI( G_SPRITE2D_BASE, F3D_SPRITE2D_BASE, F3D_Sprite2D_Base ); GBI_SetGBI( G_TRI1, F3D_TRI1, F3D_Tri1 ); GBI_SetGBI( G_CULLDL, F3D_CULLDL, F3D_CullDL ); GBI_SetGBI( G_POPMTX, F3D_POPMTX, F3D_PopMtx ); GBI_SetGBI( G_MOVEWORD, F3D_MOVEWORD, F3D_MoveWord ); GBI_SetGBI( G_TEXTURE, F3D_TEXTURE, F3D_Texture ); GBI_SetGBI( G_SETOTHERMODE_H, F3D_SETOTHERMODE_H, F3D_SetOtherMode_H ); GBI_SetGBI( G_SETOTHERMODE_L, F3D_SETOTHERMODE_L, F3D_SetOtherMode_L ); GBI_SetGBI( G_ENDDL, F3D_ENDDL, F3D_EndDL ); GBI_SetGBI( G_SETGEOMETRYMODE, F3D_SETGEOMETRYMODE, F3D_SetGeometryMode ); GBI_SetGBI( G_CLEARGEOMETRYMODE, F3D_CLEARGEOMETRYMODE, F3D_ClearGeometryMode ); GBI_SetGBI( G_QUAD, F3D_QUAD, F3D_Quad ); GBI_SetGBI( G_RDPHALF_1, F3D_RDPHALF_1, F3D_RDPHalf_1 ); GBI_SetGBI( G_RDPHALF_2, F3D_RDPHALF_2, F3D_RDPHalf_2 ); GBI_SetGBI( G_RDPHALF_CONT, F3D_RDPHALF_CONT, F3D_RDPHalf_Cont ); GBI_SetGBI( G_TRI4, F3D_TRI4, F3D_Tri4 ); }
//----------------------------------------------------------------------------- //! Initialize GBI //----------------------------------------------------------------------------- void UCode7::initializeGBI(GBI* gbi) { // Set GeometryMode flags GBI_InitFlags( F3DEX ); // GBI Command Command Value Command Function GBI_SetGBI( GBI::G_SPNOOP, F3D_SPNOOP, gbi->m_cmds, UCode0::F3D_SPNoOp ); GBI_SetGBI( GBI::G_BG_1CYC, S2DEX_BG_1CYC, gbi->m_cmds, S2DEX_BG_1Cyc ); GBI_SetGBI( GBI::G_BG_COPY, S2DEX_BG_COPY, gbi->m_cmds, S2DEX_BG_Copy ); GBI_SetGBI( GBI::G_OBJ_RECTANGLE, S2DEX_OBJ_RECTANGLE, gbi->m_cmds, S2DEX_Obj_Rectangle ); GBI_SetGBI( GBI::G_OBJ_SPRITE, S2DEX_OBJ_SPRITE, gbi->m_cmds, S2DEX_Obj_Sprite ); GBI_SetGBI( GBI::G_OBJ_MOVEMEM, S2DEX_OBJ_MOVEMEM, gbi->m_cmds, S2DEX_Obj_MoveMem ); GBI_SetGBI( GBI::G_DL, F3D_DL, gbi->m_cmds, UCode0::F3D_DList ); GBI_SetGBI( GBI::G_SELECT_DL, S2DEX_SELECT_DL, gbi->m_cmds, S2DEX_Select_DL ); GBI_SetGBI( GBI::G_OBJ_RENDERMODE, S2DEX_OBJ_RENDERMODE, gbi->m_cmds, S2DEX_Obj_RenderMode ); GBI_SetGBI( GBI::G_OBJ_RECTANGLE_R, S2DEX_OBJ_RECTANGLE_R, gbi->m_cmds, S2DEX_Obj_Rectangle_R ); GBI_SetGBI( GBI::G_OBJ_LOADTXTR, S2DEX_OBJ_LOADTXTR, gbi->m_cmds, S2DEX_Obj_LoadTxtr ); GBI_SetGBI( GBI::G_OBJ_LDTX_SPRITE, S2DEX_OBJ_LDTX_SPRITE, gbi->m_cmds, S2DEX_Obj_LdTx_Sprite ); GBI_SetGBI( GBI::G_OBJ_LDTX_RECT, S2DEX_OBJ_LDTX_RECT, gbi->m_cmds, S2DEX_Obj_LdTx_Rect ); GBI_SetGBI( GBI::G_OBJ_LDTX_RECT_R, S2DEX_OBJ_LDTX_RECT_R, gbi->m_cmds, S2DEX_Obj_LdTx_Rect_R ); GBI_SetGBI( GBI::G_MOVEWORD, F3D_MOVEWORD, gbi->m_cmds, UCode0::F3D_MoveWord ); GBI_SetGBI( GBI::G_SETOTHERMODE_H, F3D_SETOTHERMODE_H, gbi->m_cmds, UCode0::F3D_SetOtherMode_H ); GBI_SetGBI( GBI::G_SETOTHERMODE_L, F3D_SETOTHERMODE_L, gbi->m_cmds, UCode0::F3D_SetOtherMode_L ); GBI_SetGBI( GBI::G_ENDDL, F3D_ENDDL, gbi->m_cmds, UCode0::F3D_EndDL ); GBI_SetGBI( GBI::G_RDPHALF_1, F3D_RDPHALF_1, gbi->m_cmds, UCode0::F3D_RDPHalf_1 ); GBI_SetGBI( GBI::G_RDPHALF_2, F3D_RDPHALF_2, gbi->m_cmds, UCode0::F3D_RDPHalf_2 ); GBI_SetGBI( GBI::G_LOAD_UCODE, S2DEX_LOAD_UCODE, gbi->m_cmds, UCode1::F3DEX_Load_uCode ); }
void F3DEX2CBFD_Init(void) { int i; gSPSetupFunctions(); // Set GeometryMode flags GBI_InitFlags(F3DEX2); GBI.PCStackSize = 18; // GBI Command Command Value Command Function GBI_SetGBI( G_RDPHALF_2, F3DEX2_RDPHALF_2, F3D_RDPHalf_2 ); GBI_SetGBI( G_SETOTHERMODE_H, F3DEX2_SETOTHERMODE_H, F3DEX2_SetOtherMode_H ); GBI_SetGBI( G_SETOTHERMODE_L, F3DEX2_SETOTHERMODE_L, F3DEX2_SetOtherMode_L ); GBI_SetGBI( G_RDPHALF_1, F3DEX2_RDPHALF_1, F3D_RDPHalf_1 ); GBI_SetGBI( G_SPNOOP, F3DEX2_SPNOOP, F3D_SPNoOp ); GBI_SetGBI( G_ENDDL, F3DEX2_ENDDL, F3D_EndDL ); GBI_SetGBI( G_DL, F3DEX2_DL, F3D_DList ); GBI_SetGBI( G_LOAD_UCODE, F3DEX2_LOAD_UCODE, F3DEX_Load_uCode ); GBI_SetGBI( G_MOVEMEM, F3DEX2_MOVEMEM, F3DEX2CBFD_MoveMem); GBI_SetGBI( G_MOVEWORD, F3DEX2_MOVEWORD, F3DEX2CBFD_MoveWord); GBI_SetGBI( G_MTX, F3DEX2_MTX, F3DEX2_Mtx ); GBI_SetGBI( G_GEOMETRYMODE, F3DEX2_GEOMETRYMODE, F3DEX2_GeometryMode ); GBI_SetGBI( G_POPMTX, F3DEX2_POPMTX, F3DEX2_PopMtx ); GBI_SetGBI( G_TEXTURE, F3DEX2_TEXTURE, F3DEX2_Texture ); GBI_SetGBI( G_DMA_IO, F3DEX2_DMA_IO, F3DEX2_DMAIO ); GBI_SetGBI( G_SPECIAL_1, F3DEX2_SPECIAL_1, F3DEX2_Special_1 ); GBI_SetGBI( G_SPECIAL_2, F3DEX2_SPECIAL_2, F3DEX2_Special_2 ); GBI_SetGBI( G_SPECIAL_3, F3DEX2_SPECIAL_3, F3DEX2_Special_3 ); GBI_SetGBI(G_VTX, F3DEX2_VTX, F3DEX2CBFD_Vtx); GBI_SetGBI(G_MODIFYVTX, F3DEX2_MODIFYVTX, F3DEX_ModifyVtx); GBI_SetGBI(G_CULLDL, F3DEX2_CULLDL, F3DEX_CullDL); GBI_SetGBI(G_BRANCH_Z, F3DEX2_BRANCH_Z, F3DEX_Branch_Z); GBI_SetGBI(G_TRI1, F3DEX2_TRI1, F3DEX2_Tri1); GBI_SetGBI(G_TRI2, F3DEX2_TRI2, F3DEX_Tri2); GBI_SetGBI(G_QUAD, F3DEX2_QUAD, F3DEX2_Quad); GBI_SetGBI( G_LINE3D, F3DEX2_LINE3D, F3DEX2_Line3D ); for(i = 0; i < 16; i++) GBI_SetGBI(G_TRI4, i, F3DEX2CBFD_Tri4); }
void F3DEX_Init() { gSPSetupFunctions(); // Set GeometryMode flags GBI_InitFlags( F3DEX ); GBI.PCStackSize = 18; // GBI Command Command Value Command Function GBI_SetGBI( G_SPNOOP, F3D_SPNOOP, F3D_SPNoOp ); GBI_SetGBI( G_MTX, F3D_MTX, F3D_Mtx ); GBI_SetGBI( G_RESERVED0, F3D_RESERVED0, F3D_Reserved0 ); GBI_SetGBI( G_MOVEMEM, F3D_MOVEMEM, F3D_MoveMem ); GBI_SetGBI( G_VTX, F3D_VTX, F3DEX_Vtx ); GBI_SetGBI( G_RESERVED1, F3D_RESERVED1, F3D_Reserved1 ); GBI_SetGBI( G_DL, F3D_DL, F3D_DList ); GBI_SetGBI( G_RESERVED2, F3D_RESERVED2, F3D_Reserved2 ); GBI_SetGBI( G_RESERVED3, F3D_RESERVED3, F3D_Reserved3 ); GBI_SetGBI( G_SPRITE2D_BASE, F3D_SPRITE2D_BASE, F3D_Sprite2D_Base ); GBI_SetGBI( G_TRI1, F3D_TRI1, F3DEX_Tri1 ); GBI_SetGBI( G_CULLDL, F3D_CULLDL, F3DEX_CullDL ); GBI_SetGBI( G_POPMTX, F3D_POPMTX, F3D_PopMtx ); GBI_SetGBI( G_MOVEWORD, F3D_MOVEWORD, F3D_MoveWord ); GBI_SetGBI( G_TEXTURE, F3D_TEXTURE, F3D_Texture ); GBI_SetGBI( G_SETOTHERMODE_H, F3D_SETOTHERMODE_H, F3D_SetOtherMode_H ); GBI_SetGBI( G_SETOTHERMODE_L, F3D_SETOTHERMODE_L, F3D_SetOtherMode_L ); GBI_SetGBI( G_ENDDL, F3D_ENDDL, F3D_EndDL ); GBI_SetGBI( G_SETGEOMETRYMODE, F3D_SETGEOMETRYMODE, F3D_SetGeometryMode ); GBI_SetGBI( G_CLEARGEOMETRYMODE, F3D_CLEARGEOMETRYMODE, F3D_ClearGeometryMode ); GBI_SetGBI( G_QUAD, F3D_QUAD, F3DEX_Quad ); GBI_SetGBI( G_RDPHALF_1, F3D_RDPHALF_1, F3D_RDPHalf_1 ); GBI_SetGBI( G_RDPHALF_2, F3D_RDPHALF_2, F3D_RDPHalf_2 ); GBI_SetGBI( G_MODIFYVTX, F3DEX_MODIFYVTX, F3DEX_ModifyVtx ); GBI_SetGBI( G_TRI2, F3DEX_TRI2, F3DEX_Tri2 ); GBI_SetGBI( G_BRANCH_Z, F3DEX_BRANCH_Z, F3DEX_Branch_Z ); GBI_SetGBI( G_LOAD_UCODE, F3DEX_LOAD_UCODE, F3DEX_Load_uCode ); }