Diff for /np2/sound/beepc.c between versions 1.3 and 1.6

version 1.3, 2003/10/19 16:54:51 version 1.6, 2003/12/08 00:55:33
Line 1 Line 1
 #include        "compiler.h"  #include        "compiler.h"
 #include        "i286.h"  #include        "cpucore.h"
 #include        "pccore.h"  #include        "pccore.h"
 #include        "iocore.h"  #include        "iocore.h"
 #include        "sound.h"  #include        "sound.h"
Line 23  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) {
   
         if (beepcfg.rate) {          beep_changeclock();
                 beepcfg.sampleclock = (pc.realclock / beepcfg.rate);  
 //              TRACEOUT(("%d %d", pc.realclock, beepcfg.rate));  
         }  
         else {  
                 beepcfg.sampleclock = 0;  
         }  
         ZeroMemory(&beep, sizeof(beep));          ZeroMemory(&beep, sizeof(beep));
         beep.mode = 1;          beep.mode = 1;
 }  }
   
   
 void beep_hzset(UINT16 cnt) {  void beep_hzset(UINT16 cnt) {
   
         double  hz;          double  hz;
Line 78  static void beep_eventset(void) { Line 81  static void beep_eventset(void) {
         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 = I286_CLOCK + I286_BASECLOCK - I286_REMCLOCK;                          clock = CPU_CLOCK + CPU_BASECLOCK - CPU_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;
 //                      TRACEOUT(("%d %d", evt->clock, evt->enable));  
                 }                  }
         }          }
 }  }
Line 94  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 102  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;
 }  }
   

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


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