6 uint16_t pad_bnstate[2], pad_prev_bnstate[2], pad_bndiff[2];
9 static inline void pad_update(int pad)
11 pad_prev_bnstate[pad] = pad_bnstate[pad];
12 pad_bnstate[pad] = pad_6bn ? io_readpad6(pad) : io_readpad(pad);
13 pad_bndiff[pad] = pad_bnstate[pad] ^ pad_prev_bnstate[pad];
16 static inline int pad_pressed(int pad, uint16_t mask)
18 return (pad_bnstate[pad] & mask & pad_bndiff[pad]) != 0;
21 static inline int pad_released(int pad, uint16_t mask)
23 return (~pad_bnstate[pad] & mask & pad_bndiff[pad]) != 0;
26 static inline uint16_t pad_getstate(int pad)
28 return pad_bnstate[pad];