|
|
| version 1.7, 2004/03/30 08:48:46 | version 1.8, 2004/06/02 11:02:53 |
|---|---|
| Line 75 void pcm86_cb(NEVENTITEM item) { | Line 75 void pcm86_cb(NEVENTITEM item) { |
| // RECALC_NOWCLKP; | // RECALC_NOWCLKP; |
| if (pcm86.virbuf <= pcm86.fifosize) { | if (pcm86.virbuf <= pcm86.fifosize) { |
| pcm86.reqirq = 0; | pcm86.reqirq = 0; |
| pcm86.irqflag = 1; | |
| pic_setirq(fmtimer.irq); | pic_setirq(fmtimer.irq); |
| } | } |
| else { | else { |
| Line 133 void SOUNDCALL pcm86gen_checkbuf(void) { | Line 134 void SOUNDCALL pcm86gen_checkbuf(void) { |
| pcm86.virbuf += bufs; | pcm86.virbuf += bufs; |
| if (pcm86.virbuf <= pcm86.fifosize) { | if (pcm86.virbuf <= pcm86.fifosize) { |
| pcm86.reqirq = 0; | pcm86.reqirq = 0; |
| pcm86.irqflag = 1; | |
| pic_setirq(fmtimer.irq); | pic_setirq(fmtimer.irq); |
| } | } |
| else { | else { |
| Line 152 void SOUNDCALL pcm86gen_checkbuf(void) { | Line 154 void SOUNDCALL pcm86gen_checkbuf(void) { |
| BOOL pcm86gen_intrq(void) { | BOOL pcm86gen_intrq(void) { |
| if (pcm86.irqflag) { | |
| return(TRUE); | |
| } | |
| if (pcm86.fifo & 0x20) { | if (pcm86.fifo & 0x20) { |
| sound_sync(); | sound_sync(); |
| if ((pcm86.write) && (pcm86.virbuf <= pcm86.fifosize)) { | if ((pcm86.reqirq) && (pcm86.virbuf <= pcm86.fifosize)) { |
| pcm86.reqirq = 0; | |
| pcm86.irqflag = 1; | |
| return(TRUE); | return(TRUE); |
| } | } |
| } | } |