1 /*---------------------------------------------------------------------------* 2 Project: Dolphin GX library 3 File: GXCommandList.h 4 5 Copyright 1998-2002 Nintendo. All rights reserved. 6 7 These coded instructions, statements, and computer programs contain 8 proprietary information of Nintendo of America Inc. and/or Nintendo 9 Company Ltd., and are protected by Federal copyright law. They may 10 not be disclosed to third parties or copied or duplicated in any form, 11 in whole or in part, without the prior written consent of Nintendo. 12 13 $Log: GXCommandList.h,v $ 14 Revision 1.2 2006/02/04 11:56:46 hashida 15 (none) 16 17 Revision 1.1.1.1 2005/12/29 06:53:28 hiratsu 18 Initial import. 19 20 Revision 1.1.1.1 2005/05/12 02:41:07 yasuh-to 21 Ported from dolphin source tree. 22 23 24 6 2002/07/24 9:06 Hirose 25 Resolved version conflicts. 26 27 5 2001/07/16 4:06p Carl 28 Added refs to filter conversion arrays. 29 30 4 2001/05/22 7:54p Carl 31 Added full set of CP commands. 32 33 3 2001/02/15 4:25p Carl 34 Added refs to texture ID arrays. 35 36 2 2001/02/05 8:11p Carl 37 Added GX_LOAD_BP_REG. 38 39 3 1999/07/14 4:21p Alligator 40 Split gx.h into separate header file for each major section of the API 41 42 2 1999/06/08 11:54a Ryan 43 Added GX prefix to defines 44 45 1 1999/06/01 2:04p Ryan 46 47 $NoKeywords: $ 48 *---------------------------------------------------------------------------*/ 49 50 #ifndef __GXCOMMANDLIST_H__ 51 #define __GXCOMMANDLIST_H__ 52 53 #ifdef __cplusplus 54 extern "C" { 55 #endif 56 57 #include <revolution/types.h> 58 59 /****************************************************************************/ 60 61 // Display list opcodes: 62 63 #define GX_NOP 0x00 64 #define GX_DRAW_QUADS 0x80 65 #define GX_DRAW_TRIANGLES 0x90 66 #define GX_DRAW_TRIANGLE_STRIP 0x98 67 #define GX_DRAW_TRIANGLE_FAN 0xA0 68 #define GX_DRAW_LINES 0xA8 69 #define GX_DRAW_LINE_STRIP 0xB0 70 #define GX_DRAW_POINTS 0xB8 71 72 #define GX_LOAD_BP_REG 0x61 73 #define GX_LOAD_CP_REG 0x08 74 #define GX_LOAD_XF_REG 0x10 75 #define GX_LOAD_INDX_A 0x20 76 #define GX_LOAD_INDX_B 0x28 77 #define GX_LOAD_INDX_C 0x30 78 #define GX_LOAD_INDX_D 0x38 79 80 #define GX_CMD_CALL_DL 0x40 81 #define GX_CMD_INVL_VC 0x48 82 83 #define GX_OPCODE_MASK 0xF8 84 #define GX_VAT_MASK 0x07 85 86 /****************************************************************************/ 87 88 // Texture register IDs: 89 90 extern u8 GXTexMode0Ids[8]; 91 extern u8 GXTexMode1Ids[8]; 92 extern u8 GXTexImage0Ids[8]; 93 extern u8 GXTexImage1Ids[8]; 94 extern u8 GXTexImage2Ids[8]; 95 extern u8 GXTexImage3Ids[8]; 96 extern u8 GXTexTlutIds[8]; 97 98 // Filter conversion arrays: 99 100 extern u8 GX2HWFiltConv[6]; 101 extern u8 HW2GXFiltConv[8]; 102 103 /****************************************************************************/ 104 105 #ifdef __cplusplus 106 } 107 #endif 108 109 #endif // __GXCOMMANDLIST_H__ 110