|
|
| version 1.8, 2003/11/13 17:01:17 | version 1.10, 2003/12/08 00:55:33 |
|---|---|
| Line 1 | Line 1 |
| #include "compiler.h" | #include "compiler.h" |
| #include "soundmng.h" | #include "soundmng.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 126 void sound_reset(void) { | Line 126 void sound_reset(void) { |
| if (sndstream.buffer) { | if (sndstream.buffer) { |
| soundmng_reset(); | soundmng_reset(); |
| streamreset(); | streamreset(); |
| soundcfg.lastclock = I286_CLOCK; | soundcfg.lastclock = CPU_CLOCK; |
| beep_eventreset(); | beep_eventreset(); |
| } | } |
| } | } |
| Line 154 void sound_changeclock(void) { | Line 154 void sound_changeclock(void) { |
| soundcfg.hzbase = hz; | soundcfg.hzbase = hz; |
| soundcfg.clockbase = clock; | soundcfg.clockbase = clock; |
| soundcfg.minclock = 2 * clock / hz; | soundcfg.minclock = 2 * clock / hz; |
| soundcfg.lastclock = I286_CLOCK; | soundcfg.lastclock = CPU_CLOCK; |
| } | } |
| void sound_streamregist(void *hdl, SOUNDCB cbfn) { | void sound_streamregist(void *hdl, SOUNDCB cbfn) { |
| Line 180 void sound_sync(void) { | Line 180 void sound_sync(void) { |
| return; | return; |
| } | } |
| length = I286_CLOCK + I286_BASECLOCK - I286_REMCLOCK - soundcfg.lastclock; | length = CPU_CLOCK + CPU_BASECLOCK - CPU_REMCLOCK - soundcfg.lastclock; |
| if (length < soundcfg.minclock) { | if (length < soundcfg.minclock) { |
| return; | return; |
| } | } |
| Line 208 const SINT32 *sound_pcmlock(void) { | Line 208 const SINT32 *sound_pcmlock(void) { |
| const SINT32 *ret; | const SINT32 *ret; |
| if (locks) { | if (locks) { |
| TRACEOUT(("sound pcm lock: already locked")); | |
| return(NULL); | return(NULL); |
| } | } |
| locks++; | locks++; |
| Line 216 const SINT32 *ret; | Line 217 const SINT32 *ret; |
| SNDCSEC_ENTER; | SNDCSEC_ENTER; |
| if (sndstream.remain > sndstream.reserve) { | if (sndstream.remain > sndstream.reserve) { |
| streamprepare(sndstream.remain - sndstream.reserve); | streamprepare(sndstream.remain - sndstream.reserve); |
| soundcfg.lastclock = I286_CLOCK + I286_BASECLOCK - I286_REMCLOCK; | soundcfg.lastclock = CPU_CLOCK + CPU_BASECLOCK - CPU_REMCLOCK; |
| beep_eventreset(); | beep_eventreset(); |
| } | } |
| } | } |
| else { | |
| locks--; | |
| } | |
| return(ret); | return(ret); |
| } | } |