Tweaks to PC speaker code - fixes sound in Castle Wolfenstein.

This commit is contained in:
SarahW 2016-05-09 20:11:03 +01:00
commit 5da7de098e

View file

@ -16,6 +16,8 @@ void speaker_update()
int16_t val; int16_t val;
// printf("SPeaker - %i %i %i %02X\n",speakval,gated,speakon,pit.m[2]); // printf("SPeaker - %i %i %i %02X\n",speakval,gated,speakon,pit.m[2]);
for (; speaker_pos < sound_pos_global; speaker_pos++)
{
if (speaker_gated && was_speaker_enable) if (speaker_gated && was_speaker_enable)
{ {
if (!pit.m[2] || pit.m[2]==4) if (!pit.m[2] || pit.m[2]==4)
@ -31,15 +33,9 @@ void speaker_update()
if (!speaker_enable) if (!speaker_enable)
was_speaker_enable = 0; was_speaker_enable = 0;
if (speaker_pos != sound_pos_global)
speaker_buffer[speaker_pos] = val;
if (!speaker_gated)
val = 0;
for (; speaker_pos < sound_pos_global; speaker_pos++)
speaker_buffer[speaker_pos] = val; speaker_buffer[speaker_pos] = val;
} }
}
static void speaker_get_buffer(int16_t *buffer, int len, void *p) static void speaker_get_buffer(int16_t *buffer, int len, void *p)
{ {