First post, by zerker
- Rank
- Member
So I heard about the NE2000 DosBox patch, and decided to try it this morning. Got it all built and running and grabbed a driver package from https://github.com/gammy/dos_net_ne2000 and confirmed that the Doom 2 setup saw the interface. So far so good.
Back on my retro PC, I added the D-Link IPX network (dpdipx.com) to my packet driver config and Doom 2's setup is also happy on this end.
I started a test network game between the two of them, and the DosBox setup detected Player 2!
But the retro PC did not.
So I somehow had 1-way communication?
I ran Wireshark on my main PC, and saw broadcast IPX packets from both machines, but since the DosBox side was the one that worked, that doesn't tell me anything. And I can't exactly run Wireshark in DOS, so I also hooked up a Raspberry Pi and ran Wireshark there. It ALSO saw the broadcast packets from both sides. I've attached one of the Raspberry Pi's captures for reference.
So I tried a few things:
- Directly connected one machine to the other instead of relying on the router. No difference.
- Changed the spoofed MAC address DosBox uses to match my actual NIC's MAC address. No difference.
- Tried Duke Nukem 3D. Same behaviour.
- Tried Windows 98's IPX support instead. This actually worked LESS. Neither side saw each other, but the Wireshark trace looked the same!
System specs for reference are:
Intel SE440BX-2
Intel Pentium II-350
192 MB RAM
D-Link DFE-530TX
MS-DOS 6.0 or Windows 98SE (depending on test)
So I'm a bit stuck right now. Here are my relevant config files:
autoexec.bat (omitting non-relevant configurations)
@ECHO OFFPROMPT $p$gSET SOUND=C:\SB16SET BLASTER=A220 I5 D1 H5 P330 E620 T6SET MIDI=SYNTH:1 MAP:E MODE:0SET CTCM=C:\SB16SET PATH=C:\WINDOWS;C:\DOS;C:\Apps;C:\Apps\InfoZip;C:\SB16;C:\Apps\Freedos\BinSET TEMP=C:\TEMPC:\SB16\CTCMC:\SB16\DIAGNOSE /S /W=C:\WINDOWSC:\SB16\AWEUTIL /SC:\SB16\MIXERSET /P /QC:\SB16\CTCU.EXE /S /W=C:\WINDOWSMODE COM2 19 N 8 1GOTO %CONFIG%REM Extra configs omitted:PktNetLH C:\DRIVERS\CTMOUSE\CTMOUSE.EXELH C:\WINDOWS\MSCDEX.EXE /S /D:mscd000SET MTCPCFG=C:\Apps\mtcp\network.cfgLH C:\DRIVERS\NETWORK\PKTDRV\DPDIPX.COMGOTO END:END
config.sys
[menu]menuitem=Defaultmenuitem=Ultima7, Ultima 7menuitem=EMSmenuitem=EMSCD, EMS with CDmenuitem=Networkmenuitem=PktNet, Packet Driver Network[common]DEVICE=C:\DOS\HIMEM.SYSSHELL=C:\DOS\COMMAND.COM /P /E:384BUFFERS=10,0FILES=40STACKS=9,256FCBS=4,0DOS=HIGHREM Extra configs omitted[PktNet]SHELL=C:\DOS\COMMAND.COM /P /E:512DEVICE=C:\WINDOWS\EMM386.EXE NOEMSDOS=UMBDEVICEHIGH=C:\DRIVERS\VIDE-CDD.SYS /D:MSCD000DEVICEHIGH=C:\DRIVERS\NETWORK\PKTDRV\DLKFET.SYS -n 0x60LASTDRIVE=Z
dosbox.conf
# Earlier sections omitted[ipx]# ipx: Enable ipx over UDP/IP emulation.ipx=false[ne2000]# ne2000: Enable Ethernet passthrough. Requires [Win]Pcap.# nicbase: The base address of the NE2000 board.# nicirq: The interrupt it uses. Note serial2 uses IRQ3 as default.# macaddr: The physical address the emulator will use on your network.# If you have multiple DOSBoxes running on your network,# this has to be changed for each. AC:DE:48 is an address range reserved for# private use, so modify the last three number blocks.# I.e. AC:DE:48:88:99:AB.# realnic: Specifies which of your network interfaces is used.# Write 'list' here to see the list of devices in the# Status Window. Then make your choice and put either the# interface number (2 or something) or a part of your adapters# name, e.g. VIA here.ne2000=truenicbase=300nicirq=3macaddr=AC:DE:48:88:99:AArealnic=enp5s0[autoexec]# Lines in this section will be run at startup.# You can put your MOUNT lines here.SET PATH=C:\NetworkSET IPXPATH=C:\Network\IPX
Note that I was running through DosBox Game Launcher, so I manually mounted C: and ran IPXSTART.BAT seperately before testing.
Permissions on DosBox are set properly:
-rwsrwsr-x 1 root root 14436264 Jul 9 07:24 dosbox
I've also played TCP/IP network games between these two PCs just fine, for reference.