Diff for /xmil/sound/opmgen.h between versions 1.2 and 1.4

version 1.2, 2004/08/20 12:09:20 version 1.4, 2008/06/02 20:07:32
Line 1 Line 1
   
 #define OPM_CLOCK               4000000L                        // X1 & X68000 OPM 4MHz  #define OPM_CLOCK               4000000L                        /* X1 & X68000 OPM 4MHz */
 #define OPMCH_MAX               8  #define OPMCH_MAX               8
   
 enum {  enum {
Line 8  enum { Line 8  enum {
         FMVOL_SFTBIT    = 5          FMVOL_SFTBIT    = 5
 };  };
   
   #if !defined(_WIN32_WCE)
 #define SIN_BITS                10  #define SIN_BITS                10
 #define EVC_BITS                10  #define EVC_BITS                10
   #else
   #define SIN_BITS                8
   #define EVC_BITS                7
   #endif
 #define ENV_BITS                16  #define ENV_BITS                16
 #define KF_BITS                 6  #define KF_BITS                 6
 #define FREQ_BITS               20  #define FREQ_BITS               20
Line 17  enum { Line 22  enum {
 #define SINTBL_BIT              14  #define SINTBL_BIT              14
   
 #define TL_BITS                 (FREQ_BITS + 2)  #define TL_BITS                 (FREQ_BITS + 2)
 #define OPM_OUTSB               (TL_BITS + 2 - 16)                      // OPM output 16bit  #define OPM_OUTSB               (TL_BITS + 2 - 16)                      /* OPM output 16bit */
   
 #define SIN_ENT                 (1 << SIN_BITS)  #define SIN_ENT                 (1 << SIN_BITS)
 #define EVC_ENT                 (1 << EVC_BITS)  #define EVC_ENT                 (1 << EVC_BITS)
   
 #define EC_ATTACK               0                                                               // ATTACK start  #define EC_ATTACK               0                                                               /* ATTACK start */
 #define EC_DECAY                (EVC_ENT << ENV_BITS)                   // DECAY start  #define EC_DECAY                (EVC_ENT << ENV_BITS)                   /* DECAY start  */
 #define EC_OFF                  ((2 * EVC_ENT) << ENV_BITS)             // OFF  #define EC_OFF                  ((2 * EVC_ENT) << ENV_BITS)             /* OFF          */
   
 #define TL_MAX                  (EVC_ENT * 2)  #define TL_MAX                  (EVC_ENT * 2)
   
Line 42  enum { Line 47  enum {
 };  };
   
 typedef struct {  typedef struct {
         SINT32          *detune1;                       // detune1          SINT32          *detune1;                       /* detune1               */
         SINT32          detune2;                        // detune2          SINT32          detune2;                        /* detune2               */
         SINT32          totallevel;                     // total level          SINT32          totallevel;                     /* total level           */
         SINT32          decaylevel;                     // decay level          SINT32          decaylevel;                     /* decay level           */
 const SINT32    *attack;                        // attack ratio  const SINT32    *attack;                        /* attack ratio          */
 const SINT32    *decay1;                        // decay1 ratio  const SINT32    *decay1;                        /* decay1 ratio          */
 const SINT32    *decay2;                        // decay2 ratio  const SINT32    *decay2;                        /* decay2 ratio          */
 const SINT32    *release;                       // release ratio  const SINT32    *release;                       /* release ratio         */
         SINT32          freq_cnt;                       // frequency count          SINT32          freq_cnt;                       /* frequency count       */
         SINT32          freq_inc;                       // frequency step          SINT32          freq_inc;                       /* frequency step        */
         UINT8           keyscale;                       // key scale          UINT8           keyscale;                       /* key scale             */
         UINT8           multiple;                       // multiple          UINT8           multiple;                       /* multiple              */
         UINT8           env_mode;                       // envelope mode          UINT8           env_mode;                       /* envelope mode         */
         UINT8           envratio;                       // envelope raito          UINT8           envratio;                       /* envelope raito        */
   
         SINT32          env_cnt;                        // envelope count          SINT32          env_cnt;                        /* envelope count        */
         SINT32          env_end;                        // envelope end count          SINT32          env_end;                        /* envelope end count    */
         SINT32          env_inc;                        // envelope step          SINT32          env_inc;                        /* envelope step         */
         SINT32          env_inc_attack;         // envelope attack step          SINT32          env_inc_attack;         /* envelope attack step  */
         SINT32          env_inc_decay1;         // envelope decay1 step          SINT32          env_inc_decay1;         /* envelope decay1 step  */
         SINT32          env_inc_decay2;         // envelope decay2 step          SINT32          env_inc_decay2;         /* envelope decay2 step  */
         SINT32          env_inc_release;        // envelope release step          SINT32          env_inc_release;        /* envelope release step */
 } OPMSLOT;  } OPMSLOT;
   
   
 typedef struct {  typedef struct {
         OPMSLOT slot[4];          OPMSLOT slot[4];
         UINT8   algorithm;                      // algorythm          UINT8   algorithm;                      /* algorythm          */
         UINT8   feedback;                       // self feedback          UINT8   feedback;                       /* self feedback      */
         UINT8   playing;          UINT8   playing;
         UINT8   outslot;          UINT8   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  */
         SINT32  *connect2;                      // operator2 connect          SINT32  *connect2;                      /* operator2 connect  */
         SINT32  *connect4;                      // operator4 connect          SINT32  *connect4;                      /* operator4 connect  */
         UINT32  keynote;                        // key note          UINT32  keynote;                        /* key note           */
   
         UINT8   keyfunc;                        // key function          UINT8   keyfunc;                        /* key function       */
         UINT8   kcode;                          // key code          UINT8   kcode;                          /* key code           */
         UINT8   pan;                            // pan          UINT8   pan;                            /* pan                */
         UINT8   padding;          UINT8   padding;
 } OPMCH;  } OPMCH;
   

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


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