1 /* 2 SDL - Simple DirectMedia Layer 3 Copyright (C) 1997-2006 Sam Lantinga 4 5 This library is free software; you can redistribute it and/or 6 modify it under the terms of the GNU Lesser General Public 7 License as published by the Free Software Foundation; either 8 version 2.1 of the License, or (at your option) any later version. 9 10 This library is distributed in the hope that it will be useful, 11 but WITHOUT ANY WARRANTY; without even the implied warranty of 12 MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU 13 Lesser General Public License for more details. 14 15 You should have received a copy of the GNU Lesser General Public 16 License along with this library; if not, write to the Free Software 17 Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA 18 19 Sam Lantinga 20 slouken (at) libsdl.org 21 */ 22 #include "SDL_config.h" 23 24 #ifndef _3DFX_REGS_H 25 #define _3DFX_REGS_H 26 27 /* This information comes from the public 3Dfx specs for the Voodoo 3000 */ 28 29 /* mapped_io register offsets */ 30 #define TDFX_STATUS 0x00 31 32 #define INTCTRL (0x00100000 + 0x04) 33 #define CLIP0MIN (0x00100000 + 0x08) 34 #define CLIP0MAX (0x00100000 + 0x0c) 35 #define DSTBASE (0x00100000 + 0x10) 36 #define DSTFORMAT (0x00100000 + 0x14) 37 #define SRCCOLORKEYMIN (0x00100000 + 0x18) 38 #define SRCCOLORKEYMAX (0x00100000 + 0x1c) 39 #define DSTCOLORKEYMIN (0x00100000 + 0x20) 40 #define DSTCOLORKEYMAX (0x00100000 + 0x24) 41 #define BRESERROR0 (0x00100000 + 0x28) 42 #define BRESERROR1 (0x00100000 + 0x2c) 43 #define ROP_2D (0x00100000 + 0x30) 44 #define SRCBASE (0x00100000 + 0x34) 45 #define COMMANDEXTRA_2D (0x00100000 + 0x38) 46 #define PATTERN0 (0x00100000 + 0x44) 47 #define PATTERN1 (0x00100000 + 0x48) 48 #define CLIP1MIN (0x00100000 + 0x4c) 49 #define CLIP1MAX (0x00100000 + 0x50) 50 #define SRCFORMAT (0x00100000 + 0x54) 51 #define SRCSIZE (0x00100000 + 0x58) 52 #define SRCXY (0x00100000 + 0x5c) 53 #define COLORBACK (0x00100000 + 0x60) 54 #define COLORFORE (0x00100000 + 0x64) 55 #define DSTSIZE (0x00100000 + 0x68) 56 #define DSTXY (0x00100000 + 0x6c) 57 #define COMMAND_2D (0x00100000 + 0x70) 58 #define LAUNCH_2D (0x00100000 + 0x80) 59 #define PATTERNBASE (0x00100000 + 0x100) 60 61 #define COMMAND_3D (0x00200000 + 0x120) 62 63 /* register bitfields (not all, only as needed) */ 64 65 #define BIT(x) (1UL << (x)) 66 67 #define COMMAND_2D_BITBLT 0x01 68 #define COMMAND_2D_FILLRECT 0x05 69 #define COMMAND_2D_LINE 0x06 70 #define COMMAND_2D_POLYGON_FILL 0x08 71 #define COMMAND_2D_INITIATE BIT(8) 72 #define COMMAND_2D_REVERSELINE BIT(9) 73 #define COMMAND_2D_STIPPLELINE BIT(12) 74 #define COMMAND_2D_MONOCHROME_PATT BIT(13) 75 #define COMMAND_2D_MONOCHROME_TRANSP BIT(16) 76 77 #define COMMAND_3D_NOP 0x00 78 79 #define STATUS_RETRACE BIT(6) 80 #define STATUS_BUSY BIT(9) 81 82 #endif /* _3DFX_REGS_H */ 83 84