diff --git a/configure b/configure index 632f62a..29941e4 100755 --- a/configure +++ b/configure @@ -610,6 +610,8 @@ PKG_CONFIG allegro_LIBS allegro_CFLAGS ALLEGRO_CONFIG +USE_NETWORKING_FALSE +USE_NETWORKING_TRUE USE_WX_FALSE USE_WX_TRUE OS_LINUX_FALSE @@ -724,6 +726,7 @@ enable_silent_rules enable_dependency_tracking enable_debug enable_wx +enable_networking with_allegro_prefix with_allegro_exec_prefix enable_allegrotest @@ -1388,6 +1391,7 @@ Optional Features: speeds up one-time build --enable-debug build debug executable --enable-wx use wxWidgets GUI + --enable-networking enable networking --disable-allegrotest Do not try to compile and run a test LIBallegro program --disable-sdltest Do not try to compile and run a test SDL program @@ -4158,6 +4162,21 @@ else $as_echo "no" >&6; } fi +{ $as_echo "$as_me:${as_lineno-$LINENO}: checking whether to enable networking" >&5 +$as_echo_n "checking whether to enable networking... " >&6; } +# Check whether --enable-networking was given. +if test "${enable_networking+set}" = set; then : + enableval=$enable_networking; +fi + +if test "$enable_networking" = "yes"; then + { $as_echo "$as_me:${as_lineno-$LINENO}: result: yes" >&5 +$as_echo "yes" >&6; } +else + { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5 +$as_echo "no" >&6; } +fi + { $as_echo "$as_me:${as_lineno-$LINENO}: checking for cpu" >&5 $as_echo_n "checking for cpu... " >&6; } case "${host_cpu}" in @@ -4221,6 +4240,14 @@ else USE_WX_FALSE= fi + if test "$enable_networking" = "yes"; then + USE_NETWORKING_TRUE= + USE_NETWORKING_FALSE='#' +else + USE_NETWORKING_TRUE='#' + USE_NETWORKING_FALSE= +fi + if test "$enable_wx" != "yes"; then # Do not run test for Allegro with Win32/MinGW version, as binary builds have @@ -5608,6 +5635,10 @@ if test -z "${USE_WX_TRUE}" && test -z "${USE_WX_FALSE}"; then as_fn_error $? "conditional \"USE_WX\" was never defined. Usually this means the macro was only invoked conditionally." "$LINENO" 5 fi +if test -z "${USE_NETWORKING_TRUE}" && test -z "${USE_NETWORKING_FALSE}"; then + as_fn_error $? "conditional \"USE_NETWORKING\" was never defined. +Usually this means the macro was only invoked conditionally." "$LINENO" 5 +fi : "${CONFIG_STATUS=./config.status}" ac_write_fail=0 diff --git a/configure.ac b/configure.ac index 449d532..15e8fd9 100644 --- a/configure.ac +++ b/configure.ac @@ -33,6 +33,15 @@ else AC_MSG_RESULT([no]) fi +AC_MSG_CHECKING([whether to enable networking]) +AC_ARG_ENABLE(networking, + AC_HELP_STRING([--enable-networking], [enable networking])) +if test "$enable_networking" = "yes"; then + AC_MSG_RESULT([yes]) +else + AC_MSG_RESULT([no]) +fi + AC_MSG_CHECKING([for cpu]) case "${host_cpu}" in i?86) @@ -58,6 +67,7 @@ AM_CONDITIONAL(OS_WIN, test "$OS" = "win") AM_CONDITIONAL(OS_LINUX, test "$OS" = "linux") AM_CONDITIONAL(USE_WX, test "$enable_wx" = "yes") +AM_CONDITIONAL(USE_NETWORKING, test "$enable_networking" = "yes") if test "$enable_wx" != "yes"; then # Do not run test for Allegro with Win32/MinGW version, as binary builds have diff --git a/src/Makefile.am b/src/Makefile.am index 97aeb66..725252f 100644 --- a/src/Makefile.am +++ b/src/Makefile.am @@ -7,6 +7,9 @@ CLEANFILES = $(noinst_SCRIPTS) ../pcem: pcem cp pcem .. +slirp/libslirp.a: + $(MAKE) -C slirp + amrefresh: @@ -15,7 +18,7 @@ codegen.c codegen_ops.c codegen_timing_486.c codegen_timing_686.c codegen_timing dac.c dells200.c device.c disc.c disc_fdi.c disc_img.c disc_sector.c dma.c esdi_at.c fdc.c fdc37c665.c fdd.c fdi2raw.c gameport.c \ hdd.c hdd_esdi.c hdd_file.c headland.c i430lx.c i430fx.c i430vx.c ide.c intel.c intel_flash.c io.c jim.c joystick_ch_flightstick_pro.c joystick_standard.c joystick_sw_pad.c \ joystick_tm_fcs.c keyboard.c keyboard_amstrad.c keyboard_at.c keyboard_olim24.c keyboard_pcjr.c keyboard_xt.c \ -laserxt.c lpt.c mca.c mcr.c mem.c mfm_at.c mfm_xebec.c model.c mouse.c mouse_ps2.c mouse_serial.c mouse_msystems.c neat.c nmi.c nvr.c olivetti_m24.c \ +laserxt.c lpt.c mca.c mcr.c mem.c mfm_at.c mfm_xebec.c model.c mouse.c mouse_msystems.c mouse_ps2.c mouse_serial.c neat.c nmi.c nvr.c olivetti_m24.c \ opti495.c paths.c pc.c pci.c pic.c piix.c pit.c ppi.c ps1.c ps2.c ps2_mca.c ps2_nvr.c rom.c rtc.c scat.c serial.c sio.c sis496.c sound.c \ sound_ad1848.c sound_adlib.c sound_adlibgold.c sound_cms.c sound_emu8k.c sound_gus.c \ sound_mpu401_uart.c sound_opl.c sound_pas16.c sound_ps1.c sound_pssj.c sound_sb.c sound_sb_dsp.c sound_sn76489.c \ @@ -45,6 +48,7 @@ pcem_SOURCES += wx-main.cc wx-config_sel.c wx-dialogbox.cc wx-utils.cc wx-app.cc wx-glslp-parser.c wx-shader_man.c wx-shaderconfig.cc else pcem_CFLAGS = $(allegro_CFLAGS) -DPCEM_ALLEGRO +pcem_CXXFLAGS = pcem_LDADD = $(allegro_LIBS) -lopenal pcem_SOURCES += allegro-gui.c allegro-gui-config-sel.c allegro-gui-configure.c \ allegro-gui-deviceconfig.c allegro-gui-hdconf.c allegro-joystick.c \ @@ -61,3 +65,9 @@ if CPU_X86_64 pcem_SOURCES += codegen_x86-64.c endif +if USE_NETWORKING +pcem_CFLAGS += -DUSE_NETWORKING +pcem_CXXFLAGS += -DUSE_NETWORKING +pcem_SOURCES += ne2000.c nethandler.c wx-hostconfig.c +pcem_LDADD += slirp/libslirp.a +endif diff --git a/src/Makefile.in b/src/Makefile.in index fb3161e..1cf4fdb 100644 --- a/src/Makefile.in +++ b/src/Makefile.in @@ -106,6 +106,10 @@ bin_PROGRAMS = pcem$(EXEEXT) @CPU_I386_TRUE@am__append_3 = codegen_x86.c @CPU_I386_TRUE@am__append_4 = -msse2 @CPU_X86_64_TRUE@am__append_5 = codegen_x86-64.c +@USE_NETWORKING_TRUE@am__append_6 = -DUSE_NETWORKING +@USE_NETWORKING_TRUE@am__append_7 = -DUSE_NETWORKING +@USE_NETWORKING_TRUE@am__append_8 = ne2000.c nethandler.c wx-hostconfig.c +@USE_NETWORKING_TRUE@am__append_9 = slirp/libslirp.a subdir = src ACLOCAL_M4 = $(top_srcdir)/aclocal.m4 am__aclocal_m4_deps = $(top_srcdir)/allegro.m4 \ @@ -132,40 +136,40 @@ am__pcem_SOURCES_DIST = 386.c 386_dynarec.c 386_dynarec_ops.c 808x.c \ joystick_sw_pad.c joystick_tm_fcs.c keyboard.c \ keyboard_amstrad.c keyboard_at.c keyboard_olim24.c \ keyboard_pcjr.c keyboard_xt.c laserxt.c lpt.c mca.c mcr.c \ - mem.c mfm_at.c mfm_xebec.c model.c mouse.c mouse_ps2.c \ - mouse_serial.c neat.c nmi.c nvr.c olivetti_m24.c opti495.c \ - paths.c pc.c pci.c pic.c piix.c pit.c ppi.c ps1.c ps2.c \ - ps2_mca.c ps2_nvr.c rom.c rtc.c scat.c serial.c sio.c sis496.c \ - sound.c sound_ad1848.c sound_adlib.c sound_adlibgold.c \ - sound_cms.c sound_emu8k.c sound_gus.c sound_mpu401_uart.c \ - sound_opl.c sound_pas16.c sound_ps1.c sound_pssj.c sound_sb.c \ - sound_sb_dsp.c sound_sn76489.c sound_speaker.c sound_ssi2001.c \ - sound_wss.c sound_ym7128.c soundopenal.c tandy_eeprom.c \ - tandy_rom.c timer.c um8669f.c um8881f.c vid_ati_eeprom.c \ - vid_ati_mach64.c vid_ati18800.c vid_ati28800.c \ - vid_ati68860_ramdac.c vid_cga.c vid_cl5429.c vid_colorplus.c \ - vid_ega.c vid_et4000.c vid_et4000w32.c vid_genius.c \ - vid_hercules.c vid_icd2061.c vid_ics2595.c vid_incolor.c \ - vid_mda.c vid_olivetti_m24.c vid_oti067.c vid_paradise.c \ - vid_pc200.c vid_pc1512.c vid_pc1640.c vid_pcjr.c \ - vid_ps1_svga.c vid_s3.c vid_s3_virge.c vid_sdac_ramdac.c \ - vid_stg_ramdac.c vid_svga.c vid_svga_render.c vid_tandy.c \ - vid_tandysl.c vid_tgui9440.c vid_tkd8001_ramdac.c vid_tvga.c \ - vid_unk_ramdac.c vid_vga.c vid_voodoo.c video.c wd76c10.c \ - vid_wy700.c x86seg.c x87.c xtide.c sound_dbopl.cc \ - sound_resid.cc dosbox/cdrom_image.cpp dosbox/dbopl.cpp \ - dosbox/nukedopl.cpp dosbox/vid_cga_comp.c resid-fp/convolve.cc \ - resid-fp/convolve-sse.cc resid-fp/envelope.cc \ - resid-fp/extfilt.cc resid-fp/filter.cc resid-fp/pot.cc \ - resid-fp/sid.cc resid-fp/voice.cc resid-fp/wave6581_PS_.cc \ - resid-fp/wave6581_PST.cc resid-fp/wave6581_P_T.cc \ - resid-fp/wave6581__ST.cc resid-fp/wave8580_PS_.cc \ - resid-fp/wave8580_PST.cc resid-fp/wave8580_P_T.cc \ - resid-fp/wave8580__ST.cc resid-fp/wave.cc wx-main.cc \ - wx-config_sel.c wx-dialogbox.cc wx-utils.cc wx-app.cc \ - wx-sdl2-joystick.c wx-sdl2-mouse.c wx-sdl2-keyboard.c \ - wx-sdl2-video.c wx-sdl2-midi.c wx-sdl2.c wx-config.c \ - wx-deviceconfig.cc wx-status.cc wx-sdl2-status.c \ + mem.c mfm_at.c mfm_xebec.c model.c mouse.c mouse_msystems.c \ + mouse_ps2.c mouse_serial.c neat.c nmi.c nvr.c olivetti_m24.c \ + opti495.c paths.c pc.c pci.c pic.c piix.c pit.c ppi.c ps1.c \ + ps2.c ps2_mca.c ps2_nvr.c rom.c rtc.c scat.c serial.c sio.c \ + sis496.c sound.c sound_ad1848.c sound_adlib.c \ + sound_adlibgold.c sound_cms.c sound_emu8k.c sound_gus.c \ + sound_mpu401_uart.c sound_opl.c sound_pas16.c sound_ps1.c \ + sound_pssj.c sound_sb.c sound_sb_dsp.c sound_sn76489.c \ + sound_speaker.c sound_ssi2001.c sound_wss.c sound_ym7128.c \ + soundopenal.c tandy_eeprom.c tandy_rom.c timer.c um8669f.c \ + um8881f.c vid_ati_eeprom.c vid_ati_mach64.c vid_ati18800.c \ + vid_ati28800.c vid_ati68860_ramdac.c vid_cga.c vid_cl5429.c \ + vid_colorplus.c vid_ega.c vid_et4000.c vid_et4000w32.c \ + vid_genius.c vid_hercules.c vid_icd2061.c vid_ics2595.c \ + vid_incolor.c vid_mda.c vid_olivetti_m24.c vid_oti067.c \ + vid_paradise.c vid_pc200.c vid_pc1512.c vid_pc1640.c \ + vid_pcjr.c vid_ps1_svga.c vid_s3.c vid_s3_virge.c \ + vid_sdac_ramdac.c vid_stg_ramdac.c vid_svga.c \ + vid_svga_render.c vid_tandy.c vid_tandysl.c vid_tgui9440.c \ + vid_tkd8001_ramdac.c vid_tvga.c vid_unk_ramdac.c vid_vga.c \ + vid_voodoo.c video.c wd76c10.c vid_wy700.c x86seg.c x87.c \ + xtide.c sound_dbopl.cc sound_resid.cc dosbox/cdrom_image.cpp \ + dosbox/dbopl.cpp dosbox/nukedopl.cpp dosbox/vid_cga_comp.c \ + resid-fp/convolve.cc resid-fp/convolve-sse.cc \ + resid-fp/envelope.cc resid-fp/extfilt.cc resid-fp/filter.cc \ + resid-fp/pot.cc resid-fp/sid.cc resid-fp/voice.cc \ + resid-fp/wave6581_PS_.cc resid-fp/wave6581_PST.cc \ + resid-fp/wave6581_P_T.cc resid-fp/wave6581__ST.cc \ + resid-fp/wave8580_PS_.cc resid-fp/wave8580_PST.cc \ + resid-fp/wave8580_P_T.cc resid-fp/wave8580__ST.cc \ + resid-fp/wave.cc wx-main.cc wx-config_sel.c wx-dialogbox.cc \ + wx-utils.cc wx-app.cc wx-sdl2-joystick.c wx-sdl2-mouse.c \ + wx-sdl2-keyboard.c wx-sdl2-video.c wx-sdl2-midi.c wx-sdl2.c \ + wx-config.c wx-deviceconfig.cc wx-status.cc wx-sdl2-status.c \ wx-resources.cpp wx-thread.c wx-common.c wx-sdl2-display.c \ wx-sdl2-video-renderer.c wx-sdl2-video-gl3.c wx-glslp-parser.c \ wx-shader_man.c wx-shaderconfig.cc allegro-gui.c \ @@ -173,7 +177,8 @@ am__pcem_SOURCES_DIST = 386.c 386_dynarec.c 386_dynarec_ops.c 808x.c \ allegro-gui-deviceconfig.c allegro-gui-hdconf.c \ allegro-joystick.c allegro-keyboard.c allegro-main.c \ allegro-midi.c allegro-mouse.c allegro-video.c \ - thread-pthread.c codegen_x86.c codegen_x86-64.c + thread-pthread.c codegen_x86.c codegen_x86-64.c ne2000.c \ + nethandler.c wx-hostconfig.c @USE_WX_TRUE@am__objects_1 = pcem-wx-main.$(OBJEXT) \ @USE_WX_TRUE@ pcem-wx-config_sel.$(OBJEXT) \ @USE_WX_TRUE@ pcem-wx-dialogbox.$(OBJEXT) \ @@ -209,6 +214,9 @@ am__pcem_SOURCES_DIST = 386.c 386_dynarec.c 386_dynarec_ops.c 808x.c \ @USE_WX_FALSE@ pcem-thread-pthread.$(OBJEXT) @CPU_I386_TRUE@am__objects_3 = pcem-codegen_x86.$(OBJEXT) @CPU_X86_64_TRUE@am__objects_4 = pcem-codegen_x86-64.$(OBJEXT) +@USE_NETWORKING_TRUE@am__objects_5 = pcem-ne2000.$(OBJEXT) \ +@USE_NETWORKING_TRUE@ pcem-nethandler.$(OBJEXT) \ +@USE_NETWORKING_TRUE@ pcem-wx-hostconfig.$(OBJEXT) am_pcem_OBJECTS = pcem-386.$(OBJEXT) pcem-386_dynarec.$(OBJEXT) \ pcem-386_dynarec_ops.$(OBJEXT) pcem-808x.$(OBJEXT) \ pcem-acer386sx.$(OBJEXT) pcem-ali1429.$(OBJEXT) \ @@ -241,9 +249,9 @@ am_pcem_OBJECTS = pcem-386.$(OBJEXT) pcem-386_dynarec.$(OBJEXT) \ pcem-laserxt.$(OBJEXT) pcem-lpt.$(OBJEXT) pcem-mca.$(OBJEXT) \ pcem-mcr.$(OBJEXT) pcem-mem.$(OBJEXT) pcem-mfm_at.$(OBJEXT) \ pcem-mfm_xebec.$(OBJEXT) pcem-model.$(OBJEXT) \ - pcem-mouse.$(OBJEXT) pcem-mouse_ps2.$(OBJEXT) \ - pcem-mouse_serial.$(OBJEXT) pcem-neat.$(OBJEXT) \ - pcem-nmi.$(OBJEXT) pcem-nvr.$(OBJEXT) \ + pcem-mouse.$(OBJEXT) pcem-mouse_msystems.$(OBJEXT) \ + pcem-mouse_ps2.$(OBJEXT) pcem-mouse_serial.$(OBJEXT) \ + pcem-neat.$(OBJEXT) pcem-nmi.$(OBJEXT) pcem-nvr.$(OBJEXT) \ pcem-olivetti_m24.$(OBJEXT) pcem-opti495.$(OBJEXT) \ pcem-paths.$(OBJEXT) pcem-pc.$(OBJEXT) pcem-pci.$(OBJEXT) \ pcem-pic.$(OBJEXT) pcem-piix.$(OBJEXT) pcem-pit.$(OBJEXT) \ @@ -298,10 +306,12 @@ am_pcem_OBJECTS = pcem-386.$(OBJEXT) pcem-386_dynarec.$(OBJEXT) \ pcem-wave8580_PST.$(OBJEXT) pcem-wave8580_P_T.$(OBJEXT) \ pcem-wave8580__ST.$(OBJEXT) pcem-wave.$(OBJEXT) \ $(am__objects_1) $(am__objects_2) $(am__objects_3) \ - $(am__objects_4) + $(am__objects_4) $(am__objects_5) pcem_OBJECTS = $(am_pcem_OBJECTS) am__DEPENDENCIES_1 = -@USE_WX_FALSE@pcem_DEPENDENCIES = $(am__DEPENDENCIES_1) +@USE_WX_FALSE@pcem_DEPENDENCIES = $(am__DEPENDENCIES_1) \ +@USE_WX_FALSE@ $(am__append_9) +@USE_WX_TRUE@pcem_DEPENDENCIES = $(am__append_9) pcem_LINK = $(CXXLD) $(pcem_CXXFLAGS) $(CXXFLAGS) $(AM_LDFLAGS) \ $(LDFLAGS) -o $@ SCRIPTS = $(noinst_SCRIPTS) @@ -513,44 +523,48 @@ pcem_SOURCES = 386.c 386_dynarec.c 386_dynarec_ops.c 808x.c \ joystick_sw_pad.c joystick_tm_fcs.c keyboard.c \ keyboard_amstrad.c keyboard_at.c keyboard_olim24.c \ keyboard_pcjr.c keyboard_xt.c laserxt.c lpt.c mca.c mcr.c \ - mem.c mfm_at.c mfm_xebec.c model.c mouse.c mouse_ps2.c \ - mouse_serial.c neat.c nmi.c nvr.c olivetti_m24.c opti495.c \ - paths.c pc.c pci.c pic.c piix.c pit.c ppi.c ps1.c ps2.c \ - ps2_mca.c ps2_nvr.c rom.c rtc.c scat.c serial.c sio.c sis496.c \ - sound.c sound_ad1848.c sound_adlib.c sound_adlibgold.c \ - sound_cms.c sound_emu8k.c sound_gus.c sound_mpu401_uart.c \ - sound_opl.c sound_pas16.c sound_ps1.c sound_pssj.c sound_sb.c \ - sound_sb_dsp.c sound_sn76489.c sound_speaker.c sound_ssi2001.c \ - sound_wss.c sound_ym7128.c soundopenal.c tandy_eeprom.c \ - tandy_rom.c timer.c um8669f.c um8881f.c vid_ati_eeprom.c \ - vid_ati_mach64.c vid_ati18800.c vid_ati28800.c \ - vid_ati68860_ramdac.c vid_cga.c vid_cl5429.c vid_colorplus.c \ - vid_ega.c vid_et4000.c vid_et4000w32.c vid_genius.c \ - vid_hercules.c vid_icd2061.c vid_ics2595.c vid_incolor.c \ - vid_mda.c vid_olivetti_m24.c vid_oti067.c vid_paradise.c \ - vid_pc200.c vid_pc1512.c vid_pc1640.c vid_pcjr.c \ - vid_ps1_svga.c vid_s3.c vid_s3_virge.c vid_sdac_ramdac.c \ - vid_stg_ramdac.c vid_svga.c vid_svga_render.c vid_tandy.c \ - vid_tandysl.c vid_tgui9440.c vid_tkd8001_ramdac.c vid_tvga.c \ - vid_unk_ramdac.c vid_vga.c vid_voodoo.c video.c wd76c10.c \ - vid_wy700.c x86seg.c x87.c xtide.c sound_dbopl.cc \ - sound_resid.cc dosbox/cdrom_image.cpp dosbox/dbopl.cpp \ - dosbox/nukedopl.cpp dosbox/vid_cga_comp.c resid-fp/convolve.cc \ - resid-fp/convolve-sse.cc resid-fp/envelope.cc \ - resid-fp/extfilt.cc resid-fp/filter.cc resid-fp/pot.cc \ - resid-fp/sid.cc resid-fp/voice.cc resid-fp/wave6581_PS_.cc \ - resid-fp/wave6581_PST.cc resid-fp/wave6581_P_T.cc \ - resid-fp/wave6581__ST.cc resid-fp/wave8580_PS_.cc \ - resid-fp/wave8580_PST.cc resid-fp/wave8580_P_T.cc \ - resid-fp/wave8580__ST.cc resid-fp/wave.cc $(am__append_1) \ - $(am__append_2) $(am__append_3) $(am__append_5) + mem.c mfm_at.c mfm_xebec.c model.c mouse.c mouse_msystems.c \ + mouse_ps2.c mouse_serial.c neat.c nmi.c nvr.c olivetti_m24.c \ + opti495.c paths.c pc.c pci.c pic.c piix.c pit.c ppi.c ps1.c \ + ps2.c ps2_mca.c ps2_nvr.c rom.c rtc.c scat.c serial.c sio.c \ + sis496.c sound.c sound_ad1848.c sound_adlib.c \ + sound_adlibgold.c sound_cms.c sound_emu8k.c sound_gus.c \ + sound_mpu401_uart.c sound_opl.c sound_pas16.c sound_ps1.c \ + sound_pssj.c sound_sb.c sound_sb_dsp.c sound_sn76489.c \ + sound_speaker.c sound_ssi2001.c sound_wss.c sound_ym7128.c \ + soundopenal.c tandy_eeprom.c tandy_rom.c timer.c um8669f.c \ + um8881f.c vid_ati_eeprom.c vid_ati_mach64.c vid_ati18800.c \ + vid_ati28800.c vid_ati68860_ramdac.c vid_cga.c vid_cl5429.c \ + vid_colorplus.c vid_ega.c vid_et4000.c vid_et4000w32.c \ + vid_genius.c vid_hercules.c vid_icd2061.c vid_ics2595.c \ + vid_incolor.c vid_mda.c vid_olivetti_m24.c vid_oti067.c \ + vid_paradise.c vid_pc200.c vid_pc1512.c vid_pc1640.c \ + vid_pcjr.c vid_ps1_svga.c vid_s3.c vid_s3_virge.c \ + vid_sdac_ramdac.c vid_stg_ramdac.c vid_svga.c \ + vid_svga_render.c vid_tandy.c vid_tandysl.c vid_tgui9440.c \ + vid_tkd8001_ramdac.c vid_tvga.c vid_unk_ramdac.c vid_vga.c \ + vid_voodoo.c video.c wd76c10.c vid_wy700.c x86seg.c x87.c \ + xtide.c sound_dbopl.cc sound_resid.cc dosbox/cdrom_image.cpp \ + dosbox/dbopl.cpp dosbox/nukedopl.cpp dosbox/vid_cga_comp.c \ + resid-fp/convolve.cc resid-fp/convolve-sse.cc \ + resid-fp/envelope.cc resid-fp/extfilt.cc resid-fp/filter.cc \ + resid-fp/pot.cc resid-fp/sid.cc resid-fp/voice.cc \ + resid-fp/wave6581_PS_.cc resid-fp/wave6581_PST.cc \ + resid-fp/wave6581_P_T.cc resid-fp/wave6581__ST.cc \ + resid-fp/wave8580_PS_.cc resid-fp/wave8580_PST.cc \ + resid-fp/wave8580_P_T.cc resid-fp/wave8580__ST.cc \ + resid-fp/wave.cc $(am__append_1) $(am__append_2) \ + $(am__append_3) $(am__append_5) $(am__append_8) @USE_WX_FALSE@pcem_CFLAGS = $(allegro_CFLAGS) -DPCEM_ALLEGRO \ -@USE_WX_FALSE@ $(am__append_4) +@USE_WX_FALSE@ $(am__append_4) $(am__append_6) @USE_WX_TRUE@pcem_CFLAGS = $(shell wx-config --cxxflags) $(shell \ -@USE_WX_TRUE@ sdl2-config --cflags) $(am__append_4) -@USE_WX_TRUE@pcem_CXXFLAGS = $(shell wx-config --cxxflags) $(shell sdl2-config --cflags) -@USE_WX_FALSE@pcem_LDADD = $(allegro_LIBS) -lopenal -@USE_WX_TRUE@pcem_LDADD = @LIBS@ +@USE_WX_TRUE@ sdl2-config --cflags) $(am__append_4) \ +@USE_WX_TRUE@ $(am__append_6) +@USE_WX_FALSE@pcem_CXXFLAGS = $(am__append_7) +@USE_WX_TRUE@pcem_CXXFLAGS = $(shell wx-config --cxxflags) $(shell \ +@USE_WX_TRUE@ sdl2-config --cflags) $(am__append_7) +@USE_WX_FALSE@pcem_LDADD = $(allegro_LIBS) -lopenal $(am__append_9) +@USE_WX_TRUE@pcem_LDADD = @LIBS@ $(am__append_9) all: all-am .SUFFIXES: @@ -722,9 +736,12 @@ distclean-compile: @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/pcem-mfm_xebec.Po@am__quote@ @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/pcem-model.Po@am__quote@ @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/pcem-mouse.Po@am__quote@ +@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/pcem-mouse_msystems.Po@am__quote@ @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/pcem-mouse_ps2.Po@am__quote@ @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/pcem-mouse_serial.Po@am__quote@ +@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/pcem-ne2000.Po@am__quote@ @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/pcem-neat.Po@am__quote@ +@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/pcem-nethandler.Po@am__quote@ @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/pcem-nmi.Po@am__quote@ @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/pcem-nukedopl.Po@am__quote@ @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/pcem-nvr.Po@am__quote@ @@ -837,6 +854,7 @@ distclean-compile: @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/pcem-wx-deviceconfig.Po@am__quote@ @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/pcem-wx-dialogbox.Po@am__quote@ @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/pcem-wx-glslp-parser.Po@am__quote@ +@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/pcem-wx-hostconfig.Po@am__quote@ @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/pcem-wx-main.Po@am__quote@ @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/pcem-wx-resources.Po@am__quote@ @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/pcem-wx-sdl2-display.Po@am__quote@ @@ -1768,6 +1786,20 @@ pcem-mouse.obj: mouse.c @AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ @am__fastdepCC_FALSE@ $(AM_V_CC@am__nodep@)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(pcem_CFLAGS) $(CFLAGS) -c -o pcem-mouse.obj `if test -f 'mouse.c'; then $(CYGPATH_W) 'mouse.c'; else $(CYGPATH_W) '$(srcdir)/mouse.c'; fi` +pcem-mouse_msystems.o: mouse_msystems.c +@am__fastdepCC_TRUE@ $(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(pcem_CFLAGS) $(CFLAGS) -MT pcem-mouse_msystems.o -MD -MP -MF $(DEPDIR)/pcem-mouse_msystems.Tpo -c -o pcem-mouse_msystems.o `test -f 'mouse_msystems.c' || echo '$(srcdir)/'`mouse_msystems.c +@am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) $(DEPDIR)/pcem-mouse_msystems.Tpo $(DEPDIR)/pcem-mouse_msystems.Po +@AMDEP_TRUE@@am__fastdepCC_FALSE@ $(AM_V_CC)source='mouse_msystems.c' object='pcem-mouse_msystems.o' libtool=no @AMDEPBACKSLASH@ +@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ +@am__fastdepCC_FALSE@ $(AM_V_CC@am__nodep@)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(pcem_CFLAGS) $(CFLAGS) -c -o pcem-mouse_msystems.o `test -f 'mouse_msystems.c' || echo '$(srcdir)/'`mouse_msystems.c + +pcem-mouse_msystems.obj: mouse_msystems.c +@am__fastdepCC_TRUE@ $(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(pcem_CFLAGS) $(CFLAGS) -MT pcem-mouse_msystems.obj -MD -MP -MF $(DEPDIR)/pcem-mouse_msystems.Tpo -c -o pcem-mouse_msystems.obj `if test -f 'mouse_msystems.c'; then $(CYGPATH_W) 'mouse_msystems.c'; else $(CYGPATH_W) '$(srcdir)/mouse_msystems.c'; fi` +@am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) $(DEPDIR)/pcem-mouse_msystems.Tpo $(DEPDIR)/pcem-mouse_msystems.Po +@AMDEP_TRUE@@am__fastdepCC_FALSE@ $(AM_V_CC)source='mouse_msystems.c' object='pcem-mouse_msystems.obj' libtool=no @AMDEPBACKSLASH@ +@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ +@am__fastdepCC_FALSE@ $(AM_V_CC@am__nodep@)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(pcem_CFLAGS) $(CFLAGS) -c -o pcem-mouse_msystems.obj `if test -f 'mouse_msystems.c'; then $(CYGPATH_W) 'mouse_msystems.c'; else $(CYGPATH_W) '$(srcdir)/mouse_msystems.c'; fi` + pcem-mouse_ps2.o: mouse_ps2.c @am__fastdepCC_TRUE@ $(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(pcem_CFLAGS) $(CFLAGS) -MT pcem-mouse_ps2.o -MD -MP -MF $(DEPDIR)/pcem-mouse_ps2.Tpo -c -o pcem-mouse_ps2.o `test -f 'mouse_ps2.c' || echo '$(srcdir)/'`mouse_ps2.c @am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) $(DEPDIR)/pcem-mouse_ps2.Tpo $(DEPDIR)/pcem-mouse_ps2.Po @@ -3518,6 +3550,48 @@ pcem-codegen_x86-64.obj: codegen_x86-64.c @AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ @am__fastdepCC_FALSE@ $(AM_V_CC@am__nodep@)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(pcem_CFLAGS) $(CFLAGS) -c -o pcem-codegen_x86-64.obj `if test -f 'codegen_x86-64.c'; then $(CYGPATH_W) 'codegen_x86-64.c'; else $(CYGPATH_W) '$(srcdir)/codegen_x86-64.c'; fi` +pcem-ne2000.o: ne2000.c +@am__fastdepCC_TRUE@ $(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(pcem_CFLAGS) $(CFLAGS) -MT pcem-ne2000.o -MD -MP -MF $(DEPDIR)/pcem-ne2000.Tpo -c -o pcem-ne2000.o `test -f 'ne2000.c' || echo '$(srcdir)/'`ne2000.c +@am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) $(DEPDIR)/pcem-ne2000.Tpo $(DEPDIR)/pcem-ne2000.Po +@AMDEP_TRUE@@am__fastdepCC_FALSE@ $(AM_V_CC)source='ne2000.c' object='pcem-ne2000.o' libtool=no @AMDEPBACKSLASH@ +@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ +@am__fastdepCC_FALSE@ $(AM_V_CC@am__nodep@)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(pcem_CFLAGS) $(CFLAGS) -c -o pcem-ne2000.o `test -f 'ne2000.c' || echo '$(srcdir)/'`ne2000.c + +pcem-ne2000.obj: ne2000.c +@am__fastdepCC_TRUE@ $(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(pcem_CFLAGS) $(CFLAGS) -MT pcem-ne2000.obj -MD -MP -MF $(DEPDIR)/pcem-ne2000.Tpo -c -o pcem-ne2000.obj `if test -f 'ne2000.c'; then $(CYGPATH_W) 'ne2000.c'; else $(CYGPATH_W) '$(srcdir)/ne2000.c'; fi` +@am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) $(DEPDIR)/pcem-ne2000.Tpo $(DEPDIR)/pcem-ne2000.Po +@AMDEP_TRUE@@am__fastdepCC_FALSE@ $(AM_V_CC)source='ne2000.c' object='pcem-ne2000.obj' libtool=no @AMDEPBACKSLASH@ +@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ +@am__fastdepCC_FALSE@ $(AM_V_CC@am__nodep@)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(pcem_CFLAGS) $(CFLAGS) -c -o pcem-ne2000.obj `if test -f 'ne2000.c'; then $(CYGPATH_W) 'ne2000.c'; else $(CYGPATH_W) '$(srcdir)/ne2000.c'; fi` + +pcem-nethandler.o: nethandler.c +@am__fastdepCC_TRUE@ $(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(pcem_CFLAGS) $(CFLAGS) -MT pcem-nethandler.o -MD -MP -MF $(DEPDIR)/pcem-nethandler.Tpo -c -o pcem-nethandler.o `test -f 'nethandler.c' || echo '$(srcdir)/'`nethandler.c +@am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) $(DEPDIR)/pcem-nethandler.Tpo $(DEPDIR)/pcem-nethandler.Po +@AMDEP_TRUE@@am__fastdepCC_FALSE@ $(AM_V_CC)source='nethandler.c' object='pcem-nethandler.o' libtool=no @AMDEPBACKSLASH@ +@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ +@am__fastdepCC_FALSE@ $(AM_V_CC@am__nodep@)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(pcem_CFLAGS) $(CFLAGS) -c -o pcem-nethandler.o `test -f 'nethandler.c' || echo '$(srcdir)/'`nethandler.c + +pcem-nethandler.obj: nethandler.c +@am__fastdepCC_TRUE@ $(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(pcem_CFLAGS) $(CFLAGS) -MT pcem-nethandler.obj -MD -MP -MF $(DEPDIR)/pcem-nethandler.Tpo -c -o pcem-nethandler.obj `if test -f 'nethandler.c'; then $(CYGPATH_W) 'nethandler.c'; else $(CYGPATH_W) '$(srcdir)/nethandler.c'; fi` +@am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) $(DEPDIR)/pcem-nethandler.Tpo $(DEPDIR)/pcem-nethandler.Po +@AMDEP_TRUE@@am__fastdepCC_FALSE@ $(AM_V_CC)source='nethandler.c' object='pcem-nethandler.obj' libtool=no @AMDEPBACKSLASH@ +@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ +@am__fastdepCC_FALSE@ $(AM_V_CC@am__nodep@)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(pcem_CFLAGS) $(CFLAGS) -c -o pcem-nethandler.obj `if test -f 'nethandler.c'; then $(CYGPATH_W) 'nethandler.c'; else $(CYGPATH_W) '$(srcdir)/nethandler.c'; fi` + +pcem-wx-hostconfig.o: wx-hostconfig.c +@am__fastdepCC_TRUE@ $(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(pcem_CFLAGS) $(CFLAGS) -MT pcem-wx-hostconfig.o -MD -MP -MF $(DEPDIR)/pcem-wx-hostconfig.Tpo -c -o pcem-wx-hostconfig.o `test -f 'wx-hostconfig.c' || echo '$(srcdir)/'`wx-hostconfig.c +@am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) $(DEPDIR)/pcem-wx-hostconfig.Tpo $(DEPDIR)/pcem-wx-hostconfig.Po +@AMDEP_TRUE@@am__fastdepCC_FALSE@ $(AM_V_CC)source='wx-hostconfig.c' object='pcem-wx-hostconfig.o' libtool=no @AMDEPBACKSLASH@ +@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ +@am__fastdepCC_FALSE@ $(AM_V_CC@am__nodep@)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(pcem_CFLAGS) $(CFLAGS) -c -o pcem-wx-hostconfig.o `test -f 'wx-hostconfig.c' || echo '$(srcdir)/'`wx-hostconfig.c + +pcem-wx-hostconfig.obj: wx-hostconfig.c +@am__fastdepCC_TRUE@ $(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(pcem_CFLAGS) $(CFLAGS) -MT pcem-wx-hostconfig.obj -MD -MP -MF $(DEPDIR)/pcem-wx-hostconfig.Tpo -c -o pcem-wx-hostconfig.obj `if test -f 'wx-hostconfig.c'; then $(CYGPATH_W) 'wx-hostconfig.c'; else $(CYGPATH_W) '$(srcdir)/wx-hostconfig.c'; fi` +@am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) $(DEPDIR)/pcem-wx-hostconfig.Tpo $(DEPDIR)/pcem-wx-hostconfig.Po +@AMDEP_TRUE@@am__fastdepCC_FALSE@ $(AM_V_CC)source='wx-hostconfig.c' object='pcem-wx-hostconfig.obj' libtool=no @AMDEPBACKSLASH@ +@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ +@am__fastdepCC_FALSE@ $(AM_V_CC@am__nodep@)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(pcem_CFLAGS) $(CFLAGS) -c -o pcem-wx-hostconfig.obj `if test -f 'wx-hostconfig.c'; then $(CYGPATH_W) 'wx-hostconfig.c'; else $(CYGPATH_W) '$(srcdir)/wx-hostconfig.c'; fi` + .cc.o: @am__fastdepCXX_TRUE@ $(AM_V_CXX)$(CXXCOMPILE) -MT $@ -MD -MP -MF $(DEPDIR)/$*.Tpo -c -o $@ $< @am__fastdepCXX_TRUE@ $(AM_V_at)$(am__mv) $(DEPDIR)/$*.Tpo $(DEPDIR)/$*.Po @@ -4191,6 +4265,9 @@ uninstall-am: uninstall-binPROGRAMS ../pcem: pcem cp pcem .. +slirp/libslirp.a: + $(MAKE) -C slirp + amrefresh: # Tell versions [3.59,3.63) of GNU make to not export all variables. diff --git a/src/ne2000.c b/src/ne2000.c index 384a545..2d8795d 100644 --- a/src/ne2000.c +++ b/src/ne2000.c @@ -34,7 +34,9 @@ #include "slirp/slirp.h" #include "slirp/queue.h" +#ifdef _WIN32 #include +#endif #include "ibm.h" #include "device.h" @@ -52,6 +54,7 @@ uint8_t maclocal[6] = {0xac, 0xde, 0x48, 0x88, 0xbb, 0xaa}; #define NETBLOCKING 0 //we won't block our pcap +#ifdef _WIN32 static HINSTANCE net_hLib = 0; /* handle to DLL */ static char *net_lib_name = "wpcap.dll"; pcap_t *net_pcap; @@ -74,6 +77,7 @@ PCAP_CLOSE _pcap_close; PCAP_GETNONBLOCK _pcap_getnonblock; PCAP_COMPILE _pcap_compile; PCAP_SETFILTER _pcap_setfilter; +#endif queueADT slirpq; int net_slirp_inited = 0; @@ -824,12 +828,13 @@ void ne2000_write(uint16_t address, uint8_t value, void *p) slirp_input(&ne2000->mem[ne2000->tx_page_start*256 - BX_NE2K_MEMSTART], ne2000->tx_bytes); pclog("ne2000 slirp sending packet\n"); } +#ifdef _WIN32 if(net_is_pcap && net_pcap!=NULL) { _pcap_sendpacket(net_pcap, &ne2000->mem[ne2000->tx_page_start*256 - BX_NE2K_MEMSTART], ne2000->tx_bytes); pclog("ne2000 pcap sending packet\n"); } - +#endif ne2000_tx_event(value, ne2000); // Schedule a timer to trigger a tx-complete interrupt // The number of microseconds is the bit-time / 10. @@ -1350,8 +1355,9 @@ static void ne2000_poller(void *p) ne2000_t *ne2000 = (ne2000_t *)p; struct queuepacket *qp; const unsigned char *data; +#ifdef _WIN32 struct pcap_pkthdr h; - +#endif if (net_is_slirp) { while (QueuePeek(slirpq) > 0) @@ -1373,6 +1379,7 @@ static void ne2000_poller(void *p) slirp_tic(); } }//end slirp +#ifdef _WIN32 if (net_is_pcap && net_pcap!=NULL) { data = _pcap_next(net_pcap,&h); @@ -1389,6 +1396,7 @@ static void ne2000_poller(void *p) ne2000_rx_frame(ne2000,data,h.caplen); } } +#endif } @@ -1407,6 +1415,7 @@ void *ne2000_init() //0 pcap //1 slirp // +#ifdef _WIN32 net_is_slirp = (config_get_int(CFG_GLOBAL, NULL, "net_type", NET_SLIRP) == NET_SLIRP) ? 1 : 0; pclog("ne2000 pcap device %s\n",config_get_string(CFG_GLOBAL, NULL,"pcap_device","nothing")); @@ -1415,6 +1424,10 @@ void *ne2000_init() net_is_pcap = 0; else if (net_is_slirp == 0) net_is_pcap = 1; +#else + net_is_slirp = 1; + net_is_pcap = 0; +#endif io_sethandler(addr, 0x0010, ne2000_read, NULL, NULL, ne2000_write, NULL, NULL, ne2000); io_sethandler(addr+0x10, 0x0010, ne2000_asic_read_b, ne2000_asic_read_w, NULL, ne2000_asic_write_b, ne2000_asic_write_w, NULL, ne2000); @@ -1468,6 +1481,7 @@ void *ne2000_init() net_is_slirp=0; } } +#ifdef _WIN32 if (net_is_pcap) { //pcap char errbuf[32768]; @@ -1583,7 +1597,7 @@ void *ne2000_init() pclog("ne2000 net_is_pcap is %d and net_pcap is %x\n",net_is_pcap,net_pcap); } } //end pcap setup - +#endif pclog("ne2000 is_slirp %d is_pcap %d\n",net_is_slirp,net_is_pcap); return ne2000; @@ -1600,12 +1614,14 @@ void ne2000_close(void *p) net_slirp_inited=0; pclog("ne2000 exiting slirp\n"); } +#ifdef _WIN32 if(net_is_pcap && net_pcap!=NULL) { _pcap_close(net_pcap); FreeLibrary(net_hLib); pclog("ne2000 closing pcap\n"); } +#endif pclog("ne2000 close\n"); } diff --git a/src/nethandler.c b/src/nethandler.c index 221a69a..44987a2 100644 --- a/src/nethandler.c +++ b/src/nethandler.c @@ -1,5 +1,7 @@ +#ifdef _WIN32 #include #include +#endif #include #include #include diff --git a/src/wx-hostconfig.c b/src/wx-hostconfig.c index 9cac6b8..95772bc 100644 --- a/src/wx-hostconfig.c +++ b/src/wx-hostconfig.c @@ -1,9 +1,11 @@ +#ifdef _WIN32 #define BITMAP WINDOWS_BITMAP #include #include #undef BITMAP #include +#endif #include "wx-utils.h" #include "wx-sdl2.h" @@ -13,6 +15,7 @@ #include "config.h" #include "nethandler.h" +#ifdef _WIN32 static HINSTANCE net_hLib = 0; static char *net_lib_name = "wpcap.dll"; static pcap_if_t *alldevs; @@ -23,6 +26,7 @@ void (*_pcap_freealldevs)(pcap_if_t *); pcap_t *(*_pcap_open_live)(const char *, int, int, int, char *); int (*_pcap_datalink)(pcap_t *); void (*_pcap_close)(pcap_t *); +#endif #define ETH_DEV_NAME_MAX 256 /* maximum device name size */ #define ETH_DEV_DESC_MAX 256 /* maximum device description size */ @@ -31,6 +35,7 @@ void (*_pcap_close)(pcap_t *); #define ETH_MAX_PACKET 1514 /* maximum ethernet packet size */ #define PCAP_READ_TIMEOUT -1 +#ifdef _WIN32 static int get_network_name(char *dev_name, char *regval) { if (dev_name[strlen( "\\Device\\NPF_" )] == '{') @@ -62,12 +67,14 @@ static int get_network_name(char *dev_name, char *regval) } return -1; } - +#endif int hostconfig_dialog_proc(void *hdlg, int message, INT_PARAM wParam, LONG_PARAM lParam) { void *h; +#ifdef _WIN32 pcap_if_t *dev; char errbuf[PCAP_ERRBUF_SIZE]; +#endif switch (message) { @@ -78,7 +85,7 @@ int hostconfig_dialog_proc(void *hdlg, int message, INT_PARAM wParam, LONG_PARAM h = wx_getdlgitem(hdlg, WX_ID("IDC_COMBO_NETWORK_DEVICE")); wx_sendmessage(h, WX_CB_SETCURSEL, 0, 0); wx_enablewindow(h, FALSE); - +#ifdef _WIN32 net_hLib = LoadLibraryA(net_lib_name); if (net_hLib) @@ -148,6 +155,7 @@ int hostconfig_dialog_proc(void *hdlg, int message, INT_PARAM wParam, LONG_PARAM } } } +#endif return TRUE; case WX_COMMAND: @@ -157,6 +165,7 @@ int hostconfig_dialog_proc(void *hdlg, int message, INT_PARAM wParam, LONG_PARAM h = wx_getdlgitem(hdlg, WX_ID("IDC_COMBO_NETWORK_TYPE")); type = wx_sendmessage(h, WX_CB_GETCURSEL, 0, 0); +#ifdef _WIN32 if (type) /*PCAP*/ { int dev; @@ -169,13 +178,16 @@ int hostconfig_dialog_proc(void *hdlg, int message, INT_PARAM wParam, LONG_PARAM } else /*SLiRP*/ { +#endif config_set_int(CFG_GLOBAL, NULL, "net_type", NET_SLIRP); config_set_string(CFG_GLOBAL, NULL, "pcap_device", "nothing"); +#ifdef _WIN32 } +#endif saveconfig_global_only(); wx_enddialog(hdlg, 1); - +#ifdef _WIN32 if (net_hLib) { _pcap_freealldevs(alldevs); @@ -186,11 +198,13 @@ int hostconfig_dialog_proc(void *hdlg, int message, INT_PARAM wParam, LONG_PARAM _pcap_close = NULL; FreeLibrary(net_hLib); } +#endif return TRUE; } else if (wParam == wxID_CANCEL) { wx_enddialog(hdlg, 0); +#ifdef _WIN32 if (net_hLib) { _pcap_freealldevs(alldevs); @@ -201,6 +215,7 @@ int hostconfig_dialog_proc(void *hdlg, int message, INT_PARAM wParam, LONG_PARAM _pcap_close = NULL; FreeLibrary(net_hLib); } +#endif return TRUE; } else if (ID_IS("IDC_COMBO_NETWORK_TYPE"))