The PSP offers various sceCtrl*
functions for reading the state of the buttons. These functions provide the button
state as a single integer bit mask.
Depending on the cheat device being used the following options may be available for reading the button state:
- Use a code type (or similar) specifically provided by the cheat device to read button state.
- Identify the memory address where the game writes button state to and use the condition types or assembly to toggle the cheat.
The following table shows the possible values of the controller button data. Note that the kernel mode flags will NOT be available when using button data that has been read by the game.
Button | Code |
---|---|
User mode flags | |
PSP_CTRL_SELECT | 0x00000001 |
PSP_CTRL_START | 0x00000008 |
PSP_CTRL_UP | 0x00000010 |
PSP_CTRL_RIGHT | 0x00000020 |
PSP_CTRL_DOWN | 0x00000040 |
PSP_CTRL_LEFT | 0x00000080 |
PSP_CTRL_LTRIGGER | 0x00000100 |
PSP_CTRL_RTRIGGER | 0x00000200 |
PSP_CTRL_TRIANGLE | 0x00001000 |
PSP_CTRL_CIRCLE | 0x00002000 |
PSP_CTRL_CROSS | 0x00004000 |
PSP_CTRL_SQUARE | 0x00008000 |
Kernel mode flags | |
PSP_CTRL_HOME | 0x00010000 |
PSP_CTRL_HOLD | 0x00020000 |
PSP_CTRL_NOTE | 0x00800000 |
PSP_CTRL_SCREEN | 0x00400000 |
PSP_CTRL_VOLUP | 0x00100000 |
PSP_CTRL_VOLDOWN | 0x00200000 |
PSP_CTRL_WLAN_UP | 0x00040000 |
PSP_CTRL_REMOTE | 0x00080000 |
PSP_CTRL_DISC | 0x01000000 |
PSP_CTRL_MS | 0x02000000 |