JoySens PSP

From GameBrew
JoySens
Joysens.png
General
Authorneur0n
TypePlugins
Version1.5 mod
LicenseMixed
Last Updated2018/07/29
Links
Download
Website
Source

JoySens is a Custom Firmware plugin for Sony PSP. Originally created by Alexander Raphael Berl (aka Raphael), it allows you to control the sensitivity of the analog stick in a very efficient way as well as "repair" faulty analog sticks.

It enables you to tweak all aspects of your PSP joystick/joypad. Remap your PSP buttons, reset the joysticks dead-zone. There is also a feature that allows you to swap controls between D-Pad and Analog.

This modified version is made by neuro0n to supports firmwares 6.xx (based on version 1.5 of the orginal JoySens).

Installation

Joysens comes in a normal version (joysens.prx) and a lite version (joysens_lite.prx).

  • Normal - Support config file saving, in-game info output and in-game config button settings.
  • Lite - Changing settings/configs for specfic games need to be made through joysens.ini manually. Does not support config file saving and no in-game info output.

You can use either verison base on your preferences. If you have problems running the normal version, it is recommended to try the lite version as it is smaller in size and RAM/CPU usage.

To install, copy the corresponding .prx file as well as jpysens.ini to your ms0:/seplugins/ folder.

Edit game.txt, game150.txt and vsh.txt and add the following line (use either depending on which version you are using)

ms0:/seplugins/joysens.prx
ms0:/seplugins/joysens_lite.prx

Append the following lines to pops.txt (it only needs 2 lines, the 1st line with popsloader.prx and the 2nd line is depending on the version you chose to use)

ms0:/seplugins/popsloader.prx
ms0:/seplugins/joysens.prx
ms0:/seplugins/joysens_lite.prx

Hard reboot your PSP into Recovery menu (hold R-Trigger during startup) or start from VSH if you have the proper Recovery menu plugin installed and enable the joysens or joysens_lite plugin.

User guide

Info output

If you are using normal version, you will be able to toggle info output on the top-left of the screen.

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)
Remap Analog->DPad

Basics

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 unless you enable FORCEANALOG (set to 1).

The second to last line gives the current center offset plus the current set minimum and maximum amplitude to rescale input. They only should matter to you when your analog doesn't (or very slowly) respond in one or two directions.

The last line shows the current remapping method.

Note from developer:

The info output does not work in all games (though it does in most and in XMB), so even when you don't see anything, the plugin might still be running.

To check that, set the adjust parameter to 0 and see if the analog stick is turned off in game. If so, the plugin works and only the info output isn't.

If you don't get any info output even in XMB, then the plugin doesn't work. Check that you installed and enabled the plugin correctly in your CFW's Recovery menu.

Sensitivity

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. Default is 100%.

Smooth

It filters movement of the analog stick so that abrupt changes are further smoothed (adjustable). Default is 100%.

Adjust

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. Also, this greatly reduces and fixes the "ghosting" of a faulty analog stick.

Default is 3. Minimum is 0 (essentially turning the analog stick off) and maximum is 32 (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.

Centre

This setting allows you to calibrate the analog stick so it centers properly. You can change it manually in the ini file (center). Default value is <0,0>.

Alternatively on your PSP, 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).

Rescale

