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=*wdctrlIf 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.