Opened 12 years ago

Closed 10 years ago

#6009 closed defect (fixed)

DC: FT/Dig - Sound disappears when VMU save fails

Reported by: (none) Owned by: zeldin
Priority: normal Component: Engine: SCUMM
Version: Keywords:
Cc: Game: Full Throttle

Description

ScummVM 1.4.1 Dreamcast port English, talkie

In both Full Throttle and The Dig, the sound disappears when an attempt to save to a VMU fails. If it matters, I'm running ScummVM from an SD card.

Ticket imported from: #3504682. Ticket imported from: bugs/6009.

Change History (9)

comment:1 by digitall, 12 years ago

Owner: set to zeldin

comment:2 by digitall, 12 years ago

Assigning to DC maintainer for visibility.

comment:3 by digitall, 12 years ago

From http://wiki.scummvm.org/index.php/Dreamcast: "The Dreamcast has no external storage medium, and only has 16MB of RAM. As such, the Dreamcast port of ScummVM does not support The Curse of Monkey Island, nor the Dig. The resources required for these games are too great for the Dreamcast to handle. Full Throttle is not completable. Every other game supported by ScummVM should be completable with the Dreamcast port."

i.e. Neither Full Throttle or The Dig are expected to work on the Dreamcast, though this information may be out of date.

Even without this, this doesn't sound like an Out of Memory type issue. Looking at the code, this is probably a bug in backends/platform/dc/vmsave.cpp

comment:4 by digitall, 10 years ago

Replicated with The Dig with v1.7.0git-e6259afc (Wed Jul 10 05:00:25 2013).

Will try with the latest master and will try to debug.

comment:5 by digitall, 10 years ago

Yes. Still occurring on the latest master i.e. 548dd029ee5c7da40d53c6f2a9979940745e2dc7

When I access the save dialog, the following is output onto the serial debug log: A4 E2 A2 255 E2 A2 255 E2 A2 255 E2 A2 255 E2 A2 255 E2

Will need to look up what this means... Alignment?

comment:6 by digitall, 10 years ago

Ah. Those are emitted from this function in libronin's vmsfs.c:

/! Returns 1 if a @[unit] can function as memcard. ! / int vmsfs_check_unit(int unit, int part, struct vmsinfo info)

Not sure if they are related to the sound loss... Will need to trace down what happens when the save fails compared to success.

comment:7 by digitall, 10 years ago

Have located the cause of this bug. It is a general problem in the SCUMM engine when a save fails, the engine is locked in pause, which stops the sound and music.

As this rarely happens on a desktop system, it has not been noticed.

The bug was introduced by: fd3970aa52a0c7f411afdddfebad208f783281c8: Apply patch #2984508 - "GSoC: SCUMM stopped audio from playing while saving"

I have a correction to the GSoC code patch which will fix this, while still stopping the audio during saving. Will push to master in a while.

comment:8 by digitall, 10 years ago

Fixed in master by f4e7b593dc9d841640bda26da59de716772b4411.

The fix should be included in the next nightly development build from: http://buildbot.scummvm.org/builds.html

Closing as fixed.

comment:9 by digitall, 10 years ago

Resolution: fixed
Status: newclosed
Note: See TracTickets for help on using tickets.