--- np2/sound/opngen.h 2003/10/16 17:58:03 1.1.1.1 +++ np2/sound/opngen.h 2003/10/18 09:02:38 1.3 @@ -9,7 +9,7 @@ enum { }; -#ifdef SOUND_FM_ASM +#ifdef OPNGENX86 enum { FMDIV_BITS = 8, @@ -114,19 +114,34 @@ typedef struct { } OPNCH; typedef struct { - int dummy; + UINT playchannels; + SINT32 feedback2; + SINT32 feedback3; + SINT32 feedback4; + SINT32 outdl; + SINT32 outdc; + SINT32 outdr; + SINT32 calcremain; + BYTE keyreg[OPNCH_MAX]; } _OPNGEN, *OPNGEN; +typedef struct { + SINT32 calc1024; + SINT32 fmvol; + UINT ratebit; + UINT vr_en; + SINT32 vr_l; + SINT32 vr_r; +} OPNCFG; + #ifdef __cplusplus extern "C" { #endif -extern BYTE fm_keyreg[OPNCH_MAX]; -extern OPNCH opnch[OPNCH_MAX]; - void opngen_initialize(UINT rate); void opngen_setvol(UINT vol); +void opngen_setVR(BYTE channel, BYTE value); void opngen_reset(void); void opngen_setcfg(BYTE maxch, UINT flag); @@ -135,6 +150,7 @@ void opngen_setreg(BYTE chbase, BYTE reg void opngen_keyon(UINT chnum, BYTE value); void SOUNDCALL opngen_getpcm(void *hdl, SINT32 *buf, UINT count); +void SOUNDCALL opngen_getpcmvr(void *hdl, SINT32 *buf, UINT count); #ifdef __cplusplus }