DOS Network Shims
On this page you will find a collection of shims for converting among various network layers/stacks. These have proven to be quite difficult to track down, so hopefully by placing them all here it will help others who may be looking for them. These are useful when trying to get an old DOS machine talking on a network, as DOS network drivers often only provide one or two services, which are usually not the ones you need. These shims can be used to convert between services.
It's even possible to use the PXE layer on network-bootable NICs to provide IPX and TCP/IP support with no card-specific driver. This makes it easy to boot a DOS PC entirely over the network and run programs and games on it, without it having any hard disk (or floppies/USB/flash/etc.)
I should point out that in most cases I have no idea where these came from and even less of an understanding of how they all work, so there is probably a lot of inaccurate/incomplete information here - but if you find any mistakes or missing information then please send me corrections so I can update this page.
All these shims are DOS based, and in most cases they are .COM files (except the NDIS shims which are mostly .DOS files.) They are organised by the protocol they provide, so under the IPX heading you will find various shims all providing the IPX protocol once loaded.
You can use the following links to jump to a particular section of this page.
"I want to end up with this protocol:"
IPX
| Name: | PDIPX |
| Parent protocol: | Packet driver |
| Provides: | IPX |
| Mem usage: | 18,400 bytes |
| Loads high? | Yes |
| Download: | pdipx.zip (38kB) |
PD to IPX
PDIPX provides IPX services when a packet driver interface is available. Apparently there are some issues using Novell networking with this IPX driver, however I have not had the chance to fully test this. Reports welcome!
There are two versions of the driver included in this package - PDIPX1 uses an extra 16 bytes of memory and appears to have a newer packet driver (v1.03 dated 1992/09/28) whereas PDIPX2's packet driver is v1.02 (dated 1992/04/03)
Packet Driver (PD)
| Name: | IPXPKT |
| Parent protocol: | IPX |
| Provides: | Packet (PD) |
| Mem usage: | ? |
| Loads high? | Untested |
| Download: | ipxpkt.com (14kB) |
IPX to PD
Untested: IPXPKT should provide a Packet Driver interface when an IPX interface is available.
| Name: | DIS_PKT |
| Parent protocol: | NDIS |
| Provides: | Packet (PD) |
| Mem usage: | ? |
| Loads high? | Untested |
| Download: | dis_pkt9.zip (30kB) |
| dis_pkt11.zip (24kB) |
NDIS to PD
Untested: DIS_PKT provides Packet services when an NDIS interface is available. NDIS is usually provided by a LANMan setup (think PROTOCOL.INI)
Two versions of this shim are available - one that provides a v1.09 packet interface (dis_pkt9.zip) and one that provides v1.11 (dis_pkt11.zip)
| Name: | ODIPKT |
| Parent protocol: | ODI |
| Provides: | Packet (PD) |
| Mem usage: | ? |
| Loads high? | Untested |
| Download: | odipkt.zip (25kB) |
ODI to PD
Untested: Provides Packet services when an ODI interface is available (think LSL.COM)
| Name: | UNDIPD |
| Parent protocol: | UNDI/PXE |
| Provides: | Packet (PD) |
| Mem usage: | 4,768 bytes |
| Loads high? | Yes |
| Download: | undipd.com (9.5kB) |
UNDI to PD
UNDIPD provides Packet services when an UNDI interface is available - which is most commonly when the PC has booted over the network via PXE. In this case the UNDI interface is loaded
from the network card's boot ROM so this is essentially a device-independent Packet Driver.
NDIS
| Name: | NDIS.DOS |
| Parent protocol: | UNDI/PXE |
| Provides: | NDIS |
| Mem usage: | ? kB |
| Loads high? | Untested |
| Download: | ndis.dos (27kB) |
Intel's Universal NDIS Driver
NDIS.DOS provides NDIS services from an UNDI/PXE stack. Useful for getting NDIS support when booting over a network. In some cases more compatible than 3Com's equivalent below.
| Name: | UNDIS3C.DOS |
| Parent protocol: | UNDI/PXE |
| Provides: | NDIS |
| Mem usage: | ? kB |
| Loads high? | Untested |
| Download: | undis3c.dos (32kB) |
3Com's Universal NDIS Driver
UNDIS3C.DOS provides NDIS services from an UNDI/PXE stack. Useful for getting NDIS support when booting over a network.
| Name: | NVNDIS2.DOS |
| Parent protocol: | UNDI/PXE |
| Provides: | NDIS |
| Mem usage: | ? kB |
| Loads high? | Untested |
| Download: | nvndis2.dos (28kB) |
nVidia NDIS Driver
Untested: Not sure if this is universal or for nVidia onboard network cards only. Does mention UNDI so it could be universal. Reports welcome!
| Name: | ODINSUP |
| Parent protocol: | ODI |
| Provides: | NDIS |
| Mem usage: | ? kB |
| Loads high? | Untested |
| Download: | odinsup.zip (26kB) |
ODINSUP
Untested: Provides NDIS services from an existing ODI interface.
ODI
| Name: | PDEther |
| Parent protocol: | Packet driver |
| Provides: | ODI |
| Mem usage: | 2,912 bytes |
| Loads high? | Yes * |
| Download: | pdether.zip (28kB) |
PD to ODI
PDEther provides an ODI interface when a packet driver interface is available.
* It appears that this driver will only load into high memory if LSL.COM is *not* loaded high. Since LSL.COM uses 12kB of memory it's probably better to have that loaded high and lose 2kB of conventional memory rather than the other way around.
UNDI
I am not aware of any shims providing UNDI support at present, however I doubt this is necessary. If your NIC supports PXE booting then you can use PXELinux combined with MemDisk to boot to DOS with the UNDI layer still available, and if your NIC doesn't support PXE you can use an Etherboot floppy to provide it.
