Book a Demo!
CoCalc Logo Icon
StoreFeaturesDocsShareSupportNewsAboutPoliciesSign UpSign In
alexbevi
GitHub Repository: alexbevi/BizHawk
Path: blob/master/libmupen64plus/mupen64plus-video-glide64mk2/src/Glitch64/inc/glidesys.h
2 views
1
/*
2
** THIS SOFTWARE IS SUBJECT TO COPYRIGHT PROTECTION AND IS OFFERED ONLY
3
** PURSUANT TO THE 3DFX GLIDE GENERAL PUBLIC LICENSE. THERE IS NO RIGHT
4
** TO USE THE GLIDE TRADEMARK WITHOUT PRIOR WRITTEN PERMISSION OF 3DFX
5
** INTERACTIVE, INC. A COPY OF THIS LICENSE MAY BE OBTAINED FROM THE
6
** DISTRIBUTOR OR BY CONTACTING 3DFX INTERACTIVE INC([email protected]).
7
** THIS PROGRAM IS PROVIDED "AS IS" WITHOUT WARRANTY OF ANY KIND, EITHER
8
** EXPRESSED OR IMPLIED. SEE THE 3DFX GLIDE GENERAL PUBLIC LICENSE FOR A
9
** FULL TEXT OF THE NON-WARRANTY PROVISIONS.
10
**
11
** USE, DUPLICATION OR DISCLOSURE BY THE GOVERNMENT IS SUBJECT TO
12
** RESTRICTIONS AS SET FORTH IN SUBDIVISION (C)(1)(II) OF THE RIGHTS IN
13
** TECHNICAL DATA AND COMPUTER SOFTWARE CLAUSE AT DFARS 252.227-7013,
14
** AND/OR IN SIMILAR OR SUCCESSOR CLAUSES IN THE FAR, DOD OR NASA FAR
15
** SUPPLEMENT. UNPUBLISHED RIGHTS RESERVED UNDER THE COPYRIGHT LAWS OF
16
** THE UNITED STATES.
17
**
18
** COPYRIGHT 3DFX INTERACTIVE, INC. 1999, ALL RIGHTS RESERVED
19
**
20
** $Header: /cvsroot/glide/glide3x/h5/glide3/src/glidesys.h,v 1.3.4.3 2003/07/24 03:51:08 anholt Exp $
21
** $Log:
22
** 3 3dfx 1.0.1.0.1.0 10/11/00 Brent Forced check in to enforce
23
** branching.
24
** 2 3dfx 1.0.1.0 06/20/00 Joseph Kain Changes to support the
25
** Napalm Glide open source release. Changes include cleaned up offensive
26
** comments and new legal headers.
27
** 1 3dfx 1.0 09/11/99 StarTeam VTS Administrator
28
** $
29
**
30
** 4 11/05/98 11:18a Russp
31
** Fix GLIDE_NUM_TMU error check (change "&&" to "||")
32
**
33
** 3 7/24/98 1:41p Hohn
34
**
35
** 2 6/15/98 10:50a Peter
36
** made csim compile time option
37
*
38
* 1 1/16/98 4:29p Atai
39
* create glide 3 src
40
*
41
* 10 12/09/97 12:20p Peter
42
* mac glide port
43
*
44
* 9 11/04/97 4:00p Dow
45
* Banshee Mods
46
*
47
* 8 8/18/97 3:52p Peter
48
* pre-hw arrival fixes/cleanup
49
*
50
* 7 6/02/97 4:09p Peter
51
* Compile w/ gcc for Dural
52
*
53
* 6 5/27/97 1:16p Peter
54
* Basic cvg, w/o cmd fifo stuff.
55
*
56
* 5 5/21/97 6:05a Peter
57
*/
58
#ifndef __GLIDESYS_H__
59
#define __GLIDESYS_H__
60
61
/*
62
n** -----------------------------------------------------------------------
63
** COMPILER/ENVIRONMENT CONFIGURATION
64
** -----------------------------------------------------------------------
65
*/
66
67
/* Endianness is stored in bits [30:31] */
68
#define GLIDE_ENDIAN_SHIFT 30
69
#define GLIDE_ENDIAN_LITTLE (0x1 << GLIDE_ENDIAN_SHIFT)
70
#define GLIDE_ENDIAN_BIG (0x2 << GLIDE_ENDIAN_SHIFT)
71
72
/* OS is stored in bits [0:6] */
73
#define GLIDE_OS_SHIFT 0
74
#define GLIDE_OS_UNIX 0x1
75
#define GLIDE_OS_DOS32 0x2
76
#define GLIDE_OS_WIN32 0x4
77
#define GLIDE_OS_MACOS 0x8
78
#define GLIDE_OS_OS2 0x10
79
#define GLIDE_OS_OTHER 0x40 /* For Proprietary Arcade HW */
80
81
/* Sim vs. Hardware is stored in bits [7:8] */
82
#define GLIDE_SST_SHIFT 7
83
#define GLIDE_SST_SIM (0x1 << GLIDE_SST_SHIFT)
84
#define GLIDE_SST_HW (0x2 << GLIDE_SST_SHIFT)
85
86
/* Hardware Type is stored in bits [9:13] */
87
#define GLIDE_HW_SHIFT 9
88
#define GLIDE_HW_SST1 (0x1 << GLIDE_HW_SHIFT)
89
#define GLIDE_HW_SST96 (0x2 << GLIDE_HW_SHIFT)
90
#define GLIDE_HW_H3 (0x4 << GLIDE_HW_SHIFT)
91
#define GLIDE_HW_SST2 (0x8 << GLIDE_HW_SHIFT)
92
#define GLIDE_HW_CVG (0x10 << GLIDE_HW_SHIFT)
93
94
/*
95
** Make sure we handle all instances of WIN32
96
*/
97
#ifndef __WIN32__
98
# if defined (_WIN32) || defined (WIN32) || defined(__NT__)
99
# define __WIN32__
100
# endif
101
#endif
102
103
/* We need two checks on the OS: one for endian, the other for OS */
104
/* Check for endianness */
105
#if defined(__IRIX__) || defined(__sparc__) || defined(MACOS)
106
# define GLIDE_ENDIAN GLIDE_ENDIAN_BIG
107
#else
108
# define GLIDE_ENDIAN GLIDE_ENDIAN_LITTLE
109
#endif
110
111
/* Check for OS */
112
#if defined(__IRIX__) || defined(__sparc__) || defined(__linux__) || \
113
defined(__FreeBSD__) || defined(__NetBSD__) || defined(__OpenBSD__)
114
# define GLIDE_OS GLIDE_OS_UNIX
115
#elif defined(__DOS__)
116
# define GLIDE_OS GLIDE_OS_DOS32
117
#elif defined(__WIN32__)
118
# define GLIDE_OS GLIDE_OS_WIN32
119
#elif defined(macintosh) || defined(__APPLE__)
120
# define GLIDE_OS GLIDE_OS_MACOS
121
#else
122
#error "Unknown OS"
123
#endif
124
125
/* Check for Simulator vs. Hardware */
126
#if HAL_CSIM || HWC_CSIM
127
# define GLIDE_SST GLIDE_SST_SIM
128
#else
129
# define GLIDE_SST GLIDE_SST_HW
130
#endif
131
132
/* Check for type of hardware */
133
#ifdef SST96
134
# define GLIDE_HW GLIDE_HW_SST96
135
#elif defined(H3)
136
# define GLIDE_HW GLIDE_HW_H3
137
#elif defined(SST2)
138
# define GLIDE_HW GLIDE_HW_SST2
139
#elif defined(CVG)
140
# define GLIDE_HW GLIDE_HW_CVG
141
#else /* Default to SST1 */
142
# define GLIDE_HW GLIDE_HW_SST1
143
#endif
144
145
146
#define GLIDE_PLATFORM (GLIDE_ENDIAN | GLIDE_OS | GLIDE_SST | GLIDE_HW)
147
148
/*
149
** Control the number of TMUs
150
*/
151
#ifndef GLIDE_NUM_TMU
152
# define GLIDE_NUM_TMU 2
153
#endif
154
155
156
#if ((GLIDE_NUM_TMU < 0) || (GLIDE_NUM_TMU > 3))
157
# error "GLIDE_NUM_TMU set to an invalid value"
158
#endif
159
160
#endif /* __GLIDESYS_H__ */
161
162