How to enable bus mastering (DMA) support with Windows

written by: Troy Margen; article published: year 2006, month 12;


In: Categories » Computers and technology » Microsoft OS family » How to enable bus mastering (DMA) support with Windows

All versions of Windows 98, 2000, and XP support DMA/UDMA modes. The exact steps required to enable DMA mode differ according to your chipset and the exact version of Windows you are using, as follows

Windows 98/98 SE/Me

The original Windows 98 release and Windows 98 SE are both identified as 4.10.1998, and both are supplied with a native DMA driver, as is Windows Me. Use that driver rather than the driver supplied by Intel or another chipset manufacturer. The Microsoft drivers require DMA support in BIOS, so you may need to flash your system BIOS to the latest version before installing the driver. Before installing the Microsoft driver, remove the Intel BM-IDE driver (if present) by running the BM-IDE installation program and choosing deinstall. To install the Microsoft driver,

  1. Right-click My Computer, choose Properties, and then click the Device Manager tab.
  2. Locate the CD-ROM drive and double-click it to display the Properties sheet.
  3. Click the Settings tab and mark the DMA checkbox in the Options section.
  4. Close the dialog and reboot the system.
  5. Redisplay the Properties sheet for the drive after rebooting to verify that the checkbox remains marked and that DMA is enabled.

    Note the following considerations for Windows 98/98 SE/Me and DMA:

    • On a clean install, we found that Windows 98/98 SE/Me automatically determines whether the chipset, drives, and BIOS support DMA. If so, DMA is automatically enabled by default.
    • On an upgrade install to a system running Windows 95 OSR1 or earlier, we found that Windows 98/98 SE/Me Setup does not install DMA support, even if all required elements are present. If this occurs, you can enable DMA support by marking the DMA checkbox and restarting the system.
    • On an upgrade install to a system running Windows 95 OSR2 or higher, we found that Windows 98/98 SE/Me Setup enables DMA only if Windows 95 had the Microsoft DMA drivers installed and enabled. If the drivers were not installed, or if they were installed but DMA was not enabled, Setup installs using PIO mode. Again, you can enable DMA support manually by marking the DMA checkbox and restarting the system.
    • Installing Windows 98/98 SE/Me as an upgrade on a Windows 95 system running the Intel BM-IDE driver causes all sorts of IDE problems. The Intel BM-IDE driver version 3.01 has no uninstall option, but can be uninstalled using the version 3.02 or higher Setup program. Before upgrading to Windows 98/98 SE/Me, run BM-IDE version 3.02 or higher and choose the deinstall option.
Windows 2000/XP

Windows 2000 and Windows XP generally manage DMA properly and automatically. During a fresh install, Windows 2000/XP tests the ATA interface and the connected devices to determine DMA compatibility. If the interface and all connected devices are DMA-compatible, Windows 2000/XP enables DMA for that interface. A problem may arise during an upgrade installation, however. If the earlier OS version was not configured to use DMA, Windows 2000/XP may not enable DMA even though the interface and devices support it. To check DMA status on a Windows 2000/XP system, and to enable DMA if necessary, take the following steps:

  1. If you're not sure how your CD-ROM drive is configured, restart the system and watch the BIOS boot screen to determine whether the drive is connected to the Primary or Secondary ATA channel and whether it is configured as Master or Slave.
  2. Right-click the My Computer icon and choose Properties. Click the Hardware tab and then the Device Manager button to display the Device Manager.
  3. Locate the IDE ATA/ATAPI Controllers entry and click the + icon to expand the listing. There should be three lines visible, assuming that both IDE channels are enabled. The first, which will be something such as Intel® 82801BA Bus Master IDE Controller, is for the ATA controller itself. The two remaining lines should be Primary IDE Channel and Secondary IDE Channel.
  4. Right-click the channel to which your CD-ROM drive is connected, choose Properties, and then click the Advanced Settings tab to display the IDE Channel Properties dialog. This dialog has two sections, one for Device 0 (Master) and another for Device 1 (Slave). The listing for your CD-ROM drive should display the DMA mode currently in use in the Current Transfer Mode box. If it does, your drive is operating at peak efficiency, and you can exit the dialog.
  5. If the Current Transfer Mode box for the CD-ROM drive lists PIO Mode, check the setting for that device in the Transfer Mode box. If the drop-down list in that box is set to DMA if available, that means that Windows has determined that either the interface or the drive (or both) do not support DMA. Exit the dialog and resign yourself to running in PIO mode. If the Transfer Mode box is set to PIO Only, use the drop-down list to change that setting to DMA if available, save your changes, restart the system, and redisplay that dialog. If the Current Transfer Mode box for the drive now displays a DMA mode, the drive is now using DMA. If the box still displays PIO Mode, Windows has determined that it is unsafe to use DMA mode.
Regardless of operating system, it's a bad idea to configure a PIO-mode device to share an ATA channel with a DMA-capable device. That's because ATA doesn't allow mixing DMA mode and PIOmode on one channel. If one device runs PIO mode, both must do so, which cripples the DMA-capable device. In particular, it's a horrible idea to put a PIO-only CD-ROM drive on the same channel as an Ultra-DMA hard drive because that means the hard drive will run in PIO mode, which cuts throughput by half or more and dramatically increases CPU utilization. Put the PIO-only drive on its own channel, alone or with another PIO-only device, or replace the drive with a DMA-capable drive.

