0001 ~~~~~~~~~~~~~~~~~~~~~~~~~
0002 Amiga joystick extensions
0003 ~~~~~~~~~~~~~~~~~~~~~~~~~
0004
0005
0006 Amiga 4-joystick parport extension
0007 ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
0008
0009 Parallel port pins:
0010
0011
0012 ===== ======== ==== ==========
0013 Pin Meaning Pin Meaning
0014 ===== ======== ==== ==========
0015 2 Up1 6 Up2
0016 3 Down1 7 Down2
0017 4 Left1 8 Left2
0018 5 Right1 9 Right2
0019 13 Fire1 11 Fire2
0020 18 Gnd1 18 Gnd2
0021 ===== ======== ==== ==========
0022
0023 Amiga digital joystick pinout
0024 ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
0025
0026 === ============
0027 Pin Meaning
0028 === ============
0029 1 Up
0030 2 Down
0031 3 Left
0032 4 Right
0033 5 n/c
0034 6 Fire button
0035 7 +5V (50mA)
0036 8 Gnd
0037 9 Thumb button
0038 === ============
0039
0040 Amiga mouse pinout
0041 ~~~~~~~~~~~~~~~~~~
0042
0043 === ============
0044 Pin Meaning
0045 === ============
0046 1 V-pulse
0047 2 H-pulse
0048 3 VQ-pulse
0049 4 HQ-pulse
0050 5 Middle button
0051 6 Left button
0052 7 +5V (50mA)
0053 8 Gnd
0054 9 Right button
0055 === ============
0056
0057 Amiga analog joystick pinout
0058 ~~~~~~~~~~~~~~~~~~~~~~~~~~~~
0059
0060 === ==============
0061 Pin Meaning
0062 === ==============
0063 1 Top button
0064 2 Top2 button
0065 3 Trigger button
0066 4 Thumb button
0067 5 Analog X
0068 6 n/c
0069 7 +5V (50mA)
0070 8 Gnd
0071 9 Analog Y
0072 === ==============
0073
0074 Amiga lightpen pinout
0075 ~~~~~~~~~~~~~~~~~~~~~
0076
0077 === =============
0078 Pin Meaning
0079 === =============
0080 1 n/c
0081 2 n/c
0082 3 n/c
0083 4 n/c
0084 5 Touch button
0085 6 /Beamtrigger
0086 7 +5V (50mA)
0087 8 Gnd
0088 9 Stylus button
0089 === =============
0090
0091 -------------------------------------------------------------------------------
0092
0093 ======== === ==== ==== ====== ========================================
0094 NAME rev ADDR type chip Description
0095 ======== === ==== ==== ====== ========================================
0096 JOY0DAT 00A R Denise Joystick-mouse 0 data (left vert, horiz)
0097 JOY1DAT 00C R Denise Joystick-mouse 1 data (right vert,horiz)
0098 ======== === ==== ==== ====== ========================================
0099
0100 These addresses each read a 16 bit register. These in turn
0101 are loaded from the MDAT serial stream and are clocked in on
0102 the rising edge of SCLK. MLD output is used to parallel load
0103 the external parallel-to-serial converter.This in turn is
0104 loaded with the 4 quadrature inputs from each of two game
0105 controller ports (8 total) plus 8 miscellaneous control bits
0106 which are new for LISA and can be read in upper 8 bits of
0107 LISAID.
0108
0109 Register bits are as follows:
0110
0111 - Mouse counter usage (pins 1,3 =Yclock, pins 2,4 =Xclock)
0112
0113 ======== === === === === === === === === ====== === === === === === === ===
0114 BIT# 15 14 13 12 11 10 09 08 07 06 05 04 03 02 01 00
0115 ======== === === === === === === === === ====== === === === === === === ===
0116 JOY0DAT Y7 Y6 Y5 Y4 Y3 Y2 Y1 Y0 X7 X6 X5 X4 X3 X2 X1 X0
0117 JOY1DAT Y7 Y6 Y5 Y4 Y3 Y2 Y1 Y0 X7 X6 X5 X4 X3 X2 X1 X0
0118 ======== === === === === === === === === ====== === === === === === === ===
0119
0120 0=LEFT CONTROLLER PAIR, 1=RIGHT CONTROLLER PAIR.
0121 (4 counters total). The bit usage for both left and right
0122 addresses is shown below. Each 6 bit counter (Y7-Y2,X7-X2) is
0123 clocked by 2 of the signals input from the mouse serial
0124 stream. Starting with first bit received:
0125
0126 +-------------------+-----------------------------------------+
0127 | Serial | Bit Name | Description |
0128 +========+==========+=========================================+
0129 | 0 | M0H | JOY0DAT Horizontal Clock |
0130 +--------+----------+-----------------------------------------+
0131 | 1 | M0HQ | JOY0DAT Horizontal Clock (quadrature) |
0132 +--------+----------+-----------------------------------------+
0133 | 2 | M0V | JOY0DAT Vertical Clock |
0134 +--------+----------+-----------------------------------------+
0135 | 3 | M0VQ | JOY0DAT Vertical Clock (quadrature) |
0136 +--------+----------+-----------------------------------------+
0137 | 4 | M1V | JOY1DAT Horizontal Clock |
0138 +--------+----------+-----------------------------------------+
0139 | 5 | M1VQ | JOY1DAT Horizontal Clock (quadrature) |
0140 +--------+----------+-----------------------------------------+
0141 | 6 | M1V | JOY1DAT Vertical Clock |
0142 +--------+----------+-----------------------------------------+
0143 | 7 | M1VQ | JOY1DAT Vertical Clock (quadrature) |
0144 +--------+----------+-----------------------------------------+
0145
0146 Bits 1 and 0 of each counter (Y1-Y0,X1-X0) may be
0147 read to determine the state of the related input signal pair.
0148 This allows these pins to double as joystick switch inputs.
0149 Joystick switch closures can be deciphered as follows:
0150
0151 +------------+------+---------------------------------+
0152 | Directions | Pin# | Counter bits |
0153 +============+======+=================================+
0154 | Forward | 1 | Y1 xor Y0 (BIT#09 xor BIT#08) |
0155 +------------+------+---------------------------------+
0156 | Left | 3 | Y1 |
0157 +------------+------+---------------------------------+
0158 | Back | 2 | X1 xor X0 (BIT#01 xor BIT#00) |
0159 +------------+------+---------------------------------+
0160 | Right | 4 | X1 |
0161 +------------+------+---------------------------------+
0162
0163 -------------------------------------------------------------------------------
0164
0165 ======== === ==== ==== ====== =================================================
0166 NAME rev ADDR type chip Description
0167 ======== === ==== ==== ====== =================================================
0168 JOYTEST 036 W Denise Write to all 4 joystick-mouse counters at once.
0169 ======== === ==== ==== ====== =================================================
0170
0171 Mouse counter write test data:
0172
0173 ========= === === === === === === === === ====== === === === === === === ===
0174 BIT# 15 14 13 12 11 10 09 08 07 06 05 04 03 02 01 00
0175 ========= === === === === === === === === ====== === === === === === === ===
0176 JOYxDAT Y7 Y6 Y5 Y4 Y3 Y2 xx xx X7 X6 X5 X4 X3 X2 xx xx
0177 JOYxDAT Y7 Y6 Y5 Y4 Y3 Y2 xx xx X7 X6 X5 X4 X3 X2 xx xx
0178 ========= === === === === === === === === ====== === === === === === === ===
0179
0180 -------------------------------------------------------------------------------
0181
0182 ======= === ==== ==== ====== ========================================
0183 NAME rev ADDR type chip Description
0184 ======= === ==== ==== ====== ========================================
0185 POT0DAT h 012 R Paula Pot counter data left pair (vert, horiz)
0186 POT1DAT h 014 R Paula Pot counter data right pair (vert,horiz)
0187 ======= === ==== ==== ====== ========================================
0188
0189 These addresses each read a pair of 8 bit pot counters.
0190 (4 counters total). The bit assignment for both
0191 addresses is shown below. The counters are stopped by signals
0192 from 2 controller connectors (left-right) with 2 pins each.
0193
0194 ====== === === === === === === === === ====== === === === === === === ===
0195 BIT# 15 14 13 12 11 10 09 08 07 06 05 04 03 02 01 00
0196 ====== === === === === === === === === ====== === === === === === === ===
0197 RIGHT Y7 Y6 Y5 Y4 Y3 Y2 Y1 Y0 X7 X6 X5 X4 X3 X2 X1 X0
0198 LEFT Y7 Y6 Y5 Y4 Y3 Y2 Y1 Y0 X7 X6 X5 X4 X3 X2 X1 X0
0199 ====== === === === === === === === === ====== === === === === === === ===
0200
0201 +--------------------------+-------+
0202 | CONNECTORS | PAULA |
0203 +-------+------+-----+-----+-------+
0204 | Loc. | Dir. | Sym | pin | pin |
0205 +=======+======+=====+=====+=======+
0206 | RIGHT | Y | RX | 9 | 33 |
0207 +-------+------+-----+-----+-------+
0208 | RIGHT | X | RX | 5 | 32 |
0209 +-------+------+-----+-----+-------+
0210 | LEFT | Y | LY | 9 | 36 |
0211 +-------+------+-----+-----+-------+
0212 | LEFT | X | LX | 5 | 35 |
0213 +-------+------+-----+-----+-------+
0214
0215 With normal (NTSC or PAL) horiz. line rate, the pots will
0216 give a full scale (FF) reading with about 500kohms in one
0217 frame time. With proportionally faster horiz line times,
0218 the counters will count proportionally faster.
0219 This should be noted when doing variable beam displays.
0220
0221 -------------------------------------------------------------------------------
0222
0223 ====== === ==== ==== ====== ================================================
0224 NAME rev ADDR type chip Description
0225 ====== === ==== ==== ====== ================================================
0226 POTGO 034 W Paula Pot port (4 bit) bi-direction and data, and pot
0227 counter start.
0228 ====== === ==== ==== ====== ================================================
0229
0230 -------------------------------------------------------------------------------
0231
0232 ====== === ==== ==== ====== ================================================
0233 NAME rev ADDR type chip Description
0234 ====== === ==== ==== ====== ================================================
0235 POTINP 016 R Paula Pot pin data read
0236 ====== === ==== ==== ====== ================================================
0237
0238 This register controls a 4 bit bi-direction I/O port
0239 that shares the same 4 pins as the 4 pot counters above.
0240
0241 +-------+----------+---------------------------------------------+
0242 | BIT# | FUNCTION | DESCRIPTION |
0243 +=======+==========+=============================================+
0244 | 15 | OUTRY | Output enable for Paula pin 33 |
0245 +-------+----------+---------------------------------------------+
0246 | 14 | DATRY | I/O data Paula pin 33 |
0247 +-------+----------+---------------------------------------------+
0248 | 13 | OUTRX | Output enable for Paula pin 32 |
0249 +-------+----------+---------------------------------------------+
0250 | 12 | DATRX | I/O data Paula pin 32 |
0251 +-------+----------+---------------------------------------------+
0252 | 11 | OUTLY | Out put enable for Paula pin 36 |
0253 +-------+----------+---------------------------------------------+
0254 | 10 | DATLY | I/O data Paula pin 36 |
0255 +-------+----------+---------------------------------------------+
0256 | 09 | OUTLX | Output enable for Paula pin 35 |
0257 +-------+----------+---------------------------------------------+
0258 | 08 | DATLX | I/O data Paula pin 35 |
0259 +-------+----------+---------------------------------------------+
0260 | 07-01 | X | Not used |
0261 +-------+----------+---------------------------------------------+
0262 | 00 | START | Start pots (dump capacitors,start counters) |
0263 +-------+----------+---------------------------------------------+