• Home
  • Line#
  • Scopes#
  • Navigate#
  • Raw
  • Download
1 /*
2     SDL - Simple DirectMedia Layer
3     Copyright (C) 1997-2012 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@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