Diff for /np2/cbus/pcm86io.c between versions 1.6 and 1.7

version 1.6, 2004/03/30 07:12:03 version 1.7, 2004/03/30 08:48:46
Line 121  static REG8 IOINPCALL pcm86_ia460(UINT p Line 121  static REG8 IOINPCALL pcm86_ia460(UINT p
   
 static REG8 IOINPCALL pcm86_ia466(UINT port) {  static REG8 IOINPCALL pcm86_ia466(UINT port) {
   
         UINT32  nowclk;  
         UINT32  past;          UINT32  past;
           UINT32  cnt;
           UINT32  stepclock;
         REG8    ret;          REG8    ret;
   
         // こんなんでお茶濁すんなら ちゃんと書き直しましょうね 漏れ…          past = CPU_CLOCK + CPU_BASECLOCK - CPU_REMCLOCK;
         if (!(pcm86.fifo & 0x80)) {          past <<= 6;
                 ret = 0;          past -= pcm86.lastclock;
         }          stepclock = pcm86.stepclock;
         else {          if (past >= stepclock) {
                 sound_sync();                  cnt = past / stepclock;
                 nowclk = CPU_CLOCK + CPU_BASECLOCK - CPU_REMCLOCK;                  pcm86.lastclock += (cnt * stepclock);
                 nowclk <<= 6;                  past -= cnt * stepclock;
                 past = nowclk - pcm86.lastclock;                  if (pcm86.fifo & 0x80) {
                 if (past >= pcm86.stepclock) {                          sound_sync();
                         RECALC_NOWCLKWAIT;                          RECALC_NOWCLKWAIT(cnt);
                         past = nowclk - pcm86.lastclock;  
                 }                  }
                 ret = ((past << 1) >= pcm86.stepclock)?1:0;  
         }          }
           ret = ((past << 1) >= stepclock)?1:0;
         if (pcm86.virbuf >= PCM86_LOGICALBUF) {                 // バッファフル          if (pcm86.virbuf >= PCM86_LOGICALBUF) {                 // バッファフル
                 ret |= 0x80;                  ret |= 0x80;
         }          }

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


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