STE documentation
6.
Advanced Joystick, Paddle
and Lightpen ports
Registers:
Fire-Buttons
for 4 Joysticks:
$FFFF9200
- - - - -
- - - - - - -
X X X X
This
address features the
fire buttons of 4 joysticks
that can be connected
to these ports. Bit
0 represents joystick 0,
bit 1 joystick 2, bit
2 joystick 1 and bit
3 joystick 3. This register
is "low active",
meaning that a "0"
implies "active"
(button pressed) and
a "1" means
"inactive"
(button not pressed).
Joysticks:
$FFFF9202
X X X X X
X X X X X X X
X X X X
Read
this address to get
the directions of 4
digital joysticks
connected. The lowest
4 bits (0-3) represent joystick
0, the middle low 4
bits (4-7) represent
joystick 2, the next
4 bits (8-11) joystick
1 and the highest
4 bits (12-15) joystick
3. The lowest bit encodes
"right", the
next bit "left", the
next bit means "down"
and the highest bit
"up". This
whole register is low-active
as well.
Paddles:
$FFFF9210
- - - - -
- - - X X X X
X X X X Paddle
0 X
$FFFF9212
- - - - -
- - - X X X X
X X X X Paddle
0 Y
$FFFF9214
- - - - -
- - - X X X X
X X X X Paddle
1 X
$FFFF9216
- - - - -
- - - X X X X
X X X X Paddle
1 Y
The
advanced joystick ports
allow analogue devices
such as paddles.
Two paddles usually
connect to one port,
meaning the connection
of 4 paddles are possible.
Instead of "paddle
X/Y coordinate",
you might also read
this as "paddle
1/2 coordinate".
The fire buttons of
each paddle can be read
at the same address
as for the joysticks,
$FFFF9200.
Lightpen:
$FFFF9220
- - - - -
- X X X X X X
X X X X X-Position
$FFFF9222
- - - - -
- X X X X X X
X X X X Y-Position
Connection
of a light-pen is only
possible at port 0.
It has a precision
of 4 pixels in ST Low,
8 pixels in ST Mid and
16 pixels in ST High
resolution (horizontally).
Vertically, the light-pen
is pixel-perfect. The
values read in
this register always
refer to ST Low. For
usage in midres,
you need to multiply
by 2, for usage in hires,
you need to multiply
by 4.
These
interfaces allow a lot
of connections. What
do you need to watch
out for ?
?
Can't read out these
registers. Why ?
!
In contrast to any joystick/mouse/keyboard
function on the ordinary
ST, these interfaces
are _not_ being maintained
and supervised
by the IKBD subsystem
of the ST keyboard but
are directly accessible
by hardware. You need
to be in supervisor
mode to access these
registers.
?
The paddles i have from
my good old 800XL can't
be connected since
the plug doesn't fit.
Can i connect and use
them on the ordinary
joystick port of the
ST ?
!
No, unfortunately, the
IKBD does not have the
hardware that is
necessary to drive paddles.
Paddles are very "dumb"
devices that need
quite a bit of hardware
logic to work in a "digital" environment.
You will need to built
yourself an adapter.
?
I want to build myself
a 4-player adapter so
i can connect 4 joysticks
to these ports. What
pins do i need to connect
?
!
The hardware layout
of each of these joystick
ports is (seen
from the outside of
each connector):
_______________________________
1 - Joystick 0
"up"
\
5 4
3
2
1
/
2 - Joystick 0
"down"
\
10
9 8
7
6 /
3 - Joystick
0 "left"
\
15 14 13
12 11
/
4
- Joystick 0 "right"
\_______________________/
5
- Paddle 0 Y coord
6
- Joystick 0 "fire"
11
- Joystick 2 "up"
7
- VCC 12
- Joystick 2 "down"
8
- NC 13
- Joystick 2 "left"
9
- Mass 14
- Joystick 2 "right"
10
- Joystick 2 "fire"
15
- Paddle 0 X coord
The
ordinary 9 pin socket
for an ordinary digital
joystick look like this:
___________________
1
- Up 5
- reserved
\
1 2 3
4 5 /
2
- Down 6
- fire
\
6 7 8
9 / 3
- Left 7
- +5V
\_____________/
4
- Right 8 - Mass
(9
is officially unused,
might be 2nd "fire")
This
should be sufficient
to build an adapter.
?
Which models have the
extended joystick ports
? Is it sensible to
use them at all ?
!
Depends on what you
are planning to do.
Only the 1040 STE and
the Falcon have
these additional ports.
Neither the Mega STE
nor the TT have
these. Games/Programs
that can only use joysticks/paddles connected
to these ports cannot
be played on Mega STE/TT
computers.
?
How can i write a program
that uses paddle controllers
for the Mega STE
and TT then ?
!
You cannot. Both these
computers lack the logic
required to drive paddle
controllers.
?
But isn't the mouse
a paddle controller,
too ?
!
No, surprisingly, it
is not. The mouse is
using an internal logic
to convert "analogue"
movement into digital
impulses, similar
to rapidly moving a
joystick in a direction
and letting it
go again. The mouse
is, unlike a paddle,
not being read "by position",
but like a joystick
"by movement". For
games however, you might
use the mouse as a paddle.
GEM programs can use
an AES routine to read
mouse position, otherwise
you can use the IKBD
to read the mouse.
?
My light pen doesn't
work at all.
!
The light pen is only
supported on connector
0. Connector 1 cannot
be used to drive a light
pen.
?
I want to connect jaguar
powerpads, which can
connect directly to
the advanced joystick
ports. How do i read
those ?
!
The directional pad
and the 3 action buttons
can be read relatively
easily. The D-pad represents
one joystick connected to
the port, the 3 fire
buttons and the Option
button the other joystick.
The Pause-Button is
the firebutton of one joystick.
Reading the numerical
pad of the powerpad
is more difficult
however.
7.
Hardware related questions
Here
come some typical questions
and answers concerning
the 1040 STE's hardware,
not seen by the programmer
but for upgrades and
installations.
?
I want to upgrade my
STE to 4 MB. What shall
i do ?
!
The 1040 STE uses 30
pin SIMMs and the 1040
STE is not really picky
about the SIMMs you
use. By using 4 x 1
MB SIMM you will
achieve 4 MB in total.
?
I only have 2 1 MB SIMMs.
Can i use them ?
!
All 4 SIMM-slots (2
banks) need to be filled
by SIMMs, otherwise the
STE won't boot at all.
You might try to replace
2 of the SIMMs
in your 1040 STE to
have either 2.5 MB (2
x 256KB + 2 x 1
MB) or 3 MB (2 x 512
KB + 2 x 1 MB), but
unfortunately, both
only work with restrictions:
There is a program that "reserves
1.5 MB" while booting
which are exactly those
1.5MB that a 2.5
MB STE lacks to the
4 MB. The STE then "believes"
to have 4 MB with 1.5
MB permanently used.
This is not a wise choice
however since it will
require you to
always run this program.
Most games will crash.
?
I want to upgrade my
STE to TOS 2.06. Do
i need a TOS-card ?
!
No, you don't. The 1040
STE has 2 EPROM-sockets
for 2 128KB EPROMs,
exactly the size of
TOS 2.0x. Simply purchase
the TOS-ROMs, open
your 1040 STE and replace
chip by chip. They are
marked "E"
for "Even"
and "O" for
"Odd". Make
sure the "O"
chip you take out is
replaced by the "O" chip
of your TOS 2.06. The
same goes for the "E"
chips. TOS-cards were
only necessary for ST
computers that had 6
x 32 KB EPROMs and could
not handle 2 x 128KB.
?
Is it possible to have
an internal IDE harddisk
in the 1040 STE ?
!
Yes, it definetly is.
There is room for a
and installed by my
software. Yet my
STE can't boot from
it.
!
A common problem. To
boot from an IDE device,
you need TOS 2.06 in
your STE. Otherwise,
you will need a boot-disk that
features your harddisk
driver.
?
Help! I just removed
my IDE interface and
now my 1040 STE doesn't
work anymore at all,
i only get a black screen!
!
The pins of the socket
and the 68000 have been
bent a little when
you had the IDE interface
mounted. Now that you
removed it, the
pins of the socket do
not connect 100% anymore
to the pins of
your CPU. Now all you
need is patience and
a needle. Open the STE,
carefully pull out the
CPU by using the needle as
a lever. Now carefully
bent the pins on the
socket towards the
middle. Do not push
them hard since they
break relatively easily.
When done with this,
carefully bent the pins
of the 68000 a
little to the outside.
Then push the CPU in
gently and try
to switch on your STE.
<Previous> [1][2][3][4][5][6]
<Next>
|