This is a follow-up to a previous post about the curious driver in Microsoft OS/2 1.21. After initially writing the article, additional information came to light, explaining why the code was there.
In summer 1988, Compaq released the Deskpro 386/25, the most powerful PC available at the time with a price tag over $10,000. At the time, Compaq did not offer dedicated server systems, but the Deskpro 386/25 was clearly meant to be usable as a file server. To that end, Compaq offered an expansion unit that could house up to two 300MB ESDI drives. The expansion unit was effectively an ESDI expander, attached to a disk controller in the main unit through a custom cable. The Deskpro 386/25 plus expansion unit could utilize two plus two 300MB drives, for a total of 1.2GB of storage (this was mid-1988).
Now comes the interesting part. Because Compaq used Western Digital ESDI controllers that looked like a regular PC/AT disk (or an IDE drive) to the system, Compaq made it possible to have one or two drives in the main unit with a disk controller responding at the 1F0h I/O port range, while the expansion unit responded at the “alternate” 170h address range long supported by PC/AT compatible disk controllers. To software, the ESDI controllers looked the same as old PC/AT controllers for ST-506 drives, and the same as newer IDE drives (which were already used by Compaq in 1988).
The initial support for four drives had two key components. The Compaq SETUP utility stored the drive type of the 3rd/4th drive in CMOS locations 1Bh/1Ch (conveniently right after 19h/1Ah used for the 1st/2nd drive). And for DOS, Compaq supplied a custom driver called EXTDISK.SYS.
Continue reading