1 #ifndef F3D_H 2 #define F3D_H 3 4 #include <stdint.h> 5 6 #ifdef __cplusplus 7 extern "C" { 8 #endif 9 10 #define F3D_MTX_STACKSIZE 10 11 12 #define F3D_MTX_MODELVIEW 0x00 13 #define F3D_MTX_PROJECTION 0x01 14 #define F3D_MTX_MUL 0x00 15 #define F3D_MTX_LOAD 0x02 16 #define F3D_MTX_NOPUSH 0x00 17 #define F3D_MTX_PUSH 0x04 18 19 #define F3D_TEXTURE_ENABLE 0x00000002 20 #define F3D_SHADING_SMOOTH 0x00000200 21 #define F3D_CULL_FRONT 0x00001000 22 #define F3D_CULL_BACK 0x00002000 23 #define F3D_CULL_BOTH 0x00003000 24 #define F3D_CLIPPING 0x00000000 25 26 #define F3D_MV_VIEWPORT 0x80 27 28 #define F3D_MWO_aLIGHT_1 0x00 29 #define F3D_MWO_bLIGHT_1 0x04 30 #define F3D_MWO_aLIGHT_2 0x20 31 #define F3D_MWO_bLIGHT_2 0x24 32 #define F3D_MWO_aLIGHT_3 0x40 33 #define F3D_MWO_bLIGHT_3 0x44 34 #define F3D_MWO_aLIGHT_4 0x60 35 #define F3D_MWO_bLIGHT_4 0x64 36 #define F3D_MWO_aLIGHT_5 0x80 37 #define F3D_MWO_bLIGHT_5 0x84 38 #define F3D_MWO_aLIGHT_6 0xa0 39 #define F3D_MWO_bLIGHT_6 0xa4 40 #define F3D_MWO_aLIGHT_7 0xc0 41 #define F3D_MWO_bLIGHT_7 0xc4 42 #define F3D_MWO_aLIGHT_8 0xe0 43 #define F3D_MWO_bLIGHT_8 0xe4 44 45 // FAST3D commands 46 #define F3D_SPNOOP 0x00 47 #define F3D_MTX 0x01 48 #define F3D_RESERVED0 0x02 49 #define F3D_MOVEMEM 0x03 50 #define F3D_VTX 0x04 51 #define F3D_RESERVED1 0x05 52 #define F3D_DL 0x06 53 #define F3D_RESERVED2 0x07 54 #define F3D_RESERVED3 0x08 55 #define F3D_SPRITE2D_BASE 0x09 56 57 #define F3D_TRI1 0xBF 58 #define F3D_CULLDL 0xBE 59 #define F3D_POPMTX 0xBD 60 #define F3D_MOVEWORD 0xBC 61 #define F3D_TEXTURE 0xBB 62 #define F3D_SETOTHERMODE_H 0xBA 63 #define F3D_SETOTHERMODE_L 0xB9 64 #define F3D_ENDDL 0xB8 65 #define F3D_SETGEOMETRYMODE 0xB7 66 #define F3D_CLEARGEOMETRYMODE 0xB6 67 //#define F3D_LINE3D 0xB5 // Only used in Line3D 68 #define F3D_QUAD 0xB5 69 #define F3D_RDPHALF_1 0xB4 70 #define F3D_RDPHALF_2 0xB3 71 #define F3D_RDPHALF_CONT 0xB2 72 #define F3D_TRI4 0xB1 73 74 #define F3D_TRI_UNKNOWN 0xC0 75 76 void F3D_SPNoOp( uint32_t w0, uint32_t w1 ); 77 void F3D_Mtx( uint32_t w0, uint32_t w1 ); 78 void F3D_Reserved0( uint32_t w0, uint32_t w1 ); 79 void F3D_MoveMem( uint32_t w0, uint32_t w1 ); 80 void F3D_Vtx( uint32_t w0, uint32_t w1 ); 81 void F3D_Reserved1( uint32_t w0, uint32_t w1 ); 82 void F3D_DList( uint32_t w0, uint32_t w1 ); 83 void F3D_Reserved2( uint32_t w0, uint32_t w1 ); 84 void F3D_Reserved3( uint32_t w0, uint32_t w1 ); 85 void F3D_Sprite2D_Base( uint32_t w0, uint32_t w1 ); 86 void F3D_Tri1( uint32_t w0, uint32_t w1 ); 87 void F3D_CullDL( uint32_t w0, uint32_t w1 ); 88 void F3D_PopMtx( uint32_t w0, uint32_t w1 ); 89 void F3D_MoveWord( uint32_t w0, uint32_t w1 ); 90 void F3D_Texture( uint32_t w0, uint32_t w1 ); 91 void F3D_SetOtherMode_H( uint32_t w0, uint32_t w1 ); 92 void F3D_SetOtherMode_L( uint32_t w0, uint32_t w1 ); 93 void F3D_EndDL( uint32_t w0, uint32_t w1 ); 94 void F3D_SetGeometryMode( uint32_t w0, uint32_t w1 ); 95 void F3D_ClearGeometryMode( uint32_t w0, uint32_t w1 ); 96 //void F3D_Line3D( uint32_t w0, uint32_t w1 ); 97 void F3D_Quad( uint32_t w0, uint32_t w1 ); 98 void F3D_RDPHalf_1( uint32_t w0, uint32_t w1 ); 99 void F3D_RDPHalf_2( uint32_t w0, uint32_t w1 ); 100 void F3D_RDPHalf_Cont( uint32_t w0, uint32_t w1 ); 101 void F3D_Tri4( uint32_t w0, uint32_t w1 ); 102 void F3D_Init(); 103 104 #ifdef __cplusplus 105 } 106 #endif 107 108 #endif 109 110