Exemple #1
0
/**
 * \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 ;
  }
}
Exemple #2
0
/**
 * \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 ;
  }
}
Exemple #3
0
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;
}