]> git.karo-electronics.de Git - karo-tx-linux.git/blob - Documentation/input/devices/amijoy.rst
Input: docs - split input docs into kernel- and user-facing
[karo-tx-linux.git] / Documentation / input / devices / amijoy.rst
1 ~~~~~~~~~~~~~~~~~~~~~~~~~
2 Amiga joystick extensions
3 ~~~~~~~~~~~~~~~~~~~~~~~~~
4
5
6 Amiga 4-joystick parport extension
7 ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
8
9 Parallel port pins:
10
11
12 =====  ======== ====   ==========
13 Pin    Meaning  Pin    Meaning
14 =====  ======== ====   ==========
15  2     Up1       6     Up2
16  3     Down1     7     Down2
17  4     Left1     8     Left2
18  5     Right1    9     Right2
19 13     Fire1    11     Fire2
20 18     Gnd1     18     Gnd2
21 =====  ======== ====   ==========
22
23 Amiga digital joystick pinout
24 ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
25
26 === ============
27 Pin Meaning
28 === ============
29 1   Up
30 2   Down
31 3   Left
32 4   Right
33 5   n/c
34 6   Fire button
35 7   +5V (50mA)
36 8   Gnd
37 9   Thumb button
38 === ============
39
40 Amiga mouse pinout
41 ~~~~~~~~~~~~~~~~~~
42
43 === ============
44 Pin Meaning
45 === ============
46 1   V-pulse
47 2   H-pulse
48 3   VQ-pulse
49 4   HQ-pulse
50 5   Middle button
51 6   Left button
52 7   +5V (50mA)
53 8   Gnd
54 9   Right button
55 === ============
56
57 Amiga analog joystick pinout
58 ~~~~~~~~~~~~~~~~~~~~~~~~~~~~
59
60 === ==============
61 Pin Meaning
62 === ==============
63 1   Top button
64 2   Top2 button
65 3   Trigger button
66 4   Thumb button
67 5   Analog X
68 6   n/c
69 7   +5V (50mA)
70 8   Gnd
71 9   Analog Y
72 === ==============
73
74 Amiga lightpen pinout
75 ~~~~~~~~~~~~~~~~~~~~~
76
77 === =============
78 Pin Meaning
79 === =============
80 1   n/c
81 2   n/c
82 3   n/c
83 4   n/c
84 5   Touch button
85 6   /Beamtrigger
86 7   +5V (50mA)
87 8   Gnd
88 9   Stylus button
89 === =============
90
91 -------------------------------------------------------------------------------
92
93 ======== === ==== ==== ====== ========================================
94 NAME     rev ADDR type chip   Description
95 ======== === ==== ==== ====== ========================================
96 JOY0DAT      00A   R   Denise Joystick-mouse 0 data (left vert, horiz)
97 JOY1DAT      00C   R   Denise Joystick-mouse 1 data (right vert,horiz)
98 ======== === ==== ==== ====== ========================================
99
100         These addresses each read a 16 bit register. These in turn
101         are loaded from the MDAT serial stream and are clocked in on
102         the rising edge of SCLK. MLD output is used to parallel load
103         the external parallel-to-serial converter.This in turn is
104         loaded with the 4 quadrature inputs from each of two game
105         controller ports (8 total) plus 8 miscellaneous control bits
106         which are new for LISA and can be read in upper 8 bits of
107         LISAID.
108
109         Register bits are as follows:
110
111         - Mouse counter usage (pins  1,3 =Yclock, pins 2,4 =Xclock)
112
113 ======== === === === === === === === === ====== === === === === === === ===
114     BIT#  15  14  13  12  11  10  09  08     07  06  05  04  03  02  01  00
115 ======== === === === === === === === === ====== === === === === === === ===
116 JOY0DAT   Y7  Y6  Y5  Y4  Y3  Y2  Y1  Y0     X7  X6  X5  X4  X3  X2  X1  X0
117 JOY1DAT   Y7  Y6  Y5  Y4  Y3  Y2  Y1  Y0     X7  X6  X5  X4  X3  X2  X1  X0
118 ======== === === === === === === === === ====== === === === === === === ===
119
120         0=LEFT CONTROLLER PAIR, 1=RIGHT CONTROLLER PAIR.
121         (4 counters total). The bit usage for both left and right
122         addresses is shown below. Each 6 bit counter (Y7-Y2,X7-X2) is
123         clocked by 2 of the signals input from the mouse serial
124         stream. Starting with first bit received:
125
126          +-------------------+-----------------------------------------+
127          | Serial | Bit Name | Description                             |
128          +========+==========+=========================================+
129          |   0    | M0H      | JOY0DAT Horizontal Clock                |
130          +--------+----------+-----------------------------------------+
131          |   1    | M0HQ     | JOY0DAT Horizontal Clock (quadrature)   |
132          +--------+----------+-----------------------------------------+
133          |   2    | M0V      | JOY0DAT Vertical Clock                  |
134          +--------+----------+-----------------------------------------+
135          |   3    | M0VQ     | JOY0DAT Vertical Clock  (quadrature)    |
136          +--------+----------+-----------------------------------------+
137          |   4    | M1V      | JOY1DAT Horizontal Clock                |
138          +--------+----------+-----------------------------------------+
139          |   5    | M1VQ     | JOY1DAT Horizontal Clock (quadrature)   |
140          +--------+----------+-----------------------------------------+
141          |   6    | M1V      | JOY1DAT Vertical Clock                  |
142          +--------+----------+-----------------------------------------+
143          |   7    | M1VQ     | JOY1DAT Vertical Clock (quadrature)     |
144          +--------+----------+-----------------------------------------+
145
146          Bits 1 and 0 of each counter (Y1-Y0,X1-X0) may be
147          read to determine the state of the related input signal pair.
148          This allows these pins to double as joystick switch inputs.
149          Joystick switch closures can be deciphered as follows:
150
151          +------------+------+---------------------------------+
152          | Directions | Pin# | Counter bits                    |
153          +============+======+=================================+
154          | Forward    |  1   | Y1 xor Y0 (BIT#09 xor BIT#08)   |
155          +------------+------+---------------------------------+
156          | Left       |  3   | Y1                              |
157          +------------+------+---------------------------------+
158          | Back       |  2   | X1 xor X0 (BIT#01 xor BIT#00)   |
159          +------------+------+---------------------------------+
160          | Right      |  4   | X1                              |
161          +------------+------+---------------------------------+
162
163 -------------------------------------------------------------------------------
164
165 ========  === ==== ==== ====== =================================================
166 NAME      rev ADDR type chip    Description
167 ========  === ==== ==== ====== =================================================
168 JOYTEST       036   W   Denise  Write to all 4  joystick-mouse counters at once.
169 ========  === ==== ==== ====== =================================================
170
171                   Mouse counter write test data:
172
173 ========= === === === === === === === === ====== === === === === === === ===
174      BIT#  15  14  13  12  11  10  09  08     07  06  05  04  03  02  01  00
175 ========= === === === === === === === === ====== === === === === === === ===
176   JOYxDAT  Y7  Y6  Y5  Y4  Y3  Y2  xx  xx     X7  X6  X5  X4  X3  X2  xx  xx
177   JOYxDAT  Y7  Y6  Y5  Y4  Y3  Y2  xx  xx     X7  X6  X5  X4  X3  X2  xx  xx
178 ========= === === === === === === === === ====== === === === === === === ===
179
180 -------------------------------------------------------------------------------
181
182 ======= === ==== ==== ====== ========================================
183 NAME    rev ADDR type chip   Description
184 ======= === ==== ==== ====== ========================================
185 POT0DAT  h  012   R   Paula  Pot counter data left pair (vert, horiz)
186 POT1DAT  h  014   R   Paula  Pot counter data right pair (vert,horiz)
187 ======= === ==== ==== ====== ========================================
188
189         These addresses each read a pair of 8 bit pot counters.
190         (4 counters total). The bit assignment for both
191         addresses is shown below. The counters are stopped by signals
192         from 2 controller connectors (left-right) with 2 pins each.
193
194 ====== === === === === === === === === ====== === === === === === === ===
195   BIT#  15  14  13  12  11  10  09  08     07  06  05  04  03  02  01  00
196 ====== === === === === === === === === ====== === === === === === === ===
197  RIGHT  Y7  Y6  Y5  Y4  Y3  Y2  Y1  Y0     X7  X6  X5  X4  X3  X2  X1  X0
198   LEFT  Y7  Y6  Y5  Y4  Y3  Y2  Y1  Y0     X7  X6  X5  X4  X3  X2  X1  X0
199 ====== === === === === === === === === ====== === === === === === === ===
200
201          +--------------------------+-------+
202          | CONNECTORS               | PAULA |
203          +-------+------+-----+-----+-------+
204          | Loc.  | Dir. | Sym | pin | pin   |
205          +=======+======+=====+=====+=======+
206          | RIGHT | Y    | RX  | 9   | 33    |
207          +-------+------+-----+-----+-------+
208          | RIGHT | X    | RX  | 5   | 32    |
209          +-------+------+-----+-----+-------+
210          | LEFT  | Y    | LY  | 9   | 36    |
211          +-------+------+-----+-----+-------+
212          | LEFT  | X    | LX  | 5   | 35    |
213          +-------+------+-----+-----+-------+
214
215          With normal (NTSC or PAL) horiz. line rate, the pots will
216          give a full scale (FF) reading with about 500kohms in one
217          frame time. With proportionally faster horiz line times,
218          the counters will count proportionally faster.
219          This should be noted when doing variable beam displays.
220
221 -------------------------------------------------------------------------------
222
223 ====== === ==== ==== ====== ================================================
224 NAME   rev ADDR type chip   Description
225 ====== === ==== ==== ====== ================================================
226 POTGO      034   W   Paula  Pot port (4 bit) bi-direction and data, and pot
227                             counter start.
228 ====== === ==== ==== ====== ================================================
229
230 -------------------------------------------------------------------------------
231
232 ====== === ==== ==== ====== ================================================
233 NAME   rev ADDR type chip   Description
234 ====== === ==== ==== ====== ================================================
235 POTINP     016   R   Paula  Pot pin data read
236 ====== === ==== ==== ====== ================================================
237
238         This register controls a 4 bit bi-direction I/O port
239         that shares the same 4 pins as the 4 pot counters above.
240
241          +-------+----------+---------------------------------------------+
242          | BIT#  | FUNCTION | DESCRIPTION                                 |
243          +=======+==========+=============================================+
244          | 15    | OUTRY    | Output enable for Paula pin 33              |
245          +-------+----------+---------------------------------------------+
246          | 14    | DATRY    | I/O data Paula pin 33                       |
247          +-------+----------+---------------------------------------------+
248          | 13    | OUTRX    | Output enable for Paula pin 32              |
249          +-------+----------+---------------------------------------------+
250          | 12    | DATRX    | I/O data Paula pin 32                       |
251          +-------+----------+---------------------------------------------+
252          | 11    | OUTLY    | Out put enable for Paula pin 36             |
253          +-------+----------+---------------------------------------------+
254          | 10    | DATLY    | I/O data Paula pin 36                       |
255          +-------+----------+---------------------------------------------+
256          | 09    | OUTLX    | Output enable for Paula pin 35              |
257          +-------+----------+---------------------------------------------+
258          | 08    | DATLX    | I/O data  Paula pin 35                      |
259          +-------+----------+---------------------------------------------+
260          | 07-01 |   X      | Not used                                    |
261          +-------+----------+---------------------------------------------+
262          | 00    | START    | Start pots (dump capacitors,start counters) |
263          +-------+----------+---------------------------------------------+