Windows 3.11 FastDisk 32-Bit Disk Access Driver

This article examines the primary system driver behind FastDisk technology in Microsoft Windows 3.11, identifying WDCTRL.386 (referenced internally as *WDCTRL) as the core driver for 32-bit disk access. It explains how this driver functioned, the architectural bottlenecks it resolved by bypassing the standard ROM BIOS, and how it was implemented within the operating environment.

The FastDisk Driver: WDCTRL.386

In Microsoft Windows 3.1 and Windows 3.11 (including Windows for Workgroups 3.11), the default driver responsible for providing FastDisk technology was WDCTRL.386. In the configuration files, it is commonly referenced as *WDCTRL because it was built directly into the WIN386.EXE virtual machine manager, though it could also exist as a standalone file.

WDCTRL.386 was specifically developed to communicate with Western Digital 1003-compatible hard disk drive controllers, which was the standard controller architecture used by ST-506 and IDE/ATA hard drives of that era.

How FastDisk Bypassed the BIOS

Before FastDisk, Windows running in 386 Enhanced Mode had to switch the processor from 32-bit protected mode back to 16-bit real mode whenever it needed to read from or write to a hard drive. Disk requests were handed over to the system ROM BIOS (specifically INT 13h), which processed the input/output operation and then returned control, forcing the CPU back into protected mode.

This constant mode switching introduced severe processing overhead and performance degradation. Furthermore, during BIOS disk operations, multitasking was temporarily suspended because standard real-mode BIOS code was not reentrant.

The WDCTRL.386 FastDisk driver solved this problem by intercepting standard INT 13h disk interrupts directly in protected mode. Instead of delegating the request to the ROM BIOS, WDCTRL.386 talked directly to the hard disk controller hardware using 32-bit protected-mode instructions. This enabled:

  • Continuous operation in protected mode without CPU context-switching overhead.
  • True asynchronous disk I/O, allowing background tasks to execute while disk transfers were underway.
  • The use of virtual memory paging files without relying on the BIOS.

Configuration in SYSTEM.INI

To enable FastDisk, users typically used the "Virtual Memory" settings inside the Windows Control Panel, which modified the SYSTEM.INI file. A properly configured system featured the following entries under the [386Enh] section:

[386Enh]
32BitDiskAccess=ON
device=*wdctrl

If third-party controller hardware (such as ESDI, SCSI, or proprietary IDE controllers) was present, hardware manufacturers supplied their own proprietary FastDisk drivers (such as MHISYS.386 or vendor-specific .386 drivers) to replace *WDCTRL.

Disk Access vs. File Access in Windows 3.11

While WDCTRL.386 handled 32-bit disk access at the hardware controller level, Windows for Workgroups 3.11 later introduced 32-bit File Access. Powered by VFAT.386 and IFSHLP.SYS, 32-bit File Access eliminated the real-mode MS-DOS FAT file system layer. When combined with the FastDisk capabilities of WDCTRL.386, Windows 3.11 achieved a complete 32-bit data path from application file request down to physical disk sectors.