Diff for /np2/sound/opngen.h between versions 1.4 and 1.9

version 1.4, 2003/10/22 14:13:25 version 1.9, 2004/02/04 03:42:02
Line 1 Line 1
   
 enum {  enum {
         OPNCH_MAX               = 12,          OPNCH_MAX               = 12,
         OPNA_CLOCK              = 3993600,          OPNA_CLOCK              = 55466 * 72,
   
         OPN_CHMASK              = 0x8000,          OPN_CHMASK              = 0x8000,
         OPN_STEREO              = 0x8000,          OPN_STEREO              = 0x8000,
Line 9  enum { Line 9  enum {
 };  };
   
   
 #ifdef OPNGENX86  #if defined(OPNGENX86)
   
 enum {  enum {
         FMDIV_BITS              = 8,          FMDIV_BITS              = 8,
         FMDIV_ENT               = (1 << FMDIV_BITS),          FMDIV_ENT               = (1 << FMDIV_BITS),
         FMVOL_SFTBIT    = 4,          FMVOL_SFTBIT    = 4
   };
   
   #define SIN_BITS                11
   #define EVC_BITS                10
   #define ENV_BITS                16
   #define KF_BITS                 6
   #define FREQ_BITS               20
   #define ENVTBL_BIT              14
   #define SINTBL_BIT              14
   
   #elif defined(OPNGENARM)
   
         SIN_BITS                = 11,  enum {
         EVC_BITS                = 10,          FMDIV_BITS              = 8,
         ENV_BITS                = 16,          FMDIV_ENT               = (1 << FMDIV_BITS),
         KF_BITS                 = 6,          FMVOL_SFTBIT    = 4
         FREQ_BITS               = 20,  
         ENVTBL_BIT              = 14,  
         SINTBL_BIT              = 14  
 };  };
   
   #define SIN_BITS                8
   #define EVC_BITS                7
   #define ENV_BITS                16
   #define KF_BITS                 6
   #define FREQ_BITS               20
   #define ENVTBL_BIT              14
   #define SINTBL_BIT              14                                                      // env+sin 30bit max
   
 #else  #else
   
 enum {  enum {
         FMDIV_BITS              = 8,          FMDIV_BITS              = 8,
         FMDIV_ENT               = (1 << FMDIV_BITS),          FMDIV_ENT               = (1 << FMDIV_BITS),
         FMVOL_SFTBIT    = 4,                                            // CÈǤÏ̵»ë          FMVOL_SFTBIT    = 4
   
         SIN_BITS                = 10,  
         EVC_BITS                = 10,  
         ENV_BITS                = 16,  
         KF_BITS                 = 6,  
         FREQ_BITS               = 20,  
         ENVTBL_BIT              = 14,  
         SINTBL_BIT              = 15                                                    // env+sin 30bit max  
 };  };
   
   #define SIN_BITS                10
   #define EVC_BITS                10
   #define ENV_BITS                16
   #define KF_BITS                 6
   #define FREQ_BITS               20
   #define ENVTBL_BIT              14
   #define SINTBL_BIT              15
   
 #endif  #endif
   
 #define TL_BITS                 (FREQ_BITS+2)  #define TL_BITS                 (FREQ_BITS+2)
Line 81  const SINT32 *release;   // release rait Line 97  const SINT32 *release;   // release rait
         SINT32          multiple;                       // multiple          SINT32          multiple;                       // multiple
         BYTE            keyscale;                       // key scale          BYTE            keyscale;                       // key scale
         BYTE            env_mode;                       // envelope mode          BYTE            env_mode;                       // envelope mode
         BYTE            envraito;                       // envelope raito          BYTE            envratio;                       // envelope raito
         BYTE            ssgeg1;                         // SSG-EG          BYTE            ssgeg1;                         // SSG-EG
   
         SINT32          env_cnt;                        // envelope count          SINT32          env_cnt;                        // envelope count
Line 98  typedef struct { Line 114  typedef struct {
         BYTE    algorithm;                      // algorithm          BYTE    algorithm;                      // algorithm
         BYTE    feedback;                       // self feedback          BYTE    feedback;                       // self feedback
         BYTE    playing;          BYTE    playing;
         BYTE    padding1;          BYTE    outslot;
         SINT32  op1fb;                          // operator1 feedback          SINT32  op1fb;                          // operator1 feedback
         SINT32  *connect1;                      // operator1 connect          SINT32  *connect1;                      // operator1 connect
         SINT32  *connect3;                      // operator3 connect          SINT32  *connect3;                      // operator3 connect
Line 134  typedef struct { Line 150  typedef struct {
         UINT    vr_en;          UINT    vr_en;
         SINT32  vr_l;          SINT32  vr_l;
         SINT32  vr_r;          SINT32  vr_r;
   
           SINT32  sintable[SIN_ENT];
           SINT32  envtable[EVC_ENT];
           SINT32  envcurve[EVC_ENT*2 + 1];
 } OPNCFG;  } OPNCFG;
   
   
Line 143  extern "C" { Line 163  extern "C" {
   
 void opngen_initialize(UINT rate);  void opngen_initialize(UINT rate);
 void opngen_setvol(UINT vol);  void opngen_setvol(UINT vol);
 void opngen_setVR(BYTE channel, BYTE value);  void opngen_setVR(REG8 channel, REG8 value);
   
 void opngen_reset(void);  void opngen_reset(void);
 void opngen_setcfg(BYTE maxch, UINT flag);  void opngen_setcfg(REG8 maxch, UINT flag);
 void opngen_setextch(UINT chnum, BYTE data);  void opngen_setextch(UINT chnum, REG8 data);
 void opngen_setreg(BYTE chbase, BYTE reg, BYTE value);  void opngen_setreg(REG8 chbase, REG8 reg, REG8 value);
 void opngen_keyon(UINT chnum, BYTE value);  void opngen_keyon(UINT chnum, REG8 value);
   
 void SOUNDCALL opngen_getpcm(void *hdl, SINT32 *buf, UINT count);  void SOUNDCALL opngen_getpcm(void *hdl, SINT32 *buf, UINT count);
 void SOUNDCALL opngen_getpcmvr(void *hdl, SINT32 *buf, UINT count);  void SOUNDCALL opngen_getpcmvr(void *hdl, SINT32 *buf, UINT count);

Removed from v.1.4  
changed lines
  Added in v.1.9


RetroPC.NET-CVS <cvs@retropc.net>