fragglet / vanilla-utilities

Doom engine DOS utilities
https://www.doomworld.com/forum/topic/110970-the-vanilla-utilities/
GNU General Public License v2.0
19 stars 0 forks source link

Win9x UDP networking driver #15

Closed fragglet closed 6 months ago

fragglet commented 1 year ago

I've held off developing a UDP networking driver so far because Dali exists as something that IPXSETUP can run over. However, there's still a potential use case of running UDP network games from Windows 9x, using the kind of DOS backdoor that libsocket or the original Quake made use of.

I think the best way this would work would be to again reuse the DOSbox networking protocol and emulate an IPX client. That would allow interoperability with other systems: DOSbox clients, Chocolate Doom's vanilla-net support, ipxwrapper, or ipxbox's bridging and PPTP support (the latter being another way of doing something equivalent).

fragglet commented 1 year ago

Attaching ws2dos.zip which can do wsock2 vxd calls from within DOS. Pascal source code but it should be easily adaptable to C. The advantage of this over libsocket is (1) simplicity - there's less code to dig through, but also (2) it works with WinSock2 which libsocket never got properly working

fragglet commented 1 year ago

After reading up on this some more, there's a blocker with using wsock2 because the V86 calling interface to the vxd has a bug that makes send/recv unusable. The sock.vxd driver used by libsocket also seems to not be an option since it only provides a protected mode interface (though it is open source so it could in theory be implemented)

fragglet commented 6 months ago

Now implemented and included in the v2.0 release!