Macintosh music in SCI games

Ask for help with ScummVM problems

Moderator: ScummVM Team

Post Reply
User avatar
almeath
Posts: 178
Joined: Fri Mar 14, 2008 1:40 pm
Location: Australia

Macintosh music in SCI games

Post by almeath »

I read on the compatibility page that Macintosh music in SCI games may have glitches. Indeed, when I tested King's Quest V in ScummVM and SheepShaver, the former definitely has some quirks and sounds a bit "off".

I was wondering if anyone can elaborate on why this is the case, and could it potentially be adresssd sometime in the forseeable future?

It is arguable that the MT-32 soundtracks in the PC versions of Sierra games are superior, but in my opinion the Macintosh versions do have their particular distinctiveness and charm.
waltervn
ScummVM Developer
Posts: 19
Joined: Mon Apr 14, 2008 12:02 am

Post by waltervn »

I wrote new sound code for SCI0 and SCI1 Mac games a few years ago, but it's not available in master yet. If you're feeling adventurous, you can try it out by compiling the 'sci_sound' branch at https://github.com/waltervn/scummvm/tree/sci_sound
Collector
Posts: 549
Joined: Sun Oct 30, 2005 6:58 pm
Contact:

Post by Collector »

I have noticed such glitches or stuttering in Mac DGDS games in Basilisk II, as well. Could this be an SDL issue since it is used by both projects.
User avatar
almeath
Posts: 178
Joined: Fri Mar 14, 2008 1:40 pm
Location: Australia

Post by almeath »

I have compiled the sci_sound branch in macOS and and it appears to resolve the audio glitches, at least in KQV, thanks. :)

I will test it with others and see how I go.
User avatar
almeath
Posts: 178
Joined: Fri Mar 14, 2008 1:40 pm
Location: Australia

Post by almeath »

So the sci_sound branch worked great for the following 256 color games currently supported in ScummVM:

- King's Quest V
- Space Quest IV

However Leisure Suit Larry 5 seems to be bugged in this build, because ScummVM crashes every time I try to get past the in-game password feature, with the following error:

error: uninitialized read for temp 1 from method : : export 0 (room 155, script 175, localCall ffffffff)!

This error does not occur in ScummVM 1.9 but of course the sound is 'buggy' as mentioned above.

I'm happy though because I was never into the LL games. I look forward to future releases that might end up supporting the Mac versions of King's Quest VI and VII .. and hopefully also incorporating waltervn's excellent work on the SCI sound code.

*update* Looks like King's Quest VI works too. The ScummVM compatibility page may need some editing because it currently lists only the PC and Amiga versions as being supported.
OmerMor
Got a warning
Posts: 176
Joined: Thu Nov 17, 2005 9:29 pm
Location: Israel
Contact:

Post by OmerMor »

This looks like a script bug in LSL5:

Code: Select all

(procedure (proc175_0 &tmp temp0 temp1)
	(localproc_000e)
	(DrawPic 110)
	(localproc_0234)
	(if (StrCmp @local10 {NONE})
		(= local0 0)
	else
		(StrCpy @local0 @local10)
	)
	(while
		(and
			&#40;< local20 5&#41;
			&#40;or
				&#40;not &#40;= temp0 &#40;localproc_0134&#41;&#41;&#41;
				&#40;StrCmp @local10 @local0&#41;
			&#41;
		&#41;
	&#41;
	&#40;cond 
		&#40;&#40;== local20 5&#41;
			&#40;proc255_0 175 0 80 &#123;Five Strikes and You're Out!&#125;&#41;
			&#40;= global4 1&#41;
			&#40;gGame quitGame&#58; 1&#41;
		&#41;
		&#40;&#40;== temp0 2&#41;
			&#40;proc255_2 @local0 20 &#123;Please enter your new password&#58;&#125;&#41;
			&#40;localproc_01b7&#41;
			&#40;StrCpy @local10 @local0&#41;
			&#40;localproc_0274&#41;
			&#40;proc255_4 175 1 @local0 80 &#123;Write this down!&#125;&#41;
		&#41;
	&#41;
	&#40;DisposeScript 993&#41;
	&#40;return temp1&#41;
&#41;
The temp variable temp1 is being returned w/o being initialized.
The PC version of this games uses a different logic which doesn't have this bug.
waltervn
ScummVM Developer
Posts: 19
Joined: Mon Apr 14, 2008 12:02 am

Post by waltervn »

almeath wrote:So the sci_sound branch worked great for the following 256 color games currently supported in ScummVM:

- King's Quest V
- Space Quest IV
Great. :)
almeath wrote:error: uninitialized read for temp 1 from method : : export 0 (room 155, script 175, localCall ffffffff)!

This error does not occur in ScummVM 1.9 but of course the sound is 'buggy' as mentioned above.
You'll probably find that this error happens in master as well, because the sci_sound branch only contains sound-related changes.
User avatar
almeath
Posts: 178
Joined: Fri Mar 14, 2008 1:40 pm
Location: Australia

Re: Macintosh music in SCI games

Post by almeath »

Yes, I am re-opening an old post. However, I wanted to check on the status of this issue. Macintosh music in the Sierra SCI games still does not sound right, even in ScummVM 2.1.

The sci_sound fork is still available, and works perfectly, but it builds into ScummVM 1.10.0. So there is a choice between proper sound, or fixes for the various SCI script errors, but not both.

It would be a pity if this patch never gets accepted into the master branch because it works very well, and makes for a much more authentic experience when playing the Macintosh versions of these games.
waltervn
ScummVM Developer
Posts: 19
Joined: Mon Apr 14, 2008 12:02 am

Re: Macintosh music in SCI games

Post by waltervn »

There's a new branch at https://github.com/waltervn/scummvm/tre ... d_amigamac

Testing is appreciated for Amiga (SCI0 and SCI1) and Mac (SCI1). SCI0 Mac sound is also supported, but unfortunately these games are not yet playable in ScummVM.
User avatar
almeath
Posts: 178
Joined: Fri Mar 14, 2008 1:40 pm
Location: Australia

Re: Macintosh music in SCI games

Post by almeath »

waltervn wrote: Sat Jul 18, 2020 11:21 am There's a new branch at https://github.com/waltervn/scummvm/tre ... d_amigamac

Testing is appreciated for Amiga (SCI0 and SCI1) and Mac (SCI1). SCI0 Mac sound is also supported, but unfortunately these games are not yet playable in ScummVM.
Thanks for this. I notice these improvements made their way into the official 2.2 release.

Something minor - I noticed a small bit of 'crackling' which did not occur in the earlier builds I was using (based on ScummVM 1.1). Most games are unaffected but in King's Quest V it is noticeable in the music on the main title screen. However, in the earlier builds the sound was more muffled and sounded like it was being played back at a lower bit rate, so I think the patch applied to ScummVM 2.2 sounds the best overall.
Post Reply