Opened 11 years ago
Closed 11 years ago
Last modified 11 years ago
#6010 closed defect (duplicate)
LOOM: Switching between MT-32 and AdLib crashes ScummVM
|Reported by:||SF/kurufinwe||Owned by:||sev-|
Using ScummVM 1.5.0git2684-g5ae2543 on Win 7 64 bit. Playing Loom (EGA, DOS, English).
When using the MT-32 emulator with the floppy version of Loom, the notes for the drafts do not play. Every time a note should be played, a warning appears on the console: "WARNING: Bad command or running status 7F!"
I guess this would make the game unplayable in expert mode (which doesn't have the visual cues for drafts).
The rest of the music (intro etc.) plays fine. Also, the AdLib emulator is not affected (the notes play and there are no warnings).
I'm attaching a savegame in Hetchel's tent. Activate the flask or the cauldron to reproduce the bug.
Ticket imported from: #3506546. Ticket imported from: bugs/6010.
Change History (8)
by , 11 years ago
comment:1 by , 11 years ago
kurufinwe: Thank you for this bug report. To help investigate this, could you confirm the following: 1. Does this occur with the current stable version i.e. v1.4.1 ? 2. If so, could you try previous versions to at least 0.9.1 to see if this worked in a previous version? 3. Could you try playing this with the original interpreter under DOSBox with an attached MT-32 and confirm that this bug is not present in the original?
comment:2 by , 11 years ago
Also, attaching a text file containing a file listing with file MD5sums of your LOOM Floppy datafiles to this bug would be useful to check your exact version and eliminate corruption in datafiles as a cause. The output of a tool such as http://md5summer.org/ would be optimal.
comment:3 by , 11 years ago
OK, please disregard my original report. I had completely misunderstood what was going on. Here's a more accurate report. (I've updated the summary accordingly.)
The problem lies with switching music devices. If the game is started in AdLib mode, a save is made, and then restored in MT-32 mode, then *all* music (not just the drafts) fails to play. Conversely, if the game is started in MT-32 mode, a save is made, and then restored in AdLib mode, ScummVM crashes when trying to load the save, with the message: "Assertion failed: track_ctr < 3, file engines/scumm/sound.cpp, line 1856".
The behaviour was the same in previous versions.
The original interpreter fares pretty much the same. When doing AdLib -> MT-32, the music also won't play. And when doing MT-32 -> AdLib, it loads the save but gets stuck when visiting certain locations, complaining about missing data.
I don't know if the problem can be fully fixed. At least, I think it'd be nice if ScummVM could refuse to load the saves made with the other audio device and display an error message rather than crashing or leaving the game without music.
comment:4 by , 11 years ago
|Summary:||LOOM: Drafts not playing with MT32 → LOOM: Switching between MT-32 and AdLib crashes ScummVM|
comment:5 by , 11 years ago
This looks like a duplicate of #1508095 "SCUMM: Potential savegame incompatibility". In this case the problem is not that one time iMUSE is initialized and in the other instance it isn't, though. The problem here is probably that the data saved for iMUSE differs for the MT-32 and AdLib outputs.
And before someone feels the need to point out Loom didn't use iMUSE yet, we still pass all the sound data for AdLib and MT-32 through our iMUSE implementation.
comment:6 by , 11 years ago
It is definitely a duplicate of that bug. Thus closing
comment:7 by , 11 years ago
|Status:||new → closed|
Save in Hetchel's tent