sdk-core v2026.11.05
PS2 SDK - core tier (build-critical EE/IOP modules)
Loading...
Searching...
No Matches
freepad.h File Reference
#include "irx.h"
#include "types.h"

Go to the source code of this file.

Classes

struct  vblankData_t
struct  ee_paddata_t
struct  ee_old_paddata_t
struct  padState_t

Macros

#define MODNAME   "freepad"
#define M_PRINTF(format, args...)
#define M_KPRINTF(format, args...)
#define D_PRINTF(a...)
#define PADMAN_THPRI_LO   46
#define PADMAN_THPRI_HI   20
#define SB_STAT   *((volatile unsigned int*)0xBD000040)
#define PAD_STATE_DISCONN   0x00
#define PAD_STATE_FINDPAD   0x01
#define PAD_STATE_FINDCTP1   0x02
#define PAD_STATE_EXECCMD   0x05
#define PAD_STATE_STABLE   0x06
#define PAD_STATE_ERROR   0x07
#define PAD_RSTAT_COMPLETE   0x00
#define PAD_RSTAT_FAILED   0x01
#define PAD_RSTAT_BUSY   0x02
#define PAD_TYPE_NEJICON   0x2
#define PAD_TYPE_KONAMIGUN   0x3
#define PAD_TYPE_DIGITAL   0x4
#define PAD_TYPE_ANALOG   0x5
#define PAD_TYPE_NAMCOGUN   0x6
#define PAD_TYPE_DUALSHOCK   0x7
#define PAD_MODEL_DUALSHOCK   0x1
#define PAD_MODEL_DUALSHOCK2   0x3
#define MODE_CONFIG_NO_PAD   0x0
#define MODE_CONFIG_QUERY_PAD   0x1
#define MODE_CONFIG_READY   0x2
#define TASK_NONE   0
#define TASK_UPDATE_PAD   1
#define TASK_QUERY_PAD   2
#define TASK_PORT_CLOSE   3
#define TASK_SET_MAIN_MODE   4
#define TASK_SET_ACT_ALIGN   5
#define TASK_SET_BUTTON_INFO   6
#define TASK_SET_VREF_PARAM   7
#define EF_UPDATE_PAD   0x0001
#define EF_QUERY_PAD   0x0002
#define EF_SET_MAIN_MODE   0x0008
#define EF_SET_ACT_ALIGN   0x0010
#define EF_SET_SET_BUTTON_INFO   0x0020
#define EF_SET_VREF_PARAM   0x0040
#define EF_PAD_TRANSFER_START   0x0080
#define EF_PAD_TRANSFER_DONE   0x0100
#define EF_TASK_DONE   0x0200
#define EF_PORT_CLOSE   0x0400
#define EF_EXIT_THREAD   0x1000
#define EF_VB_TRANSFER   0x0001
#define EF_VB_TRANSFER_DONE   0x0004
#define EF_VB_WAIT_THREAD_EXIT   0x0008

Functions

void WaitClearEvent (int eventflag, u32 bits, int mode, u32 *resbits_out)
int VblankStart (void *arg)
int VblankEnd (void *arg)
s32 padInit (void *ee_addr)
s32 padEnd (void)
s32 padPortClose (s32 port, s32 slot, s32 wait)
s32 padPortOpen (s32 port, s32 slot, s32 pad_area_ee_addr, u32 *buf)
u32 padSetMainMode (u32 port, u32 slot, u32 mode, u32 lock)
u32 padSetActDirect (u32 port, u32 slot, u8 *actData)
u32 padSetActAlign (u32 port, u32 slot, const u8 *actData)
u32 padGetButtonMask (u32 port, u32 slot)
u32 padSetButtonInfo (u32 port, u32 slot, u32 info)
u32 padSetVrefParam (u32 port, u32 slot, const u8 *vparam)
s32 padInfoAct (u32 port, u32 slot, s32 act, u32 val)
s32 padInfoComb (u32 port, u32 slot, s32 listno, u32 offs)
s32 padInfoMode (u32 port, u32 slot, s32 term, u32 offs)
u32 padGetPortMax (void)
u32 padGetSlotMax (u32 port)
u32 padGetModVersion (void)

Detailed Description

IOP pad driver

Definition in file freepad.h.

Macro Definition Documentation

◆ D_PRINTF

#define D_PRINTF ( a...)
Value:
(void)0

Definition at line 26 of file freepad.h.

◆ EF_EXIT_THREAD

#define EF_EXIT_THREAD   0x1000

Definition at line 90 of file freepad.h.

◆ EF_PAD_TRANSFER_DONE

#define EF_PAD_TRANSFER_DONE   0x0100

Definition at line 87 of file freepad.h.

◆ EF_PAD_TRANSFER_START

#define EF_PAD_TRANSFER_START   0x0080

Definition at line 86 of file freepad.h.

◆ EF_PORT_CLOSE

