SDL-1.2.14
[sdl_omap.git] / src / video / fbcon / 3dfx_regs.h
1 /*
2     SDL - Simple DirectMedia Layer
3     Copyright (C) 1997-2009 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