Possible to rescale the analog stick so it returns correct ranged values (when analog doesn't work in one or two directions any more).

Values should be close to (-128,-128) -> (127,127) but only if your Analog stick is really faulty.

Force Analog

You can select to force analog stick input to be enabled. This is useful for the XMB to be able to control it with analog.

It does not harm any games that already poll analog input, hence why there is no enable/disable button combination (you can assign a button to that function though in the ini file).

Remap

You can remap and swap between D-Pad, Circle buttons and Analog, so you can play games that require Analog input with a broken stick/control the XMB with the Analog.

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.

You can find more details of how to remap button settings from the readme file.

Controls

Note (hold) - Display info output

Note+Triangle - Pin/unpin info output

Note+R/L - Increase/decrease sensitivity

Note+Right/Left - Chhange smoothness of movement

Note+Up/Down - Increase/decrease the adjust function exponent

Note+Start - Swap output between Analog and D-Pad, Other remap options

Note+Cross - Reset sensitivity and calibration settings

Note+Circle - Save changes

Note+Select - Activate/deactivate plugin

Screenshots

joysens.gif

Media

PSP - JOYSENS - How to disable Analog stick (Tìwi Tiwí)

Compatibility

Tested and works on the following Custom Firmwares:

3.10 OE-A
3.40 OE-A
3.51 M33
3.71 M33
4.01 M33
5.00 M33
6.39 ME and Updates
6.60 ME and Updates

Changelog

v1.50 mod (by neur0n)

  • Fix for Firmware >= 6.0.

v1.5 (by Raphael)

  • Code cleanup.
  • Added possibility to choose only from a selected list of remapmodes (i.e. only switch between your favorite modes) per game/vsh.
  • Fixed that adjust=0 will turn off the analog.
  • Added LITE version, that does not support config file saving, no ingame info output as well as no ingame config settings with buttons.
  • Added "threshold" config parameter, to adjust button remapping from analog.
  • Added "thresholdupbtn" and "thresholddownbtn" config parameters, to set buttons for setting the threshold ingame.
  • Added "idlestop" and "idleback" config parameters, to set when the analog movement stops the idle timer or returns back from idle (brightness dimming/display off feature of PSP firmware).
  • Optimized config file reading a bit.
  • Updated FAQ.

v1.42b

  • Fixed saving settings bug killing the .ini file.

v1.42

  • Fixed compatibility issues with Sony UMD driver (and possibly some other applications that require more kernel memory) The config file system now uses a mere 1Kb of RAM where it used 24+Kb in 1.4/1.41.
  • Reduced module size a bit (to further help memory problems).
  • Added a workaround info output for POPS (flickers a lot, but at least you see something).
  • Fixed the adjust calculation to avoid crashes for high values (shouldn't happen anymore even with adjust 32.0).
  • Fixed a little Button remapping bug.

v1.41

  • Fixed crash when saving settings from game.
  • Fixed JoySens not starting in homebrew.
  • Made JoySens not boot in recovery.

v1.4

  • Added support for configs for different modes (VSH/POPS) and game/eboot paths.
  • Added analog<->Buttons mapping modes.
  • Fixed primary button mapping.
  • Fixed HOLD button preventing analog input.
  • Fixed to keep PSP from suspending/shutting down LCD if analog was pressed.
  • Fixed font output shadow making it better readable on light background.
  • Improved auto-center function a bit.
  • checked compatibility with CFW up to 4.01-M33-2.
  • Made installation easier.

v1.3

  • Added a rescaling functionality to fix analog sticks that return too small values in either direction (hence the analog stick wouldn't react in that direction).
  • Added DPad/analog swapping.
  • Made plugin executable smaller by reverting to kernels libc and implementing a fake pow() function rather than linking libm.
  • Ensured compatibility with homebrew (actually needs the plugin enabled in game150.txt/game3xx.txt depending on the set kernel mode).
  • Added FAQ.txt for some frequently asked questions.
  • Fixed a minor bug that could cause the plugin and the PSP to crash when using the auto-center function.

v1.2

  • Fixed a major bug with the calibration function that scaled the range wrongly (should now really be useable).
  • Added a function to map the DPad buttons to analog in case you can't fix your analog stick but a game requires analog stick.
  • Added a function to force analog input (for XMB for example).
  • Added a function to map the analog to DPad (to control XMB with analog).
  • Added button mappings for SCREEN (brightness), VOLUP and VOLDOWN.

v1.11

  • 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.

v1.01

  • Added compatibility for 3.40 OE and higher firmwares.

External links

Advertising: