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 0000000..8587d5b Binary files /dev/null and b/src/win/msvc14/Lib/x64/d3dx9.lib differ diff --git a/src/win/msvc14/Lib/x86/d3dx9.lib b/src/win/msvc14/Lib/x86/d3dx9.lib new file mode 100644 index 0000000..11853bf Binary files /dev/null and b/src/win/msvc14/Lib/x86/d3dx9.lib differ 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"