[comp.periphs] Using a Joystick instead of a Mouse

edlee@chinet.UUCP (Edward Lee) (07/22/88)

Setup:
  I have a Toshiba 1100+ laptop computer with a 9-pin DIN serial interface.

Question:
  Have any of you plugged an Atari joystick into the serial port and used it
  instead of a mouse?  Doing so would make playing some games easier.


-Ed L

isaac@gethen.UUCP (Isaac Rabinovitch) (07/31/88)

In article <6069@chinet.UUCP>, edlee@chinet.UUCP (Edward Lee) writes:
> 
>   Have any of you plugged an Atari joystick into the serial port and used it
>   instead of a mouse?  Doing so would make playing some games easier.
I've no doubt it can be done, but my advice is, Forget it!  In
mouse-oriented applications you need to have the cursor on *just* the
right spot for a fraction of second while you press the button.
Painfully difficult with a joystick, especially at the edge of the
screen.  I speak from experience:  I used to have an Apple II, and tried
to run a couple of programs (Chipwits and Sundog) that were originally
designed to be used with a mouse but adapted for the joystick in the
Apple II versions.  *Quite* painful.

edlee@chinet.chi.il.us (Edward Lee) (08/01/88)

In article <1129@gethen.UUCP> isaac@gethen.UUCP (Isaac Rabinovitch) writes:
>In article <6069@chinet.UUCP>, edlee@chinet.UUCP (Edward Lee) writes:
>> 
>>   Have any of you plugged an Atari joystick into the serial port and used it
>>   instead of a mouse?  Doing so would make playing some games easier.

>I've no doubt it can be done, but my advice is, Forget it!  In
>mouse-oriented applications you need to have the cursor on *just* the
>right spot for a fraction of second while you press the button.
>Painfully difficult with a joystick, especially at the edge of the
>screen.  I speak from experience:  I used to have an Apple II, and tried
>to run a couple of programs (Chipwits and Sundog) that were originally
>designed to be used with a mouse but adapted for the joystick in the
>Apple II versions.  *Quite* painful.


I also speak from experience.  In my original posting, I mentioned
games.  I had Flight Simulator, Jet, and other software in mind
that would be more comfortable to play with a joystick.  The mouse
doesn't have to be completely replaced by the joystick, but the
joystick is better than the mouse for certain applications, and
vice versa.

I've played Flight Simulator before with only the keyboard, and I
didn't like the fact that the plane would keep making steeper and
steeper turns unless the player manually pressed the center key.
I would like to use a joystick along with a keyboard to play
Flight Simulator on my Toshiba laptop computer.

With regard to editing graphics screens with a mouse versus a joystick,
it would be less of a problem to use a joystick if the editing software
had a zoom function, as in Doodle! for the Commodore 64, that would
allow the user to edit full-sized characters that would each correspond
to a pixel on the unmagnified graphics screen.


-Ed L

cdold@starfish.Convergent.COM (Clarence Dold) (08/06/88)

>   Have any of you plugged an Atari joystick into the serial port and used it
>   instead of a mouse?  Doing so would make playing some games easier.

Assuming we're talking about an 'Atari 400/800/1200' joystick:
The joystick only has switches, not pots.  The return value will be a bit or
two indicating direction, there is no 'off-center' value to indicate how
far you might be pushing the stick.
With the polling rate on the Atari, that was okay, but on a PC or AT, I would 
expect to reach the limits of the screen before I could let go of the stick.

albaugh@dms.UUCP (Mike Albaugh) (08/09/88)

I do not read comp.sys.ibm.pc, but have cross-posted because of point
1 below. Please don't assume that if two plugs are physically the same
you can safely plug them together!

Mild (?) flaming and some info here:

From article <618@starfish.Convergent.COM>, by cdold@starfish.Convergent.COM (Clarence Dold):
>>   Have any of you plugged an Atari joystick into the serial port and used it
>>   instead of a mouse?  Doing so would make playing some games easier.

1) Has anyone considered that there is more to an interface spec than the
number of pins and the shape of a connector. The Atari game connectors,
used on 2600,7800,400/800... and also several other computers from various
manufacturers, were intened to hook up to "controllers" that had two analog
(resistance) inputs and 5 (? it's been a while) switch-closure inputs, plus
power and ground. One of the switch inputs was connected in such a way as
to be usable as a light-pen on the 400/800... Anyway, this scheme has NOTHING
but the shape/number of pins in common with a DB9 serial port. Several years
back Lafayette Radio sold intercoms with connectors that had two flat blades
the right distance apart to plug into power-strips etc. I suppose they
thought it would make cabling easier, but too many folks "accidentally"
plugged them into the wall (REAL flames!)

> 
> Assuming we're talking about an 'Atari 400/800/1200' joystick:
> The joystick only has switches, not pots.  The return value will be a bit or

2) As mentioned above, some "controllers" used the pot inputs. I agree that
the common four-position joystick was switches only. Incidentally, these
were _real_ common. "a major manufacturer of home computers" went so far
as to clone the stick, removing only the Atari logo when copying the mold.
Forgot to remove the Atari part number... hello lawyers :-)

