Determining if a drive supports DMA

The easiest way to determine if a drive supports DMA or Ultra DMA transfers is to check the specifications in the manual or on the web site. You can also use debug to query the drive directly to determine what level of DMA, if any, it supports. To do so, boot the PC using a DOS floppy that contains the debug utility. (Running debug under Windows NT/2000/XP does not allow you to access the registers needed to perform this test.) At the DOS prompt, type debug and press Enter. If the drive to be tested is connected to the primary ATA interface, type the following commands at the debug hyphen prompt, ending each line by pressing Enter. Note that the first character in each of the first four lines is the lowercase letter “o” rather than zero, and that all “1” characters are the numeral one rather than the lowercase letter “l”.

o 1f6 a0
o 1f2 45
o 1f1 03
o 1f7 ef
i 1f1

The first line (o 1f6 a0) specifies the drive to be tested. The a0 argument specifies the Master drive. To test the Slave drive, substitute b0 (o 1f6 b0). The second line (o 1f2 45) specifies the DMA mode to be tested. Valid arguments are 40 through 46, inclusive, for Ultra DMA Modes 0 through 6, respectively. For DMA (not Ultra DMA) Modes 1 and 2, use 21 or 22, respectively. Start with the fastest mode you believe the drive supports. If the test fails for this mode, retest using the next- slower mode until you find a mode that the drive does support. The 03 argument on the third line ...

Get PC Hardware in a Nutshell, 3rd Edition now with the O’Reilly learning platform.

O’Reilly members experience books, live events, courses curated by job role, and more from O’Reilly and nearly 200 top publishers.