Add opl3gold option to oplmode setting. With this option the AdLib Gold
music can be selected in Dune. Only FM music without effects (reverb,
stereo enhancement, surround sound, etc.) is supported. FM volume
control, used in the CD-ROm version of Dune, does work.
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.
about unused code. modify reg code in opl.cpp, double up the non-OPL
array to silence compiler warning about "array subscript out of bounds"
when compiled non-OPL3.
status port. There seem to be timing bugs with DOSBox-X right now that
prevents Wolfenstein 3D from detecting Adlib if the cycles cound is
13000 or higher, this hack works around that.