Path: blob/master/libmupen64plus/mupen64plus-video-glide64mk2/src/Glitch64/inc/glidesys.h
2 views
/*1** THIS SOFTWARE IS SUBJECT TO COPYRIGHT PROTECTION AND IS OFFERED ONLY2** PURSUANT TO THE 3DFX GLIDE GENERAL PUBLIC LICENSE. THERE IS NO RIGHT3** TO USE THE GLIDE TRADEMARK WITHOUT PRIOR WRITTEN PERMISSION OF 3DFX4** INTERACTIVE, INC. A COPY OF THIS LICENSE MAY BE OBTAINED FROM THE5** DISTRIBUTOR OR BY CONTACTING 3DFX INTERACTIVE INC([email protected]).6** THIS PROGRAM IS PROVIDED "AS IS" WITHOUT WARRANTY OF ANY KIND, EITHER7** EXPRESSED OR IMPLIED. SEE THE 3DFX GLIDE GENERAL PUBLIC LICENSE FOR A8** FULL TEXT OF THE NON-WARRANTY PROVISIONS.9**10** USE, DUPLICATION OR DISCLOSURE BY THE GOVERNMENT IS SUBJECT TO11** RESTRICTIONS AS SET FORTH IN SUBDIVISION (C)(1)(II) OF THE RIGHTS IN12** TECHNICAL DATA AND COMPUTER SOFTWARE CLAUSE AT DFARS 252.227-7013,13** AND/OR IN SIMILAR OR SUCCESSOR CLAUSES IN THE FAR, DOD OR NASA FAR14** SUPPLEMENT. UNPUBLISHED RIGHTS RESERVED UNDER THE COPYRIGHT LAWS OF15** THE UNITED STATES.16**17** COPYRIGHT 3DFX INTERACTIVE, INC. 1999, ALL RIGHTS RESERVED18**19** $Header: /cvsroot/glide/glide3x/h5/glide3/src/glidesys.h,v 1.3.4.3 2003/07/24 03:51:08 anholt Exp $20** $Log:21** 3 3dfx 1.0.1.0.1.0 10/11/00 Brent Forced check in to enforce22** branching.23** 2 3dfx 1.0.1.0 06/20/00 Joseph Kain Changes to support the24** Napalm Glide open source release. Changes include cleaned up offensive25** comments and new legal headers.26** 1 3dfx 1.0 09/11/99 StarTeam VTS Administrator27** $28**29** 4 11/05/98 11:18a Russp30** Fix GLIDE_NUM_TMU error check (change "&&" to "||")31**32** 3 7/24/98 1:41p Hohn33**34** 2 6/15/98 10:50a Peter35** made csim compile time option36*37* 1 1/16/98 4:29p Atai38* create glide 3 src39*40* 10 12/09/97 12:20p Peter41* mac glide port42*43* 9 11/04/97 4:00p Dow44* Banshee Mods45*46* 8 8/18/97 3:52p Peter47* pre-hw arrival fixes/cleanup48*49* 7 6/02/97 4:09p Peter50* Compile w/ gcc for Dural51*52* 6 5/27/97 1:16p Peter53* Basic cvg, w/o cmd fifo stuff.54*55* 5 5/21/97 6:05a Peter56*/57#ifndef __GLIDESYS_H__58#define __GLIDESYS_H__5960/*61n** -----------------------------------------------------------------------62** COMPILER/ENVIRONMENT CONFIGURATION63** -----------------------------------------------------------------------64*/6566/* Endianness is stored in bits [30:31] */67#define GLIDE_ENDIAN_SHIFT 3068#define GLIDE_ENDIAN_LITTLE (0x1 << GLIDE_ENDIAN_SHIFT)69#define GLIDE_ENDIAN_BIG (0x2 << GLIDE_ENDIAN_SHIFT)7071/* OS is stored in bits [0:6] */72#define GLIDE_OS_SHIFT 073#define GLIDE_OS_UNIX 0x174#define GLIDE_OS_DOS32 0x275#define GLIDE_OS_WIN32 0x476#define GLIDE_OS_MACOS 0x877#define GLIDE_OS_OS2 0x1078#define GLIDE_OS_OTHER 0x40 /* For Proprietary Arcade HW */7980/* Sim vs. Hardware is stored in bits [7:8] */81#define GLIDE_SST_SHIFT 782#define GLIDE_SST_SIM (0x1 << GLIDE_SST_SHIFT)83#define GLIDE_SST_HW (0x2 << GLIDE_SST_SHIFT)8485/* Hardware Type is stored in bits [9:13] */86#define GLIDE_HW_SHIFT 987#define GLIDE_HW_SST1 (0x1 << GLIDE_HW_SHIFT)88#define GLIDE_HW_SST96 (0x2 << GLIDE_HW_SHIFT)89#define GLIDE_HW_H3 (0x4 << GLIDE_HW_SHIFT)90#define GLIDE_HW_SST2 (0x8 << GLIDE_HW_SHIFT)91#define GLIDE_HW_CVG (0x10 << GLIDE_HW_SHIFT)9293/*94** Make sure we handle all instances of WIN3295*/96#ifndef __WIN32__97# if defined (_WIN32) || defined (WIN32) || defined(__NT__)98# define __WIN32__99# endif100#endif101102/* We need two checks on the OS: one for endian, the other for OS */103/* Check for endianness */104#if defined(__IRIX__) || defined(__sparc__) || defined(MACOS)105# define GLIDE_ENDIAN GLIDE_ENDIAN_BIG106#else107# define GLIDE_ENDIAN GLIDE_ENDIAN_LITTLE108#endif109110/* Check for OS */111#if defined(__IRIX__) || defined(__sparc__) || defined(__linux__) || \112defined(__FreeBSD__) || defined(__NetBSD__) || defined(__OpenBSD__)113# define GLIDE_OS GLIDE_OS_UNIX114#elif defined(__DOS__)115# define GLIDE_OS GLIDE_OS_DOS32116#elif defined(__WIN32__)117# define GLIDE_OS GLIDE_OS_WIN32118#elif defined(macintosh) || defined(__APPLE__)119# define GLIDE_OS GLIDE_OS_MACOS120#else121#error "Unknown OS"122#endif123124/* Check for Simulator vs. Hardware */125#if HAL_CSIM || HWC_CSIM126# define GLIDE_SST GLIDE_SST_SIM127#else128# define GLIDE_SST GLIDE_SST_HW129#endif130131/* Check for type of hardware */132#ifdef SST96133# define GLIDE_HW GLIDE_HW_SST96134#elif defined(H3)135# define GLIDE_HW GLIDE_HW_H3136#elif defined(SST2)137# define GLIDE_HW GLIDE_HW_SST2138#elif defined(CVG)139# define GLIDE_HW GLIDE_HW_CVG140#else /* Default to SST1 */141# define GLIDE_HW GLIDE_HW_SST1142#endif143144145#define GLIDE_PLATFORM (GLIDE_ENDIAN | GLIDE_OS | GLIDE_SST | GLIDE_HW)146147/*148** Control the number of TMUs149*/150#ifndef GLIDE_NUM_TMU151# define GLIDE_NUM_TMU 2152#endif153154155#if ((GLIDE_NUM_TMU < 0) || (GLIDE_NUM_TMU > 3))156# error "GLIDE_NUM_TMU set to an invalid value"157#endif158159#endif /* __GLIDESYS_H__ */160161162