|
POTGO
Bit definitions for both POTGOR and POTGO:
+------+-------+--------------------------------------------------------+
| BITS | FUNC | DESCRIPTION |
+------+-------+--------------------------------------------------------+
| 15 | OUTRY | Output enable for Paula pin 33 (= pin 5, port 1) |
| 14 | DATRY | I/O data Paula pin 33 (= pin 5, port 1) |
| 13 | OUTRX | Output enable for Paula pin 32 (= pin 9, port 1) |
| 12 | DATRX | I/O data Paula pin 32 (= pin 9, port 1) |
| 11 | OUTLY | Output enable for Paula pin 36 (= pin 5, port 0 = RMB) |
| 10 | DATLY | I/O data Paula pin 36 (= pin 5, port 0 = RMB) |
| 9 | OUTLX | Output enable for Paula pin 35 (= pin 9, port 0 = MMB) |
| 8 | DATLX | I/O data Paula pin 35 (= pin 9, port 0 = MMB) |
| 7-1 | X | Paula 8364 chip revision identification number |
| | | (presently all zeroes, there's only on Paula revision!)|
| 0 | START | Start pots (dump capacitors,start counters) |
+------+-------+--------------------------------------------------------+
Note about POTGOR: This is the read address for
the POTGO register ($dff034). Most of the bits in
this register are write-only and always return a
zero when read. Only bits 8-1, 10, 12, and 14 return
valid data. The remaining bits are controlled via
the POTGO register.
The Amiga's game ports are quite versatile. Pins 5
and 9 of either port can be programmed to receive
and send digital data. This register allows you to
read the current high-low state of these pins.
Simply read the desired pin's DATxx bit to determine
its status. (0 = 0v, 1 = +5v) The positive voltage
sent to these pins should never exceed 5 volts or
400 mA. ONLY THE VOLTAGE FROM PIN 7 SHOULD BE
CONNECTED TO PIN 5 OR 9. PIN 7 CARRIES +5 VOLTS
FROM THE AMIGA'S OWN POWER SUPPLY.
The right mouse button is wired to game port pins 8
and 9. When the button is pressed, these two pins
connect. Pin 8 is grounded, so any voltage that 9
carries gets shorted to ground.
To sense whether the right mouse button is being
pressed on a mouse plugged into game port 0, you
must first set pin 9 to output. (i.e.: OUTLY = 1
and DATLY = 1 or write $0c00 to POTGO. For a mouse
plugged into port 1, use OUTRY and DATRY instead.)
Finally, wait about 300 µs for the voltage to reach
the game port - and then read the status of pin 9
via the DATLY bit in POTGOR. If this bit equals
one, the pin is not grounded, thus the button is not
pressed. If it equals zero, the pin is grounded,
and the button has been pressed.
Because Intuition automatically handles game port 0
mouse events, you'll have to turn off multitasking
if you wish to control this port directly via the
hardware. Even accessing port 1 may cause problems
since any manipulation of POTGO affects all of the
bits. Such confusion usually results in the Amiga
thinking that the right mouse button is being
clicked when it really isn't.
SEE ALSO: POT0DAT, POT1DAT for reading pot counters
|