Diff for /np2/sound/pcm86c.c between versions 1.4 and 1.6

version 1.4, 2004/01/13 05:30:59 version 1.6, 2004/03/30 07:12:03
Line 35  void pcm86gen_setvol(UINT vol) { Line 35  void pcm86gen_setvol(UINT vol) {
         pcm86gen_update();          pcm86gen_update();
 }  }
   
 void pcm86_reset(void) {                                                                                        // ver0.28  void pcm86_reset(void) {
   
         ZeroMemory(&pcm86, sizeof(pcm86));          ZeroMemory(&pcm86, sizeof(pcm86));
         pcm86.fifosize = 0x80;                                                                                  // ver0.29          pcm86.fifosize = 0x80;
         pcm86.dactrl = 0x32;          pcm86.dactrl = 0x32;
         pcm86.stepmask = (1 << 2) - 1;          pcm86.stepmask = (1 << 2) - 1;
         pcm86.stepbit = 2;          pcm86.stepbit = 2;
Line 68  void pcm86_setpcmrate(REG8 val) { Line 68  void pcm86_setpcmrate(REG8 val) {
         }          }
 }  }
   
 void pcm86_cb(NEVENTITEM item) {                                                                        // ver0.29  void pcm86_cb(NEVENTITEM item) {
   
         if (pcm86.reqirq) {          if (pcm86.reqirq) {
                 sound_sync();                  sound_sync();
Line 97  void pcm86_setnextintr(void) { Line 97  void pcm86_setnextintr(void) {
 //                      cnt += 4;                                                               // ちょっと延滞させる  //                      cnt += 4;                                                               // ちょっと延滞させる
                         // ここで clk = pccore.realclock * cnt / 86pcm_rate                          // ここで clk = pccore.realclock * cnt / 86pcm_rate
                         // clk = ((pccore.baseclock / 86pcm_rate) * cnt) * pccore.multiple                          // clk = ((pccore.baseclock / 86pcm_rate) * cnt) * pccore.multiple
                         if (pccore.baseclock == PCBASECLOCK25) {                          if (pccore.cpumode & CPUMODE_8MHZ) {
                                 clk = clk25_128[pcm86.fifo & 7];                                  clk = clk20_128[pcm86.fifo & 7];
                         }                          }
                         else {                          else {
                                 clk = clk20_128[pcm86.fifo & 7];                                  clk = clk25_128[pcm86.fifo & 7];
                         }                          }
                         // cntは最大 8000h で 32bitで収まるように…                          // cntは最大 8000h で 32bitで収まるように…
                         clk *= cnt;                          clk *= cnt;
Line 147  void SOUNDCALL pcm86gen_checkbuf(void) { Line 147  void SOUNDCALL pcm86gen_checkbuf(void) {
         }          }
 }  }
   
   
   BOOL pcm86gen_intrq(void) {
   
           if (pcm86.fifo & 0x20) {
                   sound_sync();
                   if ((pcm86.write) && (pcm86.virbuf <= pcm86.fifosize)) {
                           return(TRUE);
                   }
           }
           return(FALSE);
   }
   

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


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