VOGONS


First post, by yyzkevin

User metadata
Rank Newbie
Rank
Newbie

Is the IPX interface available in any way at a low level while booted into a DOS image? I do not care about formatting/framing etc I can figure that out myself and encapsulate it as needed, I just need a fast way to rx/tx with the outside world from a booted msdos image. I would attempt to implement it as a packet driver. I went down the route doing this with the serial port but its just too slow.

I am able to do this with dosbox-x and a modified ne2000, but I am trying to accomplish this with native dosbox.

Thanks!

Reply 1 of 11, by Wengier

User metadata
Rank Member
Rank
Member

No, the builtin IPX interface is only available in the internal shell, not any guest DOS/Windows systems. Since what you are trying to achieve appears to beyond DOS gaming, I would recommend you to stick with DOSBox-X for these. Vanilla DOSBox is officially designed for DOS gaming only and will not support such usages, whereas DOSBox-X officially goes beyond gaming.

Reply 2 of 11, by _Rob

User metadata
Rank Member
Rank
Member

I would also suggest for IPX support after booting DOS that you check out the networking guide on the DOSBox-X Wiki. There are instructions for how to use the Novell IPX stack with the NE2000 emulation.

Reply 3 of 11, by yyzkevin

User metadata
Rank Newbie
Rank
Newbie

I already modified the the NE2000 emulation in Dosbox-X to use a UDP tunnel to connect to my cloud hosted virtual switch instead of using pcap to the local lan and it works great. The issue is, it requires a custom compiled copy of dosbox-x, and actually this effort is in fact for gaming, just not of the normal sense so I understand it reaches outside of the main focus of Dosbox. I require the full Novell IPX/SPX stack as some of the games were designed for netware. It is a problem asking somebody to download an unknown exe and run it and I am not close friends with some of the participants, and asking somebody to compile dosbox-x themselves is too much effort for most.

I was able to get the full novell ipx/spx stack running in Dosbox by essentially running a IPX to PD shim, and then the novel PD to IPX shim but of course the dosbox shell does not support the drive redirection so I cannot map any drives... this same method of course is possible with a SLIP to PD shim and the serial port in a dos booted image, but of course dosbox intended use does not make for high speed serial emulation so it is just too slow for my use.

I had just thought, if there was some low level way to access that IPX interface via some undocumented i/o space or emulated bios interrupts (i dont know exactly what I am asking for here) that there was hope I could spend time time and eventually write/modify some form of packet driver that could run in a dos image and low level gain access to the outside world in some way.

Sounds like it is not going to happen, but I will read through the dosbox source code a bit more and once I understand the situation better I will be able to accept the limitation and move on.

Thanks

Reply 4 of 11, by jmarsh

User metadata
Rank Oldbie
Rank
Oldbie

There is no network hardware emulation in regular DOSBox, IPX is emulated using only a software interrupt handler (which relies on DOSBox shell having control over memory allocation) so once you boot into another OS it's gone.

Reply 5 of 11, by _Rob

User metadata
Rank Member
Rank
Member

Regarding modifying the NE2000 emulation, there is a PR on the dosbox-x github page which adds support for a libslirp backend, in addition to the existing pcap backend. This PR will probably be merged soon.
Right now it is only for Linux though, Windows support still needs to be added.

The advantage of libslirp is that it does not need promiscuous mode, which is the most common problem with pcap.
The disadvantage is that it only works with TCP/IP, so you would have to encapsulate IPX or NetBios traffic. And it is best for client-server traffic, not peer-to-peer due to the network setup it creates.

Reply 6 of 11, by jmarsh

User metadata
Rank Oldbie
Rank
Oldbie
_Rob wrote on 2021-01-06, 11:18:

The advantage of libslirp is that it does not need promiscuous mode, which is the most common problem with pcap.
The disadvantage is that it only works with TCP/IP, so you would have to encapsulate IPX or NetBios traffic. And it is best for client-server traffic, not peer-to-peer due to the network setup it creates.

That seems a bit like saying chopping your foot off gives the advantage of not having to buy new shoes. You're just replacing one problem with a different one.
The main idea of using PCAP is to allow the emulated DOSBox machine to communicate with other machines on the local network directly using IPX.

Reply 7 of 11, by _Rob

User metadata
Rank Member
Rank
Member

I agree with your general statement, but the problem is that PCAP does not work at all for some users. Namely if they only have WIFI (as very few implementations support promiscuous mode), which is becoming increasingly common.

Reply 8 of 11, by jmarsh

User metadata
Rank Oldbie
Rank
Oldbie

But if their aim is to use native IPX (which is likely, since barely anything DOS related used TCP/IP) this isn't going to help at all. It's a solution for a non-existent problem; TCP/IP is already easily available using serial hardware emulation.

Reply 9 of 11, by _Rob

User metadata
Rank Member
Rank
Member
jmarsh wrote on 2021-01-06, 13:40:

But if their aim is to use native IPX (which is likely, since barely anything DOS related used TCP/IP) this isn't going to help at all. It's a solution for a non-existent problem; TCP/IP is already easily available using serial hardware emulation.

Agreed, just using it to run mTCP is of little use. But DOSBox-X also supports Win98SE, and it does work with that. And while setting up TCP/IP using serial emulation is possible, that is more complex for the typical user and at lower performance.

Reply 10 of 11, by hail-to-the-ryzen

User metadata
Rank Member
Rank
Member

Is there any demand for a client/server setup in the above emulators? Is that a viable option for real time games in emulation? Also, how many players are robustly supported by IPX in a peer-to-peer setup? I have not seen any (thorough) reports about it.

I think that the play by email option in some strategy games provides a robust option, but there is suprisingly not many comments about that option either.

Reply 11 of 11, by _Rob

User metadata
Rank Member
Rank
Member
hail-to-the-ryzen wrote on 2021-01-06, 17:28:

Is there any demand for a client/server setup in the above emulators? Is that a viable option for real time games in emulation? Also, how many players are robustly supported by IPX in a peer-to-peer setup? I have not seen any (thorough) reports about it.

I think that the play by email option in some strategy games provides a robust option, but there is suprisingly not many comments about that option either.

All good questions. The short of it, someone wanted the function, and did the work to write the implementation. And we have had the occasional question for working TCP/IP in Win98 where PCAP was not a real option.