initial checkin of dos win32 glide

This commit is contained in:
koolsmoky
2003-04-06 18:30:26 +00:00
parent 0b8571b620
commit 3b8ff42693
7 changed files with 646 additions and 84 deletions

32
swlibs/fxmisc/makefile Normal file
View File

@@ -0,0 +1,32 @@
#
# THIS SOFTWARE IS SUBJECT TO COPYRIGHT PROTECTION AND IS OFFERED ONLY
# PURSUANT TO THE 3DFX GLIDE GENERAL PUBLIC LICENSE. THERE IS NO RIGHT
# TO USE THE GLIDE TRADEMARK WITHOUT PRIOR WRITTEN PERMISSION OF 3DFX
# INTERACTIVE, INC. A COPY OF THIS LICENSE MAY BE OBTAINED FROM THE
# DISTRIBUTOR OR BY CONTACTING 3DFX INTERACTIVE INC(info@3dfx.com).
# THIS PROGRAM IS PROVIDED "AS IS" WITHOUT WARRANTY OF ANY KIND, EITHER
# EXPRESSED OR IMPLIED. SEE THE 3DFX GLIDE GENERAL PUBLIC LICENSE FOR A
# FULL TEXT OF THE NON-WARRANTY PROVISIONS.
#
# USE, DUPLICATION OR DISCLOSURE BY THE GOVERNMENT IS SUBJECT TO
# RESTRICTIONS AS SET FORTH IN SUBDIVISION (C)(1)(II) OF THE RIGHTS IN
# TECHNICAL DATA AND COMPUTER SOFTWARE CLAUSE AT DFARS 252.227-7013,
# AND/OR IN SIMILAR OR SUCCESSOR CLAUSES IN THE FAR, DOD OR NASA FAR
# SUPPLEMENT. UNPUBLISHED RIGHTS RESERVED UNDER THE COPYRIGHT LAWS OF
# THE UNITED STATES.
#
# COPYRIGHT 3DFX INTERACTIVE, INC. 1999, ALL RIGHTS RESERVED
#
# $Revision$
# $Date$
# $Log:
# 1 ve3d 1.0 11/24/01 KoolSmoky makefile
#
!include $(BUILD_ROOT)\config.mak
HEADERS=*.h
#INSTALL_DESTINATION=$(BUILD_ROOT)\$(FX_GLIDE_HW)
!include $(BUILD_ROOT)\swlibs\include\nmake\3dfx.mak

26
swlibs/include/makefile Normal file
View File

@@ -0,0 +1,26 @@
#
# THIS SOFTWARE IS SUBJECT TO COPYRIGHT PROTECTION AND IS OFFERED ONLY
# PURSUANT TO THE 3DFX GLIDE GENERAL PUBLIC LICENSE. THERE IS NO RIGHT
# TO USE THE GLIDE TRADEMARK WITHOUT PRIOR WRITTEN PERMISSION OF 3DFX
# INTERACTIVE, INC. A COPY OF THIS LICENSE MAY BE OBTAINED FROM THE
# DISTRIBUTOR OR BY CONTACTING 3DFX INTERACTIVE INC(info@3dfx.com).
# THIS PROGRAM IS PROVIDED "AS IS" WITHOUT WARRANTY OF ANY KIND, EITHER
# EXPRESSED OR IMPLIED. SEE THE 3DFX GLIDE GENERAL PUBLIC LICENSE FOR A
# FULL TEXT OF THE NON-WARRANTY PROVISIONS.
#
# USE, DUPLICATION OR DISCLOSURE BY THE GOVERNMENT IS SUBJECT TO
# RESTRICTIONS AS SET FORTH IN SUBDIVISION (C)(1)(II) OF THE RIGHTS IN
# TECHNICAL DATA AND COMPUTER SOFTWARE CLAUSE AT DFARS 252.227-7013,
# AND/OR IN SIMILAR OR SUCCESSOR CLAUSES IN THE FAR, DOD OR NASA FAR
# SUPPLEMENT. UNPUBLISHED RIGHTS RESERVED UNDER THE COPYRIGHT LAWS OF
# THE UNITED STATES.
#
# COPYRIGHT 3DFX INTERACTIVE, INC. 1999, ALL RIGHTS RESERVED
#
# $Revision$
# $Date$
#
LDIRT = *.h
!include $(BUILD_ROOT_SWLIBS)\include\nmake\3dfx.mak

