Jump to content
IGNORED

T2K Optical Rotary Controller Project (Revisited)


RARusk

Recommended Posts

It has been years since I messed around with this controller and rather than continue with this old topic I decided to start this one.

 

Although my controller worked great there were some bugs, related to how you hooked up the optical encoder, that I wasn't able to figure out. The bugs were the inability to change camera angles during play and not being able to go left on the bonus stage where you had to fly through rings. So I tried to find a way to get rid of these bugs.

 

I figured out a possible solution to "translate" the optical signals into something that the Jaguar would understand better but it was the so-called "constant-on problem" that I could never figure out. The "constant-on" problem had to do with at least one of the two signal channels being left on when you stopped the paddle. Many people, including myself, thought that this would cause problems for the game because of the unique way that the optical encoder has to be hooked up in order to work.

 

Since I couldn't figure it out, and that every time that I asked for information at other sites I got absolutely nothing, I let the controller sit.

 

Since I have some down time due to my recent unemployment I decided to try to take another crack at it. When I did a question came to mind that should've been asked long ago: What would happen if one of either the left or right directions were left on if you used a traditional encoder?

 

The easiest way to test this out was to play the game with a regular joypad instead of the encoder but leave the encoder setting on. Then hold down either direction while playing with the camera settings to see what would happen. The game worked absolutely fine.

 

I then came to the conclusion that the "constant-on" problem was never a problem at all. I felt that because of the unique matrix system used for the joypad the game was programmed to ignore this particular problem if somebody was able to hook up an optical encoder to it. So I made the decision to ignore this problem altogether and focus on the "translator"

 

Which leads me to:

 

post-5181-0-29660500-1343096647_thumb.jpg

 

post-5181-1248925785.jpg

 

With an optical encoder you can't hook it up to Padport 4 (Column 1) or it won't work. You can only hook up the encoder to Padport 11 and 12 (Rows 3 and 4). With a traditional encoder you hook up the ground pin to Padport 4 and the other two pins to Padports 11 and 12. This is why the traditional encoder works flawlessly while there are bugs with the optical.

 

This is where the ISL43120 comes in.

 

The idea is to use the pulses from the optical encoder to close the switches that would be hooked up to Padports 4, 11, and 12. Pins 1 and 5 are hooked up to Padport 4. Pins 4 and 8 would be hooked up to Padports 11 and 12. Pins 3 and 7 would be hooked up to Optical Right and Left. And, of course, hook up +5VDC and ground.

 

To illustrate, if Pin 3 (Optical Right) goes HIGH and closes the switch then both Pins 4 (Padport 11) and 5 (Padport 4) go HIGH - exactly what the game wants for smooth operation. This particular chip is designed for high speed operation - over 200Mhz - which is well above what I'm using it for.

 

I asked Intersil for a sample of this chip and got two. The problem with this chip is that it is an extremely small surface mount chip. None of the stores around here have anything small enough that I could mount it to so I could use regular wires with it. I had no choice but to solder thin 30-gauge wires to it - and it was a pain to do. Thankfully I managed to pull it off. Then I coated the chip with clear acrylic coating to protect it and the soldering.

 

Today I went to bring out the controller and hook this chip up. After extensive testing I can rightfully say that this chip finally solved all of the bugs related to the optical encoder. The camera worked fantastic and I was finally able to go through the ring based bonus stage (although controlling yourself here requires some touch as you move sluggishly - it should be noted that you need a second joypad in the second port to be able to go through this area).

 

Victory has now been declared and I now have a bug-free optical controller.

 

However, I would recommend against using the ISL43120 because it is so small and would be very tough to handle, especially for those new to electronics. But, I did some research and I found the Maxim 323 chip which is a duplicate of the ISL43120 but is available in the much easier to handle DIP model which you can use sockets with. And the large Jaguar joypad can easily accommodate the 323 and related wiring without any problems should you want to throw one in there.

 

And, even though I hadn't played the game in a long time, I managed to beat my high score during testing. Just icing on the cake. I'll probably play around with it some more later - see if I can improve my score.

Link to comment
Share on other sites

Well done!

 

The awkwardness of the Jaguar controller stems from two design decisions Atari made.

 

First, it uses negative logic throughout, so all of the signals are high when the buttons are released, and zero when they're pushed.

 

Secondly, it uses four "common" lines, and six return lines, which are also common.

 

It's an awkward circuit for people new to electronics to figure out.

  • Like 1
Link to comment
Share on other sites

Since I couldn't figure it out, and that every time that I asked for information at other sites I got absolutely nothing
*sigh*

http://www.atariage....25#entry1811573

 

My apologies. It had been awhile since I tried to solve this problem and I was also excited to get the thing working properly plus it was late and I didn't re-research correctly. All I did was simply bring up the old topic to link back to but didn't re-read it. That was stupid of me.

 

But the problem has now been solved and it is an easy solution as well. Now if I can only get my hands on one of these to play with:

 

