Lines Matching +full:number +full:- +full:of +full:- +full:wires
3 .. _joystick-parport:
9 :Copyright: |copy| 1998-2000 Vojtech Pavlik <vojtech@ucw.cz>
10 :Copyright: |copy| 1998 Andree Borrmann <a.borrmann@tu-bs.de>
18 Any information in this file is provided as-is, without any guarantee that
27 originally designed for PCs and other computers Linux runs on. Because of
29 port, because of its ability to change single bits at will, and providing
36 Many console and 8-bit computer gamepads and joysticks are supported. The
37 following subsections discuss usage of each.
40 ------------
51 the output lines of the parallel port are shared, while one of 5 available
58 source on any of their pins. So, if you want a reliable source of power
59 for your pads, use either keyboard or joystick port, and make a pass-through
69 (pin 9) -----> Power
71 Unfortunately, there are pads that need a lot more of power, and parallel
73 case, you'll need to use diodes (as a prevention of destroying your parallel
74 port), and combine the currents of two or more data bits together::
77 (pin 9) ----|>|-------+------> Power
79 (pin 8) ----|>|-------+
81 (pin 7) ----|>|-------+
85 (pin 4) ----|>|-------+
87 Ground is quite easy. On PC's parallel port the ground is on any of the
88 pins from pin 18 to pin 25. So use any pin of these you like for the ground::
90 (pin 18) -----> Ground
93 serial transfer. These are connected to pins 2 and 3 of the parallel port,
96 (pin 2) -----> Clock
97 (pin 3) -----> Latch
102 (pin 10) -----> Pad 1 data
103 (pin 11) -----> Pad 2 data
104 (pin 12) -----> Pad 3 data
105 (pin 13) -----> Pad 4 data
106 (pin 15) -----> Pad 5 data
111 This is everything you need on the PC's side of the connection, now on to
113 are quite a lot of NES clones, and because Nintendo used proprietary
114 connectors for their machines, the cloners couldn't and used standard D-Cannon
116 A, Turbo B, Select and Start, and is connected through 5 wires, then it is
118 also use 5 wires, but have more buttons. They will work as well, of course::
122 +----> Power +-----------------------\
124 5 +---------+ 7 +-----------------------/
126 | o o o o | | | | | +-> Ground
127 4 +------------+ 1 | | | +------------> Data
128 | | | | | | +---------------> Latch
129 | | | +-> Ground | +------------------> Clock
130 | | +----> Clock +---------------------> Power
131 | +-------> Latch
132 +----------> Data
136 +---------> Clock +-----------------> Data
137 | +-------> Latch | +---> Ground
138 | | +-----> Data | |
144 | | | | +----> Clock
145 | +----> Power | +----------> Latch
146 +--------> Ground +----------------> Power
149 ---------------------
151 In the era of 8-bit machines, there was something like de-facto standard
152 for joystick ports. They were all digital, and all used D-Cannon 9 pin
153 connectors (db9). Because of that, a single joystick could be used without
160 +---------> Right
161 | +-------> Left
162 | | +-----> Down
163 | | | +---> Up
170 | +----> Button
171 +--------> Ground
179 +-----------> Power
180 +---------> Right | +---------> Right
181 | +-------> Left | | +-------> Left
182 | | +-----> Down | | | +-----> Down
183 | | | +---> Up | | | | +---> Up
190 | | +----> Button | | | +----> Button 1
191 | +------> Power | | +------> Button 2
192 +--------> Ground | +--------> Output 3
193 +----------> Ground
197 +-----------> Analog Y
198 +---------> Right | +---------> Right
199 | +-------> Left | | +-------> Left
200 | | +-----> Down | | | +-----> Down
201 | | | +---> Up | | | | +---> Up
208 | | +----> Button 1 | | | +----> Button
209 | +------> Button 2 | | +------> Power
210 +--------> Ground | +--------> Ground
211 +----------> Analog X
215 +-----------> Up +-----------> Button 3
216 | +---------> Fire | +---------> Right
217 | | | | +-------> Left
218 | | +-----> Ground | | | +-----> Down
219 | | | | | | | +---> Up
226 | | | +----> Right | | | +----> Button 1
227 | | +------> Left | | +------> Power
228 | +--------> Ground | +--------> Ground
229 +----------> Down +----------> Button 2
240 For the basic 1-button Multisystem joystick you connect its wires to the
243 (pin 1) -----> Power
244 (pin 18) -----> Ground
246 (pin 2) -----> Up
247 (pin 3) -----> Down
248 (pin 4) -----> Left
249 (pin 5) -----> Right
250 (pin 6) -----> Button 1
254 resistors on each of the direction and button signals, like this::
256 (pin 2) ------------+------> Up
258 (pin 1) --[10kOhm]--+
266 (pin 7) -----> Button 2
279 possible using the gamecon.c. It supports up to 5 devices of the above types,
283 once, you need the sticks to be purely switch based (that is non-TTL), and
288 Also, the connection is a bit more complex. You'll need a bunch of diodes,
293 (pin 2) -----|<|----> Up
294 (pin 3) -----|<|----> Down
295 (pin 4) -----|<|----> Left
296 (pin 5) -----|<|----> Right
297 (pin 6) -----|<|----> Button 1
301 (pin 7) -----|<|----> Button 2
303 And finally, you connect the Ground wire of the joystick, like done in
305 for the NES / SNES pads in section 2.1 of this file - that is, one data pin
308 Data ------------+-----> Ground
310 Power --[10kOhm]--+
319 Steffen Schwenke <schwenke@burg-halle.de>
327 http://www2.burg-halle.de/~schwenke/parport.html
330 ----------------
332 The PSX controller is supported by the gamecon.c. Pinout of the PSX
335 +---------+---------+---------+
339 | | | | | +--------> Clock --- (4)
340 | | | | +------------> Select --- (3)
341 | | | +---------------> Power --- (5-9)
342 | | +------------------> Ground --- (18-25)
343 | +-------------------------> Command --- (2)
344 +----------------------------> Data --- (one of 10,11,12,13,15)
356 ----
358 All the Sega controllers are more or less based on the standard 2-button
365 The SMS gamepads are almost exactly the same as normal 2-button
369 +-----------> Power
370 | +---------> Right
371 | | +-------> Left
372 | | | +-----> Down
373 | | | | +---> Up
380 | | +----> Button 1
381 | +--------> Ground
382 +----------> Button 2
391 +-----------> Power
392 | +---------> Right
393 | | +-------> Left
394 | | | +-----> Down
395 | | | | +---> Up
402 | | | +----> Button 1
403 | | +------> Select
404 | +--------> Ground
405 +----------> Button 2
409 (pin 14) -----> Select
421 +-----------> Select 1
422 | +---------> Power
423 | | +-------> Up
424 | | | +-----> Down
425 | | | | +---> Ground
432 | | | +----> Select 2
433 | | +------> Right
434 | +--------> Left
435 +----------> Power
440 (pin 14) -----> Select 1
441 (pin 16) -----> Select 2
447 ----------
451 +-----------> Button 3
452 | +---------> Right
453 | | +-------> Left
454 | | | +-----> Down
455 | | | | +---> Up
462 | | | +----> Button 1
463 | | +------> Power
464 | +--------> Ground
465 +----------> Button 2
487 described above, allows to connect a different group of joysticks and pads.
491 ---------
498 Where ``port`` the number of the parport interface (eg. 0 for parport0).
501 (10,11,12,13,15), as described in section 2.1 of this file.
511 4 Multisystem 1-button joystick
512 5 Multisystem 2-button joystick
519 The exact type of the PSX controller type is autoprobed when used, so
522 Should you want to use more than one of parallel ports at once, you can use
527 the command delay when talking to the controllers. The default of 25 should
531 registered as key presses instead of X and Y axes.
534 -----
541 Where ``port`` is the number of the parport interface (eg. 0 for parport0).
547 ``Type`` is the type of joystick or pad attached:
553 1 Multisystem 1-button joystick
554 2 Multisystem 2-button joystick
559 8 Multisystem 1-button joystick (v0.8.0.2 pin-out)
560 9 Two Multisystem 1-button joysticks (v0.8.0.2 pin-out)
564 Should you want to use more than one of these joysticks/pads at once, you
569 ------------
575 Where ``port`` is the number of the parport interface (eg. 0 for parport0).
577 ``jsX`` is the number of buttons the Multisystem joysticks connected to the
578 interface ports 1-7 have. For a standard multisystem joystick, this is 1.
580 Should you want to use more than one of these interfaces at once, you can
589 .----------------------------------------.
598 2-9 D0-D7 Data Bit 0-7
607 18-25 GND Signal Ground