First post, by zerker
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 Pentium II-350
192 MB RAM
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)
SET BLASTER=A220 I5 D1 H5 P330 E620 T6
SET MIDI=SYNTH:1 MAP:E MODE:0
C:\SB16\DIAGNOSE /S /W=C:\WINDOWS
C:\SB16\MIXERSET /P /Q
C:\SB16\CTCU.EXE /S /W=C:\WINDOWS
MODE COM2 19 N 8 1
REM Extra configs omitted
LH C:\WINDOWS\MSCDEX.EXE /S /D:mscd000
menuitem=Ultima7, Ultima 7
menuitem=EMSCD, EMS with CD
menuitem=PktNet, Packet Driver Network
SHELL=C:\DOS\COMMAND.COM /P /E:384
REM Extra configs omitted
SHELL=C:\DOS\COMMAND.COM /P /E:512
DEVICEHIGH=C:\DRIVERS\NETWORK\PKTDRV\DLKFET.SYS -n 0x60
# Earlier sections omitted
# ipx: Enable ipx over UDP/IP emulation.
# 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.
# Lines in this section will be run at startup.
# You can put your MOUNT lines here.
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.