Diff for /np2/sound/beepg.c between versions 1.2 and 1.4

version 1.2, 2003/10/19 16:54:51 version 1.4, 2003/10/21 11:22:05
Line 1 Line 1
 #include        "compiler.h"  #include        "compiler.h"
 #include        "pccore.h"  
 #include        "sound.h"  #include        "sound.h"
 #include        "beep.h"  #include        "beep.h"
   
Line 14  static void oneshot(BEEP bp, SINT32 *pcm Line 13  static void oneshot(BEEP bp, SINT32 *pcm
         SINT32  remain;          SINT32  remain;
         BPEVENT *bev;          BPEVENT *bev;
   
         vol = beepcfg.vol << 11;          vol = beepcfg.vol;
         bev = bp->event;          bev = bp->event;
   
         do {          do {
                 remain = beepcfg.sampleclock;                  remain = (1 << 16);
                 samp = 0;                  samp = 0;
                 while(remain >= bev->clock) {                  while(remain >= bev->clock) {
                         if (--bp->events) {                          if (--bp->events) {
Line 33  static void oneshot(BEEP bp, SINT32 *pcm Line 32  static void oneshot(BEEP bp, SINT32 *pcm
                                 if (bp->lastenable) {                                  if (bp->lastenable) {
                                         samp += remain;                                          samp += remain;
                                         samp *= vol;                                          samp *= vol;
                                         samp /= beepcfg.sampleclock;                                          samp >>= (16 - 11);
                                         do {                                          do {
                                                 pcm[0] += samp;                                                  pcm[0] += samp;
                                                 pcm[1] += samp;                                                  pcm[1] += samp;
Line 43  static void oneshot(BEEP bp, SINT32 *pcm Line 42  static void oneshot(BEEP bp, SINT32 *pcm
                                 }                                  }
                                 else {                                  else {
                                         samp *= vol;                                          samp *= vol;
                                         samp /= beepcfg.sampleclock;                                          samp >>= (16 - 11);
                                         pcm[0] += samp;                                          pcm[0] += samp;
                                         pcm[1] += samp;                                          pcm[1] += samp;
                                 }                                  }
Line 56  static void oneshot(BEEP bp, SINT32 *pcm Line 55  static void oneshot(BEEP bp, SINT32 *pcm
                         samp += remain;                          samp += remain;
                 }                  }
                 samp *= vol;                  samp *= vol;
                 samp /= beepcfg.sampleclock;                  samp >>= (16 - 11);
                 pcm[0] += samp;                  pcm[0] += samp;
                 pcm[1] += samp;                  pcm[1] += samp;
                 pcm += 2;                  pcm += 2;
Line 87  void SOUNDCALL beep_getpcm(BEEP bp, SINT Line 86  void SOUNDCALL beep_getpcm(BEEP bp, SINT
   
         if ((count) && (beepcfg.vol)) {          if ((count) && (beepcfg.vol)) {
                 if (bp->mode == 0) {                  if (bp->mode == 0) {
                         if ((bp->events) && (beepcfg.sampleclock)) {                          if (bp->events) {
                                 oneshot(bp, pcm, count);                                  oneshot(bp, pcm, count);
                         }                          }
                 }                  }

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


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