Diff for /np2/sound/beepc.c between versions 1.1 and 1.5

version 1.1, 2003/10/16 17:58:03 version 1.5, 2003/10/20 12:08:01
Line 1 Line 1
 #include        "compiler.h"  #include        "compiler.h"
   #include        "i286.h"
 #include        "pccore.h"  #include        "pccore.h"
 #include        "iocore.h"  #include        "iocore.h"
 #include        "sound.h"  #include        "sound.h"
Line 22  void beep_setvol(UINT vol) { Line 23  void beep_setvol(UINT vol) {
         beepcfg.vol = vol & 3;          beepcfg.vol = vol & 3;
 }  }
   
   void beep_changeclock(void) {
   
           UINT32  hz;
           UINT    rate;
   
           hz = pc.realclock / 25;
           rate = beepcfg.rate / 25;
           beepcfg.samplebase = (1 << 16) * rate / hz;
   }
   
 void beep_reset(void) {  void beep_reset(void) {
   
           beep_changeclock();
         ZeroMemory(&beep, sizeof(beep));          ZeroMemory(&beep, sizeof(beep));
         beep.mode = 1;          beep.mode = 1;
 }  }
Line 63  static void beep_eventset(void) { Line 75  static void beep_eventset(void) {
   
         BPEVENT *evt;          BPEVENT *evt;
         int             enable;          int             enable;
         int             clock;          SINT32  clock;
   
         enable = beep.low & beep.buz;          enable = beep.low & beep.buz;
         if (beep.enable != enable) {          if (beep.enable != enable) {
                 beep.enable = enable;                  beep.enable = enable;
                 if (beep.events < BEEPEVENT_MAX) {                  if (beep.events < BEEPEVENT_MAX) {
                         clock = nevent.clock + nevent.baseclock - nevent.remainclock;                          clock = I286_CLOCK + I286_BASECLOCK - I286_REMCLOCK;
                         evt = beep.event + beep.events;                          evt = beep.event + beep.events;
                         beep.events++;                          beep.events++;
                         evt->clock = clock - beep.clock;                          evt->clock = (clock - beep.clock) * beepcfg.samplebase;
                         evt->enable = enable;                          evt->enable = enable;
                         beep.clock = clock;                          beep.clock = clock;
                 }                  }
Line 84  void beep_eventinit(void) { Line 96  void beep_eventinit(void) {
         beep.low = 0;          beep.low = 0;
         beep.enable = 0;          beep.enable = 0;
         beep.lastenable = 0;          beep.lastenable = 0;
         beep.clock = dsound_lastclock;          beep.clock = soundcfg.lastclock;
                                         // nevent.clock + nevent.baseclock - nevent.remainclock;                                          // nevent.clock + nevent.baseclock - nevent.remainclock;
         beep.events = 0;          beep.events = 0;
 }  }
Line 92  void beep_eventinit(void) { Line 104  void beep_eventinit(void) {
 void beep_eventreset(void) {  void beep_eventreset(void) {
   
         beep.lastenable = beep.enable;          beep.lastenable = beep.enable;
         beep.clock = dsound_lastclock;          beep.clock = soundcfg.lastclock;
         beep.events = 0;          beep.events = 0;
 }  }
   
Line 102  void beep_lheventset(int low) { Line 114  void beep_lheventset(int low) {
         if (beep.low != low) {          if (beep.low != low) {
                 beep.low = low;                  beep.low = low;
                 if (!beep.mode) {                  if (!beep.mode) {
 //                      if ((low) && (beep.events >= (BEEPEVENT_MAX / 2))) {                          if (beep.events >= (BEEPEVENT_MAX / 2)) {
                                 sound_sync();                                  sound_sync();
 //                      }                          }
                         beep_eventset();                          beep_eventset();
                 }                  }
         }          }

Removed from v.1.1  
changed lines
  Added in v.1.5


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