SceCtrl: Difference between revisions

From Vita Development Wiki
Jump to navigation Jump to search
mNo edit summary
Line 7: Line 7:
|-
|-
| 1.69 || SceCtrl || Non-secure || Kernel || 0x5E8CA7A0
| 1.69 || SceCtrl || Non-secure || Kernel || 0x5E8CA7A0
|-
| 3.65 || SceCtrl || Non-secure || Kernel || 0x3BAF0220
|}
|}


Line 23: Line 25:


== SceCtrlForDriver ==
== SceCtrlForDriver ==
=== Register virtual controller driver ===
=== ksceCtrlRegisterVirtualControllerDriver ===
{| class="wikitable"
{| class="wikitable"
|-
|-
Line 57: Line 59:
On the PSTV, the SceDS3 module calls this function to register the DS3/DS4 USB/Bluetooth driver.
On the PSTV, the SceDS3 module calls this function to register the DS3/DS4 USB/Bluetooth driver.
Only one virtual controller driver can be registered (the new one replaces the previous one).
Only one virtual controller driver can be registered (the new one replaces the previous one).
          SceCtrlForDriver_02081494: 0x02081494
          SceCtrlForDriver_03777131: 0x03777131
          SceCtrlForDriver_12C13A72: 0x12C13A72
          SceCtrlForDriver_46ABDDE8: 0x46ABDDE8
          SceCtrlForDriver_4CCB2153: 0x4CCB2153
          SceCtrlForDriver_5B708A15: 0x5B708A15
          SceCtrlForDriver_69E45836: 0x69E45836
          SceCtrlForDriver_7AD9467E: 0x7AD9467E
          SceCtrlForDriver_B25BD8FD: 0xB25BD8FD
          SceCtrlForDriver_B26C2231: 0xB26C2231
          SceCtrlForDriver_C8CE3E43: 0xC8CE3E43
          SceCtrlForDriver_DA07E970: 0xDA07E970
          SceCtrlForDriver_FF9D4DD4: 0xFF9D4DD4


== SceCtrl ==
== SceCtrl ==

Revision as of 15:03, 25 September 2018

Module

Known NIDs

Version Name World Privilege NID
1.69 SceCtrl Non-secure Kernel 0x5E8CA7A0
3.65 SceCtrl Non-secure Kernel 0x3BAF0220

Libraries

Known NIDs

Version Name World Visibility NID
1.69 SceCtrlForDriver Non-secure Kernel 0x7823A5D1
1.69 SceCtrl Non-secure User 0xD197E3C7

SceCtrlForDriver

ksceCtrlRegisterVirtualControllerDriver

Version World NID
3.60 Non-secure 0x18823EEA
typedef struct SceCtrlVirtualControllerDriver {
	int (*readButtons)(int port, SceCtrlData *pad_data, int count);
	int (*setActuator)(int port, const SceCtrlActuator* pState);
	int (*getBatteryInfo)(int port, SceUInt8 *batt);
	int (*disconnect)(int port);
	int (*setTurnOffInterval)(int port);
	int (*getActiveControllerPort)(void);
	int (*changePortAssign)(int port1, int port2);
	int (*unk0)(void); // SceCtrlForDriver_69E45836 equivalent
	int (*getControllerPortInfo)(SceCtrlPortInfo *info);
	int (*setLightBar)(int port, SceUInt8 r, SceUInt8 g, SceUInt8 b);
	int (*resetLightBar)(int port);
	int (*unk1)(int port); // SceCtrlForDriver_B26C2231 equivalent
	int (*singleControllerMode)(int port);
} SceCtrlVirtualControllerDriver; /* size 0x34 */
int SceCtrlForDriver_18823EEA(SceCtrlVirtualControllerDriver *driver);

On the PSTV, the SceDS3 module calls this function to register the DS3/DS4 USB/Bluetooth driver. Only one virtual controller driver can be registered (the new one replaces the previous one).

         SceCtrlForDriver_02081494: 0x02081494
         SceCtrlForDriver_03777131: 0x03777131
         SceCtrlForDriver_12C13A72: 0x12C13A72
         SceCtrlForDriver_46ABDDE8: 0x46ABDDE8
         SceCtrlForDriver_4CCB2153: 0x4CCB2153
         SceCtrlForDriver_5B708A15: 0x5B708A15
         SceCtrlForDriver_69E45836: 0x69E45836
         SceCtrlForDriver_7AD9467E: 0x7AD9467E
         SceCtrlForDriver_B25BD8FD: 0xB25BD8FD
         SceCtrlForDriver_B26C2231: 0xB26C2231
         SceCtrlForDriver_C8CE3E43: 0xC8CE3E43
         SceCtrlForDriver_DA07E970: 0xDA07E970
         SceCtrlForDriver_FF9D4DD4: 0xFF9D4DD4

SceCtrl

sceCtrlPeekBufferNegative

Version NID
1.69 0x104ED1A7

sceCtrlReadBufferNegative

Version NID
1.69 0x15F96FB0

sceCtrlSetButtonIntercept

Version NID
1.69 0x433D71F4

sceCtrlReadBufferPositive

Version NID
1.69 0x67E7AB83

sceCtrlGetButtonIntercept

Version NID
1.69 0x6FAFAD05

sceCtrlSetSamplingMode

Version NID
1.69 0xA497B150

sceCtrlPeekBufferPositiveExt

Version NID
1.69 0xA59454D3

sceCtrlPeekBufferPositive

Version NID
1.69 0xA9C3CED6

sceCtrlSetSamplingModeExt

Version NID
1.69 0xB1DC4378

sceCtrlGetSamplingModeExt

Version NID
1.69 0xBD27F830

sceCtrlClearRapidFire

Version NID
1.69 0xD8294C9C

sceCtrlReadBufferPositiveExt

Version NID
1.69 0xE2D99296

sceCtrlSetRapidFire

Version NID
1.69 0xE9CB69C8

sceCtrlGetSamplingMode

Version NID
1.69 0xEC752AAF