|
|
| version 1.2, 2003/10/19 14:56:15 | version 1.5, 2003/10/20 12:08:01 |
|---|---|
| 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) { |
| beep_changeclock(); | |
| ZeroMemory(&beep, sizeof(beep)); | ZeroMemory(&beep, sizeof(beep)); |
| beep.mode = 1; | beep.mode = 1; |
| } | } |
| Line 64 static void beep_eventset(void) { | Line 75 static void beep_eventset(void) { |
| BPEVENT *evt; | BPEVENT *evt; |
| int enable; | int enable; |
| int clock; | SINT32 clock; |
| enable = beep.low & beep.buz; | enable = beep.low & beep.buz; |
| if (beep.enable != enable) { | if (beep.enable != enable) { |
| Line 73 static void beep_eventset(void) { | Line 84 static void beep_eventset(void) { |
| clock = I286_CLOCK + I286_BASECLOCK - I286_REMCLOCK; | clock = I286_CLOCK + I286_BASECLOCK - I286_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; |
| } | } |
| Line 85 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 93 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; |
| } | } |
| Line 103 void beep_lheventset(int low) { | Line 114 void beep_lheventset(int low) { |
| if (beep.low != low) { | if (beep.low != low) { |
| beep.low = low; | beep.low = low; |
| if (!beep.mode) { | if (!beep.mode) { |
| // if ((low) && (beep.events >= (BEEPEVENT_MAX / 2))) { | if (beep.events >= (BEEPEVENT_MAX / 2)) { |
| sound_sync(); | sound_sync(); |
| // } | } |
| beep_eventset(); | beep_eventset(); |
| } | } |
| } | } |