Commit Graph

14 Commits

Author SHA1 Message Date
Jonathan Campbell
8056eef226 bugfix: mixer needs to apply left/right volume levels even if incoming
audio is in mono.
2016-03-04 16:51:07 -08:00
Jonathan Campbell
342e51de5b tune ESS AudioDrive emulation to better match observed audio quality and
filtering on real hardware (what it sounds like). It sounds like the ESS
is using a lowpass filter with different characteristics than how we
apply it, but this will do for now.
2016-02-25 16:03:09 -08:00
Jonathan Campbell
a83468ad24 lowpass filter now allows selection of order (how many passes). 2nd
order seems to approximate the old sound cards the best.
2016-02-25 03:09:43 -08:00
Jonathan Campbell
62e0eae28e correct comments about param for lowpass filter, clarify what
SetLowpassFreq(0) means.
2016-02-24 22:33:56 -08:00
Jonathan Campbell
89a0202544 lowpass filter complete 2016-02-24 22:02:24 -08:00
Jonathan Campbell
a8fe0cdf25 slew fixes 2016-02-23 04:46:24 -08:00
Jonathan Campbell
5451d0053a new mixer code to emulate analog "slew rate", for sound cards 2016-02-23 03:47:09 -08:00
Jonathan Campbell
2101cdfc5f fractional part should be unsigned int, not Bitu 2016-02-23 03:21:27 -08:00
Jonathan Campbell
d60b728b4f store delta once and interpolate from delta rather than subtract
current-last all the time.
2016-02-23 03:06:17 -08:00
Jonathan Campbell
60059fa0a1 mixer: consolidate interpolation code, improve "padding" code 2016-02-23 02:06:25 -08:00
Jonathan Campbell
3174dd5970 DOSBox-X mixer rewrite. Higher precision sample rate conversion
and channel rendering. The new mixer code no longer tries to render
less/more to appease the sound card, but goes exclusively by emulator
time. Mixer channel rendering goes to a buffer before final mixdown now,
to keep the audio separate from final mix for future scenarios such as
emulating Line in/Mic In and sound cards that can record their own
output. Sound Blaster Direct DAC and Goldplay modes updated to make use
of the newer mixer code. Direct DAC now uses timing measurements to more
accurately render output, and sample duplication to emulate the "grungy"
effect of that form of playback. Tandy and Adlib emulations now trigger
mixer rendering on I/O write to effectively render sample-accurate
output without needing the sample accurate mode of the mixer. "CHGOLF"
and "Skate or Die" have been confirmed to render their PCM output at
full quality with this hack. Gravis Ultrasound emulation also triggers
mixer render on changes to voices or active voice setup, to ensure
sample accurate rendering. While not broken by this change so much,
PC speaker emulation needs some work to better work with sample accurate
rendering when it is triggered.
2016-02-21 04:03:39 -08:00
Jonathan Campbell
ffbad0b2b3 svn mainline r3878:
Year update.
2015-01-25 21:13:25 -08:00
Jonathan Campbell
21614b8c3f toss out my copy, integrate tawoongs's daum branch code into mine,
remove what won't compile, begin work.
2013-10-14 05:07:26 -07:00
root
f331824031 port from svn 2013-07-07 20:39:49 -07:00