Minor sound updates. Small speedup for dac.

This commit is contained in:
iq_132 2012-08-17 04:27:51 +00:00
parent ce5e77940d
commit 4c03d8c704
2 changed files with 14 additions and 13 deletions

View File

@ -48,19 +48,20 @@ static void UpdateStream(INT32 chip, INT32 length)
INT16 *lbuf = lBuffer + ptr->nCurrentPosition; INT16 *lbuf = lBuffer + ptr->nCurrentPosition;
INT16 *rbuf = rBuffer + ptr->nCurrentPosition; INT16 *rbuf = rBuffer + ptr->nCurrentPosition;
INT16 Out = ptr->Output; INT16 lOut = ((ptr->OutputDir & BURN_SND_ROUTE_LEFT ) == BURN_SND_ROUTE_LEFT ) ? ptr->Output : 0;
INT16 rOut = ((ptr->OutputDir & BURN_SND_ROUTE_RIGHT) == BURN_SND_ROUTE_RIGHT) ? ptr->Output : 0;
ptr->nCurrentPosition += length; ptr->nCurrentPosition += length;
if (Out) { if (rOut && lOut) {
while (length--) { while (length--) {
if ((ptr->OutputDir & BURN_SND_ROUTE_LEFT) == BURN_SND_ROUTE_LEFT) { *lbuf++ = *lbuf + lOut;
*lbuf++ = *lbuf + Out; *rbuf++ = *rbuf + rOut;
}
if ((ptr->OutputDir & BURN_SND_ROUTE_RIGHT) == BURN_SND_ROUTE_RIGHT) {
*rbuf++ = *rbuf + Out;
}
} }
} else if (lOut) {
while (length--) *lbuf++ = *lbuf + lOut;
} else if (rOut) {
while (length--) *rbuf++ = *rbuf + rOut;
} }
} }