Getting a vintage DOS machine connected to a modern network might seem impossible, but thanks to the work of Mike Brutman and others in the retro computing community, it’s not only possible but surprisingly practical. The key is a combination of packet drivers and mTCP, a lightweight TCP/IP stack designed specifically for DOS.

The Challenge of DOS Networking

In the DOS world, TCP/IP was an afterthought. Network cards existed in the mid-80s, but they were expensive and primarily used for proprietary networking protocols like Novell NetWare. DOS was never designed for networking—it’s not multitasking, it has no built-in network stack, and it has limited memory to work with.

Most network cards from that era saw their heaviest use with early Windows installs that came later. But for those of us who want to use our vintage hardware as it was originally intended—running DOS—a different approach is needed.

Packet Drivers

The solution came from packet drivers, a standard developed in the late 1980s. A packet driver is a TSR (Terminate and Stay Resident) program that provides a standardized interface between network hardware and applications.

When you run a packet driver, it:

  1. Allocates a block of memory for itself
  2. Attaches to the network card via a hardware interrupt
  3. Marks its memory as protected so DOS won’t overwrite it
  4. Exits back to the command line, but stays resident

From that point on, when the network card receives a packet, the hardware interrupt triggers the TSR, which fills a software buffer that applications can read. This gives DOS programs a way to communicate over the network without needing their own hardware drivers.

Packet drivers exist for most popular vintage network cards. The Crynwr packet driver collection is the most comprehensive source, covering cards from 3Com, Intel, NE2000 clones, and many others.

mTCP: A Modern TCP/IP Stack for DOS

None of this infrastructure would be useful without application software that knows how to use it. This is where Mike Brutman’s mTCP comes in.

mTCP is a set of TCP/IP applications for DOS that includes everything you need to get your vintage machine online:

  • DHCP - Automatic IP address configuration
  • FTP - Transfer files to and from FTP servers
  • FTPSRV - Run an FTP server on your DOS machine
  • TELNET - Connect to remote systems
  • IRC - Internet Relay Chat client
  • HTGET - Download files via HTTP
  • PING - Test network connectivity
  • NETCAT - Network debugging utility
  • SNTP - Synchronize your clock over the network

Each tool has the TCP/IP stack compiled directly into it, so there’s no separate network stack consuming memory. The tools are designed to work within the tight memory constraints of vintage hardware while still providing useful functionality.

mTCP is actively maintained and works on everything from an 8088 to a Pentium. Mike has put years of work into optimizing these tools for real vintage hardware, and the results are impressive.

Get mTCP: https://www.brutman.com/mTCP/mTCP.html

Not all network cards work well in vintage DOS machines. Here are some proven options:

3Com EtherLink III (3C509) - A 16-bit ISA card that can operate in 8-bit mode. Widely available and well-supported. Requires configuration with 3Com’s DOS utility before installation in older machines.

3Com EtherLink II (3C503) - An 8-bit card that works in any ISA slot. More expensive than the 3C509 but doesn’t require pre-configuration.

NE2000 clones - Ubiquitous and cheap, though quality varies. Make sure to get one with a working packet driver.

Prices for vintage network cards range from $20 to $400 depending on the model and condition. The 3C509 hits a good balance of availability, price, and compatibility.

Getting Started

The basic setup process is:

  1. Install a compatible network card
  2. Download the appropriate packet driver
  3. Download mTCP
  4. Create an mTCP configuration file with your network settings (or use DHCP)
  5. Load the packet driver at boot via AUTOEXEC.BAT
  6. Run mTCP applications as needed

With this setup, you can FTP files directly to your vintage machine, eliminating the sneakernet shuffle of moving floppy disks or CF cards back and forth. You can telnet into modern systems, sync your clock, and even browse Gopher sites if you’re feeling nostalgic.

More Information

Mike Brutman’s site at brutman.com has extensive documentation, not just for mTCP but for DOS networking in general. His site has been a cornerstone of the vintage DOS community for years, covering everything from the IBM PCjr to network configuration guides.