post-5181-0-59162000-1343156129_thumb.jpg

  • Like 1
Link to comment
Share on other sites

Well done!

 

The awkwardness of the Jaguar controller stems from two design decisions Atari made.

 

First, it uses negative logic throughout, so all of the signals are high when the buttons are released, and zero when they're pushed.

 

Secondly, it uses four "common" lines, and six return lines, which are also common.

 

It's an awkward circuit for people new to electronics to figure out.

 

Didn't know about the negative logic or I would've put LOW instead of HIGH. But the idea still comes across. Another questionable move by Atari was the use of purple for ground instead of black which is a universal standard.

 

Also, on the ring bonus stage, you can use the encoder to move right and left which is probably how the optical encoder was interfering with your movements when you switched to the second joypad to try to navigate through the area. Another interesting thing is that you cannot use the encoder to select your initials for your high score even though it would've been a natural thing to do.

 

Another thing I should point out is the the chip doesn't change how touchy the encoder is - it is just as sensitive as before.

Link to comment
Share on other sites

Also, on the ring bonus stage, you can use the encoder to move right and left which is probably how the optical encoder was interfering with your movements when you switched to the second joypad to try to navigate through the area. Another interesting thing is that you cannot use the encoder to select your initials for your high score even though it would've been a natural thing to do.

 

Another thing I should point out is the the chip doesn't change how touchy the encoder is - it is just as sensitive as before.

 

Rotary support was a last minute hack, put in with Atari gave Yak a hacked up 2600 driving controller and said "Make it work with this."

Link to comment
Share on other sites

Also, on the ring bonus stage, you can use the encoder to move right and left which is probably how the optical encoder was interfering with your movements when you switched to the second joypad to try to navigate through the area. Another interesting thing is that you cannot use the encoder to select your initials for your high score even though it would've been a natural thing to do.

 

Another thing I should point out is the the chip doesn't change how touchy the encoder is - it is just as sensitive as before.

 

Rotary support was a last minute hack, put in with Atari gave Yak a hacked up 2600 driving controller and said "Make it work with this."

 

Yeah, you're right. I'd forgotten about that. I've forgotten a lot of other things too it seems.....

 

Do you still make your own rotary controllers or was that somebody else?

Link to comment
Share on other sites

I used to make rotaries, in fact I was the first person to put the knob and encoder where the D-Pad usually sits, but I haven't made any for a number of years now, although I did make a handful of special one-button controllers for Superfly DX.

  • Like 3
Link to comment
Share on other sites

Yeah, I used to use a mechanical type one, which I believe has been discontinued now days (at least, the last time I looked I couldn't find anyone still stocking it).

 

It did the job and fitted into the space pretty well which was an advantage. If I ever make any more rotaries I'll have to come up with a new design of case, and probably build them around a different encoder.

  • Like 3
Link to comment
Share on other sites

Well at least one company makes small panel based optical encoders so this could be a good option. However, it is difficult to tell how expensive these particular ones are. Some of the other ones I found from other companies are pretty expensive.

 

The Maxim 323 should be pretty easy and cheap to acquire. You can ask for samples for prototyping.

Link to comment
Share on other sites

I went to the electronics store to find a 74HC4066 chip. They carry it but just happened to be out. They gave me a similar chip, the MC14066. I got home, looked up the datasheet, and began to switch out chips within my controller.

 

The MC14066 worked great, just like the ISL43120. In the one test game I played I beat my high score again.

Link to comment
Share on other sites

Here is a pic of the MC14066 hooked up inside the controller. A bit messy but I was more concerned about putting it in and making sure it worked with everything.

 

post-5181-0-13831400-1343527978_thumb.jpg

 

After making sure that the MC14066 chip worked with T2K I removed it and put the ISL43120 back in. I did it because it was smaller and I could make things a little bit cleaner. I put a small piece of duct tape around the coated chip to keep the wires from being bent too close to the chip. It is under the group of wires near the plug. I used another small piece of duct tape to hold some of the wires down.

 

post-5181-0-24171700-1343528212_thumb.jpg

 

For those of you who have never seen it here is a picture of my optical controller with Jaguar joypad interface. Although I believe that the rotary controller may be magnetic instead of optical because of the way everything is sealed up. But it works just the same.

 

post-5181-0-16089100-1343528379_thumb.jpg

 

At some point I will make another topic on the subject on optical rotary hookup but will be written more like a technical paper to compile all the necessary info to assist those who wish to use them.

  • Like 4
Link to comment
Share on other sites

Join the conversation

You can post now and register later. If you have an account, sign in now to post with your account.
Note: Your post will require moderator approval before it will be visible.

Guest
Reply to this topic...

×   Pasted as rich text.   Paste as plain text instead

  Only 75 emoji are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   Your previous content has been restored.   Clear editor

×   You cannot paste images directly. Upload or insert images from URL.

Loading...
  • Recently Browsing   0 members

    • No registered users viewing this page.
×
×
  • Create New...