Page 1 of 1

Finding joystick movement in SBK 09

PostPosted: Wed May 27, 2009 11:11 pm
by Mysticalp
Hi! So far I have been learning to use the program with the help file and the tuts in the forum. It has been a great help, but I'm not able to find the joystick axis within the Superbikes 09 game.
I have been trying to find the address that contains the value for some axis of the joystick in this game but without result.

What I tried was reading the value from the axis with another program and it gives some number from 0 to 65535 to search for in the game. Also tried with numbers from 0 to 1, -0.5 to 0.5, 0 to 100, -100 to 100. All of the searches were done with float and then long. So far I have found nothing.

Do you have any other idea? Perhaps this game has some sort of protection?

Thanks ppl

PostPosted: Thu May 28, 2009 2:47 am
by SpeedWing
did you use the function that pauses the game while searching?

PostPosted: Thu May 28, 2009 4:03 am
by Mysticalp
Yes, it was on by default. What difference could it make?

PostPosted: Thu May 28, 2009 7:01 am
by L. Spiro
Do not search for exact values.
The game may easily be doing translations on the joystick inputs to transform them to something more usable by the game (the most common is -1.0f to 1.0f).

Either start with an unknown initial value or a very large range.
Then search for increased and decreased as you move the joystick.

You will of course need to pause the target process so that the values do not change while you are searching (that is the difference it makes).


L. Spiro

PostPosted: Thu May 28, 2009 10:10 pm
by Mysticalp
Hey thanks! At the end the problem turned out to be that doing an aligned search wouldn't find any of the joystick axis. And the values were -127..127 and inverted, that's why i didn't find them with increasing and decresing search.

Now I'm trying to find a way to lock them. No matter the lock speed, the lock won't work. I can even see the address changing in MHS window, not only in the game.

PostPosted: Fri May 29, 2009 7:20 am
by L. Spiro
You will need to create a “pure” lock by using a scripted breakpoint.
When the address is read, change the register holding it (or the address itself, but the register is faster) to the value you want it to be.

The help file has examples of breakpoint script functions, and Shynd’s tutorials can be found on this site.


L. Spiro

PostPosted: Mon Jun 01, 2009 2:16 am
by Mysticalp
uff it was harder than I thought, but finally I can play this game using a joystick and pedals. It normally just uses one during game, but the axis were anyway in the memory.
Thanks!