View File

@@ -0,0 +1,344 @@
#
# $Log:
# 1 ve3d 1.0 11/24/01 KoolSmoky initial win32 global makefile
#
#
# library source sets FX_DLL_DEFINITION before including fxdll.h to indicate
# next header is interface file
#
!if "$(FX_TARGET)" == "WIN32" && "$(FX_DLL_BUILD)"=="1" && "$(FX_DLL_LIBRARY)"=="1"
FX_DLL_COMPILE = 1
LINK_DLL = 1
!endif
!if "$(FX_TARGET)" == "WIN32" && "$(FX_DLL_BUILD)"=="1" && "$(FX_DLL_COMPILE)"=="1"
COMPILE_DLL = 1
!endif
#
# compiler flags:
#
!if "$(FX_COMPILER)" == "MICROSOFT"
!if "$(CC)"==""
CC = cl
CPLUSPLUS = cl
!endif
CDEBUG = -Z7
CNODEBUG = /Ox
LDEBUG = -Z7
LINK = $(CC)
GCOPTS = /nologo /G6 /W3 /c
GCDEFS = -D__MSC__=1 -D_X86_=1 -DNULL=0
!if "$(FX_TARGET_MINOR)" == "WIN95"
GLDOPTS = -nologo /link /map -subsystem:windows,4.0 -debugtype:none -pdb:none -incremental:no -release
!else
!if "$(DEBUG)"=="1"
GLDOPTS = -nologo /link -subsystem:console -debugtype:both -pdb:none
!else
GLDOPTS = -link -pdb:none -incremental:no -release
!endif
!endif
CPP = $(CC) -E /c
LNODEBUG = $(CDEBUG)
GCINCS = -I$(BUILD_ROOT_SWLIBS)\include
!endif
#
# assembler flags:
#
AOPTS = /coff
ASM_LIST_FLAGS = /FAsc
AR = lib -nologo
!if "$(AS)"==""
AS = ml
!endif
ADEBUG = /Zi
AOPTS = $(AOPTS) /I. /c /Cp
ANODEBUG =
# if we are not debugging then replace debug flags with nodebug flags
!ifndef DEBUG
CDEBUG = $(CNODEBUG)
LDEBUG = $(LNODEBUG)
ADEBUG = $(ANODEBUG)
!endif
#
# target environment configs:
#
!if "$(FX_TARGET)" == "WIN32"
GCDEFS = $(GCDEFS) -D_WIN32 -DWIN32=1 -D__WIN32__=1
!ifdef COMPILE_DLL
GCDEFS = $(GCDEFS) -DFX_DLL_ENABLE=1
!endif
baselibs = $(optlibs) advapi32.lib #kernel32.lib
uilibs = shell32.lib comdlg32.lib comctl32.lib ctl3d32.lib
winlibs = $(baselibs) $(uilibs) user32.lib gdi32.lib winspool.lib winmm.lib
!if "$(FX_COMPILER)" == "MICROSOFT"
libcdll = /MT
!endif
guilibsdll = $(libcdll) $(winlibs)
!endif
#
# CFLAGS, we make sure we use both global and local flags:
#
#
GCFLAGS = $(GCINCS) $(GCDEFS) $(GCOPTS)
LCFLAGS = $(LCINCS) $(LCDEFS) $(LCOPTS)
VCFLAGS = $(VCINCS) $(VCDEFS) $(VCOPTS)
CFLAGS = $(CDEBUG) $(GCFLAGS) $(LCFLAGS) $(VCFLAGS)
#
# global linker flags (LDFLAGS) and libraries (LDLIBS)
# NOTE: local libs are before global libs
#
GLDOPTS = $(LDEBUG) $(GLDOPTS)
GLDLIBS = $(guilibsdll)
LDFLAGS = $(GLDOPTS) $(LLDOPTS)
LDLIBS = $(LLDLIBS) $(GLDLIBS)
#
# build up global assembler flags
#
AFLAGS = $(LADEFS) $(ADEBUG) $(LAINCS) $(AOPTS) $(LAOPTS) $(AINCLUDES)
#
# OS commands:
#
!if "$(FX_HOST)" == "WIN32"
XCOPY=@xcopy
CALL=@call
!endif
CHMODWR = attrib -r
RM = del /Q
INSTALL = $(XCOPY) /d /k /r /i /s /q
#
# default rule (make all):
#
default:: all
all: incs libs bins
RESFILE = $(RCFILE:.rc=.res)
OBJECTS = $(CFILES:.c=.obj) $(CPPFILES:.cpp=.obj) $(AFILES:.asm=.obj) $(RESFILE) $(LOBJECTS)
#
# INCS rule:
#
incs: $(BUILD_TOOLS) $(HEADERS)
!ifdef HEADERS
!ifdef FX_INSTALL_DESTINATION
!ifdef INSTALL_DESTINATION
!$(INSTALL) $** $(INSTALL_DESTINATION)\include
!attrib +r $(INSTALL_DESTINATION)\include\$**
!$(INSTALL) $** $(FX_INSTALL_DESTINATION)\include
!attrib +r $(FX_INSTALL_DESTINATION)\include\$**
!else
!$(INSTALL) $** $(FX_INSTALL_DESTINATION)\include
!attrib +r $(FX_INSTALL_DESTINATION)\include\$**
!endif
!else ifdef INSTALL_DESTINATION
!$(INSTALL) $** $(INSTALL_DESTINATION)\include
!attrib +r $(INSTALL_DESTINATION)\include\$**
!else
@echo INSTALL_DESTINATION not defined, not installing HEADERS
!endif
!endif
#
# LIBRARIES rules:
#
!ifdef LIBRARIES
LIBPARTS = $(OBJECTS) $(SUBLIBRARIES)
!ifdef LINK_DLL
!if "$(FX_TARGET)" == "WIN32"
DLLS = $(LIBRARIES:.lib=.dll)
EXPS = $(LIBRARIES:.lib=.exp)
!endif
!if "$(FX_COMPILER)"=="MICROSOFT"
$(LIBRARIES) : $(LIBPARTS)
$(LINK) /o $* /LD $(LIBPARTS) $(LDLIBS) $(LDFLAGS)
!endif
$(DLLS) : $(LIBRARIES)
!if defined(LIBRARIES) || defined(DLLS)
libs: $(LIBRARIES) $(DLLS)
echo FX_INSTALL_DESTINATION=$(FX_INSTALL_DESTINATION)
!ifdef FX_INSTALL_DESTINATION
!ifdef INSTALL_DESTINATION
!$(INSTALL) $(LIBRARIES) $(INSTALL_DESTINATION)\lib$(FX_COMPLIB_DIR)
!$(INSTALL) $(DLLS) $(INSTALL_DESTINATION)\bin
!attrib +r $(INSTALL_DESTINATION)\lib$(FX_COMPLIB_DIR)\$(LIBRARIES)
!attrib +r $(INSTALL_DESTINATION)\bin\$(DLLS)
!$(INSTALL) $(LIBRARIES) $(FX_INSTALL_DESTINATION)\lib$(FX_COMPLIB_DIR)
!$(INSTALL) $(DLLS) $(FX_INSTALL_DESTINATION)\bin
!attrib +r $(FX_INSTALL_DESTINATION)\lib$(FX_COMPLIB_DIR)\$(LIBRARIES)
!attrib +r $(FX_INSTALL_DESTINATION)\bin\$(DLLS)
!else
!$(INSTALL) $(LIBRARIES) $(FX_INSTALL_DESTINATION)\lib$(FX_COMPLIB_DIR)
!$(INSTALL) $(DLLS) $(FX_INSTALL_DESTINATION)\bin
!attrib +r $(FX_INSTALL_DESTINATION)\lib$(FX_COMPLIB_DIR)\$(LIBRARIES)
!attrib +r $(FX_INSTALL_DESTINATION)\bin\$(DLLS)
!endif
!else ifdef INSTALL_DESTINATION
!$(INSTALL) $(LIBRARIES) $(INSTALL_DESTINATION)\lib$(FX_COMPLIB_DIR)
!$(INSTALL) $(DLLS) $(INSTALL_DESTINATION)\bin
!attrib +r $(INSTALL_DESTINATION)\lib$(FX_COMPLIB_DIR)\$(LIBRARIES)
!attrib +r $(INSTALL_DESTINATION)\bin\$(DLLS)
!else
@echo INSTALL_DESTINATION not defined, not installing LIBRARIES
!endif
!else
libs:
!endif
!else
$(LIBRARIES) : $(LIBPARTS)
$(AR) /out:$*.lib $(LIBPARTS)
libs: $(LIBRARIES)
!ifdef FX_INSTALL_DESTINATION
!ifdef INSTALL_DESTINATION
!$(INSTALL) $** $(INSTALL_DESTINATION)\lib$(FX_COMPLIB_DIR)
!attrib +r $(INSTALL_DESTINATION)\lib$(FX_COMPLIB_DIR)\$**
!$(INSTALL) $** $(FX_INSTALL_DESTINATION)\lib$(FX_COMPLIB_DIR)
!attrib +r $(FX_INSTALL_DESTINATION)\lib$(FX_COMPLIB_DIR)\$**
!else
!$(INSTALL) $** $(FX_INSTALL_DESTINATION)\lib$(FX_COMPLIB_DIR)
!attrib +r $(FX_INSTALL_DESTINATION)\lib$(FX_COMPLIB_DIR)\$**
!endif
!else ifdef INSTALL_DESTINATION
!$(INSTALL) $** $(INSTALL_DESTINATION)\lib$(FX_COMPLIB_DIR)
!attrib +r $(INSTALL_DESTINATION)\lib$(FX_COMPLIB_DIR)\$**
!else
@echo INSTALL_DESTINATION not defined, not installing LIBRARIES
!endif
!endif
!else
libs:
!endif
#
# BINS rules:
#
!ifdef PROGRAM
$(PROGRAM) : $(LLDLIBS) $(OBJECTS) $(DEPDATA)
$(LINK) -o $@ $(OBJECTS) $(LDLIBS) $(LDFLAGS)
!endif
!ifdef PROGRAMS
$(PROGRAMS) : $(LLDLIBS) $*.obj $(RESFILE)
$(LINK) -o $@ $*.obj $(RESFILE) $(LDLIBS) $(LDFLAGS)
!endif
!if defined(PROGRAM) || defined(PROGRAMS) || defined(BATS) || defined(DIAGS)
bins: $(PROGRAM) $(PROGRAMS) $(BATS) $(DATAFILES) $(DIAGS)
!ifdef FX_INSTALL_DESTINATION
!ifdef INSTALL_DESTINATION
!$(INSTALL) $** $(INSTALL_DESTINATION)\bin
!attrib +r $(INSTALL_DESTINATION)\bin\$**
!$(INSTALL) $** $(FX_INSTALL_DESTINATION)\bin
!attrib +r $(FX_INSTALL_DESTINATION)\bin\$**
!else
!$(INSTALL) $** $(FX_INSTALL_DESTINATION)\bin
!attrib +r $(FX_INSTALL_DESTINATION)\bin\$**
!endif
!else ifdef INSTALL_DESTINATION
!$(INSTALL) $** $(INSTALL_DESTINATION)\bin
!attrib +r $(INSTALL_DESTINATION)\bin\$**
!else
@echo INSTALL_DESTINATION not defined, not installing PROGRAMS
!endif
!else
bins:
!endif
TARGETS = $(TARGETS) $(LIBRARIES) $(DLLS) $(EXPS) $(PROGRAM) $(PROGRAMS) $(DEPDATA) $(DIAGS)
#
# dependency:
#
MKDEPFILE = makedep
#
# make clean:
#
GDIRT = *.cod *.bak *.pdb *.ilk *.map *.sym *.err *.i stderr.out tmp.opt *.evt
DIRT = $(GDIRT) $(LDIRT)
JUNK = __junk__
OBJECTS = $(OBJECTS)
clean:
!if EXISTS ($(MKDEPFILE))
FOR %i IN ($(MKDEPFILE) $(JUNK)) DO $(CHMODWR) %i > NUL
FOR %i IN ($(MKDEPFILE) $(JUNK)) DO $(RM) %i > NUL
!endif
FOR %i IN ($(OBJECTS) $(JUNK)) DO $(CHMODWR) %i > NUL
FOR %i IN ($(OBJECTS) $(JUNK)) DO $(RM) %i > NUL
FOR %i IN ($(DIRT) $(JUNK)) DO $(CHMODWR) %i > NUL
FOR %i IN ($(DIRT) $(JUNK)) DO $(RM) %i > NUL
FOR %i IN ($(TARGETS) $(JUNK)) DO $(CHMODWR) %i > NUL
FOR %i IN ($(TARGETS) $(JUNK)) DO $(RM) %i > NUL
.SUFFIXES: .cod .i
.c.obj:
$(CC) $(CFLAGS) $<
.cpp.obj:
$(CPLUSPLUS) $(CFLAGS) $<
.rc.res:
rc $(GCINCS) $(LCINCS) $(VCINCS) $(GCDEFS) $(LCDEFS) $(VCDEFS) $<
.c.cod:
$(CC) $(CFLAGS) $(ASM_LIST_FLAGS) $<
.c.i:
$(CPP) $(CFLAGS) $< > $@
.asm.obj:
$(AS) $(AFLAGS) $<
.asm.o:
$(AS) $(AFLAGS) $<
rename $*.obj $@
#
# makedepend rules:
#
!if EXISTS ($(MKDEPFILE))
!include $(MKDEPFILE)
!endif
!ifndef MAKEFILE
MAKEFILE = makefile
!endif
!ifdef CFILES
$(OBJECTS): $(HEADERS) $(PRIVATE_HEADERS) $(MAKEFILE)
!endif
!ifdef CPPFILES
$(OBJECTS): $(HEADERS) $(PRIVATE_HEADERS) $(MAKEFILE)
!endif

