--- np2/sound/fmboard.h 2005/02/07 14:46:12 1.7 +++ np2/sound/fmboard.h 2007/07/20 14:39:11 1.9 @@ -13,16 +13,16 @@ typedef struct { - UINT8 reg[0x400]; - UINT8 opnreg; - UINT8 extreg; - UINT8 opn2reg; - UINT8 ext2reg; + UINT addr; + UINT addr2; + UINT8 data; + UINT8 data2; + UINT16 base; UINT8 adpcmmask; UINT8 channels; UINT8 extend; - UINT8 padding; - UINT16 base; + UINT8 _padding; + UINT8 reg[0x400]; } OPN_T; typedef struct { @@ -55,14 +55,24 @@ extern _TMS3631 tms3631; extern _FMTIMER fmtimer; extern _OPNGEN opngen; extern OPNCH opnch[OPNCH_MAX]; -extern _PSGGEN psg1; -extern _PSGGEN psg2; -extern _PSGGEN psg3; +extern _PSGGEN __psg[3]; extern _RHYTHM rhythm; extern _ADPCM adpcm; extern _PCM86 pcm86; extern _CS4231 cs4231; +#define psg1 __psg[0] +#define psg2 __psg[1] +#define psg3 __psg[2] + +#if defined(SUPPORT_PX) +extern OPN_T opn2; +extern OPN_T opn3; +extern _RHYTHM rhythm2; +extern _RHYTHM rhythm3; +extern _ADPCM adpcm2; +extern _ADPCM adpcm3; +#endif // defined(SUPPORT_PX) REG8 fmboard_getjoy(PSGGEN psg); @@ -75,6 +85,11 @@ void fmboard_bind(void); void fmboard_fmrestore(REG8 chbase, UINT bank); void fmboard_rhyrestore(RHYTHM rhy, UINT bank); +#if defined(SUPPORT_PX) +void fmboard_fmrestore2(OPN_T* pOpn, REG8 chbase, UINT bank); +void fmboard_rhyrestore2(OPN_T* pOpn, RHYTHM rhy, UINT bank); +#endif // defined(SUPPORT_PX) + #ifdef __cplusplus } #endif