Opened 4 years ago

Closed 4 years ago

Last modified 4 years ago

#6885 closed defect (fixed)

INDY3: FMTOWNS: Music is distorted (regression)

Reported by: Kirben Owned by: athrxx
Priority: normal Component: Engine: SCUMM
Keywords: Cc:
Game: Indiana Jones 3

Description

ScummVM 1.8.0git4631-gedd95b3 (Aug 30 2015 13:13:44) on Windows 7 (SP1)
Compiled with GCC 4.6.2 under MinGW

The FM Towns version of Indiana Jones and the Last Crusade

The three sound resources (29, 54, 66) used for music sound distorted/strange and definitely not right. The music used lasted worked in ScummVM 1.1.1, and were broken somewhere between version ScummVM 1.2.0.

Ticket imported from: bugs/6885.

Change History (14)

comment:1 by m-kiewitz, 4 years ago

Component: Engine: SCUMM
Game: Indiana Jones 3
Summary: INDY3 FMTOWNS: Music is distorted (regression)INDY3: FMTOWNS: Music is distorted (regression)

comment:2 by digitall, 4 years ago

@kirben: There are 3627 commits between v1.1.1 and v1.2.0 tags. Is it possible for you to do a "git bisect v1.1.1..v1.2.0" to try to narrow this down?

I see a few possible likely commits including 85a15e05b08d464364b26fe88fee69e0d9bddf43 and 4c588d0f0b730496190d7cf42dd4eff547dc25c9, but best if we can narrow it down further...

comment:3 by Kirben, 4 years ago

Unfortunately I'm no longer able to configure/compile code that old, but I suspect the problem occured when the FM-Towns audio driver was rewritten.

comment:4 by digitall, 4 years ago

@kirben: I suspected that might be the case. My patches from bug #2687 may allow you to do that with newer GCC compilers... http://sourceforge.net/p/scummvm/bugs/_discuss/thread/ac77d3b4/ec7a/attachment/build-scripts-for-gcc-4.tar.gz

Otherwise, I can probably provide builds done on the buildbot if that would help to allow bisection. I would do this myself, but I don't own any of the FM-TOWNS versions.

comment:5 by eriktorbjorn, 4 years ago

The sound of the kazoo in FM-Towns Zak McKracken changed - to the better, I thought - in 29a5c6a45b90e64cf5d618da4cdcd6e6da3425fb ("SCUMM/FM-TOWNS: start rewriting audio code"), but perhaps that's completely unrelated?

Anyway, I was able to compile ScummVM 1.1.0 with GCC 4.9 by replacing -ansi with -fpermissive in the generated config.mk.

comment:6 by Kirben, 4 years ago

The configure script is crashing GCC 4.6.2 under Mingw, at 'Type with 2 bytes...' check, when I tried to use older SummVM code.

comment:7 by Kirben, 4 years ago

The kazoo in Zak McKracken (FM-Towns) uses the same sound type (1), maybe it isn't effected, since it is so short?

comment:8 by eriktorbjorn, 4 years ago

Maybe the configure crash is what commit bd253a62aca2a0571ad61a3167278d3c5437467a ("BUILD: Support newer MinGW compilers.") was about, i.e. where "TMP" was changed to "TMPR"?

comment:9 by Kirben, 4 years ago

The regression occured when the FM-Towns audio driver was rewritten, as expected, specifically in this commit:
29a5c6a45b90e64cf5d618da4cdcd6e6da3425fb
SCUMM/FM-TOWNS: start rewriting audio code

comment:10 by digitall, 4 years ago

kirben, eriktorbjorn: Thanks for doing that.

comment:11 by athrxx, 4 years ago

It took me some time to start looking into this, since I've lost all my ScummVM and IDA files. This seems to be a signed/unsigned issue which occurs only with tracks with certain header data. But I'll have to make a new Indy3 disasm which will take some more time. Not as long as it may sound though, since I know what I am looking for...

comment:12 by athrxx, 4 years ago

This should now be fixed.

comment:13 by Kirben, 4 years ago

Owner: set to athrxx
Resolution: fixed
Status: newclosed

comment:14 by Kirben, 4 years ago

Yes, the music tracks are fine with latest ScummVM GiT.

Note: See TracTickets for help on using tickets.