Ignore speaker-output enable/disable commands on the SB16 #3105
Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
Description
The speaker-output is always enabled on the SB16; speaker enable/disable commands are simply ignored. Only the SB Pro and earlier models can toggle the speaker-output via speaker enable/disable commands.
This fixes the muted digital speech issue in "Monkey Island 2: LeChuck's Revenge Ultimate Talkie Edition" (speech works in all other DOSBox variants).
Proof
DOSBox SVN just ignores speaker enable/disable commands for the SB16:
https://github.com/joncampbell123/dosbox-svn/blob/master/src/hardware/sblaster.cpp#L240
The DOSBox-X documentation mentions that the speaker enable/disable commands only work on SB Pro and earlier models and have no effect on the SB16 where the speaker is always enabled.
The MIDIto r12 "Swiss Army Knife" MIDI & OPL tool has a special "DSP fix" option to emulate the speaker enable/disable commands for the SB16 and later models where they're not implemented:
Manual testing
Tested "Monkey Island 2: LeChuck's Revenge Ultimate Talkie Edition" from eXoDOS v5 and digital speech works fine in the intro sequence.
Tested Gods with SBPro 2 and SB16; digital audio samples work fine in the intro music.
Tested a couple of MOD players with SBPro 2 and SB16.
@kcgen let me know if you think this change breaks the click & pop prevention in any way. I haven't specifically tested that because I think it should be fine.
Checklist
Please tick the items as you have addressed them. Don't remove items; leave the ones that are not applicable unchecked.
I have: