1
Amiga 4-joystick parport extension
2
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
6
(3) - Down1 (7) - Down2
7
(4) - Left1 (8) - Left2
8
(5) - Right1 (9) - Right2
9
(13) - Fire1 (11) - Fire2
10
(18) - Gnd1 (18) - Gnd2
12
Amiga digital joystick pinout
13
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
36
Amiga analog joystick pinout
37
~~~~~~~~~~~~~~~~~~~~~~~~~~~~
60
-------------------------------------------------------------------------------
62
NAME rev ADDR type chip Description
63
JOY0DAT 00A R Denise Joystick-mouse 0 data (left vert, horiz)
64
JOY1DAT 00C R Denise Joystick-mouse 1 data (right vert,horiz)
66
These addresses each read a 16 bit register. These in turn
67
are loaded from the MDAT serial stream and are clocked in on
68
the rising edge of SCLK. MLD output is used to parallel load
69
the external parallel-to-serial converter.This in turn is
70
loaded with the 4 quadrature inputs from each of two game
71
controller ports (8 total) plus 8 miscellaneous control bits
72
which are new for LISA and can be read in upper 8 bits of
74
Register bits are as follows:
75
Mouse counter usage (pins 1,3 =Yclock, pins 2,4 =Xclock)
77
BIT# 15 14 13 12 11 10 09 08 07 06 05 04 03 02 01 00
78
JOY0DAT Y7 Y6 Y5 Y4 Y3 Y2 Y1 Y0 X7 X6 X5 X4 X3 X2 X1 X0
79
JOY1DAT Y7 Y6 Y5 Y4 Y3 Y2 Y1 Y0 X7 X6 X5 X4 X3 X2 X1 X0
81
0=LEFT CONTROLLER PAIR, 1=RIGHT CONTROLLER PAIR.
82
(4 counters total).The bit usage for both left and right
83
addresses is shown below. Each 6 bit counter (Y7-Y2,X7-X2) is
84
clocked by 2 of the signals input from the mouse serial
85
stream. Starting with first bit recived:
87
+-------------------+-----------------------------------------+
88
| Serial | Bit Name | Description |
89
+--------+----------+-----------------------------------------+
90
| 0 | M0H | JOY0DAT Horizontal Clock |
91
| 1 | M0HQ | JOY0DAT Horizontal Clock (quadrature) |
92
| 2 | M0V | JOY0DAT Vertical Clock |
93
| 3 | M0VQ | JOY0DAT Vertical Clock (quadrature) |
94
| 4 | M1V | JOY1DAT Horizontall Clock |
95
| 5 | M1VQ | JOY1DAT Horizontall Clock (quadrature) |
96
| 6 | M1V | JOY1DAT Vertical Clock |
97
| 7 | M1VQ | JOY1DAT Vertical Clock (quadrature) |
98
+--------+----------+-----------------------------------------+
100
Bits 1 and 0 of each counter (Y1-Y0,X1-X0) may be
101
read to determine the state of the related input signal pair.
102
This allows these pins to double as joystick switch inputs.
103
Joystick switch closures can be deciphered as follows:
105
+------------+------+---------------------------------+
106
| Directions | Pin# | Counter bits |
107
+------------+------+---------------------------------+
108
| Forward | 1 | Y1 xor Y0 (BIT#09 xor BIT#08) |
110
| Back | 2 | X1 xor X0 (BIT#01 xor BIT#00) |
112
+------------+------+---------------------------------+
114
-------------------------------------------------------------------------------
116
NAME rev ADDR type chip Description
117
JOYTEST 036 W Denise Write to all 4 joystick-mouse counters at once.
119
Mouse counter write test data:
120
BIT# 15 14 13 12 11 10 09 08 07 06 05 04 03 02 01 00
121
JOYxDAT Y7 Y6 Y5 Y4 Y3 Y2 xx xx X7 X6 X5 X4 X3 X2 xx xx
122
JOYxDAT Y7 Y6 Y5 Y4 Y3 Y2 xx xx X7 X6 X5 X4 X3 X2 xx xx
124
-------------------------------------------------------------------------------
126
NAME rev ADDR type chip Description
127
POT0DAT h 012 R Paula Pot counter data left pair (vert, horiz)
128
POT1DAT h 014 R Paula Pot counter data right pair (vert,horiz)
130
These addresses each read a pair of 8 bit pot counters.
131
(4 counters total). The bit assignment for both
132
addresses is shown below. The counters are stopped by signals
133
from 2 controller connectors (left-right) with 2 pins each.
135
BIT# 15 14 13 12 11 10 09 08 07 06 05 04 03 02 01 00
136
RIGHT Y7 Y6 Y5 Y4 Y3 Y2 Y1 Y0 X7 X6 X5 X4 X3 X2 X1 X0
137
LEFT Y7 Y6 Y5 Y4 Y3 Y2 Y1 Y0 X7 X6 X5 X4 X3 X2 X1 X0
139
+--------------------------+-------+
140
| CONNECTORS | PAULA |
141
+-------+------+-----+-----+-------+
142
| Loc. | Dir. | Sym | pin | pin |
143
+-------+------+-----+-----+-------+
144
| RIGHT | Y | RX | 9 | 33 |
145
| RIGHT | X | RX | 5 | 32 |
146
| LEFT | Y | LY | 9 | 36 |
147
| LEFT | X | LX | 5 | 35 |
148
+-------+------+-----+-----+-------+
150
With normal (NTSC or PAL) horiz. line rate, the pots will
151
give a full scale (FF) reading with about 500kohms in one
152
frame time. With proportionally faster horiz line times,
153
the counters will count proportionally faster.
154
This should be noted when doing variable beam displays.
156
-------------------------------------------------------------------------------
158
NAME rev ADDR type chip Description
159
POTGO 034 W Paula Pot port (4 bit) bi-direction and data, and pot counter start.
161
-------------------------------------------------------------------------------
163
NAME rev ADDR type chip Description
164
POTINP 016 R Paula Pot pin data read
166
This register controls a 4 bit bi-direction I/O port
167
that shares the same 4 pins as the 4 pot counters above.
169
+-------+----------+---------------------------------------------+
170
| BIT# | FUNCTION | DESCRIPTION |
171
+-------+----------+---------------------------------------------+
172
| 15 | OUTRY | Output enable for Paula pin 33 |
173
| 14 | DATRY | I/O data Paula pin 33 |
174
| 13 | OUTRX | Output enable for Paula pin 32 |
175
| 12 | DATRX | I/O data Paula pin 32 |
176
| 11 | OUTLY | Out put enable for Paula pin 36 |
177
| 10 | DATLY | I/O data Paula pin 36 |
178
| 09 | OUTLX | Output enable for Paula pin 35 |
179
| 08 | DATLX | I/O data Paula pin 35 |
180
| 07-01 | X | Not used |
181
| 00 | START | Start pots (dump capacitors,start counters) |
182
+-------+----------+---------------------------------------------+
184
-------------------------------------------------------------------------------