MS-DOS 6.22 PCMCIA Card Driver Setup

Running PCMCIA (PC Card) hardware under MS-DOS 6.22 requires a layered software architecture rather than a single universal driver. Because MS-DOS 6.22 does not natively bundle built-in PCMCIA drivers, enabling card slots requires hardware-level Socket Services drivers—most commonly SSPCIC.SYS or SS365SL.SYS—paired with Card Services software like CS.SYS. This guide explains the required driver files, their roles, and how to configure them in your system files.

The PCMCIA Software Architecture in DOS

PCMCIA support in DOS functions through a standardized three-layer stack:

  1. Socket Services (Hardware Layer): Interacts directly with the laptop's PCMCIA controller chip (such as the Intel 82365SL or Cirrus Logic PD67xx).
  2. Card Services (Resource Layer): Manages hardware interrupts, I/O ports, and memory windows across the slots to prevent resource conflicts.
  3. Clients and Enablers (Device Layer): Drivers that configure individual cards (modems, network interface cards, ATA storage, or SRAM cards).

Key Driver Files

To enable PCMCIA functionality, you must load vendor-provided utilities—typically distributed via OEM packages like SystemSoft CardSoft or PhoenixCard Manager:

  • SSPCIC.SYS or SS365SL.SYS (Socket Services): The hardware controller driver. SSPCIC.SYS is the industry-standard driver for PCI/ISA-based PCIC-compatible controllers, while SS365SL.SYS targets Intel 82365SL-compatible chipsets.
  • CS.SYS (Card Services): The central manager that sits above Socket Services, providing the software API that client drivers use to detect card insertion and request hardware resources.
  • CSALLOC.EXE (Card Services Allocator): Scans system memory and reserves available memory windows (typically in the Upper Memory Block region between C800 and DFFF) to prevent memory overlap with expanded or upper memory managers like EMM386.EXE.
  • CARDID.SYS (Card Identification): Identifies inserted cards and assigns appropriate profiles or triggers secondary client drivers.

Configuring CONFIG.SYS

The drivers must be loaded in a strict sequential order in your CONFIG.SYS file. Ensure that any expanded memory manager excludes the memory address range reserved for the PCMCIA memory window:

DEVICE=C:\DOS\HIMEM.SYS
DEVICE=C:\DOS\EMM386.EXE NOEMS X=D000-D3FF
DOS=HIGH,UMB

REM PCMCIA Driver Stack
DEVICEHIGH=C:\CARDSOFT\SSPCIC.SYS
DEVICEHIGH=C:\CARDSOFT\CS.SYS /M=D000-D3FF
DEVICEHIGH=C:\CARDSOFT\CSALLOC.EXE
DEVICEHIGH=C:\CARDSOFT\CARDID.SYS

Alternative: Point Enablers

If conventional memory is limited, you can bypass the memory-heavy Card Services stack by using a dedicated "Point Enabler." A Point Enabler is a single, card-specific executable (such as ENABLER.EXE or vendor-supplied network card setup utilities) loaded via CONFIG.SYS or AUTOEXEC.BAT. It configures only that specific card directly against the hardware controller, saving conventional RAM at the expense of hot-swapping capabilities.