View File

@@ -0,0 +1,33 @@
/*
* FxDPMI for DOS.
*
* Copyright (c) 2002 - Borca Daniel
* Email : dborca@yahoo.com
* Web : http://www.geocities.com/dborca
*/
#ifndef FXDPMI_H_included
#define FXDPMI_H_included
#ifdef __DJGPP__
#include <pc.h>
#define inp inportb
#define inpw inportw
#define inpd inportl
#define outp outportb
#define outpw outportw
#define outpd outportl
#define _inp inportb
#define _inpw inportw
#define _inpd inportl
#define _outp outportb
#define _outpw outportw
#define _outpd outportl
#endif
#endif

View File

@@ -30,7 +30,16 @@
#include "pcilib.h"
#include <fxdpmi.h>
/* [dBorca] */
#ifdef __DJGPP__
#include <crt0.h>
#include <dpmi.h>
#include <sys/nearptr.h>
static FxBool dirty;
#else
#include <fxmemmap.h>
#endif
/* Callback declarations */
static FxBool pciInitializeDPMI(void);
@@ -96,12 +105,31 @@ pciPlatformInit(void)
static FxBool
pciInitializeDPMI(void)
{
/* [dBorca] */
#ifdef __DJGPP__
/* enable nearptr access */
if (_crt0_startup_flags & _CRT0_FLAG_NEARPTR) {
dirty = FXFALSE;
} else {
if (__djgpp_nearptr_enable() == 0)
return FXFALSE;
dirty = FXTRUE;
}
#endif
return FXTRUE;
}
static FxBool
pciShutdownDPMI(void)
{
/* [dBorca] */
#ifdef __DJGPP__
if (dirty) {
__djgpp_nearptr_disable();
dirty = FXFALSE;
}
#endif
return FXTRUE;
}
@@ -117,6 +145,26 @@ static FxBool
pciMapLinearDPMI(FxU32 busNumber, FxU32 physical_addr,
FxU32 *linear_addr, FxU32 *length)
{
/* [dBorca] */
#ifdef __DJGPP__
__dpmi_meminfo meminfo;
if (physical_addr >= 0x100000) {
/* map into linear memory */
meminfo.address = physical_addr;
/* Hack alert:
* because of the TILE shit, we must enhance the mapped area
*/
meminfo.size = *length * 3 / 2;
if (__dpmi_physical_address_mapping(&meminfo) != 0)
return FXFALSE;
*linear_addr = meminfo.address - __djgpp_base_address;
} else {
/* exploit 1 -> 1 physical to linear mapping in low megabyte */
*linear_addr = physical_addr;
}
#else
FxBool onWindows;
/*
@@ -152,14 +200,29 @@ pciMapLinearDPMI(FxU32 busNumber, FxU32 physical_addr,
/* If we got here, it's OK to map the memory */
*linear_addr = DpmiMapPhysicalToLinear( physical_addr, *length );
#endif
return FXTRUE;
return FXTRUE;
}
static FxBool
pciUnmapLinearDPMI( FxU32 linear_addr, FxU32 length )
{
/* [dBorca] */
#ifdef __DJGPP__
__dpmi_meminfo meminfo;
if (linear_addr >= 0x100000) {
meminfo.address = linear_addr + __djgpp_base_address;
if (!__dpmi_free_physical_address_mapping(&meminfo)) {
return FXTRUE;
}
}
return FXFALSE;
#else
DpmiUnmapMemory(linear_addr, length);
#endif
}
/* Platform port io stuff */
@@ -184,50 +247,82 @@ pciPortInLongDPMI(FxU16 port)
static FxBool
pciPortOutByteDPMI(FxU16 port, FxU8 data)
{
return outp(port, data);
/* [dBorca] */
outp(port, data);
return FXTRUE;
}
static FxBool
pciPortOutWordDPMI(FxU16 port, FxU16 data)
{
return outpw(port, data);
/* [dBorca] */
outpw(port, data);
return FXTRUE;
}
static FxBool
pciPortOutLongDPMI(FxU16 port, FxU32 data)
{
return outpd(port, data);
/* [dBorca] */
outpd(port, data);
return FXTRUE;
}
static FxBool
pciMsrGetDPMI(MSRInfo* in, MSRInfo* out)
{
/* [dBorca] */
#ifdef __DJGPP__
return FXTRUE;
#else
return DpmiGetMSR((FxU32)in, (FxU32)out);
#endif
}
static FxBool
pciMsrSetDPMI(MSRInfo* in, MSRInfo* out)
{
/* [dBorca] */
#ifdef __DJGPP__
return FXTRUE;
#else
return DpmiSetMSR((FxU32)in, (FxU32)out);
#endif
}
/* Platform utilities. */
static FxBool
pciOutputStringDPMI(const char* msg)
{
/* [dBorca] */
#ifdef __DJGPP__
printf("%s", msg);
return FXTRUE;
#else
return DpmiOutputDebugString(msg);
#endif
}
static FxBool
pciSetPermissionDPMI(const FxU32 addrBase, const FxU32 addrLen,
const FxBool writePermP)
{
/* [dBorca] */
#ifdef __DJGPP__
return FXTRUE;
#else
return DpmiLinearRangeSetPermission(addrBase, addrLen, writePermP);
#endif
}
static FxBool
pciSetPassThroughBaseDPMI(FxU32* baseAddr, FxU32 baseAddrLen)
{
/* [dBorca] */
#ifdef __DJGPP__
return FXTRUE;
#else
return DpmiSetPassThroughBase(baseAddr, baseAddrLen);
#endif
}

