Power Glove on a II
From: firstname.lastname@example.org (Derek Anthon Taubert)
Subject: Re: Power Glove quest...
Date: 21 Nov 1995 21:02:49 GMT
Organization: University of Illinois at Urbana
email@example.com (Matt Portune) writes:
>Well, I found a bunch of text on the web concerning hooking up a power
>glove to a PC, but what fun is that? BORING. I could have sworn I once
>saw something with the GS. So, if anybody can help me with this, I'd be
>grateful! Here is what I snagged from one of the sites...
Matt seems to have brought me out of lurk mode by sending me some e-mail, so
here goes. I wrote the chessy little "driver" for the GS that lets you use
the joystick as an alternate mouse (JoyMouse or something like that). It was
actually the first GS specific program I ever wrote, and since I didn't have
an assembler at the time, I hand coded it and bsaved it (it isn't in OMF
format). Then I wrote an init in TML Pascal to load the thing.
Somewhere in the docs for that I must have mentioned my work on a power glove
driver. I never did get around to finishing it, but I have a folder here
of misc 65816 code and schematics needed to make it all work.
>Now, can this be easily rigged to the GS joystick (db9) port? I'm dying
>to do this. Thanks for any help!
No, but you can rig it up to the internal port and use the annunciators and
button inputs to communicate with it. Unfortunately, I never pursued it
enough to learn how to communicate with it in a "raw" mode to get X-Y-Z info
from it, I just know how to use it like a regular Nintendo joystick.
The standard nintendo connector looks like this:
o1 - Ground
+5 volts - o7 o2 - Data clock
NC - o6 o3 - Latch
NC - o5 o4 - Data out
So, from the I/O port, hook up +5V (pin 1) and GND (pin 8), connect SW2 (pin 4)to Data out, ANN1 (pin 14) to Data clock, and ANN0 (pin 15) to Latch.
Then you can use this Applesoft (I know, eww) program to read the data back
from whatever Nintendo controller you wish.
10 REM Set latch to 0 and clock to 1
20 POKE 49240,0
30 POKE 49243,0
40 TEXT : HOME
50 VTAB 12
60 POKE 49241,0: POKE 49240,0
70 FOR A = 1 TO 8
80 D(A) = INT ( PEEK (49251) / 128)
90 POKE 49242,0: POKE 49243,0
100 NEXT A
110 FOR A = 1 TO 8
120 PRINT D(A);" ";
130 NEXT A
150 GOTO 50
That should be enough to get you started. Enjoy, let me know what you come up
Derek Taubert |
firstname.lastname@example.org | Ask me about TCP/IP for the Apple IIgs!
http://www.ceg.uiuc.edu/~taubert | Really, I'm serious!
FAX:(217) 359-0010 |
GS/TCP info: http://www.winternet.com/~taubert/gstcp.html