From 949e7ff61df7307dffeedbd99e775aeaeb89aa92 Mon Sep 17 00:00:00 2001 From: waltje Date: Mon, 26 Mar 2018 17:46:16 -0400 Subject: [PATCH] Added support for MSVC14, plus added a MSVC Makefile.VS --- src/network/net_pcap.c | 3 + src/network/pcap_if.c | 5 +- src/sound/snd_audiopci.c | 5 +- src/sound/snd_emu8k.c | 5 +- src/sound/snd_sb_dsp.c | 5 +- src/win/Makefile.VS | 688 ++++++++++ src/win/Makefile.mingw | 4 +- src/win/VARCem.rc | 4 +- src/win/msvc14/Include/d3dx9tex.h | 300 +++++ src/win/msvc14/Lib/x64/d3dx9.lib | Bin 0 -> 81324 bytes src/win/msvc14/Lib/x86/d3dx9.lib | Bin 0 -> 87600 bytes src/win/msvc14/VARCem.sln | 31 + src/win/msvc14/VARCem.vcxproj | 760 +++++++++++ src/win/msvc14/VARCem.vcxproj.filters | 1666 +++++++++++++++++++++++++ src/win/msvc14/VARCem.vcxproj.user | 4 + src/win/msvc14/global.props | 14 + src/win/resource.h | 3 +- src/win/win_d3d.cpp | 2 +- src/win/win_joystick.cpp | 5 +- 19 files changed, 3493 insertions(+), 11 deletions(-) create mode 100644 src/win/Makefile.VS create mode 100644 src/win/msvc14/Include/d3dx9tex.h create mode 100644 src/win/msvc14/Lib/x64/d3dx9.lib create mode 100644 src/win/msvc14/Lib/x86/d3dx9.lib create mode 100644 src/win/msvc14/VARCem.sln create mode 100644 src/win/msvc14/VARCem.vcxproj create mode 100644 src/win/msvc14/VARCem.vcxproj.filters create mode 100644 src/win/msvc14/VARCem.vcxproj.user create mode 100644 src/win/msvc14/global.props diff --git a/src/network/net_pcap.c b/src/network/net_pcap.c index 9792b2c..6966d1a 100644 --- a/src/network/net_pcap.c +++ b/src/network/net_pcap.c @@ -49,6 +49,9 @@ #include #include #include +#ifdef _WIN32 +# define WIN32 +#endif #include #include "../emu.h" #include "../config.h" diff --git a/src/network/pcap_if.c b/src/network/pcap_if.c index 83d318b..b550b9c 100644 --- a/src/network/pcap_if.c +++ b/src/network/pcap_if.c @@ -10,7 +10,7 @@ * * Based on the "libpcap" examples. * - * Version: @(#)pcap_if.c 1.0.10 2018/03/10 + * Version: @(#)pcap_if.c 1.0.11 2018/03/25 * * Author: Fred N. van Kempen, * @@ -52,6 +52,9 @@ #include #include #include +#ifdef _WIN32 +# define WIN32 +#endif #include #include #include "../emu.h" diff --git a/src/sound/snd_audiopci.c b/src/sound/snd_audiopci.c index c7c5d42..7305afa 100644 --- a/src/sound/snd_audiopci.c +++ b/src/sound/snd_audiopci.c @@ -8,7 +8,7 @@ * * Implementation of the AudioPCI sound device. * - * Version: @(#)snd_audiopci.c 1.0.5 2018/03/17 + * Version: @(#)snd_audiopci.c 1.0.6 2018/03/25 * * Authors: Fred N. van Kempen, * Miran Grca, @@ -41,6 +41,9 @@ #include #include #include +#ifdef _WIN32 +# define _USE_MATH_DEFINES +#endif #include #define HAVE_STDARG_H #include "../emu.h" diff --git a/src/sound/snd_emu8k.c b/src/sound/snd_emu8k.c index 42b0fbe..4dd5099 100644 --- a/src/sound/snd_emu8k.c +++ b/src/sound/snd_emu8k.c @@ -8,7 +8,7 @@ * * Implementation of Emu8000 emulator. * - * Version: @(#)snd_emu8k.c 1.0.3 2018/03/17 + * Version: @(#)snd_emu8k.c 1.0.4 2018/03/25 * * Authors: Fred N. van Kempen, * Miran Grca, @@ -43,6 +43,9 @@ #include #include #include +#ifdef _WIN32 +# define _USE_MATH_DEFINES +#endif #include #define HAVE_STDARG_H #include "../emu.h" diff --git a/src/sound/snd_sb_dsp.c b/src/sound/snd_sb_dsp.c index a228254..921b3fb 100644 --- a/src/sound/snd_sb_dsp.c +++ b/src/sound/snd_sb_dsp.c @@ -14,7 +14,7 @@ * 486-50 - 32kHz * Pentium - 45kHz * - * Version: @(#)snd_sb_dsp.c 1.0.1 2018/02/14 + * Version: @(#)snd_sb_dsp.c 1.0.2 2018/03/25 * * Authors: Fred N. van Kempen, * Miran Grca, @@ -46,6 +46,9 @@ #include #include #include +#ifdef _WIN32 +# define _USE_MATH_DEFINES +#endif #include #include #include "../emu.h" diff --git a/src/win/Makefile.VS b/src/win/Makefile.VS new file mode 100644 index 0000000..102e514 --- /dev/null +++ b/src/win/Makefile.VS @@ -0,0 +1,688 @@ +# +# VARCem Virtual ARchaeological Computer EMulator. +# An emulator of (mostly) x86-based PC systems and devices, +# using the ISA,EISA,VLB,MCA and PCI system buses, roughly +# spanning the era between 1981 and 1995. +# +# This file is part of the VARCem Project. +# +# Makefile for Windows systems using Visual Studio 2015. +# +# Version: @(#)Makefile.VS 1.0.1 2018/03/25 +# +# Author: Fred N. van Kempen, +# +# Copyright 2017,2018 Fred N. van Kempen. +# +# Redistribution and use in source and binary forms, with +# or without modification, are permitted provided that the +# following conditions are met: +# +# 1. Redistributions of source code must retain the entire +# above notice, this list of conditions and the following +# disclaimer. +# +# 2. Redistributions in binary form must reproduce the above +# copyright notice, this list of conditions and the +# following disclaimer in the documentation and/or other +# materials provided with the distribution. +# +# 3. Neither the name of the copyright holder nor the names +# of its contributors may be used to endorse or promote +# products derived from this software without specific +# prior written permission. +# +# THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS +# "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT +# LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A +# PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT +# HOLDER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, +# SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT +# LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, +# DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY +# THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT +# (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE +# OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. + + +# Various compile-time options. +ifndef STUFF + STUFF := +endif + +# Add feature selections here. +ifndef EXTRAS + EXTRAS := +endif + +# Defaults for several build options (possibly defined in a chained file.) +ifndef AUTODEP + AUTODEP := n +endif +ifndef CRASHDUMP + CRASHDUMP := n +endif +ifndef CROSS + CROSS := n +endif +ifndef DEBUG + DEBUG := n +endif +ifndef PROFILER + PROFILER := n +endif +ifndef OPTIM + OPTIM := n +endif +ifndef RELEASE + RELEASE := n +endif +ifndef X64 + X64 := n +endif +ifndef DYNAREC + DYNAREC := y +endif +ifndef WX + WX := n +endif +ifndef USB + USB := n +endif +ifndef VNC + VNC := n +endif +ifndef RDP + RDP := n +endif +ifndef PNG + PNG := n +endif +ifndef DEV_BUILD + DEV_BUILD := n +endif +ifndef DEV_BRANCH + DEV_BRANCH := n +endif +ifndef AMD_K + AMD_K := n +endif +ifndef LASERXT + LASERXT := n +endif +ifndef PORTABLE3 + PORTABLE3 := n +endif +ifndef GREENB + GREENB := n +endif +ifndef I686 + I686 := n +endif +ifndef OPENAL + OPENAL := y +endif +ifndef FLUIDSYNTH + FLUIDSYNTH := y +endif +ifndef MUNT + MUNT := y +endif +ifndef PAS16 + PAS16 := n +endif +ifndef STEALTH32 + STEALTH32 := n +endif +ifndef XL24 + XL24 := n +endif + + +# Name of the executable. +ifndef PROG + ifneq ($(WX), n) + PROG := WxVARCem + else + PROG := VARCem + endif +endif + +ifeq ($(DEV_BUILD), y) + CRASHDUMP := y + DEV_BRANCH := y + AMD_K := y + LASERXT := y + PORTABLE3 := y + GREENB := y + I686 := y + PAS16 := y + STEALTH32 := y + XL24 := y +endif + +# Where is the the WinPcap SDK? +WPCAP = "C:\Program Files (x86)\WinPcap" +WPCAPINC = -I$(WPCAP)\Include +WPCAPLIB = $(WPCAP)\Lib + +# WxWidgets basic info. Extract using the config program. +ifneq ($(WX), n) + EXPATH += wx + WX_CONFIG := wx-config.exe + ifeq ($(WX), y) + WX_PATH := C:/MinGW32/WxWidgets + WX_FLAGS := -I$(WX_PATH)/lib/wx/include/msw-unicode-3.0 \ + -I$(WX_PATH)/include/wx-3.0 \ + -D__WXMSW__ -DWX_PRECOMP -D_FILE_OFFSET_BITS=64 -pthread +# -lwx_mswu_gl-3.0 -lwxtiff-3.0 -llzma + WX_LIBS := -mthreads -L$(WX_PATH)/lib \ + -lwx_mswu-3.0.dll \ + -lrpcrt4 -loleaut32 -lole32 -luuid \ + -lwinspool -lwinmm -lshell32 -lcomctl32 \ + -lcomdlg32 -ladvapi32 -lwsock32 -lgdi32 + endif + ifeq ($(WX), static) + WX_PATH := C:/MinGW32/WxWidgets + WX_FLAGS := -I$(WX_PATH)/lib/wx/include/msw-unicode-3.0 \ + -I$(WX_PATH)/include/wx-3.0 \ + -D__WXMSW__ -DWX_PRECOMP -D_FILE_OFFSET_BITS=64 -pthread +# -lwx_mswu_gl-3.0 -lwxtiff-3.0 -llzma + WX_LIBS := -mthreads -L$(WX_PATH)/lib \ + -lwx_mswu-3.0 -lwxscintilla-3.0 \ + -lwxjpeg-3.0 -lwxpng-3.0 -lwxzlib-3.0 \ + -lwxregexu-3.0 -lwxexpat-3.0 \ + -lrpcrt4 -loleaut32 -lole32 -luuid \ + -lwinspool -lwinmm -lshell32 -lcomctl32 \ + -lcomdlg32 -ladvapi32 -lwsock32 -lgdi32 + endif +endif + + +######################################################################### +# Nothing should need changing from here on.. # +######################################################################### +VPATH := $(EXPATH) . cpu \ + cdrom disk floppy floppy/lzf game sio machine \ + sound \ + sound/munt sound/munt/c_interface sound/munt/sha1 \ + sound/munt/srchelper \ + sound/resid-fp \ + scsi video network network/slirp win + +# +# Select the required build environment. +# +VCOPTS := -D_CRT_SECURE_NO_WARNINGS -D__MSC__ +ifeq ($(X64), y) + CPP := cl -nologo -arch:amd64 + CC := cl -nologo -arch:amd64 + ARCH := x64 +else + CPP := cl -nologo + CC := cl -nologo + ARCH := x86 +endif +PREPROC := cl -nologo -EP +LINK := link -nologo +WINDRES := rc -nologo -r + +SYSINC := -Iwin/mingw/include -Iwin/msvc14/include +SYSLIB := + +DEPS = -MMD -MF $*.d -c $< +DEPFILE := win\.depends-msvc14 + +# Set up the correct toolchain flags. +OPTS := $(EXTRAS) $(STUFF) $(VCOPTS) $(WPCAPINC) $(SYSINC) +COPTS := -W1 #-W4 +CXXOPTS := -EHsc +DOPTS := +LOPTS := -LIBPATH:win\msvc14\Lib\$(ARCH) +ifdef BUILD + OPTS += -DBUILD=$(BUILD) +endif +ifdef COMMIT + OPTS += -DCOMMIT=0x$(COMMIT) +endif +ifdef UPSTREAM + OPTS += -DUPSTREAM=0x$(UPSTREAM) +endif +ifdef EXFLAGS + OPTS += $(EXFLAGS) +endif +ifdef EXINC + OPTS += -I$(EXINC) +endif +OPTS += $(SYSINC) +ifeq ($(OPTIM), y) + DOPTS := -march=native +endif +ifeq ($(DEBUG), y) + DOPTS += -Gs -Zi -DDEBUG + LOPTS += -debug + AOPTIM := + ifndef COPTIM + COPTIM := -Od + endif +else + DOPTS := -Gs + ifndef COPTIM + COPTIM := -O2 + endif +endif +AFLAGS := /arch:SSE2 +RFLAGS := +LDFLAGS := $(LOPTS) +ifeq ($(CRASHDUMP), y) + OPTS += -DUSE_CRASHDUMP +endif +ifeq ($(RELEASE), y) + OPTS += -DRELEASE_BUILD + RFLAGS += -DRELEASE_BUILD +endif +ifeq ($(PROFILER), y) + LDFLAGS += /MAP +endif +ifeq ($(VRAMDUMP), y) + OPTS += -DENABLE_VRAM_DUMP + RFLAGS += -DENABLE_VRAM_DUMP +endif +ifeq ($(X64), y) + PLATCG := codegen_x86-64.obj + CGOPS := codegen_ops_x86-64.h + VCG := vid_voodoo_codegen_x86-64.h +else + PLATCG := codegen_x86.obj + CGOPS := codegen_ops_x86.h + VCG := vid_voodoo_codegen_x86.h +endif +LIBS := ddraw.lib dinput8.lib dxguid.lib d3d9.lib d3dx9.lib \ + comctl32.lib winmm.lib comdlg32.lib advapi32.lib \ + gdi32.lib shell32.lib user32.lib kernel32.lib \ + wsock32.lib iphlpapi.lib + + +# Optional modules. +ifeq ($(DYNAREC), y) +OPTS += -DUSE_DYNAREC +RFLAGS += -DUSE_DYNAREC +DYNARECOBJ := 386_dynarec_ops.obj \ + codegen.obj \ + codegen_ops.obj \ + codegen_timing_common.obj codegen_timing_486.obj \ + codegen_timing_686.obj codegen_timing_pentium.obj \ + codegen_timing_winchip.obj $(PLATCG) +endif + +ifneq ($(WX), n) + OPTS += -DUSE_WX $(WX_FLAGS) + LIBS += $(WX_LIBS) -lm + UIOBJ := wx_main.obj wx_ui.obj wx_stbar.obj wx_render.obj +else + UIOBJ := win_ui.obj \ + win_ddraw.obj win_d3d.obj \ + win_dialog.obj win_about.obj win_status.obj win_stbar.obj \ + win_settings.obj win_devconf.obj win_snd_gain.obj \ + win_new_floppy.obj win_jsconf.obj +endif + +ifeq ($(OPENAL), y) +OPTS += -DUSE_OPENAL +endif +ifeq ($(FLUIDSYNTH), y) +OPTS += -DUSE_FLUIDSYNTH +FSYNTHOBJ := midi_fluidsynth.obj +endif + +ifeq ($(MUNT), y) +OPTS += -DUSE_MUNT +MUNTOBJ := midi_mt32.obj \ + Analog.obj BReverbModel.obj File.obj FileStream.obj LA32Ramp.obj \ + LA32FloatWaveGenerator.obj LA32WaveGenerator.obj \ + MidiStreamParser.obj Part.obj Partial.obj PartialManager.obj \ + Poly.obj ROMInfo.obj SampleRateConverter_dummy.obj Synth.obj \ + Tables.obj TVA.obj TVF.obj TVP.obj sha1.obj c_interface.obj +endif + +ifeq ($(VNC), y) +OPTS += -DUSE_VNC +RFLAGS += -DUSE_VNC + ifneq ($(VNC_PATH), ) + OPTS += -I$(VNC_PATH)\INCLUDE + VNCLIB := -L$(VNC_PATH)\LIB + endif +VNCLIB += -lvncserver +VNCOBJ := vnc.obj vnc_keymap.obj +LIBS += $(VNCLIB) -lws2_32 +endif + +ifeq ($(RDP), y) +OPTS += -DUSE_RDP +RFLAGS += -DUSE_RDP + ifneq ($(RDP_PATH), ) + OPTS += -I$(RDP_PATH)\INCLUDE + RDPLIB := -L$(RDP_PATH)\LIB + endif +RDPLIB += -lrdp +RDPOBJ := rdp.obj +LIBS += $(RDPLIB) +endif + +ifeq ($(PNG), y) +OPTS += -DUSE_PNG +RFLAGS += -DUSE_PNG +LIBS += -lpng -lz +endif + +# Options for the DEV branch. +ifeq ($(DEV_BRANCH), y) + OPTS += -DDEV_BRANCH + DEVBROBJ := + + ifeq ($(AMD_K), y) + OPTS += -DUSE_AMD_K + endif + + ifeq ($(LASERXT), y) + OPTS += -DUSE_LASERXT + DEVBROBJ += m_xt_laserxt.obj + endif + + ifeq ($(PORTABLE3), y) + OPTS += -DUSE_PORTABLE3 + endif + + ifeq ($(GREENB), y) + OPTS += -DUSE_GREENB + DEVBROBJ += m_at_4gpv31.obj + endif + + ifeq ($(I686), y) + OPTS += -DUSE_I686 + DEVBROBJ += m_at_440fx.obj + endif + + ifeq ($(STEALTH32), y) + OPTS += -DUSE_STEALTH32 + DEVBROBJ += vid_icd2061.obj + endif + + ifeq ($(XL24), y) + OPTS += -DUSE_XL24 + endif + + ifeq ($(PAS16), y) + OPTS += -DUSE_PAS16 + DEVBROBJ += snd_pas16.obj + endif + +endif + + +# Options for works-in-progress. +ifndef SERIAL +SERIAL := serial.obj +endif + + +# Final versions of the toolchain flags. +CFLAGS := $(WX_FLAGS) $(OPTS) $(COPTS) $(DOPTS) $(AOPTIM) $(AFLAGS) +CXXFLAGS := $(WX_FLAGS) $(OPTS) $(CXXOPTS) $(COPTS) $(DOPTS) $(AOPTIM) $(AFLAGS) + + +######################################################################### +# Create the (final) list of objects to build. # +######################################################################### +MAINOBJ := pc.obj config.obj \ + random.obj timer.obj io.obj dma.obj nmi.obj pic.obj pit.obj ppi.obj \ + pci.obj mca.obj mcr.obj mem.obj memregs.obj rom.obj rom_load.obj \ + device.obj nvr.obj nvr_at.obj nvr_ps2.obj $(VNCOBJ) $(RDPOBJ) + +INTELOBJ := intel.obj \ + intel_flash.obj \ + intel_sio.obj \ + intel_piix.obj intel_piix4.obj + +CPUOBJ := cpu.obj cpu_table.obj \ + 808x.obj 386.obj x86seg.obj x87.obj \ + 386_dynarec.obj $(DYNARECOBJ) + +MCHOBJ := machine.obj machine_table.obj \ + m_xt.obj m_xt_compaq.obj \ + m_xt_t1000.obj m_xt_t1000_vid.obj \ + m_xt_xi8088.obj \ + m_pcjr.obj \ + m_amstrad.obj \ + m_europc.obj m_europc_hdc.obj \ + m_olivetti_m24.obj m_tandy.obj \ + m_at.obj \ + m_at_ali1429.obj m_at_commodore.obj \ + m_at_neat.obj m_at_headland.obj \ + m_at_t3100e.obj m_at_t3100e_vid.obj \ + m_ps1.obj \ + m_ps2_isa.obj m_ps2_mca.obj \ + m_at_opti495.obj m_at_scat.obj \ + m_at_compaq.obj m_at_wd76c10.obj \ + m_at_sis_85c471.obj m_at_sis_85c496.obj \ + m_at_430lx_nx.obj m_at_430fx.obj \ + m_at_430hx.obj m_at_430vx.obj + +DEVOBJ := bugger.obj lpt.obj $(SERIAL) \ + sio_fdc37c66x.obj sio_fdc37c669.obj sio_fdc37c93x.obj \ + sio_pc87306.obj sio_w83877f.obj sio_um8669f.obj \ + keyboard.obj \ + keyboard_xt.obj keyboard_at.obj \ + gameport.obj \ + joystick_standard.obj joystick_ch_flightstick_pro.obj \ + joystick_sw_pad.obj joystick_tm_fcs.obj \ + mouse.obj \ + mouse_serial.obj mouse_ps2.obj mouse_bus.obj + +FDDOBJ := fdc.obj \ + fdd.obj \ + fdd_common.obj fdd_86f.obj \ + fdd_fdi.obj fdi2raw.obj lzf_c.obj lzf_d.obj \ + fdd_imd.obj fdd_img.obj fdd_json.obj fdd_td0.obj + +HDDOBJ := hdd.obj \ + hdd_image.obj hdd_table.obj \ + hdc.obj \ + hdc_mfm_xt.obj hdc_xtide.obj \ + hdc_mfm_at.obj \ + hdc_esdi_at.obj hdc_esdi_mca.obj \ + hdc_ide.obj + +CDROMOBJ := cdrom.obj \ + cdrom_dosbox.obj cdrom_image.obj cdrom_null.obj + +ZIPOBJ := zip.obj + +ifeq ($(USB), y) +USBOBJ := usb.obj +endif + +SCSIOBJ := scsi.obj \ + scsi_bus.obj scsi_device.obj \ + scsi_disk.obj \ + scsi_x54x.obj \ + scsi_aha154x.obj scsi_buslogic.obj \ + scsi_ncr5380.obj scsi_ncr53c810.obj + +NETOBJ := network.obj \ + net_pcap.obj \ + net_slirp.obj \ + bootp.obj ip_icmp.obj misc.obj socket.obj tcp_timer.obj cksum.obj \ + ip_input.obj queue.obj tcp_input.obj debug.obj ip_output.obj \ + sbuf.obj tcp_output.obj udp.obj if.obj mbuf.obj slirp.obj tcp_subr.obj \ + net_ne2000.obj + +SNDOBJ := sound.obj \ + openal.obj \ + snd_opl.obj snd_dbopl.obj \ + dbopl.obj nukedopl.obj \ + snd_resid.obj \ + convolve.obj convolve-sse.obj envelope.obj extfilt.obj \ + filter.obj pot.obj sid.obj voice.obj wave6581__ST.obj \ + wave6581_P_T.obj wave6581_PS_.obj wave6581_PST.obj \ + wave8580__ST.obj wave8580_P_T.obj wave8580_PS_.obj \ + wave8580_PST.obj wave.obj \ + midi.obj midi_system.obj \ + snd_speaker.obj \ + snd_pssj.obj \ + snd_lpt_dac.obj snd_lpt_dss.obj \ + snd_adlib.obj snd_adlibgold.obj snd_ad1848.obj snd_audiopci.obj \ + snd_cms.obj \ + snd_gus.obj \ + snd_sb.obj snd_sb_dsp.obj \ + snd_emu8k.obj snd_mpu401.obj \ + snd_sn76489.obj snd_ssi2001.obj \ + snd_wss.obj \ + snd_ym7128.obj + +VIDOBJ := video.obj \ + vid_table.obj \ + vid_cga.obj vid_cga_comp.obj \ + vid_compaq_cga.obj \ + vid_mda.obj \ + vid_hercules.obj vid_herculesplus.obj vid_incolor.obj \ + vid_colorplus.obj \ + vid_genius.obj \ + vid_wy700.obj \ + vid_ega.obj vid_ega_render.obj \ + vid_svga.obj vid_svga_render.obj \ + vid_vga.obj \ + vid_ati_eeprom.obj \ + vid_ati18800.obj vid_ati28800.obj \ + vid_ati_mach64.obj vid_ati68860_ramdac.obj \ + vid_ics2595.obj \ + vid_cl54xx.obj \ + vid_et4000.obj vid_sc1502x_ramdac.obj \ + vid_et4000w32.obj vid_stg_ramdac.obj \ + vid_oak_oti.obj \ + vid_paradise.obj \ + vid_ti_cf62011.obj \ + vid_tvga.obj \ + vid_tgui9440.obj vid_tkd8001_ramdac.obj \ + vid_s3.obj vid_s3_virge.obj \ + vid_sdac_ramdac.obj \ + vid_voodoo.obj + +PLATOBJ := win.obj \ + win_dynld.obj win_thread.obj \ + win_cdrom.obj win_cdrom_ioctl.obj win_keyboard.obj \ + win_mouse.obj win_joystick.obj win_midi.obj +ifeq ($(CRASHDUMP), y) +PLATOBJ += win_crashdump.obj +endif + + +OBJ := $(MAINOBJ) $(INTELOBJ) $(CPUOBJ) $(MCHOBJ) $(DEVOBJ) \ + $(FDDOBJ) $(CDROMOBJ) $(ZIPOBJ) $(HDDOBJ) \ + $(USBOBJ) $(NETOBJ) $(SCSIOBJ) $(SNDOBJ) $(VIDOBJ) \ + $(PLATOBJ) $(UIOBJ) $(FSYNTHOBJ) $(MUNTOBJ) $(DEVBROBJ) +ifdef EXOBJ +OBJ += $(EXOBJ) +endif + + +# Build module rules. +ifeq ($(AUTODEP), y) +%.obj: %.c +# @echo $< + @$(CC) $(CFLAGS) $(DEPS) -Fo$@ -c $< + +%.obj: %.cpp +# @echo $< + @$(CPP) $(CXXFLAGS) $(DEPS) -Fo$@ -c $< +else +%.obj: %.c +# @echo $< + @$(CC) $(CFLAGS) -Fo$@ -c $< + +%.obj: %.cpp +# @echo $< + @$(CPP) $(CXXFLAGS) -Fo$@ -c $< + +%.d: %.c $(wildcard $*.d) +# @echo $< + @$(CC) $(CFLAGS) $(DEPS) -E $< >NUL + +%.d: %.cpp $(wildcard $*.d) +# @echo $< + @$(CPP) $(CXXFLAGS) $(DEPS) -E $< >NUL +endif + + +all: $(PROG).exe pcap_if.exe + + +VARCem.res: win/VARCem.rc win/VARCem.mpp + @echo Generating Manifest file.. + @del win\VARCem.manifest 2>NUL + @$(PREPROC) win\VARCem.mpp >win\VARCem.manifest 2>NUL + @echo Processing $< + @$(WINDRES) $(RFLAGS) $(EXTRAS) -fo$@ $< + +$(PROG).exe: $(OBJ) VARCem.res + @echo Linking $(PROG).exe .. + $(LINK) $(LDFLAGS) -OUT:$(PROG).exe \ + $(OBJ) VARCem.res $(LIBS) + +pcap_if.res: pcap_if.rc + @echo Processing $< + @$(WINDRES) $(RFLAGS) -fo$@ $< + +pcap_if.exe: pcap_if.obj win_dynld.obj pcap_if.res + @echo Linking pcap_if.exe .. + @$(LINK) $(LDFLAGS) -OUT:pcap_if.exe \ + pcap_if.obj win_dynld.obj pcap_if.res + +hello.exe: hello.obj + $(LINK) $(LDFLAGS) -OUT:hello.exe hello.obj $(WXLIBS) $(LIBS) + + +clean: + @echo Cleaning objects.. + @del *.obj 2>NUL + @del *.res 2>NUL + +clobber: clean + @echo Cleaning executables.. + @del *.d 2>NUL + @del *.exe 2>NUL +ifeq ($(DEBUG), y) + @del *.ilk 2>NUL + @del *.pdb 2>NUL +endif +ifeq ($(PROFILER), y) + @del *.map 2>NUL +endif + @del win\*.manifest 2>NUL +# @del $(DEPFILE) 2>NUL + +ifneq ($(AUTODEP), y) +depclean: + @del $(DEPFILE) 2>NUL + @echo Creating dependencies.. + @echo # Run "make depends" to re-create this file. >$(DEPFILE) + +depends: DEPOBJ=$(OBJ:%.obj=%.d) +depends: depclean $(OBJ:%.obj=%.d) + @-cat $(DEPOBJ) >>$(DEPFILE) + @del $(DEPOBJ) + +$(DEPFILE): +endif + + +# Module dependencies. +ifeq ($(AUTODEP), y) +#-include $(OBJ:%.obj=%.d) (better, but sloooowwwww) +-include *.d +else +include $(wildcard $(DEPFILE)) +endif + + +# End of Makefile.VS. diff --git a/src/win/Makefile.mingw b/src/win/Makefile.mingw index 1d6cb85..30bd7ff 100644 --- a/src/win/Makefile.mingw +++ b/src/win/Makefile.mingw @@ -8,7 +8,7 @@ # # Makefile for Windows systems using the MinGW32 environment. # -# Version: @(#)Makefile.mingw 1.0.15 2018/03/20 +# Version: @(#)Makefile.mingw 1.0.16 2018/03/25 # # Author: Fred N. van Kempen, # @@ -246,7 +246,7 @@ else endif DEPS = -MMD -MF $*.d -c $< -DEPFILE := win/.depends +DEPFILE := win/.depends-mingw # Set up the correct toolchain flags. OPTS := $(EXTRAS) $(STUFF) diff --git a/src/win/VARCem.rc b/src/win/VARCem.rc index 554c67a..822a969 100644 --- a/src/win/VARCem.rc +++ b/src/win/VARCem.rc @@ -8,7 +8,7 @@ * * Application resource script for Windows. * - * Version: @(#)VARCem.rc 1.0.7 2018/03/10 + * Version: @(#)VARCem.rc 1.0.8 2018/03/25 * * Authors: Fred N. van Kempen, * Miran Grca, @@ -599,7 +599,7 @@ BEGIN CONTROL "List1",IDC_LIST_ZIP_DRIVES,"SysListView32",LVS_REPORT | LVS_SHOWSELALWAYS | LVS_SINGLESEL | WS_BORDER | WS_TABSTOP,7,137,253,60 - LTEXT "ZIP drives:",IDT_1739,7,127,50,8 + LTEXT "ZIP drives:",IDT_1762,7,127,50,8 COMBOBOX IDC_COMBO_ZIP_BUS,73,204,90,12,CBS_DROPDOWNLIST | WS_VSCROLL | WS_TABSTOP LTEXT "Bus:",IDT_1753,57,206,14,8 diff --git a/src/win/msvc14/Include/d3dx9tex.h b/src/win/msvc14/Include/d3dx9tex.h new file mode 100644 index 0000000..60d8fc2 --- /dev/null +++ b/src/win/msvc14/Include/d3dx9tex.h @@ -0,0 +1,300 @@ +////////////////////////////////////////////////////////////////////////////// +// +// Copyright (C) Microsoft Corporation. All Rights Reserved. +// +// File: d3dx9tex.h +// Content: D3DX texturing APIs +// +////////////////////////////////////////////////////////////////////////////// + +//#include "d3dx9.h" + +#ifndef __D3DX9TEX_H__ +#define __D3DX9TEX_H__ + + +//---------------------------------------------------------------------------- +// D3DX_FILTER flags: +// ------------------ +// +// A valid filter must contain one of these values: +// +// D3DX_FILTER_NONE +// No scaling or filtering will take place. Pixels outside the bounds +// of the source image are assumed to be transparent black. +// D3DX_FILTER_POINT +// Each destination pixel is computed by sampling the nearest pixel +// from the source image. +// D3DX_FILTER_LINEAR +// Each destination pixel is computed by linearly interpolating between +// the nearest pixels in the source image. This filter works best +// when the scale on each axis is less than 2. +// D3DX_FILTER_TRIANGLE +// Every pixel in the source image contributes equally to the +// destination image. This is the slowest of all the filters. +// D3DX_FILTER_BOX +// Each pixel is computed by averaging a 2x2(x2) box pixels from +// the source image. Only works when the dimensions of the +// destination are half those of the source. (as with mip maps) +// +// And can be OR'd with any of these optional flags: +// +// D3DX_FILTER_MIRROR_U +// Indicates that pixels off the edge of the texture on the U-axis +// should be mirrored, not wraped. +// D3DX_FILTER_MIRROR_V +// Indicates that pixels off the edge of the texture on the V-axis +// should be mirrored, not wraped. +// D3DX_FILTER_MIRROR_W +// Indicates that pixels off the edge of the texture on the W-axis +// should be mirrored, not wraped. +// D3DX_FILTER_MIRROR +// Same as specifying D3DX_FILTER_MIRROR_U | D3DX_FILTER_MIRROR_V | +// D3DX_FILTER_MIRROR_V +// D3DX_FILTER_DITHER +// Dithers the resulting image using a 4x4 order dither pattern. +// D3DX_FILTER_SRGB_IN +// Denotes that the input data is in sRGB (gamma 2.2) colorspace. +// D3DX_FILTER_SRGB_OUT +// Denotes that the output data is in sRGB (gamma 2.2) colorspace. +// D3DX_FILTER_SRGB +// Same as specifying D3DX_FILTER_SRGB_IN | D3DX_FILTER_SRGB_OUT +// +//---------------------------------------------------------------------------- + +#define D3DX_FILTER_NONE (1 << 0) +#define D3DX_FILTER_POINT (2 << 0) +#define D3DX_FILTER_LINEAR (3 << 0) +#define D3DX_FILTER_TRIANGLE (4 << 0) +#define D3DX_FILTER_BOX (5 << 0) + +#define D3DX_FILTER_MIRROR_U (1 << 16) +#define D3DX_FILTER_MIRROR_V (2 << 16) +#define D3DX_FILTER_MIRROR_W (4 << 16) +#define D3DX_FILTER_MIRROR (7 << 16) + +#define D3DX_FILTER_DITHER (1 << 19) +#define D3DX_FILTER_DITHER_DIFFUSION (2 << 19) + +#define D3DX_FILTER_SRGB_IN (1 << 21) +#define D3DX_FILTER_SRGB_OUT (2 << 21) +#define D3DX_FILTER_SRGB (3 << 21) + + +//----------------------------------------------------------------------------- +// D3DX_SKIP_DDS_MIP_LEVELS is used to skip mip levels when loading a DDS file: +//----------------------------------------------------------------------------- + +#define D3DX_SKIP_DDS_MIP_LEVELS_MASK 0x1F +#define D3DX_SKIP_DDS_MIP_LEVELS_SHIFT 26 +#define D3DX_SKIP_DDS_MIP_LEVELS(levels, filter) ((((levels) & D3DX_SKIP_DDS_MIP_LEVELS_MASK) << D3DX_SKIP_DDS_MIP_LEVELS_SHIFT) | ((filter) == D3DX_DEFAULT ? D3DX_FILTER_BOX : (filter))) + + + + +//---------------------------------------------------------------------------- +// D3DX_NORMALMAP flags: +// --------------------- +// These flags are used to control how D3DXComputeNormalMap generates normal +// maps. Any number of these flags may be OR'd together in any combination. +// +// D3DX_NORMALMAP_MIRROR_U +// Indicates that pixels off the edge of the texture on the U-axis +// should be mirrored, not wraped. +// D3DX_NORMALMAP_MIRROR_V +// Indicates that pixels off the edge of the texture on the V-axis +// should be mirrored, not wraped. +// D3DX_NORMALMAP_MIRROR +// Same as specifying D3DX_NORMALMAP_MIRROR_U | D3DX_NORMALMAP_MIRROR_V +// D3DX_NORMALMAP_INVERTSIGN +// Inverts the direction of each normal +// D3DX_NORMALMAP_COMPUTE_OCCLUSION +// Compute the per pixel Occlusion term and encodes it into the alpha. +// An Alpha of 1 means that the pixel is not obscured in anyway, and +// an alpha of 0 would mean that the pixel is completly obscured. +// +//---------------------------------------------------------------------------- + +//---------------------------------------------------------------------------- + +#define D3DX_NORMALMAP_MIRROR_U (1 << 16) +#define D3DX_NORMALMAP_MIRROR_V (2 << 16) +#define D3DX_NORMALMAP_MIRROR (3 << 16) +#define D3DX_NORMALMAP_INVERTSIGN (8 << 16) +#define D3DX_NORMALMAP_COMPUTE_OCCLUSION (16 << 16) + + + + +//---------------------------------------------------------------------------- +// D3DX_CHANNEL flags: +// ------------------- +// These flags are used by functions which operate on or more channels +// in a texture. +// +// D3DX_CHANNEL_RED +// Indicates the red channel should be used +// D3DX_CHANNEL_BLUE +// Indicates the blue channel should be used +// D3DX_CHANNEL_GREEN +// Indicates the green channel should be used +// D3DX_CHANNEL_ALPHA +// Indicates the alpha channel should be used +// D3DX_CHANNEL_LUMINANCE +// Indicates the luminaces of the red green and blue channels should be +// used. +// +//---------------------------------------------------------------------------- + +#define D3DX_CHANNEL_RED (1 << 0) +#define D3DX_CHANNEL_BLUE (1 << 1) +#define D3DX_CHANNEL_GREEN (1 << 2) +#define D3DX_CHANNEL_ALPHA (1 << 3) +#define D3DX_CHANNEL_LUMINANCE (1 << 4) + + + + +//---------------------------------------------------------------------------- +// D3DXIMAGE_FILEFORMAT: +// --------------------- +// This enum is used to describe supported image file formats. +// +//---------------------------------------------------------------------------- + +typedef enum _D3DXIMAGE_FILEFORMAT +{ + D3DXIFF_BMP = 0, + D3DXIFF_JPG = 1, + D3DXIFF_TGA = 2, + D3DXIFF_PNG = 3, + D3DXIFF_DDS = 4, + D3DXIFF_PPM = 5, + D3DXIFF_DIB = 6, + D3DXIFF_HDR = 7, //high dynamic range formats + D3DXIFF_PFM = 8, // + D3DXIFF_FORCE_DWORD = 0x7fffffff + +} D3DXIMAGE_FILEFORMAT; + + +#if 0 +//---------------------------------------------------------------------------- +// LPD3DXFILL2D and LPD3DXFILL3D: +// ------------------------------ +// Function types used by the texture fill functions. +// +// Parameters: +// pOut +// Pointer to a vector which the function uses to return its result. +// X,Y,Z,W will be mapped to R,G,B,A respectivly. +// pTexCoord +// Pointer to a vector containing the coordinates of the texel currently +// being evaluated. Textures and VolumeTexture texcoord components +// range from 0 to 1. CubeTexture texcoord component range from -1 to 1. +// pTexelSize +// Pointer to a vector containing the dimensions of the current texel. +// pData +// Pointer to user data. +// +//---------------------------------------------------------------------------- + +typedef VOID (WINAPI *LPD3DXFILL2D)(D3DXVECTOR4 *pOut, + CONST D3DXVECTOR2 *pTexCoord, CONST D3DXVECTOR2 *pTexelSize, LPVOID pData); + +typedef VOID (WINAPI *LPD3DXFILL3D)(D3DXVECTOR4 *pOut, + CONST D3DXVECTOR3 *pTexCoord, CONST D3DXVECTOR3 *pTexelSize, LPVOID pData); +#endif + + + +//---------------------------------------------------------------------------- +// D3DXIMAGE_INFO: +// --------------- +// This structure is used to return a rough description of what the +// the original contents of an image file looked like. +// +// Width +// Width of original image in pixels +// Height +// Height of original image in pixels +// Depth +// Depth of original image in pixels +// MipLevels +// Number of mip levels in original image +// Format +// D3D format which most closely describes the data in original image +// ResourceType +// D3DRESOURCETYPE representing the type of texture stored in the file. +// D3DRTYPE_TEXTURE, D3DRTYPE_VOLUMETEXTURE, or D3DRTYPE_CUBETEXTURE. +// ImageFileFormat +// D3DXIMAGE_FILEFORMAT representing the format of the image file. +// +//---------------------------------------------------------------------------- + +typedef struct _D3DXIMAGE_INFO +{ + UINT Width; + UINT Height; + UINT Depth; + UINT MipLevels; + D3DFORMAT Format; + D3DRESOURCETYPE ResourceType; + D3DXIMAGE_FILEFORMAT ImageFileFormat; + +} D3DXIMAGE_INFO; + + + +#ifdef __cplusplus +extern "C" { +#endif //__cplusplus + + +//---------------------------------------------------------------------------- +// D3DXSaveSurfaceToFile: +// ---------------------- +// Save a surface to a image file. +// +// Parameters: +// pDestFile +// File name of the destination file +// DestFormat +// D3DXIMAGE_FILEFORMAT specifying file format to use when saving. +// pSrcSurface +// Source surface, containing the image to be saved +// pSrcPalette +// Source palette of 256 colors, or NULL +// pSrcRect +// Source rectangle, or NULL for the entire image +// +//---------------------------------------------------------------------------- + +HRESULT WINAPI + D3DXSaveSurfaceToFileA( + LPCSTR pDestFile, + D3DXIMAGE_FILEFORMAT DestFormat, + LPDIRECT3DSURFACE9 pSrcSurface, + CONST PALETTEENTRY* pSrcPalette, + CONST RECT* pSrcRect); + +HRESULT WINAPI + D3DXSaveSurfaceToFileW( + LPCWSTR pDestFile, + D3DXIMAGE_FILEFORMAT DestFormat, + LPDIRECT3DSURFACE9 pSrcSurface, + CONST PALETTEENTRY* pSrcPalette, + CONST RECT* pSrcRect); + +#ifdef UNICODE +#define D3DXSaveSurfaceToFile D3DXSaveSurfaceToFileW +#else +#define D3DXSaveSurfaceToFile D3DXSaveSurfaceToFileA +#endif + +#ifdef __cplusplus +} +#endif //__cplusplus + + +#endif //__D3DX9TEX_H__ diff --git a/src/win/msvc14/Lib/x64/d3dx9.lib b/src/win/msvc14/Lib/x64/d3dx9.lib new file mode 100644 index 0000000000000000000000000000000000000000..8587d5b07ffc2e3cb09e930a446908fc5b8c0651 GIT binary patch literal 81324 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 literal 0 HcmV?d00001 diff --git a/src/win/msvc14/Lib/x86/d3dx9.lib b/src/win/msvc14/Lib/x86/d3dx9.lib new file mode 100644 index 0000000000000000000000000000000000000000..11853bf0acdaa8f9014a2f665c08ba453f32bf9c GIT binary patch literal 87600 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 MlY-b=fYy=#0AShYpa1{> literal 0 HcmV?d00001 diff --git a/src/win/msvc14/VARCem.sln b/src/win/msvc14/VARCem.sln new file mode 100644 index 0000000..abf3d6f --- /dev/null +++ b/src/win/msvc14/VARCem.sln @@ -0,0 +1,31 @@ + +Microsoft Visual Studio Solution File, Format Version 12.00 +# Visual Studio 14 +VisualStudioVersion = 14.0.25420.1 +MinimumVisualStudioVersion = 10.0.40219.1 +Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "VARCem", "VARCem.vcxproj", "{6E445F28-CA8F-430F-8CCF-C59C53516AC5}" +EndProject +Global + GlobalSection(SolutionConfigurationPlatforms) = preSolution + Debug|x64 = Debug|x64 + Debug|x86 = Debug|x86 + Release|x64 = Release|x64 + Release|x86 = Release|x86 + EndGlobalSection + GlobalSection(ProjectConfigurationPlatforms) = postSolution + {6E445F28-CA8F-430F-8CCF-C59C53516AC5}.Debug|x64.ActiveCfg = Debug|Win32 + {6E445F28-CA8F-430F-8CCF-C59C53516AC5}.Debug|x64.Build.0 = Debug|Win32 + {6E445F28-CA8F-430F-8CCF-C59C53516AC5}.Debug|x86.ActiveCfg = Debug|Win32 + {6E445F28-CA8F-430F-8CCF-C59C53516AC5}.Debug|x86.Build.0 = Debug|Win32 + {6E445F28-CA8F-430F-8CCF-C59C53516AC5}.Release|x64.ActiveCfg = Release|x64 + {6E445F28-CA8F-430F-8CCF-C59C53516AC5}.Release|x64.Build.0 = Release|x64 + {6E445F28-CA8F-430F-8CCF-C59C53516AC5}.Release|x86.ActiveCfg = Release|Win32 + {6E445F28-CA8F-430F-8CCF-C59C53516AC5}.Release|x86.Build.0 = Release|Win32 + EndGlobalSection + GlobalSection(SolutionProperties) = preSolution + HideSolutionNode = FALSE + EndGlobalSection + GlobalSection(ExtensibilityGlobals) = postSolution + SolutionGuid = {85A5962B-0218-472C-A361-6E55D8FE7E9B} + EndGlobalSection +EndGlobal diff --git a/src/win/msvc14/VARCem.vcxproj b/src/win/msvc14/VARCem.vcxproj new file mode 100644 index 0000000..6f02c2b --- /dev/null +++ b/src/win/msvc14/VARCem.vcxproj @@ -0,0 +1,760 @@ + + + + + Debug + Win32 + + + Release + Win32 + + + Debug + x64 + + + Release + x64 + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + 15.0 + {6E445F28-CA8F-430F-8CCF-C59C53516AC5} + Win32Proj + VARCem + 10.0.10586.0 + + + + Application + true + v140 + NotSet + + + Application + false + v141 + true + NotSet + + + Application + true + v141 + NotSet + + + Application + false + v141 + true + NotSet + + + + + + + + + + + + + + + + + + + + + + + + + true + $(ProjectDir)\include;$(ProjectDir)\..\mingw\include;$(ProjectDir)\..\mingw\include\pcap;$(IncludePath) + + + true + false + + + false + + + false + false + + + + NotUsing + Level3 + Disabled + true + WIN32;_DEBUG;_WINDOWS;%(PreprocessorDefinitions) + true + + + Windows + DebugFull + winmm.lib;ws2_32.lib;kernel32.lib;user32.lib;gdi32.lib;winspool.lib;comdlg32.lib;advapi32.lib;shell32.lib;ole32.lib;oleaut32.lib;uuid.lib;odbc32.lib;odbccp32.lib;iphlpapi.lib;psapi.lib;Comctl32.lib;DInput8.lib;d3d9.lib;d3dx9.lib;ddraw.lib;dxguid.lib;%(AdditionalDependencies) + + + $(ProjectDir)\..\..\..\src;%(AdditionalIncludeDirectories) + SKIP_MANIFEST + + + + + NotUsing + Level3 + Disabled + true + _DEBUG;_WINDOWS;%(PreprocessorDefinitions) + true + + + Windows + DebugFull + winmm.lib;ws2_32.lib;kernel32.lib;user32.lib;gdi32.lib;winspool.lib;comdlg32.lib;advapi32.lib;shell32.lib;ole32.lib;oleaut32.lib;uuid.lib;odbc32.lib;odbccp32.lib;iphlpapi.lib;psapi.lib;Comctl32.lib;DInput8.lib;d3d9.lib;d3dx9.lib;ddraw.lib;dxguid.lib;%(AdditionalDependencies) + + + $(ProjectDir)\..\..\..\src;%(AdditionalIncludeDirectories) + + + + + NotUsing + Level3 + MaxSpeed + true + true + true + WIN32;NDEBUG;_WINDOWS;%(PreprocessorDefinitions) + true + + + Windows + true + true + DebugFull + winmm.lib;ws2_32.lib;kernel32.lib;user32.lib;gdi32.lib;winspool.lib;comdlg32.lib;advapi32.lib;shell32.lib;ole32.lib;oleaut32.lib;uuid.lib;odbc32.lib;odbccp32.lib;iphlpapi.lib;psapi.lib;Comctl32.lib;DInput8.lib;d3d9.lib;d3dx9.lib;ddraw.lib;dxguid.lib;%(AdditionalDependencies) + + + $(ProjectDir)\..\..\..\src;%(AdditionalIncludeDirectories) + SKIP_MANIFEST + + + + + NotUsing + Level3 + MaxSpeed + true + true + true + NDEBUG;_WINDOWS;%(PreprocessorDefinitions) + true + + + Windows + true + true + DebugFull + winmm.lib;ws2_32.lib;kernel32.lib;user32.lib;gdi32.lib;winspool.lib;comdlg32.lib;advapi32.lib;shell32.lib;ole32.lib;oleaut32.lib;uuid.lib;odbc32.lib;odbccp32.lib;iphlpapi.lib;psapi.lib;Comctl32.lib;DInput8.lib;d3d9.lib;d3dx9.lib;ddraw.lib;dxguid.lib;%(AdditionalDependencies) + + + $(ProjectDir)\..\..\..\src;%(AdditionalIncludeDirectories) + + + + + + \ No newline at end of file diff --git a/src/win/msvc14/VARCem.vcxproj.filters b/src/win/msvc14/VARCem.vcxproj.filters new file mode 100644 index 0000000..9f4493e --- /dev/null +++ b/src/win/msvc14/VARCem.vcxproj.filters @@ -0,0 +1,1666 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + cdrom + + + cdrom + + + cdrom + + + cdrom + + + cpu + + + cpu + + + cpu + + + cpu + + + cpu + + + cpu + + + cpu + + + cpu + + + cpu + + + cpu + + + cpu + + + cpu + + + cpu + + + cpu + + + cpu + + + cpu + + + cpu + + + crcspeed + + + crcspeed + + + disk + + + disk + + + disk + + + disk + + + disk + + + disk + + + disk + + + disk + + + disk + + + disk + + + disk + + + floppy + + + floppy + + + floppy + + + floppy + + + floppy + + + floppy + + + floppy + + + floppy + + + floppy + + + floppy + + + game + + + game + + + game + + + game + + + game + + + machine + + + machine + + + machine + + + machine + + + machine + + + machine + + + machine + + + machine + + + machine + + + machine + + + machine + + + machine + + + machine + + + machine + + + machine + + + machine + + + machine + + + machine + + + machine + + + machine + + + machine + + + machine + + + machine + + + machine + + + machine + + + machine + + + machine + + + machine + + + machine + + + machine + + + machine + + + machine + + + network\slirp + + + network\slirp + + + network\slirp + + + network\slirp + + + network\slirp + + + network\slirp + + + network\slirp + + + network\slirp + + + network\slirp + + + network\slirp + + + network\slirp + + + network\slirp + + + network\slirp + + + network\slirp + + + network\slirp + + + network\slirp + + + network\slirp + + + network\slirp + + + network + + + network + + + network + + + network + + + scsi + + + scsi + + + scsi + + + scsi + + + scsi + + + scsi + + + scsi + + + scsi + + + scsi + + + sound\resid-fp + + + sound\resid-fp + + + sound\resid-fp + + + sound\resid-fp + + + sound\resid-fp + + + sound\resid-fp + + + sound\resid-fp + + + sound\resid-fp + + + sound\resid-fp + + + sound\resid-fp + + + sound\resid-fp + + + sound\resid-fp + + + sound\resid-fp + + + sound\resid-fp + + + sound\resid-fp + + + sound\resid-fp + + + sound\resid-fp + + + sound\munt\sha1 + + + sound\munt\c_interface + + + sound\munt + + + sound\munt + + + sound\munt + + + sound\munt + + + sound\munt + + + sound\munt + + + sound\munt + + + sound\munt + + + sound\munt + + + sound\munt + + + sound\munt + + + sound\munt + + + sound\munt + + + sound\munt + + + sound\munt + + + sound\munt + + + sound\munt + + + sound\munt + + + sound\munt + + + sound + + + sound + + + sound + + + sound + + + sound + + + sound + + + sound + + + sound + + + sound + + + sound + + + sound + + + sound + + + sound + + + sound + + + sound + + + sound + + + sound + + + sound + + + sound + + + sound + + + sound + + + sound + + + sound + + + sound + + + sound + + + sound + + + sound + + + sound + + + sound + + + video + + + video + + + video + + + video + + + video + + + video + + + video + + + video + + + video + + + video + + + video + + + video + + + video + + + video + + + video + + + video + + + video + + + video + + + video + + + video + + + video + + + video + + + video + + + video + + + video + + + video + + + video + + + video + + + video + + + video + + + video + + + video + + + video + + + video + + + video + + + video + + + video + + + video + + + video + + + win + + + win + + + win + + + win + + + win + + + win + + + win + + + win + + + win + + + win + + + win + + + win + + + win + + + win + + + win + + + win + + + win + + + win + + + win + + + win + + + win + + + win + + + win + + + video + + + machine + + + machine + + + machine + + + machine + + + + sio + + + sio + + + sio + + + sio + + + sio + + + sio + + + sio + + + floppy\lzf + + + floppy\lzf + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + cdrom + + + cdrom + + + cdrom + + + cdrom + + + cpu + + + cpu + + + cpu + + + cpu + + + cpu + + + cpu + + + cpu + + + cpu + + + cpu + + + cpu + + + cpu + + + cpu + + + cpu + + + cpu + + + cpu + + + cpu + + + cpu + + + cpu + + + cpu + + + cpu + + + cpu + + + cpu + + + cpu + + + cpu + + + cpu + + + cpu + + + cpu + + + cpu + + + cpu + + + cpu + + + cpu + + + cpu + + + cpu + + + cpu + + + cpu + + + cpu + + + cpu + + + cpu + + + cpu + + + cpu + + + cpu + + + cpu + + + cpu + + + cpu + + + cpu + + + cpu + + + cpu + + + cpu + + + cpu + + + cpu + + + cpu + + + cpu + + + cpu + + + cpu + + + cpu + + + cpu + + + cpu + + + cpu + + + cpu + + + cpu + + + cpu + + + cpu + + + cpu + + + cpu + + + cpu + + + cpu + + + cpu + + + crcspeed + + + crcspeed + + + disk + + + disk + + + disk + + + disk + + + floppy + + + floppy + + + floppy + + + floppy + + + floppy + + + floppy + + + floppy + + + floppy + + + floppy + + + floppy + + + game + + + game + + + game + + + game + + + game + + + lang + + + machine + + + machine + + + network\slirp + + + network\slirp + + + network\slirp + + + network\slirp + + + network\slirp + + + network\slirp + + + network\slirp + + + network\slirp + + + network\slirp + + + network\slirp + + + network\slirp + + + network\slirp + + + network\slirp + + + network\slirp + + + network\slirp + + + network\slirp + + + network\slirp + + + network\slirp + + + network\slirp + + + network\slirp + + + network\slirp + + + network\slirp + + + network\slirp + + + network + + + network + + + network + + + scsi + + + scsi + + + scsi + + + scsi + + + scsi + + + scsi + + + scsi + + + scsi + + + scsi + + + sound\resid-fp + + + sound\resid-fp + + + sound\resid-fp + + + sound\resid-fp + + + sound\resid-fp + + + sound\resid-fp + + + sound\resid-fp + + + sound\resid-fp + + + sound\munt\sha1 + + + sound\munt\c_interface + + + sound\munt\c_interface + + + sound\munt\c_interface + + + sound\munt + + + sound\munt + + + sound\munt + + + sound\munt + + + sound\munt + + + sound\munt + + + sound\munt + + + sound\munt + + + sound\munt + + + sound\munt + + + sound\munt + + + sound\munt + + + sound\munt + + + sound\munt + + + sound\munt + + + sound\munt + + + sound\munt + + + sound\munt + + + sound\munt + + + sound\munt + + + sound\munt + + + sound\munt + + + sound\munt + + + sound\munt + + + sound\munt + + + sound\munt + + + sound\munt + + + sound\munt + + + sound + + + sound + + + sound + + + sound + + + sound + + + sound + + + sound + + + sound + + + sound + + + sound + + + sound + + + sound + + + sound + + + sound + + + sound + + + sound + + + sound + + + sound + + + sound + + + sound + + + sound + + + sound + + + sound + + + sound + + + sound + + + sound + + + sound + + + sound + + + sound + + + video + + + video + + + video + + + video + + + video + + + video + + + video + + + video + + + video + + + video + + + video + + + video + + + video + + + video + + + video + + + video + + + video + + + video + + + video + + + video + + + video + + + video + + + video + + + video + + + video + + + video + + + video + + + video + + + video + + + video + + + video + + + video + + + video + + + video + + + video + + + video + + + video + + + video + + + video + + + video + + + video + + + win + + + win + + + win + + + win + + + win + + + video + + + machine + + + machine + + + sio + + + + floppy\lzf + + + floppy\lzf + + + floppy\lzf + + + floppy\lzf + + + + + {33d139d2-8501-4ec5-adf5-30695fd66b58} + + + {7a5514af-a83b-483a-bfac-af1e20215c22} + + + {1e841add-1ce9-42dd-aaf8-c0ed686448a4} + + + {0eb40b0a-0704-4966-b094-dc23e7fb1224} + + + {a9a86e4f-b4eb-4687-a979-f97b394db706} + + + {542ab504-19c9-43b6-91b6-b3a205ffeb97} + + + {232b8441-5106-47b6-939d-ebd46589c0b2} + + + {a99de26d-e4fd-4223-952c-21f1657a20e7} + + + {7cae45b9-af45-4f82-9c53-a4e3094ddee4} + + + {c0afa9df-08d3-40a6-a4d4-88fb97816009} + + + {515f18e5-5eab-42f6-8364-37f02bc4f964} + + + {2617b8d7-3afc-4f23-a0c8-936dab6c38b6} + + + {b28a24be-02cf-4896-9c96-aee25851df13} + + + {74dd2459-6b2f-4123-bddd-37f561ea710d} + + + {b8b30a24-da56-40f2-9a15-9c90ec2a98ed} + + + {144b7265-aa9e-453b-9855-78cd74ef9b76} + + + {99b35c64-342c-4f15-89b0-47c15f8db344} + + + {cb655d08-c712-4197-9eb8-2f5b7f49eed1} + + + {4fc4a59c-bb7c-45d7-a467-a06198e71472} + + + {98d7b877-02b8-4c6b-b2b6-d2cc49f357bc} + + + + + win + + + \ No newline at end of file diff --git a/src/win/msvc14/VARCem.vcxproj.user b/src/win/msvc14/VARCem.vcxproj.user new file mode 100644 index 0000000..be25078 --- /dev/null +++ b/src/win/msvc14/VARCem.vcxproj.user @@ -0,0 +1,4 @@ + + + + \ No newline at end of file diff --git a/src/win/msvc14/global.props b/src/win/msvc14/global.props new file mode 100644 index 0000000..555d8a7 --- /dev/null +++ b/src/win/msvc14/global.props @@ -0,0 +1,14 @@ + + + + + + $(ProjectDir)\..\mingw\include;$(ProjectDir)\..\mingw\include\pcap;$(IncludePath) + + + + _USE_MATH_DEFINES;_CRT_NONSTDC_NO_DEPRECATE;_WINSOCK_DEPRECATED_NO_WARNINGS;_CRT_SECURE_NO_WARNINGS;USE_DYNAREC;USE_OPENAL + + + + \ No newline at end of file diff --git a/src/win/resource.h b/src/win/resource.h index 46422ff..5ebb120 100644 --- a/src/win/resource.h +++ b/src/win/resource.h @@ -8,7 +8,7 @@ * * Windows resource defines. * - * Version: @(#)resource.h 1.0.5 2018/03/08 + * Version: @(#)resource.h 1.0.6 2018/03/25 * * Authors: Fred N. van Kempen, * Miran Grca, @@ -113,6 +113,7 @@ #define IDT_TITLE 1759 /* "VARCem for Plaform" */ #define IDT_VERSION 1760 /* "version.." */ #define IDT_1761 1761 /* Speed: */ +#define IDT_1762 1762 /* ZIP drives: */ /* * To try to keep these organized, we now group the diff --git a/src/win/win_d3d.cpp b/src/win/win_d3d.cpp index 8117cfb..92bdb66 100644 --- a/src/win/win_d3d.cpp +++ b/src/win/win_d3d.cpp @@ -8,7 +8,7 @@ * * Rendering module for Microsoft Direct3D 9. * - * Version: @(#)win_d3d.cpp 1.0.5 2018/03/08 + * Version: @(#)win_d3d.cpp 1.0.6 2018/03/25 * * Authors: Fred N. van Kempen, * Miran Grca, diff --git a/src/win/win_joystick.cpp b/src/win/win_joystick.cpp index 3189f32..6570140 100644 --- a/src/win/win_joystick.cpp +++ b/src/win/win_joystick.cpp @@ -11,7 +11,7 @@ * NOTE: Hacks currently needed to compile with MSVC; DX needs to * be updated to 11 or 12 or so. --FvK * - * Version: @(#)win_joystick.cpp 1.0.5 2018/03/10 + * Version: @(#)win_joystick.cpp 1.0.6 2018/03/25 * * Authors: Fred N. van Kempen, * Miran Grca, @@ -50,6 +50,9 @@ #endif #include #include +#ifdef _WIN32 +# define _USE_MATH_DEFINES +#endif #include #include "../emu.h" #include "../device.h"