Skip to: Site menu | Main content


Welcome to PSP-Programming.com, a place for developers to get together.

Welcome to the forums. Here you can find other user tutorials as well as homebrew releases and the source code repository. You can also ask for help with your code here and post your own homebrew!

PSP-Programming.com Forums
February 08, 2012, 07:05:22 PM *
Welcome, Guest. Please login or register.
Did you miss your activation email?

Login with username, password and session length

News: Welcome to PSP-Programming.com
Home Help Search Shop Login Register
Digg This!
Pages: [1]
Print
Author Topic: [C] UPDATED JoySens 1.11 - a CFW plugin  (Read 4291 times)
Raphael
Global Moderator
Hero Member
*

Karma: +230/-10
Offline Offline

Posts: 1431
193700.11 points

View Inventory
Send Money to Raphael


View Profile WWW
« on: July 25, 2007, 03:28:00 PM »

Version 1.11 adds most of the TODOs from v1.01 plus a bit more. Now gives even more control on the analog responsiveness, plus a working calibration function.

- Added better calibration method (keeps the axis scale in range)
- Fixed automatic calibration function (gives pretty reliable results now) and moved vertical and horizontal calibration into
  one function
- Added a movement smooth factor (how much changes in the axes get scaled, the lower the smoother any movement gets recognized)
- Added an adjust parameter which controls the exponent of the adjustment function (default 3.0 meaning a cubic form)
- Added button mapping configuration
- Fixed a small error in the axis mapping, where values were mapped in range -127 to 128 where it should be -128 to 127
- Added setting save functionality
- Improved the readme with better instructions


Here's the full readme too for the people too lazy to open Notepad Razz
Quote
JoySens - Analog stick sensitivity plugin for OE firmwares
version 1.11

(C) 2007 Raphael <raphael@fx-world.org>




1. How to install