legal disclaimer

1) Our website is not responsible for the information contained by this article as well for any and all copyright infringements by authors and writers. E-articles is a free information resource. If you suspect this article for any copyright infringements, please read the Terms of service and contact us to investigate the problem.
2) The E-articles directory team is not responsible for inaccuracies, falsehoods, or any other types of misinformation this tutorial may contain and will not be liable for any loss or damage suffered by a user through the user's reliance on the information gained here. Please read the Terms of service

Useful tools and features

Translate this article to...    Send this article to you or to a friend

Link to this article from your page   
If you like this article (tutorial), please link to it from your web page using the information above. Linking to this page, this is the only way to help us improve our service, the same time providing your visitors with a way to improve their online experience.

related articles

1. MS DOS Alternatives
IBM and several other PC manufacturers all sold customized versions of Microsoft's MS-DOS, and that there was a competitor called DR-DOS. Gary Kildall, whom we left several pages ago spurning IBM's offer to create the operating system for the PC, went on to finish his 16-bit operating system, called CP/M-86. Kildall sued IBM and Microsoft for copying CP/M, and eventually reached a settlement whereby IBM agreed to offer CP/M-86 in addition to PC-DOS. And IBM did offer CP/M-86, for $240 a copy, versus $40 for PC-DOS. It d...

2. The Evolution of Microsoft Windows ~ Windows XP 64 bit Editions
The CPU story is not over, however. The need for processors capable of handling far more than 4GB of memory has led to development of two competing 64-bit architectures. Intel developed and promoted a 64-bit architecture called IA-64 or Itanium, intended primarily for database and network server computers. Advanced Micro Devices also produced a 64-bit architecture, called x64 or AMD-64. Intel is now manufacturing chips that use the x64 instruction set. x64 processors typically yield better performance than Itanium running 32-bi...

3. Managing Startup Programs under Windows XP
Besides ensuring that your computer has adequate memory, one of the next best ways to improve your subjective experience of Windows' speed is to make the logon process faster. The logon process can be greatly slowed by large numbers of programs that are launched automatically upon logon; the desktop and Start menu don't respond until all of the login programs have been activated. Keeping the list of startup programs short is a constant struggle, however. To hide the fact that many common programs are poorly written and ...

4. How to Configure Automatic Updates in Windows XP
Automatic Updates is a mechanism with an awkwardly plural-sounding name by which Microsoft or corporate network managers distribute critical security updates to Windows users. Fixes sent by this means are considered so important for adequate security in the hostile Internet environment that Microsoft prefers that you configure it to download and install the updates, and if necessary even restart your computer without your being aware of it. There are four levels of Automatic Updates protection to which you can subscribe:...

5. MS DOS Versus PC DOS
With modern PCs having a very high level of standardization and compatibility, today it is easy to see how Microsoft can market complete packaged operating systems that will install and work unmodified on practically any PC you can purchase or build. Without the standardization and compatibility we have come to depend on, different specific "flavors" of a given operating system would be required for specific different hardware. That is exactly how things were back in the early '80s when the IBM PC was introduced. Many o...

6. How to make your PC Available for Remote Desktop Connection
To use Remote Desktop to reach your computer from the Internet, both the computer and your Internet connection must always be up and running. In addition, you must be able to make connections from the outside world to your computer, so there are additional requirements: If you use dial-up Internet service, you'll need someone at home to establish the connection before you can connect to your computer. If you use cable or DSL Internet service, you must either have a static IP address ass...

7. How to Update DirectX ~ Advantages
Although most Windows applications place fairly low demands on the display system, putting up fairly static displays and updating them relatively infrequently, interactive games and video displays are very graphics intensive. Game players pay big bucks for fps, or frames per second, which is a measure of how fast the hardware and software can generate new images as the scene changes and objects move. Under about 30fps, the image flickers and motion is noticeably jerky. Beyond 30fps, faster updates aren't noticeable, and the e...

8. Using Simple File Sharing in Windows
Although most home users are typically happy letting anyone at any computer read or modify any file, business users need to restrict access to files with payroll, personnel, and proprietary information. Windows XP and its predecessors, Windows NT and Windows 2000, were primarily designed for business use, so they require usernames and passwords for identification, and have a security system that lets computer owners restrict access to sensitive files on a user-by-user and file-by-file basis on each computer. Unfortunate...

9. The Evolution of Microsoft Windows ~ The Windows 9x Family
By the mid-1990s, processor power had increased and memory prices had decreased dramatically since Windows' original release. The Internet had also sprung onto the world stage, from an academic tool to an instrument of global communication and commerce. (You may recall that Windows 3.1 did not even include support for the TCP/IP network protocol used on the Internetyou had to purchase it from a third-party vendor.) Users' expectations likewise had grown with computers' capabilities, and desktop publishing, graphics editing, and...