View File

@@ -1,80 +1,80 @@
/*
** THIS SOFTWARE IS SUBJECT TO COPYRIGHT PROTECTION AND IS OFFERED ONLY
** PURSUANT TO THE 3DFX GLIDE GENERAL PUBLIC LICENSE. THERE IS NO RIGHT
** TO USE THE GLIDE TRADEMARK WITHOUT PRIOR WRITTEN PERMISSION OF 3DFX
** INTERACTIVE, INC. A COPY OF THIS LICENSE MAY BE OBTAINED FROM THE
** DISTRIBUTOR OR BY CONTACTING 3DFX INTERACTIVE INC(info@3dfx.com).
** THIS PROGRAM IS PROVIDED "AS IS" WITHOUT WARRANTY OF ANY KIND, EITHER
** EXPRESSED OR IMPLIED. SEE THE 3DFX GLIDE GENERAL PUBLIC LICENSE FOR A
** FULL TEXT OF THE NON-WARRANTY PROVISIONS.
**
** USE, DUPLICATION OR DISCLOSURE BY THE GOVERNMENT IS SUBJECT TO
** RESTRICTIONS AS SET FORTH IN SUBDIVISION (C)(1)(II) OF THE RIGHTS IN
** TECHNICAL DATA AND COMPUTER SOFTWARE CLAUSE AT DFARS 252.227-7013,
** AND/OR IN SIMILAR OR SUCCESSOR CLAUSES IN THE FAR, DOD OR NASA FAR
** SUPPLEMENT. UNPUBLISHED RIGHTS RESERVED UNDER THE COPYRIGHT LAWS OF
** THE UNITED STATES.
**
** COPYRIGHT 3DFX INTERACTIVE, INC. 1999, ALL RIGHTS RESERVED
*/
#ifndef _FXFREEBSD_H_
#define _FXFREEBSD_H_
#define FX_MAJOR_VER 0
#define FX_MINOR_VER 0
extern const FxU32 PCI_VENDOR_ID_FREEBSD;
extern const FxU32 PCI_DEVICE_ID_FREEBSD;
extern const FxU32 PCI_COMMAND_FREEBSD;
extern const FxU32 PCI_BASE_ADDRESS_0_FREEBSD;
extern const FxU32 SST1_PCI_INIT_ENABLE_FREEBSD;
extern const FxU32 SST1_PCI_BUS_SNOOP0_FREEBSD;
extern const FxU32 SST1_PCI_BUS_SNOOP1_FREEBSD;
FxBool
hasDev3DfxFreeBSD(void);
FxBool
pciInitializeFreeBSD(void);
FxBool
pciCloseFreeBSD( void );
FxU8
pioInByteFreeBSD(unsigned short port);
FxU16
pioInWordFreeBSD(unsigned short port);
FxU32
pioInLongFreeBSD(unsigned short port);
FxBool
pioOutByteFreeBSD(unsigned short port, FxU8 data);
FxBool
pioOutWordFreeBSD(unsigned short port, FxU16 data);
FxBool
pioOutLongFreeBSD(unsigned short port, FxU32 data);
FxBool
pciMapPhysicalToLinearFreeBSD( FxU32 *linear_addr, FxU32 physical_addr,
FxU32 *length );
void
pciUnmapPhysicalFreeBSD( FxU32 linear_addr, FxU32 length );
int
getNumDevicesFreeBSD(void);
FxU32
pciFetchRegisterFreeBSD( FxU32 cmd, FxU32 size, FxU32 device);
int
pciUpdateRegisterFreeBSD(FxU32 cmd, FxU32 data, FxU32 size, FxU32 device);
FxBool
pciOutputDebugStringFreeBSD(const char *msg);
#endif
/*
** THIS SOFTWARE IS SUBJECT TO COPYRIGHT PROTECTION AND IS OFFERED ONLY
** PURSUANT TO THE 3DFX GLIDE GENERAL PUBLIC LICENSE. THERE IS NO RIGHT
** TO USE THE GLIDE TRADEMARK WITHOUT PRIOR WRITTEN PERMISSION OF 3DFX
** INTERACTIVE, INC. A COPY OF THIS LICENSE MAY BE OBTAINED FROM THE
** DISTRIBUTOR OR BY CONTACTING 3DFX INTERACTIVE INC(info@3dfx.com).
** THIS PROGRAM IS PROVIDED "AS IS" WITHOUT WARRANTY OF ANY KIND, EITHER
** EXPRESSED OR IMPLIED. SEE THE 3DFX GLIDE GENERAL PUBLIC LICENSE FOR A
** FULL TEXT OF THE NON-WARRANTY PROVISIONS.
**
** USE, DUPLICATION OR DISCLOSURE BY THE GOVERNMENT IS SUBJECT TO
** RESTRICTIONS AS SET FORTH IN SUBDIVISION (C)(1)(II) OF THE RIGHTS IN
** TECHNICAL DATA AND COMPUTER SOFTWARE CLAUSE AT DFARS 252.227-7013,
** AND/OR IN SIMILAR OR SUCCESSOR CLAUSES IN THE FAR, DOD OR NASA FAR
** SUPPLEMENT. UNPUBLISHED RIGHTS RESERVED UNDER THE COPYRIGHT LAWS OF
** THE UNITED STATES.
**
** COPYRIGHT 3DFX INTERACTIVE, INC. 1999, ALL RIGHTS RESERVED
*/
#ifndef _FXFREEBSD_H_
#define _FXFREEBSD_H_
#define FX_MAJOR_VER 0
#define FX_MINOR_VER 0
extern const FxU32 PCI_VENDOR_ID_FREEBSD;
extern const FxU32 PCI_DEVICE_ID_FREEBSD;
extern const FxU32 PCI_COMMAND_FREEBSD;
extern const FxU32 PCI_BASE_ADDRESS_0_FREEBSD;
extern const FxU32 SST1_PCI_INIT_ENABLE_FREEBSD;
extern const FxU32 SST1_PCI_BUS_SNOOP0_FREEBSD;
extern const FxU32 SST1_PCI_BUS_SNOOP1_FREEBSD;
FxBool
hasDev3DfxFreeBSD(void);
FxBool
pciInitializeFreeBSD(void);
FxBool
pciCloseFreeBSD( void );
FxU8
pioInByteFreeBSD(unsigned short port);
FxU16
pioInWordFreeBSD(unsigned short port);
FxU32
pioInLongFreeBSD(unsigned short port);
FxBool
pioOutByteFreeBSD(unsigned short port, FxU8 data);
FxBool
pioOutWordFreeBSD(unsigned short port, FxU16 data);
FxBool
pioOutLongFreeBSD(unsigned short port, FxU32 data);
FxBool
pciMapPhysicalToLinearFreeBSD( FxU32 *linear_addr, FxU32 physical_addr,
FxU32 *length );
void
pciUnmapPhysicalFreeBSD( FxU32 linear_addr, FxU32 length );
int
getNumDevicesFreeBSD(void);
FxU32
pciFetchRegisterFreeBSD( FxU32 cmd, FxU32 size, FxU32 device);
int
pciUpdateRegisterFreeBSD(FxU32 cmd, FxU32 data, FxU32 size, FxU32 device);
FxBool
pciOutputDebugStringFreeBSD(const char *msg);
#endif

