| Amiga 4-joystick parport extension | 
 | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ | 
 | Parallel port pins: | 
 |  | 
 |  (2) - Up1	 (6) - Up2 | 
 |  (3) - Down1	 (7) - Down2 | 
 |  (4) - Left1	 (8) - Left2 | 
 |  (5) - Right1	 (9) - Right2 | 
 | (13) - Fire1	(11) - Fire2 | 
 | (18) - Gnd1	(18) - Gnd2 | 
 |  | 
 | Amiga digital joystick pinout | 
 | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ | 
 | (1) - Up | 
 | (2) - Down | 
 | (3) - Left | 
 | (4) - Right | 
 | (5) - n/c | 
 | (6) - Fire button | 
 | (7) - +5V (50mA) | 
 | (8) - Gnd | 
 | (9) - Thumb button | 
 |  | 
 | Amiga mouse pinout | 
 | ~~~~~~~~~~~~~~~~~~ | 
 | (1) - V-pulse | 
 | (2) - H-pulse | 
 | (3) - VQ-pulse | 
 | (4) - HQ-pulse | 
 | (5) - Middle button | 
 | (6) - Left button | 
 | (7) - +5V (50mA) | 
 | (8) - Gnd | 
 | (9) - Right button | 
 |  | 
 | Amiga analog joystick pinout | 
 | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~ | 
 | (1) - Top button | 
 | (2) - Top2 button | 
 | (3) - Trigger button | 
 | (4) - Thumb button | 
 | (5) - Analog X | 
 | (6) - n/c | 
 | (7) - +5V (50mA) | 
 | (8) - Gnd | 
 | (9) - Analog Y | 
 |  | 
 | Amiga lightpen pinout | 
 | ~~~~~~~~~~~~~~~~~~~~~ | 
 | (1) - n/c | 
 | (2) - n/c | 
 | (3) - n/c | 
 | (4) - n/c | 
 | (5) - Touch button | 
 | (6) - /Beamtrigger | 
 | (7) - +5V (50mA) | 
 | (8) - Gnd | 
 | (9) - Stylus button | 
 |  | 
 | ------------------------------------------------------------------------------- | 
 |  | 
 | NAME     rev ADDR type chip   Description | 
 | JOY0DAT      00A   R   Denise Joystick-mouse 0 data (left vert, horiz) | 
 | JOY1DAT      00C   R   Denise Joystick-mouse 1 data (right vert,horiz) | 
 |  | 
 |         These addresses each read a 16 bit register. These in turn | 
 |         are loaded from the MDAT serial stream and are clocked in on | 
 |         the rising edge of SCLK. MLD output is used to parallel load | 
 |         the external parallel-to-serial converter.This in turn is | 
 |         loaded with the 4 quadrature inputs from each of two game | 
 |         controller ports (8 total) plus 8 miscellaneous control bits | 
 |         which are new for LISA and can be read in upper 8 bits of | 
 |         LISAID. | 
 |         Register bits are as follows: | 
 |         Mouse counter usage (pins  1,3 =Yclock, pins 2,4 =Xclock) | 
 |  | 
 |     BIT#  15  14  13  12  11  10  09  08     07  06  05  04  03  02  01  00 | 
 | JOY0DAT   Y7  Y6  Y5  Y4  Y3  Y2  Y1  Y0     X7  X6  X5  X4  X3  X2  X1  X0 | 
 | JOY1DAT   Y7  Y6  Y5  Y4  Y3  Y2  Y1  Y0     X7  X6  X5  X4  X3  X2  X1  X0 | 
 |  | 
 |         0=LEFT CONTROLLER PAIR, 1=RIGHT CONTROLLER PAIR. | 
 |         (4 counters total). The bit usage for both left and right | 
 |         addresses is shown below. Each 6 bit counter (Y7-Y2,X7-X2) is | 
 |         clocked by 2 of the signals input from the mouse serial | 
 |         stream. Starting with first bit received: | 
 |  | 
 |          +-------------------+-----------------------------------------+ | 
 |          | Serial | Bit Name | Description                             | | 
 |          +--------+----------+-----------------------------------------+ | 
 |          |   0    | M0H      | JOY0DAT Horizontal Clock                | | 
 |          |   1    | M0HQ     | JOY0DAT Horizontal Clock (quadrature)   | | 
 |          |   2    | M0V      | JOY0DAT Vertical Clock                  | | 
 |          |   3    | M0VQ     | JOY0DAT Vertical Clock  (quadrature)    | | 
 |          |   4    | M1V      | JOY1DAT Horizontal Clock                | | 
 |          |   5    | M1VQ     | JOY1DAT Horizontal Clock (quadrature)   | | 
 |          |   6    | M1V      | JOY1DAT Vertical Clock                  | | 
 |          |   7    | M1VQ     | JOY1DAT Vertical Clock (quadrature)     | | 
 |          +--------+----------+-----------------------------------------+ | 
 |  | 
 |          Bits 1 and 0 of each counter (Y1-Y0,X1-X0) may be | 
 |          read to determine the state of the related input signal pair. | 
 |          This allows these pins to double as joystick switch inputs. | 
 |          Joystick switch closures can be deciphered as follows: | 
 |  | 
 |          +------------+------+---------------------------------+ | 
 |          | Directions | Pin# | Counter bits                    | | 
 |          +------------+------+---------------------------------+ | 
 |          | Forward    |  1   | Y1 xor Y0 (BIT#09 xor BIT#08)   | | 
 |          | Left       |  3   | Y1                              | | 
 |          | Back       |  2   | X1 xor X0 (BIT#01 xor BIT#00)   | | 
 |          | Right      |  4   | X1                              | | 
 |          +------------+------+---------------------------------+ | 
 |  | 
 | ------------------------------------------------------------------------------- | 
 |  | 
 | NAME      rev ADDR type chip    Description | 
 | JOYTEST       036   W   Denise  Write to all 4  joystick-mouse counters at once. | 
 |  | 
 |                   Mouse counter write test data: | 
 |      BIT#  15  14  13  12  11  10  09  08     07  06  05  04  03  02  01  00 | 
 |   JOYxDAT  Y7  Y6  Y5  Y4  Y3  Y2  xx  xx     X7  X6  X5  X4  X3  X2  xx  xx | 
 |   JOYxDAT  Y7  Y6  Y5  Y4  Y3  Y2  xx  xx     X7  X6  X5  X4  X3  X2  xx  xx | 
 |  | 
 | ------------------------------------------------------------------------------- | 
 |  | 
 | NAME    rev ADDR type chip   Description | 
 | POT0DAT  h  012   R   Paula  Pot counter data left pair (vert, horiz) | 
 | POT1DAT  h  014   R   Paula  Pot counter data right pair (vert,horiz) | 
 |  | 
 |         These addresses each read a pair of 8 bit pot counters. | 
 |         (4 counters total). The bit assignment for both | 
 |         addresses is shown below. The counters are stopped by signals | 
 |         from 2 controller connectors (left-right) with 2 pins each. | 
 |  | 
 |   BIT#  15  14  13  12  11  10  09  08     07  06  05  04  03  02  01  00 | 
 |  RIGHT  Y7  Y6  Y5  Y4  Y3  Y2  Y1  Y0     X7  X6  X5  X4  X3  X2  X1  X0 | 
 |   LEFT  Y7  Y6  Y5  Y4  Y3  Y2  Y1  Y0     X7  X6  X5  X4  X3  X2  X1  X0 | 
 |  | 
 |          +--------------------------+-------+ | 
 |          | CONNECTORS               | PAULA | | 
 |          +-------+------+-----+-----+-------+ | 
 |          | Loc.  | Dir. | Sym | pin | pin   | | 
 |          +-------+------+-----+-----+-------+ | 
 |          | RIGHT | Y    | RX  | 9   | 33    | | 
 |          | RIGHT | X    | RX  | 5   | 32    | | 
 |          | LEFT  | Y    | LY  | 9   | 36    | | 
 |          | LEFT  | X    | LX  | 5   | 35    | | 
 |          +-------+------+-----+-----+-------+ | 
 |  | 
 |          With normal (NTSC or PAL) horiz. line rate, the pots will | 
 |          give a full scale (FF) reading with about 500kohms in one | 
 |          frame time. With proportionally faster horiz line times, | 
 |          the counters will count proportionally faster. | 
 |          This should be noted when doing variable beam displays. | 
 |  | 
 | ------------------------------------------------------------------------------- | 
 |  | 
 | NAME   rev ADDR type chip   Description | 
 | POTGO      034   W   Paula  Pot port (4 bit) bi-direction and data, and pot counter start. | 
 |  | 
 | ------------------------------------------------------------------------------- | 
 |  | 
 | NAME   rev ADDR type chip   Description | 
 | POTINP     016   R   Paula  Pot pin data read | 
 |  | 
 |         This register controls a 4 bit bi-direction I/O port | 
 |         that shares the same 4 pins as the 4 pot counters above. | 
 |  | 
 |          +-------+----------+---------------------------------------------+ | 
 |          | BIT#  | FUNCTION | DESCRIPTION                                 | | 
 |          +-------+----------+---------------------------------------------+ | 
 |          | 15    | OUTRY    | Output enable for Paula pin 33              | | 
 |          | 14    | DATRY    | I/O data Paula pin 33                       | | 
 |          | 13    | OUTRX    | Output enable for Paula pin 32              | | 
 |          | 12    | DATRX    | I/O data Paula pin 32                       | | 
 |          | 11    | OUTLY    | Out put enable for Paula pin 36             | | 
 |          | 10    | DATLY    | I/O data Paula pin 36                       | | 
 |          | 09    | OUTLX    | Output enable for Paula pin 35              | | 
 |          | 08    | DATLX    | I/O data  Paula pin 35                      | | 
 |          | 07-01 |   X      | Not used                                    | | 
 |          | 00    | START    | Start pots (dump capacitors,start counters) | | 
 |          +-------+----------+---------------------------------------------+ | 
 |  | 
 | ------------------------------------------------------------------------------- |