Digital Joystick Works Intermittently or Not at All on Windows 2000-Based Computer (227511)



The information in this article applies to:

  • Microsoft Windows 2000 Server
  • Microsoft Windows 2000 Advanced Server
  • Microsoft Windows 2000 Professional

This article was previously published under Q227511

SYMPTOMS

When you try to use a digital joystick on a computer that is running Windows 2000, you may find that the digital joystick works inconsistently or does not work at all.

CAUSE

This behavior can occur because Windows 2000 16-bit direct memory access (DMA) is in use for audio playback and only 8-bit is left for the digital joystick to use. Eventually the program that uses the digital joystick loses contact.

This can happen when you are playing audio files that are monaural, 8-bit, or of lower sample rates. However, since this behavior is dependent on network or CPU usage, it is most likely to occur when processing is at the highest rates.

STATUS

Microsoft has confirmed this to be a problem in Microsoft Windows 2000.

MORE INFORMATION

During DMA operations, the digital joystick waits for the audio to finish. The driver that reads the joystick essentially processes the gameport at high level, turning off possible interrupts on the operating system and waiting for the transitions between the two devices to occur. On some systems, the processor is locked out of ability to read the gameport during each audio DMA transfer.

If the processor works over its capacity, sometimes a retry occurs and some data may be lost. Since analog devices rely on timing to figure out the joystick's signals, these small interruptions seldom cause a noticeable issue. However, when an interrupt occurs with a digital joystick, the signals from the joystick become corrupted and must be sent again for the driver to identify them. If enough interrupts occur, the operating system identifies the digital joystick as not connected.

With FDMA (faster DMA) enabled, there are fewer interrupts and the digital joystick stays connected. However, Windows 2000 enables FDMA only for devices with Advanced Configuration and Power Interface (ACPI) basic input/output (BIOS). Computers without a new ACPI BIOS have trouble attaining maximum compatibility between digital joysticks and audio.


Modification Type:MajorLast Reviewed:11/19/2003
Keywords:kbbug kbpending kbsound KB227511