/** * \par Function * loop * \par Description * Save the MePS2 datas to the datalist. * \param[in] * None * \par Output * None * \par Return * None * \par Others * None */ void MePS2::loop(void) { if (readjoystick() ) { ps2_data_list[MePS2_LX] = buffer[2]; ps2_data_list[MePS2_LY] = buffer[4]; ps2_data_list[MePS2_RX] = buffer[6]; ps2_data_list[MePS2_RY] = buffer[8]; ps2_data_list[R1] = (buffer[3] & 0x01) == 0x01 ? true : false; ps2_data_list[R2] = (buffer[3] & 0x02) == 0x02 ? true : false; ps2_data_list[L1] = (buffer[3] & 0x04) == 0x04 ? true : false; ps2_data_list[L2] = (buffer[3] & 0x08) == 0x08 ? true : false; ps2_data_list[MODE] = (buffer[3] & 0x10) ==0x10 ? true : false; ps2_data_list[TRIANGLE] = (buffer[5] & 0x01) == 0x01 ? true : false; ps2_data_list[XSHAPED] = (buffer[5] & 0x02) == 0x02 ? true : false; ps2_data_list[SQUARE] = (buffer[5] & 0x04) == 0x04 ? true : false; ps2_data_list[ROUND] = (buffer[5] & 0x08) == 0x08 ? true : false; ps2_data_list[START] = (buffer[5] & 0x10) == 0x10 ? true : false; ps2_data_list[UP] = (buffer[7] & 0x01) == 0x01 ? true : false; ps2_data_list[DOWN ] = (buffer[7] & 0x02) == 0x02 ? true : false ; ps2_data_list[LEFT] = (buffer[7] & 0x04) == 0x04 ? true : false ; ps2_data_list[RIGHT] = (buffer[7] & 0x08) == 0x08 ? true : false ; ps2_data_list[SELECT] = (buffer[7] & 0x10) == 0x10 ? true : false ; ps2_data_list[BUTTON_L] = (buffer[3] & 0x20) == 0x20 ? true : false ; ps2_data_list[BUTTON_R] = (buffer[7] & 0x20) == 0x20 ? true : false ; } }
/** * \par Function * loop * \par Description * Save the MePS2 datas to the datalist. * \param[in] * None * \par Output * None * \par Return * None * \par Others * None */ void MePS2::loop(void) { if(readjoystick()) { ps2_data_list[MeJOYSTICK_LX] = buffer[2]; ps2_data_list[MeJOYSTICK_LY] = buffer[4]; ps2_data_list[MeJOYSTICK_RX] = buffer[6]; ps2_data_list[MeJOYSTICK_RY] = buffer[8]; ps2_data_list[MeJOYSTICK_R1] = (buffer[3] & 0x01) == 0x01 ? true : false; ps2_data_list[MeJOYSTICK_R2] = (buffer[3] & 0x02) == 0x02 ? true : false; ps2_data_list[MeJOYSTICK_L1] = (buffer[3] & 0x04) == 0x04 ? true : false; ps2_data_list[MeJOYSTICK_L2] = (buffer[3] & 0x08) == 0x08 ? true : false; ps2_data_list[MeJOYSTICK_MODE] = (buffer[3] & 0x10) ==0x10 ? true : false; ps2_data_list[MeJOYSTICK_TRIANGLE] = (buffer[5] & 0x01) == 0x01 ? true : false; ps2_data_list[MeJOYSTICK_XSHAPED] = (buffer[5] & 0x02) == 0x02 ? true : false; ps2_data_list[MeJOYSTICK_SQUARE] = (buffer[5] & 0x04) == 0x04 ? true : false; ps2_data_list[MeJOYSTICK_ROUND] = (buffer[5] & 0x08) == 0x08 ? true : false; ps2_data_list[MeJOYSTICK_START] = (buffer[5] & 0x10) == 0x10 ? true : false; ps2_data_list[MeJOYSTICK_UP] = (buffer[7] & 0x01) == 0x01 ? true : false; ps2_data_list[MeJOYSTICK_DOWN] = (buffer[7] & 0x02) == 0x02 ? true : false ; ps2_data_list[MeJOYSTICK_LEFT] = (buffer[7] & 0x04) == 0x04 ? true : false ; ps2_data_list[MeJOYSTICK_RIGHT] = (buffer[7] & 0x08) == 0x08 ? true : false ; ps2_data_list[MeJOYSTICK_SELECT] = (buffer[7] & 0x10) == 0x10 ? true : false ; ps2_data_list[MeJOYSTICK_BUTTON_L] = (buffer[3] & 0x20) == 0x20 ? true : false ; ps2_data_list[MeJOYSTICK_BUTTON_R] = (buffer[7] & 0x20) == 0x20 ? true : false ; } }
void pad_joy(void) { int x,y,b,bc; readjoystick(&x,&y,&b); if(b && !joyactive) { joyactive=1; } bc=lastjoybuttons^b; if(joyactive) { int a; if(bc&1) { a=Z_TRIG; mypad.button|=a; if(!(b&1)) mypad.button^=a; } if(bc&2) { a=A_BUTTON; mypad.button|=a; if(!(b&2)) mypad.button^=a; } if(bc&4) { a=R_TRIG; mypad.button|=a; if(!(b&4)) mypad.button^=a; } if(bc&8) { a=B_BUTTON; mypad.button|=a; if(!(b&8)) mypad.button^=a; } if(x<16384) x=8192; if(x>28672 && x<36864) x=32768; if(x>49152) x=49152; if(y<16384) y=8192; if(y>28672 && y<36864) y=32768; if(y>49152) y=49152; x=(x-32768)*80/16384; y=(y-32768)*80/16384; mypad.stickx=x; mypad.sticky=-y; } lastjoybuttons=b; }