Ok, so the spitting you were referring to was Largo spitting on the wall? I do get that one.
However I am certain (in my copy at least) that the owner of the Bloody Bar & Grill makes a spitting sound when he spits into the mugs to clean them while using Adlib sound. It doesnt play when using Soundblaster though so that may be the difference? I wonder if there are other Adblib effects missed when using Sound Blaster.
It turns out there actually is an AdLib sound effect when the bar owner sneezes into the glass he's cleaning, and that sound effect indeed only gets played with the AdLib, not the Sound Blaster selection. That's obviously another bug in the original game, because there is no reason not to play the sound with the unpatched Sound Blaster selection. I'm beginning to hate LucasArts' sound programmers almost as much as Dynamix'.
Searching for the script code that checks for the AdLib setting (21 59 69 6A 69) turns up eight instances in MONKEY2.001. Changing all occurrences of 21 59 69 6A 69 to 21 59 69 6C 69 enables the sound effect in the bar, which turns out to be a spitting sound effect after all, even though the barkeep is sneezing, not spitting. I would need to test-play through the whole game with that change applied, to see if this breaks anything, before updating the patch.
Just changing the bytes in this manner certainly breaks those sound effects for the AdLib setting, because instead of only playing them on AdLib, they would only played on Sound Blaster (and Roland+Sound Blaster with the patch applied). The proper sequence would be to ignore the branch instruction completely, which is achieved by changing the byte that immediately follows 21 59 69 6A 69 from whatever it is to 69. That enables the sound effect for both AdLib and (patched & unpatched) Sound Blaster.
ScummVM does a similar hack in engines\scumm\script_v5.cpp:
1void ScummEngine_v5::o5_isEqual() { 2 int16 a, b; 3 int var; 4 5 if (_game.version <= 2) 6 var = fetchScriptByte(); 7 else 8 var = fetchScriptWord(); 9 a = readVar(var); 10 b = getVarOrDirectWord(PARAM_1); 11 12 // HACK: See bug report #602348. The sound effects for Largo's screams 13 // are only played on type 5 soundcards. However, there is at least one 14 // other sound effect (the bartender spitting) which is only played on 15 // type 3 soundcards. 16 17 if (_game.id == GID_MONKEY2 && var == VAR_SOUNDCARD && b == 5) 18 b = a; 19 20 // HACK: To allow demo script of Maniac Mansion V2 21 // The camera x position is only 100, instead of 180, after game title name scrolls. 22 if (_game.id == GID_MANIAC && _game.version == 2 && (_game.features & GF_DEMO) && isScriptRunning(173) && b == 180) 23 b = 100; 24 25 jumpRelative(b == a); 26}
I have updated the mi2_mtsb.zip in the first post to this thread.
I am currently trying to add support for the additional PCM sound effects found in the FM-Towns version. The problem I'm having is that when a PCM sound effect is looped and is played in two screens, changing screens causes SCUMM to reorganize its memory without telling the sound driver. That is not a problem for MIDI, as the pointers to the MIDI sequence get updated as well, but for PCM sound effects, the DMA would need to be informed of that as well.
I don't know if it has been already discussed or done before but someone really should do the "secretary work" to catalogue and, if permitted, offer downloads for NRS' patches for DOS games.
Some made it to major fan pages like that of Collectors' but Sierra games are just the top of the iceberg... err... ice-cream 😀
"Ita in vita ut in lusu alae pessima iactura arte corrigenda est."
With the original game, does Adlib give you the "most" sounds and music compared to Sound Blaster or Roland?
Adlib and Game Blaster give you the most music and sound. The original floppy releases do not support Sound Blaster digitized audio playback capabilities at all. Roland gives no sound effects and not all the music is available for the PC Speaker and Tandy.
The Ultimate Talkie Edition comes with full sound effects.
Hey guys, I'm late to the party with The Secret of Monkey Island, and have (I think) successfully patched my floppy version (interpreter v 5.0.18) to play both Roland MT-32 music with Adlib sound effects, but I'd like to verify that I have it working properly as I don't know what to be listening for.
I hear a scratchy sqweek sound when I open the SCUMM Bar door, and that's not present when I import the game to SCUMMVM; is that the Adlib sound effects correctly being called? What other Adlib sound effects should I look out for near the beginning of the game to make sure the patch by NewRisingSun is working properly?
That makes perfects sense; using that as a baseline, your patch is working perfectly in combining Roland MT32 music and Adlib sound effects- thanks for the insight and patch!
I found some missing Adlib sound effects in MI2!
there are NO SOUND EFFECTS WHEN GUYBRUSH KICKS IN THE HAND-RAIL AND HE FALLS INTO THE KITCHEN AND SLAMS ON THE FLOOR at the 'Bloody Lip Bar and Grill';
there is NO SOUND EFFECT WHEN THE INNKEEPER RUNS AFTER THE ALLIGATOR in the Inn;
there is NO (ADLIB/SB) EFFECT SOUND WHEN YOU OPEN/CLOSE THE DOOR in the Inn, either.
I'm curious as to why ScummVM breaks the retro gaming experience. What does DOSBox do differently and what are the reasons I might want to play Monkey Island with DOSBox as opposed to ScummVM?
Furthermore, if I tick the "mixed adlib/midi mode" checkbox in ScummVM, will I hear all of the music and sound effects in ScummVM as I would with this patch?