initial checkin of dos win32 glide
This commit is contained in:
32
swlibs/fxmisc/makefile
Normal file
32
swlibs/fxmisc/makefile
Normal 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
26
swlibs/include/makefile
Normal 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
|
||||
344
swlibs/include/nmake/3dfx.mak
Normal file
344
swlibs/include/nmake/3dfx.mak
Normal 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
|
||||
33
swlibs/newpci/pcilib/fxdpmi.h
Normal file
33
swlibs/newpci/pcilib/fxdpmi.h
Normal 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
|
||||
@@ -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
|
||||
}
|
||||
|
||||
|
||||
@@ -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
|
||||
|
||||
32
swlibs/newpci/pcilib/makefile
Normal file
32
swlibs/newpci/pcilib/makefile
Normal 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
|
||||
Reference in New Issue
Block a user