> With the polling rate on the Atari, that was okay, but on a PC or AT, I would 
> expect to reach the limits of the screen before I could let go of the stick.

3) Some time ago I did a study of the memory systems of the Atari 400/800,
the Apple ][, and the (original) PC. Is anyone supprised to hear that the
PC is only 5% faster than an 800, and 25% faster than an Apple ][. Please
direct flames about instruction sets and memory sizes elsewhere. I was
comparing _memory_ systems. Still, as a first order guess, the data
processing rates (without cache) will be pretty similar. Anyway, many
games sampled the switches several times a frame. If you were using pots,
the hardware allowed you to sample the pots _every_scan_line_ (although
only to six bit accuracy). I find it real hard to believe that a serial
controller on a PC would do as well. In fact, having used a serial mouse
on a PC, I find it _impossible_ to believe. Often software uses really
big steps per sample to compensate for low sampling rate, so I may
just agree that the PC would "peg" when using a switch-type joystick
(but not for the reason you say :-)

| Mike Albaugh ({decwrl!turtlevax!}weitek!dms!albaugh) voice: (408)434-1709
| Atari Games Corp (Arcade Games, no relation to the makers of the ST)
| 675 Sycamore Dr. Milpitas, CA 95035
| The opinions expressed are my own (My lawyer isn't listening)

edlee@chinet.chi.il.us (Edward Lee) (08/09/88)

I wrote:
>Have any of you plugged an Atari joystick into the serial port and used it
>instead of a mouse?  Doing so would make playing some games easier.

I have received several responses to my original posting, and more than half
of the people who responded told me something like, "Forget it."  Other
people alluded to the difficulties of interfacing a switch-type joystick to a
serial DB9 port, which I appreciate, and others simply misinterpreted my
original question.  I do not need a joystick to completely emulate a mouse.
All that I need a joystick for is to _indicate direction_.  If I manage to
interface a joystick to my Toshiba laptop, I will write custom software to
use the joystick, if necessary.  I am not too concerned with compatibility
with existing software, although that would be nice for playing some games
like Flight Simulator or Pac-Man.

Interfacing a joystick to a 9-pin serial port has been done before on the
TI-99/4A.  I recently bought a Toshiba 1100+ laptop, and it has a 9-pin
serial interface, so that's why I asked if anyone on the net had plugged an
Atari joystick into the serial port and used it instead of a mouse, with the
keyword _Laptop_ in the heading of the original post.  With the TI-99/4A,
the joystick port can be adapted to become a serial port that requires some
machine code to drive it. 

I get the impression that no one on the net has done this yet for a laptop.
I'm sure that there's money to be made if someone does.


-Ed L

cdold@starfish.Convergent.COM (Clarence Dold) (08/09/88)

>>Have any of you plugged an Atari joystick into the serial port and used it
>>instead of a mouse?  Doing so would make playing some games easier.
> All that I need a joystick for is to _indicate direction_.  If I manage to
> interface a joystick to my Toshiba laptop, I will write custom software to

Oh, now I understand...
A REAL computer hobbyist, just like in the old days!
Since the Atari joystick has four switches that close to a common pin,
you need to either use an ohmeter to find the pin shorting relationship, or
wait for me to blow the dust off my ATARI 400 Tech Ref.
Next, make an adapter cable that will couple the common pin to DTR on the 
serial port.  Then tie your choice of the direction pins to CD, DSR, RI, and
CTS on the serial port.  A program can drive DTR high, then monitor for
combinations of the status lines to see which way the stick is pointed.
A hardware purist might ask for resistors in the adapter cable, but they aren't necessary.
This is the method I use to interface a small UPS into my *IX system,
for Powerfail shutdown.


SIGNAL		PC-XT		PC-AT
		Female		Female
	DIR	25 pin		9 Pin
	
TX	<-	2	-	3
RX	->	3	-	2
RTS	<-	4	-	7
CTS	->	5	-	8
DSR	->	6	-	6
GND	--	7	-	5
CD	->	8	-	1
DTR	<-	20	-	4
RI	->	22	-	9