#define PAD_MAX 16 #ifndef __PAD_H__ #define EXTERN #define __PAD_H__ #else #define EXTERN extern #endif EXTERN u_long C_Padd,C_oPadd; EXTERN u_char anab[PAD_MAX][4]; EXTERN volatile u_char *bb0, *bb1; EXTERN int DownButton[PAD_MAX][14]; void Init_Pad(); u_long GetPadStat( int Pad ); void PadRead(); u_long GetPadInfo( int Pad ); u_long GetAnaPadButton( int Pad, int Button ); void ButtonDownOn( int Pad, int Button ); void ButtonDownOff( int Pad, int Button ); int GetButtonDown( int Pad, int Button ); /******************************************************/ /* */ /******************************************************/ #define PADMOUSE 0x10 #define PADANALOG 0x20 #define PADNORMAL 0x40 #define PADJOIST 0x50 #define PADMULTI 0x80 #define PAD1 0 #define PAD2 1 #define PAD3 2 #define PAD4 3 #define PAD5 4 #define PAD6 5 #define PAD7 6 #define PAD8 7 /******************************************************/ /* */ /******************************************************/ #define PADa (1<<12) #define PADb (1<<14) #define PADc (1<<15) #define PADd (1<<13) #define PADe (1<< 4) #define PADf (1<< 6) #define PADg (1<< 7) #define PADh (1<<11) #define PADi (1<< 9) #define PADj (1<<10) #define PADk (1<< 8) #define PADl (1<< 3) #define PADm (1<< 1) #define PADn (1<< 2) #define PADo (1<< 0) #define PADp (1<< 5) #define PADLup PADa #define PADLdown PADb #define PADLleft PADc #define PADLright PADd #define PADRup PADe #define PADRdown PADf #define PADRleft PADg #define PADRright PADp #define PADL1 PADn #define PADL2 PADo #define PADR1 PADl #define PADR2 PADm #define PADstart PADh #define PADselect PADk #define OPADa (PADa<<16) #define OPADb (PADb<<16) #define OPADc (PADc<<16) #define OPADd (PADd<<16) #define OPADe (PADe<<16) #define OPADf (PADf<<16) #define OPADg (PADg<<16) #define OPADh (PADh<<16) #define OPADi (PADi<<16) #define OPADj (PADj<<16) #define OPADk (PADk<<16) #define OPADl (PADl<<16) #define OPADm (PADm<<16) #define OPADn (PADn<<16) #define OPADo (PADo<<16) #define OPADp (PADp<<16) #define OPADLup OPADa #define OPADLdown OPADb #define OPADLleft OPADc #define OPADLright OPADd #define OPADRup OPADe #define OPADRdown OPADf #define OPADRleft OPADg #define OPADRright OPADp #define OPADL1 OPADn #define OPADL2 OPADo #define OPADR1 OPADl #define OPADR2 OPADm #define OPADstart OPADh #define OPADselect OPADk #define ANAa (1<<12) #define ANAb (1<<14) #define ANAc (1<<15) #define ANAd (1<<13) #define ANAe (1<< 4) #define ANAh (1<<11) #define ANAl (1<< 3) #define ANAp (1<< 5) #define ANAf (1<< 6) #define ANAg (1<< 7) #define ANAn (1<< 2) #define ANALup ANAa #define ANALdown ANAb #define ANALleft ANAc #define ANALright ANAd #define ANAA ANAp #define ANAB ANAe #define ANAR ANAl #define ANAstart ANAh #define ANAI ANAf #define ANAII ANAg #define ANAL ANAn #define OANAa (ANAa<<16) #define OANAb (ANAb<<16) #define OANAc (ANAc<<16) #define OANAd (ANAd<<16) #define OANAe (ANAe<<16) #define OANAh (ANAh<<16) #define OANAl (ANAl<<16) #define OANAp (ANAp<<16) #define OANALup OANAa #define OANALdown OANAb #define OANALleft OANAc #define OANALright OANAd #define OANAA OANAp #define OANAB OANAe #define OANAR OANAl #define OANAstart OANAh /******************************************************/ /* */ /******************************************************/ #define PAD1Lup PADa #define PAD1Ldown PADb #define PAD1Lleft PADc #define PAD1Lright PADd #define PAD1Rup PADe #define PAD1Rdown PADf #define PAD1Rleft PADg #define PAD1Rright PADp #define PAD1L1 PADn #define PAD1L2 PADo #define PAD1R1 PADl #define PAD1R2 PADm #define PAD1start PADh #define PAD1select PADk #define PAD2Lup PADa #define PAD2Ldown PADb #define PAD2Lleft PADc #define PAD2Lright PADd #define PAD2Rup PADe #define PAD2Rdown PADf #define PAD2Rleft PADg #define PAD2Rright PADp #define PAD2L1 PADn #define PAD2L2 PADo #define PAD2R1 PADl #define PAD2R2 PADm #define PAD2start PADh #define PAD2select PADk #define ANA1Lup ANAa #define ANA1Ldown ANAb #define ANA1Lleft ANAc #define ANA1Lright ANAd #define ANA1A ANAp #define ANA1B ANAe #define ANA1R ANAl #define ANA1start ANAh #define ANA1I ANAf #define ANA1II ANAg #define ANA1L ANAn #define ANA2Lup ANAa #define ANA2Ldown ANAb #define ANA2Lleft ANAc #define ANA2Lright ANAd #define ANA2A ANAp #define ANA2B ANAe #define ANA2R ANAl #define ANA2start ANAh #define ANA2I ANAf #define ANA2II ANAg #define ANA2L ANAn /******************************************************/ /* */ /******************************************************/ #define ANA_RG 0 #define ANA_B1 1 #define ANA_B2 2 #define ANA_BL 3 /******************************************************/ /* */ /******************************************************/ #define ButtonLup 0 #define ButtonLleft 1 #define ButtonLdown 2 #define ButtonLright 3 #define ButtonRup 4 #define ButtonRleft 5 #define ButtonRdown 6 #define ButtonRright 7 #define ButtonL1 8 #define ButtonL2 9 #define ButtonR1 10 #define ButtonR2 11 #define Buttonselect 12 #define Buttonstart 13