Path: utzoo!utgpu!news-server.csri.toronto.edu!bonnie.concordia.ca!uunet!cs.utexas.edu!asuvax!noao!arizona!arizona.edu!cerritos.edu!orion.oac.uci.edu!ucivax!ucla-cs!elroy.jpl.nasa.gov!ames!haven!boingo.med.jhu.edu!aplcen!simpson From: simpson@aplcen.apl.jhu.edu (Simpson David Grant) Newsgroups: comp.sys.ibm.pc.misc Subject: Summary: Joysticks on the PC - Summary Keywords: Joystick Message-ID: <1991Feb8.050138.2590@aplcen.apl.jhu.edu> Date: 8 Feb 91 05:01:38 GMT Reply-To: simpson@aplcen (Simpson David Grant) Organization: Johns Hopkins University Lines: 30 My thanks to those who answered my recent question on how to program the game port for a joystick on my PC clone (Zeos 386). (Special thanks to Rolf Michelsen for particularly helpful information.) My problem was that the BIOS "Read Joystick" function on my 386 (BIOS interrupt 15h, function 84h) would correctly read the joystick "fire" buttons, but not the joystick positions. The joystick position information returned by this interrupt was just randomly changing "garbage". As Mr. Michelsen has pointed out, the problem is most likely due to my cloned joystick card not being recognized by the boot-up routine. The solution is to read the joystick information directly from the I/O ports (I/O port address 201h) with an assembly language routine via the IN and OUT instructions. The "fire" button status may be read directly from this port, but the position information must be calculated by using the timer chips available on the PC motherboard. A routine for doing this is available in the book "The IBM PC from the Inside Out" by Sargent and Shoemaker (Addison-Wesley, 1986 (revised editon), pp. 139 - 140). I am working on a TSR to intercept BIOS interrupt 15h and replace function 84h with this routine in order to allow joystick programs to work properly. I can post the assembly language source here when it's done (if it is a short program and there's sufficient interest), or I could e-mail individual copies to anyone interested. (Or I could put in on "Anonymous FPT", if someone can tell me just what exactly "Anomymous FPT" is.) Thanks again for everyone's help! David Simpson