Programming and Drivers
Regardless of whether the joystick uses analog signals (from potentiometers) or digital signals (using microswitches or contacts), peripherals connected using the game port require calibration prior to use. Calibration usually requires moving the joystick around all of its axes to measure the maximum axis excursion values. The game port requires careful programming and well-timed software interrupt triggering to read an input.
Some advanced game port joysticks support more than 4 buttons (e.g. 6 or 8). As the game port only has direct support for 4 distinct buttons, special device drivers were written to read pins and input meant for the second joystick (i.e. by mapping button 5 through 8 to the signals to the axis pins meant for the second joystick), using some normally "unused" pins, or changing the joystick's circuits (and related software) to read a 4-bit state code from the four button inputs, thus giving up to 16 button combinations). High-end game port joysticks such as the Microsoft SideWinder rely on multiplexing a proprietary data stream through the 4 standard button inputs and sometimes through the "unused" pins, achieving full support for a rather high number of buttons (e.g. 16 or 20) while special features such as daisy-chaining multiple joysticks, force feedback or joystick programming become possible in some cases.
Read more about this topic: Game Port
Famous quotes containing the word programming:
“If there is a price to pay for the privilege of spending the early years of child rearing in the drivers seat, it is our reluctance, our inability, to tolerate being demoted to the backseat. Spurred by our success in programming our children during the preschool years, we may find it difficult to forgo in later states the level of control that once afforded us so much satisfaction.”
—Melinda M. Marshall (20th century)