#define EF_PORT_CLOSE   0x0400

Definition at line 89 of file freepad.h.

◆ EF_QUERY_PAD

#define EF_QUERY_PAD   0x0002

Definition at line 80 of file freepad.h.

◆ EF_SET_ACT_ALIGN

#define EF_SET_ACT_ALIGN   0x0010

Definition at line 83 of file freepad.h.

◆ EF_SET_MAIN_MODE

#define EF_SET_MAIN_MODE   0x0008

Definition at line 82 of file freepad.h.

◆ EF_SET_SET_BUTTON_INFO

#define EF_SET_SET_BUTTON_INFO   0x0020

Definition at line 84 of file freepad.h.

◆ EF_SET_VREF_PARAM

#define EF_SET_VREF_PARAM   0x0040

Definition at line 85 of file freepad.h.

◆ EF_TASK_DONE

#define EF_TASK_DONE   0x0200

Definition at line 88 of file freepad.h.

◆ EF_UPDATE_PAD

#define EF_UPDATE_PAD   0x0001

Definition at line 79 of file freepad.h.

◆ EF_VB_TRANSFER

#define EF_VB_TRANSFER   0x0001

Definition at line 93 of file freepad.h.

◆ EF_VB_TRANSFER_DONE

#define EF_VB_TRANSFER_DONE   0x0004

Definition at line 94 of file freepad.h.

◆ EF_VB_WAIT_THREAD_EXIT

#define EF_VB_WAIT_THREAD_EXIT   0x0008

Definition at line 95 of file freepad.h.

◆ M_KPRINTF

