From: olson@mydual.uucp (Kirtland H. Olson)
Subject: CORRECTED Joystick Diagram and More Data
Keywords: CORRECTION JOYSTICK VALUES PINOUT
Reply-To: olson%mydual.uucp@alliant.com
Organization: The Harvard Group, 01451-0667
Date: Fri, 18 Dec 1992 01:31:43 GMT

In article <1992Dec16.153527.7309@mydual.uucp> olson%mydual.uucp@alliant.com writes:

>In article <724450360.15021@minster.york.ac.uk> wgt-a@minster.york.ac.uk writes:
>>Help! Does anyone know what value variable-resistors
>>are required for the joysick port on an IBM PC?
>
>100K
>
>>And, as an aside, can anyone give a good reason why
>>they used open ended resistors, necessitating (SP?)
>>particular value resistors, when a potentiometer
>>setup (as in the good ol' BBC) would have
>>been MUCH more sensible?
>
>Because it's the timing resistor of a circuit whose pulse width can be
>counted.  
>
>Here are the details of the joystick connection.
>
>You can attach two joysticks to the controller.  Each joystick follows
>this wiring diagram:
>
>                   +------------------ 1,9 +5VDC
>                   |                   
>                   +---/\/\/\-- 0-100K
>                   |     ^
>                   |     |    X-coord
>                   |     +------------ 3,11 Timer
>                   |                   
>                   +---/\/\/\-- 0-100K
>                           ^
>                           |  Y-coord
>                           +---------- 6,13 Timer
>
>                   +------------------ 2,10 To 1k Pullups
>                 | o  #1 Button
>                 | o
>                   +------------------ 4,12 GND
>
>                   +------------------ 7,14 To 1k Pullups
>                 | o  #2 Button
>                 | o
>                   +------------------ 4,12 GND
>
>Pins 1-7 Are for Joystick A, pins 9-14 are for joystick B.  You can also
>use paddles, having only one 0-100K pot and one button per controller. 
>The data show up in the same place but are named differently.  Here's a
>chart of the the byte at 201H:
>
>Bit     |  7  |  6  |  5  |  4  |  3  |  2  |  1  |  0  |
>Joystick|B-#2 |B-#1 |A-#2 |A-#1 | B-Y | B-X | A-Y | A-X |
>Paddle  |  D  |  C  |  B  |  A  |  D  |  C  |  B  |  A  |
>Pin     | 14  | 10  |  7  |  2  | 13  | 11  |  6  |  3  |
>Device  |<-------Buttons------->|<------Resistors------>|
>


Well, it confused me--so I got it wrong.  The buttons *do not* go to
one-shots.  On the card, each button connects through 1000 Ohms to      
+5VDC, through 51pF to ground, and to one input of the 74LS244 bus driver.  

Here's what the tech reference says:

The four digital inputs each have a 1-kilohm pullup resistor to +5 Vdc. 
With no drives on these inputs, a 1 is read.  For a 0 reading, the
inputs must be pulled to ground.

The trigger button inputs are read by an In from address hex 201.

Now as to the real position of the one-shots, they are on the resistor
inputs to convert resistance to delay time.  

My thanks to geir.pedersen@usit.uio.no for questioning the prior post
and makiing me realize my error.  My apologies to the rest of you.

-- 
Kirtland H. Olson                     olson%mydual.uucp@alliant.com
Newsgroups: comp.sys.ibm.pc.hardware