Mix sound sources in 32-bit buffer, then clip to 16-bit for output. Fixes overflow in some situations, eg MegaRace on SB16.

This commit is contained in:
SarahW 2016-05-22 16:04:19 +01:00
commit d2b6ea7fa3
15 changed files with 60 additions and 37 deletions

View file

@ -126,7 +126,7 @@ static void ps1_audio_callback(void *p)
ps1->timer_count += ps1->timer_latch * TIMER_USEC;
}
static void ps1_audio_get_buffer(int16_t *buffer, int len, void *p)
static void ps1_audio_get_buffer(int32_t *buffer, int len, void *p)
{
ps1_audio_t *ps1 = (ps1_audio_t *)p;
int c;