Copy joysens.prx and joysens.ini to ms0:/SEPLUGINS/ (Create if the folder doesn't exist).
Add the line "ms0:/SEPLUGINS/joysens.prx" to game.txt (and vsh.txt if you want).
Create those files if they don't exist.
Hard reboot your PSP into recovery menu (hold R Trigger during startup) and enable the plugin. Done.



2. Usage

This plugin changes the analog sticks sensitivity to more useablity in the following ways:
- It changes the axial mapping to a cubic (or other selected) form so that small movements don't get recognized too early.
  This means that you can move cursors more exactly and don't have it jumping around on the screen.
- It applies a sensitivity scale to linearly change the responsiveness (and maximal amplitude for values < 100%)
  of the stick. With this you can 'slow down' the analog stick.
- It filters movement of the analog stick so that abrupt changes are further smoothed (adjustable).
- It is possible to calibrate the analog stick so it centers properly

This makes the analog stick more useable for high-precision needs like FPS or anything where you move something
with the analog stick that needs to be placed next-to-pixel-precise.


OPTIONS

ENABLE -
   To turn the plugin on/off at any given time press NOTE + SELECT.

SENSITIVITY -
   To change sensitivity press NOTE + LEFT TRIGGER or NOTE + RIGHT TRIGGER.
   Default sensitivity is 100%. The minimum is 10% (which effectively makes the analog stick unuseable)
   and maximum is 400% (which is way sensitive).

SMOOTH -
   To change smoothness of movement press NOTE + LEFT or NOTE + RIGHT.
   Default smooth is 100%. The minimum is 10% (which effectively makes the analog stick unuseable)
   and maximum is 400% (which is way sensitive - the smallest change will give maximum amplitude already).

ADJUST -
   To change the adjust function exponent press NOTE + UP or NOTE + DOWN.
   Default is 3. Minimum is 0 (which really turns the analog stick off) and maximum is 32 (which only gives
   a response when the stick is moved to its extremes, making it quasi-digital). The higher this value the better
   the deadzone gets 'hidden'.
   A value of 1 will result in normal behaviour and anything < 1 will probably only make the stick behave worse.
   If you want to get an imagination of what you are setting with this, plot the function x * (x/127)^(a-1) in
   the range 0 to 127 for your chosen adjustment value a. If you don't have a clue about this, just forget it Razz

CENTER -
   To change the calibration either change it manually in the ini file (center) or try the following:
   - Move the analog stick to the top-left and hold it a few seconds, then release slowly until it's centered and don't
     touch it anymore. Press NOTE+SQUARE,
   - Move the analog stick to the bottom-right and hold a few seconds, release slowly until centered. Press NOTE+SQUARE.
   - Repeat these steps until the center point has been found correctly (optimally, this is the mean value of the axes
     minimal and maximal value when the stick isn't touched).
   Default value is <0,0>.

RESET -
   To reset all values to default press NOTE+CROSS.

INFO -
   To pin/unpin the info output press NOTE + TRIANGLE. This will make the info output stay on top of the screen
   even when no button is pressed.

   If not pinned to show the current settings only press and hold NOTE (won't work in all games perfectly - one being GTA:VCS,
   but it works in XMB flawlessly and without any flicker).
   You should see an output on the top-left of the screen like this:

   Adjusted analog axes: <16,12> -> <0,0>
   JoySens: on (info pinned)
   Sensitivity: 100%
   Smooth: 100%
   Adjust: 3.0
   Center: <0,0> (127,127) -> (-128, -128)

   The first line is important to check if the analog stick properly maps the axes. Optimally the second coordinate pair
   should be constantly <0,0> if you don't touch the stick (while the first pair might jump around) and still give the full
   range from -128 to 127 in both axes (unless sensitivity < 100%) when you move the stick to the extremes.
   This line doesn't give the proper values in XMB other than photo viewer, browser and system information as XMB doesn't poll
   the analog stick (see InsertWittyName's plugin for adding analog stick to your XMB - I didn't test for compatibility though).
   The last line gives the current center offset plus the measured minimum and maximum amplitude of untouched stick (gets
   updated with NOTE+SQUARE). They only should matter to you when you constantly get very odd values for center (values < -30 or > 30).
   
SAVE -
   To save the current settings press NOTE + CIRCLE.


Also, you can change the button mapping in the joysens.ini file by properly setting the buttons. Just make sure there
is no double mapping. Possible are SELECT,START,RTRIGGER,LTRIGGER,TRIANGLE,CROSS,CIRCLE,SQUARE,LEFT,RIGHT,UP,DOWN.
Any different value will turn off that function for online-adjustment.
You can't change the NOTE button mapping though.



3. Todo

- Better support for ingame info output (Find a better function hook than sceDisplaySetFrameBuf as some games seem to
  bypass that function - namely GTA:VCS).


This plugin was tested under CFW 3.10-OE-A', 3.40-OE-A and 3.51-M33-7 and in the games GTA:VCS, CoD:RTV, RidgeRacer and Tekken5:DR.



4. Updates

from v1.01:
- Added better calibration method (keeps the axis scale in range)
- Fixed automatic calibration function (gives pretty reliable results now) and moved vertical and horizontal calibration into
  one function
- Added a movement smooth factor (how much changes in the axes get scaled, the lower the smoother any movement gets recognized)
- Added an adjust parameter which controls the exponent of the adjustment function (default 3.0 meaning a cubic form)
- Added button mapping configuration
- Fixed a small error in the axis mapping, where values were mapped in range -127 to 128 where it should be -128 to 127
- Added setting save functionality
- Improved the readme with better instructions


from v1.0:
- Added compatibility for 3.40 OE and higher firmwares



5. Contact

http://wordpress.fx-world.org
raphael@fx-world.org



6. Thanks&Greets

Thanks to all who made the PSPSDK possible.
Special thanks to TyRaNiD for PSPLINK. The main function hook functionality is based on remotejoy's hook function.

Greets to the people from ps2dev.org and psp-programming.com



7. Disclaimer

This software was not produced by Sony Corp nor any of its affiliates or representatives.
It is not endorsed by Sony, therefore they hold no responsibility for the use of this modification with their product.
PlayStation is a registered trademark of Sony Computer Entertainment, to which I have no affiliation.

Use at your own risk. I may not be held responsible for any harm that this software causes to your PSP.


DOWNLOAD
« Last Edit: July 27, 2007, 03:30:45 PM by Raphael » Logged

Don't push the river, it flows.
http://wordpress.fx-world.org - my devblog
http://wiki.fx-world.org - VFPU documentation wiki
http://www.homebrew-illuminati.co.uk - serious homebrew development for all platforms
Alexander Berl
"A good mod is a combination playground monitor, priest, big brother/sister, psychiatrist, professor and more."


Raphael
Global Moderator
Hero Member
*

Karma: +230/-10
Offline Offline

Posts: 1431
193700.11 points

View Inventory
Send Money to Raphael


View Profile WWW
« Reply #1 on: July 29, 2007, 06:50:45 PM »

I wrote a tutorial about the functionality and how to configure it correctly today:
http://www.fx-world.org/wordpress/?page_id=35

If you like some maths too, you will find some interesting elaboration in that Smile
Logged

Don't push the river, it flows.
http://wordpress.fx-world.org - my devblog
http://wiki.fx-world.org - VFPU documentation wiki
http://www.homebrew-illuminati.co.uk - serious homebrew development for all platforms
Alexander Berl
"A good mod is a combination playground monitor, priest, big brother/sister, psychiatrist, professor and more."
dennis916
Newbie
*

Karma: +0/-0
Offline Offline

Posts: 1
139.65 points

View Inventory
Send Money to dennis916

View Profile
« Reply #2 on: March 26, 2008, 10:53:28 PM »

hi there raphael..i wanna ask ya..that the installation..Add the line "ms0:/SEPLUGINS/joysens.prx" to game.txt..this sentence what does it mean..? izzit like add seplugins and joysen.prx to game.txt? a game.txt is a notepad file or a folder..?
Logged
Pages: [1]
Print
Jump to:  

Powered by MySQL Powered by PHP Powered by SMF 1.1.11 | SMF © 2006-2009, Simple Machines LLC Valid XHTML 1.0! Valid CSS!
Page created in 0.33 seconds with 26 queries.
Sister Sites: Guitar Hero 4   BrokeniTouch.com