Diff for /np2/sound/beepg.c between versions 1.6 and 1.7

version 1.6, 2004/07/04 08:30:16 version 1.7, 2011/01/15 18:04:43
Line 9  static void oneshot(BEEP bp, SINT32 *pcm Line 9  static void oneshot(BEEP bp, SINT32 *pcm
   
         SINT32          vol;          SINT32          vol;
 const BPEVENT   *bev;  const BPEVENT   *bev;
         SINT32          clock;          SINT32          clk;
         int                     event;          int                     event;
         SINT32          remain;          SINT32          remain;
         SINT32          samp;          SINT32          samp;
Line 18  const BPEVENT *bev; Line 18  const BPEVENT *bev;
         bev = bp->event;          bev = bp->event;
         if (bp->events) {          if (bp->events) {
                 bp->events--;                  bp->events--;
                 clock = bev->clock;                  clk = bev->clock;
                 event = bev->enable;                  event = bev->enable;
                 bev++;                  bev++;
         }          }
         else {          else {
                 clock = 0x40000000;                  clk = 0x40000000;
                 event = bp->lastenable;                  event = bp->lastenable;
         }          }
         do {          do {
                 remain = (1 << 16);                  remain = (1 << 16);
                 samp = 0;                  samp = 0;
                 while(remain >= clock) {                  while(remain >= clk) {
                         remain -= clock;                          remain -= clk;
                         if (bp->lastenable) {                          if (bp->lastenable) {
                                 samp += clock;                                  samp += clk;
                         }                          }
                         bp->lastenable = event;                          bp->lastenable = event;
                         if (bp->events) {                          if (bp->events) {
                                 bp->events--;                                  bp->events--;
                                 clock = bev->clock;                                  clk = bev->clock;
                                 event = bev->enable;                                  event = bev->enable;
                                 bev++;                                  bev++;
                         }                          }
                         else {                          else {
                                 clock = 0x40000000;                                  clk = 0x40000000;
                         }                          }
                 }                  }
                 clock -= remain;                  clk -= remain;
                 if (bp->lastenable) {                  if (bp->lastenable) {
                         samp += remain;                          samp += remain;
                 }                  }
Line 65  static void rategenerator(BEEP bp, SINT3 Line 65  static void rategenerator(BEEP bp, SINT3
 const BPEVENT   *bev;  const BPEVENT   *bev;
         SINT32          samp;          SINT32          samp;
         SINT32          remain;          SINT32          remain;
         SINT32          clock;          SINT32          clk;
         int                     event;          int                     event;
         UINT            r;          UINT            r;
   
Line 73  const BPEVENT *bev; Line 73  const BPEVENT *bev;
         bev = bp->event;          bev = bp->event;
         if (bp->events) {          if (bp->events) {
                 bp->events--;                  bp->events--;
                 clock = bev->clock;                  clk = bev->clock;
                 event = bev->enable;                  event = bev->enable;
                 bev++;                  bev++;
         }          }
         else {          else {
                 clock = 0x40000000;                  clk = 0x40000000;
                 event = bp->lastenable;                  event = bp->lastenable;
         }          }
         do {          do {
                 if (clock >= (1 << 16)) {                  if (clk >= (1 << 16)) {
                         r = clock >> 16;                          r = clk >> 16;
                         r = min(r, count);                          r = min(r, count);
                         clock -= r << 16;                          clk -= r << 16;
                         count -= r;                          count -= r;
                         if (bp->lastenable) {                          if (bp->lastenable) {
                                 do {                                  do {
Line 111  const BPEVENT *bev; Line 111  const BPEVENT *bev;
                 else {                  else {
                         remain = (1 << 16);                          remain = (1 << 16);
                         samp = 0;                          samp = 0;
                         while(remain >= clock) {                          while(remain >= clk) {
                                 remain -= clock;                                  remain -= clk;
                                 if (bp->lastenable) {                                  if (bp->lastenable) {
                                         samp += clock;                                          samp += clk;
                                 }                                  }
                                 bp->lastenable = event;                                  bp->lastenable = event;
                                 bp->cnt = 0;                                  bp->cnt = 0;
                                 if (bp->events) {                                  if (bp->events) {
                                         bp->events--;                                          bp->events--;
                                         clock = bev->clock;                                          clk = bev->clock;
                                         event = bev->enable;                                          event = bev->enable;
                                         bev++;                                          bev++;
                                 }                                  }
                                 else {                                  else {
                                         clock = 0x40000000;                                          clk = 0x40000000;
                                 }                                  }
                         }                          }
                         clock -= remain;                          clk -= remain;
                         if (bp->lastenable) {                          if (bp->lastenable) {
                                 samp += remain;                                  samp += remain;
                         }                          }

Removed from v.1.6  
changed lines
  Added in v.1.7


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