I recently got a Sound Blaster with the Philips SAA1099 chips, and after writing some code for them, reading the datasheets and ScummVM CMS emulator source code, I noticed the emulation of some aspects might be implemented in a way that does not match the actual hardware.
So can anyone point me which games have the most complex audio support regarding CMS chips, for comparing with the actual hardware? Mainly I'd like to be able to test sounds with a volume envelope, and noise mixed with tone on the same channel.
Basically, I don't think the emulator should apply volume envelope to all channels, but only to one. And I believe using both noise and tone on a channel is not a pure sum of both but a logical operation between tone and noise bits. But I will have to verify these, and I'd be happy to supply any source code patches if I find anything that could be improved.
Oh and I cannot figure out if the sampling rate discrepancy has been fixed already, it seems at some point the pitch was too high. Is this still the case?
Comparing CMS emulation with hardware, which games support?
Moderator: ScummVM Team
Re: Comparing CMS emulation with hardware, which games suppo
I don't think any of the games we support uses the volume envelope of the SAA1099 chips.jepael wrote:So can anyone point me which games have the most complex audio support regarding CMS chips, for comparing with the actual hardware? Mainly I'd like to be able to test sounds with a volume envelope, and noise mixed with tone on the same channel.
Sound effects in SCUMM games might use noise and tone on the same channel.
The version of the SCI CMS driver we support does not use noise at all IIRC. It should be only use pretty basic things, so it is probably not interesting for your tests.
At any rate if you want to know more you should dig through the sources:
engines/scumm/player_v2cms.cpp
engines/sci/sound/drivers/cms.cpp
This should still be the case IIRC.jepael wrote:Oh and I cannot figure out if the sampling rate discrepancy has been fixed already, it seems at some point the pitch was too high. Is this still the case?
Re: Comparing CMS emulation with hardware, which games suppo
Thank you very much for the info, it does seem that SCI does not use those features and only the sound effects on SCUMM could ever take use of such feature. So there is not much benefit from improving the emulator in this case as the improvements could not be heard. I guess I have to seek some CMS games not supported by ScummVM then.LordHoto wrote: I don't think any of the games we support uses the volume envelope of the SAA1099 chips.
Sound effects in SCUMM games might use noise and tone on the same channel.
The version of the SCI CMS driver we support does not use noise at all IIRC. It should be only use pretty basic things, so it is probably not interesting for your tests.
And it was interesting to see the reason SCUMM games do not use hardware envelopes, the sound system itself supports rapid updating of volume register to create envelopes on all channels (and frequency registers for vibrato).
How is that standalone Adlib music player of yours going, by the way?
Re: Comparing CMS emulation with hardware, which games suppo
The standalone version is working.jepael wrote:How is that standalone Adlib music player of yours going, by the way?