Main > Main Forum

720 degrees

Pages: << < (3/16) > >>

u_rebelscum:


--- Quote from: jerryjanis on February 17, 2003, 03:30:16 pm ---I suspect that Mame handles the joystick just like the arcade only without the calibration spinner hooked up.  According to u_rebelscum, it worked ok with occasional recalibration, so maybe it would work pretty much Ok as it is.
--- End quote ---

I was talking about in arcade preformance, not mame.  But you are right about mame only hooks up the one action wheel and not the calibration wheel.  Since mame just feeds the mouse data straight to the game in 720, I think any spinner with a 72 hole encoder wheel will work as well as a 720 controller, ATM.  The hard thing needed to get the calibration wheel working is mostly adding support for it without screwing up using a mouse/trackball-as-a-spinner input.  If we didn't have to worry about trackballs, I think it would be pretty easy.  


--- Quote ---u_rebelscum - could you play a full game without having to recalibrate?  Also, is there a way to recalibrate in the middle of a game?
--- End quote ---

Like I said above, I was talking arcade playing.  My 720 controller is in need of some fixin' before I can play with it.  :'(

For a in-game hack calibration in mame, you can pause the game, possition the controller the same as the paused skater, and unpause the game, I think.  You have ~ 4.5 holes per direction, so calibration will be hard to get perfect.


--- Quote from: Jakobud on February 17, 2003, 04:19:24 am ---Wait wait wait..  Isn't the controller in 720 just a spinner with a joystick offset from the center?
--- End quote ---

That's how mame is treating it, but it was a little more complicated than that.

The real controller had two encoder wheels on the one axis.  The "action" wheel has 72 holes evenly spaced and is for small movements, like a normal spinner.  The "calibration" wheel has 2 holes next to each other so the game knows when one full rotation occurs; this is to designed to makeup for any "missed" holes on the action wheel, which happens sometimes on all optical hardware.  Mame ignores the calibration wheel, and acts like a real machine with broken optics for just the calibration wheel, except more so; ie: it works but is hard to stay calibrated.

Lilwolf:


--- Quote from: u_rebelscum on February 15, 2003, 07:53:27 pm ---
--- Quote from: Lilwolf on February 15, 2003, 04:51:15 pm ---Has anyone modified the source to make it work with a joystick better?
--- End quote ---
Do you still have the code?  Maybe I could tool with it and add it to analog+.

--- End quote ---

Somewhere...  But if not I can rewrite it... The trouble is that it was for java..  I never converted it to C to then add to mame.  But it was cool.  It would watch your motions and I could tell what part of the circle you where on no matter how big/small your circles where... even if they changed or moved.  But I never figured out how to hack it into mame at the end.

So I could easily convert the mouse motion into an angle that you are pointing in.    (ie mousemotion -> 35degrees)

Any know how hard that will be to add to mame?  It seemed like that should be ultra easy.




Lilwolf:

quick question about hacking a real 720 joystick.

Whats the chance that we can capture the single recalibration trigger into a mouse press?  If so, then the driver could probably be hacked to have a recalibration in it.  Then running a real 720 stick (I want one bad... no cash though) it would work and auto update every turn.



jerryjanis:

Hey, I think I got it!!!

Aaron Giles' code always passes a 0 for the value of the calibration spinner disc.  In order to find out if the code for the spinner disc COULD register, I added a looping integer variable that pretended to spin the second spinner disc really really fast.  Each time my fake calibration spinner registered a change, the skateboarder would turn a minute (my-noot) notch towards 12 o'clock.  (requiring 128 'notches' to actually turn the skateboarder from south all the way to north).

What this tells me is that the calibration spinner with it's two notches will only account for up to two missed notches per complete turn of the main spinner disc assuming that the track x and track y sensitivities are the same.

When I first start 720 in Mame with these changes, the FIRST time that I register movement on the calibration spinner, the skateboarder immediately jumps to 12 o'clock, thus initially calibrating it when you spin it the first time.

I set the default sensitivity for the calibration stick to 1% (darnitall, a value of 0 caused a divide by 0) and the key/joy speed to 0.  This is so that it's affect on spinner/mouse users is minimal - it will do the initial calibration and jump the skateboarder to the 12 o'clock position, but besides that I don't think it has much of a noticeable affect (avid 720' mouse users may beg to differ with me on that statement).

If you use it with the 720 joystick, then you will have to boost up the track_y sensitivity for the calibration spinner.  Also, it's likely that the track_x sensitivity will need to be adjusted (I am unable to try it with the 720 arcade joystick right now).

I changed the dial control to IPT_TRACKBALL_X and added another input port for IPT_TRACKBALL_Y and processed it as the calibration spinner, and I think it would work like the arcade machine with the 720 joystick.  You'd just have to make sure that the sensors for the spinner discs were in the 12 o'clock position and the main spinner disc was mapped to the x mouse axis and the calibration spinner disc was mapped to the y mouse axis.

The only code that I changed was 720 specific code for atarisy2.c, so it shouldn't affect any other games.  (That makes me very happy!)

Somebody with an optipac (or some kind of hack that involves both spinner discs) and a 720 controller, please try it out!  I can't wait to play it myself!

I also modified my source code for using an 8 way joystick.  It's a little bit more complicated to set up, but it will not affect any other games anymore.

Get both modified files at:
http://www26.brinkster.com/jstookey/joystick/720mame.html

Please try them out and let me know what you think!

btoddkelley:

If you will compile one for me in mame 32 i will give it a try. i have a 720 controller and a working game. the controller is is mounted on an ad on panel and i can have it hooked up in five minutes. What you describe on start up is correct though.
Later
Todd

Pages: << < (3/16) > >>

Go to full version