#define M_KPRINTF ( format,
args... )
Value:
Kprintf(MODNAME ": " format, ## args)

Definition at line 21 of file freepad.h.

◆ M_PRINTF

#define M_PRINTF ( format,
args... )
Value:
printf(MODNAME ": " format, ## args)

Definition at line 20 of file freepad.h.

◆ MODE_CONFIG_NO_PAD

#define MODE_CONFIG_NO_PAD   0x0

Definition at line 64 of file freepad.h.

◆ MODE_CONFIG_QUERY_PAD

#define MODE_CONFIG_QUERY_PAD   0x1

Definition at line 65 of file freepad.h.

◆ MODE_CONFIG_READY

#define MODE_CONFIG_READY   0x2

Definition at line 66 of file freepad.h.

◆ MODNAME

#define MODNAME   "freepad"

Definition at line 19 of file freepad.h.

◆ PAD_MODEL_DUALSHOCK

#define PAD_MODEL_DUALSHOCK   0x1

Definition at line 61 of file freepad.h.

◆ PAD_MODEL_DUALSHOCK2

#define PAD_MODEL_DUALSHOCK2   0x3

Definition at line 62 of file freepad.h.

◆ PAD_RSTAT_BUSY

#define PAD_RSTAT_BUSY   0x02

Definition at line 49 of file freepad.h.

◆ PAD_RSTAT_COMPLETE

#define PAD_RSTAT_COMPLETE   0x00

Definition at line 47 of file freepad.h.

◆ PAD_RSTAT_FAILED

#define PAD_RSTAT_FAILED   0x01

Definition at line 48 of file freepad.h.

◆ PAD_STATE_DISCONN

#define PAD_STATE_DISCONN   0x00

Definition at line 37 of file freepad.h.

◆ PAD_STATE_ERROR

#define PAD_STATE_ERROR   0x07

Definition at line 42 of file freepad.h.

◆ PAD_STATE_EXECCMD

#define PAD_STATE_EXECCMD   0x05

Definition at line 40 of file freepad.h.

◆ PAD_STATE_FINDCTP1

#define PAD_STATE_FINDCTP1   0x02

Definition at line 39 of file freepad.h.

◆ PAD_STATE_FINDPAD

#define PAD_STATE_FINDPAD   0x01

Definition at line 38 of file freepad.h.

◆ PAD_STATE_STABLE

#define PAD_STATE_STABLE   0x06

Definition at line 41 of file freepad.h.

◆ PAD_TYPE_ANALOG

#define PAD_TYPE_ANALOG   0x5

Definition at line 57 of file freepad.h.

◆ PAD_TYPE_DIGITAL

#define PAD_TYPE_DIGITAL   0x4

Definition at line 56 of file freepad.h.

◆ PAD_TYPE_DUALSHOCK

#define PAD_TYPE_DUALSHOCK   0x7

Definition at line 59 of file freepad.h.

◆ PAD_TYPE_KONAMIGUN

#define PAD_TYPE_KONAMIGUN   0x3

Definition at line 55 of file freepad.h.

◆ PAD_TYPE_NAMCOGUN

#define PAD_TYPE_NAMCOGUN   0x6

Definition at line 58 of file freepad.h.

◆ PAD_TYPE_NEJICON

#define PAD_TYPE_NEJICON   0x2

Definition at line 54 of file freepad.h.

◆ PADMAN_THPRI_HI

#define PADMAN_THPRI_HI   20

Definition at line 30 of file freepad.h.

◆ PADMAN_THPRI_LO

#define PADMAN_THPRI_LO   46

Definition at line 29 of file freepad.h.

◆ SB_STAT

#define SB_STAT   *((volatile unsigned int*)0xBD000040)

Definition at line 32 of file freepad.h.

◆ TASK_NONE

#define TASK_NONE   0

Definition at line 69 of file freepad.h.

◆ TASK_PORT_CLOSE

#define TASK_PORT_CLOSE   3

Definition at line 72 of file freepad.h.

◆ TASK_QUERY_PAD

#define TASK_QUERY_PAD   2

Definition at line 71 of file freepad.h.

◆ TASK_SET_ACT_ALIGN

#define TASK_SET_ACT_ALIGN   5

Definition at line 74 of file freepad.h.

◆ TASK_SET_BUTTON_INFO

#define TASK_SET_BUTTON_INFO   6

Definition at line 75 of file freepad.h.

◆ TASK_SET_MAIN_MODE

#define TASK_SET_MAIN_MODE   4

Definition at line 73 of file freepad.h.

◆ TASK_SET_VREF_PARAM

#define TASK_SET_VREF_PARAM   7

Definition at line 76 of file freepad.h.

◆ TASK_UPDATE_PAD

#define TASK_UPDATE_PAD   1

Definition at line 70 of file freepad.h.

Function Documentation

◆ padEnd()

s32 padEnd ( void )
extern

Ends all pad communication Note: PADMAN from release 1.3.4 does not have padPortInit implemented. As a result, it is impossible to reinitialize libpad after calling padEnd(). This was known as padClose in the really early official SDK releases.

Returns
== 1 => OK

Definition at line 434 of file libpad.c.

◆ padGetButtonMask()

u32 padGetButtonMask ( u32 port,
u32 slot )
extern

Definition at line 340 of file padMiscFuncs.c.

◆ padGetModVersion()

u32 padGetModVersion ( void )
extern

Returns the padman.irx version NOT SUPPORTED on module rom0:padman

Definition at line 795 of file libpad.c.

◆ padGetPortMax()

u32 padGetPortMax ( void )
extern

Returns # slots on the PS2 (usally 2)

Definition at line 744 of file libpad.c.

◆ padGetSlotMax()

u32 padGetSlotMax ( u32 port)
extern

Definition at line 421 of file padMiscFuncs.c.

◆ padInfoAct()

s32 padInfoAct ( u32 port,
u32 slot,
s32 act,
u32 val )
extern

Definition at line 127 of file padMiscFuncs.c.

◆ padInfoComb()

s32 padInfoComb ( u32 port,
u32 slot,
s32 listno,
u32 offs )
extern

Definition at line 157 of file padMiscFuncs.c.

◆ padInfoMode()

s32 padInfoMode ( u32 port,
u32 slot,
s32 term,
u32 offs )
extern

Definition at line 187 of file padMiscFuncs.c.

◆ padInit()

s32 padInit ( void * ee_addr)
extern

Definition at line 677 of file padInit.c.

◆ padPortClose()

s32 padPortClose ( s32 port,
s32 slot,
s32 wait )
extern

Definition at line 75 of file padMiscFuncs.c.

◆ padPortOpen()

s32 padPortOpen ( s32 port,
s32 slot,
s32 pad_area_ee_addr,
u32 * buf )
extern

Definition at line 662 of file padPortOpen.c.

◆ padSetActAlign()

u32 padSetActAlign ( u32 port,
u32 slot,
const u8 * actData )
extern

Definition at line 318 of file padMiscFuncs.c.

◆ padSetActDirect()

u32 padSetActDirect ( u32 port,
u32 slot,
u8 * actData )
extern

Definition at line 294 of file padMiscFuncs.c.

◆ padSetButtonInfo()

u32 padSetButtonInfo ( u32 port,
u32 slot,
u32 info )
extern

Definition at line 358 of file padMiscFuncs.c.

◆ padSetMainMode()

u32 padSetMainMode ( u32 port,
u32 slot,
u32 mode,
u32 lock )
extern

Definition at line 105 of file padMiscFuncs.c.

◆ padSetVrefParam()

u32 padSetVrefParam ( u32 port,
u32 slot,
const u8 * vparam )
extern

Definition at line 391 of file padMiscFuncs.c.

◆ VblankEnd()

int VblankEnd ( void * arg)
extern

Definition at line 669 of file padInit.c.

◆ VblankStart()

int VblankStart ( void * arg)
extern

Definition at line 644 of file padInit.c.

◆ WaitClearEvent()

void WaitClearEvent ( int eventflag,
u32 bits,
int mode,
u32 * resbits_out )
extern

Definition at line 134 of file freepad.c.