Secondary IDE Controller in MS-DOS 6.22

This article explains how MS-DOS 6.22 detects, configures, and manages secondary IDE controllers and the storage devices attached to them. Because MS-DOS 6.22 relies on legacy architecture, its ability to utilize a secondary IDE channel depends entirely on system BIOS support, device types, and real-mode device drivers configured in the startup files.

The Role of the System BIOS and INT 13h

MS-DOS 6.22 does not communicate directly with hard drive controllers using native operating system drivers. Instead, it relies on the motherboard’s ROM BIOS via Interrupt 13h (INT 13h) to perform disk read and write operations.

  • Primary IDE Channel: Uses standard I/O port base 0x1F0–0x1F7 and Interrupt Request line 14 (IRQ 14).
  • Secondary IDE Channel: Uses standard I/O port base 0x170–0x177 and Interrupt Request line 15 (IRQ 15).

If the system BIOS features Enhanced IDE (EIDE) support for up to four drives (Primary Master, Primary Slave, Secondary Master, Secondary Slave), the BIOS translates the secondary controller's geometry into INT 13h disk numbers (typically 82h and 83h). In this scenario, MS-DOS 6.22 recognizes secondary hard drives automatically at boot through IO.SYS and makes them available for partitioning using FDISK and formatting using FORMAT.

Handling Secondary Hard Drives Without BIOS Support

Older BIOS versions (common in early 486 and 386 systems) only support two hard drives via the primary IDE controller. When a secondary IDE controller is introduced—such as via an ISA or VLB add-in card—MS-DOS cannot natively see secondary hard drives unless one of the following is present:

  1. Option ROM on the Controller Card: Many secondary IDE expansion cards contain an onboard BIOS chip that hooks into INT 13h during the boot sequence, presenting the secondary drives to DOS before the operating system loads.
  2. Dynamic Drive Overlays (DDO) or Real-Mode Drivers: If the card lacks an Option ROM and the main BIOS lacks 4-drive support, software drivers (such as Ontrack Disk Manager, EZ-Drive, or vendor-specific .SYS drivers) must be loaded in CONFIG.SYS to establish communication with ports 0x170–0x177 and IRQ 15.

Drive Letter Assignment Order

When multiple hard drives are present across both primary and secondary controllers, MS-DOS 6.22 assigns drive letters based on a rigid hierarchy:

  1. The active primary partition of the Primary Master (C:).
  2. The primary partition of the Secondary Master (and any other primary partitions detected on subsequent physical drives, e.g., Primary Slave, Secondary Slave).
  3. Logical drives inside the Extended Partitions, assigned sequentially starting from the Primary Master through to the Secondary Slave.

Because of this order, adding a hard drive to the secondary IDE controller that contains a primary partition can shift existing drive letters of logical drives on the primary controller.

ATAPI Devices and CD-ROM Drives

MS-DOS 6.22 does not treat ATAPI devices (such as IDE CD-ROM drives) on the secondary IDE controller the same way as hard drives, regardless of BIOS capabilities:

  • Real-Mode Driver: A dedicated ATAPI device driver (such as OAKCDROM.SYS, VIDE-CDD.SYS, or ATAPICDD.SYS) must be loaded in CONFIG.SYS. These drivers scan both primary and secondary I/O port addresses (0x1F0 and 0x170) to locate the hardware:
    DEVICE=C:\DOS\OAKCDROM.SYS /D:MSCD001
  • Microsoft CD-ROM Extensions: The MSCDEX.EXE utility must be executed in AUTOEXEC.BAT to assign a standard drive letter to the secondary IDE ATAPI device:
    C:\DOS\MSCDEX.EXE /D:MSCD001 /L:D

Through this combination of BIOS INT 13h routines for magnetic storage and real-mode drivers for ATAPI devices, MS-DOS 6.22 fully utilizes both Master and Slave positions on a secondary IDE controller.