View File

@@ -0,0 +1,32 @@
#
# THIS SOFTWARE IS SUBJECT TO COPYRIGHT PROTECTION AND IS OFFERED ONLY
# PURSUANT TO THE 3DFX GLIDE GENERAL PUBLIC LICENSE. THERE IS NO RIGHT
# TO USE THE GLIDE TRADEMARK WITHOUT PRIOR WRITTEN PERMISSION OF 3DFX
# INTERACTIVE, INC. A COPY OF THIS LICENSE MAY BE OBTAINED FROM THE
# DISTRIBUTOR OR BY CONTACTING 3DFX INTERACTIVE INC(info@3dfx.com).
# THIS PROGRAM IS PROVIDED "AS IS" WITHOUT WARRANTY OF ANY KIND, EITHER
# EXPRESSED OR IMPLIED. SEE THE 3DFX GLIDE GENERAL PUBLIC LICENSE FOR A
# FULL TEXT OF THE NON-WARRANTY PROVISIONS.
#
# USE, DUPLICATION OR DISCLOSURE BY THE GOVERNMENT IS SUBJECT TO
# RESTRICTIONS AS SET FORTH IN SUBDIVISION (C)(1)(II) OF THE RIGHTS IN
# TECHNICAL DATA AND COMPUTER SOFTWARE CLAUSE AT DFARS 252.227-7013,
# AND/OR IN SIMILAR OR SUCCESSOR CLAUSES IN THE FAR, DOD OR NASA FAR
# SUPPLEMENT. UNPUBLISHED RIGHTS RESERVED UNDER THE COPYRIGHT LAWS OF
# THE UNITED STATES.
#
# COPYRIGHT 3DFX INTERACTIVE, INC. 1999, ALL RIGHTS RESERVED
#
# $Revision$
# $Date$
# $Log:
# 1 ve3d 1.0 11/24/01 KoolSmoky makefile
#
!include $(BUILD_ROOT)\config.mak
HEADERS=*.h
INSTALL_DESTINATION=$(BUILD_ROOT)\$(FX_GLIDE_HW)
!include $(BUILD_ROOT)\swlibs\include\nmake\3dfx.mak