The Benefits of Dedicated Hardware Acceleration for Audio Monster Sound and Input Devices ------------------------------------------------------------------------ This document attempts to clear up some of the confusion surrounding the Monster Sound digital joystick issue. In order to do this we need to look at the characteristics of the two fundamental components in question, the input device (joystick, game pad, etc...), and the Monster Sound gameport. Input Devices Input devices (including joysticks, game pads, flight yokes, etc...) designed to use the PC gameport typically come in one of two flavors: analog or digital. Currently most input devices for the PC are analog only. Recently some digital only devices, such as the SideWinder gamepad, have been introduced to the market. Additionally some hybrid devices, such as the SideWinder 3D Pro joystick, support both analog and digital modes. Analog Devices Analog input devices incorporate capacitor/potentiometer circuits to indicate the x/y/z position information. As the joystick is moved, the charge/discharge characteristics of the analog lines change. When attached to an unaccelerated gameport, the DOS application or Windows driver must constantly poll the gameport watching for transitions in the state of the analog lines in order to interpret the joystick position. This polling uses precious CPU cycles. Digital Devices Digital input devices typically incorporate microprocessors and/or other circuitry that interpret the joystick position digitally. In order to work over the PC gameport, manufactures of these devices have devised proprietary schemes for transmitting the digital information over the gameport lines. For this reason, direct support for the device must be built into the DOS application or Windows driver. Often the input device driver will communicate directly with the gameport hardware, thus bypassing or replacing the Monster Sound gameport driver, as well as other Windows only sound card drivers.. This need for direct access is largely due to the performance requirements imposed by the proprietary digital protocol, and the need to communicate with the port in ways not supported by DirectInput and the standard polled gameport driver. The perceived advantage of digital devices over analog is their improved resolution (accuracy) and the capacity to support more features (more buttons, sliders, axis, etc...). Depending on the characteristics of the proprietary digital protocol, communication with the device MAY be more efficient (use less CPU) than polled analog devices. Monster Sound GamePort The Monster Sound gameport operates in one of two modes: accelerated or compatibility. Accelerated Mode In accelerated mode, the Monster Sound hardware performs the polling operation. This alleviates the need for the application/driver to poll the gameport, thus reducing CPU overhead. In Windows, the Monster Sound gameport driver reports back the positional information via the Direct Input API. The Monster Sound gameport operates in accelerated mode when an analog device is attached. The gameport driver works in concert with Direct Input to relay accelerated position/state information to the application in a hardware independent fashion via the Direct Input API. Compatibility Mode In compatibility mode, the Monster Sound gameport operates like a standard legacy gameport. In this mode an application or driver must poll the Monster Sound gameport much as it would a standard gameport. The Monster Sound gameport is switched to compatibility mode when a digital device is attached. This is because the driver for the input device typically wants to access the gameport directly, thus bypassing the Monster Sound gameport driver. In compatibility mode the Monster Sound gameport must respond and look like a legacy gameport, which it does. The problem is, because Monster Sound, as well as most other new audio cards, are PCI devices the gameport does not appear at the ISA legacy gameport address of 0x201. Unfortunately most digital input drivers look for the game port at this hard-coded address. There are two solutions to this problem. The first and more short term solution is to modify the input device driver to query for, and subsequently use, the Monster Sound gameport. The second and longer term solution is to add the necessary support in the operating system (DirectInput) so the input device driver can communicate with the gameport in a more hardware independent manner. The short term fix has been implemented for almost all new digital devices (see section on resolution) and Microsoft has publicly committed to helping resolve this issue in their next OS (Windows 98) scheduled to release early in 1998. Conclusion When an analog input device is attached to the Monster Sound, the gameport and driver operate in accelerated mode. Most, if not all, analog devices should be compatible with Monster Sound in this scenario, and should reap the benefits of Monster Sounds gameport acceleration. Likewise, hybrid devices will typically fall back to analog mode and also work compatibly with Monster Sound's accelerated gameport. Pure digital devices require either a workaround in the input device driver to work with Monster Sound's gameport, or must support the Direct Input modifications planned for future releases of Windows. -------------------------------------------------- Diamond Home Page |List of White Papers Monster Sound Driver Page