Network shims

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.

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.

Counter
malvineous@shikadi.net