Toggle menu
Toggle personal menu
Not logged in
Your IP address will be publicly visible if you make any edits.

DS34Motion Vita: Difference between revisions

From GameBrew
m (Text replacement - "GameBrew!" to "GameBrew")
No edit summary
Line 15: Line 15:
|license=MIT
|license=MIT
|download=https://dlhb.gamebrew.org/vitahomebrews/ds34motionvita.7z
|download=https://dlhb.gamebrew.org/vitahomebrews/ds34motionvita.7z
|website=https://github.com/MERLev/DS34Motion
|website=https://www.reddit.com/r/vitahacks/comments/jt07v7/release_ds34vita/
|source=https://github.com/MERLev/DS34Motion
|source=https://github.com/MERLev/DS34Motion
}}
}}
'''DS34Motion''' is a dualShock motion control support for PlayStation TV.
DS34Motion is a HENkaku plugins which adds motion control support for PlayStation TV with DualShock controllers. The only difference from [[DSMotion Vita|DSMotion]] is [[reVita]] compatibility.


==What is DS34Motion?==
It can also be used on a real PS Vita with [[Ds3vita|ds3vita]] or [[Ds4vita|ds4vita]] plugins to replace the console internal motion sensors by those from the controller (however, it doesn't work well with "ds3vita", see limitations section).
DS34Motion is a henkaku plugins which adds motion control support for PlayStation TV with DualShock controllers. The only difference from DSMotion is reVita compatibility.
 
It can also be used on a real PS Vita with "ds3vita" or "ds4vita" plugins to replace the console internal motion sensors by those from the controller (however, it doesn't work well with "ds3vita", see limitations section).


==Installation==
There are 2 plugins:
There are 2 plugins:
*Kernel plugin ds34motion.skprx - It hooks BlueTooth calls to catch DualShock controller packets and exposes user services to get the intercepted motion data.
*User plugin ds34motion.suprx - It calls the kernel plugin services and reinterprets the given data for SceMotion functions return.


* Kernel plugin '''ds34motion.skprx''': it hooks BlueTooth calls to catch DualShock controller packets and exposes user services to get the intercepted motion data
In order to activate those plugins features, you must edit your ux0(ur0):tai/config.txt file
* User plugin '''ds34motion.suprx''': it calls the kernel plugin services and reinterprets the given data for SceMotion functions return
 
==Screenshot==
[[image:ds34motionvita.jpg|600px]]


== How To Install DS34Motion==
*KERNEL
In order to activate those plugins featues, you must edit your <code>ux0:tai/config.txt</code> file:
ux0:tai/ds34motion.skprx
*TITLEID00
ux0:tai/ds34motion.suprx


<pre class="notranslate">*KERNEL
Replace TITLEID00 by a title identifier which needs motion control or by ALL to affect all titles.
ux0:tai/ds34motion.skprx


*TITLEID00
Please also refer to the [https://github.com/MERLev/reVita/wiki/External-Controllers tai/config.txt order table].
ux0:tai/ds34motion.suprx</pre>


Replace '''TITLEID00''' by a title identifier which needs motion control or by '''ALL''' to affect all titles.
==User guide==
===Compatibility===
*NPXS10007 - Welcome Park - The skate board game is playable.
*PCSF00214 - Tearaway - Introduction which asks to shake the PS Vita can now be passed by shaking the controller.
*PCSF00349 - Flower - The game is playable.
*PCSF00007 - WipEout 2048 - The game can be played with motion commands option.
*PCSA00029 - Uncharted Golden Abyss - River game at chapter 12 and other balance mini-games can be completed.
*PCSB00360 - Rayman Legends - Murfy can now perform actions which requires motion control.
*PCSB00031 - Virtua Tennis 4 - "Match VR" mode could feel it has inverted horizontal controls (read limitations).
*PCSF00024 - Gravity Rush - "No gravity" mode could feel it inverted horizontal controls (read limitations).


== DS34Motion's Compatibility List ==
===Limitations===
* NPXS10007 - Welcome Park - The skate board game is playable.
*If a DualShock 3 controller is used, it must not be directly plugged with USB on the PS TV otherwise, signal will be sent through USB instead of BlueTooth (and it won't be catched): use an external charger for the controller.
* PCSF00214 - Tearaway - Introduction which asks to shake the PS Vita can now be passed by shaking the controller.
*It doesn't work well on classic PS Vita with "ds3vita": for an unknown reason, motion control samples seems to be too much spaced over time.
* PCSF00349 - Flower - The game is playable.
*It hooks documented "SceMotion" user functions instead of undocumented "SceMotionDev" kernel functions: if we could understand those kernel functions, we could have more compatibility with a single kernel plugin (no more need for a user plugin).
* PCSF00007 - WipEout 2048 - The game can be played with motion commands option.
*Computed orientation is wrong when the controller is turned upside down (it could happen in a game when you try to look too verticaly high).
* PCSA00029 - Uncharted Golden Abyss - River game at chapter 12 and other balance mini-games can be completed.
*Currently, gyroscope data is not exploited during orientation compute (due to drift problems I had when I tried), feel free to give help if you have some maths/IMU skills.
* PCSB00360 - Rayman Legends - Murfy can now perform actions which requires motion control.
*Some games could be perceived like they have inverted horizontal controls (specially during FPS and TPS viewpoints) but it is a wrong impression (on a real PS Vita, tilting the device on the left also makes the view goes to the right and vice versa).
* PCSB00031 - Virtua Tennis 4 - &quot;Match VR&quot; mode could feel it has inverted horizontal controls (read limitations).
* PCSF00024 - Gravity Rush - &quot;No gravity&quot; mode could feel it inverted horizontal controls (read limitations).


== Limitations Of DS34Motion==
==Compatibility==
* If a DualShock 3 controller is used, it must not be directly plugged with USB on the PS TV otherwise, signal will be sent through USB instead of BlueTooth (and it won't be catched): use an external charger for the controller.
Firmware base: 3.60.
* It doesn't work well on classic PS Vita with &quot;ds3vita&quot;: for an unknown reason, motion control samples seems to be too much spaced over time.
* It hooks documented &quot;SceMotion&quot; user functions instead of undocumented &quot;SceMotionDev&quot; kernel functions: if we could understand those kernel functions, we could have more compatibility with a single kernel plugin (no more need for a user plugin).
* Computed orientation is wrong when the controller is turned upside down (it could happen in a game when you try to look too verticaly high).
* Currently, gyroscope data is not exploited during orientation compute (due to drift problems I had when I tried), feel free to give help if you have some maths/IMU skills!
* Some games could be perceived like they have inverted horizontal controls (specially during FPS and TPS viewpoints) but it is a wrong impression (on a real PS Vita, tilting the device on the left also makes the view goes to the right and vice versa).


==Changelog==
==Changelog==
'''(v.1.3.1)'''
'''v1.3.1'''
*[fix] Random rashes
*[fix] Random rashes.
*[fix] Unresponsivness, when combined with ds34vita / ds4vita
*[fix] Unresponsivness, when combined with ds34vita / ds4vita.


'''(v.1.3.0)'''
'''v1.3.0'''
* Moved logic from user to kernel. Exported functions for other plugins…
* Moved logic from user to kernel. Exported functions for other plugins.


== Credits ==
==Credits==
* '''xerpi''' for his &quot;ds3vita&quot; and &quot;ds4vita&quot; plugins source code which helped me a lot to understand BlueTooth communication!
*xerpi for his [[Ds3vita|ds3vita]] and [[Ds4vita|ds4vita]] plugins source code which helped me a lot to understand BlueTooth communication.
* '''TheFlow''' for his &quot;VitaShell&quot; source code which helped me to understand how to export functions from kernel plugin and call them in user plugin
*TheFlow for his [[VitaShell]] source code which helped me to understand how to export functions from kernel plugin and call them in user plugin.
* '''YifanLu''' for Henkaku which makes everything possible (except coffee) on this device!
*YifanLu for Henkaku which makes everything possible (except coffee) on this device.


== External links ==
== External links ==
* Github - https://github.com/MERLev/DS34Motion
* Github - https://github.com/MERLev/DS34Motion

Revision as of 05:46, 10 Ocak 2023

DS34Motion
File:Ds34motionvita.jpg
General
AuthorMERLev
TypePlugins
Version1.3.1
LicenseMIT License
Last Updated2020/11/22
Links
Download
Website
Source

DS34Motion is a HENkaku plugins which adds motion control support for PlayStation TV with DualShock controllers. The only difference from DSMotion is reVita compatibility.

It can also be used on a real PS Vita with ds3vita or ds4vita plugins to replace the console internal motion sensors by those from the controller (however, it doesn't work well with "ds3vita", see limitations section).

Installation

There are 2 plugins:

  • Kernel plugin ds34motion.skprx - It hooks BlueTooth calls to catch DualShock controller packets and exposes user services to get the intercepted motion data.
  • User plugin ds34motion.suprx - It calls the kernel plugin services and reinterprets the given data for SceMotion functions return.

In order to activate those plugins features, you must edit your ux0(ur0):tai/config.txt file

*KERNEL
ux0:tai/ds34motion.skprx

*TITLEID00
ux0:tai/ds34motion.suprx

Replace TITLEID00 by a title identifier which needs motion control or by ALL to affect all titles.

Please also refer to the tai/config.txt order table.

User guide

Compatibility

  • NPXS10007 - Welcome Park - The skate board game is playable.
  • PCSF00214 - Tearaway - Introduction which asks to shake the PS Vita can now be passed by shaking the controller.
  • PCSF00349 - Flower - The game is playable.
  • PCSF00007 - WipEout 2048 - The game can be played with motion commands option.
  • PCSA00029 - Uncharted Golden Abyss - River game at chapter 12 and other balance mini-games can be completed.
  • PCSB00360 - Rayman Legends - Murfy can now perform actions which requires motion control.
  • PCSB00031 - Virtua Tennis 4 - "Match VR" mode could feel it has inverted horizontal controls (read limitations).
  • PCSF00024 - Gravity Rush - "No gravity" mode could feel it inverted horizontal controls (read limitations).

Limitations

  • If a DualShock 3 controller is used, it must not be directly plugged with USB on the PS TV otherwise, signal will be sent through USB instead of BlueTooth (and it won't be catched): use an external charger for the controller.
  • It doesn't work well on classic PS Vita with "ds3vita": for an unknown reason, motion control samples seems to be too much spaced over time.
  • It hooks documented "SceMotion" user functions instead of undocumented "SceMotionDev" kernel functions: if we could understand those kernel functions, we could have more compatibility with a single kernel plugin (no more need for a user plugin).
  • Computed orientation is wrong when the controller is turned upside down (it could happen in a game when you try to look too verticaly high).
  • Currently, gyroscope data is not exploited during orientation compute (due to drift problems I had when I tried), feel free to give help if you have some maths/IMU skills.
  • Some games could be perceived like they have inverted horizontal controls (specially during FPS and TPS viewpoints) but it is a wrong impression (on a real PS Vita, tilting the device on the left also makes the view goes to the right and vice versa).

Compatibility

Firmware base: 3.60.

Changelog

v1.3.1

  • [fix] Random rashes.
  • [fix] Unresponsivness, when combined with ds34vita / ds4vita.

v1.3.0

  • Moved logic from user to kernel. Exported functions for other plugins.

Credits

  • xerpi for his ds3vita and ds4vita plugins source code which helped me a lot to understand BlueTooth communication.
  • TheFlow for his VitaShell source code which helped me to understand how to export functions from kernel plugin and call them in user plugin.
  • YifanLu for Henkaku which makes everything possible (except coffee) on this device